滕少華,陳 成,霍穎翔
(廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州 510006)
近20年來,隨著互聯(lián)網(wǎng)應(yīng)用的不斷深入,網(wǎng)絡(luò)攻擊給用戶造成的損失日益嚴(yán)重。為了能更好地保護(hù)用戶,降低攻擊造成的損失,入侵檢測(cè)系統(tǒng)(Intrusion Detection System, IDS)被提出以識(shí)別惡意流量,檢測(cè)網(wǎng)絡(luò)攻擊。為了更好地監(jiān)控網(wǎng)絡(luò)流量,應(yīng)對(duì)未知攻擊類型的威脅,許多機(jī)器學(xué)習(xí)算法,如支持向量機(jī)(Support Vector Machine, SVM)[1]、隨機(jī)森林(Random Forest, RF)、神經(jīng)網(wǎng)絡(luò)等被應(yīng)用到IDS研究中以期取得更優(yōu)的檢測(cè)效果。
一方面,各類算法自有其優(yōu)缺點(diǎn),如一些算法可能對(duì)某一攻擊類型來說效果不錯(cuò),但對(duì)其他類型攻擊的檢測(cè)效果不佳[2];另一方面,許多研究專注于提高整體的檢測(cè)精度,而對(duì)小樣本(攻擊樣本)的檢測(cè)效果不佳[3]。但實(shí)際上,考慮到攻擊樣本相對(duì)正常樣本極端不平衡的情況,更應(yīng)該關(guān)注入侵檢測(cè)分類器對(duì)攻擊樣本的檢測(cè)能力[4]。
一些學(xué)者提出結(jié)合不同算法的混合入侵檢測(cè)模型,嘗試在提高整體檢測(cè)率的同時(shí),降低誤報(bào)率,如滕少華等[5]提出模糊C均值聚類算法及決策樹(C4.5算法)相結(jié)合的入侵檢測(cè)模型,較好地克服兩者缺點(diǎn),以獲得檢測(cè)效率與精度的提高;Hwang等[6]提出將黑名單、白名單與SSVM (Smooth Support Vector Machine)分類器相結(jié)合,以黑名單進(jìn)行初篩,再依靠白名單來降低誤報(bào)達(dá)到降低誤報(bào)率(False Positive Rate, FPR)的目的;Li等[7]提出的模型將待測(cè)程序與攻擊程序集合進(jìn)行匹配,如果待測(cè)程序與攻擊程序集合未精確匹配,則再由k-最近鄰(k-Nearest Neighbor, kNN)算法進(jìn)行異常檢測(cè);Mairal等[8]提出的混合模型以多個(gè)分類器多層級(jí)聯(lián)進(jìn)行檢測(cè),雖然增加了額外的開銷,但顯著提高了入侵檢測(cè)系統(tǒng)的檢測(cè)精度。
本文提出一種基于小樣本糾錯(cuò)的多層入侵檢測(cè)分類模型,該模型嘗試在正交投影降維分類算法[9]的研究基礎(chǔ)上,結(jié)合裝袋算法(Bootstrap Aggregating,Bagging)及錯(cuò)分糾錯(cuò)策略,實(shí)現(xiàn)入侵檢測(cè)。本文用NSL-KDD數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),驗(yàn)證了該模型的效果,在整體召回率及準(zhǔn)確率上提升明顯,對(duì)于DoS、Probe、R2L類攻擊樣本的檢測(cè)能力相對(duì)較佳。
針對(duì)入侵檢測(cè)這一課題,許多學(xué)者嘗試基于近年來出現(xiàn)的各種機(jī)器學(xué)習(xí)算法,如SVM,決策樹,極限學(xué)習(xí)機(jī)(Extreme Learning Machine, ELM),無監(jiān)督學(xué)習(xí)等做了大量工作,相關(guān)研究也成為入侵檢測(cè)研究的主流方法。
由于攻擊樣本一般在整個(gè)網(wǎng)絡(luò)流量中占比很小,這就造成了樣本不平衡的問題,攻擊樣本一般遠(yuǎn)小于正常流量。然而,作為少數(shù)類的攻擊樣本往往攜帶重要信息,傳統(tǒng)分類算法難以從極有限的樣本中得到有效訓(xùn)練,如何處理不平衡數(shù)據(jù)集是當(dāng)前入侵檢測(cè)領(lǐng)域的一大難題[10]。對(duì)此,部分學(xué)者[3]提出欠采樣、過采樣等抽樣方法以平衡數(shù)據(jù)集,大量文獻(xiàn)對(duì)欠采樣、過采樣、合成少數(shù)類過采樣(Synthetic Minority Oversampling Technique, SMOTE)等[11]方法進(jìn)行了研究。
傳統(tǒng)簡(jiǎn)單的隨機(jī)欠采樣方法,簡(jiǎn)單舍棄數(shù)據(jù),常丟失多數(shù)類樣本中的有用信息而效果不佳。Haixiang等[3]基于527篇相關(guān)論文對(duì)不平衡數(shù)據(jù)進(jìn)行分類問題的策略進(jìn)行了總結(jié),提出一種處理不平衡數(shù)據(jù)集學(xué)習(xí)的通用框架。Cao等[12]提出基于時(shí)間相關(guān)性對(duì)樣本聚類的過采樣方法,其相比非過采樣方法具有一定優(yōu)勢(shì)。Nekooeimehr等[13]提出一種基于不平衡數(shù)據(jù)集的自適應(yīng)半監(jiān)督加權(quán)過采樣方法,該過采樣方法采用半監(jiān)督層次聚類對(duì)少數(shù)類樣本進(jìn)行自適應(yīng)聚類,實(shí)驗(yàn)證明該方法對(duì)多數(shù)數(shù)據(jù)集效果明顯。Sun等[2]提出基于一種新的集成方法,將不平衡數(shù)據(jù)集轉(zhuǎn)換為多個(gè)均衡的數(shù)據(jù)集,在此基礎(chǔ)上訓(xùn)練基分類器,最后將分類結(jié)果整合,但在實(shí)際操作中,該欠采樣策略可能使得多數(shù)類樣本的有用數(shù)據(jù)丟失。Cateni等[11]將過采樣與欠采樣方法相結(jié)合,提出一種重采樣方法,在不大量增加合成樣本的情況下,獲取平衡數(shù)據(jù)集,以便于分類器學(xué)習(xí)。
Reunig等[14]提出局部離群點(diǎn)搜索方法,其基于局部離群因子(Local Outlier Factor, LOF)構(gòu)造了用于入侵檢測(cè)的LOF模型;Ingre等[15]構(gòu)造了人工神經(jīng)網(wǎng)絡(luò)模型。由于傳統(tǒng)機(jī)器學(xué)習(xí)中單分類器自身的局限性,其在IDS的運(yùn)用中,一定程度上已達(dá)到瓶頸,面臨難以平衡檢測(cè)率與誤報(bào)率的困境。多分類器適時(shí)地被提出,如何有效構(gòu)建混合模型成為該領(lǐng)域研究熱點(diǎn)之一。
多數(shù)單分類器的檢測(cè)方法,如SVM、決策樹、神經(jīng)網(wǎng)絡(luò)等,往往能很好地處理平衡數(shù)據(jù)集的問題,但面臨不平衡數(shù)據(jù)集時(shí)不易優(yōu)化。實(shí)際上,這些分類器設(shè)計(jì)初衷是優(yōu)化整體性能,而往往在少數(shù)類樣本中表現(xiàn)不佳,導(dǎo)致在處理入侵檢測(cè)問題時(shí),對(duì)攻擊類別的處理考慮不佳,如決策樹的少數(shù)類類別樣本可能在剪枝操作中被去除。對(duì)此,多分類器如集成分類器,混合分類器等被提出。
在入侵檢測(cè)領(lǐng)域中,集成分類器如Bagging,Boosting等被提出,如胡臻偉等[16]針對(duì)單分類器與自適應(yīng)增強(qiáng)算法(Adaptive Boosting, AdaBoost)進(jìn)行了比較,相較kNN、ID3 (Iterative Dichotmizer 3)決策樹等,Adaboost將多個(gè)弱分類器集成為強(qiáng)分類器,以較長(zhǎng)的訓(xùn)練時(shí)間為代價(jià)取得了不錯(cuò)的精確率及召回率。Gaikwad等[17]在常用的Bagging模型的基礎(chǔ)上提出一種基于剪枝算法(Reduced Error Pruning Tree,REPTree)的Bagging集成方法,降低了模型的構(gòu)建時(shí)間復(fù)雜度并實(shí)現(xiàn)了較低的誤報(bào)率。Salo等[18]提出一種基于SVM、kNN和多層感知機(jī)(Multi-Layer Perceptron, MLP)算法的集成分類模型,該模型基于IG-PCA (Information Gain-Principal Component Analysis)算法進(jìn)行降維,實(shí)驗(yàn)證明,該模型相較于單分類器擁有較低的誤報(bào)率,但難以滿足實(shí)時(shí)的數(shù)據(jù)流檢測(cè)需求。
相較于集成分類器,混合分類器期望結(jié)合異常檢測(cè)和誤用檢測(cè)取長(zhǎng)補(bǔ)短,提高準(zhǔn)確率的同時(shí)減少誤報(bào),即某一分類器的輸出是另一分類器的輸入,組成混合分類器,其組合策略對(duì)模型檢測(cè)效果影響較大。Jiang等[19]提出基于C4.5決策樹和樸素貝葉斯(Naive Bayes, NB)的混合模型,雖然相比傳統(tǒng)C4.5、NB單一算法提高了攻擊類別的分類準(zhǔn)確率,但并未考慮各自分類器的缺點(diǎn),即決策樹的過擬合問題及NB模型的條件獨(dú)立性假設(shè)(即每個(gè)變量的概率分布相互獨(dú)立)。對(duì)此,姚濰等[20]針對(duì)上述基于C4.5和NB的混合模型進(jìn)行改進(jìn),提高了攻擊類別的檢測(cè)精度,取得了不錯(cuò)的結(jié)果。郭春等[21]提出一種兩層入侵檢測(cè)模型:對(duì)降維后的樣本先通過基于樣本簇中心位置變化的異常檢測(cè)分類器初篩,然后用kNN進(jìn)行精篩以降低誤報(bào)率。Latah等[22]結(jié)合kNN及ELM算法,提出用于軟件定義網(wǎng)絡(luò)的多層入侵檢測(cè)模型,但誤報(bào)率較高。Horng等[23]提出的攻擊檢測(cè)模型,結(jié)合了SVM及層次聚類算法,其對(duì)DoS及Probe攻擊樣本的檢測(cè)效果較佳,但對(duì)U2R及R2L攻擊的檢測(cè)效果不佳。
在入侵檢測(cè)時(shí)間復(fù)雜度方面,Pajouh等[24]提出基于NB及CF-kNN的檢測(cè)模型;Kim等[25]提出基于C4.5及SVM的算法模型,顯著減少訓(xùn)練及測(cè)試時(shí)間,僅為傳統(tǒng)模型的50%和60%;滕少華等[9]采用基于正交投影的降維分類方法對(duì)紙幣真?zhèn)蔚炔煌瑪?shù)據(jù)集進(jìn)行了分類,該算法性能優(yōu)勢(shì)明顯,相較于SVM等算法,分類準(zhǔn)確率差別較小,且速度優(yōu)勢(shì)明顯,十分適用于入侵檢測(cè)等實(shí)時(shí)性要求高的場(chǎng)景。
最后,由于樣本特征維數(shù)的選擇對(duì)于入侵檢測(cè)系統(tǒng)的檢測(cè)時(shí)間及性能影響很大,在諸如NSLKDD等入侵檢測(cè)數(shù)據(jù)集中,構(gòu)建表現(xiàn)優(yōu)異的分類模型并不需要全部的特征維度,刪除部分冗余特征反而有利于提高模型的響應(yīng)時(shí)間及準(zhǔn)確率[26]。針對(duì)這一問題,文獻(xiàn)[27]針對(duì)不同特征選擇方法進(jìn)行了比較,并指出特征選擇的方法主要分為如下3種:Filter過濾器方法、Wrapper包裹式方法及Embedded嵌入式方法。
不同的特征選取方法對(duì)模型時(shí)間復(fù)雜度及檢測(cè)效率影響很大,一些學(xué)者對(duì)此進(jìn)行了較全面的比較[26,28-29]。Darshan等[30]比較了區(qū)分特征選擇,互信息,類別比例差及Darmstadt標(biāo)引(Darmstadt Indexing Approach, DIA)4種方法,實(shí)驗(yàn)表明區(qū)分特征選擇及互信息方法在檢測(cè)準(zhǔn)確率上效果更優(yōu)。Aljawarneh等[31]在預(yù)處理的基礎(chǔ)上基于訓(xùn)練樣本的信息增益(Information Gain, IG)對(duì)數(shù)據(jù)集進(jìn)行了特征選擇,提高了混合模型的準(zhǔn)確率并減少了檢測(cè)時(shí)間。
實(shí)際上,在高維數(shù)據(jù)集上進(jìn)行入侵檢測(cè)分類模型的構(gòu)建,特征選擇是十分必要的,其常常與入侵檢測(cè)分類模型相結(jié)合,表現(xiàn)優(yōu)異的特征選擇方法能使分類模型的構(gòu)建效果更佳。
針對(duì)單分類器對(duì)攻擊樣本學(xué)習(xí)效果不佳的問題,本節(jié)對(duì)基于小樣本糾錯(cuò)的多層入侵檢測(cè)分類模型進(jìn)行建模。該模型結(jié)合正交投影降維分類算法、RF及基于LibSVM[32]的Bagging算法構(gòu)建入侵檢測(cè)混合分類器,如圖1所示。
圖 1 混合分類器示意圖Fig.1 Overall structure of the hybrid classifier
如圖1所示,在初篩部分,使用基于正交投影的降維分類算法構(gòu)建分類器①進(jìn)行分類;隨后對(duì)原訓(xùn)練集的攻擊樣本進(jìn)行擴(kuò)充。第二步,構(gòu)建第二層的糾錯(cuò)分類器,進(jìn)行第一次糾錯(cuò),其中分類器②使用RF算法,分類器⑦⑧使用以SVM算法為基分類器構(gòu)建的Bagging集成算法。第三步,使用SVM算法構(gòu)建第三層的糾錯(cuò)分類器③④⑤⑥,進(jìn)行第二次糾錯(cuò);最后,輸出待測(cè)樣本的分類結(jié)果。
在本模型中,采用NSL-KDD的訓(xùn)練集作為訓(xùn)練樣本訓(xùn)練正交投影降維分類器[9],使用NSLKDD_Train+作為訓(xùn)練集,簡(jiǎn)記為Train,NSLKDD_Test+數(shù)據(jù)集作為測(cè)試集,簡(jiǎn)記為Test,該分類器將待測(cè)樣本分類為疑似Normal、DoS、Probe 3類,其算法過程如表1所示。
首先,使用訓(xùn)練集中的Normal、DoS、Probe樣本對(duì)第一層分類器進(jìn)行訓(xùn)練,然后以該分類器將訓(xùn)練集Train劃分為疑似Normal、疑似DoS及疑似Probe類,記 為 traina1,t rainb1,t rainc1,以 該 分 類 器 將 訓(xùn) 練 集Test劃分為疑似Normal、疑似DoS及疑似Probe類,記為t esta1,testb1,testc1。
表 1 基于正交投影的降維分類算法Table 1 Classification method based on dimension reduction algorithm
其中,僅使用訓(xùn)練集中的Normal、DoS、Probe樣本對(duì)第一層分類器進(jìn)行訓(xùn)練。這樣,當(dāng)使用第一層分類器對(duì)完全訓(xùn)練集或測(cè)試集進(jìn)行分類時(shí),當(dāng)中的U2R及R2L樣本就會(huì)分散到到第一層的疑似Normal、疑似DoS及疑似Probe類中,這是本模型有意的特殊設(shè)計(jì),被分散的U2R及R2L樣本將在后面層進(jìn)行處理。本層分類器起到了快速初篩,以及數(shù)據(jù)劃分的作用,為后面各層多個(gè)分類器的并行運(yùn)算打下基礎(chǔ)。用于訓(xùn)練的3類數(shù)據(jù),數(shù)據(jù)量級(jí)一致而且足夠大,一方面能加快訓(xùn)練過程及避免過擬合為降低分類類別數(shù)大造成的算法過擬合,另一方面,將特征不夠單一的攻擊類別分離后,提升了其特征的特異性。
本節(jié)將在第一層降維分類的基礎(chǔ)上構(gòu)建第二層糾錯(cuò)分類器,該部分為第一次糾錯(cuò)。在對(duì)待測(cè)樣本的檢測(cè)中,可將第二層的3個(gè)糾錯(cuò)分類器并行執(zhí)行,互不干擾,并提升模型建立的效率,縮短檢測(cè)時(shí)間。
在第二層糾錯(cuò)分類中,將正交投影分類結(jié)果為Normal、DoS及Probe的訓(xùn)練子集和測(cè)試子集,分別組成3個(gè)子分類器的訓(xùn)練子集及測(cè)試子集,先對(duì)訓(xùn)練子集及測(cè)試子集進(jìn)行預(yù)處理,為錯(cuò)分樣本的進(jìn)一步糾錯(cuò)做準(zhǔn)備。預(yù)處理過程主要包括:
a) 依IG值進(jìn)行特征選擇:為降低分類器的屬性維數(shù),基于IG值將原數(shù)據(jù)集中的41個(gè)屬性縮減為9維。本文利用weka中的IG計(jì)算方法,對(duì)訓(xùn)練集進(jìn)行特征選擇,在Aljawarneh等[31]基于IG理論對(duì)NSLKDD數(shù)據(jù)集特征選擇的基礎(chǔ)上,選擇其中9維屬性(選擇IG值大于0.4的屬性)分別是:protocol_type,src_bytes,service,dst_bytes,flag,diff_srv_rate,same_srv_rate,dst_host_srv_count,dst_host_same_srv_rate。
b) 歸一化:將所有數(shù)值型屬性數(shù)據(jù)縮放至[0,1]區(qū)間
c) 非數(shù)值型數(shù)據(jù)進(jìn)行編碼:在NSL-KDD數(shù)據(jù)集中,存在3種非數(shù)值型屬性,分別是protocol_type,service及flag。在這一階段,對(duì)訓(xùn)練子集及測(cè)試子集中的樣本的這3個(gè)屬性,進(jìn)行One-Hot編碼(如protocol_type中的tcp,udp及icmp被分別編碼為[1, 0,0],[0, 1, 0],[0, 0, 1])。
由于Normal樣本在t raina1及Test中占比較高,而在經(jīng)過第一層的正交投影降維分類后,第二層的分類器②中,t raina1及 t esta1中的Normal樣本占比相對(duì)其他類別攻擊樣本也十分不均衡,可見該數(shù)據(jù)集嚴(yán)重不平衡,直接學(xué)習(xí)很難取得較好的效果。本文針對(duì)該問題,一方面,先將Normal樣本進(jìn)一步錯(cuò)分至其他4類攻擊樣本中,降低Normal樣本的占比;另一個(gè)方面,對(duì)非Normal樣本進(jìn)行過采樣處理,抽取Train中的R2L樣本加入子分類器的訓(xùn)練集中,以增強(qiáng)分類器的泛化能力。
第二層Normal糾錯(cuò)分類器建模過程如下:
d) 抽取訓(xùn)練集Train中的R2L樣本,合并至traina1中,進(jìn)行步驟a)~c)的預(yù)處理,得到 t raina2。
e) 將t esta1進(jìn) 行步驟a)~c)的預(yù)處理,得到t esta2。
f) 從t raina2中排除標(biāo)簽為Normal的樣本,得到訓(xùn)練集t rain′a2。
g) 使用 train′a2訓(xùn)練RF模型,并依此模型對(duì)訓(xùn)練集及測(cè)試集進(jìn)行分類,將待測(cè)樣本分為疑似DoS,Probe,U2R及R2L這4類。
h) 使用網(wǎng)格搜索算法搜索SVM算法的最佳參數(shù)(C,γ)(其中C為懲罰因子,γ為核參數(shù))。
上述分類過程中,使用排除Normal樣本的訓(xùn)練集 train′a2進(jìn)行對(duì)第二層糾錯(cuò)分類器②進(jìn)行訓(xùn)練,該分類器將訓(xùn)練集t raina2劃分為疑似DoS及疑似Probe、疑似U2R及疑似R2L這4類,記為 trainb2,t rainc2,traind2,t raine2,以該分類器將測(cè)試集t esta2劃分為疑似DoS及疑似Probe、疑似U2R及疑似R2L這4類,記為testb2,testc2,testd2,teste2。
在上述分類過程中,本文利用了RF及SVM算法構(gòu)建模型,其核函數(shù)的引入較好地解決了低維特征空間向高維特征空間映射帶來的計(jì)算量偏大的問題,使其更具實(shí)際意義。由于構(gòu)建第二層DoS及Probe糾錯(cuò)分類器部分的訓(xùn)練集t rainb1及 t rainc1中,Normal樣本已較為均衡,可直接進(jìn)行分類訓(xùn)練。其預(yù)處理部分與第二層Normal糾錯(cuò)分類器部分相同,對(duì)于第二層的DoS及Probe糾錯(cuò)分類器⑦⑧,均采用以SVM算法為基分類器的Bagging算法,第二層Probe及DoS糾錯(cuò)分類器如圖2所示。該集成算法對(duì)訓(xùn)練子集多次進(jìn)行有放回的抽樣,以形成不同的訓(xùn)練集,其組合策略有利于增強(qiáng)分類器的泛化能力,降低過擬合風(fēng)險(xiǎn)。
圖 2 第二層Probe及DoS糾錯(cuò)分類器示意圖Fig.2 The second layer self-correction classifiers’ structure
由于第二層的DoS糾錯(cuò)分類器⑦及Probe糾錯(cuò)分類器⑧經(jīng)一次糾錯(cuò)后分類效果較佳,不必另外構(gòu)建第三層的糾錯(cuò)分類器,故該層只由第二層Normal糾錯(cuò)分類器②的基礎(chǔ)上構(gòu)建分類器,再次進(jìn)行糾錯(cuò)。其建模過程如下:
a) 依次選取 trainb2,t rainc2,t raind2,t raine2作為對(duì)應(yīng)子分類器③④⑤⑥的訓(xùn)練子集,依次選取 testb2,testc2,t estd2,t este2作為對(duì)應(yīng)子分類器③④⑤⑥的測(cè)試子集。
b) 對(duì)于訓(xùn)練子集中樣本過少的類別,抽取traina2中的該類別樣本,作為訓(xùn)練子集的一部分。
c) 對(duì)各個(gè)分類器的訓(xùn)練子集進(jìn)行小樣本擴(kuò)充(倍增)。
d) 基于c)訓(xùn)練子集使用SVM算法構(gòu)建第三層的4個(gè)糾錯(cuò)分類器,對(duì)各測(cè)試子集進(jìn)行分類。
e) 使用網(wǎng)格搜索算法搜索各算法的最佳參數(shù)(C, γ)。
如圖2、圖3所示,測(cè)試子集中的待測(cè)樣本經(jīng)過第二層DoS糾錯(cuò)分類器及Probe糾錯(cuò)分類器的檢測(cè)后,被分類為Normal、DoS、Probe、U2R、R2L這5類,最后將分類結(jié)果與第二層Normal糾錯(cuò)分類器中的所有測(cè)試樣本及分類結(jié)果歸并得到最終結(jié)果,即
其中式(2)~(6)中,i為整數(shù)。
圖 3 第三層糾錯(cuò)分類器示意圖Fig.3 Structure of the third layer self-correction classifier
實(shí)驗(yàn)環(huán)境:Windows7操作系統(tǒng),weka3.6,
JDK1.7,3.2 GHz CPU,16 GB RAM
本文提出的小樣本多層糾錯(cuò)模型,針對(duì)NSLKDD數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)。作為入侵檢測(cè)模型應(yīng)用最廣泛的數(shù)據(jù)集,NSL-KDD數(shù)據(jù)集較好地解決了KDD99數(shù)據(jù)集的樣本冗余問題,在實(shí)驗(yàn)中較具有代表性。NSL-KDD數(shù)據(jù)集包含125 973個(gè)訓(xùn)練樣本及22 544個(gè)測(cè)試樣本,其中每一個(gè)樣本包含41個(gè)特征屬性及一個(gè)類別標(biāo)簽,其特征屬性中包括protocol_type,service及flag這3種非數(shù)值型屬性數(shù)據(jù)。
為了更好地評(píng)估入侵檢測(cè)分類器的效果,本節(jié)選取了準(zhǔn)確率(Accuracy,ACC)、誤報(bào)率(FPR)、精確率(Precision)、召回率(Recall)及F1-Score(F1)作為入侵檢測(cè)分類器的評(píng)價(jià)標(biāo)準(zhǔn)。記TP表示正確被分類為攻擊的樣本數(shù),F(xiàn)P表示正常樣本被誤分類為攻擊的樣本數(shù),TN表示正確被分類為正常樣本的樣本數(shù),F(xiàn)N表示攻擊樣本被誤分類為正常的樣本數(shù),各指標(biāo)計(jì)算方法為
本實(shí)驗(yàn)在weka3.6環(huán)境中進(jìn)行,其中第三層的子分類器③④⑤⑥采用SVM算法參數(shù)設(shè)置均為:C1為1.0,γ1為0.2,(a,b,c,d,e)對(duì)應(yīng)權(quán)值W1為(1,1,6,6,6)。
第二層DoS糾錯(cuò)分類器⑦和第二層Probe糾錯(cuò)分類器⑧采用以SVM算法為基分類器構(gòu)建Bagging集成算法。裝袋方法Bagging中每次抽樣比例為50%,次數(shù)為5次;其中,子分類器⑦采用SVM參數(shù)設(shè)置為:C2為1.0,γ2為0.2,(a5,b5,c5,d5,e5)對(duì)應(yīng)權(quán)值W2為(1,1,6,6,6);子分類器⑧采用SVM參數(shù)設(shè)置為:C3為1.0,γ3為0.2,(a6,b6,c6,d6,e6)對(duì)應(yīng)權(quán)值W3為(1,1,3.5,3.5,3.5)。
為了更好地評(píng)估實(shí)驗(yàn)效果,本文選取準(zhǔn)確率,誤報(bào)率,精確率,召回率及F1作為指標(biāo)進(jìn)行了對(duì)比,各實(shí)驗(yàn)結(jié)果如下。
表2為訓(xùn)練集Train及測(cè)試集Test正交投影分類后的結(jié)果,可見Normal樣本在第二層的Normal糾錯(cuò)分類器中的占比相當(dāng)高,在訓(xùn)練集及測(cè)試集中分別達(dá)到97.26%及67.17%,相對(duì)其他類別攻擊樣本不平衡,這也驗(yàn)證了本文模型中平衡數(shù)據(jù)集樣本的必要性。
表 2 正交投影降維分類后的混淆矩陣Table 2 Confusion matrix of dimension reduction classification method
表3顯示的是本文模型與同類模型的檢測(cè)結(jié)果對(duì)比,其中J48是一種基于C4.5實(shí)現(xiàn)的決策樹算法,RBF-SVM是帶徑向基核函數(shù)的SVM算法。實(shí)驗(yàn)結(jié)果基于輸出樣本類別為正常或異常兩類對(duì)比??煽闯觯疚哪P驮贏CC及F1上優(yōu)于其他模型,在Recall上優(yōu)于ANN、kNN+ELM、RBF-SVM、RF、J48、NB模型,僅次于LOF模型。
表 3 五種評(píng)判標(biāo)準(zhǔn)實(shí)驗(yàn)結(jié)果對(duì)比Table 3 Experimental results comparison in five standards %
圖4顯示的是本文多層錯(cuò)分糾錯(cuò)模型與傳統(tǒng)機(jī)器學(xué)習(xí)算法在各類別樣本的準(zhǔn)確率結(jié)果對(duì)比,其中DoS、Probe、R2L類別的準(zhǔn)確率分別達(dá)到85.84%、89.76%、44.63%,相較于ANN及RBF-SVM等傳統(tǒng)機(jī)器學(xué)習(xí)算法均有一定優(yōu)勢(shì);其中,由于U2R訓(xùn)練樣本過稀少等原因,導(dǎo)致分類器訓(xùn)練不足,在對(duì)U2R類別的攻擊樣本的檢測(cè)上略低于其他算法,但在整體上仍領(lǐng)先于其他對(duì)照算法的實(shí)驗(yàn)結(jié)果。
圖 4 與傳統(tǒng)機(jī)器學(xué)習(xí)算法的準(zhǔn)確率對(duì)比Fig.4 Accuracy comparisons with traditional machine learning models
本文提出了一種基于正交投影的小樣本多層糾錯(cuò)分類模型,首先通過正交投影降維分類算法對(duì)數(shù)據(jù)集進(jìn)行初步劃分,然后依據(jù)正常樣本與攻擊樣本極端不平衡的特點(diǎn),對(duì)小樣本(攻擊樣本)進(jìn)行了過采樣等處理,嘗試解決樣本不均衡的問題,再在第二層的3個(gè)糾錯(cuò)分類器中實(shí)現(xiàn)了對(duì)小樣本的糾錯(cuò)。該模型在NSL-KDD數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,準(zhǔn)確率及F1高于對(duì)照組其他所有模型,而召回率接近且僅次于最高的LOF模型。實(shí)驗(yàn)結(jié)果表明,本文模型相較于其他檢測(cè)模型,整體的檢測(cè)效果更優(yōu)。
另外,該模型對(duì)R2L攻擊樣本的召回率達(dá)到44.67%,這表明,該模型對(duì)部分未知攻擊類型的樣本,也有著不錯(cuò)的泛化能力。在后續(xù)研究中,將進(jìn)一步優(yōu)化混合分類器算法,優(yōu)化分類器對(duì)U2R攻擊樣本的訓(xùn)練過程,并進(jìn)一步降低誤報(bào)率,以期實(shí)現(xiàn)更優(yōu)的檢測(cè)效果。