Abstract-Side-channel attacks recover confidential information from non-functional characteristics of computations, such as time or memory consumption. We describe a program analysis that uses symbolic execution to quantify the information that is leaked to an attacker who makes multiple side-channel measurements. The analysis also synthesizes the concrete public inputs (the "attack") that lead to maximum leakage, via a novel reduction to Max-SMT solving over the constraints collected with symbolic execution. Furthermore model counting and information-theoretic metrics are used to compute an attacker's remaining uncertainty about a secret after a certain number of side-channel measurements are made. We have implemented the analysis in the Symbolic PathFinder tool and applied it in the context of password checking and cryptographic functions, showing how to obtain tight bounds on information leakage under a small number of attack steps.
A recent work REF aims to quantify side-channel leakage via symbolic execution and Max-SMT.
Multi-run Side-Channel Analysis Using Symbolic Execution and Max-SMT
2016 IEEE 29th Computer Security Foundations Symposium (CSF)
2016 IEEE 29th Computer Security Foundations Symposium (CSF)
Computer Science