A Type System for Optimizing Dynamic IFC
Daniel Galán Pascual, François Hublet, Srđan Krstić, Roman Fischer, Colin Pfingstl, David Basin
Abstract
Dynamic information-flow control (IFC) enforces confidentiality policies at runtime by tagging values with security labels and blocking policy-violating outputs by terminating the running system. Pervasive label tracking and enforcement checks incur high runtime costs, which limits practical IFC deployment to performance-insensitive workloads. We present a novel alternative called MinIF, a type-directed program transformation that statically eliminates the overhead of dynamic IFC for existing systems. The central contribution of MinIF is a flow-sensitive type system that tracks which sensitive inputs influence a value and whether the enforcement mechanism would accept operations on it, even though the enforced policy is unknown to the type system. Using the type system, MinIF statically predicts enforcement outcomes and removes redundant checks along with the label-tracking code that served them, and we prove that the optimized program preserves both the behavior and the enforcement decisions of the original. For IFC systems with introspection, the optimization is fully automatic, as the introspection queries already present in the program supply all the permission information MinIF needs, with no programmer annotations. Unresolved checks surface as warnings, and the absence of warnings gives developers a static guarantee against enforcement-induced system termination. We evaluate MinIF on Python programs running on the WebTTC dynamic IFC platform. On benchmarks, MinIF eliminates between 13% and 99% of the enforcement overhead, and compute-intensive workloads that time out under enforcement now complete in milliseconds.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 57cf5ec2-591e-4851-acbc-db3a1af587b8Related papers
- Co-Inflow: Coarse-grained Information Flow Control for Java-like LanguagesJian Xiang, Stephen ChongS&P 2021 · 12 citations
- Cocoon: Static Information Flow Control in RustAda Lamba, Max Taylor, Vincent Beardsley, Jacob Bambeck et al.OOPSLA 2024 · 9 citations
- Iodine: Fast Dynamic Taint Tracking Using Rollback-free Optimistic Hybrid AnalysisSubarno Banerjee, David Devecsery, Peter M. Chen, Satish NarayanasamyS&P 2019 · 27 citations
- Impossibility of Precise and Sound Termination-Sensitive Security EnforcementsMinh Ngo, Frank Piessens, Tamara RezkS&P 2018 · 5 citations
- Carapace: Static-Dynamic Information Flow Control in RustVincent Beardsley, Chris Xiong, Ada Lamba, Michael D. BondOOPSLA 2025 · 3 citations
