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 供应商时需要注意什么?的更多相关文章

  1. 企业如何选择最佳的SSL

    如果你的企业有意采购SSL,那么本文可以给一个很好的方向.在本文中,我们将先简要介绍SSL定义及其工作原理,并探讨目前各种可用的SSL证书类型以及企业如何选择最佳的SSL. SSL定义 SSL及传输层 ...

  2. 购买阿里云的云服务器时选择镜像centos时应该选择哪个版本

    购买阿里云的云服务器时选择镜像centos时应该选择哪个版本 方法/步骤首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别:1. Windows1.1) 系统内含正版激活.1.2) 适合于 ...

  3. android -------- Eclipse选择NDK路径时 “Not a valid NDK directory”

    在 Eclipse选择NDK路径时 出现 “Not a valid NDK directory”  这样的错误 解决方式1 在你安装的ndk的主目录下创建一个ndk-build空文件,然后重新打开对话 ...

  4. 企业邮箱选择,商务办公为什么选TOM企业邮箱?

    企业邮箱是工作中的重要工具,它可以帮助我们更规范的上传下达.更高效的管理工作,也是拓展合作伙伴的敲门砖及必杀技.比如写一封诚意满满的合作邀请,再比如重要关头写一封合作协议.毫不夸张,企业邮箱不仅能节省 ...

  5. 企业该选择什么样的CRM系统

    不论您是需要CRM系统来优化业务流程,还是准备更换一款新的CRM系统,在这之前都应该先明确企业的需求,并了解CRM的哪些功能能够对企业有所帮助.例如,企业的管理者想了解每个销售人员的业绩情况,那么就应 ...

  6. 企业用户选择Java多于.NET的 5个原因

    .NET 和 Java 是当今社会最受欢迎的两种编程语言, 长期的发展和强大的功能使他们足以在编程界立足. 十余年的争论也没得到结果的一个话题就是——他们哪个更好一些? 今天, 我们不再去讨论JAVA ...

  7. 太多选择——企业如何选择合适的BI工具?

    在没认清现状前,企业当然不能一言不合就上BI. BI不同于一般的企业管理软件,不能简单归类为类似用于提高管理的ERP和WMS,或用于提高企业效率的OA.BPM.BI的本质应该是通过展现数据,用于加强企 ...

  8. TDateTimePicker 选择最小日期时异常处理

    TDateTimePicker 控件属性窗体选择最小日期,运行时选择时可以看到的最小的日期,但是选择最小时就异常 :date is less than minimum of  ***     解决过程 ...

  9. .Net Core vs .Net Framework 如何为一个应用程序选择一个运行时(翻译)

    .Net Core是下一件大事吗?我已经使用了一段时间了,我倾向认为它是.事实上,我们推测,在2018年,对这项技术熟练的开发人员将会有巨大的需求.但是它和.Net Framework的区别是什么?你 ...

  10. 企业如何选择合适的BI工具?

    在没认清现状前,企业当然不能一言不合就上BI. BI不同于一般的企业管理软件,不能简单归类为类似用于提高管理的ERP和WMS,或用于提高企业效率的OA.BPM.BI的本质应该是通过展现数据,用于加强企 ...

随机推荐

  1. 2023云栖大会议程&体验攻略

    2023云栖大会倒计时1天 将围绕"计算,为了无法计算的价值" 为大家带来一场有用.有趣科技盛宴 City Walk 不如云栖Walk 今日,送上一份参会指南 给所有参会者& ...

  2. Ubuntu22.04 rc-local 配置开机自启动脚本

    1. rc-local服务简介Linux中的rc-local服务是一个开机自动启动的,调用开发人员或系统管理员编写的可执行脚本或命令的,它的启动顺序是在系统所有服务加载完成之后执行. ubuntu22 ...

  3. ubuntu系统安装到U盘便捷启动

    1.前言 实现u盘系统即插即用,便捷带走.这里需要使用到VM虚拟机进行安装,这里选择64位的ubuntu系统. 2.运行VM虚拟机 以管理员运行VM虚拟机,创建一个ubuntu系统,然后选中相关的镜像 ...

  4. NewsCenter

    打开界面有一个搜索框 抓包查看是post形式提交的数据包 这时候试试sql注入,万能密码直接全都显示,那就说明存在sql注入漏洞 这里试试用sqlmap自动注入试试(POST类型的sql注入第一次尝试 ...

  5. Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

    目录 一.简介 术语 事务模式 XA 模式 AT 模式 TCC 模式 Sage 模式 说明 二.Seata Server 存储模式 1.file 模式 ①修改application.xml ②启动Se ...

  6. MySQL Group by 优化查询

      Group by 未加索引 使用的是临时表,加文件排序(数据量小用内存排序) 加个索引(一般是联合索引) 注意:这里加的索引一般不会仅仅是group by后面的字段索引(大多数多少条件是一个以该字 ...

  7. 从零开始的 dbt 入门教程 (dbt-core 基础篇)

    最近一直在处理数据分析和数据建模的事情,所以接触了 dbt 等数据分析的工具,国内目前对于 dbt 比较详细的资料不多,所以打算写四道五篇 dbt 相关的文章,本文属于 dbt 系列的第一篇,本篇主要 ...

  8. 【UniApp】-uni-app概述

    前言 好,经过我们前面文章的编写,大家可以了解到微信小程序开发相关的知识,了解完了这个微信小程序开发和云开发之后,从这篇文章开始,我再来给大家写一下关于 Uniapp 的知识. 好,开始,那什么是 U ...

  9. [ABC318G] Typical Path Problem

    Problem Statement You are given a simple connected undirected graph $G$ with $N$ vertices and $M$ ed ...

  10. 文心一言 VS 讯飞星火 VS chatgpt (156)-- 算法导论12.3 3题

    三.用go语言,对于给定的 n 个数的集合,可以通过先构造包含这些数据的一棵二叉搜索树(反复使用TREE-INSERT 逐个插入这些数),然后按中序遍历输出这些数的方法,来对它们排序.这个排序算法的最 ...