VERONICA: Expressive and Precise Concurrent Information Flow Security (Extended Version with Technical Appendices)
Methods for proving that concurrent software does not leak its secrets has remained an active topic of research for at least the past four decades. Despite an impressive array of work, the present situation remains highly unsatisfactory. With contemporary compositional proof methods one is forced to...
Saved in:
Main Authors | , , |
---|---|
Format | Journal Article |
Language | English |
Published |
29.01.2020
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Methods for proving that concurrent software does not leak its secrets has
remained an active topic of research for at least the past four decades.
Despite an impressive array of work, the present situation remains highly
unsatisfactory. With contemporary compositional proof methods one is forced to
choose between expressiveness (the ability to reason about a wide variety of
security policies), on the one hand, and precision (the ability to reason about
complex thread interactions and program behaviours), on the other. Achieving
both is essential and, we argue, requires a new style of compositional
reasoning.
We present VERONICA, the first program logic for proving concurrent programs
information flow secure that supports compositional, high-precision reasoning
about a wide range of security policies and program behaviours (e.g. expressive
de-classification, value-dependent classification, secret-dependent branching).
Just as importantly, VERONICA embodies a new approach for engineering such
logics that can be re-used elsewhere, called decoupled functional correctness
(DFC). DFC leads to a simple and clean logic, even while achieving this
unprecedented combination of features. We demonstrate the virtues and
versatility of VERONICA by verifying a range of example programs, beyond the
reach of prior methods. |
---|---|
DOI: | 10.48550/arxiv.2001.11142 |