Abstract interpretation to check secure information flow in programs with input-output security annotations

  • Authors:
  • N. De Francesco;L. Martini

  • Affiliations:
  • Dipartimento di Ingegneria dell'Informazione, Università di Pisa, Pisa, Italy;Dipartimento di Ingegneria dell'Informazione, Università di Pisa, Pisa, Italy

  • Venue:
  • FAST'05 Proceedings of the Third international conference on Formal Aspects in Security and Trust
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a method based on abstract interpretation to check secure information flow in programs with dynamic structures where input and output channels are associated with security levels. In the concrete operational semantics each value is annotated with a security level dynamically taking into account both the explicit and the implicit information flows. We define a collecting semantics associating to each program point the set of concrete states of the machine when the point is reached. The abstract domains are obtained from the concrete ones by keeping the security levels and forgetting the actual values. An element of the abstract domain of states is a table whose rows correspond to the instructions of the program. An abstract operational semantics is defined on the abstract domain, and an efficient implementation is shown, operating a fixpoint iteration similar to that of the Java bytecode verification. The approach allows certifying a larger set of programs with respect to the typing approaches to check secure information flow.