APP下载

基于SDN的网络虚拟化安全研究

2015-08-08陶松

电脑知识与技术 2015年15期
关键词:安全策略数据包虚拟化

陶松

摘要:该文首先介绍了软件定义网络(SDN)概念,基于SDN技术构建网络,实现了网络虚拟化发展和应用,然后分析了网络虚拟化所带来的主要网络信息安全威胁情况,沿着软件定义思路出发,针对网络虚拟化存在的安全风险,提出了软件定义信息安全(SDIS)的概念,并结合SDN架构体系设计了软件定义信息安全架构体系,最后给出软件定义信息安全攻击防护过程中的数据采集、异常检测和策略执行等3个具体实现环节。

关键字:软件定义网络;网络虚拟化;软件定义信息安全

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)15-0023-03

Abstract: The paper first introduces the concept of software-defined networking (SDN) and the network framework basing on SDN which realizes the development and application of network virtualization. It then analyzes new threats brought by SDN to network information security. To address the existing security risks, the paper follows the software-defined idea to propose the concept of software-defined information security (SDIS), designs its framework and shows the concrete steps of SDIS protection—data collection, anomaly detection and strategy execution.

Key words: SDN(software-defined networking); network virtualization; software-defined information security

随着信息技术和网络的快速发展,信息系统越来越庞大,传统网络架构和模式越发复杂,很难管理和控制,业务迁移难,已无法满足“简单、高效、灵活、通用”等要求,需要进行革新,由此催生了软件定义网络(Software Defined Network,SDN)诞生。网络虚拟化必然面临新的信息安全的挑战,其信息安全的防护不断向前演进,信息安全架构随着网络结构虚拟化而产生相应的改变,把SDN的理念延伸到信息安全领域,遵循“软件定义(SDX)”研究路径,我们将它称为软件定义信息安全(Software Defined Information Security,SDIS)。

1软件定义网络(SDN)

软件定义网络(SDN)的诞生是网络技术发展的一场全新变革,创建了一种全新的网络架构,它最初是由斯坦福大学Clean Slate研究组开发出来的,其核心思想就是把网络设备的控制平面与网络设备本身相分离,形成一种可以通过软件编程定义的网络,使得网络架构和流量可以得到快速、高效和灵活掌控。形象的说,SDN实现了计算机网络如同计算机(PC)般可编程操控,可以创建方便管理的网络虚拟化层,从而为核心网络搭建了良好的控制平台。

开放网络基金会(ONF)组织最初在白皮书中提到SDN体系结构[1],并于2013年底发布最新版本[2],其架构如图1所示。SDN由下到上(或称由南向北)分为数据平面、控制平面和应用平面。数据平面与控制平面之间利用SDN控制数据平面接口(Control-Data-Plane Interface,简称CDPI)进行通信,CDPI具有统一的通信标准,采用OpenFlow协议作为标准化的应用协议,用来描述控制器和交换机之间交互所用信息的标准,以及控制器和交换机的接口标准,实现对网络的集中控制。控制平面与应用平面之间由SDN北向接口(Northbound Interface,简称NBI)负责通信,SDN应用则可以根据用户不同的需求而进行相应的个性化开发[3]。

2 网络虚拟化安全风险

SDN将网络虚拟化成为现实,能够更好的支持云计算和虚拟化技术的广泛运用,给网络管理带来了颠覆性变化,可以通过编程快速改变网络拓扑、动态组网等技术来简化网络管理。同时,SDN面临的最大挑战,就是与网络虚拟化所提供的网络拓扑灵活性“孪生”的网络边界动态性,云内网络安全的保障将更加依赖于安全策略和安全构件的动态部署、配置和管理,更加依赖于网络安全系统对流量和业务的感知、决策与响应。

网络虚拟化带来新的安全威胁主要如下。

2.1 虚拟网络的数据流难以理解

虚拟主机(Virtual Machine,VM)之间的通信数据包与传统网络数据交换有着不同的定义,传统的网络安全设备无法理解这些数据流,也就无法施以正确安全策略,此外,很多虚拟主机之间通过GRE隧道传输数据包,以至于传统网络安全设备将不能解析这些封装后的数据流。

2.2 存在监测死角

虚拟主机需要和外界进行数据交换,一是不同物理主机上的VM之间数据流,二是同一物理主机内部VM之间数据流。后者仅在物理主机中进行,不需要经过网络设备转发,因此根本无法被安全设备监测到,成为安全系统的监测死角。攻击者可以在物理主机内部虚拟网络中发动攻击而不会被安全设备发现。如图2所示,攻击者在虚拟机VM1中攻击VM2,数据流没有经过物理交换机,也不会传输到防火墙和IDS设备,这样的攻击无法被监测到。

2.3 现有安全设备缺乏支持

网络虚拟化能够灵活适应业务动态性和快速变化。例如当VM从一台物理主机无缝快速迁移到另一台物理主机时,或当增、删VM时,网络虚拟化管理可以快速调整网络拓扑,在旧物理网络中删除原网络资源,并在新的物理网络中分配现需网络资源。相应地,安全解决方案也应将原有网络设备和安全设备的安全控制(ACL和QoS)跟随迁移,然而现有安全产品缺乏对安全策略迁移的支持,导致安全边界不能适应虚拟网络的变化。

2.4 网络流量不可见

在传统网络中,所有数据包经由交换机或路由器,这些设备可以感知并学习当前环境的数据流量,以有针对性的动态调整路由策略。但是在基于OpenFlow的SDN架构中,网络控制器只会受到底层设备发来的部分数据包,并不了解控制域中大部分直接被转发的数据流具体内容。

2.5 主机安全隐患

传统的网络结构通过路由器和三层交换机逻辑隔离出一个个相对独立的网络安全域,主机在严格策略控制的安全域中可以得到较好的安全保护,SDN将控制平面与网络设备相分离,组成统一集中的控制器,因而主机被置于一个相对开发的网络环境中,将面临更大的安全风险。目前Openflow 1.3设计了一套安全措施,针对SDN控制器和网络交换机之间的控制通道,采用基于数字证书的双向认证和通信加密技术,但这种安全机制还存在一些缺陷和隐患[4]。

2.6 SDN控制器失效

从图1所示的SDN体系结构中,我们不难发现,SDN控制器处于SDN体系核心层次[5],负责上通下达和集中统一,是网络虚拟化的最重要、最核心设施。虽然SDN控制器在设计之初就考虑到各种可能攻击,然而,由于SDN控制器自身功能的复杂性和开放接口,其设计上难免存有很多漏洞,就如同操作系统(OS)一样,在使用中不但被暴露漏洞。再者,从SDN控制器在虚拟网络中所处的核心位置,必然十分吸引攻击者的最大兴趣,成为主要攻击目标,一旦攻破SDN控制器,攻击者就会完全占领网络,可向全部网络设备发送指令,为所欲为。如,将重新定向数据流,造成敏感信息泄露,甚至让整个网络瘫痪。因此,SDN控制器存在单点失效,一旦出现问题,其产生的后果不可估量。

2.7 控制信息难验证

除了攻击控制器外,控制器和网络设备间的通信业也可能存在安全问题。虽然OpenFlow协议规定两者通信可使用加密的通道,但是如何保证交互双方可信是一个问题。一方面,攻击者假冒网络控制器发送恶意控制命令,即可改变网络拓扑,破坏安全策略,或是修改数据流绕过防火墙。另一方面,攻击者也可以通过控制某些网络设施,向控制器发送伪造的数据包,影响控制器对网络流量的判断。

3 软件定义信息安全

单层防御、封闭的传统安全防护显然无法满足网络虚拟化安全需求,无法应对上述各种安全威胁的挑战,软件定义信息安全(SDIS)应运而生。

3.1 软件定义信息安全概念

从SDN概念出发,我们可以引申出软件定义信息安全(SDIS)的概念,与SDN相对应,它强调安全硬件设备的可编程化。SDIS将安全策略执行点(数据平面)与安全控制器(控制平面)相互分离,从而使安全设备能快速、自动地适应业务的动态变化。软件定义信息安全的精髓在于打破了安全设备的生态封闭性,在尽量实现最小开放原则的同时,使得安全设备之间或安全设备与应用软件有效地互动以提升整体安全性,而非简单理解为增加了安全设备的风险敞口。

3.2 软件定义信息安全架构

相对于具体的技术而言,SDIS是一种应用信息安全的设计理念,是一种架构思想,这种思想可以落地为具体的架构设计。对照流行的网络虚拟化技术——软件定义网络(SDN),SDIS技术架构会有如下模块:SDIS南向接口(安全设备与大脑系统的API)、信息安全大脑系统(类似SDN的Controller)、SDIS北向接口(用户与大脑系统的接口或界面)。再从软件定义信息安全SDIS的概念命名来看,软件二字既可以是应用软件,也可以是纵深防御的大脑系统。

SDIS将实现应用软件与安全设备的API级互动[6],更重要的是各安全设备之间、或纵深防御大脑系统与安全设备之间的API级联动,以构建纵深防御体系,以应对更加高级、上层的攻击方式。例如,攻击者攻击某电商网站促销活动,具体做法是采用恶意下单攻击,当该电商网站开展促销活动时,攻击者注册很多账号来抢光商品,但却延迟支付。SDIS应对这种攻击方式的一种解决思路,就是让应用软件的恶意下单检测模块与FireWall互动。

3.3 SDIS具体实现

SDIS在管理上可以灵活将安全硬件设备和应用深入结合、联动协同防御,随应用变化灵活调整安全部署和策略,具体攻击防护过程的实现可分解为下面三个环节:即海量数据的采集、智能和情境感知(Context-aware)的异常检测和以流表项表达的安全策略执行。

3.3.1 海量数据的采集

SDIS对网络虚拟化的网络流量、网络行为、安全事件等信息进行自动化的采集、分析和挖掘,需采集海量数据。SDN提供了一种新的数据采集方式。在SDN架构中,允许将制定的数据包发送到控制器。那些没有匹配到任何规则的数据包都可以看作疑似异常的数据,有必要发送到控制器做进一步分析。对于那些匹配上的数据包,流表项的计数器会记录相应的包数和字节数。

3.3.2 智能和情境感知(Context-aware)的异常检测

在复杂的网络中发现入侵行为已经证明是很困难的。隐蔽的攻击者已经突破了传统的防御措施,如入侵防御系统、防火墙和杀毒软件,“大数据分析(BDA)”的方法将提供新的希望。

传统的安全网关,异常检测和数据包转发处理往往集成在一个设备中。SDIS的架构使得异常检测(相当于网络设备的控制平面)从安全网关中剥离出来,安全网关只负责根据流表进行数据包的转发处理。以便于在一个计算能力更强的、开放的、综合的平台上完成异常检测,例如将数据集中到云计算平台上进行异常检测的计算分析。

传统的异常检测往往是基于特征的静态对比,没有考虑到时间因素。实际环境中,同样的访问行为在不同的时机条件下,实际的效果不同,最终被判断的结果应该不同。基于大数据分析的异常检测可以综合时机因素对访问行为做出判断。

在一个开放的平台上利用云计算法对多种来源数据进行分析计算,并结合查询漏洞库、特征库、信誉库等各种信息库的结果,做出综合判断。这种检测过程较传统的特征比对的方法更容易获得准确的检测结果。

3.3.3 以流表项表达安全策略

安全策略一般由“规则(Rule)”和“动作(Action)”组成的,而OpenFlow的流表项也有同样的组成元素。因此流表项可以很适合用来表达一个安全策略,例如防火墙的ACL完全可以写成流表项的形式。在SDN架构下,传统的安全设备将分裂为两个部分:一部分是前面讲的异常检测,这部分具有高度的分析智能;另一部分是负责数据包处理的硬件设备。数据包处理的依据就是表达安全策略的流表项,分析平台负责将检测结果生成流表项,并下发到硬件设备上。

4 结语

采用软件定义网络(SDN)技术构建的网络虚拟化,带来便捷、灵活化管理的同时,也使得网络安全风险面临全新的挑战,本文详细地分析了网络虚拟化后存在的一些安全风险的新的变化和威胁情况,最后从SDN出发给出了解决这些安全风险的一种新的安全理念和架构——软件定义信息安全(SDIS),具有一定的创新性,然而还存在一些不足之处,如网络虚拟化的安全风险分析不够全面,软件定义信息安全架构还不尽完善,同时,既然SDIS是在SDN基础之上的延伸,SDIS是否继承SDN的优良特性以及新的变化将也是进一步研究的重点。

参考文献:

[1] Open Networking Foundation. Software-Defined networking: The new norm for networks. ONF White Paper, 2012.

[2] Open Networking Foundation. SDN architecture overview, version 1.0. 2013.

[3] 张朝昆,崔勇,唐翯祎,等.软件定义网络(SDN)研究进展[J].软件学报,2015,26(1):62-81.

[4] 何恩,张德治,郝平.软件定义网络安全研究[J].通信技术,2014,47(1):86-90.

[5] 裘晓峰,赵粮,高腾.VSA和SDS:两种SDN网络安全架构的研究[J].小型微型计算机系统,2013,34(10):2298-2303.

[6] 刘文懋,裘晓峰,陈鹏程,等.面向SDN环境的软件定义安全架构[J].计算机科学与探索,2015,9(1):63-70.

[7] 刘文懋.SDN网络的新型安全架构和实践[EB/OL].http://labs.chinamobile.com/news/107911, 2014-08-15.

猜你喜欢

安全策略数据包虚拟化
基于认知负荷理论的叉车安全策略分析
基于飞行疲劳角度探究民航飞行员飞行安全策略
基于OpenStack虚拟化网络管理平台的设计与实现
SmartSniff
对基于Docker的虚拟化技术的几点探讨
浅析涉密信息系统安全策略
虚拟化技术在计算机技术创造中的应用
存储虚拟化还有优势吗?
如何加强农村食盐消费安全策略
视觉注意的数据包优先级排序策略研究