DR.SGX: Hardening SGX Enclaves against Cache Attacks with Data Location Randomization [article]

Ferdinand Brasser , Tommaso Frassetto, Ahmad-Reza Sadeghi System Security Lab, Technische Universität Darmstadt, Germany
<span title="2017-09-28">2017</span> <i > arXiv </i> &nbsp; <span class="release-stage" >pre-print</span>
Recent research has demonstrated that Intel's SGX is vulnerable to various software-based side-channel attacks. In particular, attacks that monitor CPU caches shared between the victim enclave and untrusted software enable accurate leakage of secret enclave data. Known defenses assume developer assistance, require hardware changes, impose high overhead, or prevent only some of the known attacks. In this paper we propose data location randomization as a novel defensive approach to address the
more &raquo; ... eat of side-channel attacks. Our main goal is to break the link between the cache observations by the privileged adversary and the actual data accesses by the victim. We design and implement a compiler-based tool called DR.SGX that instruments enclave code such that data locations are permuted at the granularity of cache lines. We realize the permutation with the CPU's cryptographic hardware-acceleration units providing secure randomization. To prevent correlation of repeated memory accesses we continuously re-randomize all enclave data during execution. Our solution effectively protects many (but not all) enclaves from cache attacks and provides a complementary enclave hardening technique that is especially useful against unpredictable information leakage.
<span class="external-identifiers"> <a target="_blank" rel="external noopener" href="https://arxiv.org/abs/1709.09917v1">arXiv:1709.09917v1</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/75fxnpqnwvgmnj57jqniokxlvu">fatcat:75fxnpqnwvgmnj57jqniokxlvu</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20191026083250/https://arxiv.org/pdf/1709.09917v1.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/70/20/702071db06b351e60a7bed79bd6c6aa5e1f93deb.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener" href="https://arxiv.org/abs/1709.09917v1" title="arxiv.org access"> <button class="ui compact blue labeled icon button serp-button"> <i class="file alternate outline icon"></i> arxiv.org </button> </a>