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

基于DQN的惡意代碼檢測研究

2020-07-18 11:45:26賈立鵬王鳳英姜倩玉
網絡安全技術與應用 2020年6期
關鍵詞:分類動作特征

◆賈立鵬 王鳳英 姜倩玉

(山東理工大學 山東 255049)

飛速發展的互聯網技術推動了人類社會的不斷進步,但互聯網技術的不斷革新也促進了惡意代碼的發展壯大,隨著大數據時代的來臨,惡意代碼的數量和種類呈現爆發式增長。2019年上半年,國家互聯網應急中心 CNCERT新增捕獲計算機惡意程序數量約3200萬個,我國境內感染惡意程序的主機數量約240萬臺,惡意程序傳播次數平均每天達998萬次。惡意代碼給個人和社會造成了嚴重的危害,高效的惡意代碼檢測技術成為當前網絡安全領域研究的熱點。

惡意代碼分析技術分為兩種,基于內容的靜態分析技術和基于行為特征的動態分析技術[1]。靜態分析技術不需要運行惡意代碼,而是通過反匯編等方式得到惡意代碼的指令和結構信息,完成對惡意代碼的靜態特征和功能模塊的分析。動態分析技術需要在計算機中運行惡意代碼,通過監視惡意代碼運行過程并捕捉其動態行為特征進行惡意代碼分析。動態分析技術消耗資源較大,需要花費大量時間,難以處理大量的惡意代碼。

近年來,機器學習技術在圖像分類、語音識別和自然語言處理等領域獲得了巨大成功,由于這些成功的案例,一些學者開始將機器學習方法應用于惡意代碼的檢測和研究,并取得了不錯的檢測效果。Schultz等人[2]提取了惡意代碼 DLL(Dynamic Link Library)和API(Application Programming Interface)中的特征,使用樸素貝葉斯算法對未知的惡意代碼進行檢測,這也是機器學習算法第一次運用在惡意代碼檢測中。和傳統的靜態和動態分析技術相比,惡意代碼可視化為圖像的過程不受惡意代碼數量的影響,因此可視化的方法被用于大規模的惡意代碼分類。Nataraj等人[3]首次設計了完整的利用惡意代碼圖像對其進行分類的方案,通過可視化方式對惡意代碼分類取得了良好的效果,此后的研究中不斷有學者借助此思想進行惡意代碼的檢測和研究;Kancherla等人[4]使用對惡意代碼灰度圖像進行信號處理,并使用支持向量機對其進行檢測和分類;韓曉光等人[5]基于惡意代碼圖像提出了一種基于內容指紋的檢測方案,提升了檢測惡意代碼變種的能力。劉亞姝等人[6]將惡意代碼可視化技術與逆向分析結合,使用MobileNet輕量模型提升了惡意代碼的分類準確率。文獻[7]的作者使用灰度紋理特征、操作碼指令特征結合灰度直方圖對惡意代碼進行分類,該方法結合了惡意代碼的局部特征和全局特征。文獻[8]的作者提出了一種基于N-Gram特征的惡意代碼可視化檢測方法,并使用深度融合網絡驗證了方法的分類能力。

面對大數據時代爆炸式增長的惡意代碼數量,傳統的動態檢測技術無法同時應對海量的惡意代碼,本文提出一種基于 DQN(Deep Q Network)的惡意代碼檢測分類方法,屬于靜態分析方法。該方法將惡意代碼反匯編文件轉換為灰度圖像數據,建立基于DQN的惡意代碼分類模型對惡意代碼灰度圖像數據集進行訓練,該模型結合了強化學習中Q-Learning算法的試錯機制和動作優化策略,以及深度學習中卷積神經網絡算法對圖像數據深層特征的挖掘實現對9類惡意代碼的檢測分類。

1 相關研究

1.1 Q-Learning算法

Q-Learning[9]是一種基于值的強化學習[10]算法,強化學習是機器學習中重要的一部分。強化學習是一種通過智能體(動作的執行者)和所給環境交互進行學習的方法,通過環境的反饋信息,智能體不斷調整在不同環境狀態下采取的動作,以此獲得更多的獎勵,最終達到完成學習任務的目的。強化學習的核心思想是試錯機制和動作優化策略,智能體通過在環境中不斷嘗試來改進所采取的動作策略。

Q-Learning的核心是Q(s,a)函數和 Q-table。Q(s,a)函數計算在s狀態下做出a動作后獲得的期望獎勵數值(Q值),該數值用于更新Q-table的內容。Q-table是用于存儲Q(s,a)函數產生的Q值的表格,作用是指導智能體執行可以獲得更大獎勵的動作,智能體通過Q-table得到關于狀態和動作的最佳策略。Q(s,a)函數的計算方式如公式(1)所示。

式中:α表示學習率;r表示當前獲得的獎勵值;γ表示獎勵衰減值,該值決定對未來獎勵的重視程度;maxa′Q(s′,a′)表示下步狀態執行不同的動作所獲得的期望獎勵數值中的最大值。

1.2 DQN算法

DQN[11]是一種融合了 Q-Learning和神經網絡的算法。QLearning使用Q-table的方式存儲狀態和動作,但是當狀態和動作的空間非常大的時候,Q-Learning無法在計算機的內存中維護這么大的表格,而且每次在表格中搜索狀態和動作是非常耗時的。DQN的提出解決了這個問題,DQN不需要表格存儲Q值,而是直接通過神經網絡生成。DQN通過神經網絡的分析得到某個狀態執行相應動作所獲得的Q值,并通過不斷更新神經網絡從而學習到最佳的動作策略。

DQN中最重要的技術是經驗回放,經驗回放使得DQN在更新的時候能夠隨機抽取之前經歷進行學習。DQN通過在經驗回放集合中進行隨機均勻采樣,打亂了訓練數據之間的相關性和學習經歷之間的相似性,使得神經網絡的更新更有效率。

2 基于DQN的惡意代碼檢測分類方法

首先,將惡意代碼反匯編文件可視化為灰度圖像;然后,建立基于DQN的惡意代碼檢測分類模型,將惡意代碼灰度圖像劃分為訓練數據和測試數據,訓練模型提取灰度圖像的紋理特征并完成學習;最后,利用訓練好的模型對待測試的惡意代碼灰度圖像進行檢測分類。

2.1 惡意代碼可視化處理

本文使用惡意代碼灰度圖像的紋理特征作為特征向量,根據紋理特征的相似性對惡意代碼進行分類。惡意代碼可視化的流程如下:

(1)對惡意代碼反匯編文件采取二進制方式進行讀取,其中以8個bits為一組序列,序列數值的范圍在0x00到0xFF之間,剛好對應灰度圖像像素值的取值范圍,將每個序列值映射成灰度圖的像素值。

(2)為了最大限度保持圖像的紋理特征,將上述生成的灰度圖像像素值轉換為行寬向量為128的二維矩陣,利用該二維矩陣生成惡意代碼的灰度圖像。同家族惡意代碼的灰度圖像有相似的結構特征,不同家族之間有著較為明顯的區分,圖1為兩種不同家族惡意代碼的灰度圖像。

圖1 不同家族的惡意代碼灰度圖像

2.2 建立基于DQN的惡意代碼分類模型

(1)設定模型環境和學習任務。將2.1節中生成的惡意代碼灰度圖像用于構建模型的虛擬環境,該環境設定為不斷產生惡意代碼灰度圖像的場景,將每張灰度圖像視為環境狀態,圖像的類別作為動作編碼,智能體的任務是識別圖像中的內容,達到對惡意代碼圖像進行分類的目的。本文規定智能體正確識別圖像時,將得到1分的獎勵,否則將被扣除1分。

(2)提取惡意代碼灰度圖像的特征。本模型選擇卷積神經網絡提取惡意代碼灰度圖像中的紋理特征,和其他的神經網絡相比,卷積神經網絡最主要的兩個特征是局部連接和權值共享,這大大減少了參數量,使得卷積神經網絡被廣泛應用。卷積神經網絡的主要結構包括卷積層、池化層和全連接層,卷積層使用卷積核提取圖像中的特征,池化層減小卷積核的尺寸,保留圖像重要的特征,同時防止過擬合的發生。

本模型選擇Relu函數作為卷積層的激活函數,Relu函數使得部分神經元的輸出為0,減少了參數之間的依存關系,加快了模型的訓練過程。

使用MSE(Mean Square Error)作為本模型的損失函數,MSE作為損失函數可以計算真實數據和模型擬合數據之間的差距,計算方法如公式(2)所示。

式中:n為樣本的數量,yi為真實數據,yi′為擬合數據。

(3)計算Q(s,a),訓練模型。將卷積層和池化層提取惡意代碼灰度圖像的紋理特征作為全連接層的輸入,得到每個動作對應的Q值。具體地,輸入的惡意代碼灰度圖像經過卷積神經網絡的卷積層和池化層后生成特征向量,全連接層以這些特征向量作為輸入,輸出9個Q值。另外,將當前圖像對應類別one-hot編碼值和9個Q值做點乘操作,整合得到Q(s,a),結構如圖2所示。

圖2 計算Q(s,a)

根據Q(s,a)選擇執行動作,即輸出當前圖像的類別來獲得分數和環境提供的下一張待識別的圖像,并將這次的學習經歷存儲在經驗回放集合中;重復以上操作直到遍歷完所有的圖像。本模型經驗回放集合的內容包括當前狀態的圖像,智能體對當前圖像做出的動作,智能體得到的獎勵以及下個狀態的圖像。從經驗回放集合中進行隨機采樣,用記憶中的樣本數據訓練模型。

3 實驗及結果分析

3.1 實驗數據

本文的實驗數據來自2015年Kaggle舉辦的惡意代碼檢測大賽,共有9類惡意代碼家族,數量為10868個。

3.2 評價指標

為了更好地說明分類效果,本文使用準確率(Accuracy)作為模型分類的評價指標,計算方式如公式(3)所示。

式中:TP表示正確類被模型預測為正確類的數量;TN表示錯誤類被模型預測為錯誤類的數量;FP表示錯誤類被模型預測為正確類的數量;FN表示正確類被模型預測為錯誤類的數量。

3.3 參數設置與結果分析

本模型隨機抽取80%的數據用于訓練,20%的數據用于測試。參數的設置對分類結果有較大的影響,經過實驗對比,將本模型中的卷積層和池化層的個數分別設置為3,詳細設置如表1所示。

表1 參數設置

由于生成的惡意代碼圖像樣本之間是獨立同分布的,為避免下一個狀態的Q值影響當前狀態的計算,所以將模型的獎勵衰減值設置為0。以下主要關注模型中經驗回放集合的尺寸、學習率以及模擬次數對分類準確率的影響。保持其他參數的值不變,調整經驗回放集合的尺寸,模型的分類準確率的變化如圖 3所示。

圖3 經驗回放集合尺寸對準確率的影響

如圖3所示,當經驗回放集合的尺寸為64時,模型的分類能力是最佳的。將經驗回放集合的尺寸設置為64,調整學習率的數值,模型的分類準確率變化如圖4所示。

圖4 學習率對準確率的影響

如圖4所示,當學習率為0.5時,模型的分類能力達到最佳。將經驗回放集合的尺寸設置為64,學習率設置為0.5,調整模型的模擬次數,模型的分類準確率如圖5所示。

圖5 模擬次數對準確率的影響

如圖5所示,當模擬次數為200時,模型的分類能力達到最佳,當模擬次數大于200次時模型出現過擬合現象。綜上所述,當模型中的經驗回放集合尺寸為64,學習率為0.5,模擬次數為200時,模型的分類效果是最好的,平均分類準確率為98.3%。為了驗證本文所用模型的有效性,將本文模型與其他傳統機器學習模型進行了實驗結果的對比,如表2所示。

表2 本文模型與其他模型的對比

由表2可知,其他分類模型中分類效果最好的是 CNN,但仍與本文所用模型的分類效果有較大差距。和單純的卷積神經網絡模型相比,本文方法結合了強化學習的試錯機制和動作優化策略,以及深度學習對于特征的深層挖掘,提升了惡意代碼紋理特征的表達能力,提高了惡意代碼家族分類的準確率。

4 結束語

本文提出了一種基于DQN的惡意代碼檢測分類方法,該方法結合強化學習試錯機制和動作優化策略,以及深度學習對圖像特征的深層挖掘完成對惡意代碼的分類。將惡意代碼反匯編文件轉換為灰度圖像,并建立基于DQN的惡意代碼分類模型對惡意代碼灰度圖像的紋理特征進行提取和學習。模型的環境設定為產生圖像的場景,智能體在環境中不斷進行識別圖像的任務,并根據環境的反饋信息調整動作策略,達到分類惡意代碼圖像的效果。實驗結果表明,本文所用方法在分類準確率方面優于傳統的機器學習方法。

猜你喜歡
分類動作特征
分類算一算
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
動作描寫要具體
教你一招:數的分類
抓住特征巧觀察
畫動作
動作描寫不可少
主站蜘蛛池模板: 欧美成人二区| 国产美女免费| 91精品国产丝袜| 国产91熟女高潮一区二区| 欧美精品亚洲精品日韩专区| 国产一级毛片网站| 成人在线天堂| 怡春院欧美一区二区三区免费| 亚洲swag精品自拍一区| 九九九精品成人免费视频7| 久久五月视频| 国产精品尹人在线观看| 久久久久亚洲精品成人网 | 日韩高清成人| 精品1区2区3区| 欧美日韩午夜| 精品国产自在在线在线观看| 国产高清在线观看| 精品久久综合1区2区3区激情| 精品国产中文一级毛片在线看| 欧美三级日韩三级| 一本无码在线观看| 中文字幕欧美日韩| 久久香蕉欧美精品| 国模私拍一区二区三区| 日韩精品毛片| 曰韩免费无码AV一区二区| 久久77777| 97视频精品全国免费观看| 在线视频97| 多人乱p欧美在线观看| 久久天天躁夜夜躁狠狠| 夜色爽爽影院18禁妓女影院| 中文字幕 91| 在线免费亚洲无码视频| 香蕉视频在线精品| 日本欧美视频在线观看| 天堂网亚洲综合在线| 亚洲一级毛片免费观看| 亚洲欧美不卡| 成人毛片免费观看| 免费一级无码在线网站| 国产高清在线精品一区二区三区| 丁香婷婷综合激情| 日本人妻一区二区三区不卡影院 | 亚洲激情99| 91高清在线视频| 国产一区二区精品福利| 91国内在线观看| 亚洲精品你懂的| 永久毛片在线播| 国产成人高清精品免费软件 | 综1合AV在线播放| 免费黄色国产视频| 久热re国产手机在线观看| 91美女在线| 国产欧美又粗又猛又爽老| 在线视频亚洲欧美| 国产精品微拍| 激情综合网激情综合| 9966国产精品视频| 一级爆乳无码av| 午夜视频免费试看| 欧美不卡视频一区发布| 激情無極限的亚洲一区免费| 亚洲毛片在线看| 免费精品一区二区h| 免费看美女毛片| 亚洲精品在线影院| 国产在线视频自拍| 亚洲一区国色天香| 扒开粉嫩的小缝隙喷白浆视频| 国产青榴视频| 欧美天堂久久| 97精品久久久大香线焦| 四虎永久在线| 操国产美女| 亚洲第一香蕉视频| 久久鸭综合久久国产| 国产精品尤物铁牛tv| 久精品色妇丰满人妻| 久久久久国产精品熟女影院|