分類(lèi): 電腦知識(shí) | 修改 | 刪除 | 2010-10-05 22:48:31
計(jì)算機(jī)病毒比較法診斷的原理
比較法是用原始的或正常的與被檢測(cè)的進(jìn)行比較。比較法包括長(zhǎng)度比較法、內(nèi)容比較法、內(nèi)存比較法、中斷比
較法等。比較時(shí)可以靠打印的代碼清單(比如DEBUG的口命令輸出格式)進(jìn)行比較,或用程序來(lái)進(jìn)行比較(如DOS的
DISKCOMP、COMP或PCTOOLS等其他軟件)。這種比較法不需要專(zhuān)用的查病毒程序,只要用常規(guī)DOS軟件和 PCTOOLS等
工具軟件就可以進(jìn)行。而且用這種比較法還可以發(fā)現(xiàn)那些尚不能被現(xiàn)有的查病毒程序發(fā)現(xiàn)的計(jì)算機(jī)病毒。因?yàn)椴《?br>傳播得很快,新病毒層出不窮,由于目前還沒(méi)有做出通用的能查出一切病毒,或通過(guò)代碼分析,可以判定某個(gè)程序
中是否含有病毒的查毒程序,發(fā)現(xiàn)新病毒就只有靠比較法和分析法,有時(shí)必須結(jié)合這兩者來(lái)一同工作。
1.長(zhǎng)度比較法及內(nèi)容比較法
病毒感染系統(tǒng)或文件,必然引起系統(tǒng)或文件的變化,既包括長(zhǎng)度的變化,又包括內(nèi)容的變化。因此,將無(wú)毒的
系統(tǒng)或文件與被檢測(cè)的系統(tǒng)或文件的長(zhǎng)度和內(nèi)容進(jìn)行比較,即可發(fā)現(xiàn)病毒。長(zhǎng)度比較法和內(nèi)容比較法就是從長(zhǎng)度和
內(nèi)容兩方面進(jìn)行比較而得名。
以長(zhǎng)度或內(nèi)容是否變化做為檢測(cè)病毒的依據(jù),在許多場(chǎng)合是有效的。但是,眾所周知,現(xiàn)在還沒(méi)有一種方法可
以檢測(cè)所有的病毒。長(zhǎng)度比較法和內(nèi)容比較法有其局限性,只檢查可疑系統(tǒng)或文件的長(zhǎng)度和內(nèi)容是不充分的。因?yàn)椋?br> (1)長(zhǎng)度和內(nèi)容的變化可能是合法的。有些普通的命令可以引起長(zhǎng)度和內(nèi)容變化。
(2)某些病毒感染文件時(shí),宿主文件長(zhǎng)度可保持不變。
上述情況下,長(zhǎng)度比較法和內(nèi)容比較法不能區(qū)別程序的正常變化和病毒攻擊引起的變化,不能識(shí)別保持宿主程
序長(zhǎng)度不變的病毒,無(wú)法判定為何種病毒。實(shí)踐告訴人們,只靠檢測(cè)長(zhǎng)度或內(nèi)容是不充分的,將長(zhǎng)度比較法、內(nèi)容
比較法做為檢測(cè)病毒的手段之一,與其他方法配合使用,效果更好。
2.內(nèi)存比較法
這是一種對(duì)內(nèi)存駐留病毒進(jìn)行檢測(cè)的方法。由于病毒駐留于內(nèi)存,必須在內(nèi)存中申請(qǐng)一定的空間,并對(duì)該空間
進(jìn)行占用、保護(hù)。因此,通過(guò)對(duì)內(nèi)存的檢測(cè),觀察其空間變化,與正常系統(tǒng)內(nèi)存的占用和空間進(jìn)行比較,可以判定
是否,有病毒駐留其間。但無(wú)法判定為何種病毒。此法對(duì)于那些隱蔽型病毒無(wú)效。
3.中斷比較法
病毒為實(shí)現(xiàn)其隱蔽和傳染破壞之目的,常采用“截留盜用”技術(shù),更改、接管中斷向量,讓系統(tǒng)中斷向量轉(zhuǎn)向
執(zhí)行病毒控制部分。因此,將正常系統(tǒng)的中斷向量與有毒系統(tǒng)的中斷向量進(jìn)行比較,可以發(fā)現(xiàn)是否有病毒修改和盜
用中斷向量。
由于高版本的DOS系統(tǒng)在DOS引導(dǎo)之后重新管理一部分BIOS中斷服務(wù)程序,即將原中斷向量保存起來(lái),這時(shí);引
導(dǎo)型病毒所修改的中斷向量也同時(shí)被保存起來(lái),因而從中斷向量中可能觀察不到引導(dǎo)型病毒對(duì)中斷向量的修改。與
PCTOOLS一同提供的MI是一個(gè)非常有用的檢測(cè)工具,它不僅能夠顯示系統(tǒng)內(nèi)存大小、內(nèi)存分配狀況, 而且能夠顯示
出哪個(gè)駐留程序占用哪些內(nèi)存空間、接管哪些中斷向量。用MI軟件可檢測(cè)出文件型病毒常駐內(nèi)存及更改部分中斷向
量的信息。
使用比較法能發(fā)現(xiàn)異常,如文件的長(zhǎng)度有變化,或雖然文件長(zhǎng)度未發(fā)生變化,但文件內(nèi)的程序代碼發(fā)生了變化。
對(duì)硬盤(pán)主引導(dǎo)區(qū)或?qū)OS的引導(dǎo)扇區(qū)做檢查,比較法能發(fā)現(xiàn)其中的程序代碼是否發(fā)生了變化。由于要進(jìn)行比較, 保
留好原始備份是非常重要的,制作備份時(shí)必須在元計(jì)算機(jī)病毒的環(huán)境里進(jìn)行,制作好的備份必須妥善保管,寫(xiě)好標(biāo)
簽,貼寫(xiě)好保護(hù)簽。
比較法的好處是簡(jiǎn)單、方便,不需專(zhuān)用軟件。缺點(diǎn)是無(wú)法確認(rèn)病毒的種類(lèi)名稱(chēng)。另外,造成被檢測(cè)程序與原始
備份之間差別的原因尚需進(jìn)一步驗(yàn)證,以查明是由于計(jì)算機(jī)病毒造成的,或是由于DOS數(shù)據(jù)被偶然原因, 如突然停
電、程序失控、惡意程序等破壞的。這些要用到下面介紹的分析法,查看變化部分代碼的性質(zhì),以此來(lái)確證是否存
在病毒。另外,當(dāng)找不到原始備份時(shí),用比較法就不能馬上得到結(jié)論。從這里可以看到制作和保留原始主引導(dǎo)扇區(qū)
和其他數(shù)據(jù)備份的重要性。
計(jì)算機(jī)病毒校驗(yàn)和法診斷的原理
將正常文件的內(nèi)容,計(jì)算其校驗(yàn)和,將該校驗(yàn)和寫(xiě)入文件中或?qū)懭雱e的文件中保存。在文件使用過(guò)程中,定期
地或每次使用文件前,檢查文件現(xiàn)在內(nèi)容算出的校驗(yàn)和與原來(lái)保存的校驗(yàn)和是否一致,因而可以發(fā)現(xiàn)文件是否感染,
這種方法叫校驗(yàn)和法,它既可發(fā)現(xiàn)已知病毒又可發(fā)現(xiàn)未知病毒。
這種方法既能發(fā)現(xiàn)已知病毒,也能發(fā)現(xiàn)未知病毒,但是,它不能識(shí)別病毒種類(lèi),不能報(bào)出病毒名稱(chēng)。由于病毒
感染井非文件內(nèi)容改變的唯一的排他性原因,文件內(nèi)容的改變有可能是正常程序引起的,所以校驗(yàn)和法常常誤報(bào)警,
而且此法也會(huì)影響文件的運(yùn)行速度。
病毒感染的確會(huì)引起文件內(nèi)容變化,但是校驗(yàn)和法對(duì)文件內(nèi)容的變化太敏感,又不能區(qū)分正常程序引起的變動(dòng),
而頻繁報(bào)警。用監(jiān)視文件的校驗(yàn)和來(lái)檢測(cè)病毒,不是最好的方法。這種方法當(dāng)遇到軟件版本更新、變更口令以及修
改運(yùn)行參數(shù)時(shí)都會(huì)誤報(bào)警。
校驗(yàn)和法對(duì)隱蔽性病毒無(wú)效。隱蔽性病毒進(jìn)駐內(nèi)存后,會(huì)自動(dòng)剝?nèi)ト径境绦蛑械牟《敬a,使校驗(yàn)和法受騙,
對(duì)一個(gè)有毒文件算出正常校驗(yàn)和。
校驗(yàn)和法的優(yōu)點(diǎn)是:方法簡(jiǎn)單、能發(fā)現(xiàn)未知病毒、被查文件的細(xì)微變化也能發(fā)現(xiàn)。其缺點(diǎn)是:必須預(yù)先記錄正
常態(tài)的校驗(yàn)和、會(huì)誤報(bào)警、不能識(shí)別病毒名稱(chēng)、不能對(duì)付隱蔽性病毒。
計(jì)算機(jī)病毒掃描法診斷的原理
掃描法是用每一種病毒體含有的特定字符串對(duì)被檢測(cè)的對(duì)象進(jìn)行掃描。如果在被檢測(cè)對(duì)象內(nèi)部發(fā)現(xiàn)了某一種特
定字符串,就表明發(fā)現(xiàn)了該字符串所代表的病毒。國(guó)外管這種按搜索法工作的病毒掃描軟件叫SCANNER。 掃描法包
括特征代碼掃描法、特征字掃描法。
1.特征代碼掃描法
病毒掃描軟件由兩部分組成:一部分是病毒代碼庫(kù),含有經(jīng)過(guò)特別選定的各種計(jì)算機(jī)病毒的代碼串;另一部分
是利用該代碼庫(kù)進(jìn)行掃描的掃描程序。病毒掃描程序能識(shí)別的計(jì)算機(jī)病毒的數(shù)目完全取決于病毒代碼庫(kù)內(nèi)所含病毒
的種類(lèi)有多少。顯而易見(jiàn),庫(kù)中病毒代碼種類(lèi)越多,掃描程序能認(rèn)出的病毒就越多。
病毒代碼串的選擇是非常重要的。選擇代碼串的規(guī)則是:
(1)短小的病毒只有一百多個(gè)字節(jié),病毒代碼長(zhǎng)的有上10KB字節(jié)的。 如果隨意從病毒體內(nèi)選一段作為代表該
病毒的特征代碼串,可能在不同的環(huán)境中,該特征串并不真正具有代表性,不能用于將該串所對(duì)應(yīng)的病毒檢查出來(lái)。
選這種串做為病毒代碼庫(kù)的特征串就是不合適的。
(2)代碼串不應(yīng)含有病毒的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)是會(huì)經(jīng)常變化的。
(3)在保持唯一性的前提下,應(yīng)盡量使特征代碼長(zhǎng)度短些,以減少時(shí)間和空間開(kāi)銷(xiāo)。
(4)代碼串一定要在仔細(xì)分析了程序之后才能選出最具代表性的, 足以將該病毒區(qū)別于其他病毒和該病毒的
其他變種的代碼串。
選定好的特征代碼串是很不容易的,是病毒掃描程序的精華所在。一般情況下,代碼串是連續(xù)的若干個(gè)字節(jié)組
成的串,但是有些掃描軟件采用的是可變長(zhǎng)串,即在串中包含有一個(gè)到幾個(gè)“模糊”字節(jié)。掃描軟件遇到這種串時(shí),
只要除“模糊”字節(jié)之外的字串都能完好匹配,則也能判別出病毒。 例如給定特征串:“E9 7C 00 10 ? 37 CB”
則“E9 7C 00 10 27 37 CB”和“E9 7C 00 10 9C 37 CB”都能被識(shí)別出來(lái),又例如:
“E9 7C 37 CB”可以匹配“E9 7C 00 37 CB”,“E9 7C 00 11 37 CB”和“E9 7C 00 11 22 37 CB”。 但不
匹配“E9 7C 00 11 22 33 44 37 CB”,因?yàn)?C和37之間的子串已超過(guò)4個(gè)字節(jié)。
(5)特征串必須能將病毒與正常的非病毒程序區(qū)分開(kāi)。不然將非病毒程序當(dāng)成病毒報(bào)告給用戶(hù), 是假警報(bào),
這種“狼來(lái)了”的假警報(bào)大多了,就會(huì)使用戶(hù)放松警惕,等真的病毒一來(lái),破壞就嚴(yán)重了;再就是若將這假警報(bào)送
給清病毒程序,會(huì)將好程序給“殺死”了。
使用特征串的掃描法被查病毒軟件廣泛應(yīng)用著。其優(yōu)點(diǎn)是:
(1)當(dāng)特征串選擇得很好時(shí),病毒檢測(cè)軟件讓計(jì)算機(jī)用戶(hù)使用起來(lái)很方便快速, 對(duì)病毒了解不多的人也能用
它來(lái)發(fā)現(xiàn)病毒。
(2)不用專(zhuān)門(mén)軟件,用PCTOOLS等軟件也能用特征串掃描法去檢測(cè)特定病毒。
(3)可識(shí)別病毒的名稱(chēng)。
(4)誤報(bào)警率低。
(5)依據(jù)檢測(cè)結(jié)果,可做殺毒處理。
這種掃描法的缺點(diǎn)也是明顯的。
(1)當(dāng)被掃描的文件很長(zhǎng)時(shí),掃描所花時(shí)間也越多;
(2)不容易選出合適的特征串,例如SCAN.EXE時(shí)常會(huì)發(fā)出假警報(bào)。
(3)新病毒的特征串未加入病毒代碼庫(kù)時(shí),老版本的掃毒程序無(wú)法識(shí)別出新病毒。
(4)懷有惡意的計(jì)算機(jī)病毒制造者得到代碼庫(kù)后,會(huì)很容易地改變病毒體內(nèi)的代碼,生成一個(gè)新的變種, 使
掃描程序失去檢測(cè)它的能力。
(5)容易產(chǎn)生誤警報(bào),只要在正常程序內(nèi)帶有某種病毒的特征串,即使該代碼段已不可能被執(zhí)行, 而只是被
殺死的病毒體殘余,掃描程序仍會(huì)報(bào)警。老版本CPAV對(duì)硬盤(pán)主引導(dǎo)區(qū)內(nèi)未被清除干凈、已失去作用的香港病毒發(fā)出
假警報(bào)就是一個(gè)例子。
(6)不易識(shí)別Mutation Engine類(lèi)病毒。
(7)搜集已知病毒的特征代碼,費(fèi)用開(kāi)銷(xiāo)大。
(8)在網(wǎng)絡(luò)上使用效率低。
不管怎樣,基于特征串的計(jì)算機(jī)病毒掃描法仍是今天用得最為普遍的查病毒方法。
2.特征字掃描法
計(jì)算機(jī)病毒特征字掃描法是基于特征串掃描法發(fā)展起來(lái)的一種新方法。它工作起來(lái)速度更快、誤報(bào)警更少,但
特征代碼掃描法所具有的(2)、(3)、(4)項(xiàng)缺點(diǎn)特征字掃描法也仍然存在。 特征字掃描只需從病毒體內(nèi)抽取
很少幾、個(gè)關(guān)鍵的特征字,組成特征字庫(kù)。由于需要處理的字節(jié)很少,而又不必進(jìn)行串匹配,大大加快了識(shí)別速度,
當(dāng)被處理的程序很大時(shí)表現(xiàn)更突出。類(lèi)似于檢測(cè)生物病毒的生物活性,特征字識(shí)別法更注意計(jì)算機(jī)病毒的“程序活
性”,減少了錯(cuò)報(bào)的可能性。
使用基于特征串掃描法的查病毒軟件方法與使用基于特征字掃描法的查病毒軟件方法是一樣的。只要運(yùn)行查毒
程序,就能將已知的病毒檢查出來(lái)。將這兩種方法應(yīng)用到實(shí)際中,都需要不斷地對(duì)病毒庫(kù)進(jìn)行擴(kuò)充,一捕捉到病毒,
經(jīng)過(guò)提取特征并加入到病毒庫(kù),就能使查病毒程序多檢查出一種新病毒來(lái)。使用檢查病毒程序的人不需要關(guān)于病毒
大多的知識(shí),但病毒代碼庫(kù)的維護(hù)更新人員,即反病毒技術(shù)人員則需要具備相當(dāng)多的關(guān)于病毒和DOS以及 PC機(jī)的知
識(shí)。提取病毒特征串或特征字時(shí),需要足夠的有關(guān)知識(shí),要用到檢測(cè)計(jì)算機(jī)病毒的第七種技術(shù)—分析法。
計(jì)算機(jī)病毒行為監(jiān)測(cè)法診斷的原理
利用病毒的特有行為特性,監(jiān)測(cè)病毒的方法,稱(chēng)力行為監(jiān)測(cè)法。
通過(guò)對(duì)病毒多年的觀察、研究,人們發(fā)現(xiàn)病毒有一些行為,是病毒的共同行為,而且比較特殊。在正常程序中,
這些行為比較罕見(jiàn)。當(dāng)程序運(yùn)行時(shí),監(jiān)視其行為,如果發(fā)現(xiàn)了病毒行為,立即報(bào)警。
這些做為監(jiān)測(cè)病毒的行為特征可列舉如下:
1.占用INT13H
所有的引導(dǎo)型病毒都攻擊BOOT扇區(qū)或主引導(dǎo)扇區(qū)。系統(tǒng)啟動(dòng)時(shí),當(dāng)BOOT扇區(qū)或主引導(dǎo)扇區(qū)獲得執(zhí)行權(quán)時(shí),系統(tǒng)
就開(kāi)始工作。一般引導(dǎo)型病毒都會(huì)占用INT 13H功能,因?yàn)槠渌到y(tǒng)功能還未設(shè)置好,無(wú)法利用。引導(dǎo)型病毒占據(jù)I
NT 13H功能,在其中放置病毒所需的代碼。
2.修改DOS系統(tǒng)數(shù)據(jù)區(qū)的內(nèi)存總量
病毒常駐內(nèi)存后,為了防止DOS系統(tǒng)將其覆蓋,必須修改內(nèi)存總量。
3.對(duì)COM和EXE文件做寫(xiě)入動(dòng)作
病毒要感染,必須寫(xiě)COM和EXE文件。
4.病毒程序與宿主程序的切換
染毒程序運(yùn)行時(shí),先運(yùn)行病毒,而后執(zhí)行宿主程序。在兩者切換時(shí),有許多特征行為。
行為監(jiān)測(cè)法的長(zhǎng)處在于不僅可以發(fā)現(xiàn)已知病毒,而且可以相當(dāng)準(zhǔn)確地預(yù)報(bào)未知的多數(shù)病毒。但行為監(jiān)測(cè)法也有
其短處,即可能誤報(bào)警和不能識(shí)別病毒名稱(chēng),而且實(shí)現(xiàn)起來(lái)有一定難度。
計(jì)算機(jī)病毒行為感染實(shí)驗(yàn)法診斷的原理
感染實(shí)驗(yàn)是一種簡(jiǎn)單實(shí)用的檢測(cè)病毒方法。由于病毒檢測(cè)工具落后于病毒的發(fā)展,當(dāng)病毒檢測(cè)工具不能發(fā)現(xiàn)病
毒時(shí),如果不會(huì)用感染實(shí)驗(yàn)法,便束手無(wú)策。如果會(huì)用感染實(shí)驗(yàn)法,可以檢測(cè)出病毒檢測(cè)工具不認(rèn)識(shí)的新病毒,可
以擺脫對(duì)病毒檢測(cè)工具的依賴(lài),自主地檢測(cè)可疑新病毒。
這種方法的原理是利用了病毒的最重要的基本特征:感染特性。所有的病毒都會(huì)進(jìn)行感染,如果不會(huì)感染,就
不稱(chēng)其為病毒。如果系統(tǒng)中有異常行為,最新版的檢測(cè)工具也查不出病毒時(shí),就可以做感染實(shí)驗(yàn),運(yùn)行可疑系統(tǒng)中
的程序后,再運(yùn)行一些確切知道不帶毒的正常程序,然后觀察這些正常程序的長(zhǎng)度和校驗(yàn)和,如果發(fā)現(xiàn)有的程序增
長(zhǎng),或者校驗(yàn)和變化,就可斷言系統(tǒng)中有病毒。
1.檢測(cè)未知引導(dǎo)型病毒的感染實(shí)驗(yàn)法
(1)先用一張軟盤(pán),做一個(gè)清潔無(wú)毒的系統(tǒng)盤(pán),用DEBUG程序,讀該盤(pán)的BOOT扇區(qū)進(jìn)入內(nèi)存,計(jì)算其校驗(yàn)和,
并記住此值。同時(shí)把正常的BOOT扇區(qū)保存到一個(gè)文件中。上述操作必須保證系統(tǒng)環(huán)境是清潔無(wú)毒的。
(2)在這張實(shí)驗(yàn)盤(pán)上拷貝一些元毒的系統(tǒng)應(yīng)用程序。
(3)啟動(dòng)可疑系統(tǒng),將實(shí)驗(yàn)盤(pán)插入可疑系統(tǒng),運(yùn)行實(shí)驗(yàn)盤(pán)上的程序,重復(fù)一定次數(shù)。
(4)再在干凈無(wú)毒機(jī)器上,檢查實(shí)驗(yàn)盤(pán)的BOOT扇區(qū),可與原BOOT扇區(qū)內(nèi)容比較, 如果實(shí)驗(yàn)盤(pán)BOOT扇區(qū)內(nèi)容已
改變,可以斷定可疑系統(tǒng)中有引導(dǎo)型病毒。
隨意,在(3)中,不可執(zhí)行有可能重寫(xiě)B(tài)OOT扇區(qū)的程序,例如SYS.COM、FORMAT.COM等。
2.檢測(cè)未知文件型病毒的感染實(shí)驗(yàn)法
(1)在干凈系統(tǒng)中制作一張實(shí)驗(yàn)盤(pán),上面存放一些應(yīng)用程序,這些程序應(yīng)保證無(wú)毒,應(yīng)選擇長(zhǎng)度不同, 類(lèi)型
不同的文件(既有COM型又有EXE型)。記住這些文件正常狀態(tài)的長(zhǎng)度和校驗(yàn)和。
(2)在實(shí)驗(yàn)盤(pán)上制作一個(gè)批處理文件,使盤(pán)中程序在循環(huán)中輪流被執(zhí)行數(shù)次。
(3)將實(shí)驗(yàn)盤(pán)插入可疑系統(tǒng),執(zhí)行批處理文件,多次執(zhí)行盤(pán)中程序。
(4)將實(shí)驗(yàn)盤(pán)放人干凈系統(tǒng),檢查盤(pán)中文件的長(zhǎng)度和校驗(yàn)和,如果文件長(zhǎng)度增加,或者校驗(yàn)和變化( 在零長(zhǎng)
度感染和破壞性感染場(chǎng)合下,長(zhǎng)度一般不會(huì)變,但校驗(yàn)和會(huì)變。),則可斷定可疑系統(tǒng)中有病毒。
計(jì)算機(jī)病毒行為軟件模擬法診斷的原理
多態(tài)性病毒每次感染都變化其病毒密碼,對(duì)付這種病毒,特征代碼法失效。因?yàn)槎鄳B(tài)性病毒代碼實(shí)施密碼化,
而且每次所用密鑰不同,把染毒文件中的病毒代碼相互比較,也無(wú)法找出相同的可能做為特征的穩(wěn)定代碼。雖然行
為檢測(cè)法可以檢測(cè)多態(tài)性病毒,但是在檢測(cè)出病毒后,無(wú)法做消毒處理,因?yàn)椴恢《镜姆N類(lèi),難于做消毒處理。
為了檢測(cè)多態(tài)性病毒,現(xiàn)已研制了新的檢測(cè)法—軟件模擬法。它是一種軟件分析器,用軟件方法來(lái)模擬和分析
程序的運(yùn)行。
新型檢測(cè)工具納入了軟件模擬法,該類(lèi)工具開(kāi)始運(yùn)行時(shí),使用特征代碼法檢測(cè)病毒,如果發(fā)現(xiàn)隱蔽性病毒或多
態(tài)性病毒嫌疑時(shí),啟動(dòng)軟件模擬模塊,監(jiān)視病毒的運(yùn)行,待病毒自身的密碼譯碼以后,再運(yùn)用特征代碼法來(lái)識(shí)別病
毒的種類(lèi)。
計(jì)算機(jī)病毒分析法診斷的原理
一般使用分析法的人不是普通用戶(hù),而是反病毒技術(shù)人員。使用分析法的目的在于:
1.確認(rèn)被觀察的磁盤(pán)引導(dǎo)區(qū)和程序中是否含有病毒。
2.確認(rèn)病毒的類(lèi)型和種類(lèi),判定其是否是一種新病毒一
3.搞清楚病毒體的大致結(jié)構(gòu),提取特征識(shí)別用的字符串或特征字, 用于增添到病毒代碼庫(kù)供病毒掃描和識(shí)別
程序用。
4.詳細(xì)分析病毒代碼,為制定相應(yīng)的反病毒措施制定方案。
上述四個(gè)目的按順序排列起來(lái),正好大致是使用分析法的工作順序。使用分析法要求具有比較全面的有關(guān)PC機(jī)、
DOS結(jié)構(gòu)和功能調(diào)用以及關(guān)于病毒方面的各種知識(shí)。
要使用分析法檢測(cè)病毒,其條件除了要具有相關(guān)的知識(shí)外,還需要DEBUG、PROVIEW等分析用工具程序和專(zhuān)用的
試驗(yàn)用計(jì)算機(jī)。因?yàn)榧词故呛苁炀毜姆床《炯夹g(shù)人員,使用性能完善的分析軟件,也不能保證在短時(shí)間內(nèi)將病毒代
碼完全分析清楚。而病毒有可能在被分析階段繼續(xù)傳染甚至發(fā)作,把軟盤(pán)硬盤(pán)內(nèi)的數(shù)據(jù)完全毀壞掉,這就要求分析
工作必須在專(zhuān)門(mén)設(shè)立的試驗(yàn)用PC機(jī)上進(jìn)行,不怕其中的數(shù)據(jù)被破壞。在不具備條件的情況下,不要輕易開(kāi)始分析工
作,很多計(jì)算機(jī)病毒采用了自加密、抗跟蹤等技術(shù),使得分析病毒的工作經(jīng)常是冗長(zhǎng)和枯燥的。特別是某些文件型
病毒的代碼可達(dá)10KB以上,與系統(tǒng)的牽扯層次很深,使詳細(xì)的剖析工作十分復(fù)雜。
病毒檢測(cè)的分析法是反病毒工作中不可或缺的重要技術(shù),任何一個(gè)性能優(yōu)良的反病毒系統(tǒng)的研制和開(kāi)發(fā)都離不
開(kāi)專(zhuān)門(mén)人員對(duì)各種病毒的詳盡而認(rèn)真的分析。
分析的步驟分為動(dòng)態(tài)和靜態(tài)兩種。 靜態(tài)分析是指利用DEBUG等反匯編程序?qū)⒉《敬a打印成反匯編后的程序清
單進(jìn)行分析,看病毒分成哪些模塊,使用了哪些系統(tǒng)調(diào)用,采用了哪些技巧,如何將病毒感染文件的過(guò)程翻轉(zhuǎn)為清
除病毒、修復(fù)文件的過(guò)程,哪些代碼可被用做特征碼以及如何防御這種病毒。分析人員具有的素質(zhì)越高,分析過(guò)程
越快,理解越深。動(dòng)態(tài)分析則是指利用DEBUG等程序調(diào)試工具在內(nèi)存帶毒的情況下,對(duì)病毒做動(dòng)態(tài)跟蹤, 觀察病毒
的具體工作過(guò)程,以進(jìn)一步在靜態(tài)分析的基礎(chǔ)上理解病毒工作的原理。在病毒編碼比較簡(jiǎn)單的情況下,動(dòng)態(tài)分析不
是必須的。但當(dāng)病毒采用了較多的技術(shù)手段時(shí),必須使用動(dòng)、靜相結(jié)合的分析方法才能完成整個(gè)分析過(guò)程。例如F_
lip病毒采用隨機(jī)加密,利用對(duì)病毒解密程序的動(dòng)態(tài)分析才能完成解密工作,從而進(jìn)行下一步的靜態(tài)分析。
從上面的討論可以看出:
1.利用原始備份和被檢測(cè)程序相比較的方法適合于不需專(zhuān)用軟件,可以發(fā)現(xiàn)異常情況的場(chǎng)合, 是一種簡(jiǎn)單的
基本的病毒檢測(cè)方法;
2.掃描特征串和識(shí)別特征字的方法適用于制作成查病毒軟件的方式供廣大PC機(jī)用戶(hù)使用,方便而又迅速, 但
對(duì)新出現(xiàn)的病毒會(huì)出現(xiàn)漏檢的情況,需要與分析和比較法相結(jié)合。
分析病毒的方法主要是由專(zhuān)業(yè)人員識(shí)別病毒,研制反病毒系統(tǒng)時(shí)使用,要求較多的專(zhuān)業(yè)知識(shí),是反病毒研究不
可缺少的方法。
聯(lián)系客服
微信登錄中...
請(qǐng)勿關(guān)閉此頁(yè)面