基于攻击图强化学习的CJA(关键网络资产识别)

Title: Crown Jewels Analysis using Reinforcement Learning with Attack Graphs
Code: None

一、摘要

使用强化学习的自动化渗透测试为开发由网络结构和网络地形驱动的方法提供了一种新的有前途的方法,该方法可以在以后根据威胁模型进行解释,但主要是网络驱动的分析。本文提出了一种称为\(CJA-RL\)的关键网络资产识别新方法,通过使用强化学习来识别开发网络资产中的关键地形和路径。

在实验中,\(CJA-RL\)可以识别理想的切入点,阻塞点,利用多个网络资产识别网络的核心,说明渗\(CJA-RL\)和用于渗透测试的\(RL\)所起的作用。

二、介绍

\(CJA\)是基于任务的关键信息技术资产识别的非正式名称。它是更广泛分析的子集,可以识别所有类型任务的关键资产,通常攻击者不是通过巧妙的技术方法来破坏\(CJ\),而是通过巧妙使用网络地形进入关键位置。

\(MITRE \space ATT\&CK\)框架提供了对手使用的战术和技术的临时组织纲要,对于不清楚攻击活动和防御措施的,我们可以通过从框架中选择和聚集元素来设计。有序的技术列表可以提供对攻击活动有意义的事后统计。攻击图捕获的信息、对网络的网络地形理解以及网络内的整体路径结构,是\(MITRE \space ATT\&CK\)和类似框架应用的基础。

本文提出了一种在关键网络资产分析中使用强化学习的新方法,称为\(CJA-RL\),它结合了网络结构、网络地形和路径结构,通过自动构建和分析从各种入口点或初始节点到\(CJ\)的2跳网络的攻击活动来增强操作工作流。2跳网络中的初始节点和终端节点根据足迹或安静度(即跳数)以及对漏洞和弱点的有效利用进行分析,此外,还针对核心点和阻塞点对路径进行分析。

本文提供了一种通过使用\(RL\)来探测网络识别关键地形和路径的方法。因此\(CJA-RL\)通过\(RL\)的特殊用途将网络地形引入渗透测试,而不是在攻击图的\(MDP\)模型中增加了状态或奖励。\(CJA-RL\)提供了一种比以往工作更为通用的机制来结合地形,尽管地形不同。

三、系统介绍

本文提出的CJA-RL通过提供一种减少间接攻击机会的方法,通过识别关键地形和途径,并根据网络结构和网络地形识别风险,与大多数容易出现漏洞的威胁模型驱动的评估相反。

到目前为止,渗透测试的RL方法使用攻击图模型。下图描述了在网络上部署RL的高级过程。

image-20220630223204643

本文中使用的MDP通过降低MDP中相应的转移概率,将防火墙视为网络障碍,从而纳入了网络地形的概念,而且与已有的工作相比,本文使用了更大的网络。

image-20220701111652518

攻击图通过将信息传递为\(MulVAL\)来构建的,\(MulVAL\)使用推理引擎进行漏洞分析,并且生成图形网络表示。在使用攻击图对\(MDP\)建模时,状态空间\(S\)由攻击图的顶点组成,动作\(A\)由攻击图的边组成。顶点可以是网络的组成部分或遍历方式,例如中间文件服务器或交互规则,组件之间的连接和遍历方式是动作\(A\)

使用\(RL\)执行\(CJA\)涉及领域理解和图形分析的多个步骤,使用\(MulVAL\)提取的攻击图有多种解析方式。首先,检查攻击图生成器的\(input.p\)文件以及攻击图的结果集。\(input.p\)文件包含有关网络性质的重要信息,如子网及其连接、防火墙和敏感主机。攻击图是面向网络的快照,表示渗透测试者可用的能力,例如权限提升机会、可用的利用范围以及网络中的漏洞级别。使用领域理解,通过评估\(CJ\)对系统的重要性及其作为一个整体的操作能力来发现\(CJ\)

确定攻击图的\(CJ\)之后,接下来构建\(MDP\)网络,并确定\(CJ\)的2跳网络。然后识别可到达\(CJ\)的2跳网络的初始节点集,这包括反复评估到达2跳网络的可能路径,一旦确立了一组可到达的初始节点,就可以运行\(CJA-RL\)算法。

\(CJA-RL\)算法将\(MDP\)\(CJ\)节点,和可到达的初始节点作为输入。找到\(CJ\)的2跳网络,然后对于每个初始节点和\(CJ\)的2跳网络中的每个节点,周期性地训练一个\(RL\)代理,直到总回报收敛。最佳学习策略。收集路径,然后使用统计和手动检查进行分析,算法遵循如下描述,并提供了示意图。

image-20220701084219808

image-20220701084237476

训练使用深度\(Q\)网络强化学习代理,代理使用经验重放和目标\(Q\)网络,这利用了一个平面的动作空间,在向前传递时,转移层具有\(ReLu\)激活函数。使用\(Adam\)优化器,并且还使用了平滑\(L1\)损失来确保训练的稳定性。

本次实验一共经历了7500000个训练步骤,其中3000000个是基于探索的,重放缓冲区的大小为500000。学习率为0.001,步长大小为32, 隐藏层的大小为64。初始的\(\varepsilon\)为1.0,最终\(\varepsilon\)为0.05,用于辅助训练。训练是迭代的,领域中确定的每个节点轮流充当“终端节点”,代理将到达该节点作为目标。

(但是论文并没有给出模型结构和实验效果图)

高回报对应有效的漏洞利用,低跳数对应于低足迹。这些度量可用于通过初始节点(网络入口)和终端节点(\(CJ\)的核心)进行排序来分析关键地形。此外,在穿越网络时频繁出现的节点可用于表征接近的途径,如阻塞点。

\(CJA-RL\)的成果是对网络中主机的面向网络地形的理解,这些主机对于恶意行为者为了获得对\(CJ\)的访问而进行攻击是有利的或者有用的。

四、总结

我们的\(CJ\)路径确定的形式为那些希望在利用关键IT资产的道路上访问不显眼的主机而不被发现的参与者指明了途径。位于\(CJ\)的2跳网络内的主机,拥有可被利用的漏洞、应用程序或者元素,在对抗性攻击活动中提供真正的价值。在\(CJ\)附近的网络获得一个支点是有必要的,以启动完全渗透或破坏\(CJ\)所需要的额外能力。

构建\(MDP\)的自动化、面向规模的方法,同时引入网络地形和路径分析的概念,帮助用户更深入地了解他们的网络。\(CJA-RL\)是一种网络地形分析,基于战场情报准备中的网络地形方法。我们展示了如何使用\(CJA-RL\)在网络中找到一些最关键的主机,包括:理想的入口点、传感器/追踪器的理想支点(访问次数最多的节点)、\(CJ\)附近的理想立足点,以及如果被入侵,可用于危害整个系统(即多个\(CJ\))的主机。

\(CJA-RL\)丰富的、经验的和自动化的输出允许操作员和工程师快速发展对网络和地形的理解,允许他们将时间和专业知识集中在其他地方。例如( 1)建立更丰富的攻击活动,将威胁模型与\(CJA-RL\)确定的地形和\(CJ\)路径相结合;( 2)在关键地形和相关途径附近建立防御措施。

posted @ 2022-07-01 15:17  哆啦哆啦呦  阅读(604)  评论(0编辑  收藏  举报