FireAI 安全博客

作者 FireAI Security & Research Team · 发布于

Mac 上的勒索软件:一套真正守得住的分层防御

Mac 上的勒索软件:一套真正守得住的分层防御

大多数关于 Mac 勒索软件的文章,开头要么是轻描淡写(“Mac 不会中勒索软件”),要么是夸大其词(“攻击正在爆发”)。两者都不诚实。有据可查的记录很短、很具体,值得仔细阅读,因为它恰恰告诉你防御的每一层是为了什么。本文先梳理这份记录,再逐层讲解,并且明确说明防火墙覆盖哪一层、不覆盖哪几层。

macOS 上实际发生过什么

KeRanger,2016 年 3 月。Palo Alto Networks 的 Unit 42 于 2016 年 3 月 6 日报告,一个被篡改的 Transmission BitTorrent 客户端安装包——从该项目自己的网站下载——携带了第一个功能完整的 OS X 勒索软件。它用一个有效的开发者证书签名,因此得以通过 Gatekeeper。它的行为才是值得记住的部分:据 Unit 42 所述,它先等待三天,然后通过 Tor 网络连接到它的命令与控制服务器,之后才开始加密文件。Apple 在几天内撤销了该证书并更新了 XProtect。

ThiefQuest,又称 EvilQuest,2020 年 6 月。Patrick Wardle 的 Objective-See 于 2020 年 6 月 29 日发布了首份分析,描述了一个通过盗版软件的木马化安装包传播、并借助启动代理和守护进程实现持久化的样本。ThreatDown(当时的 Malwarebytes)第二天报告说,这些盗版安装包包括 Little Snitch 和 Mixed In Key。加密几乎只是配角:该样本还携带了一个键盘记录器,并向命令与控制服务器开启了一个反向 shell,研究人员正因此给它改了名。它是一个穿着勒索软件外衣的数据窃贼。

LockBit,2023 年 4 月。BleepingComputer 于 2023 年 4 月 16 日报告,发现了为 macOS 构建的 LockBit 加密器——LockBit 是当时最大的勒索软件即服务组织之一。检查过这些构建版本的研究人员得出结论,它们很可能是测试版本,其中包含对不兼容系统的引用,并缺少 macOS 特有功能的一些部分,尚未准备好用于真实攻击。这件事的意义不在于该构建版本做了什么,而在于它传递的信号:一个大型犯罪组织已经决定,Mac 值得投入一份工程预算。

七年三起案例算不上一场流行病。但每一起都是通过今天依然存在的路径进来的:一个被悄悄替换的可信下载、盗版软件,以及一条工业化的犯罪供应链。分层防御是围绕这些路径构建的,而不是围绕一个标题数字。

第一层:阻止不可信的代码运行

Apple 自己的平台安全文档把 macOS 针对有害软件的防护描述为三个阶段:阻止它启动(App Store、Gatekeeper 和公证),阻止它运行(同样的工具加上 XProtect),以及在它执行之后进行修复(还是 XProtect)。这一层正是在 Apple 撤销证书后几天内就阻止了 KeRanger 的那一层。它也是盗版软件存在的目的所要击败的那一层:每一个 ThiefQuest 受害者都是有意绕过 Gatekeeper 去安装一个破解应用的。因此,Mac 上最有效的单项勒索软件控制措施不是某个产品,而是一项策略:不用破解软件,不从种子下载,也不用“右键点击,打开”强行越过 Gatekeeper 的警告——除非你确切知道这个警告为什么会出现。

第二层:监视网络,因为勒索软件会说话

加密是最后一步,而不是第一步。MITRE ATT&CK 把它列为“为造成影响而加密数据”(T1486),一种“影响”阶段的技术,而在它之前的阶段都涉及网络。样本会从命令与控制服务器获取密钥或指令;它可能在加密之前先把文件外传,以便勒索时还能威胁公开,ATT&CK 把这一点归类为“通过 C2 通道外传”(T1041);ThiefQuest 甚至运行了一个反向 shell。KeRanger 安静地潜伏了三天,然后通过 Tor 发起了它的第一次出站连接。那第一次连接,正是按应用防火墙所处的位置能够看到的东西。

这就是 FireAI 的位置,这个位置窄小但真实。FireAI 不检测加密。它不监视文件变化,不分析进程或内存,也无法解密任何东西。它所做的,是把每一个出站连接当作一次决策。一个从未连过网的二进制文件会触发一个权限提示,旁边显示设备端模型给出的理由;同一个模型也可以自行阻止或标记一个未知应用到可疑目标的连接。FireAI 在本地应用的威胁情报源包括 Tor 出口节点列表、abuse.ch、Spamhaus、FireHOL 和钓鱼列表,所以对已知犯罪基础设施的首次连接是靠规则而不是靠判断被阻止的。而如果你怀疑有什么东西正在运行,断网开关会切断互联网访问、同时保留本地网络,这切断了命令与控制的链接,又不必拔掉一台你可能还需要用来做取证的机器的电源。

要把失效的情形说清楚。一个从不联网、使用嵌在自身代码里的密钥进行加密的样本,对防火墙是不可见的。一个借助已被批准的应用(比如浏览器)去连接其服务器的样本,会混入被允许的流量之中。防火墙降低了攻击悄无声息、圆满得手的可能性;它并不能让加密变得不可能。

第三层:攻击者碰不到的备份

一次加密事件是一个糟糕的下午,还是一个让企业关门的星期,完全由这一层决定。CISA 的《#StopRansomware 指南》把它放在准备步骤的首位:维护关键数据的离线加密备份并定期测试,并考虑使用不可变存储,在无需单独环境的情况下保护已存储的数据。起作用的那个词是“离线”。一块永远插着的 Time Machine 磁盘是一个已挂载的卷,而已挂载的卷就是一个目标;一个云同步文件夹如果忠实地把你文件的加密版本同步覆盖到原件上,那它根本不算备份。

在 Mac 上,实用版本很直接。Apple 的 Time Machine 指南介绍了如何设置自动备份到外置磁盘或受支持的网络卷。轮换两块磁盘并保持其中一块断开,或者至少在两次备份之间推出磁盘。在别处保留第二份副本,选一个为文件保留版本而不是镜像它们的地方,这样昨天的干净版本才能挺过今天的覆盖。然后从那块断开的磁盘上测试恢复一个真实文件,好让你在被迫顶着压力用它之前就知道流程管用。FireAI 在这一层没有任何角色,这一点值得明说:没有任何防火墙会为你备份任何东西。

第四层:限制一台 Mac 能触及的范围

企业里的勒索软件大部分破坏发生在共享存储上,而一台挂载了共享的 Mac 可以加密它能写入的一切。只给人们他们实际使用的共享的写入权限,并给服务账户单独的凭据,这样一个被攻陷的登录就不会打开整台文件服务器。在 Mac 本身上,FireAI 的按应用规则让你决定哪些应用可以访问你的 NAS、你的云存储主机,或者你的办公网络:一个试图通过 445 端口访问文件服务器的未知二进制文件,必须先越过一条它从未被授予的规则。更严格的安全模式——Paranoid 和 Under attack——更进一步,完全拒绝未签名应用的网络访问。

如果它还是发生了

  • 先把 Mac 从网络上断开。FireAI 的断网开关可以做到这一点并保留本地网络;拔掉网线则更彻底。
  • 在检查备份之前不要付款。CISA 的指南逐步讲解了在做出任何关于赎金的决定之前的隔离、分类和报告。
  • 保留这台机器。抹掉它会毁掉告诉你样本如何进来、发出了什么的证据。
  • 报告。在美国是 CISA 或 FBI;在法国是 Cybermalveillance.gouv.fr 并向警方报案;在其他地方,是你所在国家的 CERT。
  • 从离线副本恢复到一个干净的全新安装上,而不是恢复到被攻陷的系统上。

“完整防御”到底意味着什么

没有任何单一工具是一套勒索软件防御,任何说不是这样的厂商,都是把一层当成四层来卖。Gatekeeper 加上你自己的下载纪律,能让大多数有害代码无法运行。按应用防火墙让确实运行起来的代码在说话之前先要询问,并阻止那些已知属于犯罪的目标。离线备份让加密变得可以挺过去。共享上的最小权限让一台出了问题的 Mac 不至于变成整个办公室的事故。这些层是故意重叠的,因为每一层都有一个由其他层来补上的漏洞。这就是一套守得住的防御的样子:不是无法穿透,而是构建得让任何单点失效都不致命。

FireAI 和 HisnLabs 在其中扮演的角色

The two best-documented Mac ransomware families, KeRanger and ThiefQuest, both talked to a server before or during encryption — and watching for that conversation, from a binary that has never connected before, is the one part of the defence a per-app firewall like FireAI can honestly claim.

FireAI 是 HisnLabs 自己的产品:一款直接在 Mac 上运行的 AI 防火墙。它用通俗易懂的语言显示你的应用建立的每一个连接,并让你决定哪些数据可以离开你的 Mac——它的 AI 在本地运行,因此你的流量永远不会发送给我们或任何其他人。HisnLabs 的安全研究团队负责让这些判断保持准确:归类哪些域名只是普通的遥测、哪些属于真正的服务,追踪连接背后的国家和网络,并用真实的流量模式训练设备端模型(Autopilot 功能)——这一切都不会离开你的 Mac。

你可以阅读它背后的技术决策,或试用 FireAI 17 天:HisnLabs 出品的 FireAI。

来源