MicroWalk: A Framework for Finding Side Channels in Binaries

08/16/2018
by   Jan Wichelmann, et al.
0

Microarchitectural side channels expose unprotected software to information leakage attacks where a software adversary is able to track runtime behavior of a benign process and steal secrets such as cryptographic keys. As suggested by incremental software patches for RSA algorithm against variants of side-channel attacks within different versions of cryptographic libraries, protecting securitycritical algorithms against side channels is an intricate task. Software protections avoid leakages by operating in constant time with a uniform resource usage pattern independent of the processed secret. With this respect, automated testing and verification of software binaries for leakage-free behavior is of importance, particularly when the source code is not available. In this work, we propose a novel technique based on Dynamic Binary Instrumentation and Mutual Information Analysis to efficiently locate and quantify memory based and control-flow based microarchitectural leakages. We develop a software framework named MicroWalk for side-channel analysis of binaries which can be extended to support new classes of leakage. For the first time, by utilizing MicroWalk, we perform rigorous leakage analysis of two widely-used closed-source cryptographic libraries: Intel IPP and Microsoft CNG. We analyze 15 different cryptographic implementations consisting of 112 million instructions in about 105 minutes of CPU time. By locating previously unknown leakages in hardened implementations, our results suggest that MicroWalk can efficiently find microarchitectural leakages in software binaries.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/10/2021

Util::Lookup: Exploiting key decoding in cryptographic libraries

Implementations of cryptographic libraries have been scrutinized for sec...
research
04/30/2023

MAMBO-V: Dynamic Side-Channel Leakage Analysis on RISC-V

RISC-V is an emerging technology, with applications ranging from embedde...
research
09/03/2021

Vivienne: Relational Verification of Cryptographic Implementations in WebAssembly

This paper explores the use of relational symbolic execution to counter ...
research
09/11/2023

Serberus: Protecting Cryptographic Code from Spectres at Compile-Time

We present Serberus, the first comprehensive mitigation for hardening co...
research
02/19/2020

CopyCat: Controlled Instruction-Level Attacks on Enclaves for Maximal Key Extraction

The adversarial model presented by trusted execution environments (TEEs)...
research
09/02/2022

Binsec/Rel: Symbolic Binary Analyzer for Security with Applications to Constant-Time and Secret-Erasure

This paper tackles the problem of designing efficient binary-level verif...
research
08/31/2022

Microwalk-CI: Practical Side-Channel Analysis for JavaScript Applications

Secret-dependent timing behavior in cryptographic implementations has re...

Please sign up or login with your details

Forgot password? Click here to reset