文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.030
中文引用格式: 張世軒,,劉靜, 賴英旭,等. 基于SDN構架的DoS/DDoS攻擊檢測與防御體系[J].電子技術應用,,2015,,41(12):113-115,119.
英文引用格式: Zhang Shixuan,,Liu Jing,,Lai Yingxu,et al. DoS/DDoS attack detection and defense system based on SDN architectures[J].Application of Electronic Technique,,2015,,41(12):113-115,119.
0 引言
軟件定義網絡(Software Defined Networking,,SDN)[1]是一種控制平面和數據平面解耦的,、可實現網絡編程的創(chuàng)新網絡體系架構。目前已有很多企業(yè)進行了SDN實踐,。但SDN 帶來了網絡架構方面革新的同時,,也為安全防護體系帶來了挑戰(zhàn),例如拒絕服務攻擊,、非法接入訪問等,。本文就SDN構架下DoS/DDoS攻擊檢測給出一組解決辦法,綜合運用信息安全中異常檢測和誤用檢測兩種思想,,提出一種基于SDN的防御體系,。
1 相關工作
肖佩瑤等[2]提出基于路由的檢測算法,但當隨機流發(fā)出時,,控制器為每個流做出轉發(fā)路徑分析,,下發(fā)流表項,影響了控制器的性能,。
劉勇等[3]通過對攻擊發(fā)生時網絡流量變化特性進行分析,,提出基于流量波動的檢測算法。但在傳統網絡構架下,,分散而封閉的控制平面并不能實時阻斷異常流量,。
左青云等[4]對文獻[5]進行了改進,在主成分分析法(Principal Components Analysis,,PCA)分析時加入了異常流量特征熵,,大幅降低了誤報率。但目前沒有控制器提供IP對的查詢API,,所以要大量查詢流表項,,在檢驗算法中進行統計。IP數量非常多時,,算法用時將不可容忍,。
本文針對上述文獻的不足提出了改進辦法,在探索源地址驗證方面,通過控制器與OpenFlow交換機的信息交互實現了源地址驗證,,總體設計更加簡單,。通過將DoS/DDoS檢測算法與SDN技術相結合應用于網絡接入層,,增加了添加流表項功能,,可實時地對異常端口進行轉發(fā)限制。PCA是分析異常流量的一種重要方法,,本文提出其針對鏈路流量異常的檢測判斷,,算法用時大幅下降。
2 體系架構設計
面對形式越來越多的DoS/DDoS攻擊,,以往僅通過單一方法檢測攻擊的方式已經無法達到良好的檢測效果,,本文綜合多項檢測方法并形成防御體系,其架構如圖1所示,。偽造源IP地址是最常用的手段,,所以第一道防線為源IP防偽,IP防偽模塊通過接收到的數據報文為每個交換機端口設置動態(tài)的IP綁定,,防止偽造IP包攻擊,。若傀儡機發(fā)送大量使用真實源IP的數據包,會被第二道防線——接入層異常檢測所過濾,,信息查詢模塊通過OpenFlow協議獲取到交換機統計信息,,接入層檢測通過API獲取到端口流量信息進行算法檢驗。若異常則通過靜態(tài)流表插入模塊對交換機特定端口施行轉發(fā)限制,。只有攻擊流量以趨近于正常的速度發(fā)送數據包會通過檢測,。在第三道防線——鏈路流量異常檢測中,用API獲取到的整個網絡信息進行算法檢驗,,做出異常判斷,。
3 DoS/DDoS攻擊檢測與防御方法
3.1 源IP防偽
3.1.1 設計思想
在DDoS攻擊中按攻擊源地址分為真實源地址和偽造源地址,偽造源地址會使得多種放大攻擊成為可能,,并使攻擊定位變得困難,。在SDN構架下控制器對每臺交換機統一管理,可以利用此優(yōu)勢,,動態(tài)實現接口與IP的綁定,。
3.1.2 設計描述
獲取IP地址的途徑有兩種:使用DHCP服務或配置靜態(tài)IP。首先在控制器啟動時向交換機各端口插入將數據發(fā)往控制器的流表項,以保證對其監(jiān)控,然后分別處理兩種獲取IP的方式,。
(1)DHCP:客戶端通過DHCP ACK獲取到IP地址記為S,,刪除發(fā)往控制器的流表項,同時下發(fā)交換機目標端口僅允許S源地址通過的流表項,。
(2)靜態(tài)IP:控制器中設置了兩個域,,一個為端口控制域,存儲已經被管控的端口;另一個是交換機連接域,,存儲交換機相連接的端口,,不對這部分端口進行綁定。當數據包從某一接入端口發(fā)送到控制器進行解析時,,分析源地址S,,刪除發(fā)往控制器流表項,并下發(fā)此端口僅允許S源地址通過的流表項,。
當客戶端發(fā)送DHCP Release或交換機端口失去連接時,,刪除上述防偽流表項。重新插入此端口發(fā)往控制器的流表項,,恢復到初始狀態(tài),。
3.2 接入層網絡異常流量檢測
3.2.1 設計思想
DoS/DDoS攻擊時的流量特征是在一段時間內突然增大,且趨于平穩(wěn),。因此采用差分方差變化率為測量在接入層檢測異常流量,。利用控制器提供的API下發(fā)異常端口的限制流表項,做到異常流量的防御,。
3.2.2 差分方差優(yōu)勢與計算
流量波動性是衡量攻擊的一個重要的指標,,概率論中方差描述了數據整體的波動性,而所需要的是數據相對的,、局部的波動情況,,所以差分方差能更好地反映流量的波動情況。由于算法是動態(tài)檢測的,,所以各個統計量均依靠前一周期的計算結果,。假設在t時刻,原始流量為C(t),,流量的整體均值如式(1)所示:
3.2.3 攻擊判斷與流表下發(fā)
根據隸屬函數u(t)的值,,做出是否執(zhí)行算法的判斷。若u(t)=0,,則認為攻擊未發(fā)生,,若u(t)=1,則認為發(fā)生攻擊,,以上兩種情況不執(zhí)行算法,。當0<u(t)<1時,執(zhí)行算法判定攻擊,。定義常量c為閾值,,代表能容忍的流量上限,變量s代表具有攻擊特征的流量可以連續(xù)出現的周期數,,變量a代表具有攻擊特征的流量已經持續(xù)的周期數,。當u(t)持續(xù)大于0時,,每次執(zhí)行算法都會使a增1,用當前周期與上一周期的差分方差比較,,決定此周期攻擊強度A(t),。若A(t)≥A(t-1)與a≥s同時發(fā)生,則判定發(fā)生攻擊,,通過控制器提供的API下發(fā)流表項,,阻斷攻擊流量;否則,,暫不確定攻擊是否發(fā)生,,進入下一次循環(huán)判斷,。
3.3 鏈路異常流量檢測
3.3.1 設計思想
如果傀儡機采用接近正常的發(fā)包速率,,就會讓接入層檢測模塊陷入沉默,但攻擊流量會在到達目標鏈路前逐漸匯集,,因此采用了通過流量矩陣來統計網絡流量的方法,。使用主成分分析法對數據進行處理,并且計算動態(tài)閾值,,判斷是否存在異常,。相比于IP流量對,物理鏈路相對穩(wěn)定,,數據統計簡單,,不會出現大量誤報,且執(zhí)行速度大幅增加,。
3.3.2 主成分分析法異常檢測
流量矩陣:每個OpenFlow交換機之間的鏈路流量稱為SS對,。流量矩陣X為t×p維的矩陣,常量t是樣本數量,,變量p為SS對數量,,Xij表示第i個樣本、第j個SS對的流量大小,。
對于t×p維流量矩陣X應用主成分分析方法計算特征值與特征向量,,使前k個主成分特征值和達到所有主成分特征值和的85%,前k個主成分特征向量構成正常子空間s,,剩余的p-k個主成分特征向量則構成異常子空間s′,。將流量矩陣X向這兩個子空間進行投影。正常子空間s中的k個特征向量組成的矩陣記為P,,矩陣各列的平均值組成向量記為x,。設x在正常子空間的投影為模型流量x′,在異常子空間的投影為殘差流量x″,,如式(5)所示:
采用滑動窗口機制更新流量矩陣,,正常時模型流量與殘差流量大致不變,當出現異常時,殘差流量會發(fā)生巨大的變化,,殘差流量變化值如式(9)所示:
4 實驗及結果分析
4.1 實驗環(huán)境說明
實驗使用mininet[7]進行模擬,,floodlight控制器進行網絡信息的獲取與流表項的下發(fā),利用hping測試軟件進行模擬攻擊實驗。圖2為實驗拓撲圖,,實驗測試時長1 000 s,,具體測試詳見表1攻擊說明。
4.2 測試結果說明
4.2.1 源IP防偽測試結果
源IP防偽屬于功能檢驗,,防偽率100%,,圖3為統計結果。在測試實驗的200 s和800 s注入了偽造源IP的攻擊流量,,攻擊結果被實時體現出來,。
4.2.2 接入層異常檢測測試結果
接入層檢測當收到不失一般性的流量攻擊時,會觸發(fā)報警下發(fā)流表,,結果如圖4所示,。圖4(a)為該接入端口接收到的數據包數,圖4(b)為此端口實際轉發(fā)的數據包數,。在流量正常時,,接收即轉發(fā),所以圖4(a)與圖4(b)無差別,。在第300 s與500 s時注入攻擊流量,,發(fā)生報警時,對端口進行限制,,圖4(b)中轉發(fā)流量大幅下降,,表明對攻擊行為做出了防御動作,將異常流量封鎖在網絡外,。
4.2.3 鏈路流量異常檢測的測試結果
趨近正常速率發(fā)送數據包的主機會被接入層檢測漏檢,,此時鏈路層流量檢測就會起到作用,如圖5所示,,為保證不過分消耗控制器資源,,每10 s執(zhí)行一次算法。在400 s和650 s注入了DDoS攻擊流量,,流量殘差值的變化突然增大超過依靠上一個檢測周期計算出的閾值,,發(fā)生報警。但攻擊流量會造成流量矩陣的混亂,,可能會發(fā)生可預知的誤報,,總誤報率約5%。
5 總結
針對各式各樣的DDoS攻擊應該采用多種防御手段,,本文利用SDN的優(yōu)勢獲取網絡狀態(tài),,通過源IP地址的動態(tài)綁定,,基于差分方差的接入層異常檢測,基于多元統計分析的鏈路流量異常檢測,,構建了一個DoS/DDoS防御體系,,并通過實驗進行了驗證。實驗表明,,此體系不僅能對各類DoS/DDoS攻擊迅速做出響應,,并且可以將攻擊流量封鎖在源頭。未來研究者可以從本文的思路繼續(xù)探索,,提出更加先進的檢測算法,,完善此防御體系。
參考文獻
[1] 左青云,,陳鳴,,趙廣松,等.基于OpenFlow的SDN技術研究[J].軟件學報,,2013(5):1078-1097.
[2] 肖佩瑤,,畢軍.基于OpenFlow架構的域內源地址驗證方法[J].小型微型計算機系統,,2013,,34(9):1999-2003.
[3] 劉勇,香麗蕓.基于網絡異常流量判斷DoS/DDoS攻擊的檢測算法[J].吉林大學學報(信息科學版),,2008(3):313-319.
[4] 左青云,,陳鳴,王秀磊,,等.一種基于SDN的在線流量異常檢測方法[J].西安電子科技大學學報,,2015(1):155-160.
[5] LAKHINA A,CROVELLA M,,DIOT C.Diagnosing network-wide traffic anomalies[C].Proceedings of the ACMSIGCOMM.New York:ACM,,2004:219-230.
[6] JACKSON J E,MUDHOLKAR G S.Control procedures for residuals associated with principal component analysis[J].Technometrics,,1979,,21(3):341-349.
[7] HANDIGOL N,HELLER B,,JEYAKUMAR V,,et al.Reproducible network experiments using container-based emulation[C].Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies.New York:ACM,2012:253-264