高 妮, 高 嶺, 賀毅岳,3
(1. 西北大學信息科學與技術學院,陜西 西安 710127; 2. 西安財經學院 信息學院,陜西 西安 710100; 3. 西北大學經濟管理學院,陜西 西安 710127)
?
面向入侵檢測系統的DeepBeliefNets模型
高妮1,2, 高嶺1, 賀毅岳1,3
(1. 西北大學信息科學與技術學院,陜西 西安 710127; 2. 西安財經學院 信息學院,陜西 西安 710100; 3. 西北大學經濟管理學院,陜西 西安 710127)
連續的網絡流量會導致海量數據問題,這為入侵檢測提出了新的挑戰。為此,提出一種面向入侵檢測系統的深度信念網絡(deepbeliefnetsorientedtotheintrusiondetectionsystem,DBN-IDS)模型。首先,通過無監督的、貪婪的算法自底向上逐層訓練每一個受限玻爾茲曼機(restrictedBoltzmannmachine,RBM)網絡,使得大量高維、非線性的無標簽數據映射為最優的低維表示;然后利用帶標簽數據被附加到頂層,通過反向傳播(backpropagation,BP)算法自頂向下有監督地對RBM網絡輸出的低維表示進行分類,并同時對RBM網絡進行微調;最后,利用NSL-KDD數據集對模型參數和性能進行了深入的分析。實驗結果表明,DBN-IDS分類效果優于支持向量機(supportvectormachine,SVM)和神經網絡(neuralnetwork,NN),適用于高維、非線性的海量入侵數據的分類處理。
入侵檢測; 神經網絡; 深度信念網絡
隨著網絡技術的飛速發展和網絡規模的不斷擴大,如何識別各種網絡攻擊是一個不可回避的關鍵技術問題。入侵檢測系統(intrusiondetectionsystem,IDS)是對企圖入侵、正在進行的入侵或已經發生的入侵進行識別,其本質是對大量攻擊數據給出威脅分析。以往研究者在IDS研究中引入了各種機器學習方法,如神經網絡(neuralnetwork,NN)[1]、支持向量機(supportvectormachine,SVM)[2-3]、蟻群算法[4]等機器學習方法都在IDS中取得了突破性的進展。
傳統機器學習多數屬于淺層學習,在帶標簽的數據集中抽取有用信息。在面臨真實的網絡應用環境,大量連續的網絡連接數據會導致海量數據問題,這給入侵檢測提出了新的挑戰,而如何建立穩定、可靠且高效的入侵檢測模型是入侵檢測研究中的首要任務。傳統的淺層學習方法無法有效解決海量入侵數據分類問題:①隨著數據集動態增長,多類別的分類任務會導致準確率低下;②淺層學習是一種單線程任務,已經不適用于海量數據智能化分析和預測需求的多任務學習,在海量數據分類問題上,淺層學習在復雜函數運算方面有一定限制,對新樣本的適應能力也受到一定限制[5]。
因此,如何提出一個面向海量數據有效的入侵檢測模型是一個亟待解決的問題。深度學習在海量數據分析方面有著突出的表現,可以用來解決入侵檢測領域的難題。通過構建具有多隱藏層的非線性網絡結構和海量的訓練數據,學習更易于分類的低維特征,從而提升分類的準確性。因此,表達能力強的深度模型能夠挖掘海量數據中蘊含的豐富內在信息,是解決海量數據環境下入侵檢測問題的一種極具前景的方法。
2006年,文獻[6]提出了深度信念網絡(deepbeliefnets,DBN)的深度學習方法。DBN受到學術界的廣泛關注,已成為大數據和人工智能的一個熱潮。2009年,微軟研究院的專家們與Hinton開展了深度合作,將DBN引入語音識別領域,取得了錯誤率相對降低30%的突破性進展[7]。以模擬人腦的多層結構為原理的深度學習網絡可通過逐層特征抽取,將高維、非線性數據逐漸形成為更適合模式分類的抽象特征。因此,海量數據分類需要深度學習,它是解決入侵檢測速度低和分類性能低的一種極具前景的方法。
本文將DBN深度學習方法引入到入侵檢測領域中,提出一種面向入侵檢測系統的深度信念網絡(deepbeliefnetsorientedtointrusiondetectionsystem,DBN-IDS)模型。首先,通過無監督的、貪婪的算法,自底向上逐層訓練每一個限制玻爾茲曼機(restrictedBoltzmannmachine,RBM)網絡,在該非監督學習過程中獲得原始數據的低維表示,從而顯著降低數據的維數,即保留數據的關鍵重要特征,同時去除冗余特征。然后,利用反向傳播(backpropagation,BP)算法對低維表示進行分類,并同時對RBM網絡進行微調。利用NSL-KDD數據集[8]進行驗證,將本文DBN-IDS與SVM和NN進行了比較,實驗結果表明DBN-IDS模型優于這兩種機器學習方法,有效提高了分類準確率。
1.1RBM模型
RBM是DBN的核心組件之一,是一個兩層的神經網絡,其兩層單元分別是可視單元(v)和隱藏單元(h)。RBM模型是一個二分圖結構,同層單元之間互不相連,位于底層的可視層(v)描述了輸入數據特征,位于上層的隱藏層(h)數據由機器學習自動生成,通常沒有實際意義。
RBM可定義為:滿足二值變量的可視層單元和隱藏層單元的全概率分布p(v|h)服從Boltzmann分布。RBM可看作一種無向圖模型,如圖1所示。當輸入可視層單元v時,通過全概率分布p(h|v)得到隱藏層h;獲得隱藏層h后,通過p(v|h)又能得到可視層單元v。

圖1 RBM結構Fig.1 Structure of RBM
假設可視層單元v表示輸入數據,h是隱藏層單元,W表示可視單元和隱藏單元之間的連接權重。令所有單元均為二值變量,即?i,j,vi∈{0,1},hj∈{0,1}。
由于RBM的對稱結構,其層間有連接,層內無連接,故在已知v情況下,所有的隱藏節點條件獨立,第j個單元h的后驗概率表示為
(1)
同理,在已知h條件下,所有的可視節點條件獨立,故第i個單元v的后驗概率表示為
(2)
σ是激活函數:
(3)
關于某一狀態{v,h}的能量函數定義為
(4)
式中,θ={W,a,b}是模型參數,W是RBM模型的權值參數,a表示隱藏單元的偏置,b表示可視層的偏置。狀態{v,h}基于能量函數的聯合概率分布滿足:
(5)
1.2貪婪的DBN
DBN是一個概率生成模型[6],是由多層無監督的RBM網絡和一層有監督的BP[9]網絡組成的一種深層神經網絡。這些網絡被“限制”為一個可視層和一個隱藏層,層間存在連接,而層內單元間不存在連接。
圖2展示了一個多層的生成模型結構,該模型最高兩層通過無向連接交互,其他層通過有向連接進行交互。向上的箭頭代表了認知模型,向下的箭頭代表了生成模型。在生成模型學習過程中,權重參數W一旦被學習,通過使用WT,原始數據v被映射為隱藏層h1的高層數據表示。WT可以用來推理隱藏層h1的近似后驗概率。因此,可視層的條件概率是網絡中每個隱藏層后驗概率的階乘表示:
(6)

圖2 DBN結構圖Fig.2 Graphical representation of a DBN
DBM在自底向上的傳遞中,認知連接被用來推斷出下面一層二進制表示。每一層RBM網絡的隱藏層單元被訓練去捕捉在可視層表現出來的高維數據的相關性,從具體的高維、非線性數據逐漸轉化為抽象數據,即從復雜的高維、非線性輸入數據抽取維數較低的特征。在自頂向下的傳遞過程中,生成連接被用來將聯想記憶的狀態映射到原始數據。利用RBM訓練后的低維特征會大大減少模型訓練時間,在頂層的神經網絡形成易于分類的特征。
DBN在訓練模型的過程中分為兩步。
(1) 預訓練:通過一個非監督的、貪婪的學習方法,自底而上逐層訓練每一個RBM網絡,將大量高維、非線性的無標簽數據(原始數據)映射至低維表示,獲得一個較優的初始模型參數。這種非監督的、貪婪的且逐層的學習方法被稱為對比分歧(contrastive divergence, CD)算法[10],被Hinton證明是可以快速訓練RBM網絡的。
(2) 微調權值:在預訓練后,利用少數帶標簽數據被附加到頂層,通過BP網絡接收RBM輸出的低維表示作為它的輸入特征向量,自頂向下有監督地訓練分類器。通過逐層、貪婪的訓練每一層RBM網絡以確保層內特征向量映射達到最優,但卻不能確保整個DBN的特征向量映射達到最優。因此,BP網絡還擔負著對RBM網絡性能進行微調的功能,將錯誤信息自頂向下傳播至每一層RBM,以最大似然函數為目標函數,使整個DBN網絡達到最優。
1.3基于吉布斯采樣的馬爾可夫鏈模型
在生成RBM數據過程中,可視層和隱藏層從一個隨機狀態開始,然后執行交替的吉布斯采樣。首先,原始可視單元v0映射到隱藏單元h0;其次,可視單元v0由隱藏單元h0重構為新的可視單元v1;再次,v1映射為新的隱藏單元h1。這種前后交替迭代的過程就是吉布斯采樣。
為了使得RBM的聯合概率分布p(v,h;θ)最大,依據可視層單元和隱藏層單元存在的相關性差異,更新RBM模型的參數θ。傳統的方法是使用交替的吉布斯采樣,利用馬爾可夫鏈蒙特卡羅方法使馬爾可夫鏈趨于平穩分布[11]。在圖3可以看出,利用馬爾可夫鏈在迭代次數接近∞時,聯合概率分布接近平穩分布。

圖3 基于吉布斯采樣的馬爾可夫鏈模型Fig.3 Markov chain based on alternating Gibbs sampling
對訓練樣本求解極大似然假設的梯度:
(7)

1.4CD算法
CD算法是由文獻[10]提出的快速訓練RBM的方法,最小化兩個KL分歧的差異性表示為
(8)

(9)
式中,n為迭代次數;ε為學習速度。
2.1模型設計
本文提出的DBN-IDS模型總體框架如圖4所示,包含5個步驟:
步驟 1數據預處理。將NSL-KDD數據集[8]中符號型數據轉化為數值型數據,進而實施數據歸一化處理,將標準化數據分離為訓練數據和測試數據。詳見第2.2節內容。
步驟 2對訓練數據進行基于CD算法的預訓練過程。按照一定的非監督、貪婪的CD算法預訓練每層RBM,使得大量高維、非線性的無標簽數據映射為最優的低維表示,獲得數百萬的DBN模型參數。預訓練算法詳見第2.3節內容。
步驟 3微調權值過程。利用帶標簽數據被附加到頂層,通過BP算法自頂向下對RBM網絡輸出的低維表示進行有監督的分類。同時,BP網絡還擔負著對整個DBN模型參數進行微調的功能。最終學習獲得最優的深度學習訓練模型。微調權值算法詳見第2.4節內容。
步驟 4將測試數據輸入到已經建立好的深度學習訓練模型中,進而快速學習獲得每條測試數據的入侵類別。
步驟 5將入侵分類結果與規則庫進行判斷比較,對檢測到的入侵做出響應處理。

圖4 DBN-IDS學習過程Fig.4 Learning process of DBN-IDS
2.2數據預處理
NSL-KDD數據集[8]的每條連接記錄由41個屬性特征組成,其中包含38個數字型特征和3個符號型特征。數據集預處理包含兩個步驟:
步驟 1符號型特征數值化
本文采用屬性映射方法將符號型特征轉變成數值型數據。例如第2列屬性特征‘protocol_type’有3種取值:tcp,udp,icmp,將其字符分別編碼為二進制向量[1,0,0],[0,1,0]和[0,0,1]。同理,屬性特征‘service’的70種符號取值和‘flag’的11種符號取值可建立符號值與相應數值的映射關系。以此類推,41維特征經過變換之后有122維特征。
步驟 2歸一化處理
對步驟1獲得的數據進行最小-最大規范化處理后,各屬性特征位于同一數量級。根據式(13)將數據歸一化到[0,1]范圍:
(10)
式中,y是屬性值;MIN是該屬性的最小值;MAX是該屬性的最大值。
2.3預訓練過程
基于CD準則的預訓練步驟如算法1所示。
算法 1DBN預訓練算法
輸入輸入特征變量(v1,v2,…,vm),權重Wij,偏置ai,bj,學習率ε;
初始化Wij=ai=bj=0(i=1,2,…,m;j=1,2,…,n),并初始化迭代次數k;
輸出模型參數θ={W,a,b};
步驟 1對于每一個輸入特征變量(v1,v2,…,vm),將vi賦值給v0;


步驟 4對于所有的可視單元和隱藏單元,根據式(7)獲得初始狀態和更新狀態下的聯合概率分布的梯度,代入式(9)更新參數θ,即:
(11)
步驟 5如果t=k,保存模型參數,算法結束;
步驟 6如果t 2.4微調權值過程 在本文的DBN模型中,BP[9]算法起到微調整個網絡中模型參數的作用。基于BP算法的DBN微調權值訓練過程分為兩步:①先通過RBM模型訓練建立DBN的前向傳播,獲得一個較優的初始模型參數;②利用BP算法計算訓練樣本網絡的輸出誤差信息并自頂向下傳播至每一層RBM,微調整個DBN模型的參數。 算法 2DBN微調權值算法 輸入訓練樣本為〈xi,ti〉(i=1,2,…,m),權重Wij,偏置ai,bj,學習率ε; 初始化從DBN預訓練算法中獲得模型參數并初始化θ={W,a,b},初始化迭代次數為k; 輸出微調整后的模型參數θ={W,a,b}; 步驟 1對于每一個實例xi輸入DBN網絡,計算xi的輸出oi,使誤差沿網絡反向傳播; 步驟 2對DBN的每個輸出單元k,計算它的誤差項δk: (12) 步驟 3對于DBN的每個隱藏單元h,計算它的誤差項δh: (13) 步驟 4更新每個網絡模型參數θji: (14) 式中,θji=ηδjxj,η為學習速率; 步驟 5如果t=k,保存微調整后的模型參數,算法結束; 步驟 6如果t 3.1數據描述 本文采用NSL-KDD數據集[8]進行IDS系統測試,它是一種新的數據集。NSL-KDD數據集包含了KDD’ 99數據集的一些記錄,解決了KDD’ 99數據集中存在冗余記錄等問題。NSL-KDD數據集包含25 192個實例的訓練數據和11 850個測試數據,包括4種類型的攻擊行為:拒絕服務攻擊(DoS),遠程用戶攻擊(R2L),提升權限攻擊(U2R)和端口掃描攻擊(Probing)。 3.2實驗評價標準 在本文的對比實驗中,采用準確率(accuracy,AC)、檢測率(detection rate,DR)和誤報率(false alarm,FA)等作為評價指標來衡量DBN模型的性能: (15) (16) (17) 將每層網絡中重構后的數據與原有數據之間的重構誤差也作為性能評價標準,重構誤差的計算式為 (18) 3.3實驗分析 本文設計了2組實驗:①綜合DBN網絡深度、輸出層節點數和有無預訓練3類因素,探索了各種因素在入侵識別任務中的性能影響;②DBN模型與其他分類方法的性能比較。 3.3.1DBN模型參數設置 DBN模型表示為DBNi(i表示DBN包含的RBM的層數)。DBN參數設置如表1所示。DBN網絡結構的輸入層節點數為122,第1隱藏層節點數選取接近輸入層節點數的維數110,之后依次選取80,50,30和10對輸入數據進行降維。將選取好的參數輸入到DBN網絡結構中,在建立好的網絡結構上對每一層RBM網絡進行預訓練,采用1次吉布斯采樣對模型參數進行更新,文獻[12]論證了k=1時,RBM模型趨于平穩分布,能得到最好的實驗結果。在訓練每層RBM時,迭代次數為30次,基于BP算法的DBN微調權值算法的迭代次數為300次。 表1 DBNi模型參數列表 3.3.2DBN結構驗證分析 (1) 網絡深度的影響 DBN的深度對入侵識別效果起到非常重要的作用。本實驗設置5種不同的DBN網絡結構,性能對比分析結果如圖5所示。設置DBN2、DBN3、DBN4、DBN5和DBN6分別表示為122-60-10、122-80-40-10、122-110-70-40-10、122-110-80-50-30-10和122-110-80-60-40-20-10的RBM網絡結構。由圖5可知,DBN采用5層的RBM網絡結構的準確率、檢測率最大。 圖5 不同的DBN結構的性能比較Fig.5 Performance comparison of the different DBN structures 采用淺層122-60-10的DBN結構和深層122-110-80-50-30-10的DBN結構進行均方差性能對比分析。利用深層122-110-80-50-30-10和淺層122-60-10的DBN結構進行預訓練后,獲得網絡結構的模型參數。然后,對所獲得的網絡結構進行微調權值。如圖6所示,在微調權值100次迭代后,擁有相同參數的深層比淺層模型均方差小0.28,實驗表明深層模型能更有效地抽取特征。 圖6 淺層與深層結構的重構誤差對比Fig.6 Comparison of the squared reconstruction error of the shallow and deep network structure (2) 輸出層節點數的影響 本文另外一個重要的研究是選擇最小的特征向量維數來提高入侵識別準確率。為了測試輸出層節點數是如何影響入侵檢測性能的,本文采用深層122-110-80-50-30-10的DBN5模型,其他參數不變,輸出層節點數從3變化至12,結果如圖7所示。由圖7可知,DBN5模型設置10個輸出層節點的準確率和檢測率最大。 圖7 不同輸出層節點數的性能比較Fig.7 Performance comparison of the different output layer nodes (3) 有無預訓練過程的影響 DBN預訓練過程對入侵識別效果也起到非常重要的作用。本實驗設計了3種DBN網絡結構(DBN2、DBN3和DBN4)分別在有、無預訓練兩種情況下的性能對比。從表2可知,2層RBM的DBN網絡結構在有無預訓練情況下的準確率沒有顯著性差異。3層的DBN結構執行預訓練過程后再進行微調訓練,準確率比隨機初始化權值再微調訓練略微高些。而4層的DBN結構已經表現出兩種情況下明顯的差異。從實驗結果不難看出,3層以上的RBM網絡結構執行預訓練過程對于入侵識別準確率變得很重要。 表2 有無預訓練階段的性能比較 3.3.3與其他分類方法的性能對比分析 在NSL-KDD數據集中分別提取不同攻擊類型進行入侵分類實驗,將DBN模型與SVM和傳統NN分類方法做了性能對比。采用開源工具LIVSVM[13],其參數設置如下:類型為C-SVC,核函數采用徑向基函數,懲罰因子C=100,核函數控制因子g=0.000 001,采用十折交叉驗證獲得較高的準確率。NN算法采用3層結構,輸入層、中間層和輸出層各一個,采用常用的BP優化方式,其余參數和DBN類似。 表3給出了深層的DBN5模型與SVM、NN的性能對比。從結果不難看出,本文所述的DBN5模型在分類檢測率方面要略高于NN和SVM機器學習方法,且在誤報率方面,DBN5模型也低于它們。實驗結果表明,深層的DBN5模型有效提高了網絡入侵檢測正確率,降低檢測誤報率,更有利于提高入侵檢測模型的入侵識別能力。 表3 不同攻擊類型下3種算法性能比較 DBN的深度學習方法對于入侵檢測是一種全新的機器學習方法,該方法結合了無監督學習和有監督學習的學習優點,不僅對高維特征向量具有很強的提取特征能力,而且具有高效的分類能力。本文探索了基于DBN的深度學習方法在入侵檢測中的應用。探索了DBN網絡深度、輸出層節點數和有無預訓練3類因素在入侵識別任務中的性能影響。實驗結果表明,本文提出的DBN-IDS模型非常適用于高維空間的信息抽取任務,提高了入侵檢測正確率,降低了檢測誤報率,為入侵檢測提供了一種新的研究方法。 [1]ShahB,TrivediBH.Artificialneuralnetworkbasedintrusiondetectionsystems:asurvey[J]. International Journal of Computer Applications, 2012, 39(6):13-18. [2]KuangFJ,XuWH,ZhangSY.AnovelhybridKPCAandSVMwithGAmodelforintrusiondetection[J]. Applied Soft Computing, 2014, 18:178-184. [3]JingXP,WangHX,NieK.NetworkintrusiondetectionbasedonmodifiedkernelfunctionSVM[J]. Systems Engineering and Electronics, 2012, 34(5):1036-1040. (井小沛, 汪厚祥, 聶凱. 基于修正核函數SVM的網絡入侵檢測[J]. 系統工程與電子技術, 2012, 34(5): 1036-1040.) [4]AghdamMH,KabiriP.Featureselectionforintrusiondetectionsystemusingantcolonyoptimization[J]. International Journal of Network Security, 2016, 18(3): 420-432. [5]BengioY.LearningdeeparchitecturesforAI[J]. Foundations and Trends in Machine Learning, 2009, 2(1): 1-127. [6]HintonGE,OsinderoS,TehYW.Afastlearningalgorithmfordeepbeliefnets[J]. Neural Computation, 2006, 18(7):1527-1554. [7]DahlGE,YuD,DengL,etal.Context-dependentpre-traineddeepneuralnetworksforlargevocabularyspeechrecognition[J].IEEE Trans.on Audio Speech & Language Processing,2012,20(1):30-42. [8]TavallaeeM,BagheriE,LuW,etal.NSL-KDDdataset[EB/OL]. [2009-07-08].http:∥www.unb.ca/research/iscx/dataset/iscx-NSL-KDD-dataset.html. [9]RumehartDE,HintonGE,WilliamsRJ.Learningrepresentationsbyback-propagatingerrors[J]. Nature, 1986, 323(6088):533-536. [10]HintonGE.Trainingproductsofexpertsbyminimizingcontrastivedivergence[J]. Neural Computation, 2002, 14(8):1771-1800. [11]NealRM.ProbabilisticinferenceusingMarkovchainMonteCarlomethods,CRG-TR-93-1[J]. Toronto:Department of Computer Science, University of Toronto, 1993. [12]Carreira-PerpinanMA,HintonGE.Oncontrastivedivergencelearning[C]∥Proc. of the Artificial Intelligence and Statistics, 2005:33-41. [13]ChangCC,LinCJ.LIBSVM:alibraryforsupportvectormachines[J]. ACM Trans. on Intelligent Systems & Technology, 2007, 2(3):389-396. Deepbeliefnetsmodelorientedtointrusiondetectionsystem GAONi1,2,GAOLing1,HEYi-yue1,3 (1. School of Information Science & Technology, Northwest University, Xi’an 710127, China;2. School of Information, Xi’an University of Finance and Economics, Xi’an 710100, China;3. School of Economics and Management, Northwest University, Xi’an 710127, China) Itputsforwardanewchallengewithintrusiondetection,thecontinuouscollectionoftrafficdatabythenetworkleadstothemassivedataproblems.Therefore,adeepbeliefnetsmodelorientedtotheintrusiondetectionsystem(DBN-IDS)isproposed.First,anunsupervised,greedyalgorithmisemployedtotraineachrestrictedBoltzmannmachine(RBM)atatimebyabottom-upapproach,whichmakeslargeamountsofnonlinearhigh-dimensionalunlabeledinputdatacanbesampledasoptimallow-dimensionalfeaturerepresentations.Second,usingthelabeleddataatthetoplayer,thesupervisedbackpropagation(BP)algorithmisemployedinclassifyingthelearnedlow-dimensionalrepresentationsandfine-tuningtheRBMnetworksimultaneously.TheparametersandtheperformanceofthemodelaredeeplyanalyzedonNSL-KDDdataset.ExperimentalresultsdemonstratethattheDBN-IDSoutperformsthesupportvectormachine(SVM)andneuralnetwork(NN),andwhichisafeasibleapproachinintrusionclassificationforthehigh-dimensional,nonlinearandlarge-scaledata. intrusiondetection;neuralnetwork(NN);deepbeliefnets 2015-09-21; 2016-06-19;網絡優先出版日期:2016-07-06。 國家自然科學基金 (61373176,61572401) 資助課題 TP393 ADOI:10.3969/j.issn.1001-506X.2016.09.33 高妮(1982-),女,講師,博士,主要研究方向為網絡安全、機器學習。 E-mail:gaoni@nwu.edu.cn 高嶺(1964-),男,教授,博士,主要研究方向為網絡管理、信息安全。 E-mail:gaoling@nwu.edu.cn 賀毅岳(1982-),男,講師,博士,主要研究方向為數據挖掘、信息管理。 E-mail:heyiyue@nwu.edu.cn 網絡優先出版地址:http:∥www.cnki.net/kcms/detail/11.2422.TN.20160706.1030.002.html3 實驗與分析







4 結 論