王雅軒,頊 聰
WANG Ya-xuan, XU Cong
(大連外國(guó)語學(xué)院 軟件學(xué)院,大連 116044)
基于數(shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)研究
The study on intrusion detection system based on data mining
王雅軒,頊 聰
WANG Ya-xuan, XU Cong
(大連外國(guó)語學(xué)院 軟件學(xué)院,大連 116044)
數(shù)據(jù)挖掘技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域的應(yīng)用已成為一個(gè)研究熱點(diǎn)。入侵檢測(cè)系統(tǒng)是網(wǎng)絡(luò)安全的重要防護(hù)工具,近年來得到廣泛的研究與應(yīng)用,但入侵檢測(cè)系統(tǒng)自身的誤報(bào)漏報(bào)及海量信息的出現(xiàn),使得人們必須謀求突破,以使入侵檢測(cè)系統(tǒng)實(shí)現(xiàn)更高的可用性和穩(wěn)定性。本文構(gòu)建了應(yīng)用數(shù)據(jù)挖掘技術(shù)的入侵檢測(cè)系統(tǒng)模型,以改善入侵檢測(cè)的精確性和速度。
數(shù)據(jù)挖掘;入侵檢測(cè);網(wǎng)絡(luò)安全
隨著對(duì)IDS 的研究與應(yīng)用的愈加深入,人們?cè)谙硎躀DS帶來的安全的同時(shí),也越來越多地感受到了由其誤報(bào)和漏報(bào)等所帶來的困擾。我們知道,IDS的警告是根據(jù)對(duì)網(wǎng)絡(luò)中異常情況的察覺,以及對(duì)主機(jī)日志的檢測(cè)。隨著網(wǎng)絡(luò)傳輸速度和海量數(shù)據(jù)的增長(zhǎng),對(duì)IDS的數(shù)據(jù)處理速度也提出了更高的要求。目前很多IDS,在海量數(shù)據(jù)出現(xiàn)的情況下,系統(tǒng)性能低下,已經(jīng)不能滿足實(shí)時(shí)性的要求,同時(shí)也缺乏對(duì)新型攻擊的檢測(cè)能力,而新興的數(shù)據(jù)挖掘技術(shù)的應(yīng)用可以彌補(bǔ)這一缺陷,因此本文將數(shù)據(jù)挖掘的方法引入到了IDS中,以改進(jìn)IDS 的性能。
入侵檢測(cè)(ID) 就是對(duì)入侵行為的檢測(cè),它通過收集和分析計(jì)算機(jī)網(wǎng)絡(luò)或計(jì)算機(jī)系統(tǒng)中若干關(guān)鍵點(diǎn)的信息,檢查網(wǎng)絡(luò)或系統(tǒng)中是否存在違反安全策略的行為和被攻擊的跡象[1]。入侵檢測(cè)的軟件與硬件的組合便是入侵檢測(cè)系統(tǒng)(IDS)。按照檢測(cè)對(duì)象的不同,可以將入侵檢測(cè)技術(shù)劃分為“基于主機(jī)的檢測(cè)”、“基于網(wǎng)絡(luò)的檢測(cè)”、“基于內(nèi)核的檢測(cè)”和“基于應(yīng)用的檢測(cè)”等多種類型。
數(shù)據(jù)挖掘(Data Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是用戶感興趣的信息和知識(shí)的過程[2]。打個(gè)比方,可以把數(shù)據(jù)看作是形成知識(shí)的源泉,數(shù)據(jù)挖掘就好比從礦石中采礦或淘金一樣。數(shù)據(jù)挖掘的過程并不是一個(gè)直線型的過程,而是一個(gè)螺旋上升、循環(huán)往復(fù)的多步驟處理過程。
數(shù)據(jù)挖掘技術(shù)主要有: 1)分類,就是將數(shù)據(jù)項(xiàng)映射到一種或者多種事先定義好的分類中去。通常采用決策樹或規(guī)則來區(qū)分?jǐn)?shù)據(jù)是屬于“正?!边€是“不正?!?。2)關(guān)聯(lián)規(guī)則分析,就是找出一個(gè)數(shù)據(jù)集中數(shù)據(jù)記錄間的不可見或者不可估計(jì)的屬性關(guān)聯(lián),即找出具有給定的最小支持度和最小置信度的關(guān)聯(lián)規(guī)則。現(xiàn)在已有多種關(guān)聯(lián)規(guī)則算法如Apriori算法[3]等用于入侵檢測(cè)。3)頻度序列分析,就是分析并找出數(shù)據(jù)流中時(shí)間上先后的多個(gè)事件的模式。時(shí)間頻度模式可以為建立事件輪廓提供指導(dǎo)。例如:在DOS 攻擊中,目標(biāo)機(jī)在一定時(shí)間的連接次數(shù)的分析。
本文根據(jù)數(shù)據(jù)挖掘的思想,利用數(shù)據(jù)挖掘中的關(guān)聯(lián)分析技術(shù),提取出程序或用戶的行為模式,構(gòu)造與安全相關(guān)的系統(tǒng)特征屬性,并根據(jù)系統(tǒng)特征屬性生成安全事件的分類模型,用于對(duì)安全事件的自動(dòng)鑒別。
關(guān)聯(lián)規(guī)則分析利用Apriori方法來獲得系統(tǒng)審計(jì)數(shù)據(jù)中各屬性之間的關(guān)系,確定構(gòu)造IDS所需要的合適屬性,或者提取出某種操作和入侵行為之間或各種入侵行為之間的相互關(guān)系,或兩種入侵行為通常相伴發(fā)生等知識(shí)。
頻繁序列分析算法用來發(fā)現(xiàn)系統(tǒng)審計(jì)事件中頻繁發(fā)生的事件序列[4]。該算法可以為最后生成入侵檢測(cè)模型提供時(shí)間統(tǒng)計(jì)屬性,即使用序列分析方法對(duì)各種入侵行為和某些操作發(fā)生的先后關(guān)系做出歸納。
分類算法主要用來構(gòu)造入侵或正常行為規(guī)則,通過從關(guān)聯(lián)規(guī)則的Aporiri挖掘和頻繁序列模式挖掘所提取的一系列屬性,用易于人們理解的啟發(fā)式規(guī)則,來描述攻擊特征并構(gòu)建分類器。
最后使用訓(xùn)練好的分類器來執(zhí)行檢測(cè)功能。基于數(shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)的框架結(jié)構(gòu)如圖1所示。
圖1 基于數(shù)據(jù)挖掘的IDS的框架結(jié)構(gòu)圖
1)在訓(xùn)練分類模型階段,搜集網(wǎng)絡(luò)和主機(jī)訓(xùn)練數(shù)據(jù),進(jìn)行數(shù)據(jù)預(yù)處理,形成系統(tǒng)和網(wǎng)絡(luò)行為集。
2)采用關(guān)聯(lián)規(guī)則挖掘和基本的頻繁序列模式挖掘得出頻繁模式,進(jìn)行模式合并、分析,進(jìn)而構(gòu)造出入侵模式庫(kù)和正常行為模式庫(kù)。
3)利用特征構(gòu)造算法為模式添加附加特征,送入分類器形成分類規(guī)則,通過規(guī)則的合并和添加處理,形成入侵規(guī)則庫(kù)和正常行為規(guī)則庫(kù)。
4)檢測(cè)引擎通過規(guī)則匹配和規(guī)則相似度比較來檢測(cè)入侵。
在分類器已訓(xùn)練完成的檢測(cè)過程中,收集實(shí)時(shí)審計(jì)數(shù)據(jù),進(jìn)行預(yù)處理后形成系統(tǒng)和網(wǎng)絡(luò)行為集,統(tǒng)計(jì)連接屬性的特征,送入檢測(cè)引擎,利用入侵規(guī)則庫(kù)和正常行為規(guī)則庫(kù),進(jìn)行規(guī)則匹配和規(guī)則相似度比較,以此方式來進(jìn)行檢測(cè)。同時(shí)挖掘模塊對(duì)其進(jìn)行在線更新挖掘,對(duì)行為集中未出現(xiàn)過的用戶模式,利用分類規(guī)則,及時(shí)更新正常和異常模式庫(kù)。對(duì)于行為集中已有的行為模式,則可直接丟棄。這樣,既可節(jié)約系統(tǒng)資源,又可使系統(tǒng)具有一定的自學(xué)習(xí)能力。IDS系統(tǒng)的實(shí)時(shí)監(jiān)測(cè)過程如圖2所示。
入侵檢測(cè)的基本前提是系統(tǒng)行為可以觀察到(如通過審計(jì))、并能對(duì)正常和入侵行為進(jìn)行區(qū)別。在進(jìn)行關(guān)聯(lián)分析之前進(jìn)行數(shù)據(jù)預(yù)處理,對(duì)數(shù)據(jù)挖掘的性能和效率有著至關(guān)重要的影響。數(shù)據(jù)預(yù)處理主要完成數(shù)據(jù)清洗和特征子集選擇兩個(gè)任務(wù)。對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗和特征子集選擇,可以去掉冗余的數(shù)據(jù),集中檢測(cè)有用的數(shù)據(jù)集,以適應(yīng)網(wǎng)絡(luò)速度和流量的成倍增長(zhǎng),保證檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性。
數(shù)據(jù)特征子集選擇的主要過程是對(duì)檢測(cè)變量的篩選,即在原始的P個(gè)檢測(cè)屬性中, 篩選出具有P'(P'
圖2 IDS系統(tǒng)的實(shí)時(shí)監(jiān)測(cè)過程示意圖
數(shù)據(jù)挖掘模塊對(duì)收集的數(shù)據(jù)進(jìn)行挖掘, 本系統(tǒng)分別采用關(guān)聯(lián)規(guī)則和序列模式挖掘技術(shù)。關(guān)聯(lián)規(guī)則挖掘技術(shù)采用了以下幾個(gè)步驟:
1)預(yù)先確定初始最小支持度和最小置信度閾值。
2)找出滿足最小支持度和最小置信度閾值的頻繁項(xiàng)集,可用采用改進(jìn)的Apriori算法。
3)由頻繁項(xiàng)集,生成關(guān)聯(lián)規(guī)則。
4)剔除無用規(guī)則。
5)將服務(wù)類型作為分類標(biāo)簽,其他屬性作為判定樹的分支節(jié)點(diǎn),按照判定樹對(duì)規(guī)則進(jìn)行分類,建立入侵分類模型。
6)將新生成的規(guī)則按判定樹的方法插人規(guī)則庫(kù)。
入侵檢測(cè)產(chǎn)品的有效入侵檢測(cè)的關(guān)鍵在于入侵知識(shí)庫(kù)。入侵知識(shí)庫(kù)中存放著系統(tǒng)挖掘出的各種已知攻擊模式和正常模式。將數(shù)據(jù)挖掘算法提取出的數(shù)據(jù)包的模式與知識(shí)庫(kù)中的模式進(jìn)行比較,以確定該數(shù)據(jù)包是正常的數(shù)據(jù)傳輸還是已知的惡意攻擊,或是未知模式。
入侵規(guī)則的來源主要有三種:1)對(duì)于已知的攻擊行為模式和利用已知系統(tǒng)漏洞進(jìn)行的攻擊行為模式,可由人工把這些特征加入規(guī)則庫(kù);2)在統(tǒng)建立的初始階段,通過收集足夠的訓(xùn)練數(shù)據(jù)來訓(xùn)練數(shù)據(jù)挖掘模塊而得到規(guī)則;3)在系統(tǒng)檢測(cè)過程中,對(duì)于檢測(cè)得到的新的正?;虍惓R?guī)則,由決策模塊控制加入規(guī)則庫(kù)。
規(guī)則庫(kù)的維護(hù)要求規(guī)則庫(kù)能及時(shí)更新,并盡可能包含所有的正常和異常規(guī)則??梢圆捎靡韵聨追N方法來更新規(guī)則庫(kù):
1)引入相似度的概念來表述規(guī)則之間的吻合程度。對(duì)異常檢測(cè)而言,如果檢測(cè)到的規(guī)則與正常規(guī)則庫(kù)中現(xiàn)有規(guī)則的相似度小于用戶規(guī)定的閥值,可能有異常行為。再把該規(guī)則與異常規(guī)則庫(kù)中的規(guī)則進(jìn)行匹配檢測(cè)得到相似度,若該相似度小于用戶規(guī)定的閥值,說明該規(guī)則已存在,無須加入。對(duì)誤用檢測(cè)的原理與此相似。
2)對(duì)規(guī)則庫(kù)中的每條規(guī)則設(shè)置計(jì)數(shù)器,在檢測(cè)過程中每檢測(cè)到一條相似的規(guī)則,該規(guī)則計(jì)數(shù)器加1。系統(tǒng)運(yùn)行一段時(shí)間后,檢查規(guī)則庫(kù)中的計(jì)數(shù)器情況,對(duì)于計(jì)數(shù)器值較低的規(guī)則,說明與此相對(duì)應(yīng)的行為發(fā)生頻率低,可考慮把該規(guī)則從規(guī)則庫(kù)中刪除,以減小規(guī)則庫(kù)中的規(guī)則量,提高系統(tǒng)的檢測(cè)效率。
3)根據(jù)某條規(guī)則的誤報(bào)情況,重新制定該規(guī)則的支持度和置信度,以減小誤報(bào)率。
本文描述的系統(tǒng),在實(shí)驗(yàn)室進(jìn)行了簡(jiǎn)單的測(cè)試。實(shí)驗(yàn)過程由兩個(gè)階段組成:數(shù)據(jù)收集階段和模擬攻擊階段。
收集盡量完備的正常網(wǎng)絡(luò)數(shù)據(jù),建立正常行為輪廓。數(shù)據(jù)收集工作是在局域網(wǎng)內(nèi)進(jìn)行的,因而獲得了較簡(jiǎn)潔的數(shù)據(jù)。前后歷時(shí)7小時(shí),共獲得16070條數(shù)據(jù)。上述數(shù)據(jù)進(jìn)行挖掘,產(chǎn)生合并后的關(guān)聯(lián)規(guī)則830 條、序列規(guī)則1060 條。對(duì)規(guī)則進(jìn)行分類,產(chǎn)生分類判定樹。
收集準(zhǔn)入侵?jǐn)?shù)據(jù),建立入侵檢測(cè)分類規(guī)則。將入侵規(guī)則同數(shù)據(jù)收集階段產(chǎn)生的正常行為輪廓庫(kù)規(guī)則進(jìn)行比較,結(jié)果表明具有較好的效果。其誤警率及檢測(cè)率分別為3.4% 及81.6%。
通過對(duì)的數(shù)據(jù)進(jìn)行分析,表明本文提出的結(jié)構(gòu)模型增強(qiáng)了入侵檢測(cè)的防范能力,明顯地降低漏報(bào)率和誤報(bào)率,提高了入侵檢測(cè)的精確性和速度。
[1] 鄒仕洪,闕喜戎,龔向陽,等.基于數(shù)據(jù)挖掘與CIDF 的自適應(yīng)入侵檢測(cè)系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2002(11):184-1861.
[2] 陶力.Data Mining:Efficiently Extracting Interpretable and Actionable Patterns[R].北京:計(jì)算機(jī)科學(xué)與技術(shù)系列學(xué)術(shù)報(bào)告,2008.
[3] 蔣嶷川,田盛豐.入侵檢測(cè)中對(duì)系統(tǒng)日志審計(jì)信息進(jìn)行數(shù)據(jù)挖掘的研究[J].計(jì)算機(jī)工程,2002,28 (1):159-161.
[4] 侯偉,吳晨生,楊炳儒等.一種高效的離線數(shù)據(jù)流頻繁模式挖掘算法[J].計(jì)算機(jī)科學(xué),2009(7):253-257.
TP312.08
A
1009-0134(2010)11(下)-0156-03
10.3969/j.issn.1009-0134.2010.11(下).53
2010-08-07
王雅軒(1969 -),女,副教授,研究生,研究方向?yàn)檐浖碚撆c應(yīng)用。