Output-sensitive Information flow analysis

09/20/2019
by   Cristian Ene, et al.
0

Constant-time programming is a countermeasure to prevent cache based attacks where programs should not perform memory accesses that depend on secrets. In some cases this policy can be safely relaxed if one can prove that the program does not leak more information than the public outputs of the computation. We propose a novel approach for verifying constant-time programming based on a new information flow property, called output-sensitive noninterference. Noninterference states that a public observer cannot learn anything about the private data. Since real systems need to intentionally declassify some information, this property is too strong in practice. In order to take into account public outputs we proceed as follows: instead of using complex explicit declassification policies, we partition variables in three sets: input, output and leakage variables. Then, we propose a typing system to statically check that leakage variables do not leak more information about the secret inputs than the public normal output. The novelty of our approach is that we track the dependence of leakage variables with respect not only to the initial values of input variables (as in classical approaches for noninterference), but taking also into account the final values of output variables. We adapted this approach to LLVM IR and we developed a prototype to verify LLVM implementations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/02/2019

KLEESPECTRE: Detecting Information Leakage through Speculative Cache Attacks via Symbolic Execution

Spectre attacks disclosed in early 2018 expose data leakage scenarios vi...
research
03/01/2018

Optimal Accuracy-Privacy Trade-Off for Secure Multi-Party Computations

The purpose of Secure Multi-Party Computation is to enable protocol part...
research
01/21/2019

Robustness of Maximal α-Leakage to Side Information

Maximal α-leakage is a tunable measure of information leakage based on t...
research
07/03/2018

On the Incomparability of Cache Algorithms in Terms of Timing Leakage

Modern computer architectures rely on caches to reduce the latency gap b...
research
03/09/2019

Quantifying Dynamic Leakage: Complexity Analysis and Model Counting-based Calculation

A program is non-interferent if it leaks no secret information to an obs...
research
02/04/2019

F-BLEAU: Fast Black-box Leakage Estimation

We consider the problem of measuring how much a system reveals about its...
research
09/04/2013

Random Variables Recorded under Mutually Exclusive Conditions: Contextuality-by-Default

We present general principles underlying analysis of the dependence of r...

Please sign up or login with your details

Forgot password? Click here to reset