檢測病毒方法通常有:
特征代碼法:這種方法根據正常程序與病毒程序代碼的差別來識別病毒文件。有人認為,對于已知病毒來說,這種方法是最簡單、最直接的方法,這種方法的優、缺點都很突出。
優點:檢測的準確率較高,誤報率低。
缺點:查殺速度慢,由于已知病毒越來越多,因此病毒特征碼也隨之增加,因此查殺速度也會越來越慢。不能檢測未知病毒和多態性病毒以及隱蔽性病毒。另外這種檢測方法也不適合網絡版殺毒軟件采用,因為它會消耗我們寶貴的網絡資源。
校驗和法:此法計算文件的校驗和(只要知道是一種算法就可以了)并保存,可定期或調用文件時進行對比,從而判斷文件是否被病毒感染。雖然此法可以發現未知病毒,但由于其較高的誤報率,已經逐漸不被采用。
優點:可發現未知病毒。
缺點:無法報出病毒名稱,誤報率高,當軟件更新,口令修改或修改文件內容時,校驗和法都可能會誤報,因為這種方法無法區分文件內容的變化是不是屬于正常的程序使用引起的。
行為監測法:此法根據病毒的行為特征來識別病毒,這需要對病毒行為進行詳細的分類和研究,分析那些病毒共同的行為,以及正常程序的罕見行為,根據程序運行時的行為進行病毒判斷和預警。
優點:由于其歸納和總結各種病毒的共同特征,因此可以發現未知病毒,對于多數未知病毒預報非常有效。
缺點:對于未知行為病毒,不能有效檢測,同時也存在誤報現象,對查到的未知病毒,不能識別病毒名稱,因此普通用戶不能對發現的未知病毒進行有效的清除。
軟件模擬法:這種方法通過模擬病毒運行的方式來檢測病毒特征,由于特征碼法無法檢測多態性病毒,雖然行為監測法可以發現病毒,但是無法確定病毒名稱,也無法對其進行相應的殺除,因此產生了軟件模擬法。
優點:可識別未知病毒,病毒定位準確,誤報率低。
缺點:檢測速度受到一定影響,消耗系統資源較高。
長度檢測法:病毒程序的長度與正常程序下文件的長度相比有較大的差異,受到病毒侵襲的文件字節長度會大大增加,使之區別于正常文件的長度和大小。病毒具備的特征之一就是感染性,被感染的文件和程序即宿主程序,其文件長度會增加幾百字節,根據染病文件的長度不同,可以實現病毒的檢測。
優點:將其中攜帶病毒的文件進行修復或刪除,同時對文件增加的字節長度進行診斷,確定病毒的種類,實行相對有效的殺毒防護。
缺點:長度檢測法也有其弊端,根據長度識別病毒的方法并非完全有效,該方法無法實現對受到病毒侵襲后長度不變的文件的檢測,因而具有一定的局限性。
病毒標記檢測法:對已經傳染病毒的文件和程序進行標記,對程序的不同位置進行特定的標記,根據這些標記對病毒進行綜合分析,確定病毒樣本,掌握病毒的種類和特性。
優點:病毒標記法的使用,要求操作者熟知各種病毒,對其中具有特性的程序片段進行綜合分析和考量。
缺點:耗費的時間和精力較大,而且必須熟記病毒標記和位置。通過對病毒樣本分析,可以掌握病毒的標記內容和位置,并對其宿主程序進行病毒標記搜索,查找被感染的病毒文件,對其進行相應的處理。
上述幾種檢測方法各有所長,往往都不能單純使用一種方法完成大規模病毒的檢測報警工作,通常都是幾種技術相結合,根據實際情況和應用場合配合運用相應的檢測手段。