一种基于信任的拟态防御表决机制及系统的制作方法

文档序号:20764498发布日期:2020-05-15 18:42阅读:218来源:国知局
一种基于信任的拟态防御表决机制及系统的制作方法

本发明涉及网络安全技术领域,尤其涉及一种基于信任的拟态防御表决机制及系统。



背景技术:

随着信息和网络技术的迅速发展,人们的日常工作和生活对网络的依赖程度日益增强,使得网络空间已经成为当今社会功能和社会活动的重要支撑。网络空间安全面临严重威胁的根源之一在于软、硬件漏洞和后门的长期存在。信息系统软硬件中的安全漏洞也就成了直接影响安全性的决定性因素。实践证明,绝大部分的信息安全事件都是攻击者借助软硬件漏洞发起的。软硬件设计缺陷导致的漏洞问题,目前在理论和技术上尚无有效的解决办法,试图想从根本上杜绝此类问题也违背人类认知和科技发展阶段性之客观规律。这意味着无论从技术上还是经济上,都不可能完全保证网络空间构成环境内无漏洞后门即“无毒无菌”作为一种可实现的愿景。一个很自然的推论,就是如何变换问题场景和解题思路,在网络空间“有毒带菌”的条件下,实现有安全保障的“沙滩建楼”,缓解“已知的未知”风险和“未知的未知”威胁挑战。

基于此,邬江兴院士团队提出了拟态防御思想,其目的是为解决网络空间当中相关应用层次上的基于未知漏洞、后门或病毒木马等不确定性的威胁,而提供具有普适性的防御理论和方法(邬江兴.网络空间拟态防御导论上册[m].北京:科学出版社,2017)。拟态防御典型构造—动态异构冗余架构(dynamicheterogeneousredundancy,dhr)是使用功能等价的多样化软硬异构构件搭建运行环境,通过策略调度、重构重组和虚拟化等多维动态的不确定性机制,使得针对系统的攻击难以实施。与入侵容忍系统相比,虽然入侵容忍系统也进行系统属性的动态配置,但从功能上讲,动态配置仍属于故障恢复操作,与改变系统静态性、确定性和相似性而引入动态性来提高系统抗攻击能力不是一个范畴的事情。

在dhr架构下,一般采取k/n表决的方法,即在n个执行体中,至少有k个执行体的运算结果一样,则以该结果作为系统的输出。在实践当中,由于网络空间的复杂性和网络攻击的多样性,以及系统随机噪声误差等因素的影响,在某些时刻可能会出现一致结果的执行体个数达不到阈值k,更有甚者,可能会出现n个执行体的运算结果两两皆不同的情形(简称无法表决),此时选择哪一个执行体的结果作为系统的输出则是一个问题。

目前,在遇到上述无法表决的情况时,现有解决方法是随机选择一个执行体的运算结果作为系统输出,但是这种处理方法过于粗暴,因为此时系统是大概率受到攻击而导致各执行体运算结果不一样,若是随机选择,则至少有2/3的概率选择是错误的,也就是说有2/3的概率选择的结果与系统输出所期望的结果不一致,从而会导致“攻击逃逸”。



技术实现要素:

为解决在拟态防御架构下,当出现无法表决情形时,目前的拟态防御表决机制所使用的随机选择结果作为输出而导致攻击逃逸的问题,本发明提供一种基于信任的拟态防御表决机制及系统。

本发明提供一种基于信任的拟态防御表决机制,该机制包括以下步骤:

步骤1:根据拟态防御系统中各执行体的运算结果对各执行体进行计数;

步骤2:根据计数结果,基于贝叶斯估计理论估计当前时刻每个执行体的统计信任度;

步骤3:在无法表决情况下选取当前时刻统计信任度最大的执行体的运算结果作为拟态防御系统的输出。

进一步地,执行体ai在t时刻的统计信任度是指:根据执行体ai在(t-△t,t)时间段内的运算结果,基于贝叶斯估计理论对ai在t时刻是正常的可能性作出的估计值。

进一步地,步骤1具体为:

步骤1.1:获取拟态防御系统的历史表决数据,所述历史表决数据包括每次表决过程中各执行体的运算结果和对应的输出结果;

步骤1.2:在一次表决过程中,针对每个执行体,若其运算结果与本次表决的输出结果一致,则认为执行体的运算结果正确,反之认为执行体的运算结果错误;

步骤1.3:在一次表决过程中,若执行体的运算结果正确,则增加其计数;若执行体的运算结果错误,则保持其当前计数。

进一步地,步骤2具体为:

步骤2.1:对执行体ai在一次表决过程中的计数按照式(1)进行模型化:

步骤2.2:在n次表决过程中,将ai的运算结果与输出结果是否一致所对应的随机变量xi(1),xi(2),...,xi(n)作为xi的简单随机抽样,n为检测次数;

步骤2.3:设定ai的运算结果与输出结果一致的次数(k)是参数θ的充分统计量且服从二项分布:

步骤2.4:设定θ的先验分布是均匀分布,则观察到s(n)=k时,按照式(3)得到θ的后验分布:

其中,b(k+1,n-k+1)是参数为k+1和n-k+1的beta分布函数;

步骤2.5:按照式(4)得到参数θ的估计值:

步骤2.6:将参数θ的估计值作为执行体ai在t时刻的统计信任度sti(t)。

进一步地,检测次数n的取值范围:

其中,ε∈(0,1)是误差参数,δ∈(0,1)是置信参数。

进一步地,还包括:比较执行体tn时刻在第n次表决过程中的运算结果与输出结果,根据比较结果确定执行体在tn时刻的统计信任度的更新方式。

进一步地,若执行体ai的运算结果与输出结果一致,则按照式(6)更新ai的统计信任度:

ti(tn)=α·ti(tn-1)+(1-α)·sti(tn)(6)

其中,α∈(0,1)表示加权参数,tn-1是ai上一次参与表决的时刻;

若执行体ai的运算结果与输出结果不一致,则按照式(7)更新ai的统计信任度:

ti(tn)=β×ti(tn-1)(7)

其中,β∈(0,1)表示惩罚参数。

进一步地,该机制还包括:在更新统计信任度之前,调整加权参数:

若执行体ai的运算结果与输出结果一致,按照式(8)调整两次加权参数,利用第二次调整后的加权参数按照式(6)更新统计信任度:

α'=α-w*α,α”=max(0.1,α')(8)

若执行体ai的运算结果与输出结果不一致,按照式(9)调整两次加权参数,利用第二次调整后的加权参数按照式(7)更新统计信任度:

α'=α+w′*α,α”=min(1,α')(9)

其中,α表示调整前的加权参数,α'为第一次调整后的加权参数,α”为第二次调整后的加权参数,其中w,w′∈(0,1),为预设参数。

本发明还提供一种基于信任的拟态防御表决机制系统,该系统包括:

计数器,用于根据拟态防御系统中各执行体的表决结果对各执行体进行计数;

统计信任度计算模块,用于根据计数器的计数结果,基于贝叶斯估计理论估计当前时刻每个执行体的统计信任度;

拟态表决模块,用于在无法表决情况下选取当前时刻统计信任度最大的执行体的运算结果作为拟态防御系统的输出。

进一步地,执行体ai在t时刻的统计信任度是指:根据执行体ai在(t-△t,t)时间段内的运算结果,基于贝叶斯估计理论对ai在t时刻是正常的可能性作出的估计值。

本发明的有益效果:

(1)本发明提出的基于信任的拟态防御表决机制,根据各执行体的历史表现记录,为每个执行体构建一个信任度量,当遇到上述无法表决情况时,选取统计信任度最大的执行体的运算结果作为系统的输出结果,虽然系统也会出现“攻击逃逸”的情况,但由“相对正确”公理可知,这是一个小概率事件,且计数是随着时间而不断更新的,因此该种情况对整体影响很小,可以忽略不计,因此本发明的表决机制可以最大限度的避免攻击逃逸的问题。

(2)采用本发明提出的表决机制,只需维护用于计数的计数器即可,对各执行体的存储开销和计算代价影响不大,故而不影响系统的响应时间。

(3)一个具有较低信任度的执行体,经过清洗或更新配置等原因,从某个时刻开始进行了正确的表决,因此不能对该执行体一直采取抑制策略,基于该考虑,本发明将统计信任度定义为时变的度量值,在更新统计信任度的过程中,通过比较执行体在本次表决过程中的运算结果和本次表决的输出结果,进而确定统计信任度的更新方式,使得历史时刻离当前时刻越远,当前时刻的统计信任度对其该历史时刻的历史行为的依赖性越低,从而进一步提高了系统的安全性。

(4)本发明中的统计信任度是执行体在下一次表决中正确的概率估计,或者说执行体在下一时刻是否被攻击成功的一个度量。由于漏洞的复杂性,实质上根本无法给出每种漏洞的特征进而进行防御,甚至还有未被发现的漏洞就更无从防御了,因此,通过本发明提出的基于信任的拟态防御表决机制,可以根据无先验知识的多数表决,从而发现执行体表决异常的证据。

(5)通过将本发明提出的基于信任的拟态防御表决机制系统应用到现有的拟态防御系统中,在各运算结果符合k/n表决阈值的情况下,采用现有的表决机制进行输出;在无法表决的情况下,采取基于信任的拟态防御表决机制,相对与随机选择的方法,本发明可以降低“攻击逃逸”的概率,从而可以提升系统的安全性。

附图说明

图1为本发明实施例提供的一种基于信任的拟态防御表决机制的流程示意图;

图2为本发明实施例提供的不同的值下执行体的统计信任度趋势图;

图3为本发明实施例提供的一种基于信任的拟态防御表决机制系统的结构示意图;

图4为本发明实施例提供的加入基于信任的拟态防御表决机制系统的拟态防御系统的表决流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在dhr架构下,现有的表决方式一般采取k/n表决的方法,即在n个执行体中,至少有k个执行体的运算结果一样,则以该运算结果作为系统的输出结果。在实践当中,由于网络空间的复杂性和网络攻击的多样性,以及系统随机噪声误差等因素的影响,在某些时刻可能会出现一致结果的执行体个数达不到阈值k;更有甚者,可能会出现n个执行体的运算结果两两皆不同的情形,这种情形简称无法表决。

如图1所示,本发明实施例提供一种基于信任的拟态防御表决机制,包括以下步骤:

s101:根据拟态防御系统中各执行体的运算结果对各执行体进行计数;

s102:根据计数结果,基于贝叶斯估计理论估计当前时刻每个执行体的统计信任度;

具体地,执行体ai在t时刻的统计信任度是指:根据执行体ai在(t-△t,t)时间段内的运算结果,基于贝叶斯估计理论对ai在t时刻是正常的可能性作出的估计值。

s103:在无法表决情况下选取当前时刻统计信任度最大的执行体的运算结果作为拟态防御系统的输出。

相比于现有技术(即随机选择执行体的运算结果作为系统的输出),本发明实施例提出的基于信任的拟态防御表决机制,根据各执行体的历史表现记录,为每个执行体构建一个信任度量,当遇到上述无法表决情况时,选取统计信任度最大的执行体的运算结果作为系统的输出结果,虽然系统也会出现“攻击逃逸”的情况,但由“相对正确”公理可知(邬江兴.网络空间拟态防御导论上册[m].北京:科学出版社,2017),这是一个小概率事件,且计数是随着时间而不断更新的,因此该种情况对整体影响很小,可以忽略不计。因此本发明实施例提出的表决机制可以最大限度的避免攻击逃逸的问题。此外,采用本发明提出的表决机制,只需维护用于计数的计数器即可,对各执行体的存储开销和计算代价影响不大,故而不影响系统的响应时间。

在上述实施例的基础上,本发明提供又一种基于信任的拟态防御表决机制,包括以下步骤:

s201:根据拟态防御系统中各执行体的运算结果对各执行体进行计数,具体包括以下子步骤:

s2011:获取拟态防御系统的历史表决数据,所述历史表决数据包括每次表决过程中各执行体的运算结果和对应的输出结果;

s2012:在一次表决过程中,针对每个执行体,若其运算结果与本次表决的输出结果一致,则认为执行体的运算结果正确,反之认为执行体的运算结果错误;

s2013:在一次表决过程中,若执行体的运算结果正确,则增加其计数;若执行体的运算结果错误,则保持其当前计数。

s202:根据计数结果,基于贝叶斯估计理论估计当前时刻每个执行体的统计信任度,具体包括以下子步骤:

s2021:对执行体ai在一次表决过程中的计数按照式(1)进行模型化:

s2022:在n次表决过程中,将ai的运算结果与输出结果是否一致所对应的随机变量xi(1),xi(2),...,xi(n)作为xi的简单随机抽样,n为检测次数;

s2023:设定ai的运算结果与输出结果一致的次数是参数θ的充分统计量且服从二项分布:

s2024:设定θ的先验分布是均匀分布,则观察到s(n)=k时,按照式(3)得到θ的后验分布:

其中,b(k+1,n-k+1)是参数为k+1和n-k+1的beta分布函数;

s2025:按照式(4)得到参数θ的估计值:

s2026:将参数θ的估计值作为执行体ai在t时刻的统计信任度sti(t)。

s203:在无法表决情况下选取当前时刻统计信任度最大的执行体的运算结果作为拟态防御系统的输出。

当某个执行体的运算结果和输出结果不一致时,表明该执行体的运算结果是错误的,即该执行体易被攻击者影响或控制,因此本发明实施例提供的基于信任的拟态防御表决机制,通过根据各执行体的历史表决数据对各执行体进行计数,进而计数结果降低易被攻击者影响或控制的执行体的统计信任度(即减小其运算结果被选为系统的输出结果的概率),相对应地,提高运算结果正确的执行体的统计信任度,从而在无法表决情况下,选取统计信任度最高的执行体的运算结果作为系统的输出结果,提高了输出结果的准确度。

在上述实施例的基础上,在统计信任度的计算过程中,为了把估计误差控制在预定的范围之内,根据chernoffbound定理(muil,mohtashemim,halberstadta.acomputationalmodeloftrustandreputation.in:proc.ofthe35thhawaiiinternationalconferenceonsystemscience(hicss).ieeepress,2002.2431-2439.),对检测次数还有最低要求:

其中,ε∈(0,1)是误差参数,δ∈(0,1)是置信参数。

此外,在统计执行体表决计数时,是从当前时刻往前回溯△t长的时间,而为得到足够多的统计数据使得估计更加精确,可以适当地动态调节△t大小,使效率与精确度兼顾。

在拟态防御系统中,一个执行体(仍以执行体ai为例)可能自身有漏洞或后门,从某一时刻,攻击者利用该漏洞而进行了成功攻击,此时,在拟态防御体系下,攻击者可能未实现攻击期望(由于多数表决),但这时应该根据统计计数降低该执行体ai的信任度。因为执行体ai中的漏洞在通过检测后,若为已知漏洞,则可进行升级配置并打上补丁进行修复,若是未知漏洞,则可以通过执行体ai的信任度的降低来抑制该未知漏洞的作用。另一方面,一个具有较低信任度的执行体,经过清洗或更新配置等原因,从某个时刻开始进行了正确的表决,因此不能对该执行体一直采取抑制策略。基于上述考虑,本发明将统计信任度定义为时变的度量值,即:

比较执行体tn时刻在第n次表决过程中的运算结果与输出结果,根据比较结果确定执行体在tn时刻的统计信任度的更新方式:

若执行体ai的运算结果与输出结果一致,则按照式(6)更新ai的统计信任度:

ti(tn)=α·ti(tn-1)+(1-α)·sti(tn)(6)

其中,α∈(0,1)表示加权参数,tn-1是ai上一次参与表决的时刻;

若执行体ai的运算结果与输出结果不一致,则按照式(7)更新ai的统计信任度:

ti(tn)=β×ti(tn-1)(7)

其中,β∈(0,1)表示惩罚参数。

通过对式(6)进行迭代展开,则有:

由式(6-1)可以看出,统计信任度采取上述更新方式保证了所有历史数据都参与了对统计信任度的计算过程,且使得越远的历史时刻tn-k,其统计信任度对当前时刻的统计信任度的贡献力度αk(1-α)愈小,也就是说,离当前时刻越远,当前时刻的统计信任度对其历史行为的依赖性就越低。这也符合社会行为学对信任度的定义。

如果ai进行了错误的表决,此时ai则极有可能受到攻击,或者说ai变得不安全,根据“信任失去容易、得到难”的一般原则,则根据式(7)所示的更新方式进行更新,可以看出,β取值较小的时候,当ai进行了错误表决后,ai的统计信任度迅速下降。如此,即可以提高统计信任度的计算效率,而且可以及时降低ai在无法表决情况下被选为系统输出而造成的“攻击逃逸”的概率。

此外,在实际应用中,在初始时刻,可以给每个执行体赋值一个初始的统计信任度,然后根据各执行体后续参与表决的情况更新各自的统计信任度。对于初始信任度可以赋值为1,也可以为0.5。对于初始时刻,可以认为各执行体都是在正常状态下,即软件和配置没有漏洞,故而是可信的,所以初始信任度可以赋值为1;但对于执行体来说,即使不存在已知漏洞,但也可能有未知漏洞,此时对执行体的信任无从判别,故而可以赋值为0.5,这样可以完全根据执行体以后的表决情况来决定其信任度。

上述公式(6)中,参数α实际上是对以往统计信任度的依赖权重,而1-α则是对将来信任度的依赖权重,这样当某时刻ai进行了错误的表决,则其统计信任度会迅速下降,因为在这种情况下,可以认为此时至以后一段时间内,ai可能都是不安全的或易受攻击的,即使ai进行了正确的表决,在这种情况下其实也更依赖于ai以往的统计信任度,即需要增大α。因此,基于上述考虑,本发明实施例还提供一种动态调整加权参数α的方式,以进一步满足“信任失去容易、得到难”的一般原则,具体为:在更新统计信任度之前,按照下述方式调整加权参数:

若执行体ai的运算结果与输出结果一致,按照式(8)调整两次加权参数,利用第二次调整后的加权参数按照式(6)更新统计信任度:

α'=α-w*α,α”=max(0.1,α')(8)

若执行体ai的运算结果与输出结果不一致,按照式(9)调整两次加权参数,利用第二次调整后的加权参数按照式(7)更新统计信任度:

α'=α+w′*α,α”=min(1,α')(9)

其中,α表示调整前的加权参数,α'为第一次调整后的加权参数,α”为第二次调整后的加权参数,其中w,w′∈(0,1),为预设参数。

根据α更新方法和实验可知,式(8)中w的取值,对信任度更新很敏感,调整w的大小,可以实现信任得到困难的原则,参数w′为固定值。

此外,在实际应用中,可将参数α的初始值设置为:α=0.5。

为了更加直观的说明加权参数的更新方法,产生长度为100,元素为1的序列,并在中间插入0,以此来模拟执行体参与表决的计数结果,1表示进行了正确的表决,而0表示错误的表决,对不同的w值,执行体的统计信任度趋势图如下图2:

根据图2可以看出,当执行体进行错误表决时,其信任度迅速降低,即信任失去容易,而当执行体继续进行正确表决时,可以根据需要,来调整其信任度增长的速率。

本发明中的统计信任度是执行体在下一次表决中正确的概率估计,或者说执行体在下一时刻是否被攻击成功的一个度量。由于漏洞的复杂性,实质上根本无法给出每种漏洞的特征进而进行防御,甚至还有未被发现的漏洞就更无从防御了,因此,通过本发明提出的基于信任的拟态防御表决机制,可以根据无先验知识的多数表决,从而发现执行体表决异常的证据。

如图3所示,本发明实施例还提供一种基于信任的拟态防御表决机制系统,包括:计数器301、统计信任度计算模块302和拟态表决模块303;

计数器301用于根据拟态防御系统中各执行体的表决结果对各执行体进行计数;统计信任度计算模块302用于根据计数器的计数结果,基于贝叶斯估计理论估计当前时刻每个执行体的统计信任度;拟态表决模块203用于在无法表决情况下选取当前时刻统计信任度最大的执行体的运算结果作为拟态防御系统的输出。

具体地,执行体ai在t时刻的统计信任度是指:根据执行体ai在(t-△t,t)时间段内的运算结果,基于贝叶斯估计理论对ai在t时刻是正常的可能性作出的估计值。

在上述实施例的基础上,本发明实施例提供的基于信任的拟态防御表决机制系统,还包括:数据获取模块和判断模块;其中:

数据获取模块用于获取拟态防御系统的历史表决数据,所述历史表决数据包括每次表决过程中各执行体的运算结果和对应的输出结果;判断模块用于在一次表决过程中,针对每个执行体,若其运算结果与本次表决的输出结果一致,则认为执行体的运算结果正确,反之认为执行体的运算结果错误;相应地,计数器301还用于在一次表决过程中,若执行体的运算结果正确,则增加其计数;若执行体的运算结果错误,则保持其当前计数。

在上述各实施例的基础上,本发明实施例提供的基于信任的拟态防御表决机制系统,还包括:加权参数调整模块,用于在更新统计信任度之前,调整加权参数:若执行体ai的运算结果与输出结果一致,按照式(8)调整两次加权参数,利用第二次调整后的加权参数按照式(6)更新统计信任度:

α'=α-w*α,α”=max(0.1,α')(8)

若执行体ai的运算结果与输出结果不一致,按照式(9)调整两次加权参数,利用第二次调整后的加权参数按照式(7)更新统计信任度:

α'=α+w′*α,α”=min(1,α')(9)

其中,α表示调整前的加权参数,α'为第一次调整后的加权参数,α”为第二次调整后的加权参数,其中w,w′∈(0,1),为预设参数。

需要说明的是,本发明实施例提供的基于信任的拟态防御表决机制系统是为了实现上述方法实施例的,其功能具体可参考上述方法实施例,此处不再赘述。

在实际应用中,可以将本发明实施例提出的基于信任的拟态防御表决机制系统加入至现有的拟态防御系统,并按照如图4所示的流程进行操作:

s401:拟态防御系统接收输入的请求;

s402:各执行体根据该请求进行运算得到运算结果;

s403:将各执行体的运算结果提交至表决器进行表决,判断若各运算结果是否符合k/n表决阈值:

若是,则系统输出一致的运算结果,并将表决数据转发至数据获取模块,数据获取模块将数据转发至判断模块进行判断,判断模块根据判断结果指示计数器进行计数更新,接着统计信任度计算单元根据更新后的计数结果更新统计信任度;

若否,比较各执行体的统计信任度,选择统计信任度最大者的运算结果作为系统输出。

需要说明的是,若有多个执行体的信任度相同且最大,则在这些执行体中随机选取一个作为系统输出。此种情况下系统只是以信任度为参考而做出的决策,实际上并没有进行表决,故而也无法判别对错,因此该情况不进行表决计数的更新和信任度更新更为合理。

由于现有的拟态防御表决机制中,存在无法表决的情况,会导致系统无法有效的决策,本发明通过引入统计信任度的概念,为每个执行体维护一个统计信任度,当系统出现两两不同而无法表决的情况时,可以以各执行体的统计信任度作为参考,选择统计信任度大的执行体的运算结果作为系统输出。本发明提出的基于信任的拟态防御表决机制及系统可以降低“攻击逃逸”的概率,从而可以提升系统的安全性。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1