信息化高速发展带给人类社会的变革正在不断升华,云计算、大数据、搜索引擎、智能手机、网络购物、在线社交等新兴科技产物已走进千家万户,使人们有机会在短短几十年就看到互联网时代带给人类历史上从没有过的精彩与新奇。利益与风险总是并存,网络攻击像梦魇一样伴随着信息化的过程,网络安全已成为影响人类社会发展的全球性问题。随着信息系统复杂度的增大以及攻击手段的不断演进,传统静态网络防护手段已难以满足网络空间安全需求,动态防御策略是网络空间安全防护的新思路。本文在分析网络空间防御基本现状基础上,结合信息系统探讨了网络空间动态防御的相关概念和技术。
一、网络空间防御基本现状
在信息技术研发、应用的整个生命周期中,漏洞总是存在,不可避免。首先,冯·诺依曼架构自身的缺陷以及基于TCP/ IP协议栈互联网体系的不安全性问题,导致了安全漏洞的不可避免;其次,计算机软件系统规模的快速增长、新技术和新应用的推陈出新以及软件系统复杂度的提高,增大了漏洞产生的概率;最后,软件和系统是由人设计和实现出来的,人的天生惰性和认知局限性导致漏洞无法避免。而现有的网络安全防御体系综合采用防火墙、入侵检测、主机监控、身份认证、防病毒软件、漏洞修补等多种手段构筑堡垒式的刚性被动防御体系,阻挡或隔绝外界入侵,这种静态分层的深度防御体系基于先验知识,在面对已知攻击时,具有反应迅速、防护有效的优点,但无法应对未知漏洞攻击,而且单个攻击手段一旦对局部生效,很容易扩散开来,对全网造成大面积影响。漏洞的客观存在以及现有防护的被动性,导致了易攻难守的网络攻防不对称局面。
为了扭转网络攻防不对称局面,美国在对国家网络安全防御进行深入研究后,提出了“改变游戏规则”的网络安全防御新思路。这一思路可以追溯到2008年1月美国发布的《国家综合网络安全倡议》和2009年5月发布的《网络空间政策评审》,后者确定了美国政府应实施网络空间“改变游戏规则”的安全研发思路,同时启动了国家网络飞跃年,开始探索改变未来网络空间安全游戏规则的构想。2011年12月,美国国家科学技术委员会(NITRD)发布《可信网络空间:联邦网络空间安全研发战略规划》,核心是针对网络空间所面临的现实和潜在威胁来发展能“改变游戏规则”的革命性技术,确定了内置安全、移动目标防御、量身定制可信空间、网络经济激励4个“改变游戏规则”的研发主题,作为美国白宫网络安全研究与发展战略规划的四大关键领域。其中,动态目标防御(Moving Target Defense,MTD)技术被学术界、工业界看作是最有希望进入实战化应用的研究方向。
二、动态防御相关概念与技术
(一)相关概念
在军事领域,动态防御的思想可谓源远流长。《孙子兵法》云:“兵者,诡道也。”意思是用兵之道,在于千变万化,出其不意。动态目标防御就是将“变”的思想运用于网络空间防御,其创新性在于一反常态,由阵地战改为运动战或游击战。在部署、运行信息系统时,通过有效降低信息系统的确定性、相似性和静态性,增加其随机性,降低其可预见性,从而构建持续变化、不相似、不确定的信息系统,让信息系统对外呈现不可预测的变化状态,攻击者难以有足够时间发现或利用信息系统的安全漏洞,更不容其持续探测、反复攻击,从而提高了攻击难度和代价。显然,这是防护策略和游戏规则的大转变,改变了易攻难守的网络攻防不对称局面。
2016年,杨林等人在动态目标防御基础上,将“变”的思想全面应用于网络空间各个环节,提出动态赋能的基本概念,即:“动态赋能是一种需要在网络空间信息系统全生命周期设计过程中贯彻的基本安全理念,其目的在于通过一切可能的途径,在维护网络空间信息系统可用性的同时,使得信息系统全生命周期运转过程中的所有参与主体、通信协议、信息数据等都具备主动或被动地在时间和空间两个领域单独或者同时变换自身所有可能特征属性或属性对外呈现信息的能力,从而达到以下全部或部分效果:①攻击者难以发现目标;②攻击者发现的目标是错误的;③攻击者发现了目标但无法实施攻击;④攻击者能实施攻击但不可持续;⑤攻击者能实施攻击但很快被检测到。任何符合以上特点的技术都隶属于动态赋能网络安全防御技术的范畴。”这一个概念比“动态目标防御”有更大的作用域,它不仅是描述一种安全技术,更多的是描述信息系统自身组成通过变化所形成的一种内在安全能力。
(二)动态防御技术
在动态赋能网络空间防御体系中,动态防御的核心技术基础是多种多样的动态技术,每一种技术都是以保护信息系统中的某种实体为目的。一般来说,信息系统中的实体主要包括软件、网络节点、计算平台、数据等。因此,可相应地归纳出四大类动态防御技术:软件动态防御技术、网络动态防御技术、平台动态防御技术以及数据动态防御技术。
1.软件动态防御技术
软件动态防御技术主要应用随机化的思想,以密码技术、编译技术、动态运行时技术等为基础,对程序代码在控制结构、代码布局、执行时内存布局以及执行文件的组织结构等多层面进行随机性、多样性和动态性的处理,消除软件的同质化现象,实现软件的多态化,减小或者动态变化系统攻击面,增加攻击者漏洞利用难度,有效抵御针对软件缺陷的外部代码注入型攻击、文件篡改攻击、数据泄露攻击、感染攻击等攻击类型。相关技术主要有:地址空间布局随机化技术、指令集随机化技术、二进制代码随机化技术、软件多态化技术以及多变体执行技术等。
2.网络动态防御技术
网络动态防御技术是指在网络层面实施动态防御,具体是指在网络拓扑、网络配置、网络资源、网络节点、网络业务等网络要素方面,通过动态化、虚拟化和随机化方法,打破网络各要素静态性、确定性和相似性的缺陷,抵御针对目标网络的恶意攻击,提升攻击者网络探测和内网节点渗透的攻击难度。相关技术主要有:动态网络地址转换技术、网络地址空间随机化分配技术、端信息跳变防护技术网以及基于覆盖网络的相关动态防护技术。
3.平台动态防御技术
传统平台系统设计往往采用单一的架构,且在交付使用后长期保持不变,这就为攻击者进行侦察和攻击尝试提供了足够的时间。一旦系统漏洞被恶意攻击者发现并成功利用,系统将面临服务异常、信息被窃取、数据被篡改等严重危害。平台动态防御技术是解决这种系统同构性固有缺陷的一种有效途径。平台防御技术通过构建多样化的运行平台,动态改变应用运行的环境来使系统呈现出不确定性和动态性,从而缩短应用在某种平台上暴露的时间窗口,给攻击者造成侦察迷雾,使其难以摸清系统的具体构造,从而难以发动有效的攻击。相关技术主要包括:基于动态可重构的平台动态化、基于异构平台的应用热迁移、Web服务的多样化以及基于入侵容忍的平台动态化。
4.数据动态防御技术
数据动态防御技术主要是指能够根据系统的防御需求,动态化更改相关数据的格式、句法、编码或者表现形式,从而加大攻击者的复杂度,达到提高攻击难度的效果。在当前已知的研究中,数据动态化技术主要指面向内存数据的随机化和多样化技术,但部分研究中也将应用程序中协议语法和配置数据方面的多样化技术归结为数据动态化技术研究范畴。相关技术主要包括:数据随机化技术、N变体数据多样化技术、面向容错的N-Copy数据多样化以及面向Web应用安全的数据多样化技术等。
(三)动态防御技术的本质
前文介绍了针对软件、网络、平台和数据的多种可能的动态防御技术,信息系统可采用基于这些技术本身,或是基于这些技术的改进或者组合的防御手段,网络空间动态防御技术绝不局限于以上技术。除这些技术外,还需要研究者根据信息系统发展以及攻防成本等诸要素的博弈模型来选择合适的动态策略。但这些技术能给我们以启示,其应用实践也促使我们在面临不同的信息系统实体时,恰当地选择动态技术。这些启示可概括为以下两个原则。
原则一:隐藏实体特征信息最好的也最为通用的方法就是基于加/解密的信息随机化方法。这一概念运用在软件实体动态化上,就是软件随机化技术以及指令集随机化技术;运用在网络实体动态化上,就产生了IP地址随机化、端口随机化和网络特征的随机化;运用在数据实体动态化上,就产生了特殊类型数据的随机化或者分类数据的随机化。随机化技术的特点不在于用来发现攻击,而在于力求从本质上直接遏制攻击的发生。
原则二:多态化技术也是一种通用的动态化方法,这一方法的核心在于让实体同时存在多个形态。其对抗攻击的核心思想在于攻击者很难用一种攻击方式同时侵入多个变体。尽管攻击者仍可能突破其一,但只要多个变体出现差异化行为,就可以很快锁定攻击,进而对抗攻击,这一动态理念也在多个实体相关的动态技术中得到了体现,如软件多样化技术、平台多样化技术、数据多样化技术等。
深入分析原则一和原则二中提到的动态变化技术,可以更为本质地看到动态防御技术的本质,即时空动态化。一方面,随机化技术更多地呈现为实体在时间轴上实现的动态变化。以软件随机化为例,某一软件在时间点T1中采用的加密密钥会随着时间的推移而发生变化,在时间点T2软件就会可能因为加密密钥发生变化而产生不同的指令集、不同的内存地址空间分布或者差异化软件实体本身。另一方面,多变体技术更多地呈现为一个实体在空间上的动态变化。以平台多变体技术为例,对外提供同一种Web网页服务的后台可能是具有多种不同体系架构的多台服务器,如同时采用Linux+Apache、Windows+IIS两种完全不同的架构来提供对外呈现完全一致的Web网页服务。
总的来说,多数动态技术在本质上都是针对实体的某种组成部分或者实体呈现形式,在空间、时间或者空间+时间上实施规律性的变化或者驱动性的变化。通过总结以上规律,不仅使我们更容易对这些已有的动态技术进行区分和分类,还能让我们在未来思考更多、更可行的动态防御技术时,以这些规律来指导我们做出更快、更明智的判断。
三、结语
网络空间动态防御是对网络空间安全防御技术的一种探索,是将安全能力作为信息系统自身标准的一种设想,未来的网络空间防御体系将是在动态防御思想指导下的安全体系。本文探讨的动态防御相关思想将有助于推动未来网络空间主动防御体系的构建,让安全不再是信息系统发展的障碍,而是让安全成为信息系统发展的内生能力。
(原载于《保密科学技术》杂志2020年6月刊)