计算机应用   2017, Vol. 37 Issue (6): 1625-1629,1635  DOI: 10.11772/j.issn.1001-9081.2017.06.1625
0

引用本文 

池亚平, 姜停停, 戴楚屏, 孙尉. 基于软件定义网络的云平台入侵防御方案设计与实现[J]. 计算机应用, 2017, 37(6): 1625-1629,1635.DOI: 10.11772/j.issn.1001-9081.2017.06.1625.
CHI Yaping, JIANG Tingting, DAI Chuping, SUN Wei. Design and implementation of cloud platform intrusion prevention system based on software defined network[J]. Journal of Computer Applications, 2017, 37(6): 1625-1629,1635. DOI: 10.11772/j.issn.1001-9081.2017.06.1625.

基金项目

国家863计划项目(2015AA017202);国家发改委信息安全专项(发改办高技[2015]289号)

通信作者

姜停停, 1445486148@qq.com

作者简介

池亚平(1969-), 女, 北京人, 教授, 硕士, CCF会员, 主要研究方向:虚拟化安全、可信计算、加密技术、软件定义网络;
姜停停(1989-), 女, 山东济宁人, 硕士研究生, 主要研究方向:虚拟化安全、加密技术、网络安全、云计算网络;
戴楚屏(1990-), 女, 安徽黄山人, 硕士研究生, 主要研究方向:4G无线通信、无线通信物理层安全;
孙尉(1993-), 男, 陕西西安人, 硕士研究生, 主要研究方向:网络安全、软件定义网络

文章历史

收稿日期:2016-10-08
修回日期:2017-01-13
基于软件定义网络的云平台入侵防御方案设计与实现
池亚平1, 姜停停1, 戴楚屏2, 孙尉1    
1. 北京电子科技学院 通信工程系, 北京 100070;
2. 西安电子科技大学 通信工程学院, 西安 710071
摘要: 针对传统的入侵防御系统是串联在网络环境中,处理能力有限且易造成网络拥塞的问题,面向云计算应用,设计了一种基于软件定义网络(SDN)的入侵防御方案。首先,在OpenStack平台中集成了SDN控制器。然后,利用控制器的可编程特性,设计了入侵检测和控制器的联动机制,实现了入侵防御功能。联动机制实现原理是在入侵检测系统检测到入侵时把入侵信息传给控制器,控制器下发安全策略到虚拟交换机,达到过滤入侵流量、动态阻止入侵行为的目的。最后,通过实验将所提方案与传统入侵防御方案相比较,对比分析结果表明,相比传统方案能成功检测85%入侵(攻击速率为12000 packet/s),所提方案的入侵检测效率在90%以上(攻击效率为40000 packet/s),可以用于提高云环境下入侵防御的检测效率。
关键词: 云计算安全    入侵防御    软件定义网络    控制器    
Design and implementation of cloud platform intrusion prevention system based on software defined network
CHI Yaping1, JIANG Tingting1, DAI Chuping2, SUN Wei1     
1. Department of Communication Engineering, Beijing Electronic Science and Technology Institute, Beijing 100070, China;
2. School of Telecommunications Engineering, Xidian University, Xi'an Shaanxi 710071, China
Abstract: The traditional intrusion prevention system is the serially connected in the network environment, its ability to deal with the intrusion is limited and may cause network congestion easily. In order to solve the problems, an intrusion prevention scheme for cloud computing applications was designed based on Software Defined Network (SDN). Firstly, the SDN controller was integrated in the OpenStack platform. Then, by using the programmable characteristics of the controller, the linkage mechanism of intrusion detection and controller was designed to realize the intrusion prevention. The principle of the linkage mechanism is that the intrusion information is passed to the controller when the intrusion detection system detects the intrusion, then the security policy was issued to the virtual switch by the controller for filtering the intrusion traffic and dynamically preventing the intrusion. Finally, the proposed scheme was compared with the traditional intrusion prevention scheme in experiment. The comparison and analysis results show that, the proposed scheme can detect more than 90% of the instructions when they come at 40000 packets per second, while the traditional scheme only detect 85% of the instructions when they come at 12000 packets per second. The proposed scheme can be used to improve the detection efficiency of intrusion prevention in the cloud environment.
Key words: cloud computing security    intrusion prevention    Software Defined Network (SDN)    controller    
0 引言

云计算使得服务提供商以按需分配的方式为用户提供具有高可用性和高扩展性的网络、计算、存储等IT资源,云计算不但能够降低企业的IT成本,还能支持业务的及时创新,各行业加入云已成为一种趋势[1]。近年来,计算、存储的虚拟化技术取得了长足的发展,相比较而言,尽管网络虚拟化也取得了诸多的发展,但仍然存在很多问题,如缺乏灵活性,对需求变化反应缓慢等。软件定义网络(Software Defined Network, SDN)是一数据层和控制层分离、软件可编程的新兴的网络架构。它改变了传统网络的封闭式架构,可以从整个网络层面对流量进行控制,提高了新业务的部署速度,节省了运营成本,为网络虚拟化技术提供了全新的解决方案。因此,将SDN技术应用到云计算环境中是云计算的一种发展趋势[2]

云计算在为用户提供方便的同时,也带来了许多潜在的安全问题[3],如数据泄露、拒绝服务攻击和云的滥用等。在对云环境的保护中,入侵防御技术是云安全保护体系的重要环节。针对云环境的入侵防御技术也得到了前人的广泛探索。文献[4]针对私有云提出了一种通过人工智能代理,把异常检测方法和误用检测方法结合的混合入侵检测方案,有效降低了系统漏报率。文献[5]提出了一种虚拟机取证(Forensic Virtual Machine, FVM)方案,该方案通过贝叶斯分类器对不同类型的服务器用不同检测方法进行检测,提高了检测效率。文献[6]提出了一种基于设备的签名算法,有效防止了云环境中的数据注入攻击。

以上入侵防御方案都是把防御设备串联在网络环境中,需要实时捕获网络流量并进行检测后才能转发数据包,在云环境中网络流量相对较大,而入侵防御系统处理能力有限,容易造成网络拥塞现象[7]。SDN提供了一种将控制层和交换层分离的新型网络架构,解决了传统网络灵活性差、业务部署效率低、业务适应缓慢等问题,利用SDN技术解决网络安全问题是网络安全发展的一种趋势[8]。如何利用SDN技术部署入侵防御系统是近几年的研究热点。

文献[9]提出了一种在控制器上集成数据采集模块的方案,方案通过统计虚拟交换机转发信息的方式检测拒绝服务攻击,通过控制器下发流表的方式动态阻止入侵,但此方案仅对拒绝服务攻击有效;文献[10]提出了一种在虚拟交换机中集成入侵检测功能的方案。此方案根据入侵数据包的IP动态过滤入侵数据,但它违背了SDN控制和转发分离的原则,在虚拟交换机上进行入侵检测增加了虚拟交换机网络时延;文献[11]提出了一种通过移动目标防御技术修改虚拟机的身份标识来阻止入侵的方案,但此方案不能阻止恶意内部人员的攻击;文献[12]提出了一种在控制器模块集成入侵检测系统(Intrusion Detection System, IDS)模块,通过控制器下发流表的方式动态阻止入侵的方案,但此方案加重了控制器的负担,容易造成单点失效;文献[13]提出了一种通过控制器分析警告下发流表动态阻止流量的方案,但它仅提供了初步的理论框架,没有对方案实现方法作具体说明。

在以上研究的基础上,针对入侵检测防御方案检测效率问题,本文提出了一种基于SDN的云平台入侵防御方案,该方案利用SDN可编程的特点,实现IDS和控制器的联动,使系统在检测到入侵时能够通过控制器下发策略及时阻止入侵行为,达到保护云环境中的虚拟机通信的目的。最后,通过与传统入侵防御系统作对比分析,验证了方案的有效性。

1 相关研究分析 1.1 基于OpenStack的虚拟资源管理技术

OpenStack是用于建设和管理公共云计算与私有云计算的开源云计算平台[14],其核心组件架构如图 1所示。

图 1 OpenStack平台架构 Figure 1 Platform architecture of OpenStack

其中:Keystone组件提供OpenStack的认证服务;Nova组件提供计算虚拟化服务负责管理和创建虚拟机;Glance组件提供镜像服务功能;Neutron组件提供OpenStack虚拟网络服务;Swift组件提供对象存储服务功能;Cinder组件为OpenStack的虚拟机提供持久的块级存储设备;Horizon组件为OpenStack提供了集中化的图形用户接口来访问。

1.2 SDN技术

SDN是一种数据层和控制层分离的新兴的网络架构。在控制层通过OpenFlow协议采用控制-转发通信接口集中管控不同的网络设备,且控制层提供强大的编程接口,开发者可以通过编程的方式根据自身需求设计应用,实现对网络的集中控制而不必关心底层的硬件细节。SDN解决了传统网络灵活性差、业务部署效率低、业务适应缓慢等问题,提高了新业务的部署速度,可以从整个网络层面对流量进行优化。SDN架构如图 2所示。

图 2 SDN架构 Figure 2 Architecture of SDN

数据层由转发设备组成,负责数据流的处理和转发、状态信息的上报等。控制层可通过OpenFlow协议与数据层进行通信,从而实现控制数据流转发行为、收集转发设备状态信息、配置网络环境等功能。应用层由应用软件构成,应用软件通过调用控制层应用程序编程接口(Application Programming Interface, API),制定相应的网络控制策略,实现网络监控、数据流过滤等网络功能。

1.3 入侵检测和入侵防御技术

IDS是保障信息安全的关键机制之一。它通过收集和分析网络中关键节点的流量信息,发现违反安全策略的行为和被攻击行为并作出响应,但不能及时阻断检测到的入侵行为。Snort是一种开源的基于网络的误用型轻量级IDS。由于其支持多种平台,结构清晰,代码开放,易于扩展,成为研究IDS的典范。Snort工作原理如图 3所示。

图 3 Snort工作原理 Figure 3 Working principle of Snort

数据包嗅探模块负责监听网络流量并对流量进行分析;预处理模块使用插件机制实现对原始网络流量的检测,网络流量经过预处理后传到检测模块;检测模块根据预先设置的规则检查预处理器送过来的网络流量,发现与对应规则相匹配的流量,传给知报警模块;报警/日志模块记录检测模块对检测模块传入的入侵流量进行分析,实现报警功能。

入侵防御系统(Intrusion Prevention System, IPS)是在IDS和防火墙的基础上发展起来一种能够积极主动响应攻击的网络安全产品[15], 它具有检测入侵行为并实时拦截入侵的功能。传统的入侵防御系一般作为一种网络设备串联在主干网络之上[7]。IPS部署如图 4所示。

图 4 入侵防御系统部署 Figure 4 Deployment of the intrusion prevention system

IPS作为一种主动防御安全技术能够有效拦截网络入侵流量,保护网络安全。但IPS设备串联在网络环境中,一旦设备出现问题就会影响整个网络的使用,容易造成单点失效问题;网络环境中的数据包需要经过各种检测后才能转发,由于设备处理能力有限,容易造成网络拥塞现象;为了提高转发性能必须使用昂贵的专用设备,防护成本大幅增高。

2 基于SDN的云平台入侵防御方案 2.1 总体方案设计

针对传统IPS存在的问题,本文设计了一种基于SDN的云平台入侵防御方案,方案在OpenStack云平台的基础上集成SDN,构建了OpenStack的软网络平台,并在该平台上构建了基于SDN的IPS。

本文方案分为三部分:第一部分是SDN模块,提供虚拟网络资源;第二部分是OpenStack模块,提供虚拟资源管理功能;第三部分是基于SDN的入侵防御模块。本文方案总体架构图如图 5所示。

图 5 本文方案总体架构 Figure 5 Overall architecture of the proposed scheme
2.2 基于SDN的入侵防御模块设计

在入侵防御方案设计中,基于SDN的入侵防御模块设计是本文方案的核心内容。该模块通过调用SDN控制器层的逻辑化可编程接口实现。该模块由入侵检测模块、信息接收模块、安全策略管理模块、安全策略执行模块四个子模块组成,并提供了系列入侵防御扩展接口,以便扩展更加符合实际应用、更加适用于云环境的入侵防御性能。其实现架构如图 6所示。

图 6 基于SDN的入侵防御模块实现架构 Figure 6 Implementation framework of intrusion prevention module based on SDN

其中:入侵检测模块用于检测流经虚拟交换机的流量,并把入侵流量传给信息接收模块;信息接收模块用于接收IDS传递的入侵流量,并把其传给安全策略执行模块;安全策略管理模块主要使用数据库或者文本存储安全策略,提供安全策略管理接口给安全策略执行模块;安全策略执行模块从安全策略管理模块查询安全策略,对入侵信息作出相应处理。

2.3 入侵检测和控制器联动流程设计

入侵检测和控制器联动流程设计如图 7所示。

图 7 入侵检测和控制器联动架构 Figure 7 Linkage framework of intrusion detection and controller

1) 当数据包首次到达虚拟交换机(Open Virtual Switch, OVS)时,OVS把数据包传给Ryu控制器;

2) Ryu控制器通过查询安全策略管理模块的安全策略下发流量重定向流表到OVS;

3) 当相同形式的数据包再次到达OVS时,OVS直接根据流量重定向流表把数据包重定向至Snort;

4) 当Snort检测到入侵流量时把入侵流量传给控制器的信息接收模块;

5) 策略执行模块接收到信息接收模块传入的入侵信息时,策略执行模块根据安全策略管理模块的安全策略,下发入侵过滤流表到OVS以阻止入侵。

2.4 基于SDN的入侵防御方案和传统入侵防御方案比较

基于SDN技术的入侵检测联动方案和传统的基于防火墙的入侵检测联动方案有着本质的区别,实现方案架构对比如图 8所示。

图 8 传统IPS和基于SDN的IPS架构对比 Figure 8 Architecture contrast of traditional IPS and IPS based on SDN

图 8中虚线表示控制流量,实线表示数据流量。传统的基于防火墙的入侵防御方案如图 8灰色线所示,在IDS检测到入侵后,会和防火墙联动,通过NFQueue制定策略,防止入侵[4]。基于SDN的入侵防御方案架构如图 8黑色线所示,在IDS检测到入侵后,会和控制器联动,通过控制器下发流表,动态阻止入侵。两种方案性能对比分析如表 1所示。

表 1 传统IPS和基于SDN的IPS性能比较 Table 1 Performance comparison of traditional IPS and IPS based on SDN
3 方案实现 3.1 实验环境搭建

为测试方案的可行性及其性能,首先搭建OpenStack私有云平台,并在云平台上集成了SDN控制器Ryu。平台部署方案如图 9所示。

图 9 平台部署方案 Figure 9 Deployment scheme of platform
3.2 可行性验证

在集成SDN的OpenStack云平台上,部署Snort入侵检测系统并开发Snort与控制器的联动模块,完成互联和正确配置,然后在安全策略管理中心设置安全策略,使检测到ping数据包时,根据源IP地址和目的IP地址禁止两虚拟机通信,验证方案的可行性,测试效果如下:

1) 在OpenStack云平台上创建两个虚拟机,分别分配IP地址10.1.0.11和10.1.0.12。

2) 新建ips.rules,定义入侵检测策略为:

alert icmp any any ->

   any any (msg:"Pinging..."; sid:1000004;)

alert tcp any any ->

   any 80 (msg:"Port 80 is accessing"; sid:1000003;)

3) 在/etc/snort/snort.conf加入ips.rules策略:include $RULE_PATH/Myrules.rules

4) 在安全策略管理中心设置安全策略,若检测到ping数据包则根于源IP和目的IP阻止两虚拟机的通信。

5) 用一台虚拟机ping另一台虚拟机的IP地址。首先,虚拟交换机转发ping数据包;然后,Snort检测到ping行为并传给控制器; 最后,控制器根据安全策略管理中心的安全策略阻止入侵。测试结果如10所示。

图 10可知,ping数据包在转发了两个之后被及时阻止,所用时间约为6.9 ms,系统可及时阻止入侵,具有较好实时性。

图 10 基于SDN的IPS测试结果 Figure 10 Test results of the IPS based on SDN

虚拟交换机的转发策略如图 11所示。

图 11 虚拟交换机转发策略 Figure 11 Forwarding policy of the virtual switch

图 11可知,虚拟交换机对源IP地址为1 0.1.0.11、目的IP为10.1.0.12的数据包进行丢弃。

IPS的日志如图 12所示。

图 12 IPS日志结果 Figure 12 Log results of the IPS

图 12可知,在系统日志中可以看到入侵时间、检测到入侵的虚拟交换机的ID和入侵数据包的详细信息。

3.3 性能评估

为对比本文方案和基于Iptable的IPS方案的性能差异,实验采用同样的环境部署了基于Iptable的IPS,并在虚拟机中安装用于发送数据包的Tcpreplay软件,使虚拟机间产生真实的网络数据包,模拟真实的网络环境,安装用于发送攻击数据的IDS Informer软件,使虚拟机间产生攻击数据,模拟真实的入侵环境。以100~5 000不同的速率在虚拟机间发送攻击数据包和正常数据包,采取多次实验取平均值的方法(分别进行10次测试)分别对传统IPS方案和基于SDN的IPS方案的入侵检测效率和CPU利用率进行测试。入侵检测效率测试结果如图 13所示。

图 13 入侵检测效率对比 Figure 13 Efficiency comparison of intrusion detection

图 13可知,随着攻击速率的不断提高,传统IPS方案的入侵检测效率先下降,当攻击速率为12 000 packet/s时,检测效率下降为85%,而基于SDN的IPS方案在攻击速率为40 000 packet/s时,检测效率仍在90%以上,相对传统IPS方案,入侵数据处理能力提高2倍以上。

CPU利用率测试结果如图 14所示。

图 14 CPU利用率对比 Figure 14 Comparison of the CPU utilization

图 14可知,传统IPS方案相对基于SDN的IPS方案的CPU利用率偏高,且随着攻击速率的不断提高,相差越来越大。由此可以得出,基于SDN的IPS方案与传统IPS方案相比具有更低资源占用率,转发效率相对更高。

4 结语

入侵防御技术是云计算的重要安全保护机制,但传统的入侵防御技术串联在网络环境中,云计算网络应用需求量大,传统IPS存在吞吐量低、检测效率低、丢包率高等问题。以提高IPS的效率和灵活性为目的,本文设计并实现了一种基于SDN的IPS方案。该方案首先在OpenStack云平台中集成SDN,然后通过入侵检测和控制器联动,使IDS在检测到入侵流量时把入侵流量传给控制器,控制器下发流表动态阻止入侵,实现对整个网络入侵流量进行集中管控,提高了IPS的灵活性和可扩展性,并通过搭建的测试环境完成了对所提方案可行性的验证。经测试分析表明,基于SDN的IPS相对于传统的IPS在性能上具有一定的优越性。

入侵防御系统涉及的理论和内容较多。本文实验仅对入侵检测实现方法作了改进和验证,未针对虚拟环境下入侵特点作算法方面的研究,如何设计针对虚拟化环境的入侵检测算法有待进一步研究。

参考文献
[1] 冯登国, 张敏, 张妍, 等. 云计算安全研究[J]. 软件学报, 2011, 22(1): 71-83. ( FENG D G, ZHANG M, ZHANG Y, et al. Study on cloud computing security[J]. Journal of Software, 2011, 22(1): 71-83. )
[2] BANIKAZEMI M, OLSHEFSKI D, SHAIKH A, et al. Meridian:an SDN platform for cloud network services[J]. IEEE Communications Magazine, 2013, 51(2): 120-127. doi: 10.1109/MCOM.2013.6461196
[3] XU C J, WANG G J, WANG H H, et al. Design of cloud safety monitoring management platform of saline alkali industry[C]//Proceedings of the 2015 International Conference on Intelligent Transportation, Big Data and Smart City. Piscataway, NJ:IEEE, 2015:294-297.
[4] RAJENDRAN P K, MUTHUKUMAR B, NAGARAJAN G. Hybrid intrusion detection system for private cloud:a systematic approach[J]. Procedia Computer Science, 2015, 48(C): 325-329.
[5] MALIK R. A novel approach for intrusion detection and prevention technique for cloud based on FVM approach[J]. International Journal of Computer Applications, 2015, 118(1): 20-24. doi: 10.5120/20710-3029
[6] ALQAHTANI S M, BALUSHI M A, JOHN R. An intelligent intrusion prevention system for cloud computing (SIPSCC)[C]//CSCI'14:Proceedings of the 2014 International Conference on Computational Science and Computational Intelligence. Washington, DC:IEEE Computer Society, 2014:152-158.
[7] 车明明. 入侵防御系统的关键技术研究[D]. 成都: 电子科技大学, 2013: 7-11. ( CHE M M. The key technology research of intrusion prevention system[D]. Chengdu:University of Electronic Science and Technology of China, 2013:7-11. )
[8] ALI S T, SIVARAMAN V, RADFORD A, et al. A survey of securing networks using software defined networking[J]. IEEE Transactions on Reliability, 2015, 64(3): 1086-1097. doi: 10.1109/TR.2015.2421391
[9] GIOTIS K, ARGYROPOULOS C, ANDROULIDAKIS G, et al. Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments[J]. Computer Networks, 2014, 62(5): 122-136.
[10] KUMAR S, KUMAR T, SINGH G, et al. Open flow switch with intrusion detection system[J]. International Journal of Schientific Research Engineering &Techonology, 2012, 1(7): 1-4.
[11] JAFARIAN J H, AL-SHAER E, DUAN Q. OpenFlow random host mutation:transparent moving target defense using software defined networking[C]//HotSDN'12:Proceedings of the First Workshop on Hot Topics in Software Defined Networks. New York:ACM, 2012:127-132.
[12] ZANNA P, O'NEILL B, RADCLIFFE P, et al. Adaptive threat management through the integration of IDS into software defined networks[C]//Proceedings of the 2014 International Conference and Workshop on the Network of the Future. Piscataway, NJ:IEEE, 2014:1-5.
[13] XING T Y, HUANG D J, XU L, et al. SnortFlow:a OpenFlow-based intrusion prevention system in cloud environment[C]//GREE'13:Proceedings of the 2013 Second GENI Research and Educational Experiment Workshop. Washington, DC:IEEE Computer Society, 2013:89-92.
[14] NOMURA K, TANIGUCHI Y, IGUCHI N, et al. A system for supporting migration to overlay OpenFlow network using OpenStack[C]//Proceedings of the 2016 International Conference on Complex, Intelligent, and Software Intensive Systems. Washington, DC:IEEE Computer Society, 2016:595-598.
[15] 李勇征. 具有免疫响应能力的入侵防御关键技术研究[D]. 秦皇岛: 燕山大学, 2013: 12-14. ( LI Y Z. Research on key technologies of intrusion prevention with immune response[D]. Qinhuangdao:Yanshan University, 2013:12-14. )