From Fine- to Coarse-Grained Dynamic Information Flow Control and Back
Journal article, 2023

This tutorial provides a complete and homogeneous account of the latest advances in fine- and coarse-grained dynamic information-flow control (IFC) security. Since the 1970s, the programming language and the operating system communities proposed different IFC approaches. IFC operating systems track information flows in a coarse-grained fashion, at the granularity of a process. In contrast, traditional language-based approaches to IFC are fine- grained: they track information flows at the granularity of program variables. For decades, researchers believed coarse-grained IFC to be strictly less permissive than fine-grained IFC-coarse grained IFC systems seem inherently less precise because they track less information-and so granularity appeared to be a fundamental feature of IFC systems. We show that the granularity of the tracking system does not fundamentally restrict how precise or permissive dynamic IFC systems can be. To this end, we mechanize two mostly standard languages, one with a fine-grained dynamic IFC system and the other with a coarse-grained dynamic IFC system, and prove a semantics-preserving translation from each language to the other. In addition, we derive the standard security property of non-interference of each language from that of the other, via our verified translation. These translations stand to have important implications on the usability of IFC approaches. The coarse- to fine-grained direction can be used to remove the label annotation burden that fine-grained systems impose on developers, while the fine- to coarse-grained translation shows that coarse-grained systems-which are easier to design and implement-can track information as precisely as fine-grained systems and provides an algorithm for automatically retrofitting legacy applications to run on existing coarse-grained systems.

Author

Marco Vassena

Utrecht University

Alejandro Russo

Chalmers, Computer Science and Engineering (Chalmers), Information Security

Deepak Garg

Max Planck Institute for Software Systems

Vineet Rajani

University Of Kent

Deian Stefan

University of California

FOUNDATIONS AND TRENDS IN PROGRAMMING LANGUAGES

2325-1107 (ISSN) 2325-1131 (eISSN)

Vol. 8 1 1-117

Subject Categories

Computer Science

Computer Systems

DOI

10.1561/2500000046

More information

Latest update

12/7/2023