Award Abstract # 1018061
TC: Small: Compositional End-to-End Security for Systems

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: CARNEGIE MELLON UNIVERSITY
Initial Amendment Date: July 30, 2010
Latest Amendment Date: July 30, 2010
Award Number: 1018061
Award Instrument: Standard Grant
Program Manager: Deborah Shands
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2010
End Date: August 31, 2015 (Estimated)
Total Intended Award Amount: $499,995.00
Total Awarded Amount to Date: $499,995.00
Funds Obligated to Date: FY 2010 = $499,995.00
History of Investigator:
  • Anupam Datta (Principal Investigator)
    danupam@andrew.cmu.edu
  • Limin Jia (Co-Principal Investigator)
  • Deepak Garg (Co-Principal Investigator)
Recipient Sponsored Research Office: Carnegie-Mellon University
5000 FORBES AVE
PITTSBURGH
PA  US  15213-3815
(412)268-8746
Sponsor Congressional District: 12
Primary Place of Performance: Carnegie-Mellon University
5000 FORBES AVE
PITTSBURGH
PA  US  15213-3815
Primary Place of Performance
Congressional District:
12
Unique Entity Identifier (UEI): U3NKNFLNQ613
Parent UEI: U3NKNFLNQ613
NSF Program(s): TRUSTWORTHY COMPUTING
Primary Program Source: 01001011DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7923
Program Element Code(s): 779500
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Compositional security is a recognized central scientific challenge for trustworthy computing. Contemporary systems are built up from smaller components. However, even if each component is secure in isolation, the composed system may not achieve the desired end-to-end security property: an adversary may exploit complex interactions between components to compromise security.

This project addresses this important problem by developing a general model of systems and adversaries and techniques for modular reasoning and design. A central idea is to view a trusted system in terms of the interfaces that the various components expose: larger trusted components are built by combining interface calls in known ways; the adversary is constrained to the interfaces it has access to, but may combine interface calls without restriction. At a technical level, we are developing an expressive concurrent programming language with recursive functions for modeling interfaces and higher-order data for modeling code obtained at run time, and a logic of programs to capture reasoning principles for compositional security. We are using this framework to develop a systematic basis for web security, to formalize attacker models for web browsers proposed in literature and develop new ones, and to build an understanding of relevant security policies, end-to-end security properties, attacks in the wild, and ways to defend and prove web applications secure against these attacks. This study could have impact on security mechanisms and policies used in web applications in practice. The reasoning methods developed in the project will be mechanized in a tool.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Arunesh Sinha, Limin Jia, Paul England, and Jacob R. Lorch "Continuous Tamper-proof Logging Using TPM 2.0." 7th International Conference on Trust & Trustworthy Computing (TRUST) , 2014
Chen Chen, Limin Jia, Hao Xu, Cheng Luo, Wenchao Zhou, and Boon Thau Loo. "A Program Logic for Verifying Secure Routing Protocols." IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems (FORTE) , 2014
Fuyuan Zhang, Limin Jia, Cristina Basescu, Tiffany Hyun­Jin Kim, Yih­Chun Hu, and Adrian Perrig "Mechanized Network Origin and Path Authenticity Proofs." 21st ACM Conference on Computer and Communications Security (CCS) , 2014
Limin Jia, Shayak Sen, Deepak Garg, Anupam Datta "A Logic of Programs with Interface-confined Code" Proceedings of 28th IEEE Computer Security Foundations Symposium , 2015

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Compositional security principles are critical for scalable construction and analysis of secure systems. Contemporary systems are built up from smaller components, but even if each component is secure in isolation, a system composed of secure components may not meet its security requirements. Attacks using properties of one component to subvert another have shown up in practice in many different settings, including cryptographic protocols, systems software, application software, web browsers and infrastructure. 

The intellectual merit of the project is reflected in new theory of compositional security called Adversary-aware Assume Guarantee. In traditional assume-guarantee reasoning for reasoning about system correctness, system components assume that other components satisfy certain assumptions. These assumptions are discharged by analyzing the code of other components. In contrast, in the security setting addressed by the new theory, assumptions about adversarial components are enforced using a combination of cryptographic, hardware, and software protection mechanisms and associated program-directed methods for reasoning about them.

Specifically, the project develops System M -- the first program logic that allows proofs of safety for higher-order programs that execute adversary-supplied code without requiring the adversarial code to be available for deep static analysis. It supports reasoning about invariants of adversarial components via interface-confinement (or sandboxing) and code identity checks. System M has been used to prove security properties of models of implemented hypervisors and trusted computing systems built at Carnegie Mellon University. 

The broader impact of the project includes impact on the emerging science of security and contributions to human resource development in this important area. The project has supported two PhD students who have transitioned to research and industry positions. It has also provided support for two co-PIs (one female, one male) who have transitioned from postdoctoral research positions to faculty positions. 



Last Modified: 01/17/2016
Modified by: Anupam Datta

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page