自动化的最终目的是做一个全自动化的渗透工具,本文是学术界2018年发布的一篇论文,主要就是讲如何通过强化学习来进行自动化路径决策。对后续工具的开发具有借鉴意义。
论文下载地址:
https://researchonline.gcu.ac.uk/ws/portalfiles/portal/26084628/H.Tianfield_attack_graph.pdf
通过跟踪导致成功攻击的漏洞链来暴露安全问题能有效地缓解网络受到复杂的恶意活动的影响。但是整个攻击链的过程又费时、费力、容易出错。所以作者提出了自动化的解决方案。
mulval是基于 Nessus 或 OVAL 等漏洞扫描器的漏洞扫描结果、网络节点的配置信息以及其他相关信息,使用 graphviz 图片生成器绘制攻击图。
Q-learning是一种强化学习模型,它采用agent的形式,来在当前环境中找到一个最优的行动策略来获取最大的累积奖励。
下图是Q收敛的所有目标,箭头的位置分别是四个场景下收敛到900所对应的迭代次数。(说人话就是能让模型自动找到那四个场景下的最优攻击路径所需要的迭代次数)模型大概要进行350次迭代才能在这四个场景进行收敛。
本篇论文最大的贡献是对复杂的网络拓扑进行建模,并通过强化学习的方法,让模型能自动进行网络的脆弱性分析,帮助安全管理员找到最优的路径来修补漏洞。