Publication: Co-Inflow: Coarse-grained Information Flow Control for Java-like Languages
No Thumbnail Available
Open/View Files
Date
2021-05
Authors
Published Version
Journal Title
Journal ISSN
Volume Title
Publisher
IEEE
The Harvard community has made this article openly available. Please share how this access benefits you.
Citation
J. Xiang and S. Chong, "Co-Inflow: Coarse-grained Information Flow Control for Java-like Languages," 2021 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 2021, pp. 18-35, doi: 10.1109/SP40001.2021.00002.
Research Data
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 trade-off between precision and annotation burden by instantiating and specializing recent advances in coarse-grained 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 termination-insensitive 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.
Description
Other Available Sources
Keywords
Terms of Use
Metadata Only