王國棟,蘆天亮,尹浩然,張建嶺
中國人民公安大學(xué) 信息技術(shù)與網(wǎng)絡(luò)安全學(xué)院,北京100035
隨著互聯(lián)網(wǎng)的迅速發(fā)展和普及,人們的生活和互聯(lián)網(wǎng)越來越緊密地聯(lián)系在一起,復(fù)雜的網(wǎng)絡(luò)環(huán)境亟需凈化,網(wǎng)絡(luò)空間安全成為國家安全的重要一環(huán)。其中惡意代碼是網(wǎng)絡(luò)安全的重要威脅之一,惡意代碼是指人為編寫或設(shè)置的、對網(wǎng)絡(luò)或系統(tǒng)會產(chǎn)生危害的代碼,它非法侵入目標(biāo)網(wǎng)絡(luò)盜取信息和數(shù)據(jù),對網(wǎng)絡(luò)系統(tǒng)造成破壞。惡意代碼包括計算機(jī)病毒、蠕蟲、木馬、僵尸網(wǎng)絡(luò)、勒索軟件等。近年來數(shù)量呈爆炸式增長的的惡意代碼中,新型的惡意代碼家族占很小一部分,大多數(shù)是由原來的家族中通過變異產(chǎn)生,通過對惡意代碼家族的檢測[1],可以實現(xiàn)對新增的惡意代碼快速分類,有針對性地處理和防范。惡意樣本識別檢測技術(shù)方法通常可以分為靜態(tài)檢測技術(shù)、動態(tài)檢測技術(shù)和混合檢測技術(shù)。
靜態(tài)檢測是指并不實際運行樣本,而是直接根據(jù)二進(jìn)制樣本或相應(yīng)的反匯編代碼的語法和結(jié)構(gòu)進(jìn)行分析。Liu 等人[2]使用靜態(tài)分析技術(shù)將惡意代碼轉(zhuǎn)換為圖像,把惡意代碼的全局特征和局部特征相結(jié)合,通過將它們分組為塊并使用新的視覺詞袋模型來獲取更具區(qū)分性和魯棒性的特征描述符。Gibert等人[3]提出了一種文件不可知的深度學(xué)習(xí)方法,從可視化圖像中提取的一組判別模式,最終將惡意代碼有效地分組到對應(yīng)各個惡意代碼家族中去,實驗比較證明了其相對于傳統(tǒng)分類技術(shù)的優(yōu)越性能。Su 等人[4]提出了一種輕量級方法來檢測物聯(lián)網(wǎng)環(huán)境中的DDos 惡意代碼,提取惡意軟件圖像(即從惡意代碼二進(jìn)制文件轉(zhuǎn)換而來的灰度圖像),并利用輕型卷積神經(jīng)網(wǎng)絡(luò)對其家族進(jìn)行分類。Zhao等人[5]提出了基于紋理可視化的深度學(xué)習(xí)惡意代碼分類框架MalDeep,通過代碼映射紋理劃分和紋理提取,利用機(jī)器學(xué)習(xí)在圖像紋理表示的新特征空間中研究惡意代碼分類。Coull 等人[6]利用靜態(tài)分析技術(shù)從單個字節(jié)嵌入到模型的端到端分析,通過解析和反匯編二進(jìn)制將這些面向字節(jié)的激活與它們的原始語義聯(lián)系起來,分析了惡意代碼的特征。上述靜態(tài)檢測方法簡單迅速,不需要占用很大的資源,但是只能用于檢測已知的惡意代碼家族,而且容易受到加殼、變形等方式的干擾而出現(xiàn)漏報和誤報。
動態(tài)檢測是指將樣本在模擬環(huán)境中運行,根據(jù)樣本對操作系統(tǒng)的資源調(diào)度等行為進(jìn)行分析[7]。Kim 等人[8]使用序列比對算法(MSA)對API序列進(jìn)行動態(tài)分析,實現(xiàn)了惡意軟件檢測和分類。Mohaisen等人[9]提出了一種僅與高級系統(tǒng)事件發(fā)生的順序有關(guān)的系統(tǒng)。通過映射關(guān)系的簡潔級聯(lián)捕獲執(zhí)行動態(tài)跟蹤,應(yīng)用n-gram 文檔分類技術(shù)來生成預(yù)測惡意軟件家族的分類器。Boukhtouta等人[10]研究了惡意代碼行為深度數(shù)據(jù)包檢查和IP 數(shù)據(jù)包頭分類的正面和負(fù)面,根據(jù)檢測和歸因準(zhǔn)確性以及它們的復(fù)雜程度來預(yù)測,最后實現(xiàn)分類。Pektas 等人[11]跟蹤觀察文件系統(tǒng)、網(wǎng)絡(luò)、注冊表活動以及API 等惡意代碼特征,通過應(yīng)用機(jī)器學(xué)習(xí)算法來將運行行為構(gòu)建特征向量,在分布式和可擴(kuò)展的體系結(jié)構(gòu)中對惡意代碼樣本進(jìn)行分類,達(dá)到了較高的準(zhǔn)確率。Hatada等人[12]對惡意代碼的網(wǎng)絡(luò)行為進(jìn)行分類來確定惡意代碼的新品種,惡意行為包括惡意代碼特定功能和常規(guī)流量功能,應(yīng)用聚類分析來生成分類器,實驗結(jié)果證明了該方法在發(fā)現(xiàn)新品種惡意軟件方面的有效性。Norouzi等人[13]將惡意代碼行為執(zhí)行歷史XML 文件轉(zhuǎn)換為合適的WEKA 工具輸入,利用數(shù)據(jù)挖掘分類方法來檢測惡意代碼家族。上述動態(tài)檢測方法可以識別出新型的惡意代碼家族,能夠及時隨惡意代碼的變化而變化,但需要耗費較長的時間和更多的資源。
混合檢測方法是結(jié)合靜態(tài)檢測和動態(tài)檢測的方法,首先通過靜態(tài)方法提取惡意代碼的基因特征,再通過動態(tài)檢測方法識別惡意代碼的混淆處理和未知的惡意操作。Xue等人[14]提出了一種基于概率評分和機(jī)器學(xué)習(xí)的分類方法,設(shè)置了概率閾值以連接靜態(tài)分析和動態(tài)分析,加快了靜態(tài)分析過程,而且通過動態(tài)分析似乎對模糊處理具有更大的適應(yīng)性。Kang 等人[15]提出了一種基于word2vec 的機(jī)器學(xué)習(xí)方法,以較少的維數(shù)分析操作碼和API 函數(shù),使用Microsoft 惡意代碼分類器進(jìn)行分類?;旌蠙z測方法靈活多變,能根據(jù)具體惡意代碼家族制定特殊的檢測方式,但這種檢測方式的需要耗費更大的資源,其復(fù)雜度和工作量導(dǎo)致混合檢測不適用于具有一定規(guī)模檢測。
面對現(xiàn)階段惡意代碼爆炸式的增長趨勢,動態(tài)檢測耗費的資源較大且比較費時,不可能同時對具有一定規(guī)模的惡意代碼樣本進(jìn)行分析識別。本文提出了一種不同于傳統(tǒng)機(jī)器學(xué)習(xí)[16-17]的基于CNN-BiLSTM 網(wǎng)絡(luò)的靜態(tài)惡意代碼檢測方法,首先利用B2M 圖像轉(zhuǎn)換技術(shù)將惡意代碼可執(zhí)行文件樣本轉(zhuǎn)換為灰階圖像得到圖像數(shù)據(jù)集[18-19],然后通過構(gòu)建CNN-BiLSTM網(wǎng)絡(luò)模型對圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,最后實現(xiàn)對四個惡意代碼家族的惡意代碼進(jìn)行檢測分類。此方法不需要直接運行惡意代碼可執(zhí)行文件,避免了惡意代碼本身給計算機(jī)帶來的危害,直接將惡意代碼可執(zhí)行文件轉(zhuǎn)化為灰度圖解決了傳統(tǒng)靜態(tài)檢測方法提取特征速度慢且效率相對較低的問題。模型結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)和雙向長短期記憶網(wǎng)絡(luò),克服了卷積神經(jīng)網(wǎng)絡(luò)缺乏對上下文的全局關(guān)注[20-21]和雙向長短期記憶網(wǎng)絡(luò)缺乏對局部關(guān)注的不足,結(jié)合兩者的優(yōu)點從全局和局部對惡意代碼特征進(jìn)行學(xué)習(xí)訓(xùn)練,達(dá)到了更好的效果。
惡意代碼家族檢測分類需要對惡意代碼家族的特征基因進(jìn)行有效的提取,并對特征進(jìn)行訓(xùn)練和測試,最終實現(xiàn)惡意代碼家族識別分類。本文通過分析現(xiàn)有惡意代碼檢測分類方法的不足,針對傳統(tǒng)的惡意代碼特征提取技術(shù)無法有效全面地提取惡意代碼特征,傳統(tǒng)的機(jī)器學(xué)習(xí)無法同時關(guān)注全局特征和局部特征,導(dǎo)致惡意代碼家族識別分類準(zhǔn)確率過低等問題,設(shè)計并實現(xiàn)了一種融合卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)的模型,對惡意代碼可執(zhí)行文件可視化后的數(shù)據(jù)進(jìn)行訓(xùn)練和測試,將得出的實驗結(jié)果與傳統(tǒng)機(jī)器學(xué)習(xí)分類方法做對比,驗證該方法的有效性。本文提出的基于CNN-BiLSTM的惡意代碼家族檢測網(wǎng)絡(luò)架構(gòu)模型如圖1所示。
此模型包含了四部分:惡意代碼可視化、CNN的兩個卷積層、雙向長短時記憶神經(jīng)網(wǎng)絡(luò)和CNN 的兩個全連接層。模型詳細(xì)參數(shù)如表1 所示。首先使用B2M 技術(shù)將惡意代碼轉(zhuǎn)化成二階灰度圖,再將惡意代碼特征灰度圖經(jīng)過數(shù)據(jù)預(yù)處理的填充之后變成256×256×1 的圖片,輸入模型經(jīng)過兩層卷積層之后變成64×64×50 的圖片集,輸入到雙向長短時記憶神經(jīng)網(wǎng)絡(luò)中,最后經(jīng)過全連接層分類后得到分類結(jié)果。
圖1 CNN-BiLSTM模型架構(gòu)
表1 模型參數(shù)
惡意代碼可執(zhí)行文件中,有很多與惡意代碼特征無關(guān)聯(lián)的字符,如果直接從這些可執(zhí)行文件中提取惡意代碼特征,就需要處理可執(zhí)行文件中的混淆代碼,增加了工作量的同時有可能會降低測試的準(zhǔn)確性,如果直接將可執(zhí)行文件轉(zhuǎn)化成灰度圖,就可以全面迅速地對特征進(jìn)行提取。本文將惡意代碼的二進(jìn)制可執(zhí)行文件視為0~255 之間(包括0 和255)的8 位無符號整數(shù)序列。每個值都直接解釋為像素的強(qiáng)度,其中0 為黑色,255 為白色。本文用B2M 算法讀取惡意代碼可執(zhí)行文件,固定256為行寬向量,把可執(zhí)行文件轉(zhuǎn)化成二維矩陣。二維矩陣表示為灰度圖像,二維矩陣中每個元素的范圍為0~255,對應(yīng)灰度圖每個像素的取值,利用這樣的方法把惡意代碼轉(zhuǎn)化為二階灰度圖。
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),它可以進(jìn)行有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),其中卷積層和池化層具有提取特征的功能。卷積層作為特征抽取器將數(shù)據(jù)集的惡意代碼家族的特征矩陣分割成若干子矩陣,每個卷積層中所有的特征子矩陣與同一個權(quán)值矩陣(卷積核)做卷積運算,通過卷積運算對數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí)來提取出圖像的局部特征,卷積運算可以提取數(shù)據(jù)集中人類無法理解的惡意代碼家族局部抽象特征,起到過濾作用。池化層在卷積層之后,池化層對卷積得來的特征進(jìn)行篩查,減少特征數(shù)量來降低計算量,同時可以起到保留惡意代碼家族特征以及防止過擬合的作用。
本文使用卷積神經(jīng)網(wǎng)絡(luò)對轉(zhuǎn)換后的惡意代碼灰度圖數(shù)據(jù)集進(jìn)行訓(xùn)練,模型使用Sigmoid 函數(shù)作為每一層的卷積層的激活函數(shù),公式(1)為Sigmoid 函數(shù)的形式,公式(2)為公式(1)的導(dǎo)函數(shù)。Sigmoid函數(shù)的形狀為S型,平滑且容易求導(dǎo),它和正態(tài)分布函數(shù)的積分形式形狀非常類似,在無法得知惡意代碼家族類型的情況下,它是所有概率分布中最可能的表現(xiàn)形式,所以Sigmoid函數(shù)常常被選為激活函數(shù)。
雙向長短期記憶網(wǎng)絡(luò)是一種雙向的時間循環(huán)神經(jīng)網(wǎng)絡(luò),通過對正向的時間序列和反向的時間序列進(jìn)行訓(xùn)練,輸出的數(shù)據(jù)包含上下文的信息。BiLSTM是為了解決LSTM 網(wǎng)絡(luò)缺乏對上下文的聯(lián)系而提出的一種神經(jīng)網(wǎng)絡(luò)。LSTM 是RNN 的一種特例,解決了RNN 在學(xué)習(xí)中存在梯度消失和梯度爆炸的問題,它使用梯度下降法使誤差梯度隨著事件的時間增加而消失,以達(dá)到提高準(zhǔn)確度的效果。本質(zhì)上BiLSTM 和LSTM 都屬于循環(huán)神經(jīng)網(wǎng)絡(luò)。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)具有記憶性,神經(jīng)元之間參數(shù)共享,因此在對序列的非線性特征進(jìn)行學(xué)習(xí)時具有一定優(yōu)勢,通常用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)的神經(jīng)元結(jié)構(gòu)如圖2所示。
傳統(tǒng)的RNN 只能有短期記憶,在神經(jīng)網(wǎng)絡(luò)深度加深(時間上或者空間上)的情況下會導(dǎo)致梯度消失以及梯度爆炸,如果通過門控制將短期的記憶與長期的記憶相結(jié)合,可以一定程度上解決了梯度消失的問題,這樣的循環(huán)神經(jīng)網(wǎng)絡(luò)稱為LSTM。LSTM 的神經(jīng)元結(jié)構(gòu)如圖3所示。
圖2 RNN神經(jīng)元結(jié)構(gòu)圖
圖3 LSTM神經(jīng)元結(jié)構(gòu)圖
LSTM網(wǎng)絡(luò)只能單向地從左到右進(jìn)行訓(xùn)練和傳遞,但在實際運用中預(yù)測可能需要考慮前面輸入和后面輸入,這樣結(jié)果才會更加準(zhǔn)確。這個時候引入雙向LSTM會得到更好的效果,雙向LSTM 在輸入序列上有兩個LSTM互相連接,每一個輸入的惡意代碼特征都會從正向和反向經(jīng)過循環(huán)神網(wǎng)絡(luò),為神經(jīng)網(wǎng)絡(luò)提供的上下文全局特征,更快而且更充分地學(xué)習(xí)訓(xùn)練。BiLSTM的神經(jīng)元結(jié)構(gòu)如圖4所示。
圖4 BiLSTM神經(jīng)元結(jié)構(gòu)圖
模型的最后一個部分是卷積神經(jīng)網(wǎng)絡(luò)的兩個全連接層,全連接層的每一個節(jié)點都與雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的所有節(jié)點相連,用來把卷積層和雙向循環(huán)神經(jīng)網(wǎng)絡(luò)提取到的特征融合起來。因為本文的惡意代碼家族分類模型屬于多分類模型,且各個惡意代碼家族的特征存在互斥,所以本文最后一層全連接層的輸出值傳遞給softmax分類器進(jìn)行分類。
本模型使用softmax 分類器來標(biāo)準(zhǔn)模型的輸出,函數(shù)的形式為公式(3),其中θi和x 是列向量,可能被換成關(guān)于x 的函數(shù)fi(x)。通過softmax 函數(shù)可以使得P(i)的范圍在[0,1]之間,在分類和回歸問題中,通常θ是待求參數(shù),通過尋找使得P(i)最大的θi作為最佳參數(shù)。公式(4)表示交叉熵?fù)p失函數(shù),ai是預(yù)測模型的第i類惡意代碼家族的置信度,qi表示該惡意代碼樣本屬于哪個家族,如果樣本為k,則qk=1 其他值為零。
惡意代碼家族樣本的有效采集是進(jìn)行檢測分類的基礎(chǔ),數(shù)據(jù)集搜集的質(zhì)量和數(shù)量會直接影響訓(xùn)練模型的準(zhǔn)確率和實驗結(jié)果。本文實驗搜集到的惡意代碼樣本實驗數(shù)據(jù)集取自網(wǎng)絡(luò)惡意樣本庫VirusShare,該樣本庫是國內(nèi)外惡意代碼研究的重要樣本來源,搜集到的數(shù)據(jù)集包括ELF、Winexe、CryptoRansom和EK共4個家族4 418 個惡意可執(zhí)行文件。將數(shù)據(jù)打好標(biāo)簽之后,在每一個惡意代碼家族的可執(zhí)行文件中抽取80%作為訓(xùn)練集,剩下的20%作為測試集。數(shù)據(jù)集組成由表2所示。
表2 惡意代碼家族數(shù)據(jù)集組成
為了確保信息的完整性,本文對實驗數(shù)據(jù)集中惡意代碼可執(zhí)行文件轉(zhuǎn)化成的圖片進(jìn)行填充而不是截取,同時對可執(zhí)行文件灰度圖的前后進(jìn)行填充。經(jīng)過實驗發(fā)現(xiàn),模型選擇的小于65 KB,大于20 KB 的惡意代碼執(zhí)行文件,本文以256 為行寬向量,由于卷積神經(jīng)網(wǎng)絡(luò)輸入的圖片必須統(tǒng)一固定大小,對長度向量小于等于256的灰度圖使用0 字節(jié)對進(jìn)行填充,使其生成256×256 的正方形灰度圖。圖5 顯示了一些惡意代碼可執(zhí)行文件的鏡像示例,從左上到右下分別來自EK、ELF、CryptoRansom和Winexe 家族??梢钥闯?,同一家族的圖像具有相似性。在本文中,使用B2M 方法可視化惡意代碼家族二進(jìn)制文件,這種方法能夠更加全面地提取惡意代碼的特征基因,從而獲得更高的準(zhǔn)確性。
在使用惡意代碼可視化技術(shù)對惡意代碼可執(zhí)行文件轉(zhuǎn)化為灰度圖之后,將訓(xùn)練集的灰度圖放入CNNBiLSTM模型中進(jìn)行學(xué)習(xí)訓(xùn)練,再將測試集灰度圖放入訓(xùn)練得到的模型進(jìn)行檢測分類,最后將使用本文訓(xùn)練模型及方法得到的結(jié)果與其他機(jī)器學(xué)習(xí)分類算法的結(jié)果進(jìn)行比較。本文對每一種惡意代碼家族都進(jìn)行了測試,主要有四個衡量指標(biāo)。
圖5 惡意代碼家族灰度圖
TP:將正確類預(yù)測為正確類的個數(shù);
TN:將錯誤類預(yù)測為錯誤類的個數(shù);
FP:將錯誤類預(yù)測為正確類的個數(shù);
FN:將正確類預(yù)測為錯誤類的個數(shù)。
準(zhǔn)確率、正確率(Accuracy):指預(yù)測正確的樣本比重。
精確率(Precision):指被模型預(yù)測正確的例子中的正確樣本的比重。
召回率(Recall):指的是被預(yù)測為正確的例子占總正確例子的比重。
P和R指標(biāo)可能會出現(xiàn)的矛盾的情況,這樣就需要結(jié)合兩者進(jìn)行考慮,最常見的方法就是F1 值(又稱為F1-Score)。
為了驗證本文所提模型的有效性,將本文實驗所得的結(jié)果與其他幾種模型的實驗結(jié)果相比較。如表3所示。
表3 模型檢測結(jié)果對比 %
將數(shù)據(jù)集的惡意代碼可執(zhí)行文件進(jìn)行轉(zhuǎn)化成灰度圖后,可以發(fā)現(xiàn)可視化之后的灰度圖文件大小存在差異,并且同一系列中的某些惡意代碼灰度圖可能包含不同的紋理(例如,圖6中的Winexe家族(左)和CryptoRansom家族(右)),為了檢驗這種情況是否會導(dǎo)致實驗結(jié)果準(zhǔn)確率的差異,本文將這些紋理非常不同的灰度圖所對應(yīng)的惡意代碼可執(zhí)行文件篩選出來做進(jìn)一步分析。
圖6 具有不同圖標(biāo)和紋理的灰度圖
將四個惡意代碼家族的灰度圖數(shù)據(jù)集中將具有不同紋理的灰度圖所對應(yīng)的惡意代碼可執(zhí)行文件過濾出來后,對這一部分惡意代碼可執(zhí)行文件可能存在的加殼、變形等惡意代碼混淆技術(shù)進(jìn)行去殼、清洗處理,將得到的惡意代碼可執(zhí)行文件放回原惡意代碼家族數(shù)據(jù)集中,經(jīng)過灰度圖映射技術(shù)得到新的惡意代碼灰度圖數(shù)據(jù)集。然后按照20%的測試集和80%的訓(xùn)練集進(jìn)行劃分,最后使用相同的機(jī)器學(xué)習(xí)模型對其進(jìn)行分類測試。得到的結(jié)果如表4所示。
表4 新數(shù)據(jù)集模型檢測結(jié)果對比 %
由表3 和表4 對比可知,惡意代碼家族數(shù)據(jù)集中具有不同紋理的灰度圖對測試的準(zhǔn)確率具有一定的影響,在對具有不同紋理的灰度圖對應(yīng)的惡意代碼可執(zhí)行文件進(jìn)行去殼和清洗處理之后,實驗的準(zhǔn)確率得到了提高。最后,在對表4各種機(jī)器學(xué)習(xí)算法對數(shù)據(jù)集測試結(jié)果對比可以看出,兩種深度學(xué)習(xí)算法CNN和RNN對惡意代碼家族檢測分類的準(zhǔn)確率、精確率和召回率都比SVM、Random Forest 和J48.trees 三個機(jī)器學(xué)習(xí)算法實現(xiàn)了更好的檢測,其中,CNN算法檢測準(zhǔn)確率為87.13%較SVM、Random Forest 和J48.trees 三個機(jī)器學(xué)習(xí)算法分別提高了11.77、3.67和7.11個百分點,原因是CNN算法能夠?qū)W習(xí)到惡意代碼家族更深層次的特征,從而達(dá)到更高的準(zhǔn)確率,結(jié)合了CNN 和RNN 兩種算法形成的CNN-BiLSTM 算法結(jié)合兩種算法的優(yōu)點較兩者達(dá)到了更好的效果。從F值上看,CNN-BiLSTM算法結(jié)合了兩者在局部和全局關(guān)注上的優(yōu)點達(dá)到了93.28%,較CNN和RNN算法分別提高了5.54和6.2個百分點,達(dá)到上述六種機(jī)器學(xué)習(xí)算法中最好效果。模型本文提出的CNNBiLSTM 網(wǎng)絡(luò)在對惡意代碼分類中相比于一些傳統(tǒng)的機(jī)器學(xué)習(xí)算法準(zhǔn)確率更高。
本文針對傳統(tǒng)特征提取方法在提取惡意代碼特征過程中無意義的字符串影響特征提取效率且檢測準(zhǔn)確率過于依賴特征選擇,傳統(tǒng)機(jī)器學(xué)習(xí)無法同時從局部和全局對惡意代碼特征進(jìn)行學(xué)習(xí)訓(xùn)練等問題,提出一種將卷積神經(jīng)網(wǎng)絡(luò)和雙向長短時記憶神經(jīng)網(wǎng)絡(luò)相結(jié)合對惡意代碼家族進(jìn)行分類的方法。利用B2M惡意代碼可視化技術(shù)將惡意代碼可執(zhí)行文件轉(zhuǎn)換為相對應(yīng)的灰階圖像,再應(yīng)用CNN-BiLSTM 模型從圖像數(shù)據(jù)集中自動學(xué)習(xí)訓(xùn)練特征,最終實現(xiàn)對收集到的四種惡意代碼家族進(jìn)行檢測和分類。在特征提取方面,這種方法相對于直接執(zhí)行惡意代碼可執(zhí)行文件和人工提取惡意代碼的特征基因,一定程度上避免了計算機(jī)受到惡意代碼的損害,并且節(jié)省了大量的資源和時間。在分類檢測方面,模型結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)和雙向長短時記憶神經(jīng)網(wǎng)絡(luò)的優(yōu)點從局部和全局兩個方面提取惡意代碼家族特征,提高了檢測分類的準(zhǔn)確性。從實驗的結(jié)果可以看出,在對相同惡意代碼數(shù)據(jù)集進(jìn)行分類和檢測的情況下,與傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,CNN-BiLSTM網(wǎng)絡(luò)模型對惡意代碼家族的檢測分類具有更高的準(zhǔn)確率,取得了更好的效果。