SLAP: Data Speculation Attacks via Load Address Prediction on Apple Silicon
Abstract
利用 Apple 的 Early Load 机制的攻击被做出来了。
自 2018 年 Spectre 首次披露以来,由于难以在硬件中完全缓解推测执行攻击,过去六年中出现了几种新的变体和攻击面。 大多数衍生都建立在原始 Spectre 攻击的关键洞察之上,即 CPU 可以在尝试缓解控制冲突(例如条件或间接分支和返回语句)时暂时执行错误的控制流并通过侧信道跟踪泄露机密。
本文中,我们超越了影响(推测的)控制流,并提出了一种新的数据推测原语,它源于旨在缓解数据风险的微架构优化。 更具体地说,我们表明 Apple CPU 配备了加载地址预测器 (LAP)。 LAP 监控来自相同加载指令的过去地址,以推测性地加载预测地址,该地址可能会错误地指向静止的秘密(即,从未被 CPU 从架构上读取)。 一旦检索到秘密,LAP 就会提供一个很大的推测窗口,足以让对手计算秘密,例如通过隐蔽通道泄露秘密。 我们展示了 LAP 在最近的 Apple CPU(例如 M2、A15 和更新型号)上的存在。 然后,我们通过展示其读取越界、推测性调用恶意函数、破坏 ASLR 和破坏 Safari 网络浏览器的能力来评估 LAP 对安全性的影响。 在这里,我们利用 LAP 向远程网络对手披露敏感的跨站点数据(例如来自 Gmail 的收件箱内容)。