王潤正,高 見,2+,仝 鑫,楊夢岐
1.中國人民公安大學信息網絡安全學院,北京100038
2.安全防范與風險評估公安部重點實驗室,北京102623
目前,隨著黑客技術以及隱蔽技術的多樣化和復雜化,網絡安全狀況愈加嚴峻。惡意軟件安全威脅呈指數級增長,各類新型病毒層出不窮,反檢測技術不斷更新。在各類惡意軟件中,攻擊性廣告軟件、特洛伊木馬和黑客工具位居首位,勒索病毒打擊事件高頻發生,各行各業遭到不同程度的惡意攻擊,其中傳統企業、教育、醫療、政府機構遭受攻擊最為嚴重,因此加強安全防護,抵御病毒攻擊刻不容緩。
在惡意代碼家族分類研究中,研究人員往往從靜態或者動態的角度對惡意樣本進行有效的特征提取,本文對各類惡意樣本進行靜態分析,深度剖析PE(portable executable)文件的結構組成,將二進制文件進行區段劃分,研究不同區段的特征對惡意代碼家族分類的影響,同時在改進傳統的神經網絡模型基礎上,融合注意力機制來識別惡意代碼家族。
惡意代碼特征提取方法主要分為靜態方法和動態方法。研究人員采用靜態分析的方法,在不運行惡意樣本的情況下,使用逆向工具獲取二進制數據、操作碼、函數調用等靜態信息,進而構建靜態特征序列;采用動態分析的方法,在真機或者沙箱中運行惡意樣本,一定程度上可以抵御加殼或者混淆等對抗技術,獲取樣本的API(application programming interface)、流量等動態信息。Jeon等人[1]提取惡意軟件的操作碼序列,使用操作碼級卷積自動編碼器將長操作碼序列轉換為較短的壓縮序列,使用動態遞歸神經網絡檢測惡意軟件。Kakisim 等人[2]提出了一種基于高級引擎簽名的變種惡意軟件識別方法,為每個變種惡意樣本構造co-opcode 圖,從圖中提取引擎特定的操作碼模式,然后用二進制矢量表示提取的操作碼模式來生成屬于每個家族的高級簽名。Zhang 等人[3]通過二元模型來表示操作碼,并通過頻率向量來表示API調用,使用卷積神經網絡和BP(back propagation)神經網絡檢測惡意代碼。Lu 等人[4]提出了一種新的深度學習和機器學習相結合的模型,在功能級別上分析了API 調用序列中的依賴關系,使用隨機森林(random forest,RF)算法進行分類,同時采用雙向殘差神經網絡研究API 序列并通過冗余信息預處理發現惡意軟件。Amer等人[5]對惡意軟件API調用序列建模,生成語義轉換矩陣描述API 函數之間的關系,使用馬爾可夫鏈對惡意軟件進行檢測和預測。Huang等人[6]提取惡意樣本的動態API 序列,使用最長頻繁序列挖掘算法挖掘多個類別的最長頻繁序列集合,從而根據詞袋模型將API 序列轉化為向量,使用隨機森林算法檢測惡意代碼。Zheng 等人[7]對惡意軟件的前后API 調用概率關系進行了建模,并通過隨機插入API 序列的方式構造模擬對抗樣本來測試原始參數模型的分類性能,使用雙向LSTM(long short-term memory)對惡意軟件家族分類。Zhao 等人[8]在基于真機的沙箱中提取惡意代碼的API 序列,根據漸近均分性提取語義信息豐富的API,以構建API 依賴圖,利用平均對數分支因子和直方圖bin 方法來構建特征空間,采用集成學習算法-隨機森林進行惡意代碼分類。Zhang 等人[9]在沙盒環境下運行惡意軟件獲取其動態調用序列,并通過滑動窗口劃分得到窗口子序列,引入多示例學習和注意力機制來構建層次化特征抽取的深度神經網絡,使用循環神經網絡抽取API 特征,結合兩個注意力機制分別抽取窗口特征和序列特征,并使用序列特征檢測惡意軟件。靜態分析和動態分析相互結合、相互補充,共同對抗惡意代碼的規避和反調試技術。
為區別傳統的特征提取方法,減少特征工程的復雜度,研究人員將惡意樣本進行可視化,在靜態或動態分析的基礎上,采用圖像的方法對惡意代碼進行研究。Nataraj 等人[10]首次提出將惡意樣本的二進制文件轉換成灰度圖的方法,利用圖像紋理的相似性對惡意軟件進行分類。Vasan 等人[11]將原始惡意軟件二進制文件轉換為彩色圖像,通過微調后的神經網絡模型對惡意軟件進行檢測和識別。Fu 等人[12]將惡意軟件可視化為RGB彩色圖像,并從圖像中提取全局特征,并選擇灰度共生矩陣(gray-level co-occurrence matrix,GLCM)和顏色矩分別描述全局紋理特征和顏色特征,產生低維特征數據以減少訓練模型的復雜性。同時從惡意軟件的代碼部分和數據部分中提取了一系列特殊字節序列,并由Simhash 作為局部特征將其處理為特征向量。最后合并全局特征和局部特征,以使用隨機森林、K最鄰近分類算法(K-nearest neighbor,KNN)和支持向量機(support vector machine,SVM)對惡意軟件進行分類。Yakura等人[13]將二進制數據轉換為圖像,利用帶有注意力機制的卷積神經網絡計算注意力圖,根據區域的重要性從二進制數據中提取惡意家族特有的特征字節序列,以便手動分析惡意軟件樣本。Lu 等人[14]將惡意代碼映射為灰度圖,將灰度圖轉為固定大小后,采用方向梯度直方圖提取灰度圖的特征,使用深度森林對惡意代碼分類。Xiao 等人[15]提出了一種基于惡意軟件可視化和自動特征提取的有效惡意軟件分類框架(MalFCS),將惡意樣本可視化為熵圖,采用深度神經網絡作為特征提取器,自動從熵圖中提取共有的特征,最后使用支持向量機分類器對惡意軟件進行分類。Yuan 等人[16]根據字節傳輸概率矩陣將惡意軟件二進制文件轉換為Markov 圖像,然后將深度卷積神經網絡用于馬爾可夫圖像分類。上述研究說明可視化技術對惡意代碼分析具有可行性,能夠有效地對惡意代碼家族及其變種進行檢測與分類。
隨著惡意代碼形態的多樣化,針對傳統的靜態或者動態檢測方法的對抗技術不斷發展,加大了特征提取的難度,同時基于動態特征提取方法耗費資源較多,不利于對大批量樣本的檢測。為緩解上述問題,本文借鑒可視化思想,兼顧二進制程序靜態文件結構,提出一種基于區段特征融合的可視化方法,相比于動態分析,該方法具有快速、資源消耗少的特點,可以在一定程度上規避惡意代碼的混淆、反調試等對抗手段,使特征更具魯棒性。
在惡意代碼家族分類研究中,惡意代碼以其功能行為特征劃分家族類別。同類惡意代碼家族普遍存在代碼復用的現象,其二進制可執行文件在可視化中存在相似的紋理特征,但不同的惡意家族往往執行不同的惡意行為,組成不同惡意行為的操作碼可視化所形成的紋理特征不同。在惡意代碼家族數據預處理中,將惡意樣本可視化后,為了有效地表征各惡意家族的特征,研究人員采用灰度共生矩陣、通用搜索樹(generalized search trees,GIST)、局部二值模式(local binary patterns,LBP)、尺度不變特征變換(scale-invariant feature transform,SIFT)、顏色矩等方法提取全局或者局部的圖像紋理特征,進而將產生低維度的特征數據輸入分類檢測模型。本文采取深度學習的方法使模型自主學習圖像中的紋理特征信息,減少人工提取紋理特征的復雜度。在惡意代碼家族分類判定過程中,傳統的神經網絡模型無法關注特征中的關鍵信息,為了更加有效地區分不同惡意代碼家族形成不同的紋理特征,本文在惡意代碼家族分類模型中采用深度可分離卷積[17]提取特征信息的基礎上,引入由通道域和空間域注意力組成混合域注意力機制來模擬人對重要信息的關注,使神經網絡通過訓練自主學習特征圖的權重分布,從不同的維度提取區段中的關鍵信息,從而使模型深度挖掘出顯著的紋理特征,忽略無關的特征信息,提高模型的分類準確率。同時,注意力機制在提升神經網絡分類效果的過程中,增加的參數量和計算量相對較少,與輕量化網絡結合,保證了模型的分類效率。
融合注意力機制的惡意代碼家族分類模型結構如圖1 所示,主要分為數據預處理模塊和基于混合域注意力機制的深度可分離卷積網絡模型(depthwise separable convolution model with attention mechanism,DSCAM)。其中,DSCAM 包括深度可分離卷積模塊(separableconv block)和混合域注意力模塊(attention block)。模型采用深度可分離卷積模塊從通道和空間維度上學習惡意樣本的紋理特征;混合域注意力模塊提取全局和局部的核心特征,進行特征細化;使用殘差連接每個子模塊,加速模型收斂,提升模型的判別能力。與傳統的神經網絡相比,該網絡將通道和空間分離,更加關注于特征圖的權重信息,有利于區分惡意家族間的差異性,便于對惡意家族進行同源性分析。

Fig.1 Malicious family classification model圖1 惡意代碼家族分類模型
目前,惡意代碼家族陸續產生一些變種,致使同類惡意代碼家族間存在差異性,降低分類模型的準確率。由于同類惡意代碼家族所執行的惡意功能相同或者相似,PE 頭、代碼、數據等片段可能存在相似性。PE 頭中包含著惡意樣本執行時的相關信息。PE節區中包含著組成惡意程序的匯編代碼、源代碼中聲明的全局變量以及程序加載的圖片、文檔等資源,其中“.text”包含可執行的代碼段,“.data”包含程序的全局變量和靜態變量,“.idata”通常存儲導入函數信息,“.edata”通常存儲導出函數信息,“.rdata”包含程序中全局可訪問的只讀數據,“.rsrc”存儲可執行程序所需要的資源等。惡意代碼的特征信息存在于各區段中,不同惡意代碼家族在不同區段所執行的惡意功能存在差異,具有不同的特征碼,因此對各區段分析可以有效地幫助分類模型對各惡意代碼家族作出準確的判斷。
PE 文件各部分所在位置與其數據結構位置順序一致,程序加載到內存中時,大部分位置保持不變,而內存狀態不同時,各節區加載的順序往往不同。為了方便提取各區段的數據,本文使用Python 結合IDApython 插件自動提取惡意樣本的區段特征。通過IDA Pro 對惡意樣本進行反匯編,使用SegName()函數獲取各段名稱,調用SegStart()和SegEnd()函數來獲取段的開始到結束范圍,使用Segments()函數對整個數據進行遍歷,以獲取所有的區段信息,最后提取各區段的字節碼作為特征信息。同時使用PeFile提取PE header 中的DOS_HEADER、NT_HEADER、FILE_HEADER、OPTIONAL_HEADER 等字段作為惡意代碼家族補充特征。
在惡意代碼家族分類任務中,本文將靜態提取的特征可視化后,使用圖像特征對惡意樣本進行分類。在傳統的惡意代碼可視化方法中,因惡意樣本的大小不一,相關研究人員將生成的圖像采用縮放、裁剪等圖像處理方法以適應深度學習模型的輸入,這會導致一些重要的信息丟失,如在一些惡意代碼家族中,“.data”“.rsrc”段中會存有部分惡意代碼偽裝特征,因此無法進行有效的檢測分類。對惡意樣本進行灰度圖轉化過程中,不會有效區分樣本的代碼段和數據段特征,數據段中的某些相似特征可能被識別為代碼段中關鍵的特征碼,從而導致某些惡意樣本無法進行正確的分類。針對上述情況,本文將代碼段和數據段分離,再進行可視化,分別研究其對分類模型的影響,同時將各區段分成三部分,對特征進行融合,按照R、G、B 三個通道轉化為彩色圖,如圖2 所示。

Fig.2 Visualization method圖2 可視化方法
本文研究對象為Windows PE 文件,樣本均來源于VirusShare,因為樣本庫存在各類平臺的文件,所以本文根據PE 文件結構對樣本庫進行篩選,選取滿足條件的惡意樣本進行處理,并對加殼樣本進行脫殼處理,進而提取各區段特征,按照可視化規則讀取各區段數據,生成RGB 彩色圖像。圖3 所示依次為DownloadGuide、Emotet、Softcnapp、Zbot 家族的可視化圖像。可以看出,不同的惡意代碼家族的紋理特征不同,不同惡意樣本惡意信息存在不同的區段,其中,圖(a)、(b)大量信息存在于代碼段,圖(c)存在紅色條紋,經過溯源發現該惡意樣本存在“.giats”“.tls”“.gfids”段,圖(d)大量信息存在于數據段。由此可見,對于惡意代碼家族分類需要對各區段進行全面分析,各區段特征在一定程度上可以表現出各類惡意代碼家族的差異性,該方法能夠提升分類效果。

Fig.3 Malicious sample圖3 惡意樣本
在卷積神經網絡中,卷積是一種局部操作,通過一定大小的卷積核作用于局部圖像區域獲取圖像的局部信息。本文惡意代碼家族分類模型采用深度可分離卷積代替標準卷積操作,在減少模型參數量的同時,實現了通道與空間的分離。深度可分離卷積[18](depthwise separable convolution)可將卷積核分成兩個單獨的卷積核,這兩個卷積核進行兩個卷積:深度卷積(depthwise convolution)和逐點卷積(pointwise convolution)。
惡意樣本可視化后經過神經網絡產生的特征圖(feature map)尺寸為(DF,DF,M),采用標準的卷積K為(DK,DK,M,N)。經卷積操作后,計算公式如式(1)所示,輸出的特征圖G大小為(DG,DG,N)。其中,M為輸入的通道數,N為輸出的通道數。

將標準卷積分成深度卷積和逐點卷積。深度卷積的一個卷積核只有一個通道,尺寸為(DK,DK,1,M),輸出尺寸為(DG,DG,M);逐點卷積對上一特征圖在深度方向上進行加權組合,尺寸為(1,1,M,N),輸出尺寸為(DG,DG,N)。相比于標準卷積,深度可分離卷積計算量減少了Δ,計算如式(2)所示。

本文惡意代碼家族分類模型深度可分離卷積模塊結構組成如圖4 所示。每一個模塊中包含兩個深度可分離卷積層,一個最大池化層,最后通過shortcut進行殘差連接。每個深度可分離卷積層先進行3×3的深度卷積,再進行1×1 的逐點卷積,卷積后經過BN(batch normalization)層,最后使用ReLU 進行非線性激活。

Fig.4 SeparableConv Block圖4 深度可分離卷積模塊
在計算機視覺中,注意力機制應用于視覺信息的處理,其基本思想是使得神經網絡具備專注于輸入特征的某些局部信息的能力,能夠忽略無關信息而更多地關注重點信息。以注意力關注的域可以分為通道域、空間域、層域、混合域和時間域注意力機制,從不同的維度學習特征圖的權重分布,提升神經網絡的分類性能。
通道域注意力機制解決惡意代碼家族關鍵紋理特征“是什么”的問題,空間域注意力機制解決核心紋理特征“在哪里”的問題。其中單一注意力機制不足以完全表征關鍵特征,如忽視空間域注意力,對于特征定位會產生影響,從而忽略局部紋理信息。因此,為提升惡意代碼家族關鍵區域的特征表達,本文采用混合域注意力機制,即同時引入通道域和空間域注意力機制,從通道和空間兩個維度提取更關鍵、重要的深層特征,兩者結合進一步增強特征表示,使惡意代碼家族分類模型關注于重要的區域,做出更準確的判斷。
2.3.1 通道域注意力機制
通道域注意力機制使神經網絡模型通過訓練獲取每個特征通道的重要程度,以使模型更加關注權重高的通道并抑制權重低的通道。在惡意代碼分類模型中引入通道域注意力機制[19],提高分類模型對全局紋理特征的提取能力,如圖5 所示。
首先,將各類惡意樣本的H×W×C三維特征圖x,分別輸入全局平均池化和最大池化層,從不同的角度提取特征信息,得到兩個1×1×C的特征信息。其次,將特征信息輸入一個多層感知機MLP 中,經過兩層神經網絡,得到兩個1×1×C的通道特征圖,計算公式如式(3)所示,其中σ為Sigmoid 激活函數,W0和W1為多層感知機的兩層參數。最后,將得到的兩個特征相加后經過Sigmod 激活函數得到相應的權重,再與原特征進行相乘得到新特征。

2.3.2 空間域注意力機制
空間域注意力機制使神經網絡模型通過訓練獲取特征圖不同位置的重要程度,以使模型更加關注于關鍵的局部特征。本文惡意代碼家族分類模型在通道域注意力機制的基礎上,加入空間域注意力機制[19],從空間維度提取特征,提高分類模型對局部紋理特征的提取能力,如圖6 所示。

Fig.5 Channel attention圖5 通道域注意力

Fig.6 Spatial attention圖6 空間域注意力
將H×W×C三維特征圖分別輸入最大池化和平均池化層,得到兩個H×W×1的特征信息,并將這兩種特征信息拼接在一起,經過卷積操作后,通過Sigmod激活函數得到相應的權重,再與原特征進行相乘得到新特征,計算公式如式(4)所示。

為了有效地評估本文方法,實驗采用VirusShare.com 公開的惡意樣本數據集,樣本選取的時間范圍以2019 年和2020 年為主。惡意代碼變種及混淆對抗手段不斷加強,單一檢測引擎難以對各類惡意家族進行準確的標注。為了合理地取得惡意樣本的標簽數據,本文借助AVclass[20]對惡意樣本進行標定,標注方法為對VirusTotal.com 報告的各檢測引擎的家族標簽數據進行綜合考慮,并且根據統計結果對惡意樣本進行標簽化。最終,選取了6 464 個樣本作為實驗數據集。數據集中各類惡意代碼家族分布情況如表1所示。
本文對各類惡意代碼家族進行衡量的指標為:TP,將正類預測為正類的樣本數;FN,將正類預測為負類的樣本數;FP,將負類預測為正類的樣本數;TN,將負類預測為負類的樣本數。由于惡意代碼家族分類屬于多分類問題,為了更好地衡量模型對惡意代碼家族分類的效果,對每一類惡意代碼家族的精確率(Precision)、召回率(Recall)、F1 值(F1-score)、準確率(Accuracy),取其算數平均值作為最后模型性能衡量的標準。四個評價指標的計算公式如下,其中,N為總樣本數。

Table 1 Dataset distribution表1 數據集分布情況

不同的注意力機制對模型會產生不同的效果,為了使惡意代碼家族分類模型取得更好的分類效果,研究不同注意力模塊以及注意力模塊的位置對模型分類的影響,實驗中設計了四種注意力模塊,如圖7 所示。
(1)SeparableConv Block。本模塊為原始模型,不采用任何注意力機制,輸入經過兩個深度可分離卷積后直接進行最大池化層。如圖4 所示。
(2)ChannelAttention Block。本模塊在深度可分離卷積和最大池化層間加入通道域注意力機制,通過通道域注意力機制學習不同通道間的權重。如圖7(a)所示。

Fig.7 Block structure圖7 模塊結構
(3)SpatialAttention Block。本模塊在深度可分離卷積和最大池化層間加入空間域注意力機制,通過空間域注意力機制學習局部關鍵特征。如圖7(b)所示。
(4)SplitAttention Block。本模塊將深度可分離卷積后的特征圖分別經過通道域和空間域注意力機制,再將各注意力機制的輸出進行相加,形成新的特征圖,輸入最大池化層。如圖7(c)所示。
(5)CSAttention Block。本模塊將深度可分離卷積后的特征圖經過混合域注意力機制,即先經過通道域注意力機制再經過空間域注意力機制,原特征圖經過這兩次注意力機制處理后,輸入最大池化層。如圖7(d)所示。
本文將各類惡意代碼家族樣本進行數據預處理后按照8∶2 的比例隨機分為訓練集和測試集。實驗使用PyTorch 的transforms 方法對圖像進行預處理,將圖像統一進行標準化、歸一化處理后,分別使用實驗數據集對上述模塊進行訓練和測試。經訓練后,五種模型對各類惡意代碼家族分類準確率如圖8 所示。
各模塊組成的模型的準確率和參數量如表2所示。
經過實驗發現,注意力機制模塊提升了原始模型的分類效果,不同的注意力機制以及注意力機制的位置對模型具有一定的影響。其中,單一注意力機制忽視了某些關鍵特征,將通道域和空間域疊加組合能夠獲取更多有效的特征表達,使模型對各類惡意家族具有更好的識別率。因此,本文選取混合域注意力機制模塊對原始模型進行加強,從而構建基于混合域注意力機制的深度可分離卷積網絡模型,模型具體網絡結構如表3 所示。

Fig.8 Accuracy of malicious family圖8 各類惡意家族分類準確率

Table 2 Model accuracy and number of parameters表2 模型準確率和參數量
3.4.1 不同區段特征對比
由于PE 文件的段名之間存在差異性,本文選用IDA PRO 反匯編工具對樣本進行區段提取,其中,“.text”統稱為代碼段,“.data”“.rdata”“.idata”“.edata”統稱為數據段。實驗中將惡意樣本進行區段劃分,對各區段進行可視化,從而研究數據段、代碼段以及各區段融合特征對惡意代碼家族分類的影響。三組不同區段特征下各類惡意代碼家族的準確率、精確率、召回率和F1 值如圖9 所示。

Table 3 Network structure表3 網絡結構

Fig.9 Features contrast of different sections圖9 不同區段特征對比
由圖9 可知,融合特征能夠有效區分各類惡意代碼家族,其準確率、精確率、召回率和F1 值均高于代碼段特征和數據段特征,其中,融合特征對Ursnif、Zbot 家族識別效果更好,對于這些惡意家族,單一區段特征不能完全描述此類惡意家族的全部特征信息,不能進行準確的檢測與分類。經測試,代碼段和數據段均會影響模型對各惡意家族的同源判定,惡意樣本不僅在代碼段中描述其惡意功能,而且在數據段中存有相關惡意數據,部分惡意家族的PE 頭信息以及其他區段也存在一定的惡意信息。因此,對于惡意代碼家族多分類問題,要綜合考慮各區段特征,基于區段特征融合的可視化方法可以在一定程度上解決因傳統可視化方法導致的惡意家族數據缺失、文件結構破壞等問題。
3.4.2 不同模型對比
為進一步驗證模型的準確率和泛化能力,選取惡意代碼家族分類研究中常使用的機器學習和深度學習模型進行對比分析,如KNN、SVM、RF、VGG16、InceptionV2、ResNet50、MobileNetV2。八種分類模型在測試集上進行對比實驗,各類惡意代碼家族分類準確率如圖10 所示。采用模型準確率、宏召回率、宏精確率和宏F1-score 作為模型性能評價的指標,模型的對比實驗結果如表4 所示。

Fig.10 Accuracy of malicious family圖10 各類惡意家族分類準確率
實驗結果表明,機器學習和深度學習相關分類算法在本文數據集上均有不錯的表現,證明了本文特征提取方法的可行性和有效性。該方法能夠突顯惡意家族的核心特征,有利于分類器對惡意樣本進行同源判定。從圖10 可知,本文提出的模型優于一些機器學習分類算法,對各類惡意家族分類效果較好。深度學習模型經過訓練后,由標準卷積組成的神經網絡模型分類準確率較高,而深度可分離卷積將空間特征和跨通道特征完全分開,采用深度卷積進行空間特征提取,逐點卷積進行跨通道特征提取,兩者深度提取了豐富的特征信息,進一步提升了模型的判別能力。基于混合域注意力機制的深度可分離卷積網絡模型的準確率、宏召回率、宏精確率和宏F1-score 均優于VGG16、InceptionV2、ResNet50、MobileNetV2 四種神經網絡模型,說明混合域注意力機制從通道和空間兩個維度學習不同的權重,多維度地提取惡意代碼家族圖像的深層紋理特征,加強模型提取關鍵特征的能力,從而提高模型的分類準確率。

Table 4 Comparison of model test results表4 模型測試結果對比
在本文實驗中,模型主要分為數據預處理和惡意家族分類兩部分。數據預處理階段采用IDA Pro工具提取區段特征,按照規則進行可視化,該階段時間開銷取決于區段提取器的效率。本文實驗環境為i7-9750H,2.60 GHz CPU,32 GB 內存。為測試數據預處理階段的時間開銷,從各類惡意家族中隨機選取若干樣本,計算特征提取所需時間,并取其算數平均值作為樣本的平均時間開銷。樣本在數據預處理階段中的平均時間開銷如表5 所示。
在惡意家族分類階段,相比于機器學習分類算法,深度學習分類模型需要訓練神經網絡獲取性能優良的分類器。在表4 所述的分類模型中,本文提出的模型借鑒輕量化網絡結構,參數量較少,在同等參數量的情況下可獲得更高的分類性能,但在時間開銷上,由于本文模型結構深而寬以及注意力機制的引入,相比于淺層神經網絡增加了一定的計算時間,在保持對惡意家族的分類準確率的基準上,對每個樣本的平均檢測時間為1.13 s。

Table 5 Average time overhead of data preprocessing表5 數據預處理平均時間開銷
本文采用惡意代碼可視化的方法對惡意代碼家族進行分類研究,針對傳統可視化中數據損失、單一等問題,提出了一種基于區段特征融合的可視化的方法,即提取惡意樣本的各區段特征以增加圖像的信息量,使圖像的不同通道代表不同的區段特征。同時借此探究了不同區段對惡意代碼家族分類的影響,實驗證明單一區段特征不足以表征惡意代碼家族的全部特征信息,對各區段特征進行融合可以提高模型的判別能力。為了使分類模型有效地提取惡意樣本的關鍵特征,融合注意力機制,提出了一種基于混合域注意力機制的深度可分離卷積網絡。該模型從不同的維度獲取不同的權重信息,提取惡意樣本的核心特征,與傳統的機器學習和深度學習方法相比,取得了較好的分類效果。
本文采取靜態方法提取各區段特征,不可避免地需要處理一些加殼樣本,加大了特征提取的復雜度。下一步將對特征工程進行優化,結合動態特征以對抗加殼混淆樣本,提高惡意代碼家族分類效率和魯棒性,同時對惡意家族分類模型的網絡結構進行調整優化,減少在實際環境中的時間開銷。