一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的软件漏洞获取方法及装置与流程

2022-11-13 23:52:18 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,尤其涉及一种基于区块链的软件漏洞获取方法及装置。


背景技术:

2.开源软件是一类开放源代码的软件,在一款软件产品的开发过程中可能会引入多个开源软件,这些开源软件分别为软件产品提供不同的辅助功能。
3.现有技术中,当某个开源软件的部分版本出现新的漏洞后,需要依赖人工收集所有使用了此开源软件的的软件产品信息,并审查这些软件产品是否通过升级开源软件版本等方式修复此开源软件所引入的漏洞,以及新上线的软件产品是否使用了存在漏洞的开源软件,这样的漏洞处理机制存在效率低且容易出现漏洞遗漏的问题。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种基于区块链的软件漏洞获取方法及装置,基于区块链技术实现漏洞的发现、提醒和处理,提高漏洞处理的效率和准确性。
5.其方案包括:
6.第一方面,本技术实施例提供了一种基于区块链的软件漏洞获取方法,所述方法包括:
7.获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号;
8.将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定存在漏洞的软件产品,其中,所述预存的软件信息包括软件库中所有软件所引用的软件名称以及软件版本号;
9.将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。
10.优选的,所述获取新增漏洞信息包括:按照预设获取频率从国家信息安全漏洞共享平台cnvd获取新增漏洞信息。
11.优选的,在确定存在漏洞的软件产品之后,所述方法还包括:
12.发送漏洞通知消息,所述漏洞通知消息用于指示软件产品存在待修复漏洞。
13.优选的,所述方法还包括:
14.当确定所述新增漏洞为误报漏洞或所述新增漏洞已被修复,将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息从所述待修复漏洞集中删除。
15.优选的,所述方法还包括:
16.获取待发布软件的软件信息,所述待发布软件的软件信息包括待发布软件所引用的软件名称和软件版本号;
17.当确定所述待发布软件产品信息包括所述待修复漏洞集中的漏洞信息时,停止发
布所述待发布软件,并返回错误信息。
18.第二方面,本技术实施例提供了一种基于区块链的软件漏洞获取装置,所述装置包括:
19.获取模块,用于获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号;
20.比对模块,用于将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定存在漏洞的软件产品,其中,所述预存的软件信息包括软件库中所有软件所引用的软件名称以及软件版本号;
21.记录模块,用于将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。
22.优选的,所述获取模块,具体用于:
23.按照预设获取频率从国家信息安全漏洞共享平台cnvd获取新增漏洞信息。
24.优选的,所述装置还包括:
25.通知模块,用于在确定存在漏洞的软件产品之后,发送漏洞通知消息,所述漏洞通知消息用于指示软件产品存在待修复漏洞。
26.优选的,所述处理模块,还用于:
27.当确定所述新增漏洞为误报漏洞或所述新增漏洞已被修复,将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息从所述待修复漏洞集中删除。
28.优选的,其特征在于,所述装置还包括:
29.发布模块,用于获取待发布软件的软件信息,所述待发布软件的软件信息包括待发布软件所引用的软件名称和软件版本号;当确定所述待发布软件产品信息包括所述待修复漏洞集中的漏洞信息时,停止发布所述待发布软件,并返回错误信息。
30.上述技术方案具有如下有益效果:
31.本技术实施例提供了一种基于区块链的软件漏洞获取方法。在执行所述方法时,获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号;将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定出存在漏洞的软件产品,其中,所述预存的软件信息包括软件库中所有软件所引用的软件名称以及软件版本号;将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。由此可见,本技术基于区块链技术实现漏洞的发现和处理,提高漏洞处理的效率和准确性。
附图说明
32.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本技术实施例提供的一种基于区块链的软件漏洞获取方法的流程示意图;
34.图2为本技术实施例提供的一种基于区块链的软件漏洞获取装置的结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.在现有技术中,当某个开源软件的部分版本出现新的漏洞后,需要依赖人工收集所有使用了此开源软件的的软件产品信息,并审查这些软件产品是否通过升级开源软件版本等方式修复此开源软件所引入的漏洞,以及新上线的软件产品是否使用了存在漏洞的开源软件,这样的漏洞处理机制存在效率低且容易出现漏洞遗漏的问题。
37.为了克服上述技术问题,本技术实施例提供了一种基于区块链的软件漏洞获取方法。需要说明的是,本技术提供的一种基于区块链的软件漏洞获取方法及装置可用于网络安全技术领域或金融领域。上述仅为实例,并不对本技术提供的一种基于区块链的软件漏洞获取方法及装置的应用领域进行限定。
38.参见图1,图1为本技术实施例提供的一种基于区块链的软件漏洞获取方法的流程举例示意图,所述方法可以包括:
39.步骤s101:获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号。
40.具体地,可以按照预设频率从国家信息安全漏洞共享平台(china national vulnerability database,cnvd)获取新增漏洞信息,新增漏洞信息可以包括新增漏洞所涉及的开源软件的软件名称以及对应的软件版本号,例如:版本号小于2.1的开源软件a或版本号具体为2.0.1的开源软件a。可以理解的是,本技术实施例中从国家信息安全漏洞共享平台cnvd获取的漏洞信息是针对开源软件的漏洞信息。
41.优选的,新增漏洞信息还可以包括漏洞id、漏洞描述、漏洞类型、解决方案、补丁链接等信息,便于后续对漏洞进行修复。
42.需要说明的是,预设频率可以由管理方根据实际情况进行合理设置的,确保漏洞能够及时被反馈并修复,同时也避免通知消息频繁发送。
43.作为一种优选的实施方式,所有新增漏洞信息还包括漏洞危害等级,所述漏洞危害等级分为:低、中、高三个等级,针对不同危害等级,可以相应设置通知信息的频率。
44.步骤s102:将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定出存在漏洞的软件产品,其中,所述预存的软件信息包括软件库中所有软件所引用的软件名称以及软件版本号。
45.具体地,将获取的新增漏洞信息与区块链中预存的软件信息进行比对,若区块链中存在有软件信息与新增漏洞信息相匹配的软件产品,则将该软件产品确定为存在漏洞的软件产品,例如:新增漏洞信息为版本号小于2.1的开源软件a,查询区块链中预存的软件信息,确定是否存在软件b引入使用了版本号为2.0的开源软件a,若是,将软件b确定为存在漏洞的软件产品。
46.可以理解的是,区块链中预先记录有软件库中所有软件的软件信息,其中,软件信息可以包括软件产品所引入使用的开源软件信息(软件名称、软件版本等信息)、软件产品信息、待修复漏洞集和存在漏洞的开源软件信息等。
47.步骤s103:将所述存在漏洞的软件产品与对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。
48.具体的,将步骤s102中确定的存在漏洞的软件产品与其涉及的新增漏洞信息绑定记录至区块链中的待修复漏洞集中,使得技术人员可以直接基于待修复漏洞集对存在漏洞的软件产品开展漏洞修复工作,提高漏洞修复的效率。
49.可以理解的是,当待修复漏洞集中出现新增的软件产品,即出现新确定的存在漏洞的软件产品时,可以在区块链网络中广播相关信息,便于链中其他节点也获得当待修复漏洞集中的相关信息,避免漏洞遗漏,提高漏洞修复的效率。
50.作为一种优选的实施方式,所述方法在步骤s102中确定出存在漏洞的软件产品之后,所述方法还包括:发送漏洞通知消息,所述漏洞通知消息用于指示软件产品存在待修复漏洞。
51.具体的,预存的软件信息中软件产品信息中记录有该软件对应的负责人联系方式,在确定出存在漏洞的软件产品之后,可以提醒该软件对应的负责人,便于及时响应漏洞修复请求,提高漏洞修复效率。
52.作为一种优选的实施方式,所述方法还包括:当确定所述新增漏洞为误报漏洞或所述新增漏洞已被修复,将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息从所述待修复漏洞集中删除。
53.具体的,若判定新增漏洞为误报漏洞或确定新增漏洞已被修复,在待修复漏洞集中将新增漏洞与相关的软件产品信息删除,及时更新维护区块链网络中待修复漏洞集中的信息,避免信息滞后造成漏洞修复效率低、错误提醒漏洞的问题。
54.作为一种优选的实施方式,所述方法还包括:
55.获取待发布软件的软件信息,所述待发布软件的软件信息包括待发布软件所引用的软件名称和软件版本号;
56.当确定所述待发布软件产品信息包括所述待修复漏洞集中的漏洞信息时,停止发布所述待发布软件,并返回错误信息。
57.具体的,当某个软件产品申请发布,或某个软件产品的新版本技术发布,先获取该软件产品的软件信息,待发布软件的软件信息包括待发布软件所引入使用的开源软件名称和开源软件版本号,与区块链中记录的待修复漏洞集的漏洞信息对比,当确定待发布软件产品信息中是包括待修复漏洞集的漏洞信息,拒绝发布该软件产品,并发送错误信息至发布方,错误信息用于指示发布方该软件产品存在尚未修复的漏洞或引用了其他存在漏洞的软件产品。
58.可以理解的是,待修复漏洞集中的漏洞信息包括未被修复的漏洞信息(漏洞对应的软件名称以及软件版本号)、存在漏洞的开源软件产品信息(存在漏洞的开源软件产品的软件名称和软件版本号)等。
59.优选的,当确定所述待发布软件产品信息未包括所述待修复漏洞集中的漏洞信息时,发布所述待发布软件,并跟新区块链中的预存的软件信息,便于后续监控该版本软件是否涉及新增漏洞。
60.作为一种优选的实施方式,所述方法还包括:在预设时间内未对存在漏洞的软件产品进行修复,则发送漏洞待修复通知消息,漏洞待修复通知消息用于提醒相关技术人员
存在尚未修复的漏洞。其中,预设时间可以根据上述的漏洞危害等级(低、中、高)相应的做出设置,作为一种示例,漏洞危害等级为低的情况下,设置预设时间为24小时,漏洞危害等级为中的情况下,设置预设时间为12小时,漏洞危害等级为高的情况下,设置预设时间为2小时。
61.作为一种优选的实施方式,所述方法还包括:所述新增漏洞信息中包括漏洞解决方案以及补丁链接,由此记录至区块链中的待修复漏洞集也包括漏洞的解决方案以及补丁链接,便于技术人员及时、高效地修复漏洞。
62.从上述技术方案可以看出,本技术实施例提供了一种基于区块链的软件漏洞获取方法。在执行所述方法时,获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号;将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定出存在漏洞的软件产品,其中,所述预存的软件信息包括软件库中所有软件所引用的软件名称以及软件版本号;将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。由此可见,本技术实施例基于区块链技术实现漏洞的发现、提醒以及处理,提高漏洞处理的效率和准确性,具有较高的安全性和抗抵赖性,并可以控制存在漏洞的软件产品上线发布。
63.以上为本技术实施例提供的一种基于区块链的软件漏洞获取方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
64.参见图2所示的一种基于区块链的软件漏洞获取装置结构示意图,该装置可以包括:
65.获取模块100,用于获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号;
66.比对模块200,用于将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定出存在漏洞的软件产品,其中,所述预存的软件信息包括软件库中所有软件所引用的软件名称以及软件版本号;
67.记录模块300,用于将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。
68.作为一种优选的实施方式,所述获取模块100,具体用于:
69.按照预设获取频率从国家信息安全漏洞共享平台cnvd获取新增漏洞信息。
70.具体地,可以按照预设频率从国家信息安全漏洞共享平台(china national vulnerability database,cnvd)获取新增漏洞信息,新增漏洞信息可以包括新增漏洞所涉及的开源软件的软件名称以及对应的软件版本号,例如:版本号小于2.1的开源软件a或版本号具体为2.0.1的开源软件a。可以理解的是,本技术实施例中从国家信息安全漏洞共享平台cnvd获取的漏洞信息是针对开源软件的漏洞信息。
71.作为一种优选的实施方式,所述装置还包括:
72.通知模块400,用于发送漏洞通知消息,所述漏洞通知消息用于指示软件产品存在待修复漏洞。
73.作为一种优选的实施方式,所述通知模块400还用于:在预设时间内未对存在漏洞的软件产品进行修复,则发送漏洞待修复通知消息,漏洞待修复通知消息用于提醒相关技
术人员存在尚未修复的漏洞。
74.作为一种优选的实施方式,所述记录模块300,还用于:当确定所述新增漏洞为误报漏洞或所述新增漏洞已被修复,将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息从所述待修复漏洞集中删除。
75.具体的,若判定新增漏洞为误报漏洞或确定新增漏洞已被修复,在待修复漏洞集中将新增漏洞与相关的软件产品信息删除,及时更新维护区块链网络中待修复漏洞集中的信息,避免信息滞后造成漏洞修复效率低、错误提醒漏洞的问题。
76.作为一种优选的实施方式,所述装置还包括:
77.发布模块500,用于获取待发布软件的软件信息,所述待发布软件的软件信息包括待发布软件所引用的软件名称和软件版本号;当确定所述待发布软件产品信息包括所述待修复漏洞集中的漏洞信息时,停止发布所述待发布软件,并返回错误信息。
78.具体的,当某个软件产品申请发布,或某个软件产品的新版本技术发布,先获取该软件产品的软件信息,待发布软件的软件信息包括待发布软件所引入使用的开源软件名称和开源软件版本号,与区块链中记录的待修复漏洞集的漏洞信息对比,当确定待发布软件产品信息中是包括待修复漏洞集的漏洞信息,拒绝发布该软件产品,并发送错误信息至发布方,错误信息用于指示发布方该软件产品存在尚未修复的漏洞或引用了其他存在漏洞的软件产品。
79.作为一种优选的实施方式,所述通知模块400还用于:发送漏洞通知消息,所述漏洞通知消息用于指示软件产品存在待修复漏洞。
80.具体的,预存的软件信息中软件产品信息中记录有该软件对应的负责人联系方式,在确定出存在漏洞的软件产品之后,可以提醒该软件对应的负责人,便于及时响应漏洞修复请求,提高漏洞修复效率。
81.作为一种优选的实施方式,所述通知模块400还用于:发送漏洞待修复通知消息,所述漏洞待修复通知消息指示在预设时间内未对存在漏洞的软件产品进行修复,便于提醒相关技术人员存在尚未修复的漏洞。
82.需要说明的是,本技术实施例提供的一种基于区块链的软件漏洞获取装置中各模块执行的步骤以及相关技术特征与申请实施例所提供一种基于区块链的软件漏洞获取方法相对应,装置部分的描述可以参见前述方法部分的实施例,此处不赘述。
83.本技术实施例提供了一种基于区块链的软件漏洞获取装置,所述装置包括:获取模块,用于获取新增漏洞信息,其中,所述新增漏洞信息包括新增漏洞对应的软件名称以及软件版本号;比对模块,用于将所述新增漏洞信息与所述区块链中预存的软件信息进行比对,以确定出存在漏洞的软件产品,其中,所述预存的软件信息包括现有软件所引用的软件名称以及软件版本号;记录模块,用于将所述存在漏洞的软件产品与所述存在漏洞的软件产品对应的所述新增漏洞信息记录至所述区块链中的待修复漏洞集中。由此可见,本技术实施例所提供的一种基于区块链的软件漏洞获取装置基于区块链技术实现漏洞的发现、提醒以及处理,提高漏洞处理的效率和准确性,具有较高的安全性和抗抵赖性,并可以控制存在漏洞的软件产品上线发布。
84.本技术实施例还提供了一种电子设备,包括:存储器,用于存储一个或多个程序;
85.处理器;当所述一个或多个程序被所述处理器执行时,实现上述实施例中的方法。
86.本技术实施例提供了一种计算机存储介质,所述计算机存储介质中存储有程序,当所述程序被处理器执行时,实现上述实施例中的方法。
87.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
88.本领域技术人员可以理解,图所示的流程图仅是本技术的实施方式可以在其中得以实现的一个示例,本技术实施方式的适用范围不受到该流程图任何方面的限制。
89.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
90.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
91.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
92.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献