CommCSL: Proving Information Flow Security for Concurrent Programs using Abstract Commutativity
Marco Eilers, Thibault Dardinier, Peter M\"uller

TL;DR
This paper introduces CommCSL, a novel verification method for concurrent programs that ensures information flow security by proving that shared data operations commute, thus preventing secret data from influencing observable outputs without relying on timing assumptions.
Contribution
The paper presents a new verification technique based on commutativity for concurrent programs that lifts previous restrictions and does not depend on timing behavior assumptions.
Findings
Successfully verified complex concurrent programs for information flow security.
Proved soundness of the technique in Isabelle/HOL.
Implemented an automated verifier, HyperViper, demonstrating practical applicability.
Abstract
Information flow security ensures that the secret data manipulated by a program does not influence its observable output. Proving information flow security is especially challenging for concurrent programs, where operations on secret data may influence the execution time of a thread and, thereby, the interleaving between different threads. Such internal timing channels may affect the observable outcome of a program even if an attacker does not observe execution times. Existing verification techniques for information flow security in concurrent programs attempt to prove that secret data does not influence the relative timing of threads. However, these techniques are often restrictive (for instance because they disallow branching on secret data) and make strong assumptions about the execution platform (ignoring caching, processor instructions with data-dependent runtime, and other common…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
