Fine-Grained, Language-Based Access Control for Database-Backed Applications
Ezra Zigmond (Harvard University, United States), Stephen Chong, (Harvard University, United States), Christos Dimoulas (Northwestern, University, United States), Scott Moore (Galois, Inc, United States)

TL;DR
This paper introduces ShillDB, a language designed for secure database-backed applications that enforces fine-grained, language-based access control policies through capabilities and contracts, improving security and modularity.
Contribution
The paper's main contribution is the design and implementation of ShillDB, a language that enables precise, component-specific database security policies using capabilities and contracts.
Findings
ShillDB effectively enforces fine-grained access control policies.
Contracts serve as executable security documentation.
The approach improves security and modularity in database applications.
Abstract
Context: Database-backed applications often run queries with more authority than necessary. Since programs can access more data than they legitimately need, flaws in security checks at the application level can enable malicious or buggy code to view or modify data in violation of intended access control policies. Inquiry: Although database management systems provide tools to control access to data, these tools are not well-suited for modern applications which often have many users and consist of many different software components. First, databases are unaware of application users, and creating a new database user for each application user is impractical for applications with many users. Second, different components of the same application may require different authority, which would require creating different database users for different software components. Thus, it is difficult to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
