公務員期刊網 論文中心 正文

計算機病毒免疫思索

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機病毒免疫思索范文,希望能給你帶來靈感和參考,敬請閱讀。

計算機病毒免疫思索

一、建立程序的特征值檔案

這是對付病毒最有效的辦法。如對每一個指定的可裝載執(zhí)行的二進制文件,在確保它沒被感染的情況下進行登記,然后計算出它的特征值填入文件特征值表中。以后,每當系統(tǒng)的命令處理程序執(zhí)行它的時候,先將程序讀入內存檢查其特征值是否變化,由此決定是否運行該程序,若發(fā)現某程序的特征值改變,應當做病毒傳染的嫌疑,堅決予以放棄。如果用此方法管理DOS的文件以及那些以非文件方式存在的引導記錄(BOOT區(qū))、主引導記錄等,它可及時指出這些磁盤記錄信息是否發(fā)生了變化。也可阻止任何病毒對應用程序的入侵。但是,本方法只能在操作系統(tǒng)引導以后發(fā)生作用,因此其主要缺點是,不能阻止操作系統(tǒng)引導之前引導記錄病毒及DOS引導過程中的病毒。這點是可以通過配合別的方法加以克服的。

二、嚴格內存管理

PC系列的微機在啟動過程中,ROM中的BIOS將初始化程序調試到的系統(tǒng)主內存大小以K字節(jié)為單位,記錄在RAM區(qū)的0040:0013單元里,以后的操作系統(tǒng)相應用程序都是通過直接或間接(INT21H)的手段讀取該單元的內容,以確定系統(tǒng)的內存大小。由于本單元內容可以隨便改寫,它使后序DOS的內存管理再完善也是枉然。許多搶在DOS之前進入內存的病毒都是通過減少該單元值的大小,從而在內存高端空出一塊塊DOS毫無覺察的死角,給病毒留下了棲身之處。一個解決的辦法,就是自己編制一個系統(tǒng)外圍接口芯片直接讀出內存大小的INT12H中斷處理程序。當然,它必須在系統(tǒng)調用INT12H之前設置完畢。另一種辦法是作—個內存大小記錄的備份。對于通過合法方式要求駐留內存的程序,我們要提高警惕。DOS應在應用程序使用INT27H及DOS31H號功能調用申請駐留時,向用戶提出警告,并由用戶決定是否同意讓該程序駐留。為了將好的應用程序和病毒分開,用戶必須具有足夠的計算機知識。例如知道什么樣的程序才真正需要駐留內存。只有那些時鐘程序、擴充鍵盤功能的程序、打印機驅動程序以及CCDOS、SK之類的軟件才會有這種要求。不管怎么講,以前從沒有過駐留要求的應用程序,如果哪一天突然向DOS提出駐留申請,它很可能已被病毒感染。

三、中斷向量管理

病毒駐留內存時,常常會修改一些中斷向量。如果只是收回其所占的內存而不恢復其破壞的中斷向量,是不行的,因為被修改的中斷向量可能會指向一些毫無意義的代碼,這樣就可能引起死機。因此,中斷向量表的恢復是必要的。為了使這項工作簡單一些,只要我們事先保存ROMBIOS和DOS引導后設立的中斷向量表備份就行了,因為同一臺計算機,在同一種DOS版本下,其ROMBIOS和DOS設立的中斷向量都是一成不變的,有了上述中斷向量表的備份之后,我們可以著手以下工作:

1.在DOS的引導記錄階段、重新覆蓋一遍中斷向量表。當然,也可以將中斷向量表與備份的向量表做比較以此決定是否重新覆蓋當前中斷向量。這樣還可以提供當前盤的BOOT是否包含病毒之類的信息。以此方法可以阻止任何BOOT引導階段的病毒。

2.在AUTOEXEC.BAT中包含一條覆蓋當前中斷向量表的外部命令。此命令仍然是比較與判別當前的中斷向量是否變異,由此提示用戶,并校正其中變化了的中斷向量。

3.在程序結束處理中斷INT22H里也可插入具有上述功能的程序,其處理類似于前述內存管理。它可以阻止有中斷向量修改行為的應用程序病毒。

總之,合適的中斷向量管理,可以阻止任何有中斷修改企圖的病毒。通過上述分析,我們已經得到許多種能抑制病毒活動的免疫方法。但是這些方法各有長短。實際使用時,還需要根據具體的情況,對它們取長補短地進行最優(yōu)組合,以得到一個較完美的病毒免疫系統(tǒng)。