教你巧妙檢查硬盤(pán)與內存
這種方法主要是對每一種病毒含有的特定字符串進(jìn)行掃描,如果在被檢測對象內部發(fā)現了某一種特定字節串,就表明發(fā)現了該字節串所代表的病毒。國外稱(chēng)這種按搜索法工作的病毒掃描軟件為“Scanner”。
這種病毒掃描軟件由兩部分組成:一部分是病毒代碼庫,含有經(jīng)過(guò)特別選定的各種電腦病毒的代碼串;另一部分是利用該代碼庫進(jìn)行掃描的掃描程序,病毒掃描程序能識別的電腦病毒的數目完全取決于病毒代碼庫內所含病毒種類(lèi)的多少。
病毒代碼串的選擇是非常重要的,短小的病毒代碼只有一百多個(gè)字節,長(cháng)的也只有10KB字節。一定要在仔細分析程序之后選出最具代表特性的,足以將該病毒區別于其它病毒和該病毒的其它變種的代碼串。
一般情況下,代碼串是由連續若干個(gè)字節組成的,但是有些掃描軟件采用的是可變長(cháng)串,即在串中包含有一個(gè)到幾個(gè)“模糊”字節。掃描軟件遇到這種串時(shí),只要除“模糊”字節之外的字串都能完好匹配,就也能夠判別出病毒。另外,特征串還必須能將病毒與正常的非病毒程序區,不然就會(huì )出現“假報、誤報”。
特征字識別法
這是基于特征串掃描法發(fā)展起來(lái)的一種方式,運行速度較快、誤報頻率較低。特征字識別法只須從病毒體內抽取很少的幾個(gè)關(guān)鍵特征字,組成特征字庫。由于需要處理的字節很少,又不必進(jìn)行串匹配,因此大大加快了識別速度,當被處理的程序很大時(shí),用這種辦法比較合適。
由于特征字識別法更注意電腦病毒的“程序活性”,因此減少了錯報的可能性。使用基于特征串掃描法的查病毒軟件方法與使用基于特征字識別法的查病毒軟件方法是一樣的,只要運行查毒程序,就能將已知的病毒檢查出來(lái)。這兩種方法的使用,都須要不斷地對病毒庫進(jìn)行擴充,一旦捕捉到病毒,經(jīng)過(guò)提取特征并加入到病毒庫,就能使查病毒程序多檢查出一種新病毒來(lái)。
比較法
這是用原始備份與被檢測的引導扇區或被檢測的文件進(jìn)行比較的方法,可以用打印的代碼清單(比如Debug的D命令輸出格式)進(jìn)行比較,也可用程序來(lái)進(jìn)行比較(如DOS的DISKCOMP、COMP或PCTOOLS等其它軟件)。
比較法不需要專(zhuān)用的查病毒程序,只要用常規DOS軟件和PCTOOLS等工具軟件就可以進(jìn)行,而且還可以發(fā)現那些尚不能被現有的殺毒軟件發(fā)現的計算機病毒。因為病毒傳播得很快,新病毒層出不窮,而目前還沒(méi)有能查出一切病毒的通用程序,或通過(guò)代碼分析,可以判定某個(gè)程序中是否含有病毒的查毒程序,所以只有靠比較法和分析法,或這兩種方法相結合來(lái)發(fā)現新病毒。
對硬盤(pán)的主引導區或對DOS的引導扇區作檢查,用比較法能發(fā)現其中的程序源代碼是否發(fā)生了變化。由于要進(jìn)行比較,因此保留好原始備份是非常重要的。制作備份時(shí)必須在無(wú)電腦病毒的環(huán)境里進(jìn)行,制作好的備份必須妥善保管,寫(xiě)好標簽,貼好寫(xiě)保護。比較法的好處是簡(jiǎn)單、方便,不用專(zhuān)用軟件;缺點(diǎn)是無(wú)法確認病毒的種類(lèi)名稱(chēng)。
另外,造成被檢測程序與原始備份之間差別的原因尚需進(jìn)一步驗證,以查明是電腦病毒造成的,還是DOS數據被偶然原因,如突然停電、程序失控、惡意程序等破壞的。這些要用到后面講的分析法,查看變化部分代碼的性質(zhì),以此來(lái)確認是否存在病毒?! 》治龇?
這種方法一方面可以確認被觀(guān)察的磁盤(pán)引導區和程序中是否含有病毒,另一方面可以辨認病毒的類(lèi)型和種類(lèi),判定是否為一種新病毒,另外還可以搞清楚病毒體的大致結構,提取用于特征識別的字節串或特征字,增添到病毒代碼庫中供病毒掃描和識別程序使用。同時(shí),詳細地分析病毒代碼,還有助于制定相應的反病毒方案。
與前三種檢測病毒的方法不同,使用分析法檢測病毒,除了要具有相關(guān)的知識外,還需要使用Debug、Proview等分析工具程序和專(zhuān)用的試驗用計算機。因為即使是很精通病毒的技術(shù)人員,使用性能完善的分析軟件,也不能完全保證在短時(shí)間內將病毒代碼分析清楚;而病毒則有可能在被分析階段繼續傳染甚至發(fā)作,把軟盤(pán)、硬盤(pán)內的數據完全毀壞掉,所以分析工作必須在專(zhuān)門(mén)的試驗用PC機上進(jìn)行,不怕其中的數據被破壞。
不具備必要的條件,不要輕易開(kāi)始分析工作。很多電腦病毒采用了自加密、抗跟蹤等技術(shù),使得分析病毒的工作經(jīng)常是冗長(cháng)枯燥的。特別是某些文件型病毒的源代碼可達10KB以上,與系統的牽扯層次很深,使詳細的剖析工作十分復雜。病毒檢測的分析法是反病毒工作中不可或缺的重要技術(shù),任何一個(gè)性能優(yōu)良的反病毒系統的研制和開(kāi)發(fā)都離不開(kāi)專(zhuān)門(mén)人員對各種病毒詳盡、認真的分析。
分析法分為靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)分析是指利用Debug等反匯編程序將病毒代碼打印成反匯編后的程序清單進(jìn)行分析,看病毒分成哪些模塊,使用了哪些系統調用,采用了哪些技巧,如何將病毒感染文件的過(guò)程翻轉為清除病毒、修復文件的過(guò)程,哪些代碼可被用做特征碼以及如何防御這種病毒等等。
分析人員的素質(zhì)越高,分析過(guò)程就越快,理解也就越深;動(dòng)態(tài)分析則是指利用Debug等程序調試工具在內存帶毒的情況下,對病毒作動(dòng)態(tài)跟蹤,觀(guān)察病毒的具體工作過(guò)程,以進(jìn)一步在靜態(tài)分析的基礎上理解病毒工作的原理。在病毒編碼比較簡(jiǎn)單的情況下,動(dòng)態(tài)分析不是必須的。但是,當病毒采用了較多的技術(shù)手段時(shí),就必須使用動(dòng)、靜相結合的分析方法才能完成整個(gè)分析過(guò)程。
綜上所述,利用原始備份和被檢測程序相比較的方法適合于不用專(zhuān)用軟件,可以發(fā)現異常情況的場(chǎng)合,是一種簡(jiǎn)單、基本的病毒檢測方法;掃描特征串和識別特性字的方法更適用于廣大PC機用戶(hù)使用,方便而又迅速;但對新出現的病毒會(huì )出現漏檢的情況,須要與分析和比較法結合使用。
通過(guò)采取技術(shù)上和管理上的措施,電腦病毒是完全可以防范的。
病毒要進(jìn)行傳染,必然會(huì )留下痕跡。生物醫學(xué)病毒如此,電腦病毒也是一樣。檢測電腦病毒,就要到病毒寄生場(chǎng)所去檢查,發(fā)現異常情況,并進(jìn)而驗明“正身”,確認電腦病毒的存在。電腦病毒靜態(tài)時(shí)存儲于
硬盤(pán)中,被激活時(shí)駐留在內存中,因此對電腦病毒的檢測可以分為對硬盤(pán)的檢測和對內存的檢測。
一般對硬盤(pán)進(jìn)行病毒檢測時(shí),要求內存中不帶病毒,因為某些電腦病毒會(huì )向檢測者報告假情況。
例如“4096”病毒在內存中時(shí),查看被它感染的文件,不會(huì )發(fā)現該文件的長(cháng)度已發(fā)生變化,而當在內存中沒(méi)有病毒時(shí),才會(huì )發(fā)現文件長(cháng)度已經(jīng)增長(cháng)了4096字節;又例如,“DIR2”病毒在內存中,用Debug程序查看被感染文件時(shí),根本看不到“DIR2”病毒的代碼,很多檢測程序因此而漏過(guò)了被感染的文件;還有引導區型的“巴基斯坦智囊”病毒,當它活躍在內存中時(shí),檢查引導區就看不到病毒程序而只看到正常的引導扇區。
因此,只有在要求確認某種病毒的類(lèi)型和對其進(jìn)行分析、研究時(shí),才能在內存中帶毒的情況下作檢測工作。從原始的、未受病毒感染的DOS系統軟盤(pán)啟動(dòng),可以保證內存中不帶病毒。啟動(dòng)必須是上電啟動(dòng)而不是按鍵盤(pán)上的“Alt+Ctrl+Del”三鍵的那種熱啟動(dòng),因為某些病毒可以通過(guò)截取鍵盤(pán)中斷,將自己駐留在內存中。
檢測硬盤(pán)中的病毒,啟動(dòng)系統軟盤(pán)的DOS版本號應該等于或高于硬盤(pán)內DOS系統的版本號。如果硬盤(pán)上使用了硬盤(pán)管理軟件DM、ADM,硬盤(pán)壓縮存儲管理軟件Stacker、DoubleSpace等,啟動(dòng)系統軟盤(pán)時(shí)應把這些軟件的驅動(dòng)程序包括在軟盤(pán)上,并把它們寫(xiě)入config.sys文件中,否則用系統軟盤(pán)引導啟動(dòng)后,將不能訪(fǎng)問(wèn)硬盤(pán)上的所有分區,使躲藏在其中的病毒逃過(guò)檢查。
檢測硬盤(pán)中的病毒可分成檢測引導區型病毒和檢測文件型病毒。這兩種檢測的原理上相同,但由于病毒的存儲方式不同,檢測方法還是有差別的。主要是基于下列四種方法:比較被檢測對象與原始備份的比較法;利用病毒特征代碼串進(jìn)行查找的搜索法;搜索病毒體內特定位置的特征字識別法;運用反匯編技術(shù)分析被檢測對象,確證是否為病毒的分析法。
評論