Affiliation:
1. University of California at San Diego, USA
2. Carnegie Mellon University, USA
3. Technion, Israel
4. Massachusetts Institute of Technology, USA
Abstract
We present Lifty, a domain-specific language for data-centric applications that manipulate sensitive data. A Lifty programmer annotates the sources of sensitive data with declarative security policies, and the language statically and automatically verifies that the application handles the data according to the policies. Moreover, if verification fails, Lifty suggests a provably correct repair, thereby easing the programmer burden of implementing policy enforcing code throughout the application.
The main insight behind Lifty is to encode information flow control using liquid types, an expressive yet decidable type system. Liquid types enable fully automatic checking of complex, data dependent policies, and power our repair mechanism via type-driven error localization and patch synthesis. Our experience using Lifty to implement three case studies from the literature shows that (1) the Lifty policy language is sufficiently expressive to specify many real-world policies, (2) the Lifty type checker is able to verify secure programs and find leaks in insecure programs quickly, and (3) even if the programmer leaves out all policy enforcing code, the Lifty repair engine is able to patch all leaks automatically within a reasonable time.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
16 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Enforcing the GDPR;Lecture Notes in Computer Science;2024
2. Syntax-Guided Automated Program Repair for Hyperproperties;Lecture Notes in Computer Science;2024
3. Data-Dependent Confidentiality in DCR Graphs;International Symposium on Principles and Practice of Declarative Programming;2023-10-22
4. Access Control for Database Applications: Beyond Policy Enforcement;Proceedings of the 19th Workshop on Hot Topics in Operating Systems;2023-06-22
5. ANOSY: approximated knowledge synthesis with refinement types for declassification;Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2022-06-09