Java教程

自主安全分析和渗透测试

本文主要是介绍自主安全分析和渗透测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 自主安全分析和渗透测试
    • 一、概要
    • 二、流程
    • 三、实验评估
    • 四、总结

自主安全分析和渗透测试

一、概要

本文提出了一个自主的安全分析和渗透测试框架\((ASAP)\),它使用攻击图来创建网络中的安全威胁到可能的攻击路径的映射。框架利用:

  1. 基于\(DQN\)的最先进的强化学习算法来执行\(PT\)测试的最佳策略
  2. 结合特定领域的转移矩阵和奖励模型来构建安全漏洞的重要性和利用它们固有的困难

网络服务可达性和漏洞信息构建攻击图,并且利用主机日志信息来创建可能的攻击路径的状态—动作图。

在本文的框架中,对于给定的网络设置,利用特定于域的建模来确保奖励分配和转移概率,与不同的动作与安全漏洞的严重性和利用不同漏洞的难度相关联。

\(ASAP\)框架识别漏洞和网络连接之间的依赖关系,以提供特定领域的奖励模型。转移概率与网络结构相关联,而访问复杂度和奖励值与\(CVSS\)分数相关联。我们利用基于\(DQN\)的强化学习框架在大规模网络上学习高效的\(PT\)计划,使用\(RL\)框架获得的最佳策略有助于发现潜在策略,从而最大化PT的总体投资奖励。

特定领域建模:

\(CVSS\)系统以跟踪已知漏洞而闻名, 每个漏洞都有一个分数,用来确定漏洞的严重程度。此外,每个漏洞都有关联的元数据,如访问复杂性(\(AC\)),它决定了利用漏洞的难易程度。

image-20220629211930187

概率值由访问复杂性映射到概率值,\(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\)评分。

image-20220629211635981

二、流程

image-20220629213108324

如图所示为我们的ASAP架构,我们利用漏洞扫描器来扫描漏洞,然后将扫描信息、主机配置和网络拓扑传递给攻击图生成器,攻击图生成器使用MulVAL生成攻击图。攻击图以XML文件的形式存储,可以对其进行解析以提取强化学习算法的关键参数。

image-20220629214210141

三、实验评估

实验模拟了一个包含工业控制系统(子网2)和物联网设备(子网3)的企业网络,网络由16台主机和三个网络组成。

image-20220629220521037

然后我们选择不同的衰减因子\(\gamma\)和不同的步长\(BS\),最终得到了如下的实验对比图

image-20220629221712947

image-20220629221720244

然后我们将实验规模扩大到由300台主机组成的网络中

image-20220629221805221

通过实验对比,我们可以发现在BS=16, \(\gamma=0.8\)时的效果最好,无论是奖励还是收敛速度,都达到了最好情况。

四、总结

  1. 该框架首先利用网络配置和漏洞信息生成攻击图,然后以强化学习(RL)框架的形式基于状态转移信息提取攻击者的权限。
  2. ASAP利用特定领域的奖励和转移概率建模来捕捉测试练习中固有的真实世界设置。使用ASAP生成的攻击计划有助于发现潜在的攻击路径,这些路径在手工测试中可能未被发现。
  3. 与现有的研究相比,该框架可以很好地推广到不同类型的网络场景,并可以很好地扩展到大型网络。
  4. 我们没有考虑与未知漏洞相关的场景,包括
  5. APT场景和PT演练。
  6. 这项研究工作的代码和数据可以在https://github.com/ankur8931/asap找到
这篇关于自主安全分析和渗透测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!