SDN网络抗DDoS动态纵深防御体系设计

  • A+
所属分类:安全文章
摘 要:SDN技于其开放性、转发与控制分离、可编程的集中控制模式等特性,已经成为目前可见的也是最为可行的网络智能化解决方案,这其中SDN制器扮演着重要角色,与此同时也是攻击者的重要目标。目前网络控制器面临的DDoS攻击是一种较难防御的网络攻击,它会呈现出基于时间、空间、强度等多维度攻击随机分布的特点,本文针对SDN控制面的DDoS攻击提出一种多维度多层次的动态纵深防护体系,具备纵深检测、态势感知、决策处置的闭环反馈特征。

引言

软件定义网络是一种数据面和控制平面分离的 网络模式,在此网络架构下的应用中,决定整个网络转发行为的控制器自然成为攻击者的目标,攻击者只要控制了控制器就可以控制整个网络。目前网络控制器面临的DDoS攻击是一种较难防御的网络攻击,它会呈现出基于时间、空间、强度等多维度、多层次攻击随机分布的特点,本文提出一种安全防御体系的设计,针对DDoS特征构建相应多维度多层次的动态纵深防护体系,将内生可信、拟态异构等作为内生安全防护基础,从攻击者发起的攻击生命周期角度,建立一个纵深检测、态势感知、决策处置的闭环反馈体系,全面覆盖攻击者攻击的主要路径和环节,同时引入大数据威胁分析,机器学习等技术,从而实现智能防御能力的持续提升,缩短网络空间安全对抗的不对称性。

1  SDN网络控制面临的DDoS威胁

软件定义网络 SDN ( Soft Defined Network )是 一种新的数据面和控制平面分离的网络模式。在 SDN中,控制器决定了整个网络的行为。这种逻辑 集中在一个软件模块的方式提供了多个好处。首先, 通过软件来修改网络策略比经由低级别的设备配置 更简单和更不容易出错。第二,控制程序可以自动 地响应在网络状态变化,以保持高级别策略。第三, 简化了网络功能发展,使得原本复杂的网络设备可 以简单化和通用化。
由于具有上述优点,SDN网络技术具有较好的应用前景。但是,SDN的网络可编程性和集中式控制平面也给网络带来了一些新的安全威胁。集中的控制平面很自然成为攻击者的目标,攻击者只要控制了控制器就可以控制整个网络。同时,网络可编程性产生的副作用是打开了之前不存在的新威胁的大门。例如,攻击可能利用一组特定的可编程设备的一个奇特的脆弱性损害了部分网络。因此,安全性问题应在SDN的设计中首先予以考虑。
DDoS攻击根据攻击方式大致划分为3类:泛洪攻击、畸形报文攻击、扫描探测类攻击,从网络层次的划分见表1所示。
表1 DDoS攻击种类列表

SDN网络抗DDoS动态纵深防御体系设计

如下图1所示为SDN网络控制平面所面临的多种威胁,包括应用层面、控制层面、数据平面等面临的安全威胁,攻击可以来自北向、东西向、南向等多种攻击实体。

SDN网络抗DDoS动态纵深防御体系设计

图1 SDN控制器面临的安全威胁示意图

1.1
北向接口威胁

北向通道指SDN网络控制器向第三方开放的 API接口,用户可以通过这些开放接口开发应用,并在SDN网络上部署,体现了SDN技术的开放性和可编程性。从传统的API设计来看,设计者们注重的是保证API执行过程无差错,而忽视了 API的安全性和鲁棒性。
近年来,尽管设计者们在尽力设 计安全的API,但各种缺陷仍然出现在很多已部署 的API中。有研究者提出,如果不能完全消除API中的安全缺陷,可以考虑开发一种新的设计标准来减少API使用带来的负面影响。北向通道向上层提 供接口时需要设置数据保护措施,防止第三方访问 核心数据。
由于应用程序种类繁多且不断更新,目前北向接口对应用程序的认证方法和认证力度尚没有统一的规定。此外,相对于控制层和基础设施层之间的南向接口,北向接口在控制器和应用程序之间所建立的信赖关系更加脆弱,攻击者可利用北向接口的开放性和可编程性,对控制器中的某些重要资源进行访问。
因此,对攻击者而言,攻击北向接口的门槛更低。目前,北向接口面临的安全问题主要包括 非法访问、数据泄露、消息篡改、身份假冒、应用程序自身的漏洞以及不同应用程序在合作时引入的新漏洞等。

1.2
南向接口威胁

OpenFlow是SDN网络中一种常用的南向标准协议,其协议本身存在漏洞。例如,OpenFlow协议要求在建立连接过程中,连接双方必须先发送 OFPT_HELLO消息给对方,若连接失败,则会发送 OFPT_ERROR消息,那么攻击者可以通过中途拦截OFPT_HELLO消息或者伪造OFPT_ERROR消息 来阻止连接正常建立。另外,攻击者可能恶意增加decrement TTL行为使数据包在网络中因TTL耗 尽而被丢弃。
同时,如果OpenFlow连接在中途中断,交换机会尝试与其余备用控制器建立连接,如果也无法建立连接,则交换机会进入紧急模式,正常流表项从流表中删除,所有数据包将按照紧急模式流表项转发,正常的数据转发完全失效,导致底层网络瘫痪。有研究者提出了一种策略,通过基于可靠性感知的控制器部署以及流量控制路由,提高 OpenFlow连接的可靠性,并尽可能实现连接失效后快速恢复。
其次,Openflow处于SDN网络数据转发层与 SDN网络控制层之间,这个单一的接口面临扩展性问题。OpenFlow接口的扩展性问题导致攻击者能够 通过发送特定的大量的流请求数据包,使得这个缺 乏扩展性的接口遭受拒绝服务攻击。造成扩展性问题以及由此发展而来的拒绝服务攻击隐患的根本原因在于OpenFlow接口分隔网络控制层与网络转发层,使得网络控制层集中化以方便对网络数据流进行细粒度控制的工作方式。
当OpenFlow转发层设备接收到一个新的数据包,转发层设备查询自己的流表项,发现没有与新数据包对应的网络流匹配的流表规则时,转发层设备会将该数据包发送给控制器。控制器接收到该数据包后,通过计算生成流表规则,将此流表项通过OpenFlow接口下发给转发层设备,以此规定转发层设备如何处理该数据包对应的网络流。
但是,由于控制器是网络的集中智能处理点,用于处理这些网络流转发需求的计算,因此,集中处理很快就体现出了扩展性问题,尤其是在网络面对如拒绝服务攻击等突发数据流时。
更为严重的是,由于转发层设备接收到的数据包能够驱动转发层设备与控制层设备的直接通信联系,当一个控制大量僵尸主机的攻击者产生一系列大量的独立的新网络流通信请求的时候,由于每个新网络流通信请求都产生一个新的不能够被转发层设备当前流表规则应对的数据包,因此,每一个这样的新数据包都会驱动转发层设备与控制层设备之间的通信联系。而这些通信联系全部都要经过OpenFlow接口,所以,OpenFlow接口在面对这类大量的新网络通信流请求时,很容易达到饱和状态,而无法应对其它通信需求。

1.3
东西向接口威胁

网络控制器东西向接口主要完成主从节点的选举,数据信息的同步,面临的威胁如下包括会话劫持、饱和流拒绝服务攻击等。
会话劫持由于SDN控制器之间采用软件接口的方式连接,攻击者假冒SDN控制器集群节点,采用重放攻击等攻击方式就可能对控制器的东西向会话进行劫持,能达到对网络控制器设备状态同步等数据进行恶意篡改、数据窃取等目的。
一旦SDN 控制器被攻击者非法接入,攻击者可能窃取网络拓扑、配置相关的数据库信息,或者对数据与控制器程序进行篡改,并以此为基础实施其他攻击与破坏。饱和流拒绝服务攻击也是一种针对SDN控制器的拒绝服务攻击,类似传统网络中的DDoS攻击,主要针对控制器东西向的通信接口发起大量的连接请求,消耗服务器系统资源为目的,它不但能够严重破坏控制器正常工作,还能够导致交换机无法进行数据转发。

2  抗DDoS纵深防御体系架构设计

SDN控制面是网络的控制中心,其必然成为攻击的首要对象。分布式拒绝服务攻击是一种耗尽型攻击,其主要特点在于攻击的流量强度大,攻击时间不可预测,攻击种类也不可预测,攻击来源分布于网络的许多地方,因此这类攻击的防御难度较大。为了应对上述DDoS攻击,设计了基于多层次的纵深防御体系。
SDN网络管理面,搜集网络控制面、数据面上报的DDoS安全事件进行综合分析,通过威胁分析和智能决策完成安全防护策略的下发,最终通过响应处置中心完成处置响应策略的下发,在控制面、数据面协同阻断已发现的DDoS攻击,其架构如下 图2所示。

SDN网络抗DDoS动态纵深防御体系设计

图2   SDN控制面抗DDoS架构
威胁阻断主要体现在两个方面开展。首先是网络控制面,基于动态编排的虚拟化安全防护资源及调度的主机防护开展。其次是网络数据面,基于软件定义的全网分布式多级纵深安全协同防御体系开展。
SDN网络控制面按需编排调度相应的安全防护资源,可以实时监测攻击的发起,从而启动相应内部或外部的流量清洗资源开展防御。考虑网络的健壮性与安全性,主要体现在被攻击的情况下,如何保证服务链的功能能够正常地运行而不被影响。
DDoS 一般呈现出随机性的特征,其强度、种类、时间都不可预测,因此在编排安全功能服务链的映射过程中可以采用同一网元功能映射出多台同一功 能的虚机或容器,这些虚机与容器可以位于不同的物理实体服务器平台上,同一服务链的业务由不同 的相同功能虚机或容器共同分担完成,一旦某台服 务器发生硬件或者软件上的故障,可以快速地将该服务器上虚机或容器所承载的业务流量导流到其他物理机上对应功能的虚机或容器,实现网络功能的 快速无缝切换,最大程度提升网络的鲁棒性。
除了考虑上述优化的目标之外,在服务链的映 射过程中应该考虑到一个重要的问题是,服务链的 映射不应该仅仅是静态的服务映射,在整个系统运行的过程中,用户的需求会存在不断变化的情况, 流量的到达会随着网络用户行为的不同而有所变 化,导致单条服务链所需的计算、存储、网络资源 是动态变化的;此外,服务链本身的数量也是在不断变化,部分网络业务需要临时启动,部分业务在完成了业务服务之后需要关闭,这些动态的过程对服务链的映射提出了新的挑战,这要求在服务链的映射过程中,充分考虑当前网络的现状,同时预测未来网络业务的变化趋势,基于这些信息进行网络的业务服务链的映射,以便于进一步的服务扩容与节能安排。
此外,SDN网络为了抗击大规模的DDoS攻击, 需要利用分级分域的流量清洗中心完成。为了遵循尽量从源头抑制攻击的原则,SDN控制面需要掌握全局的网络拓扑以及安全清洗资源的分布,通过优化计算可以牵引来自不同入口的威胁流量就近完成清洗。

3  基于虚拟化安全资源动态编排的主机防护设计

SDN网络控制器软件通常运行在高性能服务器的环境中,因此服务器的主机安全防护能力是整个 SDN控制器软件稳定可靠运行的基础,需要构建一个基于可信安全的主机防护架构。整个安全可信SDN控制器防护体系架构,如 下图3所示。

SDN网络抗DDoS动态纵深防御体系设计

图3  安全可信SDN控制器主机防护体系
其中,安全可信计算运行环境,采用可信根为引导,完成整个运行环境不受外界木马植入的威胁, 实现运行环境的受控运行。通过可信运行控制,完成上层应用程序基于白名单的安全运行控制,以防止恶意程序或未知病毒的运行。主机入侵防护软件, 安装运行在SDN控制器程序的同一虚拟机内,主要完成主机的安全防护功能,对各类已知、未知攻 击和恶意代码进行检测分析,主要包括可执行文件扫描、进程行为监控、恶意代码分析、流量攻击监 测等,为计算环境抵御攻击提供支撑。
安全防护虚拟机,提供L2〜L7安全防护功能, 能够与虚拟交换机、虚拟机管理系统之间实现无缝 结合。根据攻击强度,可动态编排分配此虚拟机资 源性能及数量,实施防护能力按需扩展,可与网络 控制器1 :N配置(N N 1)。其安全防护功能采 用精细化多层过滤防御技术,通过报文合法性检查、 特征过滤、虚假源认证、应用层认证、会话分析、 行为分析、智能限速等技术手段,阻断针对协议栈 的威胁攻击、具有特征的DDoS攻击、传输协议层威胁攻击、应用协议层攻击、异常连接威胁、慢速攻击、突发流量攻击等。
安全综合管理虚拟机,作为一个独立的虚拟机 存在,实现安全监测预警和综合决策管理功能。安全监测预警模块通过运行在其他虚拟机上的探针上报各类安全事件和日志信息,实现对网络数据的实时监测分析,及时发现各类网络威胁攻击,实时监 测各类主机安全运行状态,产生并展现网络控制器的安全态势,为安全综合决策处置提供重要支撑。安全综合决策管理模块,通过安全监测预警模块提供的安全态势信息,通过综合智能决策(应急预案 库、知识库、机器学习)完成安全应急处置任务的创建与下发。

4  全网分布式多级安全协同防御设计

由于常见的DDoS攻击呈现分布式特征,其强度、时间、攻击类型都存在不确定性,因此为了适应高强度的攻击主机防护能力是不够的,需要全网构建多级检测及清洗防御架构,防御级别、资源数 量和力度均随着攻击强度进行自适应和调整,此外为了应对分布式攻击,需要建立分布式的区域检测和清洗中心的模式进行联动响应,将流量尽可能的在源头被抑制。
DDoS主要是耗尽型攻击,其特征呈现为大流量,因此需要监测、清洗、评估闭环控制。其中流量监测的主要工作是分类统计流量,和预先配置的检测阈值进行比较来判断是否启动清洗,阈值的合理设置涉及到周期性的网络流量统计和机器学习等动态流量基线技术,在检测中也涉及到针对精细化的逐包检测以及抽样方式的逐流检测等不同类型,以及基于大数据的信誉体系构建,使得系统的检测 和处理更加高效。
其次,清洗技术涉及到报文攻击 特征的识别与过滤,釆用预置攻击特征的静态指纹 与自动学习的动态指纹相结合,其中可以引入人工 智能机器学习等新技术实现自动提取指纹特征。
如下图4所示为一个全网分布式多级纵深安 全协同防御的体系架构,随着攻击强度的增加,一旦超过流量阈值门限,SDN控制器集群会上报安全事件给全网监测预警中心,由监测预警中心通过事件分析与智能决策,按照就近引流原则牵引全网攻击流量至多个分布式部署的区域清洗中心,完成 DDoS攻击流量清洗,区域清洗中心的分布式部署可以按照分级分域的方式进行设计,与网络体系分层架构保持一致,尽量从攻击源头消除威胁。

SDN网络抗DDoS动态纵深防御体系设计

图4  全网分布式多级安全协同防御设计

5  结语

针对上述分析的SDN控制器面临的各种安全 威胁情况,整个SDN网络控制的安全防护的体系架构需要整体设计,提供可信可控、全维全时、协同纵深的安全防护保障,能够抵御来自各个层面的攻击威胁,为网络防御行动指挥和运维管理提供智能高效、体系联动的安全防护保障,从而有效抵御战略对手大规模、高强度网络攻击,有效保障基础网络安全运行、信息系统安全应用、信息资源安全共享,为基于网络信息体系的联合作战提供牢固的安全基石。


原文来源:信息安全与通信保密杂志社

SDN网络抗DDoS动态纵深防御体系设计

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: