关于 SBOM 最基础元素,你需要知道的(Part I)
“我们对数字基础设施的信任度与基础设施的可信度和透明度成正比。”
在现代世界,软件系统涉及复杂的、动态的而且常常是不清晰的供应链。最近软件供应链安全与合规事件的频发也为企业和组织敲响了警钟。
2021 年 5 月 12 日,针对提升信息安全,美国总统拜登签署了 14028 号行政令,要求美国商务部和国家电信和信息管理局(NTIA)在 60 天内发布关于 SBOM 中最基础元素的指导意见。在 2021 年 7 月 21 日,此指导意见发布。
NTIA 从 2018 年便开始针对软件组件透明度做相关的工作,作为召集人和中立的协调方听取了来自不同领域的声音,来达成一个更为完善可行的成果。
针对越来越多的中国科技型企业走出国门,将产品出口到欧美等海外市场的需求越来越大,机遇和发展前景广阔的同时,遵循欧美等国的各种法律法规和标准成为企业需要面临的挑战。
本文会为大家浅析此指导意见的要求部分。
SBOM 的定义
SBOM 为软件的开发、购买和使用者提供针对提升软件供应链安全的一系列信息,包括安全和合规两个方面。SBOM 无法解决所有的软件安全问题,但是会提供最为基础的信息,通过利用 SBOM 提供的信息,企业和组织可以更为有效、精准的掌控使用的组件信息,在遇到重大安全漏洞的时候可以迅速响应,另一方面,SBOM 可以帮助企业合法合规地使用软件许可证。
为什么要制定最基础 SBOM 规范
SBOM 已经作为美国国家层面针对软件供应链安全的首要工作。本指导意见规定了支持基本用例的最基本元素,例如漏洞管理、软件清单和软件许可证。除了这些最基本的元素外,SBOM 完整性,以及跟踪更详细的供应链数据是在指定最基础 SBOM 基础上后续可以完成的工作,而且这些元素已经显示出了在守护软件供应链安全方面的巨大潜力。但是本指导意见敦促企业和组织尽早开始针对 SBOM 开展工作而非等待 SBOM 体系更成熟。
SBOM 与软件基础设施透明度
软件基础设施的透明度对于构建安全的信息安全环境和降低研发、采购和维护的成本有重要的作用。SBOM 在提升软件基础设施透明度方面发挥了重要的作用。透明度最好的体现方式是使用业界达成共识的模型,这样会有助于在不同的信息来源中系统性地分享诸如组件元数据等相关的数据。为了在全球范围内将该模型进行扩展,解决普遍识别和定义软件组件的问题至关重要,来允许这些数据被下游用户有效和高效地使用。
软件组件的识别是 SBOM 的核心,而 SBOM 又是外部数据和内部软件组件成分信息的粘合剂。从简单的漏洞映射到融合外部数据对 OSS 软件包进行漏洞的持续监控。
SBOM 对各方的优势
软件生产商
对软件生产商来讲,他们使用 SBOM 来确保组件是最新的版本并可以对新出现漏洞做出快速响应。除安全方面以外,SBOM 帮助生产商了解需要遵循的许可义务。这些方面都会提升开发效率和有效性。最终会提升管理效能。
软件使用者
对软件使用者来讲,SBOM 可以极大增强其漏洞风险管理能力。依赖 SBOM 提供的软件生态系统间的依赖信息,软件使用者可以更快速准确地识别和评估新发现漏洞的相关风险,提升响应速度。最终提升风险管理能力。
综上这些只能通过机器可读的 SBOM 来实现,并且 SBOM 需要具备自动化能力、工具融合能力和查询处理这些数据的能力。
该指导意见中最基础 SBOM 涉及的范围
本指导意见中针对第 14028 号行政令规范了 SBOM 的技术和实践基线,并且融合了可以让相关技术和使用者更加灵活的扩展空间。
SBOM 并不是解决软件供应链问题的万能药,但是它可以提升企业和组织应对已知漏洞的能力。该指导意见认为,更多的漏洞披露反而意味着软件的使用风险相对降低,因为这意味着这些漏洞正在被研究人员关注并且持续被披露。
SBOM 是管理供应链安全的起点,这些最基础的元素并不会捕获软件在源头、处理和使用过程中所有的元数据,在当前的环境下是更切实可行的。
其中有一部分数据会被融入到未来 SBOM 的扩展中,SBOM 不会是软件供应链安全的唯一资源或机制保证。该指导意见认为,其他数据可以与 SBOM 互补,并且鼓励 SBOM 采用可链接和模块化的方式去提高灵活性。例如可链接特性会使得 SBOM 更容易的与其他重要的供应链数据相结合;随着软件供应链透明度的不断提升和管理工具的不断成熟,模块化会为今后更多的实践用例提供更强的可扩展性。有些关键点并不是这份指导意见的范围,包括监管和采购要求的问题,最基础元素并不应被视为联邦的要求。软件物料清单中的“软件”自然而然的限制了对于硬件的考虑,但是嵌入到硬件中的软件必然是在这个范围内的,考虑到硬件的供应链安全问题的复杂性,应当予以单独考虑。
这些最基础元素只是我们提升供应链安全的起点,而不应该成为创新和探索的限制。我们相信,SBOM 会随着时间而更加进步和成熟。
SBOM 最基础元素中的三个板块
SBOM 最基础元素我们也可以称为 SBOM 的最基本元素,SBOM 的常见格式有三种:SPDX、CyclonDX 和 SWID,此指导意见不以某种格式为前提,给出一个更加广泛适用的最基础 SBOM 规范。
数据字段
记录有关每个组件的基线信息,这些组件应该被跟踪:供应商、组件名称、组件版本、其他唯一标识符、依赖关系、SBOM 数据的作者和时间戳。
自动化支持
支持自动化,包括通过自动生成和机器可读性允许跨软件生态系统的扩展。用于生成和使用 SBOM 的数据格式包括 SPDX、CycloneDX 和 SWID 标签。
实践和流程
定义了 SBOM 请求、生成和使用的操作,包括频率、深度、已知的未知风险、分布和交付、访问控制和容错。
以上是对《SBOM 的最基础元素》的初步解读与思考,欢迎交流讨论。在接下来的文章中,安势信息会为大家详细展开 SBOM 最基础元素中规定的要素以及与之相结合的使用场景。敬请期待😉
版权声明: 本文为 InfoQ 作者【安势信息】的原创文章。
原文链接:【http://xie.infoq.cn/article/a7125e7efaa65b099e0c5d950】。文章转载请联系作者。
评论