王天明,符 天
?
基于擴展OpenFlow流標結構增強SDN網絡安全性研究
王天明1,符 天2
(1. 海南經貿職業技術學院 網絡信息中心,海南 海口 571127;2. 海南軟件職業技術學院 網絡信息中心,海南 瓊海 571400)
軟件定義網絡(software defined networking,簡稱SDN)是分離了網絡的控制平面和數據平面新興網絡技術,該技術為研發新的網絡應用和未來互聯網技術提供了一種全新的解決方案。本文綜述了基于OpenFlow的SDN網絡安全技術發展現狀,首先介紹了OpenFlow協議版本和OpenFlow的流表結構,并分析了如何通過擴展流標結構來增強SDN網絡安全性。由于擴展了流標結構,增大了SDN網絡的運算負擔,簡述如何通過人工神經網絡方法SOM(self organizing map)對OpenFlow的流表進行降維處理來減輕SDN網絡的運算負擔,最后探討了SDN網絡安全未來的發展和研究趨勢。
軟件定義網絡;OpenFlow;流表;人工神經網絡
隨著Internet技術的高速發展,云計算、虛擬化等新型技術在互聯網中大規模部署。對網絡帶寬需求猛增、互聯網面對著種類繁多的業務需求,也給互聯網提出了更高的要求。面對日趨復雜的網絡環境,傳統的TCP/IP網絡面對著巨大的挑戰。尤其數據中心的虛擬化已經大規模部署、傳統的TCP/IP網絡已經傳統網絡難以應對現代虛擬化計算,所以提出軟件定義網絡,并將在管理程序內處理這些決定,而傳統TCP/IP網絡則沒有這么靈活。傳統網絡核心的路由器,只有少量網絡管理人員只能通過命令行接口(command-line interface,簡稱CLI)路由器對其進行設置,研究人員很難在真實的網絡中進行試驗和部署網絡體系結構和網絡技術,目前網絡中已經大量部署原有的網絡設備和TCP/IP等協議也要在很長一段時間內延續目前網絡體系結構,因為大量的網絡設備不可能在短期內全部更換,為解決TCP/IP協議網絡這一系列的問題。許多國都在研究未來互聯網,未來互聯網體系結構是允許用戶自行定義路由器和交換機的功能模塊。目前,可編程虛擬化路由器和交換機已經被業界廣泛關注,未來互聯網是否可以得到長遠的發展取決于網絡設計的開放性和可控性。OpenFlow技術概念最早由斯坦福大學的 Nick McKeown教授提出,是斯坦福大學 Clean Slate計劃資助的一個開放式協議標準,后成為 GENI 計劃的子項目。OpenFlow將控制功能從網絡設備中分離出來,在網絡設備上維護流表(Flow table)結構,數據分組按照流表進行轉發,而流表的生成、維護、配置則由中央控制器來管理[5]。在這種控制轉發分離架構下,網絡的邏輯控制功能和高層策略可以通過中央控制器靈活地進行動態管理和配置,可在不影響傳統網絡正常流量的情況下,在現有的網絡中實現和部署新型網絡架構[6]。所以可以擴展流標結構來增強SDN網絡安全性。
OpenFlow是一種新興交換技術,OpenFlow協議可建立SDN網絡,SDN網絡把網絡設備整體進行管理,而不是多個的相互獨立網絡設備進行管理。
SDN網絡的數據包轉發指令是基于流表,流表由數據包通用特性構成。流表需要設定多個參數,其中包括:輸入端口、源MAC地址、目的MAC地址、以太網類型、VLAN ID、原地址、目標地址等數據包共有特性。SDN網絡的控制器會在交換機上設置多個參數,用于定義OpenFlow的流表,以及與數據包與流表匹配后的數據包處理方式。
OpenFlow定義了控制器與交換機之間的通信協議,以及控制器對交換機一系列操作。控制器到交換機通信通過TLS協議或TCP協議連接。控制器通過TLS協議或TCP協議向交換機發送指令,控制數據包的轉發方式、處理方法、以及配置參數。交換機也會把當前狀態通知控制器,如:鏈路中斷或出現未指定轉發指令的數據包。

圖1 OpenFlow交換機構成
通過OpenFlow交換機的全部數據包都要經過OpenFlow流水線處理。每個OpenFlow交換機的流水線包含多個流表,每個流表包含多個流表項(如圖3所示)。OpenFlow的流水線處理過程中定義了數據包與那些流表進行交互操作(如圖2所示)。 OpenFlow交換機中至少要有一個流表,可以有多個的可選擇的流表。只有單一流表的OpenFlow交換機是有效的,而且在這種情況下流水線處理數據包過程是比較簡化的。
OpenFlow交換機中的流表是按順序進行編號。流水線的處理總是從第一個流表開始:當數據包第一個與的流表項匹配后,根據匹配結果調用交換機內的其他流表進行匹配。
Match Fields:數據輸入端口的匹配、數據包報頭的匹配、上一個表指定的可選的源數據的匹配;Priority:流表項的匹配次序;Counters:匹配數據包的計數;Instructions:指令集的修改或流水線處理的修改;Timeouts:流有處理的效時間;cookie:控制器選擇的不透明數據值。控制器作用是過濾流、統計數據包、更改流和刪除流等操作,但處理數據包過程中不能進行以上操作。數據包是否通過哪些由流表項的Match Field字段和Priority字段決定,在一個流表中Match Field字段和Priority字段共同確定唯一的流表項。

圖2 通過處理了流水線的數據包流

圖3 流標包含項
數據包在流表中匹配過程(如圖4所示)。

圖4 流程圖描述了數據包流通過一個OpenFlow交換機
在流表中增加安全規則,來檢測通過交換機的數據包是否有網絡攻擊行為并處理這些含有攻擊行為的數據包(如圖5所示)。規則頭包含一條規則的基本信息,定義了規則的行為、規則檢測的、數據包的源、目的IP地址和源、目的端口號以及數據的流向。規則選項緊接在規則頭后,括在一對括號中,由一個或多個可選項組成,規則選項通過設置各種選項值,詳細描述每一種惡意攻擊的特征。
如下是一條典型的擴展流標結構的安全規則:
alert ip $EXTERNAL_NET any -> $HOME_ NET any (msg:"DOS Jolt attack"; fragbits: M; dsize:408; reference:cve,CAN-1999-0345; classtype: attempted-dos; sid:268; rev:2;)注:參考入侵檢測系統snort的規則。
這條規則的含義是:對任何一個數據包標記位為“M”、數據包大小為“408”、涉及到“CVE”并且包頭表明是從外部網絡發給內部網絡的計算機的流量產生報警。這是一種典型的DOS攻擊,導致系統崩潰。
(SOM)是人工神經網絡將一個給定的n維數據模式空間劃分為1或2維地圖或網格。這劃分完成后,拓撲排序在數據模式向量(突觸或權重)相似統計特征的聚集地區靠近對方網格。這個學習的過程是以競爭基礎,因為神經元相互競爭要放在神經網絡的輸出層,但只有一個神經元能競爭到神經網絡的輸出層(如圖6所示)。也正是因為神經元網絡在無監督自主學習下并進入競爭模式,重組后的每一次訓練數據本身和調整其權重作為新的數據到達輸出層。
下面詳細描述了完整的SOM算法[8],并對對SOM的學習過程的主要的步驟的進行如下總結。
(1)初始化:初始化過程是所有的神經元突觸權重向量隨機生成,載體必須進入相同維數的模式空間。
(2)抽樣:單一樣本選擇輸入模式空間,并送入到神經元網格。

其中是網格中的神經元的數目。

圖6 Kohonen自組織映射
(4)突觸后的適應:尋找勝利神經元,每個神經元的突觸權重向量進行調整:

(5)重復步驟(2)到(4),直到拓撲圖沒有顯著的變化。
SOM是一個合適檢測分類網絡數據流量方法,由于其即使在高噪聲的數據信號速率模式下也有很強的識別能力。此外,它可以在輸入空間的數據段找到隱藏的關系。當數據包進入的空間流動,因而我們能夠檢測到攻擊,并檢查通過數據包的報頭,若有攻擊行為報警。
我們的輕量級的DDoS攻擊檢測方法包括在預定的時間間隔監測網絡的NOX的注冊交換機。在規定的時間間隔,在現有的所有交換機流表提取特征。每個數據包通過一個分類器模塊,使用獲勝神經元的空間在拓撲圖的位置,判斷該信息的網絡流量屬于正常的網絡行為還是攻擊行為。
該方法分將三個模塊放置在NOX控制器檢測回路(如圖7所示),三檢測回路模塊描述如下:流量采集模塊負責定期采集交換機流表所有競爭數據包,特征提取模塊接收采集的數據包并提取特征,并收集他們的6元組被傳遞到分類器。每6元組的都有屬于它的ID,可以容易地獲得的NOX。

圖7 Kohonen的人工神經網絡圖
硬件平臺:PC機器*1臺
軟件平臺:Ubuntu12.04+Floodlight+Mininet,其中,需要使用到虛擬機軟件,使用的是Virtualbox。
整個環境如下:
PC機器上安裝Floodlight,作為OpenFlow環境的控制器。
PC機器上Virtualbox中運行帶有Mininet的虛擬機,用來模擬出OpenFlow交換機,以及Host和自定義的網絡拓撲結構。
DDoSMaker.exe工具是用來產生DDOS洪水攻擊的流量。是目前開展的訓練和測試階段的攻擊類型,以及產生各類型攻擊的流量數(如表1所示)。在括號內的值是在攻擊期間發送的數據包的大小,DDoSMaker.exe工具攻擊數據包最大為1024字節。表1每一參數值的影響等表描述的DDoS攻擊如下。只有時間間隔參數改變,而其他參數保持默認值。
(1)DDOS攻擊速度是可以調節的,攻擊的時間隔期可以設置固定時間發送的數據包數。可以從低到高不規則的設置攻擊時間間隔。
(2)DDOS攻擊可動態設置,可以設置為連續攻擊或和規定時間間隔攻擊,默認值設置為連續。
(3)網絡流量攻擊可設置為同步或交錯兩種模式,同步模式是默認值。
表1 DDoS攻擊用于訓練和測試

Tab.1 DDoS attacks are used for training and testing
SOM的訓練階段期間收集了3500份攻擊樣本和5108個非攻擊樣本。
表2比較了內六元組和四元組執行SOM一系列任務的時間,任務包括:培養神經元網格、給定一個樣本的分類、判別函數的執行。
表2 SOM檢測任務的執行時間

Tab.2 SOM execution time of the detection task
檢測率的定義
誤報率定義
表3 檢測結果

Tab.3 Test results
本文在SDN軟件定義網絡,提出了增強安全性的解決思路和方法,在流表項中增加安全規則,來檢測網絡攻擊,通過控制器來阻斷網絡攻擊。本文僅以DDOS攻擊作為實驗,其它攻擊實驗也可以應用在該方法中。
[1] Elliott C. GENI: Opening up new classes of experiments in global networking. IEEE Internet Computing, 2010, 14(1): 39-42
[2] Gavras A, Karila A, Fdida S, May M, Potts M. Future Internet research and experimentation: The FIRE initiative. ACM SIGCOMM Computer Communication Review, 2007, 37(3): 89-92. [doi: 10. 1145/1273445. 1273460]
[3] JGN2plus. 2012. http://www.jgn.nict.go.jp/english/index.html
[4] SOFIA. 2012. http://fi.ict.ac.cn/research/sofia_overview.htm
[5] Mckeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J. OpenFlow: Ena-bling innovation in campus networks. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69-74. [doi: 10.1145/1355734.1355746]
[6] 左青云. 基于OpenFlow的SDN技術研究[J], 軟件學報, 2013, 24(5) 1078-1097
[7] T. Kohonen, “The self-organizing map,” Proceedings of the IEEE vol.78, no.9, pp. 1464-1480, 1990
[8] S. Haykin, Neural networks: a comprehensive foundation. Prentice Hall PTR Upper Saddle River, NJ, USA, 1999.
[9] 陶軍. 基于OpenFlow的SDN技術研究[J]. 電信技術, 2014(2): 62-65
[10] 蔣培成, 陳鳴, 李兵. OpenFlow軟交換機的性能測量[J]. 重慶郵電大學學報(自然科學版), 2013, 25(1): 24-29
[11] 俞慧春. SDN技術的發展和應用淺析[J]. 中國新通信, 2014, 16(16): 85-86.
[12] 諸葛斌, 鄧麗, 戴國偉, 王偉明, 蘭巨龍. 基于雙邊市場多歸屬結構的SDN資源管理機制[J]. 電信科學, 2014, 30(5): 55-64.
Extended OpenFlow Flow Structure Based on Enhanced Security Research of SDN Network
WANG Tian-ming1, FU Tian2
(1. Hainan College of Ecnomics and Business,Network Information Center, Haikou, Hainan, 571127; 2. Hainan College Of Software Technology,Network Information Center, Qionghai, Hainan, 571400)
Software defined network (software defined networking, referred to as SDN) is the separation of control plane and data plane network emerging network technology, the technology for the development of new network applications and the future of Internet technology provides a new solution. This paper summarizes the development status of SDN network security technology based on OpenFlow, firstly introduces the flow table structure of OpenFlow protocol version and OpenFlow, and analyzed how to through the expansion flow standard structure to enhance the security of SDN network. Due to expansion of the flow structure, increases the SDN network computing burden, how to through the artificial neural network method SOM(self organizing map) by dimensionality reduction to reduce the burden on the table of SDN network operation flow of OpenFlow, finally discusses the SDN network security in the future development and research trend.
Software defined network; OpenFlow; FlowTable; The artificial neural network
TP391. 41
A
10.3969/j.issn.1003-6970.2018.07.001
海南省自然科學基金項目(批準號:617172)
王天明(1977-),男,副教授,主要研究方向:計算機網絡;符天(1982-),男,副教授,主要研究方向:計算機網絡。
本文著錄格式:王天明,符天. 基于擴展OpenFlow流標結構增強SDN網絡安全性研究[J]. 軟件,2018,39(7):01-05