System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于异构分层强化学习的协同渗透测试方法、系统及介质技术方案_技高网

基于异构分层强化学习的协同渗透测试方法、系统及介质技术方案

技术编号:40955379 阅读:2 留言:0更新日期:2024-04-18 20:31
本发明专利技术提出一种基于异构分层强化学习的协同渗透测试方法、系统及介质,基于分层强化学习将渗透路径发现构建为分层马尔科夫决策方法,通过将渗透测试分解为上层智能体横向移动目标主机选择和下层智能体单主机渗透过程,将目标主机的选择作为下层智能体的子目标,通过上下层网络的分层训练有效缓解了在大规模网络下智能体状态空间爆炸、动作空间离散高维及稀疏奖励所导致的算法难以收敛的问题,从而加快渗透测试效率,保证测试结果的高敏感度。

【技术实现步骤摘要】

本专利技术涉及网络安全测试领域,具体涉及一种基于异构分层强化学习的协同渗透测试方法、系统及介质


技术介绍

1、渗透测试是一种通用的网络安全测试方法,以模拟黑客攻击的方式,在不影响目标系统网络正常运作的前提下,利用系统漏洞获得其控制权。通过该方法,安全人员可根据对目标系统的测试报告中的漏洞和脆弱节点分析,采取相应的防护措施,使得系统网络更加健壮,不易被黑客攻击。

2、传统的渗透测试主要依赖人工方式进行,即依赖安全专家的经验知识和渗透工具的辅助执行渗透测试,然而现代企业和组织的网络系统庞大而复杂,单纯依赖人工手段来实施安全测试不切实际,且需要耗费大量的时间成本和人力成本,加剧了渗透测试的代价。因此,利用自动化且智能的渗透测试技术来模拟具有攻击策略的真实攻击者,找出目标系统网络中的关键攻击路径,发现网络中的薄弱点,可以大幅减少渗透测试成本,进而提高渗透测试效率。

3、强化学习(reinforcement learning,rl)是一种学习范式,其通过探索和利用未知环境获取经验知识,并根据经验学习在环境中采取行动的最佳策略,可以很好的解决序贯决策问题。与监督学习和无监督学习相比,强化学习的优势在于不依赖大量的静态数据,可以在没有或者有限先验知识的情况下,根据经验学习最大奖励值策略,其适用于实时和对抗性的环境中。

4、渗透测试就是一种与环境实时交互的动态决策过程,测试人员通过采取各种攻击动作,根据网络环境给予的反馈,发现主机的漏洞和配置信息,从而通过分析找到网络中的脆弱点。因此,因此强化学习可以作为一种人工智能方法,用于模拟和开发针对网络安全的渗透测试,并为实现智能化攻击路径发现提供了新思路。

5、现有基于强化学习的透测试方法方法通常将渗透测试过程形式化为马尔科夫决策过程(markov decision process,mdp),通过设计动作执行的成功概率,可以在一定程度上模拟现实世界中攻击者对目标网络系统的不确定性,通过设计奖惩机制,引导训练智能体根据环境状态选择最佳动作。基于模仿学习的深度强化学习智能渗透测试方法gail-pt,首次将生成对抗模仿学习网络结合到渗透测试中,通过预先收集安全专家的成功渗透经验构建专家知识库,通过生成器和判别器的对抗训练提高模型的整体渗透性能,并在真实靶场和模拟网络下进行验证。现有技术中基于nig-ap的自动化渗透测试方法将信息熵引入强化学习的奖励值设计,基于网络信息增益实现渗透攻击路径发现,该方法利用网络信息获取奖励,引导智能体选择最佳动作。

6、基于现有的渗透测试,攻击路径的发现指攻击者利用目标网络中的漏洞序列获取特定资产的过程。攻击路径的发现不仅包括主机之间的渗透路径,也包含单个主机的攻击过程。智能体在攻击单个主机时,无法改变整个网络主机的状态,只有在成功攻破该主机后,通过横向移动攻击其他主机,才能改变当前网络主机的状态。

7、近年来,基于强化学习的攻击路径发现相关研究成为了相关领域的热点。如图1所示,gail-pt为现有技术中基于生成式对抗模仿学习实现的自动化渗透测试方法,执行自动化渗透测试的三个主要阶段:1、渗透专家知识库的构建;2、生成式对抗网络训练;3、基于gail的自动化渗透测试。首先,自动收集预训练算法模型渗透成功时的状态-动作对以构建专家知识库。其次,将不同深度强化学习模型在线生成的状态-动作对和专家知识输入到gail-pt中判别器进行训练。最后,将判别器的输出折扣奖励来引导代理生成渗透概率更高的动作,以此提高整体的渗透性能。

8、但现有的智能渗透测试方法依然存在以下三大技术难点:第一大难点是状态空间爆炸问题;每个智能体的局部状态有多个维度,规划问题的状态空间会呈指数级增长。第二大难点是大规模动作空间问题;随着网络规模的增大,漏洞的种类和数量也随之增加,从而导致动作空间不断增大。第三个难点是稀疏奖励问题;网络规模的不断扩大的情况下,智能体将很难成功找到敏感目标,稀疏奖励问题也越发突出。因此,如何解决智能化渗透测试程中的这些问题,提高智能体在大规模网络环境下的渗透效率,是当前的研究重点。


技术实现思路

1、为解决现有技术中存在的不足,本专利技术提供一种基于异构分层强化学习的协同渗透测试方法、系统及介质,基于分层强化学习的思想将渗透路径发现过程构建为一个分层的马尔科夫决策过程,其中,上层策略进行主机间的渗透路径发现,下层策略进行单主机的攻击路径发现,通过将渗透测试连续性的状态变化过程分解为间歇性状态变化过程,将渗透测试问题分解为两个串行的子任务,使得智能体状态、动作空间爆炸和稀疏奖励的问题得到有效缓解,从而加快训练效率。

2、本专利技术第一方面公开了一种基于异构分层强化学习的协同渗透测试方法,应用于多智能体协同渗透测试中,包括下述步骤:

3、步骤s1:上层智能体及下层智能体获取渗透环境的初始状态st,并同时初始化上层网络参数θh及下层网络参数θl;

4、步骤s2:所述上层网络输入获取的初始状态st,所述上层智能体学习上层策略πh,所述上层智能体根据εh-greedy贪婪策略选取目标主机gt,所述上层智能体获得从t时刻开始的n步时序间隔所累计的外部奖励其中riout表示上层智能体在单个时间步骤所获得的外部奖励;步骤s3:判断所述目标主机gt是否被渗透,若未被渗透执行步骤s4,若所述目标主机gt被渗透,则执行步骤s8;

5、步骤s4:所述下层智能体选定所述目标主机gt作为渗透目标,根据εl-greedy贪婪策略生成渗透动作at;

6、步骤s5:所述下层智能体执行所述渗透动作at,所述上层智能体获取步骤s2中所述外部奖励rtout,并生成下一时刻状态st+1;

7、步骤s6:所述下层智能体获取内部奖励rin,并存储((st,gt),at,rin,(st+1,gt+1),vt))序列至下层经验池dl;其中st表示下层智能体当前的状态,gt表示其选定所述目标主机,at表示下层智能体在当前时刻生成的渗透动作,st+1,gt+1分别表示下一时刻下层智能体的状态及其选定的目标主机,vt表示下层智能体所到达的主机是否被渗透成功的标记;

8、步骤s7:分别更新所述上层网络参数和所述下层网络参数θh及θl,并同时更新所述上层智能体的外部奖励rout←rout+rin,退出;

9、步骤s8:目标主机gt已被渗透,给与上层智能体外部奖励rout=-10000;

10、步骤s9:存储序列至上层经验池dh,其中,st表示上层网络所输入的当前状态,智能体学习上层策略,通过策略生成器输出选定的目标主机gt,表示上层智能体从时刻开始的步时序间隔所累计的外部奖励,ct指当前时刻智能体是否已妥协所有敏感主机的标志,用true和false表示,st'则表示智能体的下一状态;同时更新上层网络参数θh,退出。

11、根据本专利技术第一方面的方法,所述步骤s9中更新上层网络参数θh包括下述步骤:

12、步骤s9.1:所述本文档来自技高网...

【技术保护点】

1.一种基于异构分层强化学习的协同渗透测试方法,应用于多智能体协同渗透测试中,其特征在于,包括下述步骤:

2.根据权利要求1所述的方法,其特征在于,所述步骤S9中更新上层网络参数θh包括下述步骤:

3.根据权利要求2所述的方法,其特征在于,所述步骤S7包括:

4.一种基于异构分层强化学习的协同渗透测试系统,包括计算机设备,其特征在于:该计算机设备用以执行权利要求1~3中任意一项所述的基于异构分层强化学习的协同渗透测试方法的步骤。

5.一种计算机可读存储介质,其特征在于:该计算机可读存储介质上存储计算机程序,以实现权利要求1~3中任意一项所述的基于异构分层强化学习的协同渗透测试方法。

【技术特征摘要】

1.一种基于异构分层强化学习的协同渗透测试方法,应用于多智能体协同渗透测试中,其特征在于,包括下述步骤:

2.根据权利要求1所述的方法,其特征在于,所述步骤s9中更新上层网络参数θh包括下述步骤:

3.根据权利要求2所述的方法,其特征在于,所述步骤s7包括:

4.一种基于异构分层强...

【专利技术属性】
技术研发人员:杨星胡书隆高皓琪许颢砾王阳阳穆华梁振宇左磊王秉文瞿斌万语科
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1