摘要:首先改進了自組織映射學習和分類算法,通過引入自定義變量匹配度、約簡率和約簡樣本量化誤差,提出了一種新的基于多層自組織映射和主成分分析入侵檢測模型與算法。模型運用主成分分析算法對輸入樣本進行特征約簡,運用分層思想對分類精度低的聚類進行逐層細分,解決了單層自組織映射分類不精確的問題。實驗結果表明該模型用于入侵檢測的效果良好,能準確區分攻擊與否且能進一步指出攻擊的具體類型。
關鍵詞:多層自組織映射; 主成分分析; 入侵檢測
中圖法分類號:TP393.08文獻標識碼:A
文章編號:1001-3695(2007)01-0148-04
1引言
Internet的復雜性、可訪問性和開放性使信息安全成為全球關注的重要問題。隨著網絡的深入應用,特別是政府信息和軍事數據在網絡上的傳播,給網絡信息安全提出了更高的要求。隨著信息安全研究的不斷深入,入侵檢測系統作為一種主動防御工具,逐漸成為研究的熱點。
現有的入侵檢測系統對于KDDCUP’99中的特征選擇主要有兩種方式,即選取全部41種的特征[7,8]或選取9種基本連接特征中的部分或全部[3,9]。前者確保檢測率和誤檢率兩個指標得到了較好的結果,但卻增大系統開銷;后者雖降低了系統開銷,但在檢測率和誤檢率上卻不如前者。無論是基于主機還是基于網絡的入侵檢測系統,無論是采用數據挖掘還是神經網絡或者其他方法,入侵檢測系統都必須處理大量的數據,故增大了系統開銷,因此有必要在注重檢測率和誤報率的同時考慮系統開銷。
基于上述考慮,從檢測速度、檢測率和誤報率三個重要指標出發,本文提出了一種新的基于多層自組織映射和主成分分析入侵檢測模型,為實現異常檢測分類器提供了一種準確高效的途徑。為便于描述,本文通過實驗分析了將傳統SOM直接應用到入侵檢測中存在的分類不精確的問題,并針對此問題提出了一種改進SOM(Modified SelfOrganizing Map,MSOM)算法。該算法改變了傳統SOM對輸出層獲勝神經元的標類方式,并且采用多層MSOM算法對分類精度低的神經元(即一個神經元內存在了兩種及兩種以上類型)逐層細分,并依據自定義的變量、匹配度、約簡率和約簡樣本量化誤差,提出了一種新的基于多層PCA和MSOM(Multilayer Principal Component Analysis and MSOM, MPCAMSOM)入侵檢測模型與算法。此模型通過主成分分析算法對輸入樣本進行特征約簡,有效地減少了訓練時間,降低了計算復雜性,同時利用分層的思想對分類精度低的聚類進行逐層細分,從而解決了單層自組織映射分類不精確的問題。
2基于MPCAMSOM的入侵檢測模型與算法
2.1MPCAMSOM入侵檢測模型
針對單層SOM存在的分類不精確的問題,本文提出了一種新的基于MPCAMSOM入侵檢測模型,如圖1所示。在MSOM模塊中引入鄰居函數改變了傳統SOM只對輸出層獲勝神經元進行標類的方式,同時考慮到對其周圍神經元不同程度的影響。PCA模塊負責輸入數據的降維處理,以便于有效降低計算復雜度,減少模型訓練時間。分層思想的引入可以將當前層內分類精度高的神經元所對應的輸入樣本剔出,只對精度低的神經元逐層細分。
圖1MPCAMSOM入侵檢測模型
下面具體介紹MPCAMSOM模型數據流程。在訓練階段,訓練數據首先進行標準化,然后經PCA輸入到每層MSOM,如圖1所示。每層MSOM有三個輸出:輸出至PCA模型的特征向量(用粗線表示),輸出至測試模型的權值向量和匹配度以及輸出至下一層約簡后訓練數據。直至當前層的約簡樣本量化誤差滿足一定約束條件分層結束,完整的MPCAMSOM測試模型形成。在測試階段,測試數據經過標準化和PCA模型后,僅需與測試模型中的每一層輸出拓撲圖的獲勝神經元的匹配度進行比較,即可辨別出測試數據正常與否,并可準確指出具體是那類攻擊告警。此外,從模型中每層輸入數據的數量來看,當前層的數據數量肯定不大于上一層的數據數量,這就確保了MPCAMSOM模型的收斂性。
2.2MSOM算法與分析
傳統的SOM聚類過程是一個輸入樣本僅對獲勝神經元署以標簽的過程,我們認為這種方式是不全面的。因為在SOM的訓練過程中,一個樣本不僅僅影響一個最佳匹配神經元的權值向量,還不同程度地影響了鄰居神經元的權值向量,故我們認為SOM的聚類過程應該打破僅給一個神經元署以標簽的方式,還需同時考慮其對鄰居神經元的不同程度的影響。對獲勝神經元周圍的神經元不同程度的影響是通過鄰居神經元來實現的,我們下面給出標類過程的鄰居函數定義。
基于定義1,下面給出MSOM算法。
算法1MSOM算法
輸入:訓練數據集合;
輸出:輸出層神經元權值矩陣W。
(1)線性初始化權值矩陣W。
(2)從訓練數據集合中隨機讀入一筆樣本x。
(3)尋找最佳匹配。
(5)修正學習率和鄰近半徑。
(6)重復(2)~(5),直到收斂或者執行一定數目的循環時,算法結束。
MSOM算法和SOM算法最大的區別在于:MSOM算法在步驟(4)添加了更新獲勝神經元及其鄰居點擊數Li,這就改變了SOM的聚類過程僅給一個神經元署以標簽的方式,同時兼顧其對鄰居神經元的不同程度的影響。
2.3主成分分析的引入
為盡量減少需要處理信息的數量,從而作出更好的預測,并降低分類的錯誤率,需要進行特征篩選。主成分分析是將各變量之間互相關聯的復雜關系進行簡化分析的一種方法[2],它力圖在保證數據信息丟失最少的原則下,對這種多變量的截面數據表進行最佳綜合簡化,即對高維變量空間進行降維處理。基于此特性,本文通過引入主成分分析來提高MPCAMSOM的性能。PCA的定義詳見文獻[2]。
2.4多層MSOM的相關定義
在MSOM基礎上引入分層思想是為了對分類精度低的神經元逐層細分,但如何有機地將層與層之間結合起來,分多少層才是合適的都是設計多層MSOM的關鍵問題。本文引入匹配度、約簡率和約簡樣本量化誤差的概念來解決上述問題,具體定義如下。
2.5MPACMSOM算法
本文的MPACMSOM算法運用了逐層細分的思想,它既保證了對分類不精確的神經元繼續細分,又保證了每層的輸入數據都比上一層少,從而確保了分層模型的收斂性。根據定義2~定義4,基于MPCAMSOM訓練和檢測算法描述如下。
3算法實驗及結果分析
3.1測試方案描述
本文中的所有測試采用KDDCUP’99數據集[4]作為數據源。實驗選取kddcup.data_10_percent.gz中10 000個Normal,1 247個Ipsweep,1 040個Portsweep,2 203個Back作為訓練數據集;取corrected.gz中的1 000個Normal,306個Ipsweep,354個Portsweep,1 098個Back樣本作為測試數據集1;在測試數據集1的基礎上增加了五類新攻擊:158個Httptuned,87個Pod,9個Xlock,17個Sendmail,84個Nmap作為測試數據集2。本文中所有實驗均以SOM工具箱和SOMPAK軟件開發包為基礎[5]。
表1測試方案描述
3.2測試結果
表2、表3分別給出了四種測試方案對測試數據集1和數據集2的檢測結果,該結果得到了較好的檢測率和誤檢率,而且對于每一類攻擊均達到了準確的分類。
表2測試數據集1的檢測結果
表3測試數據集2的檢測結果
3.3MPCAMSOM模型性能分析
本節將從約簡率、訓練測試時間和分層結束標準三個方面來分析MPCAMSOM模型的性能。首先為了驗證本文提出的分層結束標準(即式(7))的有效性,我們在測試方案1、2和方案4中應用此標準,而在方案3中預設層數為4。從表2、表3可看出,方案3對測試數據集1、數據集2的測試效果都不理想。由圖2可觀察出方案3的約簡量化誤差變化趨勢并不滿足式(7),而滿足式(7)的方案1、2和方案4都取得了滿意的效果,這說明通過加入分層結束標準可以使MPCAMSOM模型的性能更加穩定。
進一步分析方案3我們發現,導致失敗的原因主要是方案3相對于方案2在神經元個數減少的同時,約簡閾值Rvalue仍預設為1。這就表明從訓練數據集合中約簡去僅存在單一類別的神經元對應的訓練數據,這就導致可繼續細分的神經元個數增加。參照圖3我們可觀察到,當第一層模型訓練完后,方案1訓練數據集合中約簡去5 716個數據,方案2約簡去4 207個,方案3僅約簡去1 359個,這表明方案3未達到訓練算法預期的目的,僅是將輸入樣本重復訓練多遍,反而使檢測率降低,誤檢率升高。
基于上述分析,我們把方案3的失敗歸因于約簡閾值設置不得當。為了驗證這個結論是否準確,我們把方案4的每層神經元個數設置成與方案3相同,并修改約簡閾值Rvalue=0.998。從圖3可以看出,約簡率的降低使輸入樣本得到了有效的約簡,加速了MPCAMSOM模型的收斂,同時從表2、表3可以看出,檢測方案4對測試數據集1和數據集2都取得了滿意的結果。
結合訓練時間從圖4可以看出,方案3不僅檢測效果不好,而且在神經元個數減少的情況下訓練時間和測試時間相對方案2反有增加,方案1具有最好的檢測結果,但訓練時間也最長,方案4由于約簡閾值的改變,訓練時間有大幅下降,且檢測結果接近于方案1。
3.4采用PCA前后的性能分析
為了驗證PCA的引入是否有效,基于測試方案4對采用PCA前后的性能和時間進行比較,如表4、表5所示。為了保證同等測試的前提,我們把各層神經元的個數與方案4預置為相等。從比較結果可以看出,兩種方案在檢測率和誤檢率上均取得了滿意的結果,但從表5的比較結果可以明顯看出引入PCA的方案在訓練時間上有大幅降低,這也就驗證了引入PCA對高維變量空間進行降維處理可以有效地降低MSOM神經網絡的計算復雜度,且并不影響MPCAMSOM系統的性能。
表4采用PCA前后的性能比較
表5采用PCA前后的性能時間比較
3.5同類算法性能比較
我們對Rough Set[6],KNN,SOM[1]算法以同一訓練數據集進行比較,表6給出了對測試數據集2中的檢測結果。不難看出本文的方案(MPCAMSOM)在檢測率和誤檢率方面均有改善,而且還實現了對攻擊較為準確的分類。KNN,SOM算法均在MATLAB 6.5中進行仿真實驗。
表6測試數據集2的檢測結果
4結論
本文通過修改SOM聚類算法,引入了匹配度、約簡率和約簡樣本量化誤差的概念,提出了一種基于多層自組織映射和主成分分析的入侵檢測模型,從而解決了單層自組織映射分類不精確的問題。神經網絡的輸入通過主成分計算來選取,實驗結果表明,該模型用于入侵檢測的效果良好,檢測速度快,識別率高,為實現異常檢測分類器提供了一種準確高效的途徑。但是此方法還存在一些局限性:神經網絡一旦訓練成功就不再改變,而用戶的行為模式是不斷改變的。隨著時間的推移,舊的模式可能無法精確反映用戶的行為。為了保證判斷的準確性,需要定期重新訓練神經網絡,并且通過PCA選取特征也不一定是最優的,仍有待進一步完善。
參考文獻:
[1]林世杰, 施東河. 以異常偵測為基礎之入侵偵測系統研究——以微軟視窗平臺為例[D]. 中國臺灣:國立云林科技大學,20-04.
[2]何曉群. 多元統計分析[M].北京:中國人民大學出版社,20-04.
[3]Kayacik H G, ZincirHeywood A N, Heywood M I. On Dataset Biases in a Learning System with Minimum a Priori Information for Intrusion Detection[C]. Fredericton: Proceedings of the IEEE CNSR,20-04.
[4]http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html [EB/OL].
[5]http://www.cis.hut.fi/projects/somtoolbox [EB/OL].
[6]李志君, 吳渝. 基于Rough Set的數據挖掘技術在網絡安全中的應用研究[D]. 重慶:重慶郵電學院,20-04.
[7]E Eskin, A Arnold, M Prerau,et al. A Geometric Framework for Unsupervised Anomaly Detection: Detecting Intrusions in Unlabeled Data[A]. D Barbara, S Jajodia. Applications of Data Mining in Computer Security[M]. Kluwer, 2002.
[8]Wenke Lee, Sal Stolfo, Kui Mok. A Data Mining Framework for Building Intrusion Detection Models[C]. Oakland: Proceedings of IEEE Symposium on Security and Privacy,1999.
[9]Peter Lichodzijewski, A Nur ZincirHeywood, Malcolm I Heywood. Dynamic Intrusion Detection Using SelfOrganizing Maps[C]. The 14th Annnual Canadian Information Technology Security Symposium,2002.
作者簡介:
白潔(1979),男,寧夏石嘴山人,碩士研究生,主要研究方向為網絡安全;吳渝 (1970),女,重慶人,教授,博士,主要研究方向為智能信息處理、數據挖掘、多媒體技術等;王國胤 (1970),男,重慶人,教授,博導,博士,主要研究方向為Rough Set、智能信息系統、神經網絡等;邱文斌 (1980),男,碩士研究生,主要研究方向為網絡安全。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文