软件安全测试方法技术

技术编号:39826325 阅读:5 留言:0更新日期:2023-12-29 16:01
本申请提供一种软件安全测试方法

【技术实现步骤摘要】
软件安全测试方法、装置、设备、存储介质及程序产品


[0001]本申请涉及软件测试
,尤其涉及一种软件安全测试方法

装置

设备

存储介质及程序产品


技术介绍

[0002]随着移动应用

互联网
+
时代的到来,软件的更新速度越来越快,应用范围也愈发广泛,与此同时,软件存在的安全漏洞呈爆发式增长,且漏洞种类多样

在严峻的网络安全形势下,对于业务系统的安全性,需要在软件开发管理中引入软件安全测试体系,从源代码层面上保证软件系统的安全性,确保自身业务系统上线后的安全性和稳定性

[0003]现有技术中,可以利用静态代码安全测试的方法进行软件的安全测试,具体的,可以通过对软件的源代码进行安全扫描,根据源代码程序中的数据流

控制流

语义等信息与其特有软件安全规则库进行匹配,从中找到代码中潜在的安全漏洞,并提醒开发人员解决潜在的安全问题

[0004]但是,由于安全漏洞问题数量种类多样,上述方法用于对静态应用程序代码进行安全检测,可检测的漏洞范围受限,导致安全测试的准确率较低


技术实现思路

[0005]本申请提供一种软件安全测试方法

装置

设备

存储介质及程序产品,用以解决现有技术中采用静态应用程序代码进行安全检测,可检测的漏洞范围受限,导致安全测试的准确率较低的问题

[0006]第一方面,本申请提供一种软件安全测试方法,所述方法包括:
[0007]接收安全测试请求,所述安全测试请求包括测试软件部署信息

扫描介质信息和测试需求;所述测试软件部署信息用于指示测试软件系统部署的服务器类别与区域;所述扫描介质信息为测试软件系统所需测试的代码信息;
[0008]基于所述测试软件部署信息和测试需求创建至少一种类型的安全检测任务,并基于引擎参数配置策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描,以使所述引擎服务节点基于所述扫描介质信息,调用对应的安全测试工具进行安全测试,得到测试结果;
[0009]将所述测试结果进行过滤处理,得到漏洞数据,并对所述漏洞数据进行分析,得到所述漏洞数据对应的影响参数;所述影响参数用于表述所述漏洞数据对应的风险程度;
[0010]基于所述影响参数构建安全质量画像,利用所述安全质量画像进行风险评估,得到风险等级

[0011]在一种可能的设计中,所述引擎参数配置策略包括:优先级分配策略和负载均衡分配策略;基于引擎参数配置策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描,包括:
[0012]判断所述至少一种类型的安全检测任务是否对应有优先级信息;
[0013]若是,则获取所述至少一种类型的安全检测任务的优先级信息,并基于所述优先级信息调用优先级分配策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描;
[0014]若否,则获取所述至少一种类型的安全检测任务的资源占用信息,并基于所述资源占用信息调用负载均衡分配策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描

[0015]在一种可能的设计中,所述扫描介质信息包括代码仓地址

源码包地址和部署包地址;基于所述扫描介质信息,调用对应的安全测试工具进行安全测试,得到测试结果,包括:
[0016]基于所述代码仓地址

源码包地址和部署包地址,利用所述至少一种类型的安全检测任务对应的安全测试接口,调用所需的代码仓

源码包和部署包;所述安全测试接口为提前定义的用于数据调用的统一接口;所述代码仓

源码包和部署包分别用于存储相应的代码信息;
[0017]基于所述代码仓

源码包和部署包,利用多种安全测试工具进行安全测试,得到测试结果;每一安全测试工具对应有引擎服务节点;所述安全测试工具包括静态代码测试工具

动态代码测试工具

程序数据分析工具;
[0018]其中,所述静态代码测试工具用于测试源代码的安全漏洞问题;所述动态代码测试工具用于测试代码运行态的安全漏洞问题;所述程序数据分析工具用于对软件系统研发过程中的敏感信息

配置参数和系统漏洞进行检测

[0019]在一种可能的设计中,将所述测试结果进行过滤处理,得到漏洞数据,包括:
[0020]将所述测试结果与误报数据库中的数据进行比对,以过滤掉所述测试结果中的误报数据,得到漏洞数据;所述误报数据库为获取历史测试结果进行归类分析,得到历史误报数据,并基于所述历史误报数据构建的数据库;所述误报数据为判断错误的漏洞数据;
[0021]将所述漏洞数据按照预定义存储规则分区域存储于数据库中进行持久化保存

[0022]在一种可能的设计中,所述影响参数包括漏洞个数

漏洞类别

漏洞等级

漏洞利用难度

漏洞影响范围;基于所述影响参数构建安全质量画像,利用所述安全质量画像进行风险评估,得到风险等级,包括:
[0023]利用所述漏洞个数

所述漏洞类别

所述漏洞等级

所述漏洞利用难度

所述漏洞影响范围构建维度向量;
[0024]将所述维度向量输入风险评估模型中,得到风险等级;所述风险评估模型为提前训练好的基于循环神经网络的深度学习模型

[0025]在一种可能的设计中,所述方法还包括:
[0026]基于所述风险等级查找对应级别的用户信息,并基于所述用户信息将漏洞数据发送到用户的终端设备上,以提示用户进行漏洞修复;
[0027]响应于用户的修复操作,利用安全测试工具对测试软件系统进行漏洞验证,以验证所述测试软件系统的漏洞是否修复成功

[0028]在一种可能的设计中,所述方法还包括:
[0029]监控每一引擎服务节点的运行状态,当所述运行状态发生异常时,重新启动所述引擎服务节点进行任务扫描;
[0030]当重新启动所述引擎服务节点进行任务扫描失败后,生成告警提示信息,以提示用户所述引擎服务节点运行异常

[0031]第二方面,本申请提供一种软件安全测试装置,所述装置包括:
[0032]接收模块,用于接收安全测试请求,所述安全测试请求包括测试软件部署信息

扫描介质信息和测试需求;所述测试软件部署信息用于指示测试软件系统部署的服务器类别与区域;所述扫描介质信息为测试软件系统所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种软件安全测试方法,其特征在于,所述方法包括:接收安全测试请求,所述安全测试请求包括测试软件部署信息

扫描介质信息和测试需求;所述测试软件部署信息用于指示测试软件系统部署的服务器类别与区域;所述扫描介质信息为测试软件系统所需测试的代码信息;基于所述测试软件部署信息和测试需求创建至少一种类型的安全检测任务,并基于引擎参数配置策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描,以使所述引擎服务节点基于所述扫描介质信息,调用对应的安全测试工具进行安全测试,得到测试结果;将所述测试结果进行过滤处理,得到漏洞数据,并对所述漏洞数据进行分析,得到所述漏洞数据对应的影响参数;所述影响参数用于表述所述漏洞数据对应的风险程度;基于所述影响参数构建安全质量画像,利用所述安全质量画像进行风险评估,得到风险等级
。2.
根据权利要求1所述的方法,其特征在于,所述引擎参数配置策略包括:优先级分配策略和负载均衡分配策略;基于引擎参数配置策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描,包括:判断所述至少一种类型的安全检测任务是否对应有优先级信息;若是,则获取所述至少一种类型的安全检测任务的优先级信息,并基于所述优先级信息调用优先级分配策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描;若否,则获取所述至少一种类型的安全检测任务的资源占用信息,并基于所述资源占用信息调用负载均衡分配策略将所述至少一种类型的安全检测任务分发到对应的引擎服务节点进行任务扫描
。3.
根据权利要求1所述的方法,其特征在于,所述扫描介质信息包括代码仓地址

源码包地址和部署包地址;基于所述扫描介质信息,调用对应的安全测试工具进行安全测试,得到测试结果,包括:基于所述代码仓地址

源码包地址和部署包地址,利用所述至少一种类型的安全检测任务对应的安全测试接口,调用所需的代码仓

源码包和部署包;所述安全测试接口为提前定义的用于数据调用的统一接口;所述代码仓

源码包和部署包分别用于存储相应的代码信息;基于所述代码仓

源码包和部署包,利用多种安全测试工具进行安全测试,得到测试结果;每一安全测试工具对应有引擎服务节点;所述安全测试工具包括静态代码测试工具

动态代码测试工具

程序数据分析工具;其中,所述静态代码测试工具用于测试源代码的安全漏洞问题;所述动态代码测试工具用于测试代码运行态的安全漏洞问题;所述程序数据分析工具用于对软件系统研发过程中的敏感信息

配置参数和系统漏洞进行检测
。4.
根据权利要求1所述的方法,其特征在于,将所述测试结果进行过滤处理,得到漏洞数据,包括:将所述测试结果与误报数据库中的数据进行比对,以过滤掉所述测试结果中的误报数据,得到漏洞数据;所述误报数据库为获取历史测试结果进行归类分析,得到历史误报数
据,并基于所述历史误报数据构建的数据库;所述误报数据为判断错误的...

【专利技术属性】
技术研发人员:郑娜威
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1