基于可验证渗透靶场环境的多阶段渗透智能体训练方法与流程

摘要: 本技术涉及强化学习领域,特别是涉及一种基于可验证渗透靶场环境的多阶段渗透智能体训练方法。背景技术:1、大语言模型(largelanguagemodel,llm)...
基于可验证渗透靶场环境的多阶段渗透智能体训练方法与流程

本技术涉及强化学习领域,特别是涉及一种基于可验证渗透靶场环境的多阶段渗透智能体训练方法。

背景技术:

1、大语言模型(large language model,llm)是指使用大量文本数据训练的深度学习模型,该模型可以生成自然语言文本或理解语言文本的含义。为了进一步提高大语言模型的网络安全,需要进行渗透测试,以模拟攻击行为并进行漏洞检测,一般通过渗透智能体对大语言模型进行渗透测试。

2、传统方法中主要依赖教师智能体生成的演示轨迹作为训练数据,对渗透智能体进行监督微调训练;但是训练数据中可能包含看似合理但实际并未真正攻克靶场的轨迹,导致模型在此类数据上训练后仅能模仿表面模式而无法习得真实的漏洞利用能力;因此,现有渗透测试策略中,缺乏验证教师智能体答案正确性的客观验证手段。

3、针对相关技术中存在渗透测试策略中缺乏验证教师智能体答案正确性的客观验证手段的问题,目前还没有提出有效的解决方案。

技术实现思路

1、在本实施例中提供了一种基于可验证渗透靶场环境的多阶段渗透智能体训练方法,以解决相关技术中存在渗透测试策略中缺乏验证教师智能体答案正确性的客观验证手段的问题。

2、第一个方面,在本实施例中提供了一种基于可验证渗透靶场环境的多阶段渗透智能体训练方法,所述方法包括:

3、在靶场容器环境中启动靶场实例,并随机生成第一旗标;根据所述第一旗标,执行教师智能体发出的操作指令,以对所述靶场容器环境进行靶场实例化验证;并断开所述靶场容器与靶场网络的连接;

4、在临时容器环境中,执行所述教师智能体提交的漏洞利用脚本,得到脚本输出结果;所述临时容器环境的配置方式与所述靶场容器环境一致;所述临时容器环境中注入有随机生成的第二旗标;所述第二旗标与所述第一旗标对应的字符串不同;

5、在确定所述脚本输出结果中包含所述第二旗标的情况下,基于所述临时容器环境中预设的环境验证策略,确定所述教师智能体生成的渗透轨迹;

6、将所述渗透轨迹作为监督微调数据集,分别在所述靶场容器环境和所述临时容器环境中,对所述渗透智能体进行训练。

7、在其中的一些实施例中,所述根据所述第一旗标,执行教师智能体发出的操作指令,以对所述靶场容器环境进行靶场实例化验证,包括:

8、将所述第一旗标注入所述靶场容器环境;

9、通过预设的统一渗透交互接口,接收并执行教师智能体发出的操作指令,输出结构化结果;所述结构化结果,与所述操作指令的类型关联;

10、在所述操作指令的类型为旗标提交时,获取所述结构化结果中的旗标字符串;

11、对所述结构化结果中的旗标字符串和预期旗标对应的字符串,进行对比,得到二值验证结果;所述预期旗标,由所述第一旗标注入所述靶场容器环境后生成;

12、根据所述二值验证结果,验证是否对所述靶场容器环境进行隔离。

13、在其中的一些实施例中,所述在确定所述脚本输出结果中包含所述第二旗标的情况下,基于所述临时容器环境中预设的环境验证策略,确定所述教师智能体生成的渗透轨迹,包括:

14、根据所述漏洞利用脚本和所述脚本输出结果,生成二元确定性信号;所述二元确定性信号,用于表征所述漏洞利用脚本是否具备跨旗标泛化能力;

15、在所述漏洞利用脚本不涉及所述第二旗标,且所述脚本输出结果中包含所述第二旗标的情况下,生成二元确定信号;所述二元确定性信号包括二元确定信号;

16、基于预设的环境验证策略,根据所述二元确定信号,对所述教师智能体产生的所有轨迹进行筛选,得到所述渗透轨迹。

17、在其中的一些实施例中,所述基于预设的环境验证策略,根据所述二元确定信号,对所述教师智能体产生的所有轨迹进行筛选,得到所述渗透轨迹,包括:

18、获取所述教师智能体在靶场容器环境中每次渗透交互的回合渗透轨迹,以及每个回合渗透轨迹所对应的累计交互轮数;

19、基于预设的环境验证策略,对所述教师智能体产生的每个回合渗透轨迹进行筛选,得到符合环境验证结果的渗透轨迹;所述预设的环境验证策略包括所述二值验证结果、累计交互轮数以及二元确定性信号。

20、在其中的一些实施例中,步骤s110中在靶场容器环境中配置靶场容器,并启动靶场实例,包括:

21、对靶场仓库中的靶场数据进行解析,得到靶场数据条目;所述靶场数据条目中包括各个靶场的题目信息和服务端口信息;所述题目信息包括任务描述文本;

22、启动所述靶场数据条目对应的靶场实例。

23、在其中的一些实施例中,将所述渗透轨迹作为监督微调数据集,分别在所述靶场容器环境和所述临时容器环境中,对所述渗透智能体进行训练,包括:

24、将所述渗透轨迹转换为预设格式的训练样本,以所述任务描述文本作为输入文本,以渗透交互过程中的推理文本和工具调用文本作为输出文本,构建监督微调数据集;

25、基于预设的损失函数,对所述渗透智能体,在所述监督微调数据集上进行监督微调,得到预热策略模型;

26、将所述预热策略模型加载为初始策略,分别在所述靶场容器环境和所述临时容器环境中执行策略推演,得到推演结果;基于所述推演结果更新所述预热策略模型的参数。

27、在其中的一些实施例中,所述将所述预热策略模型加载为初始策略,分别在所述靶场容器环境和所述临时容器环境中执行策略推演,得到推演结果;基于所述推演结果更新所述预热策略模型的参数,包括:

28、将所述预热策略模型加载为初始策略,对所述监督微调数据集中的每个样本在相同靶场容器环境和相同旗标下,并行执行策略推演,得到推演结果;所述推演结果包括所述二值验证结果以及二元确定性信号;

29、分别对所述二值验证结果赋予第一权重,对所述二元确定性信号赋予第二权重;

30、在判断所述二值验证结果和二元确定性信号中的任一项达到预设值的情况下,对所述推演结果对应的奖励信号进行缩放,得到最终奖励;

31、基于所述最终奖励,更新所述预热策略模型的参数,以更新所述渗透智能体。

32、第二个方面,在本实施例中提供了一种基于可验证渗透靶场环境的多阶段渗透智能体训练装置,所述装置包括:第一验证模块、第二验证模块、筛选模块和训练模块;

33、所述第一验证模块,用于在靶场容器环境中启动靶场实例,并随机生成第一旗标;根据所述第一旗标,执行教师智能体发出的操作指令,以对所述靶场容器环境进行靶场实例化验证;并断开所述靶场容器与靶场网络的连接;

34、所述第二验证模块,用于在临时容器环境中,执行所述教师智能体提交的漏洞利用脚本,得到脚本输出结果;所述临时容器环境的配置方式与所述靶场容器环境一致;所述临时容器环境中注入有随机生成的第二旗标;所述第二旗标与所述第一旗标对应的字符串不同;

35、所述筛选模块,用于在确定所述脚本输出结果中包含所述第二旗标的情况下,基于所述临时容器环境中预设的环境验证策略,确定所述教师智能体生成的渗透轨迹;

36、所述训练模块,用于将所述渗透轨迹作为监督微调数据集,分别在所述靶场容器环境和所述临时容器环境中,对所述渗透智能体进行训练。

37、第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的基于可验证渗透靶场环境的多阶段渗透智能体训练方法。

38、第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的基于可验证渗透靶场环境的多阶段渗透智能体训练方法。

39、与相关技术相比,在本实施例中提供的一种基于可验证渗透靶场环境的多阶段渗透智能体训练方法,通过在靶场容器环境中进行靶场实例化验证,在临时容器环境中进行包括旗标匹配在内的验证,实现不同隔离环境下的可重放验证机制,以及旗标匹配,进而根据可重放验证和旗标匹配的验证结果,结合环境验证策略,生成对渗透智能体训练的监督微调数据集,实现对渗透智能体的客观训练。通过在不同隔离环境下的验证策略,能够产生客观、准确的验证信号,且该验证信号经过靶场环境的客观质量验证,确保渗透智能体所学习的每一条轨迹都经过了客观环境的检验,而非仅凭教师智能体的主观输出。

40、本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。