基于信息匹配的组件风险检测方法、装置、设备和介质制造方法及图纸

技术编号:38470271 阅读:15 留言:0更新日期:2023-08-11 14:47
本发明专利技术公开一种基于信息匹配的组件风险检测方法、装置、设备和介质,所述方法包括:对网页信息进行文本解析获取多维度的组件信息,将获取的组件信息构建结构化组件信息字典,将所述组件信息字典汇总并入组件风险数据库;获取上传的待检测源代码包,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,将提取出的该源代码包中所有组件的详细信息与组件风险数据库综合运用多种匹配模式进行匹配得到风险组件匹配结果,显示并存储该结果。本发明专利技术提供的一种基于信息匹配的组件风险检测方法、装置、设备和介质,实现多语言源代码包得以一次性完成风险检测,精确、快速地查找出源代码中存在的风险组件。风险组件。风险组件。

【技术实现步骤摘要】
基于信息匹配的组件风险检测方法、装置、设备和介质


[0001]本专利技术涉及计算机
,特别涉及一种基于信息匹配的组件风险检测方法、装置、设备和介质。

技术介绍

[0002]互联网的发展促进了时代的进步,而互联网发展的核心在于计算机技术的日新月异。随着经济全球化,科技也突破地域、时间、空间的限制,逐渐往共享、开源等方面发展。例如各种编程中高频使用的组件也正趋向共享开源,此举解决众多科技人员编程过程中重复造轮子的问题,极大提升了技术的发展速度,但同时也带来了不少安全隐患。如何通过有力并且简易的手段实现对风险组件的有效甄别,发现代码组件中存在的漏洞风险,提前规避系统可能遭受的攻击,从而避免出现大规模的经济损失,是当下安全领域的痛点问题。
[0003]针对以上情况,现有期刊文献、专利等提出了一些解决方案,如公开号112001376A,公开日为2020

11

27的专利技术专利《基于开源组件的指纹识别方法、装置、设备及存储介质》,公开了一种基于开源组件的指纹识别方法、装置、识别设备及存储介质,能够利用待识别的应用程序的第一指纹与预设的开源组件指纹库中的第二指纹匹配,确定包含第二指纹的开源组件,相对于现有技术,该指纹匹配的方式可提高对应用程序的识别性和识别速度。
[0004]公开号为112118251A,公开日为2020

12

22的专利技术专利“一种基于maven插件的JAVA项目开源组件的漏洞检测方法”,公开了一种基于maven插件的JAVA项目开源组件的漏洞检测方法,采用maven插件的方式获取项目开发中引用的开源组件,调用云端存储的组件安全状态,确定组件安全性,组件采集准确,实时性高,通过maven插件方式不存在误报。
[0005]公开号为112868008A,公开日为2021

05

28的专利技术专利“JAVA开源组件的漏洞检测方法、装置及存储介质”,提供了一种JAVA开源组件的漏洞检测方法、装置及存储介质,方法为生成包括所有JAVA开源组件的漏洞数据的漏洞数据库,获取待检测组件的相关信息与漏洞数据库进行匹配,匹配成功则获取待检测组件的漏洞数据。该方法节省了人力、时间资源,使得结果更加精准。
[0006]公开号为110109699A,公开日为2019

08

09的专利技术专利“一种漏洞组件查找方法、系统、介质和电子设备”,提供一种漏洞组件查找方法、系统、介质及电子设备。该方法获取漏洞组件名称、漏洞版本号及版本号对比位,通过判断版本号区间来判定组件版本中存在漏洞。该方法能够更准确对比出存在漏洞的组件区间版本。
[0007]上述专利技术专利实现了利用待识别应用程序的指纹信息与预设的开源组件指纹库中的指纹进行匹配、采用maven插件获取项目中引用的开源组件等方式,进行组件风险的判断,有其独创性,但仍然存在以下缺点。
[0008]上述现有技术的主要缺点有:
[0009]1、利用maven插件采集项目中的开源组件信息或者是直接获取待检测JAVA开源组件的信息,其只针对JAVA语言进行代码检测,范围比较有限。
[0010]2、通过指纹信息来匹配风险的组件,可能存在较多的风险组件漏报,开源组件的指纹信息并不全面,组件经过二次开发导致指纹信息改变而导致风险不能被暴露。
[0011]3、应用系统由多种语言共同实现时,未提出具体的风险组件检测方案,未实现多语言同时检测。
[0012]4、通过组件名称进行查询,但忽略指纹信息,将导致组件信息对比不准确、误扫描、漏检测的情况。

技术实现思路

[0013]本专利技术要解决的技术问题,在于提供一种基于信息匹配的组件风险检测方法、装置、设备和介质,实现多语言源代码包得以一次性完成风险检测,精确、快速地查找出源代码中存在的风险组件。
[0014]第一方面,本专利技术提供了一种基于信息匹配的组件风险检测方法,包括:
[0015]组件风险信息库构建过程:对网页信息进行文本解析获取组件信息,所述组件信息至少包括组件发行方、组件名称、组件版本以及指纹信息;将获取的组件信息构建结构化组件信息字典,将所述组件信息字典汇总并入组件风险数据库;
[0016]风险组件扫描过程:获取上传的待检测源代码包,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,至少包括组件名称、路径以及指纹信息,将提取出的该源代码包中所有组件的详细信息与组件风险数据库综合运用多种匹配模式进行匹配得到风险组件匹配结果,显示并存储该结果。
[0017]进一步地,所述风险组件扫描过程中,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,具体包括:
[0018]将待检测源代码包从文件结构、代码语言角度进行解析,得到文件信息与文件结构;然后根据源代码解析的结果进行依赖组件的进一步解析,区分出不同代码语言的组件;最后根据代码结构、配置文件的结构、依赖包提取各类组件的详细信息。
[0019]进一步地,所述组件风险信息库构建过程通过爬虫技术获取组件信息,且在获取到新的组件信息时对组件风险信息库进行更新。
[0020]进一步地,还包括内部代码扫描过程:当待检测源代码包为内部定义组件时,探析内部漏洞,然后存档至所述组件风险信息库,多次扫描可分析内部漏洞的改动与修复,并且给予项目组反馈与预警。
[0021]第二方面,本专利技术提供了一种基于信息匹配的组件风险检测装置,包括:
[0022]组件风险信息库构建模块:用于对网页信息进行文本解析获取组件信息,所述组件信息至少包括组件发行方、组件名称、组件版本以及指纹信息;将获取的组件信息构建结构化组件信息字典,将所述组件信息字典汇总并入组件风险数据库;
[0023]风险组件扫描模块:用于获取上传的待检测源代码包,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,至少包括组件名称、路径以及指纹信息,将提取出的该源代码包中所有组件的详细信息与组件风险数据库综合运用多种匹配模式进行匹配得到风险组件匹配结果,显示并存储该结果。
[0024]进一步地,所述风险组件扫描模块中,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,具体包括:
[0025]将待检测源代码包从文件结构、代码语言角度进行解析,得到文件信息与文件结构;然后根据源代码解析的结果进行依赖组件的进一步解析,区分出不同代码语言的组件;最后根据代码结构、配置文件的结构、依赖包提取各类组件的详细信息。
[0026]进一步地,所述组件风险信息库构建模块通过爬虫技术获取组件信息,且在获取到新的组件信息时对组件风险信息库进行更新。
[0027]进一步地,还包括:内部代码扫描模块:用于当待检测源代码包为内部定义组件时,探析内部漏洞,然后存档至所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于信息匹配的组件风险检测方法,其特征在于,包括:组件风险信息库构建过程:对网页信息进行文本解析获取组件信息,所述组件信息至少包括组件发行方、组件名称、组件版本以及指纹信息;将获取的组件信息构建结构化组件信息字典,将所述组件信息字典汇总并入组件风险数据库;风险组件扫描过程:获取上传的待检测源代码包,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,至少包括组件名称、路径以及指纹信息,将提取出的该源代码包中所有组件的详细信息与组件风险数据库综合运用多种匹配模式进行匹配得到风险组件匹配结果,显示并存储该结果。2.根据权利要求1所述的方法,其特征在于,所述风险组件扫描过程中,建立针对不同语言代码文件及该语言对应组件类型的分辨模式,解析并提取各类组件的详细信息,具体包括:将待检测源代码包从文件结构、代码语言角度进行解析,得到文件信息与文件结构;然后根据源代码解析的结果进行依赖组件的进一步解析,区分出不同代码语言的组件;最后根据代码结构、配置文件的结构、依赖包提取各类组件的详细信息。3.根据权利要求1或2所述的方法,其特征在于:所述组件风险信息库构建过程通过爬虫技术获取组件信息,且在获取到新的组件信息时对组件风险信息库进行更新。4.根据权利要求1所述的方法,其特征在于,还包括:内部代码扫描过程:当待检测源代码包为内部定义组件时,探析内部漏洞,然后存档至所述组件风险信息库,多次扫描可分析内部漏洞的改动与修复,并且给予项目组反馈与预警。5.一种基于信息匹配的组件风险检测装置,其特征在于,包括:组件风险信息库构建模块:用于对网页信息进行文本解析获取组件信息,所述组件信息至少包括组件发行方、组件名...

【专利技术属性】
技术研发人员:林雄陈振苹甘鑫辉蔡卓明郭超年程舒晗
申请(专利权)人:福建省农村信用社联合社
类型:发明
国别省市:

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

1