国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于擠壓激勵網(wǎng)絡的惡意代碼家族檢測方法*

2022-07-13 01:04:30申高寧陳志翔
關鍵詞:灰度家族準確率

申高寧,陳志翔,王 輝,陳 姮

(1.閩南師范大學 計算機學院,福建 漳州363000;2.數(shù)據(jù)科學與智能應用福建省高校重點實驗室,福建 漳州363000;3.閩南師范大學 物理與信息工程學院,福建 漳州363000)

0 引言

在過去幾年里隨著互聯(lián)網(wǎng)的飛速發(fā)展,惡意代碼數(shù)量也呈爆發(fā)式增長。2020 年瑞星“云安全”系統(tǒng)共截獲病毒樣本總量1.48 億個[1],病毒感染次數(shù)為3.52 億次,病毒總體數(shù)量比2019 年同期上漲43.71%,惡意代碼已經(jīng)成為網(wǎng)絡安全的重要威脅之一[2]。惡意軟件作者經(jīng)常會重用代碼用來生成具有相似特征的其他惡意變體,而這些惡意變體通??梢詺w類為同一個惡意軟件家族。因此,識別惡意軟件家族的能力變得十分重要,通過對惡意代碼的分類,可以更好防范惡意代碼攻擊。

近年來,惡意軟件檢測分類出現(xiàn)了靜態(tài)分析和動態(tài)分析。靜態(tài)分析側(cè)重于統(tǒng)計特征,例如API 調(diào)用、操作碼序列等。Wang[3]等人通過提取權(quán)限、硬件功能和接收者動作等122 個特征,使用多種機器學習分類器進行訓練和測試,并使用隨機森林(Random Forest)分類器獲得較高的分類準確率。動態(tài)分析則是使用虛擬的環(huán)境來分析惡意應用程序的行為[4]。但是這些技術(shù)大多數(shù)需要提取大量特征,檢測效率不高,對特征的選擇需要一些專家知識,并且有一定的主觀性。

為了降低特征工程成本和領域?qū)<抑R,一些研究人員使用可視化方法來解決惡意軟件家族分類問題。例如,Nataraj 等人[5]提出把惡意代碼二進制文件轉(zhuǎn)化為灰度圖,然后利用k 近鄰算法對惡意代碼進行分類,這種方法相比于之前未轉(zhuǎn)換灰度圖,直接分類的方法準確率有一定提高,但是該方法用GIST 提取圖片特征需要耗費大量時間,導致效率不高。

隨著深度學習在圖像分類領域的快速發(fā)展,有學者將深度學習引入到惡意代碼檢測領域。Choi 等人[6]把惡意代碼二進制文件轉(zhuǎn)化為灰度圖像,運用深度學習的技術(shù),在12 000 個樣本中達到了95.66%的準確率。Su 等人[7]用light-weight DL 技術(shù)進行惡意代碼家族分類,取得94.00%的成績,但是他們提出的網(wǎng)絡只對兩類家族進行分類,有一定的局限性。Cui 等人利用卷積神經(jīng)網(wǎng)絡在圖像分類的出色表現(xiàn),并分別利用蝙蝠算法[8]和NSGA-Ⅱ算法[9]處理惡意代碼樣本數(shù)量不均的問題,該方法準確率明顯高于傳統(tǒng)機器學習方法,且算法復雜度較低。隨著更深網(wǎng)絡的提出,Rezende 等人提出將VGG16 網(wǎng)絡[10]以ResNet 網(wǎng)絡[11]運用在惡意代碼檢測分類上,該方法準確率有所提升,但是參數(shù)量變得巨大,分類效率有待提升。

基于上述方法產(chǎn)生的問題,本文提出了一種基于卷積神經(jīng)網(wǎng)絡[12]的分類方法SE-CNN,實現(xiàn)惡意代碼家族分類。首先將惡意代碼的二進制文件轉(zhuǎn)化成灰度圖得到灰度圖像數(shù)據(jù)集,然后構(gòu)建SE-CNN網(wǎng)絡模型對灰度圖像數(shù)據(jù)集進行訓練,最后實現(xiàn)對惡意代碼的檢測分類。該方法采用CNN 對灰度圖像自動提取特征,解決了特征提取慢且耗時的問題;通過結(jié)合SE 模塊自適應學習通道重要程度信息,并賦予特征通道權(quán)重,從而激勵有用特征信息,同時抑制無用信息,提升了模型分類準確率。實驗結(jié)果表明,本文方法準確率高于傳統(tǒng)機器學習方法,且參數(shù)量相較于先進的深度學習方法更低。

1 基于SE-CNN 的分類檢測算法

本文惡意代碼檢測模型框架如圖1 所示,首先將惡意代碼二進制文件轉(zhuǎn)化為灰度圖像,然后將灰度圖作為輸入層,通過卷積神經(jīng)網(wǎng)絡層對圖片特征進行提取,再經(jīng)過擠壓和激勵網(wǎng)絡模塊對特征通道權(quán)重分配,接著通過丟棄(Dropout)層減少一定參數(shù),從而防止模型過擬合,提升模型泛化能力,最后通過全連接層進行檢測分類。具體模型參數(shù)如表1 所示,其中Conv 表示卷積層,Pool 表示池化層,F(xiàn)c 表示全連接層。

1.1 惡意代碼可視化

惡意代碼可執(zhí)行文件中的惡意行為不僅僅只存在于惡意代碼中,還可能存在于其他數(shù)據(jù)中。如果只提取惡意代碼進行檢測,可能檢測不全,如果全部提取又會增加時間消耗,還會降低準確度。本文將惡意代碼可執(zhí)行文件直接轉(zhuǎn)換為灰度圖像[4],因此可以處理惡意代碼可執(zhí)行文件中的所有部分,同時相比于直接對文件進行特征提取,時間可有效縮短。具體方法如圖2 所示,本文把二進制可執(zhí)行文件轉(zhuǎn)化為二維的矩陣。

圖1 本文模型架構(gòu)

表1 模型參數(shù)

圖2 惡意代碼可視化

在二進制文件轉(zhuǎn)換后的灰度圖像中,相同的家族有著類似的灰度圖紋理,不同家族的灰度圖紋理具有一定的差別,如圖3 所示,Swizzor.gen!E 和Swizzor.gen!I 家族灰度圖有著相似的紋理。在一些算法模型上,對有著相似紋理的家族分類效果也不太理想。

1.2 卷積神經(jīng)網(wǎng)絡模塊

卷積神經(jīng)網(wǎng)絡是一種前饋神經(jīng)網(wǎng)絡[12],廣泛用于圖像分類[13]、語音識別等領域,它能以較少的時間提取特征信息。卷積神經(jīng)網(wǎng)絡對輸入的圖片提取特征,然后通過全連接層進行分類。

1.2.1 卷積層

卷積層是對輸入的特征圖進行特征提取,通過卷積核和特征圖做卷積運算,然后通過激活函數(shù)得到輸出特征圖。本文模型使用了線性整流函數(shù)(Rectified Linear Unit,ReLU) 作為卷積層的激活函數(shù),式(1)為ReLU 函數(shù)的形式。ReLU 函數(shù)在x 大于0時,可以有效防止梯度彌散,加快計算。

1.2.2 池化層

池化層又叫下采樣層,經(jīng)過卷積層后輸出的特征圖會被傳遞到池化層,然后進行特征選擇和信息過濾。本文采取了極大池化(max pooling)方法,極大池化即輸出區(qū)域內(nèi)最大值。通過池化層能減少特征維度,降低過擬合。

1.2.3 全連接層

全連接層可以整合具有類別區(qū)分性的局部信息,在卷積神經(jīng)網(wǎng)絡中,通常會有一個或者一個以上的全連接層。本文模型最后是一個全連接層,用來對提取特征信息進行整合,然后將結(jié)果傳遞給Softmax分類器進行分類。式(2)為Softmax 函數(shù)。通過Softmax函數(shù)可以使分類的概率范圍在0~1 之間,輸出值可以用來檢測某一類樣本的概率,達到多分類的目的。

式中Zi表示第i 個節(jié)點的輸出值,M 表示輸出節(jié)點個數(shù)。

1.3 擠壓和激勵網(wǎng)絡模塊

受啟發(fā)于擠壓和激勵網(wǎng)絡在圖像分類中優(yōu)異的表現(xiàn)[14],本文將結(jié)合擠壓和激勵模塊來對惡意家族灰度圖像進行分類。擠壓和激勵模塊原理圖如圖4 所示。

圖4 擠壓和激勵模塊原理圖

擠壓和激勵模塊直接連接在卷積神經(jīng)網(wǎng)絡模塊之后,輸出的多通道特征圖用U=[u1,u2,…,uC]來表示,特征圖的寬為W,高為H,通道數(shù)為C。通過擠壓操作和激勵操作,最終得到加權(quán)特征圖X=[x1,x2,…,xC]。下面詳細介紹具體過程。

1.3.1 擠壓塊

為了得到多通道特征圖之間的相關權(quán)重信息,首先進行擠壓操作,對多通道特征圖U 進行全局平均池化(global average pool),把H×W×C 的多通道特征圖U 擠壓成1×1×C 的向量Z,公式如下:

其中zy(y=1,2,…,C)表示向量Z 中第y 通道的特征向量,uy(y=1,2,…,C)表示U 中第y 通道的特征圖。分別把C 個通道H×W×1 的特征圖池化為1×1×1 的信息點,經(jīng)過C 個通道的池化,最后形成1×1×C 的向量Z。因此經(jīng)過擠壓操作后的向量Z 集合了整個特征圖像信息。

1.3.2 激勵塊

激勵塊的目的是為了利用擠壓操作后聚集的信息,充分獲取通道之間的關系,激勵有用的信息傳遞。為了限制模塊的復雜性和提升通用性,激勵操作包含了兩個全連接層,即一個降維層和一個升維層。通過兩個全連接層后得到1×1×C 的向量S,S 的公式如下:

其中σ 表示Sigmoid 函數(shù),δ 表示ReLU 激活函數(shù),W=[W1,W2],W1代表維度縮減參數(shù),W2代表維度增加參數(shù),F(xiàn)ex為加權(quán)函數(shù)。Sigmoid 函數(shù)表示如式(5)所示:

通過激勵操作中降維層和ReLU 激活函數(shù)以及升維層在進行非線性變換時建立通道之間的相關性,然后通過Sigmoid 激活函數(shù)將權(quán)重信息歸一化到[0,1],最終輸出的向量S 包含了各通道重要程度的信息。

將向量S 中C 通道的權(quán)重系數(shù)sy(y=1,2,…,C)對C 通道特征圖U 進行加權(quán),得到加權(quán)特征圖X,即:

式中xy(y=1,2,…,C)為加權(quán)特征圖X 中第y 通道特征圖,函數(shù)Fscale(uy,sy)把特征圖uy和對應通道的權(quán)重系數(shù)相乘,其結(jié)果為xy。最終每個通道特征圖都被賦值了不同的權(quán)重,用來表示特征信息的重要程度,從而實現(xiàn)激勵有用信息,抑制無用信息。

1.4 Dropout 層

深度學習的神經(jīng)網(wǎng)絡模型在訓練時容易出現(xiàn)過擬合現(xiàn)象,Dropout 算法的提出,在一定程度上可以防止模型過擬合[15],提高模型泛化性。圖5 展示了其中一種忽略部分隱層節(jié)點的情況。Dropout 算法的原理是在模型訓練中隨機忽略部分隱層節(jié)點,在每批次的訓練過程中,由于每次忽略的隱層節(jié)點不同,使得每次訓練網(wǎng)絡都有所不同,每次訓練都可以看作是一個“新”模型。此外,由于節(jié)點都是以一定概率隨機忽略,使模型不會過分依賴于某些局部特征。

圖5 使用Dropout 的網(wǎng)絡模型

Dropout 過程是一個有效的神經(jīng)網(wǎng)絡模型平均的方法,通過訓練大量不同的網(wǎng)絡來平均預測結(jié)果,這使得模型泛化性更強,防止了模型過擬合。

Dropout 取值大小代表隨機忽略的節(jié)點占總節(jié)點比率。Dropout 的取值會一定程度影響實驗結(jié)果,Dropout 的值太小,會導致防止過擬合的作用效果不佳,Dropout 值過大就會導致模型欠擬合。所以針對Dropout 的取值本文做了對比實驗。如圖6 所示,當Dropout 取值為0.6 時,準確率最高,所以本文選取Dropout 為0.6 作為實驗參數(shù)設置。

圖6 Dropout 取值對實驗結(jié)果的影響

2 實驗過程與結(jié)果分析

2.1 實驗數(shù)據(jù)集和實驗環(huán)境

本文使用的數(shù)據(jù)集是Nataraj 等人公開的Malimg數(shù)據(jù)集,該數(shù)據(jù)集包含了9 339 個樣本,共有25 類。本文實驗環(huán)境為64 位Windows 10 操作系統(tǒng),處理器為Intel Core i5-6300HQ,8 GB 內(nèi)存,NVIDIA GeForce GTX 960 M 顯卡以及2.2.0 版本Tensorflow-GPU。

2.2 評估指標

本文使用的評價指標分別為準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1-Score,這些評價指標也被廣泛地用在了最近研究中[9,15]。此外本文還引入了方差評價指標,用來評估模型在25 類家族準確率的穩(wěn)定性。

Accuracy:是指分類正確的樣本占總樣本的比例,即用分類正確的正樣本和分類正確的負樣本之和除以總樣本數(shù)。其公式如下:

Precision:是指分類為正確樣本占真正正確樣本的比例。其公式如下:

Recall:是指分類為正樣本占總正樣本的比例。其公式如下:

F1-Score:是指精確率和召回率的調(diào)和平均數(shù),結(jié)合兩者綜合考慮的指標。其公式如下,其中P 代表Precision,R 代表Recall。

方差:是每個樣本值與全體樣本值的平均數(shù)之差的平方值的平均數(shù)。其公式如下:

式中σ2表示總體方差,Xi表示第i 個變量,u 代表總體均值,N 表示總體個數(shù)。

上述評價指標參數(shù)說明如下:TP 為將正樣本預測為正樣本的數(shù)量;TN 為將負樣本預測為負樣本的數(shù)量;FP 為將負樣本預測為正樣本的數(shù)量;FN為將正樣本預測為負樣本的數(shù)量。

2.3 不同大小圖片對模型的影響

不同的圖像尺寸對實驗的效果也有一定的影響。針對輸入圖像尺寸問題,本文做了對比實驗,分別將惡意代碼圖像縮放為64×64、128×128、256×256 的尺寸作為輸入。如表2 所示,256×256 尺 寸的輸入圖像效果最好,64×64 尺寸的輸入圖像相比于其他尺寸在準確率方面有一定下降,原因是尺寸過小會忽略一些原始圖像邊緣信息,導致分類效果稍微差一些。從表中還可以看出256×256 尺寸的輸入圖像時間開銷是128×128 尺寸的輸入圖像的10倍左右,但是128×128 尺寸的輸入圖像的效果和256×256 尺寸的輸入圖像效果相差不大,時間開銷卻更少,所以本文最終選取輸入圖像的尺寸為128×128。

2.4 實驗評估

為了驗證本文提出模型的檢測效果,將本文提出的方法和支持向量機、隨機森林等傳統(tǒng)的機器學習方法以及未結(jié)合SE 模塊的卷積神經(jīng)網(wǎng)絡方法做了對比,對數(shù)據(jù)集中25 類家族的Accuracy、Precision、Recall、F1-Score 和方差等指標進行了比較。最后本文還和最近文獻使用了Malimg 數(shù)據(jù)集的機器學習方法和深度學習檢測分類方法[8-11]進行了比較。

在上述實驗條件下,本文獲得了98.86%的分類準確率。表3 展示了5 種方法總體的準確率、精確率、召回率和F1-score。結(jié)果表明,本文提出的分類方法在分類精度方面優(yōu)于其他所有分類方法,比未結(jié)合SE 模塊的卷積神經(jīng)網(wǎng)絡模型準確率提高了0.32%。

表2 不同尺寸圖像的檢測結(jié)果

表3 模型檢測結(jié)果對比

圖7 ~圖10 展示了5 種方法在25 類惡意代碼家族的準確率、精確率、召回率和F1-score。實驗結(jié)果表明,本文提出的SE-CNN 算法(98.86%)在準確度上高于支持向量機(96.96%)、隨機森林(97.68%)、決策樹(94.90%)、卷積神經(jīng)網(wǎng)絡(98.54%)等算法。并且在Swizzor.gen! E 和Swizzor.gen! I 兩個惡意家族十分相似的情況下,其他分類方法都不能準確地區(qū)分它們,但本文方法還保持了較高準確度。

圖11 表示了各類方法在25 類惡意家族準確率的方差??梢钥闯霰疚牡姆椒ǚ讲钭钚?,一定程度上反映了本文方法在25 類惡意家族分類準確率的穩(wěn)定性相較于其他方法更優(yōu)一些。

如表4 所示,本文與現(xiàn)有的基于機器學習和深度學習技術(shù)的惡意軟件分類方法進行了比較。以下方法均使用了公開的Malimg 數(shù)據(jù)集。

由表4 可見,與深度學習算法VGG16 和ResNet相比,本文方法參數(shù)量更少。表中一些算法在網(wǎng)絡訓練過程中,采用了不同的技術(shù)來平衡Malimg 數(shù)據(jù)集中惡意代碼家族不平衡的問題,如Cui 等人使用了BAT[8]和NSGA-II[9]等平衡數(shù)據(jù)集的技術(shù)。本文方法沒有采用任何平衡數(shù)據(jù)的技術(shù),并取得了較高分類準確率。

本文在相似的家族分類中也保持了較高的召回率,如表5 所示,對C2LOP.gen!g 和C2LOP.P 家族,以及Swizzor.gen!E 和Swizzor.gen!I 家族的召回率進行了對比。

表4 與其他文獻方法比較

表5 相似家族召回率比較 (%)

本文方法在相似家族的分類召回率上有較大提升,是因為本文方法結(jié)合了CNN 和SE 模塊的優(yōu)點,通過激勵特征通道中有用信息并抑制無用信息,可以更好地區(qū)分相似惡意家族之間的細微變化。

圖7 不同分類方法在25 類惡意家族的準確率

圖8 不同分類方法在25 類惡意家族的精確率

圖9 不同分類方法在25 類惡意家族的召回率

3 結(jié)論

現(xiàn)有的反惡意代碼的解決方案主要還是依賴于機器學習技術(shù)。雖然基于機器學習的方法已經(jīng)被證明在檢測新的惡意代碼方面具有有效性,但同時也伴隨著巨大的開發(fā)成本。機器學習所需要的有用特征需要花費大量時間以及一定的惡意代碼分析專業(yè)知識。

在深度學習架構(gòu)中,尤其是卷積神經(jīng)網(wǎng)絡,在檢測惡意代碼方面有出色的表現(xiàn)。因此,本文提出了一種基于圖像和卷積神經(jīng)網(wǎng)絡的惡意代碼檢測方法,把SE 模塊和卷積神經(jīng)網(wǎng)絡相結(jié)合,快速對惡意代碼轉(zhuǎn)換的灰度圖像進行分類,準確識別惡意代碼所屬家族。實驗結(jié)果證明,本文方法在大多數(shù)惡意樣本下分類正確,即使在惡意代碼家族相似的情況下也有較高的準確率;本文方法與傳統(tǒng)的基于機器學習解決方案相比具有更高的準確率,同時避免了手動特征工程階段,節(jié)省了大量時間。未來工作將惡意代碼轉(zhuǎn)換成彩色圖像也是研究的一個方向。

圖10 不同分類方法在25 類惡意家族的F1-score

圖11 25 類惡意家族準確率的方差

猜你喜歡
灰度家族準確率
采用改進導重法的拓撲結(jié)構(gòu)灰度單元過濾技術(shù)
基于灰度拉伸的圖像水位識別方法研究
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
HK家族崛起
《小偷家族》
電影(2019年3期)2019-04-04 11:57:18
高速公路車牌識別標識站準確率驗證法
皿字家族
家族中的十大至尊寶
江西省| 金门县| 屯昌县| 大足县| 九江县| 唐海县| 濮阳县| 阿克陶县| 九龙县| 茌平县| 岳普湖县| 平果县| 高陵县| 阳原县| 文水县| 浦城县| 高唐县| 太康县| 电白县| 惠东县| 龙岩市| 乌海市| 南木林县| 白河县| 宜城市| 鱼台县| 九龙县| 青田县| 黄冈市| 克拉玛依市| 白玉县| 隆化县| 盐亭县| 巴东县| 台南县| 西华县| 定襄县| 富裕县| 上高县| 宝应县| 依兰县|