国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SDN環(huán)境下的DDoS檢測與緩解機制

2021-02-28 02:15:50王君楠
信息安全學報 2021年1期
關鍵詞:流表細粒度交換機

賈 錕 ,王君楠 ,劉 峰

1 中國科學院大學網(wǎng)絡空間安全學院 北京 中國 100093

2 中國科學院信息工程研究所 北京 中國 100093

1 引言

軟件定義網(wǎng)絡(Software-defined Network,SDN)是一種新型的網(wǎng)絡架構,旨在協(xié)助網(wǎng)絡運營商更好地管理基礎設施?;谶@個目標,SDN 構建了一個中心化的結構,賦予控制器全局視角,使其得以動態(tài)化地管理旗下所有交換機。通過軟件編程的形式,控制器可以快速定義和控制路由規(guī)則、設置網(wǎng)絡拓撲、安裝網(wǎng)絡應用等。鑒于其良好的可編程性和全局性,SDN 被廣泛應用于具有大量服務設施,需要統(tǒng)一配置管理的環(huán)境,如云端,醫(yī)院和學校。但是其中心化的架構在網(wǎng)絡攻擊面前又極其脆弱。一旦核心控制器被攻陷,整個SDN 網(wǎng)絡都會崩塌[1]。針對這種架構最常見的攻擊手段就是分布式拒絕服務攻擊(Distributed Denial of Service,DDoS)。

傳統(tǒng)DDoS 一般由攻擊者控制的僵尸網(wǎng)絡發(fā)起。大量受控終端,通過向指定受害者發(fā)送泛洪式地應用請求,消耗目標的帶寬和計算資源,迫使目標服務器停止正常的應用服務。如果目標位于SDN 架構,帶寬耗盡時,同鏈路的其他服務器也會受到影響。

除了傳統(tǒng)的 DDoS,研究人員也發(fā)現(xiàn)了針對SDN 本身的新型DDoS 攻擊手法,如針對控制器中心架構的Packet-In 泛洪攻擊[2],針對交換機的流表溢出攻擊[2],針對流表計時器的慢速DoS 攻擊[3]及針對南向通道的CrossPath 攻擊[4]等。

為了緩解這些問題,研究人員提出了大量方案,包括基于異常檢測的方案[5-9],基于架構革新的方案[10-11]和基于負載均衡的方案[12-13]等。SDN 獨有的可編程特性和全局視角使得這些方案能夠快速地實現(xiàn)和應用。

SDN 環(huán)境下的DDoS 檢測方案關鍵要點在于能否保障輕量化和實時性。因為SDN 本質(zhì)上是通過建立一個中心架構來實現(xiàn)控制層與數(shù)據(jù)層的分離,所以它的控制層需要承接旗下所有交換機的通信任務。如果檢測機制不能做到輕量化,就會占據(jù)太多寶貴的計算資源;而實時性是DDoS 防御的基本要求?,F(xiàn)在很多主流的攻擊方式都采用間歇式爆發(fā)攻擊策略,即短時間快速發(fā)起打擊,在癱瘓目標網(wǎng)絡之后迅速停止。如果不能做到實時檢測,防御機制就無法從根本上阻止DDoS 的破壞。

調(diào)研發(fā)現(xiàn),現(xiàn)行的DDoS 檢測方案大都著眼于某些特定的攻擊手段,無法在多種DDoS 攻擊場景下保持自身的輕量化與實時性;此外,研究人員常忽略了在正常工作狀態(tài)時或者檢測告警前降低SDN 工作負荷的重要性,導致SDN 極可能在檢測響應之前就被癱瘓。為改善以上問題,本文提出了兼顧輕量化與實時性,適用于廣泛場景的快速檢測方案。

本文的主要貢獻包括以下三點:

1) 提出了輕量化的SDDetector 檢測方案。該方案完全基于SDN 自身的API 實現(xiàn)攻擊檢測,不依賴任何外部的輔助工具;其輕量化不僅體現(xiàn)在攻擊發(fā)生時檢測響應的及時性,還體現(xiàn)在無攻擊時對SDN控制器的減負效果。

2) 創(chuàng)新性地提出在不同狀態(tài)下采用不同粒度的路由規(guī)則。具體來說,在沒有攻擊警報時,執(zhí)行的是粗粒度的路由規(guī)則;在攻擊警報發(fā)送到控制器時,執(zhí)行細粒度的路由規(guī)則。這種設定能夠過濾掉大量的重復流量和合法流量,從而極大地減輕控制器的負載,提升方案的反應速度。

3) 顯著提高多種攻擊場景下的檢測效率。SDDetector 以近似并行的方式運行Packet-In 的檢測手段和基于流表統(tǒng)計信息的檢測手段,依據(jù)特征提取速度最快的算法來完成攻擊檢測。實驗表明,在采用源IP 偽造技術的DDoS 攻擊場景下,SDDetector能夠比參照的單一SVM 檢測機制少用75%的反應時間。

文章結構安排如下:第二章簡要闡述SDN 的背景信息,并介紹了當前的研究現(xiàn)狀;第三章詳細介紹了SDDetector 的設計細節(jié)以及工作流程;第四章分別進行了熵檢測方案、SVM 檢測方案、特征有效性檢驗的相關實驗,最后在實戰(zhàn)場景下進行了模型的工作場景再現(xiàn);第五章總結SDDetector 在多場景下提高檢測效率的方式,提出仍面臨的部分問題,并在最后說明方案未來的改進方向。

2 背景與相關工作

本章簡單介紹軟件定義網(wǎng)絡和OpenFlow協(xié)議的基礎概念,并對現(xiàn)有的研究工作做一個總結。

2.1 軟件定義網(wǎng)絡與OpenFlow

SDN 是一種顛覆傳統(tǒng)網(wǎng)絡基礎架構的新型框架。由美國斯坦福大學clean-slate 研究組率先提出,以中心化代替分布式,軟件代替硬件。通過從各設備中剝離出數(shù)據(jù)層和控制層,并整合控制層功能于高層級的控制器,將傳統(tǒng)的分布式拓撲變成集中管理的層級結構。并在控制層引入可編程的特性,以簡化網(wǎng)絡配置等操作,實現(xiàn)了定義路由規(guī)則,改變網(wǎng)絡拓撲等功能的程序化,打破了傳統(tǒng)架構的封閉性和僵硬性。

OpenFlow 是一種實現(xiàn)SDN 框架的具體協(xié)議,或者準確來說,它構建了數(shù)據(jù)層的基本運行規(guī)則,以及數(shù)據(jù)層與控制層的通信模式。OpenFlow 通過在交換機中引入流表的概念,實現(xiàn)傳統(tǒng)的路由功能。在流表與端口配置統(tǒng)計功能,并授予控制器請求訪問的特權,使控制器獲得全局視野。關于該協(xié)議的具體信息可參考OpenFlow Specification[14]。

2.2 相關工作

SDN 大量應用在云環(huán)境和醫(yī)療環(huán)境等基礎核心產(chǎn)業(yè)平臺中,因而針對SDN 的DDoS 容易連帶地干擾寄生在平臺上的大量服務,造成重大網(wǎng)絡安全事故。為了預防這個問題,學術界提出了大量的檢測防御方案。根據(jù)檢測的方法可以分為基于統(tǒng)計的檢測方案和基于機器學習的檢測方案[15]。

基于統(tǒng)計的檢測方案:通過提取統(tǒng)計特征對DDoS 攻擊進行區(qū)分的方案。通常會設定一個閾值,超過閾值的流量則會判斷為DDoS.Rui Wang 等人[5]提出了一個基于熵的檢測方法,通過在交換機端部署一個數(shù)據(jù)收集器,并根據(jù)目的IP 的地址計算流的熵值。但是這個方案依賴于五元組(源IP, 目的IP,源端口,目的端口,協(xié)議)定義的流,這種檢測方案快速且高效,但它需要單獨部署一個額外的收集器,因為OpenFlow自帶的流表可能不會指定具體的某個元素,如目的IP,這種情況檢測方案就失效了。Mousavi 等[16]選擇了一個相似的算法,但他是每50個數(shù)據(jù)包計算一次熵值。這種方法在真實環(huán)境中的應用效果不是很好,因為正常數(shù)據(jù)包的流量也很大時,往往會導致誤判。Shariq[17]等人對每個數(shù)據(jù)包進行評分,評分原則基于源IP 是否在流表中,是否存在成功的TCP 連接過,協(xié)議類型,數(shù)據(jù)通信的速率。并采用動態(tài)自適應的閾值算法判定攻擊是否發(fā)生。Xiang You 等[9]選擇Packet-In 信息作為攻擊的信號。我們前面提到了當交換機遇到無法匹配的數(shù)據(jù)包時,會觸發(fā)Table-Miss選項,從而向控制器發(fā)送Packet-In信息。在攻擊發(fā)生時,因為隨機源IP 的技術,這種Table-Miss 情況會激增,從而導致大量Packet-In 消息。但是真實環(huán)境中,控制器極易在尚未來得及反應時就被瞬發(fā)的超大流量攻陷,因為這些Packet-In 信息都會通過南向接口發(fā)送到控制器。此外,采用真實源IP 的HTTP 泛洪攻擊、SSL 泛洪攻擊,因為不會激活大量Packet-In 信息,檢測器就難以觸發(fā)告警。

基于機器學習的檢測方案:通過提取流經(jīng)交換機的流量特征,并用機器學習方法進行惡意流量識別。在這之中,SOM 方法、SVM 方法和神經(jīng)網(wǎng)絡被使用得最為廣泛。Braga 等[18]應用了一個輕量級的SOM 方法,在一個設定的時間窗口提取流量規(guī)則的六維特征,包括流量規(guī)則下的平均數(shù)據(jù)包數(shù),平均持續(xù)時間等,然后用SOM 方法判斷攻擊是否發(fā)生。Jin Ye 等[7]通過Onp_Flow_Stats 信息收集流表的統(tǒng)計信息,并基于此提取源IP 的增長速度,源端口的增長速度,數(shù)據(jù)包數(shù)量的標準差,數(shù)據(jù)包字節(jié)量的標準差,配對流的比例等特征,最后用SVM 算法作為分類依據(jù)。但是特征配對流的比例在面對通配符時無法得到準備的 計算結果,影響了這個方法的普適性;如果為了解決這個問題又必須明確指定五元組的信息,又容易導致Table-Miss 的情況。類似的,Mehr[19]等人也采用了SVM作為他們的分類算法,但是他們生成的攻擊流量僅僅每秒有25 個數(shù)據(jù)包。這可以在簡單的實驗環(huán)境下得到正確的檢測,但在實際環(huán)境中,結果的可信度仍值得檢驗。

基于統(tǒng)計的檢測方案和基于機器學習的檢測方案都繞不開對OpenFlow 環(huán)境下流量特征的提取。主流的特征提取方式分為,基于南向通道的Packet-In特征提取和基于流表統(tǒng)計信息的特征提取。

基于Packet-In 特征提取的方案:交換機觸發(fā)Table-Miss 選項后,會發(fā)送Packet-In 信息到控制器端。常見的SYN Flood、UDP Flood、ACK Flood 為了保護受控端,往往采用源IP 偽造的技術,因而會觸發(fā)大量的Packet-In,基于此可以提取相應的異常特征。Da Yin[8]、Xiang You[9]、Niyaz[20]等人的工作都采用的這種機制。此外針對SDN 的Packet-In 和流表溢出攻擊也有比較好的效果,因為他們本質(zhì)上都需要隨機生成匹配域,從而觸發(fā)Packet-In。在以上攻擊場景下,如果采用基于流表統(tǒng)計信息的方案,響應時間會因為南向帶寬的堵塞以及交換機流表溢出而大幅增加。

基于流表統(tǒng)計信息特征提取的方案:在面對HTTP 泛洪攻擊和不采用隨機化匹配域中元素的DDoS 攻擊表現(xiàn)卓越。因為他們能快速獲取到流表特征,并能提取到更接近真實攻擊流量的特征,如Rodrigo Braga[18],Jin Ye[7]等人的工作。但是在MiniNet 仿真環(huán)境下實踐發(fā)現(xiàn),流表中流規(guī)則數(shù)目過高時,會極大地增加流表統(tǒng)計信息獲取的耗時。所以,在面對Packet-In 泛洪和流表溢出等新型攻擊手段時,這種檢測效率會大大降低。

表1 SDN 環(huán)境下的DDoS 檢測研究匯總Table 1 Research of DDoS in SDN 類型

研究發(fā)現(xiàn),現(xiàn)有的檢測方案往往存在以下問題:

1) 基于Packet-In 特征提取的方案和基于流表統(tǒng)計信息進行特征提取的方案都不能很好地適用于廣泛的攻擊場景。

2) 研究大多針對于提高檢測準確率而忽略了快速響應的需求,尤其是在面對不同的攻擊場景時,系統(tǒng)的響應時間往往出入很大。

3) 研究均假定流規(guī)則是以細粒度五元組(源IP、目的IP、源端口、目的端口、協(xié)議)的形式呈現(xiàn),而實際環(huán)境中,調(diào)整流規(guī)則的匹配域本應該是SDN 的常態(tài)。

4) 有些方案實際上是從傳統(tǒng)DDoS 檢測方式轉(zhuǎn)移過來,沒有很好地利用SDN 自身的全局特性。配置傳統(tǒng)的檢測方案通常又需要額外部署數(shù)據(jù)采集器,使方案變得異常復雜還增加了額外的開銷。

5) 現(xiàn)有的研究方案大都著眼于在攻擊發(fā)生時進行預警,從而針對性地遏止攻擊流量以實現(xiàn)控制器的減負效果;忽略了正常工作狀態(tài)時對控制器的降負。

為了盡可能在廣泛的攻擊場景仍能實現(xiàn)快速檢測響應,并在正常工作狀態(tài)時對控制器進行降負,本文提出了融合基于Packet-In 和基于流表統(tǒng)計的檢測方案。方案重點考慮了如何在多種攻擊手段下實現(xiàn)快速響應的能力,為此,我們以近似并行的機制運行兩種檢測方案,以響應速度最快的方式來判定攻擊。推翻五元組的匹配域設定,改為在不同場景下應用不同粒度的匹配域,以盡可能降低交換機與控制器的運行負擔。此外,本文還利用了控制器的全局視野,定位攻擊源,并針對性地部署流規(guī)則以防御DDoS。

3 方案設計

圍繞SDN 環(huán)境下的DDoS 檢測與緩解需求,本文設計了面向多攻擊場景的并行檢測框架SDDetector。

SDDetector 核心功能均部署在OpenFlow 架構的控制器端。

SDN 的中心化架構賦予控制器遙控中樞的職能,在保障交換機正常路由功能的條件下,可以多樣化定制其他的需求。開源的控制器API 又給了開發(fā)者一個很好的平臺,可以快速且不干擾SDN 基礎功能的情況下部署安全應用。

SDDetector 核心功能由五個模塊組成,分別是數(shù)據(jù)監(jiān)測模塊、流規(guī)則模塊、閾值警報模塊、熵檢測模塊和SVM 檢測模塊。方案整體的工作流程如下:

1) 數(shù)據(jù)監(jiān)測模塊部署在控制器端,設定固定的時間間隔發(fā)起Onp_Flow_Stats 請求,獲取交換機端的統(tǒng)計信息。

2) 閾值警報模塊判定是否激發(fā)細粒度的流規(guī)則。其判定的依據(jù)為正向和反向數(shù)據(jù)包數(shù)量的比例,數(shù)據(jù)包的速率以及基于MAC 地址的熵值。如果超出閾值,該模塊會嘗試定位可疑受害者的MAC 和可疑攻擊者的MAC。

3) 流規(guī)則模塊負責下發(fā)針對性的流規(guī)則。有兩種情況控制器會發(fā)送不同的流則。第一種情況,閾值警報模塊觸發(fā),流規(guī)則模塊刪除初始的粗粒度流規(guī)則,改成細粒度的流規(guī)則。粗粒度的流規(guī)則指,只有交換機的輸入端口、目的MAC 地址為具體的值,其他匹配域均為通配符ANY;細粒度的流規(guī)則指,除了上面兩個元素以外,還有源IP 和目的IP,以及傳輸層協(xié)議為具體值。第二種情況,在進一步檢測模塊確認DDoS 攻擊發(fā)生后,流規(guī)則模塊將相應的數(shù)據(jù)流導流至流量過濾中心或簡單的丟棄該流量。

4) 熵檢測模塊負責對發(fā)送到控制器的Packet-In消息進行相應的攻擊檢測。主要適用于流表溢出攻擊和Packet-In 泛洪攻擊等隨機化源IP 的場景。

5) SVM 檢測模塊負責對可疑流量進行更多維的檢測,其依賴的特征來源于控制器對細粒度流表統(tǒng)計的請求。只處理針對可疑者受害者的流量,以減少系統(tǒng)的工作量。

OpenFlow 交換機以流表(Flow Table)的方式實現(xiàn)傳統(tǒng)交換機的路由功能。流表在SDN 架構中類似于現(xiàn)今傳統(tǒng)網(wǎng)絡路由器中的路由表,由很多條流規(guī)則(Flow Entry)組成。一條流規(guī)則定義一組路由指令,包括了匹配域、優(yōu)先級、處理指令和統(tǒng)計數(shù)據(jù)等字段。當一個數(shù)據(jù)包流經(jīng)交換機時,交換機根據(jù)匹配域?qū)ふ以摂?shù)據(jù)包對應的流規(guī)則,如果有多個匹配的規(guī)則,則選擇最高優(yōu)先級的,隨后根據(jù)該流規(guī)則的指令對數(shù)據(jù)包進行處理。

流規(guī)則的匹配域包含以下元素:

表2 流規(guī)則匹配域Table 2 Match Fields of Flow Entry

匹配域中的元素可以是具體的某個值,也可以是ANY 通配符,也就是可以根據(jù)需要定義一個寬泛的匹配域。如果數(shù)據(jù)包找到了匹配的流規(guī)則,那么它根據(jù)定義的指令進行相應處理;如果沒有匹配的規(guī)則,則會觸發(fā)一個Table-Miss 選項。這個選項會將該數(shù)據(jù)包的信息以Packet-In 模式轉(zhuǎn)發(fā)給控制層??刂茖釉俑鶕?jù)需要進行適當?shù)奶幚?一般是添加匹配該數(shù)據(jù)包的流規(guī)則。

SDDetector 在初始階段應用了一個粗粒度的路由規(guī)則,即匹配域中只指定In_Port 字段和目的MAC字段,分別代表從交換機的進入端口和流量的目標MAC 地址。當一個無法匹配的數(shù)據(jù)包到達SDN 交換機時,相應的Packet-In 信息會發(fā)送到控制器。如果我們初始就定義一個細粒度的流表規(guī)則的話,就可能導致大量不同源IP,不同端口信息的數(shù)據(jù)包觸發(fā)Tale-Miss 選項,從而淹沒交換機流表和控制器。粗粒度場景下的工作流程如圖4 所示。

3.1 第一階段統(tǒng)計信息請求

SDN 的端口和流表都配置了相應的統(tǒng)計功能。端口計數(shù)器負責統(tǒng)計流經(jīng)該端口的數(shù)據(jù)包數(shù)量以及字節(jié)數(shù)。流表計數(shù)器記錄匹配數(shù)據(jù)包的數(shù)量和字節(jié)信息之外,還需要記錄流規(guī)則存活的時間。每一條流規(guī)則都設定了一個硬性存活時間和一個軟性存活時間。在軟性存活時間內(nèi)如果沒有接收到匹配數(shù)據(jù)包時,該流量規(guī)則就會自動清除;而硬性存活時間截止時,無論期間是否有匹配,都會強制清除該規(guī)則。

控制器通過Onp_Flow_Stats 指令獲取SDN 網(wǎng)絡的全局視野。當交換機收到這個指令后,會將所有的統(tǒng)計信息上傳到控制器,許多安全功能、限流功能都基于此。

統(tǒng)計信息請求最重要的兩個問題分別是,訪問請求的時間間隔,信息獲取之后的特征提取。

訪問請求的時間間隔:數(shù)據(jù)監(jiān)測模塊基于預定義的時間間隔周期性地發(fā)起流表統(tǒng)計數(shù)據(jù)請求。預定義的時間間隔對于模型的運行效率具有非常大的影響。過長的時間間隔容易導致對攻擊的響應過慢,從而無法真正抵御突發(fā)性的DDoS 攻擊;而過短的時間間隔容易加重控制器和交換機的負擔。我們經(jīng)過多番實驗以及參考Braga[18]等人的工作,選擇了與之相同的設計,以3s 作為預設的時間間隔。

特征提取:Dayal[23]等人在一次DDoS 仿真實驗中展示了他們總結的多個異常特征??梢钥吹匠R姷腄DoS 攻擊,如Smurf,UDP flood,HTTP flood 和SYN flood 都暴露出了基于目的IP 的熵值異常。所以,相似的針對局域網(wǎng)內(nèi)部的MAC 地址,也有這樣的異常特征??紤]到SDN 通常應用于無限網(wǎng)絡,移動網(wǎng)絡,企業(yè)網(wǎng)絡和校園網(wǎng)絡,這樣的局域網(wǎng)假設是符合現(xiàn)實情況的。

DDoS 通常應用隨機源IP、隨機目的端口的技術以躲避溯源追蹤,因而DDoS 流量通常只有很少的交互信息。我們收集的一個真實環(huán)境DDoS 流量顯示僅僅有3%~4%的下行流量,也就是服務器到眾多攻擊源的流量只占據(jù)總流量的極少數(shù),但是在一個正常的流量集中,下行流量占到了 45%~50%,所以我們也監(jiān)測在交換機端的上下行數(shù)據(jù)包數(shù)量的比率。本文用tx 數(shù)量數(shù)據(jù)包表示從交換機視角發(fā)送的數(shù)據(jù)包,用rx 表示從交換機視角接收的數(shù)據(jù)包數(shù)量。

此外流經(jīng)交換機的數(shù)據(jù)包速度是反映大流量異常的最直接特征。

以上三個特征目的MAC 的熵、上下行流量的比率、數(shù)據(jù)包速度作為本文閾值檢測模塊的基本判斷依據(jù)。值得一提的是,以上三個特征均可以用來定位可疑攻擊源和可疑攻擊目標,后文提及的針對性流規(guī)則部署即依賴于此。

OpenFlow 協(xié)議的Onp_Flow_Stats 指令可以向控制器旗下的所有交換機請求端口、流表統(tǒng)計信息。

端口統(tǒng)計信息典型范例:

port"s3-eth1":rx pkts=143,bytes=11952,drop=0,errs=0,frame=0,over=0,crc=0;tx pkts=116,bytes=9844,drop=0,errs=0,coll=0

流表統(tǒng)計信息典型范例:

cookie=0x0,duration=101.711s,table=0,n_packets=39,n_bytes=2982,priority=1,in_port="s3-eth1",dl_dst=00:00:00:00:00:06,actions=output:"s3-eth3"

得到端口統(tǒng)計的數(shù)據(jù)與流表統(tǒng)計的數(shù)據(jù)之后,根據(jù)下面的公式即可得到目的MAC 的熵、上下行流量比率、與數(shù)據(jù)包速度。

3.2 閾值警報

在提取了目的IP 的熵,上下行流量的比率以及數(shù)據(jù)包頻率三個特征之后,我們對攻擊威脅作一個初步判斷。如果之中有一個特征超過了預設的閾值,就會觸發(fā)閾值警報。我們選取的閾值基于真實環(huán)境中DDoS 的流量信息和在MiniNet 環(huán)境下模擬的DDoS 流量信息得到。我們依據(jù)異常的統(tǒng)計信息,建立了一個簡單的攻擊定位和溯源機制。一旦后續(xù)我們的深度檢測模塊判定DDoS 事件發(fā)生,攻擊源就可以確定。

3.3 修改路由規(guī)則

當閾值警報發(fā)出時,流規(guī)則模塊會立馬生成相應的細粒度路由規(guī)則替換原先的粗粒度規(guī)則。具體來說,控制器首先會指示交換機刪除老的(攻擊源端口,攻擊目標MAC,action=output)的流規(guī)則。這樣下一個指向受害者的流量會觸發(fā)Table-Miss選項并被發(fā)送到控制器。然后控制器會針對地定義一個新的流規(guī)則(源IP,協(xié)議,目的IP,目的MAC,action=output)。這里同樣為了避免Packet-In 泛洪,和Dayal 等[23]相比,細粒度的流規(guī)則并不考慮加入TCP 或者UDP 的端口信息,且只有針對受害者IP的流量才會適用于新的路由規(guī)則,這個措施可以大大地減少controller 的負擔。在用戶眾多、服務器眾多的云環(huán)境和校園網(wǎng)環(huán)境下,這種“降負”效果更明顯。

3.4 第二階段統(tǒng)計信息請求

這一次的統(tǒng)計信息依賴于 SDN 自帶的Table-Miss 功能和流表計數(shù)器。前者會在新流到來后發(fā)送Packet-In 信息到控制器,后者同第一階段基本相同,也是通過發(fā)送Onp_Flow_Stats 指令進行請求,只不過這次只提取細粒度流表的特征與端口特征,且特征的定義也不一樣。詳細描述如下。

1) 流規(guī)則的數(shù)量:每一個不同IP 的數(shù)據(jù)包都會請求新的流規(guī)則,所以我們可以發(fā)現(xiàn)在一次DDoS攻擊中,流規(guī)則的數(shù)量大幅上升,我們用字符n代表流規(guī)則的數(shù)量。

2) 流規(guī)則下的數(shù)據(jù)包平均數(shù)量:OpenFlow 交換機會自動統(tǒng)計匹配該流規(guī)則的數(shù)據(jù)包數(shù)量。攻擊者通常會生成隨機的源IP 地址以防防御方追蹤溯源。這個方法被廣泛應用于SYN 泛洪攻擊、UDP 泛洪攻擊和ACK 泛洪攻擊。所以當匹配域擴展到包括源IP時,流規(guī)則下的平均數(shù)據(jù)包數(shù)量會急劇下降。與之相對的,如果攻擊者不采用這種源IP 偽造技術,那么流規(guī)則下的平均數(shù)據(jù)包數(shù)量又會大幅上升。

3) 流規(guī)則數(shù)據(jù)包數(shù)量的熵值:我們以一個細粒度的視角去定義熵值,而且我們只針對流向目標IP的流量,也就是我們統(tǒng)計符合目標IP 為受害者的流規(guī)則的離散度。

4) 目的IP 的熵:攻擊發(fā)生時,流量往往集中在受害者,而目標為其他服務器的數(shù)據(jù)包占比會較小,這就導致了目的IP 熵值的異常。

5) 上下行流量的比率:當海量的流量涌向受害者,受害者通常不能正常地進行反饋回應。此外,如果目標端口不在服務端口中,那么服務器不會響應RST 數(shù)據(jù)。這些因素都導致了DDoS 期間的上下行流量的比率異常。上下行流量都是從交換機的視角去定義,也就是從交換機到終端的流量為上行流量,從終端到交換機的流量為下行流量,所以實際上在發(fā)生DDoS 攻擊時靠近攻擊源的端口,這個比率會低于1。

3.5 熵檢測

與上面流表統(tǒng)計特征獲取同步進行的是熵檢測。熵檢測模塊部署在控制器端,在第一階段的閾值告警之后就會自動觸發(fā),開始收集經(jīng)由控制器的Packet-In 統(tǒng)計特征。因為我們的設計同時采用了基于Packet-In 的檢測方案和基于流表統(tǒng)計信息的檢測方案,我們希望盡可能突出兩種檢測方案的各自優(yōu)勢,減少兩種檢測方案的重復部分,因此此處我們只針對采用隨機源IP 技術的攻擊手段,如Packet-In泛洪攻擊和流表溢出攻擊。并針對性地只選擇了兩個特征,即源IP 的熵和目的IP 的熵。Xiang You 等[9]的方案選擇了包括源IP 的熵、目的IP 的熵和目的端口的熵。并以1000 個數(shù)據(jù)包作為窗口,進行相應的熵值計算。本文的細粒度規(guī)則不涉及傳輸層端口,所以端口的熵值對于模型檢測意義不大。

熵是反映數(shù)據(jù)分布離散度的指標,熵值比較高說明分布的集中度比較低,也就是更加離散;熵值比較低說明分布比較集中。極端情況,如分布在0點的概率為1,那么該分布的熵為0。熵的數(shù)學定義如下:

根據(jù)Xiang You 等[9]的論述,數(shù)據(jù)包的熵近似滿足正態(tài)分布。正態(tài)分布具有高度對稱性和集中性,絕大多數(shù)數(shù)據(jù)分布集中在均值附近。以明確的概率方式闡述即:

——以68.2%的概率分布在均值附近一個標準差的范圍內(nèi);

——以95.4%的概率分布在均值附近兩個標準差的范圍內(nèi);

——以99.7%的概率分布在均值附近三個標準差的范圍內(nèi)。

本文選擇兩個標準差作為異常判定的標準,因為隨機源IP 的攻擊策略會導致源IP 熵值急劇增大,而針對性的泛洪攻擊又會導致目的IP 熵值急劇減小,所以實際上我們只選擇單一方向作為異常判定的標準,即:

同時滿足這兩個條件時,認為發(fā)生了Packet-In泛洪攻擊。

3.6 SVM 檢測

基于Packet-In 的熵檢測方案也有它的劣勢,其一是只有在拿到1000 個Packet-In 數(shù)據(jù)包之后檢測才能進行,但是在交互式的DDoS 或者無源IP 偽造的攻擊場景下,如HTTP DDoS、HTTPS DDoS,交換機并不一定能很快觸發(fā)足夠的Packet-In 消息。此外Packet-In 消息只反映新流的報文信息,也就是說已經(jīng)有相應匹配流規(guī)則的數(shù)據(jù)包,是無法通過Packet-In 進行統(tǒng)計特征的提取的,而數(shù)據(jù)包的數(shù)量,流規(guī)則存活時間,流規(guī)則的數(shù)目等又是反映DDoS的關鍵特征。因而單純依賴Packet-In 的熵很可能不能準確反映實際攻擊的某些特征。

為了應對上面提到的交互式DDoS 和無源IP 偽造的攻擊手段,同時選取更能代表真實流經(jīng)交換機流量的特征,本文同步引入了一個SVM 檢測方案來分類正常流量和攻擊流量。這里說的正常是指在此期間不存在DDoS 行為,攻擊是指在此期間存在DDoS 行為。文中針對的流量最小單元是時間間隔內(nèi)的所有流量,而不是單個數(shù)據(jù)包或單個流規(guī)則。因為在攻擊發(fā)生時,通常也會存在有正常的通信流量。得益于RYU 控制器的開源API,我們的SVM 檢測模塊可以輕松地部署在控制器端。SVM 的基本原理介紹如下。

SVM 分類模型:

SVM 最初是一種對數(shù)據(jù)進行二分類的線性分類器,通過計算得到一個超平面,以最低的誤差將數(shù)據(jù)分割到超平面的兩端。如圖6:

超平面的定義為:

判定數(shù)據(jù)所屬的分類是依賴于:

但是這種常規(guī)的SVM 模型只對線性可分割的數(shù)據(jù)有效。因而在20 世紀90 年代,一批學者提出了改進SVM 的方法,引入了核函數(shù)的概念,使得SVM 也能處理非線性可分的數(shù)據(jù)。

核函數(shù)的本質(zhì)是將源數(shù)據(jù)從線性不可分的空間投影到線性可分的高維空間。常見的核函數(shù)包括高斯核函數(shù)(RBF),多項式核函數(shù)和Sigmoid 核函數(shù)。高斯核函數(shù)通過升維使原先線性不可分的數(shù)據(jù)變得線性可分,在現(xiàn)實場景中應用非常廣泛。相對于其他核函數(shù),高斯核函數(shù)更適用于樣本數(shù)量可觀,而特征維度較少的場景,因而本文最終選擇了高斯核函數(shù)作為SVM 檢測方案的基礎。

3.7 丟棄或?qū)Я?/h3>

根據(jù)分類結果,我們可以定制將攻擊流量丟棄還是將其引導至專業(yè)的DDoS 清洗設備。值得一提的是,因為只有針對目標地址的流量才會引導至清洗設備,所以實際上SDDetector 還能降低外置的清洗設備的工作負荷。

本文整體方案的偽代碼如下:

4 實驗

本文的實驗環(huán)境通過MiniNet 構建。MiniNet 是基于Linux Container 架構開發(fā)的一個進程虛擬化網(wǎng)絡仿真工具??梢詣?chuàng)建包含主機,交換機,控制器和鏈路的虛擬網(wǎng)絡,其交換機支持OpenFlow1.1 和1.3協(xié)議。實驗構造的拓撲結構如圖7 所示。

根據(jù)傳統(tǒng)的路由規(guī)則,所有流經(jīng)路由設備的數(shù)據(jù)包都會修改源MAC 地址為該路由設備的MAC 地址,目的MAC 地址為下一個路由設備的MAC 地址。但是通過WireShark 抓包發(fā)現(xiàn),SDN 網(wǎng)絡內(nèi)部并不會有這樣的機制,也就是說數(shù)據(jù)包在SDN 環(huán)境下傳輸時,源MAC 和目的MAC 從始至終都不會發(fā)生改變,這對于我們的檢測方案有著至關重要的作用。SDN模擬環(huán)境運行在Ubuntu 18.04.4 LTS 上。處理器為Intel core i7-8550U,2.00GHz,內(nèi)存為8GB RAM。SDN 的控制器部署在另一臺虛擬機,內(nèi)存為4GB RAM。Hping3 作為生成攻擊流量的工具,它可以定制從鏈路層到應用層的幾乎所有報文信息,也可以自由設置攻擊頻率,數(shù)據(jù)段長度,還能選擇是否隨機化端口和IP。實驗階段生成了SYN DDoS、UDP DDoS、ACK DDoS,RST DDoS 和混雜型的DDoS 流量。并且在某些時間階段,應用了源IP 偽造的技術。背景流量在用戶終端抓取,并通過TCPRePlay 工具在SDN 模擬環(huán)境下進行重放。

為了全面地論證本文的方案設計,我們進行了多個實驗,包括熵檢測方案的實驗,SVM 檢測方案的實驗,特征有效性檢驗的實驗,攻防實戰(zhàn)的實驗。

4.1 熵檢測方案的實驗

3.5 節(jié)中提到,源IP 的熵和目的IP 的熵符合正態(tài)分布,為了驗證這個結論,實驗采集了4.5GB 的合法流量,計算得到了正常流量目標IP 分布的熵均值約為3.14,標準差為0.515;源IP 分布的熵均值為3.49,標準差為0.68。

通過將數(shù)據(jù)頻次以直方圖的形式描繪,如圖8,我們可以近似看到目的IP 的熵的確呈現(xiàn)明顯的正態(tài)分布特性。

4.2 SVM 檢測方案的實驗

為了驗證SVM 檢測方案的有效性,我們進行了SVM 檢測方案的相關實驗。該環(huán)節(jié)收集的DDoS 數(shù)據(jù)集來源于MiniNet 模擬器下的模擬攻擊。其中的流量類型包括SYN DDoS、UDP DDoS、ACK DDoS、RST DDoS 和Mixed DDoS。Mixed DDoS 指混雜了以上多種DDoS 類型的攻擊流量。為了較好地模擬真實環(huán)境,實驗還在多個終端上收集了40GB 的正常通信流量作為實驗的背景流量,并通過TcpReplay 工具在實驗階段進行重放。測試的DDoS 數(shù)據(jù)集來源于真實環(huán)境下的攻擊流量和模擬環(huán)境下的攻擊流量。真實的攻擊數(shù)據(jù)采集于2018 年,包含常見的UDP DDoS,ACK DDoS 和HTTP DDoS,在17min 發(fā)出了總共22.3GB 的流量。將原始數(shù)據(jù)輸入模擬的SDN 網(wǎng)絡,交換機流表就會自動記錄得到統(tǒng)計信息,再經(jīng)過一系列運算處理,控制端才正式提取出來SVM 檢測方案所需的五大特征。我們最初在選擇使用哪些特征時,確立了一個基本準則,即特征的值應該盡量不受用戶規(guī)模的影響,這樣才能增加特征在不同應用場景下的普適性。在輸入SVM 分類模型之前,提取的特征還需要經(jīng)過sigmoid 函數(shù)做一個標準化處理,這能夠協(xié)助SVM 模型實現(xiàn)更快速的收斂速度和更高的分類準確率。方案設置了50 輪的訓練周期,直到模型達到收斂。

Jin Ye[7]等人的方案和本文的方案原理類似,均采用了基于SVM 的分類算法,但與我們不同的是,他們的模型特征從始至終都基于細粒度的路由規(guī)則。即便如此,我們的分類結果,也顯示出優(yōu)于他們測試結果的特性。表3 列出了SDDetector 與Jin Ye方案的分類結果對比。

表3 SVM 檢測結果對比Table 3 Jin Ye’s Plan & Our Plan

同時也在表4 列舉了SDDetector 針對真實攻擊下的檢測結果,以此證明實驗結果的可靠性。

表4 真實環(huán)境下的檢測結果Table 4 Detection Result in Real World

檢測結果證明SVM 的檢測方案可以很好地預警DDoS 流量,無論是實驗環(huán)境下生成的模擬DDoS,還是真實環(huán)境下的DDoS。

4.3 特征有效性檢驗實驗

決定檢測方案有效性的一個核心因素就是特征的區(qū)分度,為此我們分別采集了合法流量,采用源IP 偽造技術的DDoS,以及采用真實IP 的DDoS,并計算流規(guī)則的數(shù)量、流規(guī)則下的數(shù)據(jù)包平均數(shù)量、流規(guī)則數(shù)據(jù)包數(shù)量的熵值、目的IP 的熵、上下行流量的比率具體值,得到以下實例圖(圖9~圖13)。

其中綠色代表合法流量,黃色代表采用源IP 偽造技術的DDoS,紅色代表采用真實IP 的DDoS。圖10 中,因為實驗條件受限,發(fā)起DDoS 攻擊的主機數(shù)目較少,因而采用真實IP 的DDoS 與合法流量產(chǎn)生的流規(guī)則數(shù)目都太少,在比例尺下發(fā)生了重疊,所以只能看到一種顏色。

可以看到,在絕大多數(shù)情況下,三種特征的區(qū)分度都非常明顯,因而能夠證明其用來進行分類的有效性。

4.4 攻防實戰(zhàn)實驗

控制器在SDN 框架中扮演了核心中樞的角色。它負責監(jiān)控整個網(wǎng)絡的流量信息,部署新的流量規(guī)則,處理異常情況等。針對SDN 的攻擊手段很多都利用其中心化的架構,達到癱瘓控制器就攻陷整個SDN 網(wǎng)絡的效果,比如Packet-In 泛洪攻擊。交換機的流表也是容易被針對的點,如惡意規(guī)則注入攻擊[3],對流規(guī)則算法的探測攻擊[24],以及流表溢出攻擊[3]。

相對于傳統(tǒng)DDoS,針對SDN 的Packet-In 泛洪攻擊和數(shù)據(jù)層流表溢出攻擊破壞力更大,也更難檢測和防御。4.4.1 和4.4.2 對這兩種新型DDoS 的原理進行詳細介紹。

4.4.1 Packet-In 泛洪攻擊

OpenFlow 作為實現(xiàn)SDN 框架的具體協(xié)議,針對流經(jīng)交換機的數(shù)據(jù)包定義了一套完備的處理機制。首先,根據(jù)數(shù)據(jù)包的報文信息,找到優(yōu)先級最高的匹配流規(guī)則,再執(zhí)行流規(guī)則下定義的指令;如果沒有找到匹配的流規(guī)則,則觸發(fā)Table-Miss 選項,向控制器發(fā)送Packet-In 信息,請求控制器下發(fā)一套適用于該數(shù)據(jù)包的流規(guī)則。鑒于SDN 網(wǎng)絡的中心化架構,數(shù)據(jù)包流經(jīng)的所有交換機都需要向控制器發(fā)送一次Packet-In 信息,這對脆弱的控制器來說是一個極大的挑戰(zhàn)。Packet-In 泛洪攻擊的過程如圖14。攻擊者通過偽造匹配域中的元素,生成大量激發(fā)Table-Miss的數(shù)據(jù)包,迫使交換機發(fā)送Packet-In 數(shù)據(jù)包到控制器??刂破餍枰憫恳粋€Packet-In 信息,并下發(fā)相應的流規(guī)則。這不僅會堵塞南向通道的帶寬,還會附帶耗盡控制器的計算資源。據(jù)DevoFlow 測量,HP ProCurve 5406zl 型號的交換機僅僅可以支持17Mbps 大小的南向通道帶寬[3]。

4.4.2 數(shù)據(jù)層流表溢出攻擊

OpenFlow 交換機的流表也可能成為DDoS 攻擊的目標。我們知道一個流規(guī)則必然指定某幾個具體的元素,如果新的數(shù)據(jù)包到來不能匹配這些流規(guī)則的話,控制器會通過Flow-Mod 消息下發(fā)一個新的流規(guī)則。但是交換機能夠維持的流規(guī)則數(shù)量是有限的。每個流規(guī)則本身會占據(jù)內(nèi)存,同時他們還會維系一個計數(shù)器,負責統(tǒng)計流經(jīng)的數(shù)據(jù)包數(shù)和字節(jié)數(shù)等特征;系統(tǒng)還需要對每個流規(guī)則進行相應的硬性存活時間和軟性存活時間檢查。每添加一個流規(guī)則都是對交換機的一次資源占用。目前大多數(shù)商用交換機都使用TCAM 存儲流表。TCAM 是一種基于硬件的表項查找方法,支持對流表的并行訪問,也就是說可以進行一次比對就完成對流表中所有規(guī)則的匹配,因而面對海量的數(shù)據(jù)流量,效率可以大大提高,且?guī)缀醪皇鼙眄棓?shù)目增加的影響。但是其高昂成本和能耗導致很多商用交換機的存儲容量極其受限。如Pica 8 商用交換機只能夠存放8192 條流規(guī)則[25]。采用隨機化數(shù)據(jù)包字段的DDoS 攻擊能夠迅速占滿交換機的流表,導致新的規(guī)則無法添加,從而無法處理到來的新的合法數(shù)據(jù)。

鑒于Packet-In 泛洪攻擊與數(shù)據(jù)層流表溢出攻擊的巨大威脅,我們在設計DDoS 檢測防御框架時,需要重點考慮盡量少地觸發(fā)Table-Miss 選項,在之前研究中只有很少人提及這個想法。

4.4.3 兩階段攻擊

為了驗證SDDetector 在多種攻擊場景下的檢測效果,實驗需要構造針對SDN 的Packet-In 泛洪攻擊和流表溢出攻擊。因為觸發(fā)Packet-In 數(shù)據(jù)包只需要修改匹配域中的某個元素即可;觸發(fā)Flow-Mod 修改流表的指令也是同樣的原理。而本文方案細粒度流規(guī)則的匹配域包括了源IP,因而實驗采用了源IP 偽造技術模擬針對SDN 的Packet-In 泛洪攻擊和流表溢出攻擊。實際上,如果匹配域包括了其他元素,實驗也可以通過偽造其他元素觸發(fā)檢測。

實驗分為兩個階段分別進行。第一個階段引入源IP 偽造技術,模擬Packet-In 泛洪和流表溢出攻擊,第二個階段,采用真實源IP,模擬傳統(tǒng)的ACK 泛洪攻擊。下圖15 表示的從攻擊源抓到的流量分布圖,圖16 表示從受害者端抓到的流量分布圖。圖中顯示攻擊源抓到的流量會隨著時間起伏,研究發(fā)現(xiàn)這是由于CPU 和網(wǎng)絡適配器的性能不足導致的,即使在非MiniNet 環(huán)境下測試的流量也呈現(xiàn)這種狀況。鑒于其不會影響整體的實驗進程,我們大可以忽略不管。圖15 展示實驗在16:32:37 的時候激活了一次隨機源IP 的SYN DDoS,與此同時,受害者端的下行流量開始迅速激增。隨后模型探測到了可疑的攻擊,刪掉了相應的流規(guī)則,這導致在圖16 中16:32:39 處流量的快速下降。緊接著,新的細粒度的流規(guī)則開始創(chuàng)建。引入的時間函數(shù)告知攻擊在16:32:41 的時候正式被檢測發(fā)現(xiàn),并立即添加了丟棄來自攻擊源數(shù)據(jù)包的流規(guī)則。然而圖16 發(fā)現(xiàn),流量并沒有在16:32:41 直接下降到0。經(jīng)過多番測試和驗證,發(fā)現(xiàn)新的丟棄規(guī)則發(fā)送前已經(jīng)進入交換機等待路由的數(shù)據(jù)包會繼續(xù)向目標終端發(fā)送,因而仍會維持一段時間的數(shù)據(jù)傳輸??梢钥吹皆谑芎φ叨说牧髁?6:32:46 開始趨于0,而實際上從攻擊源端看到的流量并未停止。在第二個階段,實驗采用了真實源IP 機制。流程圖參見圖17,圖18。攻擊發(fā)起于16:14:26 左右,被檢測于16:14:32,與前面情況相同,受害者端的流量持續(xù)到16:14:37 才結束。但是從攻擊源的流量可以看到實際上在16:15:02 的時候攻擊才停止。

實驗證明,本文提出的融合熵檢測算法和SVM檢測算法的方案能夠在多種DDoS 環(huán)境下有效運行。Jin Ye[7]等人的方案也采用了SVM 的檢測算法,但是他們從初始階段就以細粒度的視角去做整體的檢測,這就意味著DDoS 攻擊時,控制器需要處理比我們多得多的Packet-In 信息,交換機也會運維比我們更多的流規(guī)則。而且,經(jīng)過第一階段的過濾,我們的模型只對流向目標終端的流量進行進一步檢測,這能排除掉大量不必要的流量,節(jié)省運算資源,同時提高模型的檢測準確率。

為了展示本文提到的方案在多種DDoS 攻擊場景的效率,我們復現(xiàn)了Jin Ye 的方案,即從初始階段就開始采用細粒度的流表規(guī)則,并直接獲取所有的流表統(tǒng)計信息進行檢測。同時引入計時函數(shù),獲取從收集統(tǒng)計數(shù)據(jù)到輸出檢測結果的耗時。

表5 方案耗時比較Table 5 Time consuming comparison of schemes

可以看到在面對采用隨機源IP 技術的Packet-In泛洪攻擊時,Jin Ye 的方案用時大大超過了我們的模型;尤其是攻擊頻率指數(shù)級增大的情況。原因很簡單。擁塞的南向通道使得Jin Ye 等人設想的統(tǒng)計信息獲取階段耗時太久。實驗發(fā)現(xiàn),單純算法提取特征并分類的耗時不超過0.1s,也就是說,方案的核心負荷來源于獲取流表統(tǒng)計信息的過程。而SDDetector 在面對Packet-In 泛洪攻擊時,優(yōu)先基于熵的算法進行檢測,只需要采集到1000 個Packet-In 數(shù)據(jù)包就可以完成,并在檢測結果出來后,迅速就阻斷了攻擊源,防止持續(xù)的Packet-In 數(shù)據(jù)包沖擊控制器。這些因素共同作用就使得我們的處理時間只占到他們處理時間的四分之一。

5 結論與未來工作

5.1 結論

本文提出了一個SDN 環(huán)境下的輕量級DDoS 檢測與緩解方案。特別考慮了細粒度的流規(guī)則會給交換機和控制器帶來沉重的負擔,因而在兩種不同的情形下配置了不同粒度的流規(guī)則。同時,模型也融合了適用于不同攻擊場景下的檢測方案,即針對Packet-In 泛洪攻擊的熵值檢測方案,和針對無源IP偽造的攻擊手段的SVM 檢測方案。并且,模型只針對流向可疑的攻擊受害者的流量進行相應的細粒度流規(guī)則部署。這些舉措都是為了盡可能地去降低交換機與控制器的運行負荷。通過實驗發(fā)現(xiàn),常規(guī)直接檢測方案面對源IP 隨機化時影響模型運行效率的最大因素來源于流表信息的獲取,這導致檢測的速率與保留真實源IP 時大相徑庭。在這種情況下,我們的模型會優(yōu)先選擇更高效的基于Packet-In 的檢測方案。但是面對如HTTP 泛洪攻擊和HTTPS 泛洪攻擊場景時,Packet-In方案又會因為需要等待足夠檢測基準的Packet-In 數(shù)據(jù)包,而浪費時間,此時SVM 檢測方案反而能脫穎而出了。而且熵檢測方案提取的特征,并不能很好地反映真實流經(jīng)交換機的流量的絕大多數(shù)特性。SDDetector 還具備雙層保險,即使瞬發(fā)的正常流量,如大熱的電視劇播出時間,或者假日的網(wǎng)絡購物促銷,觸發(fā)了閾值警告,熵檢測模型和SVM 檢測模型也能對其進行可靠的再分類。SVM 算法中選擇的5 個特征和熵檢測算法選擇的2 個特征都能夠明顯地反映流量的異常。

5.2 未來工作

1) 實驗發(fā)現(xiàn)如果交換機部署的是細粒度的流規(guī)則,那海量的數(shù)據(jù)極易引發(fā)Packet-In 泛洪,從而導致控制器的處理壓力巨幅上升,這是SDN 的一個巨大隱患,但是絕大多數(shù)SDN 環(huán)境下的DDoS 研究都是基于單控制器[26]。未來我們需要嘗試去解決這種由于中心化導致的單點失效的問題,通過引入多控制器的平臺,實現(xiàn)控制器的負載均衡,從而有效增加SDN 網(wǎng)絡的彈性生存能力。

2) 此外,因為RYU API 的限制,本文的兩個檢測手段實際上是以串聯(lián)的形式布局,也就是需要先按照Packet-In 的模式做檢查,如果熵檢測模塊沒有得到檢測結果,且耗時超過正常值時,我們會立馬判定不存在Packet-In 泛洪,同時掐斷Packet-In 檢測,轉(zhuǎn)而為SVM 檢測。未來需要把這個串聯(lián)的布局,改為完全并行的布局,兩個方案同時實施,并且互相通信,一方完成攻擊檢測之后,另一方立即停止,降低負荷的同時,達到快速響應的目標。

3) 隨著人們對SDN 的進一步了解,除了傳統(tǒng)的泛洪式DDoS 外,還有一些精巧的DoS 手段也會對SDN 造成巨大的影響,如利用流規(guī)則Duration 的慢速攻擊手段[27],因為每個流規(guī)則都定義了一個軟性存活時間,在這個時間段如果沒有匹配的數(shù)據(jù)包,則流規(guī)則會被自動刪除。攻擊者于是每次都在軟性存活時間截止前發(fā)送一個數(shù)據(jù)包,從而能夠長期維系流規(guī)則,還能減少Packet-In 和數(shù)據(jù)包數(shù)量上的異常。此外,還有針對SDN拓撲發(fā)現(xiàn)階段的攻擊手段[28],針對OpenFlow 處理機制漏洞buffered-packet 的攻擊手段[29]都可能會造成SDN 的拒絕服務。未來還需要補充針對這些攻擊手段的檢測機制。

致 謝在此向?qū)Ρ疚墓ぷ魈岢鲋笇У睦蠋?、同學表示感謝,以及對提出建議的評審專家表示感謝。

猜你喜歡
流表細粒度交換機
融合判別性與細粒度特征的抗遮擋紅外目標跟蹤算法
紅外技術(2022年11期)2022-11-25 03:20:40
細粒度的流計算執(zhí)行效率優(yōu)化方法
高技術通訊(2021年1期)2021-03-29 02:29:24
基于時序與集合的SDN流表更新策略
基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
電子測試(2018年21期)2018-11-08 03:09:34
修復損壞的交換機NOS
簡析yangUI流表控制
軟件定義網(wǎng)絡中一種兩步式多級流表構建算法
基于雙線性卷積網(wǎng)絡的細粒度圖像定位
使用鏈路聚合進行交換機互聯(lián)
支持細粒度權限控制且可搜索的PHR云服務系統(tǒng)
诸城市| 内丘县| 资溪县| 林州市| 五河县| 丰镇市| 靖远县| 成都市| 阳曲县| 周至县| 钟山县| 方山县| 拜城县| 缙云县| 清原| 桃园县| 景德镇市| 敖汉旗| 大田县| 遂溪县| 甘泉县| 长阳| 华阴市| 阿坝县| 桃江县| 枣庄市| 邵阳市| 东安县| 韶关市| 古田县| 文安县| 偏关县| 鲁甸县| 菏泽市| 大化| 枞阳县| 澄江县| 安泽县| 根河市| 吉林市| 江陵县|