Software Grand Exposure: SGX Cache Attacks Are Practical
arXiv:1702.07521
Abstract
Side-channel information leakage is a known limitation of SGX. Researchers have demonstrated that secret-dependent information can be extracted from enclave execution through page-fault access patterns. Consequently, various recent research efforts are actively seeking countermeasures to SGX side-channel attacks. It is widely assumed that SGX may be vulnerable to other side channels, such as cache access pattern monitoring, as well. However, prior to our work, the practicality and the extent of such information leakage was not studied. In this paper we demonstrate that cache-based attacks are indeed a serious threat to the confidentiality of SGX-protected programs. Our goal was to design an attack that is hard to mitigate using known defenses, and therefore we mount our attack without interrupting enclave execution. This approach has major technical challenges, since the existing cache monitoring techniques experience significant noise if the victim process is not interrupted. We designed and implemented novel attack techniques to reduce this noise by leveraging the capabilities of the privileged adversary. Our attacks are able to recover confidential information from SGX enclaves, which we illustrate in two example cases: extraction of an entire RSA-2048 key during RSA decryption, and detection of specific human genome sequences during genomic indexing. We show that our attacks are more effective than previous cache attacks and harder to mitigate than previous SGX side-channel attacks.
References in corpus (3)
Cited by in corpus (45)
- Leaky Cauldron on the Dark Land: Understanding Memory Side-Channel Hazards in SGX
- SgxPectre Attacks: Stealing Intel Secrets from SGX Enclaves via Speculative Execution
- SoK: Oracles from the Ground Truth to Market Manipulation
- HECTOR-V: A Heterogeneous CPU Architecture for a Secure RISC-V Execution Environment
- SGX-LKL: Securing the Host OS Interface for Trusted Execution
- secureTF: A Secure TensorFlow Framework
- V0LTpwn: Attacking x86 Processor Integrity from Software
- HybCache: Hybrid Side-Channel-Resilient Caches for Trusted Execution Environments
- Privado: Practical and Secure DNN Inference with Enclaves
- CURE: A Security Architecture with CUstomizable and Resilient Enclaves
- A Hybrid Approach to Secure Function Evaluation Using SGX
- Composite Enclaves: Towards Disaggregated Trusted Execution
- ObliDB: Oblivious Query Processing for Secure Databases
- Mitigating Branch-Shadowing Attacks on Intel SGX using Control Flow Randomization
- Confidential Machine Learning Computation in Untrusted Environments: A Systems Security Perspective
- A Survey of Microarchitectural Side-channel Vulnerabilities, Attacks and Defenses in Cryptography
- MAGE: Mutual Attestation for a Group of Enclaves without Trusted Third Parties
- Visor: Privacy-Preserving Video Analytics as a Cloud Service
- Reflections on trusting distributed trust
- Efficient Privacy-Preserving Machine Learning with Lightweight Trusted Hardware
- Malware in the SGX supply chain: Be careful when signing enclaves!
- StealthDB: a Scalable Encrypted Database with Full SQL Query Support
- Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs (Updated and Extended Version)
- Code Renewability for Native Software Protection
- BliMe: Verifiably Secure Outsourced Computation with Hardware-Enforced Taint Tracking
- AVeCQ: Anonymous Verifiable Crowdsourcing with Worker Qualities
- PIM-Enclave: Bringing Confidential Computation Inside Memory
- An Algorithmic Framework For Differentially Private Data Analysis on Trusted Processors
- ClepsydraCache -- Preventing Cache Attacks with Time-Based Evictions
- Flushgeist: Cache Leaks from Beyond the Flush
- TEE-based Key-Value Stores: a Survey
- Speculative Dereferencing of Registers:Reviving Foreshadow
- Towards a Trusted Execution Environment via Reconfigurable FPGA
- Secure Collaborative Training and Inference for XGBoost
- LEASH: Enhancing Micro-architectural Attack Detection with a Reactive Process Scheduler
- Better Late than Never; Scaling Computation in Blockchains by Delaying Execution
- Distributed systems and trusted execution environments: Trade-offs and challenges
- SoK: Hardware Security Support for Trustworthy Execution
- An Exploratory Analysis of Microcode as a Building Block for System Defenses
- Solver-Aided Constant-Time Circuit Verification
- Secrecy: Secure collaborative analytics on secret-shared data
- Accelerating 2PC-based ML with Limited Trusted Hardware
- Stockade: Hardware Hardening for Distributed Trusted Sandboxes
- One-Time Programs made Practical
- A Tale of Two Trees: One Writes, and Other Reads. Optimized Oblivious Accesses to Large-Scale Blockchains