張 玲,張建偉,桑永宣,王 博,侯澤翔
(鄭州輕工業(yè)大學(xué) 軟件學(xué)院,鄭州 450002)
入侵檢測(cè)系統(tǒng)[1]被證明是一種有效的網(wǎng)絡(luò)安全防御方式。研究人員將深度學(xué)習(xí)、支持向量機(jī)[2-3]、模糊集[4]、隱馬爾可夫[5]、隨機(jī)森林[6-8]、離群點(diǎn)算法[9]、人工免疫原理[10-12]等人工智能技術(shù)引入入侵檢測(cè)進(jìn)行研究,取得了較大的進(jìn)展[13-15]。
文獻(xiàn)[3]提出了一種多層次的混合入侵檢測(cè)模型,該模型利用支持向量機(jī)和極限學(xué)習(xí)機(jī)來(lái)提高檢測(cè)已知和未知攻擊的效率,采用K-means算法來(lái)構(gòu)建高質(zhì)量的訓(xùn)練數(shù)據(jù)集,提高了分類器的性能。文獻(xiàn)[4]提出了一種采用修正密度峰值聚類算法和深度信念網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)(MDPCA-DBN),該系統(tǒng)采用改進(jìn)的密度峰值模糊聚類算法減少訓(xùn)練集的大小,利用深度信念子網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行分類,解決樣本的不平衡問(wèn)題。文獻(xiàn)[5]設(shè)計(jì)并實(shí)現(xiàn)了基于網(wǎng)絡(luò)的反對(duì)抗隱馬爾可夫模型(AA-HMM),定義了一個(gè)模式熵的概念,使用動(dòng)態(tài)窗口和閾值技術(shù)提高系統(tǒng)的自適應(yīng)、抗競(jìng)爭(zhēng)和在線學(xué)習(xí)能力。
文獻(xiàn)[6]受bagging算法和隨機(jī)分割選擇算法的啟發(fā)提出隨機(jī)森林(Random Forest,RF)分類算法。文獻(xiàn)[7]設(shè)計(jì)并實(shí)現(xiàn)了基于條件式自編碼、生成式對(duì)抗網(wǎng)絡(luò)和隨機(jī)森林的入侵檢測(cè)系統(tǒng)(AE-CGAN-RF),該系統(tǒng)采用自編碼技術(shù)對(duì)高維特征數(shù)據(jù)進(jìn)行降維,利用生成式對(duì)抗網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采樣,運(yùn)用隨機(jī)森林的方法進(jìn)行分類,解決了在大型網(wǎng)絡(luò)環(huán)境中出現(xiàn)的高維特征和數(shù)據(jù)不平衡問(wèn)題。文獻(xiàn)[8]利用不同決策樹(shù)之間的相似度,約簡(jiǎn)決策樹(shù)中的冗余值,用分類性能指標(biāo)值作為隨機(jī)森林的權(quán)重值,提高網(wǎng)絡(luò)流量分類的可擴(kuò)展性和檢測(cè)率。文獻(xiàn)[9]提出了一種混合多層次入侵檢測(cè)模型,利用離群點(diǎn)檢測(cè)算法對(duì)冗余數(shù)據(jù)進(jìn)行約簡(jiǎn)刪除,根據(jù)攻擊行為網(wǎng)絡(luò)流量的相似性,構(gòu)建多層次隨機(jī)森林模型檢測(cè)網(wǎng)絡(luò)異常行為,提高網(wǎng)絡(luò)攻擊的檢測(cè)性能。文獻(xiàn)[10]提出一種動(dòng)態(tài)克隆選擇算法。人工免疫系統(tǒng)通過(guò)一個(gè)類似于生物免疫系統(tǒng)的功能構(gòu)建了動(dòng)態(tài)、自適應(yīng)的信息防御系統(tǒng)。為了抵抗外部無(wú)用和有害信息的入侵,并確保有效性和接收到無(wú)害信息,文獻(xiàn)[11]提出一種改進(jìn)的克隆選擇算法,選擇較好的個(gè)體并進(jìn)行克隆,提高入侵檢測(cè)的準(zhǔn)確率,降低誤報(bào)率。
支持向量機(jī)、模糊集、離群點(diǎn)、隨機(jī)森林檢測(cè)算法需要對(duì)大量的樣本進(jìn)行學(xué)習(xí),獲得有效的決策規(guī)則,并且系統(tǒng)自適應(yīng)能力較弱,因此針對(duì)小樣本數(shù)據(jù)進(jìn)行學(xué)習(xí)的效果較差,導(dǎo)致入侵行為的誤檢和漏檢。人工免疫原理在自適應(yīng)能力方面優(yōu)于其他算法,但是存在過(guò)早收斂的現(xiàn)象。
本文提出一種基于隨機(jī)森林和人工免疫的入侵檢測(cè)算法(RFAIID),并構(gòu)建抗體森林模型。針對(duì)樣本集中的小樣本,采用克隆選擇算法獲得優(yōu)良的大樣本抗體集提高入侵檢測(cè)的自適應(yīng)性,運(yùn)用隨機(jī)森林算法提高入侵檢測(cè)率,降低誤報(bào)率。在KDD99數(shù)據(jù)集上對(duì)RFAIID算法的參數(shù)進(jìn)行設(shè)置,并在小樣本集上驗(yàn)證算法的自適應(yīng)性和檢測(cè)性能。
RFAIID算法主要包括4個(gè)階段:
1)對(duì)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)進(jìn)行預(yù)處理,將兩種數(shù)據(jù)集處理成統(tǒng)一格式的抗體集和抗原集。
2)數(shù)據(jù)選擇階段,對(duì)不同類型的抗體總數(shù)分別進(jìn)行統(tǒng)計(jì),對(duì)樣本數(shù)量較少的抗體集采用人工免疫算法提高抗體質(zhì)量和數(shù)量。
3)對(duì)新的抗體集采用多代理隨機(jī)森林分類器。
4)對(duì)抗原進(jìn)行檢測(cè)得到檢測(cè)結(jié)果,并將新的抗體加入抗體集。
RFAIID算法的功能結(jié)構(gòu)如圖1所示。
圖1 RFAIID算法功能結(jié)構(gòu)Fig.1 RFAIID algorithm function structure
抗體的數(shù)量和質(zhì)量決定抗原的檢測(cè)性能指標(biāo)的好壞。隨機(jī)森林算法對(duì)于決策樹(shù)數(shù)量較少時(shí),分類能力較弱,只有當(dāng)決策樹(shù)數(shù)量較大時(shí),才能夠得到有效的分類結(jié)果。因此,針對(duì)小樣本的數(shù)據(jù)集采用基于人工免疫的抗體優(yōu)化算法能獲得更優(yōu)的抗體集。RFAIID算法的實(shí)現(xiàn)步驟如算法1所示。
算法1RFAIID算法
輸入數(shù)據(jù)集、參數(shù)KNormal、KDos、KProbe、KU2R、KR2L、激活閾值γ
輸出網(wǎng)絡(luò)異常行為檢測(cè)結(jié)果
1.用式(1)將數(shù)據(jù)集進(jìn)行歸一化處理;
2.歸一化后的數(shù)據(jù)集劃分成訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集;
3.用抗原定義對(duì)測(cè)試數(shù)據(jù)集進(jìn)行預(yù)處理,用抗體定義對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行預(yù)處理;
4.將抗體分成不同的種類;
5.判斷抗體的數(shù)量,抗體優(yōu)化得到新的抗體集;
6.將新的抗體集訓(xùn)練成隨機(jī)抗體森林;
7.利用隨機(jī)抗體森林對(duì)抗原進(jìn)行檢測(cè),得到檢測(cè)結(jié)果;
8.將獲得的新的抗體用于更新隨機(jī)抗體森林。
RFAIID算法的第一個(gè)步驟是對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,訓(xùn)練數(shù)據(jù)集歸一化處理成抗體集,待檢測(cè)數(shù)據(jù)處理成抗原。
設(shè)x為日志的屬性值,x∈[m1,m2],對(duì)RFAIID算法中的抗原和抗體的處理方法采用式(1)歸一化處理[12]。
(1)
其中,m和n分別取該數(shù)據(jù)域內(nèi)的最小值和最大值。
根據(jù)抗原、抗體的定義對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理:
定義1a∈A,A?D,D={0,1}l,(l∈N,l>0),A為待檢測(cè)日志抗原集,D是由0和1代碼組成的長(zhǎng)度為l的二進(jìn)制字符串,抗原a為待檢測(cè)日志屬性的二進(jìn)制字符串[12]。
定義2抗體b∈B,B{
抗體的數(shù)量和質(zhì)量決定抗原的檢測(cè)性能指標(biāo)的好壞。隨機(jī)森林算法對(duì)于決策樹(shù)數(shù)量較少時(shí),分類能力較弱,只有當(dāng)決策樹(shù)數(shù)量較大時(shí)能夠得到有效的分類結(jié)果。因此,針對(duì)小樣本的數(shù)據(jù)集采用基于人工免疫的抗體優(yōu)化算法獲得更優(yōu)的抗體集。基于人工免疫的抗體優(yōu)化算法的實(shí)現(xiàn)步驟如算法2所示。
算法2基于人工免疫的抗體優(yōu)化算法
輸入訓(xùn)練抗體、參數(shù)KNormal、KDos、KProbe、KU2R、KR2L
輸出新的抗體集
1.BNormal=BProbe=BDos=BU2R=…=BR2L=?;/*存儲(chǔ)不同抗體的抗體集*/
for each b in抗體集
將網(wǎng)絡(luò)日志轉(zhuǎn)換為抗體;
判斷b.s的值,根據(jù)b.s的值分別將抗體加入不同的類型的抗體集,并進(jìn)行計(jì)數(shù);
end for
/*if (b.s==0000) then BNormal.add(b)數(shù)據(jù)取0時(shí),表示該抗體的類別是Normal
else if(b.s==0001) then BProbe.add(b)數(shù)據(jù)類型值取1時(shí),表示該抗體的類別是Probe
else if(b.s==0010) then BDos.add(b)數(shù)據(jù)取2時(shí),表示該抗體的類別是DoS,等*/
2.for each 抗體集
if (計(jì)數(shù)值 抗體生成算法; end for 本文用三元組Ω=(A,B,Θ)表示免疫進(jìn)化操作,A={S,N}表示抗原集合,S為自體集合,N為非自體集合,S∩N=φ,B=BI∪BT∪BM為抗體集,Θ表示抗體交叉、變異。在抗體的生命周期內(nèi),抗體不斷變化。RFAIID中采集到的日志信息是動(dòng)態(tài)變化的,A隨著動(dòng)態(tài)變化。新抗體生成演化過(guò)程如圖2所示。 圖2 抗體演化示意圖Fig.2 Schematic diagram of antibody evolution a與b之間的親和度計(jì)算采用歐拉(Euclidean)形態(tài)空間的歐拉距離計(jì)算方法[12]。 抗體優(yōu)化算法如算法3所示。 算法3抗體優(yōu)化算法 輸入選擇抗體,參數(shù)T1、T2、γ 輸出新的抗體 1.選擇適應(yīng)度高的記憶抗體進(jìn)行高斯變異; 2.將變異后的抗體注入BI; 3.隨機(jī)生成未成熟抗體,注入BI; 4.未成熟抗體在生存時(shí)間T1內(nèi),如果大于T1,則刪除該未成熟抗體,否則計(jì)算抗體與抗原適應(yīng)度; 5.抗體匹配到任何一個(gè)抗原,則刪除抗體,否則注入BT; 6.成熟抗體T2內(nèi),判斷是否大于激活閾值,大于則刪除成熟抗體,小于則激活; 7.將激活的成熟抗體注入BM,轉(zhuǎn)步驟1。 RF是包含多個(gè)相同分布的決策樹(shù)集合,每個(gè)決策樹(shù)依賴于一個(gè)獨(dú)立的隨機(jī)向量[16]。RF的基本思想如下:在包含N個(gè)訓(xùn)練樣本的數(shù)據(jù)集X中,通過(guò)有放回地隨機(jī)的方式獲取k個(gè)樣本(0 為彌補(bǔ)因抗體樣本數(shù)量的不足導(dǎo)致的較高的檢測(cè)錯(cuò)誤率,并獲得優(yōu)良的抗體提高檢出率,降低誤檢率,本文借鑒隨機(jī)森林和人工免疫理論對(duì)抗體決策樹(shù)設(shè)計(jì)了隨機(jī)抗體森林檢測(cè)策略。隨機(jī)抗體森林檢測(cè)策略模型如圖3所示。 圖3 隨機(jī)抗體森林檢測(cè)模型Fig.3 Random antibody forest detection model 提高抗體森林分類模型的外推預(yù)測(cè)能力對(duì)入侵檢測(cè)至關(guān)重要,因此需要生成不同的抗體集來(lái)增加抗體森林分類模型之間的差異,通過(guò)k輪的訓(xùn)練,得到一個(gè)抗體決策樹(shù)集合{h1(b),h2(b),…,hk(b)},再經(jīng)過(guò)少數(shù)服從多數(shù)的投票法,得到最終的抗體森林: (2) 其中,H(b)是抗體森林分類模型,hi(b)是單個(gè)決策抗體樹(shù)的分類結(jié)果,Y表示抗體檢測(cè)抗原的輸出目標(biāo)變量,I(·)是抗體森林代表的示性函數(shù),運(yùn)用抗體決策樹(shù)對(duì)抗原進(jìn)行檢測(cè),檢測(cè)結(jié)果為ai.lable,例如檢測(cè)結(jié)果為Probe,用式(3)計(jì)算I(·): (3) 隨機(jī)抗體森林檢測(cè)算法如算法4所示。 算法4隨機(jī)抗體森林檢測(cè)算法 輸入抗體集 輸出抗原的檢測(cè)結(jié)果 1.對(duì)于每種類型的抗體集生成不剪枝的抗體決策樹(shù)集合,用式(2)生成抗體森林H(b); 2.用抗體森林H(b)對(duì)抗原進(jìn)行檢測(cè); 3.如果檢測(cè)結(jié)果為正常,轉(zhuǎn)步驟1; 4.如果檢測(cè)結(jié)果為一種類型的攻擊行為,將抗原轉(zhuǎn)化為抗體,將抗體加入抗體集,轉(zhuǎn)步驟1。 采用美國(guó)林肯實(shí)驗(yàn)室提供的KDD數(shù)據(jù)集[19]進(jìn)行實(shí)驗(yàn)仿真,研究RFAIID算法的性能。實(shí)驗(yàn)中采取數(shù)據(jù)集中的kddcup.data_10_percent作為數(shù)據(jù)源。數(shù)據(jù)集中包含Normal、Dos、Probe、U2R和R2L 5種樣本。 實(shí)驗(yàn)仿真中抽取50 000條數(shù)據(jù),根據(jù)文獻(xiàn)[12]將訓(xùn)練數(shù)據(jù)集轉(zhuǎn)化成抗體,測(cè)試數(shù)據(jù)集預(yù)處理成抗原,抗原的長(zhǎng)度為92,檢測(cè)器(記憶抗體)的長(zhǎng)度取值95、耐受期未成熟抗體的生命周期取值40、成熟抗體的生命周期取值50、激活閾值γ=5[20]。非記憶抗體的數(shù)量設(shè)置為100,抗體與抗原的匹配半徑在2.2節(jié)給出。 RFAIID算法用C編碼,所有的實(shí)驗(yàn)在Linux平臺(tái)下運(yùn)行(Intel Pentium Dual CPU E2180,16 GB RAM)。 IDS的檢測(cè)結(jié)果包括TP、TN、FP和FN4種[12]。TN和TP對(duì)應(yīng)IDS的正確預(yù)測(cè)的總數(shù),即樣本被正確分類為正常行為的數(shù)量或攻擊的數(shù)量;FP和FN則對(duì)應(yīng)IDS的錯(cuò)誤分類的總數(shù),FP指正常樣本被誤分類為攻擊行為的數(shù)量,FN指攻擊樣本被錯(cuò)誤識(shí)別為正常的總數(shù)。 RFAIID算法的性能評(píng)估指標(biāo)主要包括以下5種: 1)抗體檢測(cè)率DR是指抗原集中攻擊行為被正確分類的比例,用式(4)計(jì)算抗體檢測(cè)率。 (4) 2)抗體誤報(bào)率FAR是指抗原集中所有被誤識(shí)別為攻擊的正常抗原個(gè)數(shù)與測(cè)試集中正??乖倲?shù)的比值,用式(5)計(jì)算抗體誤報(bào)率。 (5) 3)抗體精確率Pre是指抗原集中所有被IDS識(shí)別為攻擊抗原中真正為攻擊抗原的比值,用式(6)計(jì)算抗體精確率。 (6) 4)抗體分類準(zhǔn)確率Acc是指抗原集中被正確分類的抗原個(gè)數(shù)與抗原集樣本總數(shù)的比值,是一個(gè)反映IDS對(duì)正常抗原和攻擊抗原區(qū)分能力大小的總體評(píng)價(jià)指標(biāo),用式(7)計(jì)算抗體準(zhǔn)確率。 (7) 5)F1-score是綜合評(píng)價(jià)IDS對(duì)抗原檢測(cè)率和精確率的一個(gè)指標(biāo),用式(8)計(jì)算抗體F1-score指標(biāo)。 (8) 為了確定算法3中抗體和抗原的匹配半徑的值,對(duì)訓(xùn)練數(shù)據(jù)集中所有異常抗體標(biāo)記為異常,生成抗體森林,對(duì)測(cè)試集進(jìn)行異常檢測(cè),分別設(shè)置匹配半徑值為30~50的21個(gè)整數(shù)值,取10%的數(shù)據(jù)進(jìn)行交叉實(shí)驗(yàn),運(yùn)行10次,取平均值。檢測(cè)結(jié)果如圖4所示。 圖4 不同半徑下的檢測(cè)結(jié)果Fig.4 Detection results under different radius 圖4給出了在不同的匹配半徑下抗原的檢測(cè)率和誤報(bào)率。由檢測(cè)結(jié)果得出隨著檢測(cè)半徑的增大,檢測(cè)率增大,誤報(bào)率降低。當(dāng)檢測(cè)半徑長(zhǎng)度為41時(shí),檢測(cè)率為94.8%,誤報(bào)率為6.2%。當(dāng)檢測(cè)半徑大于41時(shí),檢測(cè)率和誤報(bào)率趨于穩(wěn)定。在后面的實(shí)驗(yàn)中,取檢測(cè)半徑值為41。 樣本集中不同類型的樣本數(shù)量差別較大,當(dāng)樣本數(shù)量較少時(shí),在分類效果上處于劣勢(shì)。針對(duì)不同的訓(xùn)練樣本集,數(shù)據(jù)集抽樣原則如下: 1)DoS攻擊:Dos攻擊的訓(xùn)練集包含391 458條樣本,屬于大樣本數(shù)據(jù)集。實(shí)驗(yàn)中取10組訓(xùn)練樣本集,每組隨機(jī)取訓(xùn)練數(shù)據(jù)集中2%、5%、10%、15%、20%、21%、22%、23%、24%和25%的樣本集進(jìn)行訓(xùn)練得到抗體森林,采用測(cè)試集進(jìn)行檢測(cè),每組數(shù)據(jù)運(yùn)行10次取平均值。 2)Normal:KDD99數(shù)據(jù)集中包含97 278條正常樣本,雖然屬于大樣本數(shù)據(jù)集,為了計(jì)算KDos值,將Normal樣本轉(zhuǎn)化成正??贵w,進(jìn)行克隆選擇得到新抗體集、新抗體集和Dos攻擊數(shù)值相同的數(shù)據(jù)集。在計(jì)算Probe和R2L攻擊的檢出率時(shí),取相同的樣本集。 3)Probe:Probe攻擊訓(xùn)練樣本數(shù)為4 107條,為小樣本集。前3組分別取樣本集中的樣本,啟動(dòng)克隆選擇算法獲得后7組抗體集。每組數(shù)據(jù)運(yùn)行10次得到抗體森林,并對(duì)測(cè)試集進(jìn)行檢測(cè)。 4)R2L:R2L攻擊訓(xùn)練樣本數(shù)為1 126條,屬于小樣本集。前2組分別取樣本集中的樣本,啟動(dòng)克隆選擇算法獲得后8組抗體集。每組數(shù)據(jù)運(yùn)行10次得到抗體森林,并對(duì)測(cè)試集進(jìn)行檢測(cè)。 5)U2R:U2R攻擊訓(xùn)練樣本數(shù)為52條,屬于極小樣本集。第1組取全部樣本,啟動(dòng)克隆選擇算法獲得后9組抗體集。每組數(shù)據(jù)運(yùn)行10次得到抗體森林,并對(duì)測(cè)試集進(jìn)行檢測(cè)。不同樣本集的抽樣數(shù)量如表1所示,實(shí)驗(yàn)仿真結(jié)果如圖5所示。 表1 實(shí)驗(yàn)樣本數(shù)Table 1 Nunber of experimental samples 圖5 不同攻擊識(shí)別結(jié)果Fig.5 Recognition results of different attacks 從圖5檢測(cè)結(jié)果可以得出,隨著抗體樣本數(shù)量的增加,抗原檢測(cè)率隨之增加,當(dāng)樣本集增大到一定數(shù)量時(shí),檢測(cè)率趨于穩(wěn)定,檢測(cè)率穩(wěn)定的拐點(diǎn)設(shè)置為樣本數(shù)值K。 1)隨著DoS攻擊抗體樣本數(shù)量的增加,檢測(cè)率隨之增加。當(dāng)抗體樣本數(shù)量為40 000條時(shí),DR值趨于穩(wěn)定,KDos值為40 000,對(duì)應(yīng)的正常樣本數(shù)為40 000條。 2)隨著抗體Probe攻擊樣本數(shù)量的增加,檢測(cè)率隨之增加。當(dāng)抗原Probe攻擊樣本數(shù)量為8 000條時(shí),DR值趨于穩(wěn)定。因此,取KProbe值為8 000,對(duì)應(yīng)的正常樣本數(shù)為88 000條 。 3)隨著R2L攻擊抗體樣本數(shù)量的增加,檢測(cè)率隨之增加。當(dāng)抗原R2L攻擊樣本數(shù)量為3 500條時(shí),DR值趨于穩(wěn)定。因此,取KR2L值為3 500,對(duì)應(yīng)的正常樣本數(shù)為88 000條。 4)從識(shí)別結(jié)果可以得出,隨著抗原U2R攻擊樣本數(shù)量的增加,檢測(cè)率隨之增加。當(dāng)抗原U2R攻擊樣本數(shù)量為200條時(shí),DR值趨于穩(wěn)定。因此,取KR2L值為200,對(duì)應(yīng)的正常樣本數(shù)為60 000條。 綜合以上4種情況,隨著樣本集數(shù)量的增多,檢測(cè)率隨之增加,證明本文提出的RFAIID算法具有可擴(kuò)展性,通過(guò)實(shí)驗(yàn)得到KNormal=88 000,KDoS=40 000,KProbe=8 000,KR2L=200。 為了更好地驗(yàn)證本文提出的算法,在KDD99數(shù)據(jù)集上運(yùn)行RFAIID算法,算法的參數(shù)詳見(jiàn)2.1節(jié)~2.3節(jié)。將RFAIID與概述部分的算法進(jìn)行對(duì)比,將所有攻擊行為作為異常樣本進(jìn)行檢測(cè)。由于異常樣本屬于大樣本數(shù)據(jù)集,因此參照Dos攻擊,每組隨機(jī)取訓(xùn)練數(shù)據(jù)集中10%、15%、20%、21%、22%、23%、24%和25%的樣本集進(jìn)行訓(xùn)練得到抗體森林,采用測(cè)試集進(jìn)行檢測(cè),每組數(shù)據(jù)運(yùn)行10次得到平均值。不同算法異常檢測(cè)性能對(duì)比結(jié)果如表2所示,N/A表示結(jié)果不明確。 表2 不同算法異常檢測(cè)性能比較Table 2 Comparison of abnormal detection performances of different algorithms 從表2結(jié)果可以看出,本文提出的RFAIID算法檢測(cè)率比文獻(xiàn)[3]低0.010 7,準(zhǔn)確率高0.007 2,誤報(bào)率低0.007 1,性能相近;比文獻(xiàn)[11]提出的改進(jìn)克隆選擇算法的性能差;檢測(cè)性能比其他算法要高。 為測(cè)試RFAIID算法的分類性能,尤其是對(duì)小樣本數(shù)據(jù)集的檢測(cè),將RFAIID算法和表2中算法進(jìn)行比較,不同攻擊類型下的算法檢測(cè)率比較如表3所示。 表3 不同算法分類性能比較Table 3 Comparison of classification performance of different algorithms 從表3可以看出,本文提出的RFAIID算法對(duì)小樣本數(shù)據(jù)Probe、U2R和R2L攻擊的檢測(cè)性能優(yōu)于其他算法。因此,得出RFAIID算法對(duì)各種攻擊的檢測(cè)率都較高,可提高算法的自適應(yīng)能力,對(duì)小樣本的檢測(cè)性能較高。 在網(wǎng)絡(luò)異常檢測(cè)中,訓(xùn)練集樣本的數(shù)量和質(zhì)量決定了檢測(cè)的性能。目前較多入侵檢測(cè)系統(tǒng)的自適應(yīng)能力較差,小樣本數(shù)據(jù)檢測(cè)率較低。針對(duì)該問(wèn)題,本文提出一種基于隨機(jī)森林和人工免疫的入侵檢測(cè)算法(RFAIID),并構(gòu)建了抗體森林的模型。通過(guò)人工免疫算法提高系統(tǒng)的自適應(yīng)能力,針對(duì)小樣本數(shù)據(jù)提取較優(yōu)良的抗體,提高檢測(cè)性能,并結(jié)合人工免疫算法給出抗體森林檢測(cè)的分類方法。實(shí)驗(yàn)結(jié)果表明,該算法具有較好的自適應(yīng)能力,且檢測(cè)率較高。由于算法中的冗余屬性影響檢測(cè)速度,因此下一步將對(duì)冗余屬性進(jìn)行降維。1.3 新抗體生成方法
1.4 隨機(jī)抗體森林檢測(cè)策略
2 仿真結(jié)果與分析
2.1 測(cè)試數(shù)據(jù)和性能指標(biāo)
2.2 匹配半徑
2.3 參數(shù)K的設(shè)置
2.4 RFAIID算法的分類性能和其他算法的比較
3 結(jié)束語(yǔ)