开源之所以在软件开发中大量使用的原因是它提供了经过良好测试的构建块,可以加速复杂应用程序和服务的创建。但是第三方软件组件以及包和容器的便利性同时也带来了风险——软件供应链攻击。

软件供应链攻击日益普遍,Gartner 将其列为2022 年的第二大威胁。Gartner 预测,到 2025 年,全球 45% 的组织将遭受一次或多次软件供应链攻击,在参与调研的 CIO 中有82%认为他们所在的企业将容易受到攻击。其中包括通过广泛使用的软件组件(如 Log4j)中的漏洞进行的攻击、针对构建流水线的攻击(如 SolarWinds、Kaseya 和 Codecov hacks),或者黑客入侵软件包存储库本身。

攻击者逐渐发现软件供应链是最薄弱的环节,将攻击优先级从生产环境转移到软件供应链,这也就是为什么软件供应链攻击数量激增的原因。对使用开源代码库的研究表明,漏洞和过时或废弃的组件很常见:81% 的代码库至少有一个漏洞,50% 的代码库有多个高风险漏洞,88% 使用的组件不是最新版本或两年内没有新开发。

关于“影子代码”的思考

CIO 们在制定软件供应链安全防护策略时,可以假设他们的开发人员的开发环境和使用的工具都已经收到损害,借鉴此类场景来制定策略和政策,来最大限度减少攻击对企业软件供应链的影响和损害。

建议 CIO 们像对待影子 IT 一样去思考“影子代码”的影响与威胁。因此这不仅是一个安全问题,而是真正深入到如何获取软件的问题,不论这个软件是开源的还是商业的。如何将开源软件带入开发和生产环境,如何更新,如何控制以及怎样控制,这些都是值得思考的问题。

SBOM——提高可见性的关键

物理供应链已经使用标签、成分清单、安全数据表和材料清单,因此监管机构和消费者知道产品的最终结果。新举措旨在将类似的方法应用于软件,帮助组织了解依赖关系网络及其软件开发过程的攻击面。美国政府关于软件供应链安全的行政令要求向联邦政府提供软件的软件供应商提供软件物料清单 (SBOM),并使用 SLSA 安全检查表的供应链级别来防止篡改。也正因为如此,越来越多企业开始认真对待他们的软件供应链。

Linux 基金会最近的一项调查发现,企业对 SBOM 的需求意识开始提高,目前47% 的 IT 供应商、服务提供商和受监管的行业使用 SBOM,88% 的人预计将在 2023 年使用 SBOM。SBOM 对已经对软件组件和 API 进行资产管理的企业最为有用,如今拥有强大软件开发流程的企业发现可以生成软件材料清单的工具更容易使用。SBOM 可以由构建系统创建,也可以由软件组成分析工具在事后生成。许多工具可以集成到 CI/CD 流水线中并作为构建的一部分运行,甚至可以在下载库时运行。

为了让 SBOM 更好地发挥作用,企业需要明确开发团队获取开源软件的相关政策,开发人员需要清楚地知道公司的安全策略和政策是什么,为了保障开发软件安全,开发人员必须明确他们正在获取的开源软件是没有被篡改的。因此,CIO 们应该首先向他们的开发团队教育和灌输一些基本步骤,即使用新兴的行业标准方法,一是锁定构建系统,二是创建一种可重复的方法来验证软件工件的可信度,然后再将它们带入开发和生产环境。

保护流水线安全

保护企业的软件交付流水线也很重要。NIST 的安全软件开发框架 (SSDF) 和 SLSA 是很好的起点:它们涵盖了各种成熟度级别的最佳实践,从简单的构建系统开始,然后使用日志和元数据进行审计和事件响应。BitBucket、GitHub、GitLab 等版本控制系统都包括安全和访问保护功能(包括越来越精细的访问策略控制、分支保护、代码签名、要求所有贡献者进行 MFA 以及扫描机密和凭据),但需要在使用的时候明确启用。此外可以通过在单个堆栈中实施 SLSA 来保护构建流水线,例如用于可重复安全创建工件 ( FRSCA ) 的项目,虽然目前尚未具备投入生产的能力,但在未来 CIO 可以期望在构建系统时包含更多此类实践。

不过 CIO 们需要留意 SBOM 只是保护流水线安全的解决方案中的一部分,且 SBOM 创建和使用 SBOM 的工具也仍在完善,请求和使用的过程也需要优化。因此在要求供应商提供 SBOM 时,还需要明确 SBOM 的更新频率,是否包含漏洞报告和通知等。企业还需要工具来阅读 SBOM,并制定流程以对这些工具的发现采取行动。

CIO 们应当明确 SBOM 是一种推动力,可以帮助企业应对可能发生的事件,但它不是解决软件供应链安全的万能灵药。同时目前行业响应的速度以及围绕 SBOM 标准和代码证明仍有待提高和加强。不过随着对 SBOM 的需求上升,我们对此可以保持乐观态度。

SEAL 能够如何帮助您

Seal 软件供应链防火墙旨在为企业提供代码安全、构建安全、依赖项安全及运行环境安全等4大防护,通过全链路扫描、问题关联及风险阻止的方式保护企业软件供应链安全,降低企业安全漏洞修复成本。

CIO们开始将软件供应链升级为安全优先级top的更多相关文章

  1. Kubernetes 时代的安全软件供应链

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 汤志敏  阿里云 ...

  2. Seal 0.4 发布:软件供应链安全洞察更上一层楼!

    今天,我们很高兴宣布 Seal 0.4 已正式发布!在上一个版本中,Seal 完成了从单一产品到全链路平台的转变,通过全局视图帮助用户掌握软件开发生命周期各个环节的安全状况. 在 Seal 0.4 中 ...

  3. 在C#中实现软件自动升级

    在C#中实现软件自动升级 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的 ...

  4. 禁被ping 软件漏洞升级

    禁被ping:echo “net.ipv4.icmp_echo_ignore_all=1”  /etc/sysctl.conf 软件漏洞升级:yum install openssh bash -y

  5. HTML5进阶(三)HBuilder实现软件自动升级(优化篇)

    HBuilder实现软件自动升级(优化篇) 前言 受前篇博客<HTML5进阶(二)HBuilder实现软件自动升级>(点击查看详情)的影响,测试过程中发现APP自动更新还是存在问题,第一次 ...

  6. HTML5进阶(二)HBuilder实现软件自动升级

    HBuilder实现软件自动升级 前言 移动APP开发好后需要实现软件自动升级功能,经过一番搜索,发现HBuilder具有"App资源在线升级更新"的功能,遂研究之. 经过一番测试 ...

  7. 基于 Docker 的现代软件供应链

    [编者按]本文作者为 Marc Holmes,主要介绍一项关于现代软件供应链的调查结果.本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 3 月初,为了了解软件供应链的现状以及 D ...

  8. OpenSSF安全计划:SBOM将驱动软件供应链安全

    在 软件成分分析(SCA)一文中,我们简单提到软件物料清单(SBOM)在安全实践中的价值. 本期文章将带你深入了解 "SBOM 无处不在"计划是什么,以及 SBOM 对未来软件供应 ...

  9. SLSA 框架与软件供应链安全防护

    随着软件供应链攻击浪潮愈演愈烈,Google 发布了一系列指南来确保软件包的完整性,旨在防止影响软件供应链的未经授权的代码修改.新的 Google SLSA 框架(Supply-chain Level ...

  10. CSO视角:Sigstore如何保障软件供应链安全?

    本文作者 Chris Hughes,Aquia的联合创始人及CISO,拥有近20年的网络安全经验. SolarWinds 和 Log4j 等影响广泛的软件供应链攻击事件引起了业界对软件供应链安全的关注 ...

随机推荐

  1. ceph的应用

    创建 CephFS 文件系统 MDS 接口 -------------------- 创建 CephFS 文件系统 MDS 接口 -------------------- //服务端操作 1)在管理节 ...

  2. JUC并发编程学习笔记(六)Callable(简单)

    Callable(简单) callable接口和runnable接口类似,都是为了执行另外一条线程而设计的,区别是Runnable不会返回结果也不会抛出异常. 1.可以有返回值 2.可以抛出异常 3. ...

  3. 使用openpyxl库读取Excel文件数据

    在Python中,我们经常需要读取和处理Excel文件中的数据.openpyxl是一个功能强大的库,可以轻松地实现Excel文件的读写操作.本文将介绍如何使用openpyxl库读取Excel文件中的数 ...

  4. Spring系列:Spring6简介和基本使用

    一.概述 1.1 特点 Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由"Spring 之父"Rod Johnson 提出并创立,其目的是用于简化 J ...

  5. win10安装WSL2

    什么是WSL2 首先我们理解一下什么是WSL Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式 ...

  6. (Good topic)快慢指针:链表的中间结点 (3.23leetcode每日打卡)

    给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点.   示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3, ...

  7. 车的可用捕获量(3.26leetcode每日打卡)

    在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R",".",&quo ...

  8. 深入理解 BigBird 的块稀疏注意力

    引言 基于 transformer 的模型已被证明对很多 NLP 任务都非常有用.然而,\(O(n^2)\) 的时间和内存复杂度 (其中 \(n\) 是序列长度) 使得在长序列 (\(n > 5 ...

  9. C#使用SqlSugar操作MySQL数据库实现简单的增删改查

    公众号「DotNet学习交流」,分享学习DotNet的点滴. SqlSugar简介 SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架(EF Core单库架构),由果糖大数据科技团队 维 ...

  10. 记一次逆向分析解密还原Class文件

    前言 前阵子我的一位朋友发来一份代码让我帮忙看看.具体就是所有的jsp文件内容和大小都一样,漏洞挖掘无从下手.经过分析发现所有的Class都使用了自定义的加密工具加密,经过逆向分析,顺利解密,因而有了 ...