楊昆朋
(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,北京 100044)
基于深度信念網(wǎng)絡(luò)的入侵檢測模型
楊昆朋
(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,北京 100044)
針對(duì)傳統(tǒng)入侵檢測方法在檢測速度、精度、復(fù)雜度等方面的缺陷,提出一種基于深度信念網(wǎng)絡(luò)的支持向量機(jī)入侵檢測模型(DBN-SVM)。該模型利用兩層的限制玻爾茲曼機(jī)進(jìn)行結(jié)構(gòu)降維,再用BP神經(jīng)網(wǎng)絡(luò)反向微調(diào)結(jié)構(gòu)參數(shù),從而獲得原始數(shù)據(jù)的相應(yīng)最優(yōu)表示。利用支持向量機(jī)對(duì)數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)入侵的識(shí)別。通過對(duì)NSL-KDD數(shù)據(jù)集仿真實(shí)驗(yàn)表明,DBN-SVM模型是一種可行的、高效的入侵檢測模型,為入侵檢測提供一種全新的思路。
深度學(xué)習(xí);入侵檢測;深度信念網(wǎng)絡(luò);特征降維;支持向量機(jī)
隨著時(shí)代的發(fā)展,Internet已經(jīng)成為日常生活中不可缺少的一部分。計(jì)算機(jī)網(wǎng)絡(luò)安全也因此成為一個(gè)備受關(guān)注的重大問題。入侵檢測(Intrusion Detection,ID)自1980年被Anderson提出以來,一直備受學(xué)術(shù)、工業(yè)界關(guān)注[1]。入侵檢測系統(tǒng)(Intrusion Detection System,IDS)它能夠檢測各種形式的入侵行為,并根據(jù)事先定義的安全策略采取相應(yīng)的響應(yīng)行為。
傳統(tǒng)的IDS存在著大量的問題,對(duì)未知網(wǎng)絡(luò)攻擊檢測能力差、誤報(bào)率高、占用資源多;對(duì)攻擊數(shù)據(jù)的關(guān)聯(lián)和分析功能不足,導(dǎo)致過多的人工參與;對(duì)于現(xiàn)在廣泛使用的腳本攻擊防御能力差等。為了在現(xiàn)代高帶寬、大規(guī)模網(wǎng)絡(luò)環(huán)境下提高入侵檢測的效率、降低漏報(bào)率和誤報(bào)率,把機(jī)器學(xué)習(xí)的方法引入到IDS中來,已成為IDS的重要發(fā)展方向[2]。以往研究者們在IDS研究中引入了各種機(jī)器學(xué)習(xí)方法,如神經(jīng)網(wǎng)絡(luò)、模糊邏輯、支持向量機(jī)等在入侵檢測系統(tǒng)中取得了突破性的進(jìn)展。實(shí)際上,這些方法在入侵檢測系統(tǒng)中往往以分類器出現(xiàn),用以分別網(wǎng)絡(luò)行為是否正常。本文中,我們提出了一種基于限制玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)的深度信念網(wǎng)絡(luò)(Deep Belief Networks,DBN)[3]的入侵檢測模型。DBN用來作為特征降維(feature reduction)[4]的方法,之后將DBN處理后的數(shù)據(jù)用SVM[9]進(jìn)行訓(xùn)練學(xué)習(xí)并分類。
深度學(xué)習(xí)由于其對(duì)復(fù)雜數(shù)據(jù)的學(xué)習(xí)能力突出而備受國內(nèi)外學(xué)者的關(guān)注[7]。一個(gè)深度學(xué)習(xí)模型含有多層的隱藏感知單元,通過組合底層特征形成更加高層的數(shù)據(jù)抽象,可以更好地建立從底層信號(hào)到高層語義的映射關(guān)系。
1.1 深度信念網(wǎng)絡(luò)工作原理
深度信念網(wǎng)絡(luò)由Hinton等人于2006年提出[3],作為一種深度學(xué)習(xí)方法備受關(guān)注,并成功應(yīng)用于物體識(shí)別、語音識(shí)別等領(lǐng)域。它通過學(xué)習(xí)獲得數(shù)據(jù)集的壓縮編碼,可以達(dá)到數(shù)據(jù)降維的目的[4]。
從結(jié)構(gòu)上看,DBN由多層無監(jiān)督的限制玻爾茲曼機(jī)網(wǎng)絡(luò)和一層有監(jiān)督的反向傳播(Back-Propagation,BP)[8]網(wǎng)絡(luò)組成,如圖1所示。
圖1 DBN結(jié)構(gòu)圖
DBN在訓(xùn)練模型的過程中主要分為兩步:
①分別單獨(dú)無監(jiān)督地訓(xùn)練每一層RBM網(wǎng)絡(luò);確保特征向量映射到不同特征空間時(shí),都盡可能多地保留特征信息;
②在DBN的最后一層設(shè)置BP網(wǎng)絡(luò),接收RBM的輸出特征向量作為它的輸入特征向量,有監(jiān)督地訓(xùn)練實(shí)體關(guān)系分類器。而且每一層RBM網(wǎng)絡(luò)只能確保自身層內(nèi)的權(quán)值對(duì)該層特征向量映射達(dá)到最優(yōu),并不是對(duì)整個(gè)DBN的特征向量映射達(dá)到最優(yōu),所以反向傳播網(wǎng)絡(luò)還將錯(cuò)誤信息自頂向下傳播至每一層RBM,微調(diào)整個(gè)DBN網(wǎng)絡(luò)。RBM網(wǎng)絡(luò)訓(xùn)練模型的過程可以看作對(duì)一個(gè)深層BP網(wǎng)絡(luò)權(quán)值參數(shù)的初始化,使DBN克服了BP網(wǎng)絡(luò)因隨機(jī)初始化權(quán)值參數(shù)而容易陷入局部最優(yōu)和訓(xùn)練時(shí)間長的缺點(diǎn)。
上述訓(xùn)練模型中第一步在深度學(xué)習(xí)的術(shù)語叫做預(yù)訓(xùn)練,第二步叫做微調(diào)。在本文中,我們構(gòu)造的深度信念網(wǎng)絡(luò)模型包括兩層RBM,分別為低層RBM和高層RBM。
1.2 基于深度信念網(wǎng)絡(luò)的入侵檢測模型
基于深度信念網(wǎng)絡(luò)的檢測模型的總體框架如圖2所示,包含三個(gè)步驟:
①數(shù)據(jù)預(yù)處理。將NSL-KDD數(shù)據(jù)中的字符型數(shù)據(jù)數(shù)字化,再對(duì)數(shù)據(jù)進(jìn)行歸一化處理。
②通過我們構(gòu)建的DBN模型對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練并特征降維,提取出特征優(yōu)異的數(shù)據(jù),為第三步數(shù)據(jù)分類做準(zhǔn)備。其中涉及到的RBM等算法將在第2節(jié)進(jìn)行說明。
③將②獲得的降維數(shù)據(jù)作為SVM的輸入,進(jìn)行攻擊類別的識(shí)別。
圖2 DBN-SVM結(jié)構(gòu)圖
2.1 限制玻爾茲曼機(jī)
限制玻爾茲曼機(jī)是深度信念網(wǎng)絡(luò)的核心,是由Hinton和Sejnowski于1986年提出的一種兩層神經(jīng)網(wǎng)絡(luò),其兩層節(jié)點(diǎn)分別是可見層節(jié)點(diǎn)(visible unit)和隱藏層節(jié)點(diǎn)(hidden unit)。整個(gè)網(wǎng)絡(luò)模型是一個(gè)二部圖,只有可見單元和隱藏單元之間才會(huì)存在邊,可見單元之間以及隱藏單元之間都不會(huì)有邊連接,如圖3所示。其中V(V1、V2…Vi)等為可見層單元,表示輸入數(shù)據(jù);H(H1、H2…Hj)為隱藏層單元,隱藏層節(jié)點(diǎn)往往沒有實(shí)際意義,通常是機(jī)器學(xué)習(xí)自動(dòng)生成;W表示可見層單元和隱藏層單元之間的連接權(quán)重。由于所有的V和H都滿足Boltzmann分布,因此當(dāng)輸入V的時(shí)候通過P(H│V)可以得到隱藏層H,而得到隱藏層H之后,通過P(V│H)又能得到可見層。通過調(diào)整參數(shù),從隱藏層獲得的可見層V1與原來的可見層V如果一樣,那么所獲得的隱藏層就是可見層的另一種表達(dá)。
圖3 RBM結(jié)構(gòu)圖
2.2 RBM模型參數(shù)分析
由于相同層節(jié)點(diǎn)之間是相互獨(dú)立無聯(lián)系的,所以在已知V的情況下,所有的隱藏層節(jié)點(diǎn)之間是相互獨(dú)立的,故隱藏層中第j個(gè)節(jié)點(diǎn)的概率分布可表示為:
同理,在已知隱藏層H的情況下,所有的可見層節(jié)點(diǎn)都是條件獨(dú)立的,故可見層中的第i個(gè)節(jié)點(diǎn)的概率分布可表示為:
其中,函數(shù)f是激活函數(shù)(sigmoid),是歸一化因子:
那么,關(guān)于RBM在某一狀態(tài)(V,H)的給定參數(shù)模型的聯(lián)合概率分布表達(dá)式如下:
2.3 基于對(duì)比散度的快速學(xué)習(xí)算法
學(xué)習(xí)RBM的任務(wù)是求出參數(shù)θ的值,以擬合給定的訓(xùn)練數(shù)據(jù)。參數(shù)θ可以通過最大RBM在訓(xùn)練集(假設(shè)含有T個(gè)樣本)上的對(duì)數(shù)似然函數(shù)學(xué)習(xí)得到。為了獲得參數(shù)θ的最優(yōu)值,即求得聯(lián)合概率分布P(v,h)的最大值。傳統(tǒng)的方法是利用Gibbs采樣方法得到服從RBM定義的分布的隨機(jī)樣本。但在通常情況下需要較大的采樣步數(shù),這樣使得RBM的訓(xùn)練效率不高,尤其是當(dāng)觀測數(shù)據(jù)的特征維數(shù)較高時(shí)。2002年Hinton提出了RBM的一個(gè)快速學(xué)習(xí)算法,即對(duì)比散度(Contrastive Divergence,CD)[5]。與Gibbs采樣不同,在CD算法一開始,可見單元的狀態(tài)被設(shè)置成一個(gè)訓(xùn)練樣本,并利用(1)計(jì)算所有隱層單元的狀態(tài)。在所有隱層單元確定后,根據(jù)(2)來確定第i個(gè)可見單元取值為1的概率,進(jìn)而產(chǎn)生可見層的一個(gè)重構(gòu)。
這樣,在使用隨機(jī)梯度上升方法最大化對(duì)數(shù)似然估計(jì)函數(shù)在訓(xùn)練數(shù)據(jù)上的值時(shí),各參數(shù)的更新準(zhǔn)則為:
其中,∈是學(xué)習(xí)率,<>recon表示一步重構(gòu)后模型定義的分布。
2.4 微調(diào)權(quán)值算法
BP神經(jīng)網(wǎng)絡(luò)算法[11]是一種有監(jiān)督的分類器,通過利用輸出誤差來估計(jì)輸出層的直接前一層的誤差,再用這個(gè)誤差估計(jì)其更前一層的誤差,經(jīng)過反復(fù)一層一層的反向傳播學(xué)習(xí),就獲得了所有其他各層的誤差估計(jì)。
BP算法的實(shí)現(xiàn)過程:
輸入:訓(xùn)練樣本為vi,(i=1,2,…,m);
輸出:微調(diào)后的模型參數(shù)θ={W,b,c};
(1)對(duì)于每一個(gè)訓(xùn)練樣本vi
①計(jì)算輸出節(jié)點(diǎn)的實(shí)際輸出vi'
②計(jì)算輸出節(jié)點(diǎn)實(shí)際輸出與理想輸出(vi)的誤差梯度
③計(jì)算隱藏層單元h的誤差梯度
這里的θhk為節(jié)點(diǎn)h到后續(xù)節(jié)點(diǎn)k的連接權(quán)值,δk為節(jié)點(diǎn)k根據(jù)激發(fā)函數(shù)計(jì)算得到的輸出。
④計(jì)算權(quán)值更新
這里η為學(xué)習(xí)比率,需要通過實(shí)驗(yàn)確定,Oi為節(jié)點(diǎn)i的輸出,Oj為節(jié)點(diǎn)j的輸出,δj為節(jié)點(diǎn)j的遞歸誤差梯度。
對(duì)所有訓(xùn)練樣本輸入得到的同一權(quán)值的更新即(d)式求和,并根據(jù)權(quán)值更新計(jì)算新的權(quán)值。
重復(fù)以上兩步直到輸出誤差(用方差表示)足夠小,即:
這里s為訓(xùn)練樣本序列,z為輸出節(jié)點(diǎn)序列,dsz為樣本s在節(jié)點(diǎn)z的理想輸出,Osz為樣本s在節(jié)點(diǎn)z的實(shí)際輸出。
基于BP算法的深度信念網(wǎng)絡(luò)權(quán)值微調(diào)算法克服了BP網(wǎng)絡(luò)因隨機(jī)初始化權(quán)值參數(shù)而容易陷入局部最優(yōu)和訓(xùn)練時(shí)間過長的缺點(diǎn),只需要對(duì)已知權(quán)值空間進(jìn)行微調(diào),大大縮減了參數(shù)尋優(yōu)的收斂時(shí)間。
3.1 NSL-KDD數(shù)據(jù)集預(yù)處理
NSL-KDD數(shù)據(jù)集[10]是一種新的數(shù)據(jù)集,包含了一部分KDD`99數(shù)據(jù)集。它解決了KDD'99數(shù)據(jù)集固有的一些問題。例如訓(xùn)練集中的冗余記錄,因此分類器不會(huì)偏向更頻繁的記錄,并且訓(xùn)練集和測試集的記錄數(shù)量也是合理的,使得該數(shù)據(jù)集在入侵檢測試驗(yàn)中可以被充分利用。
NSL-KDD數(shù)據(jù)集包含25192個(gè)實(shí)例的訓(xùn)練數(shù)據(jù)(包含22種攻擊方法)和11850個(gè)測試數(shù)據(jù)(包括17種攻擊方法),主要包括以下四類的攻擊行為:DoS(Denial of Service)、U2R(User-to-Root)、R2L(Remote-to-Local)、Probe端口監(jiān)視或掃描等。
NSL-KDD數(shù)據(jù)集[10]的每個(gè)記錄由41個(gè)屬性特征組成,其中包含38個(gè)數(shù)字型屬性和3個(gè)字符型屬性。針對(duì)這些因素,需要對(duì)數(shù)據(jù)做一下處理:①將字符型數(shù)據(jù)映射為數(shù)字型;②對(duì)數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)的大小范圍縮小到[0,1]之間;③將記錄的類標(biāo)分為5類:0表示正常、1表示DoS、2表示U2R、3表示R2L、4表示Probe。
3.2 實(shí)驗(yàn)與分析
本文采用NSL-KDD數(shù)據(jù)集來評(píng)估我們提出的DBN-SVM入侵檢測模型。其中,在我們的試驗(yàn)中DBN有兩個(gè)用途。首先,我們采用DBN做為數(shù)據(jù)的特征降維,而后應(yīng)用SVM做為分類器對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練分類。另外,我們也將單個(gè)DBN作用為分類器進(jìn)行訓(xùn)練分類。其中,在本次實(shí)驗(yàn)中我們采用了默認(rèn)的SVM參數(shù)設(shè)置;DBN采用兩層RBM結(jié)構(gòu),RBM的特征數(shù)量從底層到高層依次為41、13和4,迭代的次數(shù)為150。并在數(shù)據(jù)量的不同比例階段進(jìn)行分類。
(1)DBN vs.SVM vs.DBN-SVM
在本次實(shí)驗(yàn)中,分別提取20%、40%、60%、100%的NSL-KDD數(shù)據(jù)在SVM、DBN和我們提出的DBN-SVM模型中進(jìn)行處理,得到了其準(zhǔn)確率和時(shí)間的對(duì)比(如表1)。
表1 不同分類模型間的對(duì)比
在實(shí)驗(yàn)的開始階段,準(zhǔn)確率開始上升,當(dāng)?shù)?8次時(shí)實(shí)驗(yàn)的準(zhǔn)確率達(dá)到最優(yōu),而后開始下降。
通過實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),DBN-SVM在準(zhǔn)確率方面由于單獨(dú)的SVM和DBN模型,顯著地提高了網(wǎng)絡(luò)入侵的識(shí)別能力。在運(yùn)行時(shí)間方面,DBN-SVM相對(duì)于SVM極大地提高了處理時(shí)間,但比單獨(dú)的DBN稍遜。從總體的準(zhǔn)確率和高效性來說,DBN-SVM在此方面具有很突出的優(yōu)勢,大幅地提高了網(wǎng)絡(luò)入侵的檢測能力。
(1)數(shù)據(jù)降維方法對(duì)比
為了檢驗(yàn)DBN作為數(shù)據(jù)降維的性能,同樣以NSL-KDD數(shù)據(jù)做為原始輸入數(shù)據(jù),分別采用PCA,Gain Ratio等方法進(jìn)行對(duì)比。由表2給出的實(shí)驗(yàn)對(duì)比結(jié)果,表明DBN作為數(shù)據(jù)降維是比其他方法更有優(yōu)勢,更適應(yīng)高維空間的特征提取任務(wù)。
表2 不同數(shù)據(jù)降維方法間的對(duì)比
深度信念網(wǎng)絡(luò)對(duì)于入侵檢測是一種全新的入侵檢測模型,通過與已知的分類方法和特征降維方法進(jìn)行對(duì)比,DBN在做為分類器和特征降維方面都表現(xiàn)出了優(yōu)異的性能。本文提出了一個(gè)基于DBN-SVM的入侵檢測模型,其中DBN用作是進(jìn)行特征降維,SVM做為數(shù)據(jù)分類器。通過用NSL-KDD數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,DBN-SVM擁有比SVM更好的分類效果,而且通過對(duì)數(shù)據(jù)進(jìn)行降維極大地提高了測試時(shí)間。同時(shí),用其他的數(shù)據(jù)降維方法同DBN進(jìn)行對(duì)比,DBN同樣表現(xiàn)出優(yōu)異的性能??傊?,該模型極大地提高了入侵檢測速度,是一種可行的、高效的入侵檢測模型,為入侵檢測提供了一種全新的思路。
[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] 余凱,賈磊,陳雨強(qiáng)等.深度學(xué)習(xí)的昨天、今天和明天[J].計(jì)算機(jī)研究與發(fā)展,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ī)的網(wǎng)絡(luò)入侵檢測[J].計(jì)算機(jī)研究與發(fā)展,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-),男,河南鄧州人,碩士研究生,研究方向?yàn)闄C(jī)器學(xué)習(xí)、深度學(xué)習(xí)
2014-12-11
2014-12-24