SBOM 工具:生成 SBOM 的主要功能

越来越多的公司认识到最新 SBOM 作为每个产品和新版本的一部分的重要性。美国国家安全局甚至 发表了一篇论文 鼓励公司采用此工具来提高网络意识并更好地保护其软件供应链。即使您认为生成 SBOM 是正确的做法,您也可能不确定如何去做、使用什么工具或如何实现它们。市场上有多种 SBOM 生成工具,有些是专有的,有些是免费的,有些是开源工具。在本文中,我们将介绍您的 SBOM 生成工具应具备哪些关键功能才能满足您的需求。 

SBOM 格式

主要有两个 SBOM 格式 目前市场上使用的有:SPDX 和 CycloneDX。 

软件包数据交换(SPDX) 是 Linux 基金会的一个开源、机器可读的 SBOM 项目。最新版本的 SPDX 的设计符合 NTIA 的标准:软件物料清单的最小元素.'它列出了软件的组件、版权、许可证和安全参考。

旋风DX (CDX) 也是由开放 Web 应用程序安全项目 (OWASP) 社区开发的开源且机器可读的 SBOM 格式。作为一种 BOM 格式,CycloneDX 除了准备软件物料清单之外还有其他应用。它还可以用于编译硬件和云系统的组件、漏洞和服务。

在开始检查各种工具之前,请考虑哪种格式最能满足您的需求。最好不仅考虑当前时间,还要考虑您未来的需求,因为一旦您承诺采用某种格式,您可能会发现更容易坚持下去。考虑您的 SBOM 将看到的用途以及您将用来分析数据的工具。如果您不确定要选择哪种格式,请寻找可以生成这两种格式的工具。

SBOM 工具主要功能

以下是您应该在优秀的 SBOM 生成工具中寻找的一些功能: 

来自 SCM 和最终产品的 SBOM 集合 – 全面覆盖您的产品是良好 SBOM 的关键。众所周知,在开发阶段,您并不总是引入所有依赖项并将它们集成到项目中 - 这通常仅在 CI/CD 管道末尾的最终编译时完成。从 SCM 和最终产品获取 SBOM 可以让您对两者进行比较,并确保在中间阶段没有对任何文件或文件夹进行不必要的更改。可以通过比较为每个文件和文件夹计算的哈希值来比较 SBOM 之间的文件和文件夹。拥有一个可以自动执行此操作的工具将为您节省大量时间和精力。

 

SBOM分析 – SBOM 是一个包含大量数据的文件。最好构建软件来分析它以获得您希望获得的见解。当然,自己构建这样的软件既缓慢又耗时,因此最好获得一个已经包含分析软件的工具,这样您就可以检查生成的报告,而不是尝试对数千行 SBOM 文件进行头尾分析。您可能希望考虑的一些报告是所有依赖项的综合漏洞报告、有关软件中使用的任何过时组件的报告、有关使用的所有开源许可证的报告以及有关开放源代码的相对运行状况的报告。使用的源组件。最后一个可以利用诸如 OpenSSF 记分卡 对所使用的每个包给予公正的评分。

SBOM 自动化和安全存储 – SLSA 安全框架原则的一部分是使每个安全功能尽可能自动化且难以操纵。这个想法是,允许人们操纵安全功能结果只会为在需要时取消或操纵该功能留下机会。作为该概念的一部分,您可以寻找一种 SBOM 工具,该工具可以完全自动化,在每个 CI/CD 管道或编译运行上独立运行,而无需任何人为因素干预。此外,寻找将证据存储在安全位置的 SBOM 工具,以便只有经过适当验证的人员才能访问它。这将确保无论在什么情况下,SBOM 证据都不会被操纵或删除。   

连续 SBOM 分析 – 由第三方存储 SBOM 的另一个潜在优势是允许第三方持续扫描它们以查找新漏洞。新的漏洞不断被发现和报告,即使今天已知是干净的包明天也可能不再如此。拥有一个 SBOM 功能,可以持续扫描您的所有 SBOM 并查找新漏洞,通知您任何发现,这将确保即使您不是每天、每周或每月创建一个新的 SBOM,您仍然不会被您已包含在产品中的先前干净的软件包中存在新漏洞。

SBOM智能分享 – 除了拥有检查可能的软件供应链问题的来源之外,拥有良好 SBOM 的一个主要原因是与其他人共享。您可能希望与其他内部团队、客户、第三方承包商或审计师共享信息。当然,您始终可以通过电子邮件将 SBOM 文件发送给感兴趣的各方,但考虑到频繁的软件更新以及频繁的新 SBOM,这可能很快就会变得非常乏味。最好有一个具有内置共享功能的工具,这样您就可以定义订阅者列表,并且新的 SBOM(无论是否带有随附报告)都会根据项目、订阅者、他们的兴趣水平等自动共享。   

SBOM 咨询 – 正如我们已经提到的,SBOM 可能包含数千个依赖项。期望干净的健康状况——零漏洞——是不现实的。你总会有弱点。最大的问题是这些漏洞是否可以在您产品的确切配置中被利用?只有开发人员可以回答这个问题,但您应该确保您的 SBOM 工具具有使您能够分享这些发现的功能。您不希望必须回答相同的漏洞问题 1000 次。能够向 SBOM 添加建议,注明所发现的每个漏洞的确切状态,这样您就可以向客户和合作伙伴展示您的行动,并在开发人员验证特定漏洞存在后共享结果。 而不去 可在您的产品中利用。

从哪里开始使用 SBOM 生成工具

您可能会在 SBOM 生成工具中寻找并找到许多其他功能,但我认为我们的功能列表清楚地表明,一个好的 SBOM 工具不仅仅是一个单独的元素。最好找到一个包含 SBOM 生成、分析(现场和连续)、报告和共享的完整系统。 

考虑到美国监管部门日益关注,看来用不了多久,随附的 SBOM 就会成为每个新软件版本的标准。当这种情况发生时,您希望已经选择了最好的工具并将其合并到您的 SDLC 中。我还想指出,SBOM 不会侵犯您的 IP——它不会“查看”任何代码,而只会扫描文件名、版本等。这意味着共享 SBOM 或由受信任的第三方将其存储在安全位置绝不会危及您的安全或 IP。

Scribe Security 平台等服务可以为您提供本文中介绍的所有功能,并且还会不断添加更多功能。请随意查看我们的平台,看看我们的 SBOM 生成工具还包括哪些其他功能,可以使您和您的组织受益。