「 网络安全常用术语解读 」软件物料清单SBOM详解

1. 概览

软件物料清单(Software Bill of Materials,SBOM)是软件成分信息的集合,SBOM文件中记录了软件产品或服务所使用组件、库、框架的清单,用于描述软件构建过程中使用的所有组件及其关系,以实现软件供应链的自动化识别与管理的需求。SBOM 属性主要包括基线属性集、未确定的属性值、映射到现有的格式、组件关系以及附加元素,如下图所示:

SBOM已经广泛应用,可以看作软件成分清单的一种实现标准,根据美国国家电信和信息管理局(National Telecommunications and Information Administration,NTIA)要求软件企业提供的 SBOM 是一个正式的、机器可读的列表。

2. 主流 SBOM 格式

当前 SBOM 有三种最为主流的格式,分别为:SPDX、SWID 以及 CycloneDX。具体明细对比如下:

比较项 SPDX CycloneDX SWID
定义 一种标准语言,用于以多种文件格式传达与软件组件相关的组件、许可证、版权和安全信息。 一种轻量级SBOM标准,设计用于应用程序安全上下文和供应链组件分析。 SWID 标准定义了一个生命周期,其中SWID 标签作为软件产品安装过程的一部分添加到端点,并在产品卸载过程中删除。
维护主体 Linux基金会 OWASP、Sonatype、ServiceNow NIST
支持格式 RDFa、xlsx、spdx、xml、json、yam XML、JSON XML
元数据 文档创建信息,组件信息,文件信息,文件片段信息,证书信息,SPDX元素之间的关系,注释信息 供应商,制作商,组件信息,证书信息,创建BOM的工具信息,外部API信息,依赖关系信息 语料库标签 :描述预安装阶段的软件(TAR、ZIP 文件、可执行文件); 主要标签 :提供产品名称、标签的全球唯一标识符以及标识标签创建者的基本信息; 补丁标签 :标识并描述应用于产品的补丁; 补充标签:增加主要或补丁标签的附加细节。

漏洞利用交换(Vulnerability Exploitability Exchange,VEX )和 SaaSBOM 是软件成分清单的两个辅助套件,是对传统SBOM 的延伸与扩展,可以视情况选择独立或者与 SBOM 整合。若要了解更多关于VEX的细节,可以参阅博主文章《「 网络安全常用术语解读 」漏洞利用交换VEX详解》

SaaSBOM 通过提供系统的逻辑表示形式来补充 IaC(基础设施即代码),包括所有服务的清单、它们对其他服务的依赖、端点 URL、数据分类以及服务之间的数据定向流。

3. SBOM的获取方式

SBOM 可以通过两种方式获取:一是供应商主动提供软件成分清单;另一种是利用软件成分分析SCA工具来自动生成SBOM:

4. 总结

使用 SBOM,可以更好地跟踪和管理软件的变更,有助于减少错误,提高软件开发的效率。然而,由于软件的生命周期通常比硬件产品更长,且变更更频繁,维护 SBOM 存在一定的挑战。

5. 参考文档


推荐阅读

相关推荐
筑梦之月6 个月前
安全术语 | 软件包purl详解:跨工具、数据库、API和语言之间可靠地识别和定位软件包
开源治理
筑梦之月7 个月前
「 网络安全常用术语解读 」SBOM主流格式SWID详解
sbom·开源治理
网安 云的小运营9 个月前
“软件定义汽车”时代下的软件供应链安全
安全·汽车·车联网·sbom·软件供应链安全·软件物料清单
manok1 年前
展望2024年供应链安全
代码审计·安全性测试·供应链安全·代码安全·开源治理
redrose21001 年前
JFrog----基于Docker方式部署JFrog
安全·sbom
redrose21001 年前
JFrog----常见的开源协议以及应用注意点
安全·jfrog·sbom