防毒軟體的殺毒原理

病毒檢測 ​​的方法 在與病毒的對抗中,及早發現病毒很重要。早發現,早處置,可以減少損失。檢測病毒方法有:特征代碼法、校驗和法、行為監測法、軟體模擬法。這些方法依據的原理不同,實現時所需開銷不同,檢測範圍不同,各有所長。


特征代碼法

特征代碼法被早期應用於SCAN、CPAV等著名病毒檢測 ​​工具中。國外專家認為特征代碼法是檢測已知病毒的最簡單、開銷最小的方法。

特征代碼法的實現步驟如下: 採集已知病毒樣本,病毒如果既感染COM文件,又感染EXE文件,對這種病毒要同時採集COM型病毒樣本和EXE型病毒樣本。

在病毒樣本中,抽取特征代碼。依據如下原則: 抽取的代碼比較特殊,不大可能與普通正常程序代碼吻合。抽取的代碼要有適當長度,一方面維持特征代碼的唯一性,另一方面又不要有太大的空間與時間的開銷。如果一種病毒的特征代碼增長一字節,要檢測3000種病毒,增加的空間就是3000字節。在保持唯一性的前提下,盡量使特征代碼長度短些,以減少空間與時間開銷。

在既感染COM文件又感染EXE文件的病毒樣本中,要抽取兩種樣本共有的代碼。將特征代碼納入病毒數據庫。 打開被檢測文件,在文件中搜索,檢查文件中是否含有病毒數據庫中的病毒特征代碼。如果發現病毒特征代碼,由於特征代碼與病毒一一對應,便可以斷定,被查文件中患有何種病毒。

採用病毒特征代碼法的檢測工具,面對不斷出現的新病毒,必須不斷更新版本,否則檢測工具便會老化,逐漸失去實用價值。病毒特征代碼法對從未見過的新病毒,自然無法知道其特征代碼,因而無法去檢測這些新病毒。

特征代碼法的優點是:檢測準確快速、可識別病毒的名稱、誤報警率低、依據檢測結果,可做解毒處理。其缺點是:不能檢測未知病毒、蒐集已知病毒的特征代碼,費用開銷大、在網絡上效率低(在網絡服務器上,因長時間檢索會使整個網絡性能變壞)。

其特點:

  1. 速度慢。隨著病毒種類的增多,檢索時間變長。如果檢索5000種病毒,必須對5000個病毒特征代碼逐一檢查。如果病毒種數再增加,檢病毒的時間開銷就變得十分可觀。此類工具檢測的高速性,將變得日益困難。
  2. 誤報警率低。
  3. 不能檢查多形性病毒。特征代碼法是不可能檢測多態性病毒的。國外專家認為多態性病毒是病毒特征代碼法的索命者。
  4. 不能對付隱蔽性病毒。隱蔽性病毒如果先進駐內存,後運行病毒檢測 ​​工具,隱蔽性病毒能先於檢測工具,將被查文件中的病毒代碼剝去,檢測工具的確是在檢查一個虛假的“好文件”,而不能報警,被隱蔽性病毒所矇騙。


校驗和法

將正常文件的內容,計算其校驗和,將該校驗和寫入文件中或寫入別的文件中保存。在文件使用過程中,定期地或每次使用文件前,檢查文件現在內容算出的校驗和與原來保存的校驗和是否一致,因而可以發現文件是否感染,這種方法叫校驗和法,它既可發現已知病毒又可發現未知病毒。在SCAN和CPAV工具的後期版本中除了病毒特征代碼法之外,還納入校驗和法,以提高其檢測能力。

這種方法既能發現已知病毒,也能發現未知病毒,但是,它不能識別病毒類,不能報出病毒名稱。由於病毒感染並非文件內容改變的唯一的非他性原因,文件內容的改變有可能是正常程序引起的,所以校驗和法常常誤報警。而且此種方法也會影響文件的運行速度。

病毒感染的確會引起文件內容變化,但是校驗和法對文件內容的變化太敏感,又不能區分正常程序引起的變動,而頻繁報警。用監視文件的校驗和來檢測病毒,不是最好的方法。 這種方法遇到下述情況:已有軟體版更新、變更口令、修改運行參數、校驗和法都會誤報警。

校驗和法對隱蔽性病毒無效。隱蔽性病毒進駐內存後,會自動剝去染毒程序中的病毒代碼,使校驗和法受騙,對一個有毒文件算出正常校驗和。

運用校驗和法查病毒採用三種方式:

  1. 在檢測病毒工具中納入校驗和法,對被查的對象文件計算其正常狀態的校驗和,將校驗和值寫入被查文件中或檢測工具中,而後進行比較。
  2. 在應用程序中,放入校驗和法自我檢查功能,將文件正常狀態的校驗和寫入文件本身中,每當應用程序啟動時,比較現行校驗和與原校驗和值。實現應用程序的自檢測。
  3. 將校驗和檢查程序常駐內存,每當應用程序開始運行時,自動比較檢查應用程序內部或別的文件中預先保存的校驗和。

校驗和法的優點是:方法簡單能發現未知病毒、被查文件的細微變化也能發現。其缺點是:發布通行記錄正常態的校驗和、會誤報警、不能識別病毒名稱、不能對付隱蔽型病毒。


行為監測法

利用病毒的特有行為特徵性來監測病毒的方法,稱為行為監測法。通過對病毒多年的觀察、研究,有一些行為是病毒的共同行為,而且比較特殊。在正常程序中,這些行為比較罕見。當程序運行時,監視其行為,如果發現了病毒行為,立即報警。

這些做為監測病毒的行為特徵如下:

A.佔有INT 13H
所有的引導型病毒,都攻擊Boot扇區或主引導扇區。系統啟動時,當Boot扇區或主引導扇區獲得執行權時,系統剛剛開工。一般引導型病毒都會佔用INT 13H功能,因為其他系統功能未設置好,無法利用。引導型病毒佔據INT 13H功能,在其中放置病毒所需的代碼。

B.改DOS系統為數據區的內存總量
病毒常駐內存後,為了防止DOS系統將其覆蓋,必須修改系統內存總量。

C.對COM、EXE文件做寫入動作
病毒要感染,必須寫COM、EXE文件。

D.病毒程序與宿主程序的切換
染毒程序運行中,先運行病毒,而後執行宿主程序。在兩者切換時,有許多特徵行為。

行為監測法的長處:可發現未知病毒、可相當準確地預報未知的多數病毒。行為監測法的短處:可能誤報警、不能識別病毒名稱、實現時有一定難度。


軟體模擬法

多態性病毒每次感染都變化其病毒密碼,對付這種病毒,特征代碼法失效。因為多態性病毒代碼實施密碼化,而 ​​且每次所用密鑰不同,把染毒的病毒代碼相互比較,也無法找出相同的可能做為特徵的穩定代碼。雖然行為檢測法可以檢測多態性病毒,但是在檢測出病毒後,因為不知病毒的種類,難於做消毒處理。


計算機病毒的防治策略

計算機病毒的防治要從防毒、查毒、解毒三方面來進行;系統對於計算機病毒的實際防治能力和效果也要從防毒能力、查毒能力和解毒能力三方面來評判。

「防毒」是指根據系統特性,採取相應的系統安全措施預防病毒侵入計算機。「查毒」是指對於確定的環境,能夠準確地報出病毒名稱,該環境包括,內存、文件、引導區(含主導區)、網絡等。「解毒」是指根據不同類型病毒對感染對象的修改,並按照病毒的感染特性所進行的恢復。該恢復過程不能破壞未被病毒修改的內容。感染對象包括:內存、引導區(含主引導區)、可執行文件、文檔文件、網絡等。

防毒能力是指預防病毒侵入計算機系統的能力。通過採取防毒措施,應可以準確地、實時地監測預警經由光盤、軟盤、硬盤不同目錄之間、局域網、因特網(包括FTP方式、E-MAIL、HTTP方式)或其它形式的文件下載等 ​​多種方式進行的傳輸;能夠在病毒侵入系統是發出警報,記錄攜帶病毒的文件,即時清除其中的病毒;對網絡而言,能夠向網絡管理員發送關於病毒入侵的信息,記錄病毒入侵的工作站,必要時還要能夠註銷工作站,隔離病毒源。

查毒能力是指發現和追踪病毒來源的能力。通過查毒應該能準確地發現計算機系統是否感染有病毒,並準確查找出病毒的來源,並能給出統計報告;查解病毒的能力應由查毒率和誤報率來評判。

解毒能力是指從感染對像中清除病毒,恢復被病毒感染前的原始信息的能力;解毒能力應用解毒率來評判。

(此篇文章為網路轉載,如有冒犯,請來信告知,當即刻移除!)