A4 Vertaisarvioitu artikkeli konferenssijulkaisussa

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




TekijätHosseinzadeh S, Liljestrand H, Leppänen V, Paverd A

ToimittajaBaris Kasikci, Mark Silberstein

Konferenssin vakiintunut nimiWorkshop on System Software for Trusted Execution

KustantajaACM

Julkaisuvuosi2018

Kokoomateoksen nimiProceedings of the 3rd Workshop on System Software for Trusted Execution

Aloitussivu42

Lopetussivu47

Sivujen määrä6

ISBN978-1-4503-5998-6

DOIhttps://doi.org/10.1145/3268935.3268940


Tiivistelmä

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