<acronym id="owqss"><center id="owqss"></center></acronym>
<acronym id="owqss"></acronym>
<acronym id="owqss"><center id="owqss"></center></acronym>

SDN環境下基于支持向量機的DDoS攻擊檢測研究

王靈矯 呂琮霞 郭華

引用本文:
Citation:

SDN環境下基于支持向量機的DDoS攻擊檢測研究

    通訊作者: 王靈矯, 151848770@qq.com
  • 中圖分類號: TP393

Research on DDoS attack detection based on Support Vector Machine in SDN environment

    Corresponding author: WANG Ling-jiao, 151848770@qq.com ;
  • CLC number: TP393

  • 摘要: 軟件定義網絡(Software-Defined Networks,SDN)提出了全新的架構思想,但控制器易受分布式拒絕服務(Distributed Denial Of Service,DDoS)的攻擊導致資源耗盡. 針對上述問題,提出了一種SDN環境下基于支持向量機(Support Vector Machine,SVM)的DDoS攻擊檢測算法—RF-SVM. 首先根據DDoS攻擊和分類特點結合數據包頭信息選擇關聯的六維特征;然后利用隨機森林計算特征權重并篩選特征,得到一個最優特征子集;最后采用SVM算法檢測DDoS攻擊,以達到較好的分類性能. 在相同場景的實驗結果表明:RF-SVM算法比SVM算法和RF算法具有更高的檢測率、查全率和F1值,表明該方法的有效性及更優的性能.
  • 圖 1  基于RF-SVM算法的DDoS攻擊檢測框架

    Figure 1.  DDoS attack detection framework based on RF-SVM algorithm

    圖 2  RF-SVM算法基本流程圖

    Figure 2.  Basic flow chart of RF-SVM algorithm

    圖 3  支持向量機分類超平面

    Figure 3.  The classification hyperplane of Support Vector Machine

    圖 4  KDD99數據集下RF-SVM算法與RF算法和SVM算法對比

    Figure 4.  Comparison of RF-SVM algorithm with RF algorithm and SVM algorithm under KDD99 data set

    圖 5  SDN環境下網絡拓撲

    Figure 5.  Network topology in SDN environment

    圖 6  SDN環境下RF-SVM算法與RF算法和SVM算法對比

    Figure 6.  Comparison of RF-SVM algorithm with RF algorithm and SVM algorithm in SDN environment

    表 1  RF-SVM算法分類結果混淆矩陣

    Table 1.  Confusion matrix of RF-SVM algorithm classification results

    RF-SVM算法預測實際
    $ {{\rm{d}}_i} \in {{\rm{C}}_1} $$ {{\rm{d}}_i} \in {{\rm{C}}_2} $
    $ {{\rm{d}}_i} \in {{\rm{C}}_1} $TPFN
    $ {{\rm{d}}_i} \in {{\rm{C}}_2} $FPTP
    下載: 導出CSV

    表 2  KDD99數據集下RF-SVM算法得到的各特征權重

    Table 2.  Feature weights calculated by RF-SVM algorithm under KDD99 data set

    特征權重特征權重
    duration0.0179hot0.0144
    src_bytes0.4445num_access_files0.0004
    dst_bytes0.1944srv_count0.0587
    logged_in0.2671is_guest_login0.0026
    下載: 導出CSV

    表 3  KDD99數據集下各個算法時間開銷對比

    Table 3.  Comparison of time cost of each algorithm under KDD99 data set

    訓練樣本數測試樣本數執行時間/s
    (正常/DDoS)(正常/DDoS)RF-SVMSVMRF
    5000/50003000/300020.79524.8410.5459
    下載: 導出CSV

    表 4  SDN環境下RF-SVM算法得到的各特征權重

    Table 4.  Feature weights calculated by RF-SVM algorithm under SDN environment

    特征權重特征權重
    FT0.2446ST0.1100
    BT0.1852DT0.0830
    PT0.1454C0.2318
    下載: 導出CSV

    表 5  SDN環境下各算法時間開銷對比

    Table 5.  Comparison of time cost of each algorithm in SDN environment

    訓練樣本數測試樣本數執行時間/s
    (正常/DDoS)(正常/DDoS)RF-SVMSVMRF
    10166/101663388/338817.25421.9650.536
    下載: 導出CSV
    鸿禾娱乐
  • [1] Kreutz D, Ramos F, M V, Esteves V P, et al. Software-defined networking: A comprehensive survey[J]. Proceedings of the IEEE, 2015, 103(1): 14-76. DOI:  10.1109/JPROC.2014.2371999.
    [2] 張朝昆, 崔勇, 唐翯翯, 等. 軟件定義網絡(SDN)研究進展[J]. 軟件學報, 2015, 26(1): 62-81. Zhang C K, Cui Y, Tang H H, et al. State-of-the-art survey on Software-Defined Networking (SDN)[J]. Journal of Software, 2015, 26(1): 62-81.
    [3] Cui L, Yu F R, Yan Q. When big data meets software-defined networking: SDN for big data and big data for SDN[J]. IEEE Network, 2016, 30(1): 58-65. DOI:  10.1109/MNET.2016.7389832.
    [4] Yan Q, Yu R, Gong Q, et al. Software-Defined Networking (SDN) and Distributed Denial of Service (DDoS) attacks in cloud computing environments: A survey, some research issues, and challenges[J]. IEEE Communications Surveys & Tutorials, 2016, 18(1): 602-622.
    [5] Giotis K, Argyropoulos C, Androulidakis G, et al. Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments[J]. Computer Networks, 2014, 62(Apr.7): 122-136.
    [6] Mousavi S M, Sthilaire M. Early detection of DDoS attacks against SDN controllers[C]// International Conference on Computing, Networking and Communications. Garden Grove, California, USA, 2015: 77-81.
    [7] Kokila RT, S Thamarai Selvi, K Govindarajan. DDoS detection and analysis in SDN-based environment using support vector machine classifier[C]// Sixth International Conference on Advanced Computing (ICoAC), Chennai, India, 2014: 205-210.
    [8] Braga R, Mota E, Passito A. Lightweight DDoS flooding attack detection using NOX/OpenFlow[C]// The 35th Annual IEEE Conference on Local Computer Networks, Denver, Colorado, USA, 2010: 408-415.
    [9] 肖甫, 馬俊青, 黃洵松, 等. SDN環境下基于KNN的DDoS攻擊檢測方法[J]. 南京郵電大學報:自然科學版, 2015, 35(1): 84-88. Xiao F, Ma J Q, Huang X S, et al. DDoS attack detection method based on KNN in software defined networks[J]. Nanjing University of Posts and Telecommunications: Natural Science Edition, 2015, 35(1): 84-88.
    [10] 劉俊杰, 王珺, 王夢林, 等. SDN中基于C4.5決策樹的DDoS攻擊檢測[J]. 計算機工程與應用, 2019, 55(20): 84-88. Liu J J, Wang J, Wang M L, et al. DDoS attack detection based on C4.5 in SDN[J]. Computer Engineering and Applications, 2019, 55(20): 84-88.
    [11] Li X, Shu L.Fuzzy theory based Support Vector Machine classifier[C]//2008 Fifth International Conference on Fuzzy Systems and Knowledge Discovery, Shandong, China, 2008: 600-604.
    [12] Calvo-Zaragoza J, Valero-Mas J J, Rico-Juan J R. Improving kNN multi-label classification in Prototype Selection scenarios using class proposals[J]. Pattern Recognition, 2015, 48(5): 1608- 1622. DOI:  10.1016/j.patcog.2014.11.015.
    [13] Merdassi H, Barhoumi W, Zagrouba E.Semi-supervised image classification in large datasets by using random forest and fuzzy quantification of the salient object[C]//International Workshop on Computational Intelligence for Multimedia Understanding (IWCIM), Paris, France, 2014: 1-5.
    [14] Limoncelli, Thomas A. OpenFlow: A radical new idea in networking[J]. Communications of the Acm, 2012, 55(8): 42-47. DOI:  10.1145/2240236.2240254.
    [15] Bolon V, Sanchez N, Alonso A. Feature selection and classification in multiple class datasets: An application to KDD Cup 99 dataset[J]. Expert Systems with Applications, 2011, 38(5): 5947- 5957. DOI:  10.1016/j.eswa.2010.11.028.
  • [1] 王東孫彬張紹武 . 微信息進程與流量檢測指令分布下的傾向性檢測模型*. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20150811
    [2] 李琰崔建福馬鐳石磊 . 局部影響分析在支持向量機中的應用. 云南大學學報(自然科學版),
    [3] 王海燕王紅軍徐小力 . 基于支持向量機的納西東巴象形文字符識別*. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20150757
    [4] 周愛紅尹超袁穎 . 基于主成分分析和支持向量機的砂土滲透系數預測模型*. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20150781
    [5] 何晨光賀思德董志民 . 最小二乘支持向量機在人臉識別中的應用. 云南大學學報(自然科學版),
    [6] 閆菁馮早吳建德馬軍 . 排水管道堵塞故障的聲診斷方法研究*. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20170316
    [7] 閔文文梅 端代婷婷胡光華 . 基于遺傳算法SVM的基因表達譜數據分析. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20120663
    [8] 冉亞鑫余江???/a> , 李曉薇 . 一種基于CSI的跌倒檢測方法. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20190415
    [9] 彭新俊胡光華 . 密度函數估計的修正SVM法. 云南大學學報(自然科學版),
    [10] 陳威張世峰張祝威胡貴妹 . 焦爐集氣管壓力系統的復合自適應PID控制. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20160597
    [11] 盧康賀西平安笑笑賀升平尼濤 . 基于TSVM的多特征融合超聲金屬防偽識別. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20160548
    [12] 馬欣欣郭敏 . 基于EEMD和多域特征融合的手勢肌電信號識別研究. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20170300
    [13] 陸正福李佳 . FHE*KDFRS:全同態加密相容的核基人臉識別系統. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20180400
    [14] 燕志星王海瑞楊宏偉靖婉婷 . 基于深度學習特征提取和GWO-SVM滾動軸承故障診斷的研究. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20190535
    [15] 楊濤鋒彭藝 . 基于改進PSO的ARIMA-SVM空氣質量預測研究. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20190447
    [16] 杞嫻胡光華彭新俊 . 基于最佳距離度量近鄰法的鄰域風險最小化方法. 云南大學學報(自然科學版),
    [17] 張嚴嚴郭 敏 . 基于小波包和SVM的小麥碰撞聲分類研究. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20120377
    [18] 馬苗陳芳郭敏陳昱蒞 . 基于改進LeNet-5的街景門牌號碼識別方法. 云南大學學報(自然科學版), doi: 10.7540/j.ynu.20150560
    [19] 邱宇青胡光華潘文林 . 基于正交表的支持向量機并行學習算法. 云南大學學報(自然科學版),
    [20] 胡光華徐汝爭 . 最小二乘雙胞支持向量回歸機的研究. 云南大學學報(自然科學版),
  • 加載中
圖(6)表(5)
計量
  • 文章訪問數:  52
  • HTML全文瀏覽量:  66
  • PDF下載量:  0
  • 被引次數: 0
出版歷程
  • 收稿日期:  2020-04-20
  • 網絡出版日期:  2020-09-21

SDN環境下基于支持向量機的DDoS攻擊檢測研究

    通訊作者: 王靈矯, 151848770@qq.com
  • 1. 湘潭大學 信息工程學院,湖南 湘潭 411105
  • 2. 湘潭大學 智能計算與信息處理教育部重點實驗室,湖南 湘潭 411105

摘要: 軟件定義網絡(Software-Defined Networks,SDN)提出了全新的架構思想,但控制器易受分布式拒絕服務(Distributed Denial Of Service,DDoS)的攻擊導致資源耗盡. 針對上述問題,提出了一種SDN環境下基于支持向量機(Support Vector Machine,SVM)的DDoS攻擊檢測算法—RF-SVM. 首先根據DDoS攻擊和分類特點結合數據包頭信息選擇關聯的六維特征;然后利用隨機森林計算特征權重并篩選特征,得到一個最優特征子集;最后采用SVM算法檢測DDoS攻擊,以達到較好的分類性能. 在相同場景的實驗結果表明:RF-SVM算法比SVM算法和RF算法具有更高的檢測率、查全率和F1值,表明該方法的有效性及更優的性能.

English Abstract

  • 軟件定義網絡(Software-Defined Networks,SDN)[1-2]將控制平面與數據平面分層,使網絡管理變得簡單以便于在各類網絡環境中部署,尤其適用于多租戶數據中心網絡場景[3]. 但該架構也帶來一些新的安全問題,SDN交換機解耦控制功能與數據轉發功能,根據其轉發接收分組的規則,分布式拒絕服務(Distributed Denial Of Service,DDoS)[4]將大量虛假IP地址數據包發送給交換機,因交換機無匹配的流表項從而轉發至控制器,利用這種處理延遲,DDoS攻擊容易導致集中控制器過載而耗盡CPU、內存等資源.

    近年來,針對SDN網絡的DDoS攻擊檢測主要分為基于統計學習和基于機器學習兩類. 基于統計學習的異常檢測方法利用信息熵體現數據流量的隨機性,文獻[5]提出基于統計熵的異常檢測機制,結合sFlow的數據包采樣和openflow協議進行流量采集,通過設定數據包目的IP地址的信息熵閾值來判斷網絡是否異常. 文獻[6]提出基于數據分組的SDN網絡早期異常檢測機制,根據目的IP地址的分布概率計算數據分組的熵值并與閾值比較,實現在250個分組之內判斷網絡是否異常,但該方法僅進行了熵值計算,未詳細描述DDoS攻擊的數據包特征. 在基于機器學習的異常檢測方法中,監督學習、無監督學習以及神經網絡方法在時間開銷和檢測率上都比統計學習更優. 文獻[7]提出基于支持向量機(Support Vector Machine,SVM)的異常檢測機制,通過計算數據流量的SVM超平面,判斷SDN網絡流量異常與否,但該方法實驗描述單一,未從時間開銷等方面分析其高效性. 文獻[8]針對SDN集中控制器的特點通過自組織神經網絡SOM分類流量數據,但該方法訓練時間較長. 文獻[9]提出一種基于K近鄰的DDoS攻擊檢測方法,但是該方法的特征提取不夠全面,比如流表項增速這一特征在正常流量和異常流量中也表現迥異. 文獻[10]提出基于C4.5決策樹的DDoS攻擊檢測方法,但是該方法的檢測率和時間開銷仍有提升空間. 綜合分析SDN環境下基于機器學習的DDoS攻擊檢測方法,SVM[11]具有良好的分類性能,但時間開銷較大. K近鄰[12]效率高,但需計算測試點與訓練集中每一數據點的距離導致空間復雜度高.

    根據上述方法存在的問題,本文提出一種改進型SVM分類算法—RF-SVM,其基本思想是將隨機森林[13]的信息增益特性引入SVM算法,將信息增益作為流量特征的權重值,篩除重要程度小的特征,實現流量分類的檢測率、查全率及F1值的提高.

    本文主要有以下幾點貢獻.

    (1)提出SDN環境下DDoS攻擊檢測框架,根據SDN網絡的流量特性獲取流表項信息,提取與攻擊數據包相關的六維特征;

    (2)基于SVM算法和隨機森林算法的特性提出具有更優性能的RF-SVM算法. 通過隨機森林的信息增益特性對所選六維特征賦予權重,篩除對分類無明顯幫助的特征以得到最優特征子集. SVM算法根據特征子集訓練樣本,得到最優分類超平面,測試樣本的正負標簽由最優分類超平面決定. 新算法高效地實現了DDoS攻擊流量與正常流量的分類;

    (3)基于Floodlight控制器實現DDoS攻擊檢測的相關實驗. 結果表明,本文方法在相同場景下能夠達到98.62%的檢測率,比其他方法有不同程度的提升,提升了SDN環境下攻擊流量的分類效率.

    • 攻擊檢測框架由流量收集模塊、特征提取模塊、攻擊檢測模塊3部分構成,基于RF-SVM的DDoS攻擊檢測框架如圖1所示.

      圖  1  基于RF-SVM算法的DDoS攻擊檢測框架

      Figure 1.  DDoS attack detection framework based on RF-SVM algorithm

      流量收集模塊調用控制器與數據平面之間的OpenFlow[14]南向協議接口,獲取OpenVSwitch交換機上所有數據包的流表信息. 特征提取模塊進行流表信息預處理,計算各數據流量相關的特征值,本文選取六維特征進行計算. 攻擊檢測模塊接收處理后的特征數據集,并判斷其為正常流量還是異常流量.

    • 根據DDoS攻擊下網絡流量特性,本文選取文獻[10]的3個特征,并新增3個特征作為DDoS攻擊檢測算法的輸入,具體如下:

      (1)流包數均值

      由于DDoS攻擊下,攻擊主機短時間生成大量隱蔽真實地址的虛假源IP地址流包,導致攻擊流的生成速度顯著提高,每條流所含的平均數據包數量增加. 定義采集周期T內的流包數均值FT為:

      $ {F}_{T}=\left({\sum }_{j=1}^{n}{P}_{j}\right)/n $

      其中Pj是第j條流表項所含的數據包數量,n是采集周期T內的流總數.

      (2)字節數均值

      DDoS攻擊下發送大量的數據包代表其短時間內數據包字節數同樣劇增,從而平均每條流表所含的數據包字節數增加. 定義采集周期T內的字節數均值BT為:

      $ {B}_{T}=\left({\sum }_{j=1}^{n}{M}_{j}\right)/n $

      其中Mj是第j條流表項所含的數據包字節數,n是采集周期T內的流總數.

      (3)端口增速

      網絡正常狀態下,端口變化量比較穩定,而在DDoS攻擊情況下惡意主機會隨機生成端口號隱蔽真實端口號,導致端口增速產生明顯變化. 定義端口增速PT為:

      $ {P}_{T}={K}_{T}/T $

      其中KT為采集周期T內端口號的數量,T為采集周期.

      (4)源IP地址增速

      惡意主機通過生成大量虛假源IP地址數據流對目標主機發起DDoS攻擊,導致源IP地址增速明顯提升. 定義源IP地址增速ST為:

      $ {S}_{T}={I}_{T}/T $

      其中IT為采集周期T內的源IP地址數量,T為采集周期.

      (5)流表生存時間變化

      網絡正常情況下,流生存時間變化量比較穩定,DDoS攻擊通過發送大量攻擊數據包使交換機中相應的流表項不斷被激活,導致流表生存時間變長. 定義流表生存時間變化DT為:

      $ {D}_{T}=\left({\sum }_{i=1}^{{S}_{flow}}{T}_{dur}\right)/{S}_{flow} $

      其中Tdur為采集周期T內每條流表項的生存時間,Sflow為周期T內流表項總數.

      (6)對流比

      DDoS攻擊發生時,由于攻擊方偽裝源IP地址導致交互性的對流數減少. 定義對流比C為:

      $ C=2m/n $

      其中m為對流的數量,n是網絡中的流總數.

    • SVM作為一種雙分類算法,在處理不平衡數據上具有良好的泛化和處理能力,分類準確率高,但其在大數據量樣本集中呈現時間復雜度高的問題. 本文提出的RF-SVM算法通過有機結合隨機森林與SVM,分類前首先篩選無用特征,以樣本空間量的減小實現檢測性能的提高和時間開銷的減小.

      RF-SVM算法的基本流程圖如圖2所示,主要包括數據預處理、特征權重排序、SVM數據分類3個階段. 權重排序是本算法的核心部分,產生優化的特征子集.

      圖  2  RF-SVM算法基本流程圖

      Figure 2.  Basic flow chart of RF-SVM algorithm

    • 構造隨機森林分類器,步驟如下:

      步驟1 DN網絡中通過洪泛發起DDoS攻擊,抓取n個包含正常流量與異常流量的OpenFlow數據包,通過前述特征提取模塊整合計算得到n個六維特征數據集. 隨機選取s個六維特征訓練集訓練決策樹,每次選取完畢均需放回訓練樣本集.

      步驟2 隨機選擇($m\leqslant 6$)個特征,利用信息增益策略選擇信息增益最大的特征作為決策樹節點的分割屬性.

      步驟3 使用步驟2分割決策樹中的每個節點,直到其不能再被分割為止.

      步驟4 根據步驟1到步驟3迭代n次構建決策樹.

      步驟5 所構建的森林對六維特征測試集Xi進行投票計數,獲得最高選票的類別即為Xi的分類標簽,并判斷此數據樣本是正常流量還是異常流量.

      由上述構建好的隨機森林分類器獲取每個特征的權重,ID3決策樹算法作為隨機森林的特征權重算法,熵代表網絡流量的無序性. 熵值可用于DDoS攻擊的六維特征數據流量的隨機性檢測,熵值越大數據包的隨機性越高,信息熵的計算公式如式(7)所示.

      $ H\left(X\right)=-{\sum}_{1}^{k}p\left({x}_{i}\right){log}_{2}\left(p\right({x}_{i}\left)\right). $

      隨機變量X代表整合計算得到的六維數據流量特征集, p(xi)代表X中任意數據流量xi的出現概率.

      假設按六項特征中的某一項特征Yj對樣本X進行分類,則條件熵定義如式(8)所示.

      $ H\left(X\right|{Y}_{j})=-{\sum} _{i=1}^{n}\frac{\left|{X}_{i}\right|}{\left|X\right|}{\sum }_{k=1}^{K}\frac{\left|{X}_{ik}\right|}{\left|{X}_{i}\right|}{log}_{2}\frac{\left|{X}_{ik}\right|}{\left|{X}_{i}\right|}, $

      其中|X|表示樣本容量,|Xi|表示根據不同特征劃分的第i個子集樣本個數,設有K個類Ck,k=1,2,…,K,記子集Xi中屬于類Ck的樣本的集合為Xik,|Xik|為Xik的樣本個數. 條件熵越小則表示用此特征分類的純度越高.

      信息增益定義為信息熵與條件熵之間的差,如式(9)所示.

      $ G\left(X,Y\right)=Info\left(X\right)-Info\left(X\right|{Y}_{j}). $

      信息增益越大代表此特征越重要,重復六次計算得到每個特征的信息增益.

      通過上述步驟計算得到DDoS攻擊下所提取六維特征的權重值 $ {\omega }_{{x}_{i}} $,通過多次實驗給權重 $ {\omega }_{{x}_{i}} $ 設定一個合理權重閾值 $ \alpha $,用SVM算法對 $ {\omega }_{{x}_{i}}>\alpha $ 的特征數據集進行訓練和預測,實現篩選特征提升DDoS攻擊檢測率的目的.

    • 對于篩選后的nn<6)維特征集D,利用SVM算法在該數據流量集中找到一個超平面分類出正常流量或是異常流量,用+1或?1分別代表正常流量或異常流量的分類標簽. 則問題轉換為求解最大間隔超平面,超平面示意如圖3所示.

      圖  3  支持向量機分類超平面

      Figure 3.  The classification hyperplane of Support Vector Machine

      由超平面示意圖可知,超平面的選取須盡可能滿足正常流量數據與異常流量數據的間隔最大,超平面的線性方程可由式(10)表示.

      $ {\omega }^{T}x+b=0, $

      其中x為輸入的n維流量特征,$ \omega $ 為可調權值向量,b為超平面相對原點的偏移量. 任意流量數據 $ x $ 到超平面 $ (\omega ,x) $ 的距離r表示如下:

      $ r=\frac{|{\omega }^{T}+b|}{\left|\right|\omega \left|\right|} $

      其中,為了計算方便,一般設 $ r=\dfrac{1}{\left|\right|\omega \left|\right|} $.

      對于 $ ({x}_{i},{y}_{i})\in D $,當 $ {y}_{i}=+1 $ 時,$ {\omega }^{T}x+b>0 $;當 $ {y}_{i}=-1 $ 時,$ {\omega }^{T}x+b<0 $. 為了獲得正常流量與異常流量距離的最大值,即求解||$ \omega $||的最小值使得2r最大. 因此SVM的優化問題可轉換為:

      $ \left\{\begin{array}{l}{min}_{\omega }\dfrac{2}{\left|\right|\omega \left|\right|} ; \\ s.t. {y}_{i}\left({\omega }^{T}{x}_{i}+b\right)\geqslant 1,i={1,2},\cdots ,m\end{array}\right. $

      拉格朗日優化方法使最優超平面問題對偶化,引入拉格朗日乘數 $ {\alpha }_{i} $,如果滿足 $ {\displaystyle\sum} _{i=1}^{n}{\alpha }_{i}{y}_{i}=0 $ 并且 ${\alpha }_{i}\geqslant 0$i=1, …,n),上述約束問題可以定義為:

      $ L\left(\alpha \right)={\sum }_{i=1}^{n}{\alpha }_{i}-\frac{1}{2}{\sum} _{i,j=1}^{n}{\alpha }_{i}{\alpha }_{j}{y}_{i}{y}_{j}({x}_{i} \cdot {x}_{j}). $

      最終得到最優的SVM分類器:

      $ f\left(x\right)=sgn\left\{{\sum }_{i=1}{\alpha }_{i}{y}_{i}\left({x}_{i} \cdot x\right)+b\right\}. $

      將篩選后的n維流量特征集用訓練好的SVM分類器進行DDoS攻擊檢測分類,把流量區分為正常流量和異常流量.

    • RF-SVM算法描述如下:

      步驟1 在算法初始階段,SDN網絡發起洪泛抓取n個數據流量,根據流表信息計算提取六維特征構成初始數據集,將其作為算法輸入.

      步驟2 針對數據集初始樣本可能有數據缺失的情況,通過補0或1對初始數據集進行預處理.

      步驟3 根據式(9)計算六維特征權重值,得到特征權值集合 $ {\omega }_{i} $.

      步驟4 根據設定的閾值 $ \alpha $ 刪除不滿足權重條件的特征即刪除特征權重值 $ {\omega }_{{x}_{i}}<\alpha $ 的特征,得到最優特征子集A_subset.

      步驟5 由式(14)產生的SVM分類器,根據特征子集對測試流量特征數據集進行分類.

      RF-SVM算法結合隨機森林與SVM的優點,分類性能良好,節省了時間開銷;構建的決策樹只提取其特征信息增益部分不受過擬合現象影響;分類過程由于篩選了冗余特征不會增大時間復雜度.

    • 分析DDoS攻擊檢測效果,一般采用檢測率(P)、查全率(R)、F1值三個指標. 其中:

      $ P=TP/(TP+FP), $

      $ R=TP/(TP+FN), $

      $ F1=(2\times P\times R)/(P+R), $

      檢測率表示RF-SVM分類器的準確度,查全率表示RF-SVM分類器分類的完備度,F1值為綜合檢測率與查全率之后的調和平均. TP、FP、FN的含義如表1所述.

      RF-SVM算法預測實際
      $ {{\rm{d}}_i} \in {{\rm{C}}_1} $$ {{\rm{d}}_i} \in {{\rm{C}}_2} $
      $ {{\rm{d}}_i} \in {{\rm{C}}_1} $TPFN
      $ {{\rm{d}}_i} \in {{\rm{C}}_2} $FPTP

      表 1  RF-SVM算法分類結果混淆矩陣

      Table 1.  Confusion matrix of RF-SVM algorithm classification results

      其中C1,C2分別表示所屬類別是正常流量或是攻擊流量,di表示第i個測試樣本.

    • 為了驗證RF-SVM算法識別攻擊流量的有效性,避免SDN環境下因數據采集有誤導致算法檢測率不準確的問題,實驗首先采用穩定的國際標準數據集KDD99[15]進行算法性能驗證. KDD99數據集包含22種攻擊類型,42個流量特征,選取其中8個特征用做攻擊檢測:duration、src_bytes、dst_bytes、logged_in、hot、num_access_files、srv_count、is_guest_login. 訓練集與測試集的樣本數量比例為3∶1.

    • 表2顯示了RF-SVM算法中利用隨機森林權重特征計算得到的特征權重值,多次訓練取最優權重閾值 $ \alpha $ 為0.02,得到特征子集:src_bytes、dst_bytes、logged_in、srv_count.

      特征權重特征權重
      duration0.0179hot0.0144
      src_bytes0.4445num_access_files0.0004
      dst_bytes0.1944srv_count0.0587
      logged_in0.2671is_guest_login0.0026

      表 2  KDD99數據集下RF-SVM算法得到的各特征權重

      Table 2.  Feature weights calculated by RF-SVM algorithm under KDD99 data set

      圖4所示的柱狀圖,顯示了RF-SVM算法與RF及SVM算法的整體對比,其結果是RF-SVM算法的檢測率、查全率、F1值分別比SVM算法和RF算法提升了1.87%、?0.42%、1.51%和2.87%、1.18%、2.01%. 可以看出RF-SVM算法在分類性能上有較大改善.

      圖  4  KDD99數據集下RF-SVM算法與RF算法和SVM算法對比

      Figure 4.  Comparison of RF-SVM algorithm with RF algorithm and SVM algorithm under KDD99 data set

      表3顯示了各個算法的時間開銷對比,RF、SVM、RF-SVM算法的執行時間分別是0.5459 s、24.841 s、20.795 s,可以看出,RF-SVM算法執行效率相比SVM算法有明顯改善,但還是低于其他五種算法,這源于SVM算法本身的高時間復雜度.

      訓練樣本數測試樣本數執行時間/s
      (正常/DDoS)(正常/DDoS)RF-SVMSVMRF
      5000/50003000/300020.79524.8410.5459

      表 3  KDD99數據集下各個算法時間開銷對比

      Table 3.  Comparison of time cost of each algorithm under KDD99 data set

    • 實驗使用Mininet模擬SDN網絡環境,SDN控制器選擇floodlight控制器. Floodlight是一種基于Java開發的OpenFlow輕量級控制器,具有良好的穩定性和可編程性. 主機配置為3.3 GHz,4 GB內存CPU,操作系統為ubuntu16.04.

      使用如圖5所示的網絡拓撲進行實驗,交換機s1連接的Net1網絡包含20臺主機,交換機s2連接的Net2網絡包含有10臺主機. Net1是報文發送網絡,Net2是受攻擊網絡,Net1可以向Net2發送DDoS攻擊流量或者是正常報文. 使用經典的DDoS攻擊工具hping3從Net1網絡向Net2網絡某一特定主機發送TCP SYN flood,UDP flood,ICMP flood攻擊,使用抓包軟件Wireshark進行抓包分析數據包頭信息.

      圖  5  SDN環境下網絡拓撲

      Figure 5.  Network topology in SDN environment

    • 表4顯示了RF-SVM算法在SDN下六維特征數據集通過隨機森林計算得到的權重值,多次訓練取最優權重閾值 $ \alpha $ 為0.15,得到特征子集:FT、BT、PT、C.

      特征權重特征權重
      FT0.2446ST0.1100
      BT0.1852DT0.0830
      PT0.1454C0.2318

      表 4  SDN環境下RF-SVM算法得到的各特征權重

      Table 4.  Feature weights calculated by RF-SVM algorithm under SDN environment

      圖6所示柱狀圖直觀顯示了RF-SVM算法與RF及SVM算法的對比,其結果是RF-SVM算法的檢測率、查全率、F1值分別為98.62%、98.41%、98.51%,SVM算法的檢測率、查全率、F1值分別為97.51%、97.56%、97.49%,前者較后者分別提升了1.11%、0.85%、1.02%. RF算法的檢測率、查全率、F1值分別為96.32%、92.91%、94.09%,RF-SVM算法較之分別提升了2.3%、5.5%、4.42%.

      圖  6  SDN環境下RF-SVM算法與RF算法和SVM算法對比

      Figure 6.  Comparison of RF-SVM algorithm with RF algorithm and SVM algorithm in SDN environment

      表5顯示了各算法的時間開銷對比,RF-SVM、SVM、RF 3個算法的時間開銷分別是17.254 s、21.965 s、0.536 s,可以看出,RF-SVM算法執行效率相比SVM算法有較大提升,但相較RF算法RF-SVM算法時間開銷仍有待提升.

      訓練樣本數測試樣本數執行時間/s
      (正常/DDoS)(正常/DDoS)RF-SVMSVMRF
      10166/101663388/338817.25421.9650.536

      表 5  SDN環境下各算法時間開銷對比

      Table 5.  Comparison of time cost of each algorithm in SDN environment

      綜上可知,RF-SVM算法優化了分類器性能,較大提高了SDN環境下DDoS攻擊檢測的分類性能.

    • 隨機森林引入的節點分裂技術展現出良好的分類性能,SVM對不平衡數據有較好的分類效果,因此基于隨機森林和SVM提出一種改進型加權SVM算法,采用加權SVM應用于SDN環境下的DDoS攻擊檢測領域. 新算法以隨機森林的信息增益相關參數 $\omega $ 匹配各特征的權重比,以 $\alpha $ 值匹配特征權重閾值,篩除對分類無顯著幫助的特征,利用SVM分類算法對特征子集檢測分類,消除SVM特征重要性一致產生的影響. 實驗結果證明RF-SVM算法提升了分類器性能,既保證了算法的簡易高效性又提高了攻擊檢測的準確率,雖然RF-SVM算法的執行效率比SVM算法有明顯提升,但相對其他算法仍然有很大時間開銷,如何進一步改善算法執行效率將是下一步的研究重點.

參考文獻 (15)

目錄

    /

    返回文章
    返回