CommCSL: Proving Information Flow Security for Concurrent Programs using Abstract Commutativity
Marco Eilers, Thibault Dardinier, Peter Müller
摘要
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 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 execution time, and other common features that affect execution time).
In this paper, we present a novel verification technique for secure information flow in concurrent programs that lifts these restrictions and does not make any assumptions about timing behavior. The key idea is to prove that all mutating operations performed on shared data commute, such that different thread interleavings do not influence its final value. Crucially, commutativity is required only for an abstraction of the shared data that contains the information that will be leaked to a public output. Abstract commutativity is satisfied by many more operations than standard commutativity, which makes our technique widely applicable.
We formalize our technique in CommCSL, a relational concurrent separation logic with support for commutativity-based reasoning, and prove its soundness in Isabelle/HOL. We have implemented Comm-CSL in HyperViper, an automated verifier based on the Viper verification infrastructure, and demonstrate its ability to verify challenging examples.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper6
- Hyper Hoare Logic: (Dis-)Proving Program HyperpropertiesThibault Dardinier, Peter MüllerPLDI 2024 · 被引用 28 次
- Hypra: A Deductive Program Verifier for Hyper Hoare LogicThibault Dardinier, Anqi Li, Peter MüllerOOPSLA 2024 · 被引用 6 次
- Verifying Asynchronous Hyperproperties in Reactive SystemsRaven Beutner, Bernd FinkbeinerOOPSLA 2025 · 被引用 2 次
- Hyper Separation LogicTrayan Gospodinov, Peter Müller, Thibault DardinierPLDI 2026 · 被引用 1 次
- Generalized Security-Preserving Refinement for Concurrent SystemsHuan Sun, David Sanán, Jingyi Wang, Yongwang Zhao 等CCS 2025
它引用的顶会 Paper9
- Spectre Attacks: Exploiting Speculative ExecutionPaul Kocher, Jann Horn, Anders Fogh, Daniel Genkin 等S&P 2019 · 被引用 2,435 次
- Meltdown: Reading Kernel Memory from User SpaceMoritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher 等USENIX Security 2018 · 被引用 1,456 次
- "They're not that hard to mitigate": What Cryptographic Library Developers Think About Timing AttacksJan Jancar, Marcel Fourné, Daniel De Almeida Braga, Mohamed Sabt 等S&P 2022 · 被引用 61 次
- Towards Verified, Constant-time Floating Point OperationsMarc Andrysco, Andres Nötzli, Fraser Brown, Ranjit Jhala 等CCS 2018 · 被引用 33 次
- Compositional Non-Interference for Fine-Grained Concurrent ProgramsDan Frumin, Robbert Krebbers, Lars BirkedalS&P 2021 · 被引用 20 次
相关 Paper
- SecRSL: security separation logic for C11 release-acquire concurrencyPengbo Yan, Toby MurrayOOPSLA 2021 · 被引用 2 次
- Stratified Commutativity in Verification Algorithms for Concurrent ProgramsAzadeh Farzan, Dominik Klumpp, Andreas PodelskiPOPL 2023 · 被引用 11 次
- Product Programs in the Wild: Retrofitting Program Verifiers to Check Information Flow SecurityMarco Eilers, Severin Meier, Peter MüllerCAV 2021 · 被引用 6 次
- Assume but Verify: Deductive Verification of Leaked Information in Concurrent ApplicationsToby Murray, Mukesh Tiwari, Gidon Ernst, David A. NaumannCCS 2023
- Binsec/Rel: Efficient Relational Symbolic Execution for Constant-Time at Binary-LevelLesly-Ann Daniel, Sébastien Bardin, Tamara RezkS&P 2020 · 被引用 76 次
