深度解读 | 关于 SBOM 最基础元素,你需要知道的(Part II)

2年前 (2022) 程序员胖胖胖虎阿
183 0 0

“企业和组织应该将重点放到 SBOM 使用机制的实践和流程上,并且将其集成到安全开发生命周期的日常活动中。” 

文章关键词:SBOM;SBOM 最基础元素;数据字段;自动化支持;最佳实践和流程 

前文我们围绕“什么是软件基础设施透明度”、“为什么制定最基础 SBOM”、“最基础 SBOM 对各方优势”、“最基础 SBOM 涉及范围”等多个方面,对美国商务部与国家电信和信息管理局(NTIA)发布的 SBOM 最基础元素指南给大家做了一个初步的介绍。 在接下来的文章中,我们会详细为大家介绍 SBOM 最基础元素涉及的三个方面:数据字段、自动化支持与最佳实践和流程。前文提到:“我们对数字基础设施的信任度与基础设施的可信度和透明度成正比。”这些最基础元素代表着本指导意见对于企业和组织对于提升软件供应链安全的最基本要求。后续企业和组织可以针对自身情况在此基础上增加信息来提升软件供应链安全的透明度。 

软件的“树状结构”

软件与组件的关系可以用树形结构来表示,软件是由不同的组件组成,而组件也是由很多子组件组成。
深度解读 | 关于 SBOM 最基础元素,你需要知道的(Part II)
图 1.软件组件间的树状结构示意

组件的来源通常是第三方,但也可以是“甲方”,比如说来自同一供应商但能够被唯一识别,作为一个独立的、可跟踪的单元。每一个组件都应该拥有其 SBOM 表来构建这个树形结构。从工具和统一格式构建的这些数据字段可以在流程与实践中获得更多的自动化能力。 

数据字段

SBOM 的核心思想是拥有一个一致的、统一的结构,用以展示和捕捉软件中组件的信息。这些数据字段组成了追踪和维护组件信息的基线,来充分的识别组件,并且把这些信息与漏洞数据和许可证数据相互映射,为提升软件供应链安全提供更多有价值的信息。这些目标数据字段中大部分是用以与其他数据源建立映射关系。

该指导意见中给出的组件信息的基线包括:
深度解读 | 关于 SBOM 最基础元素,你需要知道的(Part II)

自动化支持

自动化支持的目标是实现在现有工具的基础上构建易于采用、支持未来发展并兼顾可扩展性。自动化支持包括两个方面:自动生成的能力和机器的可读性。这其中需要跨组织和跨软件生态系统的扩展能力。所以,不应包括使用专有的数据格式的标准。 

自动化支持可发挥巨大的作用,举两个例子,比如有些组织机构需要将这些数据融入到现有的漏洞管理系统中,亦或是需要进行安全策略方面的实时审计。 

该指导意见强调了使用工具在生成可预测的执行策略和数据格式中的重要作用。这些数据格式不但需要机器可读,也需要人的可读性强,因为可以更好地支持错误排查和创新。 

针对这些核心数据字段的语法形态,业界已经有多个国际组织共同制定的数据格式标准,比如以下: 

  • Software Package Data eXchange (SPDX)
  • CycloneDX
  • Software Identification (SWID) tags 

值得注意的是,为了更好地跨组织传递信息,SBOM 必须是可互认、可互用的方式。如果出现与其他数据格式兼容的新规范,则应在 SBOM 的最基础元素指导意见中包含针对此新规范的自动化支持。类似地,如果已经确定某数据格式不再交叉兼容,或者没有得到积极维护和支持 SBOM 用例,则应从自动化支持章节中删除该数据格式,不再作为 SBOM 最基础元素的一部分。并且数据格式不应包括私有的格式标准。这实现了在现有工具的基础上构建易于采用、支持未来发展以及可扩展性。 

流程和最佳实践

该指导意见指出,为了更好地实现 SBOM 的价值,企业和组织应该将重点放到 SBOM 使用机制的实践和流程上,并且将其集成到安全开发生命周期的日常活动中。在索要 SBOM 和提供 SBOM 的时候,需要提供一些基本要素。这其中有一些比较直接的要求,比如更新频率。但是同时也存在一些诸如访问控制之类的要求,这类要求存在多种具体实施方法并且在不断发展之中。 

该指导意见给出的一些流程和最佳实践方面的要求有:
深度解读 | 关于 SBOM 最基础元素,你需要知道的(Part II)

此外还有一些要求:
深度解读 | 关于 SBOM 最基础元素,你需要知道的(Part II)

以上是对《 SBOM 的最基础元素》指南中的数据字段、自动化支持与最佳实践和流程的深度解读,欢迎交流讨论。 

在接下来的文章中,安势信息会为大家详细展开与 SBOM 最基础元素相结合的使用场景。敬请关注!

相关文章

暂无评论

暂无评论...