了解最新技术文章
在我们的第 8 份年度软件供应链状况报告中,我们详细介绍了即将出台的旨在保护全球国家利益的政府法规。由于软件通常是从第三方开源组件构建的,因此一项关键工作是跟踪和管理这些组件。
管理这些的一种方法是通过“软件物料清单”或SBOM。
通过行政命令,美国现在要求政府机构以及与政府签订软件采购合同的机构使用 SBOM。他们希望的目标将改善整个软件行业:
“虽然美国联邦承包商将首先被要求创建 SBOM,但倡导者具有将它们纳入软件开发过程的全球视野。随着现有标准变得越来越流行,为每个新软件组件制作相邻的 SBOM 将成为最佳实践。结果将是一个建立在透明度之上的更强大的生态系统。” (来源)
我们对 2023 年的预测之一是今年是SBOM 年。尽管有很多要求,但联邦组织没有推荐特定的 SBOM 格式。下面列出的三个项目在各种行业中得到认可,并且在美国联邦政府的软件材料清单元素和注意事项中明确提及。由于详细说明软件组件有不同的可用格式,我们编制了一份列表,列出了您选择一种格式而不是另一种格式的可能原因。
CycloneDX 是一个“提供高级供应链功能以降低网络风险的标准。CycloneDX 是一种轻量级软件物料清单 (SBOM) 标准,设计用于应用程序安全上下文和供应链组件分析。(来源)”
该标准得到了OWASP 基金会的支持,并得到了全球社区的支持。功能包括:
专为 SBOM 构建——具有组件标识。
轻量级协议——意味着它易于构建、维护和管理。
多种格式——JSON、XML 和广泛的支持使得与其他开发工具的集成变得容易。
开源——在 Apache 2.0 许可下发布。
广泛的行业支持——Intel、IBM、Sonatype等。
安全性——具有 XML 和 JSON 格式的可用数字签名。
更多关于OWASP – CycloneDX的信息。
软件包数据交换或 SPDX 是“用于传达软件材料清单信息的开放标准,包括出处、许可、安全和其他相关信息。SPDX 通过为组织和社区提供共享重要数据的通用格式来减少冗余工作,从而简化和提高合规性、安全性和可靠性。” (来源)
SPDX 是一个Linux 基金会项目,具有以下特点:
合规性——强大的知识产权和许可证重点管理。SPDX 植根于许可证合规性,这是它最强大的领域。
全面– 提供大量的深度和分析,包括许可证信息的文件级详细信息。
已经 熟悉- 多个行业的一部分,包括一些医疗保健和汽车行业的许可证合规性。
开源——根据知识共享公共许可证发布。
支持评论和代码片段——有关决策的详细信息、审阅者注释等(也即将在 CycloneDX 中提供)。
更多来自Linux Foundation的SPDX。
“……定义了一种用于描述软件产品的结构化元数据格式。SWID 标签文档由一组结构化的数据元素组成,这些数据元素标识软件产品、描述产品版本、在产品的生产和分发中发挥作用的组织和个人、有关组成软件产品的工件的信息、软件产品和其他描述性元数据之间的关系。” (来源)
有关SWID (NIST.gov) 的更多信息。
“……是对现有方法进行标准化以可靠地识别和定位软件包的尝试。
purl 是一个 URL 字符串,用于在编程语言、包管理器、打包约定、工具、API 和数据库中以最通用和统一的方式识别和定位软件包。
这样的包 URL 对于使用基于熟悉的 URL 的简单而富有表现力的语法和约定可靠地引用相同的软件包很有用。” (来源)
CycloneDX 和 SPDX 都支持 Purl 标识符。它们正迅速成为描述各种生态系统中开源组件的标准,该标准包含来自这些生态系统的现有命名约定。
更多关于purl。
尽管我们研究的一些公司使用多种格式,但这可能意味着额外的复杂性。就像一些国家不得不在华氏度或摄氏度之间做出选择一样,在中途切换它们可能意味着额外的工作,以及潜在的能力或保真度损失。
由于 SBOM 标准侧重于项目之间的沟通,因此值得与行业合作伙伴讨论他们的选择。例如,直接与 Microsoft 合作的客户使用 SPDX 可能会得到更好的服务,而 IBM 合作伙伴可能会采用 CycloneDX。
自 CycloneDX 开发初期以来,Sonatype 及其员工一直是支持它的一部分。我们使用CycloneDX 作为我们第三方 API 的基础,并支持导入和导出。我们还贡献了代码和包含漏洞详细信息的初始安全扩展。
然而,我们并不完全专注于 CycloneDX 而排除其他标准。作为Linux Foundation和Open Source Security Foundation的成员,我们还参与了 SPDX 工作组,并焦急地等待即将到来的 v3.0 规范。
SBOM 正在与计算的未来保持一致,以尝试观察和理解安全和开发方面的变化。即将发生的一些变化:
密码材料清单——对于后量子计算世界的安全至关重要。
处理机器学习工具的 SBOM。
用于“低代码”平台的 SBOM,有助于为更少的技术人员启用工具并为软件工程师更快地实现自动化。
在 Sonatype 博客上,我们将在未来几周分享更多有关如何使用 SBOM 降低法律风险的信息。
上一篇:没有了!