陳永靜
【摘要】由于互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,惡意代碼也隨之增加。因此,針對惡意代碼,如何在有效的資源下對其進行檢測成為我們研究的主要內(nèi)容。本文從惡意代碼檢測基礎(chǔ)理論、傳統(tǒng)的檢測方法和基于機器學(xué)習(xí)的檢測方法進行分析,進而為惡意代碼檢測方法提供理論研究和技術(shù)支撐。
【關(guān)鍵詞】互聯(lián)網(wǎng) ?惡意代碼 ?檢測方法
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展以及信息交換能力的增強,網(wǎng)絡(luò)傳播已經(jīng)成為惡意代碼入侵的主要形式,大量個人和組織的相關(guān)信息被存儲在計算機中,而惡意代碼可以通過非法手段獲取個人和組織的信息,從而獲得其他利潤。在經(jīng)濟利益的驅(qū)使下,惡意代碼的變種數(shù)量和檢測的難度也都隨之而呈現(xiàn)指數(shù)級的增長趨勢。
一、惡意代碼概述
隨著計算機被大規(guī)模的普及和應(yīng)用,惡意代碼種類的數(shù)量也出現(xiàn)了爆炸性的增長。這里我們提到的惡意代碼主要是指計算機中具有不良意圖的計算機指令、程序代碼、腳本文件等,這些程序可以是木馬、病毒等。一般惡意代碼的編寫者通過三種方式傳播惡意代碼,分別為軟件的自身漏洞、使用惡意軟件的用戶以及二者的結(jié)合形式。
二、惡意代碼檢測方法
傳統(tǒng)惡意代碼檢測系統(tǒng)可以從兩個不同的維度對惡意代碼檢測技術(shù)進行劃分。第一種是通過數(shù)據(jù)源的不同將其分為基于內(nèi)容(靜態(tài)分析)和基于行為(動態(tài)分析)兩種檢測,靜態(tài)分析指惡意代碼不需要直接運行,檢測人員通過分析惡意代碼的二進制執(zhí)行文件對其研究即可,該方法運用反匯編技術(shù)可以加快對惡意代碼的分析。動態(tài)分析是指通過虛擬或者實際的方法執(zhí)行惡意代碼,通過監(jiān)測惡意代碼對系統(tǒng)資源的實際操作,進而收集惡意代碼的行為特征。第二種根據(jù)檢測方法可以分為基于特征碼、基于算法檢測和基于規(guī)則的檢測,這里我們主要對檢測方法進行敘述,分別如下:
(一)基于特征碼檢測
基于特征碼的檢測方法是一種傳統(tǒng)的惡意代碼檢測技術(shù)。特征碼指的是惡意代碼行為數(shù)據(jù)中的某些關(guān)鍵字標(biāo)識,如可以打印的字符串、IP地址等其他信息。一般基于特征碼的檢測方法與靜態(tài)分析技術(shù)結(jié)合使用通過反匯編或者對可執(zhí)行文件進行分析,從而提取出惡意代碼中的表征惡意信息的代碼段,并將其特征碼編碼入庫,從而構(gòu)建惡意代碼的特征碼數(shù)據(jù)庫,借助此數(shù)據(jù)庫可以快速比對未知惡意代碼,從而判定其屬性。然而,在惡意代碼變種數(shù)量快速增長的趨勢下,我們需要將變種的惡意代碼特征值進一步編寫到數(shù)據(jù)庫中,這將導(dǎo)致數(shù)據(jù)庫異常龐大,從而使得后續(xù)檢測未知惡意代碼的時間隨之而增加。
(二)基于算法檢測
在基于算法的檢測中,主要指通過機器學(xué)習(xí)的分類算法對惡意代碼進行檢測。通過使用靜態(tài)、動態(tài)分析以及二者結(jié)合對惡意代碼的特征進行提取。如,可以將惡意代碼對系統(tǒng)進行關(guān)鍵操作的次數(shù)作為其行為特征。這種檢測方法不僅可以處理新型的惡意變種代碼,同時可以提高系統(tǒng)自動處理惡意代碼的泛化能力。然而,由于該檢測方法極度依賴惡意代碼的行為特征,因此如何保證提取出的惡意代碼特征具有優(yōu)異的檢測屬性成為檢測系統(tǒng)的重要研究內(nèi)容。
(三)基于規(guī)則檢測
基于規(guī)則的檢測方法是指檢測系統(tǒng)針對惡意代碼程序進行規(guī)則匹配的設(shè)置,其可以有效地捕捉惡意代碼的行為規(guī)則。通過使用動態(tài)分析技術(shù)中的沙箱機制對惡意代碼程序進行監(jiān)控,可以容易地發(fā)現(xiàn)惡意代碼程序中的行為規(guī)則。如,針對某些病毒和蠕蟲,借助沙箱技術(shù)對惡意代碼的API調(diào)用程序進行監(jiān)控,可以快速發(fā)現(xiàn)該程序?qū)ο到y(tǒng)操作的規(guī)則,運用行為規(guī)則制定相應(yīng)的規(guī)則匹配特征庫,可以有效防止惡意代碼家族對系統(tǒng)的侵害?;谝?guī)則的惡意代碼檢測方法不僅可以保護系統(tǒng)的某些敏感數(shù)據(jù),同時可以有效應(yīng)對新出現(xiàn)的惡意代碼。由于該檢測方法需要對惡意代碼行為規(guī)則進行檢測,因此如何獲取行為規(guī)則成為該檢測方法的重點。目前,大部分的惡意代碼在沙箱中實際執(zhí)行的時間都比較短,通常不超過十分鐘,最長的也不超過30分鐘,這就導(dǎo)致惡意代碼行為暴露的不充分,從而使得該方法無法對將來的變種代碼進行有效防范。同時,由于該檢測方法需要長時間地觀察惡意代碼的行為規(guī)則,因此當(dāng)數(shù)據(jù)量急劇增長,這種檢測方法也將暴露出時間消耗的弊端,進而無法滿足快速檢測惡意代碼的要求。
三、總結(jié)
隨著互聯(lián)網(wǎng)技術(shù)的大規(guī)模普及,惡意代碼的威脅在不斷增加,從而給人們的個人隱私和經(jīng)濟利益帶來了極大的威脅?;诖吮疚膹膼阂獯a的檢測方法出發(fā),對惡意代碼目前的檢測方法進行了研究,進而為惡意代碼相關(guān)領(lǐng)域的研究提供技術(shù)支撐和理論依據(jù)。
參考文獻:
[1] Tiwari P, Tere G, Singh P. Malware detection in android application by rigorous analysis of decompiled source code[C]//2016 International Conference on Computing Communication Control and automation (ICCUBEA). IEEE, 2016: 1-6.
[2] Brucker A D, Herzberg M. On the static analysis of hybrid mobile apps[C]//International Symposium on Engineering Secure Software and Systems. Springer, Cham, 2016: 72-88.
[3] Zhao G, Xu K, Xu L, et al. Detecting APT malware infections based on malicious DNS and traffic analysis[J]. IEEE access, 2015, 3: 1132-1142.
[4] Yerima S Y, Sezer S, McWilliams G, et al. A new android malware detection approach using bayesian classification[C]//2013 IEEE 27th international conference on advanced information networking and applications (AINA). IEEE, 2013: 121-128.
[5] Faruki P, Bhandari S, Laxmi V, et al. DroidAnalyst: Synergic App Framework for Static and Dynamic App Analysis[M]// Recent Advances in Computational Intelligence in Defense and Security. 2016.
[6]王櫟漢.一種新型自適應(yīng)惡意代碼抗混淆模型研究[D].北京工業(yè)大學(xué),2018.