Exploring and Enforcing Security Guarantees via Program Dependence Graphs
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 335k line Java application takes two minutes, and checking each of our policies on that PDG takes under 15 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.
Tue 16 JunDisplayed time zone: Tijuana, Baja California change
14:00 - 15:40
AnalysisResearch Papers at PLDI Main BLUE (Portland 254-255)
Chair(s): Yannis Smaragdakis University of Athens
|DAG Inlining: A Decision Procedure for Reachability-Modulo-Theories in Hierarchical Programs|
Akash Lal Microsoft Research India, Shaz Qadeer Microsoft ResearchMedia Attached File Attached
|Exploring and Enforcing Security Guarantees via Program Dependence Graphs|
Andrew Johnson Harvard University, Lucas Waye Harvard University, Scott Moore Harvard University, Stephen Chong Harvard UniversityMedia Attached
|Making Numerical Program Analysis Fast|
Gagandeep Singh ETH Zurich, Switzerland, Markus Püschel ETH Zurich, Martin Vechev ETH ZurichMedia Attached
|Tree Dependence Analysis|
Yusheng Weijiang Purdue University, Shruthi Balakrishna Purdue University, Jianqiao Liu Purdue University, Milind Kulkarni Purdue UniversityMedia Attached