張 洋
(江蘇聯合職業(yè)技術學院徐州經貿分院,江蘇徐州,221004)
基于SDN的DDoS攻擊檢測和防護機制研究
張 洋
(江蘇聯合職業(yè)技術學院徐州經貿分院,江蘇徐州,221004)
隨著云計算和大數據等技術的發(fā)展,傳統網絡已經無法滿足飛速發(fā)展的需求,軟件定義網絡(SDN)的出現帶來了網絡發(fā)展的變革,雖然SDN已經得到一定的應用,但是其仍處在研究完善階段。本文闡述了SDN的關鍵技術以及主要協議,分析了SDN面臨的安全問題,提出了一種基于流表特征的DDoS攻擊檢測方法,并給出了對應的攻擊緩解方案。
軟件定義網絡;OpenFlow;DDoS;網絡安全
1.1SDN技術
隨著云計算、大數據等互聯網新技術的出現以及大量應用,對網絡設備提出了更新的要求,且需求變化周期越來越短。為了適應新技術的需求,傳統網絡需要在網絡設備中集成更多的服務功能,目前,設備更新的滯后在一定程度上影響了互聯網信息技術發(fā)展。軟件定義網絡SDN提出了將控制層與數據層分離的思想,也就是將網絡服務功能從網絡設備中分離出來形成控制層,整個SDN架構由三部分構成:網絡設備所在的數據層主要負責數據轉發(fā)、使用網絡資源的應用程序構成的應用層、以及網絡服務所在的控制層,在控制層提供應用程序接口供應用層中的業(yè)務邏輯使用,從而形成可編程的開放網絡環(huán)境,路由策略由控制層下發(fā)到數據層中的網絡設備,實現了網絡設備的集中管理。
在2009年Mckewon教授正式提出SDN概念之后,各大機構便投入SDN的相關研究之中,目前已經出臺了一定的SDN解決方案,雖然SDN已經得到了一定程度的應用,但是SDN目前仍處在研究發(fā)展階段,尤其是其集中控制和開放網絡的特性帶來了新的安全挑戰(zhàn)。在SDN網絡中,控制層中的控制器是SDN網絡的關鍵環(huán)節(jié),控制器成為對SDN網絡攻擊的重點,控制器與應用層之間的授權安全、控制器和數據轉發(fā)設備之間的數據通道安全等問題均缺乏十分有效的解決方案。軟件定義網絡SDN邏輯架構如圖1所示。
圖1 軟件定義網絡SDN邏輯架構
1.2OpenFlow協議
控制層連接著應用層和數據轉發(fā)層,控制層與應用層之間通過北向接口相連,與數據轉發(fā)層通過南向接口相連。SDN網絡與傳統網絡的最大的區(qū)別是控制與數據的分離,控制層與數據轉發(fā)層之間的南向接口成為SDN眾多接口的研究核心。由開放網絡基金會ONF提出的控制平面接口(CDPI)成為南向接口的主流,該接口采用ONF制定的OpenFlow協議標準,該協議為第一個廣泛使用的南向接口協議,成為目前的主流協議標準。協議通過流的形式控制和管理交換機等網絡設備,使得網絡設備由傳統的單一封閉變成靈活可控。
OpenFlow控制網絡設備的消息類型按照消息的建立和保持方式主要有分為三種:對稱消息、控制器到交換機和異步消息。對稱消息(symmetric),控制器或者交換機的任意一方均可發(fā)起對稱消息,該消息主要用于建立和保持二者之間的連接;控制器到交換機(controller-to-switch)由控制器發(fā)起,主要用于獲取交換機狀態(tài)和管理交換機;異步消息(asynchronous)由交換機發(fā)起,用于向控制器傳遞設備自身狀態(tài)變化以及網絡事件。根據OpenFlow協議標準,交換機需要維護流表以便支持OpenFlow協議,而數據的轉發(fā)也是以流表的形式進行,對流表的建立、下發(fā)以及維護等操作均由控制器實現。隨著OpenFlow版本的不斷更新,其功能不斷完善,先后增加了對IPV6的支持、流控制機制、流變復制和刪除機制等功能,然而隨著功能增加帶來的是流表負載過重的問題。
1.3SDN安全挑戰(zhàn)
隨著軟件定義網絡的飛速發(fā)展,SDN已經在校園網絡、小型企業(yè)網絡、數據中心、無線網絡、電信運營商網絡等領域中得到應用。SDN數據轉發(fā)層與控制層分離的方式實現了網絡的全局視圖管理方式,網絡的高度集中和開放性帶來諸多好處的同時,也帶來了新的安全問題和挑戰(zhàn)。
1)控制器成為網絡攻擊的焦點
SDN網絡管理的高度集中使得網絡服務、網絡配置、安全策略等全都集成在控制器上,網絡的管理變得更加簡便和靈活,然而一旦控制器被攻擊者控制,將影響控制器所控制的網絡范圍,造成網絡的癱瘓,因此對SDN控制器的安全防范的需求將大大增加。雖然控制器不太可能受到直接的大面積分布式攻擊,但是大量攻擊導致的初始流數據以及服務請求的地址偽造都可能造成控制器因為過載而停止提供服務。
2)API接口成為網絡威脅的突破口。SDN網絡的可編程性主要體現在控制器提供了大量的可編程的API接口,大量可編程接口的存在為網絡的更新升級提供了便利的同時也為拒絕服務攻擊提供了可能。另外,通過向應用層植入木馬程序收集SDN網絡中的信息,從而進一步修改網絡配置達到非法占用網絡資源、干擾控制器正常工作的目的。
3)SDN網絡的開放性帶來很多的安全隱患。大量第三方應用的出現,加快了業(yè)務創(chuàng)新的速度,隨之而來的是可能會導致應用之間安全規(guī)則的沖突,大量的插件也可能存在一定的漏洞和惡意功能。
圖2 DDoS攻擊檢測系統拓撲結構
圖3 基于流表特征的DDoS攻擊檢測方法
目前SDN仍處在研究發(fā)展階段,其主要應用的形式是SDN技術和傳統網絡的結合。利用SDN的集中調度、統一管理的優(yōu)勢,結合防火墻、入侵檢測系統等傳統網絡安全設備構建增強型SDN網絡,利用SDN技術進行深層次的流數據分析、流量控制和網絡監(jiān)控。在此模式下本文提出基于流表特征的DDoS攻擊檢測機制。該機制由SDN控制器、OpenFlow交換機、防火墻、入侵檢測系統構成。入侵檢測系統采用基于流表特征的DDoS攻擊檢測方法,其思想為通過提取SDN網絡中網絡設備中的流表信息,并將其轉換成特征向量,然后提取出最優(yōu)特征搭建攻擊檢測分類器,使用攻擊檢測分類器分類網絡流量,實現對網絡攻擊的識別。DDoS攻擊檢測系統拓撲結構如圖2所示:
OpenFlow流表特征能夠反映出某些已知網絡攻擊的特性,對每一種攻擊方式均要提取出其攻擊特性,理想情況下,通過已知攻擊特性應該總是能夠對每一種惡意網絡攻擊行為進行檢測和識別。對正常流數據和攻擊行為進行高層抽象得出的流表特征向量,是檢測攻擊行為的重要識別依據。
網絡中數據存在著高維度的特點,在具體實現時可以在攻擊檢測系統中使用特征選擇算法和分類算法對攻擊進行識別。算法的實現由三個部分構成:流表數據處理、特征選擇、分類檢測。流表數據處理階段,主要是對原始流表數據進行獲取和預處理,在該階段對流表項信息進行分析統計,將其轉換成為特征值序列;特征選擇階段,主要是選擇出最優(yōu)特征子集,使用過濾式方法確定選擇最優(yōu)子集的標準,構建出最優(yōu)特征子集作為分類訓練的輸入,使得攻擊檢測具有較低的時空復雜度和較高的準確率;分類檢測階段,在機器學習訓練的基礎上,使用數據挖掘算法處理分類安全數據,構建分類模型。攻擊檢測過程如圖3所示。
為了更快的反應攻擊檢測結果和構建全方位的攻擊緩解機制,結合OpenFlow協議的轉發(fā)機制,將ACL管理控制和流量管理等傳統網絡攻擊緩解機制應用到SDN網絡中。SDN控制器在收到攻擊檢測結果和攻擊特征信息之后,下發(fā)指令更改防火墻配置,減少網絡攻擊流量,同時向OpenFlow交換機發(fā)送流表修改指令,更改流表匹配設置,丟棄掉攻擊數據包,同時進行訪問控制列表的管理以及采取適當的流量管理策略對攻擊進行緩解。
3.1ACL管理控制
Access Control List(ACL)訪問控制列表,為網絡設備中用于控制端口是否允許進出數據包的指令列表,可以在網絡層實現對網絡用戶訪問資源的控制。ACL的訪問控制指令信息既可以具體到兩臺設備之間的網絡應用,也可以是對特定網段進行大規(guī)模信息匹配。另外通過ACL配置策略使得用戶只能訪問特定的資源,從而達到有效地控制內網安全的作用。
在SDN網絡環(huán)境下使用訪問控制列表技術響應攻擊檢測結果,使用控制器對數據包進行統一的通信管理,可以有效地對網絡中所有流數據進行集中管理和靈活調配。SDN控制器可以使用OpenFlow協議中規(guī)定的controller-to-switch消息對OpenFlow交換機的流表項進行動態(tài)改變,控制器根據攻擊檢測結果和安全策略通過controller-to-switch消息下發(fā)流表項到交換機,控制主機之間的通信許可,從而達到保護網絡、緩解攻擊、控制入侵蔓延的作用。
3.2流量管理
流量管理主要有限速和分流兩種方式。作為DDoS攻擊響應的主要手段限速是借助網絡設備將多余的流量過濾掉,以達到緩解DDoS對網絡進行破壞的目的。限速作為一種直接而有效的方式也存在一定的弊端,那就是正常數據流和異常數據流混雜在一起時,其被過濾的概率是一致的。在OpenFlow協議中,流表項中的匹配域除涵蓋了網絡層和鏈路層的大多數網絡標記外,還包含目的端口、TCP、UDP等信息 ,在此基礎上SDN控制器可以綜合不同網絡層中的流量信息做出合理準確的限速方案。流量管理的另一手段為分流,其主要是將正常數據流和攻擊數據流分離,將攻擊流轉發(fā)到專門負責抵抗DDoS攻擊的設備或空閑鏈路,從而盡可能減少攻擊對正常數據流的干擾,緩解受害鏈路和主機的服務擁塞情況。SDN網絡中在確定分流點以及其到DDoS攻擊清洗池之間最佳路徑之后,由控制器向交換機下發(fā)流表項實施攻擊分流,對攻擊流進行清洗后,再將其分流到原目的地,在有效防御DDoS攻擊的同時,避免單點故障波及整個網絡的問題。
3.3攻擊緩解機制
1)攻擊檢測模塊檢測受到DDoS網絡攻擊時,會收集被攻擊主機的相關信息以及與攻擊有關的流表信息,并將這些信息發(fā)送至狀態(tài)檢測模塊,狀態(tài)檢測模塊根據攻擊相關的流表信息結合全局網絡拓撲結構能夠檢測到被攻擊主機的網絡位置以及和該主機進行通信的主機位置,構成主機列表HOSTS={host1,……h(huán)ostn}。
2)在得到主機列表之后,使用ACL控制管理模塊對主機列表中的主機一次進行分類標記,如果判斷為攻擊主機,則標記到黑名單中,如果為正常主機則標記到白名單中。對于列入黑名單的主機通過下發(fā)流表項,禁止其與被攻擊主機的通信;如果為白名單,則判斷其流統計值是否超出預設的上限,如果超出則使用流量控制模塊對其進行處理。對于ACL控制管理模塊無法標記的主機組成新的主機列表HOST T,并將該主機列表直接發(fā)送給流量管理模塊。
3)在流量管理模塊中,對于無法識別的HOSTT中的主機和超過預設上限的主機,進行流數據信息的統計排序,根據預設規(guī)則篩選出可疑主機列表,然后對其實施分流或者限速。如果為分流則計算最佳路徑并修改流表項,將其引導至DDoS攻擊清洗池,同時禁止其與被攻擊主機的通信。如果為限速,則根據預先設定的速率修改流表項,同時向通信源頭和目的地址下發(fā)流表項,對可疑流的速率進行限制,減弱其對正常流通信的影響。
軟件定義網絡SDN的出現以及對相關技術的不斷研究和突破,給傳統網絡的突破發(fā)展帶來了新機遇,同時其自身也面臨著不可低估的挑戰(zhàn)。本文在研究現有SDN網絡主要技術和協議的基礎上,對SDN面臨的安全問題進行了分析,給出了SDN網絡可能遇到的安全攻擊問題,提出了基于流表特征的DDoS攻擊檢測方法,并針對性給出了攻擊緩解方案。
[1]張朝昆,崔勇,唐翯祎,吳建平.軟件定義網絡(SDN)研究進展[J].軟件學報,2015,26(1).
[2]孫鵬,劉秋妍.SDN安全技術研究[J].中國電子科學研究院學報,2015,10(4).
[3]何亨,黃偉,李濤,曾朋,董新華.基于SDS架構的多級DDoS防護機制[J].計算機工程與應用,2016,52(1).
[4]李鶴飛.基于軟件定義網絡的DDoS攻擊檢測方法和緩解機制的研究[D].華東師范大學,2015.
[5]夏彬.基于軟件定義網絡的WLAN中DDoS攻擊檢測和防護[D].上海交通大學,2015。
Research on DDoS Dtection and Protection Based on SDN
Zhang Yang
(Jiangsu Union Technical Institute, Xuzhou Economic and Trade Branch,JiangSu Xuzhou,221004)
With the development of cloud computing and big data technology,traditional network has been unable to meet the needs of rapid development,software defined network(SDN)brings to the change of the development of network,although the SDN has been used,but it is still in a stage of study and improve.This paper describes the key technology of SDN and the main protocol,Analysis of security issues faced by SDN,A DDoS attack detection method based on flow table feature is proposed, and puts forward the corresponding attack mitigation schemes.Propose corresponding attack mitigation plan。
Software Defined Network;OpenFlow;DDoS;Network Security
張洋(1982-),男,江蘇徐州人,碩士,講師,研究方向為網站建設、軟件工程等。