一种基于A3C模型的渗透测试路径规划方法
未命名
08-18
阅读:81
评论:0
一种基于a3c模型的渗透测试路径规划方法
技术领域
1.本发明属于信息安全领域,涉及渗透测试技术。
背景技术:
2.渗透测试是一种安全测试方法,通过模拟黑客攻击的方式评估系统或应用的安全性,旨在发现安全漏洞并提供改善建议。渗透测试技术包括信息搜集、漏洞扫描、漏洞利用和持久化访问等步骤,测试人员会尝试入侵系统、获取敏感数据或者执行指定的任务,以验证系统的安全防御能力,并为客户提供有关防范措施的建议。随着计算机网络的广泛应用和安全事件频繁发生,网络安全问题变得越来越突出。为评估系统的网络安全特性,渗透测试成为一种有效的方法。在传统的自动化渗透测试中,主要通过分析漏洞生成的拓扑攻击树,通过搜索算法来查找该树中所以可能的攻击路径,但是传统的搜索算法生成的攻击路径时间开销较大,而且准确率不高。现有的改进方法是采用深度强化学习方法dqn发现候选的攻击路径,根据cvss评分分配给每个拓扑攻击树的结点的奖励信息和当前状态选择路径,最终在给定网络的情况下生成最可行的进攻路径。但dqn方法仍然存在问题,在实际应用中,由于网络存在误差,被高估的动作(漏洞)会被反复选择。所以我们采用a3c模型,异步地执行多个agent,通过并行的agent经历的不同状态,去除训练过程中产生的状态转移样本之间的关联性,克服了dqn经验数据相关性太强的缺点,使得生成进攻路径成功率更高且速度也更快。
技术实现要素:
3.本发明的目的是设计一种基于a3c模型的渗透测试路径规划方法。为了提高在渗透测试路径规划中的成功率和速率,采用a3c模型对拓扑攻击树的结点进行选择并生成路径,为实现上述目的,本发明采用如下技术方案:
4.步骤一:初始化神经网络,复制出多个副本,每个agent独立运行一个副本,并使用策略网络与环境交互,收集样本存储到经验池中;
5.步骤二:当经验池积累到足够样本是,每个agent从中随机抽取一定数量将本进行训练,并更新模型参数,更新完成后,每个智能体会异步地将自己的权重参数推送到共享模型中。
6.步骤三:模型训练完成后,将拓扑攻击树输入,模型输出各个节点的攻击路径,最终生成完整的渗透测试路径。
附图说明
7.图1详细描述了生成渗透测试路径的过程。
具体实施方式
8.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
9.本发明提供一种基于a3c模型的渗透测试路径规划方法,具体步骤如下:
10.步骤一:初始化神经网络,根据拓扑攻击树调整神经网络的输入和输出层数,复制出多个副本并加入线程,由于是多个神经网络交互,需要共享参数,所以采用了sharedadam函数作为策略损失函数,其表达式为:
11.l
policy
=-log(π(a|s))*(r-v(s))+β*h(π(a|s))
12.其中,π(a|s)是策略网络在状态s下选择动作a的概率分布;r是单步回报;v(s)是价值网络对状态s的估计;h(π(a|s))为策略网络的熵,β是一个调节因子。因为策略网络的层数较浅,为了避免过拟合现象,所以学习率设置的较小。为了优化价值网络参数,使其能够对状态的长期累计奖励进行准确的估计,价值损失函数表达式为:
13.l
value
=(r-v(s))214.其中,r是单步回报,v(s)是价值网络对状态s的估计。
15.步骤二:当经验池积累到足够样本时,即total_step%update_global_iter==0(全局迭代次数完成)或达到最终状态时,agent从中随机抽取一定数量将本进行训练,计算出自己的策略梯度和价值函数梯度,并以一定的频率将梯度信息异步地推送到共享模型中进行参数更新,其更新公式如下:
[0016][0017][0018]
其中,θ_global和w_global分别表示共享模型的策略网络参数和价值网络参数;α和β分别为策略损失函数和价值损失函数的学习率;logπ(a_t|s_t)表示在状态s_t下选择动作a_t的概率对数;r_t表示从状态s_t出发的累计奖励;v(s_t)表示价值网络对状态s_t的估计;和分别表示对策略和价值函数参数求梯度的操作符;h(π(a_t|s_t))表示在状态s_t下选择动作a_t的概率熵。
[0019]
步骤三:加载训练好的模型权重,定义好与初始环境的状态start_st,将攻击拓扑树输入模型,模型将输出渗透测试路径。
技术特征:
1.一种基于a3c模型的渗透测试路径规划方法,具体步骤如下:步骤一:初始化神经网络,复制出多个副本,每个agent独立运行一个副本,并使用策略网络与环境交互,收集样本存储到经验池中;步骤二:当经验池积累到足够样本是,每个agent从中随机抽取一定数量将本进行训练,并更新模型参数,更新完成后,每个智能体会异步地将自己的权重参数推送到共享模型中。步骤三:模型训练完成后,将拓扑攻击树输入,模型输出各个节点的攻击路径,最终生成完整的渗透测试路径。
技术总结
本发明设计一种基于A3C模型的渗透测试路径规划方法,能够根据自动漏洞扫描工具提供的漏洞数据选择有效路径,生成有效完整的渗透测试路径。首先,本方法使用漏洞数据训练改进过后A3C模型,在应用场景中,训练好的A3C模型通过输入当前漏洞数据得出奖励值,通过奖励值选择最优路径。最后,将每轮得出的最优路径生成完整的渗透测试路径。我们设计的基于A3C模型的渗透测试路径规划方法考虑了不同漏洞导致的危害,生成的渗透测试路径可以有效覆盖手工测试盲点。测试盲点。
技术研发人员:陈玉玲 张洋文 熊茂林 孙彦诚
受保护的技术使用者:贵州大学
技术研发日:2023.05.18
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
