一种漏洞可达性检测方法技术

技术编号:39742135 阅读:6 留言:0更新日期:2023-12-17 23:42
本申请提供了一种漏洞可达性检测方法

【技术实现步骤摘要】
一种漏洞可达性检测方法、装置、设备及可读存储介质


[0001]本申请涉及网络安全
,尤其涉及一种漏洞可达性检测方法

装置

设备及可读存储介质


技术介绍

[0002]在软件开发中,使用第三方组件是常见的做法

然而,这些组件可能存在漏洞,如果不及时发现和修复,就会给系统带来安全隐患

目前已有许多组件成分分析
(Software Composition Analysis

SCA)
工具可以扫描出项目所依赖的组件中存在漏洞的情况

但是,这些工具所识别的漏洞并不能完全反映实际安全情况,因为它们只能识别组件中直接包含的漏洞,并没有考虑到间接调用关系,无法判定组件所包含的漏洞是否会被触发,即漏洞是否是可达的,若漏洞不会被触发即不可达,则该漏洞是误报的

从而,相关技术中的漏洞检测结果的准确性较低


技术实现思路

[0003]本申请的主要目的在于提供一种漏洞可达性检测方法

装置

设备及可读存储介质,至少能够解决相关技术中漏洞检测结果的准确性较低的问题

[0004]为实现上述目的,本申请第一方面提供了一种漏洞可达性检测方法,该方法包括:
[0005]获取待检测项目的项目特征信息;其中,所述项目特征信息包括依赖组件信息及关联于所述依赖组件的第一漏洞信息;
[0006]将各所述第一漏洞信息分别与预设的漏洞知识库进行匹配,得到对应的目标函数调用链;其中,所述漏洞知识库包括开源组件的第二漏洞信息及关联于所述第二漏洞信息的函数调用链;
[0007]根据所述待检测项目所调用的函数及所述目标函数调用链,确定对应于所述目标函数调用链的漏洞的可达状态

[0008]本申请第二方面提供了一种漏洞可达性检测装置,包括:
[0009]获取模块,用于获取待检测项目的项目特征信息;其中,所述项目特征信息包括依赖组件信息及关联于所述依赖组件的第一漏洞信息;
[0010]匹配模块,用于将各所述第一漏洞信息分别与预设的漏洞知识库进行匹配,得到对应的目标函数调用链;其中,所述漏洞知识库包括开源组件的第二漏洞信息及关联于所述第二漏洞信息的函数调用链;
[0011]确定模块,用于根据所述待检测项目所调用的函数及所述目标函数调用链,确定对应于所述目标函数调用链的漏洞的可达状态

[0012]本申请第三方面提供了一种电子设备,包括:存储器及处理器,其中,处理器用于执行存储在存储器上的计算机程序,处理器执行计算机程序时,实现上述本申请第一方面提供的漏洞可达性检测方法中的各步骤

[0013]本申请第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算
机程序被处理器执行时,实现上述本申请第一方面提供的漏洞可达性检测方法中的各步骤

[0014]由上可见,根据本申请方案所提供的漏洞可达性检测方法

装置

设备及可读存储介质,获取待检测项目的项目特征信息;其中,项目特征信息包括依赖组件信息及关联于依赖组件的第一漏洞信息;将各第一漏洞信息分别与预设的漏洞知识库进行匹配,得到对应的目标函数调用链;其中,漏洞知识库包括开源组件的第二漏洞信息及关联于第二漏洞信息的函数调用链;根据待检测项目所调用的函数及目标函数调用链,确定对应于目标函数调用链的漏洞的可达状态

通过本申请方案的实施,将待检测项目中关联于依赖组件的漏洞信息与预设的漏洞知识库进行匹配,即可得到关联于漏洞的函数调用链,最后根据待检测项目所调用的函数与函数调用链间的关系即可确定漏洞的可达状态,从而提高漏洞检测的准确性

附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0016]图1为本申请第一实施例提供的漏洞可达性检测方法的基本流程示意图;
[0017]图2为本申请第二实施例提供的漏洞可达性检测方法的细化流程示意图;
[0018]图3为本申请第三实施例提供的一种漏洞可达性检测装置的模块示意图;
[0019]图4为本申请第四实施例提供的电子设备的结构示意图

具体实施方式
[0020]为使得本申请的专利技术目的

特征

优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例

基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围

[0021]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量

由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征

在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定

[0022]为了解决相关技术在漏洞检测结果的准确性较低的问题,本申请第一实施例提供了一种漏洞可达性检测方法,如图1为本实施例提供的漏洞可达性检测方法的基本流程示意图,该漏洞可达性检测方法包括以下的步骤:
[0023]步骤
101、
获取待检测项目的项目特征信息

[0024]具体的,在本实施例中,为了提高检测效率,只需获取待检测项目的关键信息即可进行后续的检测,其中,项目特征信息包括依赖组件信息及关联于依赖组件的第一漏洞信息;项目特征信息作为待检测项目的指纹数据,包含有整个项目中所有依赖组件的信息以及关联于各依赖组件的漏洞信息;可以理解的是,项目中的某一依赖组件不存在漏洞,为了
提高检测效率,可以将这些不存在漏洞的依赖组件进行滤除,从而获取到不包含无漏洞依赖组件的项目特征信息

[0025]在本实施例一些实施方式中,获取待检测项目的项目特征信息的步骤之前,还包括:基于组件成分分析工具对待检测项目进行分析,得到待检测项目中的依赖组件信息;将依赖组件与本地漏洞知识库进行匹配,得到关联的第一漏洞信息;基于依赖组件信息以及第一漏洞信息生成待检测项的项目特征信息

[0026]具体的,在本实施例中,当用户将待检测项目上传至组件成分分析
(SCA)
工具后,
SCA
会利用包管理器或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种漏洞可达性检测方法,其特征在于,包括:获取待检测项目的项目特征信息;其中,所述项目特征信息包括依赖组件信息及关联于所述依赖组件的第一漏洞信息;将各所述第一漏洞信息分别与预设的漏洞知识库进行匹配,得到对应的目标函数调用链;其中,所述漏洞知识库包括开源组件的第二漏洞信息及关联于所述第二漏洞信息的函数调用链;根据所述待检测项目所调用的函数及所述目标函数调用链,确定对应于所述目标函数调用链的漏洞的可达状态
。2.
根据权利要求1所述的漏洞可达性检测方法,其特征在于,所述将各所述第一漏洞信息分别与预设的漏洞知识库进行匹配的步骤之前,还包括:基于预设漏洞信息社区,获取开源组件的第二漏洞信息;其中,第二漏洞信息包括漏洞编号

漏洞描述信息

漏洞风险等级

漏洞引用链接;根据所述第二漏洞信息以及相应的漏洞代码信息确定漏洞触发函数;基于抽象语法树技术获取对应于所述漏洞触发函数的函数调用链;基于各所述漏洞编号以及所述函数调用链生成所述漏洞知识库
。3.
根据权利要求2所述的漏洞可达性检测方法,其特征在于,所述根据所述第二漏洞信息以及相应的漏洞代码信息确定漏洞触发函数的步骤,包括:基于所述漏洞引用链接,获取相应漏洞信息的源代码提交记录文件;分析所述源代码提交记录文件,得到相应的漏洞代码信息;根据所述漏洞代码信息以及所述源代码提交记录文件中的源代码,确定相应的漏洞触发函数
。4.
根据权利要求1所述的漏洞可达性检测方法,其特征在于,所述获取待检测项目的项目特征信息的步骤之前,还包括:基于组件成分分析工具对待检测项目进行分析,得到待检测项目中的依赖组件信息;将所述依赖组件与本地漏洞知识库进行匹配,得到关联的第一漏洞信息;基于所述依赖组件信息以及所述第一漏洞信息生成待检测项的项目特征信息
。5.
根据权利要求1所述的漏洞可达性检测方法,其特征在于,所述将各所述第一漏洞信息分别与预设的漏洞知识库进行匹配,得到对应的目标函数调用链的步骤,包括:将各...

【专利技术属性】
技术研发人员:朱良文万振华王颉李华董燕
申请(专利权)人:安徽开源互联网安全技术有限公司
类型:发明
国别省市:

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

1