摘 要 論述了入侵檢測系統(tǒng)的基本概念,針對目前入侵檢測系統(tǒng)中存在的問題,提出了一個(gè)基于數(shù)據(jù)挖掘技術(shù)的入侵檢測系統(tǒng)模型。介紹了該系統(tǒng)模型的基本思想,闡述其結(jié)構(gòu)及主要功能。在系統(tǒng)的實(shí)現(xiàn)方面提出應(yīng)用新的加權(quán)關(guān)聯(lián)規(guī)則分析來改進(jìn)數(shù)據(jù)挖掘模塊的算法并應(yīng)用與入侵檢測系統(tǒng)之中。與傳統(tǒng)關(guān)聯(lián)規(guī)則入侵系統(tǒng)相比提高了挖掘入侵模式的精度和完整性,降低了誤報(bào)率的發(fā)生。
關(guān)鍵詞 入侵檢測 數(shù)據(jù)挖掘 分類 加權(quán)關(guān)聯(lián)
1 入侵檢測系統(tǒng)
入侵檢測是計(jì)算機(jī)和信息安全領(lǐng)域中的一個(gè)課題,它是一種動態(tài)的安全防護(hù)手段,能主動尋找入侵信號,給網(wǎng)絡(luò)系統(tǒng)提供對外部攻擊、內(nèi)部攻擊和誤操作的安全保護(hù)。
入侵檢測分為數(shù)據(jù)采集、數(shù)據(jù)分析和響應(yīng)三個(gè)部分。為了尋找入侵行為和痕跡,數(shù)據(jù)采集從網(wǎng)絡(luò)系統(tǒng)的多個(gè)點(diǎn)進(jìn)行,采集內(nèi)容包括系統(tǒng)日志、網(wǎng)絡(luò)數(shù)據(jù)包、重要文件以及用戶活動的狀態(tài)與行為等。數(shù)據(jù)分析則通過模式匹配、異常檢測和完整性檢測三種技術(shù)手段對采集的數(shù)據(jù)進(jìn)行分析。入侵檢測系統(tǒng)一旦發(fā)現(xiàn)入侵行為,立即會進(jìn)入響應(yīng)過程,包括日志、告警和安全控制等。
根據(jù)數(shù)據(jù)分析和入侵檢測的實(shí)現(xiàn)方式可將入侵檢測檢測的體系結(jié)構(gòu)分為集中式和分布式兩種。在實(shí)際的應(yīng)用當(dāng)中對于小規(guī)模且網(wǎng)絡(luò)流量較小的網(wǎng)絡(luò)環(huán)境,通常采用集中式的體系結(jié)構(gòu);而對于大規(guī)模網(wǎng)絡(luò)環(huán)境,通常要選擇分布式體系結(jié)構(gòu)。
2 數(shù)據(jù)挖掘與入侵檢測
2.1 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘是從大量數(shù)據(jù)中提取或“挖掘”出知識。具體說是對數(shù)據(jù)進(jìn)行處理,從而獲得隱含的、事先未知的、潛在的而又非常有用的知識,這些知識可表示為模式。數(shù)據(jù)挖掘方法有多種,其中比較常見的有關(guān)聯(lián)規(guī)則、序列模式、數(shù)據(jù)分類、聚類分析等。
2.2 數(shù)據(jù)挖掘在入侵檢測當(dāng)中的應(yīng)用
傳統(tǒng)的入侵檢測系統(tǒng)需要安全領(lǐng)域的專家首先將攻擊行為和系統(tǒng)弱點(diǎn)進(jìn)行分類,針對檢測類型選擇統(tǒng)計(jì)方法,然后人工進(jìn)行代碼輸入,建立相應(yīng)的檢測規(guī)則和模式。相對于復(fù)雜的網(wǎng)絡(luò)系統(tǒng)而臺,專家的知識隨著時(shí)間和空間變遷其局限性突顯,因此對提高入侵檢測模型的檢測有效性是不利的。
安全領(lǐng)域?qū)<彝ǔjP(guān)注已知的攻擊行為特征和系統(tǒng)弱點(diǎn)對其進(jìn)行分析研究,造成檢測模型對于未來系統(tǒng)面臨的更多的未知入侵缺乏適應(yīng)能力;而安全系統(tǒng)升級周期長,費(fèi)用高,對于提高入侵檢測模型的檢測適應(yīng)性是不利的。
由于專家規(guī)則和統(tǒng)計(jì)方法通常需要專用的軟、硬件平臺支撐,阻礙了系統(tǒng)在新環(huán)境下的重用和制定,同時(shí)造成嵌入新的檢測功能模塊困難,這對于提高入侵檢測模型的可擴(kuò)展性是不利的。
因此如何建立具有較強(qiáng)的有效性、自適應(yīng)性、可擴(kuò)展性的入侵檢測模型成為入侵檢測領(lǐng)域中重要的研究課題。利用數(shù)據(jù)挖掘在有效利用信息方面的優(yōu)勢,將入侵檢測視為一類數(shù)據(jù)分析過程。這種方法的優(yōu)點(diǎn)在于系統(tǒng)能夠從大量的審計(jì)數(shù)據(jù)中自動產(chǎn)生精確的適用的檢測模型,使入侵檢測系統(tǒng)適用于任何計(jì)算環(huán)境,該方向己成為研究的一個(gè)熱點(diǎn),屬于網(wǎng)絡(luò)安全和人工智能的交叉學(xué)科。數(shù)據(jù)挖掘中分類、關(guān)聯(lián)、序列、聚類等分析方法已得到驗(yàn)證。
數(shù)據(jù)挖掘技術(shù)的優(yōu)點(diǎn)在于:
(1)可以處理大規(guī)模的數(shù)據(jù)量;
(2)不需要用戶提供主觀的評價(jià)信息,善于發(fā)現(xiàn)容易被主觀忽視和隱藏的信息。
這兩點(diǎn)尤其適用于建立在分析審計(jì)紀(jì)錄的異常入侵檢測技術(shù)。
3 一種基于數(shù)據(jù)挖掘的入侵檢測模型
把數(shù)據(jù)挖掘應(yīng)用到入侵檢測系統(tǒng)中可以從大量的審計(jì)數(shù)據(jù)中自動產(chǎn)生簡明而準(zhǔn)確的檢測模式。數(shù)據(jù)挖掘技術(shù)非常適合從歷史行為的大量數(shù)據(jù)中進(jìn)行特征提取,所以在IDS中,可以采用數(shù)據(jù)挖掘技術(shù)建立入侵檢測知識庫。基于分類算法和關(guān)聯(lián)規(guī)則的入侵檢測模型如圖1所示。
入侵檢測模型(如圖1所示)的主要組成部分如下:
(1)傳感器:收集原始的網(wǎng)絡(luò)數(shù)據(jù)。
(2)數(shù)據(jù)接收器:存放傳感器采集的數(shù)據(jù),可以按照一定格式存放,比如按照IP / Port / Protocol等。
(3)數(shù)據(jù)預(yù)處理模塊:主要是把原始數(shù)據(jù)轉(zhuǎn)化成適合挖掘算法使用的格式,過濾和去掉噪聲。
(4)數(shù)據(jù)庫:存儲挖掘好的模式、規(guī)則和相關(guān)信息。存儲的數(shù)據(jù)可以用來在線分析和培養(yǎng),也可以用來分析較長時(shí)間內(nèi)的一系列數(shù)據(jù)之間的關(guān)系。從而來分析是否存在入侵攻擊。
(5)數(shù)據(jù)挖掘模塊:用數(shù)據(jù)挖掘算法對歷史信息和數(shù)據(jù)集數(shù)據(jù)進(jìn)行特征提取,形成新的模式,更新到知識庫中。數(shù)據(jù)挖掘模塊是這個(gè)模型的核心部分,挖掘算法的選擇和實(shí)現(xiàn)直接影響模型的檢測效率和誤報(bào)率。
(6)檢測模塊:從模式中計(jì)算新的行為輪廓,跟知識庫中的知識特征進(jìn)行比較,更新知識庫,對于符合規(guī)則的可能入侵進(jìn)行報(bào)警。
(7)報(bào)警觸發(fā)器:通知管理員異常網(wǎng)絡(luò)事件出現(xiàn)。
該入侵檢測模型的工作原理是:傳感器負(fù)責(zé)從網(wǎng)絡(luò)中采集數(shù)據(jù)保存到原始數(shù)據(jù)庫中,然后進(jìn)行數(shù)據(jù)預(yù)處理,形成審計(jì)數(shù)據(jù)。數(shù)據(jù)挖掘模塊用關(guān)聯(lián)規(guī)則和分類算法對審計(jì)數(shù)據(jù)進(jìn)行挖掘,提取出特征和模式,保存到數(shù)據(jù)庫中。檢測模塊負(fù)責(zé)從數(shù)據(jù)庫中讀取規(guī)則來進(jìn)行入侵判定,同時(shí)對更新的規(guī)則進(jìn)行入庫處理。對于入侵攻擊則提交給報(bào)警觸發(fā)器來給管理人員報(bào)警。
這種基于數(shù)據(jù)挖掘的入侵檢測系統(tǒng)的優(yōu)點(diǎn)有以下幾個(gè)。
(1)自適應(yīng)能力強(qiáng):由于不是基于預(yù)定義的數(shù)據(jù)庫,因此自適應(yīng)能力強(qiáng),可以檢測一些攻擊的新變種。
(2)智能性好,自動化程度比較高:數(shù)據(jù)挖掘方法能夠自動從數(shù)據(jù)中提取行為模式,減輕了人員的工作負(fù)擔(dān),提高了檢測的準(zhǔn)確性。
(3)檢測效率高:數(shù)據(jù)挖掘方法可以自動對數(shù)據(jù)進(jìn)行預(yù)處理,減少了數(shù)據(jù)處理量,提高了檢測效率。
4 數(shù)據(jù)挖掘模塊算法的實(shí)現(xiàn)
數(shù)據(jù)挖掘可能要面對的是關(guān)系非常復(fù)雜的全局模式的知識發(fā)現(xiàn),但核心處理階段是幾種數(shù)據(jù)挖掘方法的綜合使用,由于關(guān)聯(lián)規(guī)則可以挖掘橫向列集之間的關(guān)系,而序列分析方法可以挖掘縱向行為之間的關(guān)系,因此關(guān)聯(lián)規(guī)則和序列分析方法可以配合使用以挖掘出更全面、更精確的結(jié)果。我們要在這個(gè)基礎(chǔ)上將一種新的數(shù)據(jù)挖掘方法即加權(quán)規(guī)則法應(yīng)用于異常入侵檢測之中實(shí)現(xiàn)數(shù)據(jù)挖掘模塊的功能。
在Windows 2000環(huán)境下,采用Oracle數(shù)據(jù)庫系統(tǒng),在網(wǎng)絡(luò)中心服務(wù)器上獲得的一些數(shù)據(jù)來實(shí)現(xiàn)加權(quán)關(guān)聯(lián)規(guī)則模式的入侵檢測。
1. 數(shù)據(jù)預(yù)處理
入侵檢測系統(tǒng)關(guān)注的重點(diǎn)通常也在于防范來自系統(tǒng)外部的攻擊行為。然而,許多造成嚴(yán)重后果的系統(tǒng)入侵正是由內(nèi)部攻擊者發(fā)起的,因此我們也對基于內(nèi)部用戶行為模式的異常檢測進(jìn)行了相應(yīng)的試驗(yàn)。在實(shí)驗(yàn)中為了能夠適合數(shù)據(jù)挖掘的要求,首先對原始采集到的數(shù)據(jù)進(jìn)行預(yù)處理,抽取出一些重要的屬性,并把重要的命令和參數(shù)轉(zhuǎn)化成字母,如表1所示。
2. 算法描述
為了避免產(chǎn)生大量無用的規(guī)則,本文使用改進(jìn)的Apriori算法找出頻繁項(xiàng)目集并產(chǎn)生加權(quán)關(guān)聯(lián)規(guī)則。整個(gè)算法分為兩步:
(1)識別所有包含軸屬性的頻繁項(xiàng)目集,即所有支持度不低于用戶規(guī)定的最小支持度并包含有用戶指定的關(guān)鍵屬性的項(xiàng)目集;
(2)從第一步得到的頻繁集中構(gòu)造可信度不低于用戶規(guī)定的最小可信度1值的規(guī)則。
3. 結(jié)果顯示
(1)采用關(guān)聯(lián)規(guī)則挖掘算法(在上面算法中個(gè)項(xiàng)目集權(quán)重都相等為1.0時(shí))
數(shù)據(jù)根據(jù)源地址、目的地址被分組,設(shè)最小支持度為0.4,最小置信度為0.7,可得到如表2所示結(jié)果。
顯然,命令及其參數(shù)a,b自06.9.5-06.9.11以后在數(shù)據(jù)庫中很少出現(xiàn),即a→c、b→a、c→a是用戶不感興趣的規(guī)則。同時(shí)觀察到集合{d,e,f}在06.8.29-06.9.4后在數(shù)據(jù)庫中出現(xiàn)的頻率很高,這或許隱藏著某些規(guī)則,暗示新的攻擊技術(shù)的出現(xiàn)。
為了發(fā)掘出所有這些用戶感興趣規(guī)則,首先采用降低最小支持度與最小置信度為0.3和0.6,結(jié)果僅僅得到兩個(gè)無用規(guī)則a→b和d→a,這說明僅依靠降低閥值無法有效地解決該問題。
(2)采用加權(quán)關(guān)聯(lián)規(guī)則挖掘算法
利用表1中的數(shù)據(jù),依上述方法把審計(jì)數(shù)據(jù)分為10個(gè)時(shí)間間隔,并且設(shè)置第1行權(quán)重為0.1第二行權(quán)重為0.2……,將得到不同規(guī)則。
從表3可以看出與沒有使用加權(quán)規(guī)則的結(jié)果相比發(fā)現(xiàn)包含a、b的規(guī)則消失了,若把最小支持度和最小置信度分別降為0.3和0.6,將得到有趣的新規(guī)則為c→f、d→f、d∧e→f、d∧f→e。
以上分析顯示,把加權(quán)關(guān)聯(lián)規(guī)則技術(shù)引入入侵檢測系統(tǒng)可更精確地表示入侵模式。這是由于考慮了審計(jì)數(shù)據(jù)的時(shí)間效應(yīng)。同時(shí),使用加權(quán)關(guān)聯(lián)規(guī)則可從各種各樣的審計(jì)數(shù)據(jù)中更加容易、有效地發(fā)現(xiàn)有用信息。因此,加權(quán)關(guān)聯(lián)規(guī)則技術(shù)比關(guān)聯(lián)規(guī)則技術(shù)更加適合用來構(gòu)建入侵檢測系統(tǒng)的入侵模塊數(shù)據(jù)庫。
5 結(jié)論
由于已有現(xiàn)成的數(shù)據(jù)挖掘算法可以利用,基于數(shù)據(jù)挖掘的入侵檢側(cè)技術(shù)得到了飛速的發(fā)展。這種技術(shù)的優(yōu)點(diǎn)是可以處理大量數(shù)據(jù)的情況,但是它也存在著一些問題。比如,尋找更加高效的數(shù)據(jù)挖掘算法;如何提高入侵檢測的正確率;如何更好地控制異常檢測中的誤警率等等。這些也都是今后的研究方向,都需要大量的研究和實(shí)驗(yàn)以開發(fā)出更加高效的數(shù)據(jù)挖掘算法和合適的體系結(jié)構(gòu)。另外在基于加權(quán)關(guān)聯(lián)規(guī)則的入侵檢測系統(tǒng)中,權(quán)重的選擇是一個(gè)重要問題。為此,今后的研究工作是如何在入侵檢測中更好地選擇合適權(quán)重的問題。
由于本網(wǎng)頁不支持圖片與公式效果,如有需要請參閱雜志。
作者:施偉 劉建輝 來源:中國新通信(原《中國數(shù)據(jù)通信》4月)