软体定义安全(Software Defined Security,SDS)是从软体定义网路(Software Defined Network,SDN)引申而来,原理是将物理及虚拟的网路安全设备与其接入模式、部署方式、实现功能进行了解耦,底层抽象为安全资源池里的资源,顶层统一通过软体编程的方式进行智慧型化、自动化的业务编排和管理,以完成相应的安全功能,从而实现一种灵活的安全防护。
产生背景
传统的网路安全防护方法通常是根据网路的拓扑情况,以手动方式在安全域边界串联或旁路部署安全设备,对进出安全域的流量进行监控。如果将这种与接入模式、部署方式紧密耦合的防护方法沿用到複杂的网路环境(例如,物理与虚拟网路共存的数据中心)中,会存在诸多的不适应性,例如:
- 安全设备部署过程繁複
- 不能区别处理流经的流量
- 安全防护範围僵化
- 安全设备成为单一故障点
借鉴软体定义网路(SDN)的思想,一种灵活的网路安全防护方法——SDS应运而生,在对複杂网路的安全防护上表现出更强的适应性。
工作模型
就工作机制而言,SDS可以分解为软体定义流量、软体定义资源、软体定义威胁模型,三个举措环环相扣,形成一个动态、闭环的工作模型,如图1所示。
- 软体定义流量:由软体编程的方式来实现网路流量的细粒度定义及转发控制管理,通过将目标网路流量转发到安全设备上,来实现安全设备的逻辑部署和使用。
- 软体定义资源:通过管理中心对安全资源进行统一注册、池化管理、弹性分配,在虚拟计算环境下,管理中心还要支持虚拟安全设备模板的分发和设备的创建。
- 软体定义威胁模型:对网路流量、网路行为、安全事件等信息进行自动化的採集、分析和挖掘,实现对未知的威胁甚至是一些高级安全威胁的实时分析和建模,之后自动用建模结果指导流量定义,实现一种动态、闭环的安全防护。
层次框架
就具体实现而言,SDS框架可以划分为4个层次,由底至顶分别为安全资源层、转发层、控制层、管理编排层,如图2所示。
- 安全资源层:由各种物理形态或虚拟形态的网路安全设备组成,兼容各厂商的产品。这些安全设备接受统一部署、管理、调度,以实现相应的安全功能。
- 转发层:即SDN网路中的网路设施层(Infrastructure Layer),是一类仅需根据控制器指令进行数据包转发,而无需自主的理解和处理各种网路协定的网路交换设备。将网路安全设备接入转发层,通过将流量导入或绕过安全设备,即可实现安全设备的部署和撤销。
- 控制层:能够根据不同业务的安全策略,从全局的视野对转发层、安全资源进行集中管理并下发调度命令。
- 管理编排层:由侧重于安全方面的套用组成,将用户配置的或运行中实时产生的安全功能需求转化为具体的安全资源调度策略,并通过控制层予以下发,实现安全防护的智慧型化、自动化、服务化。
特点分析
SDS通过软体编程的方式调配安全设备资源,实现了一种灵活的网路安全防护框架。与传统的网路安全防护方法相比,SDS有如下特(优)点:
- 安全功能部署灵活简单
- 细粒度区分流量
- 安全防护範围动态调整
- 维护网路高可靠性
- 安全功能易于创新
支撑技术
採用现有技术已经能够实现SDS。要全面覆盖现有的数据中心网路情况,需要採用以下两类关键技术:
- 基于SDN/Openflow技术:适用于开源虚拟计算平台上的虚拟网路以及特定物理网路的安全防护。将安全设备接入SDN的转发层,由套用层程式调用控制层接口来设定转发层的转发表,基于这种流量转发的可定义性来实现灵活的逻辑部署。
- 虚拟计算平台接口编排技术:适用于闭源虚拟计算平台上的虚拟网路防护。这类平台上的虚拟网路设备通常採用传统的自主工作模式,不能如SDN/Openflow技术一样通过设定转发表来实现安全设备的部署和撤销。这里可以编排平台提供的接口,通过将虚拟安全设备接入或断出虚拟交换机的方法,实现安全设备的灵活使用。
现状前景
随着虚拟化、SDN网路在数据中心快速的发展、完善、套用,传统网路安全防护方法已经显示出不适应性。为了满足网路安全新需求,工业界和学术界开始在SDS方面展开积极的探索。