在供应链攻击期间,攻击者利用第三方依赖项来渗透目标的系统或网络。
阅读本文后,您将能够:
复制文章链接
供应链攻击使用第三方工具或服务(统称为“供应链”)来渗透目标系统或网络。这些攻击有时被称为“价值链攻击”或“第三方攻击”。
从本质上讲,供应链攻击是间接的:它们针对其最终目标所依赖(通常是在不知不觉中)的第三方依赖项。依赖项是指由第三方提供商提供的程序或代码段(通常用 JavaScript 编写),用于增强应用程序功能。例如,电子商务零售商使用的依赖项,可能有助于运行客户帮助聊天机器人或捕获有关站点访问者活动的信息。可以在用于维护其应用程序和网络的各种软件、应用程序和服务中找到成百上千个这样的依赖项。
在供应链攻击中,攻击者可能会针对网络安全供应商并将恶意代码(或“恶意软件”)添加到他们的软件中,然后作为系统更新的一部分将其发送给该供应商的客户端。当客户端下载更新并相信它来自受信任的来源时,恶意软件会授予攻击者访问这些客户端系统和信息的权限。(这基本上就是 2020 年针对 18,000 名客户的 SolarWinds 攻击的方式。)
在实施供应链攻击之前,攻击者需要获得对他们计划利用的第三方系统、应用程序或工具的访问权限(也称为“上游”攻击)。这可以通过使用被盗凭据、针对具有组织系统临时访问权限的供应商或利用未知软件漏洞等方法来完成。
在确定获取了对这种第三方依赖项的访问权限后,“下游”攻击(通常通过他们的浏览器或设备到达最终目标的攻击)可以通过多种方式进行。
回到前面的例子,当攻击者将恶意代码添加到网络安全供应商的软件中时,就会发生“上游”攻击。然后,当恶意软件通过例行软件更新在最终用户设备上执行时,就会执行“下游”攻击。
供应链攻击可能针对由第三方管理的硬件、软件、应用程序或设备。一些常见的攻击类型包括:
基于浏览器的攻击在最终用户浏览器上运行恶意代码。攻击者可能针对 JavaScript 库或浏览器扩展程序,这些程序会在用户设备上自动执行代码。另外,他们也可能窃取存储在浏览器中的敏感用户信息(通过 cookie、会话存储等)。
软件攻击将恶意软件隐藏在软件更新中。就像在 SolarWinds 攻击中一样,用户的系统可能会自动下载这些更新,无意中允许攻击者感染他们的设备并执行进一步的操作。
开源攻击利用开源代码中的漏洞。开源代码包可以帮助组织加速应用程序和软件开发,但它们也可能允许攻击者篡改已知漏洞或隐藏恶意软件,然后用于渗透用户的系统或设备。
JavaScript 攻击利用 JavaScript 代码中的现有漏洞,或在网页中嵌入恶意脚本,在用户加载时自动执行。
Magecart 攻击使用恶意的 JavaScript 代码从网站结账表单中盗取信用卡信息,这些表格通常由第三方管理。这也被称为“表单劫持”。
水坑攻击可识别大量用户常用的网站(如网站生成器或政府网站)。攻击者可能使用一些策略来识别网站内的安全漏洞,然后利用这些漏洞向毫无戒心的用户提供恶意软件。
加密劫持让攻击者能够窃取挖掘加密货币所需的计算资源。他们可以通过多种方式做到这一点:将恶意代码或广告注入网站,将加密脚本嵌入开源代码存储库,或使用网络钓鱼策略向毫无戒心的用户提供受恶意软件感染的链接。
任何利用或篡改第三方软件、硬件或应用程序的攻击都被视为供应链攻击。组织通常与各种外部供应商合作,每个供应商都可能在其工具和服务中使用数十个依赖项。
出于这个原因,组织可能很难(甚至可以说不可能)完全避免供应链攻击。不过,组织可以使用几种策略来先发制人地防御常见的攻击方法:
*对于大多数组织来说,阻止零日漏洞利用仍然是一项特别具有挑战性的任务。2021 年,在 Log4j 中发现了一个零日漏洞,Log4j 是一个帮助开发人员在 Java 应用程序中记录数据的开源软件库。这使得攻击者可以感染和控制数亿台设备,然后他们从中进行进一步的攻击,包括勒索软件攻击和非法加密货币挖矿。阅读有关 Cloudflare 如何防御 Log4j 漏洞的更多信息。
Cloudflare Zero Trust 通过阻止对潜在风险网站的访问、防止恶意上传和下载以及审核组织内的 SaaS 应用程序(包括已批准和未批准),来帮助阻止供应链攻击。
Cloudflare Zaraz 是一款第三方工具管理器,可在云中加载应用程序,因此恶意代码无法在最终用户浏览器上执行。Zaraz 使用户能够查看和控制在其站点上运行的第三方脚本,从而使他们能够隔离和阻止危险行为。