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

软件供应链攻击日益普遍,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. NewStarCTF 2023 公开赛道 WEEK4|MISC 部分WP

    R通大残 1.题目信息 R通大残,打了99,补! 2.解题方法 仔细分析题目,联想到隐写的R通道. 首先解释一下:R是储存红色的通道,通道里常见有R(红).G(绿).B(蓝)三个通道,如果关闭了R通道 ...

  2. Python Lambda 用法大全

    一.Lambda表达式基础 Lambda 的组成分为三部分 lambda arguments: expression arguments为Lambda表达式的参数列表,多个参数使用逗号分隔:expre ...

  3. 多维详述MediaBox互动直播AUI Kit低代码开发方案

    本专栏将分享阿里云视频云MediaBox系列技术文章,深度剖析音视频开发利器的技术架构.技术性能.开发能效和最佳实践,一起开启音视频的开发之旅.本文为MediaBox最佳实践篇,重点从互动直播AUI ...

  4. P-III曲线水文频率计算程序(方法)

    P-III曲线水文频率计算程序(方法) 最近遇到水文频率曲线拟合计算相关的问题,在网上查阅了一下,毕竟是专业性比较强的知识内容,好像没有比较系统全面的资料,一时兴起,做了一些研究,总结了一下所了解的一 ...

  5. CSS 尺寸单位概述

    在本文中,我们将探讨 CSS 尺寸单位的四大类别.我们将了解这些尺寸单位的用途.它们的最佳工作原理,以及如何在每种情况下选择最佳尺寸单位,从而在各种媒体和设备尺寸下优化我们的布局. 关于 CSS 尺寸 ...

  6. Pycharm 2022 取消双击 shift 搜索框

    Pycharm取消双击shift搜索框 基于PyCharm 2022.3.2 (Professional Edition),旧版本修改方式自行搜索 双击shift弹出搜索框,输入内容double mo ...

  7. 【已解决】【Tensorflow2.12.0版本以后合并CPU和GPU版】Tensorflow-gpu==2.12.0 安装失败解决办法

    直接上解决方式,需要知道原因的看后文. 直接安装 tensroflow,从 2022 年 12 月起 tensorflow-gpu 已经合并到 tensorflow 包中了 pip install t ...

  8. Mybatis出现Caused by: net.sf.jsqlparser.parser.ParseException: ....异常

    今天在开发项目中遇到了一个奇怪的异常,记录一下把! 异常信息如下(截取了主要的部分) Caused by: net.sf.jsqlparser.parser.ParseException: Encou ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (167)-- 算法导论13.1 7题

    七.用go语言,试描述一棵含有 n 个关键字的红黑树,使其红色内部结点个数与黑色内部结点个数的比值最大.这个比值是多少? 该比值最小的树又是怎样呢?比值是多少? 文心一言: 红黑树是一种自平衡的二叉查 ...

  10. 构建 dotnet&vue 应用镜像->推送到 Nexus 仓库->部署为 k8s 服务实践

    前言 前面分享了 k8s 的部署安装,本篇来点实操,将会把一个 .net core + vue 的项目(zhontai),打包构建成 docker 镜像,推送到 nexus 镜像仓库,并部署到 k8s ...