惡意代碼檢測是指收集并分析網(wǎng)絡(luò)和計(jì)算機(jī)系統(tǒng)中若干關(guān)鍵點(diǎn)的信息,發(fā)現(xiàn)其中是否存在違反安全策略的行為以及被攻擊的痕跡。惡意代碼檢測的常用方法包括:1、特征碼掃描是在惡意代碼檢測中使用的一種基本技術(shù),廣泛應(yīng)用于各類惡意代碼清除軟件中。但是這種技術(shù)也存在一定的問題:一方面隨著惡意代碼數(shù)量的增長,特征庫規(guī)模不斷擴(kuò)充,掃描效率越來越低;另一方面該技術(shù)只能用于已知惡意代碼的檢測,不能發(fā)現(xiàn)新的惡意代碼;此外,如果惡意代碼采用了加密、混淆、多態(tài)變形等自我防護(hù)技術(shù),特征碼掃描技術(shù)也難以檢測。2、沙箱技術(shù)是將惡意代碼放入虛擬機(jī)中執(zhí)行,其執(zhí)行的所有操作都被虛擬化重定向,不改變實(shí)際操作系統(tǒng)。沙箱技術(shù)能較好地解決變形惡意代碼的檢測問題。3、行為檢測技術(shù)通過對惡意代碼的典型行為特征分析,如頻繁連接網(wǎng)絡(luò)、修改注冊表、內(nèi)存消耗過大等,確定惡意操作行為,對這些典型行為特征和用戶合法操作規(guī)則進(jìn)行分析和研究,如果某個(gè)程序運(yùn)行時(shí),檢測發(fā)現(xiàn)其行為違反了合法程序操作規(guī)則,或者符合惡意程序操作規(guī)則,則可以判斷其為惡意代碼。行為檢測技術(shù)根據(jù)程序的操作行為分析,判斷其惡意性,可用于未知病毒的發(fā)現(xiàn)。
惡意代碼檢測需要的知識和技術(shù)儲備是怎樣的呢? 1、分析能力。檢測的前提是分析,類似編譯器的優(yōu)化,優(yōu)化是先分析再轉(zhuǎn)換,檢測是先分析再檢測。2、程序分析。程序分析在安全領(lǐng)域的應(yīng)用由來已久,但是本身的門檻其實(shí)非常的高。因?yàn)殚T檻高,技術(shù)又比較偏門,導(dǎo)致這個(gè)領(lǐng)域的人才非常難找。3、系統(tǒng)和內(nèi)核。檢測離不開動態(tài)特征的抽取,這本質(zhì)上是一個(gè)讓樣本細(xì)粒度受控執(zhí)行的技術(shù)。比如殺毒軟件里的虛擬機(jī),可以讓樣本按指令粒度去執(zhí)行,自動脫殼解密,抓取執(zhí)行時(shí)的內(nèi)存訪問和API序列信息,同時(shí)要保證樣本在受限環(huán)境內(nèi)運(yùn)行,不會逃逸到真實(shí)操作系統(tǒng)。4、數(shù)據(jù)處理能力。攻防發(fā)展到今天,除了研究個(gè)體樣本,還需要宏觀高維視角。通過特征工程和數(shù)據(jù)算法的手段,建立起樣本的家族信息。既研究樣本個(gè)體也研究樣本群體。