什么是 WannaCry 勒索软件攻击?

WannaCry 勒索软件攻击发生在 2017 年 5 月 12 日,影响了 20 多万台计算机。WannaCry 利用一个未打补丁的漏洞在世界各地的网络中进行蠕虫式传播。

学习目标

阅读本文后,您将能够:

  • 说明 WannaCry 勒索软件如何在一天内传播到 20 多万台电脑上
  • 描述一个安全研究人员如何阻止 WannaCry
  • 探索 2017 年 5 月 WannaCry 攻击的主要教训和启示

相关内容


想要继续学习吗?

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

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

复制文章链接

什么是 WannaCry 勒索软件攻击?

WannaCry 勒索软件*攻击是一个影响全球组织的重大安全事件。2017 年 5 月 12 日,WannaCry 勒索软件蠕虫传播到 150 多个国家/地区的 20 多万台计算机。知名的受害者包括 FedEx、Honda、Nissan 和英国国家卫生服务系统 (NHS),后者被迫将其部分救护车转移到备用医院。

在攻击发生后的几个小时内,WannaCry 被暂时解除了。一位安全研究人员发现了一个“自毁开关”,基本上关闭了恶意软件。然而,许多受影响的计算机仍然被加密且无法使用,直到受害者支付赎金或能够逆转加密。

WannaCry 通过使用名为“EternalBlue”的漏洞利用进行传播。美国国家安全局 (NSA) 开发了这个漏洞,大概是为了他们自己使用,但在 NSA 本身遭到入侵后,它被一个名为 Shadow Brokers 的组织窃取并发布给公众。EternalBlue 仅适用于较旧的、未打补丁的 Microsoft Windows 版本,但运行此类版本的机器数量足以让 WannaCry 迅速传播开来。

*勒索软件是一种恶意软件,它通过加密锁住文件和数据,并索取赎金。

什么是蠕虫?

在安全领域,蠕虫病毒是一种恶意软件程序,它会自动传播到网络中的多台计算机。蠕虫病毒利用操作系统漏洞,从一台计算机跳到另一台计算机,在每台计算机上安装自己的副本。

蠕虫就像一个小偷,他在一个办公园区里走来走去,寻找未上锁的门。一旦小偷找到了一个,他可以创造一个自己的复制品,留在未上锁的办公室内,两个版本继续寻找未上锁的门。

大多数蠕虫不包含勒索软件。勒索软件通常通过恶意电子邮件、凭据泄露、僵尸网络或高度针对性的漏洞利用(例如 Ryuk)来传播。WannaCry 的独特之处在于,它不仅将勒索软件与蠕虫病毒结合在一起,而且还使用了一个由美国国家安全局创建的特别强大的蠕虫病毒漏洞。

Shadow Brokers 是谁?

Shadow Brokers 是一群攻击者,他们于 2016 年开始向公众泄露恶意软件工具和 zero-day 漏洞利用程序。他们被怀疑获得了 NSA 开发的多个漏洞利用程序,可能是由于机构的内部攻击。2017 年 4 月 14 日,Shadow Brokers 泄露了 WannaCry 最终使用的 EternalBlue 漏洞利用。

Microsoft 于 3 月 14 日发布了 EternalBlue 补丁,比 Shadow Brokers 泄露它的时间早了一个月,但在 WannaCry 攻击发生时许多计算机仍未打补丁。

谁对 WannaCry 勒索软件攻击负责?

2017 年底,美国和英国宣布朝鲜政府是 WannaCry 的幕后黑手。然而,一些安全研究人员对这一归属提出异议。一些人认为,WannaCry 可能是总部设在朝鲜的 Lazarus Group 的手法,而不是直接来自朝鲜政府。其他人认为,恶意软件中的作者线索可能是为了将责任归咎于朝鲜的攻击者,WannaCry 可能完全来自另一个地区。

WannaCry 攻击是如何被阻止的?

在攻击发生的当天,一位名叫 Marcus Hutchins 的安全博主和研究员开始对 WannaCry 的源代码进行逆向工程。他发现 WannaCry 包含一个不寻常的函数:在执行之前,它将查询 iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com。这个网站并不存在。

因此,他注册了这个域。(它花费了 10.69 美元。)

在 Hutchins 这样做之后,WannaCry 的副本继续传播,但他们停止了执行。从本质上讲,一旦 WannaCry 开始收到来自 iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com 的响应,它就会自行关闭。

为什么这能阻止攻击?

虽然不能确定 WannaCry 作者的动机,但据推测,WannaCry 中包含了这种域名查询功能的目的是让赎金软件能够检查它是否在沙盒内。

沙盒是一种反恶意软件工具。它是一个虚拟机,与所有其他系统和网络分开运行。它提供了一个安全的环境来执行不受信任的文件,看看它们是做什么的。

沙盒实际上没有连接到互联网。但沙盒的目的是尽可能地模仿真实的计算机,因此它们可能会对恶意软件针对特定域的查询产生一个虚假的响应。因此,恶意软件检查其是否在沙盒内的一种方法是向一个假的域名发送查询。如果它得到一个“真实的”响应(由沙盒生成),它可以认为自己是在沙盒中,并关闭自己,这样沙盒就不会检测到它是恶意的。

然而,如果恶意软件将其测试查询发送到一个硬编码的域名,那么如果有人注册了这个域名,它就会被欺骗,以为自己始终在沙盒中。这可能是 WannaCry 发生的情况:世界各地的 WannaCry 副本被欺骗,认为它们在沙盒内,并关闭自己。(从恶意软件作者的角度来看,一个更好的设计是查询一个每次都不同的随机域名,这样一来,从沙盒外的域名得到回应的几率就接近零了)。

另一个可能的解释是,传播到世界各地的 WannaCry 的副本是未完成的。WannaCry 的作者可能将该域名硬编码为占位符,打算在发布蠕虫病毒之前用他们的命令和控制 (C&C) 服务器的地址替换它。或者他们可能打算自己注册 iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com。(DNS 过滤URL 过滤也许可以阻止对该域名的查询,但大多数组织不可能及时部署这一安全措施。)

不管是什么原因,这样一个简单的行动能够拯救世界各地的计算机和网络,使其免受进一步感染,这是一种运气。

Marcus Hutchins 身上发生了什么?

事实证明,在 Hutchins 开始以安全研究员的身份工作和写博客之前,他已经花了数年时间经常光顾暗网上的恶意软件论坛,构建和销售自己的恶意软件。WannaCry 事件发生几个月后,FBI 在内华达州拉斯维加斯逮捕了 Hutchins,原因是他编写了一种银行恶意软件 Kronos。

如今,WannaCry 还是一种威胁吗?

由于 Hutchins 的“自毁开关”域,2017 年发布的 WannaCry 版本不再起作用。此外,还为 WannaCry 自 2017 年 3 月以来利用的 EternalBlue 漏洞提供了补丁。

然而,WannaCry 攻击仍在发生。截至 2021 年 3 月,WannaCry 仍然使用 EternalBlue 漏洞,这意味着只有极老的、过时的 Windows 系统才有风险。较新版本的 WannaCry 已经删除了原始版本中存在的自毁开关功能。强烈建议立即更新操作系统和安装安全更新。

虽然 WannaCry 的原始版本已不再活跃,但可以从 2017 年 5 月的攻击中吸取几个关键教训:

  1. 世界各地的网络高度互联。在互联网时代,这可能是不言而喻的,但许多组织仍然认为他们的网络不能从外部渗透(就像一个有护城河的城堡)。WannaCry 表明,除非一个网络是空中隔离的(即它完全隔绝所有外部连接),否则外部威胁仍有可能进入。
  2. 即使是打过补丁的漏洞也可能是危险的。一个漏洞补丁的有效性仅限于应用它的系统数量。在 WannaCry 攻击之前,EternalBlue 补丁已经提供了近两个月,但似乎很少有组织安装了该补丁。(甚至到了 2021 年,有些企业还没有安装)。
  3. 许多重要的组织容易遭受网络攻击。这种情况仍然存在;近年来,勒索软件攻击已经影响到医院、学校、燃料管道和政府。事实上,像 Ryuk 这样的勒索软件组织似乎专门针对这些组织。在某些情况下,组织可能没有应对攻击所需的资金、资源或对技术更新的投入。特别是英国国家医疗服务系统 (NHS) 在攻击发生后继续使用 Windows XP,这是一个高度脆弱的操作系统,Microsoft 已不再提供支持,因此特别容易遭受攻击。
  4. 勒索软件是一个主要威胁。Cloudflare One 是一个零信任零信任平台,可以帮助组织应对这种威胁。零信任安全方法假定所有用户和设备都存在威胁。它定期对用户进行重新验证并评估设备安全,确保对任何不安全或未经授权的设备立即撤销其应用程序和网络访问权限。这有助于防止勒索软件的传播。

了解其他种类的勒索软件: