一種針對網絡攻擊的sdn網絡架構的工作方法
【專利摘要】本發明公開了一種針對網絡攻擊的SDN網絡架構的工作方法,本SDN網絡架構的工作方法包括:步驟S100,網絡初始化;步驟S200,分布式DDoS威脅監測和/或收集SDN鏈路狀態信息;以及步驟S300,威脅處理和/或數據下發。本發明可使網絡在遭受大規模DDoS威脅時,能夠根據鏈路的實時狀況實現路由優化的流量轉發,同時迅速準確的進行DDoS威脅識別和處理響應,全面保障網絡通信質量。
【專利說明】
-種針對網絡攻擊的SDN網絡架構的工作方法
技術領域
[0001] 本發明涉及網絡安全領域,特別是涉及一種針對網絡攻擊的SDN網絡架構的工作 方法。
【背景技術】
[0002] 當前,高速廣泛連接的網絡已經成為現代社會的重要基礎設施。然而,隨著互聯網 規模的膨脹,傳統規范體系的缺陷也日益呈現出來。
[0003] 國家計算機網絡應急技術處理協調中必(CNCERT/CC)最新發布的報告表明:黑客 活動日趨頻繁,網站后Π 、網絡釣魚、Web惡意掛馬等攻擊事件呈大幅增長趨勢,其中,分布 式拒絕服務攻擊值istributed Denial of Service, DDo巧仍然是影響互聯網運行安全最 主要的威脅之一。在過去的幾年里,DDoS攻擊的數目、大小、類型都大幅上漲。
[0004] 如何通過SDN架構實現對孤oS攻擊的有效防御是本領域的技術難題。
【發明內容】
[0005] 本發明的目的是提供一種SDN網絡架構的工作方法,W解決現有網絡中大量DDoS 攻擊所造成的網絡安全問題,W實現快速、高效、全面地識別與防御DDoS攻擊,并且將威脅 處理后與鏈路發生故障后的網絡拓撲變化進行區別,W提供相應的報文發送路徑。
[0006] 為了解決上述技術問題,本發明提供了一種SDN網絡架構的工作方法。所述SDN 網絡架構的工作方法,包括如下步驟:
[0007] 步驟S100,網絡初始化;步驟S200,分布式孤oS威脅監測和/或收集SDN鏈路狀 態信息;W及步驟S300,威脅處理和/或數據下發。
[0008] 優選的,為了更好的實現網絡配置,所述步驟S100中網絡初始化所涉及的裝置包 括;SDN控制器、IDS決策服務器和IDS設備;
[0009] 網絡初始化的步驟如下:
[0010] 步驟S101,所述IDS決策服務器與IDS設備建立專用的S化信道;步驟S102,所述 SDN控制器構建網絡設備信息綁定表,并且將網絡設備信息綁定表實時更新到IDS設備中; 步驟S104,所述SDN控制器下發鏡像策略的流表,即將OF交換機所有拖載有主機的端口流 量鏡像轉發給所述IDS設備;W及步驟S105,所述SDN控制器下發DDoS威脅識別規則給每 個網域中對應的IDS設備。
[0011] 優選的,所述步驟S200中分布式DDoS威脅監測的方法包括;依次對鏈路層和網際 層地址的欺騙行為,網際層和傳輸層標志位設置異常行為,W及應用層和傳輸層的泛洪式 攻擊行為進行檢測;若上述過程中檢測判斷出報文存在相應行為時,則將該報文轉入步驟 S300 ;對鏈路層和網際層地址的欺騙行為進行檢測的方法包括:通過欺騙報文檢測模塊對 欺騙行為進行檢測,即首先,通過欺騙報文檢測模塊調用網絡設備信息綁定表;其次,通過 欺騙報文檢測模塊將封裝在化cket-In消息中報文的類型進行解析,W獲得相應的源、目 的IP地址、MAC地址W及上傳此Packet-In消息的OF交換機DPID號和端口號,并將上述 各信息分別與網絡設備信息綁定表中的相應信息進行比對;若報文中的上述信息匹配,貝u 將報文進行下一檢測;若報文中的上述信息不匹配,則將報文轉入步驟S300 ;所述網際層 和傳輸層標志位設置異常行為進行檢測的方法包括:通過破壞報文檢測模塊對標志位設置 異常行為進行檢測,即對報文的各標志位進行檢測,W判斷各標志位是否符合TCP/IP協議 規范;若報文的各標志位符合,則將報文轉入進行下一檢測;若報文的各標志位不符合,貝U 將報文轉入步驟S300 ;所述應用層和傳輸層的泛洪式攻擊行為進行檢測的方法包括;通過 異常報文檢測模塊對泛洪式攻擊行為進行檢測,即在異常報文檢測模塊構建用于識別泛洪 式攻擊報文的哈希表,并根據該哈希表中設定的閥值判斷報文是否具有泛洪式攻擊行為, 且將判斷結果轉入步驟S300 ; W及收集SDN鏈路狀態信息的方法包括;根據SDN網絡拓撲 和各鏈路開銷計算主路徑的備份路徑;為各備份路徑分配用于標記備份路徑的標志位;根 據備份路徑和對應標志位向該備份路徑上各OF交換機下發流表項。
[0012] 所述步驟S300中威脅處理和/或數據下發的方法包括;若報文具有欺騙行為,且 攻擊威脅在化enFlow域中,則所述IDS決策服務器適于通過SDN控制器屏蔽主機;W及當 攻擊威脅不在化enFlow域中,則通過SDN控制器將該報文所對應的OF交換機接入端口流 量重定向至流量清洗中必進行過濾;若報文具有異常行為,則所述IDS決策服務器通過SDN 控制器對攻擊程序或攻擊主機的流量進行屏蔽;若報文具有泛洪式攻擊行為,則所述IDS 決策服務器通過SDN控制器將該報文所對應的OF交換機接入端口流量重定向至流量清洗 中必進行過濾;和/或根據鏈路負載系數計算出優化路徑,即檢測兩相鄰節點的鏈路剩余 帶寬,獲得該鏈路的負載系數,在根據該負載系數和初始化的網絡拓撲圖獲得任意兩點的 最優路徑,所述SDN控制器根據該最優路徑得出對應的轉發流表并下發各OF交換機。
[0013] 優選的,所述IDS決策服務器屏蔽發送報文的程序和/或主機的方法包括;首先, 構建計數用的相應哈希表及設定相應闊值,即單位時間內,所述IDS決策服務器中構建對 欺騙行為進行計數的第一哈希表,標志位設置異常行為進行計數的第二哈希表,W及對泛 洪式攻擊行為進行計數的第Η哈希表;同時設定第一、第二、第Η哈希表中的第一、第二、第 Η閥值;其次,屏蔽發送該報文的程序和/或主機,即針對轉入IDS決策服務器的報文的行 為,利用相應哈希表進行計數,當計數值超過相應閥值時,屏蔽發送該報文的程序和/或主 機。
[0014] 進一步,所述步驟S300中數據下發的方法還包括;根據SDN網絡拓撲改變的原因, 確認報文下發路徑;即,當SDN控制器威脅處理后,將報文通過最優路徑下發報文,或判斷 主路徑發生故障后,報文匹配所述流表項通過備份路徑進行轉發。
[0015] 本發明的有益效果;(1)本發明將DDoS威脅過濾技術與路由優化技術融合,在進 行監測、屏蔽DD0S攻擊時,并不會造成數據的擁堵,并且通過將監測和威脅處理分開,有效 的減輕了控制層面的負擔,保證了網絡更安全、高校的運行;(2)本發明使得傳統網絡體系 架構下無法對地址偽造 DDoS攻擊進行識別與溯源的難題從根本上得到了解決;在網絡中 存在DDoS攻擊或正常大流量業務的情況下,SDN控制器可基于對鏈路剩余帶寬等網絡參數 的實時感知,實現對正常流量的路由優化,大幅提升用戶的體驗;(3)本發明的處理架構采 用可擴展的模塊化設計,實現了對DDoS威脅的高效檢測和靈活處理;(4)各模塊獲取數據 包信息采用獨立的接口設計,降低了模塊間的禪合關聯性;(5)各模塊使用優化的程序數 據結構,細致分割各處理子流程,提升了模塊的高內聚特性;(6)本發明還對網路鏈路的改 變加 W區別對待,即,若當SDN控制器威脅處理后,將報文通過最優路徑下發報文,或判斷 主路徑發生故障后,報文匹配所述流表項通過備份路徑進行轉發,有效的避免了因交換機 故障時流量數據丟失。
【附圖說明】
[0016] 為了使本發明的內容更容易被清楚的理解,下面根據的具體實施例并結合附圖, 對本發明作進一步詳細的說明,其中
[0017] 圖1示出了所述SDN網絡架構的結構框圖;
[0018] 圖2不出了 IDS設備的原理框圖的原理框圖;
[0019] 圖3示出了欺騙報文檢測模塊的工作流程圖;
[0020] 圖4示出了破壞報文檢測模塊的工作流程圖;
[0021] 圖5示出了 UDP Floodling的檢測流程圖;
[0022] 圖6示出了 ICMP Floodling的檢測流程圖;
[0023] 圖7示出了分布式DDoS威脅監測的方法的流程框圖;
[0024] 圖8示出了實驗場景的具體部署的拓撲圖;
[0025] 圖9 (a)示出了未使用本發明的SDN架構的Web服務器所承受的攻擊頻率的曲線 圖;
[0026] 圖9(b)示出了使用本發明的SDN架構的Web服務器所承受的攻擊頻率的曲線圖;
[0027] 圖10示出了平均傳輸速率對比圖。
【具體實施方式】
[0028] 為使本發明的目的、技術方案和優點更加清楚明了,下面結合【具體實施方式】并參 照附圖,對本發明進一步詳細說明。應該理解,送些描述只是示例性的,而并非要限制本發 明的范圍。此外,在W下說明中,省略了對公知結構和技術的描述,W避免不必要地混淆本 發明的概念。
[0029] 在軟件定義網絡(Software Defined化twork, SDN)架構中,當一個報文(Packet) 到達OF交換機的時候,首先對OF交換機中所帶的流表進行匹配。如果匹配成功,就按照流 表指定的動作執行轉發規則。如果匹配失敗,則OF交換機將該報文封裝在化cket In消息 中,發送給SDN控制器,并且OF交換機將此報文存在本地緩存中。等待SDN控制器作出決 策,如何處理此報文。
[0030] 網絡中有很多主機,則需要建立一張針對網絡中所有主機為鍵的哈希表,稱之為 "違規次數哈希表組",其包括;適于對欺騙報文進行計數的第一哈希表,適于對破壞報文進 行計數的第二哈希表,適于對泛洪式攻擊進行計數的第Η哈希表。記錄對應主機的違規次 數,也就是主機的誠信度。
[0031] 網絡中的數據包是實時的,所W需要建立一種單位時間內的威脅報文計數的哈希 表,并且每個主機對應一個哈希表中的一個鍵,對應的鍵值是記錄的單位時間內對應鍵的 主機發送的威脅數據包的個數。此類哈希表在單位時間"時間片"開始時候必須將哈希表 內所有鍵對應的鍵值置0 ;且每種檢測的報文都需要有送樣的一張表,就比如說檢測了 100 種報文,就需要有100個此類的哈希表。
[0032] 而且,每個哈希表必須有一個對應的闊值。哈希表中只要一有主機在相應值中累 加計數。計數后檢查該值是否超過設定的闊值。如果超過相應的闊值,則在違規次數哈希 表對應記錄中的鍵值計數。
[0033] 在上述發明原理的基礎上,本實施例的具體實施過程如下。
[0034] 實施例1
[0035] 圖1示出了本發明的SDN網絡架構的結構框圖。
[003引如圖1所示,本發明的SDN網絡架構,包括;SDN控制器、IDS決策服務器、IDS設 備(即入侵檢測設備)和流量清洗中必;當IDS設備檢測到具有DDoS攻擊特征的報文時, 即通過S化信道上報至IDS決策服務器;所述IDS決策服務器根據上報信息,制定出與具有 DDoS攻擊特征的報文對應的處理策略,然后將該報文通過SDN控制器屏蔽或者將該報文所 對應的OF交換機接入端口流量重定向到流量清洗中必進行過濾;同時,通過SDN控制器收 集當前SDN鏈路狀態信息,W提供相應的報文發送路徑。
[0037] 其中,DDoS攻擊特征定義為;對鏈路層和網際層地址的欺騙行為、對網際層和傳 輸層標志位設置的異常行為,W及對應用層和傳輸層泛洪式攻擊行為。
[0038] 圖2示出了 IDS設備的原理框圖的原理框圖。
[0039] 如圖2所示,進一步,所述IDS設備內包括:
[0040] 欺騙報文檢測模塊,對鏈路層和網際層地址的欺騙行為進行檢測;
[0041] 破壞報文檢測模塊,對網際層和傳輸層標志位設置的異常行為進行檢測;
[0042] 異常報文檢測模塊,對應用層和傳輸層泛洪式攻擊行為進行檢測;
[0043] 通過所述欺騙報文檢測模塊、破壞報文檢測模塊、異常報文檢測模塊依次對報文 進行檢測;且若檢測模塊檢測出報文存在上述相應行為時,則將該報文轉入IDS決策服務 器。
[0044] 進一步,所述IDS決策服務器適于當報文具有欺騙行為,且攻擊威脅在化enFlow 域中,則通過SDN控制器屏蔽主機;或當攻擊威脅不在化enFlow域中,則通過SDN控制器將 該報文所對應的OF交換機接入端口流量重定向至流量清洗中必進行過濾;所述IDS決策服 務器還適于當報文具有異常行為,則通過SDN控制器對攻擊程序或攻擊主機的流量進行屏 蔽;W及當報文具有泛洪式攻擊行為,則所述IDS決策服務器適于通過SDN控制器將該報文 所對應的OF交換機接入端口流量重定向至流量清洗中必進行過濾。
[0045] 本發明采用從欺騙報文檢測模塊到破壞報文檢測模塊,再到異常報文檢測模塊依 次檢測的順序,其中,各模塊獲取數據包信息采用獨立的接口設計,降低了模塊間的禪合關 聯性;并且各模塊使用優化的程序數據結構,細致分割各處理子流程,提升了模塊的高內聚 特性。送種檢巧IJ順序提高了對報文數據的檢測效率,W及降低了漏檢率。
[0046] 圖3示出了欺騙報文檢測模塊的工作流程圖。
[0047] 如圖3所示,通過所述欺騙報文檢測模塊調用網絡設備信息綁定表,并在所述IDS 決策服務器中構建單位時間內的適于對報文欺騙行為進行計數的第一哈希表,W及設定該 第一哈希表中的第一閥值;所述欺騙報文檢測模塊,將封裝在化cket-In消息中的報文的 類型進行解析,W獲得相應的源、目的IP地址、MAC地址W及上傳化cket-In消息的OF交換 機DPID號和端口號信息,并將各信息分別與網絡設備信息綁定表中的相應信息進行比對; 若報文中的上述信息匹配,則將報文轉入破壞報文檢測模塊;若報文中的上述信息不匹配, 則轉入所述IDS決策服務器,對報文進行丟棄,并同時對欺騙行為進行計數,當該計數值超 過第一閥值時,屏蔽發送該報文的程序和/或主機。
[0048] 具體的,所述欺騙報文檢測模塊用于對報文進行第一次判斷,即判斷報文是否是 IP欺騙攻擊報文、端口欺騙攻擊報文或MAC欺騙攻擊報文。
[0049] 具體步驟包括;首先在W太網頓中解析出源、目的MAC地址和OF交換機入口,然后 根據不同的報文類型解析出不同的報文。當報文類型為IP、ARP、RARP時,則解析出相應的 源、目的IP地址然后將送些信息對網絡設備信息綁定表中的信息進行查表匹配,如果匹配 到相應的信息,則交給破壞報文檢測模塊處理。若不匹配,則將該報文轉入IDS決策服務器 處理;并同時對欺騙行為進行累加計數,當該計數值超過第一閥值時,屏蔽發送該報文的程 序和/或主機。
[0050] Floodli曲t中有一個設備管理器模塊DeviceManagerlmpl,當一個設備在網絡中 移動設備的時候跟蹤設備,并且根據新流定義設備。
[0051] 設備管理器從化cketin請求中得知設備,并從化cketin報文中獲取設備網絡參 數信息(源、目的IP、MAC、VLAN等信息),通過實體分類器將設備進行區分為OF交換機或 主機。默認情況下實體分類器使用MAC地址和/或VLAN表示一個設備,送兩個屬性可W唯 一的標識一個設備。另外一個重要的信息是設備的安裝點(OF交換機的DPID號和端口號) (,在一個openf low區域中,一個設備只能有一個安裝點,在送里openf low區域指的是和同 一個Floodli曲t實例相連的多個OF交換機的集合。設備管理器也為IP地址、安裝點、設 備設置了過期時間,最后一次時間戳作為判斷它們是否過期的依據。)
[0052] 故網絡設備信息綁定表模塊里面只需調用DeviceManagerlmpl模塊提供的 IDeviceService即可,同時向該服務添加 IDeviceListener的監聽接口即可。
[0053] 其中IDeviceListener提供的監聽接口有:
[0054]
[00巧]服務提供者;IFloodli曲 1:P;roviderSe;rvice,IDeviceService
[0056] 依賴接口;IFloodli曲tModule, IDeviceListener
[0057]
[0059] 表內的記錄根據OF交換機的高低電平觸發機制(網線拔出觸發化d Down的低 電平,網線拔入觸發化d化的高電平)可W實時刷新綁定表中的記錄。
[0060] 傳統的孤oS攻擊無法觸及、修改Switch DPID和Switch化的的信息,利用此優 勢,可W更加靈活的檢測欺騙攻擊。
[0061] 圖4示出了破壞報文檢測模塊的工作流程圖。
[0062] 如圖4所示,在所述IDS決策服務器中構建單位時間內的適于對報文的標志位設 置異常行為進行計數的第二哈希表,W及設定該第二哈希表中的第二閥值;所述破壞報文 檢測模塊對報文的各標志位進行檢測,W判斷各標志位是否符合TCP/IP協議規范;若報文 的各標志位符合,則將報文轉入異常報文檢測模塊;若報文的各標志位不符合,則轉入所述 IDS決策服務器,對報文進行丟棄,并同時對標志位設置異常行為進行計數,當該計數值超 過第二閥值時,屏蔽發送該報文的程序和/或主機。
[0063] 具體的,所述破壞報文檢測模塊,用于對報文進行第二次判斷,即判斷報文是否為 具有惡意標志位特征的攻擊報文。其中,具有惡意標志位特征的攻擊報文包括但不限于IP 攻擊報文、TCP攻擊報文。實施步驟包括:對IP攻擊報文及其中的TCP/UDP攻擊報文實現 各個報文的標志位的檢測,即識別各標志位是否符合TCP/IP協議規范。如果符合的話,就 直接交由異常數報文檢測模塊處理。若不符合,則判斷為攻擊報文,轉入IDS決策服務器處 理。
[0064] W Tear化op等典型攻擊為列,在IP包頭中有一個偏移字段和一個分片標志 (MF),若攻擊者把偏移字段設置成不正確的值,IP分片報文就會出現重合或斷開的情況,目 標機系統就會崩潰。
[006引在IP報文頭中,有一協議字段,該字段指明了該IP報文承載了何種協議。該字段 的值是小于100的,如果攻擊者向目標機發送大量的帶大于100的協議字段的IP報文,目 標機系統中的協議找就會受到破壞,形成攻擊。
[0066] 故在破壞報文檢測模塊中,首先提取出報文的各標志位,然后檢查是否正常。
[0067] 如果正常,則交給后續模塊處理。
[0068] 如果不正常,則丟棄該數據包,并對相應哈希表計數器計數。如果單位時間內計數 器超過設定的所述第二閥值時,則調用IDS決策服務器對相應的程序進行屏蔽和/或直接 屏蔽相應的主機。
[0069] 通過欺騙報文檢測模塊的數據包濾除之后,后續的破壞報文檢測模塊所處理的數 據包中的地址都是真實的。送樣,有效的避免了目標機收到了破壞報文,可能直接導致目標 機的協議找崩潰,甚至目標機直接崩潰。
[0070] 破壞報文檢測模塊的處理功能與欺騙報文檢測處理流程大致相似,區別在于破壞 報文檢測模塊解析出的是各個報文的標志位,然后檢測各個標志位是否正常。
[0071] 如果正常的話,就直接給后續的異常報文檢測模塊處理。
[0072] 如果不正常,則丟棄該數據包,并且對主機應用征信機制相應的哈希表內計數器 計數。如果超過設定的閥值,則屏蔽相應的攻擊程序或者直接屏蔽攻擊主機。
[0073] 在所述異常報文檢測模塊構建用于識別泛洪式攻擊報文的哈希表,在所述IDS決 策服務器中構建單位時間內的適于對泛洪式攻擊行為進行計數的第Η哈希表,W及設定該 第Η哈希表中的第Η閥值;所述異常報文檢測模塊,適于根據所述哈希表中設定的閥值判 斷所述報文是否具有攻擊行為;若無攻擊行為,則將數據下發;若具有攻擊行為,則轉入所 述IDS決策服務器,對報文進行丟棄,并同時對攻擊行為進行計數,當計數值超過第Η閥值 時,屏蔽發送該報文的程序和/或主機。
[0074] 具體的,所述異常報文檢測模塊,用于對報文進行第Η次判斷,即判斷報文是否是 泛洪式攻擊報文。
[00巧]具體步驟包括:利用對構建的識別泛洪式攻擊報文的對哈希表內的相應記錄進行 累加,并檢測是否超過闊值,W判斷是否是泛洪式攻擊報文。
[0076] 經過上述欺騙報文檢測模塊、破壞報文檢測模塊兩個模塊的濾除,后續模塊處理 的數據包基本屬于正常情況下的數據包。然而,正常情況下,也會有DDoS攻擊產生,在現有 技術中,一般僅進行欺騙報文檢測模塊、破壞報文檢測模塊,而在本技術方案中,能盡可能 的避免DDoS攻擊。
[0077] W下實施例為針對在進行欺騙報文檢測模塊、破壞報文檢測模塊過濾后,再通過 異常報文檢測模塊屏蔽DDoS攻擊的【具體實施方式】。該實施方式W UDP Flooding和ICMP Flooding 為例。
[0078] 圖5示出了 UDP Floodling的檢測流程圖。
[0079] 關于UDP Floodling,如圖5所示,利用UDP協議無需建立連接的機制,向目標機發 送大量UDP報文。目標機會花費大量的時間處理UDP報文,送些UDP攻擊報文不但會使存 放UDP報文的緩存溢出,而且也會占用大量的網絡帶寬,目標機無法(或很少)接收到合法 的UDP報文。
[0080] 由于不同的主機向單一主機發送大量UDP數據包,所W肯定會有UDP端口占用的 情況,所W本技術方案可W接收到一個ICMP的端口不可達包。
[0081] 所W本技術方案可W對所有主機建立一個哈希表,專口用來存放單位時間內收到 ICMP端口不可達數據包的次數。如果超過設定的閥值,則直接屏蔽相應的攻擊程序。
[0082] 圖6示出了 ICMP Floodling的檢測流程圖。
[008引 關于ICMP Floodling,如圖6所示,對于ICMP Flooding直接進行單位時間內計 數。如果超過相應的閥值,則直接對相應主機進行相應屏蔽,該方法雖然簡單,但是直接有 效。
[0084] 因此,異常報文檢測模塊,如果檢測到的報文類型是異常報文檢測類型,則進行相 應的計數器檢測是否超過闊值,如果沒有超過闊值,也可對該數據包通過最優的路由策略 下發。如果超過了闊值,則屏蔽相應的攻擊程序,或直接對相應主機進行相應屏蔽。
[0085] 所述欺騙報文檢測模塊、破壞報文檢測模塊和異常報文檢測模塊中模塊判斷所述 報文為上述攻擊報文時,則將該攻擊報文轉入IDS決策服務器,即,丟棄所述報文,并屏蔽 發送該報文的程序和/或主機。
[0086] 當"欺騙報文檢測模塊"、"破壞報文檢測模塊"和"異常報文檢測模塊"需要丟棄數 據包或者需要屏蔽威脅主機的時候。直接調用IDS決策服務器進行相應的威脅處理操作。
[0087] 所述IDS決策服務器的具體的實施步驟包括:
[0088] 丟棄所述報文,即丟棄數據包的步驟包括如下:
[0089] OF交換機(OF交換機)在未匹配到相應的流表情況下,會將該數據包封裝在 Packet In消息中,同時OF交換機會將此數據包存在本地的緩存中,數據包存放在緩存中, 有一個緩存區ID號,送個ID號也會封裝在化cket In消息的buffe;r_id中,通過化cket out的形式,同時化cketout消息內的buffe;r_id填寫要丟棄的數據包的緩存區ID(對應的 F*acketln 消息中的 buffe;r_id)。
[0090] 屏蔽主機的步驟包括如下:
[0091] 化enFlow協議流表結構如下:
[0092]
[0093] 其中包頭域的結構為:
[0094]
[0095] IDS決策服務器中包括對應用程序進行屏蔽的步驟包括如下:
[0096] 在流表的包頭域中填寫相應匹配字段,并且通過設置Wildcards屏蔽字段,來獲 取屏蔽攻擊程序或主機信息。其中,如需屏蔽攻擊程序,則在流表包頭域中填寫下列匹配字 段;IP、MC、VLAN、SwtichDPID、SwtichPort、協議類型及其端口號等。如需屏蔽主機,貝リ 在流表包頭域中填寫;IP、MAC、VLAN、Swtich DPID、Swtich化的等匹配字段。將流表動作 列表置空,實現攻擊程序/主機的數據包丟棄。調用各哈希表中的記錄值,計算出流表超時 自動刪除時間。下發流表屏蔽程序或主機。
[0097] 因此,本技術方案可有效識別并濾除攻擊包。
[0098] 可選的,正常報文也可W通過實時最優路由策略的下發。
[0099] 最優路由策略的步驟如下:
[0100] 首先進入向SDN控制器的拓撲接口(API)提交獲取請求,W獲取全網拓撲,再通過 獲取的全網鏈路狀態計算出全網鏈路剩余帶寬。
[0101] 所述實時最優路徑的計算,算法采用經典的Di Astra算法,算法的權值改為上一 步獲取的全網鏈路剩余帶寬的倒數,W保證計算出的路徑是最通暢,傳輸時延最小的路徑。 關于最優路徑的具體實施步驟在實施例2中進行了詳細論述。
[0102] 最后,將計算出的最優路徑轉換成由流表組成的實時最優路徑策略,下發。
[0103] 步驟S1,使用的是拓撲接口,所述SDN控制器自帶的API接口,使用LLDP(鏈路層 發現協議)和廣播包發現鏈路,然后SDN控制器自動計算出網絡拓撲。
[0104] 步驟S2, SDN控制器的拓撲接口向"實時最優路徑計算模塊"的"全網拓撲獲取模 塊"拓撲獲取請求的反饋。
[0105] 步驟S3中,"全網鏈路狀態獲取模塊"向"OF交換機查詢接口模塊"提出請求,獲 取全網鏈路狀態。其中,"OF交換機查詢接口模塊"是在SDN控制器自帶的"OF交換機特性 查詢模塊"和"OF交換機狀態查詢模塊"基礎上拓展而來,實現了鏈路剩余帶寬的計算及查 詢功能。
[0106] 然后,"OF交換機查詢模塊"通過步驟S4向網絡中所有OF交換機發送OF交換機 特性請求的廣播包。再通過步驟S5來接收來自網絡中OF交換機特性反饋的報文,解析出 報文里面的curr字段,得到每個OF交換機端口當前帶寬B。
[0107] 接下來,該模塊通過步驟S6向網絡中所有OF交換機發送OF交換機狀態請求的廣 播包,包括端口發送包數、端口發送字節數、端口接收字節數、端口接收包數等報文狀態。接 著,該模塊通過步驟S7接收來自網絡中OF交換機狀態反饋的報文,解析出tx_bytes字段, 得到發送字節數N1,獲取當前時間tl。
[0108] 接下來,該模塊通過步驟S8向網絡中所有OF交換機發送OF交換機狀態請求的廣 播包,接著,該模塊通過S9接收來自網絡中OF交換機狀態反饋的報文,計時停止,獲取當前 時間t2。解析出tx_bytes字段,得到發送字節數N2。
[0109] 則可W計算出當前端口剩余帶寬為;B-(N2-Nl)/(t2-tl)。
[0110] 然后,再利用獲取的網絡拓撲進行每條鏈路的剩余帶寬計算:
[0111] 若是OF交換機與OF交換機之間的連接,則獲取該條鏈路兩端的OF交換機端口的 剩余帶寬,該鏈路的剩余帶寬為兩個端口剩余帶寬中的較小者。
[0112] 如果是主機與OF交換機之間的連接,則獲取連接主機的OF交換機端口的剩余帶 寬,該條鏈路剩余帶寬即為連接該主機的OF交換機端口剩余帶寬。
[0113] 步驟S4,SDN控制器W廣播的形式向全網所有OF交換機發送化ature Request消 息。
[0114] 步驟S5, SDN控制器接收來自網絡中OF交換機反饋給SDN控制器的化ature Iteply消息。
[0115] 步驟S6,SDN控制器W廣播的形式向全網所有OF交換機發送Stats Request消 息。
[0116] 步驟S7, SDN控制器接收來自網絡中OF交換機反饋給SDN控制器的Stats R巧ly 消息。
[0117] 步驟S8,SDN控制器W廣播的形式向全網所有OF交換機發送Stats Request消 息。
[0118] 步驟S9, SDN控制器接收來自網絡中OF交換機反饋給SDN控制器的Stats R巧ly 消息。
[0119] 步驟SIO, OF交換機查詢接口將計算出的鏈路剩余帶寬信息反饋給"全網鏈路狀 態獲取模塊"。
[0120] 步驟S11,路由策略下發模塊計算出的實時最優路由策略,將計算出的流表通過步 驟S12來下發給相關的OF交換機。
[012。 步驟S12,該接口是SDN控制器自帶的API接口,用于下發計算出的最優路由策略。
[0122] 過所述最優路徑策略是在防御DD0S攻擊的同時,網絡的平均傳輸延時并沒有激 增。
[0123] 所述SDN控制器包括;路徑備份單元,用于根據SDN網絡拓撲和各鏈路開銷計算 主路徑的備份路徑;標志位分配單元,用于為各備份路徑分配用于標記備份路徑的標志位; 流表下發單元,用于根據備份路徑和對應標志位向該備份路徑上各OF交換機下發流表項; 所述SDN控制器適于在SDN網絡拓撲改變后,根據SDN網絡拓撲改變的原因,確認報文下 發路徑;即,當SDN控制器DDoS威脅處理后,將報文通過最優路徑下發報文,或判斷主路徑 發生故障后,報文匹配所述流表項通過備份路徑進行轉發。具體的,可W在SDN控制器的 化enFlow域中獲取端口是否出現問題,進而實現判斷SDN網絡拓撲改變的原因。
[0124] 實施例2
[012引在實施例1基礎上的一種SDN網絡架構的工作方法,W通過檢測和集中式的處理, 有效的減輕了 SDN控制器的工作負擔,提高了檢測效率和數據傳輸率,并且通過收集SDN鏈 路狀態信息W避免鏈路發生故障時,流量丟失。
[0126] 本發明的SDN網絡架構的工作方法,包括如下步驟;步驟S100,網絡初始化;步驟 S200,分布式DDoS威脅監測和/或收集SDN鏈路狀態信息;W及步驟S300,威脅處理和/或 數據下發。
[0127] 進一步,所述步驟S100中網絡初始化所涉及的裝置包括;SDN控制器、IDS決策服 務器和IDS設備;網絡初始化的步驟如下;步驟S101,所述IDS決策服務器與IDS設備建立 專用的S化信道;步驟S102,所述SDN控制器構建網絡設備信息綁定表,并且將網絡設備信 息綁定表實時更新到IDS設備中;步驟S104,所述SDN控制器下發鏡像策略的流表,即將OF 交換機所有拖載有主機的端口流量鏡像轉發給所述IDS設備;W及步驟S105,所述SDN控 制器下發DDoS威脅識別規則給每個網域中對應的IDS設備。
[012引所述步驟S200中分布式孤oS威脅監測的方法包括;依次對鏈路層和網際層地址 的欺騙行為,網際層和傳輸層標志位設置異常行為,W及應用層和傳輸層的泛洪式攻擊行 為進行檢測;若上述過程中檢測判斷出報文存在相應行為時,則將該報文轉入步驟S300。
[0129] 圖9示出了分布式DDoS威脅監測的方法的流程框圖。
[0130] 如圖9所示,具體的實施步驟包括:
[0131] 步驟S210,對鏈路層和網際層地址的欺騙行為進行檢測。
[0132] 步驟S220,對網際層和傳輸層標志位設置的異常行為進行檢測。
[0133] 步驟S230,對應用層和傳輸層的泛洪式攻擊行為進行檢測。
[0134] 步驟S240,若將報文依次通過所述步驟S210、步驟S220、步驟S230后,步驟判斷出 報文存在欺騙、異常、攻擊行為時,則將所述報文轉入步驟S300。
[0135] 所述步驟S210中對鏈路層和網際層地址的欺騙行為進行檢測的方法包括如下步 驟;步驟S211,通過欺騙報文檢測模塊調用網絡設備信息綁定表;步驟S212,通過欺騙報文 檢測模塊將封裝在化cket-In消息中報文的類型進行解析,W獲得相應的源、目的IP地址、 MAC地址W及上傳此化cket-In消息的OF交換機的DPID號和端口號,并將上述各信息分別 與網絡設備信息綁定表中的相應信息進行比對;若報文中的上述信息匹配,則將報文轉入 步驟S220 ;若報文中的上述信息不匹配,則將報文轉入步驟S300。
[0136] 所述步驟S220中對網際層和傳輸層標志位設置異常行為進行檢測的方法包括: 對報文的各標志位進行檢測,W判斷各標志位是否符合TCP/IP協議規范;若報文的各標志 位符合,則將報文轉入S230 ;若報文的各標志位不符合,則將報文轉入步驟S300。
[0137] 所述步驟S230中對應用層和傳輸層的泛洪式攻擊行為進行檢測的方法包括如下 步驟;步驟S231,在異常報文檢測模塊構建用于識別泛洪式攻擊報文的哈希表;步驟S232, 通過異常報文檢測模塊根據所述哈希表中設定的閥值判斷所述報文是否為泛洪式攻擊報 文,且將判斷結果轉入步驟S300,即若無攻擊行為,則將數據正常下發或通過上述最優路徑 策略下發;若具有攻擊行為,則采取相應的屏蔽措施。
[013引其中,收集SDN鏈路狀態信息的方法包括;用于根據SDN網絡拓撲和各鏈路開銷計 算主路徑的備份路徑;用于為各備份路徑分配用于標記備份路徑的標志位;用于根據備份 路徑和對應標志位向該備份路徑上各OF交換機下發流表項。
[0139] 所述步驟S300中威脅處理/或數據下發的方法包括:
[0140] 若報文具有欺騙行為,且攻擊威脅在化enFlow域中,則所述IDS決策服務器適于 通過SDN控制器屏蔽主機;W及當攻擊威脅不在化enFlow域中,則通過SDN控制器將該報 文所對應的OF交換機接入端口流量重定向至流量清洗中必進行過濾;若報文具有異常行 為,則所述IDS決策服務器通過SDN控制器對攻擊程序或攻擊主機的流量進行屏蔽;具體的 實施步驟包括:針對破壞報文攻擊,由于IDS設備當前處理的報文通過了欺騙報文檢測,所 W該報文地址是真實的。IDS決策服務器只需通過SDN控制器的北向接口下發動作為化op 的流表將攻擊程序或攻擊主機的流量屏蔽。但送都只是粗粒度的決策,只適用于攻擊包少 量的破壞報文攻擊。
[014。 若報文具有泛洪式攻擊行為,則所述IDS決策服務器通過SDN控制器將該報文所 對應的OF交換機接入端口流量重定向至流量清洗中必進行過濾;可選的,流量清洗中必的 安全設備也可W將防護的結果反饋給SDN控制器,調整網絡策略,實現SDN網絡W及混合有 傳統網絡情況下的多維防護。
[0142] 進一步,根據鏈路負載系數計算出優化路徑,即檢測兩相鄰節點的鏈路剩余帶寬, 獲得該鏈路的負載系數,在根據該負載系數和初始化的網絡拓撲圖獲得任意兩點的最優路 徑,所述SDN控制器根據該最優路徑得出對應的轉發流表并下發各OF交換機。
[0143] 優化路徑的具體算法流程如下:
[0144] 設r。, h U為兩相鄰節點的鏈路剩余帶寬,則其鏈路負載系數為:
[0145]
由SDN控制器計算出鏈路負載系數* /
[0146] U(a,b)為任意兩點間的負載系數和:
[0147]
[014引設初始網絡拓撲圖為G°,計算任意兩點間的最優路徑,
[0149]
[0151] 所述IDS決策服務器屏蔽發送報文的程序和/或主機的方法包括:
[0152] 首先,構建計數用的相應哈希表及設定相應闊值,即單位時間內,所述IDS決策服 務器中構建對欺騙行為進行計數的第一哈希表,標志位設置異常行為進行計數的第二哈希 表,W及對泛洪式攻擊行為進行計數的第Η哈希表;同時設定第一、第二、第Η哈希表中的 第一、第二、第Η閥值;其次,屏蔽發送該報文的程序和/或主機,即針對轉入IDS決策服務 器的報文的行為,利用相應哈希表進行計數,當計數值超過相應閥值時,屏蔽發送該報文的 程序和/或主機。
[0153] 所述步驟S300中數據下發的方法還包括;根據SDN網絡拓撲改變的原因,確認報 文下發路徑;即,當SDN控制器威脅處理后,將報文通過最優路徑下發報文,或判斷主路徑 發生故障后,報文匹配所述流表項通過備份路徑進行轉發。
[0154] 實施例3
[015引 本發明的 SDN 架構可 W 定義 SDNQA(SDN Communication如ality Assurance Strategy)即SDN通信質量保障策略。
[0156] 本發明的SDN架構的測試環境和測試內容如下:
[0157] 基于化enFlow 1. 3協議,測試裝有DDoS威脅過濾與通信質量保障組件的 Floodli曲tSDN控制器、OF交換機、IDS設備W及IDS決策服務器之間的通信。
[0158] 測試IDS設備是否能夠實時監測網絡中的異常攻擊流量,并且通過S化信道上報 IDS決策服務器。
[0159] 測試IDS決策服務器是否能夠根據IDS設備上報的信息,制定出處理對應攻擊威 脅的策略,并通過SDN控制器的北向接口下發。
[0160] 測試SDN控制器是否能夠根據網絡實時狀況,生成并下發實時優化的轉發路徑。
[0161] 圖8示出了實驗場景的具體部署的拓撲圖。
[0162] 實驗場景的具體部署如圖8所示。中間為基礎網絡區域,有兩個虛網。其中虛網A 部署了本SDNQA系統,而虛網B尚未部署,并且各虛網中都存在若干DDoS攻擊愧佩機。右側 為實驗效果對比區域,包括一臺Web服務器和兩臺用戶主機,其中Web服務器上運行Tomcat 對外提供Web服務,用戶主機A、B分別是接入虛網A、B的主機。左側為攻擊模擬區域,有一 臺DDoS攻擊機,攻擊機將作為主控機控制虛網A和虛網B中的愧佩機對Web服務器發起混 合式的DDoS攻擊。
[0163] 基于上述實驗環境,從兩方面對SDNQA架構的性能進行驗證;(1)對比混合式的 DDoS攻擊下Web服務器端所承受的攻擊頻率;(2)對比泛洪式攻擊所造成的網絡平均傳輸 延遲。
[0164] 實驗結果及分析如圖9 (a)和圖9化)所示。
[016引圖9(a)為未使用本發明的SDN架構的Web服務器所承受的攻擊頻率的曲線圖。
[0166] 圖9(b)為使用本發明的SDN架構的Web服務器所承受的攻擊頻率的曲線圖。
[0167] 首先,對Web服務器端流量流入情況進行分析。攻擊機控制各虛網中的愧佩機同 時對Web服務器發起混合式的DDoS攻擊,其最高頻率為55化,攻擊時長為100砂。截取Web 服務器所有的數據包序列,并分離出各虛網的請求序列,分別得出虛網A和虛網B所流入服 務器的請求序列,Web服務器所承受的攻擊頻率對比如圖9(a)和圖9(b)所示。
[016引 圖10為平均傳輸速率對比圖。
[0169] 從圖10可W看出,本發明的SDN架構在Os~5s時間段內快速識別了典型的DDoS 攻擊,并在Os~40s的時間段內采取了過濾防護措施。在40s之后,網絡流量趨于正常,測 試用戶主機A -直可正常得到網頁請求響應。而未部署SDNQA系統的虛網B中一直有大量 的攻擊流量流入,測試用戶主機B無法得到網頁請求響應。
[0170] 其次,從之前截取的數據包序列中提取出測試用戶主機A和測試用戶主機B的請 求序列,從各請求序列中統計數據包的平均傳輸的延遲時間,得出兩個虛網的平均傳輸延 時對比如圖9(a)和圖9(b)所示。
[0171] 從圖10中可W看出,經過路由優化,虛網A的平均傳輸延遲沒有隨著數據量的增 大而激增。由此可見,SDNQA架構能夠基于對網絡實時狀況的感知,對流轉發路徑進行優化, 從而在網絡中存在DDoS攻擊或正常大流量業務的情況下保證網絡數據傳輸。
【主權項】
1. 一種SDN網絡架構的工作方法,包括如下步驟: 步驟S100,網絡初始化; 步驟S200,分布式DDoS威脅監測和/或收集SDN鏈路狀態信息;以及 步驟S300,威脅處理和/或數據下發。2. 根據權利要求1所述SDN網絡架構的工作方法,其特征在于,所述步驟S100中網絡 初始化所涉及的裝置包括:SDN控制器、IDS決策服務器和IDS設備; 網絡初始化的步驟如下: 步驟S101,所述IDS決策服務器與IDS設備建立專用的SSL信道; 步驟S102,所述SDN控制器構建網絡設備信息綁定表,并且將網絡設備信息綁定表實 時更新到IDS設備中; 步驟S104,所述SDN控制器下發鏡像策略的流表,即將OF交換機所有拖載有主機的端 口流量鏡像轉發給所述IDS設備;以及 步驟S105,所述SDN控制器下發DDoS威脅識別規則給每個網域中對應的IDS設備。3. 根據權利要求2所述SDN網絡架構的工作方法,其特征在于,所述步驟S200中分布 式DDoS威脅監測的方法包括: 依次對鏈路層和網際層地址的欺騙行為,網際層和傳輸層標志位設置異常行為,以及 應用層和傳輸層的泛洪式攻擊行為進行檢測; 若上述過程中檢測判斷出報文存在相應行為時,則將該報文轉入步驟S300 ; 艮P,所述對鏈路層和網際層地址的欺騙行為進行檢測的方法包括: 通過欺騙報文檢測模塊對欺騙行為進行檢測,即 首先,通過欺騙報文檢測模塊調用網絡設備信息綁定表; 其次,通過欺騙報文檢測模塊將封裝在Packet-In消息中報文的類型進行解析,以獲 得相應的源、目的IP地址、MAC地址以及上傳此Packet-In消息的OF交換機DPID號和端 口號,并將上述各信息分別與網絡設備信息綁定表中的相應信息進行比對; 若報文中的上述信息匹配,則將報文進行下一檢測; 若報文中的上述信息不匹配,則將報文轉入步驟S300 ; 所述網際層和傳輸層標志位設置異常行為進行檢測的方法包括: 通過破壞報文檢測模塊對標志位設置異常行為進行檢測,即 對報文的各標志位進行檢測,以判斷各標志位是否符合TCP/IP協議規范; 若報文的各標志位符合,則將報文轉入進行下一檢測; 若報文的各標志位不符合,則將報文轉入步驟S300 ; 所述應用層和傳輸層的泛洪式攻擊行為進行檢測的方法包括: 通過異常報文檢測模塊對泛洪式攻擊行為進行檢測,即 在異常報文檢測模塊構建用于識別泛洪式攻擊報文的哈希表,并根據該哈希表中設定 的閥值判斷報文是否具有泛洪式攻擊行為,且將判斷結果轉入步驟S300 ;以及 收集SDN鏈路狀態信息的方法包括: 根據SDN網絡拓撲和各鏈路開銷計算主路徑的備份路徑; 為各備份路徑分配用于標記備份路徑的標志位;以及 根據備份路徑和對應標志位向該備份路徑上各OF交換機下發流表項。4. 根據權利要求3所述SDN網絡架構的工作方法,其特征在于,所述步驟S300中威脅 處理/或數據下發的方法包括: 若報文具有欺騙行為,且攻擊威脅在OpenFlow域中,則所述IDS決策服務器適于通過 SDN控制器屏蔽主機;以及當攻擊威脅不在OpenFlow域中,則通過SDN控制器將該報文所 對應的OF交換機接入端口流量重定向至流量清洗中心進行過濾; 若報文具有異常行為,則所述IDS決策服務器通過SDN控制器對攻擊程序或攻擊主機 的流量進行屏蔽; 若報文具有泛洪式攻擊行為,則所述IDS決策服務器通過SDN控制器將該報文所對應 的OF交換機接入端口流量重定向至流量清洗中心進行過濾;和/或 根據鏈路負載系數計算出優化路徑,即檢測兩相鄰節點的鏈路剩余帶寬,獲得該鏈路 的負載系數,在根據該負載系數和初始化的網絡拓撲圖獲得任意兩點的最優路徑,所述SDN 控制器根據該最優路徑得出對應的轉發流表并下發各OF交換機。5. 根據權利要求4所述SDN網絡架構的工作方法,其特征在于,所述IDS決策服務器屏 蔽發送報文的程序和/或主機的方法包括: 首先,構建計數用的相應哈希表及設定相應閾值,即 單位時間內,所述IDS決策服務器中構建對欺騙行為進行計數的第一哈希表,標志位 設置異常行為進行計數的第二哈希表,以及對泛洪式攻擊行為進行計數的第三哈希表; 同時設定第一、第二、第三哈希表中的第一、第二、第三閥值; 其次,屏蔽發送該報文的程序和/或主機,即 針對轉入IDS決策服務器的報文的行為,利用相應哈希表進行計數,當計數值超過相 應閥值時,屏蔽發送該報文的程序和/或主機。6. 根據權利要求5所述SDN網絡架構的工作方法,其特征在于,所述步驟S300中數據 下發的方法還包括: 根據SDN網絡拓撲改變的原因,確認報文下發路徑;即,當SDN控制器威脅處理后,將 報文通過最優路徑下發報文,或判斷主路徑發生故障后,報文匹配所述流表項通過備份路 徑進行轉發。
【文檔編號】H04L29/06GK105871772SQ201510024417
【公開日】2016年8月17日
【申請日】2015年1月18日
【發明人】吳正明, 張家華
【申請人】吳正明