什么是供应链攻击?

在供应链攻击期间,攻击者利用第三方依赖项来渗透目标的系统或网络。

学习目标

阅读本文后,您将能够:

  • 定义“供应链攻击”
  • 说明供应链攻击是如何进行的
  • 了解如何阻止供应链攻击

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是供应链攻击?

供应链攻击使用第三方工具或服务(统称为“供应链”)来渗透目标系统或网络。这些攻击有时被称为“价值链攻击”或“第三方攻击”。

从本质上讲,供应链攻击是间接的:它们针对其最终目标所依赖(通常是在不知不觉中)的第三方依赖项。依赖项是指由第三方提供商提供的程序或代码段(通常用 JavaScript 编写),用于增强应用程序功能。例如,电子商务零售商使用的依赖项,可能有助于运行客户帮助聊天机器人或捕获有关站点访问者活动的信息。可以在用于维护其应用程序和网络的各种软件、应用程序和服务中找到成百上千个这样的依赖项。

在供应链攻击中,攻击者可能会针对网络安全供应商并将恶意代码(或“恶意软件”)添加到他们的软件中,然后作为系统更新的一部分将其发送给该供应商的客户端。当客户端下载更新并相信它来自受信任的来源时,恶意软件会授予攻击者访问这些客户端系统和信息的权限。(这基本上就是 2020 年针对 18,000 名客户的 SolarWinds 攻击的方式。)

供应链攻击是如何进行的?

在实施供应链攻击之前,攻击者需要获得对他们计划利用的第三方系统、应用程序或工具的访问权限(也称为“上游”攻击)。这可以通过使用被盗凭据、针对具有组织系统临时访问权限的供应商或利用未知软件漏洞等方法来完成。

在确定获取了对这种第三方依赖项的访问权限后,“下游”攻击(通常通过他们的浏览器或设备到达最终目标的攻击)可以通过多种方式进行。

回到前面的例子,当攻击者将恶意代码添加到网络安全供应商的软件中时,就会发生“上游”攻击。然后,当恶意软件通过例行软件更新在最终用户设备上执行时,就会执行“下游”攻击。

有哪些常见的供应链攻击类型?

供应链攻击可能针对由第三方管理的硬件、软件、应用程序或设备。一些常见的攻击类型包括:

基于浏览器的攻击在最终用户浏览器上运行恶意代码。攻击者可能针对 JavaScript 库或浏览器扩展程序,这些程序会在用户设备上自动执行代码。另外,他们也可能窃取存储在浏览器中的敏感用户信息(通过 cookie、会话存储等)。

软件攻击将恶意软件隐藏在软件更新中。就像在 SolarWinds 攻击中一样,用户的系统可能会自动下载这些更新,无意中允许攻击者感染他们的设备并执行进一步的操作。

开源攻击利用开源代码中的漏洞。开源代码包可以帮助组织加速应用程序和软件开发,但它们也可能允许攻击者篡改已知漏洞或隐藏恶意软件,然后用于渗透用户的系统或设备。

JavaScript 攻击利用 JavaScript 代码中的现有漏洞,或在网页中嵌入恶意脚本,在用户加载时自动执行。

Magecart 攻击使用恶意的 JavaScript 代码从网站结账表单中盗取信用卡信息,这些表格通常由第三方管理。这也被称为“表单劫持”。

水坑攻击可识别大量用户常用的网站(如网站生成器或政府网站)。攻击者可能使用一些策略来识别网站内的安全漏洞,然后利用这些漏洞向毫无戒心的用户提供恶意软件。

加密劫持让攻击者能够窃取挖掘加密货币所需的计算资源。他们可以通过多种方式做到这一点:将恶意代码或广告注入网站,将加密脚本嵌入开源代码存储库,或使用网络钓鱼策略向毫无戒心的用户提供受恶意软件感染的链接。

如何抵御供应链攻击

任何利用或篡改第三方软件、硬件或应用程序的攻击都被视为供应链攻击。组织通常与各种外部供应商合作,每个供应商都可能在其工具和服务中使用数十个依赖项。

出于这个原因,组织可能很难(甚至可以说不可能)完全避免供应链攻击。不过,组织可以使用几种策略来先发制人地防御常见的攻击方法:

  • 运行第三方风险评估:这可能包括在部署之前测试第三方软件、要求供应商遵守特定的安全策略、实施内容安全策略 (CSP) 以控制浏览器能够运行哪些资源,或使用子资源完整性 (SRI) 检查 JavaScript 是否有可疑内容。
  • 实施 Zero TrustZero Trust 可确保每个用户(从员工到承包商和供应商)都受到企业网络内的持续验证和监控。验证用户和设备的身份以及权限,有助于确保攻击者无法仅仅通过窃取合法的用户凭证来渗透企业(或使其无法在网络内横向移动,如果他们确实破坏企业的现有安全措施的话)。
  • 使用恶意软件预防:防病毒软件等恶意软件预防工具会自动扫描设备中的恶意代码,以防止其执行。
  • 采用浏览器隔离:浏览器隔离工具在网页代码在最终用户设备上执行之前将其隔离(或将其放入沙盒),这样,任何恶意软件都会在其到达预期目标之前被检测到并被缓解。
  • 检测影子 IT:影子 IT”是指员工未经其组织 IT 部门批准而使用的应用程序和服务。这些未经批准的工具可能包含 IT 部门无法修补的漏洞,因为部门人员并不知道它们的使用。使用具有影子 IT 检测功能的云访问安全代理 (CASB) 可以帮助组织更好地分类其员工正在使用的工具,并分析它们是否存在任何安全漏洞。
  • 启用补丁和漏洞检测:使用第三方工具的组织有责任确保这些工具没有安全漏洞。虽然可能无法识别和修补每个漏洞,但组织仍应尽职尽责,以发现和披露软件、应用程序和其他第三方资源中的已知漏洞。
  • 防止零日漏洞利用*:供应链攻击通常利用尚未修补的零日漏洞。虽然预测零日威胁没有万无一失的方法,但浏览器隔离工具和防火墙可以帮助在恶意代码执行之前隔离和阻止它。

*对于大多数组织来说,阻止零日漏洞利用仍然是一项特别具有挑战性的任务。2021 年,在 Log4j 中发现了一个零日漏洞,Log4j 是一个帮助开发人员在 Java 应用程序中记录数据的开源软件库。这使得攻击者可以感染和控制数亿台设备,然后他们从中进行进一步的攻击,包括勒索软件攻击和非法加密货币挖矿。阅读有关 Cloudflare 如何防御 Log4j 漏洞的更多信息。

Cloudflare 如何阻止供应链攻击?

Cloudflare Zero Trust 通过阻止对潜在风险网站的访问、防止恶意上传和下载以及审核组织内的 SaaS 应用程序(包括已批准和未批准),来帮助阻止供应链攻击。

Cloudflare Zaraz 是一款第三方工具管理器,可在云中加载应用程序,因此恶意代码无法在最终用户浏览器上执行。Zaraz 使用户能够查看和控制在其站点上运行的第三方脚本,从而使他们能够隔离和阻止危险行为。