Bleeping Computer 网站消息,美国佐治亚理工学院的研究人员公布了一种针对苹果 M 系列和 A 系列芯片进行侧信道攻击的方法,并将其命名为 iLeakage,利用该攻击方法可以从 Safari 网页浏览器中提取敏感信息。
iLeakage 首次展示了针对苹果 Silicon CPU 和 Safari 浏览器的预测执行攻击,可以 "近乎完美准确 "地从 Safari 以及 iOS 上的 Firefox、Tor 和 Edge 中获取敏感数据。从本质上讲,iLeakage 是一种无时间的Spectre 攻击,绕过了所有浏览器供应商实施的标准侧信道保护。
运用 iLeakage 从 Safari 窃取秘密
iLeakage 由来自佐治亚理工学院、密歇根大学和波鸿鲁尔大学的一个学术团队开发,他们在研究分析了Safari 的侧信道弹性,并通过实施一种基于竞赛条件的无定时器和架构无关的方法,成功绕过了现有的反制措施。
基于竞赛条件的模型(ileakage.com)
研究人员专注于从 Safari 中读取敏感信息,并通过创建一个“基元”来窃取数据,该基元可以推测性地读取和泄漏苹果浏览器在渲染过程中使用的地址空间中任何 64 位指针。以此,研究人员“击败”了苹果公司在浏览器中实施的侧信道保护措施,例如低分辨率计时器、压缩 35 位寻址等。
不仅如此,研究人员绕过了 Safari 中的网站隔离策略,该策略根据网站的有效顶级域(eTLD)和一个子域将网站分成不同的地址空间,通过利用推测类型混乱绕过苹果公司的压缩 35 位寻址和值中毒对策,并且可以泄露目标页面中类似密码和电子邮件等的敏感数据。
这种攻击方法的概念验证代码使用的是 JavaScript 和 WebAssembly 这两种用于提供动态网页内容的编程语言。
视频中展示了如何使用 iLeakage 攻击在运行 iPad 的 Safari 中检索 Gmail 邮件(注:攻击成功的基本条件是受害用户与攻击者的页面之间会进行交互)。研究人员使用同样的方法检索了一个 Instagram 测试账户的密码,该账户使用 LastPass 密码管理服务在 Safari 网络浏览器中自动填写的(演示视频)。
在另一项实验中,研究人员也演示了 iLeakage 攻击如何在 iOS 版 Chrome 浏览器上运行,并能够检索 YouTube 观看历史记录。对此,研究人员表示苹果的政策强制所有第三方iOS浏览器覆盖在Safari之上,并使用苹果浏览器的JavaScript引擎。(演示视频)
iLeakage 依靠于对苹果 Silicon 芯片(M1、M2)中推测性执行的利用,在这种情况下,CPU 的预测性执行会执行最有可能需要的任务。这种机制存在于所有现代 CPU 中,极大地提高了性能。然而,正如近六年前披露的 Meltdown 和 Spectre 攻击所呈现的结果,设计缺陷可能会导致数据泄露。
iLeakage 性能测试 (ileakage.com)
iLeakage 影响范围广泛
据悉,iLeakage 会影响许多采用苹果 A 系列和 M 系列 ARM 处理器的苹果设备。更恐怖的是,除了可能在浏览器缓存中“遗留”攻击者的网页外,受害者系统上没有留下任何以日志形式的痕迹,导致这种攻击很大程度上无法检测到。
尽管如此,研究人员还是强调不必过度担心,iLeakage 攻击很难实施,需要网络攻击者对基于浏览器的侧通道攻击和 Safari 的实现有深入的了解。
2022 年 9 月 12 日,研究人员将 iLeakage 报告给了苹果公司,该公司为 macOS 开发了以下缓解措施:
1. 打开终端并运行“defaults-write.com.apple.Safari IncludeInternalDebugMenu 1”以启用 Safari 的隐藏调试菜单;
2. 打开 Safari,进入新的可见调试菜单;
3. 选择 "WebKit 内部功能;
4. 滚动并激活 "跨站窗口打开时交换进程"。
Safari 的调试设置菜单(ileakage.com)
苹果警示用户缓解措施可能会带来一些不稳定,如果用户想禁用,可以通过在终端中运行命令默认值write.com.apple.Safari IncludeInternalDebugMenu 0,从调试菜单中执行。
值得一提的是,除了 iLeakage 的实际影响外,本研究还强调了基于 ARM 的新兴平台的预测执行风险,这些平台并没有像 x86 架构那样受到严格审查。