本发明涉及网络安全、信息安全、业务架构,还可用于金融领域,尤其涉及一种安全测试方法和装置。
背景技术:
1、随着网络的发展,网络金融业务不断推陈出新,给大型应用安全带来了巨大的挑战。相较于小型企业,大型企业的业务领域复杂,通过业务架构建模的方式,指导企业进行it架构落地,并通过快速迭代、敏捷研发方式快速响应业务变化。
2、在这种业务创新模式下,随着大型应用版本交付效率逐渐提升,传统安全测试方法无法满足业务实际需要,存在诸多问题:如白盒代码审计,能够发现技术上的问题,但无法准确发现业务上的越权操作等业务安全问题;如黑盒安全测试,往往需要等到版本交付才能够开展工作,会进一步挤占开发时间和业务测试时间,并且存在测试不充分的风险。此外,一个版本会对应多个需求项,有些版本可能需求项数目达数百个,业务测试人员在安全领域的知识储备参差不齐,无法准确判断该需求项是否需要进行安全测试,可能存在安全测试遗漏的风险。即传统的安全测试方法存在测试效率低、测试不充分、测试遗漏等问题。
3、针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
1、本说明书实施例提供了一种安全测试方法和装置,以解决现有技术存在测试效率低、测试不充分、测试遗漏的问题。
2、第一方面,本说明书实施例提供了一种安全测试方法,该方法包括:
3、根据待测试业务的属性信息,确定待测试业务对应的目标业务清单;
4、根据待测试业务对应的目标业务清单,确定安全测试范围和安全测试策略;
5、从待测试业务中筛选与安全测试策略对应的多个待测试项;
6、根据安全测试范围,采用多种方式对多个待测试项进行测试,得到多个测试结果。
7、在一些实施例中,所述目标业务清单包括代码程序清单,相应地,所述根据待测试业务的属性信息,确定待测试业务对应的目标业务清单,包括:
8、根据待测试业务的属性信息,确定属性信息对应的多个需求用例;
9、获取多个需求用例所属的业务架构信息以及所述业务架构信息对应的服务信息;
10、判断所述服务信息是否存在对应的业务代码,所述业务代码用于实现业务架构信息的业务功能;
11、在存在对应的业务代码时,根据所述业务代码,确定待测试业务对应的代码程序清单。
12、在一些实施例中,所述方法还包括:
13、在不存在对应的业务代码时,获取所述服务信息对应的多个关联业务架构信息;
14、对多个关联业务架构信息和所述业务架构信息进行语义分析,得到多个语义分析结果;
15、根据多个语义分析结果,从多个关联业务架构信息中选取目标关联业务架构信息,所述目标关联业务架构信息的语义分析结果大于预设语义阈值;
16、确定目标关联业务架构信息对应的目标服务信息,并判断所述目标服务信息是否存在对应的目标业务代码;
17、在存在对应的目标业务代码时,根据所述目标业务代码,确定待测试业务对应的代码程序清单。
18、在一些实施例中,所述根据待测试业务对应的目标业务清单,确定安全测试策略,包括:
19、根据待测试业务对应的目标业务清单,对待测试业务对应的多个需求用例进行打标处理,得到多个需求用例对应的标签;
20、根据需求用例对应的标签,对多个需求用例进行打分;
21、根据多个需求用例的打分结果,从多个需求用例中筛选出目标需求用例;
22、根据目标需求用例的标签,搜索与所述标签适配的安全测试策略。
23、在一些实施例中,所述根据多个需求用例的打分结果,从多个需求用例中筛选出目标需求用例,包括:
24、根据多个需求用例的打分结果,确定多个需求用例的安全风险等级;
25、根据多个需求用例的安全风险等级,确定多个需求用例的安全测试优先级,所述安全风险等级与所述安全测试优先级呈正相关;
26、从多个需求用例中筛选出目标需求用例,所述目标需求用例的安全测试优先级大于预设优先级阈值。
27、在一些实施例中,所述多种方式包括静态测试和动态测试,相应地,所述根据安全测试范围,采用多种方式对多个待测试项进行测试,包括:
28、从安全测试范围中,确定多个待测试项对应的业务代码;
29、对多个待测试项对应的业务代码进行静态测试,得到第一测试结果;
30、运行多个待测试项对应的业务代码,在运行过程中对待测试项进行测试,得到第二测试结果。
31、在一些实施例中,所述方法还包括:
32、判断第一测试结果和第二测试结果中是否存在异常测试结果;
33、在均存在异常测试结果时,优先根据第二测试结果中的异常测试结果生成第二异常提示信息,反馈所述第二异常提示信息;
34、再根据第一测试结果中的异常测试结果生成第一异常提示信息,反馈所述第一异常提示信息。
35、第二方面,本说明书实施例还提供了一种安全测试装置,该装置包括:
36、第一确定模块,用于根据待测试业务的属性信息,确定待测试业务对应的目标业务清单;
37、第二确定模块,用于根据待测试业务对应的目标业务清单,确定安全测试范围和安全测试策略;
38、筛选模块,用于从待测试业务中筛选与安全测试策略对应的多个待测试项;
39、测试模块,用于根据安全测试范围,采用多种方式对多个待测试项进行测试,得到多个测试结果。
40、第三方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的安全测试方法。
41、第四方面,本说明书实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中的安全测试方法。
42、本说明书实施例提供了一种安全测试方法和装置,首先,根据待测试业务的属性信息,确定待测试业务对应的目标业务清单。然后,根据待测试业务对应的目标业务清单,确定安全测试范围和安全测试策略。然后,从待测试业务中筛选与安全测试策略对应的多个待测试项。最后,根据安全测试范围,采用多种方式对多个待测试项进行测试,得到多个测试结果。本说明书实施例中,通过获取待测试业务对应的目标业务清单,可以进一步确定出安全测试范围和安全测试策略,从而可以为准确、高效地执行安全测试做准备。通过筛选多个待测试项,根据安全测试范围,采用多种方式对多个测试项进行测试,可以避免测试不充分、测试遗漏的问题,提高测试的准确率和效率。
1.一种安全测试方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述目标业务清单包括代码程序清单,相应地,所述根据待测试业务的属性信息,确定待测试业务对应的目标业务清单,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述根据待测试业务对应的目标业务清单,确定安全测试策略,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据多个需求用例的打分结果,从多个需求用例中筛选出目标需求用例,包括:
6.根据权利要求1所述的方法,其特征在于,所述多种方式包括静态测试和动态测试,相应地,所述根据安全测试范围,采用多种方式对多个待测试项进行测试,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.一种安全测试装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述处理器和所述存储器之间互相通信连接,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序,从而实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。