田俊峰,齊鎏嶺
?
SDN中基于條件熵和GHSOM的DDoS攻擊檢測方法
田俊峰1,2,齊鎏嶺1,2
(1. 河北大學(xué)網(wǎng)絡(luò)空間安全與計算機(jī)學(xué)院,河北 保定 071002;2. 河北省高可信信息系統(tǒng)重點實驗室,河北 保定 071002)
軟件定義網(wǎng)絡(luò)(SDN, software defined networking)簡化了網(wǎng)絡(luò)結(jié)構(gòu),但同時控制器也面臨著“單點失效”的安全威脅。攻擊者可以發(fā)送大量交換機(jī)流表中并不存在的偽造數(shù)據(jù)流,影響網(wǎng)絡(luò)正常性能。為了準(zhǔn)確檢測這種攻擊的存在,提出了基于條件熵和GHSOM(growing hierarchical SOM)神經(jīng)網(wǎng)絡(luò)的DDoS攻擊檢測方法MBCE&G 。首先,依據(jù)此DDoS的階段性特征,定位了網(wǎng)絡(luò)中的受損交換機(jī)以發(fā)現(xiàn)可疑攻擊流;然后,依據(jù)可疑攻擊流種類的多樣性特征,以條件熵的形式提取了四元組特征向量,將其作為神經(jīng)網(wǎng)絡(luò)的輸入特征進(jìn)行更加精確的分析;最后,搭建了實驗環(huán)境完成驗證。實驗結(jié)果顯示,MBCE&G檢測方法可以有效檢測SDN中的DDoS攻擊。
軟件定義網(wǎng)絡(luò);條件熵;神經(jīng)網(wǎng)絡(luò);DDoS攻擊
軟件定義網(wǎng)絡(luò)作為新型網(wǎng)絡(luò)架構(gòu)給傳統(tǒng)網(wǎng)絡(luò)帶來了巨大的變革和提升。在云計算環(huán)境中,隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,以TCP/IP架構(gòu)為基礎(chǔ)的傳統(tǒng)網(wǎng)絡(luò)架構(gòu)在網(wǎng)絡(luò)優(yōu)化時遇到了諸多問題[1],主要表現(xiàn)為:1) 由于控制平面和數(shù)據(jù)平面難以分離,使網(wǎng)絡(luò)更新變得十分煩瑣,一旦確定了轉(zhuǎn)發(fā)策略,如果后期需要對策略進(jìn)行調(diào)整,只能通過對設(shè)備配置進(jìn)行大規(guī)模更改才能實現(xiàn);2) 大規(guī)模的網(wǎng)絡(luò)設(shè)備使管理員對這些設(shè)備的管理也變得十分困難。
SDN作為新型網(wǎng)絡(luò)架構(gòu),將傳統(tǒng)網(wǎng)絡(luò)架構(gòu)解耦為數(shù)據(jù)平面、控制平面和應(yīng)用平面,簡化了網(wǎng)絡(luò)結(jié)構(gòu),使網(wǎng)絡(luò)控制變得更為靈活和集中。其開放性和可編程性,令SDN在網(wǎng)絡(luò)虛擬化、云數(shù)據(jù)中心網(wǎng)絡(luò)、無線局域網(wǎng)和云計算中得到了大規(guī)模的應(yīng)用[2]。
由于SDN的廣泛應(yīng)用,其本身的安全問題日益突出[1]。其中,DDoS攻擊由于可以造成控制器過載,對SDN的威脅巨大。Shin等[3]首次論述了在SDN中存在DDoS攻擊的可能性,并且進(jìn)行了實驗論證。Neelam等[4]將傳統(tǒng)網(wǎng)絡(luò)中的各種DDoS攻擊形式在SDN中逐一進(jìn)行了測試,總結(jié)出不同種類的DDoS攻擊對SDN的影響。
OpenFlow是SDN中的南向接口協(xié)議,定義了SDN交換機(jī)和SDN控制器之間的通信規(guī)則。在OpenFlow中,如果交換機(jī)遇到無法匹配的流請求信息,會利用packet_in數(shù)據(jù)幀對其封裝并發(fā)送至控制器,由控制器為其提供相關(guān)的應(yīng)答策略,這種工作模式極大地增加了控制器遭受DDoS攻擊的可能性。攻擊者可以制造大量的在交換機(jī)流表中并不存在的惡意流請求信息,進(jìn)而交換機(jī)將大量的packet_in數(shù)據(jù)幀發(fā)送至控制器,使控制器資源被耗盡。
為了準(zhǔn)確分析和精確檢測這種DDoS攻擊,本文提出將信息熵和GHSOM神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,將DDoS流量的攻擊特征用條件熵進(jìn)行量化,再將其輸入GHSOM網(wǎng)絡(luò)中進(jìn)行攻擊檢測。并且在進(jìn)行流量特征提取之前,首先定位受損交換機(jī),實現(xiàn)對可疑流量的精確定位。
Shin等[3]首次通過實驗論述了在SDN中存在DDoS攻擊的可能性,之后的大量工作也同樣指出了在SDN中存在針對控制器的DDoS攻擊隱患。Chen等[5]以不同速率向SDN中發(fā)送偽造的數(shù)據(jù)流,觀察合法數(shù)據(jù)流受到的影響。實驗結(jié)果表明:當(dāng)攻擊流強(qiáng)度超過300 flows/s時,便會出現(xiàn)合法數(shù)據(jù)流的分組丟失情況;當(dāng)攻擊流強(qiáng)度達(dá)到1 200 flows/s時,超過60%的合法數(shù)據(jù)流匹配失敗。Neelam等[4]分析了傳統(tǒng)DDoS攻擊對SDN的影響,其中,HTTP和TCP_SYN洪泛攻擊并不需要大規(guī)模的流量沖擊,即可對控制器造成90%的table_miss攻擊效果,且其對控制器造成的危害是不可逆的。一些針對OpenFlow協(xié)議的研究[6-7]提出DDoS攻擊同樣可以對OpenFlow協(xié)議造成影響,進(jìn)而影響交換機(jī)和控制器之間的通信情況。
SDN中的DDoS攻擊檢測方法主要分為以下3類:基于策略的檢測方法、基于統(tǒng)計信息的檢測方法和基于機(jī)器學(xué)習(xí)的檢測方法[8]?;诓呗缘臋z測方法類似于防火墻機(jī)制,通過允許合法請求、拒絕非法請求的形式,達(dá)到維護(hù)網(wǎng)絡(luò)安全的目的。基于統(tǒng)計信息的檢測方法通過信息熵可以良好地體現(xiàn)被測序列的隨機(jī)性。Mousavi等[9]提出了一種針對SDN控制器的DDoS攻擊的早期檢測算法,該算法基于數(shù)據(jù)分組目的地址的分布概率計算熵值,通過與閾值進(jìn)行比較,可以在250個數(shù)據(jù)分組之內(nèi)判斷是否發(fā)生DDoS攻擊,實現(xiàn)早期檢測。該檢測方法僅對數(shù)據(jù)分組的目的地址進(jìn)行了熵值的計算,而對攻擊特征的描述較為單一。Dong等[10]提出了一種針對SDN控制器的DoS攻擊的檢測方法,該方法通過檢測low-traffic確定了low-traffic事件,并且通過序貫概率比測試控制了攻擊檢測的漏報率和誤報率。在基于機(jī)器學(xué)習(xí)的檢測方法中,神經(jīng)網(wǎng)絡(luò)通過對訓(xùn)練樣本的學(xué)習(xí)后,可以實現(xiàn)對攻擊流量的高效檢測。Braga等[11]利用SDN集中管控的特點,提出利用自組織神經(jīng)網(wǎng)絡(luò)SOM對信息流進(jìn)行分類,通過設(shè)立的六元組特征(信息流中數(shù)據(jù)分組的平均數(shù)量、信息流的平均字節(jié)數(shù)、信息流的平均持續(xù)時間、配對信息流的百分比、單信息流的增長率、不同端口的增長率)對DDoS攻擊進(jìn)行檢測,然而并沒有考慮到DDoS攻擊對SDN控制器的影響。除此之外,SOM神經(jīng)網(wǎng)絡(luò)神經(jīng)元的排列形式較為固定,對攻擊檢測的實時性有一定影響。姚琳元等[12]同樣使用了基于神經(jīng)網(wǎng)絡(luò)的檢測方法,首先提取了基于目的IP地址的檢測七元組,通過GHSOM神經(jīng)網(wǎng)絡(luò)對DDoS攻擊進(jìn)行了檢測。相較SOM神經(jīng)網(wǎng)絡(luò),GHSOM神經(jīng)網(wǎng)絡(luò)具有生長、分層的特性,結(jié)構(gòu)更加靈活,數(shù)據(jù)處理更加高效。
在傳統(tǒng)網(wǎng)絡(luò)中,研究者對GHSOM神經(jīng)網(wǎng)絡(luò)也進(jìn)行了一定的研究工作。楊雅輝等[13]針對傳統(tǒng)的GHSOM網(wǎng)絡(luò)只能處理數(shù)字型樣本的缺陷,對GHSOM網(wǎng)絡(luò)進(jìn)行改進(jìn),提出一種可以混合處理數(shù)字型和字符型樣本的改進(jìn)GHSOM入侵檢測算法。陽時來等[14]基于半監(jiān)督GHSOM的入侵檢測方法,將傳統(tǒng)無監(jiān)督的GHSOM模型進(jìn)行了改進(jìn)。
通過上述分析可知,雖然在傳統(tǒng)網(wǎng)絡(luò)中DDoS的檢測算法多種多樣,但是目前對SDN中DDoS的攻擊檢測主要還是基于信息熵和神經(jīng)網(wǎng)絡(luò)技術(shù),并且GHSOM神經(jīng)網(wǎng)絡(luò)在傳統(tǒng)網(wǎng)絡(luò)中的入侵檢測方面已有較成熟的研究。信息熵能夠良好地體現(xiàn)被測序列的隨機(jī)性,通過配置相應(yīng)參數(shù)的閾值,可以對DDoS攻擊進(jìn)行檢測。然而單純使用基于熵的檢測算法若存在待檢測數(shù)據(jù)維數(shù)較多的情況,則難以對SDN中的大量數(shù)據(jù)進(jìn)行精確刻畫。神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的抽象和概括能力,可以對多維數(shù)據(jù)進(jìn)行高效處理。
因此,結(jié)合SDN中針對控制器的DDoS攻擊特征,提出了基于條件熵和GHSOM神經(jīng)網(wǎng)絡(luò)的DDoS攻擊檢測方法MBCE&G。MBCE&G具有如下特點。
1) 針對攻擊的階段性特征,通過確定SDN中的受損交換機(jī)來判斷可疑的DDoS攻擊流量。
2) 針對攻擊種類的多樣性特征,提出使用基于目的地址和目的端口的條件熵作為神經(jīng)網(wǎng)絡(luò)的輸入向量,更加準(zhǔn)確地表現(xiàn)了DDoS攻擊流量中數(shù)據(jù)分組地址間多對一的映射關(guān)系。
3) 利用神經(jīng)網(wǎng)絡(luò)強(qiáng)大的分類能力,對DDoS攻擊進(jìn)行精確檢測。
信息熵[15]用對數(shù)函數(shù)度量隨機(jī)變量的期望,定量地表示變量的隨機(jī)性,變量的隨機(jī)性越大,其熵值越大,反之亦然。
根據(jù)式(1)得到關(guān)于條件熵的定義,對于隨機(jī)變量和,關(guān)于的條件熵可以表示為
條件熵可以更加精確地表示當(dāng)某一個隨機(jī)變量為定值時,另一個隨機(jī)變量的隨機(jī)性分布,可以很好地表現(xiàn)SDN中針對控制器的DDoS攻擊流量的特征。
GHSOM網(wǎng)絡(luò)為多層樹狀結(jié)構(gòu),如圖1所示,每一層結(jié)構(gòu)中包含多個獨(dú)立的SOM網(wǎng)絡(luò),每個子網(wǎng)都遵循SOM過程。和SOM網(wǎng)絡(luò)相比,GHSOM網(wǎng)絡(luò)增加了橫向和縱向擴(kuò)展方向,并且每個方向都有自己的擴(kuò)展條件。
圖1 GHSOM網(wǎng)絡(luò)示意
第0層初始化:第0層只有一個神經(jīng)元,在訓(xùn)練過程中,全部待訓(xùn)數(shù)據(jù)將落在該神經(jīng)元上,并且將待訓(xùn)數(shù)據(jù)的平均值作為該神經(jīng)元的初始權(quán)值。
訓(xùn)練過程:在訓(xùn)練開始之后,第0層的神經(jīng)元作為父神經(jīng)元會產(chǎn)生一個新的SOM子網(wǎng),該子網(wǎng)共包含4個神經(jīng)元,之后會從輸入數(shù)據(jù)中取樣執(zhí)行SOM過程,進(jìn)行進(jìn)一步的細(xì)分。
在針對控制器的DDoS中,攻擊過程被分為2個階段:攻擊者發(fā)送大量偽造數(shù)據(jù)流到達(dá)SDN交換機(jī),在交換機(jī)內(nèi)部出現(xiàn)流表不匹配情況;交換機(jī)發(fā)送大量packet_in數(shù)據(jù)幀到達(dá)控制器。和傳統(tǒng)網(wǎng)絡(luò)中的DDoS攻擊不同,攻擊者不需要知道控制器的IP地址與IP端口,就可以發(fā)動針對控制器的DDoS攻擊,屬于盲DDoS攻擊[16]。
然而,SDN更多表現(xiàn)的是一種思想,即網(wǎng)絡(luò)的自動化運(yùn)維,具體表現(xiàn)為數(shù)據(jù)和控制分離。OpenFlow協(xié)議是實現(xiàn)SDN數(shù)控分離的一種手段,就OpenFlow協(xié)議本身而言,它是一種網(wǎng)絡(luò)控制器和網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備之間交換信息和下發(fā)命令的協(xié)議,主要是為了實現(xiàn)二層交換和三層路由。因此,雖然SDN改變了傳統(tǒng)網(wǎng)絡(luò)路由設(shè)備的轉(zhuǎn)發(fā)方式,但并沒有改變數(shù)據(jù)分組的封裝結(jié)構(gòu)。所以在網(wǎng)絡(luò)的數(shù)據(jù)傳輸中,目的IP地址仍然是數(shù)據(jù)分組到達(dá)目的地的重要依據(jù)。
所以,這種針對SDN控制器的DDoS攻擊既有傳統(tǒng)網(wǎng)絡(luò)中DDoS攻擊的一般特征,結(jié)合SDN的分層結(jié)構(gòu)又有一些新的表現(xiàn)形式,具體如下。
圖2 檢測流程
1) 階段性。此類攻擊具有明顯的階段特征,攻擊者發(fā)送攻擊流量到達(dá)交換機(jī),交換機(jī)產(chǎn)生packet_in數(shù)據(jù)幀發(fā)送至控制器,所以攻擊流量并沒有直接到達(dá)控制器。
2) 多樣性。在傳統(tǒng)網(wǎng)絡(luò)中的DDoS攻擊中,任何可以產(chǎn)生大量packet_in消息的攻擊形式都可用來發(fā)動針對控制器的DDoS攻擊。其中,文獻(xiàn)[4]已經(jīng)通過實驗論證,HTTP洪泛攻擊和TCP_SYN洪泛攻擊并不需要大規(guī)模流量,即可對控制器造成不可恢復(fù)的攻擊效果。
3) 多對一映射。攻擊者從多個攻擊源對目標(biāo)發(fā)起攻擊,因此對于攻擊目標(biāo)而言,攻擊流量中的源地址相對于目的地址為多對一映射,而正常流量則具有多對一、一對一、一對多這3種映射形式;除此之外,合法用戶在一定時間段內(nèi)請求的服務(wù)比較單一,而攻擊者為了快速消耗目標(biāo)資源,通常會請求盡可能多的服務(wù),因此,目的端口與目的地址之間也存在著多對一的映射關(guān)系;最后,正常流量和攻擊流量在數(shù)據(jù)分組長度上也有很大的區(qū)別。
基于上述特征,MBCE&G首先通過分析受損交換機(jī)的存在,判斷出SDN中確實存在流量突發(fā)情況;然后通過受損交換機(jī)的可疑流量,利用條件熵提取攻擊特征;最后通過GHSOM神經(jīng)網(wǎng)絡(luò)對可疑流量進(jìn)行分析,判斷DDoS攻擊。檢測流程如圖2所示。
將攻擊者發(fā)送的大量偽造數(shù)據(jù)流定義為新流(new_flow),那么檢測算法的第一步就是確認(rèn)這些new_flow的存在。在OpenFlow協(xié)議中,packet_in數(shù)據(jù)幀可以側(cè)面反映出交換機(jī)是否遇到了無法匹配的數(shù)據(jù)流。另一方面,由于交換機(jī)是攻擊流到達(dá)的第一個SDN實體,因此首先通過監(jiān)測packet_in數(shù)據(jù)幀定位受損交換機(jī),進(jìn)而確認(rèn)new_flow的存在。
通過監(jiān)測一段時間內(nèi)packet_in數(shù)據(jù)幀的個數(shù)來表示交換機(jī)的流請求速率,進(jìn)而說明有流量突發(fā)情況的存在。
將整個檢測時長定義為,共有個檢測時隙。每個檢測時隙的檢測時長為,和控制器設(shè)置的idle_timeout相等,通常為5 s。SDN為了提高交換機(jī)的匹配效率,設(shè)置了2種超時時間:一種是軟超時時間idle_tiemout,表示一條流表項不再匹配數(shù)據(jù)分組時能持續(xù)的最大時間;另一種是硬超時時間hard_timeout, 表示一條流表項在交換機(jī)流表中的最大生存時間。一旦達(dá)到時間期限,交換機(jī)就會自動刪除相應(yīng)的表項,此時交換機(jī)內(nèi)的流表項就會更新。通過上述分析,可知idle_time≤hard_time,即最少在一個idle_time時間內(nèi),交換機(jī)內(nèi)的流表項是不變的,將idle_time的時間長度設(shè)置為每個檢測時隙的檢測時長,可在每個idle_time的時間長度內(nèi),檢測packet_in數(shù)據(jù)幀的個數(shù)。
在個檢測時隙中,關(guān)于交換機(jī)的流請求速率的集合可以表示為
算法 交換機(jī)流請求速率算法
輸入 packet_in數(shù)據(jù)幀
輸出 受損交換機(jī)
for= 1;≤;++ do
則R為受損交換機(jī);
end if
end for
當(dāng)檢測到網(wǎng)絡(luò)中交換機(jī)的流請求速率超過閾值時,并不能判斷發(fā)生DDoS攻擊,因為存在著合法用戶的突發(fā)流量。因此,上述過程只能判斷流量突發(fā)情況確實存在,不能作為判斷攻擊發(fā)生的依據(jù),還需要更加精細(xì)地檢測,本階段對通過受損交換機(jī)的數(shù)據(jù)分組的頭信息進(jìn)行分析。
針對攻擊特征,提出使用基于目的地址和目的端口的條件熵作為神經(jīng)網(wǎng)絡(luò)的輸入向量。當(dāng)確定網(wǎng)絡(luò)中的受損交換機(jī)后,對通過受損交換機(jī)的流量進(jìn)行特征提取,得到以下多維條件熵特征:{(sip|dip),(dport|dip),(sip|dport),(psize|dip)}。
1)(sip|dip):源IP地址關(guān)于目的IP地址的條件熵。對于DDoS攻擊而言,攻擊流量中源地址相對于目的地址具有明顯的多對一的映射關(guān)系,但是正常流量間具有多對一、一對多與一對一等多種映射關(guān)系。所以,當(dāng)源IP地址和目的IP地址之間存在多對一的映射關(guān)系時,(sip|dip)的值會顯著增加。
2)(dport|dip):目的端口關(guān)于目的IP地址的條件熵。對于DDoS攻擊而言,攻擊者通常會向目標(biāo)主機(jī)請求盡可能多的服務(wù),目的端口和目的地址之間具有多對一映射關(guān)系,而合法用戶通常在一段時間內(nèi)請求的服務(wù)較為單一。(dport|dip)可用來描述目的端口和目的地址間的多對一映射關(guān)系。
3)(sip|dport):源IP地址關(guān)于目的端口的條件熵。針對某一特定服務(wù)的DDoS攻擊而言,大量主機(jī)會向某固定端口請求服務(wù),在這個過程中,同樣有很大概率會造成交換機(jī)中流表不匹配,源地址和目的端口間存在多對一的映射關(guān)系。(sip|dport)可用來描述源地址和目的端口之間的多對一關(guān)系。
4)(psize|dip):數(shù)據(jù)分組大小關(guān)于目的IP地址的條件熵。上述條件熵并不能很好地區(qū)分“合法突發(fā)流量”和DDoS攻擊流量之間的區(qū)別。對于合法突發(fā)流量,對目標(biāo)發(fā)送的數(shù)據(jù)分組大小往往是無規(guī)律的。而DDoS攻擊流量往往具有固定大小的數(shù)據(jù)分組,因此相對于正常值,異常狀況下該條件熵將下降。
在使用神經(jīng)網(wǎng)絡(luò)進(jìn)行攻擊檢測之前,需要利用訓(xùn)練樣本對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,目的是得到一個穩(wěn)定的網(wǎng)絡(luò)結(jié)構(gòu)。
訓(xùn)練過程:訓(xùn)練過程就是構(gòu)造GHSOM網(wǎng)絡(luò)的過程。根據(jù)GHSOM算法的流程,主要有以下4個步驟。1) 初始第0層神經(jīng)元,神經(jīng)元的權(quán)值向量為所有輸入模式向量的平均值,計算0層平均量化誤差;2) 采用自頂向下的方式開始訓(xùn)練,將第0層神經(jīng)元擴(kuò)展為第1層2×2結(jié)構(gòu)的SOM子網(wǎng),此SOM子網(wǎng)采用傳統(tǒng)的SOM學(xué)習(xí)方法;3) 將最新層的獲勝神經(jīng)元的平均量化誤差和0層平均量化誤差進(jìn)行比較,判斷橫向擴(kuò)展條件,若滿足條件,在具有最大量化誤差的誤差神經(jīng)元和距離它距離最遠(yuǎn)的神經(jīng)元之間添加一行或一列,繼續(xù)進(jìn)行SOM學(xué)習(xí),直到不能再進(jìn)行橫向擴(kuò)展;4) 當(dāng)SOM子網(wǎng)穩(wěn)定不再進(jìn)行擴(kuò)展后,若某個神經(jīng)元滿足縱向擴(kuò)展條件,則從這個神經(jīng)元擴(kuò)展出一個新的2×2結(jié)構(gòu)子網(wǎng)。對于新的子網(wǎng),重復(fù)上述訓(xùn)練過程,直到神經(jīng)元的數(shù)量和層次不再增加,視為訓(xùn)練結(jié)束。
檢測過程:從流量中提取出DDoS攻擊的條件熵特征,輸入神經(jīng)網(wǎng)絡(luò),和之前的訓(xùn)練結(jié)果進(jìn)行對比,判斷流量是否為DDoS攻擊流量。
生成報告:生成檢測報告,由管理員決定下一步動作。
圖3 網(wǎng)絡(luò)拓?fù)?/p>
本文選取POX控制器作為SDN的控制器。POX作為一種輕量級的OpenFlow控制器平臺,它的前身是NOX控制器,具有良好的可編程性。交換機(jī)使用支持OpenFlow協(xié)議的華為千兆交換機(jī),型號為S5720-32C-HI-24S-AC。主機(jī)配置為CPU 3.30 GHz,4 GB內(nèi)存,Windows 10操作系統(tǒng)。
網(wǎng)絡(luò)拓?fù)淙鐖D3所示,POX控制器連接3臺交換機(jī)。由于本文所研究的針對控制器的DDoS攻擊仍然需要目的地址作為數(shù)據(jù)分組的目的依據(jù),因此仍然需要目標(biāo)主機(jī)作為攻擊目標(biāo)。交換機(jī)1、交換機(jī)4和交換機(jī)5分別連接3臺受攻擊主機(jī),交換機(jī)2連接的主機(jī)模擬發(fā)送攻擊流量,交換機(jī)3作為正常交換機(jī)提供正常的數(shù)據(jù)轉(zhuǎn)發(fā)。
實驗使用TFN2K攻擊軟件獲得攻擊流量,用于訓(xùn)練和檢測。為了不失一般性,取林肯實驗室的DARPA 1999 數(shù)據(jù)集中第1、3周中不包含攻擊流量的正常流量數(shù)據(jù)集作為背景流量,并且依據(jù)文獻(xiàn)[17]中提到的網(wǎng)絡(luò)流量中3種常見網(wǎng)絡(luò)協(xié)議(ICMP、TCP、UDP)的比例,5%為ICMP流量,85%為TCP流量,10%為UDP流量。
實驗包括訓(xùn)練和檢測2個階段,均使用連續(xù)的1 500個樣本。在訓(xùn)練階段,確定交換機(jī)流請求速率檢測閾值以及GHSOM神經(jīng)網(wǎng)絡(luò)的各個參數(shù)。在檢測階段,利用測試樣本對MBCE&G方法進(jìn)行測試,并且和基于GHSOM神經(jīng)網(wǎng)絡(luò)的七元組檢測方法、基于SOM神經(jīng)網(wǎng)絡(luò)的式元組檢測方法、基于目的地址的熵檢測方法進(jìn)行了對比。
對背景流量和攻擊流量進(jìn)行混合采樣用于MBCE&G檢測方法的訓(xùn)練,在訓(xùn)練過程中將取樣時間設(shè)置為100 s,采樣周期為5 s,此處采樣周期和4.2節(jié)的idle_timeout對應(yīng),為100 s。其中,有100 s的連續(xù)正常流量,在30~60 s之間加入了攻擊流量。實驗確定交換機(jī)流請求速率檢測閾值和GHSOM神經(jīng)網(wǎng)絡(luò)的各個參數(shù),并且對選取的四元組條件熵特征進(jìn)行了可行性分析。
5.3.1 交換機(jī)流請求速率分析
對交換機(jī)流請求速率進(jìn)行分析。在數(shù)據(jù)采集過程中,對交換機(jī)發(fā)送的packet_in數(shù)據(jù)幀進(jìn)行了采樣,圖4顯示了5臺交換機(jī)的packrt_in數(shù)據(jù)幀的流量速率隨時間的變化曲線??梢钥吹剑?~10 s這段時間內(nèi),5臺交換機(jī)發(fā)送的packet_in數(shù)據(jù)幀都有所上升,此時因為隨著未知流的進(jìn)入,交換機(jī)需要向控制器詢問流表規(guī)則;控制器下發(fā)規(guī)則之后,10~30 s時間的packet_in速率趨于平緩;在30 s之后的一段時間內(nèi),交換機(jī)1、交換機(jī)4、交換機(jī)5的packet_in數(shù)據(jù)幀的速率驟升,但是期間達(dá)到的峰值并不相同,并且維持了一段時間,整個過程持續(xù)了30 s。在此過程結(jié)束之后,packet_in數(shù)據(jù)幀的速率和正常交換機(jī)的速率大致相等。
圖4 packet_in數(shù)據(jù)幀流量變化曲線
根據(jù)在采樣過程中統(tǒng)計的packet_in數(shù)據(jù)幀的數(shù)量,依據(jù)式(3)得到了各交換機(jī)的流請求速率,5臺交換機(jī)的流請求速率隨時間的變化曲線如圖5所示。
圖5 交換機(jī)流請求速率變化曲線
5.3.2 四元組條件熵分析
圖6中的(a)、(b)、(c)、(d)分別代表了通過受損交換機(jī)1、受損交換機(jī)4、受損交換機(jī)5的流量的(sip|dip),(dport|dip),(sip|dport),(psize|dip)隨時間的變化曲線。由于在DDoS攻擊中前3種條件熵都表現(xiàn)出明顯的多對一特征,而正常流量間具有多對一、一對多與一對一等多種映射關(guān)系,因此在圖6(a)、(b)和(c)中可以看出相應(yīng)的條件熵都有明顯的升高。從圖6(d)可以看出,合法數(shù)據(jù)分組對目標(biāo)發(fā)送的數(shù)據(jù)分組的大小往往是無規(guī)律的,此時熵值較高,并且趨于平穩(wěn)。當(dāng)存在攻擊流量時,由于數(shù)據(jù)分組通常具有固定長度,因此相對于正常值熵值有所下降。上述四元組特征在攻擊前后都表現(xiàn)出了明顯的差異性,可以用來檢測SDN是否遭受到了DDoS攻擊。
圖6 條件熵變化曲線對比圖
5.3.3 檢測率分析
在檢測過程中,將本文方法分別和GHSOM方法、SOM方法以及熵檢測法進(jìn)行了對比,并使用了相同的采樣數(shù)據(jù)。依照文獻(xiàn)[12]提取了七元組特征、依照文獻(xiàn)[11]提取了六元組特征、依照文獻(xiàn)[9]對目的地址求熵的方法分別進(jìn)行了實驗驗證。在實驗中,對正常流量和攻擊流量分別進(jìn)行了3 700次和2 300次訓(xùn)練,1 500次和2 000次檢測。
通過實際檢測,得到了如下的檢測結(jié)果,如表1所示。實驗選取了較有代表性的neptune攻擊、portsweep攻擊和ipsweep攻擊,這3種DDoS攻擊都可以對控制器產(chǎn)生較大影響。通過TFN2K攻擊軟件發(fā)送不同的攻擊流量,將4種檢測方法的檢測率進(jìn)行了對比。從表1可以看出,MBCE&G檢測方法和其他3種相比,都擁有較高的檢測率。其中,針對portsweep的攻擊,熵檢測法的檢測率較低。因為這種攻擊是為了偵測網(wǎng)絡(luò)中的更多主機(jī),目的IP地址較為分散,所以熵檢測法中基于目的IP地址的熵值會比較高,導(dǎo)致檢測率較低。同理,熵檢測法對ipsweep攻擊的檢測率也不理想。而本文所提出的MBCE&G檢測方法,在檢測之前確定了受損交換機(jī),并且以目的地址和目的端口為基準(zhǔn)提取了不同的條件熵。相比文獻(xiàn)[12]的七元組特征、文獻(xiàn)[11]的六元組特征、文獻(xiàn)[9]的特征選取更加明確,更能突出針對控制器的DDoS攻擊流量的多對一特征。
表1 檢測率對比
5.3.4 檢測性能及算法開銷分析
為了評估算法的檢測性能,針對neptune、portsweep、ipsweep攻擊,將MBCE&G檢測方法和GHSOM檢測方法、SOM檢測方法以及熵檢測法在檢測時間上進(jìn)行了比較,實驗結(jié)果如表2所示。
表2 檢測時間對比
從檢測時間的對比可以看出,MBCE&G檢測方法的檢測時間比其他3種檢測方法的檢測時間要長,這主要是因為MBCE&G檢測方法比其他3種檢測方法更加復(fù)雜。和GHSOM檢測方法相比,MBCE&G增加了對受損交換機(jī)的判定;GHSOM神經(jīng)網(wǎng)絡(luò)的擴(kuò)展過程相比SOM神經(jīng)網(wǎng)絡(luò)具有更多的迭代運(yùn)算;熵檢測法由于只需對熵值和閾值進(jìn)行對比,檢測過程較為簡單,所需時間較短。
除此之外,針對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,可獨(dú)立進(jìn)行線下訓(xùn)練,因此神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程對檢測方法的影響可以忽略。
MBCE&G檢測方法在檢測過程中的開銷主要包括2個部分:受損交換機(jī)的判斷和GHSOM神經(jīng)網(wǎng)絡(luò)的分類判斷。受損交換機(jī)的判斷階段的計算復(fù)雜度主要由網(wǎng)絡(luò)中交換機(jī)的數(shù)量和檢測周期內(nèi)時隙的數(shù)量來決定,在本實驗中交換機(jī)數(shù)量為5臺,時隙數(shù)量為20,而在實際網(wǎng)絡(luò)部署中此階段的計算復(fù)雜度由網(wǎng)絡(luò)中交換機(jī)的數(shù)量決定。GHSOM神經(jīng)網(wǎng)絡(luò)的分類判斷的計算復(fù)雜度主要由待檢測樣本的數(shù)量和算法本身的匹配時間來決定,在本實驗中檢測樣本數(shù)量為1 500個連續(xù)樣本,算法本身的匹配時間受神經(jīng)元的匹配過程影響,單位小于待檢測樣本的數(shù)量,因此在實際網(wǎng)絡(luò)部署中此階段的計算復(fù)雜度由待檢測的樣本數(shù)量決定。
因此,MBCE&G檢測方法的計算復(fù)雜度為(),其中,為交換機(jī)的數(shù)量,為待檢測樣本的數(shù)量。
綜上所述,MBCE&G的檢測時延不足0.6 s,遠(yuǎn)小于采樣周期5 s。在實際運(yùn)行中,若對檢測速度有較高的要求,可冗余設(shè)置多個檢測模塊,以流水線的形式并行處理檢測任務(wù),以此來彌補(bǔ)單一檢測模塊不足以應(yīng)對海量數(shù)據(jù)的缺陷。綜上所述,本文提出的MBCE&G檢測方法是可行的。
本文介紹了SDN中一種針對控制器的DDoS攻擊,分析了其攻擊特征,并且針對這種攻擊提出了MBCE&G檢測算法。該檢測算法在進(jìn)行檢測之前精確定位受損交換機(jī),進(jìn)而確定了可疑攻擊流,之后以條件熵的形式對流量進(jìn)行了特征提取,最后利用了神經(jīng)網(wǎng)絡(luò)強(qiáng)大的分類能力完成攻擊檢測。實驗將MBCE&G檢測算法與經(jīng)典的熵檢測法、基于SOM神經(jīng)網(wǎng)絡(luò)的六元組檢測法和基于GHSOM神經(jīng)網(wǎng)絡(luò)的七元組檢測法進(jìn)行了比較,實驗結(jié)果表明,MBCE&G檢測方法可以有效檢測SDN中針對控制器的DDoS攻擊。
[1] KREUTZ D, RAMOS F M V, ESTEVES V P, et al. Software-defined networking: a comprehensive survey[J]. Proceedings of the IEEE, 2014, 103(1):10-13.
[2] SEZER S, SCOTT H S, CHOUHAN P K, et al. Are we ready for SDN? implementation challenges for software-defined networks[J]. IEEE Communications Magazine, 2013, 51(7):36-43.
[3] SHIN S, GU G. Attacking software-defined networks: a first feasibility study[C]// ACM SIGCOMM Workshop on Hot Topics in Software Defined NETWORKING., 2013:165-166.
[4] NEELAM D, SHASHANK S. Analyzing behavior of DDoS attacks to identify DDoS detection features in SDN[C]//IEEE International Conference on Communication System and Networks (COMSNETS), 2017.
[5] CHEN K Y, JUNUTHULA A R, SIDDHRAU I K ,et al. SDNShiled: towards more comprehensive defense against DDoS attacks on SDN control plane[C]//IEEE Conference on Communications and Networks Security (CNS). 2016.
[6] KLOTI R, KOTRONIS V, SMITH P. OpenFlow: a security analysis[C]//IEEE International Conference on Network Protocols. 2013: 1-6.
[7] BENTON K, CAMP L J, SMALL C. OpenFlow vulnerability assessment[C]// ACM SIGCOMM Workshop on Hot Topics in Software Defined NETWORKING. 2013:151-152.
[8] DAYAL N, MAITY P, SRIVASTAVA S, et al. Research trends in security and DDoS in SDN[J]. Security & Communication Networks, 2016, 9.
[9] MOUSAVI S M, STHILAIRE M. Early detection of DDoS attacks against SDN controllers[C]// International Conference on Computing, NETWORKING and Communications. 2015:77-81.
[10] DONG P, DU X, ZHANG H, et al. A detection method for a novel DDoS attack against SDN controllers by vast new low-traffic flows[C]//IEEE International Conference on Communications. 2016:1-6.
[11] BRAGA R, MOTA E, PASSITO A. Lightweight DDoS flooding attack detection using NOX/OpenFlow[C]// Conference on Local Computer Networks. 2010:408-415.
[12] 姚琳元, 董平, 張宏科. 基于對象特征的軟件定義網(wǎng)絡(luò)分布式拒絕服務(wù)攻擊檢測方法[J]. 電子與信息學(xué)報, 2017, 39(2): 381-388. YAO L Y, DONG P, ZHANG H K. Distributed denial of service attack detection based on object character in software defined network[J]. Journal of Electronica & Information Technology, 2017, 39(2): 381-388.
[13] 楊雅輝, 姜電波, 沈晴霓, 等. 基于改進(jìn)的GHSOM的入侵檢測研究[J]. 通信學(xué)報, 2011, 32(1): 121-126. YANG Y H, JIANG D B, SHEN Q N, et al. Research on intrusion detection based on an improved GHSOM[J]. Journal on Communications, 2011, 32(1): 121-126.
[14] 陽時來, 楊雅輝, 沈晴霓, 等. 一種基于半監(jiān)督GHSOM的入侵檢測方法[J]. 計算機(jī)研究與發(fā)展, 2013, 50(11): 2375-2382. YANG S L, YANG Y H, SHEN Q N, et al. A method of intrusion detection based on semi-supervised GHSOM[J]. Journal of Computer Research and Development, 2013, 50(11): 2375-2382.
[15] SHANNON C E. A mathematical theory of communication[J]. ACM Sigmobile Mobile Computing & Communications Review, 1948, 27(4): 379-423.
[16] MA D, XU Z, LIN D. Defending blind DDoS attack on SDN based on moving target defense[C]//International Conference on Security and Privacy in Communication Systems. 2014: 463-480.
[17] BORGNAT P, DEWAELE G, FUKUDA K, et al. Seven years and one day: sketching the evolution of internet traffic[C]// INFOCOM. 2009: 711-719.
DDoS attack detection method based on conditional entropy and GHSOM in SDN
TIAN Junfeng1,2, QI Liuling1,2
1. School of Cyber Security and Computer, Hebei University, Baoding 071002, China 2. Key Lab on High Trusted Information System in Hebei Province, Baoding 071002, China
Software defined networking (SDN) simplifies the network architecture, while the controller is also faced with a security threat of “single point of failure”. Attackers can send a large number of forged data flows that do not exist in the flow tables of the switches, affecting the normal performance of the network. In order to detect the existence of this kind of attack, the DDoS attack detection method based on conditional entropy and GHSOM in SDN (MBCE&G) was presented. Firstly, according to the phased features of DDoS, the damaged switch in the network was located to find the suspect attack flows. Then, according to the diversity characteristics of the suspected attack flow, the quaternion feature vector was extracted in the form of conditional entropy, as the input features of the neural network for more accurate analysis. Finally, the experimental environment was built to complete the verification. The experimental results show that MBCE&G detection method can effectively detect DDoS attacks in SDN network.
software defined networking, conditional entropy, neural network, DDoS attack
TP309
A
10.11959/j.issn.1000?436x.2018140
田俊峰(1965?),男,河北保定人,河北大學(xué)教授、博士生導(dǎo)師,主要研究方向為信息安全與分布式計算。
齊鎏嶺(1992?),男,河北保定人,河北大學(xué)碩士生,主要研究方向為信息安全與分布式計算。
2017?09?08;
2018?07?03
國家自然科學(xué)基金資助項目(No.61170254);河北省自然科學(xué)基金資助項目(No.F2016201244)
The National Natural Science Foundation of China (No.61170254), The Natural Science Foundation of Hebei Province (No.F2016201244)