陶應(yīng)亮
摘 要:針對(duì)軟件定義網(wǎng)絡(luò)(Software Defined Ntwork,SDN)中的分布式拒絕服務(wù)(Distribute Denial of Service, DDoS)攻擊檢測(cè)的方法少、現(xiàn)存方法入侵檢測(cè)率低的問題,提出了一種基于深度學(xué)習(xí)和三支決策的入侵檢測(cè)算法。首先使用深度信念網(wǎng)絡(luò)對(duì)SDN的流表項(xiàng)進(jìn)行特征提取,然后利用基于三支決策理論的入侵檢測(cè)模型進(jìn)行DDoS攻擊的入侵檢測(cè),對(duì)于正域和負(fù)域的數(shù)據(jù)直接進(jìn)行分類,對(duì)于邊界域中的數(shù)據(jù)使用K近鄰算法重新進(jìn)行分類。仿真實(shí)驗(yàn)結(jié)果表明,與其他入侵檢測(cè)模型相比,所提算法的入侵檢測(cè)效率更高。
關(guān)鍵詞:軟件定義網(wǎng)絡(luò);深度信念網(wǎng)絡(luò);三支決策;DDoS攻擊
中圖分類號(hào):TN915.08 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:Aiming at the problem of few DDoS attack detection methods and low intrusion detection rate of existing methods in software defined network (SDN), an intrusion detection algorithm based on deep learning and three decision making is proposed.First, use deep belief network to extract features of SDN flow entries, then use three-way decisions intrusion detection model forintrusion detection of DDoS attacks, directly classify data in the positive and negative domains, and the data in the boundary domain is reclassified using the K-nearest neighbor algorithm. Simulation results show that compared with other intrusion detection models, the detection rate of this methodis higher, and the false alarm rate is lower.
Key words:software defined network; deep belief network; three-way decisions; DDoS attack
軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)作為新興的網(wǎng)絡(luò)架構(gòu),解耦了網(wǎng)絡(luò)的控制層與數(shù)據(jù)層,被認(rèn)為是未來網(wǎng)絡(luò)發(fā)展的方向。但由于其及網(wǎng)絡(luò)架構(gòu)的特殊性,控制器作為網(wǎng)絡(luò)架構(gòu)的核心,容易面臨單點(diǎn)失效的風(fēng)險(xiǎn)。分布式拒絕服務(wù)(Distribute Denial of Service, DDoS)攻擊一直以來都是軟件定義網(wǎng)絡(luò)的的主要威脅之一[1]。為防御SDN下的DDoS攻擊,國(guó)內(nèi)外許多網(wǎng)絡(luò)安全專家在常規(guī)方法的基礎(chǔ)上,將機(jī)器學(xué)習(xí)應(yīng)用于DDoS攻擊的入侵檢測(cè)。深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)作為深度學(xué)習(xí)的一個(gè)分支,與傳統(tǒng)的機(jī)器學(xué)習(xí)相比,可以學(xué)習(xí)到更加復(fù)雜的表達(dá)函數(shù)[2]。但由于SDN環(huán)境下的DDoS攻擊的特征數(shù)量有限,通常會(huì)由于特征的不充足和信息的不確定性導(dǎo)致流量分類的錯(cuò)誤。
因此,為解決軟件定義網(wǎng)絡(luò)中的分類正確率不足、入侵檢測(cè)效率低的問題,提出一種在SDN下的基于深度信念網(wǎng)絡(luò)和三支決策的入侵檢測(cè)模型。使用在SDN流表項(xiàng)下直接獲取的特征和手動(dòng)構(gòu)建的特征作為特征集,利用DBN對(duì)特征進(jìn)行提取后,使用三支決策入侵檢測(cè)模型進(jìn)行數(shù)據(jù)分類。入侵檢測(cè)模塊將流經(jīng)控制器的流量分為正域(正常流量)、負(fù)域(入侵流量)、邊界域(不確定的流量),對(duì)于邊界域流量使用KNN算法再次進(jìn)行分類。
1 研究現(xiàn)狀
隨著網(wǎng)絡(luò)技術(shù)發(fā)展,DDoS攻擊不僅僅對(duì)傳統(tǒng)網(wǎng)絡(luò)環(huán)境產(chǎn)生安全威脅,DDoS攻擊者也開始利用新的網(wǎng)絡(luò)架構(gòu)發(fā)起攻擊,SDN中的DDoS攻擊是研究熱點(diǎn)之一[3]。傳統(tǒng)網(wǎng)絡(luò)環(huán)境下DDoS攻擊的主要類型有網(wǎng)絡(luò)層的UDP反射攻擊、傳輸層的SYN Flood攻擊、會(huì)話層的SSL連接攻擊、應(yīng)用層的HTTP Flood攻擊等[4]。
目前已有的DDoS攻擊檢測(cè)方法按照方法類別可劃分為常規(guī)的檢測(cè)方法、基于傳統(tǒng)機(jī)器學(xué)習(xí)的檢測(cè)方法以及基于深度學(xué)習(xí)的檢測(cè)方法。常規(guī)的DDoS攻擊檢測(cè)方法已經(jīng)取得了初步的效果,Kalkan[5]提出了SDN下基于統(tǒng)計(jì)解決方案的DDoS攻擊檢測(cè)方法,Yu[6]提出了基于流量相關(guān)系數(shù)的檢測(cè)方法以及Chin[7]提出了SDN下選擇性檢測(cè)數(shù)據(jù)包來檢測(cè)DDoS泛洪攻擊的方法,在檢測(cè)的效果上也取得了一定的效果。
基于傳統(tǒng)的機(jī)器學(xué)習(xí)的DDoS攻擊檢測(cè)在軟件定義網(wǎng)絡(luò)中有更好的檢測(cè)效果。Yuan[8]等人提出了一種基于支持向量機(jī)的DDoS攻擊檢測(cè)模型,并在KDD99數(shù)據(jù)集上進(jìn)行驗(yàn)證。Barki[9]從流量跟蹤的角度討論DDoS攻擊,使用了不同的機(jī)器學(xué)習(xí)方法將流量分為正常和異常。機(jī)器學(xué)習(xí)在進(jìn)行入侵檢測(cè)時(shí),需要手動(dòng)構(gòu)建特征進(jìn)行檢測(cè),如Xiao[10]提出的基于KNN的DDoS攻擊檢測(cè)方法,檢測(cè)模型輸入的特征均為手動(dòng)構(gòu)造的特征,影響了檢測(cè)的效率,深度學(xué)習(xí)在SDN中的入侵檢測(cè)的應(yīng)用可以有效解決該問題。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)新的研究方向,旨在學(xué)習(xí)樣本的內(nèi)在規(guī)律和表示層次,解決很多復(fù)雜的模式識(shí)別等人工智能的難題[11]。深度學(xué)習(xí)在SDN下的入侵檢測(cè)已經(jīng)有了很多的應(yīng)用,Garg[12]提出了一種基于深度學(xué)習(xí)的檢測(cè)模型,直接使用流表項(xiàng)的原始字段作為特征進(jìn)行輸入,利用深度學(xué)習(xí)算法檢測(cè)異常流量,在對(duì)小流量的數(shù)據(jù)流進(jìn)行檢測(cè)時(shí),正確率和效率上都有了提升。Li[1]提出了一種基于深度學(xué)習(xí)混合模型的DDoS攻擊檢測(cè)模型,該方法具有較高的精確度的同時(shí)運(yùn)算速率很高。在實(shí)際檢測(cè)情況中,因?yàn)樘卣鞑蛔慊蛘咝畔⒌牟怀浞?,?huì)導(dǎo)致部分流量被誤分類。
2 基于深度學(xué)習(xí)和三支決策的入侵檢測(cè)算法
2.1 入侵檢測(cè)算法結(jié)構(gòu)設(shè)計(jì)
所提的基于DBN的三支決策DDoS攻擊檢測(cè)模型如圖1所示,主要分為兩個(gè)模塊,即特征提取模塊和入侵檢測(cè)模塊。首先輸入數(shù)據(jù),在特征提取模塊,先進(jìn)行數(shù)據(jù)的預(yù)處理,提取關(guān)鍵的字段和手動(dòng)構(gòu)建的特征構(gòu)建特征集作為DBN特征提取模型的輸入,提取特征后通過三支決策入侵檢測(cè)模型進(jìn)行數(shù)據(jù)的分類,對(duì)于邊界域的數(shù)據(jù)使用KNN分類器重新分類后,輸出分類的結(jié)果。
2.2 入侵檢測(cè)算法描述
2.2.1算法流程
入侵檢測(cè)算法流程圖如圖2所示,分為輸入數(shù)據(jù)、特征提取、數(shù)據(jù)分類、邊界域處理、輸出結(jié)果五個(gè)階段。采集網(wǎng)絡(luò)中的真實(shí)流量作為輸入的數(shù)據(jù),對(duì)訓(xùn)練集預(yù)處理后進(jìn)行輸入,使用深度信念網(wǎng)絡(luò)特征提取模型進(jìn)行特征提取,隨后將特征放到入侵檢測(cè)模塊。將測(cè)試集輸入到三支決策入侵檢測(cè)模型。根據(jù)設(shè)定的閾值判斷數(shù)據(jù)是否為邊界域,若不屬于,則根據(jù)閾值直接進(jìn)行分類輸出,分為正常數(shù)據(jù)和入侵?jǐn)?shù)據(jù)。若屬于將邊界域的數(shù)據(jù)放入KNN分類器重新進(jìn)行二分類,最后輸出入侵檢測(cè)分類的結(jié)果。
2.2.2 DBN特征提取模型
根據(jù)OpenFlow協(xié)議,每條流表的信息都由多個(gè)流表項(xiàng)組成,而每個(gè)流表項(xiàng)都由多個(gè)字段組成。在實(shí)驗(yàn)的DBN模型里,直接提取16維字段作為特征輸入,此外手動(dòng)構(gòu)建了2個(gè)特征[13]以區(qū)別于SDN下的常規(guī)特征,共同構(gòu)成的DBN模型輸入的18維度特征。
手動(dòng)構(gòu)造的2個(gè)特征如下:
1)平均數(shù)據(jù)分組數(shù):
packets_ave=packetsduration(1)
其中packets是分組的包數(shù);duration是持續(xù)時(shí)間。
2)平均數(shù)據(jù)分組位數(shù):
bytes_ave=bytesduration(2)
其中bytes是流表中數(shù)據(jù)包字節(jié)數(shù)。
算法1:DBN模型特征提取算法
算法1是使用DBN進(jìn)行特征提取,具體步驟如下:
3 實(shí)驗(yàn)結(jié)果分析
3.1 實(shí)驗(yàn)數(shù)據(jù)
基于OpenFlow協(xié)議,SDN環(huán)境下有其特定的攻擊方式,常規(guī)的DDoS數(shù)據(jù)集中有一些SDN下不存在的攻擊類型,所以實(shí)驗(yàn)的數(shù)據(jù)集是采集到的SDN網(wǎng)絡(luò)中的真實(shí)流量。正常流量由非攻擊主機(jī)進(jìn)行正常的網(wǎng)絡(luò)訪問而得到,經(jīng)過統(tǒng)計(jì)大概有60%的TCP流量,20%的UDP流量,10%的ICMP流量和10%的其他流量。異常流量使用Hping-3工具產(chǎn)生,對(duì)應(yīng)發(fā)起交換機(jī)流表攻擊和控制域帶寬攻擊兩種攻擊,交換機(jī)收集流表數(shù)據(jù)。本次實(shí)驗(yàn)共采集10萬條數(shù)據(jù)流量,正常流量和DDoS攻擊流量的比例為6:4。其中將65000條數(shù)據(jù)作為訓(xùn)練集,35000條數(shù)據(jù)作為測(cè)試集。正常流量和入侵流量的數(shù)量分布如表2所示:
3.2 評(píng)估標(biāo)準(zhǔn)和模型參數(shù)設(shè)定
實(shí)驗(yàn)選用準(zhǔn)確率ACC(Accuracy)、檢出率DR (Detection Rate)、誤報(bào)率FPR(False Positive Rate)、以及精確率PR(Precision Rate)作為評(píng)測(cè)入侵檢測(cè)系統(tǒng)性能的主要指標(biāo)。
為了獲得三支決策的劃分依據(jù),需要獲取三支決策劃分的閾值。根據(jù)上文所提到的三支決策的代價(jià)函數(shù),設(shè)置損失函數(shù)。如表3所示。并根據(jù)公式獲取閾值α以及β。
3.3 實(shí)驗(yàn)結(jié)果分析
入侵檢測(cè)效果對(duì)比:SDN下的DDoS攻擊模型主要使用傳統(tǒng)機(jī)器學(xué)習(xí)如支持向量機(jī)(SVM)[15]、K近鄰算法(KNN)[10]、隨機(jī)森林(RF)[16]和基于信息熵的DNN模型[13]。使用數(shù)據(jù)集分別在SVM模型、KNN模型、簡(jiǎn)單的DNN模型和RF模型進(jìn)行對(duì)比,通過ACC、DR、FPR、PR等評(píng)估指標(biāo)對(duì)檢測(cè)效果進(jìn)行對(duì)比,對(duì)比結(jié)果如表4和圖3所示。
由表4和圖3可知,在使用DBN提取特征的基礎(chǔ)上使用三支決策進(jìn)行入侵檢測(cè)后在準(zhǔn)確率、檢出率和精確率上均有明顯的提升。誤報(bào)率變化如圖4所示,在數(shù)據(jù)量較少時(shí),由于模型不穩(wěn)定,誤報(bào)率有所上升,隨著數(shù)據(jù)量增多,模型性能趨于穩(wěn)定,誤報(bào)率逐漸下降。實(shí)驗(yàn)后期,由于邊緣化樣本增加,誤報(bào)率稍微升高,最后趨于平均水準(zhǔn)。
將不同的算法進(jìn)行ROC曲線對(duì)比,如圖5所示,以誤報(bào)率為橫坐標(biāo),檢測(cè)率為縱坐標(biāo),可以看出DBN-TWD入侵檢測(cè)模型的ROC曲線面積比其他算法的面積大,說明所提算法的性能更優(yōu),可以更好的進(jìn)行入侵檢測(cè)。
通過以上實(shí)驗(yàn)可以得知,所提的基于DBN和三支決策DDoS攻擊檢測(cè)模型對(duì)SDN下的DDoS攻擊具有很高的正確率和檢出率,在OpenFlow中字段的特征維數(shù)較低情況下使用在SDN流表項(xiàng)下直接獲取的特征和手動(dòng)構(gòu)建的特征進(jìn)行特征的重構(gòu)后,檢測(cè)效率有更大的提升,為SDN下的網(wǎng)絡(luò)安全提供了更有效的保障。
4 結(jié) 論
針對(duì)SDN下的網(wǎng)絡(luò)攻擊,提出了基于深度學(xué)習(xí)和三支決策的入侵檢測(cè)算法。該算法首先使用從OpenFlow流表中直接提取的特征字段和手動(dòng)構(gòu)造的特征構(gòu)成流表特征集,使用DBN進(jìn)行特征的提取后,利用三支決策檢測(cè)模型進(jìn)行流量的入侵檢測(cè),從而實(shí)現(xiàn)SDN下的DDoS攻擊檢測(cè)。經(jīng)過仿真實(shí)驗(yàn)驗(yàn)證,所提實(shí)驗(yàn)?zāi)P驮谡_率、檢出率和準(zhǔn)確率上都有提升,并在誤報(bào)率上有所降低,提高了檢測(cè)的效率。以后的工作的重點(diǎn)是將三支決策算法應(yīng)用于其他深度學(xué)習(xí)的模型中,同時(shí)選取不同的分類器,以便于提升權(quán)值,改進(jìn)實(shí)驗(yàn)的速度,提高入侵檢測(cè)的效率。并設(shè)計(jì)防御方案進(jìn)一步提高SDN下的網(wǎng)絡(luò)安全。
參考文獻(xiàn)
[1]LI Chuan-huang, WU Yan, YUAN Xiao-yong, et al. Detection and defense of DDoS attack-based on deep learning in OpenFlow-based SDN[J]. International Journal ofCommunication Systems, 2018, 31(5):e3497.1-e3497.15.
[2]KAYNAR O, YUKSEK A G, GORMEZ Y, et al. Intrusion detection with autoencoder based deep learning machine[C]//Signal Processing & Communications Applications Conference. IEEE, 2017.
[3]DAO N N, PARK J, PARK M, et al. A feasible method to combat against DDoS attack in SDN network[C]// International Conference on Information Networking. IEEE,2015.
[4]YAN Qiao, HUANG Wen-yao, LUO Xu-peng, et al. A multi-level DDoS mitigation framework for the industrial Internet of Things[J]. IEEE Communications Magazine, 2018, 56(2):30-36.
[5]KALKAN K, ALTAY L, GUR G, et al. JESS: Joint entropy based DDoS defense scheme in SDN[J]. IEEE Journal on Selected Areas in Communications, 2018:1-1.
[6]NO G, RA I. An efficient and reliable DDoS attack detection using a fast entropy computation method[C]// International Conference on Communications & Information Technologies. IEEE Press, 2009.
[7]CHIN T, MOUNTRIDOU X, LI X, et al. Selective packet inspection to detect DoS flooding using software defined networking (SDN)[C]// 2015 IEEE 35th International Conference on DistributedComputing Systems Workshops (ICDCSW). IEEE,2015.
[8]YUAN Jing-bo, LI Hai-xiao, DING Shun-li, et al. Intrusion detection model based on improved support vector machine[C]// Third International Symposium on Intelligent Information Technology &Security Informatics. IEEE, 2010.
[9]BARKI L, SHIDLING A, METI N, et al. Detection of distributed denial of service attacks in software defined networks[C]// 2016 International Conference on Advances in Computing, Communicationsand Informatics (ICACCI). IEEE, 2016.
[10]肖甫,馬俊青,黃洵松,等.SDN環(huán)境下基于KNN的DDoS攻擊檢測(cè)方法[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,35(1):84-88.
[11]DOULAMIS N, DOULAMIS A. Semi-supervised deep learning for object tracking and classification[C]// IEEE International Conference on Image Processing. IEEE, 2015.
[12]GARY S, KAUR K, KUMAR N, et al. Hybrid deep-learning-based anomaly detection scheme for suspicious flow detection in SDN: a social multimedia perspective[J]. IEEE Transactions on Multimedia, 2019, 21(3):566-578.
[13]張龍,王勁松.SDN中基于信息熵與DNN的DDoS攻擊檢測(cè)模型[J].計(jì)算機(jī)研究與發(fā)展,2019,56(05):909-918.
[14]鞠恒榮,李華雄,周獻(xiàn)中,等.基于Local約簡(jiǎn)的序貫三支分類器[J].計(jì)算機(jī)科學(xué),2017,44(09):34-39+57.
[15]LI Dong, YU Chang, ZHOU Qi-zhao, et al. Using SVM to detect DDoS attack in SDN network[J]. Iop Conference, 2018, 466.
[16]李兆斌,韓禹,魏占禎,等.SDN中基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類方法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(5):75-79,164.