劉華春,候向?qū)?,?忠
(成都理工大學(xué) 工程技術(shù)學(xué)院,四川 樂(lè)山 614007)
基于改進(jìn)K均值算法的入侵檢測(cè)系統(tǒng)設(shè)計(jì)
劉華春,候向?qū)帲瑮?忠
(成都理工大學(xué) 工程技術(shù)學(xué)院,四川 樂(lè)山 614007)
傳統(tǒng)的入侵檢測(cè)系統(tǒng)是將規(guī)則庫(kù)與網(wǎng)絡(luò)數(shù)據(jù)包逐一匹配,進(jìn)行檢測(cè),當(dāng)網(wǎng)絡(luò)數(shù)據(jù)量巨增時(shí),檢測(cè)效率顯著降低,甚至面臨不能即時(shí)檢測(cè)的巨大挑戰(zhàn)。數(shù)據(jù)挖掘是從海量的數(shù)據(jù)中挖掘發(fā)現(xiàn)需要的各種有價(jià)值信息的技術(shù),入侵檢測(cè)系統(tǒng)中植入數(shù)據(jù)挖掘技術(shù),將極大提高入侵檢測(cè)系統(tǒng)的檢測(cè)效率和智能性。研究了數(shù)據(jù)挖掘中K-means聚類算法應(yīng)用于入侵檢測(cè)領(lǐng)域中的難點(diǎn)問(wèn)題。K-means算法具有易受初始K值和孤立點(diǎn)影響,難以確定K值,對(duì)初始質(zhì)心依賴程度高等不足問(wèn)題。針對(duì)上述缺點(diǎn),提出了改進(jìn)的K-means聚類算法。設(shè)計(jì)了基于改進(jìn)K-means的入侵檢測(cè)系統(tǒng)并進(jìn)行了實(shí)驗(yàn)。結(jié)果表明,將改進(jìn)的聚類算法應(yīng)用于入侵檢測(cè)可顯著提高異常檢測(cè)效率;可自適應(yīng)地建立入侵檢測(cè)異常模式庫(kù);對(duì)未知的入侵攻擊能有效防范;能進(jìn)一步降低誤檢率。
數(shù)據(jù)挖掘;入侵檢測(cè);聚類算法;異常檢測(cè)
傳統(tǒng)的入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)是采取分析和提取入侵模式和攻擊特點(diǎn),建立檢測(cè)規(guī)則庫(kù)及模式庫(kù),所以傳統(tǒng)IDS在檢測(cè)效率和智能性上存在明顯不足。在網(wǎng)絡(luò)帶寬快速提高,入侵和攻擊模式不斷變化的新形勢(shì)下,傳統(tǒng)IDS的檢測(cè)方式、檢測(cè)效率面臨巨大挑戰(zhàn),甚至不能即時(shí)響應(yīng)和檢測(cè)。數(shù)據(jù)挖掘(Data Mining,DM)能夠從海量數(shù)據(jù)中根據(jù)不同的挖掘算法,挖掘出具有不同用途的知識(shí)和信息。因此,可以將數(shù)據(jù)挖掘技術(shù)植入到IDS中,應(yīng)用適當(dāng)?shù)耐诰蛩惴?,就可解決前文提出的IDS效率和自適應(yīng)問(wèn)題。目前,DM+IDS已成為入侵檢測(cè)領(lǐng)域的一個(gè)重要研究方向。數(shù)據(jù)挖掘應(yīng)用于入侵檢測(cè)系統(tǒng)的研究,在國(guó)內(nèi)外都有很多的研究機(jī)構(gòu)及大學(xué)在進(jìn)行,已取得了一定的研究成果,但總體仍處于初始階段。
文中將數(shù)據(jù)挖掘技術(shù)應(yīng)用于入侵檢測(cè)系統(tǒng),對(duì)于入侵檢測(cè)系統(tǒng)具有較大的實(shí)際應(yīng)用價(jià)值。
1.1 入侵檢測(cè)技術(shù)
入侵檢測(cè)的原理是通過(guò)從網(wǎng)絡(luò)中特定點(diǎn)收集和分析網(wǎng)絡(luò)數(shù)據(jù),以判別該網(wǎng)絡(luò)中是否存在被攻擊或違反安全策略的行為。入侵檢測(cè)系統(tǒng)對(duì)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和控制,所以能夠提供對(duì)各種錯(cuò)誤配置和來(lái)自網(wǎng)絡(luò)內(nèi)部、外部攻擊的防范[1-2]。入侵檢測(cè)系統(tǒng)能及時(shí)發(fā)現(xiàn)入侵行為,并產(chǎn)生警報(bào)信號(hào),因此極大地提高了網(wǎng)絡(luò)系統(tǒng)的安全性。
入侵檢測(cè)工作過(guò)程主要由數(shù)據(jù)采集、數(shù)據(jù)分析和響應(yīng)三個(gè)步驟組成。美國(guó)互聯(lián)網(wǎng)工程任務(wù)組(IETF)為入侵檢測(cè)系統(tǒng)制定了標(biāo)準(zhǔn),并發(fā)起制訂了系列的建議草案[3],提出了入侵檢測(cè)系統(tǒng)框架模型。此模型把一個(gè)入侵檢測(cè)系統(tǒng)分解為事件產(chǎn)生器、事件分析器、事件數(shù)據(jù)庫(kù)和響應(yīng)單元四個(gè)部分[4]。事件產(chǎn)生器進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的抓取和預(yù)處理,事件分析器進(jìn)行規(guī)則的分析匹配,事件數(shù)據(jù)庫(kù)存放規(guī)則模式,響應(yīng)單元產(chǎn)生動(dòng)作執(zhí)行操作。根據(jù)采用的檢測(cè)方法,入侵檢測(cè)技術(shù)可分為異常檢測(cè)和誤用檢測(cè)。
1.2 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘又稱數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn)(Knowledge Discover in Database,KDD),能夠從大量的、海量的數(shù)據(jù)中提取出未知的、并具有用戶期望價(jià)值的信息。數(shù)據(jù)挖掘技術(shù)已廣泛應(yīng)用于機(jī)器學(xué)習(xí)、模式識(shí)別、人工智能、統(tǒng)計(jì)學(xué)等領(lǐng)域,是一個(gè)決策支持的過(guò)程。數(shù)據(jù)挖掘高度自動(dòng)地分析海量數(shù)據(jù),進(jìn)行推理、歸納,挖掘出潛在的模式和規(guī)則,用戶根據(jù)挖掘結(jié)果調(diào)整策略,進(jìn)行決策,可有效降低風(fēng)險(xiǎn),提高決策的正確率[5]。數(shù)據(jù)挖掘的過(guò)程,根據(jù)其工作內(nèi)容,可分為數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘、挖掘結(jié)果的解釋與評(píng)價(jià)三個(gè)階段,也是針對(duì)具體應(yīng)用項(xiàng)目的數(shù)據(jù)分析和處理過(guò)程[6]。應(yīng)用于不同領(lǐng)域的數(shù)據(jù)挖掘,其數(shù)據(jù)內(nèi)容、數(shù)據(jù)格式、挖掘算法,應(yīng)根據(jù)具體的挖掘目標(biāo)而進(jìn)行設(shè)計(jì)。數(shù)據(jù)挖掘技術(shù)可分為以下幾種類型:關(guān)聯(lián)規(guī)則、序列模式、分類、聚類等[7]。
在傳統(tǒng)的入侵檢測(cè)系統(tǒng)中植入數(shù)據(jù)挖掘技術(shù),研究探索適當(dāng)?shù)臄?shù)據(jù)挖掘算法,通過(guò)從海量網(wǎng)絡(luò)數(shù)據(jù)中,過(guò)濾掉正常數(shù)據(jù)模式,只提取異常入侵模式,智能地構(gòu)建入侵檢測(cè)模型,就可以極大地提高傳統(tǒng)入侵檢測(cè)系統(tǒng)的檢測(cè)效率,并拓展其自適應(yīng)性,從而降低傳統(tǒng)IDS的誤檢率[8]。
2.1 原始K-means算法
K-means算法的主要思想是將輸入數(shù)據(jù)按照一定的方法劃分到不同的類中,在同一個(gè)類中的數(shù)據(jù),數(shù)據(jù)特征具有最大的相似性,在不同類中的數(shù)據(jù),其數(shù)據(jù)特征具有最大的相異性[9]。
若有數(shù)據(jù)集D,其中有N個(gè)數(shù)據(jù),每一個(gè)數(shù)據(jù)Xi有q維特征,由q維特征屬性描述一個(gè)數(shù)據(jù),即Xi=(Xi1,Xi2,…,Xiq),Xi∈D,1
(1)從數(shù)據(jù)集D中隨機(jī)選擇一個(gè)數(shù)K(需滿足K (2)第一個(gè)聚類中心為第一個(gè)數(shù)xi。計(jì)算每一個(gè)數(shù)據(jù)xi到各個(gè)聚類中心的距離d(xi,rj),1 (3)當(dāng)增加一個(gè)數(shù)據(jù)到類中后,計(jì)算聚類中所有數(shù)據(jù)的屬性均值,重新得到了新的聚類中心。 (4)計(jì)算準(zhǔn)則函數(shù)。 (5)用準(zhǔn)則函數(shù)是否收斂判別是否要繼續(xù),如果收斂,轉(zhuǎn)到結(jié)束;如果不收斂,返回到第(2)步,進(jìn)入新的一輪迭代過(guò)程,迭代計(jì)數(shù)器s=s+1。 (6)結(jié)束,顯示聚類結(jié)果。 K-means算法具有很多優(yōu)點(diǎn):算法簡(jiǎn)單;容易理解,易實(shí)現(xiàn);能快速處理較大量的數(shù)據(jù);當(dāng)各個(gè)類相差明顯時(shí),能快速識(shí)別;算法的復(fù)雜度低,為線性的;具有良好的擴(kuò)展性[10-11]。 K-means算法存在如下缺陷: (1)初始化聚類中心K值,對(duì)聚類結(jié)果的影響較大,選取不同的K值,得到的聚類結(jié)果有較大差異。而K值通常需要進(jìn)行實(shí)驗(yàn)確定,也可根據(jù)經(jīng)驗(yàn)來(lái)確定,沒(méi)有一個(gè)通用的方法來(lái)確定。當(dāng)K值取法不當(dāng)時(shí),會(huì)導(dǎo)致聚類結(jié)果的質(zhì)量下降[12]。 (2)孤立點(diǎn)對(duì)聚類結(jié)果有較強(qiáng)影響,而且,在聚類算法處理時(shí),數(shù)據(jù)的輸入順序會(huì)影響聚類結(jié)果[13]。 (3)K-means算法中數(shù)據(jù)對(duì)象之間的距離是用歐氏距離來(lái)表示。這樣只能處理連續(xù)型數(shù)值而不能處理離散型數(shù)據(jù)對(duì)象[14]。網(wǎng)絡(luò)數(shù)據(jù)中一些數(shù)據(jù)特征值是連續(xù)型數(shù)值,而一些是離散型的,如數(shù)據(jù)幀標(biāo)志、類型等。K-means算法無(wú)法直接處理這些離散特征數(shù)據(jù)。 2.2 IDSK-means算法 由于K-means算法的缺陷,不能直接應(yīng)用于入侵檢測(cè),文中將對(duì)其進(jìn)行改進(jìn),將改進(jìn)的K-means算法稱為IDSK-means算法。 2.2.1IDSK-means算法設(shè)計(jì) 對(duì)于聚類個(gè)數(shù)K值確定困難的缺陷,提出一種預(yù)定距離的聚類算法。該算法的思路為,預(yù)先確定一個(gè)聚類半徑r,第一個(gè)聚類中心以第一個(gè)數(shù)據(jù)為中心。第二個(gè)數(shù)據(jù)獲取后,計(jì)算與前聚類中心的距離,若小于r,則將第二個(gè)數(shù)歸到這個(gè)類中,重新計(jì)算該類的中心數(shù)值。若大于等于r,以第二個(gè)數(shù)據(jù)作為一個(gè)新類的中心。依次類推,后面到達(dá)的數(shù)據(jù),計(jì)算其與已有各個(gè)類中心的距離,小于r則歸入該類,大于r則為一個(gè)新類中心。 對(duì)于提高檢測(cè)效率,確定聚類結(jié)果是正常數(shù)據(jù)模式還是入侵?jǐn)?shù)據(jù)模式的問(wèn)題。將正常聚類模式和異常聚類模式分別放在正常行為表和異常行為表中。預(yù)先設(shè)定一個(gè)閾值參數(shù)β,當(dāng)某一類成員的數(shù)目與所有成員比例大于或等于β時(shí),表明該類是一個(gè)正常數(shù)據(jù)類,反之為入侵?jǐn)?shù)據(jù)的聚類。由于在網(wǎng)絡(luò)中,正常數(shù)據(jù)的數(shù)量遠(yuǎn)大于入侵?jǐn)?shù)據(jù)的數(shù)量;將正常數(shù)據(jù)過(guò)濾掉,只保留異常的疑似入侵的數(shù)據(jù)進(jìn)行下一階段的檢測(cè),可以極大提高檢測(cè)效率。 對(duì)于傳統(tǒng)K-means聚類算法只能處理數(shù)字量,而無(wú)法處理離散量的問(wèn)題,將離散屬性轉(zhuǎn)化為0和1的數(shù)值屬性,采用離散屬性值出現(xiàn)的頻率進(jìn)行量化,把最高的值作為聚類中心的值,再利用K-means算法進(jìn)行聚類分析。 2.2.2IDSK-means算法流程 Step1: input:訓(xùn)練數(shù)據(jù)和半徑參數(shù)r; output:訓(xùn)練數(shù)據(jù)的聚類C1,C2,…,Ck。 算法流程: (1)將輸入的訓(xùn)練數(shù)據(jù)集T歸一化預(yù)處理,減少特定較大數(shù)據(jù)對(duì)聚類結(jié)果的影響。 (2)讀入數(shù)據(jù)集T中的第一個(gè)數(shù)據(jù)X1,以X1為中心值,構(gòu)造聚類C1。 (3)重復(fù)(2),讀入下一個(gè)數(shù)。 (4)讀入數(shù)據(jù)集T后續(xù)的數(shù)據(jù)Xi,i=1,2,…,n。計(jì)算每一個(gè)數(shù)Xi與已有的類Cj中心值的距離d(Xi,Cj)。 (5)若d(Xi,Cj)≤r,將Xi歸入到Cj類,即Xi屬于Cj類中;再新計(jì)算Cj類的中心值,將Cj類的成員加1。 (6)若d(Xi,Cj)>r,將Xi作為中心值,創(chuàng)建一個(gè)新的類。 (7)重復(fù)輸入的數(shù)據(jù),直到全部數(shù)據(jù)結(jié)束。 Step2: input:C1,C2,…,Ck,閾值β。 output:正常數(shù)據(jù)的聚類和異常數(shù)據(jù)的聚類。 算法流程: (1)若某一個(gè)聚類中,其成員數(shù)目與全部數(shù)據(jù)之比大于或等于參數(shù)值β,則該類為正常行為數(shù)據(jù)的聚類,將其移入正常聚類表,構(gòu)造正常行為模式庫(kù)。 (2)若某一類中,其成員數(shù)目與全部成員之比小于參數(shù)值β,則該類為異常行為數(shù)據(jù)的聚類,把其放入異常聚類表,構(gòu)建異常行為模式庫(kù)。 Step3: 孤立點(diǎn)的處理,文中采用基于統(tǒng)計(jì)的方法,對(duì)聚類算法運(yùn)行后,生成的每一個(gè)類i,計(jì)算類i中數(shù)據(jù)成員所占的比率q(i)值,根據(jù)q(i)值進(jìn)行排序,q(i)值越小,表明i中的成員數(shù)據(jù)越不適合這個(gè)類,可能是個(gè)孤立點(diǎn),取q(i)值最小的類i作為孤立點(diǎn),從該類中刪除。然后將孤立點(diǎn)重新進(jìn)行聚類,直到所有孤立點(diǎn)數(shù)據(jù)全部放到合適的類中為止。這樣能有效減少因輸入數(shù)據(jù)的順序而形成孤立點(diǎn)后,對(duì)聚類結(jié)果的影響。 系統(tǒng)設(shè)計(jì)遵循通用入侵檢測(cè)系統(tǒng)模型(CIDF),文中在CIDF模型的基礎(chǔ)上,引入數(shù)據(jù)挖掘技術(shù),將改進(jìn)的聚類算法IDSK-means應(yīng)用于入侵檢測(cè),增加了聚類分析模塊。 3.1 系統(tǒng)結(jié)構(gòu) 該入侵檢測(cè)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),包括通用IDS結(jié)構(gòu)的部分,即事件產(chǎn)生器、事件分析器、事件數(shù)據(jù)庫(kù)、響應(yīng)單元部分外,還包括數(shù)據(jù)挖掘模塊部分,即聚類分析、關(guān)聯(lián)規(guī)則分析共計(jì)六大模塊,如圖1所示。 圖1 基于改進(jìn)聚類算法的入侵檢測(cè)結(jié)構(gòu) 各模塊詳細(xì)功能如下: 事件產(chǎn)生器:包括數(shù)據(jù)包嗅探器和預(yù)處理器兩個(gè)子模塊。從網(wǎng)絡(luò)中捕獲數(shù)據(jù)包,并將獲取的數(shù)據(jù)包進(jìn)行分析解碼處理后,供后面的模塊使用。 聚類分析器:采用IDSK-means算法構(gòu)建網(wǎng)絡(luò)正常行為模式庫(kù)和異常行為模式庫(kù)。 事件數(shù)據(jù)庫(kù):存放異常入侵規(guī)則模式數(shù)據(jù),并維護(hù)異常入侵規(guī)則數(shù)據(jù),供誤用檢測(cè)和關(guān)聯(lián)規(guī)則進(jìn)行模式檢測(cè)。 事件分析器:分析和處理網(wǎng)絡(luò)數(shù)據(jù),包括異常檢測(cè)和誤用檢測(cè)兩個(gè)模塊。實(shí)現(xiàn)過(guò)濾和檢測(cè)雙重功能。 (1)過(guò)濾功能:異常檢測(cè)模塊通過(guò)網(wǎng)絡(luò)正常行為模式和異常模式對(duì)輸入的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行模式識(shí)別,把正常的網(wǎng)絡(luò)數(shù)據(jù)過(guò)濾,保留異常網(wǎng)絡(luò)數(shù)據(jù)送誤用檢測(cè)。 (2)檢測(cè)功能:誤用檢測(cè)將異常檢測(cè)過(guò)濾后通過(guò)的疑似入侵?jǐn)?shù)據(jù)與異常事件數(shù)據(jù)庫(kù)中的入侵規(guī)則進(jìn)行檢測(cè),判斷該數(shù)據(jù)是哪一類入侵?jǐn)?shù)據(jù)。 響應(yīng)單元:當(dāng)誤用檢測(cè)為異常數(shù)據(jù)時(shí),產(chǎn)生入侵行為觸發(fā),讓IDS產(chǎn)生動(dòng)作,阻止入侵行為繼續(xù)發(fā)生,通過(guò)報(bào)警,記錄到日志文件,通知防火墻切斷該連接,通知管理員等。 關(guān)聯(lián)規(guī)則分析:將入侵的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行關(guān)聯(lián)挖掘,挖掘出入侵行為與異常數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,并將其轉(zhuǎn)化為入侵規(guī)則,添加到入侵規(guī)則庫(kù)中。 3.2 工作流程 該入侵檢測(cè)系統(tǒng)的工作流程設(shè)計(jì)為兩個(gè)階段,分別為訓(xùn)練和檢測(cè)階段,如圖2所示。 圖2 入侵檢測(cè)系統(tǒng)工作流程 1)訓(xùn)練階段:如圖2中1流程所示,系統(tǒng)在訓(xùn)練階段要將大量的網(wǎng)絡(luò)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)存入數(shù)據(jù)庫(kù)。 (1)根據(jù)數(shù)據(jù)取出關(guān)鍵特征進(jìn)行預(yù)處理。 (2)采用IDSK-means聚類算法對(duì)數(shù)據(jù)進(jìn)行聚類分析。 (3)提取網(wǎng)絡(luò)數(shù)據(jù)正常模式和異常入侵?jǐn)?shù)據(jù)模式。 (4)過(guò)濾正常網(wǎng)絡(luò)數(shù)據(jù)。 2)檢測(cè)階段:如圖2中2流程所示。 (1)輸入網(wǎng)絡(luò)數(shù)據(jù)。 (2)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。 (3)正常網(wǎng)絡(luò)數(shù)據(jù)過(guò)濾,將網(wǎng)絡(luò)數(shù)據(jù)與模式庫(kù)中的數(shù)據(jù)進(jìn)行匹配,如果為正常數(shù)據(jù),過(guò)濾掉,提高系統(tǒng)的檢測(cè)效率。 (4)將入侵?jǐn)?shù)據(jù)送誤用檢測(cè),判斷該入侵?jǐn)?shù)據(jù)為哪一類攻擊。 (5)觸發(fā)響應(yīng)模塊,報(bào)警。 (6)如沒(méi)有與入侵規(guī)則庫(kù)匹配成功,該數(shù)據(jù)為未知攻擊類型,則由關(guān)聯(lián)規(guī)則挖掘出攻擊行為與數(shù)據(jù)的關(guān)系,將其添加到入侵規(guī)則庫(kù)中,使系統(tǒng)具備了發(fā)現(xiàn)未知攻擊的能力。 3.3 仿真實(shí)驗(yàn) 3.3.1 實(shí)驗(yàn)設(shè)計(jì) 實(shí)驗(yàn)數(shù)據(jù)采用KDD CUP99數(shù)據(jù)集[15],通常采用該數(shù)據(jù)來(lái)對(duì)設(shè)計(jì)的IDS進(jìn)行各種性能測(cè)試。其中的所有數(shù)據(jù)都是在實(shí)際運(yùn)行的互聯(lián)網(wǎng)環(huán)境下,模擬真實(shí)攻擊的情景得到的數(shù)據(jù),數(shù)據(jù)格式如下: 0,tcp,http,SF,51,8127,0,0,0,2,0,1,0,1,0,0,0,0,1,0,0,0,1,2,0.00,0.00,0.00,0.50,1.00,0.00,1.00,255,255,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,phf 該數(shù)據(jù)集的每一個(gè)數(shù)據(jù)由42個(gè)屬性值構(gòu)成,其中有數(shù)值型屬性,也有離散型屬性,第42個(gè)屬性標(biāo)識(shí)該數(shù)據(jù)記錄是正常行為產(chǎn)生的數(shù)據(jù),還是入侵行為產(chǎn)生的數(shù)據(jù)。 該實(shí)驗(yàn)的目的是驗(yàn)證改進(jìn)的IDSK-means算法的有效性及性能分析。實(shí)驗(yàn)中,采用數(shù)據(jù)集的10%來(lái)測(cè)試設(shè)計(jì)的IDS系統(tǒng)的各種性能,把實(shí)驗(yàn)數(shù)據(jù)隨機(jī)分割成S1和S2兩個(gè)子集。將S1作為訓(xùn)練數(shù)據(jù)集,用于訓(xùn)練IDS構(gòu)建正常網(wǎng)絡(luò)數(shù)據(jù)模式和入侵網(wǎng)絡(luò)數(shù)據(jù)模式,S2作為測(cè)試數(shù)據(jù)集,其中包含有S1中沒(méi)有出現(xiàn)的網(wǎng)絡(luò)攻擊數(shù)據(jù),用來(lái)檢測(cè)該IDS的檢測(cè)能力。 將實(shí)驗(yàn)數(shù)據(jù)導(dǎo)入到SQLServer數(shù)據(jù)庫(kù)中,建立數(shù)據(jù)庫(kù),并新建訓(xùn)練數(shù)據(jù)表和測(cè)試數(shù)據(jù)表。 3.3.2 實(shí)驗(yàn)結(jié)果分析 采用誤檢率來(lái)評(píng)價(jià)該IDS檢測(cè)效果的度量指標(biāo),公式如式(1)所示: (1) 在實(shí)驗(yàn)中,經(jīng)過(guò)多次選取不同參數(shù)r和β,測(cè)試該IDS的檢測(cè)性能。r為聚類半徑參數(shù)指標(biāo),β為孤立點(diǎn)閾值參數(shù)指標(biāo)。 (1)r對(duì)實(shí)驗(yàn)結(jié)果的影響(β=0.4)。 設(shè)定孤立點(diǎn)閾值β=0.4時(shí),通過(guò)改變不同r的值,其結(jié)果如表1所示。 從表1可以看出,當(dāng)聚類半徑r越大時(shí),誤檢率越高,表明IDS將入侵?jǐn)?shù)據(jù)當(dāng)成正常數(shù)據(jù),會(huì)把攻擊數(shù)據(jù)過(guò)濾,不做檢測(cè),即檢測(cè)不出入侵?jǐn)?shù)據(jù),容易造成漏檢。 表1 不同r值對(duì)結(jié)果的影響 分析:聚類半徑r直接影響后的結(jié)果。當(dāng)r越大時(shí),聚類后的類數(shù)量就越少,這樣入侵?jǐn)?shù)據(jù)被當(dāng)成正常數(shù)據(jù)的幾率越大。當(dāng)r越小時(shí),聚類后類的數(shù)量就越多,數(shù)據(jù)匹配就更細(xì)化,入侵?jǐn)?shù)據(jù)被當(dāng)成正常數(shù)據(jù)的幾率就越小。所以,聚類半徑r對(duì)誤檢率有非常顯著的影響,r越小,誤檢率越低。 (2)不同β值的影響(設(shè)定聚類半徑r=5)。 對(duì)數(shù)據(jù)進(jìn)行多次聚類分析,設(shè)定聚類半徑r=5,不斷變化閾值β,如表2所示。 表2 孤立點(diǎn)閾值β的影響 從表2可以看出,孤立點(diǎn)閾值β越小,誤檢率越高,β越大,誤檢率越低。 分析:孤立點(diǎn)閾值β對(duì)誤檢率也有很大的影響,β值是某一類成員數(shù)與全部數(shù)據(jù)的比率。當(dāng)β越小時(shí),表明更多的入侵?jǐn)?shù)據(jù)被當(dāng)成正常數(shù)據(jù)類,誤檢率就高。反之,孤立點(diǎn)閾值β越大,更多的數(shù)據(jù)要進(jìn)行再次聚類,入侵?jǐn)?shù)據(jù)被當(dāng)成正常數(shù)據(jù)的可能性越低,這樣,誤檢率就越低。 從上述實(shí)驗(yàn)結(jié)果及分析可知,采用該IDSK-means聚類算法的入侵檢測(cè)系統(tǒng),聚類半徑r和孤立點(diǎn)閾值β直接影響聚類結(jié)果,從而對(duì)IDS檢測(cè)結(jié)果產(chǎn)生重大影響,合理選擇聚類半徑r和閾值β直接關(guān)系到IDS系統(tǒng)的檢測(cè)性能。在實(shí)際應(yīng)用的入侵檢測(cè)系統(tǒng)中,需要根據(jù)具體情況調(diào)整合適的r和β參數(shù)值,以達(dá)到滿意的檢測(cè)效果,即提高檢測(cè)效率,降低誤檢率。 文中研究了在入侵檢測(cè)系統(tǒng)中植入數(shù)據(jù)挖掘的聚類技術(shù),達(dá)到提高檢測(cè)效率、降低誤檢率的目標(biāo)。詳細(xì)研究了聚類算法K-means的流程、優(yōu)點(diǎn)及不足,創(chuàng)新性地提出了根據(jù)聚類半徑r和閾值β進(jìn)行聚類的改進(jìn)IDSK-means算法。設(shè)計(jì)了基于IDSK-means算法的智能入侵檢測(cè)系統(tǒng)結(jié)構(gòu),并采用模擬網(wǎng)絡(luò)攻擊數(shù)據(jù)包KDDCUP99對(duì)系統(tǒng)進(jìn)行了實(shí)驗(yàn)測(cè)試。研究結(jié)果表明數(shù)據(jù)挖掘技術(shù)應(yīng)用于入侵檢測(cè)系統(tǒng)可有效地提高異常檢測(cè)效率;能夠自適應(yīng)建立入侵檢測(cè)異常模式庫(kù),對(duì)未知的入侵攻擊能有效防范;調(diào)整合適的聚類半徑r和閾值β,能達(dá)到較好的檢測(cè)效果。 [1] 郭紅艷,谷保平.改進(jìn)k均值算法在網(wǎng)絡(luò)入侵檢測(cè)中的應(yīng)用研究[J].計(jì)算機(jī)安全,2008(5):24-26. [2] 劉 靜.基于聚類的網(wǎng)絡(luò)入侵檢測(cè)的研究[D].太原:太原理工大學(xué),2008. [3] 秦子燕.基于聚類分析的入侵檢測(cè)方法研究[D].無(wú)錫:江南大學(xué),2008. [4]SabahiF,MovagharA.Intrusiondetection:asurvey[C]//Procofthethirdinternationalconferenceonsystemsandnetworkscommunications.[s.l.]:[s.n.],2008:23-26. [5] 李 洋.K-means聚類算法在入侵檢測(cè)中的應(yīng)用[J].計(jì)算機(jī)工程,2007,33(14):154-156. [6] 張建萍,劉希玉.基于聚類分析的K-means算法研究及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2007,24(5):166-168. [7] 陳小輝.基于數(shù)據(jù)挖掘算法的入侵檢測(cè)方法[J].計(jì)算機(jī)工程,2010,36(17):72-73. [8]GaddamSR,PhohaVV,BalaganiKS.K-Means+ID3:anovelmethodforsupervisedanomalydetectionbycascadingK-MeansclusteringandID3decisiontreelearningmethods[J].IEEETransactionsonKnowledgeandDataEngineering,2007,19(3):345-354. [9] 李文華.基于聚類分析的網(wǎng)絡(luò)入侵檢測(cè)模型[J].計(jì)算機(jī)工程,2011,37(17):96-98. [10]EnsafiR,DehghanzadehS,MohammadR,etal.OptimizingfuzzyK-meansfornetworkanomalydetectionusingPSO[C]//ProcofACS/IEEEinternationalconferenceoncomputersystemsandapplications.Doha,Qatar:IEEE,2008:686-693. [11] 杜 強(qiáng),孫 敏.基于改進(jìn)聚類分析算法的入侵檢測(cè)系統(tǒng)研究[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(11):106-108. [12] 吳慶濤,邵志清.入侵檢測(cè)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2005,22(12):11-14. [13] 宋宇翔,劉 琰.特征和分類器聯(lián)合優(yōu)化的網(wǎng)絡(luò)入侵檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(19):77-81. [14] 朱廣彬.基于數(shù)據(jù)挖掘的入侵檢測(cè)技術(shù)研究[D].北京:北京交通大學(xué),2010. [15]UniversityofCalifornia,Irvine.KDDcup1999data[EB/OL].(1999-10-28)[2012-03-20].http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html. Design of Intrusion Detection System Based on ImprovedK-means Algorithm LIU Hua-chun,HOU Xiang-ning,YANG Zhong (Engineering & Technical College of Chengdu University of Technology,Leshan 614007,China) Traditional intrusion detection system is matched to the rule base and network packet one by one.When the network is the huge increase in the amount of data,detection efficiency significantly reduces,even in the face of enormous challenges not immediately detected.Data mining is a technology finds a variety of valuable information from the mass of data,data mining technology into the intrusion detection system will greatly improve efficiency and intelligence of this IDS.Focus on researching theK-meansclusteringalgorithmindataminingforapplicationtointrusiondetectionsystem.TheK-meansalgorithmhassomeshortcomings,suchastobeaffectedbytheinitialKvalueandoutlier,difficultyofdeterminingKvalue,highlydependingontheinitialcenterpoint.Toovercomethesedisadvantages,animprovedK-meansclusteringalgorithmisproposed.Andanintrusiondetectionsystembasedonthisisdesigned.Theresultsshowthattheimprovedclusteringalgorithmisappliedtointrusiondetection,itcansignificantlyimprovetheabnormalitydetectionefficiency,andadaptivelyestablishtheabnormalpatterndatabaseofintrusiondetection,andeffectivelypreventtheunknownintrusionandgreatlyreducethefalsedetectionrate. data mining;intrusion detection;clustering algorithm;anomaly detection 2015-03-21 2015-06-23 時(shí)間:2015-11-19 四川省自然科學(xué)重點(diǎn)項(xiàng)目(A22012003) 劉華春(1966-),男,碩士,副教授,研究方向?yàn)樾畔踩?、機(jī)器學(xué)習(xí)。 http://www.cnki.net/kcms/detail/61.1450.TP.20151119.1111.052.html TP A 1673-629X(2016)01-0101-05 10.3969/j.issn.1673-629X.2016.01.0213 基于數(shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)
4 結(jié)束語(yǔ)