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