写点什么

仅仅发布 SBOM 是不够的,质量和可用性因项目而异

  • 2023-02-06
    北京
  • 本文字数:1237 字

    阅读完需:约 4 分钟

仅仅发布SBOM是不够的,质量和可用性因项目而异

软件物料清单(SBOM)正成为确保软件供应链健康的重要组成部分。最近对开源存储库中 SBOM 的质量和可用性进行的一项评估发现,SBOM 的可用性和实现存在很大的差异。OpenSSF开源软件安全动员计划有一个专门的流来改进 SBOM 的可用性、生成和消费。

 

正如开源软件安全动员计划的作者所指出的那样,“仅仅发布 SBOM 是不够的,还需要积极地使用它们”。然而,Chainguard 的安全数据科学家John Speed Meyers怀疑,我们是否也需要专注于确保高质量的生成工具的存在。Meyers 指出:

 

尽管存在许多 SBOM 生成工具(以及许多 SBOM 的隐含存在),但 SBOM 消费工具仍难以解析格式不正确和不完整的 SBOM,并且实现软件透明度的目标仍然遥不可及。

 

为了“在自然状态下”验证 SBOM 的可用性和质量,Chainguard 创建了一个包含 50 多个公开可用的 SBOM 的数据集(bom-shelter)。然后,该团队针对数据集应用了两个 SBOM 质量评估工具。第一个工具SBOM Scorecard是 eBay 的一个开源项目。第二个工具是来自 SPDX 社区的美国国家电信和信息管理局(NTIA)一致性检查器

 

Meyers 报告称,许多开源项目 SBOM 的质量很低。例如,SBOM Scorecard 工具检查是否存在软件包许可证信息。在被评估的 SBOM 中,只有大约 20%的有此信息。

 

NTIA 一致性检查器根据NTIA“最小元素”框架评估 SBOM。它们将这些最小元素描述为“支持基本 SBOM 功能的基本要素,并将其作为不断演进软件透明度方法的基础”。“最小元素”包括供应商名称、组件名称、组件版本、其他唯一标识符、依赖关系、SBOM 作者和时间戳。所有评估的 SBOM 没有一个全部包含所有这些信息。

 

开源软件安全动员计划提出了十个行动流,重点是提高开源软件的安全性。第九个流侧重于改进 SBOM 工具和培训,以帮助推动整个生态系统采用 SBOM。为了实现这一目标,他们强调了三种方法:

 

  1. 推动就跨各种 SBOM 规范实施的共同要求达成一致

  2. 确保有易于使用的开源工具可以根据这些要求生成 SBOM

  3. 提供无障碍教育、意识和实施指导

 

该团队指出,已经有多种 SBOM 规范可用,其中包括SPDXCycloneDX。工作组的重点不是将所有可用格式整合成一种格式,而是在可用格式之间实现“无缝互操作性”。

 

Amélie KoranWendy NatherStewart ScottSara Ann Brackett最近发表的一篇文章旨在明确定义消费SBOM的用例。他们指出,缺乏明确定义的用例会带来两个主要风险:

 

首先,它有使命偏离的风险,政策制定者可能会在没有明确界定 SBOM 旨在解决的问题的情况下,开始将 SBOM 视为解决所有供应链问题的灵丹妙药。

 

他们强调的第二个风险是由于 SBOM 的价值被低估而导致的采用率低下。作者确定了四个主要用例:采购、漏洞管理和威胁情报、事件响应、以及生态系统映射。

 

Meyers 同意提高 SBOM 可用性及其质量的双重目标,他指出“如果要通过 SBOM 实现软件透明度,SBOM 质量将成为一个关键问题。”有关 SBOM 分析结果的更多详细信息,请访问Chainguard的博客

 

原文链接:

https://www.infoq.com/news/2023/01/sbom-quality-availability/


相关阅读:

Linux 基金会《软件材料清单(SBOM) 与网络安全准备度》报告深度解读 


2023-02-06 09:243377

评论

发布
暂无评论
发现更多内容

cstdio的源码学习分析11-格式化输入输出函数fprintf---format解析跳转表逻辑分析

桑榆

c++ 源码刨析 10月月更

nginx快速入门

Studying_swz

10月月更

docker学习笔记(一)

Studying_swz

10月月更

基础结构:链表 回文链表

芯动大师

Python 10月月更 回文数

牛客刷题系列(完全数计算,扑克牌大小)

雪芙花

c c++ 10月月更

一份经过时间检验的 Laravel PHPUnit 测试经验分享

乌龟哥哥

10月月更

工赋开发者社区 | Gartner发布2023年十大战略技术趋势

工赋开发者社区

C++11智能指针(auto_ptr,unique_ptr,shared_ptr,weak_ptr的详解与模拟实现)

雪芙花

c c++ 10月月更

Spring Boot「09」Property 高级特性

Samson

Java 学习笔记 Spirng spring-boot 10月月更

运维服务体系架构

阿泽🧸

10月月更 运维服务

docker学习笔记(二)

Studying_swz

Docker 10月月更

工赋开发者社区 | 精益思想与数字化技术难融合?

工赋开发者社区

什么是IP路由?思科与华为在IP路由配置上有啥区别?

wljslmz

路由器 动态路由 静态路由 10月月更 IP 路由

如何进行项目管理?

老张

项目管理

深入理解java中的自动装箱与拆箱

乌龟哥哥

10月月更

C/C++的类型转换

雪芙花

c c++ 10月月更

2022-10-19:一个数组如果满足 : 升降升降升降... 或者 降升降升...都是满足的 给定一个数组, 1,看有几种方法能够剔除一个元素,达成上述的要求 2,数组天然符合要求返回0 3,剔

福大大架构师每日一题

算法 rust 福大大

聊聊 K8S:K8S集群搭建实战

老周聊架构

k8s 10月月更

【内网渗透】一次简单内网靶场渗透

网络安全学海

黑客 网络安全 安全 信息安全 渗透测试

【愚公系列】2022年10月 Go教学课程 033-结构体方法重写、方法值、方法表达式

愚公搬代码

10月月更

Centos7 搭建Jupyter NoteBook教程

Yeats_Liao

后端 虚拟机 10月月更

Pixel系列还能打,靠的是什么?

脑极体

人工智能

ZooKeeper基本架构

穿过生命散发芬芳

zookeeper 10月月更

CAN与CAN FD通信之间存在的问题

不脱发的程序猿

汽车电子 CAN总线 CAN FD总线 CAN与CAN FD通信问题 CAN与CAN FD通信

工赋开发者社区 | 即使是程序员也会喜欢这8种无代码/低代码工具

工赋开发者社区

一文搞懂CAN和CAN FD总线协议

不脱发的程序猿

汽车电子 通信协议 CAN总线 CAN和CAN FD总线协议 CAN FD总线

Centos7 搭建单机Spark分布式集群

Yeats_Liao

后端 虚拟机 10月月更

Windows Update MiniTool 20.12.2016 控制Window更新下载及使用教程

Yeats_Liao

工具 windows 10月月更

公司没钱了,工资发不出来,作为员工怎么办?

石云升

离职 职场经验

如何监测MySQL是否命中索引?

乌龟哥哥

10月月更

仅仅发布SBOM是不够的,质量和可用性因项目而异_语言 & 开发_Matt Campbell_InfoQ精选文章