@inproceedings{b915c0a4995e451b98bfbd7a61c0dd10,
title = "AEX-Notify: Thwarting Precise Single-Stepping Attacks through Interrupt Awareness for Intel SGX Enclaves",
abstract = "Intel{\textregistered} Software Guard Extensions (Intel{\textregistered} SGX) supports the creation of shielded enclaves within unprivileged processes. While enclaves are architecturally protected against malicious system software, Intel SGX{\textquoteright}s privileged attacker model could potentially expose enclaves to new powerful side-channel attacks. In this paper, we consider hardware-software co-design countermeasures to an important class of single-stepping attacks that use privileged timer interrupts to precisely step through enclave execution exactly one instruction at a time, as supported, e.g., by the open-source SGX-Step framework. This is a powerful deterministic attack primitive that has been employed in a broad range of high-resolution Intel SGX attacks, but so far remains unmitigated. We propose AEX-Notify, a flexible hardware ISA extension that makes enclaves interrupt aware: enclaves can register a trusted handler to be run after an interrupt or exception. AEX-Notify can be used as a building block for implementing countermeasures against different types of interrupt-based attacks in software. With our primary goal to thwart deterministic single-stepping, we first diagnose the underlying hardware behavior to determine the root cause that enables it. We then apply the learned insights to remove this root cause by building an efficient software handler and constant-time disassembler to transparently determine and atomically prefetch the working set of the next enclave application instruction. The ISA extension we propose in this paper has been incorporated into a revised version of the Intel SGX specification.",
author = "Scott Constable and {Van Bulck}, Jo and Xiang Cheng and Yuan Xiao and Cedric Xing and Ilya Alexandrovich and Taesoo Kim and Frank Piessens and Mona Vij and Mark Silberstein",
note = "Publisher Copyright: {\textcopyright} USENIX Security 2023. All rights reserved.; 32nd USENIX Security Symposium, USENIX Security 2023 ; Conference date: 09-08-2023 Through 11-08-2023",
year = "2023",
language = "الإنجليزيّة",
series = "32nd USENIX Security Symposium, USENIX Security 2023",
pages = "4051--4068",
booktitle = "32nd USENIX Security Symposium, USENIX Security 2023",
}