張克君 鮮 敏
1(北京電子科技學院計算機科學與技術系 北京 100070)2(西安電子科技大學計算機學院 陜西 西安 710071)
隨著Internet技術的不斷發展和互聯網用戶的飛速增加,網絡中的安全問題也越來越多樣化。入侵檢測系統[1]IDS(Intrusion Detection Systems)的目標是識別異常的訪問或攻擊以保護內部網絡[2]。它查找網絡流量中已知或潛在的惡意活動, 并且一旦檢測到可疑活動,就會警報。面對大規模的網絡數據流量和特征信息,如何選擇有效的特征作為入侵評判的標準,是入侵檢測領域的一大挑戰性難題[3]。
近些年來,研究者們在IDS研究中提出了許多對入侵數據識別的方法:基于簽名的IDS[4],基于蜜罐的IDS[5],基于貝葉斯、決策樹和模糊邏輯模型等IDS,還有基于機器學習的IDS。入侵檢測領域中常用到的機器學習方法有:支持向量機[6]SVM(Support Vec-tor Machine)、遺傳算法GA(Genetic Algorithm)和人工神經網絡[8]ANN(Artificial Neural Network)等。雖然將這些方法應用到入侵檢測系統中已經取得了一定的效果,但還是有一些問題。例如:特征提取不適當、檢測率和檢測精度不高、算法的復雜度高。
最近幾年,深度學習技術研究成為了一個熱門話題,被廣泛應用到圖像識別、語音識別、垃圾郵件過濾等多個領域,并取得優異的成果。針對入侵檢測當前的狀況和深度學習優秀的特征能力,本文提出了一種基于DBN[9]和偏二叉樹PBT(Partial Binary Tree)的對支持向量機[10]多類分類算法[11]相結合的異常入侵檢測模型DBN-PBT-TSVM。其中DBN被用作特征縮減的方法,而 TSVM作為多類分類器。我們通過幾組基于KDDCUP'99數據集的實驗對DBN-PBT-TSVM模型的有效性進行評估,發現DBN-PBT-TSVM方法的性能比傳統入侵檢測方法的性能好。
深度信念網絡(DBN)是由Geoffrey Hinton 于 2006 年提出的一種深度學習模型,被廣泛應用于物體識別、語音識別等領域。DBN是由許多層的受限制波爾茲曼機器[12]RBM(Restricted Boltzmann Machine)和一層反向傳播[13]BP(Back Propagation)網絡構成的神經網絡,如圖1所示。

圖1 DBN網絡模型的結構圖
1.1 受限玻爾茲曼機
受限玻爾茲曼機是玻爾茲曼機BM(Boltzmann Machine)的一種特殊形式,是由Hinton和Sejnowski于1986年提出的一種生成式隨機神經網絡GSNN(Generative Stochastic Neural Network),其兩層分別是可見層單元v(visible unit)和一些隱藏層單元h(hidden unit),可見變量和隱藏變量都是二元變量,亦即其狀態取{0,1}。與傳統的BM相比,RBM的網絡結構是一個二部圖,只有可見層單元和隱藏層單元之間存在邊連接,可見層內部沒有邊連接,隱藏層內部也沒有邊連接。具體如圖2所示。

圖2 RBM網絡的結構圖
能量函數E(v,h)可以:
(1)
式中:vi是可見層單元,hj是隱藏層單元,Wij是vi和hj之間的連接權重,bi是vi的偏差,cj是hj的偏差。
RBM是一個生成模型,因此,原則上采用對輸入樣本的對數似然度進行隨機梯度下降來獲取其參數。但是,采用這種方式時,RBM的訓練效率并不高,特別是樣本集的特征維度比較高時。經實踐證明,采用對比散度準則可以提高訓練效率。
1.2 BP神經網絡
BP算法是由以Rumelhart為首的科學研究團隊于1986年提出的,是目前最常用、最易理解的神經網絡訓練算法。BP神經網絡是一種采用誤差反向傳播算法EBP(Error Back-propagation Algorithm)的多層感知器MLP(Multi Layer Perceptron)。該網絡模型通常除了輸入層和輸出層之外,還至少包含一個隱藏層,不同層的神經元之間是全連接,而在同一層內部的神經元之間是無連接。BP神經網絡的拓撲結構如圖3所示。

圖3 BP網絡的結構圖
BP算法主要是通過學習過程得到其網絡模型結構。學習過程主要由兩個子過程組成:
(1) 信號的正向傳播子過程:將原始信號從輸入層輸入,經過各個隱藏層依次處理,最后傳給輸出層,如果輸出層產生的輸出值與預期的輸出值不符,就轉到誤差的反向傳播子過程。
(2) 誤差的反向傳播子過程:將誤差信號從輸出層開始,經過各個隱藏層逐層向后傳播,網絡模型的權值也會根據誤差反饋信息進行修正,通過權值的不斷調整,可以使網絡模型的實際的輸出信號值更加接近預期的輸出信號值。
在信號的正向傳播子過程中,網絡中的每個節點的都有一個非線性的激活函數,通常是sigmoid函數:
(2)
在誤差的反向傳播子過程中,主要是通過梯度下降算法,反復修正網絡中各個神經元的權值和閾值,以達到誤差函數值最小的目標。權值修正為:
(3)
式中:η為學習速率。
2.1 模型總體架構設計
本文的入侵檢測模型是一種使用基于RBM的DBN的異常入侵檢測模型DBN-PBT-TSVM,是DBN和PBT-TSVM相結合的混合模型,該模型的總體框架如圖4所示。

圖4 DBN-PBT-TSVM入侵檢測模型
包含三個步驟:
(1) 數據預處理。通過特征映射將KDDCUP’99數據集中的字符型數據數值化,再對全部數據進行歸一化處理,得到標準化數據集。
(2) DBN降低維度。對經過預處理后的標準化數據集,利用DBN 模型進行預訓練和權重微調,實現對標準化數據特征的最優提取,得到降低維度后的特征數據。
(3) TSVM多類分類器。首先用PBT結構將一個5類分類問題轉化成4個兩類分類問題,然后利用TSVM來解決每個兩類分類問題。采用這種方式對入侵檢測數據的5種入侵數據進行識別分類。
2.2 DBN降低維度算法
根據DBN網絡結構可知,DBN的訓練過程主要包括兩個階段:
1) 預訓練階段:利用貪心的逐層訓練算法對各個層的RBM進行訓練,得到網絡模型的參數。具體算法如算法1所示。
算法1預訓練算法
輸入:訓練數據集,迭代次數N
輸出:網絡模型參數θ={w,b,c}
Step1令迭代次數t=1,RBM的網絡參數wij=bi=cj=0。
Step2將訓練數據集中的每一條記錄輸入,并將其作為第一個RBM的可視層變量v0。
Step3在RBM網絡,每一個可視層單元vi的激活概率可通過下式計算得到:
(4)
Step4同理可得,RBM網絡中的每一個隱藏層單元hj的激活概率為:
(5)
Step5因為利用最大似然率估計來求解參數不易收斂,且計算比較復雜,所以用對比散度來對參數進行調整,具體規則如下:
(6)
(7)
Δcj=ε(p(hj|v(0))-p(hj|v(k)))
(8)
式中:ε為訓練RBM的學習率。
Step6如果迭代次數t 2) 微調階段:采用有監督的方法對最后一層的BP網絡進行訓練,以RBM 的輸出結果作為BP網絡的輸入,將實際輸出與預期輸出的誤差逐層向后傳播,微調DBN的全部網絡模型參數,得到最終的網絡模型參數。具體算法如算法2所示。 算法2權重微調算法 輸入:通過算法1得到的DBN網絡模型參數wij,bi,cj,迭代次數k 輸出:調整后較優的網絡模型參數θ={w,b,c} Step1令迭代次數t=1,隨機初始化BP網絡參數。 Step2通過前向計算,重構后得到的新特征和原始特征之間的誤差為: (9) 式中:x為原始的輸入特征,y為重構后得到的新特征。 Step3通過反向傳播,主要是利用梯度下降算法,反復修正網絡中各個神經元的權值和閾值,以達到誤差函數值最小的目標。權值修正規則為: (10) Step4如果迭代次數t 2.3 多類分類器PBT-TSVM TSVM是由Jayadeva等提出,將傳統SVM中的一個規劃較大的二次優化問題QPP(Quadratic Programming Problem)轉化為兩個規劃較小的QPP,通過兩個非平行超平面來進行分類[14]。 PBT-TSVM是利用偏二叉樹(PBT)結構結合對TSVM所構成的一種新的多類分類算法。如圖5所示,將PBT-TSVM應用到對入侵數據類別識別的具體過程是:用PBT結構把一個5類分類問題轉化成4個兩類分類問題,然后采用TSVM解決每個兩類分類問題。 圖5 PBT-TSVM的結構圖 具體算法主要分為兩個階段: 1) 訓練過程:訓練分類器TSVM1時,將第一類入侵樣本Nomal標記為+1,其他的2,3,4,5類入侵樣本均標記為-1,進行訓練,獲得兩個非平行超平面T1和F1;訓練分類器TSVMi時,將第i類入侵樣本標記為+1,其他的i,i+1,…,5類入侵樣本均標記為-1,進行訓練,獲得兩個非平行超平面Ti和Fi。不斷進行下去,直至獲得分類器TSVM4,即獲得了一個PBT-TSVM 5類分類器。 2) 測試過程:對一個新樣本x0進行分類的過程,即遍歷上述訓練所得的PBT的過程,具體過程如下: (1) 令i=1; (2) 若i<5,則轉到(3);否則,樣本x0被判定第5類U2L,測試結束; (3) 計算樣本x0到分類器TSVMi的兩個超平面Ti和Fi的距離d1和d2; (4) 若d1 3.1 實驗數據集預處理 KDDCUP’99數據集是由Lincoln Laboratory對美國空軍局域網進行模擬,而采集來的9個星期的網絡連接數據,它是目前網絡入侵檢測領域使用比較普遍的實驗數據集。本文選擇KDDCUP’99中的10%作為實驗數據樣本集,總共包括494 021個訓練樣本和311 029個測試樣本,其具體數據樣本的類型分布情況如表1所示。 表1 實驗數據的類型分布情況表 KDDCUP‘99數據集中的每個數據包含41個特征屬性,其中有38個數字型特征屬性和字符型特征屬性。為了更好地分類,需要對實驗數據集做以下預處理工作: (1) 對字符型特征屬性做映射處理 例如特征屬性protocol_type有3種取值:tcp、udp、icmp,將其字符分別編碼為二進制向量(1,0,0)、(0,1,0)和(0,0,1)。同樣,特征屬性service的70個字符取值和flag的11種字符取值都可以建立符號向量與相應的特征向量進行一一映射的關系。通過這種方式映射之后,41維特征屬性變換為122維特征屬性。 (2) 歸一化處理 為了避免各個特征屬性的量綱對實驗造成影響,必須對實驗數據進行統一量綱,做歸一化處理。采用式(11)可以把每個特征屬性歸一化到[0,1]范圍內。 (11) 式中:x是原始特征值,MIN是該特征的最小值,MAX是該特征的最大值。 3.2 評價指標 本文使用以下指標來評價實驗結果,即準確率AC(Accuracy),誤報率FA(False Alarm),CPU消耗時間。 定義如下: (12) (13) 3.3 實驗結果分析 在前面講到,KDDCUP’99數據集經過數據預處理后特征屬性變成了122維,因此輸入層節點數為122。文獻[15]已經詳細討論了DBN網絡模型中的網絡深度對入侵檢測的效果的影響。在本文設計的DBN-BT-TSVM模型中,DBN采用5層的RBM網絡結構,具體為122-110-90-60-30-10。其中,預訓練迭代進行50次,權值微調迭代進行300次。實驗使用開源工具LIBSVM,因為徑向基函數RBF(Radical Basis Function)比較適用于線性不可分的情況,因此,本文選擇RBF作為TSVM分類器的核函數。分別從訓練集和測試集中依次隨機抽取10%、20%、30%、40%進行訓練和測試。 3.3.1 與其他分類方法的性能對比分析 將DBN-PBT-TSVM模型與DBN-PBT-SVM、PBT-TSVM和PBT-SVM等分類模型進行性能對比,通過對不同訓練數據集訓練這些入侵檢測模型,之后再用不同測試數據集進行識別測試,得到的準確率和誤報率的均值如表2所示。 表2 不同入侵檢測算法的性能比較 % 由表2可以看到,DBN-PBT-TSVM算法的分類檢測準確率比DBN-PBT-SVM、PBT-TSVM和PBT-SVM等算法有所提高,且還表現了和其他算法相錯不大的誤報率。由于U2L的實驗樣本較少,導致U2L和R2L的準確率較低,但這并不影響對整體入侵數據的總準確率。 3.3.2 與其他分類方法的檢測時間對比分析 將DBN-PBT-TWSVM模型與DBN-PBT-SVM、PBT-TWSVM和PBT-SVM等分類方法對不同數據集的訓練時間和檢測時間進行對比,得到實驗結果如圖6和圖7所示。 圖6 不同入侵檢測模型的訓練時間比較 圖7 不同入侵檢測模型的檢測時間比較 由圖6和圖7可以看出,DBN-PBT-TWSVM模型在訓練速度和檢測速度方面也均優于其他入侵檢測算法。 本文對入侵檢測和深度學習方法進行了深入的分析與研究,提出一種新的基于DBN的混合多分類模型,并將其應用到IDS中。該模型首先利用DBN深度學習方法對預處理后的數據集進行特征降維,之后再結合對TSVM和PBT構建PBT-TSVM多類分類器,實現對網絡入侵行為的識別。在IDS仿真實驗中,選擇KDDCUP'99數據集中的10%作為實驗數據。結果表明,與其他IDS方法相比,DBN-PBT-TSVM的檢測性能明顯比較優秀,在保證了較高的檢測精度的同時,檢測速度也有了明顯提高,是一種高效、可行的IDS方法。因為在實驗數據集中U2L樣本比較少,導致對其檢測的準確率有所降低,所以在后續的研究中,將針對這一問題進行研究。 參 考 文 獻 [1] Buczak A L,Guven E.A survey of data mining and machine learning methods for cyber security intrusion detection[J].IEEE Communications Surveys & Tutorials,2016,18(2):1153-1176. [2] Singh J,Nene M J.A survey on machine learning techniques for intrusion detection systems[J].International Journal of Advanced Research in Computer and Communication Engineering,2013,2(11):4349-4355. [3] 楊昆朋.基于深度學習的入侵檢測[D].北京交通大學,2015. [4] Wu H,Schwab S,Peckham R L.Signature based network intrusion detection system and method:U.S.Patent 7,424,744[P].2008-9-9. [5] Tsai C L,Tseng C C,Han C C.Intrusive behavior analysis based on honey pot tracking and ant algorithm analysis[C]//2009 International Carnahan Conference on Security Technology.IEEE,2009:248-252. [6] Chen W H,Hsu S H,Shen H P.Application of SVM and ANN for intrusion detection[J].Computers & Operations Research,2005,32(10):2617-2634. [7] Chakrabarty B,Chanda O,Islam M S.Anomaly based Intrusion Detection System using Genetic Algorithm and K-Centroid Clustering[J].International Journal of Computer Applications,2017,163(11):13-17. [8] Saied A,Overill R E,Radzik T.Detection of known and unknown DDoS attacks using Artificial Neural Networks[J].Neurocomputing,2016,172(C):385-393. [9] Hinton G E,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural computation,2006,18(7):1527-1554. [10] 聶盼盼,臧洌,劉雷雷.基于對支持向量機的多類分類算法在入侵檢測中的應用[J].計算機應用,2013,33(2):426-429. [11] 謝娟英,張兵權,汪萬紫.基于雙支持向量機的偏二叉樹多類分類算法[J].南京大學學報(自然科學版),2011,47(4):354-363. [12] Marlin B,Swersky K,Chen B,et al.Inductive principles for restricted Boltzmann machine learning[C]//Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics.2010:509-516. [13] Cilimkovic M.Neural networks and back propagation algorithm[D].Institute of Technology Blanchardstown,Blanchardstown Road North Dublin,2015. [14] Jayadeva,Khemchandani R, Chandra S. Twin support vector machines for pattern classification[J]. IEEE Transactions on pattern analysis and machine intelligence, 2007,29(5):905-910. [15] 高妮,高嶺,賀毅岳.面向入侵檢測系統的DeepBeliefNets模型[J].系統工程與電子技術,2016,38(9):2201-2207.
3 實驗與結果分析






4 結 語