《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于SDN構(gòu)架的DoS/DDoS攻擊檢測與防御體系
基于SDN構(gòu)架的DoS/DDoS攻擊檢測與防御體系
2015年電子技術(shù)應(yīng)用第12期
張世軒,劉 靜, 賴英旭, 何 運,,楊 盼
北京工業(yè)大學(xué) 計算機學(xué)院,,北京100124
摘要: 針對DoS/DDoS的攻擊檢測算法大多應(yīng)用于攻擊的目的端,只能實現(xiàn)檢測效果,、并不能緩解攻擊的問題,,提出利用SDN架構(gòu)的集中控制等特點,在攻擊的源頭實現(xiàn)流量實時監(jiān)控,,使用源IP防偽,、接入層異常檢測、鏈路流量異常檢測形成多重防御體系,,盡可能早地發(fā)現(xiàn)攻擊,,逐漸過濾異常流量,實現(xiàn)網(wǎng)絡(luò)層DDoS攻擊在源端的檢測和防御。提出防御體系概念,,便于應(yīng)用更先進(jìn)的檢測算法完善防御體系,。
中圖分類號: TP393
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.030

中文引用格式: 張世軒,劉靜, 賴英旭,,等. 基于SDN構(gòu)架的DoS/DDoS攻擊檢測與防御體系[J].電子技術(shù)應(yīng)用,,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.
DoS/DDoS attack detection and defense system based on SDN architectures
Zhang Shixuan,,Liu Jing,Lai Yingxu,,He Yun,,Yang Pan
College of Computer,Beijing University of Technology,,Beijing 100124,,China
Abstract: Most of current DoS/DDoS attack detection algorithms apply to the destination of attack, which only perform detection rather than mitigation. In this paper, we proposed a multi-level defense system which performs real-time traffic monitoring at the source of attack leveraging centralized control of SDN architecture. Combining methods of antiIP spoofing, access layertraffic detection and link traffic detection, our system achieves early detection of attack, filters anomaly traffic gradually, thus detects and mitigates network layer DDoS attack at the source. Furthermore, we proposed the defense architecture concept, which helps to improve our defense system with more advanced algorithms in future.
Key words : software defined network;distributed denial of service,;traffic anomaly detection,;defense system

    

0 引言

    軟件定義網(wǎng)絡(luò)(Software Defined Networking,SDN)[1]是一種控制平面和數(shù)據(jù)平面解耦的,、可實現(xiàn)網(wǎng)絡(luò)編程的創(chuàng)新網(wǎng)絡(luò)體系架構(gòu),。目前已有很多企業(yè)進(jìn)行了SDN實踐。但SDN 帶來了網(wǎng)絡(luò)架構(gòu)方面革新的同時,,也為安全防護(hù)體系帶來了挑戰(zhàn),,例如拒絕服務(wù)攻擊、非法接入訪問等,。本文就SDN構(gòu)架下DoS/DDoS攻擊檢測給出一組解決辦法,,綜合運用信息安全中異常檢測和誤用檢測兩種思想,提出一種基于SDN的防御體系,。

1 相關(guān)工作

    肖佩瑤等[2]提出基于路由的檢測算法,,但當(dāng)隨機流發(fā)出時,控制器為每個流做出轉(zhuǎn)發(fā)路徑分析,,下發(fā)流表項,,影響了控制器的性能,。

    劉勇等[3]通過對攻擊發(fā)生時網(wǎng)絡(luò)流量變化特性進(jìn)行分析,提出基于流量波動的檢測算法,。但在傳統(tǒng)網(wǎng)絡(luò)構(gòu)架下,,分散而封閉的控制平面并不能實時阻斷異常流量。

    左青云等[4]對文獻(xiàn)[5]進(jìn)行了改進(jìn),,在主成分分析法(Principal Components Analysis,,PCA)分析時加入了異常流量特征熵,大幅降低了誤報率,。但目前沒有控制器提供IP對的查詢API,,所以要大量查詢流表項,在檢驗算法中進(jìn)行統(tǒng)計,。IP數(shù)量非常多時,算法用時將不可容忍,。

    本文針對上述文獻(xiàn)的不足提出了改進(jìn)辦法,,在探索源地址驗證方面,通過控制器與OpenFlow交換機的信息交互實現(xiàn)了源地址驗證,,總體設(shè)計更加簡單,。通過將DoS/DDoS檢測算法與SDN技術(shù)相結(jié)合應(yīng)用于網(wǎng)絡(luò)接入層,增加了添加流表項功能,,可實時地對異常端口進(jìn)行轉(zhuǎn)發(fā)限制,。PCA是分析異常流量的一種重要方法,本文提出其針對鏈路流量異常的檢測判斷,,算法用時大幅下降,。

2 體系架構(gòu)設(shè)計

    面對形式越來越多的DoS/DDoS攻擊,以往僅通過單一方法檢測攻擊的方式已經(jīng)無法達(dá)到良好的檢測效果,,本文綜合多項檢測方法并形成防御體系,,其架構(gòu)如圖1所示。偽造源IP地址是最常用的手段,,所以第一道防線為源IP防偽,,IP防偽模塊通過接收到的數(shù)據(jù)報文為每個交換機端口設(shè)置動態(tài)的IP綁定,防止偽造IP包攻擊,。若傀儡機發(fā)送大量使用真實源IP的數(shù)據(jù)包,,會被第二道防線——接入層異常檢測所過濾,信息查詢模塊通過OpenFlow協(xié)議獲取到交換機統(tǒng)計信息,,接入層檢測通過API獲取到端口流量信息進(jìn)行算法檢驗,。若異常則通過靜態(tài)流表插入模塊對交換機特定端口施行轉(zhuǎn)發(fā)限制。只有攻擊流量以趨近于正常的速度發(fā)送數(shù)據(jù)包會通過檢測,。在第三道防線——鏈路流量異常檢測中,,用API獲取到的整個網(wǎng)絡(luò)信息進(jìn)行算法檢驗,做出異常判斷。

wl6-t1.gif

3 DoS/DDoS攻擊檢測與防御方法

3.1 源IP防偽

3.1.1 設(shè)計思想

    在DDoS攻擊中按攻擊源地址分為真實源地址和偽造源地址,,偽造源地址會使得多種放大攻擊成為可能,,并使攻擊定位變得困難。在SDN構(gòu)架下控制器對每臺交換機統(tǒng)一管理,,可以利用此優(yōu)勢,,動態(tài)實現(xiàn)接口與IP的綁定。

3.1.2 設(shè)計描述

    獲取IP地址的途徑有兩種:使用DHCP服務(wù)或配置靜態(tài)IP,。首先在控制器啟動時向交換機各端口插入將數(shù)據(jù)發(fā)往控制器的流表項,以保證對其監(jiān)控,然后分別處理兩種獲取IP的方式,。

    (1)DHCP:客戶端通過DHCP ACK獲取到IP地址記為S,刪除發(fā)往控制器的流表項,,同時下發(fā)交換機目標(biāo)端口僅允許S源地址通過的流表項,。

    (2)靜態(tài)IP:控制器中設(shè)置了兩個域,一個為端口控制域,,存儲已經(jīng)被管控的端口,;另一個是交換機連接域,存儲交換機相連接的端口,,不對這部分端口進(jìn)行綁定,。當(dāng)數(shù)據(jù)包從某一接入端口發(fā)送到控制器進(jìn)行解析時,分析源地址S,,刪除發(fā)往控制器流表項,,并下發(fā)此端口僅允許S源地址通過的流表項。

    當(dāng)客戶端發(fā)送DHCP Release或交換機端口失去連接時,,刪除上述防偽流表項,。重新插入此端口發(fā)往控制器的流表項,恢復(fù)到初始狀態(tài),。

3.2 接入層網(wǎng)絡(luò)異常流量檢測

3.2.1 設(shè)計思想

    DoS/DDoS攻擊時的流量特征是在一段時間內(nèi)突然增大,,且趨于平穩(wěn)。因此采用差分方差變化率為測量在接入層檢測異常流量,。利用控制器提供的API下發(fā)異常端口的限制流表項,,做到異常流量的防御。

3.2.2 差分方差優(yōu)勢與計算

    流量波動性是衡量攻擊的一個重要的指標(biāo),,概率論中方差描述了數(shù)據(jù)整體的波動性,,而所需要的是數(shù)據(jù)相對的、局部的波動情況,,所以差分方差能更好地反映流量的波動情況,。由于算法是動態(tài)檢測的,所以各個統(tǒng)計量均依靠前一周期的計算結(jié)果,。假設(shè)在t時刻,,原始流量為C(t),,流量的整體均值wl6-gs1-s1.gif如式(1)所示:

wl6-gs1-4.gif

3.2.3 攻擊判斷與流表下發(fā)

    根據(jù)隸屬函數(shù)u(t)的值,做出是否執(zhí)行算法的判斷,。若u(t)=0,,則認(rèn)為攻擊未發(fā)生,若u(t)=1,,則認(rèn)為發(fā)生攻擊,,以上兩種情況不執(zhí)行算法。當(dāng)0<u(t)<1時,,執(zhí)行算法判定攻擊,。定義常量c為閾值,代表能容忍的流量上限,,變量s代表具有攻擊特征的流量可以連續(xù)出現(xiàn)的周期數(shù),,變量a代表具有攻擊特征的流量已經(jīng)持續(xù)的周期數(shù)。當(dāng)u(t)持續(xù)大于0時,,每次執(zhí)行算法都會使a增1,,用當(dāng)前周期與上一周期的差分方差比較,決定此周期攻擊強度A(t),。若A(t)≥A(t-1)與a≥s同時發(fā)生,則判定發(fā)生攻擊,,通過控制器提供的API下發(fā)流表項,,阻斷攻擊流量;否則,,暫不確定攻擊是否發(fā)生,,進(jìn)入下一次循環(huán)判斷。

3.3 鏈路異常流量檢測

3.3.1 設(shè)計思想

    如果傀儡機采用接近正常的發(fā)包速率,,就會讓接入層檢測模塊陷入沉默,,但攻擊流量會在到達(dá)目標(biāo)鏈路前逐漸匯集,因此采用了通過流量矩陣來統(tǒng)計網(wǎng)絡(luò)流量的方法,。使用主成分分析法對數(shù)據(jù)進(jìn)行處理,,并且計算動態(tài)閾值,判斷是否存在異常,。相比于IP流量對,,物理鏈路相對穩(wěn)定,數(shù)據(jù)統(tǒng)計簡單,,不會出現(xiàn)大量誤報,,且執(zhí)行速度大幅增加。

3.3.2 主成分分析法異常檢測

    流量矩陣:每個OpenFlow交換機之間的鏈路流量稱為SS對,。流量矩陣X為t×p維的矩陣,,常量t是樣本數(shù)量,,變量p為SS對數(shù)量,Xij表示第i個樣本,、第j個SS對的流量大小,。

    對于t×p維流量矩陣X應(yīng)用主成分分析方法計算特征值與特征向量,使前k個主成分特征值和達(dá)到所有主成分特征值和的85%,,前k個主成分特征向量構(gòu)成正常子空間s,,剩余的p-k個主成分特征向量則構(gòu)成異常子空間s′。將流量矩陣X向這兩個子空間進(jìn)行投影,。正常子空間s中的k個特征向量組成的矩陣記為P,,矩陣各列的平均值組成向量記為x。設(shè)x在正常子空間的投影為模型流量x′,,在異常子空間的投影為殘差流量x″,,如式(5)所示:

wl6-gs5-8.gif

    采用滑動窗口機制更新流量矩陣,正常時模型流量與殘差流量大致不變,,當(dāng)出現(xiàn)異常時,,殘差流量會發(fā)生巨大的變化,殘差流量變化值如式(9)所示:

    wl6-gs9.gif

4 實驗及結(jié)果分析

4.1 實驗環(huán)境說明

    實驗使用mininet[7]進(jìn)行模擬,,floodlight控制器進(jìn)行網(wǎng)絡(luò)信息的獲取與流表項的下發(fā),利用hping測試軟件進(jìn)行模擬攻擊實驗,。圖2為實驗拓?fù)鋱D,實驗測試時長1 000 s,,具體測試詳見表1攻擊說明,。

wl6-t2.gif

wl6-b1.gif

4.2 測試結(jié)果說明

4.2.1 源IP防偽測試結(jié)果

    源IP防偽屬于功能檢驗,防偽率100%,,圖3為統(tǒng)計結(jié)果,。在測試實驗的200 s和800 s注入了偽造源IP的攻擊流量,攻擊結(jié)果被實時體現(xiàn)出來,。

wl6-t3.gif

4.2.2 接入層異常檢測測試結(jié)果

    接入層檢測當(dāng)收到不失一般性的流量攻擊時,,會觸發(fā)報警下發(fā)流表,結(jié)果如圖4所示,。圖4(a)為該接入端口接收到的數(shù)據(jù)包數(shù),,圖4(b)為此端口實際轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)。在流量正常時,,接收即轉(zhuǎn)發(fā),,所以圖4(a)與圖4(b)無差別。在第300 s與500 s時注入攻擊流量,,發(fā)生報警時,,對端口進(jìn)行限制,圖4(b)中轉(zhuǎn)發(fā)流量大幅下降,,表明對攻擊行為做出了防御動作,,將異常流量封鎖在網(wǎng)絡(luò)外,。

wl6-t4.gif

4.2.3 鏈路流量異常檢測的測試結(jié)果

    趨近正常速率發(fā)送數(shù)據(jù)包的主機會被接入層檢測漏檢,此時鏈路層流量檢測就會起到作用,,如圖5所示,,為保證不過分消耗控制器資源,每10 s執(zhí)行一次算法,。在400 s和650 s注入了DDoS攻擊流量,,流量殘差值的變化突然增大超過依靠上一個檢測周期計算出的閾值,發(fā)生報警,。但攻擊流量會造成流量矩陣的混亂,,可能會發(fā)生可預(yù)知的誤報,總誤報率約5%,。

wl6-t5.gif

5 總結(jié)

    針對各式各樣的DDoS攻擊應(yīng)該采用多種防御手段,,本文利用SDN的優(yōu)勢獲取網(wǎng)絡(luò)狀態(tài),通過源IP地址的動態(tài)綁定,,基于差分方差的接入層異常檢測,,基于多元統(tǒng)計分析的鏈路流量異常檢測,構(gòu)建了一個DoS/DDoS防御體系,,并通過實驗進(jìn)行了驗證,。實驗表明,此體系不僅能對各類DoS/DDoS攻擊迅速做出響應(yīng),,并且可以將攻擊流量封鎖在源頭,。未來研究者可以從本文的思路繼續(xù)探索,提出更加先進(jìn)的檢測算法,,完善此防御體系。

參考文獻(xiàn)

[1] 左青云,,陳鳴,,趙廣松,等.基于OpenFlow的SDN技術(shù)研究[J].軟件學(xué)報,,2013(5):1078-1097.

[2] 肖佩瑤,,畢軍.基于OpenFlow架構(gòu)的域內(nèi)源地址驗證方法[J].小型微型計算機系統(tǒng),2013,,34(9):1999-2003.

[3] 劉勇,,香麗蕓.基于網(wǎng)絡(luò)異常流量判斷DoS/DDoS攻擊的檢測算法[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2008(3):313-319.

[4] 左青云,,陳鳴,,王秀磊,等.一種基于SDN的在線流量異常檢測方法[J].西安電子科技大學(xué)學(xué)報,,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

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。