Affiliation:
1. Carnegie Mellon University, USA / Harvard Medical School, USA
2. Dropbox, USA
3. San Jose State University, USA
4. Massachusetts Institute of Technology, USA
5. University of California at Santa Cruz, USA
6. Harvard University, USA
Abstract
We present an approach for dynamic information flow control across the application and database. Our approach reduces the amount of policy code required, yields formal guarantees across the application and database, works with existing relational database implementations, and scales for realistic applications. In this paper, we present a programming model that factors out information flow policies from application code and database queries, a dynamic semantics for the underlying $^JDB$ core language, and proofs of termination-insensitive non-interference and policy compliance for the semantics. We implement these ideas in Jacqueline, a Python web framework, and demonstrate feasibility through three application case studies: a course manager, a health record system, and a conference management system used to run an academic workshop. We show that in comparison to traditional applications with hand-coded policy checks, Jacqueline applications have 1) a smaller trusted computing base, 2) fewer lines of policy code, and 2) reasonable, often negligible, additional overheads.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Protecting Data Integrity of Web Applications with Database Constraints Inferred from Application Code;Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2023-01-27
2. Hammurabi;Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security;2022-11-07
3. ConfigCrusher: towards white-box performance analysis for configurable systems;Automated Software Engineering;2020-08-05
4. Managing data constraints in database-backed web applications;Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering;2020-06-27
5. A survey of challenges for runtime verification from advanced application domains (beyond software);Formal Methods in System Design;2019-11