当谈到软件材料清单(SBOM)时,通常的类比是食品包装上的成分列表,它让消费者知道他们将要吃的薯片中有什么。
同样,SBOM是一个软件中组件的清单,在应用程序是来自多个来源的代码的集合的时代,这是一个至关重要的工具,许多代码来自组织的开发团队之外。
当谈到SBOM时,它与食品上的营养标签一样重要,因为这种风险不是对你的身体健康,而是对你的业务的风险。
当您使用软件时,您的业务可能面临的风险是,您不了解软件的组成。当这种情况发生时,你……将自己暴露在一个你无法控制的弱点之下。如果你不了解这一点,你就无法采取预防措施来确保自己不会过度暴露。
这就是为什么在过去几年中,随着威胁级别的增加,SBOM已经成为不断扩大的软件供应链管理的核心。
通过开源软件和可重用软件组件的日益增长的使用,来自多个来源的贡献,加速的代码发布速度,以及持续集成和持续交付(CI/CD)管道,现代开发已经变得更快和更复杂。
随着软件供应链变得越来越复杂,关键是要知道你间接利用什么开源作为第三方库、服务、API或工具的一部分。
不法分子知道,通过在开发过程中的任何一点注入恶意代码或利用组件中的漏洞,他们可以向上游移动并感染多个系统,正如2020年的网络安全管理软件产品漏洞和Log4j漏洞的滥用。
需要知道 SBOM也是拜登政府制定并于本周发布的国家网络安全计划的一个关键点。
他们不仅告诉组织他们引入的软件是由什么组件组成的,还告诉组织里面有什么代码。
SBOM确保你不仅知道软件中的成分,还知道这些成分的成分,有时被称为传递依赖关系。
在开源中,许多包都在调用其他包,您可能知道也可能不知道您正在使用这些包,而SBOM可以帮助您完全理解这些关系。
2021年12月发现的Apache Log4j缺陷在科技界引起了轩然大波,因为这种广泛使用的日志工具正被广泛利用,通过单次注入恶意代码来危害易受攻击的系统。
它的应用如此广泛,以至于触及了大多数组织,其中许多组织并不知道自己受到了影响。
在漏洞曝光的几周内,有报告称每小时有1000万次Log4j漏洞利用尝试。
Log4j被用于绝大多数软件中,我们对SBOM有需求。当Log4j中的缺陷被发现时,我们所有人都立即暴露于该漏洞之下。
Log4j将一切都置于清晰的焦点中。问题已经存在一段时间了。
SBOM的概念相对较新。它于2018年与美国农业部下属的国家电信和信息管理局一起出现,三年后发布了标准。
拜登总统在2021年5月的行政命令中呼吁联邦政府在网络安全管理软件产品和Log4j事件后改善其IT安全,这两起事件都影响了政府机构。
与通常发生的情况一样,组织将SBOM从一个不错的功能提升为一个半强制性的解决方案,现在大多数政府机构和大型企业都在评估它。
一个挑战是实现和管理SBOM是高度手动的,这对管理员和开发人员来说是个坏消息。当谈到软件供应链安全时,一个持续的紧张是确保安全需求不会阻碍现代软件开发的增长速度。
自动化是关键
这就是SBOM流程自动化如此重要的原因。NIST的标准包括多个元素,从使用的软件组件及其供应商到版本号和对组件库的访问。
必须根据发布级别、发现的潜在威胁和确定的风险来评估版本级别。
从开源操作系统到内部开发的应用,再到第三方‘收缩包装’堆栈,大型应用的展开充满了上下文挑战、清点方法和手动验证,所有这些都容易出错。
虽然识别和报告问题的过程是成文的,但它没有解决手动维护此类清单并一致验证其内容的问题。
必须将自动化纳入流程的每个步骤,从生成和发布SBOM到接收它们,然后将漏洞补救纳入他们当前的应用程序安全计划,而不必采用新的工作流程。
如何处理SBOM还有其他的考虑。SBOM提供了大量信息,但组织需要决定如何使用这些信息。
SBOM是一个很方便的缩写词,用来指代更广泛的软件供应链问题。
它们也是更大的供应链安全技术缓存的一部分,例如SLSA(软件工件的供应链级别),这是一个用于确保整个供应链中软件工件完整性的框架。
它诞生于一个内部谷歌工具,现在是一个行业项目,包括英特尔、VMware、Linux基金会和云本地计算基金会等组织。
SBOM本身并不是灵丹妙药。
我们必须了解他们擅长什么,不太有用的地方。他们擅长帮助你理解软件中的组件。它们对于提高这些组件的安全性来说用处不大。
有几个关键的标准SBOM格式–软件分组数据交换(SPDX)、CycloneDX和软件识别(SWID)标记。
现在需要的是一个安全和集中的漏洞交流平台,公司可以在这里分享关于漏洞的信息。
拥有SBOM的数据是有用的,但是如果一个漏洞被发现,关于它的交流仍然是点对点的,信息需要更快更广泛地共享。
另一个新出现的问题是SBOM等意味着维护大多数应用程序中使用的开源软件的人要做更多的工作。据称,大多数维护人员60%是无偿的,基本上是志愿者。
他们通常缺乏一致性,更没有动机去处理安全开发实践的长清单。在像影响网络安全管理软件产品和Log4j这样的高调漏洞之后,政府和行业越来越关注网络安全,在这种背景下,对这些志愿维护者的需求呈指数级增长。
提高安全性需要工具(如SBOM)和人员。是时候开始向开源维护者支付报酬了,就像公司向其他负责软件安全的人支付报酬一样。
与许多用于供应链安全的工具一样,SBOM仍然相对较新,需要不断完善。
鉴于不法分子想方设法攻击供应链的速度,成熟越快越好。
SBOM还有一段路要走,但这是一个很好的解决方案。有个标准也不错,没有标准就是个问题。