一种基于链路融合的安全测试方法、装置、设备及介质与流程

摘要: 本发明涉及人工智能,尤其涉及一种基于链路融合的安全测试方法、装置、设备及介质。背景技术:1、随着万维网应用和微服务架构的广泛普及,对于万维网应用程序编程接口的安...
一种基于链路融合的安全测试方法、装置、设备及介质与流程

本发明涉及人工智能,尤其涉及一种基于链路融合的安全测试方法、装置、设备及介质。

背景技术:

1、随着万维网应用和微服务架构的广泛普及,对于万维网应用程序编程接口的安全测试已成为保障信息系统安全的重要手段。

2、现有技术中,通常采用将静态分析的全路径覆盖能力与动态分析的真实运行证据相结合的动静态结合安全测试方案,以期提升漏洞检测的全面性和准确性。其中,静态分析通过对源代码进行抽象语法树解析、符号索引和调用图构建,能够在软件开发的早期阶段发现潜在的安全风险。动态分析则通过在程序运行过程中采集追踪、跨度、方法探针和调用日志等运行时信息,获取程序实际执行路径。

3、然而,现有的动静态结合安全测试方案仍存在以下技术缺陷:第一,现有技术中将静态分析和动态分析作为两个独立的阶段串联使用,未能将两者在数据结构层面进行深度融合,降低了漏洞检测的准确性。第二,现有自动化安全测试工具在生成测试用例时,通常对待测接口的所有参数进行无差别模糊测试或规则匹配,由于候选接口、参数和载荷组合数量巨大,重复请求多,可能导致大量无效请求消耗测试预算,且容易受到限流、鉴权状态和业务前置条件的影响,限制了漏洞检测的效率和深度。第三,现有测试方案中,扫描结果与代码调用链之间缺少稳定的证据关联,且验证结果未被用于反向修正初始的链路分析和风险判断,导致测试过程缺乏闭环校正机制,难以实现持续优化。

4、因此,如何在静态分析与动态追踪未能深度融合、漏洞验证缺乏精确导向、验证结果无法反向校正初始分析模型的条件下,实现测试搜索空间的精确收缩和系统自我进化,提高漏洞检测的准确性与结论可复现性,是目前亟待解决的问题。

技术实现思路

1、本发明提供了一种基于链路融合的安全测试方法、装置、设备及介质,可以解决现有技术中静态分析与动态追踪相互割裂无法形成统一证据底座、漏洞验证缺乏精确导向导致测试搜索空间爆炸以及验证结果无法反向校正初始分析模型导致无法形成自优化闭环的技术问题。

2、根据本发明的一方面,提供了一种基于链路融合的安全测试方法,包括:

3、获取目标测试需求对应的目标接口以及所述目标接口对应的目标代码;

4、基于所述目标接口对所述目标代码进行静态分析,生成至少一条候选调用链,并在所述目标测试需求对应的运行环境中触发所述目标接口,采集所述目标接口被调用时产生的实时调用链;

5、基于所述目标接口的接口标识及所述目标代码的版本标识对所述候选调用链及实时调用链进行对齐融合,得到链路证据图;其中,所述链路证据图包含已观测分支和未观测候选分支,所述链路证据图中的节点和/或边关联证据来源信息和置信度信息;

6、基于所述链路证据图中的链路执行数据流对所述链路证据图进行数据流分析,确定所述目标测试需求对应的漏洞假设;

7、基于所述漏洞假设及链路证据图生成定向验证任务,执行所述定向验证任务,并基于定向验证结果对所述漏洞假设及链路证据图进行优化调整,根据优化调整结果确定所述目标测试需求对应的安全测试结果。

8、根据本发明的另一方面,提供了一种基于链路融合的安全测试装置,包括:

9、数据获取模块,用于获取目标测试需求对应的目标接口以及所述目标接口对应的目标代码;

10、数据分析模块,用于基于所述目标接口对所述目标代码进行静态分析,生成至少一条候选调用链,并在所述目标测试需求对应的运行环境中触发所述目标接口,采集所述目标接口被调用时产生的实时调用链;

11、链路对齐模块,用于基于所述目标接口的接口标识及所述目标代码的版本标识对所述候选调用链及实时调用链进行对齐融合,得到链路证据图;其中,所述链路证据图包含已观测分支和未观测候选分支,所述链路证据图中的节点和/或边关联证据来源信息和置信度信息;

12、假设生成模块,用于基于所述链路证据图中的链路执行数据流对所述链路证据图进行数据流分析,确定所述目标测试需求对应的漏洞假设;

13、结果生成模块,用于基于所述漏洞假设及链路证据图生成定向验证任务,执行所述定向验证任务,并基于定向验证结果对所述漏洞假设及链路证据图进行优化调整,根据优化调整结果确定所述目标测试需求对应的安全测试结果。

14、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

15、至少一个处理器;以及

16、与所述至少一个处理器通信连接的存储器;其中,

17、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的基于链路融合的安全测试方法。

18、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的基于链路融合的安全测试方法。

19、根据本发明的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的基于链路融合的安全测试方法。

20、本发明实施例的技术方案,通过获取目标测试需求对应的目标接口以及目标接口对应的目标代码。之后,基于目标接口对目标代码进行静态分析,生成至少一条候选调用链,并在目标测试需求对应的运行环境中触发目标接口,采集目标接口被调用时产生的实时调用链。进一步,基于目标接口的接口标识及目标代码的版本标识对候选调用链及实时调用链进行对齐融合,得到链路证据图;其中,链路证据图包含已观测分支和未观测候选分支,链路证据图中的节点和/或边关联证据来源信息和置信度信息。进一步,基于链路证据图中的链路执行数据流对链路证据图进行数据流分析,确定目标测试需求对应的漏洞假设。最后,基于漏洞假设及链路证据图生成定向验证任务,执行定向验证任务,并基于定向验证结果对漏洞假设及链路证据图进行优化调整,根据优化调整结果确定目标测试需求对应的安全测试结果。由于通过将静态候选调用链与运行态实时调用链融合为包含已观测分支和未观测候选分支的链路证据图,并基于该图驱动的定向验证和反馈校正闭环,解决了现有技术中静态分析与动态追踪相互割裂无法形成统一证据底座、漏洞验证缺乏精确导向导致测试搜索空间爆炸以及验证结果无法反向校正初始分析模型导致无法形成自优化闭环的技术问题,能够实现测试搜索空间的精确收缩和系统自我进化,提高了漏洞检测的准确性与结论可复现性。

21、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

1.一种基于链路融合的安全测试方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述基于定向验证结果对所述漏洞假设及链路证据图进行优化调整,根据优化调整结果确定所述目标测试需求对应的安全测试结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于定向验证结果更新所述链路证据图,得到更新后的链路证据图,并基于定向验证结果调整所述漏洞假设的置信度,得到调整后的漏洞假设,包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述链路证据图中的链路执行数据流对所述链路证据图进行数据流分析,确定所述目标测试需求对应的漏洞假设,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述漏洞假设及链路证据图生成定向验证任务,包括:

6.根据权利要求1所述的方法,其特征在于,所述基于所述目标接口对所述目标代码进行静态分析,生成至少一条候选调用链,包括:

7.根据权利要求1所述的方法,其特征在于,所述获取目标测试需求对应的目标接口以及所述目标接口对应的目标代码,包括:

8.一种基于链路融合的安全测试装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的基于链路融合的安全测试方法。