為數(shù)不多的計算機(jī)病毒研究理論是 Frederick B. Cohen在1987年提出的,沒有一種算法可以完全檢測所有可能的病毒。 然而,使用不同的殺毒軟件,可能檢查出更多計算機(jī)病毒。
有幾種方法殺毒引擎(殺毒軟件)可以使用它來識別惡意軟件:
簽名的檢測(Signature-based detection) :是識別病毒和其他惡意軟件最常見的方法。殺毒引擎(殺毒軟件)同比較文件的內(nèi)容和數(shù)據(jù)庫中已知的惡意軟件簽名對比來檢測惡意軟件。
啟發(fā)式的檢測(Heuristic-based detection):與基于特征碼的檢測方法通常一起使用。 它通常基于已知惡意代碼特征來檢測惡意軟件。
基于行為學(xué)檢測(Behavioural-based detection) :類似于啟發(fā)式的檢測,也用在入侵檢測系統(tǒng) 。 主要的區(qū)別是,基于行為學(xué)檢測檢測惡意代碼本身,而不是硬編碼的特點,它是基于惡意軟件運行時的行為。 很明顯,這種技術(shù)能夠檢測(已知或未知)運行后才開始惡意行為的惡意軟件。
沙箱檢測(Sandbox detection:) :是一個基于行為學(xué)特定的檢測技術(shù),而不是檢測在運行時行為的狀態(tài),這個程序運行在虛擬環(huán)境 ,用日志記錄操作程序執(zhí)行。 根據(jù)操作記錄,殺毒引擎(殺毒軟件)可以確定程序是否惡意。 如果不是,那么,程序在真正的環(huán)境中執(zhí)行。 盡管這種技術(shù)已經(jīng)證明是非常有效的,但鑒于其沉重和緩慢,終端用戶很少用于防病毒解決方案。
數(shù)據(jù)挖掘技術(shù)(Data mining techniques) :是一個檢測惡意軟件最新的方法。 數(shù)據(jù)挖掘和機(jī)器學(xué)算法用于嘗試從文件本身中提取給定的一系列文件功能分類文件的行為(如惡意或良性)。