面向网络实时对抗的动态防御决策方法
冷强1, 杨英杰1, 常德显1, 潘瑞萱1, 蔡英2, 胡浩1
1 信息工程大学,河南 郑州 450001
2 河南省理工学校,河南 郑州 450001
摘要:如何基于网络外在威胁实施防御决策是构建网络信息防御体系的核心问题,针对实时攻击带来的动态威胁进行科学有效的防御决策是构建网络动态应急防御体系的关键。针对动态防御决策问题,首先基于属性攻击图理论设计了一种网络生存性博弈模型,利用攻防矩阵表示攻防策略和路径,并给出了攻防强度和网络生存性量化方法;其次提出了单步与多步的攻、防策略支出计算方法,并基于攻防策略支出给出防御决策;最后通过实验进行防御决策技术的有效性验证。
关键词: 属性攻击图 ; 网络生存性 ; 网络攻防对抗 ; 攻防强度
中图分类号:TP393
文献标识码:A
doi: 10.11959/j.issn.2096−109x.201963
1 引言
随着网络规模的扩大、复杂性的增加和攻击技术的不断发展,绝对防止网络遭受攻击和入侵的威胁是不可能实现的,大量的网络关键服务型节点需要满足网络遭受攻击时,在实施防御措施后能够提供足够的网络服务,满足网络的正常运转。因此,网络攻防双方在围绕网络的生存性实施攻防策略,网络在攻防过程中生存与否是分析防御策略对系统安全有效和无效的关键。
网络状态攻击图是将网络每一时刻的安全状态作为一个节点进行网络攻防动作的分析。但在时间维度的推移下,网络状态是一个不断转变的过程,且存在往原有状态转变的情况,因此利用网络状态攻击图对攻击动作进行处理时,存在状态空间爆炸的问题。为了解决状态攻击图存在的问题,研究人员提出属性攻击图理论研究网络动态安全。属性攻击图是将网络中的条件或属性作为攻击图中的一个节点,因此在研究网络安全时,能够将攻击事件精确到网络中的某个节点,并对其进行分析研究。因此近年来属性攻击图成为网络安全的主要方法。
在面对攻击行为时,大部分网络安全人员为了维持网络的正常运转,需要采取一系列的防御措施,使网络得以生存。近年来博弈论逐渐成为研究网络安全防御决策的一个主流方法。文献研究网络在攻防过程中的可生存性,量化分析了网络的安全状态;文献构建动态网络攻防博弈模型开展网络防御决策研究;文献将选择攻防策略的行为看作一个多阶段的博弈过程,动态分析选择的网络安全策略对网络系统安全的影响;文献基于重复的攻防博弈理论研究无线网络抗 DDoS 攻击的方法;文献构建了微分攻防博弈模型,给出了鞍点策略的计算方法和最优策略选取算法;文献基于有限理性的不完全信息博弈模型,量化网络攻防双方的收益,研究动态、不断演化的网络攻防双方的最优策略集选取方法。但在上述研究中,都是将网络状态作为博弈结果,因此,每个策略是在该时刻的一个策略集,网络安全人员在采取网络防御措施时,不能很好地理解网络安全状态与防御措施之间的关系。
因此,本文提出了基于属性攻击图的网络生存性博弈策略分析研究的方法,量化攻防动作强度和网络安全状态,为网络安全管理员提供实施单点防御措施的建议。本文首先利用矩阵的方法表示网络节点的地址、攻击动作和攻击路径;其次量化攻防策略对网络系统生存性的影响;然后根据相应攻防策略的支出,计算最优防御策略,为网络安全管理人员提供更易于理解、合理的防御决策。
2 网络生存性博弈模型的构建
博弈模型包含博弈者、攻防策略、攻防收益等要素,在基于网络生存性度量网络安全状态的基础上,加入了网络生存性度量值,并且量化了攻防策略对网络安全的影响。下面给出网络生存性博弈模型的定义。
定义 1 网络生存性博弈模型(NSGM, network survivability game model)由七元组NSGM =(N,S,V,SI,g,U,f)表示。
1) N =(NA,ND),N表示攻防博弈的参与人集合,NA表示攻击者,ND表示防御者。
2) 表示攻防策略矩阵。其中
n表示该条攻击路径的节点数,且攻击顺序为1→n,m表示攻击者在对n个节点进行攻击时,对某个节点存在的最大攻击策略数,k表示防御者对 n 个节点进行防御时,对某个节点存在的最大防御策略数,aij表示第 i 个节点的攻击策略 j;dij表示第 i 个节点的防御策略 j。矩阵元素由0,1构成,表示攻击者或防御者是否选择该策略。
为了方便对系统防御和攻击策略进行分析,给出每个节点的攻击策略向量和防御策略向量表示:。
3) V表示网络生存性度量值(NSM,network survivability metric),表示在网络遭受故意攻击或意外事件时是否能确保关键任务的完成和确保足够的信息可用性和服务连续性的量化值。
为了量化分析攻防行为对网络系统的影响程度,本文采用林肯实验室攻防行为数据库中的攻防动作强度分析网络攻防策略对系统的影响。
4) SI=(SI A,SI D)表示策略强度(strategy intensity)。SIA表示攻击策略强度,SI D表示防御策略强度,且SI∈[0,1]。
由于V∈[-1,1],当V∈[0,1]时,表示网络系统当前安全,有继续提供必需服务的能力;当V∈[-1,0)时,表示网络系统存在较大的风险,生存性较低,且V越小,风险越大,提供必需服务的能力越低。
5) g表示攻防策略选取函数关系式。
攻击者对系统进行攻击时,首先选择攻击节点,则相对应的存在攻击向量 ,攻击者选择向量中的一个元素aij。对防御者来说,为了维护网络系统的安全,在面临某个攻击时,需要对攻击动作做出反应,因此,得到一个防御策略集合,在攻击者选择攻击策略aij时,防御者选择防御策略集合中的任意一个元素,使V≥0,则存在一个函数关系式为
引用集合中的上确界表达式对防御策略集进行表达。式(2)表示当攻击者选择攻击策略aij时,防御者为了保持网络系统安全,防御措施只能在 中选择,且 表示对节点i采取的防御措施的集合。
6) 表示攻击者和防御者选择的策略的相应的支出矩阵。
表示攻击支出矩阵, 表示防御支出矩阵, 表示攻击者攻击节点i采取策略j的攻击支出, 表示防御者对节点i采取防御措施j的支出。
分析攻击者对网络系统某个节点采取攻击时,攻击者和防御者的支出情况。
7) f 表示攻防支出矩阵与攻防支出之间的函数关系式。
当攻击者对系统中节点i采取攻击措施j时,防御者的防御措施为。则
3 攻击策略支出分析
3.1 单步攻击策略支出
首先根据网络拓扑关系和网络节点存在的漏洞,得到攻击者的攻击策略矩阵 ,其中, 表示由0,1组成的n×m矩阵。如
其中, 中只有1ij一个元素为1,其余元素为0; 表示攻击者对节点i实施攻击策略j的一步攻击动作。
为了对攻击策略支出矩阵进行数学计算,引用文献矩阵的元素形式范数计算公式进行攻击策略支出的计算。
设存在矩阵B,则根据的元素形式范数计算公式得到
根据攻防支出矩阵与攻击支出之间的函数关系式,得到单步攻击动作的支出为
其中,表示攻击1步的支出,表示攻击者第A1步攻击的支出。
下面结合一个简单的实例对单个攻击策略的攻击支出进行计算说明。
假设网络系统中的节点n具有i个漏洞,且每个漏洞有一种攻击策略,则攻击策略矩阵为
且攻击i个漏洞的攻击支出矩阵为
则根据式(4)可知攻击者在攻击节点n时的攻击支出为
当攻击者攻击漏洞l(1≤l≤i)时,攻击支出为
3.2 多步攻击策略支出
首先对攻击者的攻击步数进行分析。攻击者在对网络系统进行攻击时,有时由于技术原因或者对系统信息掌握不足,某些攻击动作不成功,则攻击者存在对相同目标进行相同攻击动作的情况。为了符合实际情况,假设攻击者在对相同节点进行攻击时,攻击次数越多,攻击支出越少,给定参数λ∈(0,1),当对某个相同目标执行第 n次相同攻击动作时,第n次的攻击支出为第一次的λn倍。根据上述情况,下面对多步攻击动作进行分析,则攻击者在实施攻击动作时,可以分成单步攻击动作的情况进行分析,因此将多步攻击行为分成多个单步攻击行为进行分析。下面给一个简单的例子。
当攻击者实施多步攻击时,计算攻击者的多步攻击支出,攻击者实施了 的q步攻击策略,则q步的攻击支出为
由于存在重复攻击的情况,因此在对攻击支出进行计算时,考虑 中系数不为 1 的函数关系式
其中, 为相应的攻击策略的攻击次数。
4 防御支出与策略选取分析
防御者在面对攻击者的攻击时,由于具有防御措施上确界集合,因此只需要在集合中选取防御决策分析防御支出。
4.1 单步防御决策支出分析
当攻击实施一步攻击动作,且没有发现其余的攻击动作时,由式(1)可知,防御者存在防御策略选择,且防御者的防御策略支出是以集合的形式表示的。
在面对已知系统漏洞和系统关联关系时,防御者的防御策略根据攻击者的攻击策略进行改变。
当攻击者的攻击策略为aij时,防御者的防御策略集为,防御者采取的防御策略在保证网络系统生存情况下的支出最少,则称该防御策略为最优防御策略。因此,防御者在面对攻击者的攻击动作时,当 得到防御策略为dil,且 。则防御策略矩阵为
其中,中元素只有dil为1,其余元素为0。
下面结合一个简单的实例对防御策略支出进行计算说明。
假设攻击节点m的漏洞i,且漏洞i的防御策略有j种,则防御策略矩阵为
根据最优防御决策原则可知,在满足网络可生存性条件下支出最少的防御策略为最优防御决策,则根据式(2)取防御矩阵中的防御策略为
其中满足:
与单个攻击策略支出计算方式相同,得到单个防御策略支出为
4.2 多步防御支出与策略选取
防御者根据多个攻击动作选取多个最优防御策略,使网络系统维持生存性度量值大于0。防御动作与攻击动作支出的分析相同,首先假设攻击者与防御者业务能力相同,当防御者多次实施相同防御策略时,防御支出相应减少,且参数为λ,则根据式(5)和式(6)得到多步防御策略支出为
其中,当p=1时,为特殊的单步防御策略支出计算公式,即式(4)。
为相应的防御策略实施的次数。
当中∃ηij≠0,则表示根据攻击者攻击策略选取的防御策略,使网络的可生存性V≥0且支出最少的防御策略,即为dij。
5 实验
5.1 实验分析
为了验证防御策略选取对网络系统安全的影响,构建的网络环境如 图1所示,具体包含3个主机和2个服务器,2个防火墙和2个入侵检测系统(IDS,instruction detection system)。
图1 构建的网络环境
在图1的实验环境中,攻击者通过网络对系统中的主机和服务器进行攻击。首先给出攻防动作强度表;攻防支出是基于攻击者和防御者的能力在同一水平下确定的,不同的攻防强度需要不同的攻防支出,为了提高实时分析效率,本文将攻防支出分为3个等级,分别对应攻防强度如表1和表2所示;表3为实验环境的网络系统节点的信息表;表4 是查询 CVE、NVD得到具体的漏洞攻防动作表(注:表4中的字母和数字是表1和表2中的序号)。
由图1中的网络环境可知,攻击者需要通过互联网攻击 DMZ 区域的服务器,然后才能攻击Trusted区域的主机,攻击者获得的权限从Web、Data、H1、H2、H3依次递增,即表示攻击者在获得后者的权限之后,不会再对前面的节点进行攻击。结合表3网络开放的端口信息,可知该网络环境的属性攻击图,如图2所示。
图2 实验环境属性攻击图
由图2可知,该网络系统有4条攻击路径。
1) Attacker→192.168.1.3→192.168.1.6
2) Attacker→192.168.1.2→192.168.1.3→192.168.1.6
3) Attacker→192.168.1.2→192.168.1.5→192.168.1.7
4) Attacker→192.168.1.2→192.168.1.7
根据表1、表2 和节点的漏洞信息,可知攻击矩阵和防御矩阵为
当系统入侵检测系统监测到节点被攻击时,利用攻防策略矩阵的策略选择计算方法,可以实时为系统安全管理人员提供精确的防御决策和建议。
下面假设在上述实验中由入侵检测系统监测到攻击策略为 ,且攻击次数为1。
根据式(6)可知攻击支出为
首先根据发生的攻击行为的 IP 地址确定攻击策略所处的策略矩阵为 ,且SI A=0.45,然后根据式(2)可知
根据式(7)可知防御支出为
则为系统安全管理人员提供的防御策略为 。
根据攻击策略所在的策略矩阵可知,攻击者下一步很可能对节点192.168.1.7实施攻击,因此,需要提前对节点192.168.1.7可能发生网络攻击行为的情况进行分析。
下面对多步攻击行为的防御策略选择的情况进行分析。
假设攻击者实施攻击的策略为 ,且攻击次数分别为3次和1次。根据攻击行为a5,对λ进行赋值为0.7。
根据式(6)可知攻击支出为
根据 IP 地址确定攻击策略矩阵为 ,且 。根据式(2)可知
根据式(7)可知防御支出的3种情况为
则为系统安全管理人员提供实时的防御策略是 和 或 和 。
5.2 关联分析
文献是基于状态攻击图考虑攻击策略和防御策略对系统安全状态的影响;大部分文献没有给出网络系统安全状态的具体量化方法;在对网络系统的攻击策略分析中,是在无限攻防对抗过程的情况下对攻防策略进行分析,提供的防御决策其实是策略集,但在具体的网络系统攻防过程中,管理人员不能实现无限试错的机会,且对策略集的实施存在理解困难的问题。因此本文基于属性攻击图研究网络攻防策略集对网络系统生存性的影响。 表5是对应的关联分析。
6 结束语
本文基于属性攻击图研究网络攻防对抗的策略选择,首先利用攻防矩阵表示攻防策略和路径;其次利用林肯实验室给出的攻防动作数据量化攻防强度和网络生存性;然后结合攻防策略支出研究在面临实际威胁时,为网络系统安全人员提供可读性强的安全策略;最后根据攻击策略矩阵预测攻击者下一步的攻击行为。未来的研究是在本文的基础上,结合机器学习等人工智能方法,实现攻防策略自动化分析,为网络安全人员提供更加快捷、方便和易理解的防御策略。
作者简介
冷强(1993-),男,四川内江人,信息工程大学硕士生,主要研究方向为信息安全风险评估。
杨英杰(1971-),男,河南郑州人,博士,信息工程大学教授,主要研究方向为信息安全。
常德显(1977-),男,河南邓州人,博士,信息工程大学副教授,主要研究方向为信息安全。
潘瑞萱(1995-),女,陕西华县人,信息工程大学硕士生,主要研究方向为SDN网络协议安全。
蔡英(1983-),女,河南郑州人,主要研究方向为金融信息安全与风险管理。
胡浩(1989-),男,安徽池州人,博士,信息工程大学讲师,主要研究方向为网络安全态势感知和图像秘密共享。E-mail:wjjhh_908@163.com。
声明:本文来自网络与信息安全学报,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。