System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本文件涉及计算机,尤其涉及一种静态程序安全测试工具的评测方法、装置及设备。
技术介绍
1、当前,软件已经无所不在,然而,随着软件的普及,软件安全问题也日益严重,如系统崩溃和安全漏洞可能导致巨额经济损失,甚至威胁生命。为了保障软件的安全性和可靠性,并满足人们对自己的隐私数据的保护需求,应用安全测试技术被广泛使用,包括静态应用安全测试(static application security testing,sast)、动态应用安全测试(dynamicapplication security testing,dast)、交互式应用安全测试(interactive applicationsecurity testing,iast)等。上述安全测试技术被用于挖掘私有和开源代码中的安全漏洞,进行知识产权和行业标准合规检查等。
2、目前,各类静态应用安全测试工具已有多款商业化或开源产品可供选择,一些企业也在自研相关产品。但开发者和用户面临的主要挑战是如何客观衡量各类静态应用安全测试工具的产品的技术水平。针对上述产品进行评测,可以为开发者和用户提供有价值的参考信息,帮助他们做出更明智的技术选型和产品规划决策。为此,需要提供一种更细粒度的静态应用安全测试工具的评测方式,从而可以全面评估静态应用安全测试工具的性能。
技术实现思路
1、本说明书实施例的目的是提供一种更细粒度的静态应用安全测试工具的评测方式,从而可以全面评估静态应用安全测试工具的性能。
2、为了实现上述技术方案,本
3、本说明书实施例提供的一种静态程序安全测试工具的评测方法,所述方法包括:接收针对预设编程语言的静态程序安全测试工具的评测请求。基于所述评测请求获取所述预设编程语言的语法特性信息和所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度的信息。基于所述预设编程语言的语法特性信息构建针对评测完整度方面的多个不同的第一评测指标,并基于所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度构建针对评测准确度方面的多个不同的第二评测指标,所述多个不同的第一评测指标包括用于对所述预设编程语言编写的程序中包含的数据结构和/或对所述数据结构的预设操作进行分析检测的第一评测指标,和/或,用于对所述程序中的逻辑特征进行分析的第一评测指标,所述多个不同的第二评测指标包括用于对所述静态程序安全测试工具进行敏感性分析的第二评测指标。基于所述多个不同的第一评测指标和所述多个不同的第二评测指标中的每个评测指标,获取与所述每个评测指标匹配的一个或多个不同的正负样本对,并基于获取的正负样本对所述静态程序安全测试工具分别进行不同评测指标的评测,以确定所述静态程序安全测试工具的评测结果。
4、本说明书实施例提供的一种静态程序安全测试工具的评测装置,所述装置包括:请求接收模块,接收针对预设编程语言的静态程序安全测试工具的评测请求。信息获取模块,基于所述评测请求获取所述预设编程语言的语法特性信息和所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度的信息。评测指标构建模块,基于所述预设编程语言的语法特性信息构建针对评测完整度方面的多个不同的第一评测指标,并基于所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度构建针对评测准确度方面的多个不同的第二评测指标,所述多个不同的第一评测指标包括用于对所述预设编程语言编写的程序中包含的数据结构和/或对所述数据结构的预设操作进行分析检测的第一评测指标,和/或,用于对所述程序中的逻辑特征进行分析的第一评测指标,所述多个不同的第二评测指标包括用于对所述静态程序安全测试工具进行敏感性分析的第二评测指标。工具评测模块,基于所述多个不同的第一评测指标和所述多个不同的第二评测指标中的每个评测指标,获取与所述每个评测指标匹配的一个或多个不同的正负样本对,并基于获取的正负样本对所述静态程序安全测试工具分别进行不同评测指标的评测,以确定所述静态程序安全测试工具的评测结果。
5、本说明书实施例提供的一种静态程序安全测试工具的评测设备,所述静态程序安全测试工具的评测设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:接收针对预设编程语言的静态程序安全测试工具的评测请求。基于所述评测请求获取所述预设编程语言的语法特性信息和所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度的信息。基于所述预设编程语言的语法特性信息构建针对评测完整度方面的多个不同的第一评测指标,并基于所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度构建针对评测准确度方面的多个不同的第二评测指标,所述多个不同的第一评测指标包括用于对所述预设编程语言编写的程序中包含的数据结构和/或对所述数据结构的预设操作进行分析检测的第一评测指标,和/或,用于对所述程序中的逻辑特征进行分析的第一评测指标,所述多个不同的第二评测指标包括用于对所述静态程序安全测试工具进行敏感性分析的第二评测指标。基于所述多个不同的第一评测指标和所述多个不同的第二评测指标中的每个评测指标,获取与所述每个评测指标匹配的一个或多个不同的正负样本对,并基于获取的正负样本对所述静态程序安全测试工具分别进行不同评测指标的评测,以确定所述静态程序安全测试工具的评测结果。
6、本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现以下流程:接收针对预设编程语言的静态程序安全测试工具的评测请求。基于所述评测请求获取所述预设编程语言的语法特性信息和所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度的信息。基于所述预设编程语言的语法特性信息构建针对评测完整度方面的多个不同的第一评测指标,并基于所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度构建针对评测准确度方面的多个不同的第二评测指标,所述多个不同的第一评测指标包括用于对所述预设编程语言编写的程序中包含的数据结构和/或对所述数据结构的预设操作进行分析检测的第一评测指标,和/或,用于对所述程序中的逻辑特征进行分析的第一评测指标,所述多个不同的第二评测指标包括用于对所述静态程序安全测试工具进行敏感性分析的第二评测指标。基于所述多个不同的第一评测指标和所述多个不同的第二评测指标中的每个评测指标,获取与所述每个评测指标匹配的一个或多个不同的正负样本对,并基于获取的正负样本对所述静态程序安全测试工具分别进行不同评测指标的评测,以确定所述静态程序安全测试工具的评测结果。
7、本说明书实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下流程:接收针对预设编程语言的静态程序安全测试工具的评测请求。基于所述评测请求获取所述预设编程语言的语法特性信息和所述静态程序安全测试工具的程序分析能力精度相关的敏感性分析的不同维度的信息。基于所述预设编程语言的语法特性信息构建针对评测完本文档来自技高网...
【技术保护点】
1.一种静态程序安全测试工具的评测方法,所述方法包括:
2.根据权利要求1所述的方法,所述方法还包括:
3.根据权利要求2所述的方法,所述方法还包括:
4.根据权利要求3所述的方法,所述基于所述测试样本集中的正负样本对,使用预设的针对目标编程语言的静态代码分析工具对所述测试样本集进行评估,得到相应的评估结果,包括:
5.根据权利要求4所述的方法,所述目标编程语言为Java编程语言,所述基准样本集为Benchmark样本集,所述静态代码分析工具为JavaParser;
6.根据权利要求1所述的方法,所述预设编程语言为Java编程语言,所述数据结构包括但不限于集合、数组、对象中的一种或多种,所述程序中的逻辑特征包括但不限于控制流、异常、反射中的一种或多种。
7.根据权利要求1所述的方法,所述多个不同的第二评测指标包括用于通过污点对象和/或污点链路的方式对所述静态程序安全测试工具进行敏感性分析的第二评测指标,所述污点对象是跟踪数据流动以发现潜在风险的对象,所述污点链路是跟踪数据流动以发现潜在风险的链路。
9.一种静态程序安全测试工具的评测装置,所述装置包括:
10.一种静态程序安全测试工具的评测设备,所述静态程序安全测试工具的评测设备包括:
...【技术特征摘要】
1.一种静态程序安全测试工具的评测方法,所述方法包括:
2.根据权利要求1所述的方法,所述方法还包括:
3.根据权利要求2所述的方法,所述方法还包括:
4.根据权利要求3所述的方法,所述基于所述测试样本集中的正负样本对,使用预设的针对目标编程语言的静态代码分析工具对所述测试样本集进行评估,得到相应的评估结果,包括:
5.根据权利要求4所述的方法,所述目标编程语言为java编程语言,所述基准样本集为benchmark样本集,所述静态代码分析工具为javaparser;
6.根据权利要求1所述的方法,所述预设编程语言为java编程语言,所述数据结构包括但不限于集合、数组、对象中的一种或多种,所述程序中的逻辑特征包括但不限于控制流、异常、反射中的一种或多种。
7.根据权利要求1所述的方法,所...
【专利技术属性】
技术研发人员:时绍森,华巍,余瞰,边立忠,厉源,姚培森,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。