AsyncShock: Exploiting Synchronisation Bugs in Intel SGX Enclaves
By Nico Weichbrodt, Anil Kurmus, Peter R. Pietzuch, Rüdiger Kapitza. 2016
226 citations recorded by the source corpus.
Intel’s Software Guard Extensions (SGX) provide a new hardware-based trusted execution environment on Intel CPUs using secure enclaves that are resilient to accesses by privileged code and physical attackers. Originally designed for securing small services, SGX bears promise to protect complex, possibly cloud-hosted, legacy applications. In this paper, we show that previously considered harmless synchronisation bugs can turn into severe security vulnerabilities when using SGX. By exploiting use-after-free and time-of-check-to-time-of-use (TOCTTOU) bugs in enclave code, an attacker can hijack its control flow or bypass access control.
Subfields: Artificial Intelligence, Information Systems, Signal Processing
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Dan Boneh
- Dawn Song
- Ari Juels
- Jo Van Bulck
- Sergey Gorbunov
- Marcus Peinado
- Brent Waters
- Michael Schwarz
In Information Systems
In Signal Processing
Citations in the corpus
- Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts (2018, positive): “Recent work shows that the confidentiality of SGX enclaves may be compromised via side-channels [54, 92].”
- ZombieLoad: Cross-Privilege-Boundary Data Sampling (2019, background): “ory safety violations [44], race conditions [74], or side-channels [54, 63, 70, 71].”
- CacheZoom: How SGX Amplifies The Power of Cache Attacks (2017, unknown): “Symmetric keys can be generated at runtime from a secure random entropy (using RDRAND instruction) and/or transferred through a public secure channel without the attacker knowledge.”
- On Security Analysis of Proof-of-Elapsed-Time (PoET) (2017, background): “Trusted computing components may fail to defend against tampering due to design/implementation bugs and attacks [18,31], and become compromised.”
- DarKnight: A Data Privacy Scheme for Training and Inference of Deep Neural Networks (2020, background): “While some types of side channel attacks have been performed on SGX, Intel has been able to fix many of these attacks [14, 12, 15, 16, 17, 18, 12].”
- POSTER: Rust SGX SDK: Towards Memory Safety in Intel SGX Enclave (2017, background): “However, SGX enclaves could have memory corruption vulnerabilities and could be exploited and hi-jacked [9, 12] and thus secrets would be leaked in such attacks.”
- Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution (2018, unknown): “No obvious security flaws [38, 59] have ever been found, and Intel’s architectural enclaves additionally implement various defense in-depth mechanisms.”
- ROTE: Rollback Protection for Trusted Execution (2017, background): “Several recently proposed SGX systems [39, 40, 41, 13, 42, 43, 44, 45] consider an adversary model with an untrusted OS.”
- SGX-LKL: Securing the Host OS Interface for Trusted Execution (2019, background): “In addition, having a one-to-one relation between enclave and application threads means that the creation, joining, or exiting of threads as well as thread synchronisation requires host OS support, which poses a security threat [103].”
- T-SGX: Eradicating Controlled-Channel Attacks Against Enclave Programs (2017, background): “Finally, AsyncShock [63] demonstrates that synchronization bugs that are mostly harmless in a traditional environment can allow an adversarial OS to compromise SGX enclaves.”
- IRON: Functional Encryption using Intel SGX (2017, background): “In our system, we ensure that the functionalities we implemented are resistant to known side-channel attacks on SGX. Generic techniques for protection against enclave side channels are also under study in various works [38, 41, 49, 53, 58].”
- Cache Attacks on Intel SGX (2017, methodology): “Furthermore, an attack against SGX called AsyncShock [12] has been published which targets synchronisation bugs such as useafter-free and time-of-check-to-time-of-use within enclave code by manipulating the scheduler.”