本文提出了一个自主的安全分析和渗透测试框架\((ASAP)\),它使用攻击图来创建网络中的安全威胁到可能的攻击路径的映射。框架利用:
网络服务可达性和漏洞信息构建攻击图,并且利用主机日志信息来创建可能的攻击路径的状态—动作图。
在本文的框架中,对于给定的网络设置,利用特定于域的建模来确保奖励分配和转移概率,与不同的动作与安全漏洞的严重性和利用不同漏洞的难度相关联。
\(ASAP\)框架识别漏洞和网络连接之间的依赖关系,以提供特定领域的奖励模型。转移概率与网络结构相关联,而访问复杂度和奖励值与\(CVSS\)分数相关联。我们利用基于\(DQN\)的强化学习框架在大规模网络上学习高效的\(PT\)计划,使用\(RL\)框架获得的最佳策略有助于发现潜在策略,从而最大化PT的总体投资奖励。
特定领域建模:
\(CVSS\)系统以跟踪已知漏洞而闻名, 每个漏洞都有一个分数,用来确定漏洞的严重程度。此外,每个漏洞都有关联的元数据,如访问复杂性(\(AC\)),它决定了利用漏洞的难易程度。
概率值由访问复杂性映射到概率值,\(AC=\{LOW:0.9,MEDIUM:0.6;HIGH:0.3\}\),如果针对某一状态有一个以上的动作,则概率值被相应的归一化,如状态\(S_0\)到状态\(S_1\)的概率为\(\frac{0.6}{0.6+0.9+1}\approx0.37\),每个状态的奖励值对应于漏洞的\(CVSS\)评分。
如图所示为我们的ASAP架构,我们利用漏洞扫描器来扫描漏洞,然后将扫描信息、主机配置和网络拓扑传递给攻击图生成器,攻击图生成器使用MulVAL生成攻击图。攻击图以XML文件的形式存储,可以对其进行解析以提取强化学习算法的关键参数。
实验模拟了一个包含工业控制系统(子网2)和物联网设备(子网3)的企业网络,网络由16台主机和三个网络组成。
然后我们选择不同的衰减因子\(\gamma\)和不同的步长\(BS\),最终得到了如下的实验对比图
然后我们将实验规模扩大到由300台主机组成的网络中
通过实验对比,我们可以发现在BS=16, \(\gamma=0.8\)时的效果最好,无论是奖励还是收敛速度,都达到了最好情况。