简介
TCHES2020上针对Intel SGX技术安全性分析的一篇文章。https://tches.iacr.org/index.php/TCHES/article/view/8401
摘要
SGX(Software Guard Extension)是一种基于硬件的可信执行环境(TEE, Trusted Execution Environment),被Intel用在近年的商用处理器中。该技术通过对可信/不可信软件运行的内存实施隔离,为用户提供了一个名为enclave的强保护环境。然而,一些研究表明SGX的enclave正面临旁路攻击的威胁。
在本文,作者设计了一种基于模式历史表(PHT,Pattern History Table)的新型旁路攻击方式——Bluethunder,其可以绕过现有SGX的防护,泄露enclave中的秘密信息。与现有的PHT-based攻击技术相比,Bluethunder利用分支预测单元中的二级方向预测器挖掘enclave中与输入相关的控制流,因此其训练预测器的代价更低,可以获取到更高的攻击带宽。
利用该技术,作者以52倍的性能提升完成了Intel SGC SDK中vfprintf函数字符串信息的提取,同时以96.76%的准确率恢复了mbed TLS中RSA解密算法的私钥。
SGX旁路攻击方式
1)基于页表(Page Table)的攻击
2)基于缓存(Cache)的攻击
3)基于分支预测单元(Branch Prediction Unit)的攻击