亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        張楊,郝江波

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

        張楊*,郝江波

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

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

        深度學習;惡意代碼;注意力機制;殘差網(wǎng)絡;SMOTE

        0 引言

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

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

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

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

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

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

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

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

        1 相關工作

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

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

        1.1 靜態(tài)分析

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

        1.2 動態(tài)分析

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

        1.3 深度學習惡意代碼檢測

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

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

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

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

        2 惡意代碼檢測

        2.1 概述

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

        圖1 本文方法整體架構

        2.2 注意力機制

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

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

        Fig.2 Proposed attention mechanism for detecting malicious code

        2.3 改進的殘差網(wǎng)絡

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

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

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

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

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

        Fig.3 Comparison between improved residual block with original one

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

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

        3 數(shù)據(jù)集處理

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

        3.1 惡意代碼API

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

        3.2 提取惡意代碼的API

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

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

        3.3 生成數(shù)據(jù)集

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

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

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

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

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

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

        表1 部分API函數(shù)及其功能描述

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

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

        ARMD輸入由式(6)定義:

        4 實驗評估

        4.1 實驗配置

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

        4.2 模型評估問題

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

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

        問題2:基于注意力機制的殘差網(wǎng)絡是否比現(xiàn)有的方法更有效;

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

        問題4:殘差網(wǎng)絡是否層數(shù)越深,評估效果越好。

        4.3 模型評估指標

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

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

        4.4 實驗評估結果

        4.4.1 問題1的評估

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

        4.4.2 問題2的評估

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

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

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

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

        4.4.3 問題3的評估

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

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

        4.4.4 問題4的評估

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

        4.4.5 未來研究

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

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

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

        5 結語

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

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

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

        [2] 國家計算機網(wǎng)絡應急技術處理協(xié)調中心. 態(tài)勢安全報告年報[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的靜態(tài)檢測技術研究[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);河北省教育廳高等學??茖W研究計劃重點項目(ZD2019093)。

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

        猜你喜歡
        機制特征檢測
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        如何表達“特征”
        不忠誠的四個特征
        當代陜西(2019年10期)2019-06-03 10:12:04
        自制力是一種很好的篩選機制
        文苑(2018年21期)2018-11-09 01:23:06
        抓住特征巧觀察
        小波變換在PCB缺陷檢測中的應用
        破除舊機制要分步推進
        注重機制的相互配合
        乱子真实露脸刺激对白| 四虎永久在线精品免费一区二区| 国产精品久久久久9999无码| 欧美激情内射喷水高潮| 免费黄色福利| 综合久久一区二区三区| 久久精品国产99久久久| 人妻少妇精品专区性色av| 乱人伦中文字幕在线不卡网站| 羞涩色进入亚洲一区二区av| 中文字幕人妻丝袜成熟乱| 国产福利不卡视频在线| 久久偷看各类wc女厕嘘嘘偷窃| 一本大道久久东京热无码av| 国产久视频| 一区二区三区国产精品麻豆| 成熟丰满熟妇av无码区| 中文字幕无码精品亚洲资源网久久| 第九色区Aⅴ天堂| 国产精品成人自拍在线观看| 久久久久亚洲av成人人电影 | 免费人成视频在线观看网站| 福利网在线| 五月婷婷开心五月激情| 国产福利视频一区二区| 欧美日韩亚洲成人| 亚洲国产不卡免费视频| 天天躁夜夜躁狠狠躁婷婷| 精品人妻人人做人人爽| 91精品国产91久久久无码色戒| 国产精品毛片av毛片一区二区| 国产一区二区三区在线电影| 成人三级在线| 亚洲国产黄色在线观看| 一区二区三区免费观看日本| 婷婷色香五月综合激激情| 亚洲香蕉视频| 蜜桃av福利精品小视频| 无码a级毛片免费视频内谢5j| 99精品国产兔费观看久久99 | 亚洲中文字幕一二区精品自拍|