Press "Enter" to skip to content

软件安全和供应链风险管理的嵌套清单

软件材料清单(SBOM)由用于创建软件应用程序的所有组件和库组成。它包括所有许可证、版本、作者和补丁状态的描述。 ¶ 来源:ReversingLabs

随着Kaseya和Apache Log4j等高调数据泄露事件仍然产生影响,软件供应链的安全性正受到前所未有的审查。这促使了拜登政府在2021年发布的《提高国家网络安全的行政命令》,该命令要求开发人员提供软件材料清单(SBOM)。

把SBOM想象成食谱中的配料——它由用于创建软件应用程序的所有组件和库组成。它包括所有许可证、版本、作者和补丁状态的描述。

其中许多组件是开源的,SBOM旨在提供对风险和漏洞的可见性。毕竟,如果您不知道要保护的代码是什么,又如何进行维护呢?

SBOM的作用

当组织拥有这种可见性时,他们能够更好地识别已知或新兴的漏洞和风险,实现安全设计,并就软件供应链物流和采购问题做出明智选择。根据Booz Allen Hamilton的说法,这一点变得越来越重要,因为高级威胁行为者现在将供应链攻击视为恶意网络活动的首选工具。

根据市场研究公司Gartner的数据,到2025年,60%的构建或采购关键基础设施软件的组织将在其软件工程实践中强制和标准化使用SBOM,而2022年这一比例不到20%。

Gartner的研究副总裁Manjunath Bhat说:“多种因素推动了对SBOM的需求。”这些因素包括第三方依赖和开源软件的增加使用、软件供应链攻击的增加以及监管合规要求以确保开源软件的使用安全。

他说:“对完整软件供应链的细粒度可见性和透明度是SBOM如此有价值的原因。”

SBOM的元素

国家电信和信息管理局(NTIA)和美国商务部负责发布SBOM的最低元素,以及供应链更透明的用例描述。

他们确定应该有供应商、组件名称和版本等数据字段,以及依赖关系等其他领域,NTIA和商务部表示。

他们还建议使用自动生成数据和机器可读功能来实现SBOM在软件生态系统中的扩展。目前普遍接受的生成SBOM的三种格式是SPDX、CycloneDX和SWID标签。

Bhat观察到,SBOM平台应该是自动化和动态的,因为它们可以持续更新,以确保软件开发人员对其应用程序中使用的组件和依赖项有准确的视图。

SBOM的用途

SBOM的使用有一些好的用例。它们包括:

  • 协助软件采购和采纳决策,减少合规问题和防止重复购买;
  • 通过跟踪受损组件和补救计划来增强威胁情报和漏洞管理;
  • 加快事件响应并指导补丁实施,以及
  • 提供在组织的生态系统中映射依赖关系的能力,跨外部软件生态系统。

Bhat表示,SBOM没有真正的缺点,但他指出:“只有在全面、完整且准确的情况下,它们才是有用的。部分完整的SBOM或过时的SBOM跟没有SBOM一样。”此外,“对于我们作为一个行业来说,收敛于几种易于生成和使用的SBOM格式是很重要的。”

SBOM(软件构建物料清单)旨在跟踪和共享软件组件及其供应链关系的详细信息,这有助于提高透明度、可审计性和可追溯性,Bhat说。这对于加快解决安全和合规问题非常有用。

他说:“SBOM还可以帮助组织确定其是否容易受到已知软件组件安全漏洞的影响。SBOM生成并验证有关代码来源和组件之间关系的信息,这有助于软件工程团队在开发过程中检测恶意攻击。”

使用中的SBOM

微软正在生成和使用SBOM来优先考虑软件安全并为客户准备软件,微软的安全软件供应链(S3C)首席项目经理Adrian Diglio说。

他说,这家软件巨头创建了一个SBOM工具,开发人员在构建时内部运行该工具,该工具以SPDX格式输出SBOM,可以与客户共享。去年,微软开源了这个SBOM工具,以便让社区使用和进一步开发。

他说:“现在,微软正在整个公司范围内进行必要的组织准备工作,以开始接收和管理来自第三方的SBOM。作为这一努力的一部分,我们为Windows Insider计划中的Windows Driver Kit(WDK)和Windows Assessment and Deployment Kit(ADK)的用户提供了一个早期版本,其中包含我们的SBOM工具。”

Diglio补充说,微软的一些SBOM产品也是公开可用的。

他说:“通过我们与SBOM工具和安全供应链消费框架(S2C2F)的合作,微软不断强调开源软件的重要性,以解决其安全性问题。”

Esther Shein是一名自由技术和商业作家,常驻波士顿地区。

Leave a Reply

Your email address will not be published. Required fields are marked *