随着计算机网络规模的不断扩大,新型网络攻击技术相继出现,网络攻击手段趋于复杂化、智能化和多样化[1],各类信息安全事件发生频率持续增高,网络环境安全问题成为研究人员关注的热点[2]。导致网络安全问题的本质原因在于计算机软硬件以及网络通信协议存在漏洞,恶意攻击者利用漏洞逐步渗透到系统关键位置并获取系统权限,进而窃取信息并损害系统网络。网络防御技术包括被动防御技术与主动防御技术,与被动防御技术相比,主动防御技术可以使用户提前识别系统漏洞和潜在的安全威胁[3]。
博弈论作为研究具有斗争或竞争性质现象的数学理论和方法,常用于研究网络攻防决策,在主动防御方面应用广泛。网络安全攻防博弈中信息是非对称的,攻击方采用网络扫描和漏洞利用等多种入侵手段,防御方相应采取入侵检测和漏洞修复等对策[4]。
近年来,博弈论被广泛应用于各类网络攻防决策场景,文献[5]使用博弈论模拟工程团队之间的关系,促进团队分布式协调决策,避免不必要的信息交换。文献[6]指出信息安全是很有前景的博弈论应用发展方向。博弈论在基于网络脆弱性的安全决策分析上应用较多。文献[7]针对传统被动响应模型滞后于攻击导致的各类问题提出一种基于部分马尔可夫博弈的主动响应决策模型,通过生成和匹配入侵状态转换图,并结合系统信念状态构建入侵状态转换子图,利用POMG算法做出响应决策。文献[8]对非合作与非零和的漏洞攻防博弈模型均衡局势下攻防双方的收益期望进行量化赋值,结合攻击图和矩阵方法设计两种矩阵算子与系统漏洞风险评估算法,能有效识别关键漏洞。文献[9]通过扩展对象Petri网的定义,将攻防策略及效用信息体现在输出弧上,定义了攻防对峙模型。文献[10]设计出一种攻防策略搜索算法,求解混合策略纳什均衡得到最优防御策略,可静态识别网络系统中脆弱节点及路径。
在防火墙、蜜罐网、拟态防御以及隔离区(Demilitarized Zone,DMZ)等防御体系下,攻击方无法根据初次探测所得系统信息进行渗透,大部分网络攻击具有边渗透边探测的特点,因此渗透具有单点多步的过程特性,而上述基于攻防博弈模型的研究未考虑该特性。文献[11]结合马尔可夫决策过程和演化博弈提出一种网络防御策略选取方法,从不完全理性角度考虑非合作博弈下的攻防决策,实现动态与多阶段分析,然而该方法存在一定的主观性,且攻击概率不易准确衡量。针对上述问题,本文提出利用单点多步网络攻防博弈(Single-Point Multi-Step Network Attack-Defense Game,SMNADG)模型的防御策略选取方法,使用通用的漏洞评分系统量化博弈效用,基于攻防决策攻击图和攻防博弈模型设计防御策略选取方法,并结合典型网络攻防场景进行验证。
1 攻防博弈模型完整的博弈模型包括博弈方、信息、博弈动作、博弈策略和效用集合5个元素。2009年,姜伟等人[12]首次提出一种攻防博弈模型ADG,该博弈模型由局中人、策略集合和效用函数组成。文献[10]将网络中的应用模型分为局中人、主机节点集合、防御动作集合、攻击动作集合、策略集合和效用集合6个部分,并提出网络攻防博弈模型NADGM的概念,用于专门描述网络攻防对抗中攻击方和防御方之间的博弈,但是该模型不符合网络攻防的过程特征且计算量过大。
1.1 单点多步攻防博弈模型以下对本文提出的SMNADG模型进行介绍。
定义1 单点多步网络攻防博弈模型定义为一个六元组SMNADG = (P, t, I, M, S, U)。
1)P={Attacker, Defender}为博弈参与者,即博弈中的决策主体,包括攻击方Attacker和防御方Defender,其目的是通过选择合理的博弈行动来最大化自身效用水平。
2)t为博弈过程的时间因素。
3)
4)M={MA, MD}为攻击方和防御方的博弈动作集合,是博弈方在某个时刻的原子决策变量,表达式如下:
$ {M_{\rm{A}}} = \left\{ {m_{\rm{A}}^1, m_{\rm{A}}^2, \cdots , m_{\rm{A}}^i, m_{\rm{A}}^{i + 1}, \cdots , m_{\rm{A}}^{k - 1}, m_{\rm{A}}^k} \right\} $ | (1) |
$ {M_{\rm{D}}} = \left\{ {m_{\rm{D}}^1, m_{\rm{D}}^2, \cdots , m_{\rm{D}}^i, m_{\rm{D}}^{i + 1}, \cdots , m_{\rm{D}}^{{2^k} - 1}, m_{\rm{D}}^{{2^k}}} \right\} $ | (2) |
其中,k为t时刻攻击方在某一节点上可利用的漏洞数目。由于防御方有修复和不修复两种选择,因此其动作集合规模为2k,是由mAi构成的二进制集合。
5)
6)U为效用矩阵。在单点博弈中,攻防双方在单个节点上进行局部博弈,此时的效用矩阵由攻防双方当前可选择的博弈动作集确定,表达式如下:
$ \boldsymbol{U}\left( t \right) = \left[ {\begin{array}{*{20}{c}} {{u_{1, 1}}}&{{u_{1, 2}}}& \cdots &{{u_{1, {2^k}}}}\\ {{u_{2, 1}}}&{{u_{2, 2}}}& \cdots &{{u_{2, {2^k}}}}\\ \vdots & \vdots &{}& \vdots \\ {{u_{k, 1}}}&{{u_{k, 2}}}& \cdots &{{u_{k, {2^k}}}} \end{array}} \right] $ | (3) |
其中,
在博弈过程中,如果无论对方策略如何选择,当事人一方都倾向选择某个确定策略,则该策略称作支配性策略。如果博弈方的策略组合分别构成各自的支配性策略,则该策略组合称为纳什均衡[13]。
1.2 博弈转移与概率计算由于规模为k×2k的矩阵不是方阵,其属于非线性博弈,若无法反复严格消除下策,则将导致变量冗余且矩阵规模过大,不适用于大规模网络分析。若将攻防双方的博弈分散转移到漏洞上进行分析,则可有效减小博弈规模与计算量,漏洞上的博弈分析过程如图 1所示。混合策略下的攻防决策具备随机性与始终优势性,可通过期望效用相等法求解混合策略纳什均衡以及攻防双方的动作选择概率,即求解
![]() |
Download:
|
图 1 漏洞上的博弈分析过程 Fig. 1 Process of game analysis on vulnerability |
![]() |
下载CSV 表 1 不同模型的构成和技术差异 Table 1 Composition and technical differences in different models |
通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)是由NASA创新先进概念组织NIAC发布、计算机安全应急响应组FIRST维护的开放式框架,用于对漏洞特征和严重性进行标准化[14]。CVSS在风险分析、安全审计框架、攻击图以及经验评估[15]等方面应用广泛。
网络攻防博弈模型主要包括攻击成本Acost(v, t)、攻击收益Aprofit(v, t)、防御成本Dcost(v, t)、防御收益Dprofit(v, t)和攻防效用5个部分[16]。
1)攻击成本Acost(v, t)。攻击成本为攻击方在t时刻利用漏洞v所消耗的成本。根据CVSS的漏洞评分标准,漏洞可利用率反映漏洞的攻击成本,其影响因素包括攻击向量(AV)、攻击复杂度(AC)、权限要求(PR)以及用户交互(UI),漏洞可利用率影响因素的量化标准如表 2所示。
![]() |
下载CSV 表 2 漏洞可利用率影响因素量化标准 Table 2 Quantitative criteria for influencing factors of vulnerability availability |
CVSS(3.1版本)将可利用率定义为:
$ E\left( v \right) = 8.22 \times {\rm{AV}} \times {\rm{AC}} \times {\rm{PR}} \times {\rm{UI}} $ | (4) |
文献[17]设计了漏洞v的成功利用概率函数,表达式如下:
$ {P_v}\left( {{t_r}} \right) = \left\{ \begin{array}{l} {{\rm{e}}^{{t_r}{\lambda _1}}} - 1, {t_r} < \beta , \\ \delta {{\rm{e}}^{ - \left( {{t_r} - \beta } \right) \cdot {\lambda _2}}}, {t_r} \ge \beta \end{array} \right. $ | (5) |
其中,λ1、λ2分别为增长因子和衰减因子,tr为漏洞自发布之日起的时间跨度,pv(tr)为漏洞v的周期可利用率,典型的漏洞生命周期变化如图 2所示。
![]() |
Download:
|
图 2 典型的漏洞生命周期变化曲线 Fig. 2 The changing curve of a typical vulnerability lifecycle |
由图 2可以看出,在漏洞发现初期,针对该漏洞的攻击行为相继出现,而安全防护措施还未完善,随着Exploit代码的出现、扩散和恶意程序的传播,攻击成功率不断上升,并在第β天达到最大值δ,当漏洞补丁Patch发布后,随着针对性的防护措施逐渐完善,漏洞逐步得到修补控制,利用成功率又将递减。
根据2018年TCell公司发布的研究报告,漏洞补丁发布的平均时长为38天[18]。为便于获取数据,以漏洞公布的时间为坐标原点,假设第38天攻击的成功概率达到最大值δ=1,并假设漏洞基本消亡需要5年,即令pv(1825)≤10×e-6,则将上述条件代入式(5)得到:
$ \left\{ \begin{array}{l} {\lambda _1} = 0.018\;241\\ {\lambda _2} = 0.007\;732 \end{array} \right. $ | (6) |
将λ1和λ2代入式(5),得到漏洞可利用率函数曲线如图 3所示。
![]() |
Download:
|
图 3 漏洞可利用率函数曲线 Fig. 3 Curve of vulnerability availability function |
引入修正因子θ,由上述结果可将攻击成本定义为:
$ {A_{{\rm{cost}}}}\left( {v, t} \right) = \frac{\theta }{{{p_v}\left( {{t_r}} \right)E\left( v \right)}} $ | (7) |
2)攻击收益Aprofit(v, t)。攻击收益为攻击方在t时刻利用漏洞v所产生的收益,即脆弱性v的价值V(v),表达式如下:
$ {A_{{\rm{profit}}}}\left( {v, t} \right) = V\left( v \right) $ | (8) |
$ V\left( v \right) = {V_{{\rm{asset}}}}\left( v \right) + {V_{{\rm{structure}}}}\left( v \right) $ | (9) |
其中,Vasset(v)、Vstructure(v)分别为存在漏洞主机的资产价值和结构价值。
资产价值指主机发生安全事件时受到影响的潜在业务价值,其影响因素量化标准如表 3所示。
![]() |
下载CSV 表 3 资产价值影响因素量化标准 Table 3 Quantitative criteria for influencing factors of asset value |
在CVSS中,衡量资产价值的参数ISS定义如下:
$ {\rm{ISS}} = 1 - \left[ {\left( {1 - {v_{{\rm{confidentiality}}}}} \right) \times \left( {1 - {v_{{\rm{integrity}}}}} \right) \times \left( {1 - {v_{{\rm{availability}}}}} \right)} \right] $ | (10) |
$ {V_{{\rm{asset}}}}\left( v \right) = {\rm{LPR}} \times {\rm{ISS}} $ | (11) |
结构价值指主机节点在拓扑结构中的重要性,其表达式如下:
$ {V_{{\rm{structure}}}}\left( v \right) = {C_{{\rm{bet}}}} \times {\beta _c} $ | (12) |
其中,Cbet为节点的中介中心性,βc为桥接系数。
由于拟态防御等防御手段的存在,攻防博弈环境的网络结构随时会发生改变,因此渗透无法获得恒定的完整拓扑,虽然文献[19]证明两跳相邻节点局部桥接中心性Clbet具有可用性,但本文暂不考虑结构价值。
攻击方渗透时目标信息将带来目标牵引,由此能最终实现攻击目标漏洞的目标增益σ,该值由网络规模决定,网络规模越大,牵引越重要,目标增益越大。因此,在目标漏洞上博弈攻击方的收益提高为:
$ {A_{{\rm{profit}}\left( {v, t} \right)}} = V\left( v \right) + \sigma $ | (13) |
3)防御成本Dcost(v, t)。防御成本为防御方在t时刻修复漏洞v所付出的成本,与漏洞补救的难度有关。CVSS(3.1版本)将补救措施难度分为5个等级,如表 4所示。
![]() |
下载CSV 表 4 漏洞补救措施难度等级量化标准 Table 4 Quantitative criteria for difficulty level of vulnerability remedial measures |
假设防御方总是选择当前可采用的最高等级措施进行补救,补救等级的数值表示采取相应措施补救后对漏洞可利用率带来的影响,则令攻击成本修正因子θ=RL。
防御成本与漏洞被利用后带来的负面影响有关,该负面影响称为负面代价[12],负面影响越严重,修复投入越多,防御成本越高。同时,漏洞的利用难度[10]越小以及防御方采取的补救措施等级越高,补救操作越复杂,防御成本越高,因此,防御成本表达式为:
$ {D_{{\rm{cost}}}}\left( {v, t} \right) = V\left( v \right) \times {\rm{RL}} \times \left( {1 - {p_v}\left( {{v_r}} \right) \times {\rm{AV}} \times {\rm{AC}} \times {\rm{PR}} \times {\rm{UI}}} \right) $ | (14) |
4)防御收益Dprofit(v, t)。防御收益为防御方在t时刻修复原子动作依赖的漏洞v所带来的收益,攻防双方争夺的是漏洞价值,其表达式为:
$ {D_{{\rm{profit}}}}\left( {v, t} \right) + {A_{{\rm{profit}}\left( {v, t} \right)}} = V\left( v \right) $ | (15) |
5)攻防效用。攻防效用为攻防双方确定策略后的收益和成本。漏洞上攻防博弈效用的形成结果如图 4所示。
![]() |
Download:
|
图 4 漏洞上攻防博弈情况 Fig. 4 The situation of attack-defense game on vulnerability |
防御方成功防御一次攻击动作带来的增益称为阻击增益。若攻击方未对漏洞展开攻击,但防御方仍选择修复,则该修复行为在此次防御中多余,由此产生的减益称为多余减益。本文令阻击增益和多余减益均为25%,攻防效用计算结果如表 5所示。
![]() |
下载CSV 表 5 攻防效用计算结果 Table 5 Calculation results of attack-defense utility |
攻击图是一种基于图论的网络漏洞评估形式,可直观显示攻击者用来入侵目标网络并通过一系列漏洞利用操作获得特权的可能路径[20]。
不同类型的攻击图对节点和边的定义不同,通常节点可表示主机、服务、漏洞、权限等网络安全相关要素以及账户被攻击者破解、权限被攻击者获取等网络安全状态,边表示攻击行为的先后顺序或网络状态变化情况[21]。
文献[22]提出特权图的概念,指出特权图节点表示攻击者获取的权限,边表示系统可被攻击利用的漏洞。文献[23]提出将属性攻击图的原子攻击节点转化为边而保留条件节点。文献[8]和文献[24]提出漏洞攻击图VAG的概念,将系统漏洞作为节点,将漏洞之间的渗透关系作为有向边。
在实际情况下,攻击路径的边由服务漏洞形成,因此漏洞作为有向联系被标记为边,主机信息作为实体被标记为节点,这更符合网络攻防实际过程,有利于记录攻防双方在目标网络上的攻防对抗状态。
3.1 攻击路径构建及约束本文结合特权图和属性依赖攻击图的特点,参考上述攻击图构建方法给出漏洞连通图(Vulnerability Connected Graph,VCG)和漏洞邻接矩阵(Vulnerability Adjacency Matrix,VAM)的定义。
定义2(漏洞连通图) 漏洞连通图作为生成攻击图的辅助工具,是一个由属性节点和条件边构成的有向图,其中,属性节点包含主机节点信息以及攻击者在该主机已获的权限,条件边为可被利用的漏洞。
定义3(漏洞邻接矩阵) 如果将网络中主机之间的漏洞连通关系作为矩阵行列元素放在矩阵中,则称该矩阵为漏洞邻接矩阵。若存在多个可利用的漏洞连通关系,则矩阵元素是一条包含漏洞信息的链。漏洞邻接矩阵为漏洞连通图的一种存储形式,漏洞连通图和漏洞邻接矩阵如图 5所示。
![]() |
Download:
|
图 5 漏洞连通图与漏洞邻接矩阵 Fig. 5 Vulnerability connected graph and vulnerability adjacency matrix |
实施原子攻击使攻击者在成功利用被访主机的漏洞后获得一定的权限提升,从而危害当前主机或形成实施下一步渗透的条件。文献[25]将攻击者在网络中所有主机上的权限分为ROOT、USER和NONE 3个等级。ROOT权限下攻击者可在主机上执行任何程序,USER权限下攻击者可在主机上执行某些特定程序,NONE权限下攻击者只能进行普通的Internet公开服务访问。
文献[26]采用不回溯性假设确定循环路径,再对循环路径进行删除确定最终的攻击路径。假设攻击者是理智的,其选择的攻击行为不会重复获得已有权限,且总是希望获取更高的权限来满足更丰富的攻击手段要求,则可简化该循环检测过程。文献[27]将权限提升模式分为RS、RP、RR、LP和LR 5类,这5类权限的提升模式如图 6所示。
![]() |
Download:
|
图 6 5类权限提升模式 Fig. 6 Five privilege promotion modes |
国家信息安全漏洞库将信息安全漏洞分为配置错误、缓冲区错误等26种类型[28],并将漏洞权限提升模式统一归纳为NONE → USER、NONE → ROOT和USER → ROOT 3类,从而减小路径构建遍历规模,同时提高构建效率。
3.2 攻防博弈修复策略选取方法攻防博弈最优策略选取方法从防御方角度考虑攻防博弈问题,包含攻击方路径构造和防御方策略选取两个模块。攻防博弈防御策略的选取是一个迭代优化过程,如图 7所示。
![]() |
Download:
|
图 7 攻防博弈防御策略选取过程 Fig. 7 The selection process of defense strategy in attack-defense game |
由上述分析设计单点多步攻防博弈修复策略选取方法,其流程如图 8所示。
![]() |
Download:
|
图 8 单点多步攻防博弈修复策略选取方法流程 Fig. 8 Procedure of repair strategy selection method based on single-point multi-step attack-defense game |
根据单点多步攻防博弈修复策略选取方法流程分别设计VAM生成算法、单点多步攻防博弈攻击路径生成算法和防御策略选取算法,上述算法的伪代码如下:
算法1 VAM生成算法
输入 NAM,漏洞信息Vuln_Info,已知节点数n
输出 漏洞邻接矩阵VAM
1.Generate_VAM(NAM,Vuln_Info,n)
2.Initial_VAM();//初始化VAM
3.for Line_Index ← 1 to n do
4.for Column_Index ← 1 to n do
5.if NAM[Line_Index,Column_Index]=1 & & ExistVuln()=TRUE then//若邻接且存在漏洞
6.VAM[Line_Index,Column_Index]←Vuln_Info;//将可转//移渗透边链入漏洞邻接表单元漏洞链的尾部
7.return VAM
算法2 单点多步攻防博弈攻击路径生成算法
输入 目标信息Target_Info
输出 攻击路径Attack_Path
1.DeepSearch_SMNADG(Target_Info)
2.NetworkInfo_t ← Detection();//探测获得当前网络信息
3.VAM ← Generate_VAM(NAM,Vuln_Info);//生成VAM
4.Current_Node ← Search_InitNode(VAM);//选取可渗//透初始节点并指定为当前节点
5.while Current_Node_Info ≠ Target_Info do//若当前节//点信息与目标不匹配
6.Motion_Set ← Search_AvailableEdge(Current_Node,VAM);//搜索当前节点可转移的渗透边并建立博弈动作集合
7.if Motion_Set = NULL then;//若当前节点不存在可转//移的渗透边
8.Remove_Motion(UtilityMatrix,Current_Node);//从上//一时刻的效用矩阵中将与该节点相关的博弈动作移除
9.Pop(Current_Node);//将当前节点出栈
10.else Utility Matrix ← Create_Utility Matrix(Motion_Set);//若存在则生成当前时刻的效用矩阵
11.Current_Node ← Best_Motion(Utility Matrix);//通过//效用矩阵确定下一跳节点
12.Push(Current_Node);//将当前节点压栈
13.return Record_Attack_Path();//返回并记录攻击路径
算法3 防御策略选取算法
输入 漏洞邻接矩阵VAM
输出 防御策略集Strategy_Set
1.Repair_Strategy_Selection(VAM)
2.Target_Info ← Select_Target();//选定防御目标
3.Do
4.NAM_Info ← Change_Network_State();//改变网络状//态,包括NAM和Vuln_Info
5.Attack_Path ← Deep Search_SMNADG(VAM,Target_Info);//进行博弈算法生成攻击路径
6.Defense_Cost ← Calc_Defense Cost(Attack_ Path);//根据攻击路径计算实际防御损失
7.Defense_Cost_Set ← Record(Defense_Cost);//记录防//御损失
8.Until Is The Minimum Cost(Defense_Cost)= TRUE;//直到当前防御损失最小
9.Strategy_Set ← Generate_Strategy(NAM_Info);//通过//当前网络状态生成防御策略集
10.return Strategy_Set;//返回防御策略集
上述算法提出VCG和VAM的概念以辅助生成攻击路径;攻击路径基于贪心原则动态构建,能适应网络动态变化,更好地模拟实际攻防过程中攻击方的策略选取情况;防御策略的选取可动态调整网络环境,并结合优化算法求最优解,最终形成最优防御策略。
4 攻防场景实例分析 4.1 网络环境本文设计的攻防实验网络采用典型的企业服务器架构,其结构如图 9所示。
![]() |
Download:
|
图 9 本文攻防实验网络结构 Fig. 9 The network structure of the proposed attack-defense experiment |
该网络包括外部网络、DMZ和内部网络三部分。其中,在DMZ设置供外部访问的Web服务器和FTP服务器,在内部网络设置应用服务器和数据库服务器并与外部网络通过DMZ隔离。攻防实验网络设置FW1和FW2两个防火墙,FW1防火墙用于隔离外部网络和DMZ,FW2防火墙用于隔离DMZ和内部网络并具有保护内部网络的作用,防火墙配置规则如表 6所示。
![]() |
下载CSV 表 6 防火墙配置规则 Table 6 Firewall configuration rules |
本文参考文献[11]提出的攻防策略图绘制方法,将同一个漏洞的条件边绑定得到整个实验网络的拓扑图、漏洞连通图和漏洞邻接矩阵,如图 10所示。表 7为不同主机存在的漏洞信息。
![]() |
Download:
|
图 10 本文实验网络的拓扑图、漏洞连通图和漏洞邻接矩阵 Fig. 10 Topological graph, vulnerability connected graph and vulnerability adjacency matrix of the proposed experimental network |
![]() |
下载CSV 表 7 不同主机的漏洞信息 Table 7 Vulnerability informations of different hosts |
本文以2019年9月15日为实验日期,根据单点多步攻防博弈模型提出的效用量化标准进行静态分析,得到不同漏洞的量化评分信息如表 8所示。
![]() |
下载CSV 表 8 不同漏洞的量化评分信息 Table 8 Quantified scoring informations of different vulnerabilities |
根据本文攻防实验网络规模,取目标增益σ=1,由效用函数量化方法计算得到攻防成本以及系统中所存在漏洞的相应价值,结果如表 9所示。
![]() |
下载CSV 表 9 攻防效用计算结果 Table 9 Calculation results of attack-defense utility |
当前实验环境下攻击方博弈过程如下:
1)攻击方由Intruder节点出发,根据VAM生成算法得到的VAM及其对应的VCG如图 11所示。
![]() |
Download:
|
图 11 VAM及对应的VCG Fig. 11 VAM and corresponding VCG |
根据VAM探测到可渗透节点Web Server和FTP Server以及可转移渗透边v11和v21,则漏洞上博弈效用矩阵分别为:
$ {\boldsymbol{U}_{v_1^1}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 0.403\;403, 0.283\;672} \right)}&{\left( {0.301\;005, 0} \right)}\\ {\left( {0, 0.170\;203} \right)}&{\left( {0, 0.704\;408} \right)} \end{array}} \right] $ | (16) |
$ {\boldsymbol{U}_{v_2^1}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 0.382\;715, 0.296\;626} \right)}&{\left( {0.321\;693, 0} \right)}\\ {\left( {0, 0.177\;976} \right)}&{\left( {0, 0.704\;408} \right)} \end{array}} \right] $ | (17) |
计算得到攻击方根据防御方的期望收益而选择利用v11的概率为0.653 2,不利用v11的概率为0.346 8,选择利用v21的概率为0.639 6,不利用v21的概率为0.360 4,且上述概率相互独立。因此,攻击方只利用v11攻击的概率为:
$ P\left( {v_1^1 \cap \overline {v_2^1} } \right) = P\left( {v_1^1} \right) \times P\left( {\overline {v_2^1} } \right) = 0.653\;2 \times 0.360\;4 = 0.235\;4 $ | (18) |
攻击方只利用v21攻击的概率为:
$ P\left( {\overline {v_1^1} \cap v_2^1} \right) = P\left( {\overline {v_1^1} } \right) \times P\left( {v_2^1} \right) = 0.346\;8 \times 0.639\;6 = 0.221\;8 $ | (19) |
因为
2)除式(16)和式(17)之外,其他漏洞的博弈效用矩阵计算如下:
$ {\boldsymbol{U}_{v_3^1}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 0.311\;561, 0.352\;077} \right)}&{\left( {0.392\;847, 0} \right)}\\ {\left( {0, 0.211\;246} \right)}&{\left( {0, 0.704\;408} \right)} \end{array}} \right] $ | (20) |
$ {\boldsymbol{U}_{v_3^2}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 0.324\;838, 0.193\;786} \right)}&{\left( {0.077\;681, 0} \right)}\\ {\left( {0, 0.116\;272} \right)}&{\left( {0, 0.402\;519} \right)} \end{array}} \right] $ | (21) |
$ {\boldsymbol{U}_{v_3^3}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 0.383\;571, 0.296\;056} \right)}&{\left( {0.320\;828, 0} \right)}\\ {\left( {0, 0.177\;634} \right)}&{\left( {0, 0.704\;408} \right)} \end{array}} \right] $ | (22) |
$ {\boldsymbol{U}_{v_4^1}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 1.368\;740, 0.065\;518} \right)}&{\left( { - 0.966\;218, 0} \right)}\\ {\left( {0, 0.039\;310} \right)}&{\left( {0, 0.402\;519} \right)} \end{array}} \right] $ | (23) |
$ {\boldsymbol{U}_{v_4^2}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 0.506\;724, 0.568\;149} \right)}&{\left( {1.197\;680, 0} \right)}\\ {\left( {0, 0.340\;889} \right)}&{\left( {0, 1.704\;410} \right)} \end{array}} \right] $ | (24) |
$ {\boldsymbol{U}_{v_4^3}} = \left[ {\begin{array}{*{20}{c}} {\left( { - 1.595\;240, 0.240\;759} \right)}&{\left( {0.025\;687, 0} \right)}\\ {\left( {0, 0.144\;456} \right)}&{\left( {0, 1.620\;930} \right)} \end{array}} \right] $ | (25) |
3)攻击方对不同漏洞的独立利用概率P(v)和不利用概率1-P(v)如表 10所示。
![]() |
下载CSV 表 10 攻击方对不同漏洞的独立利用概率和不利用概率 Table 10 Independent utilization probability and non utilization probability of different vulnerabilities |
各漏洞的独立利用概率和不利用概率可在渗透的路径生成过程中逐步计算,余下攻击路径的转移概率可通过类似攻击方博弈过程步骤1的方法计算得到。攻击方攻击路径生成的具体流程如图 12所示,若攻击方无法并发攻击,则图 12中的路径是其攻击概率(0.130 250)最大的渗透路径(Path-Attack-Probability)。
![]() |
Download:
|
图 12 攻击路径生成流程 Fig. 12 Procedure of attack path generation |
由于实验中未出现不存在可转移渗透边产生博弈回溯的情况,为便于阐述算法,现假设在图 12中DB Server节点不存在可转移渗透边,则产生博弈回溯并重新计算渗透概率,博弈回溯过程如图 13所示。
![]() |
Download:
|
图 13 博弈回溯流程 Fig. 13 Game backtracking procedure |
通过博弈回溯并根据概率可选择新的渗透边,因此攻击方将重新以0.107 500的攻击概率从节点Web Server利用漏洞v21渗透节点FTP Server。
由于存在博弈回溯机制,单点多步攻防博弈攻击路径生成算法可在网络发生动态变化时进行调整,回溯机制能重构上一步博弈过程并重新选择下一跳节点。边渗透边探测的方式使博弈分析具有实时性,不依赖于完整网络拓扑和历史探测信息,适用于未知拓扑、漏洞和动态变化的网络分析。
根据图 12中的攻击路径,防御方可计算出当前网络环境下的自身损失,并以 < 网络环境,实际损失,概率>三元组形式进行记录。同时,防御方可采用优化算法不断调整网络结构和漏洞信息形成新的网络环境,同时生成攻击路径及其利用概率以计算实际损失,同时将预估损失(损失与概率之积)优化至最小,从而有针对性地采取补救措施,形成最终的防御策略。
5 结束语本文提出一种基于单点多步博弈模型的防御策略选取方法。利用通用漏洞评分系统对攻防效用进行量化,构建漏洞连通图和漏洞邻接矩阵,在此基础上设计基于单点多步攻防博弈的最优防御策略选取方法。实验结果表明,该方法可应用于大规模网络攻防博弈分析,所用单点多步博弈模型无需完整网络拓扑及历史探测信息,实时性更强且适合动态分析。然而本文方法中模型的量化存在主观性,未考虑路径规划的精度与效率均衡问题。下一步将通过大量模拟实验减小模型量化的主观性,并引入启发式与随机式结合的算法控制路径构造的导向性,以均衡网络防御路径规划精度与效率。
[1] |
GORDON L, LOEB M P, LUCYSHYN W, et al.2016 CSI/FBI computer crime and security survey[EB/OL].[2019-10-13].https://www.researchgate.net/publication/243784811_CSIFBI_Computer_Crime_and_Security_Survey.
|
[2] |
MAESTRE M I, HOZ E D L, GUZMAN J M G, et al. Design and evaluation of a learning environment to effectively provide network security skills[J]. Computers and Education, 2013, 69(11): 225-236. |
[3] |
NI Zhen, LI Qianmu, LIU Gang. Game-model-based network security risk control[J]. Computer, 2018, 51(4): 28-38. DOI:10.1109/MC.2018.2141032 |
[4] |
DURKOTA K, LISY V, KIEKINTVELD C, et al. Case studies of network defense with attack graph games[J]. IEEE Intelligent Systems, 2016, 31(5): 24-30. DOI:10.1109/MIS.2016.74 |
[5] |
XIAO A. An application of game theory in distributed collaborative decision making[J]. Frontiers of Mechanical Engineering, 2019, 14(1): 85-101. DOI:10.1007/s11465-019-0523-4 |
[6] |
HAMILTON S N, MILLER W L, OTT A, et al.The role of game theory in infomation warfare[EB/OL].[2019-10-13].https://www.researchgate.net/publication/243774824_The_Role_of_Game_Theory_in_Information_Warfare.
|
[7] |
HU He, HU Changzhen, YAO Shuping. Decision model of optimal active response for network security using partial observable Markov game[J]. Journal of Xi'an Jiaotong University, 2011, 45(4): 18-24. (in Chinese) 胡鹤, 胡昌振, 姚淑萍. 应用部分马尔科夫博弈的网络安全主动响应决策模型[J]. 西安交通大学学报, 2011, 45(4): 18-24. |
[8] |
ZHANG Hengwei, ZHANG Jian, HAN Jihong, et al. Vulnerability risk analysis method based on game model and risk matrix[J]. Computer Engineering and Design, 2016, 37(6): 1421-1427. (in Chinese) 张恒巍, 张健, 韩继红, 等. 基于博弈模型和风险矩阵的漏洞风险分析方法[J]. 计算机工程与设计, 2016, 37(6): 1421-1427. |
[9] |
WANG Chunzi, HUANG Guangqiu. Network attack-defense situation awareness based on dynamic game with incomplete information[J]. Computer Engineering, 2010, 36(20): 125-127. (in Chinese) 王纯子, 黄光球. 基于不完全信息动态博弈的网络攻防态势感知[J]. 计算机工程, 2010, 36(20): 125-127. |
[10] |
LIU Jingwei, LIU Jingju, LU Yuliang, et al. Optimal defense strategy selection method based on network attack-defense game model[J]. Computer Science, 2018, 45(6): 117-123. (in Chinese) 刘景玮, 刘京菊, 陆余良, 等. 基于网络攻防博弈模型的最优防御策略选取方法[J]. 计算机科学, 2018, 45(6): 117-123. |
[11] |
HUANG Jianming, ZHANG Hengwei, WANG Jindong. Markov evolutionary games for network defense strategy selection[J]. IEEE Access, 2017, 5(9): 19505-19516. |
[12] |
JIANG Wei, FANG Binxing, TIAN Zhihong, et al. Evaluating network security and optimal active defense based on attack-defense game model[J]. Chinese Journal of Computers, 2009, 32(4): 817-827. (in Chinese) 姜伟, 方滨兴, 田志宏, 等. 基于攻防博弈模型的网络安全测评和最优主动防御[J]. 计算机学报, 2009, 32(4): 817-827. |
[13] |
SMITH J M.Evolution and the theory of games[EB/OL].[2019-10-13].https://link.springer.com/chapter/10.1007/978-1-4684-7862-4_22.
|
[14] |
Common vulnerability scoring system version 3.1 calculator[EB/OL].[2019-10-13].https://www.first.org/cvss/calculator/3.1.
|
[15] |
RUOHONEN J. A look at the time delays in CVSS vulnerability scoring[J]. Applied Computing and Informatics, 2019, 15(2): 129-135. DOI:10.1016/j.aci.2017.12.002 |
[16] |
ZHANG Biyan, WANG Meng. Research on quantization method of network attack and defense based on CVSS vulnerability score[J]. Journal of Ordnance and Equipment Engineering, 2018, 39(4): 147-150. (in Chinese) 张必彦, 王孟. 基于CVSS漏洞评分标准的网络攻防量化方法研究[J]. 兵器装备工程学报, 2018, 39(4): 147-150. |
[17] |
CHEN Feng.Research on layered network security risk assessment method based on multi-target attack graph[D].Changsha: National University of Defense Science and Technology, 2009.(in Chinese) 陈锋.基于多目标攻击图的层次化网络安全风险评估方法研究[D].长沙: 国防科技大学, 2009. |
[18] |
Jasmine.The average length of time of bug repair was 38 days[EB/OL].[2019-10-13].https://www.aqniu.com/industry/38038.html.
|
[19] |
MACKER J P.An improved local bridging centrality model for distributed network analytics[C]//Proceedings of 2016 IEEE Military Communications Conference.Washington D.C., USA: IEEE Press, 2016: 21-27.
|
[20] |
KAYNAR K, SIVRIKAYA F. Distributed attack graph generation[J]. IEEE Transactions on Dependable and Secure Computing, 2016, 13(5): 519-532. DOI:10.1109/TDSC.2015.2423682 |
[21] |
YE Ziwei, GUO Yuanbo, WANG Chendong, et al. Survey on application of attack graph technology[J]. Journal of Communications, 2017, 38(11): 121-132. (in Chinese) 叶子维, 郭渊博, 王宸东, 等. 攻击图技术应用研究综述[J]. 通信学报, 2017, 38(11): 121-132. |
[22] |
DACIER M, DESWARTE Y.Privilege graph: an extension to the typed access matrix model[C]//Proceedings of European Symposium on Research in Computer Security.Berlin, Germany: Springer, 1994: 319-334.
|
[23] |
AMMANN P, WIJESEKERA D, KAUSHIK S.Scalable, graph-based network vulnerability analysis[C]//Proceedings of the 9th ACM Conference on Computer and Communications.New York, USA: ACM Press 2002: 217-224.
|
[24] |
ZHANG Jian, WANG Jindong, ZHANG Hengwei, et al. Network risk analysis method based on node-game vulnerability attack graph[J]. Computer Science, 2014, 41(9): 169-173. (in Chinese) 张健, 王晋东, 张恒巍, 等. 基于节点博弈漏洞攻击图的网络风险分析方法[J]. 计算机科学, 2014, 41(9): 169-173. |
[25] |
ZHAO Fangfang, CHEN Xiuzhen, LI Jianhua. Generation method of network attack graphs based on privilege escalation[J]. Computer Engineering, 2008, 34(23): 158-160. (in Chinese) 赵芳芳, 陈秀真, 李建华. 基于权限提升的网络攻击图生成方法[J]. 计算机工程, 2008, 34(23): 158-160. |
[26] |
WANG Hang, GAO Qiang, MO Yuchang. Network vulnerability evaluation based on attack graph and security metric[J]. Computer Engineering, 2010, 36(3): 128-130. (in Chinese) 王航, 高强, 莫毓昌. 基于攻击图和安全度量的网络脆弱性评价[J]. 计算机工程, 2010, 36(3): 128-130. |
[27] |
WANG Lidong.A quantitative risk assessment method for computer system and network security[D].Harbin: Harbin Institute of Technology, 2002.(in Chinese) 汪立东.一种量化的计算机系统和网络安全风险评估方法[D].哈尔滨: 哈尔滨工业大学, 2002. |
[28] |
China Information Security Evaluation Center.CNNVD vulnerability classification guide[EB/OL].[2019-10-13].http://www.cnnvd.org.cn/web/wz/bzxqById.tag?Id=3&mkid=3.(in Chinese) 中国信息安全测评中心.CNNVD漏洞分类指南[EB/OL].[2019-10-13].http://www.cnnvd.org.cn/web/wz/bzxqById.tag?id=3&mkid=3. |