摘 要:本文主要構(gòu)建了一種基于聚類技術(shù)的分布式入侵檢測系統(tǒng)模型——CDIDS,介紹了該模型中各個模塊的設(shè)計方法和工作流程,同時,也說明了整個系統(tǒng)的工作流程,并對該系統(tǒng)進行了性能評價,說明其可擴展、強壯并且智能。
關(guān)鍵詞:網(wǎng)絡安全;入侵檢測;聚類
1 引言
近年,隨著Internet迅速發(fā)展的同時,計算機及計算機網(wǎng)絡逐漸成為計算機犯罪的攻擊目標,從而導致社會和個人都有很大的損失。計算機及網(wǎng)絡的安全也因此成為研究的焦點。入侵檢測技術(shù)是繼傳統(tǒng)安全保護措施后新一代的安全保障技術(shù),作為一種積極主動的安全防護技術(shù),它有效地補充和完善了其他安全技術(shù)和手段。
由于數(shù)據(jù)挖掘能夠從存儲的大量數(shù)據(jù)中挖掘出有效、新穎、具有潛在用途及最終可以理解的模式,所以可以將其應用于入侵檢測領(lǐng)域中,發(fā)現(xiàn)新類型或變種的攻擊。以聚類分析為代表的無監(jiān)督檢測方法的提出解決了傳統(tǒng)方法存在的問題。因此,致力于基于聚類方法的入侵檢測技術(shù)的研究具有重要的社會意義和現(xiàn)實意義。
2 入侵檢測
入侵檢測是指對入侵行為的發(fā)現(xiàn),通過在計算機網(wǎng)絡或計算機系統(tǒng)中的若干關(guān)鍵點收集信息并對收集到的信息進行分析,從而判斷網(wǎng)絡或系統(tǒng)中是否有違反安全策略的行為或攻擊的跡象[1]。入侵檢測技術(shù)的引入,使得網(wǎng)絡、系統(tǒng)的安全性得到進一步的提高。完成入侵檢測功能的軟件和硬件的組合稱為入侵檢測系統(tǒng)(Intrusion Detection System)簡稱IDS。
3 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘(DM,Data Mining)就是從大量的、不完整的、有噪聲的、模糊的、隨機的數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在的、有用的信息和知識的過程[2]。數(shù)據(jù)挖掘的主要分析方法有分類分析、關(guān)聯(lián)規(guī)則、序列模式分析和聚類分析等等,本文著重講述聚類分析方法。
4 聚類分析
聚類是一個將數(shù)據(jù)劃分為若干組或類的過程,并使得同一個組內(nèi)的數(shù)據(jù)對象具有較高的相似度,而不同組中的數(shù)據(jù)對象則是不相似的[3]。一個聚類就是由彼此相似的一組對象所構(gòu)成的集合,聚類分析就是從給定的數(shù)據(jù)集中搜索數(shù)據(jù)對象之間存在的有價值的聯(lián)系。
5 基于聚類技術(shù)的分布式入侵檢測模型CDIDS的設(shè)計
5.1 設(shè)計思想
本文所提出的入侵檢測模型的設(shè)計遵循如下原則:
5.1.1 基于Agent的分布式檢測系統(tǒng)
本文采用分布協(xié)作式體系結(jié)構(gòu),將每個主機代理都設(shè)計成可以獨立檢測和響應的單元,向中央控制模塊發(fā)送入侵行為特征。
5.1.2 誤用檢測與異常檢測相結(jié)合
誤用入侵檢測利用已知系統(tǒng)和應用軟件的弱點攻擊模式來檢測入侵,能直接檢測出不利的或不可接受的行為。這種檢測方法檢測率高、誤報率低、檢測速度快,但是漏報率較高,對新的入侵行為和已知入侵行為的變種卻無能為力。異常檢測是基于已掌握了的被保護對象的行為建立正常工作模式,并假定正常工作模式相對穩(wěn)定。異常檢測最大的優(yōu)點是有可能檢測出以前從未出現(xiàn)過的攻擊方式,但是誤報率較高[4]。通過以上說明可以看出誤用檢測和異常檢測技術(shù)是互補的,兩種技術(shù)的結(jié)合可以互相補短,進而提高入侵檢測的準確性。
5.2 CDIDS系統(tǒng)模型
本文將所設(shè)計的基于聚類技術(shù)的分布式入侵檢測模型定義為CDIDS,該模型分為兩大模塊——Agent和中央控制模塊。
系統(tǒng)工作原理如下:
(1)每個駐留在被保護主機的代理獨立承擔一定的檢測任務,檢測系統(tǒng)或網(wǎng)絡安全的某個方面,并把收集到的網(wǎng)絡數(shù)據(jù)進行檢測分析,將檢測到的入侵行為特征傳送給中央控制模塊。
(2)中央控制單元將接收到的入侵行為特征存入數(shù)據(jù)庫,利用數(shù)據(jù)挖掘模塊對這些入侵行為進行挖掘,形成規(guī)則即入侵特征庫存入數(shù)據(jù)庫,并將這些規(guī)則傳送給每個代理,使得每個代理都可以自動更新入侵特征庫,實現(xiàn)智能化。
5.2.1 Agent設(shè)計
本系統(tǒng)中Agent由五個模塊構(gòu)成:數(shù)據(jù)采集模塊、預處理模塊、誤用檢測模塊、異常檢測模塊和響應模塊。
(1)數(shù)據(jù)采集模塊。數(shù)據(jù)采集模塊的主要作用是收集網(wǎng)絡數(shù)據(jù)包。為了將包輸送給預處理程序以及隨后的檢測引擎,必須先做一些準備工作,即需要一個抓包工具。WinPcap是由伯克利分組捕獲庫派生而來的分組捕獲庫,它是在Windows 操作平臺上來實現(xiàn)對底層包的截取過濾。
(2)數(shù)據(jù)預處理模塊。數(shù)據(jù)預處理模塊主要的作用是對數(shù)據(jù)采集模塊采集到的連接進行特征提取,提取出能用于數(shù)據(jù)挖掘的特征群,并對這些特征數(shù)據(jù)標準化處理,供檢測引擎中的數(shù)據(jù)挖掘算法使用。
(3)誤用檢測模塊。誤用檢測模塊將待檢測的數(shù)據(jù)對象與入侵模式庫中的規(guī)則類別相比較,同時設(shè)定一個閾值dn。計算待檢測對象與規(guī)則庫中每個類別的距離,找出距離它最短的類別,如果距離值小于dn,則說明該數(shù)據(jù)對象屬于此類,將其確定為入侵行為,啟動響應模塊;否則,說明該對象是新型攻擊或者正常數(shù)據(jù)(這里視其為可疑數(shù)據(jù)),將其送往異常檢測模塊。
(4)異常檢測模塊。異常檢測模塊將誤用檢測模塊中判斷得到的可疑數(shù)據(jù)與正常模式庫中的類進行比較,并設(shè)定閾值da。如果數(shù)據(jù)與正常模式庫中的任意類別的距離都大于da,則將此數(shù)據(jù)判定為入侵,加入入侵模式庫并啟動響應單元;否則說明此數(shù)據(jù)為正常行為,將其丟棄。
在誤用檢測模塊中所使用的模式匹配技術(shù)也是基于距離計算,將待檢測的數(shù)據(jù)對象與正常模式庫中的聚類中心進行計算,得到距離dis(m,C)(m為待檢測數(shù)據(jù)對象,C為正常模式庫中到m最近的聚類的聚類中心),若dis(m,C)≤da,則說明m為正常數(shù)據(jù),否則,便將m判定為入侵行為。
(5)響應模塊。當CDIDS發(fā)現(xiàn)入侵時,便啟動響應模塊,響應模塊主要的作用就是進行報警,提示系統(tǒng)管理員系統(tǒng)有入侵行為,以便管理員采取響應措施。
5.2.2 中央控制模塊的設(shè)計
中央控制模塊的主要作用是收集入侵行為,挖掘新的規(guī)則,并實時將最新的規(guī)則庫傳送給各代理。中央控制模塊主要由兩部分組成:數(shù)據(jù)庫和數(shù)據(jù)挖掘單元。
這里的數(shù)據(jù)庫可以分為入侵數(shù)據(jù)庫和規(guī)則數(shù)據(jù)庫。入侵數(shù)據(jù)庫存放的是從各個代理傳送來的入侵行為,入侵數(shù)據(jù)庫實時更新入侵內(nèi)容,將入侵行為提供給數(shù)據(jù)挖掘模塊進行聚類。規(guī)則庫存放的是入侵規(guī)則,即入侵類別。數(shù)據(jù)挖掘模塊采用的是KD算法[5],將入侵數(shù)據(jù)庫中的行為進行聚類,形成不同類別,存入規(guī)則庫。
5.3 系統(tǒng)工作流程
CDIDS系統(tǒng)工作分為兩階段:訓練階段和檢測階段。
5.3.1 訓練階段
由于開始時系統(tǒng)中所有的數(shù)據(jù)庫都是空的,沒有入侵行為,也沒有規(guī)則,因此需要有一個訓練階段來存儲入侵行為和形成規(guī)則,這也是聚類分析方法在此模型中應用的主要所在。
5.3.2 檢測階段
檢測階段的任務就是檢測網(wǎng)絡中的行為是否為入侵行為。當系統(tǒng)的訓練階段完成后,每個代理中的入侵模式庫和正常模式庫都不會為空,此時開始進行檢測。在檢測過程中每個代理都是一個獨立的實體,都具有獨立的入侵檢測能力。
5.4 訓練階段的實現(xiàn)
訓練階段主要是應用KD算法將預處理后的數(shù)據(jù)集進行聚類,目的是形成正常和入侵模式庫,供檢測階段進行正常模式匹配或入侵模式匹配之用。這里供訓練階段使用的數(shù)據(jù)對象有10500個,其中正常數(shù)據(jù)10000個,入侵數(shù)據(jù)500個,充分滿足了正常數(shù)據(jù)個數(shù)要遠遠大于入侵數(shù)據(jù)個數(shù),實驗選取的半徑為2.3,實驗中規(guī)定,當二次聚類后聚類中的數(shù)據(jù)對象數(shù)目大于或等于總實驗數(shù)據(jù)對象數(shù)量的5%時,將該類標記為正常,否則標記為入侵。實驗結(jié)果是形成正常模式和入侵模式,結(jié)果如圖5-2所示。
圖5-2中列出了正常模式和入侵模式所包含的聚類。正常模式中包含了兩個類,入侵模式中包含了7個類。訓練階段結(jié)束后,中央控制模塊將所形成的正常模式庫和入侵模式庫傳送給各個代理,代理將自己的正常模式庫和入侵模式庫更新,開始進行檢測階段的入侵檢測任務。
6 系統(tǒng)評價
6.1 實時性
分布在不同主機上的代理在工作的情況下實時地收集網(wǎng)絡數(shù)據(jù),并進行分析,由于CDIDS系統(tǒng)是分布式結(jié)構(gòu),所以每個代理所負責檢測的數(shù)據(jù)要比集中式結(jié)構(gòu)中中心服務器所檢測的數(shù)據(jù)少很多,這樣就能保證每個代理都能及時進行數(shù)據(jù)行為的檢測,不會出現(xiàn)積攢或是丟棄數(shù)據(jù)的情況。
6.2 可擴展性
CDIDS是一個分布式系統(tǒng),系統(tǒng)由很多代理組成,當系統(tǒng)想要擴展時,只需對新加入的主機配置相應的入侵檢測模塊即可,而無須對其他主機上的代理做任何變動。這樣使得整個系統(tǒng)的可擴展性得到了很大的提高。
6.3 智能化
由系統(tǒng)工作流程可以看出,整個系統(tǒng)的運作完全不需要人的手工操作,而是由系統(tǒng)自動完成,主要體現(xiàn)在代理中的入侵模式庫的自動更新和中央控制模塊中的入侵數(shù)據(jù)庫、規(guī)則數(shù)據(jù)庫的自動更新。
[參考文獻]
[1]羅守山.入侵檢測[M].北京:北京郵電大學出版社,2004.
[2]邵峰晶,余忠清.數(shù)據(jù)挖掘原理與算法[M].北京:中國水利水電出版社,2003,2.
[3]A.K.JAIN,M.N.MURTY,P.J.FLYN.Data Clustering:A Review[J].ACM Computing Surveys,31(3),1999:264-311.
[4]蔣建春,馬恒泰,任黨恩,卿斯?jié)h.網(wǎng)絡安全入侵檢測:研究綜述[J].軟件學報.2000,11(11):1460-1466.
[5]孫珊珊.聚類分析在入侵檢測中的應用[J].河北省科學院學報2010(27),2010:31-34.