徐精誠,陳學(xué)斌*,董燕靈,楊佳
融合特征選擇的隨機(jī)森林DDoS攻擊檢測
徐精誠1,2,3,陳學(xué)斌1,2,3*,董燕靈1,2,3,楊佳1
(1.華北理工大學(xué) 理學(xué)院,河北 唐山 063210; 2.河北省數(shù)據(jù)科學(xué)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室(華北理工大學(xué)),河北 唐山 063210; 3.華北理工大學(xué) 唐山市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,河北 唐山 063210)( ? 通信作者電子郵箱chxb@qq.com)
現(xiàn)有基于機(jī)器學(xué)習(xí)的分布式拒絕服務(wù)(DDoS)攻擊檢測方法在面對愈發(fā)復(fù)雜的網(wǎng)絡(luò)流量、不斷升維的數(shù)據(jù)結(jié)構(gòu)時,檢測難度和成本不斷上升。針對這些問題,提出一種融合特征選擇的隨機(jī)森林DDoS攻擊檢測方法。該方法選用基于基尼系數(shù)的平均不純度算法作為特征選擇算法,對DDoS異常流量樣本進(jìn)行降維,以降低訓(xùn)練成本、提高訓(xùn)練精度;同時將特征選擇算法嵌入隨機(jī)森林的單個基學(xué)習(xí)器,將特征子集搜索范圍由全部特征縮小到單個基學(xué)習(xí)器對應(yīng)特征,在提高兩種算法耦合性的同時提高了模型精度。實(shí)驗(yàn)結(jié)果表明,融合特征選擇的隨機(jī)森林DDoS攻擊檢測方法訓(xùn)練所得到的模型,在限制決策樹棵數(shù)和訓(xùn)練樣本數(shù)量的前提下,召回率相較于改進(jìn)前提升21.8個百分點(diǎn),F(xiàn)1-score值提升12.0個百分點(diǎn),均優(yōu)于傳統(tǒng)的隨機(jī)森林檢測方案。
分布式拒絕服務(wù);特征選擇;基尼系數(shù);平均不純度算法;隨機(jī)森林算法
分布式拒絕服務(wù)(Distributed Denial-of-Service, DDoS)攻擊[1]是一種常見的網(wǎng)絡(luò)攻擊方式,具有發(fā)動成本低、溯源難度高的特點(diǎn)。近年來DDoS勒索攻擊頻頻出現(xiàn),據(jù)綠盟科技聯(lián)合騰訊安全發(fā)布的《2021年全球DDoS威脅報告》[2]統(tǒng)計(jì),2019年至今,全球DDoS每年攻擊次數(shù)翻倍并仍在持續(xù)增長,攻擊帶寬也在不斷提高,峰值瞬時流量甚至可以達(dá)到2.4 TB。愈加頻繁的DDoS攻擊已經(jīng)成為企業(yè)無法忽視的一大威脅。
當(dāng)今國內(nèi)外提出的DDoS攻擊檢測方法主要可以分為以下幾種:基于數(shù)理統(tǒng)計(jì)進(jìn)行檢測、根據(jù)流量特征進(jìn)行匹配和利用機(jī)器學(xué)習(xí)算法建模檢測[3]。前兩種方式需要預(yù)先制定規(guī)則,面對突發(fā)流量時識別率較低,對瞬息萬變的網(wǎng)絡(luò)環(huán)境適應(yīng)性較差,而基于機(jī)器學(xué)習(xí)算法的DDoS攻擊檢測方法具有識別率高、適應(yīng)性強(qiáng)等優(yōu)點(diǎn),吸引了眾多學(xué)者從事相關(guān)研究。Suthaharan[4]使用多層感知機(jī)(MultiLayer Perceptron, MLP)算法對自主采集的DDoS攻擊數(shù)據(jù)集進(jìn)行檢測,達(dá)到了98.6%的準(zhǔn)確率;但因算法本身復(fù)雜度過高,無法保證實(shí)時性。Jia等[5]提出混合隨機(jī)森林(Random Forest, RF)、K-最近鄰(K-Nearest Neighbor, KNN)算法的集成學(xué)習(xí)DDoS攻擊檢測模型,再次提升了準(zhǔn)確率;但模型結(jié)果趨向于中值而非最優(yōu)解,模型穩(wěn)定性有待提升。Najafimehr等[6]提出了一種混合聚類算法和分類算法的檢測策略,使用CICIDS 2017作為訓(xùn)練集構(gòu)建模型,在CICIDS 2019數(shù)據(jù)集上取得了良好的預(yù)測準(zhǔn)確率,為DDoS攻擊檢測方向提供了一個新思路;但算法本身復(fù)雜度較高,實(shí)時性難以保證。孟曈[7]提出了一種基于機(jī)器學(xué)習(xí)與可逆sketch的DDoS攻擊檢測方法,明顯提高了攻擊檢測的實(shí)時性,但模型識別精度仍有待提升。
作為一種數(shù)據(jù)預(yù)處理方法,特征選擇可以提高對高維小樣本數(shù)據(jù)集的預(yù)測精度,防止“維度災(zāi)難”和過擬合。基于機(jī)器學(xué)習(xí)的DDoS攻擊檢測通常需要在復(fù)雜網(wǎng)絡(luò)環(huán)境下實(shí)時訓(xùn)練模型,采樣獲得的數(shù)據(jù)往往符合高維小樣本這一特征,因而整個檢測流程中十分依賴特征選擇,國內(nèi)外也有很多相關(guān)研究。Osanaiye等[8]使用多種評估器對DDoS攻擊流量進(jìn)行特征排序,取前1/3作為訓(xùn)練用特征,這一方法顯著提高了訓(xùn)練效率和模型精度;但選取的特征并不通用,魯棒性較差。Gu等[9]提出了一種基于混合特征選擇的半監(jiān)督DDoS攻擊檢測算法(Semi-supervised weighted K-means Method using Hybrid Feature Selection algorithm, SKM-HFS),將K-means算法與混合特征選擇算法(Hybrid Feature Selection, HFS)相結(jié)合,對流量特征進(jìn)行排序以獲得特征子集,提高了預(yù)測精度;但算法復(fù)雜度較高,實(shí)時性較差。
隨機(jī)森林(RF)是一種主流的集成學(xué)習(xí)算法,具有簡單、泛化能力強(qiáng)、抗過擬合能力強(qiáng)等優(yōu)點(diǎn),被廣泛應(yīng)用到異常流量檢測領(lǐng)域。Pande等[10]提出了一種基于改進(jìn)RF算法的DDoS攻擊檢測模型,分類準(zhǔn)確率達(dá)到了99.76%,驗(yàn)證了該算法的可行性與高效性。Cheng等[11]提出了一種基于流相關(guān)度特征的遺傳算法優(yōu)化的增強(qiáng)RF方法,根據(jù)不對稱和半定向交互特征定義了流相關(guān)度特征,進(jìn)行了特征升維;但是該算法較為復(fù)雜,訓(xùn)練成本較高。
本文提出了一種基于融合特征選擇的隨機(jī)森林DDoS攻擊檢測方法,與常規(guī)隨機(jī)森林[12-13]模型訓(xùn)練流程中先進(jìn)行特征選取再進(jìn)行Bootstrap采樣[14]不同,本文方法采用了先采樣再根據(jù)具體采樣數(shù)據(jù)集本身特點(diǎn)進(jìn)行特征選擇的策略,從縱向的數(shù)據(jù)和橫向的特征兩個角度出發(fā),提高了攻擊檢測的實(shí)時性與模型的精確度。
本文的主要工作包括:1)在RF算法的基礎(chǔ)上提出了一種改進(jìn)的特征選擇策略,將特征選擇步驟細(xì)化到單棵決策樹,提高了模型訓(xùn)練精度;2)將兩種基于平均不純度的特征選擇算法分別與RF融合,構(gòu)建了性能較好的DDoS攻擊檢測模型;3)提出的融合特征選擇的隨機(jī)森林算法收斂速度大幅提升,相比改進(jìn)前,能夠以更低的訓(xùn)練成本得到高精度模型。
DDoS攻擊由拒絕服務(wù)(Denial of Service, DoS)攻擊演化而來,惡意人員首先需要操作控制大量僵尸主機(jī)集群,向目標(biāo)服務(wù)器或者目標(biāo)網(wǎng)絡(luò)發(fā)送大量的攻擊流量,消耗網(wǎng)絡(luò)的帶寬資源或者目標(biāo)主機(jī)的計(jì)算資源,使目標(biāo)網(wǎng)絡(luò)在攻擊流量下發(fā)生擁塞或無法向正常的用戶提供服務(wù)甚至宕機(jī)。它是一種簡單高效的攻擊方式,能夠十分輕易地對目標(biāo)網(wǎng)絡(luò)或者主機(jī)造成嚴(yán)重的影響,且攻擊迅猛,防御與溯源追蹤都很困難。DDoS攻擊方式如圖1所示。
圖1 DDoS攻擊示意圖
DDoS攻擊類型多種多樣,主要有泛洪攻擊、挑戰(zhàn)黑洞(ChallengeCollapsar, CC)攻擊、分布式反射(Distributed Reflection Denial Of Servie, DrDOS)攻擊等。泛洪攻擊通常分為傳輸控制協(xié)議(Transmission Control Protocol, TCP)泛洪和用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP)泛洪兩種。TCP泛洪攻擊是指利用TCP的握手流程發(fā)起虛假連接請求,以消耗目標(biāo)主機(jī)資源的攻擊方式,可再次分為SYN泛洪攻擊和ACK泛洪攻擊。CC攻擊也稱挑戰(zhàn)黑洞攻擊,是基于應(yīng)用層的攻擊,通過不斷向目標(biāo)主機(jī)發(fā)送POST/GET請求,引發(fā)巨量瞬時數(shù)據(jù)庫操作,消耗主機(jī)資源;但CC的攻擊模式明顯,相對易于防御。DrDOS攻擊是通過向攻擊主機(jī)發(fā)送帶有目標(biāo)主機(jī)IP的少量數(shù)據(jù)包,攻擊主機(jī)根據(jù)收到請求向目標(biāo)主機(jī)返回大量數(shù)據(jù)包,以小流量換取大流量,也稱之為放大攻擊,一直是攻擊流量的主力軍。根據(jù)《2021年全球DDoS威脅報告》,100 GB以上的大流量攻擊手法除了主流的SYN大包和UDP反射,ACK泛洪、TCP反射、SYN小包等攻擊手法占比也逐漸上升,大流量攻擊手段逐漸呈多元化趨勢。
RF算法是一種基于決策樹的組合分類器,屬于集成學(xué)習(xí)中Bagging的一個變體,它選取分類與回歸樹(Classification And Regression Tree, CART)[15]作為基學(xué)習(xí)器,引入Bagging算法[16]對數(shù)據(jù)集和特征從橫向縱向兩個角度進(jìn)行Bootstrap采樣,橫向采樣可以獲得特征相同且互有交集的多個訓(xùn)練子集,減少了單個決策樹的樣本數(shù)量,進(jìn)而訓(xùn)練多個單獨(dú)決策樹分類器,最終構(gòu)建組合模型,大幅提升了模型的準(zhǔn)確率和穩(wěn)定性,算法偽代碼如下:
算法1 RF算法。
5) end for
9) end for
特征選擇作為機(jī)器學(xué)習(xí)中一種重要的數(shù)據(jù)預(yù)處理手段,能夠有效提升高維小樣本數(shù)據(jù)集的訓(xùn)練效果。本文模型采用集成學(xué)習(xí)中Bagging的訓(xùn)練方案,單個樹模型中樣本量大幅減少,而特征數(shù)量維持不變,使用特征選擇算法縮小RF算法對特征的Bootstrap采樣范圍,能夠明顯提升模型訓(xùn)練精度。
常規(guī)的特征選擇算法[17]主要分為四種:過濾式、封裝式、嵌入式和集成式。過濾式也稱fliter,又可以分為基于特征排序和基于搜索策略兩類:前者通過算法計(jì)算特征權(quán)重進(jìn)行特征排序,常見算法有Relief[18]、Fisher得分[19]、Person相關(guān)系數(shù)等;后者則是通過搜索算法進(jìn)行特征子集篩選,相比前者更易獲得全局最優(yōu)解,但訓(xùn)練成本更高。封裝式也稱wrapper,是將特征選擇與機(jī)器學(xué)習(xí)算法結(jié)合,以一種黑盒模型的形式進(jìn)行特征選擇,通過訓(xùn)練的方式調(diào)整策略并最終輸出能夠進(jìn)行特征選擇的機(jī)器學(xué)習(xí)模型。嵌入式也稱embedded,通過將評價標(biāo)準(zhǔn)和機(jī)器學(xué)習(xí)算法相結(jié)合的方式構(gòu)建黑盒模型,相較于wrapper中使用搜索算法和機(jī)器學(xué)習(xí)算法相結(jié)合,時間復(fù)雜度更低。集成式特征選擇借鑒了集成學(xué)習(xí)思想,訓(xùn)練多個特征選擇算法并整合結(jié)果,可以有效提高算法穩(wěn)定性,多適用于小樣本數(shù)據(jù)。
本文提出了一種融合特征選擇的隨機(jī)森林DDoS攻擊檢測方法,具體流程如圖2所示,主要由數(shù)據(jù)預(yù)處理模塊、特征選擇模塊、模型訓(xùn)練模塊和攻擊檢測模塊四部分組成。
圖2 DDoS攻擊檢測流程
數(shù)據(jù)預(yù)處理模塊負(fù)責(zé)對原始攻擊流量數(shù)據(jù)進(jìn)行數(shù)據(jù)建模,使用特征提取工具cicFlowmeter提取出五元組(源IP地址,源端口,目的IP地址,目的端口,傳輸層協(xié)議)、網(wǎng)絡(luò)流間隔、正反向窗口字節(jié)數(shù)等共計(jì)78個攻擊流量特征,匯總建模形成可以用于訓(xùn)練集成學(xué)習(xí)模型的初始數(shù)據(jù)集,進(jìn)行拆分后供后續(xù)模塊使用。
特征選擇模塊需要輔助RF模型訓(xùn)練部分提前完成Bootstrap自主抽樣,從預(yù)處理得到的訓(xùn)練集提取多個子訓(xùn)練集,每個子訓(xùn)練集對應(yīng)RF中的一棵樹。同時該模塊會對每個子訓(xùn)練集使用多種特征選擇算法進(jìn)行特征排序,不同子訓(xùn)練集中樣本有差異,因此特征重要性也有所不同,這種先采樣后排序的策略所得到的數(shù)據(jù)子集可以更好地凸顯樣本特征,更易達(dá)到好的訓(xùn)練效果。完成各個子集的特征排序后,該模塊會根據(jù)給定比例輸出最終子訓(xùn)練集用于后續(xù)集成學(xué)習(xí)的模型訓(xùn)練。
模型訓(xùn)練模塊基于改進(jìn)的RF算法,且RF中的決策樹與特征選擇模塊得到的子訓(xùn)練集一一對應(yīng),模型根據(jù)輸入的子訓(xùn)練集生成多棵決策樹,并使用加權(quán)投票的方式進(jìn)行集成,同時可以基于測試集進(jìn)行驗(yàn)證并輔助模型進(jìn)行參數(shù)調(diào)整。
攻擊檢測模塊用于進(jìn)行最后的預(yù)測,可以對實(shí)時的流量數(shù)據(jù)進(jìn)行樣本提取并判斷是否屬于DDoS攻擊流量,判斷為真后可以基于樣本中的源IP參數(shù)進(jìn)行IP封禁等防御操作。
DDoS攻擊數(shù)據(jù)集有維度高、數(shù)據(jù)量大等特征。過高的樣本維度往往意味著大量的冗余特征,這些冗余特征會淡化樣本特點(diǎn),提高分類難度,導(dǎo)致模型訓(xùn)練精度降低與“維度詛咒[20]”。同時樣本的升維也會導(dǎo)致指數(shù)級的計(jì)算量增長,大幅提高了運(yùn)算成本,不利于DDoS攻擊檢測的實(shí)時性。因此對DDoS攻擊檢測模型進(jìn)行特征選擇是非常必要的預(yù)處理流程。
本文選用基于平均不純度的集成式特征選擇算法進(jìn)行特征排序。平均不純度算法是一種依據(jù)決策樹中的評價指標(biāo)實(shí)現(xiàn)的算法,在決策樹算法中,每個節(jié)點(diǎn)都包含一個判斷條件,根據(jù)特征值產(chǎn)生分支,而分支的依據(jù)就是不純度,常用的不純度評判依據(jù)有信息熵、信息增益、信息增益率和基尼(Gini)系數(shù)等[21]。使用樹的集成算法進(jìn)行模型訓(xùn)練時可以根據(jù)平均不純度計(jì)算各個特征的重要程度。
本文基于RF和梯度提升決策樹(Gradient Boosting Decision Tree, GBDT)兩種算法進(jìn)行平均不純度減少量的計(jì)算,兩種算法共同點(diǎn)均為基于決策樹的集成學(xué)習(xí)算法,同時有以下差異:
1)RF算法面向并行的決策樹進(jìn)行計(jì)算,而GBDT算法是面向每輪迭代后產(chǎn)生的新決策樹的串行計(jì)算。
2)RF算法基于Bootstrap抽樣,每棵決策樹構(gòu)建的特征各不相同,因此需要多棵決策樹才可以覆蓋所有特征集合,進(jìn)而計(jì)算特征權(quán)重;而GBDT則是基于所有特征構(gòu)建決策樹,并通過Boosting進(jìn)行迭代優(yōu)化,因此最少只需要進(jìn)行一次迭代就能完成所有特征的平均不純度計(jì)算。
兩種算法各有優(yōu)劣:基于RF的特征選擇算法運(yùn)算量更大,但參考對象更多,多樣性好,從模型訓(xùn)練的角度來看泛化性更強(qiáng),能夠抗過擬合,對應(yīng)的特征篩選結(jié)果更適用于樣本量大、特征數(shù)量多的訓(xùn)練集;基于GBDT的特征選擇算法需要的運(yùn)算量相對較小,參照樣本數(shù)量較少,但單個樣本更全面,適用于欠擬合的情況,對應(yīng)的篩選結(jié)果更適用于樣本量小、特征維度低的數(shù)據(jù)集。
2.1.1基于平均不純度減少的RF特征選擇算法
RF包含多棵CART決策樹,每棵決策樹對應(yīng)的特征均為對原始特征集進(jìn)行Bootstrap抽樣選取得到的特征子集。因此在RF中平均不純度降低值的計(jì)算方式也有所不同,需要對每棵樹進(jìn)行特征的存在判定,最終在一個更大的范圍下計(jì)算平均不純度降低值。具體算法偽代碼如下:
算法2 基于平均不純度減少的RF特征選擇算法。
6) end for
7) end for
2.1.2基于平均不純度減少的GBDT特征選擇算法
除了RF算法,同樣基于決策樹的GBDT算法[22]也可以通過計(jì)算決策樹中非葉子節(jié)點(diǎn)的平均不純度減少量來評判特征的重要程度。基于平均不純度減少的GBDT特征選擇算法偽代碼如下:
算法3 基于平均不純度減少的GBDT特征選擇算法。
4) end for
本文采用兩種特征選擇算法分別與集成學(xué)習(xí)算法融合,一種是基于Boosting的GBDT算法,一種是基于Bagging的RF算法,兩者均為基于決策樹的集成學(xué)習(xí)算法,同時本文僅僅利用算法特性進(jìn)行特征的計(jì)算,并不進(jìn)行最終預(yù)測結(jié)果的集成,因此訓(xùn)練成本遠(yuǎn)低于這兩類算法的常規(guī)方案。
2.1.3性能分析
本文使用兩種基于平均不純度的特征選擇算法與RF算法進(jìn)行融合,通過計(jì)算決策樹生成時的不純度下降比例進(jìn)行特征排序,本文主要從時間復(fù)雜度來進(jìn)行性能分析。
兩種排序算法時間復(fù)雜度較為接近,但實(shí)際情況中,RF的多個決策樹可以并行構(gòu)建,而GBDT只支持串行,因此前者的實(shí)際運(yùn)行耗時低于后者。
本文結(jié)合基于平均不純度的特征選擇算法與RF算法,提出了一種融合特征選擇的隨機(jī)森林算法。傳統(tǒng)RF算法與特征選擇算法結(jié)合時,通常會先對訓(xùn)練集進(jìn)行特征排序,根據(jù)排序結(jié)果進(jìn)行特征降維,然后對降維后的數(shù)據(jù)集進(jìn)行Bootstrap采樣以及模型訓(xùn)練。但Bootstrap采樣獲得的數(shù)據(jù)子集各有差異,統(tǒng)一的特征排序方法不能適用于每一個特征子集的內(nèi)部特征,因此本文提出了一種先采樣后排序的結(jié)合方式,實(shí)現(xiàn)步驟如下:
1)先對原始訓(xùn)練數(shù)據(jù)集基于給定比例進(jìn)行Bootstrap采樣,獲得多個訓(xùn)練子集,每個子訓(xùn)練集對應(yīng)RF中的一個決策樹分類器。
2)使用基于平均不純度的特征選擇算法對每個子訓(xùn)練集進(jìn)行特征排序,根據(jù)特征排序結(jié)果對每個子集單獨(dú)進(jìn)行特征降維,降維后的子訓(xùn)練集將用于單棵決策樹的訓(xùn)練。
3)基于每個子訓(xùn)練集進(jìn)行特征上的Bootstrap采樣,以此為訓(xùn)練集構(gòu)建多棵決策樹,使用委員會投票方法對結(jié)果進(jìn)行集成,構(gòu)成RF模型。
算法偽代碼如下:
算法4 融合特征選擇的隨機(jī)森林算法。
輸出 預(yù)測結(jié)果
10) end for
14) end for
相較于傳統(tǒng)的先特征選擇后訓(xùn)練模型的RF算法,該方法將特征選擇步驟融合到單個決策樹訓(xùn)練中,考慮到Bootstrap抽樣下不同決策樹的訓(xùn)練樣本特征有所不同,訓(xùn)練樣本對應(yīng)的特征選擇的結(jié)果也會有所差異。改進(jìn)方法擴(kuò)展了特征選擇算法的使用范圍,細(xì)化了特征選擇這一步驟,能夠有效提升整體模型精度。
本文基于CICIDS 2017數(shù)據(jù)集模擬真實(shí)環(huán)境下的DDoS攻擊流量,實(shí)驗(yàn)主要分為個三部分:1)數(shù)據(jù)預(yù)處理;2)分別選用兩種集成式特征選擇算法與RF算法進(jìn)行融合,生成DDoS攻擊檢測模型;3)使用預(yù)測集驗(yàn)證模型,設(shè)立評判指標(biāo)并與其他算法進(jìn)行橫向?qū)Ρ取?/p>
CICIDS 2017數(shù)據(jù)集標(biāo)簽流量分類總數(shù)較多,但實(shí)際上對異常流量的處理方式大同小異,通常為溯源后進(jìn)行IP封禁。因此本文將基于不同攻擊方式構(gòu)建的多分類數(shù)據(jù)集轉(zhuǎn)化為只區(qū)分異常流量和正常流量的二分類數(shù)據(jù)集,同時對部分特征中無意義的空值和INF值置0進(jìn)行數(shù)據(jù)清洗,以保證模型能夠正常進(jìn)行訓(xùn)練,最后以7∶3的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測試集。
本文實(shí)現(xiàn)的是一個融合特征選擇算法和RF算法的預(yù)測模型,其中RF算法用于基本的模型訓(xùn)練,特征選擇算法用于對Bootstrap抽樣后生成的子數(shù)據(jù)集進(jìn)行特征排序,以縮小它對特征進(jìn)行二次抽樣時的選擇范圍。主要選取了GBDT和兩種基于平均不純度降低的特征選擇算法進(jìn)行對比,包括:
1)原始的隨機(jī)森林算法(RF);
2)通用的特征選擇算法與RF算法結(jié)合方法,即先使用特征選擇算法對原始數(shù)據(jù)集進(jìn)行預(yù)處理后再使用RF算法進(jìn)行訓(xùn)練(Feature_RF);
3)融合特征選擇算法的RF算法,包含基于RF和梯度提升決策樹(GBDT)的兩種特征選擇方法GBDT_RF和RF_RF。
模型主要從兩個角度進(jìn)行對比,首先是模型本身的預(yù)測精度,通過計(jì)算對DDoS攻擊樣本預(yù)測結(jié)果對應(yīng)的評價指標(biāo),來判斷模型本身的精度提升程度。
其次考慮到模型復(fù)雜度有所提高,模型訓(xùn)練與預(yù)測所用的時間成本也會有所提升,但模型精度的提升也會加快收斂,因此本文對不同決策樹棵樹下模型訓(xùn)練時間進(jìn)行測量,并結(jié)合預(yù)測精度進(jìn)行實(shí)時性分析。
使用準(zhǔn)確率()精確率()、召回率()和F1-score (1)對DDoS攻擊檢測效果進(jìn)行算法性能評估,它們均基于混淆矩陣中的4個評價指標(biāo):真陽性,表示被模型正確識別的DDoS惡意攻擊流量數(shù);真陰性,表示被模型正確識別的普通流量個數(shù);假陽性,表示被錯誤分類為惡意流量的普通流量個數(shù);假陰性,表示被錯誤分類為普通流量的惡意流量個數(shù)。
1)準(zhǔn)確率表示模型正確分類樣本占總樣本比例。
2)精確率表示被預(yù)測為惡意流量的所有流量中惡意流量的占比。
3)召回率表示惡意流量被模型正確分類的比率。
本文選擇CICIDS 2017入侵檢測評估數(shù)據(jù)集作為驗(yàn)證對象,它包含良性數(shù)據(jù)和最新的常見DDoS攻擊數(shù)據(jù),提供類真實(shí)世界的PCAPS格式數(shù)據(jù)。數(shù)據(jù)集包含6類攻擊方式:Brute Force Attack(暴力攻擊)、Heartbleed Attack(心跳攻擊)、Botnet(僵尸網(wǎng)絡(luò))、Dos Attack(拒絕服務(wù)攻擊)、Web Attack(網(wǎng)絡(luò)攻擊)和Infiltration Attack(滲透攻擊)。實(shí)際上這些攻擊方式均可以看作DDoS攻擊的分支。因此數(shù)據(jù)集預(yù)處理過程中會將數(shù)據(jù)集轉(zhuǎn)化為二分類,即異常流量和正常流量兩類。
實(shí)驗(yàn)用服務(wù)器配置如下:CPU使用Intel Xeon CPU E5-2640,運(yùn)行內(nèi)存256 GB,運(yùn)行環(huán)境基于Python3.9,使用scikit-learn 0.24.1、numpy、pandas等模塊構(gòu)建模型。其中基于梯度提升決策樹及RF的特征排序算法基于scikit-learn中的軟件包,而訓(xùn)練模型使用的RF算法則基于numpy和pandas編寫。
從圖3可知,四種特征選擇方法的精確率和準(zhǔn)確率均能迅速達(dá)到閾值,準(zhǔn)確率值均達(dá)到了98%以上,而精確率則均達(dá)到99.6%以上,所有模型對正常流量的預(yù)測準(zhǔn)確率都很高。但考慮到數(shù)據(jù)集中正負(fù)樣本分布極不均衡(異常流量與普通流量數(shù)量比例接近1∶40),模型不可避免地產(chǎn)生偏向性,對正向樣本的預(yù)測準(zhǔn)確率天然較高。因此相較于精確率和準(zhǔn)確率,對惡意流量的識別率(即召回率)更具參考價值。
F1-score的表現(xiàn)上,F(xiàn)eature_RF也明顯優(yōu)于其他兩者,RF_RF算法F1-socre值為99.6%,GBDT_RF算法F1-socre值為99.6%,相較于Feature_RF算法的87.6%和傳統(tǒng)RF算法的86.7%,分別提升了12.0個百分點(diǎn)和11.1個百分點(diǎn)。在精確率相近的前提下,F(xiàn)eature_RF的高召回率自然伴隨著更高的F1-score得分,說明它擁有更好的魯棒性。
圖3 四種學(xué)習(xí)模型的訓(xùn)練結(jié)果
對于DDoS攻擊檢測模型而言,訓(xùn)練成本是不可忽視的重要參照,F(xiàn)usion_RF(即GBDT_RF和RF_RF)相較于Feature_RF,特征選擇操作次數(shù)更多,因此具有更高的時間復(fù)雜度。如圖4所示,F(xiàn)eature_RF因?yàn)樘崆疤蕹糠秩哂嗵卣鳎瑴p少了訓(xùn)練量,整體訓(xùn)練時間最短,訓(xùn)練成本最低。而RF和Fusion_RF差距較小,這是因?yàn)镕usion_RF雖然增加了特征選擇環(huán)節(jié),但也降低了模型訓(xùn)練量,兩者互相抵消,保證了算法的實(shí)時性。
圖4 四種模型的訓(xùn)練時長對比
本文提出了一種融合特征選擇的隨機(jī)森林DDoS攻擊檢測方法,以限制隨機(jī)森林第二次Bootstrap范圍的方式,將特征選擇細(xì)化到單棵決策樹。實(shí)驗(yàn)結(jié)果表明,相較于常規(guī)的特征選擇與RF的結(jié)合方法,本文方法在模型精度、收斂速度、魯棒性上均表現(xiàn)更優(yōu),同時也因它的高收斂速度特性,兼顧了DDoS攻擊檢測對實(shí)時性的需求。后續(xù)我們將進(jìn)一步驗(yàn)證模型在真實(shí)環(huán)境下的可用性,并從實(shí)時性的角度進(jìn)一步優(yōu)化模型。
[1] DOSHI R, APTHORPE N, FEAMSTER N. Machine learning DDoS detection for consumer internet of things devices[C]// Proceedings of the 2018 IEEE Security and Privacy Workshops. Piscataway: IEEE, 2018: 29-35.
[2] 騰訊云T-Sec DDoS防護(hù)團(tuán)隊(duì),綠盟科技威脅情報團(tuán)隊(duì). 2021年全球DDoS威脅報告[R/OL]. [2022-09-14].https://www.renrendoc.com/paper/227656572.html.(Tencent Cloud T-Sec DDoS Protection Group, NSFOCUS Threat Intelligence Group. Global DDoS threat report 2021[R/OL]. [2022-09-14].https://www.renrendoc.com/paper/227656572.html.)
[3] PRIYA S S, SIVARAM M, YUVARAJ D, et al. Machine learning based DDoS detection[C]// Proceedings of the 2020 International Conference on Emerging Smart Computing and Informatics. Piscataway: IEEE, 2020: 234-237.
[4] SUTHAHARAN S. Decision tree learning[M]// Machine Learning Models and Algorithms for Big Data Classification: Thinking with Examples for Effective Learning, ISIS 36. Cham: Springer, 2016:237-269.
[5] JIA B, HUANG X, LIU R, et al. A DDoS attack detection method based on hybrid heterogeneous multiclassifier ensemble learning[J]. Journal of Electrical and Computer Engineering, 2017, 2017: No.4975343.
[6] NAJAFIMEHR M, ZARIFZADEH S, MOSTAFAVI S. A hybrid machine learning approach for detecting unprecedented DDoS attacks[J]. The Journal of Supercomputing, 2022, 78(6): 8106-8136.
[7] 孟曈. 基于機(jī)器學(xué)習(xí)與可逆Sketch的DDoS攻擊檢測[D]. 西安:西安電子科技大學(xué), 2020:92-92.(MENG T. DDoS intrusion detection based on machine learning and reversible sketch[D]. Xi’an: Xidian University, 2020: 92-92.)
[8] OSANAIYE O, CAI H, 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, 2016: No.130.
[9] GU Y, LI K, GUO Z, et al. Semi-supervised k-means DDoS detection method using hybrid feature selection algorithm[J]. IEEE Access, 2019, 7: 64351-64365.
[10] PANDE S, KHAMPARIA A, GUPTA D, et al. DDOS detection using machine learning technique[M]// KHANNA A, SINGH A K, SWAROOP A. Recent Studies on Computational Intelligence: Doctoral Symposium on Computational Intelligence (DoSCI 2020), SCI 921. Singapore: Springer, 2021: 59-68.
[11] CHENG J, LI M, TANG X, et al. Flow correlation degree optimization driven random forest for detecting DDoS attacks in cloud computing[J]. Security and Communication Networks, 2018, 2018: No.6459326.
[12] LOUREN?O P, GODINHO S, SOUSA A, et al. Estimating tree aboveground biomass using multispectral satellite-based data in Mediterranean agroforestry system using random forest algorithm[J]. Remote Sensing Applications: Society and Environment, 2021, 23: No.100560.
[13] RIGATTI S J. Random forest[J]. Journal of Insurance Medicine, 2017, 47(1): 31-39.
[14] HESTERBERG T. Bootstrap[J]. WIREs: Computational Statistics, 2011, 3(6): 497-526.
[15] BREIMAN L, FRIEDMAN J H, OLSHEN R A, et al. Classification And Regression Trees (CART) [M]// Biometrics. [S.l]: Wadsworth, 1984: 358.
[16] BREIMAN L. Bagging predictors[J]. Machine Learning, 1996, 24(2): 123-140.
[17] 李郅琴,杜建強(qiáng),聶斌,等. 特征選擇方法綜述[J]. 計(jì)算機(jī)工程與應(yīng)用, 2019, 55(24):10-19.(LI Z Q, DU J Q, NIE B, et al. Summary of feature selection methods[J]. Computer Engineering and Applications, 2019, 55(24): 10-19.)
[18] KIRA K, RENDELL L A. The feature selection problem: traditional methods and a new algorithm[C]// Proceedings of the 10th AAAI Conference on Artificial intelligence. Menlo Park, CA: AAAI Press, 1992: 129-134.
[19] MIKA S, RATSCH G, WESTON J, et al. Fisher discriminant analysis with kernels[C]// Neural Networks for Signal Processing IX: Proceedings of the 1999 IEEE Signal Processing Society Workshop. Piscataway: IEEE, 1999: 41-48.
[20] VERLEYSEN M, FRAN?OIS D. The curse of dimensionality in data mining and time series prediction[C]// Proceedings of the 2005 International Work-Conference on Artificial Neural Networks, LNCS 3512. Berlin: Springer, 2005: 758-770.
[21] TANGIRALA S. Evaluating the impact of GINI index and information gain on classification using decision tree classifier algorithm[J]. International Journal of Advanced Computer Science and Applications, 2020, 11(2): 612-619.
[22] RAO H, SHI X, RODRIGUE A K, et al. Feature selection based on artificial bee colony and gradient boosting decision tree[J]. Applied Soft Computing, 2019, 74: 634-642.
DDoS attack detection by random forest fused with feature selection
XU Jingcheng1,2,3, CHEN Xuebin1,2,3*, DONG Yanling1,2,3, YANG Jia1
(1,,063210,;2(),063210,;3,,063210,)
Exsiting machine learning-based methods for Distributed Denial-of-Service (DDoS) attack detection continue to increase in detection difficulty and cost when facing more and more complex network traffic and constantly increased data structures. To address these issues, a random forest DDoS attack detection method that integrates feature selection was proposed. In this method, the mean impurity algorithm based on Gini coefficient was used as the feature selection algorithm to reduce the dimensionality of DDoS abnormal traffic samples, thereby reducing training cost and improving training accuracy. Meanwhile, the feature selection algorithm was embedded into the single base learner of random forest, and the feature subset search range was reduced from all features to the features corresponding to a single base learner, which improved the coupling of the two algorithms and improved the model accuracy. Experimental results show that the model trained by the random forest DDoS attack detection method that integrates feature selection has a recall increased by 21.8 percentage points and an F1-score increased by 12.0 percentage points compared to the model before improvement under the premise of limiting decision tree number and training sample size, and both of them are also better than those of the traditional random forest detection scheme.
Distributed Denial-of-Service (DDoS); feature selection; Gini coefficient; mean impurity algorithm; random forest algorithm
1001-9081(2023)11-3497-07
10.11772/j.issn.1001-9081.2022111792
2022?12?06;
2023?03?02;
國家自然科學(xué)基金資助項(xiàng)目(U20A20179)。
徐精誠(1996—),男,江蘇常州人,碩士研究生,CCF會員,主要研究方向:數(shù)據(jù)安全、隱私保護(hù); 陳學(xué)斌(1970—),男,河北唐山人,教授,博士,CCF杰出會員,主要研究方向:大數(shù)據(jù)安全、物聯(lián)網(wǎng)安全、網(wǎng)絡(luò)安全; 董燕靈(1998—),女,浙江寧波人,碩士研究生,CCF會員,主要研究方向:數(shù)據(jù)安全、隱私保護(hù); 楊佳(1996—),男,河北唐山人,碩士研究生,主要研究方向:數(shù)據(jù)挖掘、網(wǎng)絡(luò)安全。
TP393.08
A
2023?03?03。
This work is partially supported by National Natural Science Foundation of China (U20A20179).
XU Jingcheng, born in 1996, M. S. candidate. His research interests include data security, privacy protection.
CHEN Xuebin, born in 1970, Ph. D., professor. His research interests include big data security, internet of things security, network security.
DONG Yanling, born in 1998, M. S. candidate. Her research interests include data security, privacy protection.
YANG Jia, born in 1996, M. S. candidate. His research interests include data mining, network security.