1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 网络工具 > 正文

网络工具

黑客可以迫使iOS和macOS浏览器泄露密码及更多的大量信息

1987web2023-11-07网络工具87
研究人员已设计出了一种攻击方法,可以利用现代iOS和macOS设备搭载的A系列和M系列CPU中的侧信道漏洞,迫使苹果的Safari浏览器泄露密码、Gmail邮件内容及其他秘密

研究人员已设计出了一种攻击方法,可以利用现代 iOS 和 macOS 设备搭载的 A 系列和 M 系列 CPU 中的侧信道漏洞,迫使苹果的 Safari 浏览器泄露密码、Gmail 邮件内容及其他秘密信息。

学术研究人员将这种攻击命名为 "iLeakage",这是一种切实可行的攻击,只需极少的物理资源。然而,它确实需要对苹果硬件进行深入的逆向工程,还需要在利用侧信道(side channel)这类漏洞方面拥有丰富的专业知识。

侧信道可以根据电磁辐射、数据缓存或目标系统的其他表现形式中留下的线索泄露秘密信息。这里的侧信道是推测执行,这是现代 CPU 中提升性能的一项功能,近年来却成为了一大批攻击的来源,几乎源源不断的漏洞变种使得芯片制造商(主要是英特尔,其次是 AMD)竞相制定缓解措施。

利用苹果芯片上的 WebKit

研究人员将 iLeakage 实施成了一个网站,被易受攻击的 macOS 或 iOS 设备访问时,该网站使用 JavaScript 秘密打开攻击者选择的不同网站,并恢复在弹出窗口中渲染 / 呈现的网站内容。研究人员成功地利用 iLeakage 恢复了 YouTube 的观看历史内容、Gmail 收件箱的内容(目标登录期间)以及由凭据管理器自动填充的密码。一旦被访问,iLeakage 网站需要大约 5 分钟来分析目标机器,另外平均需要大约 30 秒来提取一个 512 位的秘密信息,比如 64 个字符的字符串。

图 1. 上图:Gmail 的 Web 视图中显示的电子邮件。下图:恢复的发件人地址、主题和内容。

研究人员在相关信息网站上写道:" 我们展示了攻击者如何诱使 Safari 呈现任意网页,随后使用推测执行恢复网页中存在的敏感信息。特别是,我们演示了 Safari 如何允许恶意网页从流行的高价值目标中恢复秘密信息,比如 Gmail 收件箱内容。最后,我们演示了密码的恢复,以防这些密码被凭据管理器自动填充。"

图 2. 上图:谷歌的帐户页面被密码管理器自动填写,其中密码是 googlepassword。下图:泄露的页面数据,凭据高亮显示。

虽然 iLeakage 只在目标运行 Safari 时攻击 Mac,但 iPhone 和 iPad 在运行任何浏览器时都可能受到攻击,因为它们都基于苹果的 WebKit 浏览器引擎。

苹果代表声称,iLeaka 已意识到这个漏洞,计划在即将发布的软件版本中解决这个问题,没有指定 CVE 编号来跟踪该漏洞。

独特的 WebKit 属性是这种攻击的一个关键因素。A 系列和 M 系列芯片(苹果分别为 iOS 和 macOS 设备设计的第一代 CPU)是另一种设计,这两种芯片都含有防护措施,旨在防止推测执行攻击,实施这些防护措施的方式存在缺陷,最终让 iLeakage 得以变成现实。

推测执行:不断捣鼓的黑客手法

2018 年初,两个相互独立的研究团队披露了两种攻击,一种名为 Spectre,另一种名为 Meltdown,两者都能够通过探索推测执行这项提升性能的功能中一个新发现的侧信道来恢复机密信息,且这项功能内置在几乎所有的现代 CPU 中。将数据从主系统内存移到 CPU 中很耗费时间,为了缩短等待时间,现代 CPU 在所需数据可用时立即执行指令,而不是按顺序执行。

这种乱序模式的一个关键要素是预测 CPU 可能经过的路径,如果预测正确,任务就会比没有预测的情况下更快地完成;如果不正确,CPU 将放弃错误预测的路径,采用一条新的正确的路径。Spectre 和 Meltdown 的研究人员发现,无法恢复微架构层面的某些工件,包括缓存和预测器状态。这使得研究人员能够设计出攻击手法,诱骗英特尔和 AMD 的 CPU 错误地预测敏感指令,将秘密信息从一个应用程序泄露到另一个独立的、不相关的应用程序中,这严重突破了核心安全边界。

在此后的几年里,CPU 制造商和软件开发商想出了许多方法来缓解推测执行攻击。一个关键的缓解措施是限制浏览器或其他应用程序测量 CPU 执行特定操作所需的精确时间的功能。在浏览器中,更多的缓解措施以名为压缩 35 位寻址和值中毒的防御形式出现。

图 3. 推测类型混淆小工具的伪代码。

iLeakage 代表了几项突破。首先,它能够利用类型混淆漏洞,在搭载 A 系列和 M 系列芯片的 Safari 浏览器上击败这些防御措施。其次,它是一种不依赖时间的变种,而是依赖所谓的竞态条件。第三个关键因素是 WebKit 的独特功能:使用常见的 JavaScript 方法 window.open,将来自不同域的网站整合到同一个渲染器进程中。

图 4. 该图概述了基于竞争条件的小工具如何运行以区分缓存命中和缓存未命中。

研究人员在信息网站上写道:为了构建 iLeakage,我们先对苹果 Silicon CPU 上的缓存拓扑结构进行了逆向工程分析。然后我们使用一个新的基于推测的小工具克服了苹果的计时器限制,我们因而可以区分单个缓存命中和缓存未命中,尽管只能访问低分辨率计时器。我们还演示了这个小工具的一个变种,它不使用计时器,而是利用竞争条件,在使用基于推测的小工具构建驱逐集(eviction set)之后,我们进而分析 Safari 的侧信道弹性。这里,我们绕过了 Safari 的 35 位寻址和值中毒对策,创建了一个可以在 Safari 的页面呈现过程中推测读取和泄漏任何 64 位指针的原语。再结合一种将来自不同域的网站整合到同一地址空间的新方法,我们能够发动一种泄漏敏感信息的类似推测的混淆攻击。

研究人员在一篇附带的研究论文(https://ileakage.com/files/ileakage.pdf)中这样描述这种不受时间影响的变种:我们将所有上述构造的原语组合到一个不受时间影响的 Spectre v1 小工具概念验证(PoC)。大体上而言,我们通过以下方法来做到这一点,即把泄露所推测的秘密信息的基于缓存时间的方法换成不受时间影响地区分缓存未命中和缓存命中的小工具。在这里,我们展示了我们的攻击在 Safari、Firefox 和 Tor 上拥有近乎完美的准确性。

万事俱备

攻击要想成功,一台易受攻击的计算机必须先访问 iLeakage 网站,对于涉及 YouTube、Gmail 或任何其他特定 Web 资产的攻击,用户应该在攻击网站打开的同时登录到其帐户。如前所述,攻击者网站需要花大约 5 分钟来探测访问设备。然后,使用 window.open JavaScript 方法,iLeakage 可以导致浏览器打开任何其他网站,开始以每秒 24 位到 34 位的速度窃取某些数据。

正如研究论文解释的那样:

我们先回顾一下,虽然 Safari 通常遵循严格的每个选项卡进程模式,但由 window.open 函数打开的页面与父页面共享渲染 / 呈现过程。因此,我们创建了一个将 window.open 绑定到 onmouseover 事件侦听器的攻击者页面,以便我们在我们的地址空间打开任何网页,只要目标的鼠标光标在页面上。

我们注意到,即使目标关闭了打开的页面,内存中的内容也不会立即被清除,从而使我们的攻击得以继续泄露秘密信息。最后,由于 window.open 执行整合,无论父网页和打开网页的来源是什么,我们将我们攻击者的网页托管在一个非公开访问的 Web 服务器上,同时使用 window.open 整合来自其他域的页面。

图 5

许多目标很可能会识别出 iLeakage 生成的弹出窗口并关闭它。即使这样,攻击也会得逞,因为内容在内存中仍然完好无损,使 iLeakage 得以继续泄露秘密信息。

可以恢复的数据类型包括:

•由凭据管理器自动填写的密码

• Gmail 收件箱内容

• YouTube 观看历史记录

iLeakage 是一种切实可行的攻击,只需要很少的物理资源就可以实施,最大的挑战是需要高超的技术专长。攻击者不仅要有利用推测执行漏洞方面的多年经验,还要对 A 系列和 M 系列芯片进行全面的逆向工程处理,以深入了解它们含有的侧信道。没有迹象表明这个漏洞以前被发现过,更不用说在外面被大肆利用了,这意味着这个漏洞很快被用于实际攻击的可能性很小。

苹果计划推出的补丁,很可能会在 iLeakage 式的攻击网站变得切实可行之前,早早实施到位。

查看原文