【技术实现步骤摘要】
用于评测软件成分分析工具检测完整度的评测方法及系统
[0001]本专利技术涉及软件工具评测
,尤其涉及一种用于评测软件成分分析工具检测完整度的评测方法及系统。
技术介绍
[0002]在当前的软件开发环境当中,为了节省时间和效率,在项目中大量的使用开源的第三方组件,这些组件由开源社区的程序员来开发,但是这些程序员对安全方面的了解几乎为零。这样,在软件开发项目中,使用这些开源软件的时候,会面临着较大的风险。对此,当应用程序构建完成后,一般会通过软件成分分析工具SCA检测项目依赖项中包含的公开披露的漏洞。SCA通过确定给定依赖项是否存在通用平台枚举(CPE)标识符来完成此操作。
[0003]随着市面上SCA检测工具的日益增多,而且一些SCA检测工具不能将应用程序中的全部组件检测出来。其原因是,对于SCA,一般是通过静态分析技术对jar包、pom文件等进行扫描,但是像maven、gradle等组件依赖框架都有“依赖传递”的概念。例如,如果应用程序依赖于库A,而库A又依赖于库B和库C,那么SCA可能只会检测到应用程序和库 ...
【技术保护点】
【技术特征摘要】
1.一种用于评测软件成分分析工具检测完整度的评测方法,其特征在于,包括:提供一用作测评环境的待测应用程序;基于插桩工具插桩所述应用程序,将检测逻辑织入到应用程序中;基于插桩的所述检测逻辑获取所述应用程序启动过程中所加载的全部组件信息,以获得第一数据集;分别通过待测评的每一软件成分分析工具SCA对所述应用程序进行检测,并获取每一所述SCA检测出的所述应用程序的组件信息,以获得第二数据集;对于所述第一数据集和所述第二数据集,均包括组件个数和组件名称;对比分析计算每一所述第二数据集覆盖所述第一数据集的程度,以获得若干数据覆盖度。2.根据权利要求1所述的用于评测软件成分分析工具检测完整度的评测方法,其特征在于,基于下述公式一计算所述数据覆盖度P;其中,A为所述第一数据集,B为所述第二数据集。3.根据权利要求1所述的用于评测软件成分分析工具检测完整度的评测方法,其特征在于,获得与每一SCA相对应的的若干数据覆盖度后,还按照所述数据覆盖度的大小对各个SCA的检测性能进行排序。4.一种用于评测软件成分分析工具检测完整度的评测系统,其特征在于,包括:插桩模块,其用于基于插桩工具插桩用作测评环境的待测应用程序;第一检测模块,其用于基于插桩的所述检测逻辑获取所述应用程序启动过程中所加载的全部组件信息,以获得第一数据集;第二检测模块,其用...
【专利技术属性】
技术研发人员:刘海涛,万振华,王颉,李华,董燕,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。