您的当前位置:首页正文

一种针对开源组件漏洞自动化监控方法及系统[发明专利]

来源:九壹网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 110543767 A(43)申请公布日 2019.12.06

(21)申请号 201910736713.7(22)申请日 2019.08.10

(71)申请人 苏州浪潮智能科技有限公司

地址 215100 江苏省苏州市吴中区吴中经

济开发区郭巷街道官浦路1号9幢(72)发明人 赵学鹏 

(74)专利代理机构 济南舜源专利事务所有限公

司 37205

代理人 刘雪萍(51)Int.Cl.

G06F 21/57(2013.01)

权利要求书2页 说明书6页 附图1页

(54)发明名称

一种针对开源组件漏洞自动化监控方法及系统

(57)摘要

本发明提供一种针对开源组件漏洞自动化监控方法及系统,包括如下步骤:调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据;将抓取的数据记录并更新至本地开源组件漏洞库;调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;调度组件漏洞反馈记录机制,对相关负责人进行预警。实现自动化漏洞预警追踪和安全构建,安全人员只需关注筛选后与产品和公司相关漏洞,节省了超大工作量,提高了安全漏洞发现和追踪的效率;提高漏洞追踪范围;24小时内即可响应最新爆出漏洞,提高公司网络安全响应时效。

CN 110543767 ACN 110543767 A

权 利 要 求 书

1/2页

1.一种针对开源组件漏洞自动化监控方法,其特征在于,包括如下步骤:调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据;将抓取的数据记录并更新至本地开源组件漏洞库;

调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;

将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;调度组件漏洞反馈记录机制,对相关负责人进行预警。

2.根据权利要求1所述的一种针对开源组件漏洞自动化监控方法,其特征在于,所述的将抓取的数据记录并更新至本地开源组件漏洞库的步骤包括:

对抓取的数据提取有效关键信息;根据有效关键信息将数据整合过滤,以标准格式保存至本地开源组件漏洞库。3.根据权利要求2所述的一种针对开源组件漏洞自动化监控方法,其特征在于,调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据的步骤中,国内外漏洞披露平台包括CVE、cnnvd、cnvd;

有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修复补丁地址、修复版本。

4.根据权利要求3所述的一种针对开源组件漏洞自动化监控方法,其特征在于,所述的将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件的步骤具体包括:

调度自动化漏洞分析对每日抓取的漏洞进行循环遍历正则匹配,筛选开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比,判断是否当前组件存在漏洞。

5.根据权利要求4所述的一种针对开源组件漏洞自动化监控方法,其特征在于,所述的调度组件漏洞反馈记录机制,对相关负责人进行预警的步骤包括:

对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞CVE-ID、漏洞名称、版本信息合并组合写入到数据库和excel表中,并提取摘要信息进行邮件发送相关负责人进行预警。

6.根据权利要求5所述的一种针对开源组件漏洞自动化监控方法,其特征在于,该方法还包括:

追踪反馈漏洞处理结果,若在设定时间阈值范围内检测漏洞没有被处理,再次发送邮件至相关负责人进行督促漏洞修改。

7.一种针对开源组件漏洞自动化监控系统,其特征在于,包括漏洞抓取模块、漏洞数据存储展示模块、组件检测识别模块、处理模块和预警模块;

漏洞抓取模块,用于调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据;漏洞数据存储展示模块,用于将抓取的数据记录并更新至本地开源组件漏洞库并提供快速展示查询功能;

组件检测识别模块,用于调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;记录内容包括开源组件的生命周期、版本release以及版本漏洞;

2

CN 110543767 A

权 利 要 求 书

2/2页

处理模块,用于将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;

预警模块,用于调度组件漏洞反馈记录机制,对相关负责人进行预警。8.根据权利要求7所述的一种针对开源组件漏洞自动化监控方法,其特征在于,所述的漏洞数据存储展示模块包括关键信息提取单元、处理存储单元;

关键信息提取单元,用于对抓取的数据提取有效关键信息;有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修复补丁地址、修复版本处理存储单元,用于根据有效关键信息将数据整合过滤,以标准格式保存至本地开源组件漏洞库。

9.根据权利要求8所述的一种针对开源组件漏洞自动化监控系统,其特征在于,所述的处理模块包括正则匹配单元,处理单元和判断单元;

正则匹配单元,用于调度自动化漏洞分析对每日抓取的漏洞进行循环遍历正则匹配;处理单元,用于筛选开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比;

判断单元,用于根据处理单元输出的结果判断是否当前组件存在漏洞;所述预警模块包括信息整合单元、邮件编辑发送单元;信息整合单元,用于对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞CVE-ID、漏洞名称、版本信息合并组合写入到数据库和excel表中;邮件编辑发送单元,用于提取摘要信息进行邮件发送相关负责人进行预警。10.根据权利要求9所述的一种针对开源组件漏洞自动化监控系统,其特征在于,该系统还包括结果反馈模块和查询模块;

结果反馈模块,用于追踪反馈漏洞处理结果;邮件编辑发送单元,还用于若在设定时间阈值范围内结果反馈模块输出检测漏洞没有被处理,发送邮件至相关负责人进行督促漏洞修改;

查询模块,用于在系统中对开源组件生命周期、版本release以及版本漏洞进行检索查询。

3

CN 110543767 A

说 明 书

一种针对开源组件漏洞自动化监控方法及系统

1/6页

技术领域

[0001]本发明涉及系统开发技术领域,具体涉及一种针对开源组件漏洞自动化监控方法及系统。

背景技术

[0002]在软硬件系统开发过程中,通常会引用各类的开源组件,实现不同的功能避免重复造轮子的情况。但是不同的开源组件会存在各式各样已知或新爆出的安全漏洞,部分重要的开源组件和严重的安全漏洞可能会导致全部产品存在致命安全隐患,易被利用造成经济损失和产品影响。所以及时对开源组件漏洞进行修复和升级非常重要。[0003]现阶段对开源组件漏洞进行处理主要存在如下问题:1、对于开源组件规模日益增大,导致漏洞种类繁多,数量巨大,而漏洞修补需要人工对每个组件进行发现、确认和研究,分析效率低下。2、由于每个组件对于漏洞爆出及修补的时间也不一致,组件种类过多,导致无法及时发现漏洞并修补。如果要对每类开源组件及组件每个版本漏洞进行统计追踪,需要手工执行几万次冗余重复的操作,耗费大量时间、人力成本。3、当前所有自动化漏洞扫描和管理均是基于扫描探测服务来进行发现,对于不与外部通信的开源组件漏洞难以发现,容易造成漏报,给企业和产品带来风险。4、当前漏洞扫描都需要定期更新漏洞库,无法及时响应24小时内0-day漏洞,时间滞后使漏洞造成影响更大和深远。发明内容

[0004]针对公司级或一个web、C/S、嵌入式系统及服务器等产品中所有引用的开源组件进行漏洞发现、预警及跟踪存在的上述问题,本发明提供一种针对开源组件漏洞自动化监控方法及系统。

[0005]本发明的技术方案是:[0006]一方面,本发明技术方案提供一种针对开源组件漏洞自动化监控方法,包括如下步骤:[0007]调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据;[0008]将抓取的数据记录并更新至本地开源组件漏洞库;[0009]调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;

[0010]将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;[0011]调度组件漏洞反馈记录机制,对相关负责人进行预警。[0012]进一步的,所述的将抓取的数据记录并更新至本地开源组件漏洞库的步骤包括:[0013]对抓取的数据提取有效关键信息;[0014]根据有效关键信息将数据整合过滤,以标准格式保存至本地开源组件漏洞库。[0015]进一步的,调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据的步骤中,国内外漏洞披露平台包括CVE、cnnvd、cnvd;

4

CN 110543767 A[0016]

说 明 书

2/6页

有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修

复补丁地址、修复版本。[0017]进一步的,所述的将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件的步骤具体包括:[0018]调度自动化漏洞分析对每日抓取的漏洞进行循环遍历正则匹配,筛选开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比,判断是否当前组件存在漏洞。

[0019]进一步的,所述的调度组件漏洞反馈记录机制,对相关负责人进行预警的步骤包括:

[0020]对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞CVE-ID、漏洞名称、版本信息合并组合写入到数据库和excel表中,并提取摘要信息进行邮件发送相关负责人进行预警。

[0021]进一步的,该方法还包括:[0022]追踪反馈漏洞处理结果,若在设定时间阈值范围内检测漏洞没有被处理,再次发送邮件至相关负责人进行督促漏洞修改。[0023]另一方面,本发明技术方案提供一种针对开源组件漏洞自动化监控系统,包括漏洞抓取模块、漏洞数据存储展示模块、组件检测识别模块、处理模块和预警模块;[0024]漏洞抓取模块,用于调度爬虫搜索抓取国内外漏洞披露平台最新发布的数据;[0025]漏洞数据存储展示模块,用于将抓取的数据记录并更新至本地开源组件漏洞库并提供快速展示查询功能;

[0026]组件检测识别模块,用于调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;记录内容包括开源组件的生命周期、版本release以及版本漏洞;[0027]处理模块,用于将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;

[0028]预警模块,用于调度组件漏洞反馈记录机制,对相关负责人进行预警。[0029]进一步的,所述的漏洞数据存储展示模块包括关键信息提取单元、处理存储单元;[0030]关键信息提取单元,用于对抓取的数据提取有效关键信息;有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修复补丁地址、修复版本[0031]处理存储单元,用于根据有效关键信息将数据整合过滤,以标准格式保存至本地开源组件漏洞库。[0032]进一步的,所述的处理模块包括正则匹配单元,处理单元和判断单元;[0033]正则匹配单元,用于调度自动化漏洞分析对每日抓取的漏洞进行循环遍历正则匹配;

[0034]处理单元,用于筛选开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比;[0035]判断单元,用于根据处理单元输出的结果判断是否当前组件存在漏洞;[0036]所述预警模块包括信息整合单元、邮件编辑发送单元;[0037]信息整合单元,用于对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞

5

CN 110543767 A

说 明 书

3/6页

CVE-ID、漏洞名称、版本信息合并组合写入到数据库和excel表中;[0038]邮件编辑发送单元,用于提取摘要信息进行邮件发送相关负责人进行预警。[0039]进一步的,该系统还包括结果反馈模块和查询模块;[0040]结果反馈模块,用于追踪反馈漏洞处理结果;[0041]邮件编辑发送单元,还用于若在设定时间阈值范围内结果反馈模块输出检测漏洞没有被处理,发送邮件至相关负责人进行督促漏洞修改;[0042]查询模块,用于在系统中对开源组件生命周期、版本release以及版本漏洞进行检索查询。

[0043]通过自动化爬虫及指纹识别对开源组件和安全漏洞进行高效率检测、精准筛选,并推送预警到相关研发责任人,实现自动化漏洞预警追踪和安全构建,安全人员只需关注筛选后与产品和公司相关漏洞,节省了超大工作量,提高了安全漏洞发现和追踪的效率;而且改进了通用漏洞扫描只能通过网络探测导致第三方库及组件发现不全的问题,覆盖了全部在用第三方组件,提高漏洞追踪范围;24小时内即可响应最新爆出漏洞,提高公司网络安全响应时效。

[0044]从以上技术方案可以看出,本发明具有以下优点:本申请用于对公司层面或产品层面(web、C/S、嵌入式、服务器等)所有引用第三方开源组件和应用安全漏洞进行高效率自动化批量检测、发现、预警及跟踪方法和系统,在无人值守的情况下,通过自动化对数十万数量级别的开源组件漏洞进行分析预警和追踪,能够覆盖所有引用的第三方开源库及组件,避免现阶段通过网络扫描漏掉大量第三方库安全漏洞的情况;省去大量安全人员人工统计、分析、跟踪的工作;并能够在24小时内快速预警最新开源组件安全漏洞,实时跟踪漏洞发布,提高公司或产品网络应用安全及漏洞响应时效性。[0045]此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。[0046]由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

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

[0048]图1是本发明实施例提供的一种针对开源组件漏洞自动化监控方法的示意性流程图。

[0049]图2是本发明实施例提供的一种针对开源组件漏洞自动化监控系统示意性框图。具体实施方式

[0050]为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

6

CN 110543767 A[0051][0052]

说 明 书

4/6页

实施例一如图1所示,本发明实施例提供一种针对开源组件漏洞自动化监控方法,包括如下

步骤:

S1:调度爬虫抓取搜索国内外漏洞披露平台最新发布的数据;

[0054]需要说明的是,本步骤中,设定每日零点自动调度爬虫对CVE、cnnvd、cnvd等国内外漏洞披露平台进行数据抓取;[0055]S2:将抓取的数据记录并更新至本地开源组件漏洞库;

[0056]对抓取的数据提取有效关键信息并将抓取的数据整合过滤后,以标准格式保存至本地漏洞数据库;有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修复补丁地址、修复版本等;[0057]S3:调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;在这里,由开源组件探测脚本对所登记产品引用的开源组件进行指纹识别,加上人工登记的开源组件信息,合并保存至本地开源组件资料库;[0058]S4:将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;上述信息抓取整合完毕后,调度自动化漏洞分析,对每日爆出的安全漏洞进行循环遍历正则匹配,筛选本地开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比,判断是否当前组件存在漏洞;[0059]S5:调度组件漏洞反馈记录机制,对相关负责人进行预警,本步骤中,对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞CVE-ID、漏洞名称、版本、涉及系统及部门等信息合并组合写入到数据库和excel表中,并对摘要信息进行邮件发送相关负责人进行预警;

[0060]S6:追踪反馈漏洞处理结果,若在设定时间阈值范围内检测漏洞没有被处理,再次发送邮件至相关负责人进行督促漏洞修改。

[0061]追踪负责人对于安全组件漏洞的处理结果,每日检查负责人是否反馈处理结果并升级组件修复漏洞。自动化对数十万数量级别的开源组件漏洞进行分析预警和追踪,能够覆盖所有引用的第三方开源库及组件,避免现阶段常用通过网络扫描漏掉大量第三方库安全漏洞的情况;省去大量安全人员人工统计、分析、跟踪的工作;并能够在24小时内快速预警最新开源组件安全漏洞,实时跟踪漏洞发布,提高公司安全层次响应时效性;并能有效避免公司和产品因引用第三方开源组件、中间件、工具而导致的恶性安全漏洞,提高公司级网络及应用安全。[0062]实施例二[0063]如图2所示,本发明实施例提供一种针对开源组件漏洞自动化监控系统,包括漏洞抓取模块11、漏洞数据存储展示模块22、组件检测识别模块33、处理模块44和预警模块55;[0064]漏洞抓取模块11,用于调度爬虫抓取搜索国内外漏洞披露平台最新发布的数据;[0065]漏洞数据存储展示模块22,用于将抓取的数据记录并更新至本地开源组件漏洞库并提供快速展示查询功能;

[0066]所述的漏洞数据存储展示模块22包括关键信息提取单元、处理存储单元;[0067]关键信息提取单元,用于对抓取的数据提取有效关键信息;有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修复补丁地址、修复版本

[0053]

7

CN 110543767 A[0068]

说 明 书

5/6页

处理存储单元,用于根据有效关键信息将数据整合过滤,以标准格式保存至本地

开源组件漏洞库。

[0069]组件检测识别模块33,用于调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;记录内容包括开源组件的生命周期、版本release以及版本漏洞;[0070]处理模块44,用于将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;所述的处理模块44包括正则匹配单元,处理单元和判断单元;[0071]正则匹配单元,用于调度自动化漏洞分析对每日抓取的漏洞进行循环遍历正则匹配;

[0072]处理单元,用于筛选开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比;[0073]判断单元,用于根据处理单元输出的结果判断是否当前组件存在漏洞;[0074]预警模块55,用于调度组件漏洞反馈记录机制,对相关负责人进行预警。所述预警模块55包括信息整合单元、邮件编辑发送单元;[0075]信息整合单元,用于对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞CVE-ID、漏洞名称、版本信息合并组合写入到数据库和excel表中;[0076]邮件编辑发送单元,用于提取摘要信息进行邮件发送相关负责人进行预警。[0077]实施例三

[0078]本发明实施例提供一种针对开源组件漏洞自动化监控系统,包括漏洞抓取模块11、漏洞数据存储展示模块22、组件检测识别模块33、处理模块44和预警模块55;[0079]漏洞抓取模块11,用于调度爬虫抓取搜索国内外漏洞披露平台最新发布的数据;[0080]漏洞数据存储展示模块22,用于将抓取的数据记录并更新至本地开源组件漏洞库并提供快速展示查询功能;

[0081]所述的漏洞数据存储展示模块22包括关键信息提取单元、处理存储单元;[0082]关键信息提取单元,用于对抓取的数据提取有效关键信息;有效关键信息包括CVE-ID、漏洞名称、漏洞详细内容、漏洞组件、影响组件版本、修复补丁地址、修复版本[0083]处理存储单元,用于根据有效关键信息将数据整合过滤,以标准格式保存至本地开源组件漏洞库。

[0084]组件检测识别模块33,用于调度指纹扫描器探测系统及服务所使用的开源组件并将扫描结果进行记录并更新至开源组件资料库;记录内容包括开源组件的生命周期、版本release以及版本漏洞;[0085]处理模块44,用于将抓取的数据与开源组件资料库中信息进行匹配筛选当前存在风险的组件;所述的处理模块44包括正则匹配单元,处理单元和判断单元;[0086]正则匹配单元,用于调度自动化漏洞分析对每日抓取的漏洞进行循环遍历正则匹配;

[0087]处理单元,用于筛选开源组件资料库中相关的组件漏洞并对漏洞版本和登记当前组件版本进行对比;[0088]判断单元,用于根据处理单元输出的结果判断是否当前组件存在漏洞;[0089]预警模块55,用于调度组件漏洞反馈记录机制,对相关负责人进行预警。所述预警

8

CN 110543767 A

说 明 书

6/6页

模块55包括信息整合单元、邮件编辑发送单元;[0090]信息整合单元,用于对判断存在漏洞的组件调度漏洞反馈记录机制,将安全漏洞CVE-ID、漏洞名称、版本信息合并组合写入到数据库和excel表中;[0091]邮件编辑发送单元,用于提取摘要信息进行邮件发送相关负责人进行预警。[0092]该系统还包括结果反馈模块和查询模块;[0093]结果反馈模块,用于追踪反馈漏洞处理结果;[0094]邮件编辑发送单元,还用于若在设定时间阈值范围内结果反馈模块输出检测漏洞没有被处理,发送邮件至相关负责人进行督促漏洞修改;[0095]查询模块,用于在系统中对开源组件生命周期、版本release以及版本漏洞进行检索查询。

[0096]组件检测识别模块通过自动指纹识别或手工登记的形式实现公司或系统所用的开源组件详细信息的管理和存储,生成系统开源组件资料库;漏洞识别抓取模块通过爬虫机制每日自动对CVE等多个安全漏洞发布平台进行漏洞抓取比对及智能筛选,匹配系统组件资料库中组件类型和版本,筛选当前存在风险的组件和漏洞;漏洞数据存储展示模块实时存储并更新每日发布组件安全漏洞,建立公司级漏洞数据库并提供快速展示查询功能,以方便快速对相关组件历年漏洞及修复进行查询;预警模块通过整理已存在和刚爆出的高危风险组件和漏洞,自动化调用邮箱功能对相关研发责任人进行漏洞通报和预警,并实时通报修复进展及计划。

[0097]尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

9

CN 110543767 A

说 明 书 附 图

1/1页

图1

图2

10

因篇幅问题不能全部显示,请点此查看更多更全内容

Top