





摘" 要: DDoS攻擊是軟件定義網絡(SDN)安全領域的一大威脅,嚴重威脅網絡控制器及交換機等設備的正常運行,因此提出一種SDN中DDoS攻擊檢測與混合防御技術。在DDoS攻擊檢測方面,利用卡方檢驗值對SDN中控制器收到的Packet_In數據流內數據幀數量進行統計分析,將高于數據流卡方閾值的數據流初步判斷為可疑流;繼續計算數據流與可疑流的相對Sibson距離,區分可疑流是DDoS攻擊流還是正常突發流;最后通過計算數據流之間的Sibson距離,根據DDoS攻擊流的特征,確定攻擊流是否為DDoS攻擊流。在DDoS攻擊防御方面,采用共享流表空間支持和Packet_In報文過濾方法混合防御,被DDoS攻擊的交換機流表空間過載,將過載流表引流到其他交換機,從而完成數據層的防御;溯源得到DDoS攻擊MAC地址并進行 Packet_In數據流過濾,完成控制層的防御。實驗結果表明,所提方法可有效檢測軟件定義網絡交換機和控制器內的DDoS攻擊流,能夠防御不同的DDoS攻擊。
關鍵詞: 軟件定義網絡; DDoS攻擊流; 攻擊檢測; 混合防御; 卡方檢驗值; Sibson距離; 流表空間共享
中圖分類號: TN929.5?34; TP393.08" " " " " " "文獻標識碼: A" " " " " " " " " " " 文章編號: 1004?373X(2025)02?0085?05
DDoS attack detection and hybrid defense technology in SDN
LI Xiaofei1, CHEN Yi2
(1. Information Technology Center, Hebei University, Baoding 071002, China; 2. Computer Teaching Department, Hebei University, Baoding 071001, China)
Abstract: DDoS attack is a major threat in the security field of software?defined network (SDN), which seriously threatens the normal operation of network controllers, switches and other devices. Therefore, a DDoS attack detection and hybrid defense technology in SDN is proposed. In terms of DDoS attack detection, the statistical analysis of the number of data frames in the Packet?IN data stream received by the controller in SDN is conducted by means of chi?square test values. The data streams above the card side threshold of the data stream are judged preliminarily as suspicious streams. The relative Sibson distance between the data stream and the suspicious stream is calculated sequentially to distinguish whether the suspicious stream is a DDoS attack flow or a normal burst flow. The Sibson distance between data flow is calculated to determine whether the attack flow is a DDoS attack flow based on the features of the DDoS attack flows. In terms of DDoS attack defense, the hybrid defense is conducted by mean of shared flow tablespace support and Packet?IN packet filtering. The flow tablespace of the switch attacked by DDoS is overloaded, and the overloaded flow table is drained to other switches to complete the defense at the data layer. The MAC address of DDoS attack is traced, and the Packet_In data flow is filtered to complete the defense of control layer.The experimental results show that the proposed method can effectively detect DDoS attack flows in SDN switches and controllers, and can defend against different DDoS attacks.
Keywords: software?defined network; DDoS attack flow; attack detection; hybrid defense; chi?square test value; Sibson distance; flow tablespace sharing
0" 引" 言
軟件定義網絡是一種全新的、可靠的網絡架構,它可以有效地將控制中心與傳輸中心隔離開來,從而實現對網絡的有效管理和控制[1]。引入一個集中的控制器來管理網絡流量和策略,交換機按照控制器發出的指令轉發數據。軟件定義網絡中的應用程序編程接口允許第三方開發者編寫應用程序來與網絡控制器進行交互,實現自定義的網絡功能和服務[2]。
控制器受到攻擊后,軟件定義網絡可能會被惡意用戶利用而受到影響,導致網絡服務中斷或數據泄露[3]。交換機負責轉發軟件定義網絡流量和響應控制器指令。攻擊者可以通過攻擊網絡拓撲來影響交換機的正常工作,通過發送虛假的數據流信息來誘使交換機進行錯誤的轉發操作[4]。
通過DDoS攻擊檢測與混合防御及時檢測出DDoS攻擊流量,并對攻擊采取防御手段[5]。對DDoS攻擊特征進行分析,發現潛在的安全威脅,提前設置防御設施,提高軟件定義網絡的安全性。綜合運用多種防御手段對DDoS攻擊進行有效抵御,避免網站或應用響應緩慢甚至無法訪問。即使某一層防御被突破,其他層防御仍然能夠繼續發揮作用,從而保護軟件定義網絡順利運行[1]。
例如:文獻[6]提出先提取流表信息特征,基于梯度下降的優化算法的深度神經網絡進行DDoS攻擊檢測的方法,梯度下降算法運用在非凸函數中,算法找到的最優點可能是局部最優值,并非整個函數空間整體最優值。文獻[7]通過條件熵和機器學習獲取數據流特征后,通過粗粒度和細粒度相結合的檢測模塊檢測DDoS攻擊。隊列論研究基于純理論環境,與實際網絡環境可能存在偏差,導致DDoS攻擊檢測結果存在誤差。文獻[8]利用軟件定義網絡數據層資源來降低控制層開銷,通過快速數據路徑規則防御DDoS攻擊。快速路徑規則處理軟件定義網絡的DDoS攻擊流程相對簡單,但當面對大量深層次的攻擊時,難以排除網絡故障。文獻[9]提取正常流量的性能特征,通過一個輕量級實時框架進行DDoS攻擊檢測。輕量級框架可擴展性較好,但是限制比較大,如果面對大量的流量攻擊,輕量級實時框架效果欠佳。
通過計算卡方檢驗值和Sibson距離可以定義SDN中的DDoS攻擊檢測。首先,從網絡中抽取一段時間內的數據流,并根據卡方檢驗值來判斷是否存在攻擊。如果檢驗值大于閾值,則將其定義為可疑流;接著,計算可疑流與正常數據流之間的相對Sibson距離,如果其超過了閾值,則定義為可疑流;最后,如果可疑流之間的Sibson距離低于預設的閾值,則可以斷定它是一個受到DDoS攻擊的流量,從而實現DDoS攻擊的檢測。DDoS攻擊混合防御即在數據層面采用共享流表空間支持進行防御,利用不同交換機空閑空間分享被攻擊交換機空間過載流量,使軟件定義網絡數據層順利運行;在控制層面,采用Packet_In報文的過濾方法進行防御,溯源得到攻擊節點MAC地址,將MAC地址發出的Packet_In報文過濾,防御成功。通過對軟件定義網絡的DDoS攻擊檢測和混合防御的深入研究,可以構建一個強大、可靠的防御體系,以保障軟件定義網絡的安全性。
1" DDoS攻擊檢測與混合防御
1.1" 基于Sibson距離的軟件定義網絡中DDoS攻擊檢測
在軟件定義網絡中多個交換機會獲取DDoS攻擊者發送的大量偽造流,這種情況下交換機不能有效獲取相關的流表項,會將大規模的Packet_In數據流傳輸到控制器中。通過卡方檢驗可以準確地估算控制器接收的Packet_In數據流中的幀數。具體的卡方檢驗值可以通過以下公式來表示:
[X2df=i=1KOi-Ei2Ei] (1)
式中:[Oi]是一個時間段內控制器接收到的Packet_In數據幀總數;[Ei]是正常網絡狀態下控制器接收到的數據流內數據幀的個數;時間段用[K]表示。當沒有DDoS攻擊的情況下,控制器接收的數據幀數量保持穩定,卡方檢驗值也相對較小;但是,一旦發生了DDoS攻擊,控制器內接收的Packet_In數據幀數量會急劇增加,從而導致卡方檢驗值急劇上升,甚至出現偏差,這種情況稱為可疑流。
由于正常突擊流也會導致卡方檢驗值突然增大,因此為了有效劃分正常突擊流以及攻擊流,則應在DDoS攻擊流不同特征一致[10]的前提下,假設一個時間間隔內軟件定義網絡交換機發送的正常Packet_In數據流內數據幀長度為[Ln],那么數據流長度為[L=l1,l2,…,ln],控制器接收到的數據流數量為[M=m1,m2,…,mn],正常數據流數據幀長度的概率分布公式為:
[pli=mij=1nmj] (2)
同理將DDoS攻擊流數據量代入到公式(2)內,用[q(li)]描述可疑流數據幀長度概率分布。將基于[q(li)]的Sibson距離與特定的閾值進行對比,以此來判斷該可疑流是否屬于攻擊性的數據。用公式(3)描述正常數據流和可疑流之間的相對Sibson距離、流間Sibson距離。
[DSP,Q=12DHP,HP+HQ2+DHQ,HP+HQ2] (3)
正常流[P]和可疑流[Q]的信息熵為:
[HP=-i=1np(li)log2 p(li)] (4)
[HQ=-i=1nq(li)log2 q(li)] (5)
式中:正常以及可疑數據流數據幀長度的概率分布用[p(li)]和[q(li)]描述。
1.2" 軟件定義網絡中DDoS攻擊混合防御
經過1.1節檢測,數據流為DDoS攻擊流,本節研究DDoS攻擊混合防御。
DDoS攻擊流到達時,被攻擊交換機為了匹配DDoS攻擊流量對應流表項,會自動建立新的流表項。由于被攻擊交換機流表空間有限,交換機會刪除正常數據流的流表項用以存儲新的流表項,刪除流表項的速度遠遠落后于DDoS攻擊流到達的速度,有限的流表空間會被迅速占滿[11]。為了將DDoS攻擊帶來的危害降低,本文提出一種交換機流表空間共享的策略,即在軟件定義網絡控制器上安裝共享流表空間支持程序,當一個交換機的流表空間不足時,控制器中的共享流表空間支持程序發出信號,尋找軟件定義網絡中其他交換機未用的流表空間來創建新流表。這樣就可以阻止被DDoS攻擊交換機流表空間被耗盡,保證交換機能夠正常運行。
設軟件定義網絡中有[K]個交換機,交換機[S0lt;Slt;K+1]連接有[NS]個主機。設交換機的流表空間[LS]分為兩部分,分別為已用空間為[LSu]和未用空間[LSn],則有:
[LS=LSu+LSn] (6)
如果全部交換機流表空間[LS]一致,則用[Lt]表示流表空間過載閾值。劃分交換機流表空間狀態機優先級,同時考慮軟件定義網絡內當前空間共享交換機連接其他交換機數量、與被攻擊交換機之間的距離以及當前共享交換機使用率情況,選擇空間共享交換機優先級為1和2的交換機進行優先處理。設當前要優先處理的空間共享交換機與其他交換機連接的數量為[N],其可表示為:
[N=N1,N2,…] (7)
令當前要優先處理的空間共享交換機與被攻擊的交換機的距離為[D],[D]的大小由與其他共享交換機的跳數[d]來決定,距離短的共享交換機優先選擇,則有:
[D=d1,d2,…,dk] (8)
令[S]表示交換機,[U]表示交換機使用率,該交換機下連接有[NS]個主機,設每個主機的新流請求率為[u0],交換機在一定時間內的請求率越低,則相對使用率越低,表示交換機比較空閑。空閑的交換機能更快速地處理DDoS攻擊流,不會對共享交換機造成過載問題。
[U=NS·u0] (9)
經過歸一處理后,空間共享交換機選擇權值[W]為:
[W=LSn·w1+N·w2+D·w3+U·w4] (10)
以公式(10)結果為基礎,選擇權值最大的作為優先選擇共享交換機。
利用共享交換機空閑的流表空間創建新流表,釋放被攻擊交換機的過載空間[12],各個共享交換機會將各自流表空間中的流表封裝成Packet_In報文,轉發至軟件定義網絡控制器,完成軟件定義網絡數據層面的DDoS攻擊防御。
2" 實驗分析
以某軟件定義網絡為實驗對象,共包含控制器1臺、交換機4臺、終端用戶12臺。在該軟件定義網絡系統中,交換機及控制器為DDoS攻擊流的目標。利用本文方法在實驗對象的軟件定義網絡內檢測DDoS攻擊,并獲取DDoS攻擊防御結果。攻擊檢測和防御效果如表1所示。
分析表1可知,在軟件定義網絡內對交換機和控制器進行6次DDoS攻擊,使用本文方法對6次DDoS攻擊檢測中,僅存在1次正常突擊流檢測為DDoS攻擊流的情況,其余檢測結果均與軟件定義網絡的實際流量相符,且混合防御結果僅失敗1次。上述結果表明,本文方法在檢測軟件定義網絡DDoS攻擊流過程中,可有效去除正常突擊流的MAC地址,有效實現軟件定義網絡DDoS攻擊檢測并防御。
設置卡方檢驗閾值為3。在該閾值條件下,通過卡方檢驗閾值描述本文方法檢測軟件定義網絡DDoS攻擊檢測能力。向軟件定義網絡的交換機內注入DDoS攻擊流,繪制軟件定義網絡Packet_In數據流流量變化和該流量變化的卡方檢驗值,分析本文方法檢測軟件定義網絡DDoS攻擊能力,結果如圖1所示。
分析圖1a),軟件定義網絡交換機在運行過程中受到DDoS攻擊時,其流量隨著時間的變化呈現大幅度波動狀態,其原因為:DDoS攻擊軟件定義網絡交換機時,交換機不能對新流量的流表項進行準確匹配,使當前交換機的Packet_In數據流在60~100 s之間迅速增加。當本文方法對DDoS攻擊進行防御后,軟件定義網絡內的交換機匹配到新流量的流表項,完成網絡傳輸工作后,交換機的流量呈現迅速下降趨勢。分析圖1b),計算數據流的卡方檢驗值,該值隨著時間的變化趨勢與Packet_In數據流變化趨勢整體相同,即軟件定義網絡交換機在受到DDoS攻擊時,其卡方檢驗數值相對較大,且均超過卡方檢驗閾值。該結果表明,通過卡方檢驗方式可有效描述本文方法檢測軟件定義網絡受到DDoS攻擊時Packet_In數據流變化情況,本文方法可有效檢測到軟件定義網絡內的DDoS攻擊并可有效防御。
在實驗環境中,設置不同類型的DDoS攻擊,通過這些攻擊對用戶的敏感信息訪問產生威脅,增強了研究提出的訪問控制異常檢測方法的應用有效性。不同類型DDoS攻擊檢測結果如表2所示。
分析表2可知,本文方法在檢測軟件定義網絡不同類型DDoS攻擊時,其數據流間Sibson距離均小于預設的數據流間Sibson距離閾值0.5。該結果表明,本文方法具備較強的DDoS攻擊檢測能力,可對軟件定義網絡不同層次內的DDoS攻擊進行有效檢測,且取得了較為顯著的應用效果。
以軟件定義網絡內4臺交換機作為實驗對象,向4臺交換機內不斷注入DDoS攻擊,使4臺交換機均處于超負荷狀態。然后運用本文方法對這4臺交換機的DDoS攻擊進行防御,以交換機保持時間和DDoS攻擊作為衡量指標,驗證本文方法對軟件定義網絡DDoS攻擊的防御能力。DDoS攻擊防御驗證結果如圖2所示。
分析圖2可知,當軟件定義網絡遭受DDoS攻擊時,本文方法檢測到DDoS攻擊,并通過空間共享轉移過載流表方式對DDoS攻擊進行防御。在實驗過程中,4臺交換機的DDoS攻擊時間均低于交換機持續時間,表明本文方法在防御DDoS攻擊時,其在持續時間中對交換機Packet_In報文進行過濾;當DDoS攻擊結束后,4臺交換機依然持續對Packet_In報文進行過濾。該結果說明本文方法抵御DDoS攻擊能力較強,可有效保障軟件定義網絡正常穩定運行。
3" 結" 論
本文提出的軟件定義網絡中DDoS攻擊檢測與混合防御方法能夠實時監控網絡流量,當發現異常流量時,混合防御通過在網絡的不同層次部署相應的防御設備和策略,形成多層次的防護屏障。這種多層次防護能夠有效抵御來自不同方向和不同層次的攻擊,提高整體防御效果,使軟件定義網絡穩定運行。
參考文獻
[1] 熊婉寅,毛劍,劉子雯,等.軟件定義網絡中流規則安全性研究進展[J].西安電子科技大學學報,2023,50(6):172?194.
[2] 李立峰.基于軟件定義網絡的技術分析:評《時間敏感網絡技術及發展趨勢》[J].科技管理研究,2023,43(7):258.
[3] 張元龍,廖曉群,張佳庚.基于網絡拓撲劃分的大規模SDN控制器部署[J].計算機工程與設計,2022,43(9):2485?2492.
[4] 沈劍良,王崇越,湯先拓,等.提高軟件定義網絡交換機存儲能力的流表壓縮算法[J].西安交通大學學報,2022,56(11):186?194.
[5] 劉臺,朱超,程意,等.基于SDN的戰術通信網絡架構研究[J].電信科學,2022,38(10):120?130.
[6] 劉振鵬,王仕磊,郭超,等.軟件定義網絡中基于深度神經網絡的DDoS攻擊檢測[J].云南大學學報(自然科學版),2022,44(4):729?735.
[7] 謝汶錦,張智斌,張三妞.基于軟件定義網絡的DDoS攻擊檢測方案[J].重慶郵電大學學報(自然科學版),2022,34(6):1032?1039.
[8] 葛晨洋,劉勤讓,裴雪,等.軟件定義網絡中高效協同防御分布式拒絕服務攻擊的方案[J].計算機應用,2023,43(8):2477?2485.
[9] TANG D, YAN Y, ZHANG S, et al. Performance and features: mitigating the low?rate TCP?targeted DoS attack via SDN [J]. IEEE journal on selected areas in communications, 2022, 40(1): 428?444.
[10] CHOUHAN R K, ATULKAR M, NAGWANI N K. A framework to detect DDoS attack in Ryu controller based software defined networks using feature extraction and classification [J]. Applied intelligence, 2023, 53(4): 4268?4288.
[11] 李彬,魏吟娬,祁兵,等.基于EEMD?LSTM的需求響應終端DDoS攻擊檢測方法[J].電力建設,2022,43(4):81?90.
[12] 謝燕,張爽.SDN中多控制器均衡部署優化方法仿真[J].計算機仿真,2023,40(7):378?381.
[13] 韋睿,祝長鴻,王怡,等.基于軟件定義網絡和移動邊緣計算的車聯網高效任務卸載方案[J].計算機應用研究,2023,40(6):1817?1824.