Download PDFOpen PDF in browser

Proving Information Flow Noninterference by Reusing a Machine-Checked Correctness Proof for Slicing

15 pagesPublished: May 15, 2012

Abstract

We present a machine-checked correctness proof for information flow noninterference based on interprocedural slicing. It reuses a correctness proof of the context-sensitive interprocedural slicing algorithm of Horwitz, Reps, and Binkley. The underlying slicing framework is modular in the programming language used; by instantiating this framework the correctness proofs hold for the respective language, without reproving anything in the correctness proofs for slicing and noninterference. We present instantiations with two different languages to show the applicability of the framework, and thus a verified noninterference algorithm for these languages. The formalization and proofs are conducted in the proof assistant Isabelle/HOL.

Keyphrases: information flow control, machine-checked verification, modularity, proof reuse, Slicing

In: Markus Aderhold, Serge Autexier and Heiko Mantel (editors). VERIFY-2010. 6th International Verification Workshop, vol 3, pages 141--155

Links:
BibTeX entry
@inproceedings{VERIFY-2010:Proving_Information_Flow_Noninterference,
  author    = {Daniel Wasserrab and Denis Lohner},
  title     = {Proving Information Flow Noninterference by Reusing a Machine-Checked Correctness Proof for Slicing},
  booktitle = {VERIFY-2010. 6th International Verification Workshop},
  editor    = {Markus Aderhold and Serge Autexier and Heiko Mantel},
  series    = {EPiC Series in Computing},
  volume    = {3},
  pages     = {141--155},
  year      = {2012},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/FSk},
  doi       = {10.29007/nnzj}}
Download PDFOpen PDF in browser