谈SDN和 NFV技术的网络安全架构

谈SDN和 NFV技术的网络安全架构

摘 要:基于软件定义网络(SDN)和网络功能虚拟化(NFV)的新型网络取代传统网络势在必行,因此研究基于新网络环境的网络安全体系结构迫在眉睫。介绍了一种开放且通用的软件定义的SDS安全架构,它可以为安全服务、安全设备和安全管理提供一个开放的接口,并且支持不同的网络安全供应商部署其安全产品和安全解决方案。此外,可以实现虚拟安全功能VSF的部署、安排和定制,并且实现了细粒度的数据流控制和安全策略管理。最后,还分析了系统不同部分易受攻击的不同类型的攻击。防御者可以通过更改服务器端安全性配置方案来防备网络攻击。

关键词:网络功能虚拟化;软件定义的网络;虚拟安全功能;软件定义的安全;安全服务功能路径

0 引言

新一代的网络主要基于软件定义网络(SDN)和网络功能虚拟化(NFV)实现[1-2]。SDN将网络设备的控制层和数据层分开。网络不仅可以完成数据传输的任务,而且可以成为一种灵活的资源,经过虚拟化后可以作为计算和存储资源进行部署。而NFV使软件和硬件脱钩,因此网络设备功能不再依赖于特殊的硬件。基于此的虚拟化技术和功能抽象实现了基于实际业务需求的网络功能软件、新业务的快速发展和部署、自动部署、弹性扩展、故障隔离自我修复等功能。2015年,绿盟科技有限公司的软件定义安全系统支持apt、云Web安全、自适应访问控制、信息混合环境中的态势感知和其他安全应用[3]。华为的SNC控制器可以提供端到端的完整解决方案,以帮助运营商快速部署SDN网络,减少OPEX,快速部署新服务并加速业务创新[4]。但是,目前所提出的封闭系统仍然是单一的安全产品和解决方案,缺乏情报威胁分析和处理,无法提供真正的定制产品,并且检测和深度数据挖掘机制无法找到真正的威胁。本文提出了一种标准且开源的、用户定义的新型网络架构,该架构可以为许多安全产品和服务提供商提供一个可协调、可互操作、可控制的安全平台,并为软件定义安全提供了参考体系结构和蓝图。

1 基于SDN/NFV技术的软件定义安全体系架构设计

SDS基础架构图,如图1所示。整体上分为3个层次:安全应用层、安全控制层和基础设施。其中,安全应用层即为安全App所在层次,App通过接口实现对安全控制和有关操作。基础设施层包括了云平台以及其相关的资源集合(主要是虚拟机)、安全资源池(CPU、内存、带宽等软硬件资源)。安全控制层是SDS架构的核心部分,下面将对该部分展开详细介绍。基于NFV技术的虚拟安全资源池:基于NFV的思想,我们将安全产品的硬件与软件分开,并在虚拟化池环境中运行它。利用虚拟交换机实现导流平台导流:利用部署在云环境中的分流虚拟机,将流量导出到云外网络安全控制层的虚拟交换机中。利用虚拟路由器实现流量分类:网络安全控制层的虚拟路由管理器可以根据应用层的流量牵引策略设计流量分类策略,然后将流量分类策略发送给流量分类虚拟路由器。虚拟安全功能(VSF):VSF用来描述网络中处理流量的安全功能,如防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、负载平衡等。安全服务功能链(SSFC):安全服务功能链是将虚拟安全功能(如防火墙、入侵检测系统、、入侵防御系统等)以链的形式连接起来,用于流量分类[5]。安全服务功能路径(SSFP):SSFP是SSFC中包/帧从源到目标的逻辑路径经过细粒度策略和操作约束后的结果。SSFP的优点是SSFC中的VSF模块可以按照粒度策略和操作约束执行,而不需要改变SSFC的拓扑结构[6]。网络安全策略管理和流量牵引策略管理:在本系统中,PGA[7-8]负责安全策略管理模块和流量牵引策略管理。在大型企业网的数据测试中,PGA表现出良好的数据处理能力和良好的时延,验证了PGA的可行性[9]。虚拟安全功能管理器(VSFM):主要是负责虚拟安全功能的相关资源和生命周期管理。虚拟安全基础设施管理器(VSIM):虚拟安全基础设施(VSI)包括虚拟化层(如docker和虚拟交换机)[10]和物理资源(如服务器、交换机和计算、存储和网络资源)。而VSIM的主要功能是管理和监控整个基础设施资源(包括硬件资源和虚拟资源)。虚拟安全功能适配器(VSFO):主要功能是创建虚拟网络和网络安全服务、监控虚拟网络安全服务、编排虚拟网络安全功能拓扑、VSFs和整体资源管理,它是整个SDS的控制核心结构。应用层:安全控制层为应用层用户提供编程接口,用户可以控制网络。

2 系统安全分析

系统不同部分的安全问题罗列如表1所示。假设系统包括了P个漏洞组,每个组np个成员;每个易受攻击的组中的漏洞表述为Vp:{vp,1,vp,2,…….,vp,np};每个漏洞组的用户配置描述为Cp:{cp,1,cp,2,…….,cp,mp};使用映射函数为πp,它将各个系统的配置和一组漏洞相关联,其表述为πp:Cp→2vp。配置和攻击传播序列如图2所示。 在图2中,有6个漏洞组:p=1,2,3,4,5,6。每个漏洞组有2-4个漏洞。对于漏洞组1有4个可能的灵活性配置:C1:{c1,1,c1,2,c1,3,c1,4}。如图2,配置方案我们选择c1,4,其向攻击者暴露了2个系统漏洞π1(c1,4)={v1,1,v1,2}。在配置方案{c1,1,c2,4,c3,5,c4,8,c5,2,c6,3}中,攻击者可以成功的通过漏洞完成攻击,如{v1,1,v2,1,v3,1,v4,1,v5,1,v6,2}。如果系统配置方案保持静态,攻击者总有一刻可能攻击成功。为了避免上述情况,防御者可以通过更改配置方案使得攻击者基于原始网络配置的攻击计划在新配置下失败。防御者可以随机配置系统中所有易受攻击的组件,以抵抗多层次攻击。

3 总结

正如文献[5]的作者所说,软件定义安全只是一种思考。也就是说,当分析不同SDS产品的不同实现时,我们不应该深究细节,而应该思考“如何提高这种架构的整体安全保护效率”。国内外很多厂商都推出了自己的SDS产品,我们需要一个类似于网络安全操作系统的开放平台。

作者:曹鑫 范国瑨 王昊辰 单位:国网陕西省电力公司西咸新区供电公司