朱立軍
(沈陽化工大學計算機科學與技術學院,遼寧沈陽110142)
目前,對于已知計算機惡意代碼檢測方法主要是基于特征碼的方法,其基本思想是提取病毒樣本中能唯一標識該病毒的二進制串作為該病毒的“特征碼”,并將此“特征碼”添加到病毒特征庫中,在病毒檢測時,通過在病毒特征庫中查找是否存在相匹配的“特征碼”來發現病毒.這種方法的優點是能快速、準確地檢測出已知惡意代碼;缺點是對未知惡意代碼卻無能為力.
由于對計算機病毒的檢測具有不可判定性[1-2],因此,為了識別未知惡意代碼及其變種,人們提出了很多近似算法,其中具有代表性的是:(1)靜態啟發式掃描技術,即在代碼沒有運行的狀態下,通過分析代碼中的特征序列來識別惡意代碼的方法.例如文獻[3]通過分析可執行文件靜態調用的API序列來識別已知惡意代碼的變種,它的依據是惡意代碼和它的變種一定有足夠多相似的API調用序列;文獻[4]通過提取已知惡意代碼中的特征串和字節序列,并利用多重貝葉斯算法建立了分類模型.這些方法雖然取得了較好的識別效果,但缺點是對被加殼的惡意代碼無能為力.(2)基于代碼的動態行為分析法,與靜態掃描技術不同的是,行為分析技術監控代碼運行時的動態行為,由于某些行為是病毒、木馬等惡意代碼經常出現的行為,而在合法程序中卻比較罕見,它們可作為判別應用程序是否非法的依據.文獻[5]通過代碼……