11.4 接收和管理大规模SBOM

虽然单独来看,SBOM的概念及其用于揭示产品所涉及的软件组件和被消耗的软件组件的用途显得合乎逻辑,但在大型企业环境中跨越数百或数千个开发团队和众多第三方软件供应商的大规模实施,这个想法很快就会变得令人生畏。一个组织如何管理如此大规模的数据?如何确保你有一个健全且全面的方法来持续处理SBOM,以推动围绕风险、采购和我们讨论过的一些其他用例的决策?

消费者可以通过多种方法接收或获取SBOM。一个有用的资源是NTIA白皮书《共享和交换SBOM》,该白皮书来自我们在其他章节中讨论过的NTIA关于软件组件透明度的多方利益相关者过程(https://ntia.gov/sites/default/files/publications/ntia_sbom_sharing_exchanging_sboms-10feb2021_0.pdf)。

在NTIA指导的背景下,SBOM交换包括广告或发现和访问。广告或发现涉及发布和定位SBOM或注册一个端点以接收SBOM更新。访问是在检索或传输SBOM本身的过程结束时进行的。一些例子包括网站、电子邮件、文件传输协议(FTP)、应用程序编程接口(API)或源代码管理(SCM)系统。指导中的一些例子扩展了供应商在产品文献或包装中包含的URL,消费者可以导航到这些URL以查看SBOM。虽然这对于了解产品所涉及的初始组件可能很有用,但随着产品更新和新组件的引入,很容易看到挑战会出现。它需要产品的URL保持最新,以包含不同版本产品中的最新组件。

包管理工具也可以促进SBOM的分发和检索,SBOM可以出现在软件存储库的顶级目录中,或者作为容器清单文件的SBOM。

NTIA提供的另一个例子是建立一个SBOM的发布和订阅系统。这种系统创建了一种情况,上游供应商可以定期发布更新的SBOM供下游消费者手动或通过自动化方式检索信息。这种情况使得软件组件组成的信息能够从供应商到下游消费者实现近乎实时的SBOM流动。

SBOM围绕JSON和XML两种数据交换格式,这两种格式支持机器可读性和自动化,这对于实现大规模处理至关重要。虽然这些工件可以被人类理解,但使用计算机来摄取和解析SBOM数据效率更高、可扩展性更强。这还可以通过执行漏洞分析或与数据库和其他存储系统的集成等过程来丰富数据。它有助于将SBOM数据集成到现有的组织工具和工作流程中,从而基于软件组件和漏洞数据做出更明智的决策。

现代企业环境涉及多个内部开发团队以及众多外部和第三方软件供应商。鉴于行业指南建议每次软件发布时都创建和接收新的SBOM,很容易看出静态工件和交付机制在大多数现代技术环境中并不可扩展或合理。

大型企业组织将继续开发围绕API和自动化的有机能力,以促进大规模创建、摄取、丰富、分析和存储SBOM。我们将看到托管服务提供商(MSP)和供应商继续增长,他们为那些不希望或缺乏资源和专业知识的组织提供支持SBOM使用和治理的平台。这些可能以托管组织的形式出现,作为供应商和消费者之间的可信第三方或中介。

除了获取SBOM外,消费者还应验证SBOM的完整性和来源,以确定其有效性。这包括使用数字签名和哈希值来验证SBOM及其相关组件和认证的真实性,这不仅可以提供对构建环境和开发、分发软件所用过程的见解,还可以了解其组件和构成。

随着SBOM日益成为组织软件供应链实践中的关键工件,恶意行为者将不可避免地试图利用它们及其相关实践来绕过组织的安全措施,危害整个生态系统中的组织。

正如NTIA在其“软件消费者手册:SBOM获取、管理和使用”指导中指出的那样(www.ntia.gov/files/ntia/publications/software_consumers_sbom_acquisition_management_and_use_-_final.pdf)组织通常可以通过将SBOM数据输入到组织工作流程中来充分利用SBOM。这将SBOM从单独查看的工件转变为可以解析、提取并加载到其他自动化组织流程中的数据集合。这种重新框架可以通过内部开发的开源工具或商业工具提供商来促进,从SBOM中提取数据。

指导指出,目前各种商业解决方案和特定行业的应用场景(例如医疗设备、车队管理等)正逐步采用SBOM。这一趋势创造了一种情况,即SBOM数据的子集(如特定组件、供应商、版本等数据)可以为组织的环境中不同应用场景和目的提供相关见解。它将允许组织将SBOM数据与其他相关数据和见解结合起来,以改进各种业务和任务决策。

对于软件消费者而言,在接收和存储SBOM时,除非软件供应商另有授权,否则应该期望安全存储和访问控制。许多软件供应商对广泛披露其SBOM有合理的担忧,因为这会暴露其应用程序和产品中的漏洞,可能被恶意行为者利用。

理想情况下,供应商正在积极解决其产品中的漏洞,但与任何组织一样,许多供应商也面临时间、预算和专业知识等资源限制,这意味着完全没有漏洞的产品往往不太可能或不实际。基于这一原因,获得供应商提供的SBOM的消费者应该采取适当措施保护其工件和数据,防止未经授权的访问或披露。一个例子是OMB 22-18备忘录,要求特定的美国联邦机构实施适当的机制,以保护信息并分享他们从第三方软件供应商处收到的工件(如SBOM)。