APP下载

面向拟态防御系统的竞赛式仲裁模型

2018-04-19林森杰

计算机工程 2018年4期
关键词:余度拟态异构

林森杰,,

(国家数字交换系统工程技术研究中心,郑州 450001)

0 概述

当前,网络攻击手段不断更新,网络攻击发展呈现出自动化、高速度、隐蔽性、跨系统兼容性、高进化能力等主要趋势。而计算机系统的主要安全隐患,是由于软件设计和硬件加工不可能做到完全自主可控而产生的设计缺陷和未知的漏洞后门。在这样的背景下,拟态防御技术应运而生[1]。拟态防御的基本思想是构建一个动态异构冗余的系统架构,通过功能等价体的动态切换,构建动态性、非确定性、异构性、非持续性的拟态环境,达成破坏攻击链的目的[2]。在拟态防御的动态异构冗余架构中,动态性是系统安全的保障,而异构冗余则是动态性的基础。

在通用拟态防御架构中,拟态调度器动态选择若干个功能等价的异构冗余体执行相应任务,并对各执行体的输出进行仲裁。面向异构冗余系统的仲裁策略,以多数一致性判决最有代表性。

对于各种具体的任务,各冗余体的执行周期基本不同,而仲裁器进行仲裁的时机实际上是在所有执行体都输出结果之后,也就是最长的执行周期。可以理解为系统的效率是几个冗余系统中最差的那一个,加上调度机制,总体效率甚至还要更低。

本文针对拟态调度器仲裁,在多数一致性表决机制的基础上,提出一种竞赛式的仲裁模型,通过增加异构冗余体执行系统任务,选择领先的输出结果进行一致性表决仲裁,在不降低系统可靠性的前提下提高仲裁效率,进而弥补拟态系统的性能损失。

1 拟态防御系统框架

网络已经成为人们不可或缺的工具,其重要性不言而喻,网络空间安全的地位也愈发凸显,而由系统漏洞和后门造成的网络攻击事件不断影响人们正常的工作生活,甚至对国计民生和国家安全都产生了极大威胁。事实上,对于计算机系统,任何一个国家都不可能实现软件设计和硬件加工完全的自主可控,传统的网络防护方式不能抵御新的网络威胁。虽然网络防御技术不断发展,但都是基于传统的系统结构,没有解决根本问题。

在这样的背景下,文献[1]提出了拟态防御的思想,通过构建动态异构冗余的系统架构,引入基本信息的动态性和不可预测性,以破坏攻击链的形成。

1.1 动态性的导入

任何攻击都是基于一定的攻击方案实施的,攻击链中包含了攻击对象的整体架构、运作机制、资源配置、网络拓扑等基本态势信息,攻击的可靠性从某种意义上取决于这些基础信息的静态性和可预测性。防御方若能以较小的代价引入基本信息的动态性和不可预测性,就能有效阻止攻击链的形成。

移动目标防御(Moving Target Defense,MTD)[3]作为美国近年来提出的网络空间“改变游戏规则”的革命性技术之一,它与以往的网络安全技术完全不同,变被动防御为主动防御,其系统和网络状态随着时间、空间以及物理环境等多个维度的变化而不断改变,从而增加入侵者的入侵难度,有效限制己方漏洞暴露的概率。因此,移动目标防御将成为未来网络安全防护技术的重点发展方向。构建、评价和部署机制及策略是多样的、不断变化的,以此增加攻击者的攻击难度及代价。

MTD的基本思想是构建动态的系统属性,从而引入随机性、不确定性和不可预测性。MTD可以在多个层次进行动态变化,如图1所示。

图1 MTD动态化层次

但相对地,动态性的导入必然需要以提高功耗和损失效能为代价,还可能影响到上层功能的灵活表达或扩展,成为影响系统性能的重要因素。

1.2 异构冗余机制

为提高系统可靠性,采用资源冗余的容错机制是设计者的首选[4-6]。例如同时在几个相同的硬件通道上运行一个程序,对于解决由单一通道随机失效引起的系统错误是十分有效的。冗余容错机制分为同构冗余和异构冗余2种,其中同构冗余是指余度结构,即软硬件设计、控制指令、运行状态都相似或相同,它对于应对差模干扰和随机故障十分有效。但是,对于设计缺陷引起的系统漏洞和后门等共性故障,同构冗余无法进行有效的防护。

异构冗余[7]是基于相异性设计的容错机制,即由不同的工作组,在不同的开发环境下,用不同的语言研制开发几个能独立完成预定功能的装置,然后综合成一个总的容错系统。这种相异性设计能有效防止由单一系统设计缺陷造成的漏洞和后门引起的系统故障,大幅提高系统的可靠性。

1.3 动态异构冗余机制

异构冗余机制的基本架构仍然是静态的,且各异构冗余体之间并不完全独立,其效果主要是容错而不是容侵。对于攻击者而言,如果拥有相关异构体的资料,就有可能达成成功攻击甚至持续攻击的效果。

DHR的核心思想是引入结构表征的不确定性,使异构冗余架构的执行体具有动态化、随机化的属性,攻击者对系统的攻击无法建立在静态的结构特征之上,即便成功攻击某个异构体,也无法对系统的最终结果产生影响,且攻击结果不可重现,攻击者的攻击难度和成本大幅提高。

对动态异构冗余构造,理论上要求系统具有视在结构表征的动态可变性,包括非周期地从功能等价体池中随机抽取k个元素组成服务集,或者重构、重组、重建异构冗余体自身,借助虚拟化技术改变冗余体内在特征或视在环境,对异构体作预防性或修复性的清洗操作等。这些方法和措施使得攻击者很难有效再现攻击操作的成功场景,系统的安全具有总体性、长期性的特点。

通用拟态防御系统架构如图2所示,系统主体是拟态调度器和若干个功能等价的异构冗余体。拟态调度器从异构冗余池中动态地选择一个或几个异构冗余体执行相应任务,并对各执行体的输出进行判决,得到最终的结果。

图2 通用拟态防御系统架构

2 多数一致性表决策略

在拟态防御系统中,拟态调度器是一个关键结构,其主要功能之一是对各异构冗余体的结果进行仲裁判决。目前,对于调度器仲裁策略的选择,还是以经典的多数一致性表决为主。多数一致性表决对因外部攻击和系统漏洞而产生的错误输出具有很好的容错效果,可提高系统的安全性和可靠性。

多数一致性表决算法是最有代表性的表决算法之一,其基本思想是将参加表决的多数相同的结果作为表决输出,达到屏蔽一般错误的效果。在其基础上可以加以改进,例如基于自检测[8]、历史记录[9]、自适应[10]等的多数一致性表决算法。在多模冗余体仲裁策略方面,利用多数一致性表决算法,可以设计多种仲裁策略[11-12]。

多数一致性表决是一种基于多数行为准则的表决策略,可靠性较高。冗余架构至少会有2个冗余体,对于用户来讲,冗余体越多,系统的可靠性越高[13]。以3个冗余体的系统为例,分析基于多数一致性表决的仲裁策略的可靠性[14-15]。

表1是简化模型后对三冗余体架构下各冗余体判决结果出现的概率统计。

表1 一致性表决判决结果的概率分布

从表1可见判决出现错误的概率为:

(1)

其中,p表示单个冗余体输出正确结果的概率,q表示输出错误结果的概率,θ表示出现2个错误结果相同的概率。由于异构冗余体的结构不同,其设计缺陷和漏洞也不完全相同,因此攻击者同时成功攻击2个异构体且使它们的结果相同的概率是极小的。也就是说,调度器判决出错的概率极小,系统的安全性和可靠性较高。

多数一致性表决算法有个明显的问题,当各模块不能达成一致时,通常只能产生一个异常,不能输出结果。对于这个问题也有许多解决的方法,比如基于自检测的多数一致性表决算法、自适应一致性表决算法、基于聚类的一致性表决算法等,这里不作赘述。

3 竞赛式的多数一致性表决模型

3.1 基本思想

由于任务的不确定性和内在随机性,以及执行体的动态调度,各异构冗余体对不同具体任务的执行周期是独立且不可预测的,拟态调度器完成仲裁操作需要在所有异构体输出结果之后,也就是最长的执行周期。可以理解为系统的效率是几个执行任务的冗余系统中最差的那一个,再加上调度机制,总体效率甚至还要更低。

本文提出的竞赛式的多数一致性表决模型,基本思想是不改变仲裁余度而增加执行余度,即增加执行体的数量,选择领先的输出结果进行仲裁,在不降低系统可靠性的前提下提高仲裁效率,进而弥补拟态系统的性能损失。

拟态系统余度越高,安全性和可靠性就越高,但同时资源开销越大。为简化分析,本竞赛仲裁模型以前3个执行体输出进行一致性表决仲裁。由于每个异构冗余体对各种任务的执行周期不相同且相互独立,这种取前3名的竞赛模式实际上给仲裁提供了一个提高效率的空间,在不降低系统可靠性的前提下提高整体效率。

3.2 模型建立

本竞赛式多数一致性表决模型如图3所示,其工作流程如下:

1)外部输入通过输入输出(I/O)端口发送给各异构执行体(N>3),同时终点控制模块向三输出终点模块发送打开指令。

2)各独立的异构执行体将执行结果传递给三输出终点模块,三输出终点模块在得到3个输入后就立即将结果发送给仲裁器,进行三余度多数一致性判决。

3)仲裁器完成仲裁后将最终结果通过I/O端口返回给应用程序。

4)终点控制模块发送关闭指令关闭三输出终点模块并对其进行清洗,等待下一个任务。

图3 竞赛式的多数一致性表决模型

由于仲裁过程相对固定,系统效率的提升本质上是从执行任务到开始仲裁之间所用时间的减少。下面对模型的效率提高效果进行分析。

定义N个异构执行体执行一个具体任务的时间为T1,T2,…,TN,拟态防御系统从任务输入到开始仲裁所用的时间为系统总执行时间,则原系统的总执行时间:

Tb=max(T1,T2,T3)

(2)

本模型总执行时间Tc为T1,T2,…,TN中的第3大值,即:

Tc=(T1,T2,…,TN)(3)

(3)

下面对Tb和Tc的大小进行讨论:

情况1当T4,T5,…,TN都大于Tb,则(T1,T2,…,TN)(3)=max(T1,T2,T3),即Tc=Tb。

情况2当T4,T5,…,TN中存在某些值小于Tb,假设Tb=T3,则T1

在各异构执行体相互独立且实时任务不可预测的条件下,假设2个异构执行体执行时间的大小是随机的,而完全相同的情况忽略不计,则(TxTy)=1/2,对于情况1,T4,T5,…,TN都大于Tb的概率:

P(T4,T5,…,TN>Tb)=((1/2)3)N-3

(4)

即:

P(Tc=Tb)=(1/2)3(N-3)

(5)

则:

P(Tc

(6)

可见效率持平的概率随着执行余度的增加呈指数型下降。表2列出了N取不同值时系统执行效率提高的概率。

表2 系统执行效率提高的概率与执行余度N的关系

从表2中可以看出,在保持原三仲裁余度的情况下,只增加一个异构执行体,效率提高的概率已达到了0.875,增加2个以上,概率更超过0.98。从统计学角度分析,在系统连续执行多项任务时,基于竞赛式仲裁模型的拟态系统在仲裁效率上比原三余度拟态系统能有所提高。

3.3 实验仿真

异构执行体处理一个确定的任务,其运行周期有一个理想值,但各种干扰和延迟会使运行周期随机变化,用随机变量X来刻画任务执行周期,N个异构执行体对某一个任务的执行周期为X1,X2,…,XN,由于异构执行体相互独立,因此X1,X2,…,XN也相互独立。假设这个随机变量服从正态分布,概率密度为:

(7)

其中,μi、σi为第i个异构执行体执行周期的期望和方差。由于具体的任务和执行体系统未知,定义μ={μ1,μ2,…,μN}和σ={σ1,σ2,…,σN}为2个随机数组。

本模型是在三余度拟态系统架构上增加余度,X1,X2,X3作为三余度拟态系统的3个异构执行体任务执行周期,X4,X5,…,XN作为增加的余度执行周期,则三余度拟态系统的总执行时间为:

Xb=max(X1,X2,X3)

(8)

基于竞赛模式的拟态系统的总执行时间为X1,X2,…,XN中的第3小值:

Xc=X(3)

(9)

其中:

X={X1,X2,…,XN}

(10)

下面是具体实验仿真过程。

3.3.1 简单假设条件下的仿真测试

取N=4,假设μ在区间(0,10)内随机产生,σ在(0,0.5)内随机产生,在Matlab中得到随机数组μ和σ,并用normrnd函数得到一组正态随机数X,计算得到Xb、Xc。

1)重复执行10次,并用直方图显示Xb、Xc的具体情况,如图4所示。

图4 拟态系统执行时间对比

从仿真结果可以看出,基于竞赛式仲裁模型的拟态系统总执行时间总是小于等于三余度拟态系统的总执行时间,与前文的理论分析一致。

图5 基于竞赛式仲裁模型的拟态系统执行效率提高比例

从图5可见执行效率的提高基本都在20%左右。下面对以上结果进行推导分析:

由于各异构执行体的执行时间均值μ的取值是独立同分布的,而标准差σ相对较小,在多次实验中可以把执行时间采样值视为在区间(0,10)内随机产生,每个异构执行体执行时间可视为服从均匀分布,其概率密度为:

(11)

故三余度拟态系统的总执行时间Xb的分布函数:

Fxb(x)=P(Xb

P(X3

(12)

而根据同分布随机变量的顺序统计量的相关公式[16]:

(13)

其中,fk(y)为n个独立同分布且分布函数为F(y)的随机变量中升序第k个的概率密度,可求基于竞赛式仲裁模型的拟态系统的总执行时间Xc分布的概率密度:

fXi(x)FXi(x)3-1[1-FXi(x)]4-3=

(14)

3.3.2 效率提高与执行时间分布的关系

仍取N=4,变化σ和μ的取值范围,计算系统执行效率提高随参数取值的变化。

1)假设σ仍在(0,0.5)内随机产生,μ在区间(0,u)内随机产生,u取1到50递增,得到如图6所示的结果。

图6 执行效率提高随 μ取值上限的变化

可见当μ较小时,系统效率提升明显超过了20%,随着μ的取值范围不断增大,效率的提升又逐渐稳定在20%左右。重复实验的结果也存在这种现象。这是由于标准差σ固定,当均值μ较小时,σ相对较大,各异构执行体执行时间的差异在概率上变大,竞赛模型的执行效率提高也更加明显。

2)假设μ在区间(0,10)内随机产生,σ在(0,q)内随机产生,q取0.2到10递增,得到如图7所示的结果。

图7 执行效率提高随σ的变化

可见当σ较小时,系统执行效率提高的百分比在预期的20%左右,随着σ的取值范围不断增大,执行效率提高的百分比也不断增大。重复实验的结果也存在这种现象。

3)更一般地,令μ在区间(a,b)内随机产生(b>a≥0)。由2)可知系统效率提高的百分比随着σ的增大而增大。取σ最小的情况,即σ=0,则计算结果是效率提高百分比的最小值。

各异构执行体执行时间的概率密度:

(15)

三余度拟态系统的总执行时间Xb的分布:

(16)

其期望为:

(17)

由于σ=0,即执行时间均值在区间(a,b)内随机产生,根据顺序统计量的相关公式计算,可得:

(18)

其期望为:

(19)

系统总执行效率提高:

(20)

图8 执行效率提高比例随μ取值区间(a,b)的变化

3.3.3 效率提高与系统余度增加个数的关系

令N在区间[4,10]内递增,μ在区间(0,10)内随机产生,σ在(0,0.5)内随机产生,对每一个N重复计算Xb、Xc1 000次,得到平均执行效率提高百分比,如图9所示。

图9 执行效率比例提高随N的变化

可见系统执行效率提高百分比随着N的增大呈现出增长幅度缓慢减小的上升趋势。在同等的条件下,增加余度可令系统的执行效率不断提高。

4 结束语

本文介绍了拟态防御的原理和整体框架,针对拟态调度器仲裁,在多数一致性表决的基础上,建立了一种竞赛式的仲裁模型。该模型通过增加执行任务的异构冗余体数量,选择领先的输出结果进行仲裁,能提高拟态系统任务执行的总效率。由于参加仲裁的异构体余度并没有减少,系统的安全性和可靠性不会降低,甚至在系统余度增多的情况下,安全性和可靠性还能有所提高。

对于拟态防御系统来说,自身开销本身就很大,增加异构冗余体对系统的资源开销等负担是显著的,而随着异构体的数量增多,系统执行效率的提高幅度相应减小,故拟态系统的余度增加数量需要从整体性能考虑,选择较好的折中方案,这些都是下一步工作需要研究的内容。

[1] 邬江兴.拟态计算与拟态安全防御的原意和愿景[J].电信科学,2014,30(7):1-7.

[2] 邬江兴,张 帆,罗兴国,等.拟态计算及拟态安全防御[J].中国计算机协会通讯,2015,11(1):8-14.

[3] JAJODIA S,GHOSH A K,SWARUP V,et al.Moving target defense:creating asymmetric uncertainty for cyber threats[M].Berlin,Germany:Springer,2011.

[4] 曲 翕,黄慧敏,张 宁,等.基于多冗余可重构的上面级箭载计算机技术[J].计算机工程,2016,42(9):310-314.

[5] 陈 州,倪 明.三模冗余系统的可靠性与安全性分析[J].计算机工程,2012,38(14):239-241.

[6] 张本宏.控制系统中多模冗余与网络可靠性研究[D].合肥:合肥工业大学,2010.

[7] 韩 炜,杨孝宗,崔 刚.相异性容错设计的概念及其实现[J].哈尔滨工业大学学报,2001,33(5):606-611.

[8] 周海涛,朱纪洪.基于自检测的多数一致表决算法[J].清华大学学报(自然科学版),2005,45(4):488-491.

[9] LATIFSHABGAHI G,BASS J M,BENNETT S.History-based weighted average voter:a novel software voting algorithm for fault-tolerant computer systems[C]//Proceedings of Euromicro Workshop on Parallel & Distributed Processing.Berlin,Germany:Springer,2001:402-409.

[10] 欧阳城添,王 曦,郑 剑.自适应一致表决算法[J].计算机科学,2011,38(7):130-133.

[11] 党小超.基于碰撞识别的优先级仲裁策略[J].计算机工程与应用,2012,48(27):74-79.

[12] CHIU Jih-ching,YANG Kaiming,WONG Chen-ang.Asynchronous ring network mechanism with a fair arbitration strategy for network on chip[C]//Proceedings of Advances in Intelligent Systems and Applications.Berlin,Germany:Springer,2013:769-777.

[13] 周小超,陆 熊.非相似余度飞控计算机设计及可靠性分析[J].计算机与现代化,2013(5):135-137.

[14] 魏 帅,于 洪,顾泽宇,等.面向工控领域的拟态安全处理机架构[J].信息安全学报,2017,2(1):54-73.

[15] 杨 毅,黄 海,陈祥献.三取二表决模型的可靠性与安全性分析[J].计算机工程,2012,38(14):280-282.

[16] 孙荣恒.应用数理统计[M].北京:科学出版社,2016.

猜你喜欢

余度拟态异构
试论同课异构之“同”与“异”
章鱼大师的拟态课堂
余度计算机在无人机系统中的应用研究
中韩拟声词拟态词形态上的特征
模仿大师——拟态章鱼
高空长航时无人机飞控机容错技术研究
关于拟声拟态词的考察
新型操舵控制系统余度管理技术
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究