趙晨潔 吳戀 左羽 王永金



摘 要:隨著數據的增多,病毒的類型也隨之增加。病毒的不確定性及其攻擊的復雜性,使傳統的機器學習已經不能滿足大量高維信息的處理,數據安全問題就越來越引人注意。人工神經網絡的進一步發展,使深度學習在語音、視覺等領域飛速發展。深度學習的技術越來越成熟,對病毒檢測領域有著重要的意義,將在病毒檢測領域也有很大的提升。該文著重于深度學習的每一個過程的不同方法,探究是否適用于病毒檢測,介紹常用的深度學習模型,剖析深度學習對電腦病毒檢測的現狀,分析病毒檢測中常用的數據集及其每個數據集的優缺點,以及需要經過數據預處理、特征學習和分類識別的整體流程及其每個過程中的常用技術。最后用經典案例分析深度學習在病毒檢測中的準確率,結果表明準確率得到明顯提升。
關鍵詞:深度學習;病毒檢測;識別分類;特征降維;高維信息;人工神經網絡
中圖分類號:TP391.4文獻標識碼:A文章編號:2095-1302(2020)02-00-03
0 引 言
隨著網絡迅速發展,數據指數般的增長,數據安全問題成為人們關注的重點。病毒檢測系統是維持互聯網安全的一種防護措施,也是抵抗病毒入侵的一道重要保障,病毒檢測系統能準確識別出病毒,對網絡安全起著至關重要的作用。病毒主要分為黑客入侵和惡意軟件等。傳統的病毒檢測方法是針對帶有標簽及樣本數據量少的情況下有理想的分類效果,可是在信息數據指數增長的時期,病毒入侵將要面對新的搦戰—大量非線性高維數據[1]。隨著深度學習的不斷發展,其能應用于多種領域,在病毒檢測方面,主要采用深度信念網絡、卷積神經網絡等分類算法[2]。特征學習是深度學習的實質,用低維特征表示重要特征,能更好地解決維數災難問題,同時在高維龐雜的網絡數據中有著較好的檢測結果。
1 深度學習技術
深度學習中有很多模型,實質是經過訓練神經網絡的參數,從而得到權重,調整權重值最后學到特征。深度學習從不同角度可以分為多種:在有無監督層面分為Supervised Learning (有監督學習)和Unsupervised Learning(無監督學習);在使用場景[3]層面分為Generation Model(生成模型)、Recognition Model(識別模型)和Hybrid Mode(混合模型)。其中Hybrid Mode是指Generation Model和Recognition Model的混合,代表模型深度神經網絡。常見的深度信念網絡(DBN)屬于Unsupervised Learning,Generation Model;卷積神經網絡(CNN)屬于Supervised Learning,Recognition Model。
深度信念網絡由Hinton等人提出,在結構上是由多層無監督的RBM(受限玻爾茲曼機)網絡和有監督的BP(反向傳播)網絡組成的一種深層神經網絡[4]。卷積神經網絡采用感受野,及用局部信息得到全部信息從而減少連接數目。權值共享需要減少求解參數,降低網絡復雜性。pooling對原圖像進行下采樣降低維度,減少計算量,防止過擬合。
2 病毒檢測
2.1 基于深度學習的病毒檢測現狀
20世紀90年代初期,Debar等人初次在網絡入侵檢測病毒中加入神經網絡[5];21世紀初,Creech等人嘗試在主機的入侵檢測中加入神經網絡[6]。在前人實驗的基礎上,病毒檢測開始用深度學習技術[7]。但深度學習在病毒檢測中并沒有發展完善,還需要更深層的探究。在測試病毒監測模型時,通常用到KDD Cup1999(KDD99)數據集[8]。該數據集數量多,類型豐富,每條數據有41種特征,其中包含9種TCP(傳輸控制協議)連接基本特征、13種內容特征、9種基于時間的網絡流量統計特征、10種主機的網絡流量統計特征。KDD99數據集為大量研究入侵檢測的專家們提供了便利,但同時該數據集也出現了一系列冗余問題。NSL-KDD數據集[9]刪除了KDD99數據集中冗余數據,為病毒檢測的實驗準確性做出重要貢獻。
2.2 基于深度學習的病毒檢測原理
構建病毒檢測模型的總體框架,分為3個步驟。
(1)數據預處理。將數據集(KDD99或NSL-KDD)[8]的符號型轉化為數值型,再對數值型數據做歸一化。
(2)數據特征提取。將歸一化后的數據,作為模型訓練的輸入,對高維數據進行降維,在對其關鍵特征提取。在此步驟主要是針對模型的選擇及優化,對過擬合等問題進行解決。
(3)分類識別。將學習到的病毒特征值對其分類,輸入到分類器中與訓練好的數據集(KDD99或 NSL-KDD)進行對比,識別出病毒類型。將識別出的病毒類型對用戶做出相應的提示,如禁止訪問等措施,保障了用戶使用互聯網的安全。
2.2.1 數據預處理
將“圖像數據”(是指將異常代碼以圖像的形式來處理)轉換成矩陣像素數據輸入到神經網絡。不同的“圖像數據”有不同的規范,為了使模型精度提高,將對“圖像數據”進行歸一化處理,以及將“圖像數據”壓縮至[0,1]。采用以下方法為數據進行歸一化處理[10]:
式中:a代表處理數據的特征屬性值;MIN是該數據屬性的最小值;MAX是該數據屬性的最大值。
2.2.2 特征學習
對預處理后的病毒“圖像數據”進行高維向低維的映
射[11],學習數據的特征。將選取好的網絡模型進行優化操作,如加入正則化、優化算法;再對模型進行訓練、調參等使模型提取特征更為精確;最后對其數據進行降噪處理,獲取優質特征值。經過這一步特征提取和選擇,并采用更加穩定的網絡模型進行訓練,學習更深層的病毒特征,病毒檢測系統將會具有更高的病毒識別率。
2.2.3 病毒識別分類器
分類器的任務是將上層有效特征進行自學習,學習到特征,然后給出最后的檢測結果。分類器有貝葉斯、Logistic回歸、支持向量機(SVM)、Softmax等,常用于病毒分類的有Softmax,支持向量機等。
2.3 基于深度學習的病毒檢測典型案例
2.3.1 案例一:基于深度信念網絡的入侵檢測模型[15]
本文闡述了一種基于深度信念網絡的病毒檢測模型,網絡模型如圖2所示。該模型主要用深度信念網絡為特征降維,將學到的數據用支持SVM(支持向量機)的方法進行分類,并用NSL-KDD數據集評估。在實驗中,保持SVM參數為默認值,用兩層的受限玻爾茲曼機(RBM)作為深度信念網絡的結構,將迭代次數設置為150;特征數量由高層到低層分別是4,13,41。實驗結果見表1所列。通過實驗發現,DBN-SVM的準確率比單個的SVM(支持向量機)和DBN(深度信念網絡)高。在速度上,本文提出的深度學習模型DBN-SVM比傳統單獨的SVM識別速度要快,很大程度上提高了處理時間??偟膩碚f,在準確率和高效性上,DBN-SVM都有突出的優勢,能大幅提升對病毒檢測的能力。
2.3.2 案例二:基于卷積神經網絡的入侵檢測算法[16]
賈凡等研究者對于病毒檢測提出一個新的算法,將典型的卷積神經網絡引入到病毒檢測中,卷積神經網絡模型如圖3所示。利用卷積神經網絡在處理圖片時采用3維數據接收輸入的數據,對高維數據的特征提取更為有效。根據特征的局部相關性提取特征,確保提取特征的準確率。該研究者提出的CNN網絡模型囊括了3個卷積層、3個池化層、1個全連接層、1個分類層,經過CNN(卷積神經網絡)提取特征后用Softmax分類器進行分類識別病毒類型,設置模型迭代次數為10。利用本文模型與傳統模型對準確率(AC)、檢測率(DR)和誤報率(FA)三方面指標進行評估,比較結果如表2所示。結果顯示,CNN模型在準確率和檢測率中都高于傳統方法,誤報率相對下降很多??傊?,CNN模型比其他傳統方法對于病毒檢測有較大的性能提升。
3 結 語
本文討論了病毒檢測的必要性、深度學習的基本方法及深度學習用于病毒檢測的模型,研究分析各網絡模型對于病毒檢測的效果。在互聯網和物聯網的結合下,越來越多的數據被存儲,個人信息需要被保護,但是病毒檢測還未能發展成熟,如在線攻擊意圖識別算法、網絡多步攻擊識別算法等都有待研究。
參 考 文 獻
[1]高妮,高嶺,賀毅岳.面向入侵檢測系統的Deep Belief Nets模型[J].系統工程與電子技術,2016,38(9):2201-2207.
[2]張玉清,董穎,柳彩云,等.深度學習應用于網絡空間安全的現狀、趨勢與展望[J].計算機研究與發展,2018,55(6):1117-1142.
[3] BIERMANN E,CLOETE E,VENTER L M. A comparison of Intrusion Detection systems [J]. Computers & security,2001,20(8): 676-683.
[4] HINTON G E,OSINDERO S,THE Y W. A fast learning algorithm for deep belief nets [J]. Neural computation,2006,18(7):1527-1554.
[5] DEBAR H,BECKER M,SIBONI D. A neural network component for an intrusion detection system [C]// IEEE Symposium on Security & Privacy. Oakland: IEEE,1992:240-250.
[6] CREECH G,HU J K. A semantic approach to host-based intrusion detection systems using contiguous and discontiguous system call patterns [J]. IEEE transactions on computers,2014,63(4):807-819.
[7] FIORE U,PALMIERI F,CASTIGLIONE A,et al. Network anomaly detection with the restricted boltzmann machine [J]. Neurocomputing,2013,122:13-23.
[8] TAVALLAEE M,BAGHERI E,LU W,et al. A detailed analysis of the KDD CUP 99 data set [C]// IEEE International Conference on Computational Intelligence for Security & Defense Applications. Ottawa,Canada:IEEE,2009:1-6.
[9] Canadian Institute for Cybersecurity. NSL-KDD dataset [EB/OL]. [2017-08-18]. http://www.unb.ca/cic/research/datasets/nsl.html.
[10]于洋.入侵檢測系統中特征選擇算法與模型構建方法的研究[D].蘭州:蘭州大學,2017.
[11]高妮.網絡安全多維動態風險評估關鍵技術研究[D].西安:西北大學,2016.
[12]張思聰,謝曉堯,徐洋.基于dCNN的入侵檢測方法[J].清華大學學報(自然科學版),2019,59(1):44-52.
[13]王佳林,童恩棟,牛溫佳,等.基于CNN-NSVM的入侵檢測模型[J].信息通信技術,2018,12(6):48-55.
[14]席海龍,劉海燕,張鈺.應用于入侵檢測的機器學習現狀與發展分析[J].價值工程,2018(34):269-272.
[15]楊昆朋.基于深度信念網絡的入侵檢測模型[J].現代計算機(專業版),2015(2):10-14.
[16]賈凡,孔令智.基于卷積神經網絡的入侵檢測算法[J].北京理工大學學報,2017,37(12):1271-1275.