(福建兒童發(fā)展職業(yè)學(xué)院信息中心,福建 福州350007)
將神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于入侵檢測(cè)系統(tǒng),可大大提高系統(tǒng)的智能性,增強(qiáng)系統(tǒng)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的分類處理能力[1]。當(dāng)數(shù)據(jù)經(jīng)網(wǎng)絡(luò)進(jìn)入計(jì)算機(jī)時(shí),必須經(jīng)過(guò)由神經(jīng)網(wǎng)絡(luò)訓(xùn)練好的入侵檢測(cè)系統(tǒng),該系統(tǒng)對(duì)所有數(shù)據(jù)進(jìn)行分析,如果是正常數(shù)據(jù)則讓其通過(guò),否則將判斷出該數(shù)據(jù)屬于或最類似的攻擊種類,然后根據(jù)系統(tǒng)預(yù)先設(shè)置好的每種攻擊手段所對(duì)應(yīng)的防范措施,采取最佳的方法對(duì)計(jì)算機(jī)進(jìn)行保護(hù)[2]。這樣使系統(tǒng)的防御就有了目標(biāo)和側(cè)重,采用的措施也更加準(zhǔn)確、快速。下面,筆者分別運(yùn)用徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)和誤差反向傳播(BP)神經(jīng)網(wǎng)絡(luò)構(gòu)建入侵檢測(cè)模型并對(duì)上述方法進(jìn)行比較。
試驗(yàn)中所用數(shù)據(jù)均來(lái)自于自美國(guó)國(guó)防高級(jí)研究計(jì)劃局(DARPA)KDD CUP99數(shù)據(jù)集中的網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)包kddcup_data_10percent。KDD CUP99數(shù)據(jù)集是從一個(gè)模擬的美國(guó)空軍局域網(wǎng)上采集來(lái)的9個(gè)星期的網(wǎng)絡(luò)連接數(shù)據(jù),該數(shù)據(jù)集總共由500萬(wàn)條記錄構(gòu)成,并將攻擊類型分為4類,然后又細(xì)分為39小類,每1類代表1種攻擊類型,類型名被標(biāo)記在訓(xùn)練數(shù)據(jù)集每1行記錄的最后1項(xiàng)。每一條記錄用41個(gè)特征來(lái)描述,加上數(shù)據(jù)類型名后總共是42項(xiàng)。此外,還提供一個(gè)10%的訓(xùn)練子集和測(cè)試子集。網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)包kddcup_data_10percent是對(duì)KDD CUP99數(shù)據(jù)集進(jìn)行10%的抽樣后得到的,其數(shù)據(jù)被用來(lái)模擬網(wǎng)絡(luò)中的數(shù)據(jù),對(duì)基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)進(jìn)行訓(xùn)練和測(cè)試。
用相同數(shù)據(jù)集分別對(duì)BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后用相同數(shù)據(jù)對(duì)2個(gè)訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行測(cè)試。
從數(shù)據(jù)集中分別隨機(jī)選取97條和197條數(shù)據(jù),組成2個(gè)數(shù)據(jù)樣本集,作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本數(shù)據(jù),再?gòu)闹须S機(jī)選取20條作為測(cè)試數(shù)據(jù)集。為增強(qiáng)網(wǎng)絡(luò)實(shí)用性和容納性,盡可能選取包含本數(shù)據(jù)源中所含有的各類數(shù)據(jù)特征狀態(tài)。訓(xùn)練數(shù)據(jù)的種類包括:①Normal(正常)數(shù)據(jù);②Back(DOS攻擊)數(shù)據(jù);③Smurf(DOS攻擊)數(shù)據(jù);④Portsweep(FROBE攻擊)數(shù)據(jù);⑤Neptune(DOS攻擊)數(shù)據(jù);⑥Warezclient(R2L攻擊)數(shù)據(jù)。
因?yàn)镵DD CUP99數(shù)據(jù)集中每條數(shù)據(jù)用42個(gè)特征來(lái)描述(最后一個(gè)特征為數(shù)據(jù)種類),但是Matlab工具箱在處理數(shù)據(jù)時(shí),不能識(shí)別數(shù)據(jù)中的特征字符(如tcp,smtp,SF,normal等),因而先將每條數(shù)據(jù)最后一個(gè)特征(數(shù)據(jù)種類)刪掉,然后將神經(jīng)網(wǎng)絡(luò)無(wú)法處理的符號(hào)字段轉(zhuǎn)換成數(shù)值字段。
1)輸入層和輸出層的設(shè)計(jì) 輸入層的節(jié)點(diǎn)數(shù)取決于輸入樣本數(shù)據(jù)的特征向量,即一個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)輸入變量,由于輸入向量有41個(gè)元素,所以網(wǎng)絡(luò)輸入層的神經(jīng)元有41個(gè)。輸出層有3個(gè)節(jié)點(diǎn),輸出為 [000]、[0 0 1]、[0 1 0]、[0 1 1]、[1 0 0]和 [1 0 1],分別代表6種數(shù)據(jù)類型,即 Normal數(shù)據(jù)、Portsweep數(shù)據(jù)、Smurf數(shù)據(jù)、Warezclient數(shù)據(jù)、Back數(shù)據(jù)和Neptune數(shù)據(jù)。
2)函數(shù)調(diào)用 調(diào)用 net=newrbe(p,t,spread)函數(shù),并對(duì)函數(shù)中的分布常數(shù)spread(通常默認(rèn)為1)進(jìn)行設(shè)置來(lái)使仿真試驗(yàn)的效果更逼真。
3)門(mén)限判決系統(tǒng) 樣本特征用二進(jìn)制代碼表示(見(jiàn)表1)。第1種特征狀態(tài)為000,第2種特征狀態(tài)為0 0 1,第3種狀態(tài)為0 1 0,第4種狀態(tài)為0 1 1,第5種狀態(tài)為1 0 0,第6種狀態(tài)為1 0 1。每個(gè)狀態(tài)中的3個(gè)分量如果在-0.05~0.5(包括0.5)之間則認(rèn)為是0,如果在0.5~1.05之間則認(rèn)為是1。
表1 樣本特征的二進(jìn)制表示代碼
1)輸入層和輸出層的設(shè)計(jì) 輸入層的節(jié)點(diǎn)數(shù)取決于輸入樣本數(shù)據(jù)的特征向量,因?yàn)?個(gè)試驗(yàn)采用的數(shù)據(jù)相同,所以輸入向量有41個(gè)元素,網(wǎng)絡(luò)輸入層的神經(jīng)元也就有41個(gè)。輸出層與RBF神經(jīng)網(wǎng)絡(luò)輸出層相同,也有3個(gè)節(jié)點(diǎn)。
2)隱含層的設(shè)計(jì) 隱層的節(jié)點(diǎn)數(shù)目設(shè)計(jì)十分復(fù)雜,到目前為止,仍然沒(méi)有一個(gè)準(zhǔn)確的方法能夠確定隱層節(jié)點(diǎn)的數(shù)目。一般根據(jù)前人設(shè)計(jì)所得的經(jīng)驗(yàn)和研究者進(jìn)行試驗(yàn)來(lái)確定。根據(jù)Kolmogorov經(jīng)驗(yàn)定理可知,3層神經(jīng)網(wǎng)絡(luò)中輸入層節(jié)點(diǎn)數(shù)與隱含層節(jié)點(diǎn)數(shù)之間的近似關(guān)系如下[3]:
式中,K為隱含層節(jié)點(diǎn)數(shù);M為輸入層節(jié)點(diǎn)數(shù)。
由式(1)計(jì)算可以得到隱含層節(jié)點(diǎn)個(gè)數(shù)要小于或等于83左右,具體數(shù)目應(yīng)在研究中反復(fù)試驗(yàn),才能得到較理性的值。
3)傳輸函數(shù)設(shè)計(jì) 經(jīng)過(guò)對(duì)比,輸入層與中間層間的傳遞函數(shù)采用正切函數(shù)特性的Sigmoid函數(shù)(tansig),中間層與輸出層間的傳遞函數(shù)使用對(duì)數(shù)特性的Sigmoid函數(shù)(logsig)。
4)訓(xùn)練函數(shù)設(shè)計(jì) 直接調(diào)用net=train(net,p,t)函數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
5)門(mén)限判決系統(tǒng) 與RBF網(wǎng)絡(luò)輸出特征一樣,通過(guò)查表1可判斷攻擊的種類。
設(shè)置2組試驗(yàn),其中1組針對(duì)BP神經(jīng)網(wǎng)絡(luò),另1組針對(duì)RBF神經(jīng)網(wǎng)絡(luò)。每組包括2個(gè)試驗(yàn)。試驗(yàn)采用對(duì)比法,從橫向和縱向2個(gè)方向進(jìn)行比較。橫向比較即BP神經(jīng)網(wǎng)絡(luò)與RBF神經(jīng)網(wǎng)絡(luò)性能的比較,縱向比較即對(duì)同一種網(wǎng)絡(luò),采用不同數(shù)量的訓(xùn)練樣本數(shù)據(jù),比較其試驗(yàn)結(jié)果。其中誤報(bào)率=誤報(bào)的數(shù)據(jù)個(gè)數(shù)/測(cè)試數(shù)據(jù)總數(shù);漏報(bào)率=漏報(bào)的數(shù)據(jù)個(gè)數(shù)/測(cè)試數(shù)據(jù)總數(shù)。
進(jìn)行仿真試驗(yàn)時(shí)使用2個(gè)訓(xùn)練樣本數(shù)據(jù)集,第1個(gè)數(shù)據(jù)集含97條樣本數(shù)據(jù),第2個(gè)數(shù)據(jù)集含197條樣本數(shù)據(jù)。用隨機(jī)選取的20條數(shù)據(jù)作為測(cè)試數(shù)據(jù),數(shù)據(jù)中包含了幾種主要的攻擊類型。
試驗(yàn)輸出數(shù)據(jù)結(jié)果有20列,每1列都是由1個(gè)測(cè)試數(shù)據(jù)經(jīng)過(guò)已訓(xùn)練好的RBF神經(jīng)網(wǎng)絡(luò)運(yùn)算后得到的。每1列有3個(gè)分量,從上到下依次對(duì)應(yīng)樣本特征的3個(gè)分量。試驗(yàn)輸出數(shù)據(jù)結(jié)果的分量值在-0.05~0.5(包括0.5)之間則認(rèn)為是0,如果在0.5~1.05之間則認(rèn)為是1。
第1個(gè)試驗(yàn)訓(xùn)練數(shù)據(jù)為97條,對(duì)試驗(yàn)輸出結(jié)果進(jìn)行分析,該網(wǎng)絡(luò)除對(duì)前6條正常數(shù)據(jù)判斷正確外,對(duì)后面的14條攻擊數(shù)據(jù)均將其誤認(rèn)為是正常數(shù)據(jù),故出現(xiàn)漏報(bào)情況,漏報(bào)率為70%,誤報(bào)率為0,從開(kāi)始訓(xùn)練網(wǎng)絡(luò)系統(tǒng)到對(duì)測(cè)試數(shù)據(jù)做出判斷用時(shí)為0.2180s。
第2個(gè)試驗(yàn)訓(xùn)練數(shù)據(jù)為197條,對(duì)試驗(yàn)輸出結(jié)果進(jìn)行分析,該網(wǎng)絡(luò)除對(duì)前7條和第13條數(shù)據(jù)種類判斷正確外,對(duì)剩余12條攻擊數(shù)據(jù)均將其誤認(rèn)為是正常數(shù)據(jù),誤報(bào)率為0,漏報(bào)率為60%,從開(kāi)始訓(xùn)練網(wǎng)絡(luò)系統(tǒng)到對(duì)測(cè)試數(shù)據(jù)做出判斷用時(shí)0.3280s。
該試驗(yàn)中所用到的訓(xùn)練樣本數(shù)據(jù)和測(cè)試數(shù)據(jù)與RBF網(wǎng)絡(luò)試驗(yàn)相同。網(wǎng)絡(luò)參數(shù)設(shè)置如下:訓(xùn)練次數(shù)為4400;訓(xùn)練目標(biāo)精度為0.001;2次顯示的訓(xùn)練步數(shù)為25。
第1個(gè)試驗(yàn)訓(xùn)練數(shù)據(jù)為97條,經(jīng)過(guò)2110步訓(xùn)練后,網(wǎng)絡(luò)目標(biāo)誤差達(dá)到要求,訓(xùn)練曲線收斂,訓(xùn)練效果比較好。對(duì)試驗(yàn)輸出結(jié)果進(jìn)行分析,該網(wǎng)絡(luò)對(duì)20條測(cè)試數(shù)據(jù)的種類判斷全部正確,誤報(bào)率為0,漏報(bào)率為0。從開(kāi)始訓(xùn)練網(wǎng)絡(luò)系統(tǒng)到對(duì)測(cè)試數(shù)據(jù)做出判斷用時(shí)83.5000s。
第2個(gè)試驗(yàn)訓(xùn)練數(shù)據(jù)為197條,該網(wǎng)絡(luò)經(jīng)過(guò)4400步訓(xùn)練,但是實(shí)驗(yàn)精度并未達(dá)到預(yù)期的10-3級(jí),只達(dá)到10-2級(jí)。從2000步開(kāi)始,訓(xùn)練曲線就一直保持平直再無(wú)變化,說(shuō)明該BP網(wǎng)絡(luò)此時(shí)出現(xiàn)陷入局部最優(yōu)點(diǎn)和進(jìn)入假飽和狀態(tài)。該試驗(yàn)雖未達(dá)到預(yù)期訓(xùn)練目標(biāo),但是從試驗(yàn)輸出數(shù)據(jù)結(jié)果來(lái)看,測(cè)試結(jié)果比較理想,分析判斷精度比較高。根據(jù)BP神經(jīng)網(wǎng)絡(luò)的門(mén)限判決系統(tǒng)判斷得出,該網(wǎng)絡(luò)對(duì)20條測(cè)試數(shù)據(jù)的種類判斷全部正確,誤報(bào)率為0,漏報(bào)率為0,用時(shí)118.7960s。
1)RBF網(wǎng)絡(luò)的訓(xùn)練分析計(jì)算速度比BP網(wǎng)絡(luò)快。在對(duì)20條測(cè)試數(shù)據(jù)進(jìn)行分析處理時(shí),RBF網(wǎng)絡(luò)的2組試驗(yàn)分別用時(shí)約0.2s和0.3s,而B(niǎo)P網(wǎng)絡(luò)的2組試驗(yàn)用時(shí)卻長(zhǎng)達(dá)1~2min。如果當(dāng)數(shù)據(jù)量再大一些,則BP網(wǎng)絡(luò)用時(shí)將會(huì)更長(zhǎng)。這樣勢(shì)必會(huì)嚴(yán)重影響檢測(cè)系統(tǒng)的運(yùn)行速度,降低入侵檢測(cè)系統(tǒng)對(duì)攻擊數(shù)據(jù)監(jiān)控的實(shí)時(shí)性。當(dāng)數(shù)據(jù)量足夠大時(shí),有可能造成檢測(cè)系統(tǒng)崩潰。
2)RBF網(wǎng)絡(luò)在建網(wǎng)、設(shè)置參數(shù)方面比BP網(wǎng)絡(luò)簡(jiǎn)單。RBF網(wǎng)絡(luò)建網(wǎng)時(shí)僅需調(diào)用net=newrbe(p,t,spread)函數(shù),且設(shè)置網(wǎng)絡(luò)參數(shù)時(shí)只需對(duì)擴(kuò)展常數(shù)spread進(jìn)行設(shè)定。而B(niǎo)P網(wǎng)絡(luò)在建網(wǎng)時(shí)則需調(diào)用net=newff(minmax(p))、tansig、logsig和trainoss等函數(shù),且需要設(shè)置的參數(shù)種類較多。要對(duì)隱含層節(jié)點(diǎn)數(shù)、訓(xùn)練步長(zhǎng)和訓(xùn)練目標(biāo)等各項(xiàng)參數(shù)反復(fù)設(shè)置比較后才能確定較理想的值。上述參數(shù)中只要有一項(xiàng)參數(shù)變動(dòng),就會(huì)影響試驗(yàn)結(jié)果。
3)BP網(wǎng)絡(luò)的漏報(bào)率比RBF網(wǎng)絡(luò)低。對(duì)于相同的訓(xùn)練樣本數(shù)據(jù)和測(cè)試數(shù)據(jù),BP網(wǎng)絡(luò)的漏報(bào)率均為0,而RBF網(wǎng)絡(luò)的漏報(bào)率超過(guò)50%。漏報(bào)率過(guò)高嚴(yán)重影響入侵檢測(cè)系統(tǒng)的準(zhǔn)確性和穩(wěn)定性。攻擊行為不能被發(fā)現(xiàn),系統(tǒng)得不到保護(hù),這是入侵檢測(cè)系統(tǒng)最致命的問(wèn)題之一。
4)RBF神經(jīng)網(wǎng)絡(luò)對(duì)試驗(yàn)的訓(xùn)練樣本數(shù)據(jù)適應(yīng)性比BP網(wǎng)絡(luò)差。對(duì)于相同的訓(xùn)練樣本數(shù)據(jù)集,BP網(wǎng)絡(luò)通過(guò)訓(xùn)練后,對(duì)測(cè)試數(shù)據(jù)的分類處理可以做到準(zhǔn)確無(wú)誤,而RBF網(wǎng)絡(luò)卻很難適應(yīng)訓(xùn)練樣本數(shù)據(jù)的特征,訓(xùn)練后的網(wǎng)絡(luò)對(duì)測(cè)試數(shù)據(jù)的分類處理結(jié)果也不理想。在試驗(yàn)中,筆者嘗試不斷增加訓(xùn)練樣本數(shù)據(jù)量,將各種類型的數(shù)據(jù)盡可能多地收入到訓(xùn)練樣本中,但漏報(bào)率沒(méi)有明顯降低,說(shuō)明試驗(yàn)結(jié)果不理想。
5)在增加訓(xùn)練樣本數(shù)據(jù)量后,2個(gè)網(wǎng)絡(luò)對(duì)數(shù)據(jù)分類處理的精度都有所提高,但RBF神經(jīng)網(wǎng)絡(luò)對(duì)所漏報(bào)的數(shù)據(jù)依然無(wú)法判斷其屬于哪類攻擊類型。
[1]吳慶濤,邵志清 .入侵檢測(cè)研究綜述 [J].計(jì)算機(jī)應(yīng)用研究,2005(5):11-14.
[2]楊智君,田地,馬駿驍,等 .入侵檢測(cè)技術(shù)研究綜述 [J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(12):2119-2123.
[3]曹元大 .入侵檢測(cè)技術(shù) [M].北京:人民郵電出版社,2010.