什么是软件物料清单(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(软件组成分析)
- 软件供应链安全
- 开源审计
- 漏洞管理