买家手册:企业在选择 SBOM 供应商时需要注意什么?
Apache Log4j 和 Log4Shell 两大事件的发生,将软件物料清单(Software Bill of Materials, SBOM)推向安全防护前沿,成为企业保护其软件供应链的方式之一。今年5月,美国总统拜登发布行政命令,要求 IT 供应商必须提供 SBOM 才能够与美国政府进行合作。受此影响,越来越多的企业也开始将 SBOM 集成到其 DevSecOps 流程中。
那么 SBOM 是什么呢?我们通常将 SBOM 笼统地描述为成分列表,就好比食物成分表会罗列使用到的材料,我们可以通过 SBOM 去了解应用程序、服务、包等。严格来说,SBOM 并不是解决软件供应链安全问题的完整解决方案,但它是保护软件供应链的关键部分。
SBOM 在未来将作为软件开发框架(Software Development Framework, SDF)的主要组件。SBOM 通过包含软件组件和依赖项列表来增加软件交付的透明度,如果没有 SBOM,软件依赖项、开源或商业许可问题、已知漏洞或其他潜在恶意成分的可见性就会降低。如果企业使用不含 SBOM 的软件,且不进行额外的软件尽调分析,可能需要承担一定的安全风险。
虽然采用 SBOM 对提高安全性产生积极作用,但在 SBOM 真正发挥作用前,企业需要进行大量准备工作。这样看来,虽然 SBOM 能够在一定程度上保障企业的软件供应链安全,但实践起来还是存在一定的阻碍和困难。
选择 SBOM 提供商需要注意什么?
企业在选择 SBOM 提供商时要注意的主要事项包括:
理想情况下,供应商应当提供其交付的每一个软件的 SBOM。而软件用户将使用软件成分分析(SCA)生成新的 SBOM 以用于提供给客户。软件供应链中最终交付时的 SBOM 应当包含一份全面、准确的清单,并列出所涉及的组件和版本。这就意味着供应链中每个环节的软件供应商都需要提供全面的 SBOM,否则最终的 SBOM 将会不准确或不完整。
SBOM 存在多个标准,包括 CycloneDx、SPDX 和 SWID Tag。大多数企业都希望 SBOM 包含依赖关系、列表、已知漏洞(CVE-ID)和软件许可证信息,但不同的 SBOM 标准对应的格式也不同,其包含的信息也会有所差异,这也使得 SBOM 不容易成为一个通用的解决方案。
DevSecOps 团队需要认识到 SBOM 本身也是一个需要保护的数字文档。SBOM 和 组织都需要确保 SBOM 不会受到损害。企业需要通过集成检查和数字签名来防止篡改,确保 SBOM 的完整性和真实性。许多企业在收集或维护 SBOM 方面仅仅停留在表面而未进行深入研究。虽然 SBOM 可以增加软件供应链的可见性和透明度,但与此同时也给企业带来额外挑战,因为企业需要使用新的工具和实施新的流程。
考虑到这些注意事项后,如果企业没实施适当的 DevSecOps 流程,即使是最好的 SBOM 提供商也无济于事。通过 SBOM 来发现软件供应链中的新漏洞对企业来说十分有价值,但如果企业并没有制定和执行相应的 SBOM 使用流程,那 SBOM 中的信息就只是目录中的文件毫无意义。
SLSA 与 SBOM 的关联
当然,SBOM 也不是“灵丹妙药”,它无法涵盖软件供应链的所有领域。因此,实施跨 CI/CD 流水线的安全监控和程序检查并在部署后阶段覆盖运行时,使用 SLSA 补充 SBOM 是必要且明智的。SLSA 为企业提供了框架和指南,以便更好地实施 SBOM 和其他安全措施。
但企业需要明白的是,SBOM 和 SLSA 的目标是保障软件供应链安全,它们是保护软件供应链的两个组成部分而非完整的软件供应链安全解决方案。SLSA 和 SBOM 针对的领域和问题都不同,企业不能只是简单的将其采购回来,就指望所有的安全问题都被完美解决。
SBOM 和 SLSA 的采用虽然尚未成为主流,但仍然是保障软件供应链安全的一个良好开端。SBOM 提供明细,SLSA 详细说明了如何以安全的方式生成这些信息。软件公司可以利用 SBOM 与 SLSA 作为竞争优势,也作为软件安全生产的保证。
买家手册:企业在选择 SBOM 供应商时需要注意什么?的更多相关文章
- 企业如何选择最佳的SSL
如果你的企业有意采购SSL,那么本文可以给一个很好的方向.在本文中,我们将先简要介绍SSL定义及其工作原理,并探讨目前各种可用的SSL证书类型以及企业如何选择最佳的SSL. SSL定义 SSL及传输层 ...
- 购买阿里云的云服务器时选择镜像centos时应该选择哪个版本
购买阿里云的云服务器时选择镜像centos时应该选择哪个版本 方法/步骤首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别:1. Windows1.1) 系统内含正版激活.1.2) 适合于 ...
- android -------- Eclipse选择NDK路径时 “Not a valid NDK directory”
在 Eclipse选择NDK路径时 出现 “Not a valid NDK directory” 这样的错误 解决方式1 在你安装的ndk的主目录下创建一个ndk-build空文件,然后重新打开对话 ...
- 企业邮箱选择,商务办公为什么选TOM企业邮箱?
企业邮箱是工作中的重要工具,它可以帮助我们更规范的上传下达.更高效的管理工作,也是拓展合作伙伴的敲门砖及必杀技.比如写一封诚意满满的合作邀请,再比如重要关头写一封合作协议.毫不夸张,企业邮箱不仅能节省 ...
- 企业该选择什么样的CRM系统
不论您是需要CRM系统来优化业务流程,还是准备更换一款新的CRM系统,在这之前都应该先明确企业的需求,并了解CRM的哪些功能能够对企业有所帮助.例如,企业的管理者想了解每个销售人员的业绩情况,那么就应 ...
- 企业用户选择Java多于.NET的 5个原因
.NET 和 Java 是当今社会最受欢迎的两种编程语言, 长期的发展和强大的功能使他们足以在编程界立足. 十余年的争论也没得到结果的一个话题就是——他们哪个更好一些? 今天, 我们不再去讨论JAVA ...
- 太多选择——企业如何选择合适的BI工具?
在没认清现状前,企业当然不能一言不合就上BI. BI不同于一般的企业管理软件,不能简单归类为类似用于提高管理的ERP和WMS,或用于提高企业效率的OA.BPM.BI的本质应该是通过展现数据,用于加强企 ...
- TDateTimePicker 选择最小日期时异常处理
TDateTimePicker 控件属性窗体选择最小日期,运行时选择时可以看到的最小的日期,但是选择最小时就异常 :date is less than minimum of *** 解决过程 ...
- .Net Core vs .Net Framework 如何为一个应用程序选择一个运行时(翻译)
.Net Core是下一件大事吗?我已经使用了一段时间了,我倾向认为它是.事实上,我们推测,在2018年,对这项技术熟练的开发人员将会有巨大的需求.但是它和.Net Framework的区别是什么?你 ...
- 企业如何选择合适的BI工具?
在没认清现状前,企业当然不能一言不合就上BI. BI不同于一般的企业管理软件,不能简单归类为类似用于提高管理的ERP和WMS,或用于提高企业效率的OA.BPM.BI的本质应该是通过展现数据,用于加强企 ...
随机推荐
- Nacos注册中心有几种调用方式?
Spring Cloud Alibaba Nacos 作为近几年最热门的注册中心和配置中心,也被国内无数公司所使用,今天我们就来看下 Nacos 作为注册中心时,调用它的接口有几种方式? 1.什么是注 ...
- 【日常收支账本】【Day02】通过PyCharm集成QtDesigner和PyUIC快速创建界面
一.集成QtDesigner和PyUIC PyCharm集成QtDesigner和PyUIC教程 二.在QtDesigner中画出窗体 1. 主界面 编辑账本: 新增.修改或删除记录 可视化账本:通过 ...
- JavaScript高级程序设计笔记05 基本引用类型
基本引用类型 引用值(对象)是某个特定引用类型的实例.引用类型是把数据和功能组织到一起的结构. 引用类型有时也被称为对象定义,因为它们描述了自己的对象应有的属性和方法. Date 参考了Java早期版 ...
- DOS(Terminal)常用命令
DOS是一款在20世纪末期流行的操作系统,它是一款面向磁盘的系统软件.它的用途非常广泛,大名鼎鼎的 Windows 98 就是基于它的.DOS依然活跃,比如FreeDOS. cmd是指命令行提示符,是 ...
- 【Javaweb】Servlet五 | HTTP协议【详解】
什么是HTTP协议 什么是协议? 协议是指双方或多方相互约定好,大家都需要遵守的规则,叫协议. 所谓HTTP协议,就是指,客户端和服务器之间通信时,发送的数据,需要遵守的规则,叫做HTTP协议. HT ...
- MySQL8.0 安装教程
一.下载 1.官网地址 MySQL :: Download MySQL Community Server 2.选择安装包安装方式 3.选择安装版本 4.开始下载 5.下载成功 二.安装 1.双击安装包 ...
- 国内 AI 成图第一案!你来你会怎么判?
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...
- Python 潮流周刊第 30 期(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- C++ Qt开发:如何使用信号与槽
在Qt中,信号与槽(Signal and Slot)是一种用于对象之间通信的机制.是Qt框架引以为傲的一项机制,它带来了许多优势,使得Qt成为一个强大且灵活的开发框架之一.信号与槽的关联通过QObje ...
- 教你使用Prometheus-Operator进行K8s集群监控
本文分享自华为云社区<Promethues-operator入门使用指导>,作者:可以交个朋友. 一. 背景 在非operator配置的普罗中我们监控k8s集群都是通过配置configma ...