【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践

admin 2023年6月29日22:23:38评论6 views字数 6403阅读21分20秒阅读模式
【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践
【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践


动机


本文是基于对渗透测试的需求和挑战的研究。渗透测试是评估网络安全的重要手段,通过模拟攻击来发现系统中的漏洞和弱点。然而,传统的渗透测试方法存在一些问题,例如无法处理网络配置的不确定性和不完整的知识,以及生成低效和低质量的攻击。

因此,文章的写作动机是提出一种新的方法来解决这些问题,并改进渗透测试的效果和效率。作者希望通过使用部分可观察的马尔可夫决策过程(POMDPs)和攻击分解的方法,能够更好地处理网络配置的不确定性,并生成智能和高质量的黑客攻击。这样可以提高渗透测试的准确性和效率,帮助组织更好地评估和提升网络安全。为推动渗透测试领域的研究和实践,提供新的思路和方法。

【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践



亮点
本文的创新点亮点主要有以下几点:
1. 使用POMDPs进行渗透测试:文章提出了使用部分可观察的马尔可夫决策过程(POMDPs)来进行渗透测试的方法。相比传统的全局POMDP模型,这种方法能够更好地处理网络配置的不确定性和不完整的知识,从而生成更智能和高质量的黑客攻击。
2.
攻击分解和网络结构利用:为了提高攻击的效果和效率,文章提出了一种将攻击分解为对单个计算机的攻击,并利用网络结构进行组合的方法。通过这种分解和结构利用,能够更精确地生成针对不同计算机的攻击,并将它们组合成对整个网络的攻击。
3.
实验评估和结果分析:文章通过对工业测试套件的实验评估,对提出的方法进行了验证。实验结果显示,使用POMDPs和攻击分解的方法能够显著提高攻击质量,并在更短的时间内生成高质量的攻击。这为渗透测试提供了一种新的思路和方法。
4. 能够智能地将扫描与漏洞利用进行结合
总的来说,这篇文章的创新点在于将POMDPs应用于渗透测试,并提出了攻击分解和网络结构利用的方法,以提高攻击的效果和效率。这为网络安全评估提供了一种新的方法和思路,并在实验评估中展现出了良好的效果。



文章总览
该文章的标题是《POMDPs Make Better Hackers: Accounting for Uncertainty in Penetration Testing》。文章主要介绍了一种基于部分可观察的马尔可夫决策过程(POMDPs)的方法,用于在渗透测试中评估网络安全。
文章首先介绍了渗透测试的背景和重要性,以及自动化生成攻击的需求。然后,作者提出了使用POMDPs来生成智能黑客攻击的方法,并解释了为什么这种方法能够更好地处理网络配置的不确定性和不完整的知识。
接下来,文章详细描述了使用POMDPs的攻击生成方法,并介绍了攻击分解和网络结构利用的策略。通过将攻击分解为对单个计算机的攻击,并将它们组合成对整个网络的攻击,该方法能够提高攻击的效果和效率。
在实验部分,作者使用一个工业测试套件对提出的方法进行了评估。实验结果显示,与传统的全局POMDP模型相比,使用POMDPs和攻击分解的方法能够显著提高攻击质量,并在更短的时间内生成高质量的攻击。
最后,文章总结了研究的贡献和局限性,并展望了未来的研究方向。
总的来说,这篇文章介绍了一种基于POMDPs的方法,用于在渗透测试中评估网络安全。通过使用POMDPs和攻击分解的方法,能够更好地处理网络配置的不确定性,并生成智能和高质量攻击。



模型和相关概念
方法模型:POMDP Model
States状态:
为了简单起见,本文假设这里的漏洞利用没有使机器崩溃的风险。除了终端状态和表示m被控制的状态之外,状态指定了哪些程序(“SA”或“CAU”)存在,它们是否易受攻击,以及是否启用“DEP”。每个应用程序都在不同的端口上侦听,因此如果存在相应的应用程序,则端口是打开的,并且不需要单独建模端口。因此,总共有20个状态:

【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践

Actions动作:
为了达到终端状态,我们需要一个终止动作,表示放弃攻击。有两种主要类型的操作,扫描和利用,这两种操作都必须针对可访问的机器。有五种可能的操作:
m_exploit_SA
m_exploit_CAU
m_scan_port_2967
m_scan_port_6668  
terminate

Rewards回报:
当使用终止动作或处于终端状态时,不获得奖励。在本文的例子中,如果成功,我们设置re = 100,否则为0; rt = −10(对于所有操作);且rd = 0(无检测风险)。我们将在下面看到这些设置对最优策略的影响。由于所有操作都是确定性的,因此没有必要通过同一防火墙对同一目标重复这些操作-这不会产生新的效果或带来任何新的信息。特别是,积极的奖励不能多次收到。因此,循环行为会导致无限的负成本。这意味着即使没有折扣,最优策略的预期回报也是有限的。任何扫描/攻击行为的即时奖励取决于它在当前状态下引起的转换。我们的简单模型是将即时奖励r(s,a,s)相加分解为r(s,a,s’)= re(s,a,s’)+ rt(a)+ rd(a)。这里,(i)re(s,a,s’)是在转换(s,a,s’)对应于成功利用的情况下被攻击机器的值,并且对于所有其他转换为0;(ii)rt(a)是取决于动作的持续时间的成本;以及(iii)RD(a)是反映当使用该动作时的检测风险的成本。

Designing the Initial Belief:
渗透测试定期进行。我们开始渗透测试时的初始信念取决于以下两点:(a)上次渗透测试结束时的已知信息,以及(b)此后可能发生的变化。为了简化起见,我们假设知识(a)是完美的,即在时间0(上次渗透测试)每台机器m都被分配了一个具体的配置I(m)。然后,我们通过函数b0(I, T)计算初始信念,其中T是自上次渗透测试以来经过的天数。更新的一个简单模型以马尔可夫链的形式独立地编码了每个程序的不确定演变。每个链中的状态对应于程序的不同版本,而转换则模拟可能的程序更新(以及估计这些更新将被应用的概率)。然后,初始信念是在经过T步之后该链产生的分布。

【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践
图1:用于模拟更新机制的三个独立的马尔可夫链

单个机器中的三个组件是DEP、CAU和SA。它们通过三个独立的马尔可夫链进行更新,每个马尔可夫链具有两个状态,如图1所示。概率指示机器在一天内从一种状态转换到另一种状态的可能性。假设我们设置T = 30,并在配置I上运行马尔可夫链,其中m禁用了DEP,并且SA和CAU都容易受到攻击者的利用。
由于POMDP不能扩展到大型网络,本文使用分解和近似来克服这个难题。依靠POMDPs只攻击个别机器。该方法被称为4AL。
4AL的四个级别是:(1)分解网络,(2)攻击组件,(3)攻击子网,(4)攻击单个机器。在提供技术细节之前,我们依次概述这些级别。图2提供了说明。
【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践
(a) LN作为组件C的树 (b) 攻击C1的路径   (c) 先用m从N1攻击N3                      
图2:4AL算法的1级、2级和3级(从左到右)图示

第1级:将逻辑网络LN分解成一棵双连通组件树,根在 *。在反向拓扑顺序中,在每个元件上调用Level 2;在树中向上传播结果。攻击的总体预期值可以通过以下方式来计算:(1)计算单独攻击该子图(C2)的值,以及(2)将结果作为枢轴奖励添加到入侵X(N2)的奖励。换句话说,我们在图2(a)中显示的树中“向上传播结果”。
第2级:在图2(b)中,N2和N3具有枢转奖励,因为它们允许分别到达分量C2和C3。如果N2和N3的最佳路径都经过N1(因为防火墙F * 3非常严格),那么这些路径不会不相交,重复了闯入N1的努力。显然,在C内枚举攻击路径是C的大小的指数。
第3级:给定一个子网N和一个防火墙F,通过它攻击N,对于每台机器m ∈ N,近似于首先攻击m时获得的奖励。修改m的奖励,以考虑到在突破m之后,我们落后于F:调用Level 4获取所有m = m的值,防火墙为空;然后将这些值加上任何枢轴奖励加到m的奖励上,并用防火墙F在这个修改的m上调用级别4。在所有m ∈ N上最大化结果值。
第4级:给定一台机器m和一个防火墙F,将单机攻击规划问题建模为POMDP,并运行现成的POMDP求解器。缓存已知结果以避免重复工作。最后一步应该是不言自明的。POMDP模型如前所述创建。请注意,在执行4AL期间,第3级可能会多次调用具有相同防火墙的同一台机器。



概念简介
马尔科夫模型
马尔可夫模型是由 Andrei A Markov于1913年提出来的,作为一种统计模型,广泛应用 在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域。马尔可夫模型状态是指马尔可夫模型中有关状态即当前状态,将来状态和过去状态。状态之间是相互独立的。
马尔可夫决策过程(Markov Decision Process,MDP)是一种数学框架,用于建模具有随机性和决策性的序贯决策问题。它是马尔可夫链(Markov Chain)的扩展,加入了决策和奖励的概念。
MDP通常由以下要素组成:
1. 状态(State):一组描述系统可能状态的集合。在每个时间步,系统处于其中一个状态。
2. 动作(Action):可供决策者选择的操作或决策。在每个时间步,决策者根据当前状态选择一个动作执行。
3. 转移概率(Transition Probability):描述系统从一个状态转移到另一个状态的概率分布。它定义了在给定当前状态和选择的动作下,系统将转移到每个可能状态的概率。
4. 奖励(Reward):表示在特定状态下执行特定动作的即时回报或收益。奖励可以是立即获得的,也可以是在未来时间步获得的。
通过在不同状态下执行不同的动作并观察奖励和状态转移,MDP的目标是找到最优策略(Policy),即在每个状态下选择最佳动作的决策策略,以最大化累积奖励。
最优策略可以通过计算值函数(Value Function)或动作值函数(Q-Function)来表示。值函数给出在特定状态下采取特定策略的预期累积奖励,而动作值函数给出在特定状态下采取特定动作并遵循特定策略的预期累积奖励。



部分可观察的马尔可夫决策过程(POMDPs)
是一种用于处理不完全信息的马尔可夫决策过程(MDPs)的扩展。在POMDPs中,系统的状态是不可观察的,而是通过观察到的部分信息来推断系统的状态。因此,POMDPs适用于处理具有不确定性和不完整信息的问题,例如机器人导航、语音识别和渗透测试等领域。
在POMDPs中,系统的状态由一个有限的状态集合表示,而观察到的信息由一个有限的观察集合表示。系统的状态转移和观察模型都是概率性的,即在每个时间步骤上,系统会根据当前状态和执行的动作转移到下一个状态,并生成一个观察结果。POMDPs的目标是找到一个策略,即在每个时间步骤上选择一个动作,以最大化长期回报的期望值。
POMDPs的求解是一个NP-hard问题,因为需要对所有可能的状态和观察进行搜索。因此,通常使用一些近似算法来求解POMDPs,例如基于点的算法、基于粒子的算法和基于策略迭代的算法等。
总的来说,POMDPs是一种用于处理不完全信息的马尔可夫决策过程的扩展,适用于处理具有不确定性和不完整信息的问题。在渗透测试等领域中,POMDPs能够更好地处理网络配置的不确定性和不完整的知识,从而生成更智能和高质量的黑客攻击。



实验
本文评估了4AL对“全局”POMDP模型,将整个攻击问题编码成一个单一的POMDP。实验运行在一台配备Intel Core2 Duo CPU、2.2 GHz和3 GB RAM的机器上。4AL算法是用Python实现的。为了解决和评估由Level 4生成的POMDP,本文使用APPL工具包。
【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践
图3:测试环境中的网络结构

本文的测试场景基于图3所示的网络结构。攻击始于互联网(*代表左上角的云)。该网络由三个区域组成:暴露区、敏感区和用户之间的防火墙隔离区。内部的暴露区和敏感区都是完全连接的(即,它们是子网络),而用户区由由空防火墙分隔的子网络树组成。只有两台机器受到奖励,一台位于敏感区(奖励为9000),另一台位于用户的叶子子网络中(奖励为5000)。端口扫描和漏洞利用的成本为10,操作系统检测的成本为50。我们允许在每40台机器中扩展机器的数量| M |,其中第一台分配给“暴露区”,第二台分配给“敏感区”,剩下的38台分配给“用户区”。这些漏洞来自Core Security的数据库。漏洞的数量| E |通过将它们分布在13个模板上进行缩放,并为每台机器m分配一个这样的模板I(m)(表示上次渗透测试时的已知配置)。然后,根据概述生成初始信念b0(I,T),其中T是自上次渗透测试以来经过的时间。在这里,固定的参数(奖励、行动成本、机器在区域中的分布、模板数量)是基于Core Security的实际经验估算的。网络结构和漏洞是真实的,并且用于该公司的工业测试。该场景的主要弱点在于对b0(I,T)中底层软件更新的近似。总的来说,该场景仍然是简化的,但是自然并且接近真实世界的渗透测试复杂性。



结果分析
近似损失图4(a)示出了当运行4AL而不是全局POMDP解决方案时,对于|E级|和/或|M型|后者是可行的。我们以质量(global-POMDP)的百分比显示质量(global-POMDP)-质量(4AL)。这里的策略质量是通过运行2000次模拟来估计的。该测量引起方差,其几乎强于全局POMDP解决方案的非常小的质量优势。任何组合的最大损失|E级|和/或|M型|14.1%(在|E级|= 7,|M型|= 6),所有组合的平均损失为1.96%。平均损失单调增长|M型|从-1.14%到|M型|= 1至4.37%| M型|= 6。结束|E级|,行为较不规律;固定时平均损耗最大,为5.4| E级|= 5。按比例放大图4(B)示出了当按比例放大到大得多的值时4AL的运行时间。|E级|和/或|M型|.上的缩放行为|M型|清楚地反映了4AL在该参数中是多项式的事实,除了双连接组件的大小(在这里是3)。缩放E产生更具挑战性的单机POMDP,导致运行时间有时急剧增长。然而,即使与|M型|和/或|E级|两者都在100左右,这在实践中是现实的大小,运行时间总是低于37秒。
【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践
  (a)攻击质量比较                  (b)4AL的运行时间
图4:4AL与全局POMDP模型的经验结果比较

作者通过比较使用POMDPs的方法(称为4AL)与传统的全局POMDP模型之间的攻击质量进行了对比。实验结果显示,使用4AL方法生成的攻击质量明显优于传统的全局POMDP模型。这表明,通过将攻击分解并利用网络结构,能够更有效地生成针对单个计算机的攻击,并将它们组合成对整个网络的攻击。
此外,文章还对运行时间进行了评估。结果显示,使用4AL方法能够大大提高运行时间,即在更短的时间内生成高质量的攻击。这对于渗透测试的实际应用非常重要,因为能够在较短的时间内找到有效的攻击可以提高整体的效率和效果。
总的来说,实验结果表明,使用POMDPs并结合攻击分解和网络结构利用的方法能够在渗透测试中取得显著的改进。这种方法在工业测试套件中展现出了良好的效果,为网络安全评估提供了一种新的思路。然而,文章也指出了一些方法的局限性和改进的空间,例如对软件更新的近似处理等。



总结
这篇文章介绍了一种基于POMDPs的方法,用于在渗透测试中评估网络安全。传统的规划方法在处理网络配置的不确定性时存在一些限制,而POMDPs能够更好地应对这种不确定性。作者提出了一种将攻击分解并利用网络结构的方法,以生成智能的黑客攻击。通过将攻击分解为对单个计算机的攻击,并将它们组合成对整个网络的攻击,该方法在提高运行时间的同时,也在攻击质量上取得了显著的改进。实验结果表明,与传统的全局POMDP模型相比,该方法在攻击质量方面取得了巨大的提升。这种方法在工业测试套件中展现出了良好的效果,为网络安全评估提供了一种新的思路。
【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践

原文始发于微信公众号(四维创智):【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月29日22:23:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【干货分享】论文笔记-POMDPs模型在自动化渗透测试场景下应用实践https://cn-sec.com/archives/1843845.html

发表评论

匿名网友 填写信息