999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于注意力機制和殘差網絡的惡意代碼檢測方法

2022-07-05 10:08:08張楊郝江波
計算機應用 2022年6期
關鍵詞:機制特征檢測

張楊,郝江波

基于注意力機制和殘差網絡的惡意代碼檢測方法

張楊*,郝江波

(河北科技大學 信息科學與工程學院,石家莊 050018)(*通信作者電子郵箱zhangyang@hebust.edu.cn)

針對目前已有的基于深度學習的惡意代碼檢測方法提取特征不足和準確率低的問題,提出一種基于注意力機制和殘差網絡(ResNet)的惡意代碼檢測方法ARMD。為了支持該方法的訓練,從Kaggle網站獲取了47 580個惡意和良性代碼的Hash值,并利用VirusTotal分析工具提取每個代碼數據調用的API,在此之后將所調用的API整合為1 000個不重復的API作為檢測的特征來構造訓練樣本數據;然后根據VirusTotal的分析結果進行良惡性判定進而標記樣本數據,并采用SMOTE增強算法使數據樣本均衡化;最后構建并訓練注入注意力機制的ResNet,從而實現惡意代碼檢測。實驗結果表明ARMD的惡意代碼檢測準確率為97.76%,且與目前已有的基于卷積神經網絡(CNN)和ResNet模型的檢測方法相比,平均精確率至少提高了2個百分點,驗證了ARMD的有效性。

深度學習;惡意代碼;注意力機制;殘差網絡;SMOTE

0 引言

目前惡意代碼呈現出快速發展的趨勢,主要表現在變種數量多、傳播速度快、影響范圍廣。在計算機系統中遇到的病毒、木馬、后門、垃圾軟件等一切有害程序或應用都可以統稱為惡意代碼(malicious code)。惡意代碼又稱為惡意軟件(Malicious software, Malware),是指能夠在計算機系統中進行非授權操作,以實施破壞或竊取信息的代碼,包括利用各種網絡、操作系統、軟件和物理安全漏洞來向計算機系統傳播惡意負載的程序性的計算機安全威脅。

傳統的惡意代碼檢測技術已經無法滿足人們對惡意代碼檢測的需求,比如基于簽名特征碼的惡意代碼檢測,這種方法收集已知的惡意代碼,以一種固定的方式生成特定的簽名,當有新的檢測任務時,通過在簽名庫中檢索匹配的方法進行惡意代碼檢測。但更新、維護簽名庫的過程需要耗費大量的人力物力,而且惡意代碼編寫者僅僅通過混淆、壓縮、加殼等簡單的變種方式便可繞過這樣的檢測機制,很容易逃避傳統的檢測方法。為彌補傳統惡意代碼檢測技術的不足,基于機器學習的惡意代碼分析方法受到廣泛的關注,但是傳統機器學習模型在特征提取階段往往需要人工設計和參與,這需要完備的先驗知識,不能自動學習到惡意代碼的特征,在一定程度上影響了惡意代碼的分類準確率。

為了應對上面的問題,研究人員開始使用深度學習[1]進行惡意代碼檢測。深度學習作為機器學習研究的一個新領域,在解決人工智能領域的任務中取得了重大突破,擅長在高維數據中挖掘復雜的數據結構。由于深度學習算法可以挖掘輸入特征之間更深層次的聯系,更加充分地利用惡意代碼的信息,因此基于深度學習的惡意代碼檢測往往具有較高的準確率。

雖然基于機器學習和深度學習方法的惡意代碼檢測方法已經取得了一定的成效,但仍存在以下幾個方面的問題亟須進一步研究完善:第一,因為惡意代碼相對來說比較危險,所以公開的惡意代碼數量不多,這會導致選取的惡意代碼代表性不足;第二,目前已有工作使用的學習模型主要依賴于卷積神經網絡(Convolutional Neural Network, CNN),在CNN模型上還可以做進一步優化;第三,在構建深度學習訓練數據集時,特征提取不充分,在分析惡意代碼的API時,沒有充分兼顧具有惡意行為的API提取;第四,已有的基于深度學習的惡意代碼檢測方法準確度并不是很高,還有進一步提升的空間。

本文提出了一種基于注意力機制和殘差網絡的惡意代碼檢測方法ARMD(Attention mechanism and Residual-based network Malicious code Detection),將注意力機制引入殘差網絡來實現惡意代碼檢測。本文的主要工作如下:

1)提出了一種基于殘差網絡和注意力機制的惡意代碼檢測方法ARMD。

2)為了支持ARMD的訓練,生成了一個惡意代碼數據集,從Kaggle網站獲取了47 580個代碼數據的哈希值(Hash),并通過VirusTotal工具提取并整合前1 000個API形成了大量的樣本。

3)將ARMD在惡意代碼數據集上進行評估并與現有方法進行比較,通過實驗驗證了ARMD的有效性。

1 相關工作

傳統的惡意代碼檢測技術已經無法有效抵御在計算機系統以及互聯網上出現新的威脅和攻擊[2],現在惡意代碼使用許多不同的混淆技術來逃避基于靜態特征碼的惡意代碼檢測[3],惡意代碼檢測工作量大且對技術人員的要求高,很難適應變種惡意代碼的復雜性和多樣性,從而導致效果不佳[4]。近年來,深度學習技術在惡意代碼檢測領域被廣泛應用。

當前惡意代碼檢測方法主要分為特征提取階段和檢測階段。在特征提取階段,提取的特征主要有靜態特征和動態特征,相應的提取手段分別為靜態分析方法和動態分析方法。

1.1 靜態分析

靜態分析方法[5]主要通過反匯編、反編譯等手段提取特征碼來區分良性和惡意代碼,常見的特征碼主要以字節碼、二進制匯編指令、PE結構、導入的動態鏈接庫以及函數系統調用為主要形式。Tabish等[6]提出了一種計算操作碼頻率的方法來檢測惡意代碼,通過計算每個操作碼權重來表示操作碼與惡意代碼的相關性,并使用決策樹、支持向量機(Support Vector Machine, SVM)、樸素貝葉斯進行分類;羅世奇等[7]將惡意代碼圖像紋理和指令語句出現頻率作為特征,提出了基于靜態特征與棧式自編碼的惡意代碼檢測模型;張瑋康[8]提出了改進靜態惡意代碼特征分析方法,通過構建特征庫保存敏感API特征,檢測時將每個惡意代碼的API與特征庫進行匹配以完成惡意代碼檢測;Cesare等[9]提出了提取可執行文件的控制流圖,并通過編輯字符串距離搜索未知軟件和惡意軟件之間的相似性。

1.2 動態分析

動態分析方法[10-11]主要包括系統特征計數、API調用序列以及軟件代碼。Salehi等[12]利用Cuckoo沙箱獲取動態API調用序列,在800個惡意代碼的數據集上使用N-gram建模進行分類,結果取得了94%的F1值;榮俸萍等[13]引入面向目標關聯挖掘的概念,將惡意行為的API調用序列作為異常行為特征進行惡意代碼檢測;Kim[14]提出自然語言處理(Natural Language Processing, NLP)的方法對API序列進行建模,在特征提取上利用詞頻-逆文檔頻度(Term Frequency?Inverse Document Frequency, TF-IDF)、詞袋模型、N-gram三種方法,最終達到接近96%的準確率。

1.3 深度學習惡意代碼檢測

基于深度學習的理論和方法已經被廣泛應用于惡意代碼檢測,它可以從提取的特征中學習并識別惡意代碼。Saxe等[15]通過提取惡意代碼PE文件和字符串靜態信息,并使用前饋神經網絡對靜態分析結果進行分類;Huang等[16]使用了多達四層的前饋神經網絡,采用多任務深度學習架構對二進制和家族惡意代碼進行分類;Kolosnjaji等[17]使用了一個結合了卷積層和循環層的神經網絡,利用從動態分析中獲得的系統調用N-gram進行惡意代碼分類,他們的評估結果在包含來自10個不同家族的4 753個惡意代碼樣本的數據集中實現了平均89.4%的準確率。

目前對于惡意代碼的檢測仍處于探索階段,還面臨著很多問題,比如:決策樹方法存在過擬合,且微小的數據變化會導致生成的決策樹不同;樸素貝葉斯方法需要知道先驗概率,且對屬性相關性大的數據測試效果不好;SVM方法對于大規模數據的開銷也大,缺失數據敏感性;機器學習方法提取特征基本基于手工操作,特征庫也需要實時更新,既費時又費力,且工作量繁重。

基于深度學習的惡意代碼檢測方法中,人工神經網絡(Artificial Neural Network, ANN)是由大量互相連接處理單元的復雜網絡結構組成的,模型中需要大量的初始參數,且要達到最優結果,調參是一個巨大的問題,模型訓練時間長,有可能存在訓練失敗的結果;循環神經網絡(Recurrent Neural Network, RNN)無法考慮當前狀態的任何未來輸入,難以獲取很久以前的信息,且存在梯度消失和長期依賴問題;長短期記憶(Long Short-Term Memory, LSTM)模型雖然改善了RNN中的長期依賴問題,但LSTM的時間跨度很大,計算量大且耗時。

與上述方法相比,被廣泛應用于惡意代碼檢測的CNN模型可以有效地減少傳統神經網絡對輸入數據所進行的預處理環節,降低過程的復雜性;不過這種方式仍然會增加網絡結構的整體復雜性,因為不斷地增加網絡卷積層雖然會提取更精準的特征,取得更好的檢測結果,但容易產生過擬合現象。ResNet是一種改進的CNN模型,它不會隨著層數的增加,增加了損失率致使梯度消失;而且由于ResNet殘差塊中具有卷積層的特征映射、批范數(Batch Norm, BN)、線性整流函數(Rectified Linear Unit, ReLU),對最優結果進行跳躍式輸出,可以有效防止過擬合現象。因此本文考慮將ResNet與增強特征的注意力機制相結合,以提高惡意代碼檢測率。

2 惡意代碼檢測

2.1 概述

本文方法的整體架構如圖1所示。為了生成ARMD模型的訓練集和測試集,使用了47 580個包括惡意和良性代碼的數據,通過VirusTotal工具提取樣本特征,并使用SMOTE算法[21]來確保惡意和良性數據分布良好。ARMD的核心包括注意力機制和ResNet18,即ARMD通過卷積層提取不同樣本數據特征,再使用注意力機制對卷積層的輸出特征進行縮放以計算權重,并對重要特征進行加權,不斷地對特征卷積以輸出最優的訓練結果。該模型重新分配樣本的加權特征以獲得新的特征映射,ARMD是通過將API特征映射到目標標簽來訓練的,通過多次訓練迭代,得到了該檢測模型。

圖1 本文方法整體架構

2.2 注意力機制

Hu等[22]提出了一種注意力機制結構SENet(Squeeze-and-Excitation Network),通過顯式地建模特征通道之間的相互依關系,自適應地重新校準通道的特征響應。具體來說,就是通過學習的方式來自動獲取每個特征通道的重要程度,然后依照這個重要程度去增強有用的特征,并抑制對當前任務影響小的特征。在SENet的啟發下,本文提出了一種用于檢測惡意代碼的注意力機制的方法,如圖2所示,其中FC、Tanh和Sigmoid分別表示完全連接層、激活函數和門控函數。

圖2 本文提出的用于檢測惡意代碼的注意力機制

Fig.2 Proposed attention mechanism for detecting malicious code

2.3 改進的殘差網絡

ResNet是一種新穎的神經網絡,它利用跳過連接或快捷方式跳過某些卷積層,已廣泛應用于自然語言處理和計算機視覺領域[23-24]。以前許多研究者使用CNN來檢測惡意代碼,然而CNN的反向傳播通常會使梯度逐漸消失,并且當層數增加時,它并不調整每個網絡層的權重。ResNet通過引入殘差單元解決了隨著網絡層數加深帶來的退化問題。

殘差網絡在模型表征方面并不存在直接的優勢,也并不能更好地表征某一方面的特征,但是ResNets允許逐層深入地表征更多的模型,以達到最優效果。ResNet中的每個殘差單元通過跳躍式連接實現,并不會給網絡增加額外的參數和計算量,卻可以大幅提高模型的訓練速度、提升訓練效果,殘差網絡往往能使得優化較深層模型更為簡單,因此,引入ResNet來檢測惡意代碼。

圖3(b)顯示了具有注意力機制改進的殘差塊。注意力機制是在第二個BN層之后添加的,由卷積層處理的API特征映射被視為輸入。注意力機制對輸入特征進行兩次縮放以獲得加權系數,該系數通過權重重新分配惡意代碼的API特征。通過將權值系數乘以原始特征,可得到校準后的新特征。

圖4顯示了本實驗的模型ARMD,它包含17個卷積層和1個稠密層。每個殘差塊(ResBlock)結構相同,只是通道數增加,輸出尺寸減小。ARMD為每個殘差塊引入了注意力機制。輸出層只有1個神經元用來指示結果是否為惡意代碼。AvgPool為平均池化層,以減少計算。FC代表全連接層,是整個CNN的分類器。

圖3 改進的殘差塊與原始的殘差塊的比較

Fig.3 Comparison between improved residual block with original one

在ResNet的每個殘差單元中引入了SENet,通過學習的方式來自動獲取到每個特征通道的重要程度,然后依照這個重要程度去提升有用的特征并抑制對當前任務用處不大的特征,從而有效地提高了惡意代碼的檢測準確率。

圖4 基于ResNet18和注意力機制的ARMD

3 數據集處理

本章首先介紹了惡意代碼的API,然后介紹了通過惡意代碼Hash值提取API,最后將說明如何生成數據集。

3.1 惡意代碼API

通過分析惡意代碼調用系統中特定操作的API以及控制命令,判斷是否為惡意代碼。在這種方法中,不需要對已加殼的文件進行逆向分析,只需要對惡意代碼所執行的API調用來進行動態分析,就可以知道某個特定文件具體的功能。通過這樣的方法(分析API調用),可以確定一個文件是否具有惡意性,而有些API調用只有某些特殊類型的惡意代碼才會去使用。表1介紹了部分API功能。

3.2 提取惡意代碼的API

Hash是一種用來唯一標識惡意代碼的常用方法,MD5算法是惡意代碼分析常見的哈希函數,SHA-1也是常用的算法。Hash可作為樣本的標簽使用,通過在線搜索惡意代碼的Hash值可確定該文件是否已經被識別,以及API的提取。

VirusTotal[25]是一個在線訪問并分析可疑文件的Hash或URL的免費工具,它使用許多防病毒引擎來對各種惡意代碼進行檢測,還使用網站掃描程序來分析和檢測URL或文件中可用的任何惡意內容。VirusTotal使用58種防病毒產品(如Ad-Aware、Alibaba、卡巴斯基實驗室等),多達62個網站或域[26]掃描引擎來對惡意代碼進行掃描。在本文方法中,使用VirusTotal工具來對每條數據進行分析,標記惡意代碼或良性代碼,并從VirusTotal中Details部分提取相應數據的API作為檢測的特征。

3.3 生成數據集

由于目前沒有公開專門用于惡意代碼檢測的數據集,為了訓練深度神經網絡模型進行惡意代碼檢測,首先構建惡意代碼的訓練數據集。

為了生成一個高質量的數據集,從Kaggle網站上獲取了47 580個代碼數據[27]。通過VirusTotal工具檢測,發現所獲得的數據集中存在對惡意和良性標識錯誤,對此將樣本的Hash值作為索引,通過VirusTotal工具的分析對數據進行惡意和良性的標識,并從VirusTotal工具中的Details部分提取每個樣本所調用的API。整合所有樣本中的API進行去重處理,并提取前1 000個API作為檢測的特征。由于數據和特征比較大,所以表2僅展示了部分惡意代碼的Hash值和所提取的API:若API調用則為1,否則為0。Malware是惡意代碼的標識符,“1”表示惡意,“0”表示良性。

1)GetProcAddress函數為檢索指定的動態鏈接庫(Dynamic Link Library, DLL)中的輸出庫函數地址;

2)ExitProcess函數為結束調用的進程及其所有的線程windows函數;

3)CloseHandle函數為終止一個進程;

4)OpenProcess函數用來打開一個已存在的進程對象,并返回進程的句柄。

表1 部分API函數及其功能描述

表2 部分惡意代碼的Hash值和所提取的API

基于這些數據,我們生成了一個惡意代碼的數據集來評估模型的有效性,其中惡意代碼為45 651個,良性代碼為1 929個,使用這些代碼作為樣本數據的來源。對每個惡意代碼都使用VirusTotal提取API,通過將每個樣本的API與一個標識符(惡意或良性)組合生成數據。80%的數據集用作訓練集,20%的數據集作為測試集。為了避免良性數據的不平衡分布,采用SMTOE算法來確保惡意和良性數據的分布良好。

ARMD輸入由式(6)定義:

4 實驗評估

4.1 實驗配置

所有實驗都在聯想工作站上進行,該工作站有2.5 GHz四核lntel Core i7-6500u處理器和8 GB的主內存;操作系統是64位的Windows 10;使用PyCharm作為運行平臺;Python版本是3.6;PyTorch版本是1.8.0作為深度學習的運行支撐環境;惡意代碼分析工具使用VirusTotal。

4.2 模型評估問題

通過回答以下研究問題來評估本文方法的有效性。

問題1:殘差網絡是否比CNN和LSTM等傳統方法更適用于惡意代碼檢測;

問題2:基于注意力機制的殘差網絡是否比現有的方法更有效;

問題3:基于注意力機制的殘差網絡是否比殘差網絡更好;

問題4:殘差網絡是否層數越深,評估效果越好。

4.3 模型評估指標

表3 二分類問題的混淆矩陣

準確率表示預測正確的樣本占測試集中所有樣本的比例。

4.4 實驗評估結果

4.4.1 問題1的評估

表4 問題1的測試結果 單位: %

4.4.2 問題2的評估

為了回答問題2,與現有的基于API檢測惡意代碼的方法進行了比較。

Garg等[28]基于API調用頻率對惡意代碼進行檢測,該方法映射所有樣本使用的API到數據庫,并計算惡意代碼調用API頻率,通過K最近鄰(K-Nearest Neighbor,KNN)和SVM聯合分類器檢測達到了93%的正確率。Makandar等[29]使用Gabor小波變換和GIST(Generalized Search Tree)基于全局特征識別惡意代碼的行為,通過前饋人工神經網絡(Artificial Neural Network, ANN)進行檢測,取得了96.35%的準確率。

結合以上方法,使用本文的數據集在KNN+SVM模型以及ANN模型上做了測試,以驗證本文方法的有效性,評估結果如表5所示。通過測試結果可以看出,本文方法ARMD在性能上顯著優于KNN+SVM和ANN。與KNN+SVM相比,檢測準確率提高了2.1個百分點,因為KNN+SVM聯合分類器刪減掉了距離分類面較遠的測試樣本,可能導致特征的提取不夠充分;與ANN相比測試準確率提高了2.4個百分點,可能的原因是ANN的各神經元分層排列,各層之間沒有反饋,訓練時舍去了一些重要的特征,影響了測試效果。由此可以看出,ARMD在檢測惡意代碼方面明顯優于對比方法。

表5 問題2的測試結果 單位 %

4.4.3 問題3的評估

為了回答問題3,比較了引入注意力機制的殘差網絡與殘差網絡,評估結果如表6所示,其中:ResNet18為殘差網絡,ARMD為加入注意力機制的殘差網絡。從表6可以看出,ARMD明顯優于ResNet18,說明引入注意力機制的殘差網絡在特征提取時,對上一層輸出的重要特征進行加權處理,能更有效地對惡意代碼進行檢測。

表6 問題3的評估結果 單位 %

4.4.4 問題4的評估

表7 問題4的評估結果 單位 %

4.4.5 未來研究

1)本文僅選擇來自Kaggle網站上一部分惡意代碼的Hash值,這些惡意代碼數據集并不能代表所有的惡意代碼,因為不同惡意代碼代表不同類別的數據樣本,為此,我們需要盡可能地收集不同種類的惡意代碼,盡可能地保證數據集來源的多樣性。

2)在對訓練數據集進行特征提取時,使用了前1 000個API作為特征輸入。由于提取的特征中只有一部分API可以代表有惡意行為,所以在提取特征時應盡可能地提取能表示惡意行為的API,最大限度保證數據集的準確性。

4)理論推測,殘差網絡中隨著層數的增加,測試效果會不斷地更新,得到一個最優的結果,提取的特征更詳細,能更有效地檢測惡意代碼。但在本文實驗中,隨著殘差網絡層數的增加,本文方法的結果并不是很理想,如何選擇合適的網絡層數需要進一步研究。

5 結語

本文提出了一種基于注意力機制和殘差網絡的惡意代碼檢測方法ARMD,利用注意力機制來計算惡意代碼API特征的權重,在模型檢測過程中對提取的重要特征進行了加權。為了測試本文方法,從Kaggle網站獲取了47 580個代碼數據的Hash值,并生成了一個高質量的惡意代碼數據集。與現有方法進行比較的結果表明,ARMD的平均精確率比現有方法至少高出2個百分點以上,在一定程度上提高了惡意代碼檢測的水平。

我們未來的工作包括:對惡意代碼的種類進行標記并分類,同時改進本文方法,以提高對惡意代碼的檢測和分類效果;通過建模不同層數的殘差網絡,驗證隨著層數的增加,測試效果是否會降低;嘗試以操作碼作為檢測惡意代碼的特征,以更全面有效地檢測惡意代碼。

[1] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553):436-444.

[2] 國家計算機網絡應急技術處理協調中心. 態勢安全報告年報[EB/OL]. [2021-07-31].https://www.cert.org.cn/publish/main/46/index.html. (National Computer Network Emergency Response Technical Team/Coordination Center of China. Annual situation security report [EB/OL]. [2021-07-31].https://www.cert.org.cn/publish/main/46/index.html.)

[3] GHANAEI V, LLIOPOULOS C S, OVERILL R E. Statistical approach towards malware classification and detection[C]// Proceedings of the 2016 SAI Computing Conference. Piscataway: IEEE, 2016: 1093-1099.

[4] ZHAO S, MA X B, ZOU W, et al. DeepCG: classifying metamorphic malware through deep learning of call graphs[C]// Proceedings of the 2019 International Conference on Security and Privacy in Communication Systems, LNICST 304. Cham: Springer, 2019: 171-190.

[5] SUNG A H, XU J Y, CHAVEZ P, et al. Static analyzer of vicious executables (SAVE)[C]// Proceedings of the 20th Annual Computer Security Applications Conference. Piscataway: IEEE, 2004: 326-334.

[6] TABISH S M, SHAFIQ M Z, FAROOQ M. Malware detection using statistical analysis of byte-level file content[C]// Proceedings of the 2009 ACM SIGKDD Workshop on CyberSecurity and Intelligence Informatics. New York: ACM, 2009: 23-31.

[7] 羅世奇,田生偉,孫華,等. 棧式自編碼的惡意代碼分類算法研究[J]. 計算機應用研究, 2018, 35(1): 261-265.(LUO S Q, TIAN S W, SUN H, et al. Research on malicious code classification algorithm of stacked auto encoder[J]. Application Research of Computers, 2018, 35(1): 261-265.)

[8] 張瑋康. 基于惡意代碼API的靜態檢測技術研究[D]. 西安:西安電子科技大學, 2018. (ZHANG W K, Research on static detection technology based on malicious code API[D]. Xi’an: Xidian University, 2018.)

[9] CESARE S, XIANG Y, ZHOU W L. Control flow-based malware VariantDetection[J]. IEEE Transactions on Dependable and Secure Computing, 2014, 11(4): 307-317.

[10] ANDERSON B, QUIST D, NEIL J, et al. Graph-based malware detection using dynamic analysis[J]. Journal in Computer Virology, 2011, 7(4): 247-258.

[11] WILLEMS C, HOLZ T, FREILING F. Toward automated dynamic malware analysis using CWSandbox[J]. IEEE Security and Privacy, 2007, 5(2): 32-39.

[12] SALEHI Z, SAMI A, GHIASI M. Using feature generation from API calls for malware detection[J]. Computer Fraud and Security, 2014, 2014(9): 9-18.

[13] 榮俸萍,方勇,左政,等. MACSPMD:基于惡意API調用序列模式挖掘的惡意代碼檢測[J]. 計算機科學, 2018, 45(5): 131-138.(RONG F P, FANG Y, ZUO Z, et al. MACSPMD: malicious API call sequential pattern mining based malware detection[J]. Computer Science, 2018, 45(5): 131-138.)

[14] KIM C W. NtMalDetect: a machine learning approach to malware detection using native API system calls[EB/OL]. (2018-05-19)[2021-03-20].https://arxiv.org/pdf/1802.05412.pdf.

[15] SAXE J, BERLIN K. Deep neural network based malware detection using two dimensional binary program features[C]// Proceedings of the 10th International Conference on Malicious and Unwanted Software. Piscataway: IEEE, 2015: 11-20.

[16] HUANG W Y, STOKES J W. MtNet: a multi-task neural network for dynamic malware classification[C]// Proceedings of the 2016 International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, LNSC 9721. Cham: Springer, 2016: 399-418.

[17] KOLOSNJAJI B, ZARRAS A, WEBSTER G, et al. Deep learning for classification of malware system call sequences[C]// Proceedings of the 2016 Australasian Joint Conference on Artificial Intelligence, LNAI 9992. Cham: Springer, 2016: 137-149.

[18] MCLAUGHLIN N, MARTINEZ DEL RINCON J, KANG B, et al. Deep Android malware detection[C]// Proceedings of the 7th ACM Conference on Data and Application Security and Privacy. New York: ACM, 2017: 301-308.

[19] FAN M, LIU J, LUO X P, et al. Android malware familial classification and representative sample selection via frequent subgraph analysis[J]. IEEE Transactions on Information Forensics and Security, 2018, 13(8): 1890-1905.

[20] ZHANG J X, QIN Z, YIN H, et al. A feature-hybrid malware variants detection using CNN based opcode embedding and BPNN based API embedding[J]. Computers and Security, 2019, 84: 376-392.

[21] CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16: 321-357.

[22] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 7132-7141.

[23] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 770-778.

[24] FENG T, LIU J G, FANG X, et al. A double-branch surface detection system for armatures in vibration motors with miniature volume based on ResNet-101 and FPN[J]. Sensors, 2020, 20(8): No.2360.

[25] VirusTotal. VirusTotal[EB/OL]. [2021-05-05].https://www.virustotal.com.

[26] MASRI R, ALDWAIRI M. Automated malicious advertisement detection using VirusTotal, URLVoid, and TrendMicro[C]// Proceedings of the 8th International Conference on Information and Communication Systems. Piscataway: IEEE, 2017: 336-341.

[27] OLIVEIRA A. Malware analysis datasets: Top-1000 PE imports[DB/OL]. [2021-03-23].https://www.kaggle.com/ang3loliveira/malware-analysis-datasets-top1000-pe-imports.

[28] GARG V, YADAV R K. Malware detection based on API calls frequency[C]// Proceedings of the 4th International Conference on Information Systems and Computer Networks. Piscataway: IEEE, 2019: 400-404.

[29] MAKANDAR A, PATROT A. Malware analysis and classification using artificial neural network[C]// Proceedings of the 2015 International Conference on Trends in Automation, Communications and Computing Technology. Piscataway: IEEE, 2015: 1-6.

Malicious code detection method based on attention mechanism and residual network

ZHANG Yang*, HAO Jiangbo

(,,050018,)

As the existing malicious code detection methods based on deep learning have problems of insufficiency and low accuracy of feature extraction, a malicious code detection method based on attention mechanism and Residual Network (ResNet) called ARMD was proposed. To support the training of this method, the hash values of 47 580 malicious and benign codes were obtained from Kaggle website, and the APIs called by each code were extracted by analysis tool VirusTotal. After that, the called APIs were integrated into 1 000 non-repeated APIs as the detection features, and the training sample data was constructed through these features. Then, the sample data was labeled by determining the benignity and maliciousness based on the VirusTotal analysis results, and the SMOTE (Synthetic Minority Over-sampling Technique) enhancement algorithm was used to equalize the data samples. Finally, the ResNet injecting with the attention mechanism was built and trained to complete the malicious code detection. Experimental results show that the accuracy of malicious code detection of ARMD is 97.76%, and compared with the existing detection methods based on Convolutional Neural Network (CNN) and ResNet models,ARMD has the average precision improved by at least 2%, verifying the effectiveness of ARMD.

deep learning; malicious code; attention mechanism; Residual Network (ResNet); SMOTE (Synthetic Minority Over-sampling Technique)

This work is partially supported by National Natural Science Foundation of China (61440012), Key Basic Research Project of Hebei Fundamental Research Plan (189601106D), Key Project of Higher Education Research Program of Hebei Province (ZD2019093).

ZHANG Yang, born in 1980, Ph. D., associate professor. His research interests include concurrent software analysis, intelligent software.

HAO Jiangbo, born in 1996, M. S. candidate. His research interests include intelligent software analysis.

TP311.53

A

1001-9081(2022)06-1708-08

10.11772/j.issn.1001-9081.2021061410

2021?08?06;

2021?09?10;

2021?10?20。

國家自然科學基金資助項目(61440012);河北省基礎研究計劃重點基礎研究專項(18960106D);河北省教育廳高等學校科學研究計劃重點項目(ZD2019093)。

張楊( 1980—),男,河北秦皇島人,副教授,博士,CCF高級會員,主要研究方向:并發軟件分析、智能化軟件;郝江波(1996—),男,河北邢臺人,碩士研究生,主要研究方向:智能軟件分析。

猜你喜歡
機制特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
抓住特征巧觀察
小波變換在PCB缺陷檢測中的應用
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
主站蜘蛛池模板: 国产精品一区在线观看你懂的| 国产一级精品毛片基地| 亚洲中文久久精品无玛| 亚洲一区第一页| 亚洲AV无码不卡无码| 国产在线精品香蕉麻豆| 亚洲视频在线网| 99无码中文字幕视频| 无码专区在线观看| a毛片在线播放| 自拍偷拍欧美| 婷婷五月在线| 欧美A级V片在线观看| 麻豆精品在线视频| 国产精品自在线拍国产电影| 日韩AV无码免费一二三区| 亚洲综合久久成人AV| 欧美成人午夜在线全部免费| 丰满少妇αⅴ无码区| 亚洲精品色AV无码看| 国产成人无码Av在线播放无广告| 婷婷综合缴情亚洲五月伊| 人妻无码AⅤ中文字| 亚洲区视频在线观看| 久久久久人妻一区精品色奶水| 国产三级精品三级在线观看| 在线欧美a| 亚洲激情99| 欧美不卡在线视频| 久久婷婷色综合老司机| 日韩毛片在线视频| 青青久视频| 成年免费在线观看| 香蕉国产精品视频| 无码丝袜人妻| 视频二区亚洲精品| 亚洲欧美另类久久久精品播放的| 久久综合干| 欧美一级黄色影院| 性视频久久| 久久青草精品一区二区三区| 亚洲天堂日韩av电影| 欧美一级高清免费a| 亚洲中文字幕精品| 久久毛片免费基地| 亚洲黄色片免费看| 无码'专区第一页| 国产精品yjizz视频网一二区| 91国内视频在线观看| 日本国产精品一区久久久| 亚洲av片在线免费观看| 91在线免费公开视频| 黄色网在线| 亚洲第一黄色网址| 国产精品美女自慰喷水| 久久天天躁狠狠躁夜夜2020一| 欧美中文一区| 国产精品视频第一专区| 亚洲成AV人手机在线观看网站| 色婷婷在线播放| 国产91小视频在线观看| 91亚洲精选| 麻豆国产精品| 国产99热| 国产精品亚洲专区一区| 一本无码在线观看| 在线观看国产一区二区三区99| 2021国产精品自产拍在线观看 | 亚洲另类第一页| 久久夜色撩人精品国产| 亚洲欧美天堂网| 国产视频欧美| 久久国产精品影院| 丰满的少妇人妻无码区| 亚洲视频影院| 草逼视频国产| 亚洲综合在线最大成人| 久爱午夜精品免费视频| 亚洲欧美成人在线视频| 精品国产aⅴ一区二区三区| 园内精品自拍视频在线播放| 中文字幕人妻av一区二区|