黃奇文 李麗穎 沈富可 魏同權(quán)
摘要:隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)的安全問(wèn)題日益受到人們的重視.網(wǎng)絡(luò)異常流量檢測(cè)能夠?yàn)閿r截網(wǎng)絡(luò)攻擊提供有效的保障.然而,為了準(zhǔn)確檢測(cè)網(wǎng)絡(luò)中的異常流量,通常需要分析海量的數(shù)據(jù).分析這些數(shù)據(jù)不僅消耗巨大的計(jì)算資源,降低檢測(cè)的實(shí)時(shí)性,還有可能降低檢測(cè)的準(zhǔn)確率.為解決這些問(wèn)題,提出了一種基于集成特征選擇的網(wǎng)絡(luò)異常流量檢測(cè)方法:采用5種不同的特征選擇算法,設(shè)計(jì)了一種投票機(jī)制以選擇特征子集;用樸素貝葉斯、決策樹(shù)、XGBoost(eXtreme Gradient Boosting)這3種不同的機(jī)器學(xué)習(xí)算法,評(píng)估所采用的特征選擇算法;選擇表現(xiàn)最好的算法以實(shí)現(xiàn)網(wǎng)絡(luò)異常流量檢測(cè).實(shí)驗(yàn)結(jié)果表明,在使用提出的算法所選取出的最優(yōu)子特征上,所提方法的運(yùn)行時(shí)間比在原始數(shù)據(jù)集上少了84.38%,平均準(zhǔn)確率比單個(gè)特征選擇算法提高了16.93%.
關(guān)鍵詞:異常流量檢測(cè);集成特征選擇;投票機(jī)制
中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)志碼:ADOI:10.3969/j.issn.l000-5641.2021.06.011
Network anomaly traffic detection based on ensemble feature selection
HUANG Qiwen,LI Liying,SHEN Fuke,WEI Tongquan
(School of Computer Science and Technology,East China Normal University,Shanghai 200062,China)
Abstract:With the continuous development of Internet technology,network security is garnering increasing attention. Network anomalous traffic detection can provide an effective guarantee for blocking network attacks. However,to accurately detect anomalous traffic in a network,analyzing large volumes of data is usually required. Analyzing this data not only consumes substantial computational resources and reduces real-time detection capability,but it may also reduce the overall accuracy of detection. To solve these problems,we propose a network anomaly traffic detection method based on ensemble feature selection. Specifically,we use five different feature selection algorithms to design a voting mechanism for selecting feature subsets. Three different machine learning algorithms (Naive Bayesian. Decision Tree,XGBoost)are used to evaluate the feature selection algorithm,and the best algorithm is selected to detect abnormal network traffic. The experimental results show that the runtime of the proposed method is 84.38% less than the original data set on the optimal feature subset selected by the proposed approach,and the average accuracy is 16.93% higher than that of the single feature selection algorithm.
Keywords:anomaly traffic detection;ensemble feature selection;voting mechanism
0引言
近年來(lái),互聯(lián)網(wǎng)技術(shù)已經(jīng)融入了人們生活的方方面面,改變著人們的生活方式,互聯(lián)網(wǎng)已成為全球經(jīng)濟(jì)增長(zhǎng)主要驅(qū)動(dòng)力,且用戶(hù)與流量規(guī)模持續(xù)擴(kuò)張.據(jù)思科的預(yù)測(cè)報(bào)告叫2017年全球互聯(lián)網(wǎng)用戶(hù)達(dá)到34億,IP(Internet Protocol,IP)流量達(dá)到1.5 ZB;在2022年將達(dá)到48億用戶(hù),全球IP流量將到達(dá)4.8 ZB.然而,由于網(wǎng)絡(luò)安全意識(shí)的缺乏和攻擊技術(shù)的不斷向前發(fā)展,許多網(wǎng)絡(luò)應(yīng)用都遭受著各種各樣的網(wǎng)絡(luò)攻擊和安全威脅,暴露出很多的網(wǎng)絡(luò)安全漏洞.例如,域名系統(tǒng)提供商Dyn公司于2016年遭受的網(wǎng)絡(luò)流量攻擊[2],黑客惡意操控?cái)?shù)以百萬(wàn)計(jì)的IP地址要求域名服務(wù)器進(jìn)行大量域名系統(tǒng)協(xié)議(Domain Name System,DNS)解析從而導(dǎo)致數(shù)以萬(wàn)計(jì)的用戶(hù)無(wú)法連接網(wǎng)絡(luò);2018年,GitHub公司遭到最高峰值為1.35 TB/s的分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊[3],斷線(xiàn)至少5 min,給公司造成了巨大損失.網(wǎng)絡(luò)異常流量檢測(cè)能夠有效檢測(cè)網(wǎng)絡(luò)攻擊,避免用戶(hù)遭受損失,因此,網(wǎng)絡(luò)流量異常檢測(cè)成Z為網(wǎng)絡(luò)安全研究的熱點(diǎn).
目前很多學(xué)者對(duì)網(wǎng)絡(luò)流量異常檢測(cè)進(jìn)行了研究,并提出相應(yīng)的解決方法.傳統(tǒng)的網(wǎng)絡(luò)異常流量檢測(cè)方法是基于端口和基于深度包檢測(cè)(Deep Packet Inspection,DPI)[4].基于端口的方法是根據(jù)應(yīng)用程序注冊(cè)的端口來(lái)識(shí)別流量,這些端口由互聯(lián)網(wǎng)數(shù)字分配機(jī)構(gòu)回(Internet Assigned Numbers Authority,IANA)指定,由于應(yīng)用程序未注冊(cè)或隨機(jī)產(chǎn)生端口,導(dǎo)致這種方法不可靠.基于深度包的檢測(cè)方法是根據(jù)是否匹配數(shù)據(jù)包的有效載荷和數(shù)據(jù)包的存儲(chǔ)簽名對(duì)網(wǎng)絡(luò)流量分類(lèi),但當(dāng)數(shù)據(jù)包內(nèi)容不被允許訪(fǎng)問(wèn)或數(shù)據(jù)包本身被加密時(shí),該方法就會(huì)失效.為了解決上述問(wèn)題,近年來(lái)機(jī)器學(xué)習(xí)算法越來(lái)越多地被用來(lái)解決網(wǎng)絡(luò)異常流量檢測(cè)問(wèn)題.Callado等[6]提出了一種基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)異常流量檢測(cè),通過(guò)4種不同的聯(lián)合機(jī)制,聯(lián)合多種機(jī)器學(xué)習(xí)算法對(duì)網(wǎng)絡(luò)異常流量分類(lèi).Belavagi等[7]提出的基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)方法是通過(guò)比較幾種不同的機(jī)器學(xué)習(xí)算法在入侵檢測(cè)的表現(xiàn),選取最佳表現(xiàn)算法.
機(jī)器學(xué)習(xí)算法能夠快速并準(zhǔn)確地進(jìn)行異常流量檢測(cè).然而,在機(jī)器學(xué)習(xí)建立模型的過(guò)程中,原始的訓(xùn)練數(shù)據(jù)包含了很多無(wú)關(guān)特征和冗余特征,直接使用這樣的訓(xùn)練數(shù)據(jù)不但會(huì)消耗大量的計(jì)算資源,而且可能降低模型的準(zhǔn)確度.因此,如何有效選擇網(wǎng)絡(luò)流量數(shù)據(jù)中的特征尤為關(guān)鍵.常見(jiàn)的特征選擇方法包括過(guò)濾法和嵌入法,過(guò)濾法是計(jì)算單個(gè)特征和目標(biāo)變量的相關(guān)性的方法,嵌入法是根據(jù)某些機(jī)器學(xué)習(xí)算法和模型進(jìn)行訓(xùn)練,得到各個(gè)特征權(quán)重系數(shù)的方法.Osanaiye等[8]提出了一種集成特征選擇算法,使用信息增益、信息增益率、卡方和ReliefF這4種過(guò)濾方法進(jìn)行特征選擇,在特征選擇后選取包含在這四種方法中的都存在的特征,最后采用決策樹(shù)作為分類(lèi)器評(píng)估模型.但是這種方案沒(méi)有考慮特征與特征之間的聯(lián)系,且該方法只使用單個(gè)算法評(píng)估模型,導(dǎo)致模型的穩(wěn)定性較弱.Hoque等[9]在上述方法的基礎(chǔ)上加入了對(duì)稱(chēng)不確定性方法,該方法也屬于過(guò)濾法,選用了21種數(shù)據(jù)集,最后用決策樹(shù)、隨機(jī)森林、k-NN(k-Nearest Neighbor)和支持向量機(jī)(Support Vector Machine,SVM)評(píng)估模型. 但是這種方案只是增加了多個(gè)算法評(píng)估模型,并沒(méi)有增加其他種類(lèi)的特征選擇方法,也沒(méi)有解決特征與特征之間沒(méi)有聯(lián)系的問(wèn)題.Singh等[10]提出了一種包含以上5種方法的集成特征選擇算法,另外加入了相關(guān)系數(shù)和支持向量機(jī),相關(guān)系數(shù)屬于過(guò)濾法,支持向量機(jī)屬于嵌入法,根據(jù)每個(gè)方法產(chǎn)生的特征權(quán)重篩選特征,最后用多層感知機(jī)作為二分類(lèi)器評(píng)估模型.但是該方案過(guò)濾法和嵌入法的比例失調(diào),過(guò)濾法有6種,嵌入法只有1種,導(dǎo)致模型存在偏向性,該方案采用的是二分類(lèi)模型,即按照正常流量和異常流量進(jìn)行分類(lèi),無(wú)法確定異常流量具體類(lèi)型,且該方案也只使用單算法評(píng)估模型.為了解決上述問(wèn)題,本文提出了一種基于集成特征選擇的網(wǎng)絡(luò)異常流量檢測(cè)算法,本文的主要貢獻(xiàn)如下.
(1)提出了一種集成特征選擇方法,使用過(guò)濾法和嵌入法這兩大類(lèi)方法進(jìn)行特征選擇,其中,在過(guò)濾法中使用相關(guān)系數(shù)、卡方檢驗(yàn)、互信息這3種方法,在嵌入法中采用隨機(jī)森林算法和LGBM[11](Light Gradient Boosting Machine)算法計(jì)算特征的權(quán)重并排序;設(shè)計(jì)了一種投票機(jī)制用于集成這5種方案的選擇結(jié)果,并進(jìn)行了特征篩選.
(2)使用基于樸素貝葉斯、決策樹(shù)和XGBoost[12]這3種機(jī)器學(xué)習(xí)算法作為多分類(lèi)器,判斷異常流量的具體攻擊類(lèi)型;采用綜合表現(xiàn)最好的算法,比較所提出的集成特征選擇算法與單個(gè)特征選擇算法在模型上的表現(xiàn),選出最優(yōu)子特征.
(3)實(shí)驗(yàn)結(jié)果表明,在本文的集成特征選擇算法選取的最優(yōu)子特征上運(yùn)行異常流量檢測(cè)算法比在原始數(shù)據(jù)上的運(yùn)行時(shí)間減少了84.38%;對(duì)比單個(gè)特征選擇算法,本文算法平均準(zhǔn)確率提高了16.93%,平均精確率提高12.31%,平均召回率提高15.34%,平均F-score(F)提高了18.00%.
1相關(guān)技術(shù)
1.1過(guò)濾法
圖1顯示的是過(guò)濾法的主要流程.過(guò)濾法首先將數(shù)據(jù)輸入特征排序算法中,根據(jù)相關(guān)性大小或者指定特征個(gè)數(shù)進(jìn)行選擇/過(guò)濾,最后得到特征選擇數(shù)據(jù).過(guò)濾法的優(yōu)點(diǎn)是計(jì)算高效,對(duì)于過(guò)擬合問(wèn)題也具有較高的魯棒性;其缺點(diǎn)是傾向于選擇冗余的特征,且沒(méi)有考慮特征與特征之間的聯(lián)系[13].在過(guò)濾法中,相關(guān)系數(shù)、卡方檢驗(yàn)和互信息是3種常見(jiàn)的篩選方法,因此本文采用了相關(guān)系數(shù)、卡方檢驗(yàn)和互信息這3種過(guò)濾方法.
1.1.1相關(guān)系數(shù)
計(jì)算訓(xùn)練集中特征與輸出之間的相關(guān)系數(shù),取值范圍是[-1,1],正值表示正相關(guān),負(fù)值表示負(fù)相關(guān).本次實(shí)驗(yàn)在計(jì)算特征與輸出相關(guān)系數(shù)時(shí)取絕對(duì)值,保證特征與輸出之間正相關(guān),相關(guān)系數(shù)越大表示特征與輸出之間越密切.相關(guān)系數(shù)理論公式為
其中,x和y表示兩個(gè)變量,cov(x,y)表示x與y的協(xié)方差,σ表示x的方差,σ表示y的方差,ρ表示x與y的相關(guān)系數(shù).
1.1.2卡方檢驗(yàn)
卡方檢驗(yàn)是檢驗(yàn)定性自變量對(duì)定性因變量相關(guān)性的一種方法.求出卡方值,然后根據(jù)卡方值,匹配出其所對(duì)應(yīng)的概率是否足以推翻原假設(shè),如果能推翻,就啟用備用假設(shè).卡方值越大,表明兩個(gè)事件越密切.卡方值計(jì)算公式為
其中,A為觀(guān)察(實(shí)際)頻數(shù),E為期望(理論)頻數(shù),n為總頻數(shù),P為期望頻率,E=n×P,k為數(shù)據(jù)總量,χ表示卡方.
1.1.3互信息
互信息法常用于捕捉每個(gè)特征與輸出之間的任意關(guān)系(包括線(xiàn)性和非線(xiàn)性關(guān)系).從信息嫡的角度分析每一個(gè)特征和輸出之間的關(guān)系,互信息越大,說(shuō)明特征與輸出之間的相關(guān)性越大.互信息公式為
其中,X和Y是兩個(gè)變量;p(x,y)是X和Y的聯(lián)合概率分布函數(shù),而p(x)和p(y)分別是X和Y的邊緣概率分布函數(shù);I(X;Y)表示互信息.
公式⑶中,log的底數(shù)可以為e或者2:若為2的話(huà),互信息的單位就是比特;若為e的話(huà),互信息的單位就是奈特.本文采用Python基準(zhǔn)庫(kù)方法以e為底數(shù).
1.2嵌入法
圖2所示是嵌入法的主要流程.嵌入法首先將數(shù)據(jù)輸入機(jī)器學(xué)習(xí)算法中,得到每個(gè)特征的權(quán)值系數(shù),然后根據(jù)權(quán)值系數(shù)的大小選擇特征,被選中的特征對(duì)預(yù)測(cè)器的結(jié)果起較大作用;該方法主要是通過(guò)機(jī)器學(xué)習(xí)訓(xùn)練確定特征的優(yōu)劣,而不是簡(jiǎn)單地根據(jù)特征之間的統(tǒng)計(jì)指標(biāo)來(lái)決定所選特征.隨機(jī)森林算法是時(shí)下非常流行的集成學(xué)習(xí)算法,其模型的泛化能力強(qiáng).LGBM算法是目前很流行的高性能梯度提升算法.因此本文采用隨機(jī)森林算法和LGBM算法作為嵌入法中的機(jī)器學(xué)習(xí)算法.
1.2.1隨機(jī)森林算法
隨機(jī)森林這個(gè)術(shù)語(yǔ)最初是由Ho于1995年[14]率先提出,然后Breiman在2001年[15]的一篇論文中正式提出隨機(jī)森林算法.隨機(jī)森林算法是一種以決策樹(shù)為基礎(chǔ)的算法,與決策樹(shù)類(lèi)似,它既可以用于回歸也可以用于分類(lèi),是一個(gè)包含多個(gè)決策樹(shù)的分類(lèi)器.在決策樹(shù)的訓(xùn)練過(guò)程中引入隨機(jī)屬性選擇,各自獨(dú)立地學(xué)習(xí)并做出預(yù)測(cè),并通過(guò)多個(gè)決策樹(shù)結(jié)果投票決定.因此隨機(jī)森林算法的效果往往比單棵樹(shù)的結(jié)果表現(xiàn)要好,其缺點(diǎn)是訓(xùn)練模型的時(shí)間要比單個(gè)決策樹(shù)長(zhǎng).
1.2.2LGBM算法
LGBM算法是微軟提出的一個(gè)快速的、分布式的、高性能的基于決策樹(shù)的梯度提升算法,可用于處理機(jī)器學(xué)習(xí)中分類(lèi)和回歸的問(wèn)題.梯度提升產(chǎn)生的分類(lèi)器是串行的弱分類(lèi)器的集成,下個(gè)分類(lèi)器需要根據(jù)上個(gè)分類(lèi)器的輸出來(lái)計(jì)算自身的參數(shù);與隨機(jī)森林算法的并行不同,隨機(jī)森林算法所有分類(lèi)器之間沒(méi)有聯(lián)系.傳統(tǒng)的梯度提升存在的問(wèn)題是無(wú)法減少訓(xùn)練數(shù)據(jù)和特征,LGBM算法采用了直方圖算法,加速了訓(xùn)練速度,故有更高的效率,且占用的更少內(nèi)存.
2集成特征選擇
2.1算法框架
本文所提出的集成特征選擇算法的基本框架圖如圖3所示:首先將原始數(shù)據(jù)進(jìn)行預(yù)處理,以去除掉原始數(shù)據(jù)中包含的冗余數(shù)據(jù),并根據(jù)需要調(diào)整數(shù)據(jù)的格式問(wèn)題;然后將處理后的數(shù)據(jù)經(jīng)過(guò)過(guò)濾法和嵌入法處理之后,產(chǎn)生各自的特征子集;特征子集經(jīng)過(guò)投票機(jī)制篩選后,得到3個(gè)特征子集F、F和F,它們分別表示包含3種及以上特征選擇方法都選擇的特征集合、包含4種及以上特征選擇方法都選擇的特征集合、包含5種特征選擇方法都選擇的特征集合.
2.2投票機(jī)制算法
在特征選擇中,本文一共選取了5種特征選擇方法,主要包括過(guò)濾法和嵌入法.過(guò)濾法中采用了相關(guān)系數(shù)、卡方檢驗(yàn)和互信息這3種不同的評(píng)價(jià)標(biāo)準(zhǔn)來(lái)選擇特征;嵌入法中采用了隨機(jī)森林算法和LGBM算法來(lái)選擇特征.隨機(jī)森林算法和LGBM算法是目前很受歡迎且具有代表性的特征選擇算法. 但這些方法都有局限性,如,過(guò)濾法的局限性在于沒(méi)有考慮特征與特征之間的聯(lián)系;嵌入法雖然能夠體現(xiàn)特征間聯(lián)系,但過(guò)于依賴(lài)所選算法的最終表現(xiàn).為此,本文提出了一種投票算法來(lái)選擇特征,得到3個(gè)特征子集F、F和F:設(shè)D=(x,x,…,x)表示數(shù)據(jù)集的m條實(shí)例,向量x=(f,f,…,f,c),f表示向量x第j個(gè)特征的值,F(xiàn)={f,f,…,f}表示數(shù)據(jù)的特征集合,f∈F,C={c,c,…,c}表示數(shù)據(jù)的標(biāo)簽集合,x∈C,選取的特征數(shù)量為T(mén).基于投票機(jī)制的集成特征選擇算法見(jiàn)算法1.
算法1中,P、f、f、R、L分別表示相關(guān)系數(shù)、卡方檢驗(yàn)、互信息、隨機(jī)森林、LGBM這5種方法,它們選出T個(gè)特征分別加入各自集合p、c、m、r、l中;U(p,c,m,r,l)表示選擇包含3種及以上特征選擇方法都選擇的特征集合;U(p,c,m,r,l)表示選擇包含4種及以上特征選擇方法都選擇的特征集合;U(p,c,m,r,l)表示選擇包含5種特征選擇方法都選擇的特征集合.
3異常流量分類(lèi)檢測(cè)
3.1算法簡(jiǎn)介
3.1.1樸素貝葉斯
樸素貝葉斯(Naive Bayesian,NB)是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類(lèi)方法叫是一種直接衡量標(biāo)簽和特征之間的概率關(guān)系的有監(jiān)督算法,既可以做分類(lèi)也可以做回歸.對(duì)于給定的訓(xùn)練數(shù)據(jù)集,首先基于特征獨(dú)立條件假設(shè)學(xué)習(xí)輸入輸出的聯(lián)合概率分布;然后基于此模型,對(duì)于給定的輸入,利用貝葉斯定理求出后驗(yàn)概率最大的輸出.
3.1.2決策樹(shù)
決策樹(shù)(Decision Tree,DT)是一種非參數(shù)的有監(jiān)督學(xué)習(xí)算法,能夠從一系列有特征和標(biāo)簽的數(shù)據(jù)中總結(jié)出決策規(guī)則,并用樹(shù)狀圖的結(jié)構(gòu)來(lái)呈現(xiàn)這些規(guī)則,以解決分類(lèi)和回歸問(wèn)題,而且決策樹(shù)天然能解決多分類(lèi)問(wèn)題,具有非常好的可解釋性.決策樹(shù)學(xué)習(xí)算法包括3個(gè)部分:特征選擇、樹(shù)的生成和樹(shù)的剪枝.特征選擇的目的在于選取對(duì)訓(xùn)練數(shù)據(jù)能夠分類(lèi)的特征;決策樹(shù)的生成通過(guò)計(jì)算一些特征指標(biāo),從根節(jié)點(diǎn)開(kāi)始遞歸地生成決策樹(shù);由于存在過(guò)擬合問(wèn)題,需要對(duì)其進(jìn)行剪枝,以簡(jiǎn)化學(xué)到的決策樹(shù).
3.1.3XGBoost
XGBoost由Chen[17]設(shè)計(jì),是一個(gè)優(yōu)化的分布式梯度提升庫(kù).和傳統(tǒng)的梯度提升算法相比,XGBoost提供并行樹(shù)提升,可以快速準(zhǔn)確地解決許多數(shù)據(jù)科學(xué)問(wèn)題,它比其他使用梯度提升的集成算法更加快速,并被認(rèn)為是在分類(lèi)和回歸上都擁有超高性能的先進(jìn)評(píng)估器.
3.2流量分類(lèi)
本文提出的基于集成特征選擇的異常流量檢測(cè)基本框架如圖4所示:首先用3種機(jī)器學(xué)習(xí)算法評(píng)估集成特征選擇后的數(shù)據(jù);選出最優(yōu)的算法;之后比較集成特征選擇算法和單個(gè)特征選擇算法的在模型上的準(zhǔn)確率、精確率、召回率和F-score.
基于集成特征選擇的異常流量檢測(cè)算法的實(shí)現(xiàn)見(jiàn)算法2.
在算法2中,D表示全部特征數(shù)據(jù),D、D、D表示經(jīng)過(guò)集成特征選擇后的F、F、F對(duì)應(yīng)的數(shù)據(jù).這些數(shù)據(jù)經(jīng)過(guò)算法樸素貝葉斯(NB)、決策樹(shù)(DT)、XGBoost(XG)計(jì)算后,可得到模型運(yùn)行的時(shí)間(T)和準(zhǔn)確率(A).模型的運(yùn)行時(shí)間和準(zhǔn)確率是最重要的2個(gè)指標(biāo),因此本文選擇這2個(gè)指標(biāo)來(lái)評(píng)估模型的表現(xiàn).綜合評(píng)估運(yùn)行時(shí)間和準(zhǔn)確率后選擇表現(xiàn)最好的算法BA(BA∈{NB,DT,XG});表示5種特征選擇算法前F個(gè)特征數(shù)據(jù)和D輸入算法BA中得到評(píng)價(jià)指標(biāo),加入評(píng)價(jià)指標(biāo)集合;表示5種特征選擇算法前F個(gè)特征數(shù)據(jù)和D輸入算法BA中得到評(píng)價(jià)指標(biāo),加入評(píng)價(jià)指標(biāo)集合;表示5種特征選擇算法前F個(gè)特征數(shù)據(jù)和D輸入算法BA中得到評(píng)價(jià)指標(biāo),加入評(píng)價(jià)指標(biāo)集合.最后輸出A、P、R、.
4實(shí)驗(yàn)結(jié)果與分析
4.1數(shù)據(jù)預(yù)處理
實(shí)驗(yàn)數(shù)據(jù)選取CIC-IDS-2018[18]數(shù)據(jù)集,該數(shù)據(jù)集包含最新的網(wǎng)絡(luò)攻擊方式,且模擬真實(shí)的用戶(hù)產(chǎn)生的正常網(wǎng)絡(luò)流量.使用CICFlowMeter-V3[提取該數(shù)據(jù)集特征共76種,如表1所示.
該數(shù)據(jù)集中的攻擊類(lèi)型共有14種,其中6種攻擊類(lèi)型樣本數(shù)量太少,不予考慮.正常流量樣本數(shù)量太大,因此隨機(jī)交叉提取20%的數(shù)據(jù).最后選取的網(wǎng)絡(luò)流量類(lèi)型和數(shù)量(單位條)如表2所示.在表2中,Benign表示正常網(wǎng)絡(luò)流量;DoS attacks-Hulk、DoS attacks-SlowHTTPTest屬于拒絕服務(wù)攻擊攻擊,使攻擊目標(biāo)無(wú)法提供正常服務(wù);DDOS attack-HOIC、DDoS attacks-LOIC-HTTP屬于分布式拒絕服務(wù)攻擊,是一種特殊形式的拒絕服務(wù)攻擊,特點(diǎn)是分布、協(xié)同的大規(guī)模攻擊;Bot屬于僵尸網(wǎng)絡(luò)攻擊,使主機(jī)感染僵尸病毒,從而控制主機(jī),F(xiàn)TP-BruteForce、SSH-Bruteforce屬于暴力攻擊,通過(guò)不斷窮舉破解密碼;Infilteration屬于滲透攻擊,通過(guò)發(fā)現(xiàn)利用或直接利用已知漏洞來(lái)獲得目標(biāo)網(wǎng)絡(luò)權(quán)限.
為了獲得精確區(qū)分不同攻擊類(lèi)型的具有決定性的統(tǒng)計(jì)特征,我們首先刪除了源IP地址、源端口、目標(biāo)IP地址、目標(biāo)端口、協(xié)議這5項(xiàng)特征.因?yàn)椴恍枰紤]時(shí)間特性,故刪除時(shí)間戳特征,同時(shí)刪除數(shù)據(jù)集中存在的缺失值和每秒字節(jié)數(shù)或每秒包數(shù)為無(wú)窮大的數(shù)據(jù).在訓(xùn)練模型時(shí),將標(biāo)簽編碼映射為數(shù)值.
由于方差用來(lái)描述一個(gè)變量的差異性,考慮在一個(gè)數(shù)據(jù)集中,如果一個(gè)特征的方差為0,就意味著這個(gè)特征只有唯一值,且該特征不能導(dǎo)入任何新的信息來(lái)幫助訓(xùn)練模型,因此需要?jiǎng)h除數(shù)據(jù)中方差為0的特征.
4.2實(shí)驗(yàn)環(huán)境與評(píng)價(jià)指標(biāo)
本次實(shí)驗(yàn)的環(huán)境為:Intel(R)Pentium(R)CPU G4600 @ 3.60 GHz;8.00 GB(內(nèi)存);Windows10家庭版64位操作系統(tǒng).算法運(yùn)行環(huán)境是Python3.7,基準(zhǔn)方法在Python庫(kù)scikit-learn中實(shí)現(xiàn);隨機(jī)森林參數(shù)設(shè)置中nstimators表示樹(shù)的棵樹(shù),設(shè)置為100棵樹(shù),100棵樹(shù)能夠在訓(xùn)練難度和模型效果之間取得平衡;LGBM中的nstimators也設(shè)置為100.
本次實(shí)驗(yàn)分類(lèi)評(píng)價(jià)指標(biāo)分別包括準(zhǔn)確率(Accuracy,A),精確率(Precision,F(xiàn)),召回率(Recall,R),F(xiàn)-score (F),它們的定義如下.
在分類(lèi)問(wèn)題中,定義:TP(True Positve Prediction)為真陽(yáng)性預(yù)測(cè),n為真陽(yáng)性預(yù)測(cè)樣本;FP(False Positive Prediction)為假陽(yáng)性預(yù)測(cè),n為假陽(yáng)性預(yù)測(cè)樣本;TN (True Negative Prediction)為真陰性預(yù)測(cè),n為真陰性預(yù)測(cè)樣本;FN(False Negative Prediction)為假陰性預(yù)測(cè),n為假陰性預(yù)測(cè)樣本.
(1)準(zhǔn)確率(A)的定義是所有測(cè)試樣本中n+n的比例,公式為
表示預(yù)測(cè)成功的樣本占總預(yù)測(cè)樣本的比例.
(2)精確率(P)的定義是模型分類(lèi)的預(yù)測(cè)為陽(yáng)性樣本中真陽(yáng)性樣本的比例,公式為
表示預(yù)測(cè)成功陽(yáng)性樣本中占預(yù)測(cè)陽(yáng)性樣本的比例.
(3)召回率(R)的定義是模型分類(lèi)的實(shí)際為陽(yáng)性樣本中真陽(yáng)性樣本的比例,公式為
表示預(yù)測(cè)成功陽(yáng)性樣本中占實(shí)際陽(yáng)性樣本的比例.
(4)F-score(F)的定義是模型分類(lèi)中精確率和召回率的調(diào)和平均數(shù),公式為
表示在精確率和召回率之間的折中.
4.3結(jié)果與分析
對(duì)于特征選擇,由于數(shù)據(jù)集中的特征有76個(gè),去除方差為0的特征之后有68個(gè),因此選擇約一半的特征,即30個(gè),且盡可能保證選擇的是重要的特征.特征選擇后的情況如表3所示,其中,1表示特征被該方法選取,0表示沒(méi)有被該方法選取.本次實(shí)驗(yàn)根據(jù)投票規(guī)則選取F、F、F特征子集.從表3中可以看出,F(xiàn)包含的特征有5個(gè),將其對(duì)應(yīng)的數(shù)據(jù)記為F(數(shù)據(jù)大小約為229MB);F包含的特征有5+6=11個(gè),將其對(duì)應(yīng)的數(shù)據(jù)記為D(數(shù)據(jù)大小約為329 MB);F包含的特征有5+6+9=20個(gè),將其對(duì)應(yīng)的數(shù)據(jù)記為D(數(shù)據(jù)大小約為421 MB).將全部特征數(shù)據(jù)記為D(數(shù)據(jù)大小約為1426 MB).
在流量分類(lèi)中,將D、D、D、D輸入樸素貝葉斯、決策樹(shù)、XGBoost算法,使用十折交叉驗(yàn)證計(jì)算模型的訓(xùn)練時(shí)間和準(zhǔn)確率,實(shí)驗(yàn)結(jié)果見(jiàn)圖5.由圖5可知,在平均訓(xùn)練時(shí)間方面,樸素貝葉斯是76s,決策樹(shù)是443 s,XGBoost是5572 s;在平均準(zhǔn)確率方面,樸素貝葉斯是73.33%,決策樹(shù)是90.22%,XGBoost是92.14%;XGBoost的平均準(zhǔn)確率最高,但其平均訓(xùn)練時(shí)間高達(dá)5 572 s;樸素貝葉斯的平均訓(xùn)練時(shí)間最低,但其平均準(zhǔn)確率只有73.33%,無(wú)法達(dá)到良好的分類(lèi)結(jié)果;決策樹(shù)的平均準(zhǔn)確率只比XGBoost低1.92%,但其平均訓(xùn)練時(shí)間卻比XGBoost減少了92.05%,XGBoost在時(shí)間上的花費(fèi)相比準(zhǔn)確率代價(jià)太高,且在數(shù)據(jù)集D、D、D的準(zhǔn)確率上相差甚微.綜合考慮,本文選擇決策樹(shù)作為建模算法,并對(duì)比集成特征選擇算法和單個(gè)特征選擇算法在該建模算法中的表現(xiàn).
D有20個(gè)特征,因此5種特征選擇方法分別選出前20個(gè)特征,經(jīng)過(guò)決策樹(shù)算法后,評(píng)價(jià)指標(biāo)如圖6所示.實(shí)驗(yàn)結(jié)果表明,D的準(zhǔn)確率最高,比最低的卡方準(zhǔn)確率高出24.19%,平均準(zhǔn)確率高出12.71%.D的精確率最高,比最低的相關(guān)系數(shù)精確率高出17.76%,平均精確率高出9.41%,D的召回率最高,比最低的相關(guān)系數(shù)召回率高出24.14%,平均召回率高出10.12%,D的F-score最高,比最低的相關(guān)系數(shù)F-score高出28.79%,比平均F-score高出11.37%.
D有11個(gè)特征,因此5種特征選擇方法分別選出前11個(gè)特征,經(jīng)過(guò)決策樹(shù)算法后,評(píng)價(jià)指標(biāo)如圖6所示.實(shí)驗(yàn)結(jié)果表明,D的準(zhǔn)確率最高,比最低的卡方準(zhǔn)確率高出了24.97%,平均準(zhǔn)確率高出了16.93%;D的精確率最高,比最低的相關(guān)系數(shù)精確率高出了18.79%,平均精確率高出了12.31%;D的召回率最高,比最低的相關(guān)系數(shù)召回率高出了24.21%,平均召回率高出了15.34%;D的F-score最高,比最低的相關(guān)系數(shù)F-score高出了28.99%,平均F-score高出了18.0%.
D有5個(gè)特征,因此5種特征選擇方法分別選出前5個(gè)特征,經(jīng)過(guò)決策樹(shù)算法后,評(píng)價(jià)指標(biāo)如圖7所示.實(shí)驗(yàn)結(jié)果表明,D的準(zhǔn)確率最高,比最低的卡方準(zhǔn)確率高出29.57%,平均準(zhǔn)確率高出23.48%.D的精確率最高,比最低的互信息精確率高出20.94%,平均精確率高出17.76%,D的召回率最高,比最低的卡方召回率高出40.44%,平均召回率高出31.15%,D的F-score最高,比最低的卡方F-score高出39.53%,平均F-score 高出34.50%.
從圖5、圖6和圖7中可以看出,集成特征選擇算法比單個(gè)特征選擇算法在各項(xiàng)指標(biāo)均有較高的提升,這說(shuō)明集成特征算法能篩選出重要的特征.最后比較3個(gè)特征子集評(píng)價(jià)指標(biāo)的差異,選出最優(yōu)的特征子集.從圖7中可以看出,準(zhǔn)確率最高的是D,最低的是D,這是因?yàn)镈的特征太少,損失了重要特征;D的準(zhǔn)確率比D只高0.06%,精確率只高0.12%,召回率只高0.21%,F(xiàn)-score只高0.19%,說(shuō)明D特征已經(jīng)足夠重要;但是D的模型運(yùn)行時(shí)間比D高52.28%(由圖5可知),時(shí)間花費(fèi)的代價(jià)太大,提升太小.因此本文選擇D包含的特征作為最優(yōu)的特征子集.
5總結(jié)
本文提出了一種集成特征選擇的網(wǎng)絡(luò)異常流量檢測(cè)算法:特征選擇采用了包含過(guò)濾法和嵌入法的5種方法,提出了基于投票機(jī)制的特征選擇算法,選出了3個(gè)特征子集;流量分類(lèi)采用3種常用的機(jī)器學(xué)習(xí)算法對(duì)集成特征數(shù)據(jù)進(jìn)行了多分類(lèi)預(yù)測(cè).實(shí)驗(yàn)結(jié)果表明,決策樹(shù)表現(xiàn)最好,因此選用決策樹(shù)建模.對(duì)比集成特征選擇算法和單個(gè)特征選擇算法之間的指標(biāo),集成特征選擇算法的最優(yōu)子特征比單個(gè)特征選擇算法平均準(zhǔn)確率提高了16.93%,平均精確率提高了12.31%,平均召回率提高了15.34%,平均F-score提高了18.00%,對(duì)比原始數(shù)據(jù)也稍有提升,但模型的運(yùn)行時(shí)間比原始數(shù)據(jù)少了84.38% (數(shù)據(jù)量減少了1097 MB).本文的特征集無(wú)法保證是全局最優(yōu)子特征,今后可以持續(xù)優(yōu)化尋找全局最優(yōu)子特征.
[參考文獻(xiàn)]
[1]CISCO. Cisco visual networking index:Forecast and methodology,2016-2021 [EB/OL]. (2017-06-15)[2020-06-24]. http://www.cisco.com/c/ en/us/solutions/collateral/service-provider/visualnetworking-indexvni/complet e-white-paper-c11-481360.pdf.
[2]KYLE Y. Read Dyn's statement on the 10/21/2016 DNS DDoS attack [EB/OL]. (2016-10-21)[2020-06-24]. https://dyn.com/blog/dyn-statement-on-10212016-ddos-attack.html.
[3]PATIL N V,KRISHNA C R,KUMAR Ket al. E-Had:A distributed and collaborative detection framework for early detection of DDoS attacks [J/OL]. Journal of King Saud University-Computer and Information Sciences,2019. https://doi.org/10.1016/j.jksuci.2019.06.016.
[4]PACHECO F,EXPOSITO E,GINESTE M,et al. Towards the deployment of machine learning solutions in network traffic classification:A systematic survey [J]. IEEE Communications Surveys and Tutorials,2018,21(4):1988-2014.
[5]INTERNET ASSIGNED NUMBERS AUTHORITY. Protocol Assignments [EB/OL]. (2011-12-17)[2020-06-24]. https://www.iana.org/protocols.
[6]CALLADO A,KELNER J,SADOK D,et al. Better network traffic identification through the independent combination of techniques [J]. Journal of Network and Computer Applications,2010,33(4):433-446.
[7]BELAVAGI M C,MUNIYAL B. Performance evaluation of supervised machine learning algorithms for intrusion detection [J]. Procedia Computer Science,2016,89:117-123.
[8]OSANAIYE O,CAI H B,CHOO K K R,et al. Ensemble-based multi-filter feature selection method for DDoS detection in cloud computing [J]. EURASIP Journal on Wireless Communications and Networking,2016:Article number 130. DOI:10.1186/sl3638-016- 0623-3
[9]HOQUE N,SINGH M,BHATTACHARYYA D K. EFS-MI:An ensemble feature selection method for classification [J]. Complex &Intelligent Systems,2018(4):105-118..
[10]SINGH K J,DE T. Efficient classification of DDoS attacks using an ensemble feature selection algorithm [J]. Journal of Intelligent Systems,2017,29(1):71-83.
[11]KE G L,MENG Q,F(xiàn)INLEY T,et al. LightGBM:A highly efficient gradient boosting decision tree [C]// Advances in Neural Information Processing Systems (NIPS 2017). 2017:3146-3154.
[12]CHEN T Q,GUESTRIN C. XGBoost:A scalable tree boosting system[C]// Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2016:785-794.
[13]BOLóN-CANEDO V,ALONSO-BETANZOS A. Ensembles for feature selection:A review and future trends [J]. Information Fusion,2019,52:1-12.
[14]HO T K. Random decision forests [C]// Proceedings of 3rd International Conference on Document Analysis and Recognition. IEEE,1995:278-282.
[15]BREIMAN L. Random forest [J]. Machine Learning,2001,45:5-32.
[16]李航.統(tǒng)計(jì)學(xué)習(xí)方法[M].2版.北京:清華大學(xué)出版社,2019:59-60.
[17]CHEN T Q. Story and lessons behind the evolution of XGBoost [EB/OL]. (2016-03-10)[2020-06-24]. https://homes.cs.washington.edu/~tqchen/2016/03/10/story-and-lessons-behind-the-evolution-of-xgboost.html.
[18]SHARAFALDIN I,LASHKARI A H,GHORBANI A A. Toward generating a new intrusion detection dataset and intrusion trafficcharacterization [C]// Proceedings of the 4th International Conference on Information Systems Security and Privacy - ICISSP. 2018:108-116.
[19]LASHKARI A H,DRAPER-GIL G,MAMUN M S I,et al. Characterization of tor traffic using time based features [C]//Proceedings of the 3rd International Conference on Information Systems Security and Privacy-ICISSP. 2017:253-262.
(責(zé)任編輯:李藝)