Faceted execution of policy-agnostic programs

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 programmi...

Olles dieđut

Bibliográfalaš dieđut
Váldodahkkit: Austin, Thomas H., Yang, Jean, Flanagan, Cormac, Solar-Lezama, Armando
Eará dahkkit: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Materiálatiipa: Artihkal
Giella:en_US
Almmustuhtton: Association for Computing Machinery (ACM) 2014
Liŋkkat:http://hdl.handle.net/1721.1/90875
https://orcid.org/0000-0001-7604-8252
https://orcid.org/0000-0002-3995-291X
Govvádus
Čoahkkáigeassu: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.