@InProceedings{KuestersTruderungBeckertEA2015,
  author        = {Ralf K{\"u}sters and Tomasz Truderung and Bernhard Beckert
                   and Daniel Bruns and Michael Kirsten and Martin Mohr},
  title         = {A Hybrid Approach for Proving Noninterference of {Java} Programs},
  booktitle     = {28th IEEE Computer Security Foundations Symposium (CSF 2015)},
  editor        = {C{\'e}dric Fournet and Michael Hicks},
  doi           = {10.1109/CSF.2015.28},
  pages         = {305--319},
  year          = {2015},
  month         = jul,
  language      = {english},
  venue         = {Verona, Italy},
  eventdate     = {2015-07-13/2015-07-17},
  abstract      = {Several tools and approaches for proving noninterference
                   properties for Java and other languages exist. Some of them
                   have a high degree of automation or are even fully
                   automatic, but overapproximate the actual information flow,
                   and hence, may produce false positives. Other tools, such
                   as those based on theorem proving, are precise, but may
                   need interaction, and hence, analysis is time-consuming.
                   \newline
                   In this paper, we propose a hybrid approach that aims at
                   obtaining the best of both approaches: We want to use fully
                   automatic analysis as much as possible and only at places
                   in a program where, due to overapproximation, the automatic
                   approaches fail, we resort to more precise, but interactive
                   analysis, where the latter involves only the verification
                   of specific functional properties in certain parts of the
                   program, rather than checking more intricate
                   noninterference properties for the whole program.
                   \newline
                   To illustrate the hybrid approach, in a case study we use
                   the hybrid approach---along with the fully automatic tool
                   Joana for checking noninterference properties for Java
                   programs and the theorem prover {\KeY} for the verification
                   of Java programs---and the CVJ framework proposed by
                   K\"usters, Truderung, and Graf to establish cryptographic
                   privacy properties for a non-trivial Java program, namely
                   an e-voting system. The CVJ framework allows one to
                   establish cryptographic indistinguishability properties for
                   Java programs by checking (standard) noninterference
                   properties for such programs.}
}
A Hybrid Approach for Proving Noninterference of Java Programs
| Autor(en): | Ralf Küsters, Tomasz Truderung, Bernhard Beckert, Daniel Bruns, Michael Kirsten und Martin Mohr | 
|---|---|
| In: | 28th IEEE Computer Security Foundations Symposium (CSF 2015) | 
| Jahr: | 2015 | 
| Seiten: | 305-319 | 
| PDF: | IACR ePrint | 
| DOI: | 10.1109/CSF.2015.28 | 
Abstract
Several tools and approaches for proving noninterference
	properties for Java and other languages exist. Some of them
	have a high degree of automation or are even fully
	automatic, but overapproximate the actual information flow,
	and hence, may produce false positives. Other tools, such
	as those based on theorem proving, are precise, but may
	need interaction, and hence, analysis is time-consuming.
	
	
	In this paper, we propose a hybrid approach that aims at
	obtaining the best of both approaches: We want to use fully
	automatic analysis as much as possible and only at places
	in a program where, due to overapproximation, the automatic
	approaches fail, we resort to more precise, but interactive
	analysis, where the latter involves only the verification
	of specific functional properties in certain parts of the
	program, rather than checking more intricate
	noninterference properties for the whole program.
	
	
	To illustrate the hybrid approach, in a case study we use
	the hybrid approach—along with the fully automatic tool
	Joana for checking noninterference properties for Java
	programs and the theorem prover KeY for the verification
	of Java programs—and the CVJ framework proposed by
	Küsters, Truderung, and Graf to establish cryptographic
	privacy properties for a non-trivial Java program, namely
	an e-voting system. The CVJ framework allows one to
	establish cryptographic indistinguishability properties for
	Java programs by checking (standard) noninterference
	properties for such programs.