一種新的基于數(shù)據(jù)挖掘技術(shù)的異常入侵檢測(cè)系統(tǒng)研
入侵檢測(cè)系統(tǒng)IDS(intrusion detection system)是用戶計(jì)算機(jī)主動(dòng)安全防護(hù)的一種措施,它用于檢測(cè)未經(jīng)用戶授權(quán)直接進(jìn)行計(jì)算機(jī)信息訪問(wèn)的行為,它從系統(tǒng)內(nèi)部和各種網(wǎng)絡(luò)資源中主動(dòng)采集信息,從中分析可能的異常入侵。根據(jù)入侵檢測(cè)方法,IDS分為異常檢測(cè)系統(tǒng)和誤用檢測(cè)系統(tǒng)兩大類。誤用檢測(cè)系統(tǒng)只能檢測(cè)出已知特征模式的攻擊,對(duì)未知特征模式的攻擊無(wú)法檢測(cè)。而異常檢測(cè)系統(tǒng)采用將系統(tǒng)當(dāng)前的活動(dòng)與過(guò)去行為模型進(jìn)行比較的方法,能夠有效地對(duì)新的、未知的攻擊進(jìn)行檢測(cè)[1-3]。參考文獻(xiàn)[4] 提出了基于強(qiáng)規(guī)則和弱規(guī)則的關(guān)聯(lián)規(guī)則挖掘方法來(lái)檢測(cè)異常操作較少和分布時(shí)間長(zhǎng)等不易的網(wǎng)絡(luò)攻擊。同時(shí)建立以各屬性為節(jié)點(diǎn)的貝葉斯網(wǎng)絡(luò)作為異常判別器,進(jìn)一步判別關(guān)聯(lián)規(guī)則挖掘中發(fā)現(xiàn)的可疑行為,提高了系統(tǒng)檢測(cè)的準(zhǔn)確率。但是在數(shù)據(jù)訓(xùn)練階段,根據(jù)數(shù)據(jù)挖掘的要求,需要對(duì)原始的無(wú)攻擊的純凈數(shù)據(jù)信息進(jìn)行數(shù)據(jù)預(yù)處理,訓(xùn)練成適合數(shù)據(jù)挖掘的數(shù)據(jù)記錄,而數(shù)據(jù)信息抓取過(guò)程中受到網(wǎng)絡(luò)實(shí)時(shí)更新等因素的影響無(wú)法避免數(shù)據(jù)噪音,進(jìn)而影響數(shù)據(jù)信息本身的安全性,依此數(shù)據(jù)信息訓(xùn)練的數(shù)據(jù)項(xiàng)集本身也就存在了安全隱患。參考文獻(xiàn)[5]采用變長(zhǎng)序列模式匹配算法對(duì)程序歷史行為和當(dāng)前行為進(jìn)行比較,聯(lián)合使用多個(gè)窗長(zhǎng)度和判決門限對(duì)程序行為進(jìn)行判決,提高了檢測(cè)的準(zhǔn)確率和靈活性。但由于網(wǎng)絡(luò)數(shù)據(jù)信息量不斷膨脹,多窗口長(zhǎng)度和判決門限會(huì)增加計(jì)算機(jī)的運(yùn)算量,造成數(shù)據(jù)擁塞,網(wǎng)絡(luò)負(fù)載加大。參考文獻(xiàn)[6]提出了一種基于時(shí)態(tài)知識(shí)模型和可變滑動(dòng)窗口的實(shí)時(shí)模式提取算法,并在此基礎(chǔ)上,實(shí)現(xiàn)了基于規(guī)則的、層次化的智能入侵檢測(cè)原型系統(tǒng)。但在匹配算法中需要逐一遍歷,對(duì)于復(fù)雜數(shù)據(jù)信息實(shí)時(shí)性難以體現(xiàn)。參考文獻(xiàn)[7]提出了一種具有自主學(xué)習(xí)、自主完善功能的入侵監(jiān)測(cè)模型,可發(fā)現(xiàn)已知和未知的異常入侵活動(dòng)。但該模型中評(píng)估指標(biāo)不具備完善性,對(duì)短時(shí)間內(nèi)正常進(jìn)程記錄監(jiān)管有限,從而更新的規(guī)則庫(kù)存在安全隱患。基于以上問(wèn)題,本文提出了一種新的基于數(shù)據(jù)挖掘技術(shù)的異常入侵檢測(cè)系統(tǒng)ANEIDSDM(A New Exception Intrusion Detection System based on Data Mining)。
1 ANEIDSDM模型概述
在ANEIDSDM模型中,數(shù)據(jù)信息E是否異常,由數(shù)據(jù)評(píng)估W決定。只有當(dāng)數(shù)據(jù)評(píng)估通過(guò)數(shù)據(jù)信息異常檢測(cè),滿足相似度、支持度和置信區(qū)閾值時(shí),數(shù)據(jù)信息E才被認(rèn)為是正常的數(shù)據(jù)信息,否則為異常。
數(shù)據(jù)信息是分散地存儲(chǔ)于計(jì)算機(jī)和傳播于網(wǎng)絡(luò)中的,對(duì)于數(shù)據(jù)的采集是基于一定條件的,有基于主機(jī)的信息采集,也有基于網(wǎng)絡(luò)的信息采集和混合型的數(shù)據(jù)信息采集等[8]。當(dāng)數(shù)據(jù)信息采集完成后,會(huì)經(jīng)過(guò)數(shù)據(jù)預(yù)處理,形成數(shù)據(jù)項(xiàng)集S,對(duì)S分類產(chǎn)生高頻繁集和低頻繁集。對(duì)于高頻繁數(shù)據(jù)項(xiàng)集進(jìn)行模式分析,形成數(shù)據(jù)模式集O。每一種模式集都對(duì)應(yīng)一種數(shù)據(jù)規(guī)則,對(duì)數(shù)據(jù)模式集的數(shù)據(jù)分析處理過(guò)程就是數(shù)據(jù)挖掘規(guī)則過(guò)程,數(shù)據(jù)規(guī)則集Q形成后,為了便于檢測(cè),對(duì)其進(jìn)行分類分析二次數(shù)據(jù)挖掘,形成分類規(guī)則集,最終形成規(guī)則庫(kù)K。經(jīng)過(guò)多次訓(xùn)練后,數(shù)據(jù)采集的規(guī)則庫(kù)具有一定的記憶,當(dāng)數(shù)據(jù)進(jìn)行抓取時(shí)結(jié)合記憶庫(kù)和規(guī)則庫(kù)的雙重考核,數(shù)據(jù)信息更加安全可信。
數(shù)據(jù)挖掘過(guò)程中對(duì)數(shù)據(jù)項(xiàng)集分析產(chǎn)生的數(shù)據(jù)模式可能有用,也可能是無(wú)關(guān)的。所以為了節(jié)約計(jì)算機(jī)存儲(chǔ)空間和數(shù)據(jù)挖掘速度,采取以某一主屬性為特征屬性的方式對(duì)數(shù)據(jù)信息E進(jìn)行挖掘。當(dāng)待測(cè)數(shù)據(jù)信息E進(jìn)行攻擊時(shí),啟動(dòng)檢測(cè)系統(tǒng),快速對(duì)其數(shù)據(jù)信息進(jìn)行分析,形成數(shù)據(jù)規(guī)則集V,對(duì)規(guī)則集V實(shí)行分類匹配,對(duì)比相似度,搜索與之相對(duì)應(yīng)或相類似的規(guī)則庫(kù)對(duì)其規(guī)則集進(jìn)行檢驗(yàn)。若異常,則實(shí)行預(yù)警,否則以正常信息對(duì)待。當(dāng)數(shù)據(jù)信息龐雜時(shí),根據(jù)分類規(guī)則庫(kù),可快捷對(duì)數(shù)據(jù)規(guī)則集實(shí)行查找匹配,快速對(duì)數(shù)據(jù)信息進(jìn)行檢測(cè)。
數(shù)據(jù)檢測(cè)時(shí)結(jié)合在線滑動(dòng)窗口T,不僅對(duì)原始獲取數(shù)據(jù)信息進(jìn)行實(shí)時(shí)檢測(cè),而且對(duì)當(dāng)前由用戶操作所引起的原始數(shù)據(jù)部分信息丟失、更改等現(xiàn)象具有一定的處理應(yīng)變能力。當(dāng)數(shù)據(jù)評(píng)估W完成后,評(píng)估結(jié)果存入決策列表L中,以供用戶決策。
其思想有以下特點(diǎn):(1)數(shù)據(jù)信息的采集結(jié)合主屬性產(chǎn)生高頻和低頻數(shù)據(jù)項(xiàng)集,減少了無(wú)關(guān)信息的處理過(guò)程。(2)采取關(guān)聯(lián)分析和分類分析二次挖掘,數(shù)據(jù)處理速度和數(shù)據(jù)挖掘質(zhì)量有明顯的提高。(3)在線檢測(cè)數(shù)據(jù)記錄匹配,實(shí)時(shí)性更高。(4)引入相似度匹配檢測(cè)思想,實(shí)現(xiàn)快速數(shù)據(jù)評(píng)估。
2 相關(guān)知識(shí)與定義
2.1數(shù)據(jù)挖掘
數(shù)據(jù)挖掘(Data Mining)是指從大量數(shù)據(jù)信息中發(fā)現(xiàn)數(shù)據(jù)間的潛在規(guī)律,進(jìn)而提取人們感興趣的和有用的知識(shí)的方法和技術(shù),這些知識(shí)具有隱含性、未知性、異常性,但又是潛在的對(duì)系統(tǒng)安全檢測(cè)有用的信息[9]。數(shù)據(jù)挖掘過(guò)程一般由三個(gè)階段組成:數(shù)據(jù)準(zhǔn)備階段(包括數(shù)據(jù)清理與集成、數(shù)據(jù)選擇與變換)、數(shù)據(jù)挖掘階段、評(píng)估與表示階段(結(jié)果表達(dá)與解釋)。數(shù)據(jù)挖掘的模式有關(guān)聯(lián)模式、分類模式、回歸模式、時(shí)間序列模式、聚類模式和序列模式六種[10]。與數(shù)據(jù)挖掘的模式相對(duì)應(yīng)的數(shù)據(jù)挖掘算法有:關(guān)聯(lián)分析算法、數(shù)據(jù)分類算法、序列分析算法和聚類分析算法等。目前,應(yīng)用于入侵檢測(cè)領(lǐng)域的數(shù)據(jù)挖掘算法主要是關(guān)聯(lián)分析算法、數(shù)據(jù)分類算法和序列分析算法。
(1)數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理模塊處理原始數(shù)據(jù)包,抽取對(duì)應(yīng)的主特征屬性組成數(shù)據(jù)信息集,提供給數(shù)據(jù)挖掘模塊。由于數(shù)據(jù)連接過(guò)程需要傳送許多數(shù)據(jù)包,而這些數(shù)據(jù)包的基本屬性很多是重復(fù)的,所以對(duì)于TCP連接,從連接建立到連接終止過(guò)程中所有數(shù)據(jù)包的傳送抽象為一個(gè)連接事件,而對(duì)每一個(gè)連接事件建立一個(gè)與之相對(duì)應(yīng)的數(shù)據(jù)項(xiàng)集。對(duì)無(wú)連接的UDP,可簡(jiǎn)單地將每一個(gè)數(shù)據(jù)包抽象成一個(gè)連接事件。
(2)關(guān)聯(lián)規(guī)則挖掘
關(guān)聯(lián)規(guī)則是指對(duì)數(shù)據(jù)項(xiàng)集中各種數(shù)據(jù)模式的有代表性的數(shù)據(jù)之間知識(shí)規(guī)律的規(guī)則描述。在入侵檢測(cè)系統(tǒng)中,設(shè)定一個(gè)最小支持度和一個(gè)最小置信度來(lái)度量關(guān)聯(lián)規(guī)則的相關(guān)性,從已知的數(shù)據(jù)信息中產(chǎn)生關(guān)聯(lián)規(guī)則,保證其支持度和置信度大于用戶預(yù)先設(shè)定的最小支持度和最小置信度閾值。其過(guò)程為:①特征抽取與數(shù)據(jù)預(yù)處理。數(shù)據(jù)信息被采集后形成數(shù)據(jù)項(xiàng)集,每一個(gè)數(shù)據(jù)項(xiàng)集以一個(gè)主屬性為參考,對(duì)無(wú)關(guān)數(shù)據(jù)項(xiàng)集進(jìn)行處理。②關(guān)聯(lián)規(guī)則挖掘分析。對(duì)數(shù)據(jù)模式中關(guān)聯(lián)規(guī)則的數(shù)據(jù)進(jìn)行規(guī)則挖掘。③檢測(cè)入侵。將新產(chǎn)生的關(guān)聯(lián)規(guī)則添加到關(guān)聯(lián)規(guī)則庫(kù)中去,然后將用戶行為與關(guān)聯(lián)規(guī)則庫(kù)中的規(guī)則匹配來(lái)判斷是否入侵。常見的算法有Apriori算法和AprioriTid算法。
(3)頻度分析
頻度分析是指在一定時(shí)間窗口事件發(fā)生的頻度,它有高頻和低頻繁兩種[11]。①高頻挖掘:即數(shù)據(jù)項(xiàng)集的屬性集大于一定支持度和置信度,如DDOS攻擊,在高頻繁挖掘時(shí)就能檢測(cè)出這類攻擊。②低頻繁挖掘:即數(shù)據(jù)項(xiàng)集的屬性集支持度低于一定閾值而置信度大于一定閾值,如慢掃描過(guò)程在單位時(shí)間內(nèi)異常掃描較少,假如只檢查高頻數(shù)據(jù)項(xiàng)集,就會(huì)漏掉這類模式的攻擊。
(4)數(shù)據(jù)分類分析
數(shù)據(jù)分類的目的是提取數(shù)據(jù)庫(kù)中數(shù)據(jù)項(xiàng)的特征屬性,生成分類模型,把數(shù)據(jù)庫(kù)中的數(shù)據(jù)項(xiàng)映射到預(yù)先定義的類別中的一個(gè),異常入侵檢測(cè)時(shí)它可以用數(shù)據(jù)規(guī)則集的形式表示[12]。數(shù)據(jù)分類的步驟如下:①訓(xùn)練數(shù)據(jù)項(xiàng)集,將待測(cè)數(shù)據(jù)信息訓(xùn)練成數(shù)據(jù)規(guī)則集。②分析數(shù)據(jù)規(guī)則集,提取主特征屬性。③根據(jù)標(biāo)準(zhǔn)數(shù)據(jù)規(guī)則庫(kù)中數(shù)據(jù)規(guī)則集對(duì)待測(cè)數(shù)據(jù)規(guī)則集進(jìn)行分類。常用的分類算法有RIPPER、m3、C4.5、Near-neighbor和神經(jīng)網(wǎng)絡(luò)等。
2.2 基礎(chǔ)定義
定義1 滑動(dòng)窗口。在t時(shí)間內(nèi),數(shù)據(jù)匹配檢測(cè)的范圍。 設(shè)開始時(shí)間為t=nt0,則滑動(dòng)窗口T的檢測(cè)范圍為t=T+nt0。其中,t0為步長(zhǎng),T為窗口大小,t為時(shí)間。一般T是固定值[13],為用戶默認(rèn),專家可根據(jù)系統(tǒng)安全等級(jí)設(shè)置其值大小。
定義2 相似度。數(shù)據(jù)挖掘規(guī)則庫(kù)與系統(tǒng)檢測(cè)匹配規(guī)則庫(kù)的相似性度量值。
定義3 數(shù)據(jù)評(píng)估。對(duì)數(shù)據(jù)規(guī)則是否符合系統(tǒng)安全的衡量。
設(shè)數(shù)據(jù)評(píng)估為W,則W=[正常,異常],其評(píng)估過(guò)程為在滑動(dòng)窗口T內(nèi)對(duì)規(guī)則庫(kù)Ki的相似匹配和檢測(cè)匹配。
2.3 ANEIDSDM定義
本模型由一個(gè)10元組{E,S,O,Q,P,K,W,T,M,L}來(lái)表示。其中E表示數(shù)據(jù)信息,包含基于網(wǎng)絡(luò)流量,基于主機(jī)和混合型的數(shù)據(jù)信息。當(dāng)獲取數(shù)據(jù)信息E后,對(duì)其形成主屬性為采集標(biāo)準(zhǔn)的數(shù)據(jù)項(xiàng)集S,如在時(shí)間、方向、端口號(hào)、主機(jī)IP地址等屬性中,以目的主機(jī)IP地址為主屬性,采集的所有數(shù)據(jù)記錄經(jīng)過(guò)數(shù)據(jù)去噪、預(yù)處理后形成數(shù)據(jù)項(xiàng)集。數(shù)據(jù)項(xiàng)集S經(jīng)過(guò)數(shù)據(jù)模式分析后形成數(shù)據(jù)模式集,用O來(lái)表示。每種數(shù)據(jù)模式都對(duì)應(yīng)一種數(shù)據(jù)規(guī)則算法,經(jīng)過(guò)數(shù)據(jù)挖掘,形成數(shù)據(jù)規(guī)則集,用Q來(lái)表示。對(duì)數(shù)據(jù)挖掘的規(guī)則集進(jìn)行分類分析,形成數(shù)據(jù)分類集,用P來(lái)表示。數(shù)據(jù)挖掘的結(jié)果最終形成規(guī)則庫(kù)K。數(shù)據(jù)挖掘完成后需要對(duì)數(shù)據(jù)挖掘結(jié)果進(jìn)行數(shù)據(jù)評(píng)估,用W來(lái)表示。在數(shù)據(jù)評(píng)估過(guò)程中引入滑動(dòng)窗口T和相似度M,數(shù)據(jù)評(píng)估結(jié)束后結(jié)果添加在決策列表L,提供給用戶。用戶響應(yīng)后,規(guī)則庫(kù)K自動(dòng)更新。
評(píng)論