楊昆朋
(北京交通大學計算機與信息技術學院,北京 100044)
基于深度信念網絡的入侵檢測模型
楊昆朋
(北京交通大學計算機與信息技術學院,北京 100044)
針對傳統入侵檢測方法在檢測速度、精度、復雜度等方面的缺陷,提出一種基于深度信念網絡的支持向量機入侵檢測模型(DBN-SVM)。該模型利用兩層的限制玻爾茲曼機進行結構降維,再用BP神經網絡反向微調結構參數,從而獲得原始數據的相應最優表示。利用支持向量機對數據進行網絡入侵的識別。通過對NSL-KDD數據集仿真實驗表明,DBN-SVM模型是一種可行的、高效的入侵檢測模型,為入侵檢測提供一種全新的思路。
深度學習;入侵檢測;深度信念網絡;特征降維;支持向量機
隨著時代的發展,Internet已經成為日常生活中不可缺少的一部分。計算機網絡安全也因此成為一個備受關注的重大問題。入侵檢測(Intrusion Detection,ID)自1980年被Anderson提出以來,一直備受學術、工業界關注[1]。入侵檢測系統(Intrusion Detection System,IDS)它能夠檢測各種形式的入侵行為,并根據事先定義的安全策略采取相應的響應行為。
傳統的IDS存在著大量的問題,對未知網絡攻擊檢測能力差、誤報率高、占用資源多;對攻擊數據的關聯和分析功能不足,導致過多的人工參與;對于現在廣泛使用的腳本攻擊防御能力差等。為了在現代高帶寬、大規模網絡環境下提高入侵檢測的效率、降低漏報率和誤報率,把機器學習的方法引入到IDS中來,已成為IDS的重要發展方向[2]。以往研究者們在IDS研究中引入了各種機器學習方法,如神經網絡、模糊邏輯、支持向量機等在入侵檢測系統中取得了突破性的進展。實際上,這些方法在入侵檢測系統中往往以分類器出現,用以分別網絡行為是否正常。本文中,我們提出了一種基于限制玻爾茲曼機(Restricted Boltzmann Machine,RBM)的深度信念網絡(Deep Belief Networks,DBN)[3]的入侵檢測模型。DBN用來作為特征降維(feature reduction)[4]的方法,之后將DBN處理后的數據用SVM[9]進行訓練學習并分類。
深度學習由于其對復雜數據的學習能力突出而備受國內外學者的關注[7]。一個深度學習模型含有多層的隱藏感知單元,通過組合底層特征形成更加高層的數據抽象,可以更好地建立從底層信號到高層語義的映射關系。
1.1 深度信念網絡工作原理
深度信念網絡由Hinton等人于2006年提出[3],作為一種深度學習方法備受關注,并成功應用于物體識別、語音識別等領域。它通過學習獲得數據集的壓縮編碼,可以達到數據降維的目的[4]。
從結構上看,DBN由多層無監督的限制玻爾茲曼機網絡和一層有監督的反向傳播(Back-Propagation,BP)[8]網絡組成,如圖1所示。

圖1 DBN結構圖
DBN在訓練模型的過程中主要分為兩步:
①分別單獨無監督地訓練每一層RBM網絡;確保特征向量映射到不同特征空間時,都盡可能多地保留特征信息;
②在DBN的最后一層設置BP網絡,接收RBM的輸出特征向量作為它的輸入特征向量,有監督地訓練實體關系分類器。而且每一層RBM網絡只能確保自身層內的權值對該層特征向量映射達到最優,并不是對整個DBN的特征向量映射達到最優,所以反向傳播網絡還將錯誤信息自頂向下傳播至每一層RBM,微調整個DBN網絡。RBM網絡訓練模型的過程可以看作對一個深層BP網絡權值參數的初始化,使DBN克服了BP網絡因隨機初始化權值參數而容易陷入局部最優和訓練時間長的缺點。
上述訓練模型中第一步在深度學習的術語叫做預訓練,第二步叫做微調。在本文中,我們構造的深度信念網絡模型包括兩層RBM,分別為低層RBM和高層RBM。
1.2 基于深度信念網絡的入侵檢測模型
基于深度信念網絡的檢測模型的總體框架如圖2所示,包含三個步驟:
①數據預處理。將NSL-KDD數據中的字符型數據數字化,再對數據進行歸一化處理。
②通過我們構建的DBN模型對數據進行訓練并特征降維,提取出特征優異的數據,為第三步數據分類做準備。其中涉及到的RBM等算法將在第2節進行說明。
③將②獲得的降維數據作為SVM的輸入,進行攻擊類別的識別。

圖2 DBN-SVM結構圖
2.1 限制玻爾茲曼機
限制玻爾茲曼機是深度信念網絡的核心,是由Hinton和Sejnowski于1986年提出的一種兩層神經網絡,其兩層節點分別是可見層節點(visible unit)和隱藏層節點(hidden unit)。整個網絡模型是一個二部圖,只有可見單元和隱藏單元之間才會存在邊,可見單元之間以及隱藏單元之間都不會有邊連接,如圖3所示。其中V(V1、V2…Vi)等為可見層單元,表示輸入數據;H(H1、H2…Hj)為隱藏層單元,隱藏層節點往往沒有實際意義,通常是機器學習自動生成;W表示可見層單元和隱藏層單元之間的連接權重。由于所有的V和H都滿足Boltzmann分布,因此當輸入V的時候通過P(H│V)可以得到隱藏層H,而得到隱藏層H之后,通過P(V│H)又能得到可見層。通過調整參數,從隱藏層獲得的可見層V1與原來的可見層V如果一樣,那么所獲得的隱藏層就是可見層的另一種表達。

圖3 RBM結構圖
2.2 RBM模型參數分析
由于相同層節點之間是相互獨立無聯系的,所以在已知V的情況下,所有的隱藏層節點之間是相互獨立的,故隱藏層中第j個節點的概率分布可表示為:

同理,在已知隱藏層H的情況下,所有的可見層節點都是條件獨立的,故可見層中的第i個節點的概率分布可表示為:

其中,函數f是激活函數(sigmoid),是歸一化因子:

那么,關于RBM在某一狀態(V,H)的給定參數模型的聯合概率分布表達式如下:

2.3 基于對比散度的快速學習算法
學習RBM的任務是求出參數θ的值,以擬合給定的訓練數據。參數θ可以通過最大RBM在訓練集(假設含有T個樣本)上的對數似然函數學習得到。為了獲得參數θ的最優值,即求得聯合概率分布P(v,h)的最大值。傳統的方法是利用Gibbs采樣方法得到服從RBM定義的分布的隨機樣本。但在通常情況下需要較大的采樣步數,這樣使得RBM的訓練效率不高,尤其是當觀測數據的特征維數較高時。2002年Hinton提出了RBM的一個快速學習算法,即對比散度(Contrastive Divergence,CD)[5]。與Gibbs采樣不同,在CD算法一開始,可見單元的狀態被設置成一個訓練樣本,并利用(1)計算所有隱層單元的狀態。在所有隱層單元確定后,根據(2)來確定第i個可見單元取值為1的概率,進而產生可見層的一個重構。
這樣,在使用隨機梯度上升方法最大化對數似然估計函數在訓練數據上的值時,各參數的更新準則為:

其中,∈是學習率,<>recon表示一步重構后模型定義的分布。
2.4 微調權值算法
BP神經網絡算法[11]是一種有監督的分類器,通過利用輸出誤差來估計輸出層的直接前一層的誤差,再用這個誤差估計其更前一層的誤差,經過反復一層一層的反向傳播學習,就獲得了所有其他各層的誤差估計。
BP算法的實現過程:
輸入:訓練樣本為vi,(i=1,2,…,m);
輸出:微調后的模型參數θ={W,b,c};
(1)對于每一個訓練樣本vi
①計算輸出節點的實際輸出vi'
②計算輸出節點實際輸出與理想輸出(vi)的誤差梯度

③計算隱藏層單元h的誤差梯度

這里的θhk為節點h到后續節點k的連接權值,δk為節點k根據激發函數計算得到的輸出。
④計算權值更新

這里η為學習比率,需要通過實驗確定,Oi為節點i的輸出,Oj為節點j的輸出,δj為節點j的遞歸誤差梯度。
對所有訓練樣本輸入得到的同一權值的更新即(d)式求和,并根據權值更新計算新的權值。
重復以上兩步直到輸出誤差(用方差表示)足夠小,即:

這里s為訓練樣本序列,z為輸出節點序列,dsz為樣本s在節點z的理想輸出,Osz為樣本s在節點z的實際輸出。
基于BP算法的深度信念網絡權值微調算法克服了BP網絡因隨機初始化權值參數而容易陷入局部最優和訓練時間過長的缺點,只需要對已知權值空間進行微調,大大縮減了參數尋優的收斂時間。
3.1 NSL-KDD數據集預處理
NSL-KDD數據集[10]是一種新的數據集,包含了一部分KDD`99數據集。它解決了KDD'99數據集固有的一些問題。例如訓練集中的冗余記錄,因此分類器不會偏向更頻繁的記錄,并且訓練集和測試集的記錄數量也是合理的,使得該數據集在入侵檢測試驗中可以被充分利用。
NSL-KDD數據集包含25192個實例的訓練數據(包含22種攻擊方法)和11850個測試數據(包括17種攻擊方法),主要包括以下四類的攻擊行為:DoS(Denial of Service)、U2R(User-to-Root)、R2L(Remote-to-Local)、Probe端口監視或掃描等。
NSL-KDD數據集[10]的每個記錄由41個屬性特征組成,其中包含38個數字型屬性和3個字符型屬性。針對這些因素,需要對數據做一下處理:①將字符型數據映射為數字型;②對數據進行歸一化處理,將數據的大小范圍縮小到[0,1]之間;③將記錄的類標分為5類:0表示正常、1表示DoS、2表示U2R、3表示R2L、4表示Probe。
3.2 實驗與分析
本文采用NSL-KDD數據集來評估我們提出的DBN-SVM入侵檢測模型。其中,在我們的試驗中DBN有兩個用途。首先,我們采用DBN做為數據的特征降維,而后應用SVM做為分類器對數據進行訓練分類。另外,我們也將單個DBN作用為分類器進行訓練分類。其中,在本次實驗中我們采用了默認的SVM參數設置;DBN采用兩層RBM結構,RBM的特征數量從底層到高層依次為41、13和4,迭代的次數為150。并在數據量的不同比例階段進行分類。
(1)DBN vs.SVM vs.DBN-SVM
在本次實驗中,分別提取20%、40%、60%、100%的NSL-KDD數據在SVM、DBN和我們提出的DBN-SVM模型中進行處理,得到了其準確率和時間的對比(如表1)。

表1 不同分類模型間的對比
在實驗的開始階段,準確率開始上升,當迭代到98次時實驗的準確率達到最優,而后開始下降。
通過實驗對比發現,DBN-SVM在準確率方面由于單獨的SVM和DBN模型,顯著地提高了網絡入侵的識別能力。在運行時間方面,DBN-SVM相對于SVM極大地提高了處理時間,但比單獨的DBN稍遜。從總體的準確率和高效性來說,DBN-SVM在此方面具有很突出的優勢,大幅地提高了網絡入侵的檢測能力。
(1)數據降維方法對比
為了檢驗DBN作為數據降維的性能,同樣以NSL-KDD數據做為原始輸入數據,分別采用PCA,Gain Ratio等方法進行對比。由表2給出的實驗對比結果,表明DBN作為數據降維是比其他方法更有優勢,更適應高維空間的特征提取任務。

表2 不同數據降維方法間的對比
深度信念網絡對于入侵檢測是一種全新的入侵檢測模型,通過與已知的分類方法和特征降維方法進行對比,DBN在做為分類器和特征降維方面都表現出了優異的性能。本文提出了一個基于DBN-SVM的入侵檢測模型,其中DBN用作是進行特征降維,SVM做為數據分類器。通過用NSL-KDD數據集的實驗結果表明,DBN-SVM擁有比SVM更好的分類效果,而且通過對數據進行降維極大地提高了測試時間。同時,用其他的數據降維方法同DBN進行對比,DBN同樣表現出優異的性能。總之,該模型極大地提高了入侵檢測速度,是一種可行的、高效的入侵檢測模型,為入侵檢測提供了一種全新的思路。
[1] Anderson J P.Computer Security Threat Monitoring and Surveillance[R].Technical Report,James P.Anderson Company,Fort Washington,Pennsylvania,1980
[2] Tsai C F,Hsu Y F,Lin C Y,et al.Intrusion Detection by Machine Learning:A Review[J].Expert Systems with Applications,2009,36(10):11994~12000
[3] Hinton G,Osindero S,Teh Y W.A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation,2006,18(7):1527~1554
[4] Hinton G E,Salakhutdinov R R.Reducing the Dimensionality of Data with Neural Networks[J].Science,2006,313(5786):504~507
[5] Hinton G E.Training Products of Experts by Minimizing Contrastive Divergence[J].Neural Computation,2002,14(8):1771~1800
[6] Tavallaee M,Bagheri E,Lu W,et al.A Detailed Analysis of the KDD CUP 99 Data Set[C].Proceedings of the Second IEEE Symposium on Computational Intelligence for Security and Defence Applications 2009,2009
[7] 余凱,賈磊,陳雨強等.深度學習的昨天、今天和明天[J].計算機研究與發展,2013(9):1799~1804
[8] Rumelhart D E,Hinton G E,Williams R J.Learning Representations by Back-Propagating Errors[J].Nar,1986,323(6088):533~536
[9] 李輝,管曉宏,昝鑫等.基于支持向量機的網絡入侵檢測[J].計算機研究與發展,2003,(6):799~807
An Intrusion Detection Model Based on Deep Belief Networks
YANG Kun-peng
(School of Computer and Information Technology,Beijing Jiaotong University,Beijing 100044)
Proposes an intrusion detection algorithm of support vector machine based on Deep Belief Networks for improving the traditional method in detection speed,accuracy,complexity,etc.The BP neural network structure will do a fine turning on parameters after double RBMS structure reducing the dimension of data,in this way,the corresponding optimal low-dimensional representation of raw data can be obtained.Support Vector Machine classification algorithm is to discriminate the intrusion from low-dimensional data.The experiments with NSL-KDD dataset show that the new algorithm is a feasible and effective intrusion detection model for IDS to provide a new way of thinking.
Deep Learning;Intrusion Detection;Deep Belief Networks;Feature Reduction;Support Vector Machine
1007-1423(2015)02-0010-05
10.3969/j.issn.1007-1423.2015.02.003
楊昆朋(1988-),男,河南鄧州人,碩士研究生,研究方向為機器學習、深度學習
2014-12-11
2014-12-24