了解SBOM格式:企业指南

日期: 2025-07-01 作者:Ravi Das翻译:邹铮 来源:TechTarget中国 英文

软件物料清单(SBOM)列出了企业中使用的每个应用程序。这个清单包含应用程序组件、依赖项和库,该标准清单通过提供软件使用透明度,使安全团队能够发现和缓解应用程序安全漏洞,并确保遵守内部和政府法规,从而提高软件供应链的安全性。

为了创建SBOM,软件和安全团队首先需要选择标准化的SBOM格式。三种常见的SBOM格式是CycloneDXCycloneDX, Software Package Data ExchangeSPDX)和Software IdentificationSWID)标签。

下面让我们学习SBOM的要素和三种SBOM格式的详细信息,并了解如何在这三种格式中做出选择。

SBOM的要素是什么?

CISA建议SBOM应包含几个要素。至少,应该包括以下:

  • 创建者姓名。列出创建SBOM的个人或组织的名称。必要时包括尽可能多的人,并尽可能包括联系信息。
  • 时间戳。包括创建SBOM的日期和时间。
  • SBOM的类型。此可选属性说明有助于用户了解创建SBOM的原因和方式。
  • 主要组件。也被称为依赖的根源,主要组件是SBOM的主要元素,例如产品或应用程序。

还应该包括以下组件数据,关于每个主要组件及其依赖项:

  • 组件名称。
  • 组件版本。
  • 供应商名称。
  • 额外的唯一标识符。
  • 加密哈希。
  • 依赖关系。
  • 许可证。
  • 版权声明。
  • 已知 CVE(可选)。
  • 上次更新或修补(可选)。

供应商的合同责任以及缺失或相互冲突的数据可能会让团队无法获取所有这些数据点。当这种情况发生时,写无内容空值

常见的SBOM格式

三种标准SBOM格式是CycloneDXSPDXSWID标签。让我们进一步了解每个选项。

CycloneDX

OWASP的开源CycloneDX SBOM格式旨在降低网络风险,并提高源代码开发的安全性。OWASP设计的CycloneDX比其他格式更轻巧,这是敏捷组织的理想选择。

CycloneDX将软件的组件、服务、依赖项和组成分解成可读的列表。安全团队可以添加有关软件的重要数据和详细信息,包括漏洞、制造和部署信息,以及其他背景信息。

该格式适用于XMLJSON和协议缓冲数据格式,适合专注于识别和跟踪漏洞的企业。

CycloneDX支持创建以下:

  • SaaSBOMsSaaSBOMs记录了SaaS应用程序的不同组件和服务。CycloneDX涵盖HTTP/HTTPSRESTGraphQLMQTT协议。
  • 硬件BOMHBOM包含物联网设备和工业控制系统。
  • 加密BOMCBOM包括软件中使用的加密资产的详细信息。
  • 机器学习BOMML-BOM列出了用于MLAI集成到软件中的模型和数据集。
  • 操作BOMOBOM包含运行时环境及其硬件、系统、固件、库等。
  • 漏洞披露报告。CycloneDX记录并发布报告,有关已知漏洞以及如何对SBOM中组件进行补救。
  • 漏洞可利用性数据交换(VEX)。安全团队可以创建VEX,记录发现的任何组件漏洞的详细信息、背景信息和补救工作。

SPDX

SPDXLinux基金会创建,这个开源SPDX2021年成为唯一国际公认的SBOM标准,称为ISO/IEC 5962:2021。在需要管理所用软件组件的许可证以及缓解漏洞时,大型企业通常会选择SPDX

SPDX包含应用程序组件、许可证和版权信息以及安全参考。为了提高安全性,各团队可以使用通用的全局参考系统(例如通用平台枚举、软件遗产持久ID或软件包URL)来连接软件工件。SPDX还支持各种文件格式,包括SPDXJSONYAMLRDFXLS

SPDX由以下三个部分组成:

  • SPDX规范。
  • SPDX许可计划。
  • SPDX工具和库。

后者由社区与商业供应商工具一起构建。开源SPDX工具包括以下:

  • Build。创建插件或扩展,提供构建文件元数据和源文件。
  • Audit Tool。使用各种审计技术分析源代码的模块。
  • License Diff。使安全团队能够记录源代码模块之间的差异。
  • Merge。在软件开发过程中,将所有源代码模块转换为一种统一格式。

SWID标签

NISTSWID标签与CycloneDXSPDX不同,因为它在技术上不是成熟的SBOM格式。SWID标签包含有关软件的标准化信息,这可帮助软件和安全团队跟踪已安装的软件,以保持与许可协议的合规性,并更新补丁。它们不会像CycloneDXSPDX那样汇总所有软件的信息。相反,SWID标签制作者(软件和平台开发人员)创建标签来帮助SWID标签消费者(即使用该软件的企业)获得其产品组件的透明度。

安全团队可以将SWID标签集成到安全用例的自动扫描工具中,包括漏洞扫描。NIST目前正在将SWID标签数据添加到国家漏洞数据库中。SWID标签数据已添加到安全内容自动化协议(SCAP)版本1.3中。

除了跟踪托管设备上已安装的软件外,SWID标签还帮助团队完成以下操作:

  • 确定应用程序开发过程中使用的软件组件是否符合企业安全策略。
  • 应用软件补丁和更新。
  • 确认有效的配置流程是否到位。
  • 寻找、弃用过时的旧软件,并用较新版本替换。
  • 检测对软件安装介质所做的更改。
  • 停止未经授权的软件安装。

比较CycloneDXSPDXSWID标签

虽然这三种工具都可帮助软件和安全团队创建和维护SBOM,但我们需要了解它们之间的差异。

工具

优势

缺点

CycloneDX

  • 被设计用于跟踪整个软件开发生命周期的安全风险
  • 轻量化设计
  • 支持JSONXML
  • 可用于关键基础设施和关键任务数据集
  • 对合规性的关注有限
  • 较少关注跟踪许可细节
  • 在安全行业之外几乎没有市场

SPDX

  • 提供广泛的许可支持
  • 支持YAMLXLMJSONRDF
  • ISO/IEC 标准
  • 不太适合漏洞管理
  • 对较小型企业来说,部署可能很复杂

SWID标签

  • ISO/IEC标准
  • 可帮助资产跟踪
  • 最好用于软件资产管理
  • 不是真正的SBOM格式
  • 没有详细的安全或许可信息
  • 无法包含版本、创建者和许可方以外对数据

如何选择SBOM格式

很多行业都需要SBOM,例如向美国联邦机构销售的供应商、某些医疗保健和医疗设备制造商以及金融机构。即使企业没有被要求采用SBOM,他们也应该创建SBOM来获得安全益处。

这就提出了该如何选择SBOM格式的问题。在评估CycloneDXSPDXSWID标签时,请考虑以下几点:

  • SBOM的目标。如果你的团队需要它来进行漏洞管理,CycloneDX是理想的选择。如果你需要它遵守许可协议,SPDX是最好的。
  • 集成需求。确保所选的SBOM格式与你团队的软件开发工具配合使用。例如,该格式应与持续集成/持续交付管道集成,并支持产品生命周期管理、ERP和质量管理系统软件。
  • 可扩展性要求。确保SBOM格式能够根据你的组织要求快速适应新的项目需求、复杂性和规模。
  • SBOM格式培训。图形用户界面必须足够简单,以便软件开发团队快速、有效和高效地使用。团队应该能够从单个仪表板中收集信息和数据。
  • 自动化需求。使用自动化来确保每当软件组件被修补或删除时,SBOM都会快速更新。
  • 合规需求。验证SBOM格式是否可以根据需要生成合规性报告,例如,以保持对数据隐私法的遵守。
  • 社区支持。本文中列出的三种SBOM格式都是开源,因此健康的社区支持是关键,以保持相关性、更新并包含在未来的SBOM创建工具中。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Ravi Das
Ravi Das

翻译

邹铮
邹铮

相关推荐