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. OceanBase金融SQL、亿万级别据量优化案例(Row_number 开窗 + 分页SQL)

    最近优化了不少SQL,简单的SQL顺手搞了不好意思发出来了忽悠人,复杂很考验逻辑思维的,但是又不想分享出来(自己收藏的案例),怕被人抄袭思路. 今天遇到一条很有意思的SQL案例:  性能SQL(金融行 ...

  2. 基于AStyle的代码格式化脚本 [已开源]

    这是一个简单的windows端脚本 主要用于C/C++代码的格式化 可以添加到鼠标右键,直接在.C/.H文件上右键格式化代码 具体开源地址 https://gitee.com/svchao/code_ ...

  3. C?C++?

    代码逆向 在这里需要注意的几个点: c#语言赋值号(=)右边的值同样会跟着左边的值改变,如array6=array2,array6+=2:这个时候array2也会变 如array7[num5] +=  ...

  4. FC 交换机基础配置

    目录 Primera600 存储服务器 FC 交换机 交换机信息查看 交换机配置管理 用户管理 以太网配置 端口配置管理 别名配置 证书管理 角色管理 Zone 管理 参考网址 Primera600 ...

  5. 3款高评价的.Net开发的WMS系统推荐

    本文简介 WMS仓库管理系统是一款专业的仓库管理系统,旨在帮助企业实现仓储管理的智能化.信息化和自动化.通过该系统,企业可以实现对仓库的进货.出货.库存等各个环节的全面把控,提高仓储管理水平,降低运营 ...

  6. Modbus 转 PROFIBUS DP 应用场景 PM-160

    1)在网关PROFIBUS DP侧是一个PROFIBUSDP从站,在Modbus串口侧有Modbus主站.Modbus从站.通用模式可选:接口有RS232RS485.RS422三种可选. 2)通信方式 ...

  7. Ubuntu下使用apt-get命令查询并安装指定版本的软件

    执行以下命令,查询软件所有的版本号 sudo apt-cache madison <package> <package>为需要安装的包名,返回结果第二列即可用的版本号 执行以下 ...

  8. Ingress & Ingress Controller & API Gateway

    Ingress Ingress 内部服务如何暴露给集群外部访问 使用NodePort类型的service 将k8s集群中的服务暴露给集群外部访问,最简单的方式就是使用NodePort,类似在docke ...

  9. 聊聊大数据框架的数据更新策略: COW,MOR,MOW

    大数据框架下,常用的数据更新策略有三种: COW: copy-on-write, 写时复制; MOR: merge-on-read, 读时合并; MOW: merge-on-write, 写时合并; ...

  10. python操作mongodb副本集(mongodb高可用)

    https://pymongo.readthedocs.io/en/stable/examples/high_availability.html# pymongo比较"智能",只要 ...