一种组件和漏洞可达性分析方法技术

技术编号:39845111 阅读:9 留言:0更新日期:2023-12-29 16:42
本发明专利技术涉及网络安全技术领域,揭露了一种组件和漏洞可达性分析方法,装置

【技术实现步骤摘要】
一种组件和漏洞可达性分析方法、装置、设备及存储介质


[0001]本专利技术涉及网络安全
,尤其涉及一种组件和漏洞可达性分析方法

装置

设备及存储介质


技术介绍

[0002]软件成分分析的主要目的是漏洞修复,分析的主要流程可以表现为利用包管理器特征或者源码特性或者其他手段进行识别

分析和追踪的技术,得出当前软件的开源组件及其构成和依赖关系,并识别已知安全漏洞或者潜在的许可授权问题,然后针对分析出来的开源组件信息,再结合使用组件的指纹和
CVE
漏洞信息库数据,生成漏洞修复的建议,可以消除软件潜在危险,从而将这些风险漏洞排查在应用系统投产前

[0003]但是现市场上很多软件成分析软件缺乏或者比较笼统的给出漏洞的修复建议,识别出漏洞组件信息后有些组件的修复并不容易,这些建议并不能简单有效的解决漏洞问题

例如,有些组件的修复会带来其他组件的不兼容需要同时升级其他组件才可以完成漏洞修复;有些组件的漏洞开源组件并未及时提供解决方法导致修复失败

其实并不是全部有漏洞的组件都需要去修复的,例如,有些使用了有漏洞的开源组件,但是并没有使用当前组件中的漏洞函数,所以当前漏洞对应软件来说并非可利用的,根本无需修复,但是在实际操作过程中却重复修复,降低了漏洞修复的效率

综上所述,现有技术存在软件成分漏洞分析的效率及准确性较低的问题


技术实现思路
/>[0004]本专利技术提供一种组件和漏洞可达性分析方法

装置

设备及存储介质,其主要目的在于解决现有技术存在软件成分漏洞分析的效率及准确性较低的问题

[0005]为实现上述目的,本专利技术提供的一种组件和漏洞可达性分析方法,包括:获取开源组件源码,对开源组件源码进行函数提取,得到函数信息;对函数信息进行关系解析,得到函数调用关系链;对开源组件源码进行漏洞标记,得到漏洞函数;获取待检测组件的源码,根据漏洞函数以及函数调用关系链对待检测组件的源码进行漏洞分析,得到漏洞分析结果

[0006]为了解决上述问题,本专利技术还提供一种组件和漏洞可达性分析装置,装置包括:函数提取模块,用于获取开源组件源码,对开源组件源码进行函数提取,得到函数信息;关系解析模块,用于对函数信息进行关系解析,得到函数调用关系链;漏洞标记模块,用于对开源组件源码进行漏洞标记,得到漏洞函数;漏洞分析模块,用于获取待检测组件的源码,根据漏洞函数以及函数调用关系链对待检测组件的源码进行漏洞分析,得到漏洞分析结果

[0007]为了解决上述问题,本专利技术还提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述的组件和漏洞可达性分析方法

[0008]为了解决上述问题,本专利技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有至少一个计算机程序,至少一个计算机程序被电子设备中的处理器执行以实现上述的组件和漏洞可达性分析方法

[0009]本专利技术通过对函数信息进行关系解析,得到函数调用关系链,不限制语言,适用于所有编程语言,只需了解各个语言的解析语法树,并解析函数之间的调用关系,可以让多个函数调用关系合并为一条完整关联路径,进行漏洞分析时逻辑性更强,准确性更高;对开源组件源码进行函数提取,得到函数信息,避免漏洞分析的局限性,将开源组件的函数信息规格化入库以及根据组件名称和版本可以提供快速查询方法,提高漏洞分析的效率;对开源组件源码进行漏洞标记,得到漏洞函数,可以覆盖多种函数漏洞,增强漏洞分析的准确性;根据函数调用关系链以及漏洞函数对源码进行漏洞分析,得到漏洞分析结果,可以识别当前软件中是否使用了开源组件,以及使用了开源组件的那些方法

因此本专利技术提出的组件和漏洞可达性分析方法

装置

设备及存储介质,可以解决软件成分漏洞分析的效率及准确性较低的问题

附图说明
[0010]图1为本专利技术一实施例提供的组件和漏洞可达性分析方法的流程示意图;
[0011]图2为本专利技术一实施例提供的对函数信息进行关系解析,得到函数调用关系链的流程示意图;
[0012]图3为本专利技术一实施例提供的对开源组件源码进行漏洞标记,得到漏洞函数的流程示意图;
[0013]图4为本专利技术一实施例提供的组件和漏洞可达性分析装置的功能模块示意图;
[0014]图5为本专利技术一实施例提供的实现组件和漏洞可达性分析方法的电子设备的结构示意图

[0015]本专利技术目的的实现

功能特点及优点将结合实施例,参照附图做进一步说明

具体实施方式
[0016]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术

[0017]现有技术关于漏洞修复方面,很多软件成分析软件缺乏或者比较笼统的给出漏洞的修复建议,识别出漏洞组件信息后有些组件的修复并不容易,这些建议并不能简单有效的解决漏洞问题

有些组件的修复会带来其他组件的不兼容需要同时升级其他组件才可以完成漏洞修复;有些组件的漏洞开源组件并未及时提供解决方法导致修复失败;以及其他等等问题

在这些有漏洞的组件中并非都需要去修复的

有些使用了有漏洞的开源组件,但是并没有使用当前组件中的漏洞函数,所以当前漏洞对应软件来说并非可利用的,根本无需修复

有些使用了漏洞组件中的漏洞函数,可以只去对当前使用漏洞函数的源码进行修改,无需升级或者其他手段修复

从而大大减小了漏洞的修复难度和成本

[0018]参照图1所示,为本专利技术一实施例提供的组件和漏洞可达性分析方法的流程示意图

在本实施例中,组件和漏洞可达性分析方法包括:
[0019]S1、
获取开源组件源码,对开源组件源码进行函数提取,得到函数信息

[0020]本专利技术实施例中,开源组件源码可以从函数信息对应的开源网站上下载所有开源
组件的源码以及对应版本;利用函数调用关系链以及获取的组件工具对开源组件源码进行函数提取,将所有的源码中的函数提取出来,但是,进行函数提取的时候只提取开源组件源码的
public
修饰符的函数,因为非
public
修饰符的函数外部根本无法调用,无需进行解析和存储;开源组件是开放源代码,可以根据开源组件中的开放源代码对其进行查看和修改

[0021]本专利技术实施例中,对开源组件源码进行函数提取,得到函数信息,包括:对开元组件源码进行本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种组件和漏洞可达性分析方法,其特征在于,所述方法包括:获取开源组件源码,对所述开源组件源码进行函数提取,得到函数信息;对所述函数信息进行关系解析,得到函数调用关系链;对所述开源组件源码进行漏洞标记,得到漏洞函数;获取待检测组件的源码,根据所述漏洞函数以及所述函数调用关系链对所述待检测组件的源码进行漏洞分析,得到漏洞分析结果
。2.
如权利要求1所述的组件和漏洞可达性分析方法,其特征在于,所述对所述函数信息进行关系解析,得到函数调用关系链,包括:根据预设的函数关系集查找所述函数信息的调用关系;将所述函数信息中的调用关系进行路径关联,得到关系树;对所述关系树进行关系整理,得到函数调用关系链
。3.
如权利要求1所述的组件和漏洞可达性分析方法,其特征在于,所述对所述开源组件源码进行漏洞标记,得到漏洞函数,包括:从预设的漏洞库中查找漏洞函数片段;将所述漏洞函数片段进行函数解析,得到函数信息;根据所述函数信息对所述开源组件源码进行标记处理,得到漏洞函数
。4.
如权利要求3所述的组件和漏洞可达性分析方法,其特征在于,所述根据所述函数信息对所述开源组件源码进行标记处理,得到漏洞函数,包括:将所述函数信息与所述开源组件源码进行匹配,得到匹配函数;将所述开源组件源码中所述匹配函数标记为漏洞函数,并对所述漏洞函数进行更新处理
。5.
如权利要求1所述的组件和漏洞可达性分析方法,其特征在于,所述根据所述漏洞函数以及所述函数调用关系链对所述待检测组件的源码进行漏洞分析,得到漏洞分析结果,包括:根据所述函数调用关系链对所述源码进行函数解析,得到待检测函数调用链;根据所述漏洞函数检测所述待检测组件的源码中的漏洞信息;当所述漏洞信息为所述待检测组件中存在漏洞时,根据所述函数调用关系链对所述待检测组件进行可达性分析,得到漏洞分析结果
。6.
如权利...

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

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

1