張東紅



摘要:惡意代碼對人們的工作和生活帶來了嚴重的威脅,對惡意代碼進行檢測也變得越來越重要。一種有效的惡意代碼檢測方式是借鑒機器學習技術,訓練檢測模型并使用其檢測新樣本中是否含有惡意代碼。為達到此目的,使用操作碼特征的檢測方法近年來深受歡迎。用于高效、可配置地反匯編多種平臺多種格式類型的可執行樣本,避免基于遞歸下降反匯編算法的lDA Pro遇到的各種問題;本文還重新設計和實現了“飛鼠”惡意代碼檢測系統,自動化地采集、標記、處理樣本,提高反匯編成功率。
關鍵詞:惡意代碼檢測;操作碼;反匯編;1DA Pro;線性掃描
DOI:
10.3969/j.issn.1005-5517.2018.8.018
1“飛鼠”惡意代碼檢測系統
針對此問題,論文根據線性掃描反匯編算法實現了低精度的反匯編工具D-Iight,用于高效、可配置地反匯編多種平臺多種格式類型的可執行樣本,避免基于遞歸下降反匯編算法的IDA Pro遇到的各種問題;論文還重新設計和實現了“飛鼠”惡意代碼檢測系統,自動化地采集、標記、處理樣本,在兼容IDA Pro的基礎上,同時支持線性掃描反匯編工具D-Iight,并能夠根據配置選擇相應算法實現惡意代碼檢測。論文通過實驗分析指出,使用線性掃描反匯編算法提取操作碼特征,能夠在允許一定程度的反匯編代碼不準確的情況下,提高反匯編成功率,增加可利用的樣本數目;訓練數據集樣本量的大幅增加可以彌補樣本反匯編質量小幅度降低的損失,最終超越,或保持,基于IDA Pro的檢測模型的檢測效果。實驗中還發現,使用多項式核函數的支持向量機分類算法在實踐中有著更好的性能和應用價值。如圖1和圖2所示。
2 互聯網與病毒發展現狀
隨著計算機技術的高速發展和計算機網絡的不斷普及,計算機和互聯網已經深入到人們日常生活和工作的方方面面。根據中國互聯網信息中心在2018年1月發布的《第41次中國互聯網絡發展狀況統計報告》,截至2017年12月,我國網民規模達7.72億,全年共計新增網民4074萬人,互聯網普及率達55.8%,相比較于2016年底提升了2.6%。同時我國在線政務服務用戶規模達到4.85億,占總體網民的62.9%,通過支付寶或微信城市服務平臺獲得政務服務的使用率為44.0%。
日益便捷的網絡互聯環境和成熟的計算機技術,也為網絡攻擊的產生與傳播提供了極大的便利條件,每年新增的軟件數量呈現出持續性增長的趨勢。在賽門鐵克(Symantec)公司2010年發布的安全報告中指出,賽門鐵克公司相比于2008年捕獲到169323個新型軟件,2009年共捕獲到了2895802個新型軟件。根據中國互聯網應急響應中心(CNCERT/CC)在2017年5月發布的《2016年中國互聯網網絡安全報告》,CNCERT/CC通過自主捕獲以及與廠商交換獲得的移動互聯網惡意程序數量約205萬個。
3 “飛鼠”的設計
基于特征碼的靜態惡意代碼檢測流程可以分為三部分,首先需要獲取惡意代碼,然后對現有已知的惡意代碼進行特征分析,提取相應的特征碼;然后匯總整理,將提取的特征碼存入特征庫;最后,在對未知的可執行樣本進行檢測時,根據特征庫中的特征碼逐項進行匹配。如果待檢測樣本中包含特征庫中的特征信息,則認為該樣本是惡意代碼,反之,則認為是非惡意代碼。如圖3。
4 “飛鼠”系統特征訓練檢測模型
在獲取到包含惡意代碼樣本和非惡意代碼樣本的原始實驗數據集,并進行預處理和數據集劃分之后,對訓練集數據首先使用線性掃描反匯編工具進行反匯編處理。然后從反匯編代碼中提取操作碼特征。在完成操作碼特征提取之后,會首先根據訓練集中操作碼特征的數據特征選擇一定的操作碼特征對樣本進行向量化表示。最后將描述樣本的特征向量輸入分類模型中進行訓練,得到用于惡意代碼檢測的惡意代碼檢測模型。測試階段,使用相同的線性掃描反匯編方法對未知樣本進行反匯編提取其操作碼特征。根據訓練階段選擇出來的操作碼特征子集對未知樣本進行向量化描述。最后將該描述向量輸入到訓練階段得到的惡意代碼檢測模型進行檢測,得到最終的惡意代碼檢測結果,惡意代碼或者非惡意代碼。
在惡意代碼檢測工作中,可以定義混淆矩陣(confusion matrix)來記錄相應的檢測結果數據。如表1所示,TP表示將惡意代碼檢測成為惡意代碼的樣本數,FP表示非惡意代碼檢測成為惡意代碼的樣本數,FN表示惡意代碼檢測成為非惡意代碼的樣本數,TN表示非惡意代碼檢測成為非惡意代碼的樣本數。
5 結論
論文提出的解決方案,主要思想是通過訓練樣本數量的大幅增長來彌補操作碼特征略微不準確的問題,所以在該解決方案中通過D-Iight反匯編工具獲取大量稍微有些不準確的反匯編代碼提取操作碼特征來訓練惡意代碼檢測模型。在對反匯編代碼的質量和數量對惡意代碼檢測性能影響的實驗研究中,通過使用D-Iight反匯編提取操作碼特征訓練得到的惡意代碼檢測模型與使用IDA Pro反匯編提取操作碼特征訓練得到的惡意代碼檢測模型進行對比分析,發現使用D-Iight反匯編提取操作碼特征訓練得到的惡意代碼檢測模型的檢測性能更好一些,驗證了本文提出的使用線性掃描反匯編算法提取操作碼特征訓練惡意代碼檢測模型的解決方案是有效和可行的。此外,在對比分析實驗中,本文還發現使用多項式核函數支持向量機分類算法的惡意代碼檢測模型在實踐中檢測性能表現最好。
參考文獻:
[1]中國互聯網信息中心第41次中國互聯網絡發展狀況統計報告[J]中國經濟報告,2017(4)
[2] Natarai L.Karthikevan S.Jacob G.et aI.Malware imaaes: visualizationand automatic classiflcation[C]//Proceedings of the 8th international symposium on visualizationfor cyber security. ACM, 2011: 4.Fossi M, Egan G, Haley K, et al. Symantec global internetsecurity threat report[J]. Volume l, 2010
[3] Fossi M,Egan G,Haley K,et aI.Symantec global internet security threat report [J]. VolumeXVI, 2011.
[4]國家計算機網絡應急技術處理協調中心2016年中國互聯網網絡安全報告[M/OL].北京:人民郵電出版社.(2017).http://www.cert.o rg.cn/pu blis h/main/u pload/File/2016_cncert_rep -ort.pdf