CRA SBOM 与组件记录

Sytance · 更新于

CRA 要求制造商在漏洞处理过程中掌握产品的组件信息。附件 I 要求制造商识别和记录漏洞及组件,包括编制软件物料清单(SBOM)。

附件 I 要求

识别并记录含数字要素产品中的漏洞和组件,包括编制采用常用且机器可读格式的软件物料清单,至少覆盖产品的顶层依赖项;

英文原文:
identify and document vulnerabilities and components contained in products with digital elements, including by drawing up a software bill of materials in a commonly used and machine-readable format covering at the very least the top-level dependencies of the products;

欧盟条例 (EU) 2024/2847, 附件 I 第二部分第 1 项(中文为非官方译文;英文为原文)

SBOM 属于产品组件记录,帮助制造商查明产品包含哪些软件组件,以及哪些漏洞可能影响这些组件。

需要区分的对象

SBOM

机器可读的软件组件记录。附件 I 要求至少覆盖顶层依赖。

集成组件

制造商的成品漏洞处理义务可能涉及产品所含组件。

第三方组件

第 13 条要求制造商在集成第三方组件时开展尽职调查。

向主管机关提供 SBOM

按附件 VII,市场监管机关提出说明理由的请求,且核查附件 I 符合性需要 SBOM 时,制造商须提供相应清单。

示例:可追溯的组件记录

以下虚构记录描述控制器固件版本中的一个直接软件依赖,用于说明工程上有用的信息。这些字段不是 CRA 另行规定的数据格式。

  • 产品:控制器固件 1.2.0、发布构建 120;清单依据发布构建及其依赖数据生成。
  • 组件:虚构 Example Components 项目提供的 example-parser 2.4.0,是固件的直接依赖。
  • 标识与来源:软件包标识、准确的源代码修订号或供应商记录,以及根据实际交付文件计算的摘要值。
  • 使用方式:组件解析经认证维护接口上传的配置文件;记录相关构建选项和调用该组件的模块。
  • 证据:关联机器可读 SBOM,以及用于核对条目的构建或供应方记录。组件变化后,仍保留旧版本的组件清单。

组件名称和版本有助于发现候选漏洞。判断产品是否受影响,还需要分析易受攻击代码是否包含在构建中、相关功能是否运行、攻击者能接触哪些输入,以及已有控制。尚未查清的匹配应继续调查,不能作为产品不受影响的证据。

“不受影响”结论应对应具体产品版本和漏洞,并附有技术理由及支持证据。构建选项、组件版本、接口或部署假设变化后,需要重新检查。

与技术文档的关系

附件 VII 要求在技术文档中纳入组件和 SBOM 信息,并说明漏洞处理流程、协调漏洞披露政策、报告联系地址和安全更新分发安排。

漏洞处理流程见 漏洞处理记录 和 prEN 40000-1-3 漏洞处理。

格式状态

附件 I 要求 SBOM 使用常见、机器可读格式,并至少覆盖顶层依赖。第 13 条第 24 款还允许欧盟委员会结合欧洲或国际标准及最佳实践,通过实施法案规定其格式和内容。选择格式时,需要区分法规正文的基本要求与适用实施法案的具体要求。

  • PDF 组件清单不能满足 SBOM 的机器可读格式要求。
  • SBOM 用于识别组件;漏洞处理还包括影响分析、修复和沟通。
  • 附件 VII 规定了主管机关请求 SBOM 的条件,并未要求普遍公开 SBOM。

来源