Information flow control for standard OS abstractions
Top Cited Papers
- 14 October 2007
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 41 (6) , 321-334
- https://doi.org/10.1145/1294261.1294293
Abstract
Decentralized Information Flow Control (DIFC) is an approach to security that allows application writers to control how data flows between the pieces of an application and the outside world. As applied to privacy, DIFC allows untrusted software to compute with private data while trusted security code controls the release of that data. As applied to integrity, DIFC allows trusted code to protect untrusted software from unexpected malicious inputs. In either case, only bugs in the trusted code, which tends to be small and isolated, can lead to security violations. We present Flume, a new DIFC model that applies at the granularity of operating system processes and standard OS abstractions (e.g., pipes and file descriptors). Flume was designed for simplicity of mechanism, to ease DIFC's use in existing applications, and to allow safe interaction between conventional and DIFC-aware processes. Flume runs as a user-level reference monitor onLinux. A process confined by Flume cannot perform most system calls directly; instead, an interposition layer replaces system calls with IPCto the reference monitor, which enforces data flowpolicies and performs safe operations on the process's behalf. We ported a complex web application (MoinMoin Wiki) to Flume, changingonly 2% of the original code. Performance measurements show a 43% slowdown on read workloadsand a 34% slowdown on write workloads, which aremostly due to Flume's user-level implementation.Keywords
This publication has 8 references indexed in Scilit:
- From Languages to Systems: Understanding Practical Application Development in Security-typed LanguagesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- Labels and event processes in the asbestos operating systemPublished by Association for Computing Machinery (ACM) ,2005
- Protecting privacy using the decentralized label modelACM Transactions on Software Engineering and Methodology, 2000
- A decentralized model for information flow controlPublished by Association for Computing Machinery (ACM) ,1997
- Interposition agentsPublished by Association for Computing Machinery (ACM) ,1993
- Multilevel security in the UNIX traditionSoftware: Practice and Experience, 1992
- A lattice model of secure information flowCommunications of the ACM, 1976
- The protection of information in computer systemsProceedings of the IEEE, 1975