一種基于關(guān)聯(lián)規(guī)則分類的網(wǎng)絡(luò)入侵檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001] 本方法涉及網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)領(lǐng)域,尤其涉及到一種基于關(guān)聯(lián)規(guī)則分類的網(wǎng)絡(luò)入 侵檢測(cè)方法。
【背景技術(shù)】
[0002] 入侵檢測(cè)通過(guò)收集和分析網(wǎng)絡(luò)行為、安全日志、審計(jì)數(shù)據(jù)、其它網(wǎng)絡(luò)上可以獲得的 信息以及計(jì)算機(jī)系統(tǒng)中若干關(guān)鍵點(diǎn)的信息,檢查網(wǎng)絡(luò)或系統(tǒng)中是否存在違反安全策略的行 為和被攻擊的跡象。它對(duì)于網(wǎng)絡(luò)系統(tǒng)安全發(fā)揮著非常重要的作用,是防火墻的重要補(bǔ)充,入 侵檢測(cè)能夠在不影響網(wǎng)絡(luò)系統(tǒng)性能指標(biāo)的情況下完成對(duì)網(wǎng)絡(luò)系統(tǒng)的保護(hù)。
[0003]將數(shù)據(jù)挖掘技術(shù)應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)已成為一個(gè)研究的熱點(diǎn),國(guó)內(nèi)外已出現(xiàn)不 少這方面的研究成果,但仍存在如下一些不足和難點(diǎn):多數(shù)數(shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)集中 于異常檢測(cè)或誤用檢測(cè),而異常檢測(cè)具有較高的誤報(bào)率,誤用檢測(cè)具有較高的漏報(bào)率;目 前,多數(shù)系統(tǒng)屬于準(zhǔn)實(shí)時(shí)系統(tǒng),不能及時(shí)對(duì)入侵做出檢測(cè)并響應(yīng);面對(duì)不同的網(wǎng)絡(luò)環(huán)境, 以及不斷改變的入侵類型,當(dāng)前的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)缺乏自適應(yīng)性。
[0004]將數(shù)據(jù)挖掘技術(shù)中的Apriori算法應(yīng)用到入侵檢測(cè)領(lǐng)域具有很強(qiáng)的理論基礎(chǔ),在 技術(shù)上具有可行性。Apriori算法提取的關(guān)聯(lián)規(guī)則由頻繁項(xiàng)集生成,規(guī)則具有很強(qiáng)的置信 度,分類結(jié)果精確度較高,很好地避免了異常檢測(cè)高誤報(bào)率和誤用檢測(cè)高漏報(bào)率的缺陷。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對(duì)傳統(tǒng)入侵檢測(cè)系統(tǒng)的缺陷,提出了一種基于關(guān)聯(lián)規(guī)則分類的網(wǎng)絡(luò)入侵 檢測(cè)方法,通過(guò)采用Apriori-index算法來(lái)處理大量網(wǎng)絡(luò)連接數(shù)據(jù),提高入侵檢測(cè)的及時(shí) 性和準(zhǔn)確性。通過(guò)在10%KDDCup99實(shí)驗(yàn)數(shù)據(jù)集上測(cè)試,對(duì)比其他入侵檢測(cè)算法,該算法的 整體檢測(cè)效果較優(yōu)。
[0006] 本發(fā)明技術(shù)方案:
[0007] -種基于關(guān)聯(lián)規(guī)則分類的網(wǎng)絡(luò)入侵檢測(cè)方法,該方法包括以下步驟:
[0008] 第1步、對(duì)國(guó)際標(biāo)準(zhǔn)數(shù)據(jù)集10%KDDCup99預(yù)處理,將預(yù)處理后的數(shù)據(jù)集分成訓(xùn)練 集和測(cè)試集兩部分?jǐn)?shù)據(jù)。
[0009] 第2步、采用改進(jìn)的Apriori算法(Apriori-index)對(duì)選取的訓(xùn)練集中的網(wǎng)絡(luò)連 接數(shù)據(jù)進(jìn)行訓(xùn)練,提取到關(guān)聯(lián)規(guī)則,將關(guān)聯(lián)規(guī)則存放到關(guān)聯(lián)規(guī)則庫(kù)中,同時(shí)將關(guān)聯(lián)規(guī)則庫(kù)中 的關(guān)聯(lián)規(guī)則展示出來(lái)。
[0010] 第3步、測(cè)試集中的每條網(wǎng)絡(luò)連接數(shù)據(jù)逐條匹配關(guān)聯(lián)規(guī)則庫(kù)中關(guān)聯(lián)規(guī)則,根據(jù)不 同關(guān)聯(lián)規(guī)則的條件長(zhǎng)度和網(wǎng)絡(luò)連接類型分別計(jì)算權(quán)值,找出最大權(quán)值所對(duì)應(yīng)的網(wǎng)絡(luò)連接類 型即為最終分類得到的結(jié)果。
[0011] 第4步、保存第3步中分類結(jié)果,將上述分類過(guò)程和分類得到的結(jié)果展示出來(lái);同 時(shí)為保證該方法良好的自學(xué)習(xí)特性,測(cè)試集的數(shù)據(jù)在根據(jù)關(guān)聯(lián)規(guī)則分類得到具體的網(wǎng)絡(luò)連 接類型后,訓(xùn)練集數(shù)據(jù)連同對(duì)應(yīng)的網(wǎng)絡(luò)連接類型重新加入到訓(xùn)練集數(shù)據(jù)中,為后續(xù)關(guān)聯(lián)規(guī) 則提取提供新的訓(xùn)練集數(shù)據(jù)源,保證關(guān)聯(lián)規(guī)則的動(dòng)態(tài)更新。
[0012] 第1步中所述的數(shù)據(jù)集預(yù)處理包括以下步驟:
[0013] 將關(guān)聯(lián)規(guī)則算法應(yīng)用到入侵檢測(cè)方法中,主要是一種以數(shù)據(jù)為中心的觀點(diǎn),對(duì)于 網(wǎng)絡(luò)連接數(shù)據(jù)的采集處理不在本發(fā)明的考慮范圍之內(nèi)。本發(fā)明中以國(guó)際標(biāo)準(zhǔn)網(wǎng)絡(luò)連接數(shù)據(jù) 集10%KDDCup99為例,以數(shù)據(jù)挖掘的思想為理論依據(jù)對(duì)入侵網(wǎng)絡(luò)連接進(jìn)行分類。
[0014] 第1. 1步、為每列數(shù)據(jù)添加位置參數(shù)。因?yàn)?0%KDDCup99數(shù)據(jù)集中有大量相同 的數(shù)據(jù),比如,"0"和"1",數(shù)據(jù)集中處于不同列的數(shù)據(jù)有不同的含義,而原始的Apriori算 法在處理數(shù)據(jù)集中不同列的相同數(shù)據(jù)項(xiàng)時(shí)將他們視為同樣的數(shù)據(jù),因此直接使用原始的 Apriori算法處理數(shù)據(jù)集會(huì)影響提取規(guī)則速度和分類結(jié)果的準(zhǔn)確度。為避免出現(xiàn)以上問(wèn)題, 需要在數(shù)據(jù)預(yù)處理階段為每條網(wǎng)絡(luò)連接數(shù)據(jù)的每個(gè)數(shù)據(jù)項(xiàng)添加位置參數(shù)。
[0015] 第1. 2步、采用交叉驗(yàn)證的方法選取經(jīng)過(guò)第1. 1步預(yù)處理后的10%KDDCup99數(shù) 據(jù)集中60%的連接數(shù)據(jù)作為訓(xùn)練集,剩余的40%的連接數(shù)據(jù)作為測(cè)試集。由于改進(jìn)后的 Apriori算法能夠處理字符類型數(shù)據(jù),同時(shí)數(shù)值類型的數(shù)據(jù)也能夠視為字符類型數(shù)據(jù),所以 無(wú)需對(duì)網(wǎng)絡(luò)連接數(shù)據(jù)中的字符類型數(shù)據(jù)進(jìn)行數(shù)值化和歸一化處理。
[0016] 第2步所述采用Apriori-index算法提取關(guān)聯(lián)規(guī)則需要經(jīng)過(guò)以下步驟:
[0017] 第2. 1步、初始化最小支持度閾值Min_Support,最小置信度閾值Min_ Confidence。通過(guò)查閱文獻(xiàn)資料和實(shí)驗(yàn)驗(yàn)證,最小支持度閾值和最小置信度閾值分別設(shè)定 為25%和78. 5%可以獲得較高的分類準(zhǔn)確度。初始化最小支持度閾值Min_Support= 25%,最小置信度閾值Min_Confidence= 78. 5%〇
[0018] 第2. 2步、找出所有的頻繁項(xiàng)集。遍歷訓(xùn)練集中的所有的網(wǎng)絡(luò)連接數(shù)據(jù),統(tǒng)計(jì)每個(gè) 屬性值對(duì)應(yīng)的連梓類型及其出現(xiàn)的頗度,形成候選項(xiàng)集合Q。在此基礎(chǔ)上,根據(jù)支持度公式
[0019]
[0020] 計(jì)算支持度。其中Occur(X)表示訓(xùn)練集中所有網(wǎng)絡(luò)連接數(shù)據(jù)中包含頻繁項(xiàng){X} 的數(shù)量,Count(D)表示訓(xùn)練集{D}中所有網(wǎng)絡(luò)連接的數(shù)量。在候選項(xiàng)集合(^中刪除支持 度低于最小支持度閾值Min_Support的候選項(xiàng),剩余的候選項(xiàng)形成頻繁1-項(xiàng)集L1;然后對(duì) 于每種網(wǎng)絡(luò)連接類型,連接Q中的不同元素構(gòu)成候選項(xiàng)集合C2,再次遍歷訓(xùn)練集數(shù)據(jù),根據(jù) 支持度公式計(jì)算C2中的每個(gè)候選項(xiàng)的支持度,刪除候選項(xiàng)集合C2中支持度低于最小支持度 閾值Min_Support的候選項(xiàng),剩余候選項(xiàng)形成頻繁2-項(xiàng)集L2;按照網(wǎng)絡(luò)連接類型,再連接 L2中的不同元素構(gòu)成候選項(xiàng)集合C3,再次遍歷訓(xùn)練集數(shù)據(jù),計(jì)算(:3中的每個(gè)候選項(xiàng)的支持 度,刪除支持度低于最小支持度閾值Min_Support的候選項(xiàng),剩余的候選項(xiàng)形成頻繁3-項(xiàng) 集L3;重復(fù)進(jìn)行以上的遍歷、刪除和連接的步驟,直到?jīng)]有新的候選項(xiàng)產(chǎn)生,所有的頻繁項(xiàng) 集1,L2, ...,Ln)都已搜尋得到。其中,連接步驟和刪除步驟分別嚴(yán)格滿足連接定理和頻 繁子集定理,即:若兩個(gè)(k-l)_項(xiàng)集的前(k-2)個(gè)項(xiàng)相同,而最后一個(gè)項(xiàng)不同,則證明它 們可連接得到k-項(xiàng)集;若k-項(xiàng)集任意一個(gè)子集不是頻繁項(xiàng)集,則該k-項(xiàng)集也不是頻繁項(xiàng) 集。
[0021] 第2.3步、由頻繁項(xiàng)集產(chǎn)生關(guān)聯(lián)規(guī)則。對(duì)于第2.2步中得到的頻繁項(xiàng)集 (LL2,…,Ln),頻繁項(xiàng)集Q中每個(gè)頻繁項(xiàng)1i中的連接類型用t,表示。如果(1「t,) -t, 的置信度大于最小置信度閾值Min_Confidence,則輸出(li-tj) -tj。置信度的計(jì)算根據(jù) 置信度計(jì)算公式:
[0022]
[0023] 其中Support(AUB)和Support(A)分別表示頻繁項(xiàng){AUB}和{A}的支持度; 即置信度公式可化為:
[0024]
[0025] 找到的所有滿足要求的(1ft,) -t,,即為關(guān)聯(lián)規(guī)則。
[0026] 第2. 4步、將第2. 3步中得到的關(guān)聯(lián)規(guī)則添加到關(guān)聯(lián)規(guī)則庫(kù)中,作為對(duì)測(cè)試集中未 知類型的網(wǎng)絡(luò)連接數(shù)據(jù)測(cè)試分類的判斷依據(jù)。
[0027] 第2. 5步、將關(guān)聯(lián)規(guī)則庫(kù)中的關(guān)聯(lián)規(guī)則展示出來(lái)。10%KDDCup99數(shù)據(jù)集的數(shù)據(jù)量 較大,經(jīng)過(guò)Apriori-index算法訓(xùn)練得到的關(guān)聯(lián)規(guī)則非常多,關(guān)聯(lián)規(guī)則在頁(yè)面內(nèi)顯示會(huì)比 較混亂,所以關(guān)聯(lián)規(guī)則展示頁(yè)面進(jìn)行適當(dāng)?shù)目s放,使關(guān)聯(lián)規(guī)則清晰展示。
[0028] 第3步所述的分類過(guò)程需經(jīng)過(guò)以下步驟:
[0029] 第3. 1步、讀取測(cè)試集數(shù)據(jù),對(duì)測(cè)試集中的每條網(wǎng)絡(luò)連接數(shù)據(jù)按照關(guān)聯(lián)規(guī)則分類, 統(tǒng)計(jì)分類結(jié)果。10%KDDCup99數(shù)據(jù)集中每條網(wǎng)絡(luò)連接數(shù)據(jù)有41個(gè)屬性數(shù)據(jù)項(xiàng)和1個(gè)連 接類型數(shù)據(jù)項(xiàng),第2步中提取到的關(guān)聯(lián)規(guī)則的條件部分包含有多個(gè)屬性數(shù)據(jù)項(xiàng),測(cè)試集中 的每條未知類型的網(wǎng)絡(luò)連接數(shù)據(jù)按照提取的規(guī)則分類時(shí),會(huì)有多條關(guān)聯(lián)規(guī)則與之對(duì)應(yīng),所 以按關(guān)聯(lián)規(guī)則分類需經(jīng)過(guò)以下過(guò)程:
[0030] 第3. 1. 1步、對(duì)讀取到的測(cè)試集中的一條連接數(shù)據(jù),遍歷整個(gè)關(guān)聯(lián)規(guī)則庫(kù),統(tǒng)計(jì)并 記錄匹配的關(guān)聯(lián)規(guī)則民(例如"Vt,) -t,)中條件部分(Vt,)的長(zhǎng)度,即統(tǒng)計(jì)關(guān)聯(lián)規(guī)則 民條件部分(lftj)包含的屬性數(shù)據(jù)項(xiàng)的數(shù)量Length1;
[0031] 第3. 1. 2步、分別計(jì)算匹配的η條規(guī)則中對(duì)應(yīng)的結(jié)果部分t,的權(quán)值。按照 Apriori-index算法權(quán)值計(jì)算公式:
[0032]
[0033] 計(jì)算該條未知結(jié)果類型的測(cè)試數(shù)據(jù)在經(jīng)過(guò)關(guān)聯(lián)規(guī)則庫(kù)中所有規(guī)則比對(duì)后匹配的 第j種網(wǎng)絡(luò)連接類型\的權(quán)值。這主要是由于關(guān)聯(lián)規(guī)則條件部分(lft,)的長(zhǎng)度Length 越大,分類準(zhǔn)確度越高,這樣做能夠同其他關(guān)聯(lián)規(guī)則加以區(qū)分,提高分類結(jié)果的準(zhǔn)確度。
[0034] 第3. 2步、輸出分類結(jié)果:網(wǎng)絡(luò)連接類型t。比較所有的權(quán)值,從中找出權(quán)值最高 的Weight(t),將分類結(jié)果(即網(wǎng)絡(luò)連接類型t)輸出。
[0035] 第4步所述的展示分類過(guò)程和分類得到的結(jié)果以及向訓(xùn)練集中添加分類后的測(cè) 試數(shù)據(jù)方法是:
[0036] 第4. 1步、測(cè)試數(shù)據(jù)展示。為將每條測(cè)試數(shù)據(jù)從讀取直至分類完成過(guò)程展示出來(lái), 將每條測(cè)試數(shù)據(jù)用運(yùn)動(dòng)的圖形代表,圖形的運(yùn)動(dòng)軌跡和顏色變化代表測(cè)試數(shù)據(jù)的分類過(guò)程 和分類得到的連接類型;
[0037] 第4. 2步、將測(cè)試過(guò)的網(wǎng)絡(luò)連接數(shù)據(jù)與對(duì)應(yīng)的網(wǎng)絡(luò)連接類型添加到訓(xùn)練集中,保 證該方法能夠自學(xué)習(xí)??紤]到實(shí)際網(wǎng)絡(luò)狀況的動(dòng)態(tài)特性,一次訓(xùn)練所得的關(guān)聯(lián)規(guī)則不能始 終代表網(wǎng)絡(luò)的當(dāng)前狀況,在本方法中將每條分類后的測(cè)試數(shù)據(jù)連同其網(wǎng)絡(luò)連接類型加入到 訓(xùn)練集中并再次訓(xùn)練,實(shí)時(shí)訓(xùn)練產(chǎn)生新規(guī)則并更新到關(guān)聯(lián)規(guī)則庫(kù)中。
[0038] 本發(fā)明具有以下優(yōu)點(diǎn):
[0039] 本發(fā)明首先為10%KDDCup99的41個(gè)屬性數(shù)據(jù)項(xiàng)添加位置參數(shù),按照交叉檢驗(yàn)的 方法將其分成訓(xùn)練集和測(cè)試集。然后通過(guò)Apriori-index算法對(duì)訓(xùn)練集中的網(wǎng)絡(luò)連接數(shù)據(jù) 訓(xùn)練提取關(guān)聯(lián)規(guī)則。最后通過(guò)Apriori-index算法中的測(cè)試方法對(duì)測(cè)試集中未知類型的網(wǎng) 絡(luò)連接數(shù)據(jù)分類,獲得分類結(jié)果,并展示分類過(guò)程和分類結(jié)果,同時(shí)將測(cè)試集中的數(shù)據(jù)和對(duì) 應(yīng)的分類結(jié)果導(dǎo)入到訓(xùn)練集中以實(shí)時(shí)更新訓(xùn)練集數(shù)據(jù),產(chǎn)生新的關(guān)聯(lián)規(guī)則,使本方法具有 良好的自適應(yīng)性和自學(xué)習(xí)特性。該發(fā)明采用Apriori-index算法,有效避免了經(jīng)典Apriori 算法處理10%KDDCup99數(shù)據(jù)集時(shí)的大量重復(fù)計(jì)算,大大加快了分類的效率,提高了網(wǎng)絡(luò)連 接數(shù)據(jù)分類檢測(cè)結(jié)果的準(zhǔn)確度,降低了算法的時(shí)間復(fù)雜度,使本方法具有較強(qiáng)的穩(wěn)定性。
【附圖說(shuō)明】
[0040] 圖1是本發(fā)明基于關(guān)聯(lián)規(guī)則分類的網(wǎng)絡(luò)入侵檢測(cè)方法的流程圖。
【具體實(shí)施方式】
[0041] 下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步的詳細(xì)說(shuō)明。
[0042] 將關(guān)聯(lián)規(guī)則算法應(yīng)用到入侵檢測(cè)中,主要是一種以數(shù)據(jù)為中心的觀點(diǎn),對(duì)于網(wǎng)絡(luò) 連接數(shù)據(jù)的采集處理不在本發(fā)明的考慮范圍之內(nèi)。本發(fā)明中以國(guó)際標(biāo)準(zhǔn)網(wǎng)絡(luò)連接數(shù)據(jù)集 10%KDDCUP99為例,以數(shù)據(jù)挖掘的思想為理論依據(jù)對(duì)入侵網(wǎng)絡(luò)連接進(jìn)行分類。
[0043]圖1對(duì)一種基于關(guān)聯(lián)規(guī)則分類的網(wǎng)絡(luò)入侵檢測(cè)方法進(jìn)行了詳細(xì)的步驟說(shuō)明。本發(fā) 明提供的方法包括以下步驟:
[0044] 第1步、對(duì)國(guó)際標(biāo)準(zhǔn)數(shù)據(jù)集10%KDDCup99預(yù)處理,將預(yù)處理后的數(shù)據(jù)集分成訓(xùn)練 集和測(cè)試集兩部分?jǐn)?shù)據(jù)。
[0045] 第1. 1步、為每列數(shù)據(jù)添加位置參數(shù)。因?yàn)?0%KDDCup99數(shù)據(jù)集中的數(shù)據(jù)中有大 量相同的數(shù)據(jù),比如:"〇"和"l'l〇%KDDCUp99數(shù)據(jù)集中處于不同列的數(shù)據(jù)有不同的含義, 而原始的Apriori算法在處理數(shù)