网络空间拟态防御(Cyber Mimic Defense,CMD)是,为应对
网络空间中不同领域相关应用层次上基于未知
漏洞、
后门、
病毒或
木马等未知威胁,提供具有普适创新意义的防御理论和方法。2016年11月17日,攻坚团队的主要负责人
邬江兴院士在
第三届世界互联网大会上发布了该研究成果。
背景来源
目前,网络空间的安全态势是“易攻难守”,基本原因可归结为以下两个方面:
当前网络空间存在“未知的未知威胁”或称之为不确定威胁。此类威胁通常基于
信息系统软硬构件中的
漏洞,或者在全球化时代产业链中蓄意植入软硬件
后门实施人为攻击。以人类目前的科技水平和认知能力,尚无法从理论层面对给定的复杂信息系统做出无漏洞、无后门的科学判定,也无法从工程层面彻底避免设计缺陷或完全杜绝后门,这使得基于防御方未知漏洞后门或病毒木马等实施的攻击成为网络空间最大的安全威胁。
网络空间现有防御体系是基于威胁特征感知的精确防御。建立在“已知风险”或者是“已知的未知风险”前提条件上,需要攻击来源、攻击特征、攻击途径、攻击行为等
先验知识的支撑,在防御机理上属于“后天
获得性免疫”,通常需要
加密或
认证功能作为“底线防御”。显然,在应对基于未知漏洞后门或病毒木马等未知攻击时存在防御体制和机制上的脆弱性。尤其在系统软硬构件可信性不能确保的生态环境中,对于不确定威胁除了“亡羊补牢”外几乎没有任何实时高效的应对措施,也不能绝对保证加密认证环节或功能不被蓄意旁路或短路。此外,现有
信息系统架构的静态性、相似性和确定性也给攻击者提供了目标识别、防御行为探测、攻击技术试验完善和打击效果评估等诸多便利。同时,绝大多数信息系统都沿用单一处理空间资源共享运行机制,入侵者只要能进入这个空间就可能通过资源共享机制实现所期望的操作,这也是诸多网络攻击理论的重要基础条件之一,包括时下突破“物理隔离网络”用到的“侧信道”攻击原理。于是,信息系统架构与机制的确定性、被动防御体制的脆弱性和缺乏主动免疫机制等关键要害问题共同构成了网络空间最大的安全黑洞。
网络空间拟态防御理论,就是要打破传统信息系统和防御方法的思想“桎梏”,从根本上清理漏洞后门和病毒木马充斥的恶劣网络环境。
基本概念
在邬院士发表的学术论文《网络空间拟态防御研究》中,陈述了CMD的基本概念:
公理基础
公理1:“给定功能和性能条件下,往往存在多种实现算法”。
这些多样化的异构算法在给定功能上总是等价的且与实现复杂度无关。假如这些算法的并集或交集运算结果也能满足等价性要求,则无论怎样的策略调度或动态组合这些异构算法都不会改变给定的功能。于是,从攻击者视角观察之,目标对象的视在功能与结构之间的映射关系不再是唯一的或确定的,防御方可以利用这一性质实现主动防御。
公理2:“人人都存在这样或那样的缺点,但极少出现在独立完成同样任务时,多数人在同一个地方、同一时间、犯完全一样错误的情形”。
这为异构冗余架构多模裁决机制在可靠性领域对软硬件随机性故障实施容错处理提供了基本理论依据。同时也意味着网络空间基于未知漏洞后门、木马病毒等的确定或不确定威胁,通过动态异构冗余物理架构也能转化为可用概率描述的风险控制问题,除非攻击者拥有非配合条件下的异构空间多元目标协同攻击的资源和能力,并能在动态异构冗余架构中形成多数或一致性的错误表达,否则任何攻击都难以从多模裁决机制下实现成功逃逸。
实现架构
动态异构冗余(Dynamic Heterogeneous Redundancy,DHR)架构是实现拟态防御的一种原理性方法,以可靠性领域
非相似余度结构(DissimilarRedundancyStructure,DRS)为基础,导入多维动态重构机制,使其具有了DRS的高可靠特性,同时又具备拟态防御的高安全性。
该构造由输入代理、异构构件集、策略调度算法、执行体集和多模表决器组成。如图1所示,异构构件集和策略调度组成执行集的多维动态重构支撑环节。标准化的软硬件模块可以组合出 种功能等价的异构构件体集合,按特定的策略调度算法动态的从集合 中选出 个构件体作为一个执行体集 ,系统输入代理将输入转发给当前服务集中各执行体,这些执行体的输出矢量提交给表决器进行表决,得到系统输出。
拟态括号
在DHR结构中,系统的输入代理将输入转发给当前服务集中各执行体,这些执行体的输出矢量提交给表决器进行表决,得到系统输出。我们将输入代理和多模表决器通称为“拟态括号”(Mimic Bracket, MB)。
拟态防御界
拟态左右括号即输入代理和表决器在逻辑上或空间上一般是独立的,且功能上联动。MB限定的保护范围称为拟态防御界(Mimic Defense Boundary, MDB),简称拟态界,通常情况是一个存在未知漏洞后门等软硬件代码缺陷或病毒木马等恶意软硬件代码的“有毒带菌”异构冗余执行环境。该环境中的异构执行体,在给定功能给定输入序列条件下,往往可以得到完全一致的输出序列。
DHR的抗攻击性
首先,该机制在防御方可控或代价可接受条件下,能使系统对攻击者呈现出相当程度上的不确定性,为静态确定的DRS结构存在的安全隐患提供了强有力的解决手段;也能将区别于错误故障的人为攻击行动的必然性强制转化极小概率的风险控制问题,即确定或不确定威胁都能被DHR物理机制归一化为应对随机性故障的可靠性问题。其次,研究经验表明,使同构冗余部件间做到精确协同已经极具挑战性,DHR的异构特性使得协同攻击变得更加困难;动态性和随机性能够进一步提升多方参与具有一致性或协同性要求的行动的不确定度;多模判决环节又在机理上显著提升了非配合条件下的协同攻击难度。
DHR构造的意义
倘诺对同一功能的异构执行体集合中的元素采取诸如动态化策略的调度,或是元素自身实施可重构、可重组、可重建、可重定义、虚拟化等广义动态化技术,那么在保证系统功能、性能及抗攻击与可靠性指标的前提下,可以简化或弱化非相似余度构架中苛刻的相异性设计要求。
此结论对于后全球化时代,在开放式产业链、供应链环境下,应用开源软硬件或中间件等可信度不可控构件组成安全可信系统,降低产品全寿命周期成本,有着十分重要的工程意义。
运行机制
即“去协同化”条件下的多模策略裁决和多维动态重构机制,能将复杂系统攻击面的高难度高代价工程问题,转变为空间独立的、功能简单的“拟态括号”之软硬部件攻击表面的缩小问题。并且,能使异构冗余体之间可能存在的显性或隐性关联性降至最低,给攻击者造成非配合条件下异构空间多元目标动态协同攻击的难度。这使得网络空间“自主可控、安全可信”战略的工程实现难度,从保障
全产业链“不得有安全短板”,降低到只需在个别环节或关键部件“严防死守”即可。
安全思想
借助“移动攻击面”(Moving Attack Surface, MAS)思想,CMD系统可以视为一种视在功能不变条件下,以攻击者不可预测的方式部署多维度攻击面的主动防御系统。由于各功能等价执行体的构造及环境存在时空维度上的多元异构性,使得攻击者(包括潜伏者)可以利用的资源在时空维度上存在不确定性,宏观上表现为攻击面总是在做不规则的移动。尤其对那些需要多步骤上传数据包或回送数据包才能达成目的的复杂攻击任务,其可实现性前提几乎无法保证。
安全增益
CMD通过纯粹架构内生机理获得一种非线性安全增益,称为拟态防御增益(Mimic Defense Gain, MDG)。MDG是“内生”的,与现有的安全防护技术,如
加密认证、
防火墙过滤、
查毒杀毒、
木马清除等
入侵检测、预防、隔离和清除措施,在机理上无依赖关系,漏洞修补、
后门封堵或
恶意代码清除等传统的增量修补手段只是作为稳定防御效果的补充性措施且无实时性要求。但是,融合使用传统的安全技术可以使拟态系统的异构性得到显著增强,从而使目标对象的防御能力获得超非线性提升。
技术路线
CMD在技术上以融合多种主动防御要素为宗旨:
可以用基于DHR的一体化技术架构集约化地实现上述目标。
拟态防御界
拟态防御界 MDB,简称拟态界,内包含若干组定义规范、协议严谨的服务(操作)功能。通过这些标准化协议或规范的一致性或
符合性测试,可判定多个异构(复杂度不限的)执行体在给定服务(操作)功能上甚至性能上的等价性。即通过拟态界面的输入输出关系的
一致性测试可以研判功能执行体间的等价性,包括给定的异常处理功能或性能的一致性。拟态界面所定义功能的完整性、有效性和安全性是拟态防御有效性的前提条件,界面未明确定义的功能(操作)不属于拟态防御的范围(但也可能存在衍生的保护效应)。换句话说,如果攻击行动未能使拟态界上的输出矢量表现不一致时,拟态防御机制不会做出任何反应。因此,合理设置、划分或选择拟态防御界在工程实现上是非常关键的步骤。
需要特别强调的是,拟态界外的安全问题不属于拟态防御的范围。例如,由钓鱼、在服务软件中捆绑恶意功能、在跨平台解释执行文件中推送木马病毒代码、通过用户下载行为携带有毒软件等不依赖拟态界内未知漏洞或后门等因素而引发的安全威胁,拟态防御效果不确定。
拟态逃逸
拟态逃逸(Mimic Escape,ME)指攻击者能够成功地使拟态界内异构冗余执行体同时产生完全一致或多数一样的错误,从而可以穿过拟态防御裁决环节的拦截达成攻击目的。拟态逃逸由于动态异构冗余机理的作用应当不具有稳定的表现效果,属于不能用概率表述的不确定性问题,通俗的说就是“即使攻击成功,也可能就是一次”。
拟态呈现
拟态呈现(Mimic Present,MP)指攻击者看到的目标对象外在服务功能与其实现结构之间的视在关系。这种关系越复杂、越不确定、越多样化目标对象的防御行为和环境就越不可预测,攻击链的创建和维持难度就越大,攻击任务的可规划性与攻击成果的可利用性就越低。当异构冗余体数量和种类确定时,执行体集合的调度和生成策略与拟态呈现水平强相关。
安全等级
目前,拟态防御的安全等级可划分为以下层次:
完全屏蔽级
如果给定的拟态防御界内受到来自外部的入侵或“内鬼”的攻击,所保护的功能、服务或信息未受到任何影响,并且攻击者无法对攻击的有效性作出任何评估,犹如落入“信息黑洞”,称为完全屏蔽级,属于拟态防御的最高级别。
不可维持级
给定的拟态防御界内如果受到来自内外部的攻击,所保护的功能或信息可能会出现概率不确定、持续时间不确定的“先错后更正”或自愈情形。对攻击者来说,即使达成突破也难以维持或保持攻击效果,或者不能为后续攻击操作给出任何有意义的铺垫,称为不可维持级。
难以重现级
给定的拟态防御界内如果受到来自内外部的攻击,所保护的功能或信息可能会出现不超过t时段的“失控情形”,但是重复这样的攻击却很难再现完全相同的情景。换句话说,相对攻击者而言,达成突破的攻击场景或经验不具备可继承性,缺乏时间维度上可规划利用的价值,称为难以重现级。
等级划定原则
可以根据不同应用场景对安全性与实现代价的综合需求定义更多的防御等级,在安全性上需要重点考虑以下四方面因素:给攻击行动造成的不同程度的不确定性则是拟态防御的核心;不可感知性使得攻击者在攻击链的各个阶段都无法获得防御方的有效信息;不可保持性使得攻击链失去可利用的稳定性;不可再现性使得基于探测或攻击积淀的经验,难以作为先验知识在后续攻击任务中加以利用等。
适用域
在具有函数化的输入输出关系或满足IPO模型的条件下,用来解决服务的功能、性能和重要信息资源必须显性、健壮提供的问题;对初始投资或产品价格不敏感;空间或功耗条件可接受,且存在标准或可归一化的功能接口与协议规范,并具备多元或多样化处理条件;对系统或装置的可靠性与可用性存在传统安全性和网络空间非传统安全双重要求的场合。
需要指出的是,在满足上述条件下,凡是目标算法确定且存在其他等价算法的应用场合都适合实施拟态防御。即使诸如科学计算类的课题或者工业控制领域中的应用,由于功能等价的不同算法之间的结果精度可能存在差异(如精确到小数点后几位),或者控制量的值域是一个范围,也可以采用“精度掩码”或“预期范围”等策略的判定方式进行多模裁决。
应用进展
CMD理论的原型验证系统目前已经通过测试验证和专家评估,已研和在研技术产品有:
拟态web服务器 Mimic Web Server
拟态路由器 Mimic Router
拟态云 MimicCloud
拟态文件和存储系统 Mimic File and storage system
拟态工业控制处理器 Mimic industrial control processor
拟态现象
一种生物在色彩、纹理和形状等特征上模拟另一种生物或环境,从而使一方或双方受益的生态适应现象,称为
拟态现象(Mimic Phenomenon, MP)。按防御行为分类可将其列入基于内生机理的
主动防御范畴,我们称之为“拟态伪装”(Mimic Guise,MG)。如果生物体不仅在色彩、纹理和形状上,而且在行为和形态上也能模拟另一种生物或环境的拟态伪装,就可称之为“
拟态防御”(Mimic Defense,MD)。具体到网络空间防御领域,假如目标对象给定服务功能和性能不变前提下,其内部架构、冗余资源、运行机制、核心算法、异常表现等环境因素,以及可能附着其上的未知漏洞后门或木马病毒等也都可以做策略性的时空变化。那么,这样的防御体制机制我们称之为“网络空间拟态防御”。
拟态计算
拟态计算,能根据不同任务、不同时段、不同负载情况、不同效能要求、不同资源占用状况等条件或参数,动态的选择构成与之相适应的解算环境,以基于主动认知的动态变结构计算提升系统的处理效能。
拟态计算机,作为其工程化实现,已经在2013被两院院士评为中国和世界十大科技进展。
拟态防御,则充分挖掘了变结构计算中机理上的内生抗攻击属性。由于具有动态性和随机性的外在表象,在攻击者眼里,拟态计算系统似乎以规律不定的方式在多样化环境间实施基于时空维度上的主动跳变或快速迁移,表现出很强的动态性、异构性、随机性等不确定性特点,难以观察和作出预测,从而增大了构建基于漏洞和后门等的攻击链难度与代价。
总之,拟态计算和拟态防御本质上都是一种功能等价条件下的变结构计算和处理架构,拟态计算通过变结构计算来提高处理效能,拟态防御通过变结构计算那来提供主动防御能力。
相关比较
移动目标防御(Moving Target Defense, MTD),也称为
动态目标防御,是美国科学技术委员会提出的网络空间“改变游戏规则”的技术之一。CMD 与 MTD 的不同表现在以下方面:
技术路线不同
拟态防御是一种源自可靠性领域容错思想的体系架构技术,基本形态是将静态的非相似余度“容错”架构转变为动态异构冗余的“容侵”架构。移动目标防御则源自加密或扰码思想,典型的做法诸如将指令、地址、数据等动态化、随机化、多样化。
技术体系不同
拟态防御是基于动态异构冗余原理的系统架构技术,具有“服务功能提供、可靠性保障、安全防御”三位一体的集约化属性,与功能等价的异构冗余软硬构件技术细节无关。移动目标防御则是离散的点防御技术,属于非体系化技术的简单“堆砌”,对防御目标不透明。
实施空间不同
拟态防御强调在动态异构冗余架构上实施,异构冗余体在物理或逻辑空间上是独立的与共享资源运行机制弱相关。移动目标防御通常与目标对象共用同一处理空间,依赖共享资源调度运行机制,需要消耗目标对象的处理资源影响正常服务的性能。
实现手段不同
拟态防御要求目标对象有功能等价的多元化冗余软硬构件作为实现支撑,即在不影响服务功能性能的前提下,通过增加软硬件资源的方式来提升安全性。而移动目标防御主要在给定资源情况下利用软件手段实现动态化、多样化和随机化,通过消耗目标系统资源和降低服务性能的方式换取安全性。
攻击难度不同
拟态防御的经典方法是用功能等价的多个动态可重构部件,组成具有多模裁决机制的冗余工作环境,对于同一个输入激励产生的多路异构执行体的输出进行多模裁决,通常情况下只有冗余执行体的交集功能才可能在同一激励下输出一致的响应结果。任何基于特定执行体的攻击,或者针对不同执行体的同时攻击都很难绕过这一非配合条件下的拟态裁决机制。这对攻击者来说,既要解决攻击包的可达性问题又要解决漏洞的可利用性问题,若要实现一致性的错误表达还必须拥有异构多元空间非配合条件下的协同攻击资源和能力等,实现逃逸攻击需要克服诸多的不确定性影响。而移动目标防御则不具有这样的攻击难度。
攻击承受差异
拟态防御由于是功能等价条件下的动态异构冗余结构,只要不是所有执行体被同时攻陷并出现完全一致的错误,拟态防御界内的功能具有“容错和容侵”属性。移动目标防御则强调受到攻击后功能的可恢复性,即所谓的弹性与柔韧性。显然,前者的防护效果要远高于后者。
防范对象差异
拟态防御不仅防备基于未知漏洞、后门、前门和陷门等的外部攻击影响,也防范基于未知病毒、木马等的渗透攻击影响。而移动目标防御只考虑基于未知漏洞的影响。
技术应用不同
由于二者技术体系和实现手段上的差异,决定了拟态防御不仅能够利用开源产品,还可以直接应用可信性不能确保的COTS级“黑盒产品”,避免了技术推广时的巨大麻烦,相比于MTD对白盒环境的过度依赖,拟态防御的包容性和开放性更具有吸引力,因此具有更加广阔的商用推广前景。
可信计算区别
可信计算(Trusted Computing),是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。相比可信计算,CMD的不同表现在:
非计算复杂度
拟态防御本身并不能区别自身软硬构件运算或操作结果的正确或错误,只是将功能等价条件下异构冗余构件对同一输入激励所产生的输出响应一致性判决情况作为识别依据,通常情况下一致性或多数相同性表达是大概率事件,拟态防御往往将此规律作为识别正常或异常的判据。尽管理论和实践上都可以证明多数或一致性表达情形中确实存在极小的错误概率。突破拟态防御体系的关键是,攻击者要解决如何在动态异构冗余环境和非配合条件下同时构成多数或一致性错误以实现稳定逃逸的问题。而可信计算的基础仍然是基于计算复杂度的加密技术,其安全性原理与拟态防御不属于同一范畴。
没可信根
拟态防御的判据是裁决器给出的多数或少数判断,使用相对性结果作为正确性的判别准则,在裁决器非故障情况下不需要任何绝对可信的输出作为判据。可信计算则需要“绝对安全”的可信根(TPM或TCM),然而屡遭诟病的是“可信根的可信性由谁来保证”的问题始终未能解决。
软硬构件透明
拟态防御对于拟态界内功能等价的异构冗余软硬构件本身不需要作任何分析或变动,完全按照“黑盒化”处理以便能直接利用可信度不能确保的COTS级产品,降低防御的工程化实现代价。而可信计算的对象必须具有某种程度的透明性,实施过程中分析和干预手段往往是不可避免的,而且要常常面对只有可执行代码程序文件的情形,这给防御的工程化应用会带来不小的挑战。
综合功能
拟态防御架构是一种功能集约化的架构,在提供不依赖先验知识的主动防御功能同时,还提供给定的系统服务功能以及高可靠性保障功能,可信计算只提供纯粹的安全功能和一定程度的故障发现功能。
异构容侵区别
异构容侵是一种广泛应用的安全技术,常常作为系统的保护措施,当一个服务器系统遭受入侵,而一些安全技术都失效或者不能完全排除入侵所造成的影响时,容侵就可以作为系统的最后一道防线,使整个服务器系统仍能提供全部或者降级服务。拟态防御与之的区别体现在:
故障模型不同
与异构容侵安全目标和系统故障模型有所不同的是,拟态防御更强调管控或抑制不论何种原因导致的拟态构造内部出现的广义不确定扰动的能力。也就是,既要能防御针对系统内部漏洞等的外部攻击,也要能瓦解基于暗功能的内外部协同式攻击;既可容忍各种已知、未知且数量不限的差模故障或非协同攻击,还能解除或干扰未知的共模故障或协同攻击。不仅如此,两者基于GSPN模型的抗攻击性与可靠性之定量分析结论也存在指数量级的差异。
容忍机制策略
拟态防御的入侵容忍或错误容忍功能源于系统构造内生的不确定性效应,而基于拟态裁决的策略调度和多维动态重构负反馈控制机制则是该效应的根本原因所在。与异构容侵单调的共识研判机制不同,拟态裁决是一种多元表决算法的迭代处理过程。其非一致性的表决状态一般不会影响输出响应功能但会激励当前构造场景改变的后向验证机制,并能使多模输出矢量的比对差异状态之出现频度,逐步收敛于设计期望的阈值内。
系统构架不同
异构容侵采用入侵检测与异构冗余的组合构架,即IDS+异构冗余;拟态防御采用基于拟态伪装策略的动态异构冗余架构DHR,任何附加的检测、监测、合规性检查或防护措施等设施都是非必要性配置。
假设前提不同
异构容侵是假设作为“最后一道防线”的异构冗余部件中“坏人”是少数,拟态防御则假定拟态括号内的软硬件资源都可能处于“有毒带菌”状态;异构容侵IDS的有效性严重依赖关于攻击者的先验知识和行为特征,但这些信息对于拟态防御却并非是不可或缺的前提条件。
表决意义不同
拟态裁决结果是相对性概念,具有叠加态属性。当多模输出矢量比对出现不合规状况,就表明存在攻击逃逸的可能(尽管属于小概率事件),与入侵容忍相对单调的判决机制不同,拟态裁决除了择多表决算法外还可以包含最大近似表决、权重表决、掩码表决、基于历史信息的大数表决、拜占庭投票等多种算法;异构容侵判决没有后向验证机制支持,而拟态裁决必须拥有可以动态迭代的表决算法集合以及基于反馈控制的后向迭代验证机制。
控制方法不同
拟态防御采用基于裁决状态驱动的广义鲁棒控制机制,具有在多样化场景集合中渐进式选择合适防御场景的属性(或熵不减属性),“即使出现攻击逃逸也难以稳定维持”,而异构容侵则因为存在“熵减过程”所以没有对应的功能。
异常处理不同
异构容侵一旦发现执行体输出错误即刻挂起,即在满足N ≥2f +1的条件下,采用错误执行体移除或挂起策略。拟态防御因为采用多重策略裁决方式,输出矢量不一致并非认定相关执行体就是错误执行体,而是采用问题规避策略将疑似问题执行体或者当前任何一个执行体下线清洗或重构后再使之进入待用状态,除非该执行体出现不可恢复的永久问题或故障。因此,在给定余度N的情况下,多模输出矢量出现两两不一致的状态并非是最不利局面,仍可以借助策略判决机制选取可信度最高的作为输出。相反,完全一致的裁决结果中却可能隐藏着小概率的共模逃逸事件,因此需要通过增加外部控制指令强制变化当前运行环境的机制。
验证方法不同
拟态防御无论是抗已知还是未知差模或共模攻击的能力都是可量化设计的,一般可通过“白盒”基准功能测试方式实验确认。异构容侵不具有抗未知的协同攻击能力,即使能应对少数的未知差模攻击,其能力也受到前提条件的限制(为允许的故障数量)。
有效保障方式
异构容侵的有效性既依赖IDS拥有的关于攻击的知识丰度也与相关信息库更新的实时性强关联,而拟态防御的有效性在机理上与是否具有攻击者先验知识和行为特征信息无关。因此,两者在抗攻击性能之维护保障方面的要求完全不可同日而语。