周翔
(長江大學(xué)電子信息學(xué)院,湖北 荊州 434023)
互聯(lián)網(wǎng)的快速發(fā)展,為生活中各種應(yīng)用的接入提供了方便,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡年P(guān)鍵部分,互聯(lián)網(wǎng)規(guī)模不斷擴(kuò)大。然而互聯(lián)網(wǎng)入侵事件并未減少,入侵對互聯(lián)網(wǎng)的威脅越來越大,網(wǎng)絡(luò)入侵的主要目的是竊取商業(yè)、軍事等機(jī)密,從而造成數(shù)據(jù)泄露,對國家和社會造成極大危害,同時(shí)通過入侵也可發(fā)動分布式拒絕服務(wù)攻擊,造成網(wǎng)絡(luò)或者服務(wù)癱瘓。近年來網(wǎng)絡(luò)入侵事件頻繁發(fā)生,對國家信息安全造成了嚴(yán)重威脅,因此入侵檢測成為計(jì)算機(jī)網(wǎng)絡(luò)安全研究的重要內(nèi)容。
網(wǎng)絡(luò)入侵檢測系統(tǒng)在過去已經(jīng)得到不斷發(fā)展,許多機(jī)器學(xué)習(xí)已經(jīng)被用于入侵檢測系統(tǒng)中,例如改良的SVM(支持向量機(jī))、KNN(鄰近算法)、等算法,但單獨(dú)算法對入侵檢測效果不佳。因此,本文提出集中基于集成學(xué)習(xí)的算法用于入侵檢測,提高檢測準(zhǔn)確率。
入侵檢測這一概念來自于1980 年美國空軍的一份技術(shù)報(bào)告[1],入侵指對未經(jīng)授權(quán)訪問網(wǎng)絡(luò)或?qū)τ?jì)算機(jī)系統(tǒng)構(gòu)成了嚴(yán)重的威脅,其中包括拒絕服務(wù)攻擊、蠕蟲、Fuzzers、后門等。這種未經(jīng)授權(quán)的網(wǎng)絡(luò)訪問被稱為網(wǎng)絡(luò)入侵。
HUSAIN 等[2]使用UNSW-NB15 數(shù)據(jù)集,提出使用XGBoost 算法構(gòu)建入侵檢測系統(tǒng),通過與已有的隨機(jī)森林、KNN、邏輯回歸算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果準(zhǔn)確率為88%,準(zhǔn)確率不夠理想。KUSUMAPUTRI 等[3]使用NSL-KDD 數(shù)據(jù)集,通過特征選擇算法提取有用特征值,使用Optuna 算法對XGBoost 算法進(jìn)行優(yōu)化,從而構(gòu)建入侵檢測系統(tǒng),但特征選擇算法沒有明顯減少特征值數(shù)量。KABIR 等[4]使用XGBoost 算法與KNN算法堆疊,使用onehot 編碼對數(shù)據(jù)進(jìn)行預(yù)處理,準(zhǔn)確率達(dá)到94%。KASONGO 等[5]使用XGBoost 算法作為特征值選擇,用于減少特征值數(shù)量,然后應(yīng)用DT(決策樹)、ANN(人工神經(jīng)網(wǎng)絡(luò))、LR(邏輯回歸)、KNN和SVM 模型,在這些模型中XGBoost 和KNN 表現(xiàn)最好,準(zhǔn)確率約為95%。
由于單個(gè)機(jī)器學(xué)習(xí)模型準(zhǔn)確率不理想,本文使用基于DEXL(DT-ET-XGboost-LightGBM)的集成學(xué)習(xí)算法對入侵檢測系統(tǒng)進(jìn)行研究。
基于集成學(xué)習(xí)算法的入侵檢測工作在安全中心進(jìn)行,安全中心通過獲取Pacp 文件、解析pacp 文件來獲取特征值。
網(wǎng)絡(luò)架構(gòu)如圖1 所示。
圖1 網(wǎng)絡(luò)架構(gòu)
入侵檢測安全中心的檢測入侵訓(xùn)練的一般流程如圖2 所示。首先將數(shù)據(jù)集進(jìn)行預(yù)處理,通過對特征值的重要度進(jìn)行排序,然后使用貝葉斯優(yōu)化算法對各個(gè)模塊進(jìn)行優(yōu)化得到最佳超參數(shù)。得到最佳超參數(shù)后,分別通過DT、ET、XGboost 對流量進(jìn)行初次分類后,將DT、ET、XGboost 的訓(xùn)練結(jié)果合并成數(shù)據(jù)集作為輸入,最后利用LightGBM 算法進(jìn)行最終的分類。
圖2 安全中心運(yùn)行流程
貝葉斯優(yōu)化(Bayesian optimization)是基于歷史驗(yàn)證的結(jié)果來決定模型下一次迭代超參數(shù),迭代過程遠(yuǎn)低于隨機(jī)搜索的迭代次數(shù),能保證建模時(shí)間短的同時(shí)提高測試集上的泛化能力。其主要思想是:構(gòu)建一個(gè)初始模型,根據(jù)后續(xù)結(jié)果來進(jìn)行模型優(yōu)化。隨著數(shù)據(jù)的積累,優(yōu)化函數(shù)會離目標(biāo)函數(shù)越來越近,從而得到最優(yōu)解[6]。本文使用Hyperopt 框架對模型進(jìn)行貝葉斯優(yōu)化。
基于Hyperopt 框架的貝葉斯優(yōu)化(如圖3 所示)主要過程分為4 部分:①定義目標(biāo)函數(shù)。以超參數(shù)作為輸入,通過計(jì)算返回?cái)?shù)值。②確定搜索空間。給定超參數(shù)的搜索范圍。③選擇搜索算法。用來構(gòu)建下一次迭代超參數(shù)的方法。④獲取最優(yōu)超參數(shù)。保存尋優(yōu)過程中最優(yōu)的超參數(shù)值。
圖3 LightGBM 的貝葉斯優(yōu)化
以LightGBM 模型為例,不同的超參數(shù)的組合會使模型分類結(jié)果產(chǎn)生變化,由于LightGBM 模型超參數(shù)多,對LightGBM 模型超參數(shù)進(jìn)行優(yōu)化,會使模型的性能產(chǎn)生較大提升。將經(jīng)過預(yù)處理的數(shù)據(jù)作為數(shù)據(jù)集輸入模型,通過貝葉斯超參數(shù)優(yōu)化,確定超參數(shù)值,如表1 所示。
表1 超參數(shù)優(yōu)化結(jié)果
隨機(jī)森林進(jìn)行特征重要性評估特征值的基本思想是查看隨機(jī)森林中的每棵樹有多大貢獻(xiàn),然后取平均值比較特征之間貢獻(xiàn)度大小。計(jì)算重要度的常見方法有2 種,一種是平均不純度的減少(mean decrease impurity),另一種是平均準(zhǔn)確率的減少(mean decrease accuracy)。
集成學(xué)習(xí)是使用多個(gè)機(jī)器學(xué)習(xí)器來完全學(xué)習(xí)任務(wù),從而獲得比單一的機(jī)器學(xué)習(xí)模型更好的方法,通常包括Bagging、boosting 和Stacking 等方式,集成學(xué)習(xí)可以用于分類問題集成、異常點(diǎn)檢測集成、回歸問題集成、特征選擇集成等。
本文采用UNSW-NB15 數(shù)據(jù)集,該數(shù)據(jù)由新南威爾士大學(xué)網(wǎng)絡(luò)實(shí)驗(yàn)室創(chuàng)建,是關(guān)于入侵檢測的開源數(shù)據(jù)集。數(shù)據(jù)集中一共有9 種攻擊,共49 個(gè)特征值。本文使用其中的部分訓(xùn)練集和測試集。數(shù)據(jù)集的數(shù)據(jù)量具體如表2 所示。
表2 數(shù)據(jù)分布情況
UNSW-NB15 包含字符型和數(shù)值特征,因此需要對字符型的特征值進(jìn)行預(yù)處理。數(shù)據(jù)集中特征值proto、service 和state 為字符型特征,由于本文使用的是基于決策樹的算法,無需使用one_hot 編碼,故選擇label-encoding 編碼,能最大程度保留特征值數(shù)量。經(jīng)過標(biāo)簽編碼,將udp 替換為199,將TCP 替換為113,將none 替換為0,將INT 替換為5,將FIN 替換為4。
將經(jīng)過預(yù)處理的數(shù)據(jù)集通過特征重要度計(jì)算,如表3 所示。分?jǐn)?shù)越高表示特征值越重要,對模型分類影響越大,后續(xù)通過特征值重要度來選擇特征值數(shù)量,以達(dá)到檢測復(fù)雜度和準(zhǔn)確率最優(yōu)的結(jié)果。
表3 部分特征重要度排序
本文使用準(zhǔn)確率作為評價(jià)標(biāo)準(zhǔn),使用五折交叉驗(yàn)證,準(zhǔn)確率取5 折后的平均值,實(shí)驗(yàn)硬件環(huán)境使用intel 至強(qiáng)E3-1230V2,RAM 為16 GB。
準(zhǔn)確率(Accuary)是最常用、最直觀的評估指標(biāo),準(zhǔn)確率越高分類效果越高,當(dāng)入侵發(fā)送時(shí),檢測出的概率越大。
計(jì)算方法如下:
精準(zhǔn)率(Precision)指正常流量總數(shù)與正常流量被分類為正常流量的比值,精準(zhǔn)度越高正常流量分類越準(zhǔn)確,當(dāng)入侵檢測運(yùn)行時(shí),能極大程度上減少誤報(bào)。
精準(zhǔn)度公式如下:
召回率(Recall)表示所有數(shù)據(jù)集中為正常樣本檢測為正常的概率,召回率越高表示模型效果越好。召回率公式如下:
將本文提出的集成學(xué)習(xí)模型 BO-DEGL 算法與BO-DT、BO-ET、BO-XGBoost 和BO-LightGBM 算法進(jìn)行比較,經(jīng)過特征值重要度排序后,選取前35 個(gè)特征值作為數(shù)據(jù)集。實(shí)驗(yàn)結(jié)果如表4 所示。
表4 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果顯示,BO-DEXL 模型效果最好,準(zhǔn)確率為95.18%,精準(zhǔn)度為92.48%,召回率為0.943 0,BO-DEGL 在對比的算法中最高。BO-DT 模型效果最差,準(zhǔn)確率為93.81%,精準(zhǔn)度為90.12%,召回率為0.929 3。模型BO-DEXL 準(zhǔn)確率相比文獻(xiàn)[2]提出的方法提高了7.18%,相比文獻(xiàn)[4]的方法準(zhǔn)確率提高了1.18%。
結(jié)果表明,集成學(xué)習(xí)模型BO-DEXL 準(zhǔn)確率與所比較的機(jī)器學(xué)習(xí)算法準(zhǔn)確率具有一定優(yōu)勢,模型的準(zhǔn)確率,精準(zhǔn)度和召回率得到了提高。
本文從網(wǎng)絡(luò)入侵檢測模型構(gòu)建的角度,將DT、ET、XGBoost 和LightGBM 這4 種模型通過使用stacking集成的方式,每個(gè)模型都通過貝葉斯優(yōu)化,最終形成BO-DEXL 模型,將BO-DEXL 模型與傳統(tǒng)機(jī)器學(xué)習(xí)進(jìn)行對比,準(zhǔn)確率、精準(zhǔn)度和召回率方面都占優(yōu)勢。