Faceted execution of policy-agnostic programs
Open Access
- 20 June 2013
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 15-26
Abstract
It is important for applications to protect sensitive data. Even for simple confidentiality and integrity policies, it is often difficult for programmers to reason about how the policies should interact and how to enforce policies across the program. A promising approach is policy-agnostic programming, a model that allows the programmer to implement policies separately from core functionality. Yang et al. describe Jeeves, a programming language that supports information flow policies describing how to reveal sensitive values in different output channels. Jeeves uses symbolic evaluation and constraint-solving to produce outputs adhering to the policies. This strategy provides strong confidentiality guarantees but limits expressiveness and implementation feasibility. We extend Jeeves with faceted values, which exploit the structure of sensitive values to yield both greater expressiveness and to facilitate reasoning about runtime behavior. We present a faceted semantics for Jeeves and describe a model for propagating multiple views of sensitive information through a program. We provide a proof of termination-insensitive non-interference and describe how the semantics facilitate reasoning about program behavior.National Science Foundation (U.S.) (Grant CNS-0905650)United States. Defense Advanced Research Projects Agency. The Ubiquitous High Performance Computing ProgramFacebook (Firm) (FellowshipKeywords
This publication has 39 references indexed in Scilit:
- A Semantic Framework for Declassification and Endorsement2010
- Termination-Insensitive Noninterference Leaks More Than Just a Bit2008
- Principles of Secure Information Flow Analysis2007
- Flow Locks: Towards a Core Calculus for Dynamic Flow Policies2006
- Language-based information-flow securityIEEE Journal on Selected Areas in Communications, 2003
- A Type System for Robust DeclassificationElectronic Notes in Theoretical Computer Science, 2003
- Information flow inference for MLACM Transactions on Programming Languages and Systems, 2003
- A tutorial on default logicsACM Computing Surveys, 1999
- Certification of programs for secure information flowCommunications of the ACM, 1977
- A lattice model of secure information flowCommunications of the ACM, 1976