江澤濤,周譚盛子+,胡 碩,時(shí) 晨
(1.桂林電子科技大學(xué) 計(jì)算機(jī)與信息安全學(xué)院 廣西圖像圖形處理智能處理高校重點(diǎn)實(shí)驗(yàn)室, 廣西 桂林 541004;2.桂林電子科技大學(xué) 計(jì)算機(jī)與信息安全學(xué)院 廣西可信軟件重點(diǎn) 實(shí)驗(yàn)室,廣西 桂林 541004;3.南昌航空大學(xué) 信息工程學(xué)院,江西 南昌 330063)
隨著科學(xué)技術(shù)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)滲透到人們生活及工作的各方面。網(wǎng)絡(luò)的快速在提供便利的同時(shí)也誘發(fā)了一系列問(wèn)題,如何保障用戶數(shù)據(jù)信息的安全性成為當(dāng)下亟待研究和解決的重點(diǎn)。入侵檢測(cè)作為構(gòu)成網(wǎng)絡(luò)系統(tǒng)和主動(dòng)防御體系的重要理論和手段而備受關(guān)注。
近年來(lái),機(jī)器學(xué)習(xí)在入侵檢測(cè)中得到了廣泛的應(yīng)用。閆義涵[1]為了克服傳統(tǒng)的K-Means算法在很大程度上依賴(lài)于k值的問(wèn)題,提出了一種改進(jìn)的K-Means算法,通過(guò)層次聚類(lèi)思想動(dòng)態(tài)地確定k值,使用基于聚類(lèi)中心位置變化的方法進(jìn)行入侵檢測(cè)。歐陽(yáng)麗[2]針對(duì)當(dāng)前隨機(jī)森林算法在檢測(cè)精度方面的不足,提出了基于果蠅優(yōu)化的和聚類(lèi)優(yōu)化的隨機(jī)森林算法,利用較少的基分類(lèi)器改善了算法的精度。Guo等[3]將異常檢測(cè)和誤用檢測(cè)進(jìn)行級(jí)聯(lián),并引入了K近鄰算法,能有效識(shí)別未知攻擊類(lèi)型,有效降低了算法的誤報(bào)率。隨著深度學(xué)習(xí)在圖像處理方面的廣泛應(yīng)用,其有效性也越來(lái)越被入侵檢測(cè)相關(guān)研究人員認(rèn)可。張玉清等[4]總結(jié)了近年來(lái)深度學(xué)習(xí)在網(wǎng)絡(luò)空間安全上的應(yīng)用,并從分類(lèi)算法、特征提取和學(xué)習(xí)效果等方面進(jìn)行了分析,突出了深度學(xué)習(xí)在入侵檢測(cè)技術(shù)應(yīng)用上的問(wèn)題與機(jī)遇。張思聰?shù)萚5]為了進(jìn)一步提高檢測(cè)準(zhǔn)確率,提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural network,DCNN)的入侵檢測(cè)方法,通過(guò)學(xué)習(xí)有效特征并結(jié)合Softmax分類(lèi)器得到最終分類(lèi)結(jié)果。此外,基于特征選擇的算法的研究也越來(lái)越成熟。Akashdeep等[6]利用信息增益和相關(guān)性作為特征約簡(jiǎn)的依據(jù),以人工神經(jīng)網(wǎng)絡(luò)(ANN)作為分類(lèi)器,減少了訓(xùn)練時(shí)間。Nathan等[7]提出了非對(duì)稱(chēng)深度自編碼器,對(duì)不含標(biāo)簽的數(shù)據(jù)采用無(wú)監(jiān)督學(xué)習(xí)的方法獲得了源數(shù)據(jù)中具有代表性的特征進(jìn)而提高了入侵檢測(cè)算法的分類(lèi)精度。以上的成果雖然都在一定程度上取得了較好檢測(cè)性能,但對(duì)未知類(lèi)型的攻擊檢測(cè)仍然存在漏報(bào)情況。
針對(duì)上述情況,本文提出了一種以特征選擇為基礎(chǔ)的混合入侵檢測(cè)方法。與其它方法相比,其創(chuàng)新之處在于:①結(jié)合Fisher分和超圖屬性提出了一種新的特征選擇方法;②提出了一種改進(jìn)的K-Means聚類(lèi)方法,構(gòu)建了一種新的兩級(jí)混合入侵檢測(cè)模型。實(shí)驗(yàn)結(jié)果表明,本文所提方法達(dá)到了更高的準(zhǔn)確率和檢測(cè)率,實(shí)現(xiàn)了更低的誤報(bào)率。
已有的很多入侵檢測(cè)方法都有以下的不足之處:算法的性能受數(shù)據(jù)傾斜和分布的影響較大,同時(shí)在計(jì)算過(guò)程中會(huì)有很多冗余的特征維度,這都會(huì)增加算法的綜合復(fù)雜度,同時(shí)也會(huì)使算法的檢測(cè)性能受到了不同程度的影響。特征選擇則是在所有原始維度范圍對(duì)眾多特征屬性進(jìn)行統(tǒng)一處理,在結(jié)果中篩選掉那些相關(guān)性不高的冗余特征,并在此基礎(chǔ)上完成對(duì)原始數(shù)據(jù)的降維擇優(yōu),擇出對(duì)原始數(shù)據(jù)表征效果代表性最佳的最小特征子集[8]。特征選擇可分為過(guò)濾式、包裹式和嵌入式3種。本文采用獨(dú)立于分類(lèi)器的過(guò)濾式特征選擇方法,這類(lèi)方法通常選擇和類(lèi)別相關(guān)度大的特征子集。過(guò)濾式特征選擇方法常用于對(duì)原始數(shù)據(jù)的預(yù)處理,該類(lèi)方法能夠較好過(guò)濾非關(guān)鍵性特征,盡可能的保留相關(guān)性較高的主體結(jié)構(gòu)特征,最終降低特征集屬性的維度。Fisher分[9]被看作是過(guò)濾模式中一種重要概念,其主要處理目標(biāo)是在最大化不同類(lèi)別下的樣本之間的距離的同時(shí)最小化同一種類(lèi)別中的樣本之間的距離,而Fisher分的計(jì)算取值則是計(jì)算兩者的比值。由此可以得出特征的Fisher分值與特征的分類(lèi)決策能力之間呈正相關(guān)的關(guān)系。以FSi表示第i維特征的Fisher分值,則Fisher分的計(jì)算公式如下所示
(1)
超圖作為圖論中的重要延伸概念,其相比其它類(lèi)簡(jiǎn)單圖模型,能夠表征更加復(fù)雜的多元關(guān)系以及實(shí)體之間的復(fù)雜交互關(guān)系。在入侵檢測(cè)方法中可以使用超圖模型較好表示數(shù)據(jù)中各實(shí)體對(duì)象之間的所屬關(guān)系[10]。對(duì)于超圖H={V,E}, 其中,頂點(diǎn)V={v1,v2,…,vm}, 超邊E={E1,E2,…,En}。 超圖結(jié)構(gòu)如圖1所示。
圖1 超圖結(jié)構(gòu)
對(duì)于給定的一個(gè)超圖H={V,E}, 若E={E1,E2,E3},V={v1,v2,v3,v4,v5,v6,v7,v8}, 其中E1={v1,v2,v3,v4},E2={v3,v4,v5,v6},E3={v3,v7,v8}, 則超邊E1與E2的交集為 {v3,v4}, 超邊E1、E2與E3的交集為 {v3}。 若一個(gè)超圖H存在Helly屬性,其中,H={V,E}, 頂點(diǎn)V={v1,v2,…,vm}, 超邊E={E1,E2,…,En}, 則需要滿足Ei∩Ej≠?(i≠j且i,j∈n), 如圖2所示。
圖2 超圖Helly屬性
圖2(a)表示任意一對(duì)超邊都有相同的交集,在超圖H={V,E} 中,E={E1,E2,E3},V={v1,v2,v3,v4,v5,v6,v7},E1={v1,v2,v3},E2={v3,v4,v5},E3={v3,v6,v7}, 利用Helly屬性可以得到頂點(diǎn)v3是超邊 {E1,E2,E3} 的共同交點(diǎn),即E1∩E2={v3},E1∩E3={v3},E2∩E3={v3}。
圖2(b)是含三角形的超圖,在超圖H={V,E},E={E1,E2,E3},V={v1,v2,v3,v4,v5,v6},E1={v1,v2,v3},E2={v3,v4,v5},E3={v1,v5,v6},E1∩E2={v3},E1∩E3={v1},E2∩E3={v5}, 即 {v3}∩{v1}∩{v5}=?。如果圖中任意一對(duì)超邊之間不存在任何相同交集,則此圖不具有Helly屬性。
隨機(jī)森林是由多棵樹(shù)型分類(lèi)器組成的集合,最終分類(lèi)結(jié)果由基礎(chǔ)樹(shù)型分類(lèi)器投票產(chǎn)生,其基礎(chǔ)樹(shù)型分類(lèi)器通常采用沒(méi)有剪枝的CART決策樹(shù)。本文采用基于信息增益的隨機(jī)森林算法。在過(guò)濾式特征選擇方法中使用基于信息增益理論的方法度量每一個(gè)特征維度對(duì)檢測(cè)分類(lèi)的貢獻(xiàn)度大小,將貢獻(xiàn)度較低的特征作為冗余特征去除掉。與之相對(duì)應(yīng)的是,誤分類(lèi)的概率與特征的信息增益之間是一個(gè)樸素的負(fù)相關(guān)關(guān)系。
樣本S的熵可通過(guò)下列公式計(jì)算
(2)
其中,S為數(shù)據(jù)集,K為類(lèi)別數(shù),Si為第k類(lèi)樣本數(shù), |S| 為總樣本數(shù)。
特征屬性A對(duì)數(shù)據(jù)集S的條件熵公式如下所示
(3)
對(duì)S進(jìn)行劃分,得到n個(gè)子集,劃分依據(jù)為A的取值,劃分后的樣本子集為S1,S2,…,Sn, |Si| 為第i個(gè)子集Si的樣本數(shù), |S| 為總樣本數(shù),K為類(lèi)別數(shù), |Sik|為子集Si中類(lèi)Ck的樣本數(shù)。
特征屬性A的信息增益公式如下所示
IG(A)=H(S)-H(S|A)
(4)
基于信息增益的隨機(jī)森林的算法主要分為6個(gè)主要步驟:
(1)對(duì)包含K個(gè)決策樹(shù)的隨機(jī)森林中的每一棵決策樹(shù)進(jìn)行n次有放回的隨機(jī)抽取,得到的抽取樣本記為D={(x1,y1),(x2,y2),…,(xn,yn)},xi表示第i個(gè)樣本的特征集,yi表示第i個(gè)樣本的所屬類(lèi),隨后從n個(gè)樣本對(duì)中隨機(jī)選取j個(gè)樣本構(gòu)成特征子集A(a1,a2,…,aj);
(2)對(duì)決策樹(shù)中樣本進(jìn)行多輪分類(lèi),如果分類(lèi)結(jié)果相同就結(jié)束此輪分類(lèi)計(jì)算,并將當(dāng)前分類(lèi)結(jié)果作為此次分類(lèi)的最終類(lèi)別,否則執(zhí)行步驟(3);
(3)采用信息增益最大的屬性進(jìn)行劃分,信息增益最大的屬性記為ai, 隨后將ai從特征子集A中刪除;
(4)對(duì)每個(gè)子節(jié)點(diǎn)分別執(zhí)行步驟(2)并循環(huán)重復(fù)當(dāng)前步驟;
(5)若全部特征屬性都用于劃分時(shí),最后節(jié)點(diǎn)處的樣本屬于不同的類(lèi)別,則此時(shí)當(dāng)前節(jié)點(diǎn)的類(lèi)別為該節(jié)點(diǎn)中的數(shù)量最多的類(lèi)別;
(6)在測(cè)試階段,利用K棵決策樹(shù)分別對(duì)樣本進(jìn)行分類(lèi),樣本的最終類(lèi)別由所有決策樹(shù)投票決定。
由式(2)~式(4)可知,通過(guò)對(duì)樣本特征屬性的信息增益進(jìn)行計(jì)算和篩選,決策樹(shù)能很好的區(qū)分屬于正常操作類(lèi)別的數(shù)據(jù)和部分屬于非法攻擊操作數(shù)據(jù),因此,基于信息增益的隨機(jī)森林算法對(duì)攻擊數(shù)據(jù)檢測(cè)率較高,但是此類(lèi)方式的誤報(bào)率也處于較高水平,本文設(shè)計(jì)級(jí)聯(lián)分類(lèi)器體系,并將此方法作為第一級(jí)分類(lèi)器組件,期望能夠提高對(duì)部分異常數(shù)據(jù)的檢測(cè)率。
K-Means算法是典型的基于劃分的聚類(lèi)方法,其目的在于將數(shù)據(jù)集劃分為若干個(gè)子集且分別代表一個(gè)類(lèi)別。其核心步驟是對(duì)每個(gè)點(diǎn)計(jì)算到各個(gè)預(yù)定義的已知類(lèi)別的中心位置的歐氏距離,并將此距離結(jié)果作為劃分其所屬類(lèi)別的依據(jù),并同步更新所屬類(lèi)別的中心位置,重復(fù)上述步驟直至中心收斂為止。其中,兩個(gè)n維樣本xi與yj之間的歐式距離公式如下所示
(5)
(6)
其中, |Ck| 為第k類(lèi)簇類(lèi)的樣本數(shù),xi為Ck中的樣本。
為了克服傳統(tǒng)K-Means算法初始聚類(lèi)中心k值選取的隨機(jī)性,本文采用基于密集度的K-Means++算法,與傳統(tǒng)的K-Means++不同的之處在于:該方法引入了密度閾值的概念,以此來(lái)避免K-Means++算法在選取初始中心位置時(shí)的隨機(jī)現(xiàn)象,這樣就可以在決策初始聚類(lèi)中心時(shí)受到更少來(lái)自部分離群孤立數(shù)據(jù)點(diǎn)的不利影響。
基于密集度的K-Means++算法的具體步驟如下:
(1)輸入聚類(lèi)數(shù)k距離閾值ε和密集度閾值α;
(2)根據(jù)式(5)的定義計(jì)算k個(gè)距離較遠(yuǎn)的樣本與其附近的α個(gè)不同樣本數(shù)據(jù)點(diǎn)之間的距離,如果能夠滿足d(xi,xj)≤ε, 則可將所選取的k個(gè)樣本作為初始中心位置,否則的話重復(fù)上述操作選取更遠(yuǎn)的另外k個(gè)樣本。直到找到的k個(gè)樣本能夠滿足步驟(2)中介紹的式子;
(3)計(jì)算每個(gè)樣本到各個(gè)簇類(lèi)中心的位置的歐氏距離并選擇距離最近的簇類(lèi),當(dāng)前樣本隨后加入到此簇類(lèi)中去,更新簇類(lèi)中心位置;
(4)分類(lèi)過(guò)程終止的條件是聚類(lèi)中心趨于穩(wěn)定,其它情況則重復(fù)流程(3)的操作。
聚類(lèi)算法大都是以距離計(jì)算為核心思想的分類(lèi)方法,其中基于密集度的K-Means++方法在入侵檢測(cè)問(wèn)題中能夠有效將剩下的攻擊數(shù)據(jù)和正常數(shù)據(jù)分類(lèi)到不同的簇類(lèi)中去,從而就能夠提高分類(lèi)器的全局檢測(cè)率且降低誤報(bào)率。
互聯(lián)網(wǎng)的迅速發(fā)展使得信息的存儲(chǔ)和處理變得異常困難,近年來(lái),機(jī)器學(xué)習(xí)方法的注入為入侵檢測(cè)技術(shù)帶來(lái)了新的生命力,但是大數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類(lèi)型更加多元和復(fù)雜,從而使得對(duì)數(shù)據(jù)的處理也更加復(fù)雜,而基于特征選擇思想的理論和方法就是想要從大量復(fù)雜冗余的海量數(shù)據(jù)中提取出具有更多實(shí)際意義的業(yè)務(wù)信息。通過(guò)刪除一些冗余和不相關(guān)的特征屬性選擇出最小特征子集用于表征原始數(shù)據(jù)。本文根據(jù)特征屬性對(duì)類(lèi)別的區(qū)分程度,生成最小特征子集,從而實(shí)現(xiàn)特征擇優(yōu)。利用Fisher分值可以從數(shù)值上直觀準(zhǔn)確地對(duì)比不同的特征維度對(duì)分類(lèi)能力的影響。另外,由于本文對(duì)入侵檢測(cè)數(shù)據(jù)集進(jìn)行五分類(lèi)研究,所以引入超圖著重分析滿足Helly屬性的特征。本文提出的方法,主要包括3個(gè)步驟:①對(duì)原訓(xùn)練數(shù)據(jù)中的各個(gè)特征進(jìn)行Fisher分值計(jì)算,并篩選掉對(duì)數(shù)據(jù)分類(lèi)的影響不明顯的特征屬性;②將特征與樣本的關(guān)系用超圖表示;③最優(yōu)特征子集的選擇則使用超圖中的Helly屬性進(jìn)行處理。數(shù)據(jù)中的類(lèi)別對(duì)應(yīng)超邊,數(shù)據(jù)特征對(duì)應(yīng)超圖中的頂點(diǎn)。其算法流程為如下所述:
輸入:S={S1,S2,…,Sn} /*訓(xùn)練集中的n個(gè)樣本*/
F={FS1,FS2,…,FSl} /*訓(xùn)練集中的樣本特征,l表示特征維數(shù)*/
C={C1,C2,…,Ck} /*訓(xùn)練集中的k個(gè)類(lèi)別*/
輸出:f={f1,f2,…,fm} /*特征子集維度m*/
Begin
{
for j=2 to k
{
for i=1 tol
//求每一維特征的Fisher分值
descend order (FSi)
//降序排列Fisher分值
for i=1 to 20
Cj={FSi} //取前20個(gè)特征
}
ifCi∩Cj=FSq(i,j∈k,i≠j) //利用超圖的Helly屬性選擇最優(yōu)特征子集
f={FSq}
}
End
基于信息增益的隨機(jī)森林算法分析了各個(gè)特征屬性對(duì)最終分類(lèi)結(jié)果的影響,而基于密集度的K-Means++算法則是從密集度和距離兩個(gè)層面考慮,方法整個(gè)過(guò)程劃分為兩個(gè)不同級(jí)別的分類(lèi)器,其中第一級(jí)分類(lèi)器在對(duì)攻擊數(shù)據(jù)的識(shí)別上有較高準(zhǔn)確率,所以其能夠以很高的準(zhǔn)確率識(shí)別部分攻擊樣本。第二級(jí)分類(lèi)器以改進(jìn)的K-Means算法為基礎(chǔ)對(duì)第一級(jí)分類(lèi)器無(wú)法準(zhǔn)確分類(lèi)的剩下數(shù)據(jù)進(jìn)行第二級(jí)分類(lèi),此方法能夠在提高對(duì)入侵?jǐn)?shù)據(jù)的檢測(cè)率的同時(shí)很好控制對(duì)正常數(shù)據(jù)的誤報(bào)概率值。具體步驟如下:特征擇優(yōu)階段:①首先在訓(xùn)練階段計(jì)算訓(xùn)練數(shù)據(jù)集各個(gè)類(lèi)別中每一維特征的Fisher分值并按降序排列;②其次在各個(gè)類(lèi)別中選擇Fisher分值排在前20的特征并添加到特征子集FSsub中;③最后對(duì)FSsub進(jìn)行復(fù)篩,對(duì)具備Helly屬性的特征添加到最優(yōu)特征子集f中;檢測(cè)階段:①先以隨機(jī)森林作為第一級(jí)分類(lèi)器,這一級(jí)的分類(lèi)結(jié)果得出的攻擊樣本直接作為最終的分類(lèi)結(jié)果;②以基于密集度的K-Means++算法作為第二級(jí)分類(lèi)器,其處理對(duì)象是第一級(jí)分類(lèi)器中無(wú)法準(zhǔn)確分類(lèi)為攻擊樣本的剩余數(shù)據(jù),得到的分類(lèi)結(jié)果將作為最終的檢測(cè)結(jié)果。結(jié)合第一級(jí)分類(lèi)器的部分分類(lèi)結(jié)果,得到最終的全部分類(lèi)結(jié)果。圖3表示的是此文提出的級(jí)聯(lián)分類(lèi)器的算法流程圖。對(duì)本文算法的實(shí)驗(yàn)結(jié)果的描述和分析將會(huì)在第3節(jié)作詳細(xì)描述,最終實(shí)驗(yàn)結(jié)果表明本文的算法的性能要比僅僅采用隨機(jī)森林分類(lèi)模型或K-Means算法的單一分類(lèi)檢測(cè)模型要好。
圖3 基于特征選擇的兩級(jí)混合入侵檢測(cè)算法流程
3.1.1 實(shí)驗(yàn)數(shù)據(jù)
KDD CUP’99數(shù)據(jù)集來(lái)自麻省理工學(xué)院林肯實(shí)驗(yàn)室,在業(yè)內(nèi)目前被廣泛用于對(duì)入侵檢測(cè)問(wèn)題研究[11]。該數(shù)據(jù)集中的每個(gè)樣本有42個(gè)維度的特征數(shù)據(jù)。屬性分類(lèi)及個(gè)數(shù)參見(jiàn)文獻(xiàn)[12]中表2-1。該數(shù)據(jù)集主要包括4種類(lèi)型的攻擊:Dos(拒絕服務(wù)攻擊)、Probe(端口監(jiān)視或掃描)、R2L(遠(yuǎn)程主機(jī)的未授權(quán)訪問(wèn))及U2R(未授權(quán)的本地超級(jí)用戶特權(quán)訪問(wèn))。本文采用10%的KDD CUP’99數(shù)據(jù)集作為訓(xùn)練集,該數(shù)據(jù)集包含了494 021條數(shù)據(jù)記錄,其攻擊類(lèi)型參見(jiàn)文獻(xiàn)[12]中表2-2。為了檢驗(yàn)?zāi)P偷姆夯阅?,采用KDD CUP’99 Corrected數(shù)據(jù)集作為測(cè)試集,該數(shù)據(jù)集包含了311 029條數(shù)據(jù)記錄,其中包括了17種新型攻擊類(lèi)型,詳情參見(jiàn)文獻(xiàn)[12]中表2-3。各類(lèi)別在訓(xùn)練集和測(cè)試集中的數(shù)目參見(jiàn)文獻(xiàn)[12]中表2-4。
3.1.2 數(shù)據(jù)預(yù)處理
KDD CUP’99數(shù)據(jù)集中每條連接記錄的41個(gè)特征屬性有38個(gè)數(shù)字型特征屬性和3個(gè)字符型特征屬性構(gòu)成,數(shù)據(jù)預(yù)處理階段主要是對(duì)原數(shù)據(jù)中的字符型數(shù)據(jù)進(jìn)行數(shù)值化轉(zhuǎn)換,隨后對(duì)每個(gè)維度的數(shù)據(jù)進(jìn)行數(shù)學(xué)上的歸一化處理,所采用的歸一化算法如式(7)所示
(7)
一個(gè)好的入侵檢測(cè)系統(tǒng)是能夠在檢測(cè)率和誤報(bào)率之間達(dá)到很好的權(quán)衡的。因此,本文選取了準(zhǔn)確率(accuracy,ACC)、精確率(precision,PRE)、檢測(cè)率(detection rate,DR)、誤報(bào)率(false alarm rate,F(xiàn)AR)4個(gè)指標(biāo)用于衡量算法的性能。計(jì)算公式如下所示
(8)
(9)
(10)
(11)
其中,TP為正確識(shí)別的正樣本數(shù),F(xiàn)P為錯(cuò)誤識(shí)別的正樣本數(shù),TN為正確識(shí)別的負(fù)樣本數(shù),F(xiàn)N為錯(cuò)誤識(shí)別的負(fù)樣本數(shù)。
將本文提出的入侵檢測(cè)模型與現(xiàn)有的分類(lèi)模型在準(zhǔn)確率和精確率上進(jìn)行比較,實(shí)驗(yàn)結(jié)果見(jiàn)表1。
由表1可以看出隨機(jī)森林算法對(duì)檢測(cè)數(shù)據(jù)中的真實(shí)攻擊類(lèi)型的檢測(cè)準(zhǔn)確率都很穩(wěn)定,但是在全面性上有明顯的不足,但是在正常樣本和U2R攻擊類(lèi)型的精確率有明顯的不足,經(jīng)分析這其中的根本原因在于該算法對(duì)這兩個(gè)特定類(lèi)型樣本的識(shí)別率較低;樸素貝葉斯算法在正常樣本及各類(lèi)攻擊中性能都不突出;支持向量機(jī)算法對(duì)Dos和U2L類(lèi)攻擊的檢測(cè)性能尤為突出;K-Means算法全局結(jié)果與其它算法相比都有明顯差距,這種結(jié)果產(chǎn)生的原因在于K-Means 方法受聚類(lèi)中心選取的隨機(jī)性的影響較大。文獻(xiàn)[14]以算術(shù)殘差法及超圖得到的特征子集為基礎(chǔ),并用概率神經(jīng)網(wǎng)絡(luò)對(duì)樣本進(jìn)行分類(lèi),結(jié)果表明其對(duì)正常樣本及Dos類(lèi)攻擊的檢測(cè)準(zhǔn)確率較優(yōu)。本文提出的入侵檢測(cè)模型通過(guò)刪除冗余特征得到對(duì)原始數(shù)據(jù)特征表征效果較好的最小特征子集,使用基于信息增益的隨機(jī)森林算法進(jìn)行分類(lèi)過(guò)濾,能夠準(zhǔn)確過(guò)濾出部分真實(shí)異常的數(shù)據(jù),但是我們發(fā)現(xiàn)測(cè)試數(shù)據(jù)集當(dāng)中存在一些屬于新出現(xiàn)類(lèi)型的攻擊數(shù)據(jù),對(duì)于這種情況下數(shù)據(jù),僅僅依靠隨機(jī)森林算法的分類(lèi)器的結(jié)果漏報(bào)率會(huì)比較高,基于對(duì)此種情況改進(jìn)的考慮,使用基于密集度概念的K-Means++算法進(jìn)行二級(jí)分類(lèi),實(shí)驗(yàn)結(jié)果表明,本文提出的級(jí)聯(lián)后的分類(lèi)器在保證很高的檢測(cè)準(zhǔn)確率的同時(shí),對(duì)正常樣本的檢測(cè)精度也有了很大的提升。
表1 分類(lèi)器性能對(duì)比(一)
就檢測(cè)率和誤報(bào)率方面,將本文提出的入侵檢測(cè)方法與其它方法進(jìn)行比較,實(shí)驗(yàn)結(jié)果見(jiàn)表2。
表2 分類(lèi)器性能對(duì)比(二)
由表2可以看出Guo等[3]選取KNN作為分類(lèi)器,先對(duì)測(cè)試集進(jìn)行異常檢測(cè),然后分別利用異常檢測(cè)和誤用檢測(cè)對(duì)攻擊樣本和正常樣本進(jìn)行檢測(cè),其實(shí)驗(yàn)結(jié)果表明該方法的檢測(cè)準(zhǔn)確率不是很好。張思聰?shù)萚5]提出的DCNN方法在檢測(cè)率指標(biāo)和誤報(bào)率指標(biāo)上都能夠達(dá)到較為均衡的全局穩(wěn)定性。Nathan等[7]利用非對(duì)稱(chēng)深度自編碼器進(jìn)行入侵檢測(cè)問(wèn)題研究,其算法結(jié)果的檢測(cè)率有較好的表現(xiàn),但是誤報(bào)率方面存在明顯的缺陷。Kuang等[13]利用核主成分分析進(jìn)行特征降維,采用多級(jí)支持向量機(jī)作為分類(lèi)器,并使用遺傳算法的思想理念進(jìn)行參數(shù)的策略?xún)?yōu)化,除了算法復(fù)雜度得到改善以外,其計(jì)算結(jié)果表明該模型的分類(lèi)綜合性能明顯優(yōu)于傳統(tǒng)的支持向量機(jī)算法。Raman等[14]在特征選擇思想的基礎(chǔ)上,引入概率神經(jīng)網(wǎng)絡(luò)對(duì)樣本進(jìn)行分類(lèi),結(jié)果表明該模型并未在檢測(cè)率和誤報(bào)率之間達(dá)到很好的平衡。本文在基于Fisher分和超圖的Helly屬性的特征選擇基礎(chǔ)上,先后利用隨機(jī)森林算法和K-Means聚類(lèi)進(jìn)行分類(lèi)可以達(dá)到更高的檢測(cè)率和更低的誤報(bào)率,優(yōu)于現(xiàn)有的入侵檢測(cè)方法。
本文提出了一種基于特征選擇的兩級(jí)混合的入侵檢測(cè)方法。為了有效降低算法的訓(xùn)練時(shí)間,引入了特征選擇,先計(jì)算各類(lèi)別攻擊的Fisher分值,再利用超圖的Helly屬性確定最優(yōu)特征子集。先用隨機(jī)森林作為第一階段的分類(lèi)器,對(duì)測(cè)試集進(jìn)行預(yù)測(cè),隨后用改進(jìn)的K-Means作為第二階段的分類(lèi)器,針對(duì)第一階段預(yù)測(cè)得到的正常樣本進(jìn)行二次檢測(cè)。結(jié)果表明,本文提出的方法在準(zhǔn)確率、檢測(cè)率及誤報(bào)率方面均好于其它模型,是一種可行的入侵檢測(cè)方法。
計(jì)算機(jī)工程與設(shè)計(jì)2020年3期