Co-Inflow: Coarse-grained Information Flow Control for Java-like Languages
Jian Xiang, Stephen Chong
Abstract
Coarse-grained dynamic information-flow control (IFC) is a good match for imperative object-oriented programming languages such as Java. Java language abstractions align well with coarse-grained IFC concepts, and so Java can be cleanly extended with coarse-grained dynamic IFC without requiring significantly different design patterns or excessive security annotations, and without excessive performance overhead. We present Co-Inflow: an extension of Java with coarse-grained dynamic IFC. By careful design choices and defaults, a programmer typically needs to add very few annotations to a Java program to convert it to a Co-Inflow program with relatively good precision. Additional annotations can improve precision. We achieve this tradeoff between precision and annotation burden by instantiating and specializing recent advances in coarsegrained IFC for a Java-like setting, and by using opaque labeled values: a restriction of labeled values that the Co-Inflow runtime automatically and securely creates and uses. We have captured the essence of Co-Inflow in a middle-weight imperative calculus, and proven that it provides a terminationinsensitive non-interference security guarantee. We have a prototype implementation of Co-Inflow and use it to evaluate the precision, usability, and potential performance of Co-Inflow.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext d0aacadf-d21e-4a31-8064-7a747dee7ca5Cited by top-tier papers5
- Cocoon: Static Information Flow Control in RustAda Lamba, Max Taylor, Vincent Beardsley, Jacob Bambeck et al.OOPSLA 2024 · 9 citations
- Quest Complete: The Holy Grail of Gradual SecurityTianyu Chen, Jeremy G. SiekPLDI 2024 · 6 citations
- General Data Protection Runtime: Enforcing Transparent GDPR Compliance for Existing ApplicationsDavid Klein, Benny Rolle, Thomas Barber, Manuel Karl et al.CCS 2023 · 5 citations
- Carapace: Static-Dynamic Information Flow Control in RustVincent Beardsley, Chris Xiong, Ada Lamba, Michael D. BondOOPSLA 2025 · 3 citations
- SCAD: Towards a Universal and Automated Network Side-Channel Vulnerability DetectionKeyu Man, Zhongjie Wang, Yu Hao, Shenghan Zheng et al.S&P 2025
Builds on2
- FlowFence: Practical Data Protection for Emerging IoT Application FrameworksEarlence Fernandes, Justin Paupore, Amir Rahmati, Daniel Simionato et al.USENIX Security 2016 · 296 citations
- Practical DIFC Enforcement on AndroidAdwait Nadkarni, Benjamin Andow, William Enck, Somesh JhaUSENIX Security 2016 · 57 citations
Related papers
- A Type System for Optimizing Dynamic IFCDaniel Galán Pascual, François Hublet, Srđan Krstić, Roman Fischer et al.OOPSLA 2026
- Giving semantics to program-counter labels via secure effectsAndrew K. Hirsch, Ethan CecchettiPOPL 2021 · 2 citations
- Reconciling noninterference and gradual typingArthur Azevedo de Amorim, Matt Fredrikson, Limin JiaLICS 2020 · 12 citations
- Towards Generating Thread-Safe Classes AutomaticallyHaichi Wang, Zan Wang, Jun Sun, Shuang Liu et al.ASE 2020 · 1 citation
- AtomiS: Data-Centric Synchronization Made PracticalHervé Paulino, Ana Almeida Matos, Jan Cederquist, Marco Giunti et al.OOPSLA 2023
