软件供应链攻击的演变史

作者:Vishal Garg

软件供应链攻击的演变史

软件供应链攻击在过去几年中迅速增加,包括SolarWinds和Log4Shell在内的一些备受瞩目的事件提高了人们对它们对网络安全构成的潜在风险的认识。

这些攻击引起了公共和私营部门的广泛关注,因此,美国总统于 2021 年 5 月 12 日发布了一项关于改善国家网络安全的行政命令,其中有一个部分专门致力于改善软件供应链安全。

什么是软件供应链攻击?

软件供应链攻击涉及渗透或操纵软件开发、分发或维护的各个阶段,以引入恶意代码或损害软件产品的完整性。

早期妥协

多年来,软件供应链攻击已经变得非常复杂,并且通常与高级持续威胁(APT)相关联,而在早期,软件供应链攻击的概念并不像我们今天所知道的那样广为人知。

尽管这些攻击已经存在了几十年,但由于网络安全的不断发展和有限的历史文档,确定确切的“第一次”攻击可能具有挑战性。

最早记录在案的供应链攻击事件之一通常归因于1980年代初发生的名为“Ken Thompson黑客攻击”的事件。链接到原始论文 这里.这次攻击不是恶意行为,而是软件开发和分发过程中潜在漏洞的展示。

虽然Ken Thompson Hack是一个值得注意的早期例子,但重要的是要注意,在这次演示之前和之后,供应链攻击可能以各种形式发生。近年来,由于软件系统的复杂性和互联性日益增加,术语“软件供应链攻击”变得越来越常用。然而,潜在的漏洞和潜在的利用已经在软件开发和分发领域存在了很长时间。

最早记录在案的实际软件供应链泄露实例之一发生在 2003 年,当时发生了一个名为“Linux 内核后门事件”的事件。该事件涉及在Linux内核的源代码中插入后门,Linux内核是Linux操作系统的| 核心组件。

进化与技术

从早期开始,软件供应链攻击多年来在复杂性和范围上不断发展。

21世纪第一个十年的后半段标志着软件供应链攻击演变的重大转折点。像“Stuxnet”和“Operation Aurora”这样的著名事件表明,国家资助的行为者有能力通过渗透软件开发流程来破坏关键基础设施和企业系统。Stuxnet对西门子工业控制软件的操纵突显了破坏关键部门使用的软件的潜在后果。

2010年代中期引入了更复杂的攻击。“ NotPetya”勒索软件利用乌克兰会计软件的受损软件更新在全球范围内传播,造成广泛的破坏。此事件展示了攻击者破坏受信任分发渠道的可能性,导致组织质疑软件更新的完整性。

近年来,软件供应链攻击不断发展,利用当今软件生态系统的互联性。2020 年“SolarWinds 攻击”等备受瞩目的事件揭示了现代供应链的复杂性,攻击者破坏软件更新以渗透到众多组织中。

此外,开源软件和第三方依赖关系的激增带来了新的挑战。攻击者越来越多地以这些组件为目标,利用众多应用程序使用的库中的漏洞。

攻击技术多年来一直在发展,攻击者可能以各种方式利用漏洞,例如:

  1. 受损更新:攻击者渗透到合法软件更新中,引入恶意代码,在安装时针对毫无戒心的用户。
  1. 恶意依赖关系:攻击者操纵软件开发中使用的第三方库或依赖关系来引入漏洞。
  1. 代码注入:攻击者在软件开发过程中注入恶意代码,针对特定功能或组件。

由于攻击技术的多样性和威胁形势的不断发展,目前还没有通用或公认的词典来描述各种攻击技术。因此,可能很难对这种性质的每个潜在已知妥协进行分类。

云原生计算基金会 (CNCF) 安全技术咨询小组 (TAG) 创建了一个供应链妥协目录,记录了自 2003 年以来的几次妥协。该小组的目标不是对每个已知的供应链攻击进行编目,而是捕获每种类型的几个示例,以了解模式并开发最佳实践和工具。

该目录提供了妥协的详细信息、妥协发生的年份、妥协类型以及影响和更多信息的参考链接。妥协分为七个不同的类别,但是,随着将来发生新的或更明显的妥协,这些类别可能会发生变化。

攻击和威胁分类

一些主要的框架,如MITRE ATT&CK,CAPEC和ENISA提供了攻击分类法。

  • MITRE ATT&CK框架列出了攻击的“初始访问”阶段的“供应链入侵”的三个不同的攻击子类别。
  • 常见攻击模式枚举和分类 (CAPEC) 具有单独的供应链攻击域,并在此域下提供八个不同的抽象攻击类别。这八个类别进一步细分为特定攻击技术的标准和详细级别模式。
  • 欧盟网络安全局 (ENISA) 在其供应链攻击威胁态势文档中定义了供应链中的四个关键要素,包括供应商、供应商资产、客户和客户资产。供应链攻击是至少两种攻击的组合。使用的分类法考虑了供应链的所有四个关键要素,以及攻击者使用的攻击技术。
  • 网络安全公司Comparitech创建了一个全球软件供应链攻击跟踪器,该跟踪器每天更新,并基于ENISA的方法。跟踪器记录攻击的位置,包括每个位置受影响的客户数量、按年份划分的攻击数量以及供应商和客户的攻击类型。

在其他工作中,已经创建了框架来对软件开发和交付过程中的威胁进行分类。比如:

  • 软件保障的供应链级别 (SLSA) 框架描述了典型软件开发和交付过程中每个阶段可能发生的攻击。
软件供应链攻击的演变史

SLSA Framework SLSA 框架

  • 来自Google的软件供应链威胁,这主要基于SLSA框架,并描述了SLSA框架中未列出的其他威胁。
软件供应链攻击的演变史

谷歌版本的软件供应链威胁

  • 国家情报总监办公室 (ODNI) 文件将软件供应链攻击分为三类——供应链攻击、软件支持供应链攻击和软件供应链攻击。

对攻击技术进行分类有助于我们了解攻击、这些攻击的执行位置和方式,以及采取哪些控制措施来降低风险。但是,从上面可以明显看出,每个框架都使用不同的分类法,并且对这些攻击进行分类具有独特的方式。这可能是因为每个框架采取的方法和用于分类的参数不同。

由于软件供应链攻击可能跨越多个组织,并且不同的组织可能采用不同的框架,因此缺乏通用分类法可能会给在该领域工作的从业者带来问题。

(0)
上一篇 2023年8月31日 下午3:27
下一篇 2023年9月7日 下午7:50

相关推荐

  • Java开发初学者的五条安全小贴士

    前言 得益于Java的完备生态,Java一直是非常热门的编程语言。但对于刚刚接触Java的开发者来说,很少会去关注安全相关的问题,没有养成良好的开发习惯,在开发过程中容易带来安全隐患。 我们在本文中总结了五条简单有效的小建议。 一、及时更新依赖组件版本 在Java开发中,开发者经常会用到各类开源组件来实现自己的功能点,但是许多开发者不常关注安全资讯,不了解开…

    2023年8月9日
    0
  • 首起针对国内金融企业的开源组件投毒攻击事件

    简述 2023年8月9日,墨菲监控到用户名为 snugglejack_org (邮件地址:SnuggleBearrxx@hotmail.com)的用户发布到 NPM 仓库中的 ws-paso-jssdk 组件包具有发向 https://ql.rustdesk[.]net 的可疑流量,经过确认该组件包携带远控脚本,从攻击者可控的 C2 服务器接收并执行系统命令…

    2023年8月18日
    0
  • 使用 SBOM 查找 Amazon EKS 集群上运行的易受攻击的容器映像

    前言 当你在当地的杂货店购买包装好的食品时,你可能会检查上面列出的成分列表,以了解其中含有什么,确保你不会不经意地摄入你不希望吃的成分或已知对健康有不良影响的成分。但当你购买或使用软件产品时,你是否也有这样的思考方式?你是否清楚地了解构成该软件的各个组件,并知道其中是否有任何已知的漏洞?如今的典型软件应用都是使用许多开源软件库和可重复使用的第三方代码构建的。…

    2023年8月11日
    0
  • 如何通过SBOM(软件物料清单)实现安全治理

    前言 SBOM(软件物料清单)是近年来在软件供应链领域频繁提到的概念,Linux基金会在2021年Q3调研了全球412 家机构发现已经有82%的人熟悉SBOM、78%的组织预计在今年使用SBOM。本文将介绍SBOM基本概念、实现方式、应用场景,帮助读者通过SBOM更高效地实现安全治理目标。 什么是SBOM 根据NTIA(美国国家电信和信息化管理局)的定义,S…

    2023年8月9日
    0
  • 前沿 | 国外开源软件安全治理模式研究及工作建议

    开源软件是指软件源代码可以被共享和公共使用的软件。在人们享受开源软件的便捷性和广泛性同时,一旦发生开源软件安全漏洞,其危害程度大、波及范围广,将造成较大安全隐患,从而使对开源软件的治理成为一项重要内容。本文在分析开源软件安全风险的基础上,对国外开源软件安全治理模式进行研究,对我国开源软件安全治理工作存在的不足展开反思,基于以上研究,就如何更好地保障我国开源软…

    2023年8月24日
    0