999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

云環境中基于SDN的高效DDoS攻擊檢測與防御方案

2018-05-08 01:10:05何亨胡艷鄭良漢薛正元
通信學報 2018年4期
關鍵詞:檢測系統

何亨,胡艷,鄭良漢,薛正元

(1. 武漢科技大學計算機科學與技術學院,湖北 武漢 430065;2. 武漢科技大學智能信息處理與實時工業系統湖北省重點實驗室,湖北 武漢 430065;3. 華中科技大學計算機科學與技術學院,湖北 武漢 430074)

1 引言

由于云計算具有虛擬化、高可擴展性、按需服務等特點,越來越多的企業和個人將應用遷移到云計算環境中運行[1]。但是,云計算的規模大、易獲取等特點,使云環境中的分布式拒絕服務(DDoS,distributed denial of service)攻擊比傳統網絡中的攻擊力度和范圍都要大得多。由于傳統網絡中 DDoS攻擊檢測算法[2~5]的檢測結果受攻擊強度的影響,難以應對云環境中強度更大的攻擊。文獻[6]提出的PacketScore方案利用貝葉斯公式計算數據分組的分數,分數比閾值低的是攻擊分組,但由于閾值受攻擊強度的影響,因此不適合在云環境中處理大流量的DDoS攻擊。對此,研究人員提出一系列針對云環境中DDoS攻擊的檢測與防御方法。胡漢卿[7]提出基于特征檢測和行為檢測相結合的方法來檢測DDoS攻擊。Dou等[8]提出基于置信度過濾(CBF,confidence-based filtering)的方法,根據數據分組中的相關特性來判斷分組的合法性。文獻[9]利用數據挖掘和神經網絡技術訓練數據分組來檢測和過濾攻擊分組。現有的云環境中檢測和防御DDoS攻擊的方法主要是針對大流量的洪泛式DDoS攻擊,文獻[10]通過將數據分組分類的方式檢測洪泛式DDoS攻擊,并建立黑名單存儲攻擊分組源IP進行防御。文獻[11]提出了一種欺騙檢測算法用于檢測在云環境中對服務器發起的大流量DDoS攻擊。但近年來云環境中逐漸流行的低速率式DDoS攻擊[12]能很好地躲避這些針對洪泛式DDoS攻擊的檢測方法。文獻[13]將基于熵的系統和異常檢測系統相結合,以提供多級檢測方法來檢測云環境中隱蔽的小流量DDoS攻擊,但是對云環境中大流量的DDoS攻擊,這種方法速度較慢。盡管研究人員已經分別提出了一些檢測云環境中洪泛式DDoS攻擊和低速率式DDoS攻擊的方法,卻很少考慮到實際系統可能會遭受到不同攻擊方式的情況。因此,研究在云環境中既能檢測傳統洪泛式DDoS攻擊又能檢測低速率式DDoS攻擊的方法,給云用戶提供安全的網絡環境具有重要意義。

軟件定義網絡(SDN,software defined network)是一種新型的網絡架構,其控制轉發分離的特點簡化了數據層面數據分組轉發的過程;中心控制器連接了所有交換機,能實時獲取網絡拓撲結構及狀態信息;因此,使用 SDN架構有利于在云環境中快速檢測DDoS攻擊并做出迅速反應。研究人員利用SDN的特性提出了一些云環境中DDoS攻擊的檢測與防御方法[1],結果表明,使用SDN架構的方法比其他未使用的檢測和防御速度更快。Wang等[14]提出基于SDN架構的DaMask系統,通過不斷更新數據分組類型庫來檢測攻擊分組,然后通過 SDN控制器下發流表攔截攻擊分組,但在新的攻擊分組類型較多時,DaMask系統需要不斷更新數據分組類型庫,會影響檢測速度。文獻[15]在SDN架構上,結合正常流量學習、外部黑名單和彈性容量調用來實現自動化地防御洪泛式DDoS攻擊,但卻難以檢測到小流量的低速率式DDoS攻擊。

因此,本文提出一種云環境中基于SDN架構,并使用改進的CBF方法來檢測與防御DDoS攻擊的方案——SDCC。與文獻[10]解決洪泛式DDoS攻擊和文獻[12,13]解決低速率式 DDoS攻擊這些只能檢測單一類型DDoS攻擊的方案相比,SDCC綜合使用鏈路帶寬檢測和數據流檢測這2種方式,能準確檢測出不同類型的 DDoS攻擊,其中,基于鏈路帶寬的檢測方式通過SDN架構實時獲取交換機各端口的流量信息,主要用來檢測洪泛式DDoS攻擊;基于數據流的檢測方式根據系統的不同狀態抽取不同比例數據分組,分析其中非正常分組比例的方式來實時檢測系統中的數據流狀態,主要用于檢測低速率式 DDoS攻擊。在文獻[8]提出的 CBF方案中,SDCC不僅簡化了profile表的更新,實現了實時檢測系統狀態,還通過增加攻擊流特征庫,大幅降低了控制器的檢測壓力。在系統遭受DDoS攻擊時,若不是攻擊流特征庫中的攻擊分組類型,則使用改進的CBF方法計算數據分組的CBF分數來判斷攻擊分組,并將已識別的攻擊分組存入攻擊流特征庫中,再利用SDN控制器下發流表攔截攻擊分組以保護系統免受攻擊。無論攻擊源來自云外還是云內,SDCC都能在誤判率較低的情況下及時檢測出云環境中不同類型的 DDoS攻擊,且在提高了DDoS攻擊檢測效率的同時有效降低了控制器的計算開銷。

2 相關工作

本節首先介紹了云環境中DDoS攻擊與傳統網絡環境中DDoS攻擊的差異以及逐漸流行的低速率式DDoS攻擊;然后介紹了SDN技術的發展和特點;最后介紹了CBF方法檢測DDoS攻擊的流程。

2.1 云環境中DDoS攻擊

DDoS攻擊是通過控制分布式的多臺服務器和PC機組成聯合攻擊平臺,向一個或多個目標發送大量惡意流量,使網絡帶寬或系統資源被消耗殆盡,造成正常請求遭到拒絕。在傳統網絡中,短時間內感染足夠數量的機器仍然相當復雜,但在按需服務的云環境中,卻能快速創建一個強大的僵尸網絡[1],因此云環境中DDoS攻擊的強度也會比傳統網絡中大得多。對于云環境中更大流量的DDoS攻擊,傳統的檢測方法難以做出快速反應。所以,在云環境中檢測這類大流量的洪泛式DDoS攻擊的關鍵就是檢測算法能快速檢測出攻擊分組,盡量減少攻擊分組對系統資源的過多消耗。

但近年來黑客們為了躲避這些已有的洪泛式DDoS攻擊檢測防御方法,逐漸轉為發起小流量的低速率式 DDoS[16,17]攻擊。低速率式 DDoS攻擊利用TCP協議中超時重傳機制的弱點,使攻擊者通過控制多臺傀儡機向攻擊目標周期性發送小流量的攻擊流,這些小流量的攻擊流能在攻擊目標處匯聚成巨大攻擊流,導致攻擊目標無法及時響應用戶的正常請求,這種攻擊方式雖然攻擊流量速率低,卻有很高的攻擊效率[18],且能躲避傳統針對洪泛式DDoS攻擊的檢測方法。如文獻[19]中提到的以TCP協議為目標,通過RTO計時器,在鏈接中制造運行中斷,從而導致TCP控制機構擁塞的低速率式DDoS攻擊。這種低速率式DDoS攻擊相對于傳統洪泛式DDoS攻擊而言,是一個小流量逐漸匯聚的攻擊過程,由于使用的攻擊流量較少,其成本更低,同時難以被傳統DDoS攻擊檢測方法檢測到。

2.2 SDN技術

SDN是一種目前非常受關注的新型網絡架構,它的出現主要是由于傳統互聯網控制邏輯和數據轉發緊耦合在網絡設備上,使網絡設備的復雜性變高,且靈活性和擴展性降低,難以適應網絡的飛速發展[20]。2008年,由美國斯坦福大學的 Nick McKeown教授最早提出基于邏輯控制和數據轉發分離思想的 OpenFlow技術概念,采用 OpenFlow技術作為通信協議的SDN概念,隨之被推廣。

SDN架構利用OpenFlow技術將控制功能從網絡設備中分離出來。數據分組依照流表進行轉發,中央控制器管理流表的生成、維護和配置。在這種控制轉發分離架構下,中央控制器不僅能動態管理網絡的邏輯控制功能和高層策略,還能獲取全局的網絡資源信息,并根據需求進行全局調配和優化。同時,這種轉發控制分離的設計使上層的網絡服務和應用功能程序能將底層的網絡基礎設施抽象化,從而能通過開放可編程的軟件模式實現網絡自動化控制的功能,使 SDN具有可編程能力,便于實現網絡創新和進化。

2.3 CBF方法

Dou等[8]提出的方案使用 CBF方法來檢測云環境中DDoS攻擊分組,該方案能很好地解決云環境中大流量的DDoS攻擊。由于每個用戶的喜好不同,網絡數據流中數據分組的IP頭部和TCP頭部中一些屬性對值的分布也不同,DDoS攻擊者不僅很難注意這些相關特性,也難以在滿足DDoS攻擊條件的同時在數據分組中模擬這些特性。系統在正常情況下,受用戶喜好的影響,流入系統中數據分組的一些屬性對值出現的頻率高;因此,若一個數據分組中的屬性對值等于這些高頻屬性對值,則該數據分組的置信度高,那么通過置信度計算出來的數據分組的CBF分數也會高。反之,由于攻擊者難以模擬出系統正常數據流中的屬性對值的分布,因此攻擊分組中很難出現高頻屬性對值,而導致攻擊分組的置信度低,那么攻擊分組的CBF分數也會比正常數據分組低很多。CBF方案正是基于置信度,通過計算數據分組的CBF分數判斷分組的合法性,來過濾攻擊分組。

CBF方案選取了數據分組 IP頭部的Total Length、TTL、Protocol Type、Source IP Address以及TCP頭部的Flag、Destination Port Number這6個屬性,兩兩共組成了 15個屬性對,其實現過程分為非攻擊階段和攻擊階段。在非攻擊階段,需要計算數據流中正常數據分組的單屬性值和屬性對值的出現頻率,然后更新到profile表中。

Conf表示屬性值的出現頻率,單屬性值的Conf計算式為

其中,Ai表示數據分組中的第i個屬性,i= 1,2,3,…,n,j= 1,2,3,…,mi,n表示屬性數,mi表示屬性Ai擁有的值的個數,Nn表示數據流中數據分組總數。N(Ai=ai,j)表示數據流中屬性Ai的值為ai,j的分組個數。

屬性對值的Conf計算式為

其中,i1= 1,2,3,…,n,i2= 1,2,3,…,n,j1= 1,2,3,…,m1,j2= 1,2,3,…,m2,(Ai1=ai1,j1,Ai2=ai2,j2)表示屬性Ai1的值為ai1,j1,屬性Ai2的值為ai2,j2時組成的屬性對值,N(Ai1=ai1,j1,Ai2=ai2,j2)表示數據流中屬性對值為 (Ai1=ai1,j1,Ai2=ai2,j2)的分組個數。

profile表是用來存儲系統正常數據流的 15個屬性對不同的屬性對值和對應Conf值的信息表。為了節省存儲空間,profile表生成過程中會利用最小Conf(minconf)來篩選正常數據流中出現概率很低的屬性對值,其中,minconf取值根據profile表中屬性對值的Conf分布來設定。因此,需要掃描2遍數據流:第一遍選出數據流中單屬性值的Conf比minconf大的屬性值,以此產生候選屬性對值;第二遍選出候選屬性對值中Conf比minconf大的屬性對值,然后更新profile表。

在攻擊階段,對經過交換機的數據分組,首先查找profile表得到數據分組中屬性對值的Conf,若表中沒有該屬性對值信息,則用minconf代替計算。然后利用加權平均的方式計算數據分組的 CBF分數。CBF分數計算式為其中,d表示需要考慮的屬性對的總數,W(Ak1,Ak2)表示屬性對 (Ak1,Ak2)的權值,p(k1) 表示數據分組中屬性Ak1的值,Conf(Ak1=p(k1),Ak2=p(k2))表示屬性對值 (Ak1=p(k1),Ak2=p(k2))的Conf值。數據分組的CBF分數計算過程如圖1所示。

在計算數據分組CBF分數的過程中,由于數據分組之間的Source IP Address、Destination Port Number、TTL這些屬性值的差異性較大,攻擊者在攻擊分組中很難模擬正常數據分組中這些屬性值的特征,而TCP Flag、Protocol Type、Total Length這些屬性值在數據分組之間的差異性較小,因此,若屬性對由前3種屬性中的兩者組合而成,則權值最高;若屬性對中只包含前3種屬性中的一種,則權值其次;若屬性對由后3種屬性中的兩者組合而成,則權值最低。在此基礎上,屬性對具體權值可以根據實際網絡情況來設置。

最后將得到的數據分組CBF分數與閾值比較,若比閾值小,則判斷為攻擊分組并將其丟棄;若比閾值大,則判斷為正常分組并使其通過。

3 方案設計與實現

本節首先介紹了SDCC的工作流程,然后詳細描述了SDCC中SDCC-D和SDCC-P這2個主要模塊的具體實現和關鍵技術。

3.1 工作流程

圖1 數據分組的CBF分數計算過程

SDCC具體分為3層:基礎設施層、控制層和應用層。基礎設施層包含多臺OpenFlow交換機,負責系統的數據轉發;控制層為 SDN控制器,能對系統進行全局邏輯管控;應用層由DDoS攻擊檢測(SDCC-D)和DDoS攻擊防御(SDCC-P)這2個核心功能模塊構成。SDCC工作流程如圖2所示。

當數據流到達OpenFlow交換機時,首先會與交換機中的流表進行匹配,若交換機中沒有流表與之匹配,則根據數據分組在SDN中的處理原理[21],數據流中的數據分組會被轉發至控制器中;SDCC-D模塊中的2種檢測方式會分別實時檢測系統的鏈路帶寬和分析數據流中非正常分組的比例,來判斷系統是否遭受到DDoS攻擊。若未檢測出系統中有DDoS攻擊行為,系統進入正常狀態,將這段正常數據流中數據分組的屬性對信息存入屬性對信息庫,并更新profile表;若檢測出系統中有疑似DDoS攻擊行為,系統進入預警狀態,并加大數據流的檢測比例;若檢測出系統中確有DDoS攻擊行為,系統進入防御狀態,此時SDCC-P模塊會計算該攻擊流中的數據分組的CBF分數,判斷出攻擊分組,查攻擊流特征庫中是否有相匹配的攻擊分組,有就直接將該攻擊分組轉由交換機通過流表丟棄,沒有就添加到攻擊流特征庫并通知控制器下發流表至OpenFlow交換機將其丟棄。

無論攻擊源來自云外還是云內,SDCC都能及時檢測出云環境中2類典型的DDoS攻擊。在攻擊云中服務器時,云外攻擊者通過云對外服務接入點注入攻擊流量,當流量經過 OpenFlow 交換機時,OpenFlow交換機向 Floodlight控制器請求流表轉發。Floodlight控制器能夠實時監控云中數據流情況,并分析判定是否是攻擊流量,從而下發流表進行相應防御動作。而云內攻擊者利用云內資源通過云內部網絡對云中服務器發動攻擊,使用云資源的DDoS 攻擊能夠大幅加強其攻擊強度,也能夠避開云在接入端的流控措施。然而攻擊流量經過內網的OpenFlow交換機時,已被控制器所知,控制器能夠快速下發流表阻斷來自內部攻擊源的流,從而防御來自內部的 DDoS 攻擊。

3.2 攻擊檢測模塊

SDCC-D模塊功能為實時檢測系統中是否有DDoS攻擊行為,檢測方式結合了鏈路帶寬檢測和數據流檢測這2種,基于鏈路帶寬檢測通過監測交換機端口流量異常,能快速檢測出洪泛式DDoS攻擊行為,但是卻難以檢測出低速率式DDoS攻擊行為,也難以區分用戶自身增大訪問量而引起的流量異常。基于數據流檢測方式雖然能通過監測數據流中非正常分組的比例來準確地檢測出DDoS攻擊,但是它需要對每個被抽取的數據分組進行分析,速度較慢。因此,將2種檢測方式相結合,既能準確、及時地檢測出不同的DDoS攻擊,又具有較高的檢測效率,同時還能降低由用戶自身增大訪問量和用戶非習慣性訪問引起的誤判率。

圖2 SDCC的工作流程

當 2種檢測方式都未檢測到 DDoS攻擊行為時,系統進入正常狀態,為節省計算資源,系統處于正常狀態時,抽取窗口內20%比例的數據分組進行數據流檢測,并提取6個參考屬性,組成屬性對存入屬性對信息庫中,更新profile表。若2種檢測方式的其中一種方式檢測到可能有 DDoS攻擊行為,系統進入預警狀態,系統處于預警狀態時,可能遭受到DDoS攻擊,因此,將窗口內數據分組的抽取比例增加至40%。若系統進入預警狀態是由于數據流檢測方式檢測出數據流中非正常分組比例超過攻擊比例,增加數據分組抽取比例后,依然能檢測出非正常分組比例超過攻擊比例,則判斷系統遭受到低速率式DDoS攻擊,系統進入防御狀態;或鏈路帶寬檢測方式檢測出交換機端口流量超過攻擊閾值,緊接著,數據流檢測方式檢測出非正常分組比例超過攻擊比例,則判斷系統遭受到洪泛式DDoS攻擊,系統進入防御狀態。其中,攻擊比例是指數據流狀態轉換時非正常數據分組比例需要達到的指標;攻擊閾值是指鏈路帶寬狀態轉換時交換機端口流量需要達到的指標。系統處于防御狀態時,說明已經遭受到DDoS攻擊,再次將窗口內數據分組的抽取比例提升至80%,逐一分析抽取的數據分組,并結合SDCC-P模塊對攻擊分組進行處理。系統狀態轉換如圖3所示。

圖3 系統狀態轉換

SDCC-D模塊通過結合系統實時的鏈路帶寬狀態和數據流狀態實現系統狀態的動態轉換。用戶突然增大訪問量,或用戶的非正常訪問可能造成鏈路帶寬和數據流異常,為防止誤判,SDCC增加了預警狀態,在預警狀態加大檢測范圍,依然能檢測出DDoS攻擊行為,系統才進入防御狀態。

3.2.1 基于鏈路帶寬檢測

鏈路帶寬檢測利用 SDN控制器能獲取底層OpenFlow交換機端口的實時流量信息的功能。每隔T時間段檢測一次當前交換機端口流量信息并與攻擊閾值比較,若某個端口的流量大于攻擊閾值時,鏈路帶寬狀態變為攻擊狀態;若所有端口的流量都低于攻擊閾值時,鏈路帶寬狀態變為非攻擊狀態。基于鏈路帶寬檢測方式能對洪泛式DDoS攻擊有迅速的反應,如SYN/ACK Flood攻擊。

3.2.2 基于數據流檢測

數據流檢測是以數據分組的個數N為窗口大小,根據系統的不同狀態,從每個窗口中隨機抽取不同比例的數據分組。由于SDN架構轉發控制分離的特點,當數據分組進入OpenFlow交換機后,若交換機中沒有匹配流表,數據分組會被打包在Packet_in消息中發送至控制器,因此,能通過控制器提取到Packet_in消息中數據分組的屬性信息[22,23]。然后結合CBF方法,根據提取到的數據分組屬性信息查看profile表,計算數據分組的CBF分數,將CBF分數小于丟棄閾值的數據分組判斷為非正常分組,其中,丟棄閾值是指判斷數據分組是否為非正常分組時,其CBF分數需要達到的指標。接著,計算非正常分組的比例,若數據流在非攻擊狀態下,連續5個窗口的非正常分組比例大于攻擊比例,表明該數據流中極大可能含有攻擊分組,數據流狀態變為攻擊狀態;若數據流在攻擊狀態下,連續 5個窗口的非正常分組比例小于攻擊比例,表明該數據流含有攻擊分組的可能性較低,數據流狀態變為非攻擊狀態;其中窗口數目的選取參考文獻[24],其目的在于降低由于用戶非正常訪問而造成的誤判率。基于數據流檢測根據系統不同狀態選取不同比例數據分組進行分析的方式,既能緩解原CBF方案中檢查所有數據分組導致資源消耗較大的問題,又能有效檢測出隱蔽在數據流中的低速率式DDoS攻擊,如TCP協議攻擊。

3.2.3 更新profile表

在CBF方法中,為節省profile表的存儲空間,在非攻擊階段需要對數據流進行2次掃描,因此難以達到實時檢測系統中數據流的目的。為此,本方案基于 SDN架構,結合屬性對信息庫存儲數據分組的屬性對值信息和出現次數,在更新profile表時,直接從屬性對信息庫中選取比minconf大的屬性對值,與profile表中的屬性對值比較即可。若屬性對信息庫中的屬性對值的Conf比profile表中的該屬性對值的Conf大,則用大的Conf值更新profile表;若 profile表中沒有該屬性對值信息,則添加到profile表中。通過這種方法只需掃描一遍數據流,不需要分階段地掃描數據流,便于實現數據流的實時檢測。為確保profile表中存儲的是正常數據分組的屬性對信息,當數據流進入SDCC-D模塊,通過2種DDoS攻擊檢測方式后,未檢測到數據流中有DDoS攻擊行為,系統進入正常狀態后,才會將數據流中的數據分組屬性對信息存入屬性對信息庫,然后更新profile表。以TTL、Flag這2個屬性為例,minconf取值 0.04,改進的 profile表更新流程如圖4所示。其中,minconf用于剔除正常數據流中出現次數極少的屬性值以提高profile表的利用效率,其值根據表中屬性對值的Conf分布來設定,對于不同的minconf取值,profile表的更新流程不變。

3.3 攻擊防御模塊

SDCC-P模塊利用 SDN控制器提供的北向REST API接口向OpenFlow交換機下發流表的功能。當系統處于防御狀態時,SDCC-P模塊首先會對抽取的數據分組計算CBF分數,若CBF分數高于丟棄閾值,則判斷該數據分組為正常分組,并通知控制器下發流表至交換機轉發該數據分組;若CBF分數低于丟棄閾值,則判斷該數據分組為攻擊分組,控制器會調用北向REST API接口下發流表至OpenFlow交換機丟棄該數據分組,此后該類攻擊分組都會在交換機處被攔截,從而達到在攻擊源OpenFlow交換機處攔截攻擊分組的目的。由于SDN架構轉發控制分離的機制,當有同類攻擊分組到達OpenFlow交換機時,不需要再經過控制器判斷,就可以在交換機處直接通過流表匹配丟棄該分組,加快了系統對攻擊分組的反應速度。

攻擊流特征庫用來存儲已被識別出且被系統攔截的攻擊分組信息。由于DDoS攻擊,特別是洪泛式DDoS攻擊,會迅速產生大量的攻擊分組,在攻擊者開始發起攻擊時,交換機中沒有匹配流表,大量的攻擊分組會同時涌向控制器,且這些攻擊分組中有很多類型相同,而控制器無法迅速處理突然涌入的大量數據分組。為減小控制器壓力,避免控制器對每個攻擊分組都下發流表而導致數據處理速度減慢的問題,SDCC-P模塊在每判斷出一個攻擊分組后,就將該攻擊分組的屬性信息存到攻擊流特征庫中,然后控制器針對該分組下發一個流表至OpenFlow交換機;對之后經過控制器的攻擊分組,首先,判斷是否已存在于攻擊流特征庫,存在則表明控制器已下發過匹配流表,不需要再分析該攻擊分組,直接將其發給交換機通過流表匹配來丟棄該攻擊分組;不存在則表明這是一個新的攻擊分組,就先將這個新攻擊分組屬性信息添加到攻擊流特征庫中,然后控制器下發一個新的流表至交換機來丟棄該新攻擊分組。通過這種方式不僅能加快控制器的數據處理速度,也能減少交換機中功能重復的流表,降低交換機的內存消耗。

圖4 profile表更新流程

4 方案分析與評估

本節首先介紹了實驗環境以及在實驗中的參數設置,然后分別模擬了洪泛式DDoS攻擊和低速率式DDoS攻擊這2組實驗,并對實驗結果進行了分析,最后將SDCC與其他相關方案進行性能比較與評估。

4.1 實驗環境

實驗中使用阿里云作為云環境,使用網絡仿真軟件mininet[25]來模擬主機、服務器和OpenFlow交換機,并搭建網絡拓撲,其中,mininet的運行內存為 1 GB。使用開源的 SDN控制器 Floodlight與OpenFlow交換機通信,在阿里云服務器中內存為8 GB,CPU為2.5 GHz的Windows系統上運行控制器。實驗中Floodlight控制器(C0)和mininet虛擬機都運行在阿里云服務器上。其中,mininet模擬了 3臺網絡主機(H1、H2、H3)、2臺 OpenFlow交換機(SW1、SW2)和一臺服務器(S0),實驗拓撲如圖5所示,其中實線表示底層網絡數據通信鏈路,虛線表示Floodlight控制器與OpenFlow交換機之間傳輸控制信息的專用通道。

圖5 實驗拓撲

本文分別模擬了洪泛式DDoS攻擊和低速率式DDoS攻擊這2組實驗,都是通過云環境中的主機向云環境中的服務器發起攻擊。由于SDCC通過數據分組的屬性信息檢測DDoS攻擊,對于無論是云內還是云外的攻擊者,其檢測和防御方式均相同,因此,可以通過模擬云內的主機向服務器發起攻擊的實驗來說明SDCC能有效檢測和防御云環境中的DDoS攻擊。

在實驗中,H1、H2、H3通過hping3工具發送TCP數據分組以模擬主機對服務器的正常訪問、低速率式DDoS攻擊和洪泛式DDoS攻擊。其中,攻擊密度是指主機每秒發送攻擊分組的個數,低速率式DDoS攻擊實驗的攻擊密度分別為100個/秒和1 000個/秒,洪泛式DDoS攻擊實驗的攻擊密度分別為 104個/秒和 106個/秒。在本實驗中使用主機H1模擬正常用戶訪問,H2、H3這2臺主機模擬攻擊者向S0發起DDoS攻擊,對于更復雜的網絡情況,可做類似的實驗分析,并得出相似的實驗結果。

實驗參數取值如表1所示。Interval用于系統鏈路帶寬監測,每隔1 s系統檢測一次鏈路當前帶寬,并判斷當前鏈路狀態。AttackThreshold用于鏈路狀態判斷,若鏈路帶寬大于AttackThreshold,則表示系統可能遭受了DDoS攻擊,鏈路狀態變為攻擊狀態。WindowSize用于系統數據流監測,在控制器每獲取 50個數據分組時分析一次數據流狀態。DiscardThreshold用于數據分組判斷,若數據分組的CBF分數低于DiscardThreshold,則表示該數據分組為非正常分組。AttackRatio用于數據流狀態判斷,在非攻擊狀態下,數據流中非正常分組比例高于AttackRatio時,表示數據流可能遭受到DDoS攻擊,數據流狀態變為攻擊狀態;在攻擊狀態下,數據流中非正常分組比例低于AttackRatio時,表示數據流已是正常數據流,數據流狀態變為非攻擊狀態。表1給出了SDCC中采取的一組典型參數設定,在實際環境中,可以以這組參數值作為標準,然后根據網絡運行情況對參數取值進行適當調整。

表1 實驗參數取值

4.2 實驗結果與分析

在洪泛式DDoS攻擊和低速率式DDoS攻擊這2組實驗中,通過結合SW1的端口1、端口2、端口3和SW2的端口1的實時流量以及系統的鏈路狀態和數據流狀態來分析SDCC的DDoS攻擊防御效果。

在攻擊密度為104個/秒的洪泛式DDoS攻擊模擬實驗中,從第4 s開始,H2向S0發送大量攻擊分組,如圖6所示。在第4 s時SW1的端口2吞吐量超過AttackThreshold,此時,系統的鏈路帶寬狀態變為攻擊狀態,如圖7所示,系統進入預警狀態,緊接著,數據流狀態也變為攻擊狀態,由于該攻擊密度下,一個窗口內數據流的檢測時間低于100 ms,時間間隔很短,因此,在圖7中第4 s時,數據流的狀態也是攻擊狀態,由此系統進入防御狀態,會對H2發送的攻擊分組進行攔截。由圖6可知,從第7 s開始H3也對S0發送大量的攻擊分組,此時,已處于防御狀態下的系統會直接對H3發送的攻擊分組進行攔截,因此,從第4 s開始,SW2的端口1和SW1的端口1的實時吞吐量一致,表示S0只接收到了H1發送的正常數據分組,而H2、H3發送的攻擊分組被SDCC-P模塊成功攔截。此時,交換機中已存在攔截H2、H3發送的攻擊分組的流表,無論系統處于什么狀態,都會對這些攻擊分組進行攔截,由圖7可知,從第23 s開始,系統已處于正常狀態,在圖6中SW2的端口1吞吐量始終與SW1的端口1保持一致。實驗表明SDCC能高效檢測并防御洪泛式DDoS攻擊。

在攻擊密度為106個/秒的洪泛式DDoS攻擊模擬實驗中,從第4 s開始,H2、H3同時向S0發送大量攻擊分組,如圖8所示。在第4 s時SW1的端口2、端口3吞吐量都超過AttackThreshold,此時,系統進入預警狀態,由于該攻擊密度下,一個窗口內數據流的檢測時間在100 ms左右,時間間隔很短,因此,在第4 s,數據流狀態也變為攻擊狀態,如圖9所示,系統進入防御狀態,對H2、H3發送的攻擊分組進行攔截。因此,從第4 s開始,SW2的端口1處的吞吐量始終與SW1的端口1保持一致。實驗表明SDCC能有效防御不同攻擊密度的洪泛式DDoS攻擊。

圖6 洪泛式DDoS攻擊下交換機端口實時吞吐量變化(攻擊密度為104個/秒)

圖7 洪泛式DDoS攻擊下鏈路狀態和數據流狀態變化(攻擊密度為104個/秒)

圖8 洪泛式DDoS攻擊下交換機端口實時吞吐量變化(攻擊密度為106個/秒)

圖9 洪泛式DDoS攻擊下鏈路狀態和數據流狀態變化(攻擊密度為106個/秒)

在攻擊密度為100個/秒的低速率式DDoS攻擊模擬實驗中,H1向S0發送的一直都是正常分組,從第4 s開始,H2向S0不間斷地發送小流量的攻擊分組,如圖10所示,從第4 s到第5 s,SW2的端口1實時吞吐量高于SW1的端口1,表示S0能接收到H2發送的少量攻擊分組,但是由于此時攻擊流量非常小,對系統造成的影響很小。在第 6 s時,非正常分組的比例超過AttackRatio,SDCC-D模塊會檢測出數據流異常,系統進入預警狀態,之后,依然檢測出數據流異常,系統進入防御狀態,對H2發送的攻擊分組進行攔截,如圖11所示,在第6 s時,鏈路帶寬為正常狀態,數據流為攻擊狀態,此時,圖10中SW2的端口1與SW1的端口1的實時吞吐量一致。從第7 s開始,H3開始向S0發送攻擊分組,此時,系統已處于防御狀態,能直接對H3發送的攻擊分組進行攔截,如圖10所示,從第6 s開始,SW2的端口1始終與SW1的端口1吞吐量一致,表示SDCC-P模塊成功地攔截了H2、H3發出的攻擊分組。實驗表明SDCC能高效檢測并防御低速率式DDoS攻擊。

圖10 低速率式DDoS攻擊下交換機端口實時吞吐量變化(攻擊密度為100個/秒)

在攻擊密度為1 000個/秒的低速率式DDoS攻擊模擬實驗中,從第4 s開始,H2、H3同時向S0不間斷地發送小流量的攻擊分組,如圖 12所示,雖然 H2、H3發出的攻擊流的鏈路帶寬都小于AttackThreshold,但由于在SW1處匯聚后,使SW1處的鏈路帶寬大于AttackThreshold,鏈路帶寬變為攻擊狀態,緊接著,數據流狀態也變為攻擊狀態,系統進入防御狀態,如圖13所示,在第4 s時,鏈路帶寬和數據流都為攻擊狀態。從圖12可以看出,從第4 s開始,S0只接收到了H1發送的正常數據分組,表示SDCC-P模塊成功地攔截了H2、H3發出的攻擊分組。實驗表明SDCC能有效防御不同攻擊密度的低速率式DDoS攻擊。

圖11 低速率式DDoS攻擊下鏈路狀態和數據流狀態變化(攻擊密度為100個/秒)

圖12 低速率式DDoS攻擊下交換機端口實時吞吐量變化(攻擊密度為1 000個/秒)

圖13 低速率式DDoS攻擊下鏈路狀態和數據流狀態變化(攻擊密度為1 000個/秒)

4.3 性能評估

圖 14顯示了在攻擊時期、不同攻擊密度下,PacketScore[6]、CBF[8]、SDCC 這 3種方案對一個窗口內數據分組的處理時間的對比情況。為了便于比較,在3種方案中,統一設置為一個窗口內包含50個數據分組,攻擊密度范圍為103~104個/秒。從圖14中可以看出,相對于PacketScore方案,CBF方案對每個窗口內的數據處理速度更快,這是由于PacketScore方案采取的是動態閾值的方法,在攻擊檢測時既需要逐一計算數據分組是攻擊分組的可能性,又需要計算近期的閾值,因此,對一個窗口的數據處理時間花費最多。CBF方法在這一方面做了改進,為加快攻擊時期數據處理速度,使用的是靜態閾值的方法,而且計算數據分組的CBF分數時只需要查看profile表,其算法復雜度為O(1)。SDCC在一個窗口內的數據處理時間最少,這是由于SDCC在CBF方案的基礎上做了進一步的優化,在攻擊數據流中,有很多相同的攻擊分組,而SDCC并沒有像前 2種方案一樣對數據分組進行逐一處理,而是隨機抽取窗口內一定比例的數據分組逐一計算CBF分數再進行判斷;另外,通過攻擊流特征庫存儲已識別的攻擊分組,當再出現庫中已有的攻擊分組需要判斷時,不做處理并直接轉發至交換機,通過流表攔截該攻擊分組。這種方法有效提升了對一個窗口內數據分組的處理速度,相比于 CBF方法,其數據處理速率提升了約19.4%;此外,對于CBF方法,當發送分組密度越大時,對于攻擊流中相同的攻擊分組,控制器下發相同的流表數量越多,其窗口數據處理時間越長,而SDCC的攻擊流特征庫能有效緩解重復流表的問題,因此,由圖14可以看出,隨著攻擊密度增大,CBF和PacketScore方法的數據處理時間上升的趨勢比SDCC更明顯。

系統在正常狀態下,相對于CBF方案,SDCC簡化了profile表的更新,因此CPU的占用率更低。由表2可以看出,當進入系統的是正常數據流時,SDCC的CPU占用率比CBF低2.6%;在系統遭受DDoS攻擊狀態下,由于SDCC采取的是比例抽取數據分組進行檢測,且使用了攻擊流特征庫避免了對相同攻擊分組的重復檢測,相對于CBF方案的逐一檢測數據分組而言,對CPU的使用率要低得多,特別是在洪泛式這種大流量的DDoS攻擊下,CBF方法需要迅速對大量數據分組計算分數并產生流表,SDCC由于比例抽取和攻擊流特征庫有效緩解了控制器的壓力。由表2可知,當進入系統的是低速率式DDoS攻擊數據流時,SDCC的CPU占用率比CBF的低11.1%;而當進入系統的是洪泛式DDoS攻擊數據流時,SDCC的CPU占用率比CBF的低19.7%。

圖14 對一個窗口大小的數據分組處理時間比較

表2 不同類型數據流下CPU占用率比較

圖15顯示了在不同發送分組密度下SDCC和CBF方案的誤判率比較,發送分組密度的范圍是10~106個/秒。誤判率是指將正常數據分組判斷成攻擊分組的概率。

圖15 誤判率比較

由圖15可以看出,隨著攻擊密度增大,2種方案的誤判率波動不大,表明這2種方案的誤判率不受攻擊強度影響,都適用于云環境。與CBF方案中只要檢測到 CBF分數比閾值低就判斷為攻擊分組所不同的是,SDCC通過檢測數據流中CBF分數小于丟棄閾值的數據分組比例來判斷系統中是否有DDoS攻擊行為,只有確定系統遭受到DDoS攻擊,進入防御狀態,才會對CBF分數比丟棄閾值低的數據分組進行攔截,這種檢測方式能降低由于用戶自身非習慣性訪問引起的誤判率。通過圖 15可以看出,SDCC的誤判率比CBF方案低至少4.63%。

5 結束語

DDoS攻擊已成為云環境中主要的安全威脅之一。本文針對云環境中的2類典型的DDoS攻擊問題,即洪泛式DDoS攻擊與低速率式DDoS攻擊,提出SDCC,它使用SDN架構,簡化了數據分組轉發過程,控制器能實時獲取全局的網絡狀態;綜合使用鏈路帶寬檢測和數據流檢測這2種方式,能準確地檢測出2種類型的DDoS攻擊;通過改進CBF方案的profile更新過程,有利于實時檢測,而且根據系統的不同狀態按比例抽取數據分組檢測,并使用攻擊流特征庫存儲已識別的攻擊分組,降低了控制器的壓力,加快了檢測速度。與其他相關方案相比,SDCC處理數據的速度更快,消耗的計算資源更少,且誤判率更低,從而有效地保護云系統免受DDoS攻擊。

與傳統網絡相比,SDN架構轉發控制分離的特點簡化了數據轉發過程,提高了數據分組的檢測效率,更有利于實時檢測系統狀態。但隨著云計算被更廣泛的應用,業務流量規模變得更大,使單控制器的 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]CHEN L C,LONGSTAFF T A,CARLEY K M. Characterization of defense mechanisms against distributed denial of service attacks[J].Computers & Security,2004,23(8): 665-678.

[3]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.

[4]TARIQ U,HONG M P,LHEE K. A comprehensive categorization of DDoS attack and DDoS defense techniques[C]//International Conference on Advanced Data Mining and Applications. 2006: 1025-1036.

[5]SPECHT S M,LEE R B. Distributed denial of service: taxonomies of attacks,tools,and countermeasures[C]// The 17th International Conference on Parallel and Distributed Computing Systems. 2004:543-550.

[6]KIM Y,LAU W C,CHUAH M C,et al. PacketScore: a statistics-based packet filtering scheme against distributed denial-of-service attacks[J].IEEE Transactions on Dependable & Secure Computing,2006,3(2):141-155.

[7]胡漢卿. 基于云計算DDoS攻擊防御研究[D]. 南京: 南京郵電大學,2015.HU H Q. Research on DDoS attack defense based on cloud computing[D]. Nanjing: Nanjing University of Posts and Telecommunications,2015.

[8]DOU W,CHEN Q,CHEN J. A confidence-based filtering method for DDoS attack defense in cloud environment[J]. Future Generation Computer Systems,2013,29(7): 1838-1850.

[9]SHAMSOLMOALI P,ALAM M A,BISWAS R. C2DF: high rate DDOS filtering method in cloud computing[J]. International Journal of Computer Network & Information Security,2014,6(9): 43-50.

[10]SAHI A,LAI D,LI Y,et al. An efficient DDoS TCP flood attack detection and prevention system in a cloud environment[J]. IEEE Access,2017,5: 6036-6048.

[11]JEYANTHI N,BARDE U,SRAVANI M,et al. Detection of distributed denial of service attacks in cloud computing by identifying spoofed IP[J]. International Journal of Communication Networks & Distributed Systems,2013,11(3): 262-279.

[12]吳志軍,張東. 低速率DDoS攻擊的仿真和特征提取[J]. 通信學報,2008,29(1): 71-76.WU Z J,ZHANG D. Simulation and feature extraction of low rate DDoS attacks[J]. Journal on Communications,2008,29(1): 71-76.

[13]NAVAZ A S S,SANGEETHA V,PRABHADEVI C. Entropy based anomaly detection system to prevent DDoS attacks in cloud[J]. International Journal of Computer Applications,2013,62(15): 42-47.

[14]WANG B,ZHENG Y,LOU W,et al. DDoS attack protection in the era of cloud computing and software-defined networking[J]. Computer Networks,2015,81(C): 308-319.

[15]KALLIOLA A,LEE K,LEE H,et al. Flooding DDoS mitigation and traffic management with software defined networking[C]//International Conference on Cloud Networking. 2015: 248-254.

[16]ZHANG C,CAI Z,CHEN W,et al. Flow level detection and filtering of low-rate DDoS[J]. Computer Networks the International Journal of Computer & Telecommunications Networking,2012,56(15): 3417-3431.

[17]HOQUE N,BHATTACHARYYA D K,KALITA J K. A novel measure for low-rate and high-rate DDoS attack detection using multivariate data analysis[C]//International Conference on Communication Systems and Networks. 2016: 1-2.

[18]孫義明,楊麗萍. 信息化戰爭中的戰術數據鏈[M]. 北京: 北京郵電大學出版社,2005.SUN Y M,YANG L P. Tactical data chain in information warfare[M]. Beijing: Beijing University of Posts and Telecommunications Press,2005.

[19]田開琳,李明. 一種可靠檢測低速率DDoS攻擊的異常檢測系統[J].現代電子技術,2009,32(7): 68-71.TIAN K L,LI M. An anomaly detection system for reliable detection of low rate DDoS attacks[J]. Modern Electronic Technology,2009,32(7): 68-71.

[20]左青云,陳鳴,趙廣松,等. 基于 OpenFlow 的 SDN 技術研究[J].軟件學報,2013(5): 1078-1097.ZUO Q Y,CHEN M,ZHAO G S,et al. Research of SDN technology based on OpenFlow[J]. Journal of Software,2013(5): 1078-1097.

[21]LIU T C,YANG B H,ZHANG Y,et al. Data packet processing in SDN[P]. US20150281127,2015.

[22]FOUNDATION O N. Software-defined networking: the new norm for networks[R]. ONF White Paper,2012.

[23]NADEAU T D,GRAY K. 軟件定義網絡: SDN與OpenFlow解析[M].畢軍,單業,張紹宇,等譯. 北京: 人民郵電出版社,2014.NADEAU T D,GRAY K. Software defined network: SDN and OpenFlow parsing[M]. Translated by BI J,SHAN Y,ZHANG S Y,et al. Beijing: Posts & Telecom Press,2014.

[24]MOUSAVI S M,STHILAIRE M. Early detection of DDoS attacks against SDN controllers[C]//International Conference on Computing,NETWORKING and Communications. 2015:77-81.

[25]LANTZ B,HELLER B,MCKEOWN N. A network in a laptop:rapid prototyping for software-defined networks[C]//ACM Workshop on Hot Topics in Networks. 2010:1-6.

猜你喜歡
檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
“幾何圖形”檢測題
“角”檢測題
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: www.亚洲一区二区三区| 国产爽妇精品| 亚洲人成电影在线播放| 精品国产三级在线观看| 久久综合九色综合97网| 亚洲不卡av中文在线| 尤物视频一区| 波多野结衣爽到高潮漏水大喷| 日韩欧美中文亚洲高清在线| 久久这里只有精品23| 亚洲精品卡2卡3卡4卡5卡区| 黄色在线不卡| 亚洲精品大秀视频| 无码aⅴ精品一区二区三区| 国产久操视频| 国产色婷婷| 国产欧美视频一区二区三区| 999国产精品| 激情视频综合网| 欧美成人一级| 日韩精品毛片| 三上悠亚一区二区| 国产美女无遮挡免费视频| 极品国产一区二区三区| 美美女高清毛片视频免费观看| 亚洲无线国产观看| 青青国产视频| 亚洲日本韩在线观看| 国产毛片片精品天天看视频| 欧美日本激情| 亚洲热线99精品视频| 免费一级成人毛片| 免费欧美一级| 99久久国产综合精品2020| 扒开粉嫩的小缝隙喷白浆视频| 日韩午夜福利在线观看| 国产成人超碰无码| 亚洲一区二区约美女探花| 国产女人18毛片水真多1| 99精品这里只有精品高清视频| 精品福利国产| 女人一级毛片| 亚洲欧美日韩精品专区| 天天操精品| P尤物久久99国产综合精品| 国产91丝袜在线播放动漫| 中文字幕啪啪| 国产福利大秀91| 特级欧美视频aaaaaa| 精品视频免费在线| 国产午夜在线观看视频| 日本久久免费| 国产精品福利尤物youwu| 亚洲二三区| 国产精品主播| 刘亦菲一区二区在线观看| 91成人在线免费视频| 日韩小视频网站hq| 9966国产精品视频| 亚洲中久无码永久在线观看软件| 国产在线日本| 全部免费毛片免费播放| 国内毛片视频| 亚洲三级影院| 国产啪在线91| 中文字幕日韩丝袜一区| 亚洲综合精品香蕉久久网| 夜夜拍夜夜爽| 91久久大香线蕉| 国产精品无码一二三视频| 99精品热视频这里只有精品7| 精品一区国产精品| 久久伊人色| 狠狠综合久久| 中国精品自拍| 国产美女免费| 久久99精品久久久大学生| 狠狠亚洲五月天| 午夜国产大片免费观看| 国产精品香蕉| 青青网在线国产| 97成人在线观看|