构建开源供应链安全的软件物料清单(SBOM)

目录
一、SBOM概述
1.什么是SBOM
2.为什么需要SBOM
3.什么是
二、构建SBOM的必要性
1.安全要求
2.合规要求
3.格式要求
三、SPDX是什么?
四、SBOM能带给我什么?
五、如何捍卫开源软件供应链安全?
今天 , 开发人员频繁的在开源软件库的基础上构建web 应用程序 。然而 , 尽管这些库构成了软件物料清单(SBOM)组件库 , 但并非所有开发人员和业务涉及者都理解第三方库对开源供应链安全的重大影响 。考虑到这一点 , 我们有必要对此进行详细的探讨 。
软件供应链安全问题已经日益成为企业和政府面临的一项重大难题 , 根据ENISA(欧盟网络安全局)发布的一份报告估计 , 2021年软件供应链攻击次数增加了400% 。
如今开发人员大量使用开源组件 , 因此导致了风险因素的增加 。清晰的SBOM关乎到开发人员的安全和法律意识 , 以及随后产生的业务问题 。
在深入讨论之前 , 我们先来了解以下SBOM基础知识 。
一、SBOM概述 1.什么是SBOM

构建开源供应链安全的软件物料清单(SBOM)

文章插图
SBOM(软件物料清单)是企业使用的所有软件组件的完整列表 。SBOM通常由第三方开源库、供应商提供的软件包和企业自己编写的专有软件构成 。
2.为什么需要SBOM
SBOM本质上是在应用程序中使用的所有软件组件的清单 。没有它 , 企业就无法看到正在构建或使用的软件相关的许可证和安全风险 。维护一个符合SBOM格式的最新清单对于跟上敏捷开发的步伐至关重要 。因为在现代软件快速开发的过程中 , 组件及其版本正在迅速变化 。
3.什么是
OWASP 是一个常用的SBOM标准 , 用于应用程序安全环境和供应链组件分析 , 它提供了所有第一方和第三方软件组成的清单 。该标准非常完整 , 并且超出了软件库的范围 , 甚至扩展到了、VEX等标准范围 。是一个.0许可的开源项目 , 可以在中进行协作 。
二、构建SBOM的必要性 1.安全要求
SBOM并不是一个能引起开发人员共鸣的术语 , 这是因为它传统上是企业中安全团队的任务 。但是 , 随着开源组件的巨大增长 , 这种情况已经发生了变化 。npm包注册中心就是明证 , 该中心涵盖了超过个免费的开源软件包 。
当流行的npm包被破坏(例如之前著名的npm投毒事件)时 , 或者是潜在的漏洞被发现(例如)时 , 你的应用程序正在使用这些存在漏洞的版本 。如何快速且精确的找到这些有问题的组件 , 这就是SBOM的作用之一 。
2.合规要求
今天 , 开发人员可能对于许可证并不是非常敏感 , 这是因为如今许可证类型变得越来越宽松 , MIT协议已经成为了上最常用的许可证 。但这并不意味着世界上就不存在严格的许可证了 , 恰恰相反 , GPL系列的许可证还占据了开源协议中的一大部分 。当忽视许可证时 , 开发人员可能会面临不小的麻烦 , 例如:
①React.因为掉了React项目 , 并谴责的许可证过于严格 , 这个广受欢迎的开源视图库的许可证已经从他们自己版本的“BSD+专利授权”变成了宽松的MIT许可证 。
②公司和它的开源项目同名 , 是流行的搜索工具和ELK Stack 。由于来自云供应商的竞争日益激烈(主要是) , 以及它们对业务的影响 , 它也不得不更改自己的许可证 。