亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SDN下基于深度學習混合模型的DDoS攻擊檢測與防御

        2018-08-03 01:09:16李傳煌吳艷錢正哲孫正君王偉明
        通信學報 2018年7期
        關鍵詞:流表特征向量分組

        李傳煌,吳艷,錢正哲,孫正君,王偉明

        ?

        SDN下基于深度學習混合模型的DDoS攻擊檢測與防御

        李傳煌,吳艷,錢正哲,孫正君,王偉明

        (浙江工商大學信息與電子工程學院,浙江 杭州 310018)

        軟件定義網(wǎng)絡(SDN, software defined network)作為一種新興的網(wǎng)絡架構,其安全問題一直是SDN領域研究的熱點,如SDN控制通道安全性、偽造服務部署及外部分布式拒絕服務(DDoS, distributed denial of service)攻擊等。針對SDN安全中的外部DDoS攻擊問題進行研究,提出了一種基于深度學習混合模型的DDoS攻擊檢測方法——DCNN-DSAE。該方法在構建深度學習模型時,輸入特征除了從數(shù)據(jù)平面提取的21個不同類型的字段外,同時設計了能夠區(qū)分流類型的5個額外流表特征。實驗結果表明,該方法具有較高的精確度,優(yōu)于傳統(tǒng)的支持向量機和深度神經(jīng)網(wǎng)絡等機器學習方法,同時,該方法還可以縮短分類檢測的處理時間。將該檢測模型部署于控制器中,利用檢測結果產(chǎn)生新的安全策略,下發(fā)到OpenFlow交換機中,以實現(xiàn)對特定DDoS攻擊的防御。

        分布式拒絕服務;軟件定義網(wǎng)絡;攻擊檢測;深度學習

        1 引言

        分布式拒絕服務(DDoS, distributed denial of service)[1]攻擊是一種具有極強危害性的分布式、大范圍協(xié)同作戰(zhàn)的網(wǎng)絡攻擊方式,攻擊者利用其控制的眾多傀儡機,同時向被攻擊目標發(fā)起拒絕服務(DoS, denial of service)攻擊,最終導致被攻擊目標的系統(tǒng)資源耗盡甚至崩潰,被攻擊目標“拒絕”為正常用戶提供所需服務。DDoS攻擊主要針對被攻擊目標的系統(tǒng)資源和網(wǎng)絡帶寬,攻擊范圍包括網(wǎng)絡層到應用層。自1999年發(fā)生第一起DDoS攻擊以來,DDoS已經(jīng)成為廣泛且致命的網(wǎng)絡安全威脅之一。根據(jù)Radware公司的調查報告顯示,DDoS攻擊是目前Internet相關組織所面臨的最大的網(wǎng)絡安全威脅[2]。內容傳送網(wǎng)絡(CDN, content delivery network)服務提供商Akamai的互聯(lián)網(wǎng)安全狀況報告顯示,2017年第四季度與2016年第四季度相比,DDoS攻擊總數(shù)增加了14%,這也表明DDoS攻擊長期處于總體上升趨勢[3],DDoS攻擊已經(jīng)對系統(tǒng)和網(wǎng)絡造成了嚴重的安全威脅。

        軟件定義網(wǎng)絡[4]作為一種新型的網(wǎng)絡架構,其核心思想是將網(wǎng)絡設備的數(shù)據(jù)轉發(fā)與決策控制功能進行分離,實現(xiàn)硬件的集中式控制。隨著SDN應用的普及,SDN的安全性問題已經(jīng)成為SDN領域關鍵的研究課題之一。在基于OpenFlow技術的SDN中,較常用的DDoS攻擊防御架構使用OpenFlow交換機采集網(wǎng)絡流量,并解析數(shù)據(jù)分組的特征值信息,然后與DDoS攻擊規(guī)則庫進行規(guī)則匹配[5],最終利用控制器完成入侵響應。其中,OpenFlow交換機除了需要完成流量轉發(fā)任務外,還需要完成數(shù)據(jù)協(xié)議分析和DDoS攻擊規(guī)則庫匹配等額外任務,控制器則除了需要完成維護及控制轉發(fā)等常規(guī)任務外,還需要進行DDoS攻擊數(shù)據(jù)分組特征收集和入侵響應[6]等特殊任務。控制器和交換機所帶來的大量額外任務均會使那些已經(jīng)負擔過重的網(wǎng)絡設備雪上加霜。因此,針對SDN體系架構的特點,構建一種高效合理的DDoS防御機制,是在設計和部署整個SDN架構時必須慎重考慮的關鍵性問題。

        DDoS檢測是DDoS主要的防御機制之一,因為在大多數(shù)情況下,攻擊流量與合法流量非常相似,攻擊者會嘗試模仿Flash群,導致DDoS攻擊較難被自動檢測,而流量不足的攻擊行為甚至可以被視為一個早期的合法行為。許多研究人員嘗試使用統(tǒng)計機器學習方法來檢測DDoS攻擊并丟棄攻擊數(shù)據(jù)分組。傳統(tǒng)機器學習方法對基于統(tǒng)計特征的DDoS攻擊進行分類,性能優(yōu)于統(tǒng)計方法。但該方法仍然有如下缺點:需要廣泛的網(wǎng)絡專業(yè)知識和DDoS的實驗來選擇合適的統(tǒng)計特征;僅限于一個或幾個DDoS攻擊向量;需要更新其模型和閾值來滿足系統(tǒng)和攻擊向量的變化;易受到低攻擊速率影響。

        深度學習為解決傳統(tǒng)機器學習的局限性提供了可能。深度學習算法是一個對特征學習的過程,在學習過程中能夠發(fā)現(xiàn)多層特征,并將高層特征表示成更抽象的數(shù)據(jù)特征。目前,深度學習已經(jīng)被Google、Facebook、Microsoft[7]、百度[8]等公司在語音識別、計算機視覺、自然語言處理等領域廣泛應用。

        本文提出了一種SDN中基于深度學習混合模型的DDoS攻擊檢測方法——DCNN-DSAE,該方法將SDN與深度學習相結合,并利用深度卷積神經(jīng)網(wǎng)絡(DCNN, deep convolution neural network)和深度堆棧自編碼(DSAE, deep stacked autoencoder)進行檢測。DCNN-DSAE混合模型汲取了DCNN和DSAE算法的優(yōu)點,不僅可以提高分類檢測的精度,還可以縮短分類檢測的處理時間,有效地緩解了SDN中的DDoS攻擊效應,從而避免了網(wǎng)絡資源的耗盡。

        2 研究現(xiàn)狀

        DDoS攻擊如今已經(jīng)成為網(wǎng)絡安全方面的嚴重威脅之一[9-10]。隨著互聯(lián)網(wǎng)技術及應用的發(fā)展,DDoS攻擊出現(xiàn)的次數(shù)正在大幅增長,一個主要原因就是僵尸網(wǎng)絡的出現(xiàn)和發(fā)展。這些僵尸網(wǎng)絡是由惡意軟件或機器組成的攻擊網(wǎng)絡,攻擊者利用惡意流量不斷地攻擊受害者的服務器,使服務器不能為用戶提供正常的服務,甚至導致網(wǎng)絡癱瘓。

        到目前為止,國內外針對DDoS攻擊安全防御問題的主要解決方法是實時的網(wǎng)絡監(jiān)控,當DDoS攻擊發(fā)生時,啟動攻擊流量清洗設備屏蔽DDoS攻擊源,從而避免網(wǎng)絡遭受DDoS攻擊的侵害,達到安全防御的目的[11]。這個過程主要包括以下幾點:在交換機、路由器等網(wǎng)絡轉發(fā)設備中進行源IP地址的合法性確認,建立黑/白名單;基于統(tǒng)計學方法,根據(jù)網(wǎng)絡流密度變化情況,對網(wǎng)絡流量進行實時監(jiān)控;在路由轉發(fā)設備中,建立源地址和轉發(fā)設備對應的入端口的映射表,通過對比數(shù)據(jù)流源IP地址與相應入端口地址,確定當前網(wǎng)絡是否有DDoS攻擊行為,然后對DDoS攻擊流量進行清洗。

        Mousavi等[12]提出了一種在SDN控制器中通過計算熵值來檢測DDoS攻擊的入侵檢測系統(tǒng)。該入侵檢測系統(tǒng)的檢測精度取決于熵的閾值,然而閾值的選擇是通過調整參數(shù)大小的實驗得到的,該方法具有一定的不可靠性。

        Wang等[13]提出了一種SDN中基于熵的DDoS攻擊檢測系統(tǒng),通過處理交換機中流表的統(tǒng)計信息,達到檢測系統(tǒng)中防止DDoS攻擊的目的。雖然該方法減少了控制器在收集流表統(tǒng)計信息時的開銷,但該方法試圖在交換機等設備中增強智能控制功能,與SDN轉發(fā)和控制分離的核心思想矛盾。

        Jadidi等[14]提出了一種基于流的異常檢測系統(tǒng),主要采用基于多層感知器和重力的搜索算法。該系統(tǒng)可以很好地區(qū)分正常類型的數(shù)據(jù)流和單一攻擊類型的數(shù)據(jù)流,但其對組合攻擊類型的數(shù)據(jù)流區(qū)分度較差。

        Winter等[15]提出了一種基于支持向量機(SVM, support vector mechine)算法的網(wǎng)絡入侵檢測系統(tǒng),該方法具有較低的誤報率。然而該系統(tǒng)在訓練模型時只采用了攻擊類型的數(shù)據(jù)訓練模型,沒有涵蓋正常網(wǎng)絡流量數(shù)據(jù)集,存在一定的片面性。

        Trung等[16]結合硬檢測閾值和模糊推理系統(tǒng)(FIS),根據(jù)正常和攻擊狀態(tài)下的實際流量特征來檢測DDoS攻擊,但他們只考慮了分布時間、每個流的數(shù)據(jù)分組數(shù)量及分配到服務器的流量等幾個特征,特征信息量不足。

        此外,本文作者[17-18]曾將深度學習與DDoS檢測相結合,使用深度學習方法直接對通過的流量本身進行檢測,具有較高的精確度。由于該方法未對流量的統(tǒng)計特征進行檢測,與輕量級的統(tǒng)計特征檢測不同,它不能直接部署在SDN控制器中。

        綜上所述,現(xiàn)有的DDoS攻擊檢測方法較多,但它們仍存在著檢測時延長、檢測精度低、誤報率較高、對新型DDoS攻擊檢測能力較弱等諸多問題。本文針對上述問題,并結合深度學習,提出了一種基于深度學習混合模型的DDoS攻擊檢測方法——DCNN-DSAE。與傳統(tǒng)檢測方法相比,該方法檢測精度更高、誤報率更低,且可以直接部署于SDN控制器中,具有很好的實用性。

        3 特征提取及構建

        在傳統(tǒng)的機器學習分類方法中,輸入特征是手動設計的,輸入特征的好壞對模型的檢測精度影響較大,好的特征的提取需要經(jīng)過繁雜的運算和經(jīng)驗判決。而在深度學習中,模型可以自動地逐層提取多個不同層次的特征,并且將這些特征在不同層面組合起來產(chǎn)生輸出。

        由于深度學習模型可以自動地提取特征,因此直接提取交換機中流表的部分特征字段,作為模型第一層輸入特征的一部分。自動獲取的流表特征向量如表1所示。

        表1 自動獲取的流表特征向量

        同時,為了提高模型檢測精度、確保結果的可靠性,手動構建了最可能區(qū)分流類型的部分流表特征向量,并將其作為模型輸入特征數(shù)據(jù)集的另一部分。表2是更詳細的手動構建的流表特征向量。

        表2 手動構建的流表特征向量

        1) 單流增長速率(growth rate of single flow)

        DDoS攻擊發(fā)生時,流表中單流和對流的增長速率常常成為檢測攻擊的重要特征。給定任意流A和流B,當滿足流A的源地址等于流B的目的地址、流A的目的地址等于流B的源地址、流A和流B具有相同的通信協(xié)議這3個條件時,流A和流B構成對流。

        DDoS常以IP欺騙的方式發(fā)起攻擊,該特征增加了單流進入網(wǎng)絡的數(shù)量,因為它們使用假IP地址發(fā)送數(shù)據(jù)分組,如式(1)所示。

        其中,flow_nums表示在時間周期內采集的流表數(shù)量,表示采集周期,表示每個周期內采集到的流表中單流的數(shù)量。

        2) 不同端口增長速率(growth rate of different port)

        類似地,與DDoS攻擊產(chǎn)生的IP欺騙相同,攻擊者也可通過隨機生成端口進行端口掃描攻擊,如式(2)所示。

        其中,表示每個周期內采集到的流表中不同端口號的流表數(shù)量。

        3) 流表平均數(shù)據(jù)分組量(average packets per flow)

        DDoS攻擊通過源IP欺騙,產(chǎn)生大量的、偽裝不同IP的數(shù)據(jù)分組,且不同IP對應的數(shù)據(jù)分組數(shù)量較小。這種攻擊方式使溯源任務非常困難,但是這也成為了區(qū)分正常分組和攻擊分組的重要特征,因為正常分組中同一個IP對應的數(shù)據(jù)分組數(shù)量較大。鑒于這種特性,把流表平均數(shù)據(jù)分組量作為手動構建流表特征向量的重要特征之一,如式(3)所示。

        其中,flow_nums表示采集的所有流表中第種流表的數(shù)量,pcount表示每條流表中的數(shù)據(jù)分組數(shù)量。

        4) 流表平均比特數(shù)(average bytes per flow)

        與定義流表平均數(shù)據(jù)分組量相似,DDoS攻擊的另一個特點是不同IP對應的數(shù)據(jù)分組的比特數(shù)較小。例如,在TCP泛洪攻擊中,攻擊者會發(fā)送大量的120 B的數(shù)據(jù)分組攻擊受害者,這種特征也為DDoS攻擊檢測提供了依據(jù),如式(4)所示。

        其中,bcount表示每條流表中的數(shù)據(jù)分組比特大小。

        5) 流量平均持續(xù)時間(average durations per flow)

        DDoS泛洪攻擊發(fā)生時,不同IP對應的持續(xù)時間較短,如式(5)所示。

        其中,durations表示每條流表的持續(xù)時間。

        綜上所述,將部分流表統(tǒng)計信息直接作為深度學習的部分輸入特征{},{}包含表1中的全部特征向量,同時依據(jù)流表統(tǒng)計信息手動構建部分輸入特征{},{}包含表2中的特征向量。將直接獲取的輸入特征{}和手動構建的輸入特征{}進行合并及維度重構,構成新的深度學習輸入特征{,}。

        4 基于深度學習混合模型的DDoS檢測

        4.1 攻擊檢測及防御總體架構

        DDoS攻擊深度學習混合分類檢測及防御總體架構如圖1所示。本文提出的DCNN-DSAE混合模型通過分析流表特征來進行正確的分類。其中,DCNN-DSAE混合模型的第一級采用DCNN模型,第二級采用DSAE模型。在檢測過程中,DCNN模型的輸出端將流表特征分為攻擊和正常2種類型。對于攻擊類型,系統(tǒng)直接采用異常清洗的操作進行處理;而對于判斷為正常類型的流表特征,由于模型判斷可能會存在誤差,為了確保系統(tǒng)的安全性,將這些判斷為正常類型的流表特征再轉送到DSAE模型中進行進一步檢測,最后,使用softmax分類器將其分類為正常類型或攻擊類型。在模型的總輸出端,當檢測到異常時,控制器可通過OpenFlow協(xié)議修改流表等操作來有效緩解網(wǎng)絡異常,并將新的安全策略下發(fā)到OpenFlow交換機中。

        圖1 DDoS攻擊深度學習混合分類檢測及防御總體架構

        實際情況下,DCNN模型在梯度下降計算時,可能會進入局部最優(yōu),或無限逼近全局最優(yōu),在模型的輸出端不可能完全區(qū)分正?;駾DoS攻擊類型的流表特征,這意味著在DCNN模型的輸出端,輸出的正常類型的流表特征向量中可能會存在DDoS攻擊類型的流表特征向量,即DCNN模型可能存在誤判現(xiàn)象。

        第一級DCNN模型采用監(jiān)督學習方式。在訓練DCNN模型的過程中,采用的數(shù)據(jù)集包括正常流量和DDoS攻擊流量下的流表特征。正常流量下的流表特征標簽為0,DDoS攻擊流量下的流表特征標簽為1,模型的訓練在有標簽的監(jiān)督下完成。第二級DSAE模型采用非監(jiān)督的學習方式。在訓練過程中,也采用和DCNN模型相同的數(shù)據(jù)集進行訓練,但與之不同的是,DSAE模型的訓練不需要預先知道數(shù)據(jù)所對應的標簽,在非監(jiān)督的條件下完成流表特征的分類任務。相比于監(jiān)督學習,非監(jiān)督學習完全依賴于數(shù)據(jù)本身的特征,可以學習到更加抽象的特征。

        DCNN-DSAE混合模型汲取了DCNN和DSAE算法的優(yōu)點,與傳統(tǒng)的只采用卷積神經(jīng)網(wǎng)絡(CNN, convolutional neural network)[19]、自編碼網(wǎng)絡、自組織映射、支持向量機等異常檢測方法相比,不僅可以提高分類檢測的精度,還可以縮短分類檢測的處理時間,從而有效地緩解了SDN中的DDoS攻擊效應,避免資源耗盡。DCNN-DSAE模型部署于SDN控制器中,采用流表特征作為模型的輸入,輸出為流表特征所對應的分類結果。

        圖2 DCNN模型結構

        4.2 DCNN模型

        卷積神經(jīng)網(wǎng)絡是一種前饋人工神經(jīng)網(wǎng)絡,通常由一個或多個卷積層組成,然后由標準的多層神經(jīng)網(wǎng)絡中的一個或多個全連接層連接組成。CNN的架構旨在利用輸入數(shù)據(jù)的二維結構,這是通過本地連接和綁定權重實現(xiàn)的,然后通過池化,維持特征的平移、旋轉、尺度的不變性。與具有相同層數(shù)的標準前饋神經(jīng)網(wǎng)絡相比,本文提出的DCNN模型具有更少的神經(jīng)元和參數(shù),更容易訓練且檢測精度更高。為了解決DCNN訓練時間長的問題,本文的DCNN模型在訓練過程中采用GPU加速和2D卷積高度優(yōu)化,這樣使模型的功能變得更加強大,能提取更高層次的流表特征,同時減少訓練的時間,不會產(chǎn)生嚴重的過擬合問題。

        通過實驗對比,建立的DCNN網(wǎng)絡模型如圖2所示,其包含3個卷積層、2個最大池化層以及2個全連接層。

        輸入的流表特征向量經(jīng)第一層卷積層以提取更加抽象的高維度特征,然后對這些特征進行批標準化(batch normalization)處理,讓模型學習到數(shù)據(jù)的分布特征;再經(jīng)過第二層最大池化層后,保持那些批標準化處理后的抽象高維特征的平移、旋轉、尺度不變性,同時又能夠減少模型的參數(shù)和計算量,防止出現(xiàn)過擬合現(xiàn)象,提高模型泛化能力;經(jīng)過第三層卷積層,并將第三層卷積層抽象后的特征進行批標準化處理;再經(jīng)過第四層最大池化層、第五層卷積層后,得到可準確表示流表特征的更高維度的特征向量;最后將這些高維特征向量輸入全連接層,在輸出端通過softmax分類器進行分類。

        為防止模型訓練時收斂速度較慢、出現(xiàn)梯度爆炸等現(xiàn)象,本文采用批標準化提升模型的容納能力。如式(6)所示,每次按小批量訓練模型,對每一批的數(shù)據(jù)做規(guī)范化處理,使輸出的結果均值為0、方差為1。

        其中,為常量,、為可學習的參數(shù)。

        為進一步加快模型的訓練速度,本文采用非飽和非線性激活函數(shù)修正線性單元ReLU(式(8))和Softplus(式(9))以代替?zhèn)鹘y(tǒng)的飽和非線性激活函數(shù)Tanh和Sigmoid。

        在當前模型深度和神經(jīng)元個數(shù)及輸入為大批量流量特征下,使用傳統(tǒng)的飽和非線性激活函數(shù)會出現(xiàn)過擬合現(xiàn)象,在DCNN模型中進行梯度下降訓練實驗時,采用ReLU或Softplus這些非飽和非線性激活函數(shù)比采用Sigmoid或Tanh這些飽和非線性激活函數(shù)快好幾倍。

        為進一步克服模型的過擬合問題及提高模型的訓練速度,本文使用了“dropout”[20]技術,即在神經(jīng)網(wǎng)絡傳遞過程中,將概率為0.5的隱藏神經(jīng)元的輸出設置為0,因為這些神經(jīng)元對前進傳遞沒有貢獻,所以將其丟棄,不再參與反向傳播。因此,每次在批量數(shù)據(jù)送入模型訓練時,神經(jīng)網(wǎng)絡都會隨機地丟棄一定數(shù)量的神經(jīng)元,使神經(jīng)網(wǎng)絡模型變得稀疏,且結構不同,但模型中所有這些體系結構共享權重。這種技術降低了模型對特定神經(jīng)元結構的依賴性,因此,它迫使模型學習更多輸入數(shù)據(jù)本身的特性。

        4.3 DSAE模型

        自編碼(AE, autoencoder)是一種前饋神經(jīng)網(wǎng)絡,它具有一個或多個隱藏層。當模型具有一個隱藏層時,隱藏層是輸入特征向量的抽象表示,相當于主成分分析;當模型具有多個隱藏層時,在前向傳遞訓練過程中,每2層之間通過受限玻爾茲曼機進行預訓練,正向訓練完成后,再通過誤差反向傳遞調整權重和偏置,最小化輸入和輸出之間的差異。圖3為自編碼模型結構。

        圖3 自編碼模型結構

        其中,1為連接輸入層和隱藏層之間的權重,為輸入的第個流表特征向量,1為隱藏層神經(jīng)元的偏置。

        編碼完成后,基于隱藏層的輸出結果,輸出層根據(jù)式(11)進行解碼重建,產(chǎn)生具有與輸入層神經(jīng)元相同尺寸的輸出。

        其中,為激活函數(shù),2為連接隱藏層和輸出層之間的權重,為通過隱藏層編碼壓縮后的流表特征向量,2為輸出層神經(jīng)元的偏置。

        最后通過最小化損失函數(shù)(式(12))達到訓練自編碼模型的目的。

        其中,為流表特征向量的個數(shù),為輸入的流表特征向量,經(jīng)過自編碼模型后輸出的流表特征向量。

        自編碼模型的輸入層和隱藏層神經(jīng)元采用線性激活函數(shù)線性輸出,輸出層神經(jīng)元采用Sigmoid函數(shù)(式(13))非線性輸出。

        實驗發(fā)現(xiàn),當輸出層神經(jīng)元使用Sigmoid激活函數(shù)時,在檢測精度上比使用ReLU或Softplus等激活函數(shù)效果更好,Sigmoid函數(shù)在線性瓶頸問題上解決得更好,所得到的模型更易訓練,模型對參數(shù)的變化也更具頑健性。

        本文在構建模型時為了達到降維和提取抽象特征的目的,使用基于AE的DSAE模型。DSAE模型通過逐層疊加自編碼模型的輸入層和隱藏層而構建,其中每個自編碼模型采用一個隱藏層。DSAE模型結構如圖4所示。流表特征向量經(jīng)過第一個自編碼模型的學習后,在其隱藏層中得到壓縮后的抽象化特征,將第一個自編碼模型的隱藏層作為第二個自編碼模型的輸入層;經(jīng)過第二個自編碼模型的學習后,在其隱藏層中得到進一步壓縮后的更加抽象化的特征,再將第二個自編碼模型的隱藏層作為第三個自編碼模型的輸入層;依次疊加,最后通過softmax分類器將流表特征向量分為正常類型或DDoS攻擊類型。

        圖4 DSAE模型結構

        5 實驗與結果分析

        5.1 實驗環(huán)境及評估指標

        本文實驗基于Tensorflow框架構建深度學習混合模型,硬件環(huán)境為NVIDIA Tesla M40類型的GPU服務器,軟件環(huán)境為Ubuntu16.04操作系統(tǒng)。

        實驗前收集流表特征數(shù)據(jù)集,分別在正常流和DDoS攻擊流下收集到自動獲取和手動構建的流表特征,數(shù)據(jù)集如表3所示。流表特征數(shù)據(jù)集的總數(shù)為15萬條,其中,訓練集為9萬條,測試集為6萬條。

        表3 流表特征數(shù)據(jù)集

        實驗通過準確度(accuracy)、精確度(precision)、召回率(recall)、F1分數(shù)(F1score)和混淆矩陣(confusion matrix)5個評估指標來評估模型的檢測性能。其中,TP(true positive)是實際類型為DDoS攻擊的樣本中被分類模型判斷正確的樣本數(shù);TN(true negative)是實際類型為正常的樣本中被分類模型判斷正確的樣本數(shù);FN(false negative)是實際類型為DDoS攻擊的樣本被分類模型誤判為正常類型的樣本數(shù);FP(false positive)是實際類型為正常的樣本中被分類模型誤判為DDoS攻擊類型的樣本數(shù)。

        準確度()表示模型判斷正確的數(shù)據(jù)分組的數(shù)量占數(shù)據(jù)分組總數(shù)量的百分比,即

        精確度()表示模型判斷為攻擊類型的數(shù)據(jù)分組中,真正為攻擊分組的數(shù)量所占的百分比,即

        召回率()表示模型判斷為攻擊類型的數(shù)據(jù)分組占所有攻擊類型數(shù)據(jù)分組數(shù)量的百分比,即

        F1分數(shù)(1)表示精確度和召回率的調和平均值,能夠更準確地評估模型性能。

        混淆矩陣(confusion matrix)主要用于模型分類的結果和數(shù)據(jù)與實際標簽相匹配的程度。

        5.2 DCNN模型實驗結果分析

        在建立DCNN模型時,采用不同深度的卷積層都會對模型的檢測精度產(chǎn)生較大影響,而且小批量訓練的模型表現(xiàn)較好,模型訓練時采用的batch_size大小默認為50。實驗過程中建立了4種不同深度的DCNN模型。4種模型結構如表4所示。其中,C3P2F2表示模型包含3個卷積層、2個最大池化層和2個全連接層,1表示模型存在該結構,0表示模型不存在該結構。

        本文對構建的表4中的DCNN模型進行實驗,并通過定義的準確度、精確度、召回率、F1分數(shù)評估指標評估模型的性能。4種不同深度的DCNN模型評估指標如表5所示。

        采用3層卷積層的神經(jīng)網(wǎng)絡模型(C3P2F2、C3P3F2)效果明顯優(yōu)于采用2層卷積層的神經(jīng)網(wǎng)絡模型(C2P2F2、C2P2F4)。其中,C3P2F2模型在精確度、召回率和F1分數(shù)上的指標均高于C3P3F2模型,但在準確度上略低于C3P3F3模型。

        為比較C3P2F2模型和C3P3F2模型的檢測效果,通過混淆矩陣分析4種模型。4種DCNN模型的混淆矩陣如圖5所示。采用2層卷積層的神經(jīng)網(wǎng)絡的模型在判斷正常分組和攻擊分組的能力上均弱于采用3層卷積層的神經(jīng)網(wǎng)絡的模型。同時C3P2F2模型判斷攻擊分組的能力(0.98)強于C3P3F2模型(0.96)??紤]到DDoS攻擊可能會危害到整個系統(tǒng)的安全性,采用的檢測模型必須要對攻擊有很強的敏感性,綜合考慮,DCNN模型采用C3P2F2模型最佳。

        表4 4種不同深度的DCNN模型的模型結構

        表5 4種不同深度的DCNN模型的評估指標

        圖5 4種DCNN模型的混淆矩陣

        綜上所述,C3P2F2模型層數(shù)較深、神經(jīng)元個數(shù)較多、訓練模型采用的流表特征數(shù)據(jù)集較大,這些會導致模型在訓練時收斂速度較慢。為加快訓練的速度、提高模型的精度,對比進行批標準化處理和未標準化處理時模型的表現(xiàn)。實驗結果如圖6所示。

        圖6 是否采用批標準化處理對模型準確度的影響

        由圖6可知,模型中加入批標準化處理后,加快了模型的訓練速度,在訓練到180輪時,準確度就已經(jīng)達到0.8,而沒有進行規(guī)范化處理的模型,在600輪的訓練后準確度才達到0.8,并且加入批標準化后模型的精度表現(xiàn)更好。

        同時,本文采用非飽和非線性激活函數(shù)修正線性單元ReLU和Softplus代替?zhèn)鹘y(tǒng)的飽和非線性激活函數(shù)Tanh和Sigmoid。2種激活函數(shù)的檢測精度對比情況如圖7所示。DCNN模型在采用飽和非線性激活函數(shù)進行訓練時,出現(xiàn)了較大的振蕩,且檢測精度低于采用非飽和非線性激活函數(shù)的訓練結果。實驗結果表明,DCNN模型采用非飽和非線性激活函數(shù)對提高模型的檢測精度更有效。采用ReLU等非飽和非線性激活函數(shù),DCNN模型的檢測精度可以達到0.98;而采用Sigmoid等飽和非線性函數(shù),DCNN模型出現(xiàn)了梯度消失的現(xiàn)象,甚至不能學習到有效的特征。

        圖7 2種激活函數(shù)的準確度對比情況

        為克服訓練過程中出現(xiàn)的過擬合問題,同時加快模型的訓練速度,本文采取“dropout”技術有效地避免了模型訓練過程中的過擬合問題[21],實驗結果如圖8所示。模型在進行1 200輪訓練的過程中,采用“dropout”訓練時,梯度沒有出現(xiàn)消失,誤差一直在下降;而沒有采用“dropout”時,模型的訓練在進行到600輪時,就已出現(xiàn)梯度消失的現(xiàn)象,訓練和測試結果如圖9所示。采用“dropout”技術的模型在訓練集合測試集上表現(xiàn)較好。

        圖8 “dropout”技術對模型的影響對比

        圖9 采用“dropout”的模型在訓練集和測試集上的表現(xiàn)

        綜合所有結果可知,DCNN模型采用C3P2F2模型為最佳,且模型中添加批標準化處理,激活函數(shù)采用非飽和非線性激活函數(shù)ReLU和Softplus,在全連接層添加“dropout”防止過擬合。

        實驗將C3P2F2模型與傳統(tǒng)機器學習方法中的SVM和深度學習方法中的深度神經(jīng)網(wǎng)絡(DNN, deep neural network)進行對比,并使用相同的數(shù)據(jù)集。3種方法的精確度對比結果如圖10所示。從圖10可以看出,3種模型在進行到1 200輪訓練時都趨于收斂,且采用C3P2F2模型的檢測精度明顯高于SVM和DNN的方法。

        圖10 采用不同機器學習方法的檢測精度對比

        5.3 DSAE模型實驗結果分析

        在構建DSAE模型時,采用自編碼模型的個數(shù)會對模型的檢測精度產(chǎn)生較大影響,實驗過程中建立了3種不同深度的DSAE模型進行對比,為使模型表現(xiàn)得較好,采用小批量的訓練方法,batch_size大小默認為50。具體所設計的3種不同深度的DSAE模型如表6所示。

        SAE4模型表示模型包含4個自編碼模型,每個自編碼模型都默認包含一個輸入層、一個隱藏層和一個輸出層。例如,在第一個自編碼(128-64)中,128表示輸入、輸出神經(jīng)元個數(shù)為128個,隱藏層神經(jīng)元為64個。表6中1表示模型存在該結構,0表示模型不存在該結構。

        表6 3種不同深度的DSAE模型的模型結構

        表7為3種不同深度的DSAE模型評估指標。實驗結果表明,采用4層自編碼的SAE4模型在準確度、精確度、召回率和F1分數(shù)上的指標均高于其他模型。

        表7 3種不同深度的DSAE模型的評估指標

        使用相同的數(shù)據(jù)集對DCNN的C3P2F2模型及DSAE的SAE4模型的實驗結果進行對比。2種模型的對比結果如圖11所示。從圖11可以看出,總體而言,C3P2F2模型的綜合評估指標略高于SAE4模型,這也是本文采用C3P2F2模型作為混合模型第一級的主要原因之一。

        圖12為2種模型的混淆矩陣對比。從實驗數(shù)據(jù)可以看出,SAE4模型判斷攻擊流的能力(0.985)強于C3P2F2模型(0.980)??紤]到第二級模型的主要功能是解決由于DCNN模型可能進入局部最優(yōu)而導致的誤判現(xiàn)象,區(qū)分被DCNN模型誤判為正常流的攻擊流,所采用的檢測模型必須具備對攻擊有很強的敏感性,綜合考慮,第二級模型采用SAE4模型。

        圖11 C3P2F2模型和SAE4模型表現(xiàn)對比

        圖12 C3P2F2模型和SAE4模型的混淆矩陣對比

        5.4 DCNN-DSAE模型總精度分析

        將本文構建的DCNN-DSAE混合模型和傳統(tǒng)的機器學習方法中的SVM及DNN進行對比分析,均使用相同的流表特征數(shù)據(jù)集作為模型的輸入。實驗檢測結果如表8所示。

        表8 不同機器學習方法與DCNN-DSAE模型的評估指標

        從表8可以看出,DCNN-DSAE模型在準確度、精確度、召回率和F1分數(shù)上的指標均高于SVM和DNN模型,且DCNN-DSAE模型的準確度最高能達到98.53%,高于只采用單級模型C3P2F2(97.73%)和SAE4(97.44%)的檢測結果。從實驗結果還可以看出,DCNN-DSAE混合模型更優(yōu)于傳統(tǒng)的機器學習方法及單個DCNN或DSAE方法。

        此外,輸入的流表特征數(shù)量也是衡量DDoS攻擊檢測方法效果的重要參數(shù),本文分別用5、10、15、21、26、30個流表特征對DCNN-DSAE模型進行測試。檢測結果如表9所示。

        表9 不同輸入特征數(shù)量下DCNN-DSAE模型的評估指標

        從表9可以看出,輸入的流表特征數(shù)量對模型的檢測結果存在重要的影響。當僅采用5個手動構建的流表特征(即流表特征數(shù)量為5)作為DCNN-DSAE模型的輸入特征時,DCNN-DSAE模型的準確度只達到88.33%;當同時采用21個自動獲取的流表特征(即流表特征數(shù)量為21)作為DCNN-DSAE模型的輸入特征時,DCNN-DSAE模型的準確度只達到92.47%;當同時采用自動獲取的流表特征和手動構建的流表特征作為DCNN-DSAE模型的輸入特征時,DCNN-DSAE模型的準確度得到有效提高;當采用21個自動獲取的流表特征和5個手動構建的流表特征(即流表特征數(shù)量為26)作為DCNN-DSAE模型的輸入特征時,模型在準確度、精確度、召回率和F1分數(shù)上的指標達到最高。

        6 結束語

        本文提出了一種基于深度學習混合模型的DDoS攻擊檢測方法——DCNN-DSAE,并重點分析了混合模型中DCNN模型和DSAE模型的構建過程和方法。通過實驗,使用含攻擊流和正常流的數(shù)據(jù)集進行模型測試,精確度可達到98.53%,驗證了此深度學習混合模型在實時網(wǎng)絡環(huán)境中對DDoS攻擊檢測和防御的有效性。與傳統(tǒng)的機器學習中的SVM方法和DNN方法相比,深度學習混合模型的方法檢測精度更高、誤報率更低,彌補了現(xiàn)有DDoS攻擊檢測方法的不足。由于該方法的檢測輸入特征為SDN交換機中的流表特征和自我構建的流表特征,屬于輕量級的檢測方法,可以直接部署于SDN控制器中。

        [1] YAN Q, YU F R, GONG Q, et al. Software-defined networking (SDN) and distributed denial of service (DDoS) attacks in cloud computing environments: a survey, some research issues, and challenges[J]. IEEE Communications Surveys & Tutorials, 2016, 18(1): 602-622.

        [2] RADWARE. 2017-2018 global application & network security report[R]. 2018.

        [3] AKAMAI. [State of the Internet]/security Q4 2017 executive summary[R]. 2017.

        [4] VOELLMY A, WANG J. Scalable software defined network controllers[J]. ACM SIGCOMM Computer Communication Review, 2012, 42(4): 289-290.

        [5] PENG T, LECKIE C, RAMAMOHANARAO K. Survey of network-based defense mechanisms countering the DoS and DDoS problems[J]. ACM Computing Surveys, 2007, 39(1):3.

        [6] MIRKOVIC J, MARTIN J, REIHER P. A taxonomy of DDoS attacks and DDoS defense mechanisms[J]. ACM SIGCOMM Computer Communication Review, 2001, 34(2): 39-53.

        [7] LI D, LI J, HUANG J, et al. Recent advances in deep learning for speech research at Microsoft[C]//2013 IEEE International Conference on Acoustics, Speech and Signal Processing. 2013: 8604-8608.

        [8] YU K. Large-scale deep learning at Baidu[C]//22nd ACM international conference on Information & Knowledge Management. 2013: 2211-2212.

        [9] 楊余旺, 楊靜宇, 孫亞民. 分布式拒絕服務攻擊的實現(xiàn)機理及其防御研究[J]. 計算機工程與設計, 2004, 25(5): 657-660.

        YANG Y W, YANG J Y, SUN Y M. Defense study and implementation mechanism of distributed denial of service attack[J]. Computer Engineering and Design, 2004, 25(5): 657-660.

        [10] 孟江濤, 馮登國, 薛銳, 等. 分布式拒絕服務攻擊的原理與防范[J]. 中國科學院大學學報, 2004, 21(1): 90-94.

        MENG J T, FENG D G, XUE R, et al. Distributed denial of service attacks: principle and defense[J]. Journal of the Graduate School of the Chinese Academy of Sciences, 2004, 21(1): 90-94.

        [11] GIL T M, POLETTO M. MULTOPS: a data-structure for bandwidth attack detection[C]//10th Usenix Security Symposium. 2001: 23-38.

        [12] MOUSAVI S M, ST-HILAIRE M. Early detection of DDoS attacks against SDN controllers[C]//2015 International Conference on Computing, Networking and Communications (ICNC). 2015: 77-81.

        [13] WANG R, JIA Z, JU L. An entropy-based distributed DDoS detection mechanism in software-defined networking[C]//2015 IEEE Trustcom/BigDataSE/ISPA. 2015: 310-317.

        [14] JADIDI Z, MUTHUKKUMARASAMY V, SITHIRASENAN E, et al. Flow-based anomaly detection using neural network optimized with GSA algorithm[C]//2013 IEEE 33rd International Conference on Distributed Computing Systems Workshops. 2013: 76-81.

        [15] WINTER P, HERMANN E, ZEILINGER M. Inductive intrusion detection in flow-based network data using one-class support vector machines[C]//2011 4th IFIP International Conference on New Technologies, Mobility and Security. 2011: 1-5.

        [16] TRUNG P V, HUONG T T, DANG V T, et al. A multi-criteria-based DDoS-attack prevention solution using software defined networking[C]//2015 International Conference on Advanced Technologies for Communications (ATC). 2015: 308-313.

        [17] YUAN X Y, LI C H, LI X. DeepDefense: identifying DDoS attack via deep learning[C]//2017 IEEE International Conference on Smart Computing (SMARTCOMP). 2017: 1-8.

        [18] 李傳煌, 孫正君, 袁小雍, 等. 基于深度學習的實時DDoS攻擊檢測[J]. 電信科學, 2017, 33(7): 53-65.

        LI C H, SUN Z J, YUAN X Y, et al. Real-time DDoS attack detection based on deep learning[J]. Telecommunications Science, 2017, 33(7): 53-65.

        [19] LIU C, SUN W, CHAO W. Convolution neural network for relation extraction[C]//International Conference on Advanced Data Mining and Applications (ADMA 2013). 2013: 231-242.

        [20] HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4): 212-223.

        [21] SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958.

        DDoS attack detection and defense based on hybrid deep learning model in SDN

        LI Chuanhuang, WU Yan, QIAN Zhengzhe, SUN Zhengjun, WANG Weiming

        School of Information and Electronic Engineering, Zhejiang Gongshang University, Hangzhou 310018, China

        Software defined network (SDN) is a new kind of network technology, and the security problems are the hot topics in SDN field, such as SDN control channel security, forged service deployment and external distributed denial of service (DDoS) attacks. Aiming at DDoS attack problem of security in SDN, a DDoS attack detection method called DCNN-DSAE based on deep learning hybrid model in SDN was proposed. In this method, when a deep learning model was constructed, the input feature included 21 different types of fields extracted from the data plane and 5 extra self-designed features of distinguishing flow types. The experimental results show that the method has high accuracy, it’s better than the traditional support vector machine (SVM) and deep neural network (DNN) and other machine learning methods. At the same time, the proposed method can also shorten the processing time of classification detection. The detection model is deployed in SDN controller, and the new security policy is sent to the OpenFlow switch to achieve the defense against specific DDoS attack.

        distributed denial of service, software defined network, attack detection, deep learning

        TP393

        A

        10.11959/j.issn.1000?436x.2018128

        2018?02?28;

        2018?05?16

        國家重點研發(fā)計劃基金資助項目(No.2017YFB0803202);浙江省自然科學基金資助項目(No.LY18F010006);浙江省新型網(wǎng)絡標準與應用技術重點實驗室基金資助項目(No.2013E10012);浙江省重點研發(fā)計劃基金資助項目(No.2017C03058)

        The National Key Research and Development Program of China (No.2017YFB0803202), The Natural Science Foundation of Zhejiang Province (No.LY18F010006), The Key Laboratory of New Network Standards and Technologies of Zhejiang Province (No.2013E10012), The National Key Research and Development Program of Zhejiang Province (No.2017C03058)

        李傳煌(1980?),男,江西九江人,博士,浙江工商大學副教授、碩士生導師,主要研究方向為軟件定義網(wǎng)絡、深度學習、開放可編程網(wǎng)絡、系統(tǒng)性能預測和分析模型。

        吳艷(1995?),女,安徽宣城人,浙江工商大學碩士生,主要研究方向為軟件定義網(wǎng)絡、深度學習。

        錢正哲(1994?),男,浙江杭州人,浙江工商大學碩士生,主要研究方向為軟件定義網(wǎng)絡、深度學習。

        孫正君(1993?),男,安徽滁州人,浙江工商大學碩士生,主要研究方向為軟件定義網(wǎng)絡、深度學習。

        王偉明(1964?),男,浙江遂昌人,博士,浙江工商大學教授、碩士生導師,主要研究方向為新一代網(wǎng)絡架構、開放可編程網(wǎng)絡。

        猜你喜歡
        流表特征向量分組
        二年制職教本科線性代數(shù)課程的幾何化教學設計——以特征值和特征向量為例
        克羅內克積的特征向量
        基于時序與集合的SDN流表更新策略
        分組搭配
        基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
        電子測試(2018年21期)2018-11-08 03:09:34
        簡析yangUI流表控制
        軟件定義網(wǎng)絡中一種兩步式多級流表構建算法
        怎么分組
        一類特殊矩陣特征向量的求法
        分組
        日韩av精品视频在线观看| 国产亚洲欧美精品一区| 久久久精品人妻一区二区三区日本| 国产一区二区三区白浆肉丝| 77777亚洲午夜久久多喷| 女人被狂躁到高潮视频免费网站| 国产精品无码无片在线观看| 国产高清精品在线二区| 国产一区二区三区我不卡| 绝顶潮喷绝叫在线观看| 国产成人免费a在线视频| 粉嫩小泬无遮挡久久久久久| 日韩有码在线一区二区三区合集 | 丰满少妇被猛烈进入高清播放| 国产suv精品一区二区883| 无码人妻专区免费视频| 久久老熟女乱色一区二区| 国产精品18久久久白浆| 极品美女aⅴ在线观看| 麻豆国产巨作AV剧情老师| 青青草绿色华人播放在线视频| 国产区女主播在线观看| 亚洲av中文无码乱人伦在线r▽| 日韩久久久黄色一级av| 亚洲一区在线二区三区| 久久精品国产99国产精品亚洲 | 领导边摸边吃奶边做爽在线观看| 小sao货水好多真紧h视频| 制服丝袜人妻中出第一页| 国产免费人成视频在线 | 白浆国产精品一区二区| 国产精品伦一区二区三级视频 | 亚洲一区二区三区激情在线观看| 国产精品永久免费| 热久久久久久久| 国产午夜福利av在线麻豆| 狠狠色狠狠色综合网| 国产乱人伦偷精品视频| 日本一区二区不卡超清在线播放| 日韩精品极品免费视频观看| 久久久日韩精品一区二区三区|