面向边缘计算支持的大规模网络防御演习的 红队策略智能推荐算法
摘要
近期网络攻击的频率和严重性激增,令人担忧,对社会的稳定构成了重大威胁。以往,大多数缓解网络攻击的努力集中在技术对策上。然而,最近发生的多起网络攻击事件表明,有必要及时向工作人员持续提供大规模网络防御演习(CDX)。为了满足不断增长的需求,最新的大规模CDX平台与传统的集中式CDX平台不同,利用各种边缘计算概念来实时本地管理受训人员(蓝队成员)相关的开销。迄今为止,如果没有足够数量具备扎实网络进攻专业知识并愿意参与CDX的合格教员(红队成员),此类大规模CDX平台就无法完全运行。不幸的是,确保足够数量的红队成员在实践中极具挑战性。为解决这一问题,本文提出了一种针对大规模网络防御演习中红队的智能推荐算法,使得即使缺乏具备强大网络进攻专业知识的红队成员,也能组织此类大规模网络防御演习。
针对每个已知的网络防御训练模块的攻击图,我们形式化地定义了识别包含红队获胜策略子图的问题,即胜利子图计算问题。随后,我们提出一种新算法来解决该问题,并提出一种新策略以获取进攻方的获胜策略,从而辅助红队成员。此外,我们还讨论了多种高效利用本研究成果来组织大规模网络防御演习的方法。
关键词
智能计算,边缘计算,网络科学,攻击图,网络防御演习,图论
1. 引言
近年来,针对个人、组织和政府的网络威胁日益增长。过去,应对这些网络威胁的大多数对策主要集中在开发防火墙、入侵检测系统和杀毒软件等技术工具上。然而,众所周知,随着近年来网络攻击变得越来越复杂,且攻击者试图规避现有的防御边界,这种以技术为导向的方法存在局限性 MITRE (2020);洛克希德·马丁 (2020)。因此,为了应对新兴网络事件及相关危机,在信息技术安全领域培养专家或专业人员比以往任何时候都更加重要。众所周知,网络防御演习(CDX)是一种非常有效的方法,可用于教育和培训网络防御人员,以保障私营和公共部门各类组织的安全,目前对网络防御演习(CDX)的需求很高ENISA (2020);杜瓦 (2018);金(2019);北约 (2013);ENISA (2018)。
在大多数情况下,此类网络防御演习的每个参与者要么属于红队,负责在受控演练环境(如虚拟核电站的封闭式工业控制系统)中发起网络攻击;要么属于蓝队,负责抵御红队成员发起的网络攻击。通常,红队成员由教员(作为活动组织者的专家)担任,因为他们拥有丰富的网络攻防实战经验和教学能力,而蓝队成员则是受训人员,他们不太可能具备网络安全方面的专业知识以及网络防御经验,并希望学习为其所在组织所需的必要网络防御技能(金(2019))。由于对网络防御演习的高需求,为红队配备足够数量的专家正变得越来越困难,尤其是在组织大规模网络防御演习时。
为了满足对网络防御演习日益增长的需求,现代CDX平台已从集中式结构转向更分布式结构,其中利用各种边缘计算概念来减轻大规模蓝队成员带来的开销金(2019)。然而,由于具备网络攻击专业知识和经验的红队成员——合格教员数量有限,及时参与适当网络防御演习的机会仍难以跟上不断增长的需求。因此,迫切需要开发一种新方法,能够及时培养合格的网络防御教员以满足需求。但是,为这些网络防御演习培养足够数量的网络安全专家将耗费大量时间且成本高昂,因此短期内看不到解决方案。
本文通过提出一种基于边缘计算的大规模CDX平台上针对红队成员的智能网络进攻策略推荐系统来应对这一问题,使得即使个人在网络攻防方面的专业知识和经验不足,也能成为有效的红队成员。
在文献中,攻击图被广泛用于表示抽象的网络拓扑结构,其形式为有向无环图;攻击图中的每条路径代表攻击者可能用来到达特定主机(节点)或系统根节点的潜在路径,也称为攻击路径。通常来说,在构建攻击图的过程中,每个网络状态都被抽象成一个顶点,而从一个节点到另一个节点的边则表示一次推动网络攻击进展的攻击动作。图1展示了一个仅包含7台机器子网且具有七个独特漏洞利用的攻击图。攻击图的概念最初由斯维勒等人 SPEC (2001) 提出。在许多近期研究中,攻击图被用于说明对手如何利用系统漏洞并侵入系统的各种方法,相关文献包括 Ritchey (2000);巴里克(2016);贾(2002);谢纳(2002);程(2014);南迪(2016);布尔达斯(2012);区(2012);王(2008);胡(2017);贾约迪亚(2005);诺埃尔(2010);利普曼(2002);区(2005)。
同时,陈等人 CBS (2007) 将攻击路径定义为路径指定攻击者如何访问受害计算机、攻击者可利用哪台计算机上哪个软件的漏洞,以及技术损害如何影响组织价值的场景。近年来,在各种假设和情况下,已有研究探讨了攻击图模型中的多种攻击路径计算问题 PPM (2018); YTXQ (2019); YJS (2013); TLT (2017); WCZDL (2018); GNG (2010); MBG (2008); GNG (2009); FZJB (2014); SRO (2011)。然而,这些研究均未探讨在CDX背景下针对红队的攻击路径计算问题。
在现实世界中,系统管理员对网络和系统基础设施有全面的了解,因此很可能完全掌握攻击图的情况。因此,许多现有文献研究了如何利用此类攻击图来理解系统弱点所在,并帮助决定部署哪些安全措施是有效的。
与这一常见情况不同,在网络防御演习(CDX)中,目标系统的完整攻击图仅提供给红队用于训练目的,蓝队成员无法访问该信息。这种情况与现有的攻击路径计算问题相比非常独特。
在现有文献中,因此没有任何一项现有研究可用于确定高级网络防御演习中红队成员的最佳攻击策略。也就是说,在所有相关研究中,防御方团队始终完全了解其系统,而进攻方团队往往对目标系统一无所知或仅掌握部分信息,这与我们所关注的网络防御演习情况完全相反。
为了填补这一空白,本文提出了一种智能推荐算法,用于指导红队成员在网络防御演习(CDX)中根据蓝队成员的响应采取适当的进攻行动。在每一轮中,该算法基于对蓝队预期能力以及攻击图的全面了解,假设蓝队采取了最优的防御行动,并在此基础上,结合攻击能力限制,为红队推荐最佳的进攻行动路径。在实际应用中,即使红队成员并非领域专家,该算法也可轻松集成到任何网络防御演习系统中,以提升红队的表现一致性和整体性能。
本文的其余部分组织如下:第2节介绍了重要的符号和定义,包括我们主要关注的问题——胜利子图计算问题(ViSCP)。接着,在第3节中,我们针对ViSCP最简单的情况提出了一种简单的着色算法,并讨论了如何利用该算法的输出为红队在受限情况下的行动提供策略。在第4节中,我们探讨了如何降低与我们所关注问题相关的攻击图的复杂度;在第5节中,我们研究了如何结合第3节和第4节的结果来处理更一般的情况,并为红队成员提供相应的通用策略。最后,我们在第6节对本文进行总结。
2. 符号与定义
2.1. 图模型
在本研究中,我们定义了一种特殊的有向多重图模型,用于抽象我们所关注的攻击图类别。正如前文所述,通常这类攻击图可以从基本的网络防御演习基础设施中获得。我们希望强调的是,我们的图模型是独特的,其合理性将在后文给出。我们将把这种有向多重图模型称为有向多攻击图 (DMAG) 模型,其形式化定义见定义1。
定义 1 (DMAG) 。一个有向多攻击图(DMAG)G由一组 V= V(G)节点组成,每个节点表示一个唯一的系统状态,以及一组 E= E(G)边,每条边表示进攻方团队采取的一个动作、一个进攻起始状态 s、一个进攻完成状态 t,以及两个不同的成本函数 fAC: E → N+和 fDC: E → N+。
在网络防御演习的背景下,进攻方团队取得的进展形成了一条路径或一棵树,该路径或树根植于 s,并延伸至节点子集 V ′ ⊆ V。具体而言,V中的每个节点代表系统的某个状态,从一个状态 u到另一状态 v的边(u, v)表示进攻方团队为将系统状态从已实现的状态 u推进至 v所需采取的动作。fAC(u, v)表示在 u ∈ V ′的前提下,进攻方团队发起对 v的进攻所需承担的成本。另一方面, fDC(u, v)表示防御方团队阻止此类进攻所需承担的成本,即从 G移除边(u, v)的成本。
2.2. AND条件
传统上,攻击图用于识别攻击者获取特定状态或实现特定攻击目标所需的步骤。在实际中,通常需要满足多个条件才能达到新的进攻里程碑。本文通过在指向节点的一组入边上使用 AND条件,将当前满足多个条件以获取特定状态的概念嵌入到我们关注的攻击图中。
例如,在图2(a)中,一个节点 v12有两个来自其他两个节点 v7和 v10的入边,并且这两条边上有一个 AND条件。为了获取 v12,进攻方团队需要先分别获取 v7和v10,然后通过从 v7到 v12以及从 v10到 v12的边发起两次独立攻击。
中一个带有 AND条件(作用于 v8, v11, v12, v13)的DMAG G,图(b)展示了由集合 X={s, t}∩{vi|vi 中拓扑排序的节点所导出的相应导出图,其中是一个其入边关联了一个或多个AND条件}的节点。注意, v11 和 v12 的顺序可以随机决定。这样的排序集合 X 可用于识别 X中节点之间的潜在依赖关系。例如,必须先获得 v8 才能获得 v11。然而,获取 v8 并不是获得 v12的必要条件。)
2.3. 假设
在进一步讨论之前,我们阐述几个在刻画我们所关注问题时起关键作用的假设。
(a) 网络防御演习包括一系列不同的回合。例如,一个旨在实现一个目标的6小时培训计划将包括12个30分钟的会话。将连续时间划分为多个离散会话是一种广泛接受的方法,用于解决各种计算问题,我们认为这是合理的。
(b) 我们观察到,在网络防御演习中,进攻方团队利用漏洞或漏洞利用的能力高于防御方团队。基于这一观察,在每个回合中,进攻方团队首先在已知的每会话进攻预算 BudgetA ∈ N+ 下发动攻击,然后防御方团队在已知的每会话防御预算 BudgetD= 1 下执行防御操作。需要注意的是,关于 BudgetA 相对于 BudgetD= 1 的具体度量可能因每次演习而异,不在本文讨论范围内。
(c) 进攻方团队获得的任何已妥协(已获取)状态都不能被防御方团队作废(或收回)。在某些情况下这可能不成立,但我们排除这些情况,本文不讨论,并将其留作我们的未来工作。
(d) 在每一回合中,由多名对 G完全了解的网络安全防御演习专家组成的进攻方团队首先发起行动,即根据当前进展在 G中沿边推进,随后防御方团队执行其防御策略,即从 G中移除进攻方团队到目前为止未使用的边。这一假设是合理的,因为进攻方团队由专家组成,其成员对包括攻击图在内的整个演习系统具有全面的了解,而防御方则处于相反的情况。
(e) 攻防预算的支出以整数为单位进行,而不是实数。
2.4. 问题定义
现在,我们介绍本文的一个关键概念,即进攻方的胜利 s‐t子图,简称胜利子图 (ViS)。
定义2(ViS) 。给定一个DMAG G、 BudgetA和 BudgetD,胜利子图 (ViS)是一种子图结构,包含 s和 t在内的 G,使得如果 G展现出此类子图,则进攻方团队总能找到一条从 s到 t的路径,在 G中沿该路径发起一系列攻击,并最终到达 t,无论防御方团队采取何种策略。
展示了一个没有ViS的攻击图 G。也就是说,如果防御方团队移除了从 v1到 t的边,则进攻方始终有可能无法到达 t。在图3(b)中,进攻方团队可以在第一回合到达 v1(或 v2),在此期间,防御方可移除从 v1(或 v2)到 t的两条边中的一条。随后,在接下来的回合中,进攻方团队可以利用另一条边到达 t。出于同样的原因,在图3(c)中,防御方团队将无法阻止进攻方团队到达 t。)
图3展示了给定 f AC时ViS的概念: E → 1, f DC: E →1, BudgetA= 1 和 BudgetD= 1。显然,识别胜利子图的存在对于进攻方团队完成其任务非常重要。基于这一观察,我们现在正式引入我们关注的问题,即胜利子图计算问题(ViSCP)。
定义3(ViSCP) 。给定一个DMAG G=(V, E, s, t, f AC, f DC), BudgetA和 BudgetD,胜利子图计算问题(ViSCP)旨在在 G中找到一个ViS。
2.5. ViSCP参数的确定
显然,可以根据预先安排的网络模型和现有的漏洞和利用获得 G=( V, E, s, t)。另一方面,f AC、 f DC、 BudgetA、 BudgetD 以及每个回合的长度是相对概念。考虑一个由若干新手学员(蓝队成员)和几名专家教练(红队成员)组成的蓝队。然后,该活动的组织者训练可以设置每个回合的长度足够长,以便蓝队能够修补每个漏洞和/或进攻方团队能够使用一个或多个漏洞。在这种情况下,我们可以设置 f AC= 1, f DC= 1,BudgetA= α, BudgetD= 1,其中 α是大于或等于 1的整数。这些参数实际上可以由领域专家和相关概念来确定。因此,确定确切的函数/值应根据具体情况而定,故不在本文讨论范围内。我们想强调的是,此类参数设置仅在我们所关注的受控CDX环境中才有可能实现,这使得我们的图模型和问题设定具有独特性。
3. S‐ViSCPA:S‐ViSCP 的简单着色算法
在本节中,我们介绍了一种用于ViSCP的新型多项式时间算法。我们首先研究S‐ViSCP,即ViSCP的一种最简单情况,其条件为 f AC: E → 1, f DC:E → 1, BudgetA= 1, BudgetD= 1,并且对边没有 AND限制。然后,我们将讨论如何推广这一结果,以设计针对ViSCP的最优策略。
算法1 是我们用于 S‐ViSCP 的算法的概要,该算法是一种简单的着色算法。该算法的输入为一个DMAG G和两个节点s, t ∈ V(G),并输出一个 ViS G′。
算法1:S‐ViSCP 的简单着色算法: S − V iSCPA(G, s, t)
input:一个 DMAG G与条件 两个节点 s, t ∈ V(G)
output:一个ViS G′,它是 G中的一个子图
将 d设为直径(两点之间的最大距离) G中的节点在 G的最短路径上
将 V(G) 中的所有节点着色为白色;
将 t 和 s 涂成蓝色;
while d > 0 do
for 每个 白色 节点 v ∈ V(G) do
if 存在至少两条从 v 指向蓝色节点的出边 then
将 v 涂成蓝色;
end
end
d ← d− 1
end
return 子图 G′,使得 V(G′)是蓝色节点的集合 和 E(G′)是 G中对应的蓝色节点边
最初,该算法计算 G的直径 d,这可以通过最短路径计算算法(例如 Dijkstra算法)轻松计算得出。然后,将 t和 s染成蓝色,其余所有节点染成白色。注意,该算法的输出 G′仅在计算完成后包含蓝色节点的集合。接下来,该算法重复执行最多 d轮次,在每一轮中,只有当某个白色节点存在至少两条出边连接到一个或多个蓝色节点时,才将其染成蓝色。一旦第 d轮完成,该算法便输出由蓝色节点诱导的子图 G。图4展示了该算法的运行过程。
定理1 . 用于S-ViSCP的算法1的运行时间是多项式。
证明1 . 假设 n= V(G)。给定一个图,可以通过使用Dijkstra算法计算其直径,这需要 O(n2)时间。对 t和 s着色需要 O(1)时间。由于 d= O(n),算法中的while循环最多需要 O(n2)时间。因此,该算法总共需要 O(n2) 时间。
现在,我们证明算法1的输出 G′总是包含进攻方团队的获胜策略,前提是 f AC: E → 1, f DC: E →1, BudgetA= 1,以及 BudgetD= 1。我们通过提供一个简单的算法来计算 s到 t路径以在 G′中证明这一点。该算法的流程如下:假设 d为s与 t之间最长路径上的距离。然后,我们重复以下过程最多 d次,直到进攻方团队到达 t。在每一轮中,距 t最近的已获取节点为 v的进攻方团队将检查各个子树,每个子树的根节点均为 v的子节点,并向一个尚未被防御方团队切断边的子树所对应的子节点前进。此过程将持续进行,直到进攻方团队到达 t。图5展示了该算法的工作方式。现在,我们证明在给定 G′的情况下,进攻方团队可以
)。在第一轮中, v3和 v4 被涂成蓝色,因为它们各自至少有两条出边指向蓝色节点 t(图(b))。在第二轮中, v1被涂成蓝色,因为它有两条出边指向蓝色节点(图(c))。由于该图的直径为三,算法将再执行一轮。然而,剩余的白色节点 v2和 v5各自只有一条出边指向蓝色节点,因此不会再有白色节点被涂色。最终,该算法输出子图G,使得 V(G) ={s, t, v1, v3, v4}。)
)。在第一回合中,进攻方团队获得 v1 ,而防御方团队移除从 v3到 v6的边(图(b))。接着,进攻方团队选择 v2,因为以 v2为根节点的子树仍然完整。随后,防御方团队移除从 v4到 t的边(图(c))。在接下来的回合中,进攻方团队推进到 v5。此时,由于从 v5到 t有两条边,防御方团队无法阻止进攻方团队(图(d))。最后,在接下来的轮次中,进攻方团队到达 t。)
面向边缘计算支持的大规模网络防御演习的 红队策略智能推荐算法
4. 移除AND条件并添加综合攻击边
4.1. 最简单情况:包含一个 AND条件的攻击图
如前所述,攻击图中 AND条件的存在使得为我们所关注的问题设计解决方案带来了额外的复杂性。让我们使用图6(a)中的图来解释解决此问题的关键思路;在此图中, v4具有两条由 AND条件关联的入边。这意味着,如果进攻方团队打算从某个节点(例如 v0,我们将这些节点称为连接点)出发,前进到 v4,那么进攻方团队必须沿着两条攻击路径推进,每条路径通向 v4的最后一条边分别为(v2, v4)和(v3, v4)。
现在,我们提供一种策略来判断进攻方团队是否存在一种方式,可以从当前已达成状态(例如图6(a)中的 v0)前进到另一个具有多个与 AND条件相关的入边的状态(例如图6(a)中的 v4 ):首先,我们将图中每条边的容量设为无穷大,但将指向目标节点的边的容量设为1,例如图6(a)中的 v4。例如,从图6(a)可以得到图6(b)。然后,我们使用最大流算法来判断是否存在从某个节点到目标节点的流,且该流的最大值等于目标节点的入边数量。如果存在,则显然进攻方团队可以通过沿流动所经过的边从根节点向前移动,从而获得目标节点。
在我们的算法中,对于拓扑排序列表中与 AND条件相关联的任意给定目标节点,我们尝试计算是否存在从该目标节点向上至图根节点方向的节点序列中的流。例如,在图6(b)中,我们可以找到从v1, v0的这种流。一旦我们为所有节点识别出上述流,就可以设置一条或多条新边,每条边表示流的存在,从代表当前已达成状态的节点指向目标节点,并移除所有进入该目标节点的入边。例如,从图6(b)中,我们可以得到图6(c)。在本文其余部分,我们将这种新添加的边称为综合攻击边(CAEs)。需要注意的是,在我们关注的攻击图中,每条边都关联有两个成本函数,用于计算攻击成本和防御成本。现在,我们讨论如何计算一个新的CAE的最小攻击成本。实际上,根据CAEs的构造方式,一个CAE的最小防御成本等于该CAE中具有最小防御成本的那条边的防御成本。另一方面,一个CAE的最小攻击成本是构成该特定CAE的所有边的攻击成本之和。
在更全面的图中,从一个节点到目标节点的流通常可能存在多种移动方式。在相关文献中,存在一种用于寻找最小成本最大流的算法,该算法广为人知,称为最小成本流算法。直观上,我们可以使用此算法来计算从当前已达成状态(节点)获取目标节点的最低开销进攻策略。另一方面,通过这种方式计算出的边集可能包含防御成本非常低的边。显然,在计算最小成本流时,我们可以排除这些防御成本极低的边。然而,排除过多此类边可能会导致所有可能的流都被消除。可以采用多种启发式方法来最小化这一问题的影响。一种直观的方法是将边按防御成本升序排序,并计算最小成本流。这可能会产生一个新的CAE,其中包含一组防御成本和攻击成本的元组,可根据特定标准(例如攻击成本/防御成本比最低)选择其中一个。
的图中,每条新增加的边,即综合攻击边(CAEs), e1和 e2,表示进攻方团队为到达目标节点v4所需执行的一组进攻行动。也就是说, e1表示{(v1, v2),(v1, v3),(v2, v4),(v3, v4)},而 e2表示{(v0, v1),(v1, v2),(v1, v3),(v2, v4),(v3, v4)}。)
4.2. 广义情况:具有多个 AND条件的攻击图
与攻击图中单个节点关联一组具有 AND条件的边的情况相比,具有多个 AND条件的攻击图显然更为复杂。我们解释如何处理此类图。第一种复杂情况可能来自与多个 AND条件相关联的状态节点,例如图7(a)。在这种情况下,我们对每个与一个目标节点相关联的 AND应用第4.1节中介绍的过程,然后移除所有指向该目标节点的入边。
另一种复杂的情况是,在攻击图中存在多个与 AND condition相关的节点,例如图8。在这种情况下,我们首先对与 AND condition(s)相关联的节点集合、根节点(例如 s)以及目标节点(例如 t)在给定的攻击图中进行拓扑排序。然后,我们将第4.1节中介绍的方法与上述方法按递减顺序结合应用。例如,在图8(a)中,v2和 v4是两个与 AND条件相关的节点。我们首先处理v2并添加一个CAE,例如图8(b)。接着,我们处理 v4并进行后续处理另一个CAE,例如图8(c)。
和(V0, v1)的抽象。最后,我们引入另一个新的CAE e2,它表示两条独立路径的抽象: e1 →(v2 , v3) →(v3 , v4) 和 (v0 , v1) →(v1 , v4)。)
5. 将所有内容整合在一起
考虑一个DMAG G,其中包含 f AC: E → N+, f DC: E → N+, BudgetA= 1和 BudgetD= 1。通过使用第3节和第4节中的方法,我们可以得到另一个图 G′,该图不具有 AND 条件。显然,此类DMAG不能作为算法1的输入,因为算法1要求 f AC: E → 1和f DC: E → 1。为了解决这个问题,我们引入一个新的子图组件,用于替换每条具有 f AC: E → N+ 和 f DC: E → N+ 的边,将其转换为具有 f AC: E → 1和 f DC: E → 1 的子图(见图9)。粗略地说,对于一条从 vi到 vj 且具有 f AC(ei, j)= k 和 f DC(ei, j)= l 的边,我们构造一个包含 k × l+ 2 个节点的图,使得在此子图上的最小攻击成本为k,最小防御成本为 l,并且满足 f AC: E → 1和 f DC: E → 1。这样,算法1就可以应用于该D MAG其 AND条件根据我们在第3节和第4节中的方法被移除。
显示了一个图,其中存在一条从 vi到 vj的边,使得 fAC(ei,j) = k且 fDC(ei,j) = l。这意味着进攻方从 vi获取 vj的(最小)攻击成本为 k,而防御方阻止进攻方团队到达 vj的最小防御成本为 l。图(b)是对应的组件。在此图中,每条边的攻击成本和防御成本均为1。从 vi到 vi的跳数距离为 k,这意味着从 vi到达 vj的最小攻击成本为 k。此外,每一层指向下一层次的入边数量为 l。这意味着最小防御成本为 l(通过删除所有进入 vj的入边)。)
最后,我们讨论如何处理一个包含 G 和 fAC: E → N+,fDC: E → N+, BudgetA ∈ N+ 以及 BudgetD= 1 的 DMAG。显然,借助上述组件以及我们在第4节中的结果,我们可以将任何此类带有 AND 条件的 DMAG 实例 G 转换为另一个等效的 DMAG 实例 G′,其包含 f AC: E → 1, f DC: E → 1, BudgetA ∈ N + 以及 BudgetD= 1,且不再含有 AND 条件。然而,我们在第3节中提出的算法无法处理 G′,因为我们有 BudgetA ∈ N+、 BudgetD= 1 的实例 BudgetA= 1 以及 BudgetD= 1。这意味着我们需要对所提出的算法进行推广。
让我们讨论如何在给定的 G′ 中找到一个 f AC : E → 1,f DC: E → 1, BudgetA ∈ N+ 和 BudgetD= 1,且没有 AND 条件(我们将这种 ViS 称为广义ViS)。我们首先定义一个根植于节点 v、高度为 BudgetA 的子树为 T(v),使得从 v 到两个不同叶节点存在两条边不相交路径。该结构的主要性质是,如果进攻方团队在上一轮中已获得该树的根节点 v,则在给定预算 BudgetA的情况下,它可以到达该树中的某个叶节点。
现在考虑将这些子树作为节点构成的二叉树(见图10)。然后,在每个回合中,进攻方团队从每个子树的根节点(从 s开始)出发,该根节点用三角形表示,可以向一个叶节点移动,该叶节点是其自身子树的根节点,并且所有相关的边仍然完好(未被防御方团队移除)(见图11)。
通过为边分配相应的容量并运行最大流算法,可以计算这种广义ViS。也就是说,给定 s和 t在 G′中的跳数距离为 h,我们将从一个节点到另一个与 s的跳数距离为 l的节点之间的边的容量设置为
2d h / BudgetA e−d l / BudgetA e,
并运行最大流算法。那么,显然,如果 t 接收到的流量大于 2h,则存在一个广义ViS。
6. 结束语
随着新兴的CDX行业趋势发展,该趋势的特点是需要提供大规模演习,并将边缘计算概念应用于大规模CDX平台,因此有必要聘请大量网络安全培训专家,而这类人才可能难以招募。为了实现边缘计算这一重要应用,本文提出了一种智能推荐算法,可显著提高负责演习中攻击活动的新手教练的有效性。据我们所知,该领域大多数研究集中在防御策略而非进攻策略上,因此我们认为本文的研究成果具有开创性。
除了为红队成员提供建议外,我们相信我们的方法还可用于多种用途,以组织有效的网络防御演习平台。例如,给定一个攻击图以及蓝队成员行为的统计信息(例如每个漏洞被关闭的概率),我们可以使用我们的算法来衡量该攻击图及相应网络防御演习训练环节的难度。我们认为这种度量方法也可用于调整特定网络防御演习训练环节的难度。也就是说,我们可以通过增加或删除漏洞来调整给定的攻击图,并测量其难度。通过以不同方式重复此过程(例如二分查找),我们能够适当地将回合难度调整至符合预期蓝队成员的水平。
中,进攻方团队从 s开始,在识别ViS中移动到 T(s)的叶节点,即 v。防御方团队移除从 v到其子节点的一条边。在图(c)中,进攻方团队获得了一个 T(v)的叶节点,即 u。防御方团队移除从 u到 t的一条边。在图(d)中,进攻方团队到达 t。)

被折叠的 条评论
为什么被折叠?



