Generalizing Permissive-Upgrade in Dynamic Information Flow Analysis
Abhishek Bichhawat, Vineet Rajani, Deepak Garg, Christian Hammer

TL;DR
This paper extends the permissive-upgrade technique for dynamic information flow control from simple two-point security lattices to arbitrary lattices, enhancing flexibility while maintaining soundness.
Contribution
It introduces a novel, sound, and permissive generalization of permissive-upgrade for arbitrary security lattices, overcoming previous limitations.
Findings
Successfully generalizes permissive-upgrade to arbitrary lattices.
Maintains soundness while increasing permissiveness.
Provides a formal proof of the generalized method's soundness.
Abstract
Preventing implicit information flows by dynamic program analysis requires coarse approximations that result in false positives, because a dynamic monitor sees only the executed trace of the program. One widely deployed method is the no-sensitive-upgrade check, which terminates a program whenever a variable's taint is upgraded (made more sensitive) due to a control dependence on tainted data. Although sound, this method is restrictive, e.g., it terminates the program even if the upgraded variable is never used subsequently. To counter this, Austin and Flanagan introduced the permissive-upgrade check, which allows a variable upgrade due to control dependence, but marks the variable "partially-leaked". The program is stopped later if it tries to use the partially-leaked variable. Permissive-upgrade handles the dead-variable assignment problem and remains sound. However, Austin and…
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.
