软件物料清单(SBOM)列出了企业中使用的每个应用程序。这个清单包含应用程序组件、依赖项和库,该标准清单通过提供软件使用透明度,使安全团队能够发现和缓解应用程序安全漏洞,并确保遵守内部和政府法规,从而提高软件供应链的安全性。
为了创建SBOM,软件和安全团队首先需要选择标准化的SBOM格式。三种常见的SBOM格式是CycloneDX、CycloneDX, Software Package Data Exchange(SPDX)和Software Identification(SWID)标签。
下面让我们学习SBOM的要素和三种SBOM格式的详细信息,并了解如何在这三种格式中做出选择。
SBOM的要素是什么?
CISA建议SBOM应包含几个要素。至少,应该包括以下:
- 创建者姓名。列出创建SBOM的个人或组织的名称。必要时包括尽可能多的人,并尽可能包括联系信息。
- 时间戳。包括创建SBOM的日期和时间。
- SBOM的类型。此可选属性说明有助于用户了解创建SBOM的原因和方式。
- 主要组件。也被称为依赖的根源,主要组件是SBOM的主要元素,例如产品或应用程序。
还应该包括以下组件数据,关于每个主要组件及其依赖项:
- 组件名称。
- 组件版本。
- 供应商名称。
- 额外的唯一标识符。
- 加密哈希。
- 依赖关系。
- 许可证。
- 版权声明。
- 已知 CVE(可选)。
- 上次更新或修补(可选)。
供应商的合同责任以及缺失或相互冲突的数据可能会让团队无法获取所有这些数据点。当这种情况发生时,写“无内容”或“空值”。
常见的SBOM格式
三种标准SBOM格式是CycloneDX、SPDX和SWID标签。让我们进一步了解每个选项。
CycloneDX
OWASP的开源CycloneDX SBOM格式旨在降低网络风险,并提高源代码开发的安全性。OWASP设计的CycloneDX比其他格式更轻巧,这是敏捷组织的理想选择。
CycloneDX将软件的组件、服务、依赖项和组成分解成可读的列表。安全团队可以添加有关软件的重要数据和详细信息,包括漏洞、制造和部署信息,以及其他背景信息。
该格式适用于XML、JSON和协议缓冲数据格式,适合专注于识别和跟踪漏洞的企业。
CycloneDX支持创建以下:
- SaaSBOMs。SaaSBOMs记录了SaaS应用程序的不同组件和服务。CycloneDX涵盖HTTP/HTTPS、REST、GraphQL和MQTT协议。
- 硬件BOM。HBOM包含物联网设备和工业控制系统。
- 加密BOM。CBOM包括软件中使用的加密资产的详细信息。
- 机器学习BOM。ML-BOM列出了用于ML和AI集成到软件中的模型和数据集。
- 操作BOM。OBOM包含运行时环境及其硬件、系统、固件、库等。
- 漏洞披露报告。CycloneDX记录并发布报告,有关已知漏洞以及如何对SBOM中组件进行补救。
- 漏洞可利用性数据交换(VEX)。安全团队可以创建VEX,记录发现的任何组件漏洞的详细信息、背景信息和补救工作。
SPDX
SPDX由Linux基金会创建,这个开源SPDX在2021年成为唯一国际公认的SBOM标准,称为ISO/IEC 5962:2021。在需要管理所用软件组件的许可证以及缓解漏洞时,大型企业通常会选择SPDX。
SPDX包含应用程序组件、许可证和版权信息以及安全参考。为了提高安全性,各团队可以使用通用的全局参考系统(例如通用平台枚举、软件遗产持久ID或软件包URL)来连接软件工件。SPDX还支持各种文件格式,包括SPDX、JSON、YAML、RDF和XLS。
SPDX由以下三个部分组成:
- SPDX规范。
- SPDX许可计划。
- SPDX工具和库。
后者由社区与商业供应商工具一起构建。开源SPDX工具包括以下:
- Build。创建插件或扩展,提供构建文件元数据和源文件。
- Audit Tool。使用各种审计技术分析源代码的模块。
- License Diff。使安全团队能够记录源代码模块之间的差异。
- Merge。在软件开发过程中,将所有源代码模块转换为一种统一格式。
SWID标签
NIST的SWID标签与CycloneDX和SPDX不同,因为它在技术上不是成熟的SBOM格式。SWID标签包含有关软件的标准化信息,这可帮助软件和安全团队跟踪已安装的软件,以保持与许可协议的合规性,并更新补丁。它们不会像CycloneDX和SPDX那样汇总所有软件的信息。相反,SWID标签制作者(软件和平台开发人员)创建标签来帮助SWID标签消费者(即使用该软件的企业)获得其产品组件的透明度。
安全团队可以将SWID标签集成到安全用例的自动扫描工具中,包括漏洞扫描。NIST目前正在将SWID标签数据添加到国家漏洞数据库中。SWID标签数据已添加到安全内容自动化协议(SCAP)版本1.3中。
除了跟踪托管设备上已安装的软件外,SWID标签还帮助团队完成以下操作:
- 确定应用程序开发过程中使用的软件组件是否符合企业安全策略。
- 应用软件补丁和更新。
- 确认有效的配置流程是否到位。
- 寻找、弃用过时的旧软件,并用较新版本替换。
- 检测对软件安装介质所做的更改。
- 停止未经授权的软件安装。
比较CycloneDX、SPDX与SWID标签
虽然这三种工具都可帮助软件和安全团队创建和维护SBOM,但我们需要了解它们之间的差异。
工具 |
优势 |
缺点 |
CycloneDX |
|
|
SPDX |
|
|
SWID标签 |
|
|
如何选择SBOM格式
很多行业都需要SBOM,例如向美国联邦机构销售的供应商、某些医疗保健和医疗设备制造商以及金融机构。即使企业没有被要求采用SBOM,他们也应该创建SBOM来获得安全益处。
这就提出了该如何选择SBOM格式的问题。在评估CycloneDX、SPDX和SWID标签时,请考虑以下几点:
- SBOM的目标。如果你的团队需要它来进行漏洞管理,CycloneDX是理想的选择。如果你需要它遵守许可协议,SPDX是最好的。
- 集成需求。确保所选的SBOM格式与你团队的软件开发工具配合使用。例如,该格式应与持续集成/持续交付管道集成,并支持产品生命周期管理、ERP和质量管理系统软件。
- 可扩展性要求。确保SBOM格式能够根据你的组织要求快速适应新的项目需求、复杂性和规模。
- SBOM格式培训。图形用户界面必须足够简单,以便软件开发团队快速、有效和高效地使用。团队应该能够从单个仪表板中收集信息和数据。
- 自动化需求。使用自动化来确保每当软件组件被修补或删除时,SBOM都会快速更新。
- 合规需求。验证SBOM格式是否可以根据需要生成合规性报告,例如,以保持对数据隐私法的遵守。
- 社区支持。本文中列出的三种SBOM格式都是开源,因此健康的社区支持是关键,以保持相关性、更新并包含在未来的SBOM创建工具中。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
作者
翻译
相关推荐
-
SecOps即将发生变化:你准备好了吗?
我们即将见证安全运营史上最大变化。代理AI正在带来新水平的自动威胁检测、分析、调查和响应,而且正在迅速到来。 […]
-
什么是数据风险管理?关键风险和最佳做法
数据风险管理是风险管理的一种特定形式,通常涉及数据隐私、安全性、可接受使用政策、立法指令或法规合规性。其目的是 […]
-
RSAC 2025:是时候采用加密灵活性
可能还有5年、10年或15年,但量子计算机很快会到来。企业现在必须为那一天做好准备,其中一种方法是采用加密灵活 […]
-
如何确保OT安全远程访问并防止攻击
运营技术(OT)支撑着基础设施,而基础设施支持着全球各地的关键工业系统。随着互联网连接引入这些环境,以及网络威 […]