李志堅(jiān)
?
基于SOM網(wǎng)絡(luò)和HMM的入侵檢測算法設(shè)計
李志堅(jiān)
(阿壩師范學(xué)院,四川汶川 623002)
為了有效地保證網(wǎng)絡(luò)的安全性和彌補(bǔ)傳統(tǒng)入侵檢測系統(tǒng)無法精確識別攻擊類別的問題,設(shè)計了一種基于監(jiān)督SOM網(wǎng)絡(luò)和HMM的網(wǎng)絡(luò)入侵混合檢測方法.仿真實(shí)驗(yàn)表明:文中方法能有效實(shí)現(xiàn)網(wǎng)絡(luò)入侵檢測,在樣本數(shù)量較少的情況下,仍然具有較高的檢測率,較其他方法具有較大的優(yōu)越性.
隱形馬爾科夫;狀態(tài)轉(zhuǎn)移;網(wǎng)絡(luò)入侵檢測;監(jiān)督自組織網(wǎng)
引 言
隨著網(wǎng)絡(luò)應(yīng)用的普及和規(guī)模的急劇膨脹,對網(wǎng)絡(luò)攻擊的預(yù)防和檢測是保障網(wǎng)絡(luò)安全的重要手段,因此,從海量的審計數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)中實(shí)現(xiàn)快速和實(shí)時的網(wǎng)絡(luò)入侵檢測非常重要[1].入侵檢測系統(tǒng)(Intrusion Detection System, IDS)[2]作為重要的網(wǎng)絡(luò)安全保護(hù)系統(tǒng),目前已經(jīng)成為信息安全和計算機(jī)領(lǐng)域的研究重點(diǎn).入侵檢測主要包括誤用檢測(Misuse detection)[3]和異常檢測(Anomaly detection)[4-5].
誤用檢測也稱為基于知識的檢測方法,整個檢測過程可以分為學(xué)習(xí)階段和檢測階段,學(xué)習(xí)階段是通過攻擊數(shù)據(jù)樣本轉(zhuǎn)換為合適的規(guī)則,然后在檢測階段將收集的網(wǎng)絡(luò)數(shù)據(jù)包與規(guī)則對比,判斷是否符合規(guī)則,若符合規(guī)則就判斷其為攻擊行為.異常檢測的整個檢測階段也分為學(xué)習(xí)和檢測兩部分,但學(xué)習(xí)階段是采用正常的網(wǎng)絡(luò)數(shù)據(jù)包作為樣本,將其轉(zhuǎn)換為規(guī)則,然后在檢測階段通過將收集到的數(shù)據(jù)包與正常的網(wǎng)絡(luò)數(shù)據(jù)包對比,并判斷其是否符合正常規(guī)則,以對網(wǎng)絡(luò)進(jìn)行實(shí)時檢測,其有可能檢測出未出現(xiàn)過的攻擊,能自動產(chǎn)生規(guī)則,具有較低的漏報率等優(yōu)點(diǎn),因此,是目前的主要研究熱點(diǎn).
文獻(xiàn)[6]設(shè)計了一種基于無監(jiān)督免疫優(yōu)化分層的入侵檢測算法,采用小規(guī)模的網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)壓縮并對數(shù)據(jù)進(jìn)行學(xué)習(xí),運(yùn)用分層聚類的方法來對網(wǎng)絡(luò)分析,建立數(shù)據(jù)模型,能實(shí)現(xiàn)沒有類型標(biāo)記的外網(wǎng)數(shù)據(jù)訪問的數(shù)據(jù)特征識別,提高入侵檢測的準(zhǔn)確度.文獻(xiàn)[7]設(shè)計了一種基于人工示例訓(xùn)練數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)入侵檢測方法.通過不同的訓(xùn)練數(shù)據(jù)集訓(xùn)練不同的網(wǎng)絡(luò)以提高成員網(wǎng)絡(luò)的差異度,在保證成員網(wǎng)絡(luò)的個數(shù)確定的前提下,將差異度較大的成員網(wǎng)絡(luò)構(gòu)成集成,以提高系統(tǒng)的整體性能.文獻(xiàn)[8]建立了一種基于神經(jīng)網(wǎng)絡(luò)和遺傳算法的網(wǎng)絡(luò)入侵檢測模型,采用集成分類的神經(jīng)網(wǎng)絡(luò)將訓(xùn)練樣本集中的冗余數(shù)據(jù)取出,并通過遺傳算法對成員網(wǎng)絡(luò)的權(quán)值進(jìn)行優(yōu)化,最后,采用神經(jīng)網(wǎng)絡(luò)對成員網(wǎng)絡(luò)的輸出進(jìn)行融合.文獻(xiàn)[9]研究了一種基于改進(jìn)馬爾可夫鏈的網(wǎng)絡(luò)攻擊檢測方法,采用正常行為樣本對隱馬爾可夫模型進(jìn)行學(xué)習(xí)可以對網(wǎng)絡(luò)行為進(jìn)行有效地檢測并判斷出是否為正常行為.
上述工作均研究了網(wǎng)絡(luò)入侵檢測方法,具有重要的意義,但基于聚類的入侵檢測方法,其檢測能力主要取決于樣本的數(shù)量以及樣本分布的準(zhǔn)確度,而基于馬爾可夫鏈的方法的檢測準(zhǔn)確率不依賴于樣本集,但其不能最大化目標(biāo)識別能力與模型之間的差異.為此,本文設(shè)計了一種基于有監(jiān)督SOM網(wǎng)絡(luò)(Self Organize Mapping Net, SOM)和隱形馬爾科夫模型(, HMM)的網(wǎng)絡(luò)入侵檢測方法,充分利用各自的優(yōu)點(diǎn),將有監(jiān)督SOM網(wǎng)絡(luò)的輸出結(jié)果作為后驗(yàn)概率實(shí)現(xiàn)對HMM模型的訓(xùn)練,最后將具有最大發(fā)生概率的攻擊類別作為數(shù)據(jù)的輸出攻擊類型,通過實(shí)驗(yàn)證明了文中方法的有效性.
1 入侵檢測模型
文中設(shè)計的基于自組織網(wǎng)和HMM的入侵模型如圖1所示.從圖中可以看出,文中建立的基于監(jiān)督SOM網(wǎng)絡(luò)和HMM的混合模型可以描述為:首先,將原始樣本數(shù)據(jù)進(jìn)行預(yù)處理,得到訓(xùn)練樣本數(shù)據(jù)和測試樣本數(shù)據(jù),然后,將訓(xùn)練樣本數(shù)據(jù)輸入監(jiān)督SOM網(wǎng)絡(luò),實(shí)現(xiàn)對監(jiān)督SOM網(wǎng)絡(luò)的訓(xùn)練,在訓(xùn)練結(jié)束后,可以對結(jié)果中的分類攻擊類型對應(yīng)的后驗(yàn)概率密度進(jìn)行計算,得到后驗(yàn)概率密度,然后采用后驗(yàn)概率密度用于訓(xùn)練HMM,最終獲得訓(xùn)練好的HMM模型,此時,將經(jīng)過預(yù)處理的測試數(shù)據(jù)輸入HMM中,得到最終的入侵檢測結(jié)果,即判斷是否發(fā)生了攻擊行為以及攻擊行為的具體類別.
2 基于監(jiān)督SOM的入侵后驗(yàn)概率計算
2.1 SOM
SOM由Kohonen首次提出,是一種無監(jiān)督學(xué)習(xí)聚類方法,能實(shí)現(xiàn)輸入模式在輸出層的自動聚類,其結(jié)構(gòu)如圖2所示,主要包含兩層:即輸入層和競爭層,輸入層的維數(shù)與輸入樣本的維數(shù)相同,即當(dāng)輸入向量為={1,2,…x}時,輸入層的神經(jīng)元個數(shù)為,競爭層節(jié)點(diǎn)各節(jié)點(diǎn)之間采用側(cè)抑制方式進(jìn)行連接.
上述SOM模型雖然能實(shí)現(xiàn)自動聚類,但仍然存在著分類精度不高和不易進(jìn)行統(tǒng)計等缺點(diǎn).為此,在兩層SOM的基礎(chǔ)上加入一個輸出層構(gòu)成監(jiān)督SOM神經(jīng)網(wǎng)絡(luò),并采用監(jiān)督學(xué)習(xí)方法對其進(jìn)行訓(xùn)練.
圖1 基于自組織網(wǎng)和HMM的入侵模型圖
圖2 無監(jiān)督學(xué)習(xí)聚類方法結(jié)構(gòu)圖
圖3 監(jiān)督SOM結(jié)構(gòu)圖
2.2 監(jiān)督SOM后驗(yàn)概率計算
監(jiān)督SOM是在SOM的基礎(chǔ)上加入了一個輸出層,如圖3所示,輸出層的輸出神經(jīng)元個數(shù)與攻擊類別相同,輸出層節(jié)點(diǎn)與競爭層節(jié)點(diǎn)之間采用全連接方式進(jìn)行連接,并根據(jù)每個訓(xùn)練樣本的預(yù)測攻擊類別和實(shí)際類別進(jìn)行對比,從而選擇不同的公式實(shí)現(xiàn)對權(quán)值的調(diào)整.同時實(shí)現(xiàn)對輸入層與競爭層獲勝神經(jīng)元鄰域以及輸出層與競爭層獲勝神經(jīng)元鄰域內(nèi)的權(quán)值.
采用觀察訓(xùn)練樣本數(shù)據(jù)對監(jiān)督SOM進(jìn)行訓(xùn)練并獲得每個樣本的所屬于的類別的后驗(yàn)概率分布的過程可以表示為:
算法1 SOM后驗(yàn)概率生成算法
初始化:初始化監(jiān)督SOM中輸入層與競爭層獲勝神經(jīng)元之間的權(quán)值W()(1),競爭層獲勝神經(jīng)元與輸出層之間的權(quán)值W()(2),兩層的學(xué)率()(1)和()(2),以及兩層領(lǐng)域半徑()(1)和()(2),權(quán)重系數(shù),當(dāng)前迭代次數(shù),最大迭代次數(shù);
輸出:觀察訓(xùn)練樣本的后驗(yàn)概率分布;
步驟1:對觀察訓(xùn)練樣本集中的所有樣本進(jìn)行歸一化處理,并隨機(jī)選擇其中的一個樣本={1,2,…x};
步驟2:尋找輸出層的獲勝神經(jīng)元.計算輸入向量={1,2,…x}與所有輸出層神經(jīng)元之間的歐式距離:
D()=(w()-x())2, (1)
其中,=1,2,…,為輸入神經(jīng)元個數(shù),=1,2,…,為輸出神經(jīng)元個數(shù);
步驟3:選擇具有最小D()值的競爭層神經(jīng)元作為獲勝神經(jīng)元:(2)
步驟4:對輸入層與競爭層獲勝神經(jīng)元之間的權(quán)值W()(1),競爭層獲勝神經(jīng)元與輸出層之間的權(quán)值W()(2)、鄰域(+1)及學(xué)習(xí)率(+1)按下列步驟進(jìn)行更新:
(1)將觀察訓(xùn)練樣本數(shù)據(jù)的輸出類別保存為Y,而獲勝神經(jīng)元對應(yīng)的輸出為O,并計算獲勝神經(jīng)元的鄰域();
(2)判斷O是否等于Y:
如果等于,則根據(jù)式(3)和式(4)更新鄰域內(nèi)的權(quán)值:
W(+1)(1)=W()(1)+()(1)(x-W()(1)) (3)
W(+1)(2)=W()(2)+()(2)(x-W()(2)) (4)
否則,根據(jù)式(5)和式(6)更新權(quán)值:
W(+1)(1)=W()(1)+(x-W()(1)) (5)
W(+1)(2)=W()(2)+(x-W()(2)) (6)
(3)對兩層的學(xué)習(xí)率()(1)和()(2)進(jìn)行更新:
(+1)(1)=()(1)(1/) (7)
(+1)(2)=()(2)(1/) . (8)
(4)對兩層領(lǐng)域半徑()(1)和()(2)鄰域進(jìn)行更新:
(+1)(1)=()(1)(1/) (9)
(+1)(2)=()(2)(1/). (10)
步驟5:重新選擇樣本集中的下一個樣本作為新的輸入模式并返回步驟3繼續(xù)運(yùn)行,直到所有模式均已遍歷完或權(quán)值W(+1)、鄰域(+1)及學(xué)習(xí)率(+1)不再發(fā)生變化.
步驟6:判斷算法學(xué)習(xí)率是否降為0,如果降為0或者當(dāng)算法達(dá)到最大迭代次數(shù)則,算法結(jié)束;
否則,=+1;
步驟7:將所有觀察樣本數(shù)據(jù)輸入訓(xùn)練好的監(jiān)督SOM網(wǎng)絡(luò),獲得所有樣本數(shù)據(jù)對應(yīng)攻擊類別的一個后驗(yàn)概率.
在根據(jù)上述算法獲取了觀察數(shù)據(jù)o關(guān)于所屬于攻擊類別λ的后驗(yàn)概率后,可以將其用于對HMM進(jìn)行訓(xùn)練,獲得最終的檢測結(jié)果.
3 基于HMM的最終入侵檢測
3.1 HMM簡介
經(jīng)典的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)轉(zhuǎn)移概率矩陣,a可以表示當(dāng)前時刻從狀態(tài)轉(zhuǎn)移到θ的概率,,其中,,并滿足;
(5)=[b]為觀察值概率矩陣,b=b(o)=(o=v|s=θ)表示HMM模型在時刻狀態(tài)為θ時出現(xiàn)觀測值v的概率.
3.2 基于HMM的入侵檢測算法
采用HMM實(shí)現(xiàn)入侵檢測主要可以通過兩個階段來實(shí)現(xiàn):即學(xué)習(xí)和檢測.
算法2:HMM的入侵檢測算法
初始化:采用攻擊類型來初始化模型0,HMM模型訓(xùn)練閥值,當(dāng)前迭代次數(shù)為=1;
(1)學(xué)習(xí)階段
步驟1:采用算法1計算觀察測試樣本數(shù)據(jù)對應(yīng)的對應(yīng)于各攻擊類別λ的后驗(yàn)概率(λ|o);
步驟2:根據(jù)(λ|o)初始化(HMM|o),并根據(jù)貝葉斯定理計算觀察值概率矩陣=[b]中的元素:
步驟3:對初始分布矢量和狀態(tài)轉(zhuǎn)移概率矩陣=[a]進(jìn)行更新:
設(shè)α()表示當(dāng)前模型在時對應(yīng)的觀察序列為1,2,…,o,處于狀態(tài)為q的概率;設(shè)β()表示模型在時刻,當(dāng)觀察序列為o+1,o+2,…,o時,處于狀態(tài)為q的概率,則根據(jù)前向評估算法和后向評估算法可以得到:
以最大化后驗(yàn)概率為目標(biāo),假設(shè)1={,|},2={|},則目標(biāo)函數(shù)可以表示為:
將式(13)分別對π和a求導(dǎo),可以得到初始分布矢量和狀態(tài)轉(zhuǎn)移概率矩陣=[a]可表示為:
步驟4:根據(jù)閥值來判斷HMM訓(xùn)練是否結(jié)束:
如果當(dāng)前模型滿足式(15)所示的條件,則訓(xùn)練結(jié)束;否則λ=λ+1,并輸入下一個樣本數(shù)據(jù)并返回步驟2計算迭代.
(2)檢測階段
當(dāng)學(xué)習(xí)過程結(jié)束后,得到HMM模型后1,2,…,λ,其中,為攻擊類型數(shù),此時將經(jīng)過歸一化處理的觀察測試樣本依次輸入各HMM模型1,2,…,λ,采用Viterbi算法來計算似然概率:
5 仿真實(shí)驗(yàn)
為了對文中方法進(jìn)行驗(yàn)證,采用KDD1999年的競賽數(shù)據(jù)作為樣本數(shù)據(jù),每條樣本數(shù)據(jù)均包含41個特征屬性和1個決策屬性,采用KDD數(shù)據(jù)庫中的10%的數(shù)據(jù)記錄作為樣本數(shù)據(jù),其中5%為訓(xùn)練,樣本數(shù)據(jù),剩余的5%為測試樣本數(shù)據(jù),每個TCP/IP連接均包含41個屬性,以及對其的攻擊類型(是否為攻擊以及攻擊的具體類型),攻擊類別主要可以表示為:
表1 網(wǎng)絡(luò)攻擊描述
誤測量率定義為:檢測出異常攻擊總數(shù)與異常攻擊總數(shù)的比值,誤報率為錯誤分類的進(jìn)程總數(shù)與正常進(jìn)程總數(shù)的比值,漏報率為正確分類的進(jìn)程總數(shù)與進(jìn)程總數(shù)的比值.
算法1參數(shù)設(shè)置為:監(jiān)督SOM權(quán)值W(+1)(1)和W(+1)(2)均為觀察測試樣本的均值,兩層的學(xué)率()(1)和()(2)初始值為0.15和0.1,以及兩層領(lǐng)域半徑()(1)和()(2)為3和3,權(quán)重系數(shù)=0.3,當(dāng)前迭代次數(shù)=1,最大迭代次數(shù)=100;
算法2參數(shù)設(shè)置為:采用攻擊類型來初始化模型0,HMM模型訓(xùn)練閥值0.1,當(dāng)前迭代次數(shù)為=1,最大值=100;仿真得到的系統(tǒng)總體性能為:
表2 系統(tǒng)整體性能檢測
從表2可以看出,由此可知文中模型在性能上是穩(wěn)定的,能有效地識別網(wǎng)絡(luò)數(shù)據(jù)中的攻擊行為.
文中方法對各個攻擊類別的樣本對應(yīng)的仿真結(jié)果分析,如下所示:
表3 各攻擊類別檢測結(jié)果
圖4 經(jīng)典HMM方法、文獻(xiàn)[9]方法和文中方法的比較圖
從表3中可以看出,文中方法在僅采用10%的少量樣本的情況下,對各個類別仍然保持著較高的檢測率和低的誤報率,僅僅只有U2R攻擊類別的檢測正確率較低,這是因?yàn)閁2R的樣本太少,因此,影響了整體的檢測效果.為了進(jìn)一步驗(yàn)證文中方法的優(yōu)越性,將文中方法與經(jīng)典的HMM以及文獻(xiàn)[9]所示的改進(jìn)的HMM方法進(jìn)行比較,結(jié)果如圖4所示.文中方法具有較高的檢測率,且在仿真時間為400ms時,就已經(jīng)趨于收斂,經(jīng)典HMM方法的檢測率最低,在整個仿真期間的最高檢測率為0.941,且始終未能收斂,而文獻(xiàn)[9]方法的檢測率次之,在仿真時間為450ms,收斂到0.957.由此可以看出,文中方法不僅具有較高快的檢測速度而且有較高的檢測率,這是因?yàn)槲闹胁捎帽O(jiān)督SOM獲得后驗(yàn)概率訓(xùn)練HMM,增加了檢測的精度并加快了訓(xùn)練速度.
5 結(jié) 語
隨著網(wǎng)絡(luò)應(yīng)用的普及和規(guī)模的急劇膨脹,對網(wǎng)絡(luò)攻擊的預(yù)防和檢測是保障網(wǎng)絡(luò)安全的重要手段,入侵檢測系統(tǒng)作為重要的網(wǎng)絡(luò)安全保護(hù)系統(tǒng),已經(jīng)成為信息安全和計算機(jī)領(lǐng)域的研究重點(diǎn).為此,文中設(shè)計了一種基于監(jiān)督SOM網(wǎng)絡(luò)和HMM的網(wǎng)絡(luò)入侵檢測方法,采用訓(xùn)練樣本數(shù)據(jù)對監(jiān)督SOM網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將獲得的觀察樣本數(shù)據(jù)后驗(yàn)概率用于HMM的訓(xùn)練,從而得到HMM中的初始分布矢量、狀態(tài)轉(zhuǎn)移概率和觀察值概率,然后再采用經(jīng)過訓(xùn)練的HMM作為入侵檢測模型,對各類數(shù)據(jù)進(jìn)行入侵檢測,將具有最大概率的模型作為入侵檢測結(jié)果.仿真實(shí)驗(yàn)表明文中方法的有效性和可行性.
[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] 汪潔.基于神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2013(30):320-322.
[3] 謝紅,劉人杰,陳純鍇.基于誤用檢測與異常行為檢測的整合模型.重慶郵電大學(xué)學(xué)報:自然科學(xué)版,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)化分層的網(wǎng)絡(luò)入侵檢測算法[J].計算機(jī)科學(xué),2013(40):180-191.
[7] 徐敏.基于人工示例訓(xùn)練的神經(jīng)網(wǎng)絡(luò)集成入侵檢測[J].計算機(jī)工程,2012(38):198-200.
[8] 徐敏,丁紅,沈曉紅.神經(jīng)網(wǎng)絡(luò)集成模型在入侵檢測中的應(yīng)用[J].2012(29):105-108.
[9] 楊曉峰,孫明明,胡雪蕾,等.基于改進(jìn)隱馬爾可夫模型的網(wǎng)絡(luò)攻擊檢測方法[J].通信學(xué)報,2010(31):95-101.
(責(zé)任編輯:涂正文)
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
李志堅(jiān)(1982-),男,四川南充人,阿壩師范學(xué)院助理研究員,主要研究計算機(jī)應(yīng)用技術(shù).