一種sdn異常檢測與阻截方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,更具體地,涉及一種SDN異常檢測與阻截方法及 系統(tǒng)。
【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)成為我們生活中不可或缺的一部分,但網(wǎng)絡(luò)攻擊正嚴(yán)重影響著我們的上網(wǎng) 體驗(yàn)和網(wǎng)上信息的安全,DDoS、蠕蟲、掃描等分布式網(wǎng)絡(luò)攻擊猖獗,傳統(tǒng)網(wǎng)絡(luò)攻擊影響著現(xiàn) 代互聯(lián)網(wǎng)以及未來互聯(lián)網(wǎng)的安全。分布式協(xié)同攻擊具有范圍廣、隱蔽性、同步性的特征。以 往的單點(diǎn)IDS (入侵檢測系統(tǒng))觀測的流量有限,很難從中檢測到分散、隱蔽的攻擊流量。
[0003] 采用分布式數(shù)據(jù)采集的方法來獲得更多數(shù)據(jù),從全局視覺來檢測隱蔽攻擊,能夠 提高檢測率。然而,分布式數(shù)據(jù)采集獲得的數(shù)據(jù)量一般非常大,需要計(jì)算能力強(qiáng)的服務(wù)器對 其進(jìn)行處理。大規(guī)模、高速的網(wǎng)絡(luò)中,分布式采集數(shù)據(jù)會耗費(fèi)大量帶寬,大量數(shù)據(jù)涌向中央 服務(wù)器也容易讓其癱瘓。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明旨在至少在一定程度上解決上述技術(shù)問題。
[0005] 本發(fā)明的首要目的是克服現(xiàn)有技術(shù)異常攻擊檢測率低、數(shù)據(jù)處理量大的缺陷,提 供一種檢測率高、數(shù)據(jù)處理量小的SDN異常檢測與阻截方法。
[0006] 本發(fā)明的進(jìn)一步目的是提供一種檢測率高、數(shù)據(jù)處理量小的SDN異常檢測與阻截 系統(tǒng)。
[0007] 為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
[0008] -種SDN異常檢測與阻截方法,所述方法應(yīng)用于SDN(軟件定義網(wǎng)絡(luò))網(wǎng)絡(luò),所述 方法包括以下步驟:
[0009] Sl :在交換機(jī)的端口對數(shù)據(jù)流進(jìn)行隨機(jī)采樣,得到采樣數(shù)據(jù)包;
[0010] S2 :將采樣數(shù)據(jù)包中的樣本數(shù)據(jù)取出,得到樣本數(shù)據(jù)的多個(gè)特征字段,更新各個(gè)特 征字段對應(yīng)的可計(jì)數(shù)哈希表,可計(jì)數(shù)哈希表的值是各個(gè)特征字段的具體值在當(dāng)前統(tǒng)計(jì)周期 內(nèi)已經(jīng)出現(xiàn)的次數(shù);
[0011] S3 :在預(yù)設(shè)的時(shí)間窗口的間隔處,計(jì)算時(shí)間窗口內(nèi)各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈 希表的熵值;如果熵值大于或等于預(yù)設(shè)的異常判定閾值,則清空異常計(jì)數(shù)器,否則異常計(jì)數(shù) 器計(jì)數(shù)加1 ;如果異常計(jì)數(shù)器的值達(dá)到預(yù)設(shè)的計(jì)數(shù)閾值則判定為異常攻擊,否則不進(jìn)行處 理;
[0012] S4 :根據(jù)預(yù)設(shè)的阻截機(jī)制對異常攻擊進(jìn)行阻截。
[0013] 在一種優(yōu)選的方案中,步驟Sl中,采用sFlow數(shù)據(jù)流隨機(jī)采樣技術(shù)對數(shù)據(jù)流進(jìn)行 隨機(jī)采樣,對OpenFlow交換機(jī)的單個(gè)或多個(gè)端口上的流量進(jìn)行抽樣或輪詢,采樣數(shù)據(jù)被封 裝為sFlow數(shù)據(jù)包,然后加上UDP包頭和IP包頭進(jìn)行傳輸。
[0014] 在一種優(yōu)選的方案中,步驟S2中,將采樣數(shù)據(jù)包中的樣本數(shù)據(jù)取出的具體方法 為:對采樣數(shù)據(jù)包進(jìn)行解析,首先去除IP包頭,得到其中的UDP包,再去除UDP包頭,得到 sFlow數(shù)據(jù)包,采樣數(shù)據(jù)封裝在sFlow數(shù)據(jù)包的Sample Data中。
[0015] 在一種優(yōu)選的方案中,所述特征字段包括目的IP地址、源IP地址、目的端口和源 端口。
[0016] 在一種優(yōu)選的方案中,步驟S2中,更新各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈希表的具體 方法為:SDN控制器提取樣本數(shù)據(jù)的目的IP地址、源IP地址、目的端口和源端口四個(gè)字段 的具體值,判斷是否存在于各個(gè)字段的可計(jì)數(shù)哈希表中,如果存在,則對應(yīng)可計(jì)數(shù)哈希表中 的表項(xiàng)計(jì)數(shù)值加1,否則在可計(jì)數(shù)哈希表中添加新的條目,可計(jì)數(shù)哈希表的每一個(gè)鍵是目的 IP地址、源IP地址、目的端口或源端口的具體值的哈希值,可計(jì)數(shù)哈希表的值是對應(yīng)字段 具體值在當(dāng)前統(tǒng)計(jì)周期內(nèi)已經(jīng)出現(xiàn)的次數(shù)。
[0017] 在一種優(yōu)選的方案中,步驟S3中,計(jì)算所述熵值的方法如下:
[0018] 計(jì)算第j個(gè)字段的可計(jì)數(shù)哈希表中的第i個(gè)表項(xiàng)出現(xiàn)的次數(shù)所占的比重:
[0019]
【主權(quán)項(xiàng)】
1. 一種SDN異常檢測與阻截方法,所述方法應(yīng)用于SDN網(wǎng)絡(luò),其特征在于,所述方法包 括以下步驟: 51 :在交換機(jī)的端口對數(shù)據(jù)流進(jìn)行隨機(jī)采樣,得到采樣數(shù)據(jù)包; 52 :將采樣數(shù)據(jù)包中的樣本數(shù)據(jù)取出,得到樣本數(shù)據(jù)的多個(gè)特征字段,更新各個(gè)特征字 段對應(yīng)的可計(jì)數(shù)哈希表,可計(jì)數(shù)哈希表的值是各個(gè)特征字段的具體值在當(dāng)前統(tǒng)計(jì)周期內(nèi)已 經(jīng)出現(xiàn)的次數(shù); 53 :在預(yù)設(shè)的時(shí)間窗口的間隔處,計(jì)算時(shí)間窗口內(nèi)各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈希表 的熵值;如果熵值大于或等于預(yù)設(shè)的異常判定閾值,則清空異常計(jì)數(shù)器,否則異常計(jì)數(shù)器計(jì) 數(shù)加1 ;如果異常計(jì)數(shù)器的值達(dá)到預(yù)設(shè)的計(jì)數(shù)閾值則判定為異常攻擊,否則不進(jìn)行處理; 54 :根據(jù)預(yù)設(shè)的阻截機(jī)制對異常攻擊進(jìn)行阻截。
2. 根據(jù)權(quán)利要求1所述的SDN異常檢測與阻截方法,其特征在于,步驟S1中,采用 sFlow數(shù)據(jù)流隨機(jī)采樣技術(shù)對數(shù)據(jù)流進(jìn)行隨機(jī)采樣,對OpenFlow交換機(jī)的單個(gè)或多個(gè)端口 上的流量進(jìn)行抽樣或輪詢,采樣數(shù)據(jù)被封裝為sFlow數(shù)據(jù)包,然后加上UDP包頭和IP包頭 進(jìn)行傳輸。
3. 根據(jù)權(quán)利要求2所述的SDN異常檢測與阻截方法,其特征在于,步驟S2中,將采樣數(shù) 據(jù)包中的樣本數(shù)據(jù)取出的具體方法為:對采樣數(shù)據(jù)包進(jìn)行解析,首先去除IP包頭,得到其 中的UDP包,再去除UDP包頭,得到sFlow數(shù)據(jù)包,采樣數(shù)據(jù)封裝在sFlow數(shù)據(jù)包的Sample Data中。
4. 根據(jù)權(quán)利要求1所述的SDN異常檢測與阻截方法,其特征在于,步驟S2中,所述特征 字段包括目的IP地址、源IP地址、目的端口和源端口,更新各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈 希表的具體方法為:SDN控制器提取樣本數(shù)據(jù)的目的IP地址、源IP地址、目的端口或源端 口四個(gè)字段的具體值,判斷是否存在于各個(gè)字段的可計(jì)數(shù)哈希表中,如果存在,則對應(yīng)可計(jì) 數(shù)哈希表中的表項(xiàng)計(jì)數(shù)值加1,否則在可計(jì)數(shù)哈希表中添加新的條目,可計(jì)數(shù)哈希表的每一 個(gè)鍵是目的IP地址、源IP地址、目的端口或源端口的具體值的哈希值,可計(jì)數(shù)哈希表的值 是對應(yīng)字段具體值在當(dāng)前統(tǒng)計(jì)周期內(nèi)已經(jīng)出現(xiàn)的次數(shù)。
5. 根據(jù)權(quán)利要求1所述的SDN異常檢測與阻截方法,其特征在于,步驟S3中,計(jì)算所述 熵值的方法如下: 計(jì)算第j個(gè)字段的可計(jì)數(shù)哈希表中的第i個(gè)表項(xiàng)出現(xiàn)的次數(shù)所占的比重:
計(jì)算第j個(gè)字段可計(jì)數(shù)哈希表的的熵值:
其中m為樣本數(shù),Xu為第j個(gè)字段的第i個(gè)表項(xiàng)在當(dāng)前統(tǒng)計(jì)周期內(nèi)已經(jīng)出現(xiàn)的次數(shù),ej為第j個(gè)字段可計(jì)數(shù)哈希表的的熵值,令k=l/lnm,0 <e」< 1。
6. 根據(jù)權(quán)利要求1所述的SDN異常檢測與阻截方法,其特征在于,步驟S3中,異常判定 閾值的設(shè)置方法為:分別計(jì)算不同閾值下的檢測率和虛警率,得到R0C曲線,根據(jù)R0C曲線 選擇合適的閾值,其中檢測率和虛警率的定義如下:
7. 根據(jù)權(quán)利要求1所述的SDN異常檢測與阻截方法,其特征在于,步驟S3中,發(fā)現(xiàn)異常 攻擊后,依據(jù)四個(gè)字段對應(yīng)熵值圖的異常情況,得到異常熵值對應(yīng)的字段組合,再結(jié)合攻擊 的先驗(yàn)知識來判定異常所屬類別。
8. 根據(jù)權(quán)利要求1所述的SDN異常檢測與阻截方法,其特征在于,步驟S4中,對異常攻 擊進(jìn)行阻截的機(jī)制為以下機(jī)制中的一種或多種: (1) 白名單機(jī)制:檢測異常相關(guān)的IP地址是否在白名單中,是則不對該IP進(jìn)行阻截, 否則進(jìn)行后續(xù)的阻截、告警記錄操作; (2) 阻截流表項(xiàng)生成和下發(fā)機(jī)制:對不同類型的異?;蚬籼崛∠鄳?yīng)字段項(xiàng)組合,根 據(jù)異常表項(xiàng)組合動(dòng)態(tài)生成阻截流表項(xiàng); (3) 異常告警記錄機(jī)制。
9. 一種SDN異常檢測與阻截系統(tǒng),所述系統(tǒng)應(yīng)用于SDN網(wǎng)絡(luò),其特征在于,所屬系統(tǒng)包 括: 數(shù)據(jù)采集模塊:用于在交換機(jī)的端口對數(shù)據(jù)流進(jìn)行隨機(jī)采樣,得到采樣數(shù)據(jù)包; 數(shù)據(jù)預(yù)處理模塊:用于將采樣數(shù)據(jù)包中的樣本數(shù)據(jù)取出,得到樣本數(shù)據(jù)的多個(gè)特征字 段,更新各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈希表,可計(jì)數(shù)哈希表的值是各個(gè)特征字段的具體值 在當(dāng)前統(tǒng)計(jì)周期內(nèi)已經(jīng)出現(xiàn)的次數(shù); 異常檢測模塊:用于在預(yù)設(shè)的時(shí)間窗口的間隔處,計(jì)算時(shí)間窗口內(nèi)各個(gè)特征字段對應(yīng) 的可計(jì)數(shù)哈希表的熵值;如果熵值大于或等于預(yù)設(shè)的異常判定閾值,則清空異常計(jì)數(shù)器,否 則異常計(jì)數(shù)器計(jì)數(shù)加1 ;如果異常計(jì)數(shù)器的值達(dá)到計(jì)數(shù)閾值則判定為異常攻擊,否則不進(jìn) 行處理; 異常阻截模塊:用于根據(jù)預(yù)設(shè)的阻截機(jī)制對異常攻擊進(jìn)行阻截。
10. 根據(jù)權(quán)利要求9所述的SDN異常檢測與阻截系統(tǒng),其特征在于,所述阻截機(jī)制為白 名單機(jī)制、阻截流表項(xiàng)生成和下發(fā)機(jī)制、異常告警記錄機(jī)制中的一種或多種。
【專利摘要】本發(fā)明提供一種SDN異常檢測與阻截方法及系統(tǒng),所述方法應(yīng)用于SDN網(wǎng)絡(luò),所述方法包括以下步驟:對數(shù)據(jù)流進(jìn)行隨機(jī)采樣,得到采樣數(shù)據(jù)包;將采樣數(shù)據(jù)包中的樣本數(shù)據(jù)取出,得到樣本數(shù)據(jù)的多個(gè)特征字段,更新各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈希表;在預(yù)設(shè)的時(shí)間窗口的間隔處,計(jì)算時(shí)間窗口內(nèi)各個(gè)特征字段對應(yīng)的可計(jì)數(shù)哈希表的熵值;如果熵值大于或等于預(yù)設(shè)的異常判定閾值,則清空異常計(jì)數(shù)器,否則異常計(jì)數(shù)器計(jì)數(shù)加1;如果異常計(jì)數(shù)器的值達(dá)到預(yù)設(shè)的計(jì)數(shù)閾值則判定為異常攻擊,否則不進(jìn)行處理;根據(jù)預(yù)設(shè)的阻截機(jī)制對異常攻擊進(jìn)行阻截。本發(fā)明具有檢測率高、數(shù)據(jù)處理量小的優(yōu)點(diǎn)。
【IPC分類】H04L29-06
【公開號】CN104580173
【申請?zhí)枴緾N201410827207
【發(fā)明人】陳曉帆, 黎志勇, 吳廣銳, 余順爭
【申請人】廣東順德中山大學(xué)卡內(nèi)基梅隆大學(xué)國際聯(lián)合研究院
【公開日】2015年4月29日
【申請日】2014年12月25日