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

基于半監督生成對抗網絡的惡意代碼家族分類實現*

2022-05-26 08:25:26玄佳興韓雨桐趙麗花王旭仁
計算機工程與科學 2022年5期
關鍵詞:特征提取分類監督

王 棟,楊 珂,玄佳興,韓雨桐,趙麗花,王旭仁

(1.國網電子商務有限公司(國網雄安金融科技集團有限公司),北京 100053;2.國家電網有限公司區塊鏈技術實驗室,北京 100053;3.中國科學院信息工程研究所,北京 100093;4.首都師范大學信息工程學院,北京 100048)

1 引言

近年來,惡意代碼的數量高速增長,據著名殺毒軟件測試機構AV-TEST(AntiVirus-TEST)在線統計數據顯示,截止到2020年上半年,全球發現的惡意軟件總量高達10.65億,近10年一直保持著16%以上的增長速度。惡意代碼的數量和種類不斷增多,隱蔽能力越來越強,破壞程度越來越大。

隨著互聯網的發展,惡意代碼呈現海量化與多態化的趨勢,這使得惡意代碼家族分類也面臨著更大的挑戰:惡意代碼特征難以有效提取,采用簽名的方法無法應對新產生的惡意代碼變種,靜態分析方法容易受到混淆手段的影響,動態分析方法又難以獲得全面的樣本行為。因此,惡意代碼的分類成為了一個亟待研究的問題。惡意代碼的分類存在2種情況:一是將代碼或者樣本分類為良性代碼或者惡意代碼的二分類問題;另一種是將惡意代碼分類到不同家族的分類問題。本文討論第2種分類問題。

應用機器學習對惡意代碼進行自動化分析,首先要能自動化地提取惡意代碼特征。2011年,Nataraj等[1]首次提出將惡意代碼轉化為可視化圖像,然后進行惡意代碼分析的方法。其基本思想是將每8位二進制數轉化為0~255的值,作為一個像素點值,這樣可把惡意代碼轉化為一幅灰度圖。屬于同一個家族的惡意代碼圖像之間具有很強的視覺相似性。Nataraj等采用通用搜索算法對二進制圖像進行紋理特征提取,并使用K近鄰KNN(K Nearest Neighbor)算法進行分類。這種將惡意代碼轉換為圖像的特征提取方法無需手工提取特征碼,也不需要對惡意代碼進行脫殼分析、逆向分析和動態分析。Kancherla等[2]利用Gabor濾波器提取惡意代碼圖像的全局特征和小波特征,然后再進行分類研究。Ni 等[3]基于Simhash算法把惡意代碼基于控制流程圖的opcode特征轉化為圖像,使用圖像分類的方法進行處理。張景蓮等[4]從病毒反編譯文件中提取惡意代碼局部特征Opcode N-gram和灰度圖紋理,并將顏色直方圖作為惡意代碼的全局特征,采用隨機森林對惡意代碼進行分類,效果顯著。孫博文等[5]使用惡意代碼ASCII字符信息和可移植可執行文件PE (Portable Execute)結構信息對傳統惡意代碼灰度化圖像方法進行改進,生成彩色圖像,最后借鑒圖像處理領域的VGG16(Visual Geometry Group)神經網絡模型對惡意代碼圖像進行訓練。

對惡意代碼特征進行分類的方法主要有支持向量機、K近鄰算法、決策樹和隨機森林等常見的機器學習算法。近年來深度學習廣泛應用在惡意代碼圖像或者惡意代碼語義分析上。Pendlebury等[6]提出TESSERACT系統,使用3種分類器(SVM、隨機森林和深度學習模型)對安卓惡意軟件隨時間和空間發展造成的偏差進行對比,提出時間感知性能指標。Homayoun等[7]使用長短時記憶LSTM(Long Short-Term Memory)網絡和深度神經網絡 DNN (Deep Neural Network)對勒索軟件和良性軟件進行二分類,以便進一步對勒索軟件進行家族多分類。Saxe等[8]提取惡意軟件運行時的4個特征,使用深度神經網絡對惡意代碼進行二分類。更進一步,由于惡意代碼種類繁多,且人工評估的成本高、效率低,樣本集往往沒有標簽或給出的標簽較少。在半監督學習中,生成對抗網絡GAN(Generative Adversarial Network)表現出了很大的潛力,即使在標簽數據很少的情況下,分類器也能取得良好的檢測效果。Al-Dujaili等[9]使用對抗學習提升深度學習模型在惡意代碼上的檢測效果;Kim等[10]將生成對抗網絡在惡意代碼家族分類上的應用限制于二分類任務,沒有涉及到半監督學習。Salimans等[11]使用半監督生成對抗網絡SGAN(Semi-supervised Generative Adversarial Network)提升深度學習模型分類準確率。上述工作取得了很多突破和進展,但是在工作整合和惡意代碼分類的準確率上仍有提升空間。

本文在上述研究的基礎上,綜合使用GAN與惡意代碼圖像預處理相結合的方法,以解決惡意代碼特征提取困難、樣本標簽缺乏等因素導致分類效果不好的問題。利用圖像特征提取方法將惡意代碼轉換為灰度圖;利用縮放算法和Gamma 校正法將圖像標準化。為提高惡意代碼家族分類的準確率,將半監督生成對抗網絡與深度卷積網絡相結合,構建半監督深度卷積生成對抗網絡SGAN-CNN(Semi-supervised Generative Adversarial Network based on CNN)分類模型,對惡意代碼家族進行分類。

2 相關工作

2.1 惡意代碼特征提取

要對惡意代碼進行家族分類,首先需要進行惡意代碼特征提取。特征將直接影響分類的效果和準確率。根據惡意代碼特征提取過程中是否需要運行惡意代碼,可將惡意代碼特征分為靜態特征和動態特征。

靜態特征提取方法主要有簽名的方法、基于N-gram的方法和基于控制流圖的特征提取方法。簽名的方法在惡意代碼發生變體(例如使用代碼混淆、花指令等手段)時,惡意代碼簽名會發生變化,從而使沒有及時更新的簽名失效。N-gram是文本挖掘模型,N是指滑動窗口大小,使用N-gram方法可以提取二進制代碼的語義特征和文本頻率特征,例如PE文件的頭部、代碼段的特征和API調用等。但是,在惡意代碼使用加密、代碼重用時,N-gram方法面臨挑戰。基于控制流圖的特征提取方法是分析惡意代碼的函數、功能模塊以及代碼塊之間的調用順序和執行邏輯。惡意代碼使用自修改、代碼重用和加殼等手段使得惡意代碼可讀性很差或者根本不可讀,增加了控制流圖分析的難度。

動態特征提取方法主要是將惡意代碼運行在沙箱等虛擬環境中,記錄惡意代碼運行時的行為序列和環境參數的變化。由于越來越多的惡意代碼具備對抗沙箱能力,即檢測運行環境從而繞過監控的能力,這給惡意代碼的動態分析帶來很大的挑戰。

本文充分利用惡意代碼家族圖像的相似性,結合半監督深度卷積生成對抗網絡SGAN-CNN,有效避免了惡意代碼特征提取的問題和樣本標簽不充分的問題。

2.2 惡意代碼圖像特征處理和規范化

對惡意代碼進行預處理的方式多種多樣,其中一種是將惡意代碼轉化為可視化圖像,該預處理方式耗時短。Cui等[12]使用類似雙線性插值算法的三線性插值算法進行圖像采樣和標準化。但是,雙線性插值縮放在規范化圖像時有大量的信息損失。本文在不依賴反匯編的情況下,將惡意代碼的每8個比特轉化為目標圖像的一個像素,從而將惡意代碼轉化為一維灰度圖像。如果將惡意代碼轉化為二維或者高維圖像,原圖像中空間上分離的點會被重排到二維圖像的一列或者相鄰列上,后續的深度學習模型會傳遞這種空間局部相關性(例如池化處理),所以本文不進行維度變換。本文使用改進的惡意代碼圖像縮放算法IMIR(Improved Malware Image Rescaling)[13]進行圖像縮放,因為處理的是一維圖像,因此在水平方向上使用滑動窗口的方法對圖像進行采樣,將惡意代碼圖像縮小到4 096像素。IMIR將采樣點的范圍從最近的若干個點提升至整個滑動窗口內的點,從而保留窗口內所有圖像信息。

2.3 生成對抗網絡GAN

GAN是一種重要的對抗學習模型,主要用于深度學習下的數據增強[14]、風格遷移[15]和超分辨率[16]等任務。GAN包含1個判別器D和1個生成器G,二者進行對抗訓練:生成器G盡可能生成與原始數據分布相近的數據集,使判別器D無法將其與原始數據區分;而判別器D則盡可能提升自身區分原始數據與合成數據的能力。經過一段時間的對抗訓練后,生成器G能夠生成接近原始數據分布的樣本,用于解決由于訓練樣本不足導致的分類過擬合問題。

2.4 半監督生成對抗網絡SGAN

半監督生成對抗網絡SGAN是生成對抗網絡在多分類問題下的一種變體。單純的生成對抗網絡只處理二分類問題,無法直接進行多分類建模。半監督生成對抗網絡SGAN-CNN使用CNN替代判別器,輸出層使用Softmax進行多分類,實現分類器的作用。多分類任務下,分類器的輸入為有標簽樣本、無標簽樣本和生成樣本。有標簽樣本攜帶有多分類信息,而半監督生成對抗網絡的監督單元可以直接對多分類問題建模,無監督單元可以學習無標簽樣本的信息,并利用對抗訓練提升分類器對潛在樣本的分類能力。根據文獻[11],對于任意的標準K分類器,將生成器G生成的樣本添加至數據集中,視為一個新類別,即第“K+1”個類別。損失函數和訓練目標函數定義分別如式(1)~式(4)所示:

L=Lsupervised+Lunsupervised

(1)

Lsupervised=-Ex~labeledlnPD(y|x,y

(2)

Lunsupervised=-[Ex~reallnPD(y

Ez~N(0,1)lnPD(y=K+1|G(z))]

(3)

(4)

其中,z是隨機噪聲向量,符合均勻分布。PD(y|x,y

3 半監督深度卷積生成對抗網絡模型SGAN-CNN

為了解決惡意代碼標簽不足的問題,本文構建一種半監督深度卷積生成對抗網絡模型SGAN-CNN。將SGAN-CNN無監督學習中判別器D再拆分為兩個子功能模塊:判別器D和分類器C。將高效的一維卷積神經網絡作為判別器D和分類器C共享的特征提取器,從而增強分類器的分類效果。

3.1 SGAN-CNN模型

SGAN-CNN模型工作原理如圖1所示。圖1中C是分類器,D是判別器,G是生成器。惡意代碼樣本首先經過圖像特征提取和縮放,再通過深度卷積網絡訓練惡意樣本分類器C。在訓練分類器時,為了補償標簽不足的問題,通過對深度卷積網絡進行誤差修正,提高分類器的效果。

Figure 1 Malicious sample classification process based on SGAN-CNN圖1 基于SGAN-CNN的惡意代碼分類流程

生成器G根據隨機噪聲z產生逼近真實數據分布的生成樣本G(z)。將有標簽的真實樣本輸入到分類器C進行惡意代碼家族識別。有標簽和無標簽的真實樣本與生成樣本G(z)均輸入到判別器D,判別器D區分其為生成樣本或真實樣本,需要挖掘無標簽數據中深層本質特征,然后通過損失函數反饋,最終實現提高分類器C識別性能的目的。

3.2 SGAN-CNN生成器構造

生成器G的結構參照經典生成對抗網絡 DCGAN(Deep Convolutional GAN)[17]設計,如圖2所示。由于惡意代碼圖像只有1個通道而非3個通道,本文將初始通道數由1 024改為 512;由于卷積方式是一維的,因此對應的卷積核也從 5*5 改為 25,對應步長改為 4。噪聲z可以為正態分布或均勻分布,本文采用的是均勻分布。經過1個全連接層、4個轉置卷積層的處理后,將維度為100的隨機分布z映射為一個惡意代碼圖像,用以在對抗訓練中欺騙判別器。

Figure 2 Construction of SGAN-CNN generator G圖2 SGAN-CNN生成器G的構造

3.3 SGAN-CNN判別器構造

SGAN-CNN的監督學習完成主要的分類任務,無監督學習完成生成對抗任務。即將判別器判斷為真實的樣本分別歸為不同的惡意代碼家族,將判別器判斷為生成器生成的樣本歸為“K +1”標簽。這樣,將原有判別器D拆分為判別器D和分類器C兩部分。判別器D和分類器C只在最后的輸出層分別輸出,可以視為兩個子任務。

Figure 3 Optimization diagram of SGAN-CNN discriminator圖3 SGAN-CNN判別器優化示意圖

本文根據VGG模型[18]設計惡意代碼判別器,如圖3所示,SGAN-CNN判別器包含5組伴隨最大池化層的卷積層,3個使用dropout的全連接層,均使用ReLU作為激活函數以緩解梯度消失[19]問題,并提升訓練速度;1個不使用dropout的全連接層;分類器C使用Softmax作為激活函數,而判別器D使用Sigmoid作為激活函數。可以看出,圖3中模型訓練的第1層到 Dense 256 層作為判別器D和分類器C的共享特征提取器F,即圖3中的虛框部分。判別器D通過反向傳播對共享特征提取器F進行誤差修正,從而提升分類器C的效果。相應地,損失函數與目標函數變化如式(5)~式(7)所示:

L=Lsupervised+Lunsupervised

(5)

Lsupervised=-E(x,y)~labeledlnPC(y|F(x))

(6)

Lunsupervised=-[Ex~reallnPD(F(x))+

Ez~N(0,1)ln(1-PD[F(G(z))])]

(7)

(8)

分類器C只處理有標簽的真實樣本,因此F和C構成了1個卷積神經網絡分類模型,由于輸入的數據是一維的,又稱為一維卷積神經網絡分類模型,記為1D-CNN(one-Dimensional Convolutional Neural Network)。所有的真實樣本和生成樣本都經過判別器D處理,經過Dense 1全連接層和Sigmoid激活函數后,判斷是真實樣本(無論是否有標簽)還是生成樣本。因此,使用判別器D可將真實樣本和生成樣本區分開來。來自不同家族的真實樣本(無論是否有標簽)被合并為一類,而生成樣本也為一類,他們之間的規模差異得到了平衡。

4 實驗與分析

4.1 實驗數據集

Microsoft Malware Classification Challenge[20]是微軟于2015年在數據競賽平臺Kaggle公開的惡意代碼數據集。該數據集共有10 868個樣本,分為9個家族,所以類別數目K=9,如表1所示。

Table 1 Microsoft malware classification dataset表1 Microsoft Malware Classification數據集

4.2 評價指標

實驗評價選用了準確率A(Accuracy)、精確率P(Precision)、召回率R(Recall)和錯誤率Error這4個指標。具體來說,假設在被檢測方法判斷為家族a的樣本中,實際不屬于家族a的樣本數量為FP,實際屬于家族a的樣本數量為TP;在被檢測方法判斷不屬于家族a的樣本中,實際不屬于家族a的樣本數量為TN,實際屬于家族a的樣本數量為FN。準確率、精確率、召回率和錯誤率的定義分別如式(9)~式(12)所示:

(9)

(10)

(11)

Error=1-A

(12)

此外本文使用5折交叉驗證方法來驗證數據集劃分的效果。

4.3 實驗參數設置

本文使用 Adam 優化器訓練SGAN-CNN生成器G、分類器C和判別器D的深度學習網絡,Adam能更快地到達全局近似最優解,更有利于調整模型參數。具體參數如表2所示。根據2.2節的描述,SGAN-CNN輸入的樣本維度是4096×8;半監督訓練模型G使用圖3 的方法和Adam優化器進行訓練,每次迭代生成8 965個樣本,共進行200次迭代。

Table 2 Model training parameters表2 模型訓練參數

4.4 基于SGAN-CNN的惡意代碼家族分類實驗

表3所示為不同模型在不同標記率情況下分類的準確率,標簽率代表對樣本數據的標記比率。在此引入兩種半監督深度學習模型作為對比基線:一種是偽標簽正則化[21],這是半監督學習中經典的偽標簽方法在深度學習上的擴展;另一種是 Γ-Model[22]模型。

Table 3 Comparison of classification accuracy of different models under different tag rates 表3 不同模型在不同標簽率下的分類準確率對比

從表3可以看出,隨著標簽率的提高,所有模型對惡意代碼家族分類的效果也隨之提升。SGAN-CNN模型在標簽率為80%時,分類準確率最高達到98.81%;在標簽率為20%時,分類準確率最低為98.01%。在不同標簽率下,1D-CNN和偽標簽正則化的效果相對其他模型最差,說明生成對抗網絡對惡意代碼家族分類是有促進效果的。SGAN與Γ-Model 各有優勢,而相比于SGAN和Γ-Model,SGAN-CNN準確率更高。這說明對于惡意代碼,當兩項子任務在數據規模、標簽分布和任務難度等方面不夠匹配時,SGAN-CNN模型效果更好。

4.5 基于SGAN-CNN的小規模惡意家族樣本分類實驗

表3的實驗結果是針對全部惡意代碼進行家族分類的總體準確率。如果將各個惡意代碼家族分類效果分別討論,則樣本數量越少的家族,有可能分類效果越不理想。從表1可以看出,Simda的樣本數量相對于其他惡意代碼樣本數量,至少相差89%以上。相比數量較多的惡意代碼家族,標簽缺乏對小規模家族樣本的影響會更加明顯。為此本文進行5折交叉驗證實驗,并分析了實驗中各家族分類的準確率與召回率,從而判斷提出的SGAN-CNN模型在小樣本惡意代碼家族分類上是否有效。

如圖4所示,圖4a的樣本標簽率為100%,模擬標簽正常的情況;圖4b和圖4c的樣本標簽率為20%,模擬標簽缺乏的分類情況。從圖4中可以看出,樣本標簽缺乏使得監督分類模型1D-CNN對大部分惡意代碼分類能力都產生了負面影響,且樣本數量較少的Simda惡意代碼家族分類準確率下降明顯。使用SGAN-CNN進行半監督學習,在提高整體分類效果的同時也修復了這種下降趨勢。尤其是Simda惡意代碼家族分類的準確率,在標簽率僅為20%的情況下,分類準確率相對于分類模型1D-CNN提高約20%,接近1D-CNN模型在標簽率100%情況下的分類準確率。圖4中橫坐標0~8對應9個家族,9對應所有家族平均值。

Figure 4 Histogram of detection accuracy and recall of malicious code families圖4 惡意代碼家族檢測準確率與召回率直方圖

實驗中選取9個惡意代碼家族的樣本進行測試,驗證了本文提出的基于深度學習的半監督對抗生成網絡SGAN-CNN在惡意代碼家族分類中的有效性,也驗證了SGAN-CNN在小樣本惡意代碼家族分類分析中的有效性。

5 結束語

本文提出了惡意代碼圖像特征提取和規范化方法,使用一維圖像而不是二維圖像表示惡意代碼特征,避免因為圖像折疊帶來的惡意代碼圖像特征中像素點之間不存在的局部相關性。設計了基于一維卷積神經網絡的惡意代碼分類器,提出了基于深度學習的半監督對抗生成網絡SGAN-CNN模型。實驗結果表明,SGAN-CNN可以在減少模型構建與使用的時間代價、提高分類準確率、增強時效性的同時,補償樣本標簽缺乏、樣本數量稀少導致的分類準確率下降,降低整體分類錯誤率,并重點提升包含小規模家族樣本的分類效果,實現了分類準、覆蓋廣的惡意代碼家族分類目標。

猜你喜歡
特征提取分類監督
分類算一算
突出“四個注重” 預算監督顯實效
人大建設(2020年4期)2020-09-21 03:39:12
基于Gazebo仿真環境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
監督見成效 舊貌換新顏
人大建設(2017年2期)2017-07-21 10:59:25
一種基于LBP 特征提取和稀疏表示的肝病識別算法
夯實監督之基
人大建設(2017年9期)2017-02-03 02:53:31
基于MED和循環域解調的多故障特征提取
主站蜘蛛池模板: 无码有码中文字幕| 精品夜恋影院亚洲欧洲| 亚洲国产清纯| 98精品全国免费观看视频| 伊人成色综合网| 亚洲欧美成aⅴ人在线观看| a毛片免费观看| 国产在线麻豆波多野结衣| 99国产精品一区二区| 欧美一级大片在线观看| 中文一级毛片| 波多野结衣视频网站| 99在线观看国产| 欧美亚洲欧美| 东京热一区二区三区无码视频| 久久精品人妻中文视频| 亚洲成人在线网| 中字无码av在线电影| 亚洲一级色| 成人日韩视频| 国产亚洲欧美日韩在线一区二区三区| 精品無碼一區在線觀看 | 欧美日韩国产系列在线观看| 欧美日韩国产精品va| 欧美色视频日本| 日韩欧美中文亚洲高清在线| 亚洲男人在线| 午夜视频www| 网友自拍视频精品区| 在线精品欧美日韩| av一区二区三区高清久久| 国产男人的天堂| 欧美精品伊人久久| 色婷婷亚洲综合五月| 亚洲福利片无码最新在线播放| 啪啪永久免费av| 欧美精品在线免费| 伊人久久大线影院首页| 四虎在线高清无码| 99re精彩视频| 亚洲国产看片基地久久1024 | 亚洲swag精品自拍一区| 伊人久久福利中文字幕| 久久黄色视频影| 内射人妻无套中出无码| 欧美激情视频一区| 国产乱视频网站| 国产高清在线丝袜精品一区| 精品少妇人妻无码久久| 91美女视频在线| 毛片网站在线看| 国产成人一区| 在线观看国产黄色| 国产在线拍偷自揄观看视频网站| 欧美一级爱操视频| 久久女人网| 一区二区日韩国产精久久| 夜夜拍夜夜爽| 日韩123欧美字幕| 国产91av在线| 久久人午夜亚洲精品无码区| 亚洲无码高清一区二区| 亚洲人成网址| 婷婷综合色| 国产成在线观看免费视频| 日韩人妻无码制服丝袜视频| 亚洲资源在线视频| 国产av一码二码三码无码| 内射人妻无套中出无码| 性欧美在线| 99热这里只有免费国产精品| 精品无码日韩国产不卡av| 欧美国产日韩在线播放| 亚洲日韩国产精品无码专区| 一区二区三区国产精品视频| 久久综合干| 国产精品亚洲片在线va| 久草视频福利在线观看| 激情综合网址| 性视频久久| 日韩精品毛片| 日韩国产亚洲一区二区在线观看|