李志堅
?
基于SOM網絡和HMM的入侵檢測算法設計
李志堅
(阿壩師范學院,四川汶川 623002)
為了有效地保證網絡的安全性和彌補傳統(tǒng)入侵檢測系統(tǒng)無法精確識別攻擊類別的問題,設計了一種基于監(jiān)督SOM網絡和HMM的網絡入侵混合檢測方法.仿真實驗表明:文中方法能有效實現(xiàn)網絡入侵檢測,在樣本數(shù)量較少的情況下,仍然具有較高的檢測率,較其他方法具有較大的優(yōu)越性.
隱形馬爾科夫;狀態(tài)轉移;網絡入侵檢測;監(jiān)督自組織網
引 言
隨著網絡應用的普及和規(guī)模的急劇膨脹,對網絡攻擊的預防和檢測是保障網絡安全的重要手段,因此,從海量的審計數(shù)據(jù)和網絡數(shù)據(jù)中實現(xiàn)快速和實時的網絡入侵檢測非常重要[1].入侵檢測系統(tǒng)(Intrusion Detection System, IDS)[2]作為重要的網絡安全保護系統(tǒng),目前已經成為信息安全和計算機領域的研究重點.入侵檢測主要包括誤用檢測(Misuse detection)[3]和異常檢測(Anomaly detection)[4-5].
誤用檢測也稱為基于知識的檢測方法,整個檢測過程可以分為學習階段和檢測階段,學習階段是通過攻擊數(shù)據(jù)樣本轉換為合適的規(guī)則,然后在檢測階段將收集的網絡數(shù)據(jù)包與規(guī)則對比,判斷是否符合規(guī)則,若符合規(guī)則就判斷其為攻擊行為.異常檢測的整個檢測階段也分為學習和檢測兩部分,但學習階段是采用正常的網絡數(shù)據(jù)包作為樣本,將其轉換為規(guī)則,然后在檢測階段通過將收集到的數(shù)據(jù)包與正常的網絡數(shù)據(jù)包對比,并判斷其是否符合正常規(guī)則,以對網絡進行實時檢測,其有可能檢測出未出現(xiàn)過的攻擊,能自動產生規(guī)則,具有較低的漏報率等優(yōu)點,因此,是目前的主要研究熱點.
文獻[6]設計了一種基于無監(jiān)督免疫優(yōu)化分層的入侵檢測算法,采用小規(guī)模的網絡實現(xiàn)數(shù)據(jù)壓縮并對數(shù)據(jù)進行學習,運用分層聚類的方法來對網絡分析,建立數(shù)據(jù)模型,能實現(xiàn)沒有類型標記的外網數(shù)據(jù)訪問的數(shù)據(jù)特征識別,提高入侵檢測的準確度.文獻[7]設計了一種基于人工示例訓練數(shù)據(jù)的神經網絡入侵檢測方法.通過不同的訓練數(shù)據(jù)集訓練不同的網絡以提高成員網絡的差異度,在保證成員網絡的個數(shù)確定的前提下,將差異度較大的成員網絡構成集成,以提高系統(tǒng)的整體性能.文獻[8]建立了一種基于神經網絡和遺傳算法的網絡入侵檢測模型,采用集成分類的神經網絡將訓練樣本集中的冗余數(shù)據(jù)取出,并通過遺傳算法對成員網絡的權值進行優(yōu)化,最后,采用神經網絡對成員網絡的輸出進行融合.文獻[9]研究了一種基于改進馬爾可夫鏈的網絡攻擊檢測方法,采用正常行為樣本對隱馬爾可夫模型進行學習可以對網絡行為進行有效地檢測并判斷出是否為正常行為.
上述工作均研究了網絡入侵檢測方法,具有重要的意義,但基于聚類的入侵檢測方法,其檢測能力主要取決于樣本的數(shù)量以及樣本分布的準確度,而基于馬爾可夫鏈的方法的檢測準確率不依賴于樣本集,但其不能最大化目標識別能力與模型之間的差異.為此,本文設計了一種基于有監(jiān)督SOM網絡(Self Organize Mapping Net, SOM)和隱形馬爾科夫模型(, HMM)的網絡入侵檢測方法,充分利用各自的優(yōu)點,將有監(jiān)督SOM網絡的輸出結果作為后驗概率實現(xiàn)對HMM模型的訓練,最后將具有最大發(fā)生概率的攻擊類別作為數(shù)據(jù)的輸出攻擊類型,通過實驗證明了文中方法的有效性.
1 入侵檢測模型
文中設計的基于自組織網和HMM的入侵模型如圖1所示.從圖中可以看出,文中建立的基于監(jiān)督SOM網絡和HMM的混合模型可以描述為:首先,將原始樣本數(shù)據(jù)進行預處理,得到訓練樣本數(shù)據(jù)和測試樣本數(shù)據(jù),然后,將訓練樣本數(shù)據(jù)輸入監(jiān)督SOM網絡,實現(xiàn)對監(jiān)督SOM網絡的訓練,在訓練結束后,可以對結果中的分類攻擊類型對應的后驗概率密度進行計算,得到后驗概率密度,然后采用后驗概率密度用于訓練HMM,最終獲得訓練好的HMM模型,此時,將經過預處理的測試數(shù)據(jù)輸入HMM中,得到最終的入侵檢測結果,即判斷是否發(fā)生了攻擊行為以及攻擊行為的具體類別.
2 基于監(jiān)督SOM的入侵后驗概率計算
2.1 SOM
SOM由Kohonen首次提出,是一種無監(jiān)督學習聚類方法,能實現(xiàn)輸入模式在輸出層的自動聚類,其結構如圖2所示,主要包含兩層:即輸入層和競爭層,輸入層的維數(shù)與輸入樣本的維數(shù)相同,即當輸入向量為={1,2,…x}時,輸入層的神經元個數(shù)為,競爭層節(jié)點各節(jié)點之間采用側抑制方式進行連接.
上述SOM模型雖然能實現(xiàn)自動聚類,但仍然存在著分類精度不高和不易進行統(tǒng)計等缺點.為此,在兩層SOM的基礎上加入一個輸出層構成監(jiān)督SOM神經網絡,并采用監(jiān)督學習方法對其進行訓練.
圖1 基于自組織網和HMM的入侵模型圖
圖2 無監(jiān)督學習聚類方法結構圖
圖3 監(jiān)督SOM結構圖
2.2 監(jiān)督SOM后驗概率計算
監(jiān)督SOM是在SOM的基礎上加入了一個輸出層,如圖3所示,輸出層的輸出神經元個數(shù)與攻擊類別相同,輸出層節(jié)點與競爭層節(jié)點之間采用全連接方式進行連接,并根據(jù)每個訓練樣本的預測攻擊類別和實際類別進行對比,從而選擇不同的公式實現(xiàn)對權值的調整.同時實現(xiàn)對輸入層與競爭層獲勝神經元鄰域以及輸出層與競爭層獲勝神經元鄰域內的權值.
采用觀察訓練樣本數(shù)據(jù)對監(jiān)督SOM進行訓練并獲得每個樣本的所屬于的類別的后驗概率分布的過程可以表示為:
算法1 SOM后驗概率生成算法
初始化:初始化監(jiān)督SOM中輸入層與競爭層獲勝神經元之間的權值W()(1),競爭層獲勝神經元與輸出層之間的權值W()(2),兩層的學率()(1)和()(2),以及兩層領域半徑()(1)和()(2),權重系數(shù),當前迭代次數(shù),最大迭代次數(shù);
輸出:觀察訓練樣本的后驗概率分布;
步驟1:對觀察訓練樣本集中的所有樣本進行歸一化處理,并隨機選擇其中的一個樣本={1,2,…x};
步驟2:尋找輸出層的獲勝神經元.計算輸入向量={1,2,…x}與所有輸出層神經元之間的歐式距離:
D()=(w()-x())2, (1)
其中,=1,2,…,為輸入神經元個數(shù),=1,2,…,為輸出神經元個數(shù);
步驟3:選擇具有最小D()值的競爭層神經元作為獲勝神經元:(2)
步驟4:對輸入層與競爭層獲勝神經元之間的權值W()(1),競爭層獲勝神經元與輸出層之間的權值W()(2)、鄰域(+1)及學習率(+1)按下列步驟進行更新:
(1)將觀察訓練樣本數(shù)據(jù)的輸出類別保存為Y,而獲勝神經元對應的輸出為O,并計算獲勝神經元的鄰域();
(2)判斷O是否等于Y:
如果等于,則根據(jù)式(3)和式(4)更新鄰域內的權值:
W(+1)(1)=W()(1)+()(1)(x-W()(1)) (3)
W(+1)(2)=W()(2)+()(2)(x-W()(2)) (4)
否則,根據(jù)式(5)和式(6)更新權值:
W(+1)(1)=W()(1)+(x-W()(1)) (5)
W(+1)(2)=W()(2)+(x-W()(2)) (6)
(3)對兩層的學習率()(1)和()(2)進行更新:
(+1)(1)=()(1)(1/) (7)
(+1)(2)=()(2)(1/) . (8)
(4)對兩層領域半徑()(1)和()(2)鄰域進行更新:
(+1)(1)=()(1)(1/) (9)
(+1)(2)=()(2)(1/). (10)
步驟5:重新選擇樣本集中的下一個樣本作為新的輸入模式并返回步驟3繼續(xù)運行,直到所有模式均已遍歷完或權值W(+1)、鄰域(+1)及學習率(+1)不再發(fā)生變化.
步驟6:判斷算法學習率是否降為0,如果降為0或者當算法達到最大迭代次數(shù)則,算法結束;
否則,=+1;
步驟7:將所有觀察樣本數(shù)據(jù)輸入訓練好的監(jiān)督SOM網絡,獲得所有樣本數(shù)據(jù)對應攻擊類別的一個后驗概率.
在根據(jù)上述算法獲取了觀察數(shù)據(jù)o關于所屬于攻擊類別λ的后驗概率后,可以將其用于對HMM進行訓練,獲得最終的檢測結果.
3 基于HMM的最終入侵檢測
3.1 HMM簡介
經典的HMM通??梢员硎緸?元組即:=(,,,,,,,),其中:
(1)狀態(tài)值集合={1,2,…,θ},表示了HMM的狀態(tài)總數(shù);
(2)觀測值={1,2,…,v},為觀測值數(shù);
(3)={1,2,…,π}為初始分布矢量,用于描述觀察序列={1,2,…,O},o∈{1,2,…,v},π={1=θ},=1,2,…,且滿足;
(4)=[a]為狀態(tài)轉移概率矩陣,a可以表示當前時刻從狀態(tài)轉移到θ的概率,,其中,,并滿足;
(5)=[b]為觀察值概率矩陣,b=b(o)=(o=v|s=θ)表示HMM模型在時刻狀態(tài)為θ時出現(xiàn)觀測值v的概率.
3.2 基于HMM的入侵檢測算法
采用HMM實現(xiàn)入侵檢測主要可以通過兩個階段來實現(xiàn):即學習和檢測.
算法2:HMM的入侵檢測算法
初始化:采用攻擊類型來初始化模型0,HMM模型訓練閥值,當前迭代次數(shù)為=1;
(1)學習階段
步驟1:采用算法1計算觀察測試樣本數(shù)據(jù)對應的對應于各攻擊類別λ的后驗概率(λ|o);
步驟2:根據(jù)(λ|o)初始化(HMM|o),并根據(jù)貝葉斯定理計算觀察值概率矩陣=[b]中的元素:
步驟3:對初始分布矢量和狀態(tài)轉移概率矩陣=[a]進行更新:
設α()表示當前模型在時對應的觀察序列為1,2,…,o,處于狀態(tài)為q的概率;設β()表示模型在時刻,當觀察序列為o+1,o+2,…,o時,處于狀態(tài)為q的概率,則根據(jù)前向評估算法和后向評估算法可以得到:
以最大化后驗概率為目標,假設1={,|},2={|},則目標函數(shù)可以表示為:
將式(13)分別對π和a求導,可以得到初始分布矢量和狀態(tài)轉移概率矩陣=[a]可表示為:
步驟4:根據(jù)閥值來判斷HMM訓練是否結束:
如果當前模型滿足式(15)所示的條件,則訓練結束;否則λ=λ+1,并輸入下一個樣本數(shù)據(jù)并返回步驟2計算迭代.
(2)檢測階段
當學習過程結束后,得到HMM模型后1,2,…,λ,其中,為攻擊類型數(shù),此時將經過歸一化處理的觀察測試樣本依次輸入各HMM模型1,2,…,λ,采用Viterbi算法來計算似然概率:
5 仿真實驗
為了對文中方法進行驗證,采用KDD1999年的競賽數(shù)據(jù)作為樣本數(shù)據(jù),每條樣本數(shù)據(jù)均包含41個特征屬性和1個決策屬性,采用KDD數(shù)據(jù)庫中的10%的數(shù)據(jù)記錄作為樣本數(shù)據(jù),其中5%為訓練,樣本數(shù)據(jù),剩余的5%為測試樣本數(shù)據(jù),每個TCP/IP連接均包含41個屬性,以及對其的攻擊類型(是否為攻擊以及攻擊的具體類型),攻擊類別主要可以表示為:
表1 網絡攻擊描述
誤測量率定義為:檢測出異常攻擊總數(shù)與異常攻擊總數(shù)的比值,誤報率為錯誤分類的進程總數(shù)與正常進程總數(shù)的比值,漏報率為正確分類的進程總數(shù)與進程總數(shù)的比值.
算法1參數(shù)設置為:監(jiān)督SOM權值W(+1)(1)和W(+1)(2)均為觀察測試樣本的均值,兩層的學率()(1)和()(2)初始值為0.15和0.1,以及兩層領域半徑()(1)和()(2)為3和3,權重系數(shù)=0.3,當前迭代次數(shù)=1,最大迭代次數(shù)=100;
算法2參數(shù)設置為:采用攻擊類型來初始化模型0,HMM模型訓練閥值0.1,當前迭代次數(shù)為=1,最大值=100;仿真得到的系統(tǒng)總體性能為:
表2 系統(tǒng)整體性能檢測
從表2可以看出,由此可知文中模型在性能上是穩(wěn)定的,能有效地識別網絡數(shù)據(jù)中的攻擊行為.
文中方法對各個攻擊類別的樣本對應的仿真結果分析,如下所示:
表3 各攻擊類別檢測結果
圖4 經典HMM方法、文獻[9]方法和文中方法的比較圖
從表3中可以看出,文中方法在僅采用10%的少量樣本的情況下,對各個類別仍然保持著較高的檢測率和低的誤報率,僅僅只有U2R攻擊類別的檢測正確率較低,這是因為U2R的樣本太少,因此,影響了整體的檢測效果.為了進一步驗證文中方法的優(yōu)越性,將文中方法與經典的HMM以及文獻[9]所示的改進的HMM方法進行比較,結果如圖4所示.文中方法具有較高的檢測率,且在仿真時間為400ms時,就已經趨于收斂,經典HMM方法的檢測率最低,在整個仿真期間的最高檢測率為0.941,且始終未能收斂,而文獻[9]方法的檢測率次之,在仿真時間為450ms,收斂到0.957.由此可以看出,文中方法不僅具有較高快的檢測速度而且有較高的檢測率,這是因為文中采用監(jiān)督SOM獲得后驗概率訓練HMM,增加了檢測的精度并加快了訓練速度.
5 結 語
隨著網絡應用的普及和規(guī)模的急劇膨脹,對網絡攻擊的預防和檢測是保障網絡安全的重要手段,入侵檢測系統(tǒng)作為重要的網絡安全保護系統(tǒng),已經成為信息安全和計算機領域的研究重點.為此,文中設計了一種基于監(jiān)督SOM網絡和HMM的網絡入侵檢測方法,采用訓練樣本數(shù)據(jù)對監(jiān)督SOM網絡進行訓練,將獲得的觀察樣本數(shù)據(jù)后驗概率用于HMM的訓練,從而得到HMM中的初始分布矢量、狀態(tài)轉移概率和觀察值概率,然后再采用經過訓練的HMM作為入侵檢測模型,對各類數(shù)據(jù)進行入侵檢測,將具有最大概率的模型作為入侵檢測結果.仿真實驗表明文中方法的有效性和可行性.
[1] Liu J, Chen H, Zhong Z, et al.Intrusion Detection Algorithm for the Wormhole Attack in Ad Hoc Network[C],Proceedings of International Conference on Computer Science and Information Technology Advances in Intelligent Systems and Computing Volume 255, 2014, 147-154.
[2] 汪潔.基于神經網絡的入侵檢測系統(tǒng)的設計與實現(xiàn)[J].計算機應用與軟件,2013(30):320-322.
[3] 謝紅,劉人杰,陳純鍇.基于誤用檢測與異常行為檢測的整合模型.重慶郵電大學學報:自然科學版,2012(24):73-77.
[4] Kumar R M. Intrusion Detection and Prevention Technology using Sensor Networks to Protect Firewall from Attacks[J].Automation and Autonomous System, 2013,5(6):215-272.
[5] Nadeem A, Howarth M. P. An intrusion detection & adaptive response mechanism for MANETS. Ad hoc networks, 2014, 13:368-380.
[6] 林冬茂,薛德黔.一種基于無監(jiān)督免疫優(yōu)化分層的網絡入侵檢測算法[J].計算機科學,2013(40):180-191.
[7] 徐敏.基于人工示例訓練的神經網絡集成入侵檢測[J].計算機工程,2012(38):198-200.
[8] 徐敏,丁紅,沈曉紅.神經網絡集成模型在入侵檢測中的應用[J].2012(29):105-108.
[9] 楊曉峰,孫明明,胡雪蕾,等.基于改進隱馬爾可夫模型的網絡攻擊檢測方法[J].通信學報,2010(31):95-101.
(責任編輯:涂正文)
A Design of Network Intrusion Detection Algorithm Based on HMM and Supervised Self Organize Mapping Net
LI Zhijian
The study proposes a network intrusion compound detection method based on supervised SOM network and HMM, in order to guarantee the safety of the network effectively and conquer the problem of traditional intrusion detection system not accurately recognizing the attack type. The simulation experiment shows the method proposed in the experiment is an efficient way of network intrusion detection even with small samples. Compared with other detective methods, this algorithm has great priority.
Hidden Markov model; State transition; Network intrusion detection; Supervised Self Organize Mapping Net
TP393.08
A
1009-8135(2016)03-0027-06
2016-01-12
李志堅(1982-),男,四川南充人,阿壩師范學院助理研究員,主要研究計算機應用技術.