Bluethunder: A 2-level Directional Predictor Based Side-Channel Attack against SGX

  • Tianlin Huo University of Chinese Academy of Sciences; Institute of Software, CAS
  • Xiaoni Meng University of Chinese Academy of Sciences; Institute of Software, CAS
  • Wenhao Wang SKLOIS Institute of Information Engineering, CAS
  • Chunliang Hao China Electronics Standardization Institute
  • Pei Zhao Institute of Software, CAS
  • Jian Zhai Institute of Software, CAS
  • Mingshu Li Institute of Software, CAS
Keywords: Software Guard Extension, Side-channel Attacks, Branch Prediction, 2-level Directional Predictor

Abstract

Software Guard Extension (SGX) is a hardware-based trusted execution environment (TEE) implemented in recent Intel commodity processors. By isolating the memory of security-critical applications from untrusted software, this mechanism provides users with a strongly shielded environment called enclave for executing programs safely. However, recent studies have demonstrated that SGX enclaves are vulnerable to side-channel attacks. In order to deal with these attacks, several protection techniques have been studied and utilized.
In this paper, we explore a new pattern history table (PHT) based side-channel attack against SGX named Bluethunder, which can bypass existing protection techniques and reveal the secret information inside an enclave. Comparing to existing PHT-based attacks (such as Branchscope [ERAG+18]), Bluethunder abuses the 2-level directional predictor in the branch prediction unit, on top of which we develop an exploitation methodology to disclose the input-dependent control flow in an enclave. Since the cost of training the 2-level predictor is pretty low, Bluethunder can achieve a high bandwidth during the attack. We evaluate our attacks on two case studies: extracting the format string information in the vfprintf function in the Intel SGX SDK and attacking the implementation of RSA decryption algorithm in mbed TLS. Both attacks show that Bluethunder can recover fine-grained information inside an enclave with low training overhead, which outperforms the latest PHT-based side channel attack (Branchscope) by 52×. Specifically, in the second attack, Bluethunder can recover the RSA private key with 96.76% accuracy in a single run.

Published
2019-11-19
How to Cite
Huo, T., Meng, X., Wang, W., Hao, C., Zhao, P., Zhai, J., & Li, M. (2019). Bluethunder: A 2-level Directional Predictor Based Side-Channel Attack against SGX. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2020(1), 321-347. https://doi.org/10.13154/tches.v2020.i1.321-347
Section
Articles