公務(wù)員期刊網(wǎng) 論文中心 正文

計(jì)算機(jī)病毒免疫思索

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

計(jì)算機(jī)病毒免疫思索

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

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

二、嚴(yán)格內(nèi)存管理

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

三、中斷向量管理

病毒駐留內(nèi)存時(shí),常常會(huì)修改一些中斷向量。如果只是收回其所占的內(nèi)存而不恢復(fù)其破壞的中斷向量,是不行的,因?yàn)楸恍薷牡闹袛嘞蛄靠赡軙?huì)指向一些毫無(wú)意義的代碼,這樣就可能引起死機(jī)。因此,中斷向量表的恢復(fù)是必要的。為了使這項(xiàng)工作簡(jiǎn)單一些,只要我們事先保存ROMBIOS和DOS引導(dǎo)后設(shè)立的中斷向量表備份就行了,因?yàn)橥慌_(tái)計(jì)算機(jī),在同一種DOS版本下,其ROMBIOS和DOS設(shè)立的中斷向量都是一成不變的,有了上述中斷向量表的備份之后,我們可以著手以下工作:

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

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

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

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