摘" 要: DDoS攻擊是軟件定義網(wǎng)絡(luò)(SDN)安全領(lǐng)域的一大威脅,嚴(yán)重威脅網(wǎng)絡(luò)控制器及交換機(jī)等設(shè)備的正常運(yùn)行,因此提出一種SDN中DDoS攻擊檢測與混合防御技術(shù)。在DDoS攻擊檢測方面,利用卡方檢驗值對SDN中控制器收到的Packet_In數(shù)據(jù)流內(nèi)數(shù)據(jù)幀數(shù)量進(jìn)行統(tǒng)計分析,將高于數(shù)據(jù)流卡方閾值的數(shù)據(jù)流初步判斷為可疑流;繼續(xù)計算數(shù)據(jù)流與可疑流的相對Sibson距離,區(qū)分可疑流是DDoS攻擊流還是正常突發(fā)流;最后通過計算數(shù)據(jù)流之間的Sibson距離,根據(jù)DDoS攻擊流的特征,確定攻擊流是否為DDoS攻擊流。在DDoS攻擊防御方面,采用共享流表空間支持和Packet_In報文過濾方法混合防御,被DDoS攻擊的交換機(jī)流表空間過載,將過載流表引流到其他交換機(jī),從而完成數(shù)據(jù)層的防御;溯源得到DDoS攻擊MAC地址并進(jìn)行 Packet_In數(shù)據(jù)流過濾,完成控制層的防御。實驗結(jié)果表明,所提方法可有效檢測軟件定義網(wǎng)絡(luò)交換機(jī)和控制器內(nèi)的DDoS攻擊流,能夠防御不同的DDoS攻擊。
關(guān)鍵詞: 軟件定義網(wǎng)絡(luò); DDoS攻擊流; 攻擊檢測; 混合防御; 卡方檢驗值; Sibson距離; 流表空間共享
中圖分類號: TN929.5?34; TP393.08" " " " " " "文獻(xiàn)標(biāo)識碼: 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" 引" 言
軟件定義網(wǎng)絡(luò)是一種全新的、可靠的網(wǎng)絡(luò)架構(gòu),它可以有效地將控制中心與傳輸中心隔離開來,從而實現(xiàn)對網(wǎng)絡(luò)的有效管理和控制[1]。引入一個集中的控制器來管理網(wǎng)絡(luò)流量和策略,交換機(jī)按照控制器發(fā)出的指令轉(zhuǎn)發(fā)數(shù)據(jù)。軟件定義網(wǎng)絡(luò)中的應(yīng)用程序編程接口允許第三方開發(fā)者編寫應(yīng)用程序來與網(wǎng)絡(luò)控制器進(jìn)行交互,實現(xiàn)自定義的網(wǎng)絡(luò)功能和服務(wù)[2]。
控制器受到攻擊后,軟件定義網(wǎng)絡(luò)可能會被惡意用戶利用而受到影響,導(dǎo)致網(wǎng)絡(luò)服務(wù)中斷或數(shù)據(jù)泄露[3]。交換機(jī)負(fù)責(zé)轉(zhuǎn)發(fā)軟件定義網(wǎng)絡(luò)流量和響應(yīng)控制器指令。攻擊者可以通過攻擊網(wǎng)絡(luò)拓?fù)鋪碛绊懡粨Q機(jī)的正常工作,通過發(fā)送虛假的數(shù)據(jù)流信息來誘使交換機(jī)進(jìn)行錯誤的轉(zhuǎn)發(fā)操作[4]。
通過DDoS攻擊檢測與混合防御及時檢測出DDoS攻擊流量,并對攻擊采取防御手段[5]。對DDoS攻擊特征進(jìn)行分析,發(fā)現(xiàn)潛在的安全威脅,提前設(shè)置防御設(shè)施,提高軟件定義網(wǎng)絡(luò)的安全性。綜合運(yùn)用多種防御手段對DDoS攻擊進(jìn)行有效抵御,避免網(wǎng)站或應(yīng)用響應(yīng)緩慢甚至無法訪問。即使某一層防御被突破,其他層防御仍然能夠繼續(xù)發(fā)揮作用,從而保護(hù)軟件定義網(wǎng)絡(luò)順利運(yùn)行[1]。
例如:文獻(xiàn)[6]提出先提取流表信息特征,基于梯度下降的優(yōu)化算法的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行DDoS攻擊檢測的方法,梯度下降算法運(yùn)用在非凸函數(shù)中,算法找到的最優(yōu)點可能是局部最優(yōu)值,并非整個函數(shù)空間整體最優(yōu)值。文獻(xiàn)[7]通過條件熵和機(jī)器學(xué)習(xí)獲取數(shù)據(jù)流特征后,通過粗粒度和細(xì)粒度相結(jié)合的檢測模塊檢測DDoS攻擊。隊列論研究基于純理論環(huán)境,與實際網(wǎng)絡(luò)環(huán)境可能存在偏差,導(dǎo)致DDoS攻擊檢測結(jié)果存在誤差。文獻(xiàn)[8]利用軟件定義網(wǎng)絡(luò)數(shù)據(jù)層資源來降低控制層開銷,通過快速數(shù)據(jù)路徑規(guī)則防御DDoS攻擊。快速路徑規(guī)則處理軟件定義網(wǎng)絡(luò)的DDoS攻擊流程相對簡單,但當(dāng)面對大量深層次的攻擊時,難以排除網(wǎng)絡(luò)故障。文獻(xiàn)[9]提取正常流量的性能特征,通過一個輕量級實時框架進(jìn)行DDoS攻擊檢測。輕量級框架可擴(kuò)展性較好,但是限制比較大,如果面對大量的流量攻擊,輕量級實時框架效果欠佳。
通過計算卡方檢驗值和Sibson距離可以定義SDN中的DDoS攻擊檢測。首先,從網(wǎng)絡(luò)中抽取一段時間內(nèi)的數(shù)據(jù)流,并根據(jù)卡方檢驗值來判斷是否存在攻擊。如果檢驗值大于閾值,則將其定義為可疑流;接著,計算可疑流與正常數(shù)據(jù)流之間的相對Sibson距離,如果其超過了閾值,則定義為可疑流;最后,如果可疑流之間的Sibson距離低于預(yù)設(shè)的閾值,則可以斷定它是一個受到DDoS攻擊的流量,從而實現(xiàn)DDoS攻擊的檢測。DDoS攻擊混合防御即在數(shù)據(jù)層面采用共享流表空間支持進(jìn)行防御,利用不同交換機(jī)空閑空間分享被攻擊交換機(jī)空間過載流量,使軟件定義網(wǎng)絡(luò)數(shù)據(jù)層順利運(yùn)行;在控制層面,采用Packet_In報文的過濾方法進(jìn)行防御,溯源得到攻擊節(jié)點MAC地址,將MAC地址發(fā)出的Packet_In報文過濾,防御成功。通過對軟件定義網(wǎng)絡(luò)的DDoS攻擊檢測和混合防御的深入研究,可以構(gòu)建一個強(qiáng)大、可靠的防御體系,以保障軟件定義網(wǎng)絡(luò)的安全性。
1" DDoS攻擊檢測與混合防御
1.1" 基于Sibson距離的軟件定義網(wǎng)絡(luò)中DDoS攻擊檢測
在軟件定義網(wǎng)絡(luò)中多個交換機(jī)會獲取DDoS攻擊者發(fā)送的大量偽造流,這種情況下交換機(jī)不能有效獲取相關(guān)的流表項,會將大規(guī)模的Packet_In數(shù)據(jù)流傳輸?shù)娇刂破髦?。通過卡方檢驗可以準(zhǔn)確地估算控制器接收的Packet_In數(shù)據(jù)流中的幀數(shù)。具體的卡方檢驗值可以通過以下公式來表示:
[X2df=i=1KOi-Ei2Ei] (1)
式中:[Oi]是一個時間段內(nèi)控制器接收到的Packet_In數(shù)據(jù)幀總數(shù);[Ei]是正常網(wǎng)絡(luò)狀態(tài)下控制器接收到的數(shù)據(jù)流內(nèi)數(shù)據(jù)幀的個數(shù);時間段用[K]表示。當(dāng)沒有DDoS攻擊的情況下,控制器接收的數(shù)據(jù)幀數(shù)量保持穩(wěn)定,卡方檢驗值也相對較?。坏?,一旦發(fā)生了DDoS攻擊,控制器內(nèi)接收的Packet_In數(shù)據(jù)幀數(shù)量會急劇增加,從而導(dǎo)致卡方檢驗值急劇上升,甚至出現(xiàn)偏差,這種情況稱為可疑流。
由于正常突擊流也會導(dǎo)致卡方檢驗值突然增大,因此為了有效劃分正常突擊流以及攻擊流,則應(yīng)在DDoS攻擊流不同特征一致[10]的前提下,假設(shè)一個時間間隔內(nèi)軟件定義網(wǎng)絡(luò)交換機(jī)發(fā)送的正常Packet_In數(shù)據(jù)流內(nèi)數(shù)據(jù)幀長度為[Ln],那么數(shù)據(jù)流長度為[L=l1,l2,…,ln],控制器接收到的數(shù)據(jù)流數(shù)量為[M=m1,m2,…,mn],正常數(shù)據(jù)流數(shù)據(jù)幀長度的概率分布公式為:
[pli=mij=1nmj] (2)
同理將DDoS攻擊流數(shù)據(jù)量代入到公式(2)內(nèi),用[q(li)]描述可疑流數(shù)據(jù)幀長度概率分布。將基于[q(li)]的Sibson距離與特定的閾值進(jìn)行對比,以此來判斷該可疑流是否屬于攻擊性的數(shù)據(jù)。用公式(3)描述正常數(shù)據(jù)流和可疑流之間的相對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)
式中:正常以及可疑數(shù)據(jù)流數(shù)據(jù)幀長度的概率分布用[p(li)]和[q(li)]描述。
1.2" 軟件定義網(wǎng)絡(luò)中DDoS攻擊混合防御
經(jīng)過1.1節(jié)檢測,數(shù)據(jù)流為DDoS攻擊流,本節(jié)研究DDoS攻擊混合防御。
DDoS攻擊流到達(dá)時,被攻擊交換機(jī)為了匹配DDoS攻擊流量對應(yīng)流表項,會自動建立新的流表項。由于被攻擊交換機(jī)流表空間有限,交換機(jī)會刪除正常數(shù)據(jù)流的流表項用以存儲新的流表項,刪除流表項的速度遠(yuǎn)遠(yuǎn)落后于DDoS攻擊流到達(dá)的速度,有限的流表空間會被迅速占滿[11]。為了將DDoS攻擊帶來的危害降低,本文提出一種交換機(jī)流表空間共享的策略,即在軟件定義網(wǎng)絡(luò)控制器上安裝共享流表空間支持程序,當(dāng)一個交換機(jī)的流表空間不足時,控制器中的共享流表空間支持程序發(fā)出信號,尋找軟件定義網(wǎng)絡(luò)中其他交換機(jī)未用的流表空間來創(chuàng)建新流表。這樣就可以阻止被DDoS攻擊交換機(jī)流表空間被耗盡,保證交換機(jī)能夠正常運(yùn)行。
設(shè)軟件定義網(wǎng)絡(luò)中有[K]個交換機(jī),交換機(jī)[S0lt;Slt;K+1]連接有[NS]個主機(jī)。設(shè)交換機(jī)的流表空間[LS]分為兩部分,分別為已用空間為[LSu]和未用空間[LSn],則有:
[LS=LSu+LSn] (6)
如果全部交換機(jī)流表空間[LS]一致,則用[Lt]表示流表空間過載閾值。劃分交換機(jī)流表空間狀態(tài)機(jī)優(yōu)先級,同時考慮軟件定義網(wǎng)絡(luò)內(nèi)當(dāng)前空間共享交換機(jī)連接其他交換機(jī)數(shù)量、與被攻擊交換機(jī)之間的距離以及當(dāng)前共享交換機(jī)使用率情況,選擇空間共享交換機(jī)優(yōu)先級為1和2的交換機(jī)進(jìn)行優(yōu)先處理。設(shè)當(dāng)前要優(yōu)先處理的空間共享交換機(jī)與其他交換機(jī)連接的數(shù)量為[N],其可表示為:
[N=N1,N2,…] (7)
令當(dāng)前要優(yōu)先處理的空間共享交換機(jī)與被攻擊的交換機(jī)的距離為[D],[D]的大小由與其他共享交換機(jī)的跳數(shù)[d]來決定,距離短的共享交換機(jī)優(yōu)先選擇,則有:
[D=d1,d2,…,dk] (8)
令[S]表示交換機(jī),[U]表示交換機(jī)使用率,該交換機(jī)下連接有[NS]個主機(jī),設(shè)每個主機(jī)的新流請求率為[u0],交換機(jī)在一定時間內(nèi)的請求率越低,則相對使用率越低,表示交換機(jī)比較空閑??臻e的交換機(jī)能更快速地處理DDoS攻擊流,不會對共享交換機(jī)造成過載問題。
[U=NS·u0] (9)
經(jīng)過歸一處理后,空間共享交換機(jī)選擇權(quán)值[W]為:
[W=LSn·w1+N·w2+D·w3+U·w4] (10)
以公式(10)結(jié)果為基礎(chǔ),選擇權(quán)值最大的作為優(yōu)先選擇共享交換機(jī)。
利用共享交換機(jī)空閑的流表空間創(chuàng)建新流表,釋放被攻擊交換機(jī)的過載空間[12],各個共享交換機(jī)會將各自流表空間中的流表封裝成Packet_In報文,轉(zhuǎn)發(fā)至軟件定義網(wǎng)絡(luò)控制器,完成軟件定義網(wǎng)絡(luò)數(shù)據(jù)層面的DDoS攻擊防御。
2" 實驗分析
以某軟件定義網(wǎng)絡(luò)為實驗對象,共包含控制器1臺、交換機(jī)4臺、終端用戶12臺。在該軟件定義網(wǎng)絡(luò)系統(tǒng)中,交換機(jī)及控制器為DDoS攻擊流的目標(biāo)。利用本文方法在實驗對象的軟件定義網(wǎng)絡(luò)內(nèi)檢測DDoS攻擊,并獲取DDoS攻擊防御結(jié)果。攻擊檢測和防御效果如表1所示。
分析表1可知,在軟件定義網(wǎng)絡(luò)內(nèi)對交換機(jī)和控制器進(jìn)行6次DDoS攻擊,使用本文方法對6次DDoS攻擊檢測中,僅存在1次正常突擊流檢測為DDoS攻擊流的情況,其余檢測結(jié)果均與軟件定義網(wǎng)絡(luò)的實際流量相符,且混合防御結(jié)果僅失敗1次。上述結(jié)果表明,本文方法在檢測軟件定義網(wǎng)絡(luò)DDoS攻擊流過程中,可有效去除正常突擊流的MAC地址,有效實現(xiàn)軟件定義網(wǎng)絡(luò)DDoS攻擊檢測并防御。
設(shè)置卡方檢驗閾值為3。在該閾值條件下,通過卡方檢驗閾值描述本文方法檢測軟件定義網(wǎng)絡(luò)DDoS攻擊檢測能力。向軟件定義網(wǎng)絡(luò)的交換機(jī)內(nèi)注入DDoS攻擊流,繪制軟件定義網(wǎng)絡(luò)Packet_In數(shù)據(jù)流流量變化和該流量變化的卡方檢驗值,分析本文方法檢測軟件定義網(wǎng)絡(luò)DDoS攻擊能力,結(jié)果如圖1所示。
分析圖1a),軟件定義網(wǎng)絡(luò)交換機(jī)在運(yùn)行過程中受到DDoS攻擊時,其流量隨著時間的變化呈現(xiàn)大幅度波動狀態(tài),其原因為:DDoS攻擊軟件定義網(wǎng)絡(luò)交換機(jī)時,交換機(jī)不能對新流量的流表項進(jìn)行準(zhǔn)確匹配,使當(dāng)前交換機(jī)的Packet_In數(shù)據(jù)流在60~100 s之間迅速增加。當(dāng)本文方法對DDoS攻擊進(jìn)行防御后,軟件定義網(wǎng)絡(luò)內(nèi)的交換機(jī)匹配到新流量的流表項,完成網(wǎng)絡(luò)傳輸工作后,交換機(jī)的流量呈現(xiàn)迅速下降趨勢。分析圖1b),計算數(shù)據(jù)流的卡方檢驗值,該值隨著時間的變化趨勢與Packet_In數(shù)據(jù)流變化趨勢整體相同,即軟件定義網(wǎng)絡(luò)交換機(jī)在受到DDoS攻擊時,其卡方檢驗數(shù)值相對較大,且均超過卡方檢驗閾值。該結(jié)果表明,通過卡方檢驗方式可有效描述本文方法檢測軟件定義網(wǎng)絡(luò)受到DDoS攻擊時Packet_In數(shù)據(jù)流變化情況,本文方法可有效檢測到軟件定義網(wǎng)絡(luò)內(nèi)的DDoS攻擊并可有效防御。
在實驗環(huán)境中,設(shè)置不同類型的DDoS攻擊,通過這些攻擊對用戶的敏感信息訪問產(chǎn)生威脅,增強(qiáng)了研究提出的訪問控制異常檢測方法的應(yīng)用有效性。不同類型DDoS攻擊檢測結(jié)果如表2所示。
分析表2可知,本文方法在檢測軟件定義網(wǎng)絡(luò)不同類型DDoS攻擊時,其數(shù)據(jù)流間Sibson距離均小于預(yù)設(shè)的數(shù)據(jù)流間Sibson距離閾值0.5。該結(jié)果表明,本文方法具備較強(qiáng)的DDoS攻擊檢測能力,可對軟件定義網(wǎng)絡(luò)不同層次內(nèi)的DDoS攻擊進(jìn)行有效檢測,且取得了較為顯著的應(yīng)用效果。
以軟件定義網(wǎng)絡(luò)內(nèi)4臺交換機(jī)作為實驗對象,向4臺交換機(jī)內(nèi)不斷注入DDoS攻擊,使4臺交換機(jī)均處于超負(fù)荷狀態(tài)。然后運(yùn)用本文方法對這4臺交換機(jī)的DDoS攻擊進(jìn)行防御,以交換機(jī)保持時間和DDoS攻擊作為衡量指標(biāo),驗證本文方法對軟件定義網(wǎng)絡(luò)DDoS攻擊的防御能力。DDoS攻擊防御驗證結(jié)果如圖2所示。
分析圖2可知,當(dāng)軟件定義網(wǎng)絡(luò)遭受DDoS攻擊時,本文方法檢測到DDoS攻擊,并通過空間共享轉(zhuǎn)移過載流表方式對DDoS攻擊進(jìn)行防御。在實驗過程中,4臺交換機(jī)的DDoS攻擊時間均低于交換機(jī)持續(xù)時間,表明本文方法在防御DDoS攻擊時,其在持續(xù)時間中對交換機(jī)Packet_In報文進(jìn)行過濾;當(dāng)DDoS攻擊結(jié)束后,4臺交換機(jī)依然持續(xù)對Packet_In報文進(jìn)行過濾。該結(jié)果說明本文方法抵御DDoS攻擊能力較強(qiáng),可有效保障軟件定義網(wǎng)絡(luò)正常穩(wěn)定運(yùn)行。
3" 結(jié)" 論
本文提出的軟件定義網(wǎng)絡(luò)中DDoS攻擊檢測與混合防御方法能夠?qū)崟r監(jiān)控網(wǎng)絡(luò)流量,當(dāng)發(fā)現(xiàn)異常流量時,混合防御通過在網(wǎng)絡(luò)的不同層次部署相應(yīng)的防御設(shè)備和策略,形成多層次的防護(hù)屏障。這種多層次防護(hù)能夠有效抵御來自不同方向和不同層次的攻擊,提高整體防御效果,使軟件定義網(wǎng)絡(luò)穩(wěn)定運(yùn)行。
參考文獻(xiàn)
[1] 熊婉寅,毛劍,劉子雯,等.軟件定義網(wǎng)絡(luò)中流規(guī)則安全性研究進(jìn)展[J].西安電子科技大學(xué)學(xué)報,2023,50(6):172?194.
[2] 李立峰.基于軟件定義網(wǎng)絡(luò)的技術(shù)分析:評《時間敏感網(wǎng)絡(luò)技術(shù)及發(fā)展趨勢》[J].科技管理研究,2023,43(7):258.
[3] 張元龍,廖曉群,張佳庚.基于網(wǎng)絡(luò)拓?fù)鋭澐值拇笠?guī)模SDN控制器部署[J].計算機(jī)工程與設(shè)計,2022,43(9):2485?2492.
[4] 沈劍良,王崇越,湯先拓,等.提高軟件定義網(wǎng)絡(luò)交換機(jī)存儲能力的流表壓縮算法[J].西安交通大學(xué)學(xué)報,2022,56(11):186?194.
[5] 劉臺,朱超,程意,等.基于SDN的戰(zhàn)術(shù)通信網(wǎng)絡(luò)架構(gòu)研究[J].電信科學(xué),2022,38(10):120?130.
[6] 劉振鵬,王仕磊,郭超,等.軟件定義網(wǎng)絡(luò)中基于深度神經(jīng)網(wǎng)絡(luò)的DDoS攻擊檢測[J].云南大學(xué)學(xué)報(自然科學(xué)版),2022,44(4):729?735.
[7] 謝汶錦,張智斌,張三妞.基于軟件定義網(wǎng)絡(luò)的DDoS攻擊檢測方案[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版),2022,34(6):1032?1039.
[8] 葛晨洋,劉勤讓,裴雪,等.軟件定義網(wǎng)絡(luò)中高效協(xié)同防御分布式拒絕服務(wù)攻擊的方案[J].計算機(jī)應(yīng)用,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的需求響應(yīng)終端DDoS攻擊檢測方法[J].電力建設(shè),2022,43(4):81?90.
[12] 謝燕,張爽.SDN中多控制器均衡部署優(yōu)化方法仿真[J].計算機(jī)仿真,2023,40(7):378?381.
[13] 韋睿,祝長鴻,王怡,等.基于軟件定義網(wǎng)絡(luò)和移動邊緣計算的車聯(lián)網(wǎng)高效任務(wù)卸載方案[J].計算機(jī)應(yīng)用研究,2023,40(6):1817?1824.