Programs that process secret data may inadvertently reveal information about those secrets in their publicly-observable output. This paper presents LeakWatch, a quantitative information leakage analy- sis tool for the Java programming language; it is based on a flexible "point-to-point" information leakage model, where secret and publicly- observable data may occur at any time during a program's execution. LeakWatch repeatedly executes a Java program containing both secret and publicly-observable data and uses robust statistical techniques to provide estimates, with confidence intervals, for min-entropy leakage (us- ing a new theoretical result presented in this paper) and mutual informa- tion. We demonstrate how LeakWatch can be used to estimate the size of information leaks in a range of real-world Java programs.
['Tom Chothia', 'Yusuke Kawamoto', 'Chris Novakovic']
LeakWatch: Estimating Information Leakage from Java Programs