APP下载

基于扩展OpenFlow流标结构增强SDN网络安全性研究

2018-08-13王天明

软件 2018年7期
关键词:流表表项交换机

王天明,符 天



基于扩展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;流表;人工神经网络

0 引言

随着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网络安全性。

1 OpenFlow简介

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交换机

2 扩展流标结构增强SDN安全性

2.1 加强安全性的流标结构

在流表中增加安全规则,来检测通过交换机的数据包是否有网络攻击行为并处理这些含有攻击行为的数据包(如图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攻击,导致系统崩溃。

2.2 自组织映射组织映射

(SOM)是人工神经网络将一个给定的n维数据模式空间划分为1或2维地图或网格。这划分完成后,拓扑排序在数据模式向量(突触或权重)相似统计特征的聚集地区靠近对方网格。这个学习的过程是以竞争基础,因为神经元相互竞争要放在神经网络的输出层,但只有一个神经元能竞争到神经网络的输出层(如图6所示)。也正是因为神经元网络在无监督自主学习下并进入竞争模式,重组后的每一次训练数据本身和调整其权重作为新的数据到达输出层。

下面详细描述了完整的SOM算法[8],并对对SOM的学习过程的主要的步骤的进行如下总结。

(1)初始化:初始化过程是所有的神经元突触权重向量随机生成,载体必须进入相同维数的模式空间。

(2)抽样:单一样本选择输入模式空间,并送入到神经元网格。

其中是网格中的神经元的数目。

图6 Kohonen自组织映射

(4)突触后的适应:寻找胜利神经元,每个神经元的突触权重向量进行调整:

(5)重复步骤(2)到(4),直到拓扑图没有显着的变化。

SOM是一个合适检测分类网络数据流量方法,由于其即使在高噪声的数据信号速率模式下也有很强的识别能力。此外,它可以在输入空间的数据段找到隐藏的关系。当数据包进入的空间流动,因而我们能够检测到攻击,并检查通过数据包的报头,若有攻击行为报警。

2.3 轻量级的基于流量的DDoS攻击检测

我们的轻量级的DDoS攻击检测方法包括在预定的时间间隔监测网络的NOX的注册交换机。在规定的时间间隔,在现有的所有交换机流表提取特征。每个数据包通过一个分类器模块,使用获胜神经元的空间在拓扑图的位置,判断该信息的网络流量属于正常的网络行为还是攻击行为。

该方法分将三个模块放置在NOX控制器检测回路(如图7所示),三检测回路模块描述如下:流量采集模块负责定期采集交换机流表所有竞争数据包,特征提取模块接收采集的数据包并提取特征,并收集他们的6元组被传递到分类器。每6元组的都有属于它的ID,可以容易地获得的NOX。

图7 Kohonen的人工神经网络图

3 实验与分析

3.1 虚拟OpenFlow实验环境

硬件平台:PC机器*1台

软件平台:Ubuntu12.04+Floodlight+Mininet,其中,需要使用到虚拟机软件,使用的是Virtualbox。

整个环境如下:

PC机器上安装Floodlight,作为OpenFlow环境的控制器。

PC机器上Virtualbox中运行带有Mininet的虚拟机,用来模拟出OpenFlow交换机,以及Host和自定义的网络拓扑结构。

3.2 攻击工具:DDoSMaker.exe

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

3.3 时间训练和分类的流量

SOM的训练阶段期间收集了3500份攻击样本和5108个非攻击样本。

表2比较了内六元组和四元组执行SOM一系列任务的时间,任务包括:培养神经元网格、给定一个样本的分类、判别函数的执行。

表2 SOM检测任务的执行时间

Tab.2 SOM execution time of the detection task

3.4 性能检测

检测率的定义

误报率定义

表3 检测结果

Tab.3 Test results

4 结语

本文在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

猜你喜欢

流表表项交换机
一种改进的TCAM路由表项管理算法及实现
基于时序与集合的SDN流表更新策略
基于ARMA模型预测的交换机流表更新算法
基于缓存策略的OpenFlow流表存储优化方案研究
修复损坏的交换机NOS
简析yangUI流表控制
软件定义网络中一种两步式多级流表构建算法
使用链路聚合进行交换机互联
SDN数据中心网络基于流表项转换的流表调度优化
PoE交换机雷击浪涌防护设计