发明内容
本发明的目的在于提供一种基于大语言模型的蜜点漏洞生成方法,用以改善现有的应对网络攻击的欺骗防御技术部署繁琐且欺骗性弱的问题。
第一方面,本发明提供的基于大语言模型的蜜点漏洞生成方法包括:根据蜜点仿真的服务信息构建分析提示词,利用所述分析提示词与大语言模型交互得到蜜点仿真场景下的漏洞类型分析结果,根据所述漏洞类型分析结果选择蜜点漏洞模拟目标;
收集漏洞检测规则并附加到大语言模型的知识库中,结合所述大语言模型的知识库和所述蜜点漏洞模拟目标的漏洞信息确定对应所述蜜点漏洞模拟目标的请求响应规则集;
生成漏洞模拟代码,利用所述漏洞模拟代码解析攻击者请求的数据包并与所述请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应;
根据所述漏洞模拟代码、所述蜜点漏洞模拟目标的配置信息构建部署提示词和测试提示词,利用所述部署提示词与大语言模型交互以生成满足可用要求的部署脚本,运行所述部署脚本启动蜜点实例,利用所述测试提示词与大语言模型交互生成满足可用要求的测试脚本,运行所述测试脚本用于验证所述蜜点实例以使所述蜜点实例成功启用,从而完成蜜点漏洞的生成。
本发明提供的基于大语言模型的蜜点漏洞生成方法的有益效果在于:采用本方法生成蜜点漏洞可以减少对安全人员领域知识的依赖,以及减轻安全工作人员分析蜜点服务和选择匹配场景的漏洞工作量,提升蜜点漏洞部署效率。大语言模型对蜜点服务的全面分析也可以解决模拟漏洞类型可能与服务场景不匹配的问题,提升蜜点漏洞的欺骗性。
一种可能的实施例中,收集漏洞检测规则并附加到大语言模型的知识库中,结合所述大语言模型的知识库和所述蜜点漏洞模拟目标的漏洞信息确定对应所述蜜点漏洞模拟目标的请求响应规则集,包括:收集漏洞检测规则并附加到大语言模型的知识库中;向大语言模型描述所述蜜点漏洞模拟目标的漏洞信息;大语言模型结合所述知识库检索用于检测所述蜜点漏洞模拟目标的验证规则;利用大语言模型遍历检测到的规则并生成请求响应规则集;审查并确定形成对应所述蜜点漏洞模拟目标的请求响应规则集。
一种可能的实施例中,利用所述漏洞模拟代码解析攻击者请求的数据包并与所述请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应,包括:当所述数据包与所述请求响应规则集中的请求部分匹配时,则根据匹配规则对应生成响应;当所述数据包与所述请求响应规则集中的请求部分不匹配时,保存所述数据包并标记为未完全匹配,从所述请求响应规则集中选择与所述数据包匹配程度最高的规则生成响应。
另一种可能的实施例中,基于大语言模型的蜜点漏洞生成方法还包括:获取蜜点的运行日志,根据所述运行日志判断蜜点漏洞是否能响应恶意请求;若所述蜜点漏洞不能响应恶意请求,则使用未正确响应的恶意请求更新请求响应规则集。
其它可能的实施例中,基于大语言模型的蜜点漏洞生成方法还包括:获取蜜点运行日志,根据所述运行日志计算蜜点漏洞与攻击者的交互能力;若所述交互能力低于设定阈值,则根据所述漏洞类型分析结果选择新的蜜点漏洞模拟目标,根据新的蜜点漏洞模拟目标重新确定请求响应规则集、生成漏洞模拟代码并进行部署和测试以生成新的蜜点漏洞。
第二方面,本发明还提供了一种基于大语言模型的蜜点漏洞生成装置,包括:选择单元,用于根据蜜点仿真的服务信息构建分析提示词,利用所述分析提示词与大语言模型交互得到蜜点仿真场景下的漏洞类型分析结果,根据所述漏洞类型分析结果选择蜜点漏洞模拟目标;
请求响应规则集构建单元,用于收集漏洞检测规则并附加到大语言模型的知识库中,结合所述大语言模型的知识库和所述蜜点漏洞模拟目标的漏洞信息确定对应所述蜜点漏洞模拟目标的请求响应规则集;
漏洞模拟代码生成单元,用于生成漏洞模拟代码,利用所述漏洞模拟代码解析攻击者请求的数据包并与所述请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应;
部署单元,用于根据所述漏洞模拟代码、所述蜜点漏洞模拟目标的配置信息构建部署提示词和测试提示词,利用所述部署提示词与大语言模型交互以生成满足可用要求的部署脚本,运行所述部署脚本启动蜜点实例,利用所述测试提示词与大语言模型交互生成满足可用要求的测试脚本,运行所述测试脚本用于验证所述蜜点实例以使所述蜜点实例成功启用,从而完成蜜点漏洞的生成。
其中,所述请求响应规则集构建单元收集漏洞检测规则并附加到大语言模型的知识库中,结合所述大语言模型的知识库和所述蜜点漏洞模拟目标的漏洞信息确定对应所述蜜点漏洞模拟目标的请求响应规则集,具体用于:收集漏洞检测规则并附加到大语言模型的知识库中;向大语言模型描述所述蜜点漏洞模拟目标的漏洞信息;大语言模型结合所述知识库检索用于检测所述蜜点漏洞模拟目标的验证规则;利用大语言模型遍历检测到的规则并生成请求响应规则集;审查并确定形成对应所述蜜点漏洞模拟目标的请求响应规则集。
所述漏洞模拟代码生成单元利用所述漏洞模拟代码解析攻击者请求的数据包并与所述请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应,包括:当所述数据包与所述请求响应规则集中的请求部分匹配时,则根据匹配规则对应生成响应;当所述数据包与所述请求响应规则集中的请求部分不匹配时,保存所述数据包并标记为未完全匹配,从所述请求响应规则集中选择与所述数据包匹配程度最高的规则生成响应。
一种可能的实施例中,基于大语言模型的蜜点漏洞生成装置还包括更新单元;所述更新单元用于获取蜜点的运行日志,根据所述运行日志判断蜜点漏洞是否能响应恶意请求,若所述蜜点漏洞不能响应恶意请求,则使用未正确响应的恶意请求更新请求响应规则集。
另一种可能的实施例中,基于大语言模型的蜜点漏洞生成装置还包括更新单元;所述更新单元用于获取蜜点运行日志,根据所述运行日志计算蜜点漏洞与攻击者的交互能力,若所述交互能力低于设定阈值,则根据所述漏洞类型分析结果选择新的蜜点漏洞模拟目标,根据新的蜜点漏洞模拟目标重新确定请求响应规则集、生成漏洞模拟代码并进行部署和测试以生成新的蜜点漏洞。
第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
第四方面,本发明还提供了一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行上述方法。
关于上述第二方面至第四方面的有益效果可以参见上述第一方面的描述。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
针对现有技术存在的问题,本发明的实施例提供了一种基于大语言模型的蜜点漏洞生成方法、装置、介质及电子设备。
本实施例提供了一种基于大语言模型的蜜点漏洞生成方法。参见图1和图2,该方法包括:
S101:根据蜜点仿真的服务信息构建分析提示词,利用分析提示词与大语言模型交互得到蜜点仿真场景下的漏洞类型分析结果,根据漏洞类型分析结果选择蜜点漏洞模拟目标。
在S101中,一种可能的实施例中,通过给定关于需要模拟的服务信息或蜜点服务的源代码结合预先定义的分析提示词(prompt)模板来组装成完整的分析提示词,然后将分析提示词交给大语言模型获得相应的回答,然后用户再从回答中选择最终蜜点要模拟的漏洞。
示例性的,参见说明书附图3,以基于GPT-4模型的蜜点漏洞生成方法为例,该方法在蜜点服务分析和漏洞选择时执行的具体流程包括:基于GPT-4生成能用于收集互联网公开漏洞信息的爬虫脚本来收集2023年4月之后公开的漏洞信息,并将其向量化作为GPT-4的外挂知识库。然后,输入关于蜜点仿真的服务的相关信息,包括但不限于蜜点仿真的服务源代码,仿真的服务的功能介绍,仿真的服务所处的网络位置,以及其它有助于GPT-4理解蜜点仿真服务的有关信息。然后使用构建好的分析提示词模板,该模板包含询问该服务场景可能出现哪些问题的提问,同时会包含上述提到的服务相关信息,从而构成一个完整的分析提示词。将分析提示词发送给GPT-4,GPT-4根据分析提示词产生关于该服务场景下可能产生的漏洞类型的分析。安全人员随后审查GPT-4的回答,并且选择一个具体的漏洞类型。确定漏洞类型后,安全人员再与GPT-4交互仿真的系统相关信息,比如编程语言,前端框架,后端数据类型和版本等,最终选择一个合适的已被公开的漏洞,比如CVE,CWE等平台上公开的漏洞。最终输出一个与系统提供服务相对应的漏洞,以及一些漏洞相关的描述信息,如果是CVE漏洞则包括CVE编号。其中收集2023年4月之后公开的漏洞信息,并将其向量化作为GPT-4的外挂知识库是由于为GPT-4的知识更新只截止到2023年4月所以GPT-4对披露的漏洞范围有一定局限性,收集2023年4月之后公开的漏洞信息并作为外挂知识库是为了涵盖最新的漏洞信息。根据具体应用的大语言模型所包含的知识更新范围,收集信息作为外挂知识库以涵盖最新漏洞信息时,对信息进行收集的时间范围可根据具体情况进行适应性调整。
S102:收集漏洞检测规则并附加到大语言模型的知识库中,结合大语言模型的知识库和蜜点漏洞模拟目标的漏洞信息确定对应蜜点漏洞模拟目标的请求响应规则集。
在S102中,一种可能的实施例中,收集漏洞检测规则并附加到大语言模型的知识库中,结合大语言模型的知识库和蜜点漏洞模拟目标的漏洞信息确定对应蜜点漏洞模拟目标的请求响应规则集,包括:收集漏洞检测规则并附加到大语言模型的知识库中;向大语言模型描述蜜点漏洞模拟目标的漏洞信息;大语言模型结合知识库检索用于检测蜜点漏洞模拟目标的验证规则;利用大语言模型遍历检测到的规则并生成请求响应规则集;审查并确定形成对应蜜点漏洞模拟目标的请求响应规则集。其中,大语言模型的知识库包括大语言模型本身所涵盖的知识以及外挂知识库,外挂知识库中包括在应用大语言模型时选择收集的目标信息。
一种可能的实施例中,通常情况下,在网络攻击中攻击者在侦察阶段会通过POC(Proof of Concept)的漏洞验证方式去探测目标系统是否存在某个漏洞。POC验证的过程是首先构造特定的漏洞请求包,然后将其发送给目标系统,之后观察目标系统对请求包的响应是否满足某些特征即可验证漏洞是否存在。因此为了在蜜点上模拟漏洞特征,只要当蜜点接收到这些特殊构造的请求包时能够返回符合漏洞存在特征的响应包即可欺骗攻击者令其相信某个漏洞存在。
示例性的,参见说明书附图4,以基于GPT-4模型的蜜点漏洞生成方法为例,该方法在生成对应蜜点漏洞模拟目标的请求响应规则集时执行的具体流程包括:第一,使用GPT-4生成爬虫脚本用于收集开源的漏洞扫描工具(如Nuclei,OpenVAS等)对漏洞提供的检测规则,然后将它们向量化附加到GPT-4的外挂知识库。第二,根据蜜点漏洞模拟目标向GPT-4描述相关的信息,比如漏洞效果和产生原因,并让GPT-4总结漏洞相关的信息。第三,让GPT-4结合外挂知识库检索所有用于检测给定漏洞的POC规则并输出。第四,让GPT-4将所有输出的规则改写为统一的格式,比如都改写为原始http请求和原始http响应对的形式并保存。第五,遍历所有的规则将每一条验证规则作为小样本示例,然后让GPT-4据此尽可能多地生成用于验证漏洞的规则并保存到漏洞请求响应规则集。第六,让GPT-4整理漏洞请求响应规则集,清除请求响应规则集中重复的规则,然后对规则中涉及算术表达式计算的部分使用正则表达式模式进行替换,最后合并能用同一个正则表达式模式匹配的规则。第七,安全人员审查请求响应规则集中的规则是否正确,同时安全人员也可以手动补充规则到请求响应规则集。最终形成一个关于蜜点漏洞模拟目标的请求响应规则集合,这个集合中的每条规则都以请求和响应对的形式成对存在。
S103:生成漏洞模拟代码,利用漏洞模拟代码解析攻击者请求的数据包并与请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应。
在S103中,参见说明书附图5,一种可能的实施例中,利用漏洞模拟代码解析攻击者请求的数据包并与请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应,包括:当数据包与请求响应规则集中的请求部分匹配时,则根据匹配规则对应生成响应;当数据包与请求响应规则集中的请求部分不匹配时,保存数据包并标记为未完全匹配,从请求响应规则集中选择与数据包匹配程度最高的规则生成响应。
一种可能的实施例中,通过输入漏洞和对应的请求响应规则集,它就会结合模拟代码提示词模板生成一系列的模拟代码提示词用于和GPT-4交互,在交互过程中会完成对请求响应规则集中请求和响应间关系的识别和总结,然后使用正则表达式描述请求模式和响应模式。之后根据请求模式和响应模式生成漏洞模拟代码,生成的漏洞模拟代码经过人工审查之后就得到最终的漏洞模拟代码。漏洞模拟代码用于实现解析攻击者请求的数据包并与请求响应规则集中的请求部分进行匹配,然后根据匹配结果生成响应的功能。
示例性的,以基于GPT-4模型的蜜点漏洞生成方法为例,该方法在生成漏洞模拟代码时执行的具体流程包括:首先让GPT-4生成获取用户的恶意请求数据并且能将请求转换为原始http格式的代码。然后,让GPT-4生成读取步骤S102中生成的请求响应规则集的代码,再生成能将http格式的请求与规则集中的规则进行比较的代码,再根据比较结果判断返回什么响应。上述的所有过程都通过预先定义的响应提示词模板结合知识库形成响应提示词一起发送给GPT-4,然后GPT-4产生符合需要的漏洞模拟代码。此外,为了在响应提示词模板中实现上述的复杂逻辑流程,本发明结合小样本学习的思想,首先给出模拟某个漏洞响应的完整代码示例,并使用注释解释相关逻辑分支。最终实现使用GPT-4生成实现上述逻辑的源代码。
S104:根据漏洞模拟代码、蜜点漏洞模拟目标的配置信息构建部署提示词和测试提示词,利用部署提示词与大语言模型交互以生成满足可用要求的部署脚本,运行部署脚本启动蜜点实例,利用测试提示词与大语言模型交互生成满足可用要求的测试脚本,运行测试脚本用于验证蜜点实例以使蜜点实例成功启用,从而完成蜜点漏洞的生成。
在S104中,一种可能的实施例中,本步骤的工作所要实现的就是让漏洞模拟代码和蜜点本身的服务代码能一起被部署在蜜点主机上。受益于蜜点本身采用了docker容器技术封装,在为一个蜜点完成部署漏洞模拟代码后就可以很轻松的将带有漏洞模拟功能的蜜点迁移到另外的主机上进行部署。为了将已有的蜜点服务配置和漏洞模拟代码转化为实际的蜜点实例,需要编写和运行一些脚本用以实现,而这个过程同样可以让GPT-4辅助完成。
示例性的,参见说明书附图6,以基于GPT-4模型的蜜点漏洞生成方法为例,该方法在进行蜜点服务和漏洞部署时执行的具体流程包括:首先,通过使用定义好的部署提示词模板结合蜜点漏洞模拟目标的配置信息和漏洞模拟代码的信息形成完整的部署提示词,然后将部署提示词发送给GPT-4,GPT-4即可产生合适的部署脚本。之后,安全人员检查脚本的可用性,如果满足要求则运行脚本启动蜜点实例,如果不满足要求则让GPT-4重新生成部署脚本。当成功运行部署脚本启动蜜点实例之后,为了进一步验证蜜点服务和漏洞模拟功能是否正确启用可以生成一些简单的测试脚本用于验证蜜点的状态,包括蜜点模拟的服务是否启动,漏洞模拟是否能对恶意请求产生带有漏洞特征的响应等等,最后测试的结果将形成报告交给用户。测试脚本的生成也使用GPT-4自动进行。安全人员使用蜜点测试的测试提示词模板结合前面给定的蜜点漏洞模拟目标的配置信息和蜜点需要模拟的漏洞信息得到最终的测试提示词,然后将测试提示词发送给GPT-4得到相应的测试脚本。最后同样在安全人员验证过脚本正确性后即可运行用于评价蜜点实例的功能是否成功启用。若蜜点实例未成功启用需要根据部署结果进行调试直至使蜜点实例成功启用,从而完成蜜点漏洞的生成。
进一步,为了增强蜜点系统面对精明攻击者的适应能力,诱骗能力,加强蜜点系统对攻击者的威慑,本发明还提供了对蜜点漏洞部署后进行适应性更新的更新策略。
一种可能的实施例中,为了实现对部署完成的漏洞根据不同的条件进行适应性更新,设计了两种更新策略,具体为漏洞请求响应规则集更新策略和智能漏洞替换策略。其中,漏洞请求响应规则集更新策略包括:获取蜜点的运行日志,根据运行日志判断蜜点漏洞是否能响应恶意请求;若蜜点漏洞不能响应恶意请求,则使用未正确响应的恶意请求更新请求响应规则集。智能漏洞替换策略包括:获取蜜点运行日志,根据运行日志计算与攻击者的交互能力;若交互能力低于设定阈值,则根据漏洞类型分析结果选择新的蜜点漏洞模拟目标,根据新的蜜点漏洞模拟目标重新确定请求响应规则集、生成漏洞模拟代码并进行部署和测试以生成新的蜜点漏洞。
一种可能的实施例中,参见说明书附图7,对部署完成的漏洞根据不同的条件进行适应性更新时执行的流程包括:获取蜜点运行日志,根据运行日志判断蜜点漏洞是否能响应恶意请求,若蜜点漏洞不能响应恶意请求,则使用未正确响应的恶意请求更新请求响应规则集;若蜜点漏洞能响应恶意请求则计算蜜点漏洞与攻击者的交互能力,若交互能力低于设定阈值,则根据漏洞类型分析结果选择新的蜜点漏洞模拟目标,根据新的蜜点漏洞模拟目标重新确定请求响应规则集、生成漏洞模拟代码并进行部署和测试以生成新的蜜点漏洞。
一种可能的实施例中,从攻击者的角度分析,蜜点漏洞需要更新的情况一共有两种。一种情况是如果漏洞模拟程序成功让攻击者相信这里存在漏洞可以利用,那么攻击者下一步将会投递攻击载荷,而因为漏洞模拟始终不是真实漏洞,那么在这种情况下攻击者就会发现自己面对的是一个虚假的漏洞,进一步攻击者会发现自己处于欺骗环境之中。精明的攻击者通过暴露的可识别特征会发现其它蜜点系统的存在,导致蜜点系统的欺骗防御能力降低。因此,提出了智能的漏洞替换策略。另一种情况是,漏洞模拟程序没有成功欺骗攻击者,说明漏洞模拟程序还不够完善不能匹配攻击者精心构造的探测包,导致漏洞模拟程序的欺骗能力不足。因此,提出了漏洞请求响应规则集更新策略。
示例性的,以基于GPT-4模型的蜜点漏洞生成方法为例,该方法执行漏洞请求响应规则集更新策略的具体流程包括:首先将不能完美匹配的攻击者请求放到具有漏洞的沙箱环境中得到具有漏洞特征的响应。然后将请求和响应构成请求响应对,使用这个请求响应对基于GPT-4让其生成尽可能多的验证漏洞存在的其它请求响应对,然后将这些新的请求响应对按照S102中的过程整理规则并添加到请求响应规则集中。
示例性的,以基于GPT-4模型的蜜点漏洞生成方法为例,该方法执行智能漏洞替换策略的具体流程包括:使用“蜜点漏洞与攻击者交互能力度量提示词模板”基于GPT-4计算某个模拟漏洞与攻击者的交互能力。该提示词模板将采集多方面的信息,比如攻击者在蜜点的停留时长,攻击者是否投递攻击载荷,以及其它与攻击者相关的信息,然后使用GPT-4通过最终组成的提示词计算蜜点漏洞与攻击者交互的能力。如果交互能力低于设定阈值,那么安全人员将根据之前利用分析提示词与大语言模型交互得到蜜点仿真场景下的漏洞类型分析结果选择另一个漏洞作为新的蜜点漏洞模拟目标。然后基于GPT-4重复S102、S103、S104的步骤完成根据新的蜜点漏洞模拟目标重新确定请求响应规则集、生成漏洞模拟代码并进行部署和测试的操作,以重新生成并部署新的蜜点漏洞。
本发明提供的基于大语言模型的蜜点漏洞生成方法综合使用了欺骗防御技术和大语言模型技术,打破了现有蜜点只能模拟系统服务的限制,通过在蜜点构建过程中引入GPT-4的API调用,不仅实现了快速地蜜点服务部署,更实现了通过GPT-4构建漏洞请求响应规则集从而实现蜜点的漏洞模拟功能,在现有蜜点架构的基础上引入了漏洞模拟模块,具体地,其结构如图8所示。根据蜜点漏洞生成过程中所需和大语言模型进行交互的任务设计了提示语模版,结合提示语模版构建用于与大语言模型交互的提示语引导大语言模型实现预定义的任务,产生期望的输出,充分利用了大语言模型强大的自然语言理解能力,有利于实现蜜点漏洞的快速部署。
本发明的方法所能实现的效果还可以具体体现在以下几点:首先,通过使用大语言模型的文本总结能力和自然语言理解能力以及海量的知识储备构建包括攻击者请求和响应的请求响应规则集。然后漏洞模拟时即可根据攻击者的请求到请求响应规则集中查找对应的响应。
其次,基于语言模型丰富的知识可以通过向大语言模型输入当前功能的描述或者源代码,大语言模型就能根据当前页面的服务提出一些可能存在的漏洞类型建议,之后安全人员根据建议再选择部分具体的漏洞,然后使用大语言模型根据页面内容生成匹配的漏洞模拟代码。再然后基于docker的轻量化优势结合本发明提出的漏洞模拟代码构建方法可以实现对更多页面功能的定制化漏洞分配,从而增加攻击者被模拟漏洞吸引进而暴露攻击载荷的概率。
使用大语言模型强大的自然语言理解能力,只要提前设定好提示词模板,安全人员只需要使用自然语言描述蜜点部署的位置和目标系统,即可半自动地生成一系列用于蜜点部署的代码。最后使用docker技术封装蜜点服务对应的漏洞模拟能力即可快速部署。
基于大语言模型实现周期性更新漏洞请求响应规则集从而在保持页面和漏洞类型不变的情况下提升漏洞模拟代码的适应性进而增强蜜点漏洞的欺骗性。此外,本发明也使用大语言模型快速生成模拟漏洞替换脚本,在保持页面服务不变的条件下,通过更改请求响应规则集并生成漏洞模拟代码快速地更换页面模拟的漏洞。
综上所述,采用本方法生成蜜点漏洞可以减少对安全人员领域知识的依赖,以及减轻安全工作人员分析蜜点服务和选择匹配场景的漏洞工作量。大语言模型对蜜点服务的全面分析也可以解决模拟漏洞类型可能与服务场景不匹配的问题,提升蜜点漏洞的欺骗性。蜜点漏洞生成过程使用人工监督的方式进行,可以对大语言模型生成的结果进行审查,保证大语言模型生成结果的合理性。本发明还提出的在蜜点部署完成后的能够对蜜点漏洞进行更新的更新策略,能够实现在蜜点漏洞部署后的快捷修改,用于解决蜜点系统的欺骗元素被攻击者发现从而导致蜜点系统的欺骗能力下降的问题,以及用于进一步完善基于规则匹配的漏洞模拟代码对恶意请求的识别和响应能力,从而能极大地增强蜜点系统面对精明攻击者的适应能力,诱骗能力,加强蜜点系统对攻击者的威慑。
需要说明的是,由于大语言模型的典型成果是OpenAI公司发布的GPT系列模型,其中,当前最新的模型是GPT-4。在本发明的实施例中,将GPT-4模型作为大语言模型的一个具体应用示例,示例性的提供了基于GPT-4模型的蜜点漏洞生成方法的详细执行步骤。基于本发明实施例公开的内容,应用其他具体的大语言模型进行蜜点漏洞生成也应涵盖在本发明的保护范围之内。
参见说明书附图9,本实施例还提供了一种基于大语言模型的蜜点漏洞生成装置,该装置用于实现上述方法实施例。该装置包括:选择单元201,用于根据蜜点仿真的服务信息构建分析提示词,利用分析提示词与大语言模型交互得到蜜点仿真场景下的漏洞类型分析结果,根据漏洞类型分析结果选择蜜点漏洞模拟目标。
请求响应规则集构建单元202,用于收集漏洞检测规则并附加到大语言模型的知识库中,结合大语言模型的知识库和蜜点漏洞模拟目标的漏洞信息确定对应蜜点漏洞模拟目标的请求响应规则集。
漏洞模拟代码生成单元203,用于生成漏洞模拟代码,利用漏洞模拟代码解析攻击者请求的数据包并与请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应。
部署单元204,用于根据漏洞模拟代码、蜜点漏洞模拟目标的配置信息构建部署提示词和测试提示词,利用部署提示词与大语言模型交互以生成满足可用要求的部署脚本,运行部署脚本启动蜜点实例,利用测试提示词与大语言模型交互生成满足可用要求的测试脚本,运行测试脚本用于验证蜜点实例以使蜜点实例成功启用,从而完成蜜点漏洞的生成。
请求响应规则集构建单元202收集漏洞检测规则并附加到大语言模型的知识库中,结合大语言模型的知识库和蜜点漏洞模拟目标的漏洞信息确定对应所述蜜点漏洞模拟目标的请求响应规则集,具体用于:收集漏洞检测规则并附加到大语言模型的知识库中;向大语言模型描述所述蜜点漏洞模拟目标的漏洞信息;大语言模型结合所述知识库检索用于检测所述蜜点漏洞模拟目标的验证规则;利用大语言模型遍历检测到的规则并生成请求响应规则集;审查并确定形成对应所述蜜点漏洞模拟目标的请求响应规则集。
漏洞模拟代码生成单元203利用漏洞模拟代码解析攻击者请求的数据包并与请求响应规则集中的请求部分进行匹配,根据匹配结果生成响应,包括:当数据包与请求响应规则集中的请求部分匹配时,则根据匹配规则对应生成响应;当数据包与请求响应规则集中的请求部分不匹配时,保存数据包并标记为未完全匹配,从请求响应规则集中选择与数据包匹配程度最高的规则生成响应。
一种可能的实施例中,基于大语言模型的蜜点漏洞生成装置还包括,更新单元。更新单元用于获取蜜点的运行日志,根据运行日志判断蜜点漏洞是否能响应恶意请求,若蜜点漏洞不能响应恶意请求,则使用未正确响应的恶意请求更新请求响应规则集。更新单元还可以用于获取蜜点运行日志,根据运行日志计算蜜点漏洞与攻击者的交互能力,若交互能力低于设定阈值,则根据漏洞类型分析结果选择新的蜜点漏洞模拟目标,根据新的蜜点漏洞模拟目标重新确定请求响应规则集、生成漏洞模拟代码并进行部署和测试以生成新的蜜点漏洞。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,如图10所示,该电子设备300可以包括:一个或多个处理器301;存储器302;显示器303;一个或多个应用程序(未示出);以及一个或多个计算机程序304,上述各器件可以通过一个或多个通信总线305连接。其中该一个或多个计算机程序304被存储在上述存储器中并被配置为被该一个或多个处理器301执行,该一个或多个计算机程序304包括指令,上述指令可以用于执行如图1、图9及相应实施例中的各个步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。