Abstract. We present leakiEst, a tool that estimates how much information leaks from systems. To use leakiEst, an analyst must run a system with a range of secret values and record the outputs that may be exposed to an attacker. Our tool then estimates the amount of information leaked from the secret values to the observable outputs of the system. Importantly, our tool calculates the confidence intervals for these estimates, and tests whether they represent real evidence of an information leak in the system. leakiEst is freely available and has been used to verify the security of a range of real-world systems, including e-passports and Tor. Introduction. Information leakage occurs when something about a system's secret data can be deduced from observing its public outputs. Not all information leakage is serious: many retailers' billing systems readily "leak" the last four digits of a credit card number, and password-checking functions "leak" some information about a secret password in response to an incorrect guess (e.g., that the guess is not the password). Information leakage is therefore quantitative and it is important to be able to answer the question "how much information does a system leak?". Information theory is a useful framework for quantifying these leaks in systems (see e.g. [9]), and two particular measures, mutual information and min-entropy leakage, place useful bounds on an attacker's ability to guess the secrets from the public outputs. Our tool, leakiEst, estimates these leakage measures from datasets containing secrets and public outputs that are generated from trial runs of a system. Its methodology is based on our previous work that provides rigorous verification methods for estimating information leakage [3, 4] ; it performs statistical tests to distinguish an insecure system with a very small information leak from a secure one with no leaks. This is similar to detecting a correlation between two random variables, a well-investigated problem, and we compare leakiEst's performance to that of existing statistical tests. If a leak is found, leakiEst can display the conditional probability of observing each output from the system given a particular secret, which may be used to derive a concrete attack against the system. There are several tools that calculate the amount of information that leaks from a program (e.g., [7, 2] ). These tools provide tight bounds, but require access to the source code of the program and a formalism that is powerful enough to model the underlying system. These requirements are often prohibitive, and
Chothia et al. REF proposed a system called leakiEst to quantify information leakage from an observable output about a single secret value.
A Tool for Estimating Information Leakage ⋆
CAV
Computer Science