软件检测方法、装置、电子设备和计算机可读存储介质制造方法及图纸

技术编号:36038524 阅读:14 留言:0更新日期:2022-12-21 10:43
本公开提供了一种软件检测方法、装置、电子设备和计算机可读存储介质,涉及互联网技术领域。所述方法包括:获取待检测软件的第一组件信息;根据第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件;根据目标待选取组件的组件漏洞信息和待检测软件的组件源代码,得到组件危险数据流信息;对危险数据流信息进行提取,得到数据流节点信息;根据调用函数和数据流节点信息,确定待检测软件是否存在漏洞。本公开通过对待检测软件的应用源代码进行分析,得到所依赖组件的第一组件信息,通过第一组件信息在多个待选取组件的第二组件信息中,确定出目标待选取组件,增加了确定目标待选取组件的准确性,有利于降低软件检测的漏报率。测的漏报率。测的漏报率。

【技术实现步骤摘要】
软件检测方法、装置、电子设备和计算机可读存储介质


[0001]本公开涉及互联网
,尤其涉及一种软件检测方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]开源组件是指源代码可以被公众使用的组件,且该开源组件的使用,修改和分发不受许可证的限制。对于基于开源组件开发得到的软件,为了实现对该软件的安全性能的分析,需要检测该软件所引用的开源组件。
[0003]相关技术中,针对于软件检测的工作,通常是考虑将软件信息与组件漏洞信息库内的组件进行比对实现的。具体的,通过依赖关系搜索漏洞信息数据,并通过搜索到的漏洞信息数据对软件进行检测,从而导致无法全面准确地识别出待检测软件的漏洞,进而待检测软件漏洞的漏报率高。
[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0005]本公开提供一种软件检测方法、装置、电子设备和计算机可读存储介质,至少在一定程度上克服无法全面准确地识别出待检测软件的漏洞,进而待检测软件漏洞的漏报率高的问题。
[0006]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0007]根据本公开的一个方面,提供一种软件检测方法,所述方法包括:获取待检测软件的第一组件信息,所述第一组件信息基于所述待检测软件的应用源代码得到,所述应用源代码包括调用函数;根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件;根据目标待选取组件的组件漏洞信息和所述待检测软件的组件源代码,得到组件危险数据流信息;对所述危险数据流信息进行提取,得到数据流节点信息;根据所述调用函数和所述数据流节点信息,确定待检测软件是否存在漏洞。
[0008]在本公开的一个实施例中,在所述获取待检测软件的第一组件信息之前,所述方法还包括:根据所述待检测软件的应用源代码的配置文件,得到所述待检测软件的第一组件信息。
[0009]在本公开的一个实施例中,在所述根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件之前,所述方法包括:在漏洞发布平台爬取所述多个待选取组件的漏洞信息数据;对所述漏洞信息数据进行信息提取,得到所述多个待选取组件的第二组件信息。
[0010]在本公开的一个实施例中,所述第一组件信息包括组件名称、组件来源、发布时间、漏洞信息和许可证中的一个或多个;所述第二组件信息包括组件名称、组件来源、发布
时间、漏洞信息和许可证中的一个或多个,其中,所述根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件,包括:在多个待选取组件的第二组件信息中,选取与第一组件信息相匹配的目标第二组件信息;将所述目标第二组件信息对应的待选取组件作为目标待选取组件。
[0011]在本公开的一个实施例中,所述根据目标待选取组件的组件漏洞信息和所述待检测软件的组件源代码,得到组件危险数据流信息,包括:对目标待选取组件的组件漏洞信息进行提取,得到漏洞利用点;基于漏洞利用点对目标待选取组件的组件源代码和所述待检测软件的组件源代码进行分析,得到组件危险数据流信息,所述组件危险数据流信息包括危险数据的来源点、传播路径、爆发点中的一个或多个。
[0012]在本公开的一个实施例中,所述根据所述调用函数和所述数据流节点信息,确定待检测软件是否存在漏洞,包括:判断所述调用函数和所述数据流节点信息是否匹配;若匹配,则待检测软件存在漏洞。
[0013]在本公开的一个实施例中,所述方法还包括:若不匹配,则待检测软件不存在漏洞。
[0014]根据本公开的另一个方面,提供一种软件检测装置,所述装置包括:获取模块,用于获取待检测软件的第一组件信息,所述第一组件信息基于所述待检测软件的应用源代码得到,所述应用源代码包括调用函数;选取模块,用于根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件;危险信息生成模块,用于根据目标待选取组件的组件漏洞信息和所述待检测软件的组件源代码,得到组件危险数据流信息;提取模块,用于对所述危险数据流信息进行提取,得到数据流节点信息;处理模块,用于根据所述调用函数和所述数据流节点信息,确定待检测软件是否存在漏洞。
[0015]根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的软件检测方法。
[0016]根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的软件检测方法。
[0017]根据本公开的又一个方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的软件检测方法。
[0018]本公开的实施例所提供的一种软件检测方法、装置、电子设备和计算机可读存储介质,获取待检测软件的第一组件信息,第一组件信息基于待检测软件的应用源代码得到,应用源代码包括调用函数;根据第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件;根据目标待选取组件的组件漏洞信息和待检测软件的组件源代码,得到组件危险数据流信息;对危险数据流信息进行提取,得到数据流节点信息;根据调用函数和数据流节点信息,确定待检测软件是否存在漏洞。本公开一方面通过对待检测软件的应用源代码进行分析,得到所依赖组件的第一组件信息,通过第一组件信息在多个待选取组件的第二组件信息中,确定出目标待选取组件,增加了确定目标待选取组件的准确性,有利于降低软件检测的漏报率。
[0019]另一方面,根据调用函数和数据流节点信息,确定待检测软件是否存在漏洞,可以
实现对软件中的实际危险函数进行判别和比对,全面准确地进行软件检测,解决了软件检测误报率高的问题。
[0020]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0021]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1示出本公开实施例中一种系统架构的示意图;
[0023]图2示出本公开实施例中一种软件检测方法流程图;
[0024]图3示出本公开实施例中待检测软件数据流节点示意图;
[0025]图4示出本公开实施例中目标待选取组件确定流程图;
[0026]图5示出本公开实施例中一种软件检测装置示意图;
[0027]图6示出本公开另一实施例中一种软件检测装置示意图;
[0028]图7示出本公开实施例中一种电子设备的结构框图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件检测方法,其特征在于,包括:获取待检测软件的第一组件信息,所述第一组件信息基于所述待检测软件的应用源代码得到,所述应用源代码包括调用函数;根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件;根据目标待选取组件的组件漏洞信息和所述待检测软件的组件源代码,得到组件危险数据流信息;对所述危险数据流信息进行提取,得到数据流节点信息;根据所述调用函数和所述数据流节点信息,确定待检测软件是否存在漏洞。2.根据权利要求1所述的软件检测方法,其特征在于,在所述获取待检测软件的第一组件信息之前,所述方法还包括:根据所述待检测软件的应用源代码的配置文件,得到所述待检测软件的第一组件信息。3.根据权利要求1所述的软件检测方法,其特征在于,在所述根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件之前,所述方法包括:在漏洞发布平台爬取所述多个待选取组件的漏洞信息数据;对所述漏洞信息数据进行信息提取,得到所述多个待选取组件的第二组件信息。4.根据权利要求1所述的软件检测方法,其特征在于,所述第一组件信息包括组件名称、组件来源、发布时间、漏洞信息和许可证中的一个或多个;所述第二组件信息包括组件名称、组件来源、发布时间、漏洞信息和许可证中的一个或多个,其中,所述根据所述第一组件信息和多个待选取组件的第二组件信息,得到目标待选取组件,包括:在多个待选取组件的第二组件信息中,选取与第一组件信息相匹配的目标第二组件信息;将所述目标第二组件信息对应的待选取组件作为目标待选取组件。5.根据权利要求1所述的软件检测方法,其特征在于,所述根据目标待选取组件的组件漏洞信息和所述待检测软件的组件源代码,得到组件危险数据流信息,包括:...

【专利技术属性】
技术研发人员:纪妙殷铭姚倩
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1