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