張 敏
[摘要]基于數(shù)據(jù)挖掘技術(shù),針對當前入侵檢測系統(tǒng)的不足,把層次聚類算法與模糊c-均值算法相結(jié)合,設(shè)計出一種較優(yōu)的入侵檢測系統(tǒng),實驗證明該系統(tǒng)具有較高的檢測率和良好的自適性。
[關(guān)鍵詞]數(shù)據(jù)挖掘 入侵檢測 聚類算法
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0910047-01
一、引言
隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)安全問題越來越受到人們的關(guān)注。能夠保障系統(tǒng)安全的入侵檢測(Intrusion Detection)技術(shù)應運而生。入侵檢測系統(tǒng)是一種用于檢測計算機網(wǎng)絡(luò)或主機中違反安全策略行為的技術(shù)[1]。數(shù)據(jù)挖掘(Data Mining)是隨著數(shù)據(jù)庫技術(shù)和人工智能發(fā)展起來的一門新興的數(shù)據(jù)庫技術(shù)[2]。近年來,隨著網(wǎng)絡(luò)安全的要求不斷提高,新的入侵檢測研究成果不斷出現(xiàn)[3]。本文把層次聚類算法與模糊c-均值算法相結(jié)合,設(shè)計出一種較優(yōu)的入侵檢測引擎,實驗表明,該入侵檢測系統(tǒng)具有較高的檢測率和較低的誤警率。
二、一種新型聚類算法設(shè)計
為適應網(wǎng)絡(luò)發(fā)展的需要,要求入侵檢測算法在滿足高效要求的同時,能夠及時發(fā)現(xiàn)新的攻擊,為克服單純使用一種算法的局限性,本文綜合各種算法的優(yōu)勢,設(shè)計出一種新型的聚類算法。
根據(jù)模糊c-均值法易于陷入局部最優(yōu)解的缺點,需要一種能在全局范圍尋找一個較優(yōu)解的快速算法用于確定模糊c-均值法的初始聚類中心,避免其只在局部尋求最優(yōu)解,我們采用一種較好的層次聚類算法,它復雜度低,易于實現(xiàn),適合大數(shù)據(jù)量的入侵檢測系統(tǒng)的應用。算法描述如下:
Step1:計算任意兩個對象之間的距離d(i,j),并將之存儲在一線性結(jié)構(gòu)d中;Step2:對線性結(jié)構(gòu)d按從小到大的次序進行排序;Step3:對d中的當前元素,首先判斷這兩個對象是否已被合并到類中,如果沒有,就將這兩個對象合成一個類;如果其中一個已被合并到某一類,則將另一個也合并到那個類中;如果它們已分別被合并到兩個不同的類,則將它們所在的那兩個類合并成一個類;Step4:取d中的下一個元素,如果其值大于某一閾值,則算法停止,否則重復Step3,直到線性結(jié)構(gòu)中所有的元素處理完畢。
將該算法的聚類結(jié)果作為模糊c-均值法的初始聚類中心,能夠有效克服模糊c-均值法易陷入局部最優(yōu)解的缺點。
模糊c-均值法在數(shù)據(jù)維數(shù)較低的時候有更好的檢測性能,因此,在相同條件下,降低輸入數(shù)據(jù)的維數(shù)也是提升算法性能的一個重要方法。我們采用一種基于主成份分析的特征選擇方法,用于降低數(shù)據(jù)的特征維數(shù),提升算法的性能。
三、入侵檢測引擎設(shè)計
當前的商用入侵檢測系統(tǒng)90%以上基于特征檢測,特征檢測技術(shù)檢測正確率高,但是它只能檢測已知的攻擊,異常檢測可以彌補特征檢測的不足,它可以檢測到未知的攻擊,因而,我們把特征檢測技術(shù)與異常檢測技術(shù)相結(jié)合設(shè)計入侵檢測引擎。
基于上面對算法的分析,我們設(shè)計一種新型的聚類算法,其流程如下:步驟一:利用主成份分析,降低源數(shù)據(jù)特征維數(shù);步驟二:將步驟一中得到的結(jié)果使用較優(yōu)層次聚類算法獲得聚類結(jié)果;步驟三:將步驟二得到的聚類結(jié)果作為模糊c-均值法的初始類心,運行模糊c-均值法,得到最終聚類結(jié)果。
下面是基于新型聚類算法的入侵檢測系統(tǒng)的檢測模塊,流程圖如下:
首先,使用層次聚類算法找出要進行聚類的初始點,在第一次聚類后,將聚類結(jié)果作為模糊c-均值法的初始類心,然后用模糊c-均值法動態(tài)的進行聚類,不斷調(diào)整類心,直至聚類滿足給出的停止條件。由于挖掘算法對入侵檢測系統(tǒng)的相對獨立性,算法不依賴于特定的數(shù)據(jù)及特定的系統(tǒng),所以基于數(shù)據(jù)挖掘的入侵檢測系統(tǒng)對數(shù)據(jù)源要求很低,不僅適用于網(wǎng)絡(luò)數(shù)據(jù),各種樣本數(shù)據(jù),還可用于各種審計數(shù)據(jù),用戶行為數(shù)據(jù)等,具有很強的通用性。特別在網(wǎng)絡(luò)入侵檢測系統(tǒng)中,使用數(shù)據(jù)挖掘方法中的聚類算法可以利用數(shù)據(jù)源的原有信息,即在一個正常的網(wǎng)絡(luò)數(shù)據(jù)中,正常的數(shù)據(jù)占絕大部分,入侵數(shù)據(jù)只占極少的一部分(一般不超過2%),利用該知識可以在無需經(jīng)驗的基礎(chǔ)上對源數(shù)據(jù)進行判斷,檢測出攻擊紀錄。
四、總體性能測試
我們使用KDD99數(shù)據(jù)作為測試集,共采用3種數(shù)據(jù)集進行實驗。每組數(shù)據(jù)中設(shè)置約5萬個數(shù)據(jù)連接,其中DOS類型的攻擊占460條,U2R類型的攻擊20條,R2L類型的攻擊約140條,PROBE類型的攻擊約占310條。使用聚類算法進行入侵檢測,系統(tǒng)檢測性能如下:
檢測結(jié)果表明,系統(tǒng)在保持較低誤檢率的情況下檢測出入侵行為,特別是對DOS攻擊及PROBE攻擊類型有較高的檢測率,對U2R和R2L的檢測率也有所提高,由于U2R和R2L類型的攻擊其數(shù)據(jù)特征與正常數(shù)據(jù)包特征類似,增加了檢測的難度。
五、結(jié)束語
隨著計算機網(wǎng)絡(luò)的不斷發(fā)展,入侵檢測技術(shù)在網(wǎng)絡(luò)安全體系中發(fā)揮著日趨重要的作用。本文把特征檢測技術(shù)與異常檢測技術(shù)相結(jié)合,設(shè)計出高性能的入侵檢測系統(tǒng),在入侵檢測引擎中,把層次聚類算法與模糊c-均值法相結(jié)合,進一步提高了算法的效率。整個入侵檢測系統(tǒng)具有學習能力,能夠及時更新檢測規(guī)則庫,具有較強的自適應性和擴展性。今后,我們將進一步考慮高性能的挖掘算法,以及把入侵檢測技術(shù)和其他安全技術(shù)相結(jié)合,進一步增強系統(tǒng)的安全性。
參考文獻:
[1]唐正軍、李建華,入侵檢測技術(shù)[M].北京:清華大學出版社,2004.
[2](加)Jiawei Han,Micheline Kamber著,數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機械工業(yè)出版社,2001.
[3]羅敏,基于聚類和支持向量機的網(wǎng)絡(luò)入侵檢測研究[博士學位論文].武漢:武漢大學,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.