景鴻理 ,黃 娜 ,2,李建國(guó)
(1.北京天融信科技有限公司,北京 100085;2.北京工業(yè)大學(xué),北京 100124)
惡意軟件是計(jì)算機(jī)與網(wǎng)絡(luò)領(lǐng)域不可避免的一項(xiàng)安全風(fēng)險(xiǎn),也是安全研究者聚焦的研究熱點(diǎn)之一。用戶的隱私數(shù)據(jù)、個(gè)人信息及財(cái)產(chǎn),都是惡意軟件攻擊的目標(biāo)[1]。惡意軟件自身的一些特性為檢測(cè)提供了可能性和有利條件,安全研究人員提出了很多檢測(cè)分析方法來(lái)遏制、打擊惡意軟件的發(fā)展勢(shì)頭。計(jì)算機(jī)技術(shù)高速發(fā)展,不僅為人們的日常生活和工作帶來(lái)了便利,也促使黑客的攻擊手段和技術(shù)不斷提高,使得惡意軟件變得更加多元化,而且利用無(wú)線網(wǎng)絡(luò)、局域網(wǎng)絡(luò)、可移動(dòng)設(shè)備等多種傳播渠道快速傳播,數(shù)量與日俱增,傳統(tǒng)的基于特征庫(kù)匹配等技術(shù)顯得效率不足[2]。因此,研究者逐漸趨向于使用機(jī)器學(xué)習(xí)技術(shù),來(lái)應(yīng)對(duì)惡意軟件難以預(yù)測(cè)的變種和日益龐大的數(shù)量[3]。
目前已經(jīng)有許多機(jī)器學(xué)習(xí)技術(shù)和框架被研究提出,應(yīng)用于惡意軟件檢測(cè),起到了非常可觀的效果 。根 據(jù) SGANDURRA D 等[4]在 2016年的 調(diào) 研 ,使用機(jī)器學(xué)習(xí)技術(shù)的靜態(tài)檢測(cè)方法準(zhǔn)確率達(dá)到90%以上,動(dòng)態(tài)檢測(cè)方法準(zhǔn)確率能夠達(dá)到96%以上,經(jīng)過(guò)近幾年的繼續(xù)發(fā)展,此類方法的性能得到了進(jìn)一步提高?;跈C(jī)器學(xué)習(xí)技術(shù)建立智能化檢測(cè)模型,形成阻斷惡意軟件的一道防線,是技術(shù)突破與市場(chǎng)拓展的一個(gè)新方向,具有重要的研究意義和應(yīng)用價(jià)值。
本文總結(jié)了基于機(jī)器學(xué)習(xí)的惡意軟件檢測(cè)方法的一般流程,回顧現(xiàn)有的研究成果;分別對(duì)結(jié)構(gòu)化特征相關(guān)方法以及序列化特征相關(guān)方法進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)合實(shí)驗(yàn)結(jié)果分析討論各類方法的適用場(chǎng)景以及面臨的挑戰(zhàn),最后指出進(jìn)一步研究方向。
本節(jié)簡(jiǎn)要介紹惡意軟件檢測(cè)方法的相關(guān)基礎(chǔ),從靜態(tài)和動(dòng)態(tài)兩個(gè)角度闡述不同的特征, 為分析機(jī)器學(xué)習(xí)方法作鋪墊,并總結(jié)機(jī)器學(xué)習(xí)檢測(cè)方法的一般流程。
根據(jù)角度的不同,惡意軟件檢測(cè)方法分為靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)兩種類型,下面介紹這兩類方法,闡述存在的區(qū)別和各自的優(yōu)缺點(diǎn)。
(1)靜態(tài)檢測(cè)方法
圖1 Windows 系統(tǒng)下PE 文件的結(jié)構(gòu)
Windows 系統(tǒng)下的可移植可執(zhí)行 (Portable Exe cutable,PE)文件有統(tǒng)一的結(jié)構(gòu)和存儲(chǔ)數(shù)據(jù)的方式, 主要包含匯編指令、圖像、文本等數(shù)據(jù),以及程序運(yùn)行所需的元數(shù)據(jù)。圖 1 展示了 PE 文件的結(jié)構(gòu),由一系列的頭部(Header)及節(jié)(Section)組 成 。PE 頭 定 義 程 序的一般屬性,如目標(biāo)系統(tǒng)、創(chuàng)建時(shí)間戳、二進(jìn)制代碼屬性、圖像屬性等??蛇x頭定義 PE 文件程序入口點(diǎn)的位置、加載數(shù)據(jù)的大小以及其他有關(guān)程序的高級(jí)信息。程序入口點(diǎn)是逆向工程中重要的基礎(chǔ)。節(jié)頭描述了PE 文件中各個(gè)節(jié)的屬性,如節(jié)的名稱、大小、程序?yàn)榭勺x或可寫或可執(zhí)行的標(biāo)記等。節(jié)則是在程序加載時(shí)被映射到內(nèi)存的具體內(nèi)容,節(jié)的名稱可以自定義,如.text 節(jié)可用于存放可執(zhí)行代碼,.idata 節(jié)可用于列出導(dǎo)入的動(dòng)態(tài)鏈接庫(kù) (Dynamic Link Library,DLL) 及函數(shù),.rsrc、.data及.rdata 節(jié)可用于存放圖像、音頻等多媒體數(shù)據(jù)。
惡意軟件的靜態(tài)檢測(cè)方法,即根據(jù)PE 文件本身所包含的信息做出分析。PE 文件通常為二進(jìn)制數(shù)據(jù)形式,不能直接獲取以上內(nèi)容信息,而且惡意軟件往往采取加密、加殼等手段,需要進(jìn)行解密、脫殼以及解析之后,才能獲取具體內(nèi)容。加密、加殼和混淆等,也是靜態(tài)檢測(cè)方法最主要的阻礙。與動(dòng)態(tài)檢測(cè)方法相比,此類方法不需要在特定環(huán)境下運(yùn)行可執(zhí)行文件,避免了可能產(chǎn)生的風(fēng)險(xiǎn),更加易于實(shí)施。
(2)動(dòng)態(tài)檢測(cè)方法
惡意軟件在運(yùn)行時(shí)會(huì)做出各類威脅行為,包括修改文件系統(tǒng)(如寫入設(shè)備驅(qū)動(dòng)程序、更改系統(tǒng)配置文件)、修改注冊(cè)表(如修改注冊(cè)表鍵值、更改防火墻設(shè)置)、網(wǎng)絡(luò)行為(如解析域名、發(fā)出 HTTP 請(qǐng)求)等。動(dòng)態(tài)檢測(cè)是在獨(dú)立、安全的沙箱(Sandbox)環(huán)境中運(yùn)行PE 文件,通過(guò)行為分析來(lái)判定其是否為惡意軟件。動(dòng)態(tài)檢測(cè)通常與可視化技術(shù)相結(jié)合,便于分析動(dòng)態(tài)行為軌跡。
動(dòng)態(tài)檢測(cè)技術(shù)不受加殼、混淆等的限制,能夠更加直接地分析PE 文件行為特征,但也并非沒(méi)有缺陷,動(dòng)態(tài)檢測(cè)的效率較低、部署困難,而且一些惡意軟件能夠察覺(jué)所處的運(yùn)行條件或計(jì)算環(huán)境,從而逃逸檢測(cè)[5]。
基于機(jī)器學(xué)習(xí)的惡意代碼檢測(cè)方法關(guān)鍵在于特征和算法的選擇。靜態(tài)特征和動(dòng)態(tài)特征都可用于機(jī)器學(xué)習(xí),但無(wú)關(guān)特征和噪聲特征會(huì)影響模型的準(zhǔn)確性。利用數(shù)據(jù)挖掘選擇數(shù)據(jù)、特征,再結(jié)合機(jī)器學(xué)習(xí)技術(shù)完成檢測(cè),是現(xiàn)有研究中常見(jiàn)的解決方案,一般分為四個(gè)步驟:數(shù)據(jù)準(zhǔn)備,特征提取及特征選擇,訓(xùn)練機(jī)器學(xué)習(xí)模型,獲取檢測(cè)結(jié)果,流程如圖2所示。特征提取分為靜態(tài)特征(如 PE 頭特征、二進(jìn)制內(nèi)容特征等)以及動(dòng)態(tài)特征(如 API 調(diào)用特征、系統(tǒng)修改特征和網(wǎng)絡(luò)行為特征等)。然后選擇一種機(jī)器學(xué)習(xí)算法,使用提取的特征集合訓(xùn)練模型。
圖2 基于機(jī)器學(xué)習(xí)的惡意軟件檢測(cè)一般流程
機(jī)器學(xué)習(xí)模型是通過(guò)計(jì)算目標(biāo)分配到不同類別的概率來(lái)完成分類任務(wù),應(yīng)當(dāng)首先檢測(cè)PE 文件是否為惡意,通過(guò)分類模型將目標(biāo)文件歸類為惡意或良性,然后才能對(duì)確定為惡意的PE 文件進(jìn)行族群分類。在惡意軟件檢測(cè)中常用的機(jī)器學(xué)習(xí)算法有距離類算法、樹(shù)模型以及深度神經(jīng)網(wǎng)絡(luò),總結(jié)如下:
(1)K-means 是一種無(wú)監(jiān)督的聚類算法,將每個(gè)樣本歸類到距離最近的質(zhì)心的類別,核心在于選取及優(yōu)化質(zhì)心。趙中軍等[6]通過(guò)優(yōu)化的 K-means 算法,快速有效地識(shí)別出惡意軟件;張瑩等[7]解決了傳統(tǒng)K-means 選擇初始質(zhì)心不穩(wěn)定的問(wèn)題, 提出一種基于PSO-K-means 的惡意代碼檢測(cè)方法。
(2)SVM 是在數(shù)據(jù)的特征空間中尋找一個(gè)或多個(gè)最優(yōu)超平面,將數(shù)據(jù)劃分成不同類別,可以處理分類及回歸問(wèn)題。在惡意軟件變種檢測(cè)[8]、Android惡意軟件檢測(cè)[9]、網(wǎng)絡(luò)惡意程序檢測(cè)[10]、惡意 PDF檢測(cè)[11]中有相關(guān)應(yīng)用。
(3)決策樹(shù)是樹(shù)形結(jié)構(gòu)的機(jī)器學(xué)習(xí)模型,發(fā)展出許多具體的算法,如 ID3、C4.5、Cart,以及以 Cart 為基礎(chǔ)的隨機(jī)森林以及梯度提升決策樹(shù)(Gradient Boosting Decision Tree,GBDT)等。決策樹(shù)算法是目前應(yīng)用中準(zhǔn)確性相對(duì)較高的一種方法,楊宏宇等[12]提出的改進(jìn)隨機(jī)森林算法在惡意軟件檢測(cè)實(shí)驗(yàn)中準(zhǔn)確率達(dá)到 98%,ANDERSON H S 等[13]使用 LightGBM 算法在 Ember 2017 數(shù)據(jù)集上實(shí)驗(yàn)AUC 達(dá)到了99.91%。
(4)深度學(xué)習(xí)包括全連接神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)以及循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等不同的結(jié)構(gòu),與淺層機(jī)器學(xué)習(xí)算法相比,需要學(xué)習(xí)的參數(shù)數(shù)量更多,但模型能夠從輸入的數(shù)據(jù)中自動(dòng)學(xué)習(xí)不同層次的特征,避免了人工提取的過(guò)程。目前硬件計(jì)算能力的大幅提高,使得深度學(xué)習(xí)的普及成為可能,逐漸步入人們的視野。在惡意軟件檢測(cè)中,CNN、RNN以及兩者的結(jié)合應(yīng)用較多,PE 文件的二進(jìn)制字節(jié)內(nèi)容可以直接作為深度神經(jīng)網(wǎng)絡(luò)的輸入[14],也可以提取序列化的特征作為輸入[15~18]。
表1 調(diào)研了 2012年至今的相關(guān)研究, 其中LightGBM[13]和幾種深度學(xué)習(xí)方法[14-18]具有不錯(cuò)的表現(xiàn)。研究[19]、[20]為傳統(tǒng)的相似性匹配方法,分別采用了靜態(tài)特征和動(dòng)態(tài)特征,通過(guò)計(jì)算相似性區(qū)分惡意軟件族群。毛蔚軒等[22]為了解決惡意軟件數(shù)量有限的問(wèn)題,提出一種基于最小化估計(jì)風(fēng)險(xiǎn)的主動(dòng)學(xué)習(xí)方法,不斷地從未標(biāo)記樣本中尋找小風(fēng)險(xiǎn)樣本,以預(yù)測(cè)標(biāo)簽作為標(biāo)記,使可學(xué)習(xí)的樣本數(shù)量增加。樣本不足限制著機(jī)器學(xué)習(xí)技術(shù)的應(yīng)用,該方法為解決此問(wèn)題提供了一種思路。
表1 相關(guān)研究總結(jié)
本節(jié)區(qū)分結(jié)構(gòu)化特征及序列化特征,對(duì)RF、LightGBM、SVM、K-means 等幾種常用的機(jī)器學(xué)習(xí)方法及深度學(xué)習(xí)方法DNN、CNN、RNN 進(jìn)行分析驗(yàn)證。通過(guò)建立分類模型區(qū)分惡意軟件與良性軟件,對(duì)比不同方法的測(cè)試性能,結(jié)合實(shí)驗(yàn)結(jié)果分析討論。
2018年,網(wǎng)絡(luò)安全公司Endgame 公開(kāi)發(fā)布了Ember數(shù)據(jù)集,希望促進(jìn)機(jī)器學(xué)習(xí)技術(shù)在惡意軟件檢測(cè)中的研究進(jìn)展及應(yīng)用,按照樣本的出現(xiàn)時(shí)間,目前包括 Ember 2017 和 Ember 2018 兩個(gè)部分,表 2 展示了數(shù)據(jù)集的樣本數(shù)量及類別。發(fā)布者(Endgame)保證,所收集的惡意樣本在VirusTotal 上有多個(gè)檢測(cè)引擎將其標(biāo)記為惡意,同時(shí)良性樣本在截至到收集時(shí)間為止未出現(xiàn)惡意標(biāo)記。本節(jié)使用該數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),另外收集了 2019年間的 7 994 個(gè)惡意樣本和7 158 個(gè)良性樣本,對(duì)幾種主要的方法進(jìn)行驗(yàn)證對(duì)比。
表2 Ember 數(shù)據(jù)集情況
本文實(shí)驗(yàn)環(huán)境如下:硬件環(huán)境為Windows10 系統(tǒng),i7-8565U CPU@1.8 GHz,RAM 16.0 GB;軟件環(huán)境為 Python 3.5,sklearn 0.20.3 以及其他工具包。
過(guò)濾掉數(shù)據(jù)集中的未知樣本,使用惡意樣本(標(biāo)記為1)和良性樣本(標(biāo)記為 0)作為訓(xùn)練數(shù)據(jù)。根據(jù)提取特征角度的不同,本文將現(xiàn)有方法中使用的特征分為結(jié)構(gòu)化特征和序列化特征兩種類型。結(jié)構(gòu)化特征是指從樣本中直接提取的、具有維度意義的特征,包括解析特征、統(tǒng)計(jì)特征等。序列化特征是指根據(jù)樣本的字節(jié)流、DLL 序列以及反匯編指令序列,間接提取的 n-gram 特征、語(yǔ)義特征[24]等。
首先對(duì)結(jié)構(gòu)化特征相關(guān)方法進(jìn)行試驗(yàn)驗(yàn)證。按照 ANDERSON H S 等[13]的方法提取了樣本的解析特征和二進(jìn)制字節(jié)特征。在結(jié)構(gòu)化特征的應(yīng)用中,樹(shù)模型的性能通常優(yōu)于其他類型算法,因此下一小節(jié)著重分析 RF 和 LightGBM 模型的泛化能力,另外與 SVM、K-means 和 CNN 算法進(jìn)行對(duì)比。
(1)RF
按照3:1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,使用對(duì)數(shù)損失(Binary-log loss)作為損失函數(shù)訓(xùn)練隨機(jī)森林模型。訓(xùn)練完成的模型分別命名為“rf2017”和“rf2018”。
(2)LightGBM
按照3:1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,使用對(duì)數(shù)損失(Binary-log loss)作為損失函數(shù)訓(xùn)練梯度提升決策樹(shù)模型。經(jīng)過(guò)參數(shù)優(yōu)化,訓(xùn)練得到的模型分別命名為“l(fā)gbm2017”和“l(fā)gbm2018”。
其次,對(duì)序列化特征相關(guān)方法進(jìn)行實(shí)驗(yàn)驗(yàn)證。本文提取 PE 文件匯編指令的 n-gram(n=3)特征,分別應(yīng)用前饋神經(jīng)網(wǎng)絡(luò)(DNN)、遞歸神經(jīng)網(wǎng)絡(luò)(RNN)以及卷積神經(jīng)網(wǎng)絡(luò)(CNN)三種深度學(xué)習(xí)算法。Ember數(shù)據(jù)集未提供原始的PE 樣本,僅包含特征數(shù)據(jù),不能反匯編PE 文件獲得指令集,因此使用自行收集的2019年間的樣本集作為實(shí)驗(yàn)數(shù)據(jù),包含7 994 個(gè)惡意樣本和7 158 個(gè)良性樣本。
(1)DNN
按照4:1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,構(gòu)建具有5 個(gè)前饋全連接層的網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練分類模型。
(2)RNN
按照4:1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,構(gòu)建具有 2 個(gè)遞歸層、1 個(gè)全連接層的網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練分類模型。
(3)CNN
按照4:1 的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,構(gòu)建具有2 個(gè)卷積層、2 個(gè)最大池化層以及 1個(gè)全連接層的網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練分類模型。
使用 ROC 曲線、AUC(Area Under the Curve)評(píng)價(jià)模型對(duì)閾值的敏感性和穩(wěn)定性,在閾值確定的情況下,使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)以及 F1-值(F1_score)評(píng)價(jià)模型的性能。用TP、FP、TN、FN 分別表示真正例、假正例、真負(fù)例、假負(fù)例的數(shù)量,各項(xiàng)指標(biāo)的計(jì)算如式(1)~式(4)。
將四個(gè)使用結(jié)構(gòu)化特征的模型在Ember 2017 測(cè)試集、Ember 2018 測(cè)試集以及 2019年樣本集上進(jìn)行交叉檢驗(yàn)。圖3 展示了性能評(píng)估的結(jié)果,在閾值取0.5 時(shí) 計(jì) 算 Accuracy、Precision、Recall 以及 F1_score,其中,圖(a)和圖(c)為“rf2017”和“rf2018”的測(cè)試結(jié)果,圖(b)和圖(d)為“l(fā)gbm2017”和“l(fā)gbm2018”的測(cè)試結(jié)果。根據(jù)整體對(duì)比,本文得出如下結(jié)論:
(1)所有模型在 Ember 2017 測(cè)試集上的性能均優(yōu)于其在 Ember 2018 測(cè)試集上的性能。據(jù)發(fā)布者(Endgame)聲明,在收集 2018年惡意軟件樣本時(shí),有目的地增加了檢測(cè)難度,因此在本實(shí)驗(yàn)中產(chǎn)生了這一對(duì)比結(jié)果,也反映出基于機(jī)器學(xué)習(xí)的檢測(cè)方法仍然會(huì)受到惡意軟件本身檢測(cè)難度的影響。
圖3 RF 和 LightGBM 模型的性能評(píng)估
(2)對(duì)比 Accuracy、Precision、Recall 以及 F1_score,可 以 看 出 , 在 Ember 2017 測(cè) 試 集 上 , “ rf2017 ” 和“l(fā)gbm2017”性能優(yōu)于“rf2018”和“l(fā)gbm2018”;在 Ember 2018 測(cè)試集上,結(jié)果反之。這一結(jié)果說(shuō)明訓(xùn)練數(shù)據(jù)的覆蓋情況會(huì)對(duì)模型性能產(chǎn)生影響,模型的檢測(cè)能力依賴于對(duì)訓(xùn)練數(shù)據(jù)的學(xué)習(xí),使訓(xùn)練數(shù)據(jù)盡可能全面地涵蓋不同類型的樣本,應(yīng)能夠增強(qiáng)模型的泛化能力。
(3)對(duì)比圖(a)和圖(b),兩種算法在 Ember 2017測(cè)試集上 AUC 均達(dá)到 1,在 Ember 2018 測(cè)試集上LightGBM 的 AUC 略高于 RF,圖(c)和圖(d)中其它指標(biāo)的對(duì)比也表明LightGBM 具有更好的性能。
(4)所有模型在2019年樣本集上平均檢測(cè)準(zhǔn)確率為 80%左右,與 2017 和 2018年測(cè)試集上的準(zhǔn)確率相比降低了約20%,說(shuō)明檢測(cè)模型不足以應(yīng)對(duì)樣本(包括惡意樣本和良性樣本)的演變,例如惡意功能增強(qiáng)、對(duì)抗檢測(cè)等。因此模型的后期維護(hù)十分重要,訓(xùn)練集應(yīng)定期更新,另一方面,有待進(jìn)一步研究更加魯棒的檢測(cè)方法。
在Ember 2017 數(shù)據(jù)集上實(shí)驗(yàn)使用了SVM(Linear svc)、K-means 和 CNN,各類算法模型準(zhǔn)確率的對(duì)比如圖4 所示。深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理及其他領(lǐng)域有廣泛、優(yōu)良的應(yīng)用,前饋神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)以及卷積神經(jīng)網(wǎng)絡(luò)等,分析處理序列化數(shù)據(jù)非常具有優(yōu)勢(shì)。PE 文件的二進(jìn)制數(shù)據(jù)流也可以作為一種序列化數(shù)據(jù), 進(jìn)而應(yīng)用深度學(xué)習(xí)算法,如文獻(xiàn)[14]直接將二進(jìn)制數(shù)據(jù)形式的PE 文件作為 CNN 模型的輸入,取得了 95%的準(zhǔn)確率,在未知數(shù)據(jù)中測(cè)試的準(zhǔn)確率為65%至80%。然而,由于模型輸入尺寸固定的限制,該方法只能截取PE 文件中固定大小的二進(jìn)制數(shù)據(jù)流, 不能獲取到完整的信息。本文在應(yīng)用 CNN 模型時(shí),間接采用結(jié)構(gòu)化特征,將每個(gè)維度的特征看作灰度圖中一個(gè)像素。此類方法雖然避免了輸入尺寸不統(tǒng)一以及信息損失的問(wèn)題,但限制了深度神經(jīng)網(wǎng)絡(luò)應(yīng)對(duì)序列化數(shù)據(jù)的優(yōu)勢(shì)。實(shí)驗(yàn)結(jié)果也表明,在本應(yīng)用中樹(shù)模型的表現(xiàn)最佳。
圖4 不同算法的準(zhǔn)確性對(duì)比
使用匯編指令序列化特征的三類深度學(xué)習(xí)算法模型,在測(cè)試集上的性能評(píng)估結(jié)果如圖5 所示,同時(shí)也應(yīng)用了LightGBM 算法作為對(duì)比,本文中的CNN 模型優(yōu)于 DNN 和 RNN,AUC 值為 92%,仍然低于 LightGBM 模型。本文中的實(shí)驗(yàn)均為靜態(tài)檢測(cè)場(chǎng)景,未涉及動(dòng)態(tài)檢測(cè)方法,而動(dòng)態(tài)運(yùn)行中的指令序列、API 調(diào)用序列應(yīng)當(dāng)比靜態(tài) PE 文件中的序列化特征更加具有檢測(cè)意義。結(jié)合實(shí)驗(yàn)結(jié)果,可以得出如下結(jié)論:在靜態(tài)檢測(cè)中使用結(jié)構(gòu)化特征,提升樹(shù)模型為較優(yōu)選擇;深度學(xué)習(xí)方法更加適用于在動(dòng)態(tài)檢測(cè)場(chǎng)景中,使用指令運(yùn)行、API 調(diào)用等序列化特征。
本文的主要工作總結(jié)如下:(1)回顧總結(jié)了領(lǐng)域內(nèi)的研究進(jìn)展,梳理現(xiàn)有方法,為后續(xù)開(kāi)展深入的研究提供基礎(chǔ);(2)對(duì)幾類不同的方法做了實(shí)驗(yàn)驗(yàn)證,在不同的測(cè)試數(shù)據(jù)上交叉檢驗(yàn),其中,LightGBM 測(cè)試的平均準(zhǔn)確率達(dá)到97.06%,平均AUC 值達(dá)到99.25%,另外與SVM、K-means 和深度學(xué)習(xí)算法等對(duì)比,結(jié)果表明LightGBM 算法模型具有較好的性能。
經(jīng)過(guò)調(diào)研及實(shí)驗(yàn),本文指出機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于惡意軟件檢測(cè)所面臨的挑戰(zhàn)及下一步研究方向:(1)訓(xùn)練樣本不足會(huì)影響模型的實(shí)際檢測(cè)性能,由于涉及法律法規(guī)、隱私及利益,能夠獲取的惡意軟件樣本十分有限。下一步將根據(jù)不同的類型,全面收集具有典型性的惡意軟件樣本,完善訓(xùn)練數(shù)據(jù),以增強(qiáng)模型的泛化能力。(2)靜態(tài)特征和動(dòng)態(tài)特征的類型廣泛,應(yīng)用無(wú)關(guān)特征和噪聲特征不僅會(huì)消耗計(jì)算資源,還會(huì)干擾模型對(duì)重要特征的學(xué)習(xí)。因此,將研究混合特征的挖掘和選擇方法,使模型性能進(jìn)一步提升。(3)模型結(jié)構(gòu)過(guò)于復(fù)雜,參數(shù)過(guò)多,會(huì)產(chǎn)生一定的部署困難。研究模型結(jié)構(gòu)復(fù)雜度與準(zhǔn)確性之間的平衡,能夠促進(jìn)機(jī)器學(xué)習(xí)方法在本領(lǐng)域的應(yīng)用進(jìn)展。