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

中文引用格式: 張世軒,劉靜, 賴英旭,等. 基于SDN構(gòu)架的DoS/DDoS攻擊檢測(cè)與防御體系[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ù)平面解耦的、可實(shí)現(xiàn)網(wǎng)絡(luò)編程的創(chuàng)新網(wǎng)絡(luò)體系架構(gòu)。目前已有很多企業(yè)進(jìn)行了SDN實(shí)踐。但SDN 帶來了網(wǎng)絡(luò)架構(gòu)方面革新的同時(shí),也為安全防護(hù)體系帶來了挑戰(zhàn),例如拒絕服務(wù)攻擊、非法接入訪問等。本文就SDN構(gòu)架下DoS/DDoS攻擊檢測(cè)給出一組解決辦法,綜合運(yùn)用信息安全中異常檢測(cè)和誤用檢測(cè)兩種思想,提出一種基于SDN的防御體系。

1 相關(guān)工作

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

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

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

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

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

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

wl6-t1.gif

3 DoS/DDoS攻擊檢測(cè)與防御方法

3.1 源IP防偽

3.1.1 設(shè)計(jì)思想

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

3.1.2 設(shè)計(jì)描述

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

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

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

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

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

3.2.1 設(shè)計(jì)思想

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

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

    流量波動(dòng)性是衡量攻擊的一個(gè)重要的指標(biāo),概率論中方差描述了數(shù)據(jù)整體的波動(dòng)性,而所需要的是數(shù)據(jù)相對(duì)的、局部的波動(dòng)情況,所以差分方差能更好地反映流量的波動(dòng)情況。由于算法是動(dòng)態(tài)檢測(cè)的,所以各個(gè)統(tǒng)計(jì)量均依靠前一周期的計(jì)算結(jié)果。假設(shè)在t時(shí)刻,原始流量為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時(shí),執(zhí)行算法判定攻擊。定義常量c為閾值,代表能容忍的流量上限,變量s代表具有攻擊特征的流量可以連續(xù)出現(xiàn)的周期數(shù),變量a代表具有攻擊特征的流量已經(jīng)持續(xù)的周期數(shù)。當(dāng)u(t)持續(xù)大于0時(shí),每次執(zhí)行算法都會(huì)使a增1,用當(dāng)前周期與上一周期的差分方差比較,決定此周期攻擊強(qiáng)度A(t)。若A(t)≥A(t-1)與a≥s同時(shí)發(fā)生,則判定發(fā)生攻擊,通過控制器提供的API下發(fā)流表項(xiàng),阻斷攻擊流量;否則,暫不確定攻擊是否發(fā)生,進(jìn)入下一次循環(huán)判斷。

3.3 鏈路異常流量檢測(cè)

3.3.1 設(shè)計(jì)思想

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

3.3.2 主成分分析法異常檢測(cè)

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

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

wl6-gs5-8.gif

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

    wl6-gs9.gif

4 實(shí)驗(yàn)及結(jié)果分析

4.1 實(shí)驗(yàn)環(huán)境說明

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

wl6-t2.gif

wl6-b1.gif

4.2 測(cè)試結(jié)果說明

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

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

wl6-t3.gif

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

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

wl6-t4.gif

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

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

wl6-t5.gif

5 總結(jié)

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

參考文獻(xiàn)

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

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

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

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