什么是软件物料清单 (SBOM)?
软件物料清单 (SBOM) 是构成软件的组件的详细清单,包括第三方和开源库以及框架版本。它就像应用程序内部的成分列表。
通过跟踪应用程序内的每个组件,开发团队可以在发现新漏洞时快速检测。
为什么 SBOM 在网络安全中很重要
现代应用程序通过结合数百或数千个第三方依赖项和开源库来加速开发。如果其中一个存在漏洞,将使整个应用程序面临风险。
SBOM 帮助开发团队:
- 通过映射受影响的组件更早识别漏洞
- 改善与 NIST、ISO 或美国的 行政命令 14028 等标准的合规性
- 通过确保软件组成的透明性增强供应链安全
- 通过展示包含的组件与客户和合作伙伴建立信任
SBOM 的关键要素
一个合适的 SBOM 通常包括:
- 组件名称(例如,
lodash) - 版本(例如,4.17.21)
- 许可证信息(开源或专有)
- 供应商(维护项目或供应商)
- 关系(组件之间的依赖关系)
实践中的例子:Apache Struts 漏洞(Equifax,2017)
2017 年,攻击者利用了 Apache Struts 框架中的一个关键漏洞(CVE-2017-5638),该框架被用于 Equifax(美国跨国消费者信用报告机构)的网络应用程序中。该漏洞的补丁已可用,但 Equifax 未能及时应用。
由于缺乏对其应用程序中所有依赖项和库的可见性,Struts 库中的缺陷未被注意到,导致历史上最大的数据泄露事件之一,超过 1.47 亿个人数据被曝光。
如果有SBOM,Equifax 本可以快速:
- 确认其应用程序正在使用存在漏洞的 Apache Struts 版本
- 在漏洞披露后立即优先修补
- 减少攻击者利用该弱点的时间
这个案例让我们了解到SBOM在保持软件组件安全方面的关键作用,帮助组织更快地应对新披露的漏洞。
相关术语
- SCA(软件成分分析)
- 供应链攻击
- 开源安全
- 漏洞管理