摘 要:針對(duì)傳統(tǒng)靜態(tài)分析方法很難捕捉到惡意軟件復(fù)雜多變的動(dòng)態(tài)行為問(wèn)題,實(shí)驗(yàn)基于動(dòng)態(tài)特征分析技術(shù),通過(guò)研究八種常見(jiàn)惡意軟件的WindowsAPI調(diào)用序列,發(fā)現(xiàn)了API調(diào)用序列的前后順序和調(diào)用頻率會(huì)直接反映惡意軟件的惡意行為,實(shí)驗(yàn)使用TF-IDF技術(shù)將API調(diào)用序列向量化,設(shè)計(jì)基于CNN-BiLSTM雙流融合網(wǎng)絡(luò)的深度學(xué)習(xí)模型對(duì)這種API調(diào)用的前后依賴關(guān)系進(jìn)行建模,實(shí)現(xiàn)對(duì)常見(jiàn)惡意軟件的動(dòng)態(tài)檢測(cè)。實(shí)驗(yàn)結(jié)果表明,該模型的測(cè)試準(zhǔn)確率達(dá)到了95.99%,優(yōu)于RF、SVM、LSTM、BiLSTM和CNN-LSTM模型,為惡意軟件的檢測(cè)提供了借鑒參考。
關(guān)鍵詞:API調(diào)用序列;動(dòng)態(tài)檢測(cè);深度學(xué)習(xí);特征表示
中圖分類號(hào):TP311.5;TP309 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2024)08-0177-06
DOI:10.19850/j.cnki.2096-4706.2024.08.038
0 引 言
隨著互聯(lián)網(wǎng)和計(jì)算機(jī)設(shè)備的普及,網(wǎng)絡(luò)安全越來(lái)越受到人們的重視和關(guān)注。根據(jù)國(guó)家互聯(lián)網(wǎng)應(yīng)急中心發(fā)布的網(wǎng)絡(luò)安全報(bào)告[1],2021年上半年我國(guó)境內(nèi)感染計(jì)算機(jī)惡意程序的主機(jī)數(shù)量約446萬(wàn)臺(tái),同比增長(zhǎng)46.8%,位于境外的約4.9萬(wàn)臺(tái)計(jì)算機(jī)惡意程序控制服務(wù)器控制我國(guó)境內(nèi)約410萬(wàn)臺(tái)主機(jī),給國(guó)家、社會(huì)及個(gè)人帶來(lái)了巨大的財(cái)產(chǎn)損失。因此,如何快速準(zhǔn)確地檢測(cè)和識(shí)別惡意軟件成為網(wǎng)絡(luò)安全領(lǐng)域的一個(gè)關(guān)鍵任務(wù)。
目前,靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)是進(jìn)行惡意軟件特征分析的兩種主流方法[2]。靜態(tài)檢測(cè)是指通過(guò)對(duì)惡意軟件代碼進(jìn)行靜態(tài)分析,即在不運(yùn)行程序的情況下從代碼層面提取靜態(tài)特征進(jìn)行惡意軟件的識(shí)別和檢測(cè)。動(dòng)態(tài)檢測(cè)是指通過(guò)運(yùn)行惡意軟件實(shí)時(shí)監(jiān)測(cè)程序的運(yùn)行狀態(tài)和行為,再通過(guò)提取動(dòng)態(tài)特征來(lái)檢測(cè)惡意軟件的惡意行為。
近年來(lái),基于動(dòng)態(tài)行為分析的惡意軟件識(shí)別逐漸成為發(fā)展趨勢(shì),其主要思想是通過(guò)監(jiān)測(cè)和分析惡意軟件在運(yùn)行時(shí)所調(diào)用的系統(tǒng)API接口,提取相應(yīng)的動(dòng)態(tài)特征并利用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法對(duì)惡意軟件進(jìn)行分類和檢測(cè)。相比于傳統(tǒng)基于簽名匹配和啟發(fā)式規(guī)則的檢測(cè)方法,該技術(shù)具有不依賴于病毒庫(kù)、可檢測(cè)未知攻擊、難以被繞過(guò)等優(yōu)勢(shì),可以有效提高惡意軟件檢測(cè)的準(zhǔn)確率[3]。
針對(duì)上述問(wèn)題,本文通過(guò)使用在沙箱中運(yùn)行軟件提取出的WindowsAPI調(diào)用序列,將API調(diào)用序列用TF-IDF(Term Frequency–Inverse Document Frequency)詞向量表示模型轉(zhuǎn)化為高維向量,最后使用CNN-BiLSTM雙流融合網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行詞向量訓(xùn)練,從而實(shí)現(xiàn)識(shí)別惡意軟件的目的。本文的核心內(nèi)容如下:
1)根據(jù)惡意軟件在API調(diào)用序列的前后順序和調(diào)用頻率中存在的特定依賴關(guān)系,提出一種使用雙流融合網(wǎng)絡(luò)模型(CNN-BiLSTM)對(duì)惡意軟件進(jìn)行分類的方法,將惡意軟件檢測(cè)建模為文本分類問(wèn)題,通過(guò)實(shí)驗(yàn)驗(yàn)證了模型的準(zhǔn)確性。
2)通過(guò)實(shí)驗(yàn)對(duì)比了基于API調(diào)用頻率和TF-IDF詞向量這兩種表征方法的分類性能,實(shí)驗(yàn)結(jié)果表明采用TF-IDF詞向量的API序列表征方法具有更好的分類性能。
1 相關(guān)工作
現(xiàn)如今,基于機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的惡意軟件檢測(cè)逐漸成為主流方法。其主要過(guò)程如圖1所示,首先對(duì)惡意軟件和良性軟件進(jìn)行靜態(tài)或動(dòng)態(tài)分析,然后選擇合適的表征方法將特征向量化,通過(guò)訓(xùn)練分類模型檢測(cè)惡意軟件。
1.1 靜態(tài)檢測(cè)
對(duì)于通過(guò)靜態(tài)特征分析檢測(cè)惡意軟件而言,大多數(shù)的研究是從可執(zhí)行文件中提取出惡意軟件的靜態(tài)特征,例如API調(diào)用序列、操作碼序列和字節(jié)序列。Ye等人[4]開(kāi)發(fā)了基于可解釋性字符串的惡意軟件檢測(cè)系統(tǒng),可解釋的字符串包含應(yīng)用API調(diào)用序列和反映攻擊者意圖和目標(biāo)的重要語(yǔ)義字符串,可通過(guò)使用集成學(xué)習(xí)Bagging對(duì)文件樣本進(jìn)行分類并預(yù)測(cè)惡意軟件的確切類型。Ding等人[5]將惡意軟件表示為操作碼序列并使用DBN模型進(jìn)行檢測(cè),與其他常用分類算法SVM、KNN、DT相比,DBN的性能最好。Ding等人[6]提出一種用于提取可執(zhí)行文件中操作碼行為特征的基于控制流的方法,通過(guò)該方法提取的行為能夠完整地表征可執(zhí)行文件的行為特征,實(shí)驗(yàn)結(jié)果表明,所提出的基于控制流的方法具有更高的準(zhǔn)確率和更低的誤報(bào)率。Raff等人[7]使用惡意軟件完整的字節(jié)序列作為特征,通過(guò)詞嵌入技術(shù)將字節(jié)序列表示為固定長(zhǎng)度的向量作為卷積神經(jīng)網(wǎng)絡(luò)的輸入來(lái)進(jìn)行惡意軟件的檢測(cè)。Saxe等人[8]使用PE文件信息、可閱讀字符串和字節(jié)序列作為特征,并使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行惡意軟件分類。Santos等人[9]將操作序列碼出現(xiàn)的頻率用作特征來(lái)對(duì)惡意軟件進(jìn)行檢測(cè)和分類。Kumar等人[10]使用PE文件頭中各個(gè)字段的原始值和派生值作為集成特征建立一個(gè)基于特征的集成模型,實(shí)驗(yàn)表明使用集成特征集的模型分類性能明顯優(yōu)于使用原始特征集的模型分類性能。Jeon等人[11]使用從二進(jìn)制文件中提取的操作碼序列作為特征,通過(guò)構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行惡意軟件的識(shí)別與檢測(cè),實(shí)驗(yàn)表明該模型的檢測(cè)精度達(dá)到了96%。
隨著惡意軟件技術(shù)的不斷改進(jìn),惡意軟件開(kāi)發(fā)者通過(guò)使用各種技術(shù)來(lái)混淆和加密其代碼,以此逃避靜態(tài)檢測(cè),所以說(shuō)靜態(tài)檢測(cè)方法在惡意軟件檢測(cè)上存在一定的局限性。
1.2 動(dòng)態(tài)檢測(cè)
對(duì)于通過(guò)動(dòng)態(tài)特征分析檢測(cè)惡意軟件而言,很多研究是將惡意軟件放在沙箱中運(yùn)行的,基于沙箱動(dòng)態(tài)來(lái)分析惡意軟件的行為特征。Huang等人[12]提出一種新的多任務(wù)前饋神經(jīng)網(wǎng)絡(luò),使用API調(diào)用序列作為特征用于惡意軟件的分類任務(wù),該系統(tǒng)接受了450萬(wàn)個(gè)文件的訓(xùn)練,并在200萬(wàn)個(gè)文件的保留測(cè)試集上進(jìn)行了測(cè)試,實(shí)現(xiàn)了0.358%的錯(cuò)誤率。Qiao等人[13]使用Cuckoo沙箱來(lái)捕獲惡意軟件在Windows系統(tǒng)中的API調(diào)用序列,引入了基于API調(diào)用序列頻繁項(xiàng)集的惡意軟件二進(jìn)制文件聚類方法。在大型惡意軟件數(shù)據(jù)集上的實(shí)驗(yàn)表明,僅使用API調(diào)用序列的頻繁項(xiàng)集就可以在顯著減少計(jì)算時(shí)間的同時(shí)達(dá)到較高的惡意軟件聚類精度。Tian等人[14]使用一個(gè)在虛擬環(huán)境中運(yùn)行的自動(dòng)化工具從可執(zhí)行文件中提取API調(diào)用序列,然后應(yīng)用模式識(shí)別算法和統(tǒng)計(jì)方法對(duì)惡意軟件進(jìn)行分類,在由1 368個(gè)惡意軟件和456個(gè)良性軟件構(gòu)成的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),分類準(zhǔn)確率超過(guò)97%。Liu等人[15]使用從cuckoo沙箱中提取出的惡意軟件API調(diào)用序列作為特征,并構(gòu)建BiLSTM模型進(jìn)行惡意軟件分類,實(shí)現(xiàn)了97.85%的準(zhǔn)確率。Catak等人[16]通過(guò)在隔離的沙箱環(huán)境中運(yùn)行分析惡意軟件并記錄API調(diào)用序列,使用文本分類中常用的LSTM算法將惡意軟件建模為文本分類問(wèn)題,模型的檢測(cè)準(zhǔn)確率高達(dá)95%。Li等人[17]使用API調(diào)用序列構(gòu)建基于馬爾科夫鏈的有序循環(huán)圖,然后使用圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)檢測(cè)惡意軟件,實(shí)驗(yàn)表明,該方法在大多數(shù)檢測(cè)中具有較好的性能,準(zhǔn)確率高達(dá)98.32%。
可以看出,與靜態(tài)檢測(cè)相比,動(dòng)態(tài)檢測(cè)方法是直接提取惡意軟件行為特征進(jìn)行分析,不存在代碼混淆和加密的問(wèn)題,更有利于辨別惡意軟件的惡意行為。
2 基于動(dòng)態(tài)行為的惡意軟件檢測(cè)
在惡意軟件的惡意性識(shí)別中深度學(xué)習(xí)技術(shù)表現(xiàn)出良好的效果?;谝延形谋痉诸惸P偷膮⒖迹緦?shí)驗(yàn)通過(guò)分析惡意軟件在沙箱中運(yùn)行時(shí)產(chǎn)生的API調(diào)用序列,發(fā)現(xiàn)了API調(diào)用序列的前后順序和調(diào)用頻率會(huì)直接反映惡意軟件的惡意行為,因此基于CNN-BiLSTM雙流融合網(wǎng)絡(luò)模型對(duì)API調(diào)用序列的這種前后依賴關(guān)系進(jìn)行建模,此模型既可以考慮到API調(diào)用概率的局部依賴關(guān)系,又可以考慮到API調(diào)用概率的長(zhǎng)期依賴關(guān)系,通過(guò)分析惡意軟件的API調(diào)用行為來(lái)進(jìn)行惡意軟件的識(shí)別。經(jīng)過(guò)對(duì)數(shù)據(jù)集的統(tǒng)計(jì),所有軟件共使用298種系統(tǒng)API調(diào)用函數(shù),如圖2所示,實(shí)驗(yàn)采用TF-IDF算法將API調(diào)用序列映射為一個(gè)固定長(zhǎng)度的向量,首先計(jì)算出原始API調(diào)用序列的字典,然后根據(jù)字典計(jì)算出每條API調(diào)用序列的詞頻向量,再根據(jù)詞頻向量計(jì)算出相應(yīng)位置的TF-IDF值,這樣就得到了最終的TF-IDF向量。
如圖3所示為實(shí)驗(yàn)的具體流程,API調(diào)用序列在經(jīng)過(guò)TF-IDF向量化后會(huì)形成一個(gè)298維的向量作為卷積層的輸入,首先經(jīng)過(guò)卷積層對(duì)API調(diào)用序列的局部依賴關(guān)系進(jìn)行提取,然后再經(jīng)過(guò)雙向長(zhǎng)短期記憶網(wǎng)絡(luò)層對(duì)API調(diào)用序列的長(zhǎng)期依賴關(guān)系進(jìn)行提取,最后經(jīng)過(guò)全連接層的映射形成最終的預(yù)測(cè)結(jié)果。此外,還選擇了五種模型作為對(duì)比模型,并比較了不同模型組合對(duì)分類結(jié)果的影響。這五種模型為隨機(jī)森林(RF)、支持向量機(jī)(SVM)、LSTM、BiLSTM和CNN-LSTM。
分別對(duì)模型中用到的網(wǎng)絡(luò)層結(jié)構(gòu)進(jìn)行介紹:
1)卷積層的作用是通過(guò)局部特征映射來(lái)提取輸入數(shù)據(jù)的重要特征,并將其映射為更低維度的表示形式。這樣做不僅可以減少數(shù)據(jù)的復(fù)雜性,還可以提供更具辨識(shí)度和判別性的特征,使得后續(xù)的長(zhǎng)短期記憶網(wǎng)絡(luò)能夠更好地處理和學(xué)習(xí)相關(guān)信息。
2)池化層一般接在卷積層之后,其本質(zhì)其實(shí)就是下采樣操作,可以有效減少數(shù)據(jù)的維度,這樣可以降低計(jì)算復(fù)雜度,從而防止過(guò)擬合,提高計(jì)算效率。
3)雙向LSTM層在特征處理中起著重要的作用。雙向LSTM層通過(guò)添加一個(gè)反向傳輸層來(lái)提取API調(diào)用序列的前后依賴關(guān)系和上下文信息,這樣的設(shè)計(jì)允許模型同時(shí)對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行正向和逆向的分析,從而更加全面地理解和利用序列中的信息。
4)隨機(jī)丟失層的作用是通過(guò)隨機(jī)丟棄一定比例的神經(jīng)元的輸出來(lái)減少神經(jīng)網(wǎng)絡(luò)中的過(guò)擬合現(xiàn)象。在訓(xùn)練過(guò)程中,Dropout層會(huì)隨機(jī)地將一些神經(jīng)元的輸出設(shè)置為零,這些被丟棄的神經(jīng)元會(huì)在下一次訓(xùn)練中隨機(jī)選擇另外一些神經(jīng)元進(jìn)行替換,從而提高模型的泛化能力。
5)全連接層連接上一層所有的節(jié)點(diǎn),通過(guò)學(xué)習(xí)適當(dāng)?shù)臋?quán)重參數(shù)來(lái)提取特征、映射輸入數(shù)據(jù)、引入非線性變換以及產(chǎn)生最終的預(yù)測(cè)結(jié)果。
3 實(shí)驗(yàn)結(jié)果分析
本節(jié)通過(guò)一系列的實(shí)驗(yàn)對(duì)CNN-BiLSTM雙流融合網(wǎng)絡(luò)模型以及其他機(jī)器學(xué)習(xí)模型進(jìn)行比較,分析卷積神經(jīng)網(wǎng)絡(luò)(CNN)和雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(BiLSTM)融合的優(yōu)勢(shì),并提出API序列調(diào)用頻率和TF-IDF詞向量這兩種表征方法的選擇建議。
3.1 實(shí)驗(yàn)數(shù)據(jù)集
本實(shí)驗(yàn)所采用的數(shù)據(jù)集由兩個(gè)公開(kāi)的數(shù)據(jù)集構(gòu)成:公開(kāi)數(shù)據(jù)集Mal-API-2019和阿里云天池安全算法挑戰(zhàn)賽所提供的公開(kāi)數(shù)據(jù)集。公開(kāi)數(shù)據(jù)集Mal-API-2019由7 107個(gè)8種不同惡意家族的惡意軟件在沙箱中運(yùn)行時(shí)提取的API調(diào)用序列構(gòu)成,這8種惡意家族分別為Spyware、Downloader、Trojan、Worms、Adware、Dropper、Virus和Backdoor。采用這7 107個(gè)惡意軟件的API調(diào)用序列作為本實(shí)驗(yàn)的惡意數(shù)據(jù)集。阿里云天池安全算法挑戰(zhàn)賽所提供的公開(kāi)數(shù)據(jù)集同樣也是由11萬(wàn)個(gè)良性軟件在沙箱中運(yùn)行時(shí)產(chǎn)生的API調(diào)用序列構(gòu)成。本實(shí)驗(yàn)從這些序列中清洗出7 005個(gè)序列作為本實(shí)驗(yàn)的良性數(shù)據(jù)集。綜上所述,本實(shí)驗(yàn)所采用的數(shù)據(jù)集由7 107個(gè)惡意軟件和7 005個(gè)良性軟件在沙箱中運(yùn)行時(shí)提取的API調(diào)用序列構(gòu)成,部分API調(diào)用序列如圖4所示,具體數(shù)據(jù)集構(gòu)成如表1所示。
3.2 實(shí)驗(yàn)結(jié)果分析
為了比較不同模型對(duì)惡意軟件的分類性能,本實(shí)驗(yàn)比較了RF、SVM、LSTM、BiLSTM、CNN-LSTM、CNN-BiLSTM這6種模型的準(zhǔn)確率性能。此外,本實(shí)驗(yàn)還選用API調(diào)用頻率和TF-IDF詞向量作為模型輸入,評(píng)估不同表征方法在惡意軟件分類上的性能表現(xiàn)。
實(shí)驗(yàn)結(jié)果分別展示了模型的準(zhǔn)確率、精確率、召回率、F1值四組數(shù)據(jù)。下面分別給出使用API調(diào)用頻率和TF-IDF詞向量作為模型輸入的實(shí)驗(yàn)結(jié)果。
從表2和表3的分類結(jié)果可以看出,CNN-BiLSTM雙流融合網(wǎng)絡(luò)模型相對(duì)于其他方法有更好的分類性能,在準(zhǔn)確率、精確率、召回率和F1值這四個(gè)指標(biāo)
上都優(yōu)于RF、SVM、LSTM、BiLSTM和CNN-LSTM
模型。CNN-BiLSTM雙流融合模型能夠?qū)r(shí)間序列進(jìn)行多粒度特征提取。CNN在卷積層中使用不同大小的濾波器,可以捕捉API調(diào)用序列中的多尺度特征,這些特征對(duì)于理解API調(diào)用序列局部結(jié)構(gòu)非常重要,而B(niǎo)iLSTM更擅長(zhǎng)建模長(zhǎng)期依賴關(guān)系,通過(guò)將CNN和BiLSTM相結(jié)合,CNN-BiLSTM能夠同時(shí)利用API調(diào)用序列的局部特征和全局特征,提取更豐富的特征表示,實(shí)現(xiàn)更好的惡意軟件檢測(cè)效果。
除了模型的準(zhǔn)確率指標(biāo)之外,實(shí)驗(yàn)還對(duì)API調(diào)用頻率和TF-IDF詞向量這兩種表征方法進(jìn)行了對(duì)比,圖3和圖4分別為API調(diào)用頻率在CNN-BiLSTM模型上的Accuracy值和Loss值,圖5和圖6分別為TF-IDF詞向量在CNN-BiLSTM模型上的Accuracy值和Loss值。
由圖5可以看出,基于API調(diào)用頻率特征表示的CNN-BiLSTM模型在經(jīng)過(guò)第53個(gè)Epochs時(shí)因?yàn)檫^(guò)擬合而停止了迭代,由圖6可以看出,基于TF-IDF詞向量特征表示的CNN-BiLSTM模型在經(jīng)過(guò)第38個(gè)Epochs時(shí)就已經(jīng)停止了迭代,可以說(shuō)明基于TF-IDF詞向量特征表示的模型比基于API調(diào)用頻率特征表示的模型擬合速度更快,且從圖5和圖6中Accuracy、Loss曲線來(lái)看,基于TF-IDF詞向量特征表示的模型比基于API調(diào)用頻率特征表示的模型在訓(xùn)練集和測(cè)試集上的差距要小,說(shuō)明基于TF-IDF詞向量特征表示的模型比基于API調(diào)用頻率特征表示的模型擬合效果要好。綜上所述,基于TF-IDF詞向量特征表示的方法更能夠體現(xiàn)API調(diào)用序列在前后順序和調(diào)用頻率上的依賴關(guān)系,能夠在使用API調(diào)用序列檢測(cè)惡意軟件的過(guò)程中達(dá)到更好的性能和表現(xiàn)。
4 結(jié) 論
本文探索了如何利用深度學(xué)習(xí)技術(shù)進(jìn)行動(dòng)態(tài)惡意軟件檢測(cè)。通過(guò)研究惡意軟件API動(dòng)態(tài)調(diào)用序列,引入CNN-BiLSTM雙流融合網(wǎng)絡(luò)模型對(duì)API調(diào)用序列的前后依賴關(guān)系進(jìn)行建模。實(shí)驗(yàn)結(jié)果表明,該方法能夠結(jié)合CNN和BiLSTM的優(yōu)點(diǎn),同時(shí)利用API調(diào)用序列的局部信息和全局信息進(jìn)行上下文建模,從而提高模型的表達(dá)能力。本文還對(duì)API調(diào)用頻率和TF-IDF詞向量這兩種表征方法進(jìn)行了對(duì)比,實(shí)驗(yàn)證明基于TF-IDF詞向量特征表示的方法更能夠體現(xiàn)API調(diào)用序列的統(tǒng)計(jì)特征,在惡意軟件動(dòng)態(tài)特征分類中的效果更好。后續(xù)的研究工作將會(huì)探究惡意軟件可視化檢測(cè)技術(shù),以更有效地檢測(cè)出新型的惡意代碼。
參考文獻(xiàn):
[1] 國(guó)家互聯(lián)網(wǎng)應(yīng)急中心.2021年上半年我國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全監(jiān)測(cè)數(shù)據(jù)分析報(bào)告[R/OL].[2023-07-23].https://www.cert.org.cn/publish/main/upload/File/first-half%20%20year%20cyberseurity%20report%202021.pdf.
[2] 王志文,劉廣起,韓曉暉,等.基于機(jī)器學(xué)習(xí)的惡意軟件識(shí)別研究綜述 [J].小型微型計(jì)算機(jī)系統(tǒng),2022,43(12):2628-2637.
[3] YE Y F,LI T,ADJEROH D,et al. A Survey on Malware Detection Using Data Mining Techniques [J].ACM Computing Surveys (CSUR),2017,50(3):1-40.
[4] YE Y F,CHEN L F,WANG D D,et al. SBMDS: an Interpretable String Based Malware Detection System Using SVM Ensemble With Bagging [J].Journal in Computer Virology,2009,5(4):283-293.
[5] DING Y X,CHEN S,XU J. Application of Deep Belief Networks for opcode Based Malware Detection [C]//2016 International Joint Conference on Neural Networks (IJCNN). Vancouver:IEEE,2016:3901-3908.
[6] DING Y X,DAI W,YAN S L,et al. Control Flow-based opcode Behavior Analysis for Malware Detection [J].Computers amp; Security,2014,44:65-74.
[7] RAFF E,BARKER J,SYLVESTER J,et al. Malware Detection by Eating a Whole EXE [J/OL].arXiv:1710.09435v1 [stat.ML].[2023-07-28].https://arxiv.org/pdf/1710.09435.pdf.
[8] SAXE J,BERLIN K. Deep Neural Network Based Malware Detection Using Two Dimensional Binary Program Features [C]// 2015 10th International Conference on Malicious and Unwanted Software (MALWARE).Fajardo:IEEE,2015:11-20.
[9] SANTOS I,BREZO F,UGARTE-PEDRERO X,et al. Opcode Sequences as Representation of Executables for Data-mining-based Unknown Malware Detection [J].Information Sciences,2013,231:64-82.
[10] KUMAR A,KUPPUSAMY K S,AGHILA G. A learning Model to Detect Maliciousness of Portable Executable Using Integrated Feature Set [J].Journal of King Saud University-Computer and Information Sciences,2019,31(2):252-265.
[11] JEON S,MOON J. Malware-detection Method with a Convolutional Recurrent Neural Network Using Opcode Sequences [J].Information Sciences,2020,535:1-15.
[12] HUANG W Y,STOKES J W. MtNet: A Multi-task Neural Network for Dynamic Malware Classification [C]//DIMVA 2016: Proceedings of the 13th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Berlin:Springer-Verlag,2016:399-418.
[13] QIAO Y,YANG Y X,JI L,et al. Analyzing Malware by Abstracting the Frequent Itemsets in API Call Sequences [C]//2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications.Melbourne:IEEE,2013:265-270.
[14] TIAN R H,ISLAM R,BATTEN L,et al. Differentiating Malware from Cleanware Using Behavioural Analysis[C]//2010 5th International Conference on Malicious and Unwanted Software. Nancy:IEEE,2010:23-30.
[15] LIU Y Y,WANG Y W. A Robust Malware Detection System Using Deep Learning on API Calls [C]//2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC). Chengdu:IEEE,2019:1456-1460.
[16] CATAK F O,YAZI A F,ELEZAJ O,et al. Deep Learning Based Sequential Model for Malware Analysis Using Windows exe API Calls [J/OL].PeerJ Computer Science,2020[2023-07-08].https://pubmed.ncbi.nlm.nih.gov/33816936/.
[17] LI S,ZHOU Q,ZHOU R,et al. Intelligent malware detection based on graph convolutional network [J].The Journal of Supercomputing,2022,78(3):4182-4198.
作者簡(jiǎn)介:王玉勝(1996—),男,漢族,甘肅武威人,碩士研究生在讀,研究方向:計(jì)算機(jī)信息安全技術(shù)與應(yīng)用;毛子恒(1998—),男,漢族,江蘇宿遷人,碩士研究生在讀,研究方向:網(wǎng)絡(luò)與信息安全、惡意加密流量識(shí)別。
收稿日期:2023-09-19
Dynamic Behavior Detection for Malware Based on Dual-stream Converged Networks
WANG Yusheng, MAO Ziheng
(School of Electronics amp; Information Engineering, Liaoning University of Technology, Jinzhou 121001, China)
Abstract: To address the problem that traditional static analysis methods are difficult to capture the complex and changeable dynamic behavior of malware, the experiment is based on dynamic feature analysis techniques, through studying the WindowsAPI call sequences of eight common malware, it is found that the before-and-after order of API call sequences and the call frequency will directly reflect the malicious behavior of malware. The experiment uses TF-IDF (Term Frequency-Inverse Document Frequency) technique to vectorize the API call sequences, and designs a Deep Learning model based on CNN-BiLSTM dual-stream converged network to model the before-and-after dependency relationship of such API calls and realize the dynamic detection of common malware. The experimental results indicate that the test accuracy of this model reaches 95.99%, which is better than RF, SVM, LSTM, BiLSTM and CNN-LSTM models, and provides reference for malware detection.
Keywords: API call sequence; dynamic detection; Deep Learning; feature representation