基于SDN的DDoS攻击检测和防护机制研究

2016-11-10 10:39
电子测试 2016年19期
关键词:表项流表网络设备

张 洋

(江苏联合职业技术学院徐州经贸分院,江苏徐州,221004)

基于SDN的DDoS攻击检测和防护机制研究

张 洋

(江苏联合职业技术学院徐州经贸分院,江苏徐州,221004)

随着云计算和大数据等技术的发展,传统网络已经无法满足飞速发展的需求,软件定义网络(SDN)的出现带来了网络发展的变革,虽然SDN已经得到一定的应用,但是其仍处在研究完善阶段。本文阐述了SDN的关键技术以及主要协议,分析了SDN面临的安全问题,提出了一种基于流表特征的DDoS攻击检测方法,并给出了对应的攻击缓解方案。

软件定义网络;OpenFlow;DDoS;网络安全

1 软件定义网络(SDN)

1.1SDN技术

随着云计算、大数据等互联网新技术的出现以及大量应用,对网络设备提出了更新的要求,且需求变化周期越来越短。为了适应新技术的需求,传统网络需要在网络设备中集成更多的服务功能,目前,设备更新的滞后在一定程度上影响了互联网信息技术发展。软件定义网络SDN提出了将控制层与数据层分离的思想,也就是将网络服务功能从网络设备中分离出来形成控制层,整个SDN架构由三部分构成:网络设备所在的数据层主要负责数据转发、使用网络资源的应用程序构成的应用层、以及网络服务所在的控制层,在控制层提供应用程序接口供应用层中的业务逻辑使用,从而形成可编程的开放网络环境,路由策略由控制层下发到数据层中的网络设备,实现了网络设备的集中管理。

在2009年Mckewon教授正式提出SDN概念之后,各大机构便投入SDN的相关研究之中,目前已经出台了一定的SDN解决方案,虽然SDN已经得到了一定程度的应用,但是SDN目前仍处在研究发展阶段,尤其是其集中控制和开放网络的特性带来了新的安全挑战。在SDN网络中,控制层中的控制器是SDN网络的关键环节,控制器成为对SDN网络攻击的重点,控制器与应用层之间的授权安全、控制器和数据转发设备之间的数据通道安全等问题均缺乏十分有效的解决方案。软件定义网络SDN逻辑架构如图1所示。

图1 软件定义网络SDN逻辑架构

1.2OpenFlow协议

控制层连接着应用层和数据转发层,控制层与应用层之间通过北向接口相连,与数据转发层通过南向接口相连。SDN网络与传统网络的最大的区别是控制与数据的分离,控制层与数据转发层之间的南向接口成为SDN众多接口的研究核心。由开放网络基金会ONF提出的控制平面接口(CDPI)成为南向接口的主流,该接口采用ONF制定的OpenFlow协议标准,该协议为第一个广泛使用的南向接口协议,成为目前的主流协议标准。协议通过流的形式控制和管理交换机等网络设备,使得网络设备由传统的单一封闭变成灵活可控。

OpenFlow控制网络设备的消息类型按照消息的建立和保持方式主要有分为三种:对称消息、控制器到交换机和异步消息。对称消息(symmetric),控制器或者交换机的任意一方均可发起对称消息,该消息主要用于建立和保持二者之间的连接;控制器到交换机(controller-to-switch)由控制器发起,主要用于获取交换机状态和管理交换机;异步消息(asynchronous)由交换机发起,用于向控制器传递设备自身状态变化以及网络事件。根据OpenFlow协议标准,交换机需要维护流表以便支持OpenFlow协议,而数据的转发也是以流表的形式进行,对流表的建立、下发以及维护等操作均由控制器实现。随着OpenFlow版本的不断更新,其功能不断完善,先后增加了对IPV6的支持、流控制机制、流变复制和删除机制等功能,然而随着功能增加带来的是流表负载过重的问题。

1.3SDN安全挑战

随着软件定义网络的飞速发展,SDN已经在校园网络、小型企业网络、数据中心、无线网络、电信运营商网络等领域中得到应用。SDN数据转发层与控制层分离的方式实现了网络的全局视图管理方式,网络的高度集中和开放性带来诸多好处的同时,也带来了新的安全问题和挑战。

1)控制器成为网络攻击的焦点

SDN网络管理的高度集中使得网络服务、网络配置、安全策略等全都集成在控制器上,网络的管理变得更加简便和灵活,然而一旦控制器被攻击者控制,将影响控制器所控制的网络范围,造成网络的瘫痪,因此对SDN控制器的安全防范的需求将大大增加。虽然控制器不太可能受到直接的大面积分布式攻击,但是大量攻击导致的初始流数据以及服务请求的地址伪造都可能造成控制器因为过载而停止提供服务。

2)API接口成为网络威胁的突破口。SDN网络的可编程性主要体现在控制器提供了大量的可编程的API接口,大量可编程接口的存在为网络的更新升级提供了便利的同时也为拒绝服务攻击提供了可能。另外,通过向应用层植入木马程序收集SDN网络中的信息,从而进一步修改网络配置达到非法占用网络资源、干扰控制器正常工作的目的。

3)SDN网络的开放性带来很多的安全隐患。大量第三方应用的出现,加快了业务创新的速度,随之而来的是可能会导致应用之间安全规则的冲突,大量的插件也可能存在一定的漏洞和恶意功能。

图2 DDoS攻击检测系统拓扑结构

图3 基于流表特征的DDoS攻击检测方法

2 基于流表特征的DDoS攻击检测方法

目前SDN仍处在研究发展阶段,其主要应用的形式是SDN技术和传统网络的结合。利用SDN的集中调度、统一管理的优势,结合防火墙、入侵检测系统等传统网络安全设备构建增强型SDN网络,利用SDN技术进行深层次的流数据分析、流量控制和网络监控。在此模式下本文提出基于流表特征的DDoS攻击检测机制。该机制由SDN控制器、OpenFlow交换机、防火墙、入侵检测系统构成。入侵检测系统采用基于流表特征的DDoS攻击检测方法,其思想为通过提取SDN网络中网络设备中的流表信息,并将其转换成特征向量,然后提取出最优特征搭建攻击检测分类器,使用攻击检测分类器分类网络流量,实现对网络攻击的识别。DDoS攻击检测系统拓扑结构如图2所示:

OpenFlow流表特征能够反映出某些已知网络攻击的特性,对每一种攻击方式均要提取出其攻击特性,理想情况下,通过已知攻击特性应该总是能够对每一种恶意网络攻击行为进行检测和识别。对正常流数据和攻击行为进行高层抽象得出的流表特征向量,是检测攻击行为的重要识别依据。

网络中数据存在着高维度的特点,在具体实现时可以在攻击检测系统中使用特征选择算法和分类算法对攻击进行识别。算法的实现由三个部分构成:流表数据处理、特征选择、分类检测。流表数据处理阶段,主要是对原始流表数据进行获取和预处理,在该阶段对流表项信息进行分析统计,将其转换成为特征值序列;特征选择阶段,主要是选择出最优特征子集,使用过滤式方法确定选择最优子集的标准,构建出最优特征子集作为分类训练的输入,使得攻击检测具有较低的时空复杂度和较高的准确率;分类检测阶段,在机器学习训练的基础上,使用数据挖掘算法处理分类安全数据,构建分类模型。攻击检测过程如图3所示。

3 攻击缓解方法

为了更快的反应攻击检测结果和构建全方位的攻击缓解机制,结合OpenFlow协议的转发机制,将ACL管理控制和流量管理等传统网络攻击缓解机制应用到SDN网络中。SDN控制器在收到攻击检测结果和攻击特征信息之后,下发指令更改防火墙配置,减少网络攻击流量,同时向OpenFlow交换机发送流表修改指令,更改流表匹配设置,丢弃掉攻击数据包,同时进行访问控制列表的管理以及采取适当的流量管理策略对攻击进行缓解。

3.1ACL管理控制

Access Control List(ACL)访问控制列表,为网络设备中用于控制端口是否允许进出数据包的指令列表,可以在网络层实现对网络用户访问资源的控制。ACL的访问控制指令信息既可以具体到两台设备之间的网络应用,也可以是对特定网段进行大规模信息匹配。另外通过ACL配置策略使得用户只能访问特定的资源,从而达到有效地控制内网安全的作用。

在SDN网络环境下使用访问控制列表技术响应攻击检测结果,使用控制器对数据包进行统一的通信管理,可以有效地对网络中所有流数据进行集中管理和灵活调配。SDN控制器可以使用OpenFlow协议中规定的controller-to-switch消息对OpenFlow交换机的流表项进行动态改变,控制器根据攻击检测结果和安全策略通过controller-to-switch消息下发流表项到交换机,控制主机之间的通信许可,从而达到保护网络、缓解攻击、控制入侵蔓延的作用。

3.2流量管理

流量管理主要有限速和分流两种方式。作为DDoS攻击响应的主要手段限速是借助网络设备将多余的流量过滤掉,以达到缓解DDoS对网络进行破坏的目的。限速作为一种直接而有效的方式也存在一定的弊端,那就是正常数据流和异常数据流混杂在一起时,其被过滤的概率是一致的。在OpenFlow协议中,流表项中的匹配域除涵盖了网络层和链路层的大多数网络标记外,还包含目的端口、TCP、UDP等信息 ,在此基础上SDN控制器可以综合不同网络层中的流量信息做出合理准确的限速方案。流量管理的另一手段为分流,其主要是将正常数据流和攻击数据流分离,将攻击流转发到专门负责抵抗DDoS攻击的设备或空闲链路,从而尽可能减少攻击对正常数据流的干扰,缓解受害链路和主机的服务拥塞情况。SDN网络中在确定分流点以及其到DDoS攻击清洗池之间最佳路径之后,由控制器向交换机下发流表项实施攻击分流,对攻击流进行清洗后,再将其分流到原目的地,在有效防御DDoS攻击的同时,避免单点故障波及整个网络的问题。

3.3攻击缓解机制

1)攻击检测模块检测受到DDoS网络攻击时,会收集被攻击主机的相关信息以及与攻击有关的流表信息,并将这些信息发送至状态检测模块,状态检测模块根据攻击相关的流表信息结合全局网络拓扑结构能够检测到被攻击主机的网络位置以及和该主机进行通信的主机位置,构成主机列表HOSTS={host1,……hostn}。

2)在得到主机列表之后,使用ACL控制管理模块对主机列表中的主机一次进行分类标记,如果判断为攻击主机,则标记到黑名单中,如果为正常主机则标记到白名单中。对于列入黑名单的主机通过下发流表项,禁止其与被攻击主机的通信;如果为白名单,则判断其流统计值是否超出预设的上限,如果超出则使用流量控制模块对其进行处理。对于ACL控制管理模块无法标记的主机组成新的主机列表HOST T,并将该主机列表直接发送给流量管理模块。

3)在流量管理模块中,对于无法识别的HOSTT中的主机和超过预设上限的主机,进行流数据信息的统计排序,根据预设规则筛选出可疑主机列表,然后对其实施分流或者限速。如果为分流则计算最佳路径并修改流表项,将其引导至DDoS攻击清洗池,同时禁止其与被攻击主机的通信。如果为限速,则根据预先设定的速率修改流表项,同时向通信源头和目的地址下发流表项,对可疑流的速率进行限制,减弱其对正常流通信的影响。

4 总结

软件定义网络SDN的出现以及对相关技术的不断研究和突破,给传统网络的突破发展带来了新机遇,同时其自身也面临着不可低估的挑战。本文在研究现有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-),男,江苏徐州人,硕士,讲师,研究方向为网站建设、软件工程等。

猜你喜欢
表项流表网络设备
基于匹配动作表模型的可编程数据平面流表归并
一种改进的TCAM路由表项管理算法及实现
网络设备的安装与调试课程思政整体设计
基于时序与集合的SDN流表更新策略
一种基于C# 的网络设备自动化登录工具的研制
基于ARMA模型预测的交换机流表更新算法
简析yangUI流表控制
软件定义网络中一种两步式多级流表构建算法
防范加固SNMP团体名漏洞
SDN数据中心网络基于流表项转换的流表调度优化