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