拟态防御技术详解(核心技术篇)

网络安全技术经过几十年的发展,其演进路线总体上遵循规则引擎+特征库的威胁处理范式,人们致力于先发现威胁,然后避免其再次被恶意利用,归根到底还是期望威胁能够在系统中被彻底“归零”。但是在此范式下,威胁的发现与处理不可避免地存在时间差,使得攻击与防御永远处于不对称的格局中,这便是网络安全行业长期难以解决的痛点。

而如今,我们开始思考如何从安全的本源出发,寻求一种新范式,借以在系统内部重构安全体系框架,让安全由“外挂”变成“内生”,由只能防御已知威胁到可以应对未知威胁。内生安全拟态防御技术正是基于此目标,从多年的学术研究走向目前的落地应用,不失为行业未来发展的一个新选择。

拟态防御是什么?

拟态防御是中国工程院邬江兴院士根据拟态章鱼仿生学原理,构思出的一套可防御未知漏洞威胁的网络空间内生安全防御体系架构,拟态防御的核心框架为动态异构冗余架构(Dynamic Heterogeneous Redundancy,DHR)。我们可基与此框架重构目标信息系统内部的核心要地,使得信息系统在结构层面具备内生性安全防御能力,突破了传统安全防御以网络、系统边界为防御要地的局限。

图:动态异构冗余架构

拟态防御核心框架DHR架构的形象化解析

动态异构冗余架构中有诸多的模块组件,为便于理解本架构的工作原理与机制,在此以大家所熟知的银行信贷系统来作类比,将动态异构冗余的思想与信贷业务做结合,通过建立“拟态银行信贷系统”模型来了解拟态防御技术是如何实现“动态、异构、冗余”的机制。

大家所熟知的信贷系统业务流程如下图所示,客户小明想要向银行申请贷款,需要经历贷款申请、受理调查、风险评估、贷款审批、合同签订、贷款发放的环节。但试想一下,假如小明使用造假的材料,又遇到调查环节的某个银行职员业务不精,小明是否会骗过审查而顺利获批贷款?

图:银行信贷业务流程

在我们构造的“拟态银行信贷系统”中,小明提交了贷款申请之后,一线人员会将贷款申请同时交给三个客户经理进行尽职调查,三个人的调查结果会同时交给业务管理部进行风险评估。假如客户经理3业务不是熟练,没有在调查过程中发现小明的材料问题,客户经理1和客户经理2分别发现了问题,业务管理部会将三者的调查结果做比对进行风险评估。进一步地,根据风险评估的结果认定小明不符合贷款条件,信贷委员会不予审批。

与此同时,银行主管也得到了这个裁定结果,认为客户经理3有业务能力漏洞。接下来银行主管会责令他下岗重新培训,其位置由作为备份的客户经理M替代。

最终,一线人员会告知小明,其材料没有经过审批,无法贷款。

图:“拟态银行信贷系统”模型

在上述模型中,一线人员对应DHR架构中的输入/输出代理,主要与外部做交互;三个不同的客户经理对应的是DHR架构中的异构执行体,是业务系统的核心处理模块;业务管理部和信贷委员会对应DHR架构中的多模裁决模块,用作处理结果的裁决;银行主管对应DHR架构中的负反馈控制器,用来对异构执行体(客户经理)进行上下线“清洗”(业务培训)调度。

其中,设置三个不同的客户经理同时处理一个业务,是体现了拟态防御中的异构与冗余思想。异构化要求功能等价(处理同一业务)但执行条件不同(人员自身的背景不同),但是由于人自身可能存在业务不精、工作时粗心马虎的情况,同一个业务被三个人同时处理可能有不同的结果,系统基于此来感知威胁(风险)。例如,本案例中小明材料造假,但是客户经理3没有审查出来,其实类似于网络安全中的漏洞利用攻击。客户经理3的业务不精即系统漏洞,没有审查出材料问题即漏洞被利用成功。

另外,银行主管在接收到裁决(风险评估)结果之后,会动态地调整客户经理3的岗位,其实体现了拟态防御具备动态收敛的特性,确保系统安全性不随着时间的推移而降低。

因此,拟态防御的核心其实是一种闭环的安全框架,通过重构目标系统,实现从系统结构上确保业务处理安全的机制。

如何实现部署动态异构冗余架构?

在具体的技术落地应用中我们是如何实现动态异构冗架构的部署呢?下边以Web系统的拟态化为例,列举部署的几个主要步骤。

第一步:找到系统的核心服务模块,构建功能相同但是运行条件相异的环境。例如,目标系统是Web服务,则可以通过Apache、Nginx、Lighttpd等服务组件构建多个异构执行环境。

第二步:拟态输入代理、输出代理与原有的系统对外交互接口做适配,实现请求可以同时分发到异构的执行环境(体)上。

第三步:将动态异构冗余框架组件与业务系统进行适配调测,实现异常的感知与清洗。

图:动态异构冗余架构适配流程

拟态防御如何实现安全内生?

根据动态异构冗余架构设计,拟态防御赋能的对象为数据处理的终结点,如Web核心服务、设备的核心控制平面、计算平台等。通过将核心处理单元异构化,创造多个功能相同但运行条件相异的环境,再结合分发、裁决功能,可感知系统内部被威胁利用时产生的异常,最终通过反馈、调度功能将异常的处理单元重置(清洗),确保系统在遭受威胁时无法产生实质性的入侵。拟态防御作用于系统的核心要地环节,需要将目标系统做适配,使得其从结构上具备动态、异构、冗余的特性,从而实现真正的安全内生。

图:内生安全拟态防御赋能

拟态防御技术在网络安全体系内是什么定位?

拟态防御的核心机制决定了其关注的是进入系统内部的威胁,作用的目标对象是数据处理的终结点,无法涵盖数据传输环节的威胁处理。所以,拟态防御技术定位于高等级安全场景,即系统内部即将发生漏洞利用产生入侵的阶段,与传统的网络安全技术是互补关系。

如下图所示,数据传输环节中的威胁检测与防护仍需要传统依赖先验知识的措施进行高效过滤处理。此环节涉及的攻击手段简单、攻击量大,往往为拒绝服务、嗅探、注入等针对业务系统边界服务接口的中、低等级攻击。而当攻击穿过先验知识防御的“围栏”渗透到到业务系统内部时,一般将会产生实质性入侵,此处通常为攻击链中的关键环节。此时,传统以边界为防御要地的措施将会失效,拟态防御将发挥关键作用。

拟态防御利用其自身的动态异构冗余机制,使得攻击者在前阶段所作的嗅探、尝试等工作在漏洞利用阶段无法继承,并且以“快速规避”的思想产生对于入侵的容忍效果,确保系统安全性与业务连续性。

图:传统防御技术与拟态防御技术结合的Web安全解决方案

拟态防御如何不依赖先验知识防御未知威胁?

先验知识即需要事先经历问题发生、学习、总结的过程,然后被重复利用的知识。在网络安全范畴内常见的先验知识如病毒、漏洞特征库,或攻击行为特征形成的规则库等。这些先验知识的形成需要系统先遭受未知威胁攻击,然后人为去学习、挖掘、形成已知的知识库,当同样的威胁再次发生时可据此进行检测与防护。因此,依赖先验知识具有天然的滞后性缺陷。

在拟态防御的框架内,忽略了传统意义上的漏洞的概念,不依赖特征库或者规则进行匹配检测,而是将威胁利用通过异构化的执行过程结合独有的裁决算法感知为一种扰动,再通过反馈、调度机制将异常的处理单元进行上下线清洗调度,保证系统在遭受未知威胁攻击时,可以实时终止威胁利用造成的进一步实质性破坏。

图:拟态防御以“扰动”来感知威胁

拟态防御如何维持安全性不随着时间而降低?

传统信息系统安全性往往随着时间的推移而降低,其本质原因是由于新的未知威胁层出不穷,系统可能不断地产生脆弱性暴露与利用,所以需要进行持续性的更新漏洞库、特征库等来维持其安全性。而拟态防御的核心机制在于不依赖这些先验知识,通过将威胁归一化为扰动来感知、处理,所以在时间维度上具有长期稳定性的特征。

图:传统防御与拟态防御的安全效能对比

拟态防御的核心价值体现在哪?

首先,拟态防御提供了一种新思路来解决传统安全难以解决的未知威胁防御问题,其动态、异构、冗余的特性使得威胁难以被成功利用,实现从结构上赋予信息系统内生性安全。

其次,拟态防御的未知威胁感知功能可以与传统的溯源手段相结合,提升未知威胁的溯源效率,并将其转化为先验知识,服务于基于先验知识的边界防护环节,产生持续性增量价值。

图:拟态防御核心价值
标签: