A4 Refereed article in a conference publication

Mitigating Branch-Shadowing Attacks on Intel SGX Using Control Flow Randomization




AuthorsHosseinzadeh S, Liljestrand H, Leppänen V, Paverd A

EditorsBaris Kasikci, Mark Silberstein

Conference nameWorkshop on System Software for Trusted Execution

PublisherACM

Publication year2018

Book title Proceedings of the 3rd Workshop on System Software for Trusted Execution

First page 42

Last page47

Number of pages6

ISBN978-1-4503-5998-6

DOIhttps://doi.org/10.1145/3268935.3268940


Abstract

Intel Software Guard Extensions (SGX) is a promising hardware-based technology for protecting sensitive computation from potentially compromised system software. However, recent research has shown that SGX is vulnerable to branch-shadowing -- a side channel attack that leaks the fine-grained (branch granularity) control flow of an enclave (SGX protected code), potentially revealing sensitive data to the attacker. The previously-proposed defense mechanism, called Zigzagger, attempted to hide the control flow, but has been shown to be ineffective if the attacker can single-step through the enclave using the recent SGX-Step framework. Taking into account these stronger attacker capabilities, we propose a new defense against branch-shadowing, based on control flow randomization. Our scheme is inspired by Zigzagger, but provides quantifiable security guarantees with respect to a tunable security parameter. Specifically, we eliminate conditional branches and hide the targets of unconditional branches using a combination of compile-time modifications and run-time code randomization. We evaluated the performance of our approach using ten benchmarks from SGX-Nbench. Although we considered the worst-case scenario (whole program instrumentation), our results show that, on average, our approach results in less than 18% performance loss and less than 1.2 times code size increase.



Last updated on 2024-26-11 at 20:10