Proving Abstract Non-Interference
By: Roberto Giacobazzi and Isabella Mastroeni
Roberto
Giacobazzi
Dip. di Informatica
Univ. di Verona
Strada Le Grazie a Ca' Vignal 2
I-37134 Verona, Italy
roberto.giacobazzi@univr.it
Isabella Mastroeni
Dip. di Informatica
Univ. di Verona
Strada Le Grazie a Ca' Vignal 2
I-37134 Verona, Italy
mastroeni@sci.univr.it
Abstract:
In this paper we introduce a compositional proof-system for certifying
abstract non-interference in programming languages. Certifying
abstract non-interference means proving that no unauthorized flow of
information is observable by the attacker from confidential to
public data. The properties of the computation that an attacker may
observe are specified in an abstract domain. Assertions specify the
secrecy of a program relatively to the given attacker and the
proof-system specifies how these assertions can be composed in a
syntax-directed a la Hoare deduction of secrecy. We prove that the
proof-system is sound relatively to the standard semantics of an
imperative programming language. This provides a sound proof-system
for both certifying secrecy in language-based security and deriving
attackers which do not violate secrecy inductively on program's
syntax.
Related papers:
mastroeni@sci.univr.it