SBOM:缓解软件供应链风险的关键
软件包含大量且范围广泛的组件、部分和相互依赖关系。需要有效缓解与使用软件相关的安全风险;需要遵守与组件相关的许可证。通过第三方代码(包括开源软件 (OSS))了解产品中所有项目的出处至关重要,无论这些元素源自企业的团队还是团队之外。确保安全的最佳方法是维护软件中所有组件的当前“成分列表”列表——软件材料清单 (SBOM)。
什么是 SBOM?
就像食品的成分列表一样,SBOM 就是软件中组件和服务的列表。SBOM 类似于制造和产品开发中的供应链文档。在产品开发供应链中,制造商使用特定供应商的零件,安装组件来构建产品,然后跟踪产品从制造商到购买它的零售店的旅行历史。与此类似,网络环境中的服务器机器是使用交付给制造厂的供应商部件构建的。服务器构建完成,然后从一个位置移动到另一个位置,直到它到达安装它的数据中心。这个过程中的每一步都是供应链的一部分。
SBOM 是提高整个软件安全供应链透明度和问责制的重要一步,但这只是在软件市场实现有意义的安全透明度的第一步。除了成分之外,软件消费者还应该清楚地了解为软件设想的威胁模型、现有的安全机制、执行的安全测试以及开发人员是否接受过培训。
在之前的文章 OpenSSF安全计划:SBOM 将驱动软件供应链安全 有提到,目前美国联邦政府采取了积极主动的措施,要求政府机构消费和生产的所有软件都使用 SBOM。《关于改善国家网络安全的行政命令》指出,网络攻击的频率和复杂性的增加催化了公共和私有部门联手保护软件供应链的局面。这也标志着 SBOM 驱动的未来已经到来。
SBOM 的优势
SBOM 是安全团队的理想工具,他们需要深入了解第三方软件风险以了解他们所使用的版本、任何许可影响以及可能增加安全债务的其他依赖项。最后,SBOM 帮助事件响应团队识别漏洞的来源以及是否被利用,以便快速通知客户。随着开源库的激增和 log4j 等广泛使用的库的大规模开发,SBOM 可以帮助组织在其应用程序组合中控制开源。以下是 SBOM 的优势:
SBOM 可以帮助组织优先考虑风险最高的开源使用。第一个目标是杜绝使用具有已知漏洞的库,并随时关注每个开源库的最新版本。
SBOM 在危机情况下也非常有用。当库中的新漏洞被披露时,组织必须能够快速准确地追踪该版本在其企业中的使用位置,这一点至关重要。使用来自企业各团队的 SBOM 数据并持续更新是快速响应的关键。
最后,通过将 SBOM 信息提供给软件消费者,这样有效解决了软件市场中的信息不对称问题。可以访问有关应用程序安全性的完整信息(包括 SBOM 中的库信息)的消费者可以做出明智的决定,同时也鼓励开发者创建安全可信任的出色软件。
SBOM 的作用
SBOM 是一种正式且可查询的记录,其中包含用于构建软件的各种组件的详细信息和关系,包括开源软件和所有引入的第三方软件。SBOM 提供的清单是安全软件开发框架(secure software development framework)的关键要素,有助于在软件开发过程中检测漏洞,然后在软件生命周期中发挥持续作用。
软件部件从各种不受监管的来源引入应用程序:供应商代码、合作伙伴代码、开源项目和内部开发。开发人员经常使用来自各种地方的代码(开源和第三方代码),这些代码不像商业软件那样具有相同的入站控制和审查。开源和第三方代码来自知名生态系统(如 Apache Software Foundation 和 Eclipse Foundation)和权威工件存储库,包括 Maven Central (Java)、NuGet (.NET)、npm (JS)、PyPI (Python) 、RubyGems (Ruby) 等等。有时,代码还可以通过全球各地的个人开发人员进入企业,这些开发人员将他们的代码托管在源代码存储库上,例如 GitHub 或 GitLab。
能够访问此代码中反映的创新和知识通常对用户有益,但也提出了一个需要解决的重要问题:代码中包含什么?这就是 SBOM 的亮点,借助 SBOM,软件公司可以识别:
软件中的组件/成分
这些组件来自哪里
每个组件的许可证信息
软件(及其运行的设备)的安全漏洞状态
哪些部分需要评估和补救(以及您在此过程中的位置)
向客户和合作伙伴交付的合规性工件
美国国家电信和信息管理局 (NTIA) 概述了 SBOM 的最低要素,例如数据字段(名称、许可证和版本)。目前已存在多种 SBOM 的格式,例如 CycloneDX、OpenChain 和 SPDX,行业也正在努力标准化 SBOM 的格式。SBOM 以多种格式创建和维护,有时在比较或编译 SBOM 时会遇到挑战。
优化 SBOM
随着 SBOM 成为主流,有效使用 SBOM 的关键之一是全面了解多个信息源。基于 SaaS 的 SBOM 提供了一种统一的库存管理方法,从不同来源获取和聚合数据,能够清楚地了解安全问题以及与许可证和不合规部件相关的法律风险。
具有基于云的库存管理的优化 SBOM 将成为商业智能的持续来源,提供可操作的视图,支持针对特定关注领域的监控和警报。通过从广泛的来源(内部和/或合作伙伴、供应商和供应商)获取数据以识别和记录所有第三方知识产权 (IP),统一和协调来自多个来源和各种格式的内部和外部 SBOM从整个组织到一个单一的、规范化的视图。由此产生的关于组件或许可证使用以及安全和漏洞暴露的见解意味着,如果许可证在不合规或发现漏洞时存在问题,企业可以采取相应措施来解决问题。
这种 SBOM 方法还提供了强大的合规性工件,企业可以将这些工件提供给其客户和下游供应链合作伙伴。这不仅能够强调企业软件的安全性,而且这种对产品的透明度也有助于加强业务关系。
作为软件成分分析 (SCA) 程序的一部分,基于云的集中式 SBOM 管理使企业能够做的不仅仅是识别软件中使用的成分,还能促进持续的策略管理、风险管理计划和许可证合规计划。有了这些信息,企业就可以更好地进行资源管理,了解在哪里以及如何将员工资源用于开发和/或当新报告的安全漏洞被识别为应用程序的一个组成部分时所需的补救措施。
总结
通过 SBOM,无论是企业自主开发的代码还是组织外部引入的软件组件,企业将拥有统一的数据来识别风险。同时企业将获得必要的信息来帮助及时解决问题,而主动识别软件许可证和安全风险有助于确保一种受损成分不会破坏企业软件,或危及企业在软件供应链中的角色。
SBOM:缓解软件供应链风险的关键的更多相关文章
- OpenSSF安全计划:SBOM将驱动软件供应链安全
在 软件成分分析(SCA)一文中,我们简单提到软件物料清单(SBOM)在安全实践中的价值. 本期文章将带你深入了解 "SBOM 无处不在"计划是什么,以及 SBOM 对未来软件供应 ...
- CSO视角:Sigstore如何保障软件供应链安全?
本文作者 Chris Hughes,Aquia的联合创始人及CISO,拥有近20年的网络安全经验. SolarWinds 和 Log4j 等影响广泛的软件供应链攻击事件引起了业界对软件供应链安全的关注 ...
- SLSA 框架与软件供应链安全防护
随着软件供应链攻击浪潮愈演愈烈,Google 发布了一系列指南来确保软件包的完整性,旨在防止影响软件供应链的未经授权的代码修改.新的 Google SLSA 框架(Supply-chain Level ...
- Kubernetes 时代的安全软件供应链
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 汤志敏 阿里云 ...
- Seal 0.4 发布:软件供应链安全洞察更上一层楼!
今天,我们很高兴宣布 Seal 0.4 已正式发布!在上一个版本中,Seal 完成了从单一产品到全链路平台的转变,通过全局视图帮助用户掌握软件开发生命周期各个环节的安全状况. 在 Seal 0.4 中 ...
- 基于 Docker 的现代软件供应链
[编者按]本文作者为 Marc Holmes,主要介绍一项关于现代软件供应链的调查结果.本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 3 月初,为了了解软件供应链的现状以及 D ...
- CNCF社区首个!KubeEdge达到软件供应链SLSA L3等级
摘要:在v1.13.0版本中,KubeEdge项目已达到 SLSAL3等级(包括二进制和容器镜像构件),成为CNCF社区首个达到SLSA L3等级的项目. 本文分享自华为云社区<CNCF社区首个 ...
- 6个tips缓解第三方访问风险
随着开发和交付的压力越来越大,许多企业选择依赖第三方来帮助运营和发展业务.值得重视的是,第三方软件及服务供应商和合作伙伴也是云环境攻击面的重要组成部分.尽管企业无法完全切断与第三方的关联,但可以在向他 ...
- 选择ERP频频踩雷?国内外ERP有差异,突破ERP软件单一性是关键
信息化日新月异的蓬勃发展,导致企业在选择ERP软件时频频踩雷.企业如何选择出一个适合自己的ERP软件系统呢?是选择国外知名公司的ERP软件产品,还是选择国内性价比高的ERP软件产品呢,小编就带大家了解 ...
- 关于软件物料清单(SBOM),你所需要了解的一切
在此前的多篇文章中,我们已经详细地介绍了软件物料清单(SBOM)对于保障软件供应链安全的重要性以及一些注意事项.在本文中,我们将会更深入地介绍SBOM,包括最低要求元素.格式.使用场景以及如何对其进行 ...
随机推荐
- 苹果电脑开不了机,mac时间机器备份加速,以及识别不到u盘的方法
平淡无奇的一天,上班后,我按照正常流程,揭开我亲爱的mac的盖子.屏幕没有如昨天一样照亮我的脸庞,擦,电用完了吗? 我充上电,半小时后,电池都热了,依然开不了机.打售后电话,售后姐姐亲切的指导各种我使 ...
- 管道channel
管道 go语言中管道底层是一个环形队列(先进先出),写入(send)和 取出(recv)都是从同一个位置按照同一方向顺序执行. sendx表示最后一次插入元素位置,recvx表示最后一次取出元素的位置 ...
- InfiniBand 的前世今生
今年,以 ChatGPT 为代表的 AI 大模型强势崛起,而 ChatGPT 所使用的网络,正是 InfiniBand,这也让 InfiniBand 大火了起来.那么,到底什么是 InfiniBand ...
- ORACLE SQL语句逻辑读高优化案例
川川找我优化SQL,逻辑读达到398,000,安排一下. SQL和执行计划: SELECT t1.*, t3.bed_number, t3.patient_name, t4.name FROM odw ...
- 浅谈斜率优化DP
前言 考试 T2 出题人放了个树上斜率优化 DP,直接被同校 OIER 吊起来锤. 离 NOIP 还有不到一周,赶紧学一点. 引入 斜率 斜率,数学.几何学名词,是表示一条直线(或曲线的切线)关于(横 ...
- GUI界面实现小学生口算题卡功能(一)| 简要了解GUI
上课没认真听,下课不好好写. 关于GUI,首先了解了一下什么是GUI: GUI(Graphical User Interface),图形用户界面.采用图形方式显示的计算机操作用户接口.与早期计算机使用 ...
- NodeJS下载安装
一.什么是NodeJS? NodeJS是一个开源,跨平台的JavaScript运行环境 二.NodeJS安装包下载 1.打开网址:Node.js (nodejs.org) 2.下载稳定版本 三.Nod ...
- [ABC261C] NewFolder(1)
Problem Statement For two strings $A$ and $B$, let $A+B$ denote the concatenation of $A$ and $B$ in ...
- Winform RichTextBox 控件文本内容自动滚动到最后一行
RichTextBox 控件文本内容始终显示追加的最新内容,也就是自动滚动到控件文本框的最后一行. 有两种方法: HideSelection设置为false: // RichTextBox1.Text ...
- 【云原生 | Kubernetes 系列】—K8S部署RocketMQ集群(双主双从+同步模式)
[云原生 | Kubernetes 系列]-K8S部署RocketMQ集群(双主双从+同步模式) 版权 本文为云录原创文章,转载无需和我联系,但请注明来自云录 https://www.yunzhuan ...