Affiliation:
1. Harvard University, USA / MIT Lincoln Laboratory, USA
2. Harvard University, USA
Abstract
We present PIDGIN, a program analysis and understanding tool that enables the specification and enforcement of precise application-specific information security guarantees. PIDGIN also allows developers to interactively explore the information flows in their applications to develop policies and investigate counter-examples. PIDGIN combines program dependence graphs (PDGs), which precisely capture the information flows in a whole application, with a custom PDG query language. Queries express properties about the paths in the PDG; because paths in the PDG correspond to information flows in the application, queries can be used to specify global security policies. PIDGIN is scalable. Generating a PDG for a 330k line Java application takes 90 seconds, and checking a policy on that PDG takes under 14 seconds. The query language is expressive, supporting a large class of precise, application-specific security guarantees. Policies are separate from the code and do not interfere with testing or development, and can be used for security regression testing. We describe the design and implementation of PIDGIN and report on using it: (1) to explore information security guarantees in legacy programs; (2) to develop and modify security policies concurrently with application development; and (3) to develop policies based on known vulnerabilities.
Funder
National Science Foundation
U.S. Air Force
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Fluently specifying taint-flow queries with fluentTQL;Empirical Software Engineering;2022-05-30
2. LineVD;Proceedings of the 19th International Conference on Mining Software Repositories;2022-05-23
3. A Comparative Analysis Between Information Flow Control Tools for Java-written systems;15th Brazilian Symposium on Software Components, Architectures, and Reuse;2021-09-27
4. SESCon: Secure Ethereum Smart Contracts by Vulnerable Patterns’ Detection;Security and Communication Networks;2021-09-21
5. Static Detection of File Access Control Vulnerabilities on Windows System;Concurrency and Computation: Practice and Experience;2020-09-22