白堅(jiān)鏡,顧瑞春,劉清河
(內(nèi)蒙古科技大學(xué)信息工程學(xué)院,內(nèi)蒙古 包頭 014010)
隨著 5G的推廣應(yīng)用和物聯(lián)網(wǎng)產(chǎn)業(yè)的快速發(fā)展,萬(wàn)物互聯(lián)已成為技術(shù)發(fā)展和產(chǎn)業(yè)應(yīng)用的必然趨勢(shì)[1]。軟件定義網(wǎng)絡(luò)SDN(Software Defined Network)憑借其靈活的網(wǎng)絡(luò)配置、強(qiáng)大的網(wǎng)絡(luò)編程接口等優(yōu)點(diǎn)[2]成為5G時(shí)代網(wǎng)絡(luò)發(fā)展的趨勢(shì)。但是,這種集中式的管理方式使得SDN控制器成為分布式拒絕服務(wù)DDoS(Distributed Denial of Service)攻擊的薄弱環(huán)節(jié)。
據(jù)騰訊安全和綠盟科技團(tuán)隊(duì)聯(lián)合發(fā)布的2021上半年全球DDoS威脅報(bào)告[3],隨著云計(jì)算、大數(shù)據(jù)以及5G的快速普及,DDoS攻擊已經(jīng)連續(xù)4年呈高速增長(zhǎng)的態(tài)勢(shì)。報(bào)告統(tǒng)計(jì),僅在2021年上半年就發(fā)生了8起大型DDoS攻擊事件。由此可見(jiàn),在大流量前提下實(shí)現(xiàn)DDoS攻擊的檢測(cè)與緩解是非常有必要的。
基于機(jī)器學(xué)習(xí)的DDoS攻擊檢測(cè)和基于閾值的DDoS攻擊檢測(cè)是目前SDN網(wǎng)絡(luò)中最常用的2種DDoS攻擊檢測(cè)方法[4]。但是,這2種檢測(cè)方法容易受流量特征大小等因素的影響,可能會(huì)產(chǎn)生一定程度的誤報(bào)。現(xiàn)有的研究已經(jīng)開(kāi)始將深度學(xué)習(xí)運(yùn)用到DDoS攻擊檢測(cè)方面。作為當(dāng)前熱門(mén)研究方向之一,深度學(xué)習(xí)在大數(shù)據(jù)時(shí)代針對(duì)海量數(shù)據(jù)進(jìn)行分析運(yùn)算的能力上限很高,能夠有效提高檢測(cè)的準(zhǔn)確率。
因此,深度學(xué)習(xí)也是本文檢測(cè)方法的首選。基于長(zhǎng)短期記憶LSTM(Long Short-Term Memory)網(wǎng)絡(luò)在檢測(cè)時(shí)可以兼顧全局信息這一特點(diǎn),本文選擇以LSTM網(wǎng)絡(luò)為基礎(chǔ)構(gòu)建檢測(cè)方案。考慮到5G背景下超高流量會(huì)帶來(lái)更為嚴(yán)重的DDoS攻擊威脅,本文在檢測(cè)之前加入了攻擊緩解環(huán)節(jié),將邊緣計(jì)算的思想融入檢測(cè)模型中,利用邊緣設(shè)備對(duì)數(shù)據(jù)流進(jìn)行分流,緩解網(wǎng)絡(luò)壓力,在邊緣設(shè)備利用訓(xùn)練好的小型神經(jīng)網(wǎng)絡(luò)模型進(jìn)行攻擊檢測(cè)。該方案保證了檢測(cè)的準(zhǔn)確率,有效保護(hù)了5G時(shí)代大數(shù)據(jù)沖擊下的網(wǎng)絡(luò)安全。
近年來(lái),許多研究人員針對(duì)DDoS攻擊檢測(cè)進(jìn)行了深入的研究。Fang等人[5]研究總結(jié)了基于域名系統(tǒng)DNS(Domain Name System)的DDoS攻擊檢測(cè)和防御方法,深入了解了基于DNS的DDoS攻擊,分析和總結(jié)了攻擊的特點(diǎn)和防御方法,并且討論了攻擊的分類(lèi),進(jìn)一步拓展了對(duì)DDoS攻擊的認(rèn)識(shí),從檢測(cè)和容量增強(qiáng)的角度分析了目前的研究成果,且認(rèn)為未來(lái)的研究重點(diǎn)應(yīng)該放在物聯(lián)網(wǎng)的DDoS攻擊上。Erha等人[6]提出了一種基于統(tǒng)計(jì)學(xué)方法的DDoS攻擊檢測(cè)方案,并提出了2種簡(jiǎn)單有效的基于網(wǎng)絡(luò)的和基于統(tǒng)計(jì)信號(hào)處理的DDoS攻擊檢測(cè)方法,最終達(dá)到了98%的真陽(yáng)性率和0.34%的假陽(yáng)性率。其中,第1種方法是按時(shí)間間隔劃分初始數(shù)據(jù)集并使用K-means算法進(jìn)行攻擊檢測(cè),在受到DDoS攻擊時(shí)發(fā)出警報(bào);第2種方法利用了高斯和總體監(jiān)管框架等常用于攻擊和流量建模領(lǐng)域的假設(shè)檢驗(yàn),對(duì)窗口向量進(jìn)行了唯一的量綱化,當(dāng)DDoS攻擊進(jìn)入窗口時(shí),窗口將被攻擊中斷,以此達(dá)到檢測(cè)目的。Tayfour等人[7]提出了SDN中DDoS的檢測(cè)和緩解方法,該方法由分類(lèi)器模塊、緩解模塊和協(xié)作模塊組成。使用集成的分類(lèi)器檢測(cè)DDoS攻擊,在NSL-KDD(New SampLing-Knowledge Discovery in Database)等數(shù)據(jù)集上[8]驗(yàn)證了分類(lèi)器的有效性,并用實(shí)驗(yàn)結(jié)果證明所提方法性能優(yōu)于單一分類(lèi)法的,誤報(bào)率較低。還有較多研究人員對(duì)DDoS的檢測(cè)和緩解進(jìn)行了大量研究,如Yu等人[9,10]討論了檢測(cè)和緩解DDoS攻擊的無(wú)效性,并創(chuàng)新性地提出了一種自動(dòng)化工具,該工具可以利用機(jī)器學(xué)習(xí)根據(jù)流量的行為特征調(diào)整檢測(cè)和緩解;Cui等人[11]使用認(rèn)知啟發(fā)算法和支持向量機(jī)SVM(Support Vector Machine)分類(lèi)算法實(shí)現(xiàn)了DDoS攻擊檢測(cè),但檢測(cè)的準(zhǔn)確性還需進(jìn)一步提升。
萬(wàn)物互聯(lián)的網(wǎng)絡(luò)環(huán)境帶來(lái)了數(shù)以?xún)|計(jì)的數(shù)據(jù),且隨著技術(shù)發(fā)展,發(fā)起DDoS攻擊的方式變得越來(lái)越自動(dòng)化[12]。在這種場(chǎng)景下,發(fā)起DDoS攻擊成本低,但造成的危害極大。目前的相關(guān)方案未能很好地契合5G發(fā)展浪潮,未能兼顧到SDN網(wǎng)絡(luò)中遭受DDoS攻擊時(shí)網(wǎng)絡(luò)保護(hù)和檢測(cè)精度。在SDN中,控制平面是DDos攻擊的薄弱一環(huán),在數(shù)據(jù)包到達(dá)控制平面前,數(shù)據(jù)包是在數(shù)據(jù)平面上轉(zhuǎn)發(fā)的,數(shù)據(jù)平面由許多SDN交換機(jī)構(gòu)成,而這些交換機(jī)多數(shù)均具有獨(dú)立CPU,且這些CPU的算力并未得到充分利用[13]。如果能利用這些交換機(jī)的空閑算力,將龐大的DDoS攻擊流量分散,在各個(gè)交換機(jī)上逐個(gè)擊破,不但能加快檢測(cè)速度,還能有效保持網(wǎng)絡(luò)的穩(wěn)定,使SDN網(wǎng)絡(luò)在DDoS攻擊流的沖擊下免遭崩盤(pán)。
在前期部分研究工作的啟發(fā)下,基于以上思考,結(jié)合目前較新的深度學(xué)習(xí)方法并引入邊緣計(jì)算,本文提出了一種基于雙向長(zhǎng)短期記憶Bi-LSTM(Bidirectional-Long Short Term Memory)神經(jīng)網(wǎng)絡(luò)的DDoS攻擊檢測(cè)方案。該方案充分利用SDN網(wǎng)絡(luò)中交換機(jī)的空閑算力,通過(guò)在交換機(jī)上部署輕量級(jí)神經(jīng)網(wǎng)絡(luò)完成DDoS攻擊檢測(cè)。綜合考慮對(duì)SDN網(wǎng)絡(luò)的保護(hù)和DDoS攻擊檢測(cè)的準(zhǔn)確性等因素,該方案兼顧了DDoS攻擊的檢測(cè)與緩解。本文的具體工作如下:
(1)提出一種輕量級(jí)分布式邊緣計(jì)算架構(gòu)OCM(Only Care Myself),使得交換機(jī)的分流算法設(shè)計(jì)簡(jiǎn)單化且分流更有效率。在算力有限的邊緣交換機(jī)設(shè)備上部署基于Bi-LSTM的輕量級(jí)神經(jīng)網(wǎng)絡(luò)完成DDoS攻擊檢測(cè),兼顧檢測(cè)精度和檢測(cè)速率;
(2)將SDN網(wǎng)絡(luò)中的數(shù)據(jù)平面交換機(jī)作為邊緣設(shè)備,利用它們的空閑算力對(duì)龐大的DDoS攻擊流進(jìn)行分流處理,減輕控制器壓力,緩解DDoS攻擊;
(3)同時(shí)考慮SDN網(wǎng)絡(luò)中DDoS攻擊的緩解與檢測(cè),提升網(wǎng)絡(luò)的安全性與可用性。
本文其余部分組織如下:第3節(jié)詳細(xì)介紹本文提出的方案;第4節(jié)進(jìn)行實(shí)驗(yàn)并評(píng)估,包括數(shù)據(jù)集處理、模型性能評(píng)價(jià)指標(biāo)的選擇以及實(shí)驗(yàn)結(jié)果;第5節(jié)是本文的結(jié)論。
如上所述,DDoS攻擊是當(dāng)前網(wǎng)絡(luò)世界最重要的安全威脅之一,它利用大量被攻擊主機(jī)對(duì)攻擊對(duì)象發(fā)起協(xié)同攻擊。在SDN網(wǎng)絡(luò)中,DDoS攻擊的主要目標(biāo)是控制器,其目的是使SDN網(wǎng)絡(luò)出現(xiàn)單點(diǎn)故障SPF(Single Point of Failure)[14],此時(shí)控制器與數(shù)據(jù)平面失去聯(lián)系,無(wú)法為轉(zhuǎn)發(fā)的數(shù)據(jù)包提供服務(wù),整個(gè)SDN網(wǎng)絡(luò)也就隨之陷入癱瘓狀態(tài)。
針對(duì)SDN控制平面集中管理易造成單點(diǎn)故障這一特性,首要考慮在數(shù)據(jù)流到達(dá)SDN控制器前對(duì)數(shù)據(jù)流進(jìn)行處理,在保證網(wǎng)絡(luò)安全的前提下對(duì)數(shù)據(jù)流進(jìn)行DDoS攻擊檢測(cè)。SDN交換機(jī)通過(guò)流表進(jìn)行數(shù)據(jù)流的轉(zhuǎn)發(fā)操作且擁有一定的計(jì)算能力,在數(shù)據(jù)流到達(dá)控制器前可以作為很好的分流工具用以緩解DDoS攻擊。通過(guò)對(duì)DDoS攻擊特點(diǎn)和SDN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行分析,本文所提方案的攻擊緩解和檢測(cè)機(jī)制為:當(dāng)DDoS攻擊流進(jìn)入SDN網(wǎng)絡(luò)時(shí),利用交換機(jī)對(duì)攻擊流不斷進(jìn)行分流,減輕網(wǎng)絡(luò)壓力,并對(duì)分流后的數(shù)據(jù)流進(jìn)行分析處理,甄別是否為攻擊流,方案流程圖如圖1所示。該方案充分利用了SDN交換機(jī)的空閑算力,避免SDN網(wǎng)絡(luò)中出現(xiàn)單點(diǎn)故障從而導(dǎo)致網(wǎng)絡(luò)不可用的情況。

Figure 1 Flowchart of the proposed scheme 圖1 本文所提方案流程圖
本文基于Bi-LSTM構(gòu)建神經(jīng)網(wǎng)絡(luò)模型對(duì)DDoS攻擊進(jìn)行檢測(cè),使用的數(shù)據(jù)量較為龐大,檢測(cè)準(zhǔn)確率比較客觀,但模型訓(xùn)練時(shí)耗時(shí)較長(zhǎng)無(wú)法避免。在實(shí)際應(yīng)用中,DDoS攻擊檢測(cè)需要達(dá)到較高的檢測(cè)準(zhǔn)確性,同時(shí)還需兼顧檢測(cè)效率。以此為啟發(fā),本文對(duì)進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行分流,以保證攻擊檢測(cè)的速度,在分流后數(shù)據(jù)量不影響檢測(cè)準(zhǔn)確率的前提下利用訓(xùn)練好的模型進(jìn)行DDoS攻擊檢測(cè),該檢測(cè)模型示意圖如圖2所示。

Figure 2 Schematic diagram of detection model圖2 檢測(cè)模型示意圖
當(dāng)DDoS攻擊流進(jìn)入圖示SDN網(wǎng)絡(luò)中的某一個(gè)交換機(jī)時(shí),數(shù)據(jù)流流經(jīng)的每個(gè)交換機(jī)都僅截留部分流量以供檢測(cè)。攻擊流根據(jù)轉(zhuǎn)發(fā)規(guī)則被轉(zhuǎn)發(fā)至沿途的其余交換機(jī)上,直至攻擊流被消化完為止,這樣就在實(shí)現(xiàn)緩解DDoS攻擊目的的同時(shí)給每個(gè)交換機(jī)分配好了檢測(cè)任務(wù)。在各個(gè)交換機(jī)上部署的基于Bi-LSTM的神經(jīng)網(wǎng)絡(luò)模型將對(duì)該交換機(jī)截留的數(shù)據(jù)流進(jìn)行攻擊檢測(cè)。
本文所提的DDoS攻擊檢測(cè)方案立足于SDN環(huán)境,利用Mininet[15]搭建拓?fù)浣Y(jié)構(gòu),選擇RYU控制器[16]對(duì)交換機(jī)進(jìn)行調(diào)度,交換機(jī)根據(jù)控制器下發(fā)的轉(zhuǎn)發(fā)規(guī)則將超過(guò)自身算力的部分?jǐn)?shù)據(jù)流轉(zhuǎn)發(fā)至其他有空閑算力的交換機(jī)上,從而實(shí)現(xiàn)對(duì)攻擊流的分流。
圖3所示為本文搭建的實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)洹T摼W(wǎng)絡(luò)拓?fù)渲泄舶?個(gè)RYU控制器、8個(gè)OF(OpenFlow)交換機(jī)和12個(gè)終端主機(jī)h1~h12。該實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)涞拇罱ɑ赨buntu 18.04.2、網(wǎng)絡(luò)模擬器版本為Mininet 2,且使用RYU控制器。RYU是一種SDN控制器框架,為軟件組件提供了良好的應(yīng)用程序編程接口API(Application Programming Interface),方便開(kāi)發(fā)人員創(chuàng)建和管理網(wǎng)絡(luò)和應(yīng)用程序[17]。RYU支持多種管理協(xié)議,如OpenFlow、Netconf和OF-config等。本文采用OpenFlow協(xié)議,即使用應(yīng)用較為廣泛的OpenFlow交換機(jī),RYU SDN框架(即使用RYU控制器的SDN網(wǎng)絡(luò))如圖4所示。

Figure 3 Experimental network topology圖3 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)?/p>

Figure 4 Framework of RYU SDN 圖4 RYU SDN框架圖
SDN控制器依賴(lài)SDN環(huán)境的控制平面[15],可以通過(guò)下發(fā)命令來(lái)制定交換機(jī)的轉(zhuǎn)發(fā)規(guī)則。本文借助SDN控制器的這一關(guān)鍵功能,實(shí)現(xiàn)對(duì)攻擊流的分流操作,其偽代碼如算法1所示。
算法1攻擊流分流
輸入:DDoS攻擊流。
輸出:超過(guò)自身計(jì)算能力的多余流量(第i個(gè)交換機(jī))。
Step1攻擊流I進(jìn)入第i個(gè)交換機(jī);
Step2ifIi>Ti
Step3Ni→Ni+1;
Step4Ii+1=Ii-ai;
Step5返回Step 2;/*交換機(jī)將超出閾值的部分攻擊流轉(zhuǎn)發(fā)至下一個(gè)交換機(jī)*/
Step6else該交換機(jī)進(jìn)入檢測(cè)階段。
算法1中,I為進(jìn)入第i個(gè)交換機(jī)的初始攻擊流;Ii為流經(jīng)第i個(gè)交換機(jī)的剩余攻擊流;Ti為第i個(gè)交換機(jī)算力閾值(該閾值小于算力極限,以免出現(xiàn)突發(fā)狀況導(dǎo)致交換機(jī)無(wú)法工作);Ni為第i個(gè)交換機(jī);ai為第i個(gè)交換機(jī)截留的流量大小。
數(shù)據(jù)分流部分僅考慮在SDN網(wǎng)絡(luò)中實(shí)現(xiàn)交換機(jī)之間的攻擊流傳遞,每個(gè)交換機(jī)都執(zhí)行同樣的轉(zhuǎn)發(fā)規(guī)則:根據(jù)自身算力將超出閾值的部分流量轉(zhuǎn)發(fā)至其他交換機(jī),每個(gè)交換機(jī)只需關(guān)心自身算力情況。本文將該架構(gòu)稱(chēng)為OCM,為實(shí)現(xiàn)OCM架構(gòu),在實(shí)際應(yīng)用中本文在邊緣設(shè)備中添加了一個(gè)信號(hào)量來(lái)標(biāo)志該交換機(jī)當(dāng)前是否有空閑算力,只有在該交換機(jī)無(wú)空閑算力時(shí)才進(jìn)行轉(zhuǎn)發(fā),也就是說(shuō),本文的分流方案僅在正常轉(zhuǎn)發(fā)流量之前增加了判斷信號(hào)量狀態(tài)這一步驟。
進(jìn)行攻擊檢測(cè)前,首先將標(biāo)簽“Attack”設(shè)置為0,將“Normal”設(shè)置為1,便于神經(jīng)網(wǎng)絡(luò)進(jìn)行運(yùn)算。然后對(duì)攻擊流量進(jìn)行特征提取并對(duì)提取到的特征進(jìn)行轉(zhuǎn)換,得到一個(gè)m×n′矩陣,其中,m表示數(shù)據(jù)包的數(shù)量,n′表示轉(zhuǎn)換后新特征的數(shù)量。為了學(xué)習(xí)長(zhǎng)期和短期模式,本文使用滑動(dòng)窗口來(lái)分離連續(xù)數(shù)據(jù)包,并將數(shù)據(jù)重塑為一系列窗口大小為T(mén)的時(shí)間窗口。整理后得到了一個(gè)(m-T)×T×n′的三維矩陣,如圖5所示。通過(guò)這種方式,將傳統(tǒng)的基于數(shù)據(jù)包的特征轉(zhuǎn)換為基于窗口的特征,利用這種特征可以從以前的(T-1)個(gè)數(shù)據(jù)包和當(dāng)前數(shù)據(jù)包中學(xué)習(xí)網(wǎng)絡(luò)模式。

Figure 5 Schematic diagram of time window圖5 時(shí)間窗口示意圖
考慮到交換機(jī)的算力有限,本文搭建的神經(jīng)網(wǎng)絡(luò)模型只有3個(gè)隱含層,第1層為Bi-LSTM結(jié)構(gòu),后2層均為傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),模型結(jié)構(gòu)如圖6所示。模型中第1個(gè)隱含層神經(jīng)元為L(zhǎng)STM結(jié)構(gòu),由2個(gè)不相關(guān)的LSTM組成(即Bi-LSTM),分別從向前和向后2個(gè)方向進(jìn)行檢測(cè)。LSTM解決了循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)的梯度消失和梯度爆炸問(wèn)題,其隱含節(jié)點(diǎn)增加了細(xì)胞狀態(tài)和門(mén)結(jié)構(gòu),可以有選擇地記憶重要信息,遺忘無(wú)價(jià)值信息,從而提高效率,且在長(zhǎng)記憶方面有更好的表現(xiàn)。圖7所示為L(zhǎng)STM的內(nèi)部結(jié)構(gòu)。

Figure 6 Structure of neural network model圖6 神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)

Figure 7 Internal structure of LSTM圖7 LSTM內(nèi)部結(jié)構(gòu)示意
LSTM向前訓(xùn)練過(guò)程如式(1)~式(5)所示:
ft=σ(Wf·[ht-1,xt]+bf)
(1)
it=σ(Wf·[ht-1,xt]+bi)
(2)
Ct=ft×Ct-1+it×tanh(WC·[ht-1,xt]+bC)
(3)
ot=σ(Wo·[ht-1,xt]+bo)
(4)
ht=ot×tanh(Ct)
(5)
其中,t表示時(shí)刻,it,ot和ft分別表示輸入門(mén)、輸出門(mén)和遺忘門(mén)的輸出值;Ct和ht分別表示每個(gè)細(xì)胞的狀態(tài)和輸出;W*和b*分別表示權(quán)重矩陣和偏差向量,σ表示Sigmoid函數(shù)。


Figure 8 Structure diagram of Bi-LSTM圖8 Bi-LSTM結(jié)構(gòu)示意圖
yt的計(jì)算方法如式(6)~式(8)所示:
(6)
(7)
(8)
其中,W*和b*分別訓(xùn)練階段學(xué)習(xí)到的權(quán)重矩陣和偏差向量。
本文采用ISCX(Information Security Centre of eXcellence)的入侵檢測(cè)數(shù)據(jù)集ISCXIDS2012[18]對(duì)提出的檢測(cè)模型進(jìn)行測(cè)試和評(píng)估。網(wǎng)絡(luò)中的大部分?jǐn)?shù)據(jù)流通過(guò)傳輸控制協(xié)議TCP(Transmission Control Protocol)傳輸[19],在數(shù)據(jù)集中TCP流量是不可或缺的,ISCXIDS2012數(shù)據(jù)集引入了一種生成所需數(shù)據(jù)集的系統(tǒng)方法來(lái)滿(mǎn)足這一需求。該數(shù)據(jù)集是基于配置文件的概念生成的,配置文件包含對(duì)應(yīng)用程序、協(xié)議或較低級(jí)別網(wǎng)絡(luò)實(shí)體的入侵和抽象分布模型的詳細(xì)描述。數(shù)據(jù)集分析真實(shí)跟蹤以創(chuàng)建代理的配置文件。這些代理為超文本傳輸協(xié)議HTTP(Hyper Text Transfer Protocol)、簡(jiǎn)單郵件傳輸協(xié)議SMTP(Simple Mail Transfer Protocol)、TCP、用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP(User Datagram Protocol)、生成樹(shù)協(xié)議STP(Spanning Tree Protocol)、互聯(lián)網(wǎng)分組交換協(xié)議IPX(Internet Packet eXchange protocol)、地址解析協(xié)議ARP(Address Resolution Protocol)、簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP(Simple Network Management Protocol)、安全外殼協(xié)議SSH(Secure SHell)、因特網(wǎng)消息訪問(wèn)協(xié)議IMAP(Internet Message Access Protocol)、郵局協(xié)議版本POP3(Post Office Protocol - Version 3)、文件傳輸協(xié)議FTP(File Transfer Protocol)和Internet控制報(bào)文協(xié)議ICMP(Internet Control Message Protocol)等協(xié)議生成真實(shí)流量[20]。
ISCXIDS2012數(shù)據(jù)集來(lái)自加拿大網(wǎng)絡(luò)安全研究所,由標(biāo)記的網(wǎng)絡(luò)跟蹤組成,包括 pcap 格式的完整數(shù)據(jù)包有效載荷以及相關(guān)配置文件,可供研究人員公開(kāi)使用,是目前使用較為廣泛的入侵檢測(cè)數(shù)據(jù)集之一。該數(shù)據(jù)集包含 7 天正常和惡意的網(wǎng)絡(luò)活動(dòng),數(shù)據(jù)樣本量大。在神經(jīng)網(wǎng)絡(luò)研究中,數(shù)據(jù)量的大小一定程度上決定了檢測(cè)的準(zhǔn)確性,因此本文選定該數(shù)據(jù)集來(lái)進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集的流量構(gòu)成如表1所示。ISCXIDS2012數(shù)據(jù)集下載地址為:https://www.unb.ca/cic/datasets/ids.html。

Table 1 Dataset traffic composition表1 數(shù)據(jù)集流量構(gòu)成
ISCXIDS2012數(shù)據(jù)集包含“frame.len”“frame.protocols”“ip.hdr_len”“ip.len”和“ip.flags.rb”等29個(gè)特征值,需要?jiǎng)h除數(shù)據(jù)集中無(wú)法用于模型訓(xùn)練的特征并對(duì)數(shù)據(jù)集進(jìn)行一定的預(yù)處理,然后才能輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試。本文使用drop()函數(shù)刪除數(shù)據(jù)集中不需要的特征,使用StandardScaler類(lèi)計(jì)算訓(xùn)練集上的平均值和標(biāo)準(zhǔn)差,并對(duì)后續(xù)測(cè)試集中的數(shù)據(jù)采用與訓(xùn)練集相同的變換。計(jì)算平均值以及標(biāo)準(zhǔn)差后,使用fit_transform()函數(shù)對(duì)數(shù)據(jù)集進(jìn)行擬合和標(biāo)準(zhǔn)化(歸一化)。在訓(xùn)練和測(cè)試集的選擇方面,選擇20%數(shù)據(jù)集作為測(cè)試集,80%數(shù)據(jù)集作為訓(xùn)練集。
本文實(shí)驗(yàn)采用準(zhǔn)確率Acc(Accuracy)、損失率loss、查準(zhǔn)率P(Precesion)和查全率R(Recall)等常見(jiàn)性能評(píng)價(jià)指標(biāo)衡量Bi-LSTM模型的預(yù)測(cè)效果,這些評(píng)價(jià)指標(biāo)的計(jì)算公式如式(9)~式(12)所示:
(9)
(10)
(11)
(12)

Acc表示正確區(qū)分正常流量和攻擊流量在總流量中的占比;P表示真實(shí)攻擊流量在被判斷為攻擊流量中的占比;R表示被判斷為攻擊流量在真實(shí)攻擊流量中的占比。在得到查準(zhǔn)率P和查全率R后,本文引入F1值,它表示查準(zhǔn)率和查全率的調(diào)和平均數(shù),其計(jì)算如式(13)所示:
(13)
由于數(shù)據(jù)分流模塊僅考慮數(shù)據(jù)轉(zhuǎn)發(fā)分流問(wèn)題,因此本文使用hping3工具和iPerf3工具分別生成正常流量和攻擊流量進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)分流實(shí)驗(yàn),并將正常轉(zhuǎn)發(fā)耗時(shí)與加入OCM架構(gòu)后的轉(zhuǎn)發(fā)耗時(shí)進(jìn)行了對(duì)比,發(fā)現(xiàn)兩者耗時(shí)一致,但都增加了信號(hào)量的判斷,耗時(shí)定然有所增加。為了直觀表達(dá)兩者的細(xì)微差距以及OCM架構(gòu)在5G網(wǎng)絡(luò)中應(yīng)用的合理性,本文在一臺(tái)家用4K智能電視上對(duì)該判斷語(yǔ)句進(jìn)行了1千萬(wàn)次循環(huán)操作。該設(shè)備操作系統(tǒng)為Android 5.1,內(nèi)存容量為2 GB,可以作為在5G網(wǎng)絡(luò)萬(wàn)物互聯(lián)情形下完成本文所提方案的邊緣設(shè)備。表2所示為該設(shè)備在不同狀態(tài)下的1千萬(wàn)次循環(huán)耗時(shí),每種狀態(tài)進(jìn)行3組實(shí)驗(yàn)。

Table 2 Experiment time 表2 實(shí)驗(yàn)耗時(shí) ms
由表2可知,該設(shè)備不同狀態(tài)下1千萬(wàn)次循環(huán)操作的平均耗時(shí)僅為0.032 5 s,可以預(yù)見(jiàn)增加判斷語(yǔ)句的耗時(shí)微乎其微。也就是說(shuō),加入OCM架構(gòu)前后的一次轉(zhuǎn)發(fā)耗時(shí)基本一致,證明該架構(gòu)可以在正常轉(zhuǎn)發(fā)基礎(chǔ)上以極低的代價(jià)完成數(shù)據(jù)的分流,從而達(dá)到緩解DDoS攻擊的目的。
為了驗(yàn)證所提檢測(cè)模型的有效性,本文經(jīng)過(guò)120次epoch得出訓(xùn)練集和測(cè)試集的準(zhǔn)確率Acc和損失率loss,分別如圖9和圖10所示。從圖中可以看出,在經(jīng)過(guò)120次epoch后,訓(xùn)練集和測(cè)試集已經(jīng)趨近穩(wěn)定且有較高的準(zhǔn)確率和較低的損失率,訓(xùn)練集最終達(dá)到了99.9%的準(zhǔn)確率和0.3%的損失率,測(cè)試集則達(dá)到了99.8%的準(zhǔn)確率和0.74%的損失率。

Figure 9 Accuracies on train set & test set 圖9 訓(xùn)練集&測(cè)試集上的準(zhǔn)確率

Figure 10 Loss rates on train set & test set 圖10 訓(xùn)練集&測(cè)試集上的損失率
同時(shí),本文通過(guò)預(yù)測(cè)計(jì)算了TP、FP、FN和TN值,其中,TP為239 303;FP為320;FN為633;TN為239 740。根據(jù)以上數(shù)據(jù)給出混淆矩陣的熱圖表示,如圖11所示(預(yù)測(cè)集包含6 479 996個(gè)數(shù)據(jù))。并利用TP、FP、FN和TN值,計(jì)算了本文所提檢測(cè)方案的查準(zhǔn)率P、查全率R和F1值,并將本文提出的檢測(cè)方案與其他檢測(cè)方案進(jìn)行了比較,如RF-SVM[21]、XGBoost[22]、KNN、RNN和LSTM,比較結(jié)果如表3所示。通過(guò)表3可以明顯看出,本文方案在查準(zhǔn)率、查全率和F1值方面都有較好的表現(xiàn),優(yōu)于其他對(duì)比方案。

Figure 11 Confusion matrix heat map圖11 混淆矩陣熱圖

Table 3 Comparison of different schemes表3 不同方案的比較 %
由于本文提出的檢測(cè)模型要部署于各個(gè)邊緣節(jié)點(diǎn)(即SDN交換機(jī)),考慮到交換機(jī)的算力有限,數(shù)據(jù)量不宜過(guò)大,因此從數(shù)據(jù)集中隨機(jī)抽取萬(wàn)分之五的數(shù)據(jù)(包含的數(shù)據(jù)量為1 200個(gè))進(jìn)行實(shí)驗(yàn)。由于每次隨機(jī)抽取的數(shù)據(jù)各不相同,本文進(jìn)行了10次隨機(jī)取樣,使用訓(xùn)練好的模型進(jìn)行測(cè)試,計(jì)算了這10次測(cè)試的準(zhǔn)確率、查準(zhǔn)率和查全率,對(duì)10次檢測(cè)結(jié)果計(jì)算平均值并與抽樣前檢測(cè)結(jié)果進(jìn)行對(duì)比,對(duì)比結(jié)果如圖12所示。通過(guò)圖12可以看出,本文提出的檢測(cè)模型在數(shù)據(jù)量減小后檢測(cè)效果僅有小幅下降,依然可以保證在邊緣節(jié)點(diǎn)進(jìn)行DDoS攻擊檢測(cè)的正確率。此外,本文對(duì)10次檢測(cè)進(jìn)行了程序運(yùn)行速度的監(jiān)測(cè),發(fā)現(xiàn)可以在0.091~0.120 s內(nèi)完成1 200個(gè)數(shù)據(jù)的檢測(cè)工作。由此可以看出本文提出的模型不僅在正確率方面有保證,同時(shí)也保證了在邊緣節(jié)點(diǎn)進(jìn)行攻擊檢測(cè)的效率。

Figure 12 Comparison of effects before and after sampling inspection圖12 抽樣檢測(cè)前后效果對(duì)比圖
本文提出的基于Bi-LSTM的DDoS攻擊檢測(cè)方案,利用LSTM模型的長(zhǎng)期記憶特性規(guī)避了RNN模型的缺點(diǎn),使用2個(gè)獨(dú)立的反向LSTM模型組合成為Bi-LSTM模型,將此模型作為整個(gè)神經(jīng)網(wǎng)絡(luò)模型的第1層,在ISCXIDS2012數(shù)據(jù)集上實(shí)現(xiàn)了對(duì)DDoS檢測(cè)的高準(zhǔn)確率和低損失率,并在對(duì)比實(shí)驗(yàn)中證明了這一點(diǎn)。此外,本文提出了一種在邊緣節(jié)點(diǎn)完成DDoS攻擊檢測(cè)的方案,創(chuàng)新性地提出一種輕量級(jí)分布式邊緣計(jì)算架構(gòu)(OCM),在正常轉(zhuǎn)發(fā)基礎(chǔ)上以極低的時(shí)間損耗完成對(duì)數(shù)據(jù)的分流操作,在邊緣交換機(jī)上部署基于Bi-LSTM的輕量級(jí)神經(jīng)網(wǎng)絡(luò)模型,利用各個(gè)SDN交換機(jī)的空閑算力在SDN網(wǎng)絡(luò)的外圍將DDoS攻擊消弭于無(wú)形之中。實(shí)驗(yàn)結(jié)果表明,本文構(gòu)建的基于Bi-LSTM的攻擊檢測(cè)模型在DDoS攻擊檢測(cè)方面切實(shí)可行,且考慮到邊緣節(jié)點(diǎn)算力問(wèn)題,該模型在低數(shù)據(jù)量情形下也有不錯(cuò)的表現(xiàn)。在后續(xù)的研究中,將對(duì)分流部分和檢測(cè)部分進(jìn)一步完善,將這2部分更好地融合,完成分流和檢測(cè)的連貫操作,進(jìn)一步提高該模型的整體可用性。