一种基于三方动态博弈的防御策略产生方法与流程

专利2022-06-30  98


本发明属于网络安全领域,尤其涉及一种基于三方动态博弈的防御策略产生方法。
背景技术
:目前产生安全策略的难点在于恶意攻击的多步性。同时系统内部的用户由于具有攻击者所没有的权限可能会暴露出系统内部的漏洞具体信息。为了应对信息系统的动态性,将动态目标防御技术结合进攻击图技术是一种十分有效的手段,现有研究可分为两类:结合博弈模型与结合高级模型。然而,都存在一个共同的问题,即忽略了用户在攻守博弈的影响。一些学者使用一个具有不确定性的变量来表示双方游戏中由第三方参与博弈造成的影响,以这种方式获得的结果并不准确。因此,我们需要新的方法来研究防御策略生成问题,将内部威胁考虑进去,通过一定的方式更加有效的解决内部威胁对于攻防博弈的影响。技术实现要素:本发明的发明目的是针对上述
背景技术
的不足,提了基于三方动态博弈的防御策略产生方法,采用本发明公开的策略产生算法能够有效提供防御措施的有效性,解决了内部威胁干扰防御措施有效性的技术问题。本发明为实现上述发明目的采用如下技术方案:基于攻击图的动态三方博弈建模方法的步骤如下s1.构建攻击图。通过真实网络拓扑结构将整个拓扑结构中的漏洞关系构建为一个攻击图;s2.构建动态三方博弈的状态空间,行为约束空间;s3.使用均衡价值传播算法量化攻击图节点属性,并产生不同的攻击者策略;s4.基于混合策略博弈模型产生用户策略;s5.基于三方博弈模型产生防御者策略;s6.基于三方博弈的安全态势计算方法;s7.得到最终防护策略集。进一步地,所述的步骤s1包括构建攻击图,将网络拓扑中的漏洞看作脆弱性节点,将漏洞之间的利用关系看作边,则攻击图可使用一个有向图g=(v,e,θ,p)来描述;其中,攻击图属性特征定义如下:v是非空的节点集合,表示系统所有脆弱性节点集合,表示为v=vi∪vm∪vg,其中vi表示其他攻击者初始状态已经使用的漏洞信息集合,vm表示攻击的中间脆弱性节点集合,vg表示目标脆弱性节点集合,攻击者的最终目标是通过激活一个或多个目标节点来获取非法收益,而防御者则是防止这些节点被激活。e是攻击图中所有边的集合,表示脆弱性节点之间的关联,用于描述脆弱性节点的入侵关系,e=(u,v)∈e表示攻击者可以从脆弱性节点u攻击脆弱性节点v。π-(v)={u|(u,v)∈e}表示v的父节点集合,π (v)={u|(v,u)∈e}表示v的子节点集合。θ表示的是节点类型,对于每个节点v∈v而言θ(v)∈{∧,∨},其中∧是“与”节点,表示该节点只有所有父节点都被攻击者攻击之后才能够被攻击,于此相反,∨是“或”节点,表示的是该节点任何一个父节点被攻击者攻击后都可以被攻击。p(eu,v)∈(0,1)代表从节点u攻击节点v的攻击概率。进一步地,所述的步骤s2包括:通过步骤s1构建的攻击图,使用ψ=(t,s,d,a,u,r,c,γ)来定义整个博弈模型,其中t={0,...,t}表示时间度量;s={s0,...,st},其中st={v∈v|st(v)=1}表示在t时刻被攻击节点的集合;d={d0,...,dt},表示防御者的防御策略集合,其中dt∈v表示的是t时刻防御者加固的节点集合,对于这些节点,攻击者无法攻击使其激活;a={a0,...,at},表示攻击者的攻击策略集合,其中at∈v表示的是t时刻攻击者激活的节点集合,攻击者通过激活这些节点获得非法收益;u={u0,...,ut},表示用户的干扰策略集合,其中ut∈v表示的是t时刻用户干扰的节点集合,对于这些节点,防御者需要耗费更多的时间去加固这些节点;r表示决策者的收益,其中ra(v)表示攻击者于节点v的攻击收益,rd(v)表示防御者于节点v的防御收益,ru(v)表示用户于节点v的干扰收益;c表示每一个决策者行为的代价函数,ca(v)表示攻击者激活节点v的代价,cu(v)表示用户干扰节点v的代价;γ表示折扣函数,γ∈(0,1];λ表示安全态势值集合。在每个时间段内,博弈三方通过对攻击图的状态进行观察,实施各自的行为策略。博弈三方的行为约束空间如下:关于攻击者约束,t时刻,攻击者策略集定义为at,攻击者策略约束可以表示为以下形式:当若攻击者意图将v节点加入攻击策略集at,则将节点v移出当攻击者无法将v节点加入攻击策略集at;当攻击者无法将v节点加入攻击策略集at;当攻击者无法将v节点加入攻击策略集at;在t时刻,攻击者最多只能将一个节点加入攻击策略集at。关于防御者约束,t时刻,防御者策略集定义为dt,防御者策略约束可以表示为以下形式:当若防御者意图将v节点加入防御策略集dt,则此防御措施无效,同时将节点v移出当防御者无法将v节点加入防御策略集dt;当防御者无法将v节点加入防御策略集dt;在t时刻,防御者最多只能将一个节点加入防御策略集dt。关于用户约束,t时刻,用户策略集定义为ut,用户策略约束可以表示为以下形式:当用户无法将v节点加入用户策略集ut;当用户无法将v节点加入用户策略集ut;当用户无法将v节点加入用户策略集ut;在t时刻,用户最多只能将一个节点加入用户策略集ut。进一步地,所述的步骤s3包括:对于攻击图中的每个节点,其价值总是目标节点相关,使用下述公式进行计算:之后,计算攻击候选节点集合,在t时刻,对于攻击图st,攻击者需要选择出一个攻击节点用来进一步的攻击整个系统。攻击候选节点集合ψa(st)构造方式如下:攻击者策略具有不确定性,为了模拟不同的攻击者策略本文使用如下三种攻击者策略分别代表激进型攻击者,保守型攻击者,以及混乱型攻击者:激进型攻击者,攻击节点的选取基于攻击候选节点集合,选出攻击节点中价值最高的节点进行激活;保守型攻击者,攻击节点的选取基于攻击候选节点集合,依据节点价值计算出所有节点的进攻概率,对于每一个候选攻击节点的选取概率依据公式进行计算;混乱型攻击者,在t时刻,攻击者从候选节点中选取任意攻击节点作为下一个攻击目标。进一步地,所述的步骤s4包括:用户作为网络拓扑中的使用者,具有相应的权限,对于每一个用户可达的脆弱性节点,其收益为此节点的价值,而代价为法律代价。关于法律代价,其代价与该节点和目标节点的距离正相关,其节点的法律代价为多个所有重要节点于此处的风险传播值之和,用如下公式表示:关于当前时刻节点的价值使用收益矩阵表示,对每个节点,攻击方和用户不同的行为会有不同的收益函数,假设收益矩阵为q,表示为q={qij}n*n,其中n表示脆弱性节点的数量。收益计算方式如下:若干扰节点是攻击节点的父节点,那么收益一定为0;若干扰节点是攻击节点的子节点,那么获得的净收益为δ为期待落差函数,k为攻击节点与用户干扰节点的距离,γ为折扣函数;若干扰节点是攻击节点的兄弟节点,那么获得的净收益为若干扰节点和攻击节点一致时,则获得收益为之后,对于攻击者和用户行为进行建模,规定用户的策略集合为u,混合策略期望值为v,其中用户策略集合中的每一个元素表示用户对于选择节点方式的倾向度,而用户对于所有选择节点方式的倾向度的总和为1。上述内容可以使用如下的数学表达式表示:对此线性规划问题进行求解可以获得混合策略期望值以及用户策略集合,其中用户策略集合中最大的倾向策略为用户选择的策略。进一步地,所述的步骤s5包括:防御方的加固策略可以表示为以下步骤:首先,在t 1时刻首先随机选取na条攻击路径,集合{ak}表示攻击路径的集合,其中k=1,2,...,na,集合中的每一条路径都是随机选取。ak中的策略集合表示为ra(ak)。之后,对于每一条攻击路径的阻断进行安全态势评估,其安全态势评估计算公式如下:其中,pj(s)为攻击阶段实现概率,指攻击者已经成功入侵到某个阶段状态的可能性;impact(v)为攻击阶段利用的所有单个漏洞威胁得分;weight为攻击阶段的节点权重值。最后,从ra(ak)中选出λ(ak)值最大的一条路径,对于该路径节点集合与攻击候选节点的交集,选择交集中的非干扰节点,若交集中无其他节点,则将ak移出ra(ak),重复步骤3,直到选出相应防御加固节点。进一步地,所述的步骤s6中包括:对于博弈顺序可以用如下步骤表示:首先,依据行为约束,攻击者选取防御策略dt,之后,用户依照当前拓扑结构选择用户策略ut,最后,在dt和ut的共同作用下,攻击者观察当前的攻击图状态并执行其策略at。通过以下公式计算博弈过程中每个时刻的网络攻击拓扑的安全状况值,直到到达时间最大值t。式中,ai是当前时间的任意攻击路径,n是攻击路径的数量。进一步地,所述的步骤s7中包括:将整个时间域的防御策略按照时间序列的顺序进行汇总,得到最终的防御策略集,将之提供给用户。通过上述步骤,可以完成基于动态目标防御的动态三方博弈模型,用于产生更有效的防护策略。有益效果:与现有技术相比,本发明采用攻击图技术,建立了动态三方博弈模型,通过引入内部威胁的实体,消除了双方博弈模型的不确定性,将攻击方和防御方的关系变成了非直接关系,基于混合策略博弈模型产生的用户策略,增加了隐形攻击与内部攻击的耦合性。通过动态构建收益矩阵来衡量用户和攻击者行为的结果,并是使用动态规划来获得用户行为参考。对于防御方,模型通过启发式策略并通过随机抽样降低了分析各方行为的复杂性。实验结果表明新方法产生的防御策略有效降低了系统的风险。附图说明图1系统流程图。图2为案例拓扑图。图3为实验结果图。具体实施方式如附图1所示,本发明为一种基于三方动态博弈的防御策略产生方法,分为三个阶段,预处理阶段、动态博弈阶段和策略产生阶段。为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及一个实际拓扑实例进行详细描述。基于三方动态博弈的防御策略产生方法的步骤如下:s1.构建攻击图。通过真实网络拓扑结构将整个拓扑结构中的漏洞关系构建为一个攻击图;s2.构建动态三方博弈的状态空间,行为约束空间;s3.使用均衡价值传播算法量化攻击图节点属性,并产生不同的攻击者策略;s4.基于混合策略博弈模型产生用户策略;s5.基于三方博弈模型产生防御者策略;s6.基于三方博弈的安全态势计算方法;s7.得到最终防护策略集步骤s1包括:构建攻击图,将网络拓扑中的漏洞看作脆弱性节点,将漏洞之间的利用关系看作边,则攻击图可使用一个有向图g=(v,e,θ,p)来描述;其中,攻击图属性特征定义如下:v是非空的节点集合,表示系统所有脆弱性节点集合,表示为v=vi∪vm∪vg,其中vi表示其他攻击者初始状态已经使用的漏洞信息集合,vm表示攻击的中间脆弱性节点集合,vg表示目标脆弱性节点集合,攻击者的最终目标是通过激活一个或多个目标节点来获取非法收益,而防御者则是防止这些节点被激活。e是攻击图中所有边的集合,表示脆弱性节点之间的关联,用于描述脆弱性节点的入侵关系,e=(u,v)∈e表示攻击者可以从脆弱性节点u攻击脆弱性节点v。π-(v)={u|(u,v)∈e}表示v的父节点集合,π (v)={u|(v,u)∈e}表示v的子节点集合。θ表示的是节点类型,对于每个节点v∈v而言θ(v)∈{∧,∨},其中∧是“与”节点,表示该节点只有所有父节点都被攻击者攻击之后才能够被攻击,于此相反,∨是“或”节点,表示的是该节点任何一个父节点被攻击者攻击后都可以被攻击。p(eu,v)∈(0,1)代表从节点u攻击节点v的攻击概率。拓扑图如图2所示,生成的攻击图如图3所示,相应的漏洞信息如表1,表2所示:表1节点漏洞信息表表2漏洞cvss信息表节点序号cve-编号av/ac/auc/i/a1cve-2012-60661.0/0.61/0.7040.660/0.660/0.6602cve-2006-71671.0/0.71/0.7040.275/0.275/0.2753cve-2011-40401.0/0.71/0.7040.660/0.660/0.6604cve-2010-39721.0/0.71/0.7040.660/0.660/0.6605cve-2008-00151.0/0.61/0.7040.660/0.660/0.6606cve-2003-06931.0/0.71/0.7040.660/0.660/0.6607cve-2013-41151.0/0.71/0.7040.275/0.275/0.2758cve-2015-17621.0/0.35/0.560.660/0.660/0.6609cve-2012-47071.0/0.71/0.7040.660/0.660/0.66010cve-2009-05681.0/0.71/0.7040.660/0.660/0.660步骤s2包括:通过步骤s1构建的攻击图,使用ψ=(t,s,d,a,u,r,c,γ)来定义整个博弈模型,其中t={0,...,t}表示时间度量;s={s0,...,st},其中st={v∈v|st(v)=1}表示在t时刻被攻击节点的集合;d={d0,...,dt},表示防御者的防御策略集合,其中dt∈v表示的是t时刻防御者加固的节点集合,对于这些节点,攻击者无法攻击使其激活;a={a0,...,at},表示攻击者的攻击策略集合,其中at∈v表示的是t时刻攻击者激活的节点集合,攻击者通过激活这些节点获得非法收益;u={u0,...,ut},表示用户的干扰策略集合,其中ut∈v表示的是t时刻用户干扰的节点集合,对于这些节点,防御者需要耗费更多的时间去加固这些节点;r表示决策者的收益,其中ra(v)表示攻击者于节点v的攻击收益,rd(v)表示防御者于节点v的防御收益,ru(v)表示用户于节点v的干扰收益;c表示每一个决策者行为的代价函数,ca(v)表示攻击者激活节点v的代价,cu(v)表示用户干扰节点v的代价;γ表示折扣函数,γ∈(0,1];λ表示安全态势值集合。在每个时间段内,博弈三方通过对攻击图的状态进行观察,实施各自的行为策略。博弈三方的行为约束空间如下:关于攻击者约束,t时刻,攻击者策略集定义为at,攻击者策略约束可以表示为以下形式:当若攻击者意图将v节点加入攻击策略集at,则将节点v移出当攻击者无法将v节点加入攻击策略集at;当攻击者无法将v节点加入攻击策略集at;当攻击者无法将v节点加入攻击策略集at;在t时刻,攻击者最多只能将一个节点加入攻击策略集at。关于防御者约束,t时刻,防御者策略集定义为dt,防御者策略约束可以表示为以下形式:当若防御者意图将v节点加入防御策略集dt,则此防御措施无效,同时将节点v移出当防御者无法将v节点加入防御策略集dt;当防御者无法将v节点加入防御策略集dt;在t时刻,防御者最多只能将一个节点加入防御策略集dt。关于用户约束,t时刻,用户策略集定义为ut,用户策略约束可以表示为以下形式:当用户无法将v节点加入用户策略集ut;当用户无法将v节点加入用户策略集ut;当用户无法将v节点加入用户策略集ut;在t时刻,用户最多只能将一个节点加入用户策略集ut。步骤s3包括:对于攻击图中的每个节点,其价值总是目标节点相关,使用下述公式进行计算:相应的漏洞信息如表3所示:表3漏洞信息表节点序号possibilityimpactweight10.8620.031821.020.031831.040.063641.0100.159050.860.90.014361.070.111371.070.111380.39100.159091.0100.1590101.0100.1590之后,计算攻击候选节点集合,在t时刻,对于攻击图st,攻击者需要选择出一个攻击节点用来进一步的攻击整个系统。攻击候选节点集合ψa(st)构造方式如下:攻击者策略具有不确定性,为了模拟不同的攻击者策略本文使用如下三种攻击者策略分别代表激进型攻击者,保守型攻击者,以及混乱型攻击者:激进型攻击者,攻击节点的选取基于攻击候选节点集合,选出攻击节点中价值最高的节点进行激活;保守型攻击者,攻击节点的选取基于攻击候选节点集合,依据节点价值计算出所有节点的进攻概率,对于每一个候选攻击节点的选取概率依据公式进行计算;混乱型攻击者,在t时刻,攻击者从候选节点中选取任意攻击节点作为下一个攻击目标。进一步地,所述的步骤s4包括:用户作为网络拓扑中的使用者,具有相应的权限,对于每一个用户可达的脆弱性节点,其收益为此节点的价值,而代价为法律代价。关于法律代价,其代价与该节点和目标节点的距离正相关,其节点的法律代价为多个所有重要节点于此处的风险传播值之和,用如下公式表示关于当前时刻节点的价值使用收益矩阵表示,对每个节点,攻击方和用户不同的行为会有不同的收益函数,假设收益矩阵为q,表示为q={qij}n*n,其中n表示脆弱性节点的数量。收益计算方式如下:若干扰节点是攻击节点的父节点,那么收益一定为0;若干扰节点是攻击节点的子节点,那么获得的净收益为δ为期待落差函数,k为攻击节点与用户干扰节点的距离,γ为折扣函数;若干扰节点是攻击节点的兄弟节点,那么获得的净收益为若干扰节点和攻击节点一致时,则获得收益为之后,对于攻击者和用户行为进行建模,规定用户的策略集合为u,混合策略期望值为v,其中用户策略集合中的每一个元素表示用户对于选择节点方式的倾向度,而用户对于所有选择节点方式的倾向度的总和为1。上述内容可以使用如下的数学表达式表示:对此线性规划问题进行求解可以获得混合策略期望值以及用户策略集合,其中用户策略集合中最大的倾向策略为用户选择的策略。进一步地,所述的步骤s5包括:防御方的加固策略可以表示为以下步骤:首先,在t 1时刻首先随机选取na条攻击路径,集合{ak}表示攻击路径的集合,其中k=1,2,...,na,集合中的每一条路径都是随机选取。ak中的策略集合表示为ra(ak)。之后,对于每一条攻击路径的阻断进行安全态势评估,其安全态势评估计算公式如下:其中,pj(s)为攻击阶段实现概率,指攻击者已经成功入侵到某个阶段状态的可能性;impact(v)为攻击阶段利用的所有单个漏洞威胁得分;weight为攻击阶段的节点权重值。最后,从ra(ak)中选出λ(ak)值最大的一条路径,对于该路径节点集合与攻击候选节点的交集,选择交集中的非干扰节点,若交集中无其他节点,则将ak移出ra(ak),重复步骤3,直到选出相应防御加固节点。进一步地,所述的步骤s6中包括:对于博弈顺序可以用如下步骤表示:首先,依据行为约束,攻击者选取防御策略dt,之后,用户依照当前拓扑结构选择用户策略ut,最后,在dt和ut的共同作用下,攻击者观察当前的攻击图状态并执行其策略at。通过以下公式计算博弈过程中每个时刻的网络攻击拓扑的安全状况值,直到到达时间最大值t。式中,ai是当前时间的任意攻击路径,n是攻击路径的数量。此案例中的攻击者使用激进型策略,结果如表4所示,值越小表示系统越安全,从中可以看出来三方博弈模型产生的结果更为精确有效。表4安全态势值变化表进一步地,所述的步骤s7中包括:将整个时间域的防御策略按照时间序列的顺序进行汇总,得到最终的防御策略集,将之提供给用户。通过上述步骤,可以完成基于三方动态博弈的防御策略产生方法,用于产生更有效的防护策略。本发明未详细阐述部分属于本领域公知技术。以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页1 2 3 
技术特征:

1.一种基于三方动态博弈的防御策略产生方法,其特征在于,具体包括以下步骤:

s1.构建攻击图。通过真实网络拓扑结构将整个拓扑结构中的漏洞关系构建为一个攻击图;

s2.构建动态三方博弈的状态空间,行为约束空间;

s3.使用均衡价值传播算法量化攻击图节点属性,并产生不同的攻击者策略;

s4.基于混合策略博弈模型产生用户策略;

s5.基于三方博弈模型产生防御者策略;

s6.基于三方博弈的安全态势计算方法;

s7.得到最终防护策略集。

2.如权利要求1所述的基于三方动态博弈的防御策略产生方法,其特征在于,所述步骤s3中“均衡价值传播算法”,包括:

价值计算攻击公式:

3.如权利要求1所述的基于三方动态博弈的防御策略产生方法,其特征在于,所述步骤s4中“基于混合策略博弈模型产生用户策略”,包括:

法律代价计算公式:

以及策略产生方法:

关于当前时刻节点的价值使用收益矩阵表示,对每个节点,攻击方和用户不同的行为会有不同的收益函数,假设收益矩阵为q,表示为q={qij}n*n,其中n表示脆弱性节点的数量。收益计算方式如下:若干扰节点是攻击节点的父节点,那么收益一定为0;若干扰节点是攻击节点的子节点,那么获得的净收益为δ为期待落差函数,k为攻击节点与用户干扰节点的距离,γ为折扣函数;若干扰节点是攻击节点的兄弟节点,那么获得的净收益为若干扰节点和攻击节点一致时,则获得收益为

之后,对于攻击者和用户行为进行建模,规定用户的策略集合为u,混合策略期望值为v,其中用户策略集合中的每一个元素表示用户对于选择节点方式的倾向度,而用户对于所有选择节点方式的倾向度的总和为1。上述内容可以使用如下的数学表达式表示:

对此线性规划问题进行求解可以获得混合策略期望值以及用户策略集合,其中用户策略集合中最大的倾向策略为用户选择的策略。

4.如权利要求1所述的基于三方动态博弈的防御策略产生方法,其特征在于,所述步骤s5中“防御策略产生”,包括:

策略产生步骤:

首先,在t 1时刻首先随机选取na条攻击路径,集合{ak}表示攻击路径的集合,其中k=1,2,...,na,集合中的每一条路径都是随机选取。ak中的策略集合表示为ra(ak)。

之后,对于每一条攻击路径的阻断进行安全态势评估,其安全态势评估计算公式如下:

其中,pj(s)为攻击阶段实现概率,指攻击者已经成功入侵到某个阶段状态的可能性;impact(v)为攻击阶段利用的所有单个漏洞威胁得分;weight为攻击阶段的节点权重值。

最后,从ra(ak)中选出λ(ak)值最大的一条路径,对于该路径节点集合与攻击候选节点的交集,选择交集中的非干扰节点,若交集中无其他节点,则将ak移出ra(ak),重复步骤3,直到选出相应防御加固节点。

技术总结
本发明公开一种基于三方动态博弈的防御策略产生方法,属于网络安全领域。本方法将内外威胁统筹考虑,在策略产生过程中,将内部威胁实例化。在初始化阶段的节点价值衡量过程中,均衡多目标于此节点的影响,以减少节点价值计算中的偏向性问题。在顺序博弈过程中,防御方使用启发式方法获得多条攻击路径中威胁最大的路径予以阻断;用户方通过使用混合策略博弈模型对用户的策略进行建模,增加了隐身攻击与内部威胁的耦合性;对于攻击方,增加其行为方式的不确定性,使用三种攻击策略来分别模拟不同攻击者的攻击行为,最终将每个时段的防御策略进行合并,产生最终防护策略集。本发明通过动态分析三方行为,为管理员提供防范风险能力更高的决策建议。

技术研发人员:胡晨傲;燕雪峰
受保护的技术使用者:南京航空航天大学
技术研发日:2020.01.09
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55767.html

最新回复(0)