TY - GEN
T1 - Semantics for Noninterference with Interaction Trees
AU - Silver, Lucas
AU - He, Paul
AU - Cecchetti, Ethan
AU - Hirsch, Andrew K.
AU - Zdancewic, Steve
N1 - Publisher Copyright:
© Lucas Silver, Paul He, Ethan Cecchetti, Andrew K. Hirsch, and Steve Zdancewic;
PY - 2023/7
Y1 - 2023/7
N2 - Noninterference is the strong information-security property that a program does not leak secrets through publicly-visible behavior. In the presence of effects such as nontermination, state, and exceptions, reasoning about noninterference quickly becomes subtle. We advocate using interaction trees (ITrees) to provide compositional mechanized proofs of noninterference for multi-language, effectful, nonterminating programs, while retaining executability of the semantics. We develop important foundations for security analysis with ITrees: two indistinguishability relations, leading to two standard notions of noninterference with adversaries of different strength, along with metatheory libraries for reasoning about each. We demonstrate the utility of our results using a simple imperative language with embedded assembly, along with a compiler into that assembly language.
AB - Noninterference is the strong information-security property that a program does not leak secrets through publicly-visible behavior. In the presence of effects such as nontermination, state, and exceptions, reasoning about noninterference quickly becomes subtle. We advocate using interaction trees (ITrees) to provide compositional mechanized proofs of noninterference for multi-language, effectful, nonterminating programs, while retaining executability of the semantics. We develop important foundations for security analysis with ITrees: two indistinguishability relations, leading to two standard notions of noninterference with adversaries of different strength, along with metatheory libraries for reasoning about each. We demonstrate the utility of our results using a simple imperative language with embedded assembly, along with a compiler into that assembly language.
KW - denotational semantics
KW - information-flow
KW - monads
KW - verification
UR - https://www.scopus.com/pages/publications/85168904799
U2 - 10.4230/LIPIcs.ECOOP.2023.29
DO - 10.4230/LIPIcs.ECOOP.2023.29
M3 - Conference contribution
AN - SCOPUS:85168904799
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 37th European Conference on Object-Oriented Programming, ECOOP 2023
A2 - Ali, Karim
A2 - Salvaneschi, Guido
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 37th European Conference on Object-Oriented Programming, ECOOP 2023
Y2 - 17 July 2023 through 21 July 2023
ER -