本發(fā)明屬于網(wǎng)絡(luò)檢測(cè)的技術(shù)領(lǐng)域,尤其涉及一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng)。
背景技術(shù):
針對(duì)網(wǎng)絡(luò)架構(gòu),目前已經(jīng)提出了大量的DDoS攻擊檢測(cè)方法,而基于OpenFlow的軟件定義網(wǎng)絡(luò)技術(shù)主要是基于流規(guī)則進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),目前已有部分基于軟件定義網(wǎng)絡(luò)的攻擊檢測(cè)防御方法;但設(shè)計(jì)多是在目的端使用數(shù)學(xué)算法檢測(cè)異常,只有少量算法提供了流量的清洗功能。
肖佩瑤等人提出基于路由的檢測(cè)方法,但當(dāng)隨機(jī)流發(fā)出時(shí),控制器為每個(gè)流做出轉(zhuǎn)發(fā)路徑分析,下發(fā)流表項(xiàng),這樣做嚴(yán)重影響了控制器的性能,會(huì)造成軟件定義網(wǎng)絡(luò)中對(duì)控制器的DDoS攻擊,其也反映了單單從攻擊目的端檢測(cè)攻擊的弊端。
Q.Yan在論文中深入分析了軟件定義網(wǎng)絡(luò)與DDoS的關(guān)系,提出了在目的端檢測(cè)攻擊,在源端防御攻擊的想法,但沒(méi)有實(shí)際的工作,一切停留在理論階段。
綜上所述,目前問(wèn)題難以解決的根源是設(shè)計(jì)單一,不能從整體上防御攻擊,同時(shí)實(shí)踐不足,理論不能形成直接技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是,提供一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng)。
為解決上述問(wèn)題,本發(fā)明采用如下技術(shù)方案:
一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng)包括:
IP地址防偽模塊,位于軟件定義網(wǎng)絡(luò)中OpenFlow控制器中,用于對(duì)通過(guò)DHCP與靜態(tài)配置IP兩種類型的用戶實(shí)現(xiàn)IP地址的動(dòng)態(tài)綁定,實(shí)現(xiàn)源IP防偽;
攻擊檢測(cè)模塊,位于客戶端,利用sFlow-rt提取網(wǎng)絡(luò)信息,建立正常流量模型,利用TCPReplay重放數(shù)據(jù)集建立正常與異常網(wǎng)絡(luò)特征信息模型,基于客戶端的SVM分類算法檢測(cè)異常,將網(wǎng)絡(luò)狀態(tài)的改變信息發(fā)送給服務(wù)端;
攻擊阻斷模塊,位于服務(wù)端,用于根據(jù)所述網(wǎng)絡(luò)狀態(tài)的改變信息,對(duì)特定IP相關(guān)流表項(xiàng)進(jìn)行提取計(jì)算訪問(wèn)速度,且與預(yù)設(shè)閾值進(jìn)行比較,下發(fā)阻斷流表項(xiàng),實(shí)現(xiàn)異常流量的防御。
作為優(yōu)選,所述IP地址防偽模塊具體過(guò)程如下:
動(dòng)態(tài)綁定時(shí)每個(gè)交換機(jī)接入接口都會(huì)在兩個(gè)狀態(tài)中轉(zhuǎn)換:
狀態(tài)1:數(shù)據(jù)包會(huì)發(fā)送給控制器。
狀態(tài)2:此端口已經(jīng)完成綁定。
在控制器啟動(dòng)時(shí)向交換機(jī)各端口插入將數(shù)據(jù)發(fā)往控制器的流表項(xiàng),以保證對(duì)其監(jiān)控,進(jìn)入狀態(tài)1,然后分別處理兩種獲取IP的方式;
DHCP:當(dāng)服務(wù)器向客戶端發(fā)送DHCP ACK時(shí),將其獲取到的IP地址記為S,刪除狀態(tài)1中發(fā)往控制器流表項(xiàng),同時(shí)下發(fā)交換機(jī)目標(biāo)端口僅允許S源地址通過(guò)的流表項(xiàng),進(jìn)入狀態(tài)2。
靜態(tài)IP:當(dāng)數(shù)據(jù)包從某一接入端口發(fā)送到控制器進(jìn)行解析時(shí),分析得到其源地址為S,刪除狀態(tài)1中發(fā)往控制器流表項(xiàng),并下發(fā)此端口僅允許S源地址通過(guò)的流表項(xiàng),進(jìn)入狀態(tài)2。
當(dāng)客戶端發(fā)送DHCP Release或交換機(jī)端口失去連接時(shí),需要?jiǎng)h除上述防偽流表項(xiàng);重新插入此端口發(fā)往控制器的流表項(xiàng),恢復(fù)到初始監(jiān)控狀態(tài)1。
作為優(yōu)選,所述網(wǎng)絡(luò)信息包含:網(wǎng)絡(luò)流量信息與源IP熵信息。
作為優(yōu)選,攻擊檢測(cè)模塊的SVM分類算法對(duì)已經(jīng)標(biāo)注為正?;虍惓5木W(wǎng)絡(luò)信息進(jìn)行學(xué)習(xí);在得到新的未標(biāo)注的數(shù)據(jù)后依據(jù)學(xué)習(xí)得到的模型進(jìn)行分類,已確定網(wǎng)絡(luò)信息是正常還是異常。
本發(fā)明利用SDN網(wǎng)絡(luò)構(gòu)架實(shí)現(xiàn)目的端的檢測(cè)和源端的防御,以解決DDoS攻擊問(wèn)題。源IP地址的偽造是DDoS攻擊無(wú)法有效追蹤攻擊源的主要原因,利用SDN集中控制的優(yōu)勢(shì),結(jié)合RFC 2827所用思想,實(shí)現(xiàn)了全自動(dòng)化的源IP地址動(dòng)態(tài)綁定,實(shí)現(xiàn)了源IP的防偽,使多種放大攻擊失去效果。利用sFlow-rt提取網(wǎng)絡(luò)信息,利用TCPReplay重放數(shù)據(jù)集建立正常與異常網(wǎng)絡(luò)特征信息模型。使用SVM分類算法在被保護(hù)的目的端學(xué)習(xí)建立的模型,以檢測(cè)攻擊,每個(gè)被保護(hù)服務(wù)器可以設(shè)定不同的閾值。同時(shí)模塊化的設(shè)計(jì)對(duì)于針對(duì)不同類型服務(wù)器替換特定的算法提供了可能。攻擊阻斷使用多進(jìn)程設(shè)計(jì),可同時(shí)連接多個(gè)攻擊檢測(cè)端。由上而下的下發(fā)阻斷流表項(xiàng),更好的貫徹了SDN中網(wǎng)絡(luò)資源池化的思想。
附圖說(shuō)明
圖1為基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明,應(yīng)指出的是,所描述的實(shí)例僅旨在便于對(duì)本發(fā)明的理解,而對(duì)其不起任何限定作用。
本發(fā)明實(shí)施例提供的一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng),在OpenFlow控制器中內(nèi)建源IP地址防偽模塊,對(duì)通過(guò)DHCP與靜態(tài)配置IP兩種類型的用戶實(shí)現(xiàn)IP地址的動(dòng)態(tài)綁定,實(shí)現(xiàn)源IP防偽。利用sFlow-rt提取網(wǎng)絡(luò)信息,建立正常流量模型,在正常流量的基礎(chǔ)上附加攻擊數(shù)據(jù)集以得到異常流量模型。由客戶端的SVM分類算法檢測(cè)異常,發(fā)送消息給服務(wù)端。服務(wù)端通過(guò)控制器的流表信息提取API計(jì)算超過(guò)客戶端規(guī)定的訪問(wèn)閾值的主機(jī)進(jìn)行阻斷。三方面整體實(shí)現(xiàn)異常流量的檢測(cè)與防御。
如圖1所示,一種基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng)包括:IP地址防偽模塊、攻擊檢測(cè)模塊以及攻擊阻斷模塊,其中,
所述IP地址防偽模塊,位于軟件定義網(wǎng)絡(luò)中OpenFlow控制器中,用于對(duì)通過(guò)DHCP與靜態(tài)配置IP兩種類型的用戶實(shí)現(xiàn)IP地址的動(dòng)態(tài)綁定,實(shí)現(xiàn)源IP防偽,具體為:
動(dòng)態(tài)綁定時(shí)每個(gè)交換機(jī)接入接口都會(huì)在兩個(gè)狀態(tài)中轉(zhuǎn)換:
狀態(tài)①:數(shù)據(jù)包會(huì)發(fā)送給控制器。
狀態(tài)②:此端口已經(jīng)完成綁定。
獲取IP地址的途徑有兩種:使用DHCP服務(wù)或配置靜態(tài)IP。首先在控制器啟動(dòng)時(shí)向交換機(jī)各端口插入將數(shù)據(jù)發(fā)往控制器的流表項(xiàng),以保證對(duì)其監(jiān)控,進(jìn)入狀態(tài)①,然后分別處理兩種獲取IP的方式。
DHCP:當(dāng)服務(wù)器向客戶端發(fā)送DHCP ACK時(shí),將其獲取到的IP地址記為S,刪除狀態(tài)①中發(fā)往控制器流表項(xiàng),同時(shí)下發(fā)交換機(jī)目標(biāo)端口僅允許S源地址通過(guò)的流表項(xiàng),進(jìn)入狀態(tài)②。
靜態(tài)IP:當(dāng)數(shù)據(jù)包從某一接入端口發(fā)送到控制器進(jìn)行解析時(shí),分析得到其源地址為S,刪除狀態(tài)①中發(fā)往控制器流表項(xiàng),并下發(fā)此端口僅允許S源地址通過(guò)的流表項(xiàng),進(jìn)入狀態(tài)②。
當(dāng)客戶端發(fā)送DHCP Release或交換機(jī)端口失去連接時(shí),需要?jiǎng)h除上述防偽流表項(xiàng);重新插入此端口發(fā)往控制器的流表項(xiàng),恢復(fù)到初始監(jiān)控狀態(tài)①。
所述攻擊檢測(cè)模塊,位于客戶端,利用sFlow-rt提取網(wǎng)絡(luò)信息,建立正常流量模型,利用TCPReplay重放數(shù)據(jù)集建立正常與異常網(wǎng)絡(luò)特征信息模型,基于客戶端的SVM分類算法檢測(cè)異常,將網(wǎng)絡(luò)狀態(tài)的改變信息發(fā)送給服務(wù)端。
所述網(wǎng)絡(luò)信息包含:網(wǎng)絡(luò)流量信息與源IP熵信息。
SVM分類算法主要工作方式是對(duì)已經(jīng)標(biāo)注為正?;虍惓5木W(wǎng)絡(luò)信息進(jìn)行學(xué)習(xí);在得到新的未標(biāo)注的數(shù)據(jù)后依據(jù)學(xué)習(xí)得到的模型進(jìn)行分類,已確定網(wǎng)絡(luò)信息是正常還是異常。
攻擊檢測(cè)模塊與攻擊阻斷模塊構(gòu)成C/S模型,其中攻擊檢測(cè)模塊為Client端,攻擊阻斷模塊運(yùn)行后可以連接多個(gè)Client,接收多個(gè)目標(biāo)服務(wù)器發(fā)出的消息。同時(shí),本發(fā)明檢測(cè)方法是一種通用的檢測(cè)算法,針對(duì)不同的服務(wù)器可以應(yīng)用更適合的檢測(cè)方法。
基于信息熵的方法在正確率與誤報(bào)率上有突出的優(yōu)勢(shì)。在DDoS攻擊發(fā)生時(shí),網(wǎng)絡(luò)特征的明顯變化是流量增加,源IP地址增多。所以使用源IP的熵與流量結(jié)合作為SVM算法學(xué)習(xí)與分類的基礎(chǔ)數(shù)據(jù)。
要達(dá)到使用SVM分類算法對(duì)流量是否異常進(jìn)行分類,自然要有學(xué)習(xí)樣本。一部分正常樣本,一部分異常樣本。對(duì)網(wǎng)站正常時(shí)的流量與源IP熵記錄,可以簡(jiǎn)單的得到正常樣本。同時(shí)將正常流量搭載異常流量數(shù)據(jù)集,可以模擬出攻擊發(fā)生時(shí)的異常樣本。
所述攻擊阻斷模塊,位于服務(wù)端,用于根據(jù)所述網(wǎng)絡(luò)狀態(tài)的改變信息,對(duì)特定IP相關(guān)流表項(xiàng)進(jìn)行提取計(jì)算訪問(wèn)速度,且與預(yù)設(shè)閾值進(jìn)行比較,下發(fā)阻斷流表項(xiàng),實(shí)現(xiàn)異常流量的防御。
攻擊阻斷模塊在檢測(cè)-防御C/S模型中扮演Server端,與Client端不同,其需要連接多個(gè)Client并執(zhí)行防御程序。其邏輯如下。
進(jìn)程1:監(jiān)聽(tīng)端口等待新的Client連接;當(dāng)有新連接成功時(shí),開(kāi)啟子進(jìn)程2。
進(jìn)程2:接受Client端發(fā)送的消息,收到受攻擊消息時(shí)啟動(dòng)子進(jìn)程3,收到攻擊解除消息時(shí)終止子進(jìn)程3。
進(jìn)程3:執(zhí)行異常流量阻斷。
通過(guò)控制器提供的南向接口與北向接口,上層應(yīng)用可以得到所有向受害Client發(fā)送數(shù)據(jù)的主機(jī)。然后將這些主機(jī)向受害Client發(fā)送數(shù)據(jù)速率與受害Client設(shè)置的閾值進(jìn)行比較,若超出閾值,則阻斷此主機(jī)向受害Client發(fā)送數(shù)據(jù)。
本發(fā)明基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)異常流量檢測(cè)防御系統(tǒng)的工作過(guò)程包括以下步驟:
步驟一:?jiǎn)?dòng)控制器,此時(shí)源IP防偽模塊即開(kāi)始工作,為通過(guò)DHCP服務(wù)與配置靜態(tài)IP接入網(wǎng)絡(luò)的用戶進(jìn)行動(dòng)態(tài)IP綁定。
步驟二:?jiǎn)?dòng)sFlow-rt,設(shè)置需要提取信息的OpenFlow交換機(jī)與需要的信息。
步驟三:?jiǎn)?dòng)服務(wù)端,否則客戶端會(huì)發(fā)生連接失敗。設(shè)置控制器IP地址、服務(wù)端的IP地址與服務(wù)端口號(hào)。
步驟四:?jiǎn)?dòng)客戶端,設(shè)置保護(hù)服務(wù)器的IP地址、服務(wù)端IP地址與服務(wù)端口號(hào),同時(shí)設(shè)置閾值。每經(jīng)過(guò)一個(gè)檢測(cè)周期客戶端檢測(cè)算法會(huì)判斷是否出現(xiàn)了網(wǎng)絡(luò)異常,若發(fā)現(xiàn)異常則會(huì)向服務(wù)端發(fā)送阻斷消息。服務(wù)端依據(jù)消息內(nèi)容執(zhí)行阻斷程序。
以上實(shí)施例僅為本發(fā)明的示例性實(shí)施例,不用于限制本發(fā)明,本發(fā)明的保護(hù)范圍由權(quán)利要求書(shū)限定。本領(lǐng)域技術(shù)人員可以在本發(fā)明的實(shí)質(zhì)和保護(hù)范圍內(nèi),對(duì)本發(fā)明做出各種修改或等同替換,這種修改或等同替換也應(yīng)視為落在本發(fā)明的保護(hù)范圍內(nèi)。