国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種SDN中基于熵值計(jì)算的異常流量檢測方法

2015-02-28 02:09王銘鑫周華春張宏科
電信科學(xué) 2015年9期
關(guān)鍵詞:流表IP地址分組

王銘鑫,周華春,陳 佳,張宏科

(北京交通大學(xué)電子信息工程學(xué)院 北京 100044)

1 引言

隨著信息網(wǎng)絡(luò)的發(fā)展,互聯(lián)網(wǎng)用戶數(shù)量和應(yīng)用規(guī)模不斷擴(kuò)大,結(jié)構(gòu)和功能日趨復(fù)雜,以互聯(lián)網(wǎng)為代表的信息網(wǎng)絡(luò)在經(jīng)濟(jì)和社會發(fā)展中起到了越來越重要的作用。但互聯(lián)網(wǎng)也在使用過程中暴露了越來越多的問題,尤其是網(wǎng)絡(luò)安全問題日益嚴(yán)重。DDoS(distributed denial of service,分布式拒絕服務(wù))攻擊已經(jīng)成為現(xiàn)有互聯(lián)網(wǎng)的一個主要威脅,其不需要很強(qiáng)的專業(yè)知識,并且攻擊者采用IP地址欺騙的方式,很難定位攻擊者。對于DDoS攻擊的防御主要難點(diǎn)在于區(qū)分異常流量和正常流量。同時,傳統(tǒng)互聯(lián)網(wǎng)架構(gòu)下,網(wǎng)絡(luò)設(shè)備很難通過協(xié)作方式來應(yīng)對來自不同地點(diǎn)的DDoS攻擊流量。

SDN(software defined networking,軟件定義網(wǎng)絡(luò))提出了一種新型的網(wǎng)絡(luò)管理模式[1]。在SDN中,交換機(jī)不對數(shù)據(jù)分組進(jìn)行過多的處理,僅依照流表匹配進(jìn)行轉(zhuǎn)發(fā)。如果沒有匹配,數(shù)據(jù)分組則會被交到控制器中進(jìn)行解析處理。SDN控制器是網(wǎng)絡(luò)的操作系統(tǒng),由它處理數(shù)據(jù)分組,并決策數(shù)據(jù)分組是否要被轉(zhuǎn)發(fā)或者丟棄,并下發(fā)規(guī)則到數(shù)據(jù)平面交換機(jī)上。通過這種方式,SDN分離了控制層與數(shù)據(jù)轉(zhuǎn)發(fā)層。通過SDN的集中式控制機(jī)制,很容易獲得網(wǎng)絡(luò)狀態(tài)信息,并且能夠通過下發(fā)流表的方式靈活地控制數(shù)據(jù)分組的處理方式,轉(zhuǎn)發(fā)或者丟棄。OpenFlow[2]作為SDN的一種實(shí)現(xiàn)方法,定義了控制平面控制器與數(shù)據(jù)平面設(shè)備之間通信的協(xié)議,為研究者提供了一個開放式的研究平臺[3]。

一些研究通過SDN控制器獲取交換機(jī)接收到的數(shù)據(jù)分組,利用控制器上的應(yīng)用進(jìn)行分析處理。Braga等人利用自組織映射(self-organizing map,SOM)方法來對DDoS流量和正常流量進(jìn)行分類,他們通過對OpenFlow交換機(jī)上采集的流量信息進(jìn)行訓(xùn)練,通過神經(jīng)網(wǎng)絡(luò)的方式確定DDoS攻擊行為[4]。Mousavi S M利用SDN控制器收到的請求分組進(jìn)行熵值計(jì)算,可以快速地檢測到網(wǎng)絡(luò)中的異常行為[5]。Hu等人提出一個運(yùn)行在SDN交換機(jī)和控制器之上的入侵檢測系統(tǒng),引入一個超級控制器運(yùn)行在所有控制器之上用來監(jiān)測網(wǎng)絡(luò)中的事件[6]。Giotis K主要是借助sFlow數(shù)據(jù)監(jiān)測的功能,把數(shù)據(jù)收集的過程從SDN控制平面分離出來,通過控制器上的異常檢測模塊分析抽樣數(shù)據(jù)分組,生成擴(kuò)展的OpenFlow流表規(guī)則下發(fā)到數(shù)據(jù)平面,流表規(guī)則主要包含流匹配規(guī)則、流超時時間、流表項(xiàng)建立后匹配該流表項(xiàng)的數(shù)據(jù)分組個數(shù)、流表項(xiàng)優(yōu)先級。其提出的架構(gòu)包含3個部分,分別為:控制器,負(fù)責(zé)流信息收集;異常檢測模塊,負(fù)責(zé)流統(tǒng)計(jì)分析、異常監(jiān)測、確認(rèn)異常模式;異常緩解模塊,負(fù)責(zé)白名單、異常消除[7]。

然而,以上很多研究都是直接利用SDN控制器本身對數(shù)據(jù)平面流量進(jìn)行收集處理,而SDN控制器只對不匹配的數(shù)據(jù)分組頭進(jìn)行分析,不能完整地對流經(jīng)SDN的流量進(jìn)行監(jiān)控,同時全部由控制器進(jìn)行流量監(jiān)測也在一定程度上增加了控制器的開銷。為了緩解SDN控制器處理數(shù)據(jù)分組的壓力,引入了一個集中式網(wǎng)絡(luò)流量監(jiān)視與異常行為分析設(shè)備,稱為安全中心。同時,在連接接入網(wǎng)與核心網(wǎng)的數(shù)據(jù)平面接入設(shè)備上添加安全代理模塊,用于對接入核心網(wǎng)的數(shù)據(jù)流進(jìn)行預(yù)處理,提取網(wǎng)絡(luò)流量熵值信息,并交由安全中心進(jìn)行進(jìn)一步處理和分析。對于異常流量情況,安全中心通過與SDN控制器協(xié)作的方式為數(shù)據(jù)平面轉(zhuǎn)發(fā)設(shè)備安裝流表規(guī)則,針對不同的攻擊行為做出管控。

基于以上分析,本文貢獻(xiàn)如下:

·開發(fā)了一種基于SDN的異常流量檢測系統(tǒng);

·提出一種SDN架構(gòu)下,基于熵值計(jì)算和SVM(support vector machine)分類的異常流量分類與檢測方法;

·提出一種安全中心與SDN中心控制器的協(xié)作機(jī)制,對發(fā)現(xiàn)的異常行為進(jìn)行處理;

·基于本系統(tǒng),提出一種保護(hù)SDN中心控制器的方法。

2 SDN下基于熵值的安全系統(tǒng)設(shè)計(jì)

本文基于軟件定義網(wǎng)絡(luò)和分離映射機(jī)制,提出一種SDN下應(yīng)對DDoS攻擊的安全性保障方法。把SDN分為接入網(wǎng)與核心網(wǎng),其中,接入網(wǎng)連接用戶終端,核心網(wǎng)負(fù)責(zé)數(shù)據(jù)的傳輸與轉(zhuǎn)發(fā)。在連接接入網(wǎng)與核心網(wǎng)的接入轉(zhuǎn)發(fā)設(shè)備處,通過安全代理模塊對數(shù)據(jù)分組進(jìn)行提取并預(yù)處理,以一定格式的流摘要信息提交給安全中心進(jìn)行分析。安全中心通過流量分析檢測是否發(fā)生異常行為并定位攻擊類型,同時通告中心控制器做進(jìn)一步的處理。系統(tǒng)中主要涉及的網(wǎng)絡(luò)功能設(shè)備有:接入交換設(shè)備(帶有安全代理)、中心控制器和安全中心。核心設(shè)計(jì)思想是通過安全中心與中心控制器的協(xié)作機(jī)制來對異常行為進(jìn)行檢測并做出相應(yīng)處理方法。該系統(tǒng)的關(guān)鍵是接入轉(zhuǎn)發(fā)設(shè)備中安全代理模塊的設(shè)計(jì)和安全中心的設(shè)計(jì)以及安全中心與控制器之間的協(xié)作機(jī)制設(shè)計(jì)。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。

2.1 中心控制器設(shè)計(jì)

SDN控制器是SDN的核心,相當(dāng)于整個網(wǎng)絡(luò)的大腦,掌握網(wǎng)絡(luò)拓?fù)湫畔⒑途W(wǎng)絡(luò)狀態(tài)信息。本系統(tǒng)中的中心控制器是基于POX[8]進(jìn)行開發(fā)的。POX開發(fā)語言是Python,具有速度快、輕量級的特點(diǎn),廣泛用于實(shí)驗(yàn)研究中。修改POX之后,在控制器上開發(fā)安全解析模塊,用于接收來自安全中心的異常信息進(jìn)行解析,并生成防御流表規(guī)則,通過控制器下發(fā)到接入轉(zhuǎn)發(fā)設(shè)備中,指示轉(zhuǎn)發(fā)設(shè)備如何處理數(shù)據(jù)流。

2.2 接入轉(zhuǎn)發(fā)設(shè)備設(shè)計(jì)

接入轉(zhuǎn)發(fā)設(shè)備作為數(shù)據(jù)平面轉(zhuǎn)發(fā)設(shè)備,兼顧數(shù)據(jù)采集和數(shù)據(jù)流轉(zhuǎn)發(fā)。基于OpenFlow 1.0.0源碼進(jìn)行開發(fā),在接入轉(zhuǎn)發(fā)設(shè)備上安裝安全代理模塊。安全代理模塊是一個網(wǎng)絡(luò)流量監(jiān)視器,它負(fù)責(zé)對所有接入轉(zhuǎn)發(fā)設(shè)備收到的接入數(shù)據(jù)分組進(jìn)行采集、存儲等預(yù)處理工作。最終按照源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議類型和分片標(biāo)識信息歸類成標(biāo)準(zhǔn)流摘要信息,上報(bào)給安全中心。實(shí)現(xiàn)這個目的的方式有很多,如NetFlow、sFlow、IPFIX[9]等。它們之間的比較見表1。

NetFlow是一種基于軟件的技術(shù),而sFlow則采用內(nèi)置在硬件中的專用芯片,這種做法消除了路由器或交換機(jī)的CPU和內(nèi)存的負(fù)擔(dān)。但是實(shí)際開發(fā)中,采用同樣是軟件形式的IPFIX進(jìn)行開發(fā),IPFIX基于NetFlow V9進(jìn)行開發(fā),已經(jīng)成為IETF的標(biāo)準(zhǔn)規(guī)范之一。

此外,修改接入轉(zhuǎn)發(fā)設(shè)備,添加異常隔離機(jī)制,即當(dāng)接入轉(zhuǎn)發(fā)設(shè)備短時間內(nèi)收到?jīng)]有匹配的數(shù)據(jù)分組超過一定閾值時,停止向控制器發(fā)送請求,而交給安全中心進(jìn)行流量分析,盡可能地減緩中心控制器的負(fù)載。

2.3 安全中心設(shè)計(jì)

安全中心是一個集中式網(wǎng)絡(luò)攻擊探測器和異常行為分析服務(wù)器。它可以通過安全代理上傳的流摘要信息分析網(wǎng)絡(luò)流量,監(jiān)視網(wǎng)絡(luò)行為是否出現(xiàn)異常。安全中心通過SVM算法[10]預(yù)先訓(xùn)練好不同攻擊類型流量的訓(xùn)練集,針對特定類型的安全威脅進(jìn)行模式匹配,確定攻擊行為與威脅程度,然后通過設(shè)定好的閾值來判斷是否通報(bào)控制器以及命令控制器如何進(jìn)行處理。對于確定需要處理的異常行為和攻擊行為,安全中心通過特定接口發(fā)送防御指令給中心控制器的安全解析模塊,安全解析模塊解析防御指令并生成相應(yīng)的流表規(guī)則,指定動作下發(fā)給數(shù)據(jù)平面設(shè)備,對異常流量進(jìn)行處理。

2.4 系統(tǒng)工作流程

整個系統(tǒng)的工作過程如圖2所示。

圖2 安全系統(tǒng)異常檢測與防御流程

當(dāng)接入轉(zhuǎn)發(fā)設(shè)備收到一系列數(shù)據(jù)分組時,將觸發(fā)以下處理過程。

(1)接入轉(zhuǎn)發(fā)設(shè)備向中心控制器發(fā)送攜帶接入標(biāo)識的數(shù)據(jù)分組頭信息,請求去往目的地的轉(zhuǎn)發(fā)規(guī)則。同時安全代理采集接入轉(zhuǎn)發(fā)設(shè)備上收到的數(shù)據(jù)分組,對其進(jìn)行預(yù)處理,按照五元組進(jìn)行分類,生成流摘要信息。

表1 各種網(wǎng)絡(luò)流量監(jiān)控方式比較

(2)安全代理以一定的窗口值將流摘要信息輸出給安全中心。

(3)安全中心匯總存儲模塊數(shù)據(jù)庫中的流量記錄,按照設(shè)定的窗口值進(jìn)行樣本劃分后,進(jìn)行熵值變換,得到熵值向量組,用熵值數(shù)值大小來直觀表示網(wǎng)絡(luò)帶寬的波動狀況。

(4)安全中心通過流量分析結(jié)果,定期通告SDN控制器網(wǎng)絡(luò)狀態(tài)。若發(fā)生異常,則立即根據(jù)分析結(jié)果確定攻擊類型和防御手段,并反饋給中心控制器的安全解析模塊。

(5)中心控制器中的安全解析模塊解析防御手段并生成流表規(guī)則,對接入數(shù)據(jù)流進(jìn)行相應(yīng)處理。

安全中心通過將從各個接入轉(zhuǎn)發(fā)設(shè)備中的安全代理商收集到的流摘要信息按一定數(shù)量進(jìn)行分組,對每一組的流摘要信息中的信息熵值進(jìn)行計(jì)算來分析攻擊類型:相同的IP地址或端口號出現(xiàn)次數(shù)越多,則其中包含的信息量越低,熵值越低;反之,若出現(xiàn)大量不同的IP地址或端口號,則其中包含的信息量越高,熵值也越高。安全應(yīng)用通過分析熵值向量特點(diǎn),與不同的攻擊模型進(jìn)行匹配,最后得出攻擊類型信息,同時生成攻擊者與被攻擊者的相關(guān)信息,通過特定數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)分組反饋給中心控制器中的安全解析模塊。

3 安全系統(tǒng)對網(wǎng)絡(luò)攻擊的檢測與處理

系統(tǒng)對網(wǎng)絡(luò)中異常流量的檢測方式主要有兩種:基于異常映射請求的攻擊檢測與基于安全中心流量分析的攻擊檢測。其中,基于映射請求的異常檢測主要針對DDoS攻擊,能夠在攻擊發(fā)生之前預(yù)測到即將發(fā)生的攻擊行為,但是具有局限性;而基于安全中心對流量進(jìn)行分析的檢測方法能在攻擊發(fā)生之后很短的時間內(nèi)檢測到異常流量,做出反應(yīng),可以應(yīng)對的攻擊方式更為豐富。在系統(tǒng)設(shè)計(jì)中,采用熵值計(jì)算的方式對異常流量進(jìn)行檢測。眾多研究表明,網(wǎng)絡(luò)流量中的IP地址、端口號與協(xié)議類型等屬性在分布特征上表現(xiàn)出較強(qiáng)的自相似特性和重尾特性[11],正常流量和異常流量的各個屬性在分布特征上存在明顯的差異。因此,可以將信息熵應(yīng)用于異常檢測,用熵值量化網(wǎng)絡(luò)流量的不同屬性。將網(wǎng)絡(luò)信息流中某個屬性X的特征值記為N(出現(xiàn)了N個不同結(jié)果),X={ni,i=1,2,…,N}表示在測量數(shù)據(jù)中特征值i出現(xiàn)了ni次表示特征值出現(xiàn)的總次數(shù),這樣就可以計(jì)算這個信息流中屬性X的信息熵:

3.1 基于安全中心的異常行為分析機(jī)制

(1)數(shù)據(jù)流采集過程

首先,接入轉(zhuǎn)發(fā)設(shè)備上的安全代理模塊采集數(shù)據(jù)分組,將數(shù)據(jù)分組放置在循環(huán)隊(duì)列中,并對數(shù)據(jù)分組按照關(guān)鍵字段進(jìn)行預(yù)處理,提取源IP地址、目的IP地址、源端口、目的端口、協(xié)議類型和同一源IP地址出現(xiàn)次數(shù)信息,整理為數(shù)據(jù)流的格式,傳送到等待隊(duì)列中。數(shù)據(jù)流依照IETF標(biāo)準(zhǔn)中的IPFIX模板。一旦等待隊(duì)列裝滿,安全代理立即把整理過的數(shù)據(jù)流發(fā)送給安全中心進(jìn)行分析處理。

(2)流量的熵值量化方法

安全中心從分布在接入轉(zhuǎn)發(fā)設(shè)備上的安全代理模塊收集數(shù)據(jù)分組,將捕獲到的數(shù)據(jù)分組按照接收時間順序以每m個數(shù)據(jù)分組為單位劃分為一個子集,并規(guī)定其為單位流量,記為Si={S1,S2,…,Sm},Si∈D。然后選取源接入標(biāo)識、目的接入標(biāo)識、協(xié)議類型、源端口和目的端口五元組屬性,并統(tǒng)計(jì)每個流中數(shù)據(jù)分組個數(shù),隨后安全代理發(fā)送這些流摘要信息給安全中心進(jìn)行處理。

安全中心分別計(jì)算單位流量在這些屬性上的熵值。以源IP地址為例,N為單位流量S中出現(xiàn)的不同的源IP地址的個數(shù),ni(i=1,…,N)代表不同的源IP地址分別出現(xiàn)的次數(shù),則代入信息熵的定義公式即可得到單位流量源IP地址的熵值。

(3)流量模型訓(xùn)練

在異常流量檢測系統(tǒng)中,需要一定數(shù)量的訓(xùn)練樣本來建立正?;虍惓A髁磕P蚚12]。在實(shí)際網(wǎng)絡(luò)環(huán)境中,獲得所需的數(shù)據(jù)并不容易,采集得到的數(shù)據(jù)源往往具有維數(shù)高、樣本數(shù)小等問題[13]。與其他分類算法相比,SVM可以更好地解決小樣本、非線性、高維數(shù)等問題,因此非常適合被應(yīng)用于異常檢測系統(tǒng)中[10]?;赟VM算法,首先模擬正常流量,建立相應(yīng)的正常流量模型作為參考模型。然后針對一些不同的攻擊情況,模擬不同的攻擊流量,同樣采用SVM算法建立對應(yīng)不同攻擊的異常流量模型。

(4)異常流量檢測

正常情況下,單位流量的五元組(源接入標(biāo)識、目的接入標(biāo)識、源端口、目的端口和協(xié)議類型)熵值較為穩(wěn)定,不同比例和各種類別的異常流量在熵值上變化明顯。由于異常流量改變了網(wǎng)絡(luò)流量的微觀結(jié)構(gòu)和重尾分布特征,必然使得單位流量的平均信息熵值出現(xiàn)大幅度變化,因此對各種流量進(jìn)行異常檢測可以轉(zhuǎn)化為對熵值的分類。

用計(jì)算出的信息熵值向量,與安全中心中各種攻擊流量模型進(jìn)行熵值匹配,確定攻擊類型。常見的異常流量對應(yīng)的攻擊類型有DoS、DDoS、端口掃描等。相對于正常流量,端口掃描異常流量的目的IP地址更集中,目的端口更分散,因此目的IP地址熵值較小,目的端口熵值較大;而DDoS攻擊者會雇傭大量的僵尸主機(jī),并且采用IP地址欺騙機(jī)制,使得源IP地址會比較分散,因此DDoS攻擊下異常流量的源IP地址熵值較大,而目的IP地址熵值較小。

3.2 系統(tǒng)對中心控制器的保護(hù)機(jī)制

在SDN中,控制器作為網(wǎng)絡(luò)的大腦起著至關(guān)重要的作用。當(dāng)網(wǎng)絡(luò)狀態(tài)產(chǎn)生異常時,攻擊者會向交換機(jī)發(fā)送大量沒有匹配的數(shù)據(jù)分組。此時,如果控制器響應(yīng)來自交換機(jī)的流表請求,則很容易造成控制器負(fù)載過高,甚至癱瘓。系統(tǒng)提出一種針對接入轉(zhuǎn)發(fā)設(shè)備的流量隔離機(jī)制,即當(dāng)接入轉(zhuǎn)發(fā)設(shè)備短時間內(nèi)收到大量沒有匹配的數(shù)據(jù)分組時,中斷向控制器發(fā)起不匹配請求,而是先把流量通過安全代理轉(zhuǎn)發(fā)給安全中心進(jìn)行流量分析。如果判斷產(chǎn)生攻擊,安全中心就把關(guān)鍵參數(shù)通過安全通道發(fā)送給中心控制器,實(shí)現(xiàn)對異常流量的限制,從而達(dá)到保護(hù)中心控制器的目的。

3.3 安全防御流表的生成機(jī)制

利用SDN集中控制的特性,可以方便地由控制器下發(fā)流匹配策略,從而實(shí)現(xiàn)對異常主機(jī)發(fā)生數(shù)據(jù)分組進(jìn)行丟棄的效果。在整個系統(tǒng)正常工作時,安全中心的數(shù)據(jù)庫對流量樣本進(jìn)行存儲,當(dāng)通過熵值計(jì)算檢測到異常行為時,安全中心需要查詢數(shù)據(jù)庫中相應(yīng)樣本,提取攻擊關(guān)鍵信息通告給中心控制器。定義并設(shè)計(jì)了一個用于安全中心與中心控制器通信的安全通道,安全通道采用類似OpenFlow中安全通道的TLS加密機(jī)制。安全中心以定義好格式的數(shù)據(jù)分組通知中心控制器中安全解析模塊。數(shù)據(jù)分組中主要包含攻擊類型、協(xié)議類型、攻擊者的IP地址(列表)及端口、被攻擊者IP地址及端口等信息。

中心控制器中的安全解析模塊收到該數(shù)據(jù)分組后,首先匹配攻擊類型,然后根據(jù)數(shù)據(jù)分組中的信息生成流表規(guī)則,規(guī)定匹配項(xiàng)和動作來對異常流量進(jìn)行處理,從而可以定向地為相應(yīng)的接入轉(zhuǎn)發(fā)設(shè)備配置流表。根據(jù)目前OpenFlow協(xié)議規(guī)定的動作類型,把規(guī)則設(shè)置為簡單的丟棄數(shù)據(jù)分組。

在系統(tǒng)實(shí)際開發(fā)中,對每個樣本進(jìn)行熵值計(jì)算,如果連續(xù)5個樣本出現(xiàn)熵值異常,安全中心就判斷發(fā)生攻擊(在實(shí)際測試中發(fā)現(xiàn),當(dāng)樣本容量為100時,選取4~5個連續(xù)樣本會大大降低誤報(bào)率)。隨后,安全中心提取這5個樣本中的關(guān)鍵信息,針對DDoS攻擊,設(shè)置樣本容量為100,從數(shù)據(jù)庫中選取連續(xù)5個樣本的數(shù)據(jù)。把發(fā)送給同一目的IP地址超過3次的源IP地址條目認(rèn)定為攻擊者,發(fā)送給中心控制器。中心控制器根據(jù)這些信息生成流規(guī)則,匹配攻擊者IP地址,設(shè)定動作為丟棄數(shù)據(jù)分組,實(shí)現(xiàn)在一定時間范圍內(nèi),限制攻擊IP地址的接入的目的。

4 實(shí)驗(yàn)驗(yàn)證

4.1 實(shí)驗(yàn)拓?fù)?/h3>

測試拓?fù)浒慌_中心控制器、一臺接入轉(zhuǎn)發(fā)設(shè)備、一臺安全中心和用戶網(wǎng)絡(luò)。連接情況如圖3所示,其中,安全中心與中心控制器直連,安全代理安裝在接入轉(zhuǎn)發(fā)設(shè)備上與安全中心連接。

圖3 實(shí)驗(yàn)拓?fù)?/p>

4.2 流量生成

實(shí)驗(yàn)中,通過實(shí)驗(yàn)室網(wǎng)絡(luò)出口鏈路數(shù)據(jù)分組的方式獲取正常流量;使用Scapy[14]來模擬端口掃描、網(wǎng)絡(luò)掃描、DoS和DDoS等幾種常見的攻擊流量。Scapy是用Python語言編寫的一個功能強(qiáng)大的交互式數(shù)據(jù)分組處理程序,可用來發(fā)送、嗅探、解析和偽造網(wǎng)絡(luò)數(shù)據(jù)分組,常常被用到網(wǎng)絡(luò)攻擊和測試中。在實(shí)驗(yàn)中,使用Scapy生成UDP分組并偽造其源或目的地址。采用一對其余SVM多分類器對正常和異常流量進(jìn)行訓(xùn)練。

4.3 閾值設(shè)定

實(shí)際測試中,針對正常流量和DDoS攻擊流量分別進(jìn)行訓(xùn)練,選取100作為樣本窗口大小,分別測試100個樣本算出平均訓(xùn)練集。窗口大小應(yīng)該根據(jù)實(shí)際網(wǎng)絡(luò)狀況進(jìn)行設(shè)置,窗口值越大測得的熵值范圍越大,精確度也就越高,但是同時,窗口越大,所用時間就會更長,CPU使用率就會更高。由于采用獨(dú)立的安全中心進(jìn)行流量分析,因此很大程度上降低了中心控制器的開銷??紤]到測試網(wǎng)絡(luò)的規(guī)模,以100作為窗口值,兼顧速度與準(zhǔn)確度。將捕獲到的數(shù)據(jù)分組按照時間順序劃分為不同的樣本。針對DDoS攻擊下目的接入標(biāo)識熵值進(jìn)行計(jì)算,并與正常流量進(jìn)行比較,見表2。

表2 25% DDoS攻擊流量時,目的接入標(biāo)識閾值計(jì)算

4.4 性能分析

由表2可知,在DDoS攻擊流量占全部流量25%時,異常流量目的接入標(biāo)識熵值最大值為1.327 4,設(shè)置閾值為1.33稍大于這個值,這樣會有最低的誤報(bào)率。當(dāng)有連續(xù)5個樣本的目的IP地址熵值低于這個閾值,即產(chǎn)生攻擊檢測警報(bào)。接下來又測試了DDoS攻擊流量占全部流量50%和75%的情況,隨著DDoS攻擊流量占比的增加,異常流量熵值與正常流量熵值差別越來越明顯,這樣檢測率會提升,精度會越來越高,誤報(bào)率越來越低。

另外需要關(guān)注的一個性能指標(biāo)就是檢測時間。檢測時間取決于多個參數(shù),如分類算法的選取、樣本容量大小、CPU處理能力等。采用SVM分類算法,在保證檢測率的前提下,考慮樣本值為100,連續(xù)5個樣本均低于設(shè)定閾值才觸發(fā)流量異常的情境,通過10次測試測得,檢測時間主要在5~7 s的范圍。因此基于此方法,在攻擊發(fā)生時系統(tǒng)可以很快地檢測出異常。

最后分析了SDN中心控制器的開銷,在處理正常流量的情況下,測得SDN控制器的CPU使用率在30%左右。基于流量隔離機(jī)制,在大量沒有匹配數(shù)據(jù)分組到達(dá)接入轉(zhuǎn)發(fā)設(shè)備的時候,接入轉(zhuǎn)發(fā)設(shè)備不會把數(shù)據(jù)分組轉(zhuǎn)發(fā)給控制器,因此中心控制器不會突然變成高負(fù)載狀態(tài)。僅在安全中心通知中心控制器攻擊事件時,由于控制器上安全解析模塊需要工作,解析消息并生產(chǎn)防御流表規(guī)則,這時的CPU使用率會達(dá)到40%。整體來看,中心控制器的開銷并沒有很大的變化。

5 結(jié)束語

本文提出一種在SDN中異常流量檢測方法。為了提高檢測效率,引入了安全中心的概念,對接入網(wǎng)絡(luò)用戶進(jìn)行行為監(jiān)測與流量分析。安全中心上面利用SVM算法對不同的攻擊行為的流量進(jìn)行分類,對流入網(wǎng)絡(luò)的流量進(jìn)行模型匹配,定位攻擊類型。隨后安全中心通過對數(shù)據(jù)庫中攻擊流量樣本進(jìn)行分析,提取攻擊關(guān)鍵信息,并反饋給SDN控制器進(jìn)行處理。中心控制器中的安全分析模塊根據(jù)安全中心通報(bào)的消息中的參數(shù)生成流表規(guī)則,下發(fā)給數(shù)據(jù)平面轉(zhuǎn)發(fā)設(shè)備,對數(shù)據(jù)流進(jìn)行處理。通過這種手段可以動態(tài)靈活地對攻擊行為進(jìn)行限制。在接下來的工作中,將重點(diǎn)研究中心控制器流表規(guī)則下發(fā)機(jī)制,使中心控制器通過接收到的攻擊參數(shù)能夠更準(zhǔn)確、更有效地遏制攻擊者的行為。

1 Open Networking Foundation.Software-Defined Networking:the New Norm for Networks,2012

2 McKeown N,Anderson T,Balakrishnan H,et al.OpenFlow:enabling innovation in campus networks. Computer Communication Review,2008,38(2):69~74

3 ONF.OpenFlow Switch Specification 1.3.4,2014

4 Braga R,Mota E,Passito A.Lightweight DDoS flooding attack detection using NOX/OpenFlow.Proceedings of IEEE 35th Conference on Local Computer Networks(LCN),Denver,Colorado,USA,2010:408~415

5 Mousavi S M,St-Hilaire M.Early detection of DDoS attacks against SDN controllers.Proceedings of 2015 International Conference on Computing,Networking and Communications(ICNC),Ottawa,Canada,2015:77~81

6 Su W,Wu L,Huang Y,et al.Design of event-based intrusion detection system on OpenFlow network.Proceedings of IEEE International Conference on Dependable Systems and Networks(SDN),Budapest,Hungary,2013:1~2

7 Giotis K,Argyropoulos C,Androulidakis G,et al.Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments.Computer Networks,2014(62):122~136

8 POX.http://www.noxrepo.org/pox/about-pox/,2015

9 Hofstede R,Celeda P,Trammell B,et al.Flow monitoring explained:from packet capture to data analysis with NetFlow and IPFIX.IEEE Communications Surveys and Tutorials,2014,16(4):2037~2064

10 Denning D E.An intrusion-detection model.IEEE Transactions on Software Engineering,1987,13(2):222~232

11 Lakhina A,Crovella M,Diot C.Mining anomalies using traffic feature distributions.Proceedings of ACM SIGCOMM,Philadelphia,PA,USA,2005:217~228

12 陳小輝.基于數(shù)據(jù)挖掘算法的入侵檢測方法.計(jì)算機(jī)工程,2010,36(17 ):72~76 Chen X H.Intrusion detection method based on data mining algorithm.Computer Engineering,2010,36(17):72~76

13 杜強(qiáng),孫敏.基于改進(jìn)聚類分析算法的入侵檢測系統(tǒng)研究.計(jì)算機(jī)工程與應(yīng)用,2011,47(11):106~108Du Q,Sun M.Intrusion detection system based on improved clustering algorithm.Computer Engineering and Applications.2011,47(11):106~108

14 Scapy.http://www.secdev.org/projects/scapy,2014

猜你喜歡
流表IP地址分組
基于匹配動作表模型的可編程數(shù)據(jù)平面流表歸并
基于時序與集合的SDN流表更新策略
鐵路遠(yuǎn)動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
分組搭配
簡析yangUI流表控制
軟件定義網(wǎng)絡(luò)中一種兩步式多級流表構(gòu)建算法
怎么分組
IP地址切換器(IPCFG)
分組
基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用