FireAI 安全博客

作者 FireAI Security & Research Team · 发布于

macOS 上的零日漏洞:为什么未知威胁仍然必须“回连老家”

macOS 上的零日漏洞:为什么未知威胁仍然必须“回连老家”

零日漏洞是指在厂商拿出修复方案之前就已被利用的安全缺陷,之所以这样命名,是因为防御者有零天的时间来应对。它是最令人警觉的威胁类别,因为通常的建议——“保持软件更新”——此时还不适用:没有可以更新到的版本。本文考察这些缺陷在 Apple 平台上实际是什么样子,依据 Apple 自己的安全性发布、Google Project Zero 和 Citizen Lab 的资料,然后审视一个未知的漏洞利用在得手之后仍然必须做的那一件事。

有一点需要开门见山地说清楚,因为围绕这个话题的营销常常具有误导性:没有任何防火墙能阻止漏洞利用。FireAI 不能,其他任何防火墙也不能。防火墙看不到一张畸形图片在 iMessage 内部被解析,也看不到一个内核缺陷被一个网页触发。防火墙能做的是监视接下来发生的事,而这件事的重要性远超它初看上去的样子。

记录实际表明了什么

Apple 在其 Apple 安全性发布页面上记录每一个安全修复,当某个缺陷已经被用来攻击真实的人时,它会用一个标准短语说明:“Apple 已获悉有报告称此问题可能已被主动利用。”把这个页面连着几年读下来,得到的图景比任何头条新闻都更扎实。Google Project Zero 维护着一份互补的公开记录,即它的 0-day“在野”追踪器,列出了在补丁存在之前就在真实攻击中被发现的漏洞利用。Project Zero 谨慎地指出,该追踪器只包含被检测到的案例——按定义,这些是攻击者的失败——所以它不能用来统计实际发生了多少利用,也不能用来比较各个平台。

三个有据可查的案例展示了问题的形态。

FORCEDENTRY,2021 年

2021 年 3 月,多伦多大学的 Citizen Lab 分析了一位沙特活动人士的手机,并从中复原出一个被它命名为 FORCEDENTRY 的漏洞利用。这是一次零点击攻击:一个通过 iMessage 投递的特制文件,无需受害者点击任何东西,就安装了 NSO Group 的 Pegasus 间谍软件。Citizen Lab 发现了它至少自 2021 年 2 月起就已被使用的证据。Apple 于 2021 年 9 月 13 日在 iOS 14.8、macOS Big Sur 11.6 以及一个面向 Catalina 的安全性更新中修补了这个缺陷——CoreGraphics 图像解析器中的 CVE-2021-30860;其自己的 Big Sur 11.6 发布说明确认该缺陷“可能已被主动利用”。

Google Project Zero 后来发表了一份技术分析,解释了为什么这类东西如此难以抓住。这个缺陷位于 PDF 内部使用的 JBIG2 图像压缩代码中。NSO 的漏洞利用使用该格式自身的逻辑运算符,用超过 70,000 条图像段命令在图像解码器内部搭建了一台小型的可工作的计算机,并在其上运行了攻击的其余部分。从外部看,这一切都不像一个程序。它是一张图片,由一个合法的、已签名的系统进程打开。

香港水坑攻击,2021 年

2021 年 8 月下旬,Google 的威胁分析小组发现了一场针对一家香港媒体和一个民主派团体网站访客的水坑攻击活动。针对 Mac,它把一个已在 1 月修补的 WebKit 缺陷与一个在 macOS Catalina 上仍未修补的内核提权缺陷 CVE-2021-30869 串联起来;Apple 于 2021 年 9 月 23 日修复了后者。其载荷是一个被 Google 称为 MACMA 的后门,能够对机器进行指纹识别、捕获屏幕、录音、记录键击、上传和下载文件以及运行终端命令。

这个例子之所以有启发性,是因为漏洞利用和载荷是两回事。漏洞利用是不可见的:一个网页。载荷则是一个普通的植入程序,它要对操控者有任何用处,就必须建立一条命令与控制通道,并把数据从 Mac 上转移出去。Google 的报告恰恰描述了那套基础设施。

BLASTPASS,2023 年

2023 年 9 月,Citizen Lab 报告了 BLASTPASS,另一条投递 Pegasus 的零点击 iMessage 攻击链,这次是通过包含恶意图片的 PassKit 附件。Apple 分配了 CVE-2023-41064 和 CVE-2023-41061,并为 iPhone、iPad、Mac 和 Apple Watch 发布了修复。值得注意的是,Apple 的安全工程师和 Citizen Lab 都表示,他们相信锁定模式阻止了这条特定的攻击链——这是最有力的公开证据,表明对这类威胁真正有效的是缩小攻击面,而不是检测攻击。

为什么检测漏洞利用本身如此困难

把这三个案例放在一起,模式就很清楚。漏洞利用以数据的形式到达(一张图片、一个 PDF、一个网页),而不是以应用的形式。它由合法的、Apple 签名的代码处理。没有文件可供 XProtect 匹配,没有未签名的二进制文件可供 Gatekeeper 拒绝,而且往往没有新进程可供端点安全工具标记,因为敌对代码运行在一个早已被信任的进程内部。检测——当它发生时——通常是取证性质的:Citizen Lab 是通过事后检查设备上的痕迹发现 FORCEDENTRY 的,而不是靠某个扫描器实时抓住它。

这就是为什么 Apple 给那些认为自己可能成为目标的人的建议不是“安装一个检测器”,而是锁定模式——在 macOS Ventura 及更新版本上,它会阻止大多数信息附件类型,禁用复杂的网页技术,拒绝未知的 FaceTime 来电者,并阻止安装配置描述文件。它的工作方式是移除漏洞利用所需的代码路径,代价是 Apple 明确说明的便利性损失。

为什么网络这一步不一样

漏洞利用是攻击的开始,而不是它的目的。Pegasus 存在的意义是把信息、照片和麦克风音频发送给它的操控者。MACMA 的屏幕截图和键击记录留在受害者的磁盘上一文不值。在每一个有据可查的案例中,价值都是通过离开机器的流量实现的,而在 MITRE ATT&CK 的 macOS 矩阵中,这个阶段有两列专属于它——命令与控制、数据外传——因为它是一个独立的、可观察的、攻击者无法跳过的步骤。

这一步具有漏洞利用所不具备的性质。它来自一个可识别的进程,带有代码签名(或者——很能说明问题地——没有)。它去往一个有 IP、有主机名、有历史的目标。它常常使用一个不寻常的端口、一个裸 IP 而不是名称,或者一家与 Mac 上任何应用都没有关系的托管服务商。这些都不需要知道被利用的是哪个缺陷。它只需要看到连接,并且被允许说“不”。

这正是 FireAI 为之而建的部分。它的按应用规则以发起连接的进程的代码签名为键,所以一个并非你批准的应用的植入二进制文件得到的是一个权限提示,而不是一张通行证,旁边用直白的语言显示设备端模型的理由。它的威胁情报源(abuse.ch、Spamhaus、FireHOL、OpenPhish、Phishing Army 以及当前的 Tor 出口节点列表)在本地应用,所以一个已知的命令与控制地址会被拒绝,无论 Mac 上有没有其他东西认出了载荷。Under attack 和 Paranoid 模式把默认设置收紧为直接阻止未签名应用和未知目标,而断网开关在切断互联网的同时保留本地网络——当你怀疑被攻陷并想保留证据时,这是正确的第一步。

这不覆盖什么

诚实要求列出清单的另一半。如果一个载荷完全运行在一个已被允许的应用内部——例如在你已经许可的浏览器里——它的流量会继承那个应用的权限,FireAI 不会把它区分出来。到一个信誉良好的目标的加密流量看起来和任何其他连接一样。情报源只包含已经有人举报过的地址;一台新搭建的命令与控制服务器还不在上面。而且 FireAI 不检测、不移除、也不分析漏洞利用或植入程序:它不扫描文件或内存,也不是杀毒软件。对于一台你认为已被国家级行为者攻陷的 Mac,正确的路径是 Apple 的威胁通知指南和一位取证专家,而不是某个防火墙设置。

因此,针对未知缺陷的实际防御是分层的、不起眼的:在 Apple 更新发布当天就安装,因为大多数漏洞利用针对的是已经有修复的缺陷;如果你的工作让你成为一个可信的目标,就开启锁定模式;保持攻击面小;并且控制你的 Mac 上哪些应用被允许与互联网通信,这样当某个未知的东西真的进来时,它无法跳过的那一步,正是你在监视的那一步。

FireAI 和 HisnLabs 在其中扮演的角色

FireAI cannot stop an exploit and does not claim to; what it does is sit on the one step every documented case above could not skip, the connection out, and ask, for each unknown process, whether that connection should be allowed at all.

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

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

来源