人工智能黑客--黑客如何在网络攻击中使用人工智能

立即阅读
我们利用人工智能进行网站翻译,虽然我们力求准确,但不一定总是 100%精确。感谢您的理解。

软件 Bill of Materials (SBOM) 解读 

OPSWAT
分享此贴

软件 在很大程度上依赖于利用预构建的第三方组件来简化流程,其中一些组件是开源的。这些组件是现代网络应用程序的基石,但也可能引入漏洞,为网络犯罪分子提供进入系统的潜在入口。 

要了解软件的组件并管理依赖性漏洞,维护一份名为 SBOM(软件物料清单)的清单对于加强应用程序的安全性、风险管理和合规性至关重要。 

什么是 SBOM? 

A 软件 Bill of Materials (SBOM)是应用程序中使用的所有封闭和开源组件、库和依赖项的详细清单。简单地说,就像实物产品可能附带有零部件和材料清单一样,软件也有其组成部分。 

开发人员和供应商经常通过组合开源代码和商业代码来构建软件。SBOM 系统地详细说明了这些组件,以确保软件产品中基础代码组件的透明度和可追溯性,从而有助于促进供应链安全并确保符合法规要求。

SBOM 有哪些优点? 

SBOM 的核心有三个主要优点: 

透明度 

它提供了软件构成的清晰视图,使利益相关者(无论是开发人员、审计人员还是最终用户)能够了解软件堆栈中的各个组件。

Vulnerability Management 

安全是软件开发中最紧迫的问题之一。SBOM 可以快速定位软件产品中的组件,从而更容易识别、处理和修复漏洞。

安全公告发布时,通常会包含有关软件组件漏洞的最新信息。通过将 SBOM 与最新的安全公告相互参照,企业可以快速确定其应用程序是否存在风险,并采取必要的缓解措施,确保应用程序的适当安全性。

在 SDLC软件 生命周期)中进行整合

随着软件在开发流程中的进展,从概念化和设计到部署和维护,软件都会不断更新。SBOM 是一种动态记录,可确保在 SDLC 的每个阶段都能清楚地了解软件的组件、依赖关系和相互关系。

谁需要 SBOM? 

广义上讲,软件消费者可以是任何实体,无论是商业实体还是非商业实体,都可以从供应商那里获得第三方组件和第三方软件实用程序。这些供应商的范围很广: 

  • 商业软件出版商
  • 提供软件组件的合同软件开发人员
  • FOSS(自由与开源软件)供应商在开放源代码库或软件包管理器中管理代码

值得注意的是,这些供应商身兼数职。它们可以是制造商、开发商、维护商或提供商。理想情况下,这些实体也应为其软件功能策划 SBOM。需要记住的一个独特区别是,大多数供应商也是消费者。但是,没有任何上游组件的供应商通常会被标记为根实体。

公共部门的 SBOM

联邦机构在采用和执行 SBOM 标准方面发挥着举足轻重的作用。他们的监督工作不仅仅是制定基准,还要确保这些基准符合更广泛的公共利益。2021 年 5 月发布的美国第 14028 号行政令责成包括 NIST(国家标准与技术研究院)在内的多个具有广泛管辖权的机构,通过与软件供应链的安全性和完整性相关的各种举措来加强网络安全。

14028 号行政命令第 10 (j) 节将 SBOM 定义为 "包含构建软件时使用的各种组件的详细信息和供应链关系的正式记录"。SBOM 有可能提高透明度和出处,并加快联邦部门和机构发现和修复漏洞的速度。

SBOM 类型和定义 

根据软件开发和部署阶段的不同,会生成不同类型的 SBOM,每种 SBOM 都有其独特的用途,并能提供对软件组件的独特见解。以下是六种常见的 SBOM 文档。

设计

在这一应用开发阶段,有些组件甚至还不存在。这类 SBOM 通常源自设计规范、RFP(招标书)或初始概念。

资料来源

它直接从开发环境中生成,能让人深入了解构建产品构件所需的源文件和依赖关系。它通常由 SCA(软件构成分析)工具生成,有时需要手动澄清。

建设

作为软件构建过程的一部分,它整合了来自源文件、构建组件和其他依赖项的数据。由于它是在创建可发布的软件工件时生成的,因此特别有价值。

分析

这种 SBOM 源自对可执行文件或虚拟机映像等软件工件的构建后分析。它涉及多种启发式方法,有时也被称为 "第三方 "SBOM。

已部署

系统中软件的详尽清单。它是通过记录系统中安装的软件组件的 SBOM 而生成的,可帮助用户深入了解软件在现实世界中的部署情况。

运行时间

这种 SBOM 是通过实时系统仪表创建的,可捕捉软件执行过程中出现的组件。它提供了对动态组件和外部连接的深入了解,也可称为 "仪器化 "或 "动态"。

SBOM 的要素有哪些? 

根据 NTIA(美国国家电信和信息管理局)的规定,SBOM 的最低要素包括软件供应商名称、组件、其版本、唯一标识符、依赖关系、SBOM 数据的作者和时间戳。此外,SBOM 数据应包含以下要素才能有效和全面: 

  • 数据字段: 必须有明确定义的数据字段,详细说明软件的组件名称、版本和属性。这可确保每个利益相关者都能彻底了解软件的构成。 
  • 自动化支持: 鉴于软件开发的动态性质,SBOM 应能自动更新并集成到软件开发和部署管道中。这样才能确保实时准确性和效率。 
  • 实践与流程: 除了列出组件外,SBOM 还应包含最佳实践和流程,以规范其创建、维护和使用。 

SBOM 格式

常用的SBOM 格式包括

  • SPDX软件 数据交换)--由 Linux 基金会开发
  • CycloneDX-常用于应用程序安全
  • SWID软件 识别标记)--由 ISO/IEC 19770-2 确定

通过对每个组件进行编目,SBOM 可以让企业清楚地识别与每个软件相关的许可,确保企业始终遵守许可条款,避免潜在的法律陷阱。

在 SDLC 中保持合规性和Secure 

由于供应链攻击不断增加,联邦政府和私营部门都认识到软件识别的重要性。SBOM 对于详细说明软件组件,尤其是第三方组件至关重要。SBOM 数据有助于防止漏洞,并确保 SBOM 创建的透明度。每个软件都应包含全面的 SBOM,以加强安全措施。 

通过对每个组件进行编目,SBOM 可以让企业清楚地识别与每个软件相关的许可,确保企业始终遵守许可条款,避免潜在的法律陷阱。 

利用OPSWAT SBOM,开发人员可以识别已知漏洞、验证许可证并生成 OSS(开源软件)、第三方依赖项和容器的组件清单。欲了解更多有关利用强大的 SBOM 解决方案保护软件供应链安全的信息,请访问OPSWAT的软件 Supply Chain 安全解决方案

标签

通过OPSWAT 了解最新信息!

立即注册,即可收到公司的最新动态、 故事、活动信息等。