一句话:提出 ShadowLoad,通过向硬件预取器注入状态将不可访问的受害者数据带入缓存,并实现 FetchProbe 侧信道攻击。
硬件预取器会预测访存并预取数据,其内部状态已被证明可作侧信道,跨进程、用户/内核乃至可信执行环境泄露信息。本文提出 ShadowLoad 攻击原语,向硬件预取器注入状态,使不可访问的受害者数据被带入缓存;作者开发 StrideRE 自动逆向步长预取器内部机制。该原语扩展了 Meltdown、Collide+Power 等微架构攻击的攻击面,并可部分绕过 AWS 等云上的 L1TF 缓解。作者还实现 FetchProbe,以子缓存线粒度泄露访存偏移,并在 WolfSSL 侧信道加固的 Base64 实现上成功攻击。
Hardware prefetchers are an optimization in modern CPUs that predict memory accesses and preemptively load the corresponding value into the cache. Previous work showed that the internal state of hardware prefetchers can act as a side channel, leaking information across security boundaries such as processes, user and kernel space, and even trusted execution environments. In this paper, we present ShadowLoad, a new attack primitive to bring inaccessible victim data into the cache by injecting state into the hardware prefetcher. ShadowLoad relies on the inner workings of the hardware stride prefetchers, which we automatically reverse-engineer using our tool StrideRE. We illustrate how ShadowLoad extends the attack surface of existing microarchitectural attacks such as Meltdown and software-based power analysis attacks like Collide+Power and how it can partially bypass L1TF mitigations on clouds, such as AWS. We further demonstrate FetchProbe, a stride prefetcher side-channel attack leaking offsets of memory accesses with sub-cache-line granularity, extending previous work on control-flow leakage. We demonstrate FetchProbe on the side-channel hardened Base64 implementation of WolfSSL, showing that even real-world side-channel-hardened implementations can be attacked with our new attack.
@inproceedings{HetterichT00BE025,
title = {ShadowLoad: Injecting State into Hardware Prefetchers},
author = {Lorenz Hetterich and Fabian Thomas and Lukas Gerlach and Ruiyi Zhang and Nils Bernsdorf and Eduard Ebert and Michael Schwarz},
booktitle = {ASPLOS},
year = {2025},
doi = {10.1145/3676641.3716020}
}