SPDX 3.0(广泛使用的 SPDX 材料清单规范的一个新版本)正在开发中,预计将在现有版本2.3的基础上进行几项重大改动。
其中包括引入新的“配置文件(profiles)”,旨在更好地服务于特定的 SBOM 用例,如开源许可遵从性和安全性,以及新兴的 SBOM 场景,如 AI 和数据。概要文件还可以用来为软件构建过程提供更高的透明度。此外,与当前的2.3相比,SPDX 3.0文档将具有不同的结构和更大的内置灵活性。
SPDX 3.0 Profiles
从遵从开放源码许可证到安全性以及两者之间的大量内容,存在着各种各样的常见 SBOM 用例(而且这种情况还在不断增加)。当然,并不是每个组织或团队都有创建或使用 SPDX 文档的相同目的。
例如,一个内部的法律团队可能比人工智能模型的细微差别更关心许可证问题。安全团队可能会特别感兴趣的漏洞可利用性信息,如 VEX等等。
概要文件允许软件供应商为他们和他们的客户最关心的用例生产更简单和更定制的 SPDX SBOM。
在 SPDX 3.0中有六个新的配置文件:
许可Licensing: 这个概要文件包含了来自当前 SPDX 2.3的许多与许可相关的数据字段,但是做了一些调整。例如,预计 SPDX 3.0许可配置文件将添加一个“自定义异常”数据字段。(许可证异常“授予许可证条件的异常或超出许可证中授予的额外权限。”当前的 SPDX 2.3有一个已定义的异常列表。)
安全Security: 安全性配置文件包括链接到外部安全性文档的字段,如 CSAF (公共安全咨询框架(Common Security Advisory Framework,CSAF)和 CVE。该提案还增加了嵌入某些最小元素的能力,以传达安全信息,如 VEX (漏洞可利用性 eXchange)状态理由(即,如果一个产品被认为不受漏洞的影响,解释为什么是这种情况)。
构建配置文件Build profile: 这包括与软件构建相关的数据字段。它涵盖了构建配置文件和构建类型(调用构建时使用的工具或基础设施)等领域。构建配置文件提供了验证软件构建来源的必要信息,并确保所提供的软件是它声称的那个软件。
人工智能AI: 人工智能简介旨在传达“对人工智能应用和模型有用”的信息在提议的 AI 配置文件中可用的新数据字段的例子包括“敏感个人信息”、“能源消耗”和“数据预处理步骤”等。
数据集概要Dataset Profile: 这个概要旨在交流关于“用于软件或训练/测试 AI 软件包”的数据集的信息建议的配置文件包括诸如“数据集类型”(如图像、文本或多模态)、“数据集大小”(以字节为单位)和“数据集可用性”(数据集是否可供公众下载或在表单后关闭)等字段。
使用情况Usage Profile: 并非每一个软件的片段或版本都是为了普遍可用性。使用概要文件旨在帮助生产者区分不同阶段的软件,例如设计、原型和测试。
SPDX 3.0的其他变化
虽然新增的配置文件是 SPDX 3.0的亮点之一,但它并不是 SPDX 2.3的唯一变化。下面我们来看看其他一些主要的不同之处。
1.文件结构
在 SPDX 3.0中引入新的概要文件将与一个新的所需数据字段相一致,该字段用于交流 SBOM 描述的概要文件。
SPDX 3.0的结构是这样的: 这些新概要文件堆叠在 SPDX 核心模型(包括文档创建信息等基础数据字段)之上,在许多情况下还包括 SPDX 软件概要文件。(软件配置文件包括熟悉的数据字段,如软件包版本、软件包 URL、声明的许可证和总结的许可证等。)
SPDX 3.0文档必须包含 Core Model,并且可能包含软件配置文件,但是其他用例特定的配置文件是可选的。换句话说,一个 SPDX 3.0 SBOM 的结构如下:
核心模型: 必需;
软件配置文件: 不是必需的,但是推荐给绝大多数 SBOM;
其他配置文件: 根据需要使用。
2.SPDX关系
SPDX 关系是描述元素之间相互关系的一种方式。例如,一个包可能是另一个包的依赖项。
在 SPDX 2.3中,元素(包、文件或代码片段)包含与其他元素的关系列表。如果要添加、删除或修改关系,则必须创建元素的新版本。另外,关系和包含关系的元素必须包含在同一个 SPDX 文档中。
在 SPDX 3.0中,关系将是它自己的元素,而不是另一个元素的属性。这允许您添加新的关系,而不必替换原始元素。您还可以创建一个新的、单独的“文档”,该文档在以前定义的元素之间引入新的关系ーー这是对现有 SBOM 进行额外分析时的常见场景。
3.灵活性
在当前的 SPDX 2.3中,生产者被要求包括 SBOM 文档中的所有元素来传输它。当然,如果您将 SBOM 更新作为大型自动化构建系统的一部分来提供,那么这可能会变得非常耗费资源。SPDX 3.0将使 SBOM 生产者能够提供非常细粒度的信息,包括单个元素。
SPDX 3.0候选发行版(Release Candidate)已于2023年5月8日在温哥华正式发布,这对于 SPDX 项目来说是一个重要的里程碑。SPDX 3.0的目标是将 SPDX 标准扩展到新用例中,使软件工程师、安全专业人员、法律和法规遵循专业人员更容易登录和使用。随着美国政府(EO 14028)和欧盟(Cyber Resiliency Act)最近推动软件依赖和供应链安全,显然需要一个可操作和可用的国际标准。SPDX 3.0旨在成为这样的标准,并作为支撑软件供应链和依赖链透明度和安全性的工具包。
更多资讯wx【泛联新安软件安全实验室】
原文链接:
https://www.codeant.cn/industry_detail?id=09bf1ed0db8b4a57b4010c4a10223fb9