

摘要:軟件定義網絡(Software-Defined Network,SDN)的集中控制特征使得網絡管理更加靈活高效,但同時也成為網絡攻擊的主要對象,其中分布式拒絕服務攻擊DDoS是SDN面臨的主要威脅之一。結合統計學習和機器學習這2種SDN中常用的檢測方法,文章分析了基于信息熵與機器學習算法的DDoS攻擊檢測模型,并利用信息熵的閾值判斷檢測出疑似異常流量,再用決策樹算法構建的檢測模型檢測出DDoS攻擊。分類檢測模型構建了6個特征屬性,并通過計算信息增益值篩選出最優特征子集。通過與其他分類算法模型的比較,該模型提高了檢測準確性,減少了檢測時間。
關鍵詞:軟件定義網絡;分布式拒絕服務攻擊;信息熵;攻擊檢測
中圖分類號:TP311文獻標志碼:A
0 引言
隨著互聯網的快速發展,網絡成為人類生存的新型環境,網絡安全也面臨嚴峻考驗。為了靈活高效地管理網絡,軟件定義網絡(Software Defined Network,SDN)應運而生[1],其突破了傳統網絡固有的垂直整合模式,通過網絡虛擬化將控制層和數據層進行解耦,由控制層實施網絡信息的集中控制,實現了“軟件管理網絡”,但也因此使SDN控制層成為網絡攻擊的主要目標。分布式拒絕服務攻擊(Distributed Denial of Service,DDoS)是SDN面臨的主要威脅之一,其通過偽裝源互聯網協議(Internet Protocol,IP)地址向交換機發送大量無用數據包,交換機無法匹配流表項,便將該數據包轉發給控制器,控制器不斷收到無用的數據包,導致資源耗盡,使整個SDN陷入癱瘓。因此,如何快速精準地識別SDN中DDoS成為當前的研究難點。
1 研究進展
目前,針對SDN中的DDoS攻擊檢測主要基于統計學習和機器學習2類:統計學習方法通過信息熵體現數據流量的隨機性,具有較高的檢測速率,但準確率相對較低;機器學習方法具有更優的準確率,但相對復雜的計算成本導致檢測速率較低。因此,結合統計學習和機器學習2種檢測方法,本文提出基于信息熵與機器學習算法的DDoS檢測方法,以兼顧高檢測速率和高準確率。如張龍等[2]提出一種基于信息熵和深度神經網絡(Deep Neural Network,DNN)的檢測方法,手動構建了2個特征,通過判斷計算特征向量在窗口內信息熵是否超過閾值,進行異常初檢,再使用DNN檢測。齊鎏嶺[3]提出基于條件熵和神經網絡的檢測方法,用條件熵構建了四元組特征向量,再用神經網絡算法進行分類。傅友等[4]提出一種基于條件熵和決策樹的檢測方法,提取6個流量特征進行條件熵的閾值判斷,再用C4.5決策樹分類。王智等[5]提出聯合熵與多重聚類的檢測方法,通過兩級檢測方式,一級使用聯合熵快速檢測,二級使用多重聚類等技術進行半監督學習分類。本文基于信息熵與機器學習算法相結合的模型構建思想,進行特征構造、分類算法的比較等,以提高了SDN中DDoS攻擊檢測的準確率,縮短了檢測時間。
2 SDN中DDoS攻擊檢測模型
本文通過在控制層設置DDoS攻擊檢測模型,該模型由預警模塊和檢測分類模塊組成,其中預警模塊將信息熵超過閾值的數據進行報警,檢測模塊再對疑似異常的流量進行精準檢測,SDN中DDoS攻擊檢測模型如圖1所示。
2.1 基于信息熵的預警模塊
預警模塊根據收集的數據包,計算在一定的窗口時間內數據特征的熵值,再與閾值進行比較以判斷是否異常,包含確定窗口周期、計算窗口特征熵值、設置閾值3個重要環節。
2.1.1 確定窗口周期
該周期時間的確定會影響檢測環節的實效性,若設置較大,則會因采樣不及時,導致特征數據檢測不準確;若設置較小,則增加南向接口和控制器的資源占用。因此,采用自適應的方式設置采樣周期,不僅能夠減少資源占用,還可以保證數據流特征的準確性。
2.1.2 計算窗口特征熵值
熵即信息熵,信息熵值越小,樣本的不確定性就越大;信息熵值越大,樣本的不確定性就越小。當SDN受到DDoS攻擊時,使用源IP地址欺騙,窗口中受害者的目標IP地址會相對集中。因此,本文通過計算目標IP地址的熵值作為初檢。樣本熵值計算公式如式(1)所示。
E(d)=-∑c-1i=0P(i|d)log2P(i|d)(1)
其中,c代表窗口容量,d代表窗口樣本,P(i丨d)代表目標IP地址占總樣本IP地址的比例。
2.1.3 確定閾值
閾值設置不合適將造成較高的誤報率。閾值通常包含靜態閾值和動態閾值2種。其中靜態閾值設置增加了人為設置的因素,不易根據網絡流量變化而調整,沈浩桐等[6]提出利用指數加權移動平均(Exponentially Weighted Moving Average,EWMA)模型動態閾值計算方式,當目標IP地址的熵值在動態閾值區域,則進行下一個窗口采樣,反之,則使預警信號進入攻擊檢測模塊,以提高模型的準確率并降低其誤報率。
2.2 基于機器學習的攻擊檢測模塊
攻擊檢測模塊基于機器學習算法檢測疑似異常流量是否屬于DDoS攻擊。此處構建二分類模型進行攻擊檢測,主要包含數據收集、數據預處理、數據建模、模型評價4個模塊。其中數據收集模塊主要是通過初級預警模塊收集疑似異常的流量信號。異常流量與正常流量之間有明顯的特征區別,根據DDoS攻擊特征,所建模型進行流表項分析,構建符合DDoS攻擊的特征并進行標準化處理。對處理后的六元組特征序列進行各特征信息增益的計算,并進行決策樹分類檢測。最終,本文通過比較決策樹、支持向量機(Support Vector Machine,SVM)、KNN等多種分類算法的檢測效果進行檢測模型評價。具體分類模型檢測流程如圖2所示,其中關鍵環節是特征構造、分類算法的選用。
2.2.1 特征構造
當SDN發生DDoS攻擊時,攻擊者會偽造數據包源IP地址,使得源IP地址分散程度增加,并不斷地發送請求,使得單位時間的流量增加異常,針對受害者的攻擊,使得目標IP地址相對集中。因此,從異常流量的流表信息中獲取相關信息,構造DDoS攻擊特征信息六元組。
(1)流表平均包數。DDoS攻擊常以較小的數據流發送大量的請求,或者以大容量的數據包占用網絡資源,實施攻擊。因此,數據流表的平均數據包過高或過低均有可能被判定為DDoS攻擊。
(2)流表平均字節數。同樣地,攻擊者會使用較少的流表平均字節數以提高DDoS攻擊效率,或使用較多的流表平均字節數占用系統資源。
(3)流表增速。當DDoS攻擊發送大量數據包請求至受害主機時,系統中在一定時間間隔內的數據流請求增速明顯,這是DDoS攻擊中不可忽略的重要特征。
(4)源IP地址的熵值。DDoS攻擊通常發生在源IP地址相對松散、目標IP地址相對集中的網絡中。預警模塊算法已經根據目標IP地址的信息熵進行初步檢測,在該算法中計算源IP地址的信息熵,當DDoS攻擊發生時,源IP地址隨機性較大,其熵值也相對較大。
(5)端口增速。服務端口通常處在相對穩定的范圍內,當發生DDoS攻擊時,端口增速較之前的正常狀態有明顯提升。
(6)成對流比例。當發生DDoS攻擊時,其偽造源IP地址,使單向流量增加,該過程表現為目標IP地址響應源IP地址的流表項減少,源IP地址流表項增多,進而使對稱流量比例明顯下降。
2.2.2 分類算法
機器學習在攻擊檢測流量分類中起著關鍵作用,不同的算法存在不同的分類效果和應用。常用的分類算法包括決策樹、支持向量機、K近鄰算法等。決策樹算法采用自頂向下遞歸的方式,總結出分類決策規則并用樹狀圖來體現,其利用信息增益,選擇信息增益最大的特征作為決策樹節點的分割特征。決策樹算法簡單,計算成本低。支持向量機算法相對決策樹具有更高的計算復雜度。K近鄰算法支持增量學習,但其計算成本較大。
因此,為了提高算法的檢測速率,本文使用決策樹算法進行攻擊檢測分類,同時,與支持向量機、K近鄰算法進行分類效果的比較,以檢驗不同分類模型在攻擊檢測中的準確率和誤報率。
3 實驗與分析
實驗過程中,洪范發起DDoS攻擊,抓取的OpenFlow數據包具有正常流量與異常流量,通過動態閾值判定,進行目標IP地址的信息熵檢測,篩選出疑似異常流量。對疑似異常流量構造6個特征屬性,該實驗步驟形成6維數據集,劃分20%作為訓練集,并多次動態地選取訓練集。該處實驗使用決策樹算法原理,先對特征信息增益值進行計算,選擇信息增益最大的特征進行迭代分割節點構建決策樹,并使用投票計數,賦予權重并排序,選擇最優特征子集,最終進行分類預測。將此模型的預測結果與支持向量機、K近鄰算法模型進行比較,其在查準率、召回率等方面均有明顯提升,該模型的檢測時間也有所減少。
4 結語
本文結合信息熵與機器學習算法進行SDN中DDoS攻擊檢測,通過把目標IP地址的信息熵進行疑似異常流量的初級預警,再用決策樹算法構建的檢測模型檢出DDoS攻擊。該模型在查準率、召回率和檢測時間等方面均表現較好。接下來,課題組將進一步研究對初級預警模型進行信息熵的組合算法,如結合源IP地址熵值構造條件熵、聯合熵等,或在分類檢測模塊進行集成算法優化,進一步提高檢測的準確率,降低誤報率。
參考文獻
[1]AMIN R,REISSLEIN M,SHAH N. Hybrid SDN networks:a survey of existing approaches[J].IEEE Communications Surveys amp; Tutorials,2018(4):3259-3306.
[2]張龍,王勁松.SDN中基于信息熵與DNN的DDoS攻擊檢測模型[J].計算機研究與發展,2019(5):909-918.
[3]齊鎏嶺.SDN中基于熵和神經網絡的DDoS攻擊檢測方法研究[D].保定:河北大學,2019.
[4]傅友,鄒東升.SDN中基于條件熵和決策樹的DDoS攻擊檢測方法[J].重慶大學學報,2023(7):1-8.
[5]王智,張浩,顧建軍.SDN網絡中基于聯合熵與多重聚類的DDoS攻擊檢測[J].信息網絡安全,2023(10):1-7.
[6]沈浩桐,魏松杰.SDN環境下DDoS攻擊檢測和緩解系統[J].計算機系統應用,2023(8):133-139.
Construction of DDoS attack detection model based on information entropy and machine learning in SDN
Abstract:The centralized control features of software-defined network(SDN)make network management more flexible and efficient, but it also becomes the main object of network attacks, among which distributed denial of service attack DDoS is one of the main threats that SDN faces. Combining the two commonly used detection methods of statistical learning and machine learning in SDN networks, the DDoS attack detection model is analyzed based on information entropy and machine learning algorithm. The threshold value of information entropy is used to judge and detect suspected abnormal traffic, and then the detection model is used to construct by decision tree algorithm to detect DDoS attacks. The six feature attributes are constructed in the classification detection model. The optimal feature subset is selected by calculating the information gain value. Compared with other classification algorithms, this model improves the detection accuracy and reduces the detection time.
Key words: software-defined network; distributed denial of service attack; information entropy; attack detection