论文标题
模仿:对飞地的受控指令级攻击
CopyCat: Controlled Instruction-Level Attacks on Enclaves
论文作者
论文摘要
受信任的执行环境(TEE)提出的对抗模型促使研究人员研究异常攻击媒介。一类特别强大的受控通道攻击滥用页面桌子的修改,可靠地跟踪页面级粒度的范围内存访问。与嘈杂的微体系定时泄漏相反,这种确定性控制的通道攻击线滥用了必不可少的建筑接口,因此无法通过调整微体系资源来减轻。 我们提出了一个名为CopyCat的创新控制通道攻击,该攻击确定性地计算单个Enclave代码页中执行的指令数量。我们表明,结合模仿猫收获的指令计数与传统的粗粒漏洞泄漏,可以准确地重建飞地控制流以最大的指令级别的粒度。模仿者可以识别页面内和调查内的分支分支决策,最终可能只在单个指令中有所不同,从而强调,即使是极端细微的控制流偏差也可以从安全的飞地上确定性泄漏。我们证明了在一项针对加密实现的单条痕迹和确定性攻击的广泛研究中,模仿者对Intel SGX的分辨率和实用性得到了改善,并给出了新颖的算法攻击,以执行单个跟踪键提取,以利用广泛使用的Cryptographographographographographographogrogronriase的最新版本中的微妙漏洞。我们的发现突出了对密码实现的严格验证的重要性,尤其是在T恤的背景下。
The adversarial model presented by trusted execution environments (TEEs) has prompted researchers to investigate unusual attack vectors. One particularly powerful class of controlled-channel attacks abuses page-table modifications to reliably track enclave memory accesses at a page-level granularity. In contrast to noisy microarchitectural timing leakage, this line of deterministic controlled-channel attacks abuses indispensable architectural interfaces and hence cannot be mitigated by tweaking microarchitectural resources. We propose an innovative controlled-channel attack, named CopyCat, that deterministically counts the number of instructions executed within a single enclave code page. We show that combining the instruction counts harvested by CopyCat with traditional, coarse-grained page-level leakage allows the accurate reconstruction of enclave control flow at a maximal instruction-level granularity. CopyCat can identify intra-page and intra-cache line branch decisions that ultimately may only differ in a single instruction, underscoring that even extremely subtle control flow deviations can be deterministically leaked from secure enclaves. We demonstrate the improved resolution and practicality of CopyCat on Intel SGX in an extensive study of single-trace and deterministic attacks against cryptographic implementations, and give novel algorithmic attacks to perform single-trace key extraction that exploit subtle vulnerabilities in the latest versions of widely-used cryptographic libraries. Our findings highlight the importance of stricter verification of cryptographic implementations, especially in the context of TEEs.