动态防御技术的分类知识

发布人:小e君 发布时间:2020-12-28 17:33:40

在动态赋能网络空间防御体系中,动态防御的核心技术基础是多种多样的动态技术,每一种技术都是以保护信息系统中的某种实体为目的。一般来说,信息系统中的实体主要包括软件、网络节点、计算平台、数据。因此,可相应地归纳出四大类动态防御技术:软件动态防御技术、网络动态防御技术、平台动态防御技术以及数据动态防御技术。

动态防御技术

1.软件动态防御技术

软件动态防御技术主要应用随机化的思想,以密码技术、编译技术、动态运行时技术等为基础,对程序代码在控制结构、代码布局、执行时内存布局以及执行文件的组织结构等多层面进行随机性、多样性和动态性的处理,消除软件的同质化现象,实现软件的多态化,减小或者动态变化系统攻击面,增加攻击者漏洞利用难度,有效抵御针对软件缺陷的外部代码注入型攻击、文件篡改攻击、数据泄露攻击、感染攻击等攻击类型。相关技术主要有:地址空间布局随机化技术、指令集随机化技术、二进制代码随机化技术、软件多态化技术以及多变体执行技术等。

2.网络动态防御技术

网络动态防御技术是指在网络层面实施动态防御,具体是指在网络拓扑、网络配置、网络资源、网络节点、网络业务等网络要素方面,通过动态化、虚拟化和随机化方法,打破网络各要素静态性、确定性和相似性的缺陷,抵御针对目标网络的恶意攻击,提升攻击者网络探测和内网节点渗透的攻击难度。相关技术主要有:动态网络地址转换技术、网络地址空间随机化分配技术、端信息跳变防护技术以及基于覆盖网络的相关动态防护技术。

3.平台动态防御技术

传统平台系统设计往往采用单一的架构,且在交付使用后长期保持不变,这就为攻击者进行侦察和攻击尝试提供了足够的时间。一旦系统漏洞被恶意攻击者发现并成功利用,系统将面临服务异常、信息被窃取、数据被篡改等严重危害。平台动态防御技术是解决这种系统同构性固有缺陷的一种有效途径。平台防御技术通过构建多样化的运行平台,动态改变应用运行的环境来使系统呈现出不确定性和动态性,从而缩短应用在某种平台上暴露的时间窗口,给攻击者造成侦察迷雾,使其难以摸清系统的具体构造,从而难以发动有效的攻击。相关技术主要包括:基于动态可重构的平台动态化、基于异构平台的应用热迁移、Web服务的多样化以及基于入侵容忍的平台动态化。

4.数据动态防御技术

数据动态防御技术主要是指能够根据系统的防御需求,动态化更改相关数据的格式、句法、编码或者表现形式,从而加大攻击的复杂度,达到提高攻击难度的效果。在当前已知的研究中,数据动态化技术主要指面向内存数据的随机化和多样化技术,但部分研究也将应用程序中协议语法和配置数据方面的多样化技术归结为数据动态化技术研究范畴。相关技术主要包括:数据随机化技术、N变体数据多样化技术、面向容错的N-Copy数据多样化技术以及面向Web应用安全的数据多样化技术等。二

动态防御技术的本质

前文介绍了针对软件、网络、平台和数据的多种可能的动态防御技术,信息系统可采用基于这些技术本身,或是基于这些技术的改进或者组合的防御手段,网络空间动态防御技术绝不局限于以上技术。除这些技术外,还需要研究者根据信息系统发展以及攻防成本等诸要素的博弈模型来选择合适的动态策略。但这些技术能给我们以启示,其应用实践也促使我们在面临不同的信息系统实体时,恰当地选择动态技术。这些启示可概括为以下两个原则。

原则一:隐藏实体特征信息最好的也最为通用的方法就是基于加/解密的信息随机化方法。这一概念运用在软件实体动态化上,就是软件随机化技术以及指令集随机化技术;运用在网络实体动态化上,就产生了IP地址随机化、端口随机化和网络特征的随机化;运用在数据实体动态化上,就产生了特殊类型数据的随机化或者分类数据的随机化。随机化技术的特点不在于用来发现攻击,而在于力求从本质上直接遏制攻击的发生。

原则二:多态化技术也是一种通用的动态化方法,这一方法的核心在于让实体同时存在多个形态。其对抗攻击的核心思想在于攻击者很难用一种攻击方式同时侵入多个变体。尽管攻击者仍可能突破其一,但只要多个变体出现差异化行为,就可以很快锁定攻击,进而对抗攻击,这一动态理念也在多个实体相关的动态技术中得到了体现,如软件多样化技术、平台多样化技术、数据多样化技术等。

深入分析原则一和原则二中提到的动态变化技术,可以更为本质地看到动态防御技术的本质,即时空动态化。一方面,随机化技术更多地呈现为实体在时间轴上实现的动态变化。以软件随机化为例,某一软件在时间点T1中采用的加密密钥会随着时间的推移而发生变化,在时间点T2软件就会可能因为加密密钥发生变化而产生不同的指令集、不同的内存地址空间分布或者差异化软件实体本身。另一方面,多变体技术更多地呈现为一个实体在空间上的动态变化。以平台多变体技术为例,对外提供同一种Web网页服务的后台可能是具有多种不同体系架构的多台服务器,如同时采用Linux+Apache、Windows+IIS两种完全不同的架构来提供对外呈现完全一致的Web网页服务。

总的来说,多数动态技术在本质上都是针对实体的某种组成部分或者实体呈现形式,在空间、时间或者空间+时间上实施规律性的变化或者驱动性的变化。通过总结以上规律,不仅使我们更容易对这些已有的动态技术进行区分和分类,还能让我们在未来思考更多、更可行的动态防御技术时,以这些规律来指导我们做出更快、更明智的判断。

动态防御技术