• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種面向SDN的跨平面協(xié)作DDoS檢測與防御方法

      2020-11-14 04:00:30曹永軼金偉正
      計算機工程 2020年11期
      關(guān)鍵詞:細粒度交換機數(shù)據(jù)包

      曹永軼,金偉正,吳 靜,羅 威,朱 博

      (1.武漢大學 電子信息學院,武漢 430072; 2.中國艦船研究設(shè)計中心,武漢 430064)

      0 概述

      分布式拒絕服務(Distributed Denial of Service,DDoS)是一種具有高破壞性的網(wǎng)絡(luò)攻擊行為。DDoS攻擊者通過多個分布式攻擊源偽造出海量虛擬IP地址,并對服務器發(fā)起訪問式攻擊,消耗大量的服務器資源,導致受害服務器崩潰而無法響應正常用戶的服務請求[1],這種在互聯(lián)網(wǎng)發(fā)展初期已存在的網(wǎng)絡(luò)安全威脅,至今仍是互聯(lián)網(wǎng)上最流行、效率最高的攻擊方式[2]。

      軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)作為一種新興的網(wǎng)絡(luò)模式[3],引起了學術(shù)界和工業(yè)界的關(guān)注。SDN從底層網(wǎng)絡(luò)設(shè)施中抽象出控制器,并解耦控制平面和數(shù)據(jù)平面,使得網(wǎng)絡(luò)狀態(tài)具有邏輯集中的特性[4]。SDN的出現(xiàn)提高了網(wǎng)絡(luò)的可管理性、可擴展性、可控性和動態(tài)性[5]。然而,隨著SDN應用的普及,SDN安全性問題成為SDN領(lǐng)域的關(guān)鍵研究課題之一。

      由于SDN控制器靈活、可擴展以及集中控制的特點,在SDN下的DDoS攻擊檢測多數(shù)是在控制平面上進行的。傳統(tǒng)的經(jīng)典檢測方法是在控制平面上進行熵值計算,從而判斷流量中源IP的離散程度,并利用偽造數(shù)據(jù)包導致DDoS攻擊流量中源IP地址復雜多樣性的特點來檢測出異常流量[6]。該檢測系統(tǒng)的檢測精度取決于熵的閾值,而閾值的選擇是通過調(diào)整實驗中參數(shù)大小而得到,因此該方法具有一定的片面性。還有一類方法是利用控制平面可擴展的計算能力,在控制平面的數(shù)據(jù)包頭中提取DDoS流量的關(guān)鍵特征,利用基于概率的統(tǒng)計方法或機器學習算法進行檢測[7]。文獻[8]提出PacketScore方法,該方法對數(shù)據(jù)包包頭中的某些屬性值分布進行分析,并使用貝葉斯定理對數(shù)據(jù)包進行評分。PacketScore具有相當高的過濾精度,且易于部署,但由于其得分與攻擊強度有關(guān),因此不適用于處理大量攻擊流量。此外,它在評分方面存在一些代價高昂的計算操作,導致處理效率低下,且難以及時防御。文獻[9]提出一種基于支持向量機(Support Vector Machine,SVM)算法的網(wǎng)絡(luò)入侵檢測系統(tǒng),但該系統(tǒng)存在檢測時間較長、檢測效率低等問題。文獻[10]提出一種基于深度學習的多矢量DDoS檢測系統(tǒng),在SDN控制器上實現(xiàn)基于SAE模型的檢測,對于從網(wǎng)絡(luò)流量包頭派生出來的大量特征,利用深度學習對其進行特征降維與分類。在控制平面上基于機器學習的DDoS檢測方法可以達到較高的準確率,但普遍存在較高的控制器CPU消耗以及南向接口通信開銷。

      由于上述DDoS攻擊檢測機制均是基于控制平面,每次攻擊流量到達控制器時均會產(chǎn)生大量的南向接口負荷以及系統(tǒng)開銷,因此這些方法普遍存在檢測時延長、檢測開銷大以及對新型DDoS攻擊檢測能力較弱等問題[11-12]。在數(shù)據(jù)包到達控制器之前,其轉(zhuǎn)發(fā)在數(shù)據(jù)平面上的交換機中進行,文獻[13]提出一種新的思路,即在數(shù)據(jù)平面上利用OpenFlow交換機CPU計算熵值,從而實現(xiàn)DDoS攻擊檢測,但是由于熵值僅代表源IP離散性的一個特征,因此該方法的準確率較低。

      本文沒有從單平面角度解決上述問題,而是采用一種跨平面協(xié)作方法來優(yōu)化面向SDN的DDoS攻擊檢測方法。該方法提取更多的適合數(shù)據(jù)平面計算的DDoS流量特征,并將部分輕量級的DDoS檢測機制下發(fā)給數(shù)據(jù)平面,同時保留控制平面的細粒度檢測。經(jīng)過數(shù)據(jù)平面的檢測與過濾,到達控制平面檢測的流量會減少,從而降低了南向接口通信開銷。同時,本文方法除了利用數(shù)據(jù)平面以及控制平面兩級檢測之外,還采用了防御策略以及長期有效的黑白名單機制。

      1 機制描述

      在SDN架構(gòu)中,數(shù)據(jù)包在被控制平面捕獲之前,其是在數(shù)據(jù)平面上轉(zhuǎn)發(fā)的,為了提高DDoS攻擊檢測的性能以及減少檢測延遲,在傳統(tǒng)的控制平面檢測基礎(chǔ)上,還應該考慮在數(shù)據(jù)平面上部署過濾功能。實際上多數(shù)支持OpenFlow協(xié)議的OpenFlow交換機或混合交換機均由一個或多個正在運行的CPU組成,且這些CPU具有豐富的計算資源,然而目前還未得到充分利用[14]??缙矫鎱f(xié)作DDoS防御系統(tǒng)體系結(jié)構(gòu)如圖1所示,根據(jù)DDoS流量的顯著特征,在交換機CPU上執(zhí)行輕量級的數(shù)據(jù)平面檢測算法。由于在數(shù)據(jù)平面上采用較為輕量的算法只能進行粗過濾,因此當數(shù)據(jù)平面檢測產(chǎn)生告警后,將數(shù)據(jù)包包頭信息發(fā)送至控制平面進行細粒度檢測,得到更加準確的結(jié)果,數(shù)據(jù)平面的提前過濾為控制平面的檢測減小了壓力,這種跨平面兩級協(xié)作的方法顯著提高了檢測準確率。在控制平面上選擇聚類K-means算法對流量進行更細粒度的檢測,該算法具有檢測速度快、準確度高的特點。本文方案的控制平面檢測基于事件觸發(fā)而非輪詢機制,只有當數(shù)據(jù)平面產(chǎn)生報警時,流量才會被發(fā)送到控制平面進行第二次檢測,因此大幅降低了南向接口的通信負荷以及系統(tǒng)開銷。在本文方案中還添加了黑白名單機制以及防誤判模塊。利用黑白名單在交換機入口過濾數(shù)據(jù)包,降低重復檢測帶來的開銷。在控制平面完成細粒度檢測之后,加入防誤判模塊,以進一步降低虛警率。下文將詳細介紹系統(tǒng)的主要模塊以及粗粒度和細粒度檢測分別是如何進行的。

      圖1 跨平面協(xié)作DDoS防御系統(tǒng)體系結(jié)構(gòu)Fig.1 Architecture of cross plane cooperation DDoS defense system

      1.1 數(shù)據(jù)平面的粗粒度檢測

      OpenFlow交換機的計數(shù)器是計算通過的數(shù)據(jù)包和字節(jié)數(shù)。從OpenFlow協(xié)議1.0起[15],OpenFlow協(xié)議為每條流入口、流表和交換機端口等定義了一組計數(shù)器,并將它們的值稱為三元組。如圖1所示,計數(shù)器讀取模塊依次從交換機硬件中輪詢計數(shù)器值,并將這些值設(shè)置為流監(jiān)控器模塊的輸入。在流監(jiān)控器模塊,采用流量檢測算法對計數(shù)器值進行處理,從而過濾出異常流。

      數(shù)據(jù)平面流監(jiān)控器流程如圖2所示。其中,流監(jiān)控器模塊主要負責根據(jù)DDoS攻擊流量的突出特性(如大流量和不對稱特性)對異常流進行初步過濾,且其由以下3個部分組成:

      1)元組解析器。它從計數(shù)器的三元組中提取出具體的計數(shù)器值。

      2)監(jiān)控線程。利用流監(jiān)控算法對流量進行檢測。

      3)流狀態(tài)采集器。它負責對檢測到的異常流狀態(tài)進行管理,且圖2已經(jīng)給出了流監(jiān)控器的工作過程。

      圖2 數(shù)據(jù)平面流監(jiān)控器流程Fig.2 Procedure of data plane flow monitor

      元組解析器不斷地接收由計數(shù)器Reader模塊發(fā)送的三元組,然后包含在三元組中的計數(shù)器值根據(jù)其所屬流(或端口)傳遞給特定的監(jiān)控器線程,并利用流監(jiān)控算法對監(jiān)控線程進行異常流檢測。本文設(shè)計一種輕量級的流監(jiān)控算法,該算法用于數(shù)據(jù)平面的流量監(jiān)控模塊,檢測出由DDoS攻擊引起的異常流。與很多其他流監(jiān)控算法不同,該輕量級算法的目的是利用普通OpenFlow交換機中的輪詢計數(shù)器來提取DDoS攻擊流量的關(guān)鍵特性。

      1.1.1 輕量級算法的特征提取

      突發(fā)的泛洪流量是DDoS攻擊的一個重要特征,當DDoS攻擊時,單位時間通過交換機的數(shù)據(jù)分組量以及平均字節(jié)數(shù)都遠高于正常流量。在攻擊期間,進入受害服務器的流與從服務器流出的流之間通常存在巨大的速率差異。對于給定的2條流,如果A流的目的地址等于B流的源地址,B流的目的地址等于A流的源地址,則稱這2條流為對流。相反,如果只有一條流,且找不到它的對流,則稱為單流。DDoS常以IP欺騙的方式發(fā)起攻擊,因為它們使用假IP地址發(fā)送數(shù)據(jù)分組,所以當DDoS攻擊發(fā)生時,單流的增長率迅速增大,對流所占比例很小,其原理如圖3所示。當DDoS泛洪攻擊發(fā)生時,不同IP對應的流持續(xù)時間較短,因此流的平均持續(xù)時間也是一個重要特征。與DDoS攻擊產(chǎn)生的IP欺騙相同,攻擊者也可通過隨機生成端口進行掃描攻擊,因此DDoS流量中端口的增長率遠高于正常流量[16-18]。

      圖3 DDoS流量不對稱特性示意圖Fig.3 Schematic diagram of DDoS traffic asymmetry

      通過輪詢OpenFlow交換機計數(shù)器值,可由以下6個指標反映上述4個DDoS流量特性,具體表示方法為:

      1)單位時間平均數(shù)據(jù)分組量(APPT)

      (1)

      2)單位時間平均字節(jié)數(shù)(ABPT)

      (2)

      3)對流所占的比例(PCPF)

      PCPF=

      (3)

      其中,flow_numsT表示在時間周期T內(nèi)采集的流數(shù)量,T表示采集周期,nums_single_flows表示每個周期T內(nèi)采集到的流中單流的數(shù)量,nums_pair_flows表示每個周期T內(nèi)采集到的流中雙流的數(shù)量。

      4)單位時間單流數(shù)目(SFPS)

      (4)

      5)流平均持續(xù)時間(ADPF)

      (5)

      其中,durationsi表示每條流表的持續(xù)時間。

      6)端口增長率(GRDP)

      (6)

      其中,nums_different_port表示每個周期T內(nèi)采集到的流表中不同端口號的流數(shù)量。

      上述6個指標中,指標1與指標2從流量的體積特征來判斷流量是否異常,指標3與指標4利用DDoS流量的不對稱特性來評估流量,指標5與指標6分別顯示了DDoS流量的短時多流以及偽造端口的特點。

      1.1.2 數(shù)據(jù)平面輕量級算法描述

      在監(jiān)控線程中,本文提出一種輕量級算法,該算法可用于捕獲上述6個指標的變化,從而對異常流量進行檢測。該算法利用一段時間流量的6個指標值來估計預測值,如果下一個周期的6個指標實際值都落入預測范圍內(nèi),則表示當前流正常,否則,預測值與觀測值之間的偏差代表了網(wǎng)絡(luò)行為的變化;如果6個指標觀測值都超出了可接受范圍,則將其確定為DDoS攻擊造成的異常流量。

      (7)

      (8)

      (9)

      (10)

      1.2 控制平面的細粒度檢測

      控制平面接收到報警消息后,將異常流狀態(tài)存儲在數(shù)據(jù)庫中,觸發(fā)事件通知基于控制器的DDoS機器學習細粒度檢測模塊,對特定的異常流進行深度檢測。在系統(tǒng)中,如果接收到警報消息,控制器將向特定的交換機發(fā)出標準的OFPT_FLOW_MOD消息(從OpenFlow協(xié)議1.0開始定義)。該消息可以指示OpenFlow交換機從特定的異常流中緩沖數(shù)據(jù)包,將其發(fā)送到控制器并存儲在數(shù)據(jù)庫中進行細粒度分析。在控制平面,利用K-means聚類算法結(jié)合提取的相關(guān)特征進行細粒度檢測,該方法的流程如圖4所示,其中,虛線表示訓練過程,實線表示檢測過程。

      圖4 控制平面細粒度檢測流程Fig.4 Procedure of fine-grained detection of control plane

      1.2.1 特征提取

      實驗可以從數(shù)據(jù)平面發(fā)送的數(shù)據(jù)包中提取各種特征,并用于聚類算法。由于DDoS流量最顯著的特征是發(fā)出大量偽造源IP和端口的數(shù)據(jù)包,五元組包含了多數(shù)DDoS特征信息,因此需要提取每個數(shù)據(jù)包的五元組信息。由于熵能夠很好地表示不確定度,基于DDoS攻擊隨機偽造源IP和端口的特點,對這些字段分別計算熵并作為輸入的特征值。根據(jù)相關(guān)工作,本文使用熵作為度量來幫助構(gòu)造特征,以檢測DDoS流量[19-20]。樣本熵可定義為:

      (11)

      其中,S為數(shù)據(jù)包的總數(shù),N為不同IP地址或端口的數(shù)目,其表示特定的指標(如某IP地址出現(xiàn)的次數(shù))。

      特征分布越集中,熵值越低。研究發(fā)現(xiàn),DDoS流量對五元組(目的地址、目的端口、源地址、包大小與流的持續(xù)時間)的熵值有較大影響[21],這是由DDoS特性決定的。同時,使用SYN/SYN+ACK來描述DDoS引起的半連接狀態(tài)。考慮到在高速網(wǎng)絡(luò)中難以記錄所有數(shù)據(jù)包大小,本文重新定義了如表1所示的數(shù)據(jù)包大小級別。

      表1 數(shù)據(jù)包大小級別定義Table 1 Definition of packet size level

      由于正常的突發(fā)大流量也會改變分組大小的熵,因此對分組大小熵進行如下改進,以區(qū)別于DDoS業(yè)務,具體如式(12)所示:

      (12)

      其中,imax是數(shù)據(jù)包的大小以及級別,且多數(shù)數(shù)據(jù)包都包含在這些級別里面。值得注意的是,指標1~指標6代表了DDoS的基本特征。包頭信息和特征的對應關(guān)系如表2所示,雖然實驗數(shù)據(jù)集只包含DDoS種類的一部分,但是本文方法仍可以用于檢測各種類型的DDoS攻擊。

      表2 包頭信息和特征對應關(guān)系Table 2 Correspondence between Baotou information and features

      1.2.2 機器學習算法K-means分類及檢測

      在訓練過程中,采用聚類方法對流量進行建模,并確定檢測閾值。需要說明的是,所有的訓練數(shù)據(jù)均只包含正常流量。本文使用機器學習算法K-means來滿足實時檢測的要求,因為該算法比其他機器學習分類算法快。使用歐氏距離來量化2個熵向量的相似性。此外,基于簇半徑的加權(quán)平均值[21],本文方法能夠找出最好分類的簇數(shù)k。使用上述特征組成的特征矩陣作為K-means算法的輸入,輸入處的m個節(jié)點表示具有m個特征的記錄,如X={x1,x2,…,xm}。聚類完成后需要濾去噪聲,而濾去噪聲的方法是剔除稀疏的簇,并根據(jù)統(tǒng)計中常用的規(guī)則,即如果訓練數(shù)據(jù)總共有n個點,則剔除那些不足0.05n個點的簇,且對于每個簇,實驗均記錄檢驗數(shù)據(jù)的中心C和半徑r,C由所有點的平均值決定,r由C與集群中任意點之間距離的最大值決定。

      控制平面上DDoS攻擊的細粒度檢測的具體步驟為:

      步驟1對于在單位時間內(nèi)檢測到的可疑流量,計算其熵值,得到預處理模塊中的熵向量X。

      步驟2計算熵向量X與所有簇中心Ci之間的歐式距離,并將結(jié)果記錄為di。

      步驟3選擇最小距離dt=min{di},并將樣本熵向量X分配給相應的簇。

      步驟4對dt和聚類半徑rt進行比較,若dt

      1.3 防誤判模塊

      根據(jù)數(shù)據(jù)平面的粗過濾檢測,以及控制平面聚類方法的細粒度檢測,可以極大地提高系統(tǒng)的檢測準確度并減少系統(tǒng)總開銷。但是由于細粒度檢驗方法都是基于多條流的,即當正常流量混雜在DDoS流量中時,實驗很難將其挑選出來,檢測結(jié)果只是對一個時間段內(nèi)的流量是否包含DDoS攻擊進行判斷。因此,利用聚類算法得出檢測結(jié)果后,本文創(chuàng)新性地加入防誤判模塊,這樣可以將混在DDoS流中的正常業(yè)務流挑選出來,并加入白名單。需要特別說明的是,本文的防誤判模塊是基于概率統(tǒng)計提出的,且數(shù)據(jù)流量越大,其效果越好。防誤判機制示意圖如圖5所示。

      從圖5可知,防誤判模塊的原理為:DDoS具有偽造源IP的特性,且這些偽造源IP是隨機的,且在一個很短的時間段Δt內(nèi),具有相同源IP地址的流不會有間隔地出現(xiàn)2次,或者說這種概率是極小的,完全可以忽略不計。然而當流量包含正常業(yè)務流時,這種在短時間內(nèi)相同源IP地址的業(yè)務流短時間內(nèi)出現(xiàn)2次甚至多次均是正常的。此時,認為該源IP的流量是正常業(yè)務流量,而非DDoS攻擊流量,保存該源IP并將其加入白名單,從而達到防誤判的效果。需要說明的是,相同源IP的流指的是有間隔的2條流,而不是連續(xù)的數(shù)據(jù)包或者數(shù)據(jù)分組,且該模塊的添加,使得傳統(tǒng)的定性檢測變?yōu)榫_到每條流的定量檢測,為更加精確地控制防御策略的下發(fā)以及黑白名單更新提供了保障,且進一步提升了系統(tǒng)的檢測準確度。

      2 實驗評估

      2.1 實驗環(huán)境設(shè)置

      本文采用的網(wǎng)絡(luò)實驗平臺由校園網(wǎng)絡(luò)中心的3個OpenFlow交換機組成,實驗平臺結(jié)構(gòu)如圖6所示。從圖6可以看出,客戶機和攻擊主機連接在交換機S1上,服務器連接在交換機S3上。3臺交換機與控制器相連,同時源端交換機S1上連接著收集模塊。計算服務器配備英特爾e5-2620v3 CPU、64 GB內(nèi)存和GeForce GTX titan x。操作系統(tǒng)的版本為ubuntu16.04,SDN控制器為onos1.13。

      圖6 實驗平臺結(jié)構(gòu)Fig.6 Structure of experimental platform

      在收集實驗數(shù)據(jù)流時,將其分為正常數(shù)據(jù)流和DDoS攻擊數(shù)據(jù)流。DDoS攻擊流量是由攻擊工具Hping3產(chǎn)生的,設(shè)置random-source參數(shù)產(chǎn)生隨機性的源IP地址,設(shè)置flood參數(shù)進入泛洪攻擊模式。tcpreplay工具用于重放捕獲的數(shù)據(jù)包跟蹤文件,并將生成的流量注入特定的以太網(wǎng)端口。正常流量是通過tcpdump和鏡像端口,對實驗室局域網(wǎng)中的網(wǎng)管交換機流量進行收集。上文已經(jīng)提出訓練集只包括正常數(shù)據(jù)流,不包括DDoS攻擊流量,且訓練階段是為了確定聚類半徑的閾值。

      2.2 數(shù)據(jù)平面輕量級算法評估

      為了評估部署在數(shù)據(jù)平面的輕量級算法中6個特征的有效性。在圖6中,實驗使用Hping3在20 s內(nèi)發(fā)送從H2到H3的DDoS攻擊流量,同時H1到H3發(fā)送正常的背景流量。圖7描述了在DDoS攻擊發(fā)生時,本文方法中的6個度量指標的變化。從圖7可以看出,當時間小于9 s時,鏈路中只有正常的背景流量,因此各項指標都較穩(wěn)定;當時間為9 s且DDoS攻擊發(fā)生時,數(shù)據(jù)平面粗粒度檢測算法中的6個特征指標值發(fā)生突變;在DDoS攻擊被檢測到并采取防御策略后,各指標在一段時間后又恢復到正常水平,這說明在DDoS攻擊發(fā)生后,本文算法中的6個度量指標能夠捕獲異常流的變化特征,從而說明了該方法的有效性。

      圖7 DDoS攻擊前后數(shù)據(jù)平面中6種指標的變化情況Fig.7 Changes of six indicators in data plane before and after DDoS attack

      3 實驗結(jié)果與分析

      為了驗證本文方法在DDoS檢測中的各項評價指標,以及控制器CPU消耗、南向接口通信負荷等方面優(yōu)于現(xiàn)有方法,以基于熵的檢測方法與基于SVM的機器學習檢測方法作為對照組,并與本文算法進行對比實驗。

      3.1 系統(tǒng)評價指標

      利用準確度、精確度、召回率和F1值4個評價指標對本文方法與其他方法進行比較,結(jié)果如表2所示。

      表2 評價指標及其計算方法Table 2 Evaluation index and its calculation methods

      在圖6的實驗環(huán)境下,客戶機H1使用相同的背景流量,攻擊源H2使用相同的攻擊數(shù)據(jù)集對服務器H3進行攻擊,分別利用SVM方法、基于熵的方法以及本文方法3種方法進行檢測。表3是在多種攻擊強度下,分別利用3種方法得到的4種評價指標的平均值大小。從表3可以看出,本文方法的準確度優(yōu)于其他2種方法,這是因為跨平面的檢測方法經(jīng)過粗、細粒度2次檢測,所以相比基于控制平面的一次檢測方法有所提高。同時,本文方法的精確度和召回率相比于傳統(tǒng)方法也大幅提高,這是因為本文方法中添加了防誤判模塊,防止正常數(shù)據(jù)分組被誤判為DDoS流量,從而降低了假陽性概率。綜合而言,對比實驗結(jié)果體現(xiàn)了本文方法在各項評價指標上的優(yōu)越性。

      表3 3種方法的對比結(jié)果Table 3 Comparison results of three methods %

      3.2 控制器性能指標

      為了說明相較于僅基于控制器的方法,跨平面協(xié)作的方法在控制器中需要檢測的流數(shù)量減少,本文設(shè)計了以下實驗:獲取數(shù)據(jù)庫中的異常流狀態(tài)記錄,并計算在20 s內(nèi),在同樣的DDoS攻擊下,不同檢測方法中控制器需要監(jiān)控的異常流數(shù)目,結(jié)果如圖8所示。從圖8可以看出,在跨平面架構(gòu)下,經(jīng)過數(shù)據(jù)平面的粗粒度篩查,只有在數(shù)據(jù)平面告警的情況下才進行控制平面的細粒度檢測,因此控制器需要監(jiān)控的流數(shù)目相比其他僅基于控制器的方法大幅減少,這說明本文方法通過跨平面協(xié)作,有效減少了控制平面壓力。

      圖8 2種方法中控制器監(jiān)控的異常流條數(shù)比較Fig.8 Comparison of the number of abnormal flows to be monitored by the controller in the two methods

      3.3 南向接口通信負荷的比較

      在上述實驗基礎(chǔ)上,實驗記錄了在一個攻擊周期內(nèi),不同的檢測方法下南向接口通信量的變化,結(jié)果如圖9所示。從圖9可以看出,當時間小于9 s且攻擊還沒有發(fā)生時,基于控制器的SVM方法已經(jīng)開始輪詢,并將數(shù)據(jù)包發(fā)送給控制平面,因此南向接口負荷較高,然而,本文方法只在數(shù)據(jù)平面檢測到異常流時發(fā)送警告消息給控制器,并開始執(zhí)行控制平面檢測,此時南向接口通信量接近為0;當時間大于9 s時,隨著DDoS攻擊的開始以及流量的驟增,基于控制器的SVM方法的南向通信開銷也迅速增大。在本文方法下,當數(shù)據(jù)平面檢測粗粒度方法檢測到DDoS攻擊后,控制平面細粒度檢測開始,南向接口通信開銷也隨之增大。2種方法的南向接口高通信量均持續(xù)一段時間,本文方法在檢測結(jié)束后南向接口通信量恢復到大致為0,這得益于本文方法是基于事件觸發(fā)機制的主動push,在網(wǎng)絡(luò)中沒有異常流量時不會向控制面發(fā)送流量。

      圖9 2種方法的南向接口通信負荷比較Fig.9 Comparison of southbound interface communication overhead between two methods

      3.4 控制器CPU消耗

      本文以控制器的CPU利用率來評價控制平面計算資源的開銷。圖10顯示了在一個攻擊周期內(nèi),當攻擊到來之前,本文方法所消耗的CPU處于一個較低的水平,大約為10%,低于對比組的CPU消耗,這是由于本文方法將粗粒度流監(jiān)控機制卸載到數(shù)據(jù)平面上帶來了明顯優(yōu)勢,此時控制器主機僅進行常規(guī)運算。而基于SVM的控制平面檢測方法由于需要利用OpenFlow輪詢或者利用SFlow等方法進行采樣,因此CPU維持在40%左右。當攻擊流量來臨時,需要處理的數(shù)據(jù)包單位時間內(nèi)瞬間增多,分析引擎進入高負荷工作狀態(tài),2種方法的CPU均處于滿負荷運轉(zhuǎn);當檢測結(jié)束后,本文方法中的控制器CPU利用率恢復到10%左右,而基于控制器的SVM方法CPU降低到40%左右。

      圖10 2種方法的控制器CPU利用率比較Fig.10 Comparison of CPU utilization between two methods

      4 結(jié)束語

      基于SDN的跨平面協(xié)作DDoS攻擊檢測與防御框架,本文采用數(shù)據(jù)平面的粗粒度檢測和控制平面的細粒度檢測,對異常流執(zhí)行兩級粒度過濾過程,不僅大幅提高了檢測性能,而且克服了系統(tǒng)開銷和南向接口通信負荷方面的挑戰(zhàn)。此外,本文提出一種適用于數(shù)據(jù)平面的輕量級流量監(jiān)控算法,該算法利用OpenFlow交換機計數(shù)器在控制平面細粒度DDoS攻擊檢測之前對異常流進行粗過濾。實驗結(jié)果表明,相比原有的控制平面檢測方法,本文方法的性能得到了提高,并降低了南向接口通信量和控制器CPU利用率。同時,本文系統(tǒng)是一個端到端系統(tǒng),在檢測出DDoS流量后立刻執(zhí)行防御策略,并添加了黑白名單機制,對于大型網(wǎng)絡(luò)場景具有實用意義。后續(xù)將在最新的可編程交換機上,利用P4語言進一步提高本文系統(tǒng)的靈活性。

      猜你喜歡
      細粒度交換機數(shù)據(jù)包
      融合判別性與細粒度特征的抗遮擋紅外目標跟蹤算法
      細粒度的流計算執(zhí)行效率優(yōu)化方法
      SmartSniff
      修復損壞的交換機NOS
      基于雙線性卷積網(wǎng)絡(luò)的細粒度圖像定位
      使用鏈路聚合進行交換機互聯(lián)
      支持細粒度權(quán)限控制且可搜索的PHR云服務系統(tǒng)
      PoE交換機雷擊浪涌防護設(shè)計
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
      羅克韋爾自動化交換機Allen-Bradley ArmorStratix 5700
      自動化博覽(2014年9期)2014-02-28 22:33:16
      美姑县| 东辽县| 长葛市| 武陟县| 哈密市| 旅游| 乌兰县| 尼木县| 文登市| 丰顺县| 江孜县| 辽源市| 漳浦县| 防城港市| 且末县| 甘肃省| 连江县| 河东区| 阳江市| 拉萨市| 黄大仙区| 杭州市| 汾阳市| 满洲里市| 沙坪坝区| 高雄县| 马关县| 天气| 达孜县| 花垣县| 松阳县| 宁武县| 江津市| 德保县| 阿尔山市| 开江县| 和龙市| 朝阳区| 郯城县| 左云县| 南开区|