閆海濤,張之義,朱曉明,王 鵬
(中國電子科技集團(tuán)公司 第54研究所,石家莊 050081)
隨著互聯(lián)網(wǎng)技術(shù)發(fā)展和信息化建設(shè)的推進(jìn),使得政府和企業(yè)等組織機(jī)構(gòu)越來越多的業(yè)務(wù)在線上處理,同時(shí)現(xiàn)有攻擊方式發(fā)展的更加多樣和隱蔽,來自內(nèi)部和外部的網(wǎng)絡(luò)安全事件頻發(fā),當(dāng)前這些組織機(jī)構(gòu)面臨的安全風(fēng)險(xiǎn)變高。因此,需要更加高效的網(wǎng)絡(luò)入侵檢測(cè)技術(shù)[1]。對(duì)機(jī)構(gòu)內(nèi)部的用戶和實(shí)體的行為檢測(cè),通過相應(yīng)算法利用現(xiàn)有行為數(shù)據(jù)構(gòu)建基線,能夠高效的識(shí)別正常和入侵行為[2]。
網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(NIDS,network intrusion detection system)根據(jù)所用的方法,可以分為基于誤用的檢測(cè)和基于異常的檢測(cè)兩類[3]?;谡`用的檢測(cè)是對(duì)攻擊行為構(gòu)建基線,符合該基線的行為都看作入侵行為,這類方法的誤報(bào)率較低,但漏報(bào)率較高?;诋惓5臋z測(cè)對(duì)正常行為構(gòu)建基線,不符合基線的行為都看作入侵行為,這類方法能夠識(shí)別未知的攻擊模式,也是本文采用的方法。
相較于傳統(tǒng)的防火墻系統(tǒng),網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)對(duì)當(dāng)前收集到的行為數(shù)據(jù)提取特征并與構(gòu)建的正常行為基線進(jìn)行比較,能夠?qū)崟r(shí)發(fā)現(xiàn)環(huán)境中的安全風(fēng)險(xiǎn)。最初的研究者基于統(tǒng)計(jì)學(xué)習(xí)方法,捕獲并分析網(wǎng)絡(luò)流量活動(dòng)的統(tǒng)計(jì)特征進(jìn)行入侵檢測(cè)[4],但是誤報(bào)率較高,而且經(jīng)常需要專家經(jīng)驗(yàn)輔助判斷。
近年來,研究者通過引入機(jī)器學(xué)習(xí),深度學(xué)習(xí)等技術(shù)進(jìn)行入侵檢測(cè)并取得了顯著的提升效果[5-7],包括樸素貝葉斯算法(NB,naive bayes)[8],K近鄰算法(KNN,k-nearest neighbor)[9],支持向量積算法(SVM,support vector machine)[10]和邏輯回歸算法(LR,logistic regression)[11]等。然而在使用這些算法時(shí),需要對(duì)數(shù)據(jù)的缺失值進(jìn)行處理,在處理大規(guī)模數(shù)據(jù)時(shí)效率不高,仍然存在誤報(bào)率較高和檢測(cè)效率較低的問題。
集成學(xué)習(xí)(EL,ensemble learning)是近年來機(jī)器學(xué)習(xí)研究中的熱門領(lǐng)域。極限梯度提升(XGBoost,extreme gradient boosting)是一種基于梯度提升決策樹(GBDT,gradient boosting decision tree)改進(jìn)的集成學(xué)習(xí)算法[12]。將XGBoost應(yīng)用在網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中得到了更高精度的檢測(cè)效果[13]。文獻(xiàn)[14]中,研究者將XGBoost算法應(yīng)用到網(wǎng)絡(luò)入侵檢測(cè),分析和評(píng)估了XGBoost模型相對(duì)于其他分類模型的優(yōu)勢(shì)。結(jié)果表明XGBoost相較于樸素貝葉斯,SVM和隨機(jī)森林具有更好的準(zhǔn)確率。
對(duì)于機(jī)器學(xué)習(xí)來說,模型的參數(shù)會(huì)在很大程度上影響其性能表現(xiàn),一般采用窮舉法來找到使模型表現(xiàn)最好的參數(shù),但這種方法效率較低。研究者受到群居動(dòng)物通過合作來完成復(fù)雜的任務(wù)的行為啟發(fā)提出了一系列群體智能優(yōu)化算法來求解優(yōu)化問題,在分類任務(wù)上取得了較好的效果[15]。文獻(xiàn)[16]中提出基于粒子群算法(PSO,particle swarm optimization)對(duì)SVM進(jìn)行參數(shù)優(yōu)化,應(yīng)用到進(jìn)行入侵檢測(cè)任務(wù)中,提高了模型訓(xùn)練效率并實(shí)現(xiàn)了較低的誤報(bào)率。文獻(xiàn)[17]采用遺傳算法(GA,genetic algorithm)對(duì)SVM的懲罰因子、核函數(shù)進(jìn)行優(yōu)化,明顯縮短了檢測(cè)時(shí)間,并在檢測(cè)準(zhǔn)確率上有所提升。文獻(xiàn)[18]用遞歸消除算法去除冗余特征后,利用遺傳算法來優(yōu)化輕量級(jí)梯度提升機(jī)(LightGBM,light gradient boosting machine)的關(guān)鍵參數(shù)。文獻(xiàn)[19]針對(duì)軸承故障診斷問題,結(jié)合鯨魚優(yōu)化算法(WOA,whale optimization algorithm)提出了一種基于深度學(xué)習(xí)特征提取和WOA-SVM狀態(tài)識(shí)別相結(jié)合的故障診斷模型。對(duì)比了PSO-SVM和GA-SVM模型,結(jié)果表明WOA-SVM具有較高的收斂精度和速度。文獻(xiàn)[20]提出了一種將WOA算法與相關(guān)向量機(jī)(RVM,relevance vector machine)相結(jié)合的模型。將WOA-RVM模型應(yīng)用于天然氣負(fù)荷的短期預(yù)測(cè),該模型在預(yù)測(cè)精確度高于其他模型。
WOA算法作為一種結(jié)構(gòu)簡(jiǎn)潔易于實(shí)現(xiàn)且適應(yīng)性較強(qiáng)的算法,能有效避免陷入局部最優(yōu)解的情況[21]。有研究者將WOA算法應(yīng)用到入侵檢測(cè)領(lǐng)域[22]。文獻(xiàn)[23]提出使用WOA算法來優(yōu)化RVM來進(jìn)行入侵檢測(cè)。在兩個(gè)常用的入侵檢測(cè)數(shù)據(jù)集NSL-KDD和CICIDS2017進(jìn)行測(cè)試驗(yàn)證,結(jié)果表明WOA算法相較于其他優(yōu)化算法如粒子群算法,遺傳算法和灰狼優(yōu)化算法(GWO,grey wolf optimizer)有更好的效果。文獻(xiàn)[24]組合WOA算法和遺傳算子作為SVM的參數(shù)優(yōu)化方法,提出了WOA-SVM模型來檢測(cè)無線Mesh網(wǎng)絡(luò)中的入侵行為,同遺傳算法進(jìn)行對(duì)比,實(shí)驗(yàn)表明該模型有效降低了計(jì)算復(fù)雜度和檢測(cè)時(shí)間,并且在檢測(cè)效率上有較好的提升。
研究者提出了很多結(jié)合智能群體優(yōu)化算法和機(jī)器學(xué)習(xí)算法的入侵檢測(cè)方法,仍有一定缺陷。這些研究大都對(duì)模型進(jìn)行整體評(píng)估,僅評(píng)估了算法在數(shù)據(jù)集上的整體表現(xiàn),如準(zhǔn)確率,精確率,F(xiàn)-Score等,卻未對(duì)數(shù)據(jù)集中的每種攻擊類型的分類效果進(jìn)行評(píng)估分析。
本文結(jié)合智能群體優(yōu)化算法和機(jī)器學(xué)習(xí)算法提出了WOA-XGBoost模型。模型利用WOA良好的搜索能力對(duì)XGBoost模型中的參數(shù)進(jìn)行適應(yīng)性的優(yōu)化。有效的提高了其在入侵檢測(cè)中的性能,包括對(duì)不同類別攻擊的識(shí)別能力。其次,在評(píng)估WOA-XGBoost模型的性能時(shí),使用NSL-KDD數(shù)據(jù)集[25],不僅評(píng)估了模型總體性能,還評(píng)估了模型對(duì)各個(gè)攻擊類別的識(shí)別能力,并與XGBoost算法和其他集成學(xué)習(xí)算法包括隨機(jī)森林(RF,random forest)、Adaboost和LightGBM進(jìn)行了性能對(duì)比。實(shí)驗(yàn)結(jié)果表明混合模型對(duì)大部分攻擊類別具有較好的效果。
XGBoost算法基于集成學(xué)習(xí)中的Boosting算法,Boosting算法通過累加多個(gè)弱分類器來組合成一個(gè)強(qiáng)分類器。一般采用決策樹作為基學(xué)習(xí)器。XGBoost是在GBDT算法的基礎(chǔ)上進(jìn)行了改進(jìn),在優(yōu)化目標(biāo)函數(shù)時(shí)使用二階泰勒展開式作為模型損失殘差,提高了模型精度。并引入正則化項(xiàng),更好地防止過擬合。使用前向分步加法訓(xùn)練來優(yōu)化目標(biāo)函數(shù),這意味著后一步的優(yōu)化過程依賴于前一步的結(jié)果。第t次迭代要訓(xùn)練的樹模型為ft(xi),則本輪迭代預(yù)測(cè)結(jié)果為:
由于XGBoost是一個(gè)累加多個(gè)基學(xué)習(xí)器的模型,在模型的第t輪迭代中,目標(biāo)函數(shù)可以表示如下:
(2)
式中,l表示第t輪迭代中損失函數(shù),c為一個(gè)常數(shù)項(xiàng),樹的復(fù)雜度Ω將全部t顆樹的復(fù)雜度進(jìn)行求和作為目標(biāo)函數(shù)的正則化項(xiàng),正則化項(xiàng)的引入用于防止模型過擬合,Ω計(jì)算公式如下:
(3)
計(jì)算公式(1)的二階泰勒展開式,得到如下結(jié)果:
obj(t)=
Ω(ft)+c
(4)
其中:g為損失函數(shù)的一階導(dǎo),h為二階導(dǎo),計(jì)算公式如下:
(5)
(6)
只要求出每輪g和h的值,然后優(yōu)化目標(biāo)函數(shù),從而得到每輪迭代的決策樹ft(x),最后累加所有的決策樹,得到一個(gè)整體模型。
定義實(shí)例集:
Ij={i|q(xi)=j}
(7)
Gj=∑i∈Ijgi
(8)
Hj=∑i∈Ijhi
(9)
Ij表示將屬于第j個(gè)葉子結(jié)點(diǎn)的所有樣本xi劃入到一個(gè)葉子結(jié)點(diǎn)的樣本集合中,Gj表示葉子結(jié)點(diǎn)j所包含樣本的一階偏導(dǎo)數(shù)累加之和,是一個(gè)常量,Hj表示葉子結(jié)點(diǎn)j所包含樣本的二階偏導(dǎo)數(shù)累加之和,也是一個(gè)常量。
(10)
(11)
其中:wj表示節(jié)點(diǎn)的權(quán)重,obj表示損失函數(shù)的得分,分?jǐn)?shù)越小,所得樹的分類結(jié)果越好。
在建立第t顆樹時(shí),關(guān)鍵在于找到葉子結(jié)點(diǎn)的最優(yōu)切割點(diǎn),對(duì)目標(biāo)函數(shù)obj,分裂后的收益Gain取得最大值時(shí)即為最優(yōu)分割。分裂收益Gain的計(jì)算公式如下:
(12)
括號(hào)內(nèi)前兩項(xiàng)分別為左右子樹的得分,第三項(xiàng)為不進(jìn)行分割時(shí)的得分。
鯨魚優(yōu)化算法由Mirjalili等人提出[21],他們受鯨魚捕食獵物的啟發(fā),在觀察鯨魚群體搜尋、包圍、抓捕和攻擊獵物等過程后,提出了尋找獵物,包圍獵物,螺旋泡網(wǎng)捕食的數(shù)學(xué)模型。每個(gè)鯨魚的位置代表了一個(gè)可行解。最優(yōu)解為獵物位置或者最接近獵物的位置。算法用搜索代理表示鯨魚,在每次迭代中,搜索代理隨機(jī)選擇其他搜索代理的位置或當(dāng)前最優(yōu)搜索代理的位置作為目標(biāo)來更新它們的位置。WOA算法的優(yōu)化過程如下:
首先,隨機(jī)初始化搜索代理位置Xi(i=1,2,…,n),其中,n為待優(yōu)化參數(shù)的個(gè)數(shù),計(jì)算每個(gè)搜索代理的Fitness。每一輪迭代中,按如下公式更新搜索代理位置:
X(t+1)=
(13)
其中:t是當(dāng)前迭代次數(shù),算法依概率p選擇圓形圍捕運(yùn)動(dòng)或螺旋運(yùn)動(dòng)接近獵物,參數(shù)b用于控制螺旋形狀,l為[-1,1]的隨機(jī)數(shù)。式中,D用于衡量當(dāng)前搜索代理與目標(biāo)搜索代理的距離,目標(biāo)搜索代理為最優(yōu)搜索代理或隨機(jī)選擇的搜索代理,D′表示當(dāng)前搜索代理與最優(yōu)搜索代理的距離,計(jì)算公式如下:
(14)
D′=|X*(t)-X(t)|
(15)
式中,X*(t)表示目前為止最優(yōu)的搜索代理位置向量,Xrand(t)表示某個(gè)隨機(jī)搜索代理位置向量,X(t)表示當(dāng)前搜索代理的位置向量,A和C為系數(shù):
A=2α·γ1-α
(16)
C=2·γ2
(17)
(18)
γ1,γ2為[0,1]之間的隨機(jī)向量,收斂因子α在迭代的過程中線性的從2降到0,max_t表示最大迭代次數(shù),α從2降到0的過程,控制了搜索代理從搜尋到捕獵的轉(zhuǎn)換過程,與之對(duì)應(yīng)的,當(dāng)|A|≥1時(shí),對(duì)應(yīng)搜尋和包圍獵物的過程,選擇隨機(jī)搜索代理更新當(dāng)前代理位置。當(dāng)|A|<1時(shí),對(duì)應(yīng)圍捕過程,選擇最優(yōu)搜索代理更新當(dāng)前代理位置。最后,WOA算法滿足終止準(zhǔn)則而終止。
作為KDD-CUP99的優(yōu)化版本,NSL-KDD數(shù)據(jù)集克服了數(shù)據(jù)集的固有問題。通過去除冗余和重復(fù)記錄,降低了數(shù)據(jù)集中不平衡數(shù)據(jù)的影響。重新調(diào)整訓(xùn)練集和測(cè)試集中樣本到合適的數(shù)量。數(shù)據(jù)集包括正常行為和四種攻擊:Probe、拒絕服務(wù)攻擊(DoS,denial of service)、本地未授權(quán)訪問(U2R,unauthorized access to local super user)和遠(yuǎn)程未授權(quán)訪問(R2L,unauthorized access from remote to local machine)。在每個(gè)攻擊類別下包括多種攻擊行為,如Probe類包含Nmap掃描、MScan掃描等。DoS類包含Neptune攻擊,Teardrop攻擊等。U2R類下包含緩沖區(qū)溢出攻擊、Perl腳本攻擊等。R2L類包括FTP密碼猜解等。訓(xùn)練和測(cè)試數(shù)據(jù)中類別的分布分別如圖1所示。
圖1 數(shù)據(jù)樣本分布統(tǒng)計(jì)圖
數(shù)據(jù)集中包括了網(wǎng)絡(luò)連接的基本屬性特征和內(nèi)容特征、基于時(shí)間和基于主機(jī)的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征。在數(shù)據(jù)集的41個(gè)特征中,有9個(gè)離散特征和32個(gè)連續(xù)特征。因?yàn)椴煌奶卣骺赡苡胁煌臏y(cè)量方法,由于量綱的不同,數(shù)值型數(shù)據(jù)的數(shù)值偏差較大會(huì)影響梯度下降算法求最優(yōu)解的速度,需要進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理。
原始特征集合中第j個(gè)特征類型集合Xj中第i個(gè)元素的特征值xij其中1
(19)
式中,AVG(Xj)為第j個(gè)特征的均值,STAD(Xj)表示該特征的平均絕對(duì)值誤差。
(20)
入侵行為的檢測(cè)可以看作分類任務(wù),將行為分為正常行為和入侵行為兩類,對(duì)應(yīng)分類任務(wù)中的正類和負(fù)類。本文除了使用分類任務(wù)常用的評(píng)價(jià)指標(biāo)包括精確率(P,presession),召回率(R,recall),F(xiàn)-Score對(duì)模型進(jìn)行評(píng)估,還使用了查準(zhǔn)率-查全率(P-R,presession-recall)曲線和受試者工作特征曲線(ROC,receiver operating characteristic curve)進(jìn)行評(píng)估。ROC曲線一般只能對(duì)模型的整體性能進(jìn)行評(píng)估[26],P-R曲線相較于ROC曲線能夠反應(yīng)出模型在數(shù)據(jù)集中各個(gè)類別上的性能表現(xiàn)[27]。
受試者工作特征曲線通過設(shè)定范圍從0到1的一系列閾值,得出的模型的一系列假陽率和真陽率數(shù)值對(duì),作圖得到ROC曲線,曲線越靠近左上角,ROC曲線下的面積(AUC,area under curve)也就越大,模型的整體表現(xiàn)也就越好。
P-R曲線通過設(shè)定范圍從0到1的一系列閾值下,得到的精確率和召回率數(shù)值對(duì)的連線。相較于ROC曲線,P-R曲線能夠反映出樣本分布對(duì)模型的影響。平均精確度(AP,average precision)即為P-R曲線下的面積。某一類的AP值越大,表明模型在該類上的分類性能越好。使用平均精度均值(mAP,mean average precision)曲線和宏平均曲線描述模型在所有類別上的綜合識(shí)別性能。
XGBoost模型包含通用參數(shù)和模型參數(shù),通用參數(shù)包括booster、silent、nthread,這些不需要參數(shù)優(yōu)化。模型參數(shù)作為本文優(yōu)化的目標(biāo),對(duì)模型的性能有重要影響。實(shí)驗(yàn)中,使用鯨魚優(yōu)化算法對(duì)模型性能影響最關(guān)鍵的6個(gè)參數(shù)進(jìn)行搜索優(yōu)化,包括學(xué)習(xí)率eta,最大樹深度max_depth、最小葉權(quán)重min_child_weight,剪枝參數(shù)gamma、樣本隨機(jī)采樣參數(shù)subsample和樣本列采樣參數(shù)colsample_bytree。關(guān)于XGBoost這6個(gè)待優(yōu)化模型參數(shù)的取值范圍和參數(shù)的作用介紹見表1所示。
表1 XGBoost參數(shù)介紹
WOA-XGBoost模型的訓(xùn)練和參數(shù)的優(yōu)化過程如圖2所示。
圖2 模型訓(xùn)練流程
首先,根據(jù)待優(yōu)化參數(shù)個(gè)數(shù)確定搜索代理的維度,每個(gè)維度的分量對(duì)應(yīng)不同的XGBoost參數(shù),因此,這里每個(gè)搜索代理是一個(gè)6維向量。各維度參數(shù)的取值范圍限定了WOA的搜索空間。第i個(gè)搜索代理在t輪迭代的位置向量可以表示為:
(21)
然后將位置向量賦給模型的相應(yīng)參數(shù),并將訓(xùn)練集上的表現(xiàn)作為初始Fitness值。第i個(gè)搜索代理在t輪迭代中,根據(jù)當(dāng)前的系數(shù)A,C,p和公式(13),更新位置,并計(jì)算當(dāng)前的Fitness值為:
Fi(t)=(Xi(t)→XGBoost|trainset)[metric=PR-curve]
(22)
每輪迭代后確定當(dāng)前最優(yōu)搜索代理:
Xbest(t)=max(Fi(t),Xbest(t-1))
(23)
算法不斷迭代直到滿足終止條件,輸出當(dāng)前最優(yōu)搜索代理的位置向量,即為XGBoost模型具有最好分類能力的參數(shù)。
鯨魚優(yōu)化算法本身的參數(shù)主要包括a,b。關(guān)于實(shí)驗(yàn)中主要參數(shù)的初始設(shè)置和介紹如表2所示。
表3給出了經(jīng)過鯨魚優(yōu)化算法搜索得到的XGBoost模型的最優(yōu)參數(shù)。這組參數(shù)將用于后面的實(shí)驗(yàn)環(huán)節(jié)。
表2 鯨魚優(yōu)化算法參數(shù)
表3 XGBoost最優(yōu)參數(shù)
實(shí)驗(yàn)所用的配置介紹如下:CPU為Inter Xeon E5-2666v3@2.5GHz,內(nèi)存64GB,操作系統(tǒng)為Centos7 64位,使用Python3.7和Matlab2016進(jìn)行編碼實(shí)現(xiàn)。利用1.5節(jié)中所得XGBoost模型的最優(yōu)參數(shù)進(jìn)行實(shí)驗(yàn)評(píng)估。將WOA-XGBoost算法在NSL-KDD測(cè)試集進(jìn)行驗(yàn)證,在各類樣本上的性能指標(biāo)如表4。
表4 模型評(píng)估結(jié)果
從這些指標(biāo)中可以看到模型在DoS類的檢測(cè)的準(zhǔn)確率最高,說明模型能準(zhǔn)確區(qū)分DoS類和非DoS類。U2L類的檢測(cè)精確度最高,說明被模型識(shí)別為U2L的樣本都來自U2L類。Normal類上的召回率最高,意味著大部分正常行為都被正確識(shí)別,但U2R召回率最低,即大量U2R類的樣本被識(shí)別為其他類,這與數(shù)據(jù)集中該類樣本數(shù)量較少有關(guān)。F-Score可以很好地平衡精確度和召回率,能夠評(píng)估模型的綜合表現(xiàn),可以看出模型在Normal,Probe和DoS上的分類性能較好,而在后兩個(gè)樣本數(shù)量較少的類上表現(xiàn)不佳。
根據(jù)模型在每個(gè)類別中的P-R曲線,計(jì)算得出每個(gè)類的AP指標(biāo)。如表5所示。
表5 每個(gè)類別的AP指標(biāo)
從表5中,可以看出,Normal、Probe和DoS上的AP值高于其他兩個(gè)類。主要原因是NSL-KDD訓(xùn)練集中Normal、Probe和DoS樣本占總數(shù)據(jù)的99%以上,而U2R和R2L占不到1%。導(dǎo)致模型能夠?qū)颖緮?shù)量較多的類別學(xué)習(xí)更多細(xì)節(jié)特征,卻無法學(xué)習(xí)U2R和R2L的一些潛在的特征,因不能很好地對(duì)U2R和R2L分類。此外可以發(fā)現(xiàn)AP值與F-Score呈正相關(guān)。類的F-Score越大,意味著模型對(duì)它的分類性能越好。
WOA-XGBoost和XGBoost在測(cè)試集上對(duì)各類行為檢測(cè)結(jié)果的AP指標(biāo)對(duì)比如圖3所示。
圖3 模型在各類上的AP指標(biāo)
從圖中可以看出,兩個(gè)模型對(duì)Normal、Probe和DoS都有很好的識(shí)別效果,但在R2L和U2L上都表現(xiàn)較差。WOA-XGBoost模型相較于XGBoost在每個(gè)類中的AP值都更高,這說明通過WOA算法有效提高了模型性能。
為了對(duì)比兩個(gè)模型在所有行為類別上的綜合性能,統(tǒng)計(jì)了模型的宏平均曲線和mAP曲線如圖4~5所示。
圖4 宏平均曲線
圖4和圖5中,WOA-XGBoost始終在XGBoost的左上方或右上方,WOA-XGBoost模型的宏平均曲線和mAP曲線下面積均大于XGBoost,其中宏平均曲線下的面積比XGBoost大約3%,而mAP曲線的面積則比XGBoost大約4%,說明WOA-XGBoost在整體上優(yōu)于XGBoost模型。
可以發(fā)現(xiàn),WOA算法可以有效地優(yōu)化XGBoost模型的參數(shù),在提高模型訓(xùn)練效率的同時(shí),學(xué)習(xí)更優(yōu)的參數(shù),提高模型的分類性能。在網(wǎng)絡(luò)入侵檢測(cè)任務(wù)中,對(duì)參數(shù)的進(jìn)一步優(yōu)化可以較好的提高系統(tǒng)檢測(cè)能力,能夠更準(zhǔn)確的識(shí)別攻擊類型以及更好的檢測(cè)未知攻擊。
為了驗(yàn)證模型的性能,本節(jié)對(duì)比其他機(jī)器學(xué)習(xí)算法包括隨機(jī)森林,LightGBM和Adaboost算法,同樣使用上述評(píng)價(jià)指標(biāo)。選擇NSL-KDD數(shù)據(jù)集,使用由P-R曲線計(jì)算的AP指標(biāo)對(duì)每個(gè)類別的評(píng)估。結(jié)果如圖6所示。
從圖6中可以發(fā)現(xiàn),在Normal、DoS和Probe類上,WOA-XGBoost、LightGBM和隨機(jī)森林之間的性能差距不大。WOA-XGBoost在Normal和Probe類上的AP值最高,其次是LightGBM和隨機(jī)森林。在DoS類上LightGBM和隨機(jī)森林取得最高的AP值,比WOA-XGBoost高1%。在R2L和U2R類上,WOA-XGBoost比其他模型具有明顯優(yōu)勢(shì)。在R2L類上,WOA-XGBoost的AP值比Adaboost高17%。在U2R上,WOA-XGBoost表現(xiàn)最好,其次是LightGBM,WOA-XGBoost的AP值比LightGBM高9%。綜合來看所有模型在具有大量訓(xùn)練樣本的Normal、Probe和DoS類都具有較好的識(shí)別效果,由于R2L和U2L類在訓(xùn)練集中的樣本較少,導(dǎo)致所有模型在這兩類上的識(shí)別效果都比較差。
對(duì)比四個(gè)模型在所有行為類別上的綜合性能,統(tǒng)計(jì)了模型的宏平均曲線和mAP曲線如圖7和圖8所示。
圖8 mAP曲線
在圖7和圖8中,WOA-XGBoost的宏平均和mAP曲線在其他模型的左上方或右上方。隨后分別是LightGBM、Random Forest和Adaboost??梢钥闯?,經(jīng)過參數(shù)優(yōu)化后的WOA-XGBoost模型綜合表現(xiàn)較好。意味著WOA-XGBoost模型相比其他模型來說,對(duì)各類入侵行為的檢測(cè)精確度高,誤報(bào)率更低,識(shí)別未知攻擊的能力較好。WOA算法提高了模型的整體性能。
XGBoost算法可以很好地完成對(duì)攻擊行為的多分類任務(wù)。WOA算法能夠簡(jiǎn)潔高效的完成機(jī)器學(xué)習(xí)算法中的參數(shù)優(yōu)化問題。因此本文提出使用WOA來優(yōu)化XGBoost中的參數(shù)。實(shí)驗(yàn)結(jié)果表明模型相較于其他算法LightGBM、隨機(jī)森林和Adaboost,有較快的學(xué)習(xí)速度和較好的分類精度,模型的綜合表現(xiàn)較好。
但研究仍存在可進(jìn)一步改進(jìn)的地方。XGBoost算法在選擇最優(yōu)分割點(diǎn)時(shí)遍歷所有數(shù)據(jù),進(jìn)行基于逐層生長的策略,會(huì)產(chǎn)生很多分裂增益較低的葉子,增加了計(jì)算開銷。對(duì)于WOA算法,算法中的自適應(yīng)位置選擇策略使WOA能夠避免陷入局部最優(yōu)。然而于隨機(jī)機(jī)制的存在使算法存在收斂速度慢、收斂精度低等缺點(diǎn),這些都是需要進(jìn)一步改善的地方。