陈飞
摘要:首先分析了SDN所面临的安全威胁,然后针对欺骗报文攻击、泛洪式攻击以及协议漏洞攻击等常见DDoS攻击威胁,提出了一种基于信誉机制的SDN安全策略。基于SDN控制器对攻击报文的实时检测,生成节点信誉度评价值,在此基础上针对不同程度的安全威胁实施不同级别的威胁处理策略。
关键词:SDN;安全;信誉;DDoS攻击
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)27-0050-02
1 概述
软件定义网络(Software Defined Networking, SDN)是近年来出现的一种新型网络结构,其设计理念是将网络的控制平面与数据转发平面进行分离,使数据平面专注于转发,控制平面对网络资源拥有全局视图,并能够实现可编程化控制,从而可以根据上层用户的不同业务需求,灵活高效地分配调度基础网络资源,完成对整个网络的管理,最终实现新业务的快速部署、提升网络资源利用率、保障业务服务质量、降低网络运营和维护成本[1.2]。
SDN在云计算数据中心、网络虚拟化、防范网络攻击等领域都得了研究与应用,但其自身的威胁检测与防护能力也急需完善,无论是在理论研究还是产品研发方面,SDN安全机制都备受关注[3,4]。本文首先简要分析SDN架构所面临的安全威胁,然后针对三类常见的DDoS(Distributed Denial of Service, DDoS)攻擊,提出一种基于信誉机制的SDN安全策略。
2 SDN所面临的安全威胁
由于SDN的集中控制性、可编程性及开放性,SDN的安全问题具有其独特性。目前,SDN架构所面临的安全威胁可来自以下几方面:
(1) 应用层策略冲突
当网络中有多个应用同时运行时,可能会出现策略冲突,使网络服务发生混乱,增加网络管理的复杂度。因此,控制器需要按照一定的策略对上层应用进行相应的策略冲突检测,若发现存在策略冲突则进行相应的协调。另外,当控制器将策略转换成流表项下发至交换机时,可能会由于交换机完成流表部署时延不一致而导致控制失效。
(2) 北向接口
北向接口连接着控制层和应用层,为上层应用提供了大量的可编程的API接口,并且负责应用层与控制器之间的交互。由于SDN网络的开放性,控制层对上层应用相对更加开放,北向接口在控制器与应用之间所建立的信赖连接关系也更加脆弱,为DDoS攻击带来了可能。
(3) 控制器安全威胁
SDN控制器的安全性决定了整个SDN网络的安全性,是保障SDN网络安全首先要解决的问题。目前SDN控制器所面临的安全威胁主要包括网络监听、DDoS攻击、IP地址欺骗、单点失效和病毒、蠕虫及木马攻击等[5]。其中,DDoS攻击是SDN控制器所面临的常见攻击,攻击者利用所控制的大量僵尸主机,在某一时刻同时向SDN网络发送大量的无效信息,造成控制器服务能力瘫痪,无法为正常客户提供服务。
(4) 南向接口
数据平面和控制平面之间通信采用OpenFlow协议标准,其安全通道采用TLS方式来保证双方的通信安全,在实际的 OpenFlow 网络部署过程中,由于TLS 部署的复杂性使得大部分控制器和交换机之间很难实现真正可靠的安全连接[6]。另外,OpenFlow协议中固有的安全机制设计比较薄弱,容易被攻击者利用而形成安全隐患。
(5) 数据平面
数据平面主要由OpenFlow交换机和链路构成,不同的OpenFlow交换机在数据处理流程上存在较大差别,有可能被恶意攻击者利用。如果 OpenFlow 交换机被恶意控制,可以任意窜改流表信息并进行数据转发,甚至其自身直接生成大量报文对网络造成影响。由于 OpenFlow 交换机直接与控制平面相连,在控制平面与外界隔离的情况下,攻击者将通过向 OpenFlow交换机注入恶意流量来实施攻击[7]。
3 基于信誉机制的SDN安全策略
3.1 安全策略原理
信誉在现实社会中用于表达个体在群体心目中的诚信程度,而在网络系统中,信任关系在每一个网络实体间依然存在,和网络的安全性密切相关。信誉值是信誉被量化的结果,可以反应网络中节点的诚信度。针对欺骗报文攻击、泛洪式攻击以及协议漏洞攻击等常见DDoS攻击威胁,提出了一种基于信誉机制的SDN安全策略。基于SDN控制器精确到端口的实时威胁检测,生成主机的信誉度评价值。在此基础上提出多级威胁处理机制,针对不同程度的安全威胁实施细粒度的防护执行策略。基于信誉机制的SDN安全策略架构如图1所示,包含基础设施层、控制层和DDoS攻击检测与防护层。在基础设施层,主要包括 OpenFlow 交换机和 OpenFlow 路由器等网络设备。在控制层,有SDN控制器,可实现设备管理、拓扑管理和流表管理等功能。在DDoS攻击检测与防护层,实现了攻击检测模块、信誉策略模块和威胁处理模块。
3.2 主要功能模块
1) DDoS攻击检测模块
DDoS攻击检测模块对数据包依次进行“欺骗报文检测”、“破坏报文检测”和“异常报文检测”,各检测单元根据攻击报文的特征,采用相应的攻击检测方法。如“破坏报文检测单元”可对报文的各标志位进行检测,通过判断各标志位是否符合TCP/IP协议规范来判断是否为破坏报文攻击[8]。攻击检测模块可识别并防护ARP协议攻击、反射式DDoS攻击、IP报文攻击、泛洪式DDoS攻击等常见的DDoS攻击,提升网络防护能力。
2) 信誉策略模块
构建SDN网络中的所有主机的“网络状态表”,网络中的每个主机都对应表中的一个键值,将单位时间内网络中主机发送的威胁数据包个数计入对应键值,以此作为该主机的信誉度评价值。并且在每个表中设置阈值,每次累加计数后检查信誉值是否超过设定的阈值。如果超过阈值,则触发相应的威胁处理操作。endprint
3) 威胁分级处理模块
当“欺骗报文检测”、“破坏报文检测”和“异常报文检测”单元检测到威胁,且信誉度计数值超出警戒阈值,则可触发丢弃数据包、屏蔽威胁主机或仅屏蔽攻击程序端口等不同级别的威胁处理动作。
4 结束语
本文对SDN架构面临的安全问题进行了分析,并针对三类常见的DDoS攻击,提出了一种基于信誉机制的软件定义网络安全策略,通过对攻击报文的检测,对威胁数据包进行统计分析,基于实时识别与统计结果,可实现不同级别的威胁处理。
参考文献:
[1] Chung Shen, Liao Li, Wan Jiun. Software defined networks[J].Communications Magazine, IEEE, 2013, 51(2):1-13.
[2] 左青云, 陳鸣, 赵广松, 等. 基于 OpenFlow的SDN技术[J]. 软件学报, 2013, 3(29):1078- 1097.
[3] Bing Wang, Yao Zheng, Wenjing Lou, Y. DDoS attack protection in the era of cloud computing and Software-Defined Networking [J]. Computer Networks, 2015, 81(22):308-319.
[4] WEI Z, WEIJIA J, et al. Detection and Defense of Application-Layer DDoS Attacks in Backbone Web Traffic[J]. Future Generation Computer Systems, 2014, 38:36-46.
[5] 武泽慧 ,魏强,王清贤. 基于OpenFlow的SDN网络攻防方法综述[J]. 计算机科学, 2017, 44(6):121-132.
[6] Benton K, Camp L, Small C. Open Flow Vulnerability Assessment[C]// Hot SDN. 2013:151-152.
[7] 左青云,张海栗. 基于OpenFlow的SDN网络安全分析与研究[J]. 信息网络安全, 2015,(2):26-32.
[8] 张家华, 杨种学, 王江平, 等. 融合 DDoS 威胁过滤与路由优化的SDN通信质量保障策略[J]. 电信科学,2015, 31 (4):27-133.endprint