SBOM共享方法、装置、处理设备、介质及程序产品与流程

本技术涉及安全,尤其是指一种sbom共享方法、装置、处理设备、介质及程序产品。
背景技术:
1、软件物料清单(software bill of materials,sbom)为一种描述软件组件、版本和依赖关系的清单,能够清晰地展示软件产品的组成和相互关系。
2、软件的sbom数据具有极高的利用价值,若企业的sbom数据库被恶意利用,将给企业带来巨大的安全风险。现有技术有开发基于区块链技术的sbom管理系统,区块基于sbom相关信息生成sbom区块链表,并且将所创建的sbom分类账表存储在区块链节点中。
3、然而采用该实施方式的sbom管理系统,区块链网络确定项目服务器中的数量和使用频率,当开源的项目使用量大于预设阈值时,向使用开源的项目服务器发送消息以请求针对开源的sbom验证,当存在节点恶意重复上传数据时,无法保证sbom信息上链时的有效性,从而无法有效保证所上传sbom数据的真实性、完整性和可用性等。
技术实现思路
1、本技术技术方案的目的是提供一种sbom共享方法、装置、处理设备、介质及程序产品,用于解决采用现有技术sbom共享方法,无法保证sbom信息上链时的有效性,从而无法有效保证所上传sbom数据的真实性、完整性和可用性等的问题。
2、本技术其中一实施例提供一种软件物料清单sbom共享方法,其中,包括:
3、获取第一区块链节点的第一sbom数据;
4、对所述第一sbom数据在区块链系统发布的有效性进行校验,获得校验结果;
5、在所述校验结果为校验通过的情况下,生成所述第一sbom数据对应的区块数据。
6、可选地,所述的sbom共享方法,其中,所述方法还包括:
7、在对所述第一sbom数据在区块链系统发布的有效性进行校验时,根据校验结果,确定第一积分值;
8、将所确定的所述第一积分值发送至所述第一区块链节点;其中,根据所述第一积分值与所述第一区块链节点的当前积分值所获得的总积分值为所述第一区块链节点请求获得sbom信息的消耗积分。
9、可选地,所述的sbom共享方法,其中,所述方法还包括:
10、在所述第一区块链节点加入区块链系统时,向所述第一区块链节点发送第二积分值;其中,所述当前积分值为根据所述第二积分值和当前时间之前所获得的第一积分值进行累加确定的。
11、可选地,所述的sbom共享方法,其中,对所述第一sbom数据在区块链系统发布的有效性进行校验,包括以下的一项或多项:
12、判断获取所述第一sbom数据之前是否获取到所述第一区块链节点的第二sbom数据;其中,所述第一sbom数据中的第一sbom信息和所述第二sbom中的第二sbom信息与同一软件相关;
13、判断所述第二sbom信息与所述第一sbom信息之间是否具有差异性;
14、在获取第二sbom信息与所述第一sbom信息之间具有差异性的情况下,判断所述第二sbom信息是否已成功上链;
15、判断区块链系统上是否存储有第三sbom信息;其中,所述第三sbom信息和所述第一sbom数据中的第一sbom信息与同一软件相关;
16、判断所述第三sbom信息与所述第一sbom信息之间是否具有差异性;
17、根据所述第一sbom数据中的第一sbom信息,进行许可风险校验。
18、可选地,所述的sbom共享方法,其中,所述方法还包括:
19、在获得以下其中之一的判断结果时,确定获得校验通过的校验结果:
20、在获取所述第一sbom数据之前未获取到所述第二sbom数据、所述区块链系统上未存储有所述第三sbom信息、且所述第一sbom信息不存在许可风险;
21、在获取所述第一sbom数据之前未获取到所述第二sbom数据、所述区块链系统上存储有所述第三sbom信息,但所述第三sbom信息与所述第一sbom信息之间具有差异性、且所述第一sbom信息不存在许可风险;
22、在获取所述第一sbom数据之前获取到所述第二sbom数据,但所述第二sbom信息与所述第一sbom信息之间具有差异性、所述区块链系统上未存储有所述第三sbom信息、且所述第一sbom信息不存在许可风险;
23、在获取所述第一sbom数据之前获取到所述第二sbom数据,但所述第二sbom信息与所述第一sbom信息之间具有差异性、所述区块链系统上存储有所述第三sbom信息,但所述第三sbom信息与所述第一sbom信息之间具有差异性、且所述第一sbom信息不存在许可风险。
24、可选地,所述的sbom共享方法,其中,所述方法还包括:
25、在所述校验结果为校验通过的情况下,根据所述第一sbom数据获得对应的漏洞利用交换vex数据;
26、将所述vex数据写入所述第一sbom数据对应的区块数据。
27、可选地,所述的sbom共享方法,其中,在对所述第一sbom数据在区块链系统发布的有效性进行校验时,根据校验结果,确定第一积分值,包括以下的一项或多项:
28、在判断获取所述第一sbom数据之前未获取到第二sbom数据的情况下,确定所述第一积分值的基准值为第一值;其中,所述第一sbom数据中的第一sbom信息与所述第二sbom中的第二sbom信息与同一软件相关;
29、在判断获取所述第一sbom数据之前获取到所述第二sbom数据,所述第二sbom信息与所述第一sbom信息之间具有差异性,且所述第二sbom信息成功上链的情况下,确定所述第一积分值的基准值为第二值;
30、在判断获取所述第一sbom数据之前获取到所述第二sbom数据,所述第二sbom信息与所述第一sbom信息之间具有差异性,但所述第二sbom信息未成功上链的情况下,确定所述第一积分值的基准值为第三值;其中,所述第一值、所述第二值和所述第三值均为正值,且所述第三值小于所述第二值,所述第二值小于所述第一值;
31、在判断获取所述第一sbom数据之前获取到所述第二sbom数据,所述第二sbom信息与所述第一sbom信息之间不具有差异性,且所述第二sbom数据的上传次数大于或等于预设次数的情况下,确定所述第一积分值为第四值;其中,所述第四值为负值;
32、在判断区块链系统上未存储有第三sbom信息的情况下,根据所述第一sbom信息的新鲜度评分值和所述第一积分值的基准值,确定所述第一积分值;其中,所述第三sbom信息和所述第一sbom数据中的第一sbom信息与同一软件相关;
33、在判断区块链系统上存储有第三sbom信息,且所述第三sbom信息与所述第一sbom信息之间具有差异性的情况下,根据所述第三sbom信息与所述第一sbom信息之间的差异评分值和所述第一积分值的基准值,确定所述第一积分值。
34、可选地,所述的sbom共享方法,其中,根据所述第一sbom信息的新鲜度评分值和所述第一积分值的基准值,确定所述第一积分值,包括:
35、对所述第一sbom信息中每一类别特征所对应的标准差系数进行求和计算,获得所述第一sbom信息的新鲜度评分值;其中,所述标准差系数小于等于1且大于等于0;
36、将所述第一积分值的基准值与第一数值进行相乘计算,获得所述第一积分值;所述第一数值等于所述新鲜度评分值与1之和。
37、可选地,所述的sbom共享方法,其中,所述方法还包括:根据以下方式确定所述差异评分值:
38、计算所述第三sbom信息的每一类别特征与所述第一sbom信息中相对应的类别特征的数据标准差;
39、对所述数据标准差与相对应的类别特征所对应的标准差系数进行相乘计算,获得与相对应的类别特征所对应的第二数值;其中,所述标准差系数小于等于1且大于等于0;
40、对每一类别特征所对应的第二数值求和计算,获得所述差异评分值。
41、可选地,所述的sbom共享方法,其中,根据所述第三sbom信息与所述第一sbom信息之间的差异评分值和所述第一积分值的基准值,确定所述第一积分值,包括:
42、将所述第一积分值的基准值与第三数值进行相乘计算,获得所述第一积分值;所述第三数值等于所述差异评分值与1之和。
43、可选地,所述的sbom共享方法,其中,所述方法还包括:
44、在获得所述第一区块链节点的sbom信息获取请求之后,根据区块链系统中的所述区块数据为所述第一区块链节点提供sbom信息,且从所述第一区块链节点当前的总积分值中扣除第三积分值。
45、可选地,所述的sbom共享方法,其中,所述方法还包括:
46、在获得所述第一区块链节点的sbom信息获取请求之后,在所述第一区块链节点为第一类型节点的情况下,获取所述区块链系统的所述区块数据中所述sbom信息获取请求所请求的sbom信息,以及向所述第一区块链节点提供所请求的sbom信息;在所述第一区块链节点为第二类型节点的情况下,获取所述区块链系统的所述区块数据中与所述第一区块链节点相关联的sbom信息,以及向所述第一区块链节点提供相关联的sbom信息;
47、其中,所述第二类型节点与至少一个所述第一类型节点相连接,所述第二类型节点的第一sbom数据,通过所述第一类型节点上传至区块链系统。
48、可选地,所述的sbom共享方法,其中,所述方法还包括以下的一项或多项:
49、当在区块链系统上检测到紧急漏洞时,对所述区块链系统上的区块数据进行关联分析,获得所述紧急漏洞的sbom关联数据,并在所述区块链系统上发布所述sbom关联数据;
50、当根据所述第一sbom数据中的第一sbom信息,进行许可风险校验,确定所述第一sbom信息存在许可风险时,记录所述第一sbom信息的许可风险,并在所述区块链系统上广播所述第一sbom信息的许可风险。
51、可选地,所述的sbom共享方法,其中,所述第一sbom数据中还包括第一区块链节点的唯一标识符,所述唯一标识符为根据所述第一区块链节点的节点相关信息和加入区块链系统的时间生成;
52、其中,判断获取所述第一sbom数据之前是否获取到所述第一区块链节点的第二sbom数据,包括:
53、根据所述唯一标识符,判断获取所述第一sbom数据之前是否获取到所述第一区块链节点的第二sbom数据。
54、可选地,所述的sbom共享方法,其中,所述方法还包括:
55、在所述第一区块链节点为第一类型节点的情况下,将所述第一sbom数据对应的区块数据的区块信息发送至与所述第一区块链节点相连且距离最近的且为第一类型节点的第二区块链节点;
56、在所述第一区块链节点为第二类型节点的情况下,将所述第一sbom数据对应的区块数据的区块信息发送至与所述第一区块链节点直连的第一类型节点。
57、可选地,所述的sbom共享方法,其中,获取第一区块链节点的第一sbom数据,包括:
58、在所述第一区块链节点为第一类型节点的情况下,获取所述第一区块链节点上传的所述第一sbom数据;
59、在所述第一区块链节点为第二类型节点的情况下,获得通过第三区块链节点上传的所述第一区块链节点的第一sbom数据;其中,所述第三区块链节点与所述第一区块链节点相连接,且属于第一类型节点。
60、本技术其中一实施例还提供一种软件物料清单sbom共享装置,其中,包括:
61、获取模块,用于获取第一区块链节点的第一sbom数据;
62、校验模块,用于对所述第一sbom数据在区块链系统发布的有效性进行校验,获得校验结果;
63、数据生成模块,用于在所述校验结果为校验通过的情况下,生成所述第一sbom数据对应的区块数据。
64、本技术其中一实施例还提供一种处理设备,其中,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上任一项所述的sbom共享方法。
65、本技术其中一实施例还提供一种可读存储介质,其中,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上任一项所述sbom共享方法中的步骤。
66、本技术其中一实施例还提供一种计算机程序产品,其中,包括计算机指令,所述计算机指令被处理器执行时实现如上任一项所述sbom共享方法中的步骤。
67、本技术上述技术方案中的至少一个具有以下有益效果:
68、采用本技术实施例所述sbom共享方法,在获取第一区块链节点的第一sbom数据时,需要对第一区块链节点所需要上传的该第一sbom数据的有效性进行校验,只有在校验结果为校验通过的情况下,才生成所上传第一sbom数据对应的区块数据,将第一sbom数据发布在区块链系统上,从而在第一sbom数据上链时进行有效性校验,保证所上传第一sbom数据的真实性、完整性和可用性等。
技术研发人员:张心语,顾宁伦,谢懿,李海明,冉鹏,陈磊,林建宇,刘海霞
技术所有人:中国移动通信有限公司研究院
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
