MicroScope: enabling microarchitectural replay attacks

MicroScope: enabling microarchitectural replay attacks
复制标题

MicroScope:启用微架构重放攻击

DOI:
10.1145/3307650.3322228
复制
发表时间:
2019
期刊:
International Symposium on Computer Architecture
影响因子:
--
通讯作者:
Fletcher, Christopher W.
Fletcher, Christopher W.
中科院分区:
--
文献类型:
--
作者:
Skarlatos, Dimitrios;Yan, Mengjia;Gopireddy, Bhargava;Sprabery, Read;Torrellas, Josep;Fletcher, Christopher W.

文献摘要

相似文献

最近,随着英特尔软件保护扩展(SGX)的引入,基于硬件的可信执行环境(TEE)的受欢迎程度急剧上升。在SGX中,通过称为Enclave的隔离执行环境保护用户进程不受监管软件(如操作系统)的影响。尽管TEE提供了隔离保证,但许多微体系结构侧通道攻击已经被证明绕过了它们的防御机制。但是,对于防御者来说,并不是所有的希望都消失了:许多现代的细粒度、高分辨率的侧通道-例如执行单元端口争用-引入了大量的噪声,使对手可靠地提取秘密的任务复杂化。在这项工作中,我们引入了微体系结构重放攻击,通过使受害者重复地在页面错误指令上重放,SGX对手可以在受害者的单个运行中消除几乎任意的微体系结构侧通道的噪声。我们在一个名为MicroScope的框架中设计、实现和演示我们的想法,并使用它来消除臭名昭著的噪声旁路。我们的主要结果显示了显微镜如何对执行单元端口竞争通道进行去噪。具体地说,我们展示了Micro-Scope如何在受害者程序的单个逻辑运行中可靠地检测到只有两条Divide指令的存在或不存在。这样的攻击可以用来检测个别浮点指令的不正常输入,或者推断飞地中的分支方向,尽管目前的对策清除了飞地边界上的分支预测器。我们还使用显微镜对基于缓存的攻击进行单步处理和去噪,该攻击针对的是对AES的OpenSSL实现。最后,我们讨论微体系结构重放攻击的更广泛的含义-以及可能导致重放的其他机制。
The popularity of hardware-based Trusted Execution Environments (TEEs) has recently skyrocketed with the introduction of Intel's Software Guard Extensions (SGX). In SGX, the user process is protected from supervisor software, such as the operating system, through an isolated execution environment called an enclave. Despite the isolation guarantees provided by TEEs, numerous microarchitectural side channel attacks have been demonstrated that bypass their defense mechanisms. But, not all hope is lost for defenders: many modern fine-grain, high-resolution side channels---e.g., execution unit port contention---introduce large amounts of noise, complicating the adversary's task to reliably extract secrets.In this work, we introduceMicroarchitectural Replay Attacks, whereby an SGX adversary can denoise nearly arbitrary microarchitectural side channels in asingle runof the victim, by causing the victim to repeatedly replay on a page faulting instruction. We design, implement, and demonstrate our ideas in a framework, calledMicroScope, and use it to denoise notoriously noisy side channels. Our main result shows how MicroScope can denoise the execution unit port contention channel. Specifically, we show how Micro-Scope can reliably detect the presence or absence of as few as two divide instructions in a single logical run of the victim program. Such an attack could be used to detect subnormal input toindividualfloating-point instructions, or infer branch directions in an enclave despite today's countermeasures that flush the branch predictor at the enclave boundary. We also use MicroScope to single-step and denoise a cache-based attack on the OpenSSL implementation of AES. Finally, we discuss the broader implications of microarchitectural replay attacks---as well as discuss other mechanisms that can cause replays.