本發明屬于計算機網絡安全
技術領域:
,特別涉及一種基于概率延遲的SDN網絡主動防御系統及其方法。
背景技術:
:軟件定義網絡SDN旨在抽象并解耦控制平面與數據轉發平面,并提供更加靈活的管理與擴展。數據平面根據轉發規則高速地轉發包,而控制平面要么將流規則下發給數據平面,要么根據需要處理一部分包。SDN架構中的控制和轉發元件是控制器和轉發設備(如交換機),可以看到,控制器是SDN網絡的核心,負責下發轉發規則到數據轉發平面。SDN網絡探測方法利用SDN控制器處理數據包比數據轉發平面轉發數據包慢一個數量級的特點,通過發送一系列探測數據包,根據其響應時間或往返時間來推測該網絡是否為SDN網絡或者推測該SDN網絡控制器的配置信息。SDN網絡掃描探測存在兩種攻擊方式,一種是SDN網絡指紋探測,一種是SDN控制平面時間探測,兩者均利用了SDN控制平面制定策略下發來轉發數據包的時間比數據平面直接轉發數據包的時間多的特點來實施探測。指紋探測通過發送一系列的流量到網絡中,如圖1所示,利用SDN網絡控制平面首次處理數據流時需要安裝相應的流規則而造成較大的時延,之后數據轉發平面直接處理該數據流的數據包時則時延較小的特點,探測SDN網絡的流程圖,由于SDN網絡在接收到新的數據流時,需要上傳到SDN控制器制定新的流規則下發到流表中,而之后該數據流進入SDN網絡的數據包就由數據平面直接根據流表進行轉發,前后轉發需要的時間不在一個數量級上,因此可以根據數據流前后數據包的轉發響應時間來判斷該網絡是否為SDN網絡。SDN控制平面時間探測是SDN網絡指紋探測的升級版本,通過發送時間探測數據包和測試數據包兩種數據包來探測SDN控制器上的流策略以及控制器配置,該探測方式根據控制平面的負載以及測試數據包的種類,能夠判斷控制平面是否處理未知源/目的MAC(媒體訪問控制)地址、哪些流量被控制器處理、哪些流規則已經安裝在OpenFlow交換機的流表中、流規則的哪些域設置了通配符等信息。這兩種探測嚴重影響到SDN網絡的安全,因此,需要一種新的針對軟件定義網絡SDN掃描探測的主動防御技術,來保證SDN網絡使用中的安全性能。技術實現要素:針對現有技術中的不足,本發明提供一種基于概率延遲的SDN網絡主動防御系統及其方法,通過基于隨機概率的數據包延遲策略,可以動態調整SDN網絡中數據包的響應,干擾探測者接收到的時間差信息,盡可能降低延遲策略對SDN網絡帶來的額外負載,能夠有效影響SDN網絡探測的統計結果,保證SDN網絡的安全性能。按照本發明所提供的設計方案,一種基于概率延遲的SDN網絡主動防御系統,包含與交換機連接的SDN控制器,所述SDN控制器包含延遲管理模塊、數據包處理模塊,其中,延遲管理模塊,通過隨機概率延遲策略對交換機反饋的數據包進行延遲;數據包處理模塊,對接收到的數據包進行報文處理并反饋給交換機。上述的,延遲管理模塊包含數據接收模塊、Hash模塊、策略管理模塊、優先級隊列模塊,其中,數據接收模塊,用于接收交換機反饋的數據包,并將其發送給Hash模塊;Hash模塊,用于提取數據流五元組,生成哈希值,并存儲在哈希表中;策略管理模塊,通過隨機概率延遲策略來判決數據包是否需要延遲,若需要延遲,計算其延遲時間,并將數據包及其對應的延遲時間反饋至優先級隊列模塊,否則,將數據包反饋至數據包處理模塊;優先級隊列模塊,用于存儲數據包及其對應的延遲時間和入隊時間,并根據優先級將相應的數據包反饋至數據包處理模塊。其中,Hash模塊還包含計數器,通過哈希值遍歷哈希表,若哈希值已存在于哈希表中,則計數器加1。其中,隨機概率延遲策略通過數學模型生成相應的延遲概率,并將延遲概率與隨機變量r進行比對來判決對應數據包是否需要被延遲,其中,r=Random(0,1)。其中,數學模型表示為:p=θ×(α×βγ×c×cosγc+δc+ε),其中,p是延遲概率值,c是計數器值,θ,α,β,γ,δ,ε是非負常數。一種基于概率延遲的SDN網絡主動防御方法,包含如下步驟:步驟A、SDN控制器接收交換機反饋至的數據包,并通過隨機概率延遲策略對數據包進行延遲;步驟B、對數據包進行報文處理并反饋至交換機。上述的,步驟A中通過隨機概率延遲策略對數據包進行延遲,具體包含如下內容:步驟A1:提取數據流中的五元組,生成哈希值,并存儲在哈希表中;步驟A2:通過概率計算數學模型及隨機變量r判決數據包是否需要被延遲,若需要被延遲,則計算其延遲時間dt,并將數據包、其延遲時間及入隊時間存儲至優先級隊列,進入步驟A3,其中,隨機變量r=Random(0,1);否則,進入步驟B;步驟A3:優先級隊列根據存儲的數據包、延遲時間及入隊時間進行處理,其中數據包元素滿足延遲時間,則進入步驟B。上述的,步驟A1還包含如下內容:通過哈希值遍歷哈希表,若該哈希值已存在哈希表中,則計數器計數加1。上述的,步驟A2具體包含如下內容:步驟A21:根據數學模型p=θ×(α×βγ×c×cosγc+δc+ε),計算延遲概率,其中,p是延遲概率值,c是計數器計數值,θ,α,β,γ,δ,ε是非負常數;步驟A22:判斷該數據包是否屬于SDN控制器處理類型,若屬于,則執行步驟A23;否則,根據r=Random(0,1)獲取隨機變量r,并將延遲概率p與隨機變量r進行比對,如果r≤p,則生成包含數據包輸出動作、控制器去向值的流規則,并將該流規則安裝到相應的交換機上,否則進行步驟A23;步驟A23:根據r=Random(0,1)獲取隨機變量r,并將延遲概率p與隨機變量r進行比對,如果r≤p,則計算數據包延遲時間dt,并將數據包、其延遲時間dt及入隊時間存儲至優先級隊列,進入步驟A3執行;否則,直接執行步驟A3。上述的,步驟A23中計算數據包延遲時間dt,通過SDN控制器中數據包平均往返時間t,并根據dt=Random(0,t/2)計算出數據包延遲時間。本發明的有益效果:1、本發明針對SDN網絡所面臨的探測掃描,提出一種基于概率的數據包延遲策略,以可調整的概率去延遲SDN網絡對數據包的響應;該策略旨在干擾探測者接收到的時間差信息,并盡可能降低延遲策略給SDN網絡帶來的額外負載;該策略能夠有效影響SDN探測的統計結果,且給SDN網絡造成的性能影響較小。2、本發明通過隨機概率延遲策略,對OpenFlow協議和OpenFlow交換機自身功能沒有影響,且更容易部署與應用;通過SDN控制器靈活地實現概率延遲;對OpenFlow交換機轉發隊列影響不大;本發明考慮網絡流量的特點,針對SDN網絡探測,提出一個低消耗且可有效干擾探測結果的策略,便于實現,對抗SDN網絡探測效果顯著,具有很高的實用價值。附圖說明:圖1為SDN網絡探測流程圖;圖2為本發明的系統架構圖;圖3為實施例二的系統架構圖;圖4為本發明的方法流程圖;圖5為數據包流經SDN網絡中的OpenFlow交換機時正常轉發示意圖;圖6為數據包流經SDN網絡中的OpenFlow交換機時被上傳到SDN控制器處理導致延遲情況示意圖;圖7為需要SDN控制器處理的數據包被SDN控制器正常處理情況的示意圖;圖8為需要SDN控制器處理的數據包在SDN控制器中被延遲一段時間后再處理情況的示意圖;圖9為隨機概率延遲策略中延遲概率取值數學模型示意圖。具體實施方式:下面結合附圖和技術方案對本發明作進一步詳細的說明,并通過優選的實施例詳細說明本發明的實施方式,但本發明的實施方式并不限于此。實施例一,參見圖2所示,一種基于概率延遲的SDN網絡主動防御系統,包含與交換機連接的SDN控制器,所述SDN控制器包含延遲管理模塊、數據包處理模塊,其中,延遲管理模塊,通過隨機概率延遲策略對交換機反饋的數據包進行延遲;數據包處理模塊,對接收到的數據包進行報文處理并反饋給交換機。本發明在延遲管理模塊,通過隨機概率延遲策略干擾探測者接收到的時間差信息,并盡可能降低延遲策略給SDN網絡帶來的額外負載;該策略能夠有效影響SDN探測的統計結果,且給SDN網絡造成的性能影響較小。實施例二,參見圖3所示,與實施例一基本相同,不同之處在于:延遲管理模塊包含數據接收模塊、Hash模塊、策略管理模塊、優先級隊列模塊,其中,數據接收模塊,用于接收交換機反饋的數據包,并將其發送給Hash模塊;Hash模塊,用于提取數據流五元組,生成哈希值,并存儲在哈希表中;策略管理模塊,通過隨機概率延遲策略來判決數據包是否需要延遲,若需要延遲,計算其延遲時間,并將數據包及其對應的延遲時間反饋至優先級隊列模塊,否則,將數據包反饋至數據包處理模塊;優先級隊列模塊,用于存儲數據包及其對應的延遲時間和入隊時間,并根據優先級將相應的數據包反饋至數據包處理模塊。其中,Hash模塊還包含計數器,通過哈希值遍歷哈希表,若哈希值已存在于哈希表中,則計數器加1。其中,隨機概率延遲策略通過數學模型生成相應的延遲概率,并將延遲概率與隨機變量r進行比對來判決對應數據包是否需要被延遲,其中,r=Random(0,1)。其中,數學模型表示為:p=θ×(α×βγ×c×cosγc+δc+ε),其中,p是延遲概率值,c是計數器值,θ,α,β,γ,δ,ε是非負常數。通過隨機概率延遲策略,對OpenFlow協議和OpenFlow交換機自身功能沒有影響,且更容易部署與應用;通過SDN控制器靈活地實現概率延遲;對OpenFlow交換機轉發隊列影響不大;本發明考慮網絡流量的特點,針對SDN網絡探測,提出一個低消耗且可有效干擾探測結果的策略,便于實現,對抗SDN網絡探測效果顯著。實施例二,參見圖4所示,一種基于概率延遲的SDN網絡主動防御方法,包含如下步驟:步驟A、SDN控制器接收交換機反饋至的數據包,并通過隨機概率延遲策略對數據包進行延遲;步驟B、對數據包進行報文處理并反饋至交換機。通過隨機概率延遲策略干擾探測者接收到的時間差信息,并盡可能降低延遲策略給SDN網絡帶來的額外負載;該策略能夠有效影響SDN探測的統計結果,且給SDN網絡造成的性能影響較小,有效保證SDN網絡的安全。實施例三,參見圖4~9所示,一種基于概率延遲的SDN網絡主動防御方法,具體內容如下:A、SDN控制器接收交換機反饋至的數據包,并通過隨機概率延遲策略對數據包進行延遲,具體包含如下內容:A1:提取數據流中的五元組,生成哈希值,并存儲在哈希表中,通過哈希值遍歷哈希表,若該哈希值已存在哈希表中,則計數器計數加1。A2:通過概率計算數學模型及隨機變量r判決數據包是否需要被延遲,具體內容如下:步驟A21:根據數學模型p=θ×(α×βγ×c×cosγc+δc+ε),計算延遲概率,其中,p是延遲概率值,c是計數器計數值,θ,α,β,γ,δ,ε是非負常數。步驟A22:判斷該數據包是否屬于SDN控制器處理類型,若屬于,則執行步驟A23;否則,根據r=Random(0,1)獲取隨機變量r,并將延遲概率p與隨機變量r進行比對,如果r≤p,則生成包含數據包輸出動作、控制器去向值的流規則,并將該流規則安裝到相應的交換機上,否則執行步驟A23。步驟A23:根據r=Random(0,1)獲取隨機變量r,并將延遲概率p與隨機變量r進行比對,如果r≤p,則通過SDN控制器中數據包平均往返時間t,并根據dt=Random(0,t/2)計算出數據包延遲時間計算數據包延遲時間dt,并將數據包、其延遲時間dt及入隊時間存儲至優先級隊列,進入步驟A3執行;否則,直接執行步驟A3。步驟A3:優先級隊列根據存儲的數據包、延遲時間及入隊時間進行處理,其中數據包元素滿足延遲時間,則進入步驟B。B、對數據包進行報文處理并反饋至交換機。為進一步驗證本發明的有效性,下面結合具體實例做進一步解釋說明:SDN網絡探測根據數據包的不同響應時間來探測了解SDN網絡,本發明根據該探測的這一特點,提出一種以特定概率隨機延遲數據包的防御策略。A.可調節概率值對每一個數據包都延遲隨機一段時間可有效抵御SDN網絡探測,但也會提高系統負載,因為所有的正常數據流也被延遲了。由于探測者需要做統計分析,并且需要進行大量的探測測試,因此可以對這些探測測試的一部分進行區別對待,以影響探測者的探測統計結果。該概率延遲方式與延遲每個數據包相比,能降低對網絡性能的影響。為實現這一點,提出可調概率,允許一個數據包以特定概率被延遲,并提出調控策略來調整這個概率,使其對探測數據包有不良影響,同時保持正常流量有更好的性能。可調概率定義為p(0<p<1),隨機變量r=Random(0,1)。當r小于等于/大于p(r≤p/r>p),稱其數據包延遲在概率內/概率外(在概率內延遲,在概率外不延遲)。所以一個數據包是否會被延遲,取決于隨機變量r和概率值p。假設正常情況下,從主機發來的第i個數據包packeti的往返時間(RTT)是ti,延遲時間為dti,則該數據包延遲后的RTT可以表示為:B.延遲方式在SDN控制器中延遲數據包,該方法在延遲數據包中有兩種情況:在第一種情況下,如圖5所示,一個數據包匹配到流規則,它本應該被轉發到交換機的另一個端口,但通過設置值為OFPP_CONTROLLER、OpenFlow動作為OFPAT_OUTPUT轉發到了SDN控制器,這就意味著數據包將被轉發到SDN控制器,并由其處理,如圖6所示。因此,數據包以這種間接的方式被延遲了。在第二種情況下,發送到SDN控制器的數據包需要響應(如圖7所示),可以在SDN控制器處理之前被延遲一定時間(如圖8所示)。這種方法的優點是:1)對OpenFlow協議和OpenFlow交換機沒有影響,使得它更容易部署與應用;2)使用SDN控制器可靈活地實現延遲策略;3)對交換機轉發隊列影響不大。C.延遲策略SDN控制器在SDN網絡中扮演著重要的角色,本發明將延遲方案部署在SDN控制器上,其架構如圖3所示描述了延遲策略架構中的功能模塊和功能模塊之間的依賴關系。在該架構上,SDN控制器收到來自OpenFlow交換機的數據包,并將該數據包送往Hash(哈希)模塊。一條數據流的五元組(包含源MAC地址、目標MAC地址、源IP地址、目標IP地址和傳輸層協議)可以在該網絡中唯一標識該條數據流。Hash模塊提取一個流的五元組并生成一個哈希值存儲在哈希表中。哈希表的表項如表1所示:表1哈希表項鍵值一條數據流的哈希值數據流的計數值如果一條數據流的哈希值命中了該哈希表(假設不存在碰撞),即該哈希值已經存在于該哈希表中,則認為該條數據流的數據包再次被送往了SDN控制器,其哈希表中對應的計數器的值加1,概率值與計數值相關。策略模型根據相應的概率值決定是否對一個報文進行延遲。如ARP(地址解析協議)請求等只能由SDN控制器處理的報文稱作控制器處理報文(CHM)。其他報文如果匹配了動作為Packet-in的規則,也會有機會被延遲。該策略模型中的策略收到一個報文時的算法如下算法1所示:優先級隊列存儲需要處理的報文及其延遲時間和入隊時間。優先級隊列能夠高效地插入一個元素,并且當該元素到期后彈出。SDN控制器的報文處理模塊接收并處理優先級隊列彈出的報文。D.概率值計算為了保持SDN網絡的性能,概率值應該根據探測特征相應地進行調整。針對指紋探測的FirstPacket(首個數據包)處理時間較長,LastPacket(后繼數據包)處理時間較短的特點,對數據流的前幾個或第一個數據包,延遲的概率值應該較大,對后續數據包的延遲概率應該降低。針對時間探測持續低速地發送時間探測數據包到SDN控制器的特點,延遲概率值應該不斷地浮動來擾亂時間探測數據包的RTT。為了滿足以上特點,產生了下面這個數學模型:p=θ×(α×βγ×c×cosγc+δc+ε)式中p是概率值,c是計數值,θ,α,β,γ,δ,ε是非負常數。圖9延遲策略中概率值的取值數學模型中所示為當θ=0.53,α=0.5,β=0.95,γ=0.5,δ=0.98,ε=0.25時,概率值p隨著計數值c變化情況。為防御SDN網絡探測,針對其利用SDN控制平面與轉發平面對數據包處理時間存在明顯差異的特點,提出一種高效的基于概率延遲策略的SDN探測防御系統及其方法;通過采用延遲策略,旨在迷惑探測者,將探測者用來探測的數據包延遲后,使其難以正確判斷網絡類型以及網絡中的配置信息,并且設計了一個概率取值模型來約束延遲行為,能夠將正常流量延遲的概率降低,而將探測流量延遲的概率提高,從而保持SDN網絡性能不被明顯降低的情況下抵御SDN網絡探測。本發明不局限于上述具體實施方式,本領域技術人員還可據此做出多種變化,但任何與本發明等同或者類似的變化都應涵蓋在本發明權利要求的范圍內。當前第1頁1 2 3