攻击验证方法、装置、设备、可读存储介质和程序产品与流程

摘要: 本公开涉及网络安全,特别是涉及一种攻击验证方法、装置、设备、可读存储介质和程序产品。背景技术:1、随着应用客户端的普及,大量业务与用户数据依托客户端交互,应用客...
攻击验证方法、装置、设备、可读存储介质和程序产品与流程

本公开涉及网络安全,特别是涉及一种攻击验证方法、装置、设备、可读存储介质和程序产品。

背景技术:

1、随着应用客户端的普及,大量业务与用户数据依托客户端交互,应用客户端成为网络攻击重点目标。网络攻击会引发安全风险和用户信任危机。开展网络攻击验证,能够验证网络攻击对应用客户端造成的影响,为及时发现和消除安全漏洞提供依据。在这种情况下,如何验证网络攻击对应用客户端造成的影响是需要解决的技术问题。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够验证网络攻击对应用客户端造成的影响的攻击验证方法、装置、设备、可读存储介质和程序产品。

2、第一方面,本公开提供一种攻击验证方法,包括:获取应用客户端的第一数字孪生体,以及攻击脚本;在所述第一数字孪生体中运行所述攻击脚本,并获取所述第一数字孪生体在运行所述攻击脚本时的执行栈以及文档对象模型dom(document object model,文档对象模型)快照;基于所述执行栈和所述dom快照,确定所述攻击脚本实施的攻击对所述第一数字孪生体的影响。

3、在一些实施方式中,所述获取应用客户端的第一数字孪生体,包括:获取所述应用客户端的数据,所述数据包括如下中的至少一种:dom结构、代码运行环境、用户交互数据,以及数据流量;基于所述应用客户端的所述数据,生成所述应用客户端的第一数字孪生体。

4、在一些实施方式中,所述攻击脚本用于描述攻击时的用户行为序列、攻击的触发条件、注入点、以及所述攻击预期的数据流向。

5、在一些实施方式中,所述基于所述执行栈和所述dom快照,确定所述攻击脚本实施的攻击对所述第一数字孪生体的影响,包括:基于所述执行栈,确定如下中的至少一项信息:所述攻击的注入点、执行路径、访问的敏感数据以及篡改的功能;基于所述dom快照,确定所述攻击影响的dom元素;将所述至少一项信息和所述dom元素,作为所述攻击对所述第一数字孪生体的影响。

6、在一些实施方式中,所述方法还包括:若基于所述攻击对所述第一数字孪生体的影响,确定所述应用客户端存在安全漏洞,获取所述第一数字孪生体在所述攻击脚本运行时的上下文快照;将所述上下文快照输入预设模型,通过所述预设模型生成漏洞修复建议;基于所述漏洞修复建议,对所述第一数字孪生体进行漏洞修复,得到第二数字孪生体。

7、在一些实施方式中,所述上下文快照包括如下信息中的至少一种:所述第一数字孪生体在所述攻击脚本运行时的dom结构、执行堆栈、任务队列的状态、所述攻击脚本、所述攻击的执行路径。

8、在一些实施方式中,所述方法还包括:在所述第二数字孪生体上运行所述攻击脚本,并确定所述攻击脚本实施的攻击对所述第二数字孪生体的影响;基于所述攻击对所述第二数字孪生体的影响,确定所述安全漏洞是否被修复。

9、在一些实施方式中,所述方法还包括:获取预设操作的脚本,以及所述预设操作目标实现的第一功能;在所述第二数字孪生体上运行所述预设操作的脚本,并确定所述预设操作在所述第二数字孪生体上实现的第二功能;基于所述第一功能和所述第二功能,确定所述漏洞修复对所述应用客户端的功能的影响。

10、在一些实施方式中,所述方法还包括:获取所述第一数字孪生体的第一性能参数,以及所述第二数字孪生体的第二性能参数;基于所述第一性能参数和所述第二性能参数,确定所述漏洞修复对所述应用客户端性能开销的影响。

11、第二方面,本公开提供一种攻击验证装置,包括:

12、第一获取模块,用于获取应用客户端的第一数字孪生体,以及攻击脚本。

13、第二获取模块,用于在所述第一数字孪生体中运行所述攻击脚本,并获取所述第一数字孪生体在运行所述攻击脚本时的执行栈以及文档对象模型dom快照。

14、第一确定模块,用于基于所述执行栈和所述dom快照,确定所述攻击脚本实施的攻击对所述第一数字孪生体的影响。

15、在一些实施方式中,第一获取模块,用于获取所述应用客户端的数据,所述数据包括如下中的至少一种:dom结构、代码运行环境、用户交互数据,以及数据流量;基于所述应用客户端的所述数据,生成所述应用客户端的第一数字孪生体。

16、在一些实施方式中,所述攻击脚本用于描述攻击时的用户行为序列、攻击的触发条件、注入点、以及所述攻击预期的数据流向。

17、在一些实施方式中,第一确定模块,用于基于所述执行栈,确定如下中的至少一项信息:所述攻击的注入点、执行路径、访问的敏感数据以及篡改的功能;基于所述dom快照,确定所述攻击影响的dom元素;将所述至少一项信息和所述dom元素,作为所述攻击对所述第一数字孪生体的影响。

18、在一些实施方式中,攻击验证装置,还可以包括:

19、第三获取模块,用于若基于所述攻击对所述第一数字孪生体的影响,确定所述应用客户端存在安全漏洞,获取所述第一数字孪生体在所述攻击脚本运行时的上下文快照。

20、生成模块,用于将所述上下文快照输入预设模型,通过所述预设模型生成漏洞修复建议。

21、修复模块,用于基于所述漏洞修复建议,对所述第一数字孪生体进行漏洞修复,得到第二数字孪生体。

22、在一些实施方式中,所述上下文快照包括如下信息中的至少一种:所述第一数字孪生体在所述攻击脚本运行时的dom结构、执行堆栈、任务队列的状态、所述攻击脚本、所述攻击的执行路径。

23、在一些实施方式中,攻击验证装置,还可以包括:

24、第二确定模块,用于在所述第二数字孪生体上运行所述攻击脚本,并确定所述攻击脚本实施的攻击对所述第二数字孪生体的影响;

25、第三确定模块,用于基于所述攻击对所述第二数字孪生体的影响,确定所述安全漏洞是否被修复。

26、在一些实施方式中,攻击验证装置,还可以包括:

27、第四获取模块,用于获取预设操作的脚本,以及所述预设操作目标实现的第一功能。

28、第四确定模块,用于在所述第二数字孪生体上运行所述预设操作的脚本,并确定所述预设操作在所述第二数字孪生体上实现的第二功能。

29、第五确定模块,用于基于所述第一功能和所述第二功能,确定所述漏洞修复对所述应用客户端的功能的影响。

30、在一些实施方式中,攻击验证装置,还可以包括:

31、第五获取模块,用于获取所述第一数字孪生体的第一性能参数,以及所述第二数字孪生体的第二性能参数。

32、第六确定模块,用于基于所述第一性能参数和所述第二性能参数,确定所述漏洞修复对所述应用客户端性能开销的影响。

33、第三方面,本公开还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一实施方式的方法。

34、第四方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一实施方式的方法。

35、第五方面,本公开还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一实施方式的方法。

36、本公开提供的攻击验证方法、装置、设备、可读存储介质和程序产品,通过获取应用客户端的第一数字孪生体以及攻击脚本,在第一应用客户端的第一数字孪生体中运行该攻击脚本,并获取第一数字孪生体在运行该攻击脚本时的执行栈和dom快照,通过第一数字孪生体在运行该攻击脚本时的执行栈和dom快照,能够准确验证攻击脚本实施的攻击对应用客户端的影响,从而为及时发现和消除安全漏洞提供了依据。