基于单点多步博弈的网络防御策略选取方法

2021-01-15 07:17王永杰
计算机工程 2021年1期
关键词:单点攻击者效用

杨 林,王永杰

(国防科技大学 电子对抗学院,合肥 230037)

0 概述

随着计算机网络规模的不断扩大,新型网络攻击技术相继出现,网络攻击手段趋于复杂化、智能化和多样化[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)I(t)={IA(t),ID(t)}为攻防双方所掌握的信息集合。其中,信息指博弈方所掌握的博弈参与者的行动、策略和环境因素等博弈过程知识。攻击方所掌握的信息为当前t时刻探测得到的部分防御网络系统信息,防御方已知信息集合为防御网络系统拓扑和所有主机漏洞信息。主机i的漏洞集为主机i的第j个漏洞。

4)M={MA,MD}为攻击方和防御方的博弈动作集合,是博弈方在某个时刻的原子决策变量,表达式如下:

其中,k为t时刻攻击方在某一节点上可利用的漏洞数目。由于防御方有修复和不修复两种选择,因此其动作集合规模为2k,是由构成的二进制集合。

5)S(t)={SA(t),SD(t)}为攻击方和防御方的博弈策略。博弈策略指博弈方在已知信息集下选定的博弈动作,博弈方在某次博弈过程中选择的所有策略构成博弈策略集∑S(t)。

6)U为效用矩阵。在单点博弈中,攻防双方在单个节点上进行局部博弈,此时的效用矩阵由攻防双方当前可选择的博弈动作集确定,表达式如下:

在博弈过程中,如果无论对方策略如何选择,当事人一方都倾向选择某个确定策略,则该策略称作支配性策略。如果博弈方的策略组合分别构成各自的支配性策略,则该策略组合称为纳什均衡[13]。

1.2 博弈转移与概率计算

由于规模为k×2k的矩阵不是方阵,其属于非线性博弈,若无法反复严格消除下策,则将导致变量冗余且矩阵规模过大,不适用于大规模网络分析。若将攻防双方的博弈分散转移到漏洞上进行分析,则可有效减小博弈规模与计算量,漏洞上的博弈分析过程如图1 所示。混合策略下的攻防决策具备随机性与始终优势性,可通过期望效用相等法求解混合策略纳什均衡以及攻防双方的动作选择概率,即求解得到攻击方利用漏洞攻击的概率p,且对于每个脆弱性上的博弈,该概率均独立。不同攻防博弈模型的构成和技术差异如表1 所示。

图1 漏洞上的博弈分析过程Fig.1 Process of game analysis on vulnerability

表1 不同模型的构成和技术差异Table 1 Composition and technical differences in different models

2 效用函数量化

通用漏洞评分系统(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 所示。

表2 漏洞可利用率影响因素量化标准Table 2 Quantitative criteria for influencing factors of vulnerability availability

CVSS(3.1 版本)将可利用率定义为:

文献[17]设计了漏洞v的成功利用概率函数,表达式如下:

其中,λ1、λ2分别为增长因子和衰减因子,tr为漏洞自发布之日起的时间跨度,pv(tr)为漏洞v的周期可利用率,典型的漏洞生命周期变化如图2 所示。

图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)得到:

将λ1和λ2代入式(5),得到漏洞可利用率函数曲线如图3 所示。

图3 漏洞可利用率函数曲线Fig.3 Curve of vulnerability availability function

引入修正因子θ,由上述结果可将攻击成本定义为:

2)攻击收益Aprofit(v,t)。攻击收益为攻击方在t时刻利用漏洞v所产生的收益,即脆弱性v的价值V(v),表达式如下:

其中,Vasset(v)、Vstructure(v)分别为存在漏洞主机的资产价值和结构价值。

资产价值指主机发生安全事件时受到影响的潜在业务价值,其影响因素量化标准如表3 所示。

表3 资产价值影响因素量化标准Table 3 Quantitative criteria for influencing factors of asset value

在CVSS 中,衡量资产价值的参数ISS 定义如下:

结构价值指主机节点在拓扑结构中的重要性,其表达式如下:

其中,Cbet为节点的中介中心性,βc为桥接系数。

由于拟态防御等防御手段的存在,攻防博弈环境的网络结构随时会发生改变,因此渗透无法获得恒定的完整拓扑,虽然文献[19]证明两跳相邻节点局部桥接中心性Clbet具有可用性,但本文暂不考虑结构价值。

攻击方渗透时目标信息将带来目标牵引,由此能最终实现攻击目标漏洞的目标增益σ,该值由网络规模决定,网络规模越大,牵引越重要,目标增益越大。因此,在目标漏洞上博弈攻击方的收益提高为:

3)防御成本Dcost(v,t)。防御成本为防御方在t时刻修复漏洞v所付出的成本,与漏洞补救的难度有关。CVSS(3.1 版本)将补救措施难度分为5 个等级,如表4 所示。

表4 漏洞补救措施难度等级量化标准Table 4 Quantitative criteria for difficulty level of vulnerability remedial measures

假设防御方总是选择当前可采用的最高等级措施进行补救,补救等级的数值表示采取相应措施补救后对漏洞可利用率带来的影响,则令攻击成本修正因子θ=RL。

防御成本与漏洞被利用后带来的负面影响有关,该负面影响称为负面代价[12],负面影响越严重,修复投入越多,防御成本越高。同时,漏洞的利用难度[10]越小以及防御方采取的补救措施等级越高,补救操作越复杂,防御成本越高,因此,防御成本表达式为:

4)防御收益Dprofit(v,t)。防御收益为防御方在t时刻修复原子动作依赖的漏洞v所带来的收益,攻防双方争夺的是漏洞价值,其表达式为:

5)攻防效用。攻防效用为攻防双方确定策略后的收益和成本。漏洞上攻防博弈效用的形成结果如图4 所示。

图4 漏洞上攻防博弈情况Fig.4 The situation of attack-defense game on vulnerability

防御方成功防御一次攻击动作带来的增益称为阻击增益。若攻击方未对漏洞展开攻击,但防御方仍选择修复,则该修复行为在此次防御中多余,由此产生的减益称为多余减益。本文令阻击增益和多余减益均为25%,攻防效用计算结果如表5 所示。

表5 攻防效用计算结果Table 5 Calculation results of attack-defense utility

3 攻防博弈最优策略选取方法

攻击图是一种基于图论的网络漏洞评估形式,可直观显示攻击者用来入侵目标网络并通过一系列漏洞利用操作获得特权的可能路径[20]。

不同类型的攻击图对节点和边的定义不同,通常节点可表示主机、服务、漏洞、权限等网络安全相关要素以及账户被攻击者破解、权限被攻击者获取等网络安全状态,边表示攻击行为的先后顺序或网络状态变化情况[21]。

文献[22]提出特权图的概念,指出特权图节点表示攻击者获取的权限,边表示系统可被攻击利用的漏洞。文献[23]提出将属性攻击图的原子攻击节点转化为边而保留条件节点。文献[8]和文献[24]提出漏洞攻击图VAG 的概念,将系统漏洞作为节点,将漏洞之间的渗透关系作为有向边。

在实际情况下,攻击路径的边由服务漏洞形成,因此漏洞作为有向联系被标记为边,主机信息作为实体被标记为节点,这更符合网络攻防实际过程,有利于记录攻防双方在目标网络上的攻防对抗状态。

3.1 攻击路径构建及约束

本文结合特权图和属性依赖攻击图的特点,参考上述攻击图构建方法给出漏洞连通图(Vulnerability Connected Graph,VCG)和漏洞邻接矩阵(Vulnerability Adjacency Matrix,VAM)的定义。

定义2(漏洞连通图) 漏洞连通图作为生成攻击图的辅助工具,是一个由属性节点和条件边构成的有向图,其中,属性节点包含主机节点信息以及攻击者在该主机已获的权限,条件边为可被利用的漏洞。

定义3(漏洞邻接矩阵) 如果将网络中主机之间的漏洞连通关系作为矩阵行列元素放在矩阵中,则称该矩阵为漏洞邻接矩阵。若存在多个可利用的漏洞连通关系,则矩阵元素是一条包含漏洞信息的链。漏洞邻接矩阵为漏洞连通图的一种存储形式,漏洞连通图和漏洞邻接矩阵如图5 所示。

图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 所示。

图6 5 类权限提升模式Fig.6 Five privilege promotion modes

国家信息安全漏洞库将信息安全漏洞分为配置错误、缓冲区错误等26 种类型[28],并将漏洞权限提升模式统一归纳为NONE →USER、NONE →ROOT和USER →ROOT 3 类,从而减小路径构建遍历规模,同时提高构建效率。

3.2 攻防博弈修复策略选取方法

攻防博弈最优策略选取方法从防御方角度考虑攻防博弈问题,包含攻击方路径构造和防御方策略选取两个模块。攻防博弈防御策略的选取是一个迭代优化过程,如图7 所示。

图7 攻防博弈防御策略选取过程Fig.7 The selection process of defense strategy in attack-defense game

由上述分析设计单点多步攻防博弈修复策略选取方法,其流程如图8 所示。

图8 单点多步攻防博弈修复策略选取方法流程Fig.8 Procedure of repair strategy selection method based on single-point multi-step attack-defense game

根据单点多步攻防博弈修复策略选取方法流程分别设计VAM 生成算法、单点多步攻防博弈攻击路径生成算法和防御策略选取算法,上述算法的伪代码如下:

算法1VAM 生成算法

输入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 所示。

图9 本文攻防实验网络结构Fig.9 The network structure of the proposed attack-defense experiment

该网络包括外部网络、DMZ 和内部网络三部分。其中,在DMZ 设置供外部访问的Web 服务器和FTP 服务器,在内部网络设置应用服务器和数据库服务器并与外部网络通过DMZ 隔离。攻防实验网络设置FW1 和FW2 两个防火墙,FW1 防火墙用于隔离外部网络和DMZ,FW2 防火墙用于隔离DMZ 和内部网络并具有保护内部网络的作用,防火墙配置规则如表6 所示。

表6 防火墙配置规则Table 6 Firewall configuration rules

本文参考文献[11]提出的攻防策略图绘制方法,将同一个漏洞的条件边绑定得到整个实验网络的拓扑图、漏洞连通图和漏洞邻接矩阵,如图10 所示。表7 为不同主机存在的漏洞信息。

图10 本文实验网络的拓扑图、漏洞连通图和漏洞邻接矩阵Fig.10 Topological graph,vulnerability connected graph and vulnerability adjacency matrix of the proposed experimental network

表7 不同主机的漏洞信息Table 7 Vulnerability informations of different hosts

4.2 静态分析

本文以2019 年9 月15 日为实验日期,根据单点多步攻防博弈模型提出的效用量化标准进行静态分析,得到不同漏洞的量化评分信息如表8 所示。

表8 不同漏洞的量化评分信息Table 8 Quantified scoring informations of different vulnerabilities

根据本文攻防实验网络规模,取目标增益σ=1,由效用函数量化方法计算得到攻防成本以及系统中所存在漏洞的相应价值,结果如表9 所示。

表9 攻防效用计算结果Table 9 Calculation results of attack-defense utility

4.3 动态分析

当前实验环境下攻击方博弈过程如下:

1)攻击方由Intruder 节点出发,根据VAM 生成算法得到的VAM 及其对应的VCG 如图11 所示。

图11 VAM 及对应的VCGFig.11 VAM and corresponding VCG

根据VAM 探测到可渗透节点Web Server 和FTP Server 以及可转移渗透边则漏洞上博弈效用矩阵分别为:

2)除式(16)和式(17)之外,其他漏洞的博弈效用矩阵计算如下:

3)攻击方对不同漏洞的独立利用概率P(v)和不利用概率1-P(v)如表10 所示。

表10 攻击方对不同漏洞的独立利用概率和不利用概率Table 10 Independent utilization probability and non utilization probability of different vulnerabilities

各漏洞的独立利用概率和不利用概率可在渗透的路径生成过程中逐步计算,余下攻击路径的转移概率可通过类似攻击方博弈过程步骤1 的方法计算得到。攻击方攻击路径生成的具体流程如图12 所示,若攻击方无法并发攻击,则图12 中的路径是其攻击概率(0.130 250)最大的渗透路径(Path-Attack-Probability)。

图12 攻击路径生成流程Fig.12 Procedure of attack path generation

由于实验中未出现不存在可转移渗透边产生博弈回溯的情况,为便于阐述算法,现假设在图12 中DB Server 节点不存在可转移渗透边,则产生博弈回溯并重新计算渗透概率,博弈回溯过程如图13 所示。

图13 博弈回溯流程Fig.13 Game backtracking procedure

通过博弈回溯并根据概率可选择新的渗透边,因此攻击方将重新以0.107 500的攻击概率从节点Web Server利用漏洞渗透节点FTP Server。

由于存在博弈回溯机制,单点多步攻防博弈攻击路径生成算法可在网络发生动态变化时进行调整,回溯机制能重构上一步博弈过程并重新选择下一跳节点。边渗透边探测的方式使博弈分析具有实时性,不依赖于完整网络拓扑和历史探测信息,适用于未知拓扑、漏洞和动态变化的网络分析。

根据图12 中的攻击路径,防御方可计算出当前网络环境下的自身损失,并以<网络环境,实际损失,概率>三元组形式进行记录。同时,防御方可采用优化算法不断调整网络结构和漏洞信息形成新的网络环境,同时生成攻击路径及其利用概率以计算实际损失,同时将预估损失(损失与概率之积)优化至最小,从而有针对性地采取补救措施,形成最终的防御策略。

5 结束语

本文提出一种基于单点多步博弈模型的防御策略选取方法。利用通用漏洞评分系统对攻防效用进行量化,构建漏洞连通图和漏洞邻接矩阵,在此基础上设计基于单点多步攻防博弈的最优防御策略选取方法。实验结果表明,该方法可应用于大规模网络攻防博弈分析,所用单点多步博弈模型无需完整网络拓扑及历史探测信息,实时性更强且适合动态分析。然而本文方法中模型的量化存在主观性,未考虑路径规划的精度与效率均衡问题。下一步将通过大量模拟实验减小模型量化的主观性,并引入启发式与随机式结合的算法控制路径构造的导向性,以均衡网络防御路径规划精度与效率。

猜你喜欢
单点攻击者效用
机动能力受限的目标-攻击-防御定性微分对策
历元间载波相位差分的GPS/BDS精密单点测速算法
小学美术课堂板书的四种效用
超薄异型坯连铸机非平衡单点浇铸实践与分析
正面迎接批判
数字电视地面传输用单频网与单点发射的效果比较
纳米硫酸钡及其对聚合物的改性效用
16吨单点悬挂平衡轴的优化设计
有限次重复博弈下的网络攻击行为研究
几种常见叶面肥在大蒜田效用试验