張 敏
[摘要]基于數據挖掘技術,針對當前入侵檢測系統的不足,把層次聚類算法與模糊c-均值算法相結合,設計出一種較優的入侵檢測系統,實驗證明該系統具有較高的檢測率和良好的自適性。
[關鍵詞]數據挖掘 入侵檢測 聚類算法
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0910047-01
一、引言
隨著網絡的發展,網絡安全問題越來越受到人們的關注。能夠保障系統安全的入侵檢測(Intrusion Detection)技術應運而生。入侵檢測系統是一種用于檢測計算機網絡或主機中違反安全策略行為的技術[1]。數據挖掘(Data Mining)是隨著數據庫技術和人工智能發展起來的一門新興的數據庫技術[2]。近年來,隨著網絡安全的要求不斷提高,新的入侵檢測研究成果不斷出現[3]。本文把層次聚類算法與模糊c-均值算法相結合,設計出一種較優的入侵檢測引擎,實驗表明,該入侵檢測系統具有較高的檢測率和較低的誤警率。
二、一種新型聚類算法設計
為適應網絡發展的需要,要求入侵檢測算法在滿足高效要求的同時,能夠及時發現新的攻擊,為克服單純使用一種算法的局限性,本文綜合各種算法的優勢,設計出一種新型的聚類算法。
根據模糊c-均值法易于陷入局部最優解的缺點,需要一種能在全局范圍尋找一個較優解的快速算法用于確定模糊c-均值法的初始聚類中心,避免其只在局部尋求最優解,我們采用一種較好的層次聚類算法,它復雜度低,易于實現,適合大數據量的入侵檢測系統的應用。算法描述如下:
Step1:計算任意兩個對象之間的距離d(i,j),并將之存儲在一線性結構d中;Step2:對線性結構d按從小到大的次序進行排序;Step3:對d中的當前元素,首先判斷這兩個對象是否已被合并到類中,如果沒有,就將這兩個對象合成一個類;如果其中一個已被合并到某一類,則將另一個也合并到那個類中;如果它們已分別被合并到兩個不同的類,則將它們所在的那兩個類合并成一個類;Step4:取d中的下一個元素,如果其值大于某一閾值,則算法停止,否則重復Step3,直到線性結構中所有的元素處理完畢。
將該算法的聚類結果作為模糊c-均值法的初始聚類中心,能夠有效克服模糊c-均值法易陷入局部最優解的缺點。
模糊c-均值法在數據維數較低的時候有更好的檢測性能,因此,在相同條件下,降低輸入數據的維數也是提升算法性能的一個重要方法。我們采用一種基于主成份分析的特征選擇方法,用于降低數據的特征維數,提升算法的性能。
三、入侵檢測引擎設計
當前的商用入侵檢測系統90%以上基于特征檢測,特征檢測技術檢測正確率高,但是它只能檢測已知的攻擊,異常檢測可以彌補特征檢測的不足,它可以檢測到未知的攻擊,因而,我們把特征檢測技術與異常檢測技術相結合設計入侵檢測引擎。
基于上面對算法的分析,我們設計一種新型的聚類算法,其流程如下:步驟一:利用主成份分析,降低源數據特征維數;步驟二:將步驟一中得到的結果使用較優層次聚類算法獲得聚類結果;步驟三:將步驟二得到的聚類結果作為模糊c-均值法的初始類心,運行模糊c-均值法,得到最終聚類結果。
下面是基于新型聚類算法的入侵檢測系統的檢測模塊,流程圖如下:
首先,使用層次聚類算法找出要進行聚類的初始點,在第一次聚類后,將聚類結果作為模糊c-均值法的初始類心,然后用模糊c-均值法動態的進行聚類,不斷調整類心,直至聚類滿足給出的停止條件。由于挖掘算法對入侵檢測系統的相對獨立性,算法不依賴于特定的數據及特定的系統,所以基于數據挖掘的入侵檢測系統對數據源要求很低,不僅適用于網絡數據,各種樣本數據,還可用于各種審計數據,用戶行為數據等,具有很強的通用性。特別在網絡入侵檢測系統中,使用數據挖掘方法中的聚類算法可以利用數據源的原有信息,即在一個正常的網絡數據中,正常的數據占絕大部分,入侵數據只占極少的一部分(一般不超過2%),利用該知識可以在無需經驗的基礎上對源數據進行判斷,檢測出攻擊紀錄。

四、總體性能測試
我們使用KDD99數據作為測試集,共采用3種數據集進行實驗。每組數據中設置約5萬個數據連接,其中DOS類型的攻擊占460條,U2R類型的攻擊20條,R2L類型的攻擊約140條,PROBE類型的攻擊約占310條。使用聚類算法進行入侵檢測,系統檢測性能如下:

檢測結果表明,系統在保持較低誤檢率的情況下檢測出入侵行為,特別是對DOS攻擊及PROBE攻擊類型有較高的檢測率,對U2R和R2L的檢測率也有所提高,由于U2R和R2L類型的攻擊其數據特征與正常數據包特征類似,增加了檢測的難度。
五、結束語
隨著計算機網絡的不斷發展,入侵檢測技術在網絡安全體系中發揮著日趨重要的作用。本文把特征檢測技術與異常檢測技術相結合,設計出高性能的入侵檢測系統,在入侵檢測引擎中,把層次聚類算法與模糊c-均值法相結合,進一步提高了算法的效率。整個入侵檢測系統具有學習能力,能夠及時更新檢測規則庫,具有較強的自適應性和擴展性。今后,我們將進一步考慮高性能的挖掘算法,以及把入侵檢測技術和其他安全技術相結合,進一步增強系統的安全性。
參考文獻:
[1]唐正軍、李建華,入侵檢測技術[M].北京:清華大學出版社,2004.
[2](加)Jiawei Han,Micheline Kamber著,數據挖掘概念與技術[M].北京:機械工業出版社,2001.
[3]羅敏,基于聚類和支持向量機的網絡入侵檢測研究[博士學位論文].武漢:武漢大學,2003.
[4]Pal N R,Pal K,Keller J M,et al.A Possibilistic Fuzzy c-Means Clustering Algorithm[J].IEEE Transactions on Fuzzy Systems,2005,13(4):517-530.
[5]段明秀、楊路明,對層次聚類算法的改進[J].湖南理工學院學報(自然科學版),2008,21(2).
[6]http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.KDD Cup 1999 Data.