文/唐勇
?
MalGen:自動提取惡意代碼躲避檢測的簽名
文/唐勇
唐勇
博士,副研究員,碩士生導師。在惡意代碼分析與檢測、二進制代碼保護、DPI技術及設備研制、網絡設備安全、APT檢測等技術方面有15年研究經驗?,F(xiàn)任國防科技大學計算機學院網絡安全研究室主任,作為負責人承擔了國家自然科學基金、國家863、國防科技研究項目近十項,獲得國家發(fā)明專利授權十余項,獲省部級科技進步二等獎3項、三等獎2項,以第一作者在IEEE Transaction on Computers 、Elsevier Computer & Security 等期刊和會議上發(fā)表論文十余篇。
自動動態(tài)分析是用于檢測惡意軟件的常用方法。然而,許多惡意軟件在辨認出軟件分析環(huán)境后,便不再執(zhí)行惡意行為,從而騙過分析環(huán)境的掃描。為了檢測出這樣的惡意軟件,一種可行的方法是將惡意軟件在多種環(huán)境(其中包括裸機環(huán)境)下運行,通過比對它在不同環(huán)境下的行為序列,來判斷惡意軟件是否會躲避檢測。但是,在應用這樣的方法后,還需要人工地去分析惡意軟件為了躲避檢測所采用的技術。同時,一些分析工具需要手動地去輸入許多多余的信息。因此,該方法不適合批量處理大量惡意代碼樣本。
為此,2015年ACM CCS大會上Kirat和Vigna在論文“MalGene: Automatic Extraction of Malware Analysis Evasion Signature”中提出了一個自動提取惡意代碼躲避檢測簽名的系統(tǒng)MalGene,其中躲避檢測簽名指的是惡意代碼運行時系統(tǒng)調用事件和比較事件(CMP指令的執(zhí)行)的集合。該系統(tǒng)利用數(shù)據挖掘、數(shù)據流分析技術實現(xiàn)自動化提取躲避檢測簽名。
首先,該工作采用序列比對算法實現(xiàn)對躲避檢測代碼段的定位。接下來就可以從定位得到的代碼段中識別出用于實現(xiàn)躲避檢測的系統(tǒng)調用和比較事件。為了過濾躲避檢測代碼段中無關的系統(tǒng)調用事件,文中對系統(tǒng)調用事件在沒有躲避檢測特性的惡意軟件的調用序列組成的集合中的IDF指數(shù)(逆文本頻率指數(shù))進行了計算。系統(tǒng)調用事件的IDF指數(shù)越小,則說明在沒有躲避檢測特性的惡意軟件中出現(xiàn)的頻率越高,因此和實現(xiàn)躲避檢測功能的關系也就越小。由此,可以根據IDF指數(shù)過濾掉部分與躲避檢測無關的系統(tǒng)調用。
最后,作者對2810個具有躲避檢測特性的惡意代碼進行了簽名的提取,并根據提取得到的簽名計算它們之間的Jaccard相似度,進而采用層次聚類,最終得到了78種惡意代碼躲避檢測的方式。