前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機病毒免疫思索范文,希望能給你帶來靈感和參考,敬請閱讀。
一、建立程序的特征值檔案
這是對付病毒最有效的辦法。如對每一個指定的可裝載執(zhí)行的二進制文件,在確保它沒被感染的情況下進行登記,然后計算出它的特征值填入文件特征值表中。以后,每當(dāng)系統(tǒng)的命令處理程序執(zhí)行它的時候,先將程序讀入內(nèi)存檢查其特征值是否變化,由此決定是否運行該程序,若發(fā)現(xiàn)某程序的特征值改變,應(yīng)當(dāng)做病毒傳染的嫌疑,堅決予以放棄。如果用此方法管理DOS的文件以及那些以非文件方式存在的引導(dǎo)記錄(BOOT區(qū))、主引導(dǎo)記錄等,它可及時指出這些磁盤記錄信息是否發(fā)生了變化。也可阻止任何病毒對應(yīng)用程序的入侵。但是,本方法只能在操作系統(tǒng)引導(dǎo)以后發(fā)生作用,因此其主要缺點是,不能阻止操作系統(tǒng)引導(dǎo)之前引導(dǎo)記錄病毒及DOS引導(dǎo)過程中的病毒。這點是可以通過配合別的方法加以克服的。
二、嚴(yán)格內(nèi)存管理
PC系列的微機在啟動過程中,ROM中的BIOS將初始化程序調(diào)試到的系統(tǒng)主內(nèi)存大小以K字節(jié)為單位,記錄在RAM區(qū)的0040:0013單元里,以后的操作系統(tǒng)相應(yīng)用程序都是通過直接或間接(INT21H)的手段讀取該單元的內(nèi)容,以確定系統(tǒng)的內(nèi)存大小。由于本單元內(nèi)容可以隨便改寫,它使后序DOS的內(nèi)存管理再完善也是枉然。許多搶在DOS之前進入內(nèi)存的病毒都是通過減少該單元值的大小,從而在內(nèi)存高端空出一塊塊DOS毫無覺察的死角,給病毒留下了棲身之處。一個解決的辦法,就是自己編制一個系統(tǒng)外圍接口芯片直接讀出內(nèi)存大小的INT12H中斷處理程序。當(dāng)然,它必須在系統(tǒng)調(diào)用INT12H之前設(shè)置完畢。另一種辦法是作—個內(nèi)存大小記錄的備份。對于通過合法方式要求駐留內(nèi)存的程序,我們要提高警惕。DOS應(yīng)在應(yīng)用程序使用INT27H及DOS31H號功能調(diào)用申請駐留時,向用戶提出警告,并由用戶決定是否同意讓該程序駐留。為了將好的應(yīng)用程序和病毒分開,用戶必須具有足夠的計算機知識。例如知道什么樣的程序才真正需要駐留內(nèi)存。只有那些時鐘程序、擴充鍵盤功能的程序、打印機驅(qū)動程序以及CCDOS、SK之類的軟件才會有這種要求。不管怎么講,以前從沒有過駐留要求的應(yīng)用程序,如果哪一天突然向DOS提出駐留申請,它很可能已被病毒感染。
三、中斷向量管理
病毒駐留內(nèi)存時,常常會修改一些中斷向量。如果只是收回其所占的內(nèi)存而不恢復(fù)其破壞的中斷向量,是不行的,因為被修改的中斷向量可能會指向一些毫無意義的代碼,這樣就可能引起死機。因此,中斷向量表的恢復(fù)是必要的。為了使這項工作簡單一些,只要我們事先保存ROMBIOS和DOS引導(dǎo)后設(shè)立的中斷向量表備份就行了,因為同一臺計算機,在同一種DOS版本下,其ROMBIOS和DOS設(shè)立的中斷向量都是一成不變的,有了上述中斷向量表的備份之后,我們可以著手以下工作:
1.在DOS的引導(dǎo)記錄階段、重新覆蓋一遍中斷向量表。當(dāng)然,也可以將中斷向量表與備份的向量表做比較以此決定是否重新覆蓋當(dāng)前中斷向量。這樣還可以提供當(dāng)前盤的BOOT是否包含病毒之類的信息。以此方法可以阻止任何BOOT引導(dǎo)階段的病毒。
2.在AUTOEXEC.BAT中包含一條覆蓋當(dāng)前中斷向量表的外部命令。此命令仍然是比較與判別當(dāng)前的中斷向量是否變異,由此提示用戶,并校正其中變化了的中斷向量。
3.在程序結(jié)束處理中斷INT22H里也可插入具有上述功能的程序,其處理類似于前述內(nèi)存管理。它可以阻止有中斷向量修改行為的應(yīng)用程序病毒。
總之,合適的中斷向量管理,可以阻止任何有中斷修改企圖的病毒。通過上述分析,我們已經(jīng)得到許多種能抑制病毒活動的免疫方法。但是這些方法各有長短。實際使用時,還需要根據(jù)具體的情況,對它們?nèi)¢L補短地進行最優(yōu)組合,以得到一個較完美的病毒免疫系統(tǒng)。