Award Abstract # 1345049
TTP: Securing Python Package Management with The Update Framework (TUF)

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: NEW YORK UNIVERSITY
Initial Amendment Date: August 19, 2013
Latest Amendment Date: August 8, 2014
Award Number: 1345049
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: August 1, 2013
End Date: July 31, 2015 (Estimated)
Total Intended Award Amount: $180,000.00
Total Awarded Amount to Date: $212,000.00
Funds Obligated to Date: FY 2013 = $180,000.00
FY 2014 = $32,000.00
History of Investigator:
  • Justin Cappos (Principal Investigator)
    jcappos@nyu.edu
Recipient Sponsored Research Office: New York University
70 WASHINGTON SQ S
NEW YORK
NY  US  10012-1019
(212)998-2121
Sponsor Congressional District: 10
Primary Place of Performance: Polytechnic University of New York
2 Metrotech Center
Brooklyn
NY  US  11201-3846
Primary Place of Performance
Congressional District:
07
Unique Entity Identifier (UEI): NX9PXMKW5KW8
Parent UEI:
NSF Program(s): SOFTWARE ENG & FORMAL METHODS,
Secure &Trustworthy Cyberspace
Primary Program Source: 01001314DB NSF RESEARCH & RELATED ACTIVIT
01001415DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7433, 7434
Program Element Code(s): 794400, 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

The insecurity of most software update systems poses a major security risk. As a result, an attacker with a minimal amount of technical knowledge can cause a huge amount of damage to a huge number of computers. This poses a potential crisis for global security, with the scientific community a particularly likely victim. The scientific community possesses computational resources that are particularly attractive to hackers. The high speed networks and computation available to scientists would make an excellent platform for sending SPAM, flooding major sites with traffic to knock them off the Internet (DDOS), or even launching cyber-warfare attacks against US targets.

TUF (The Update Framework) is a tool, developed in prior research by the PI, to secure their new or existing software update systems. Software update systems are vulnerable to many known attacks, including those that can result in clients being compromised or crashed. TUF helps solve this problem by providing a flexible security framework that can be added to software updaters. This project will transition our TUF tool into practical use for secure package management. The added security will be completely invisible to users unless an attack is underway, silently preventing malicious package manager attacks from being effective. TUF provides unique capabilities for secure key revocation, private security update retrieval, and offline/online hybrid role protections. This work will protect millions of government systems, military servers, scientists, and average internet users from attack.

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.

This project focused on improving the security of software update infrastructures at popular open source projects.  Our TUF project is the only security framework for software updaters in use today that remains secure even when the software repository is compromised.  

In this work, we integrated the TUF project with several large open source projects.  First, TUF is now included in production with Docker (starting with version 1.8) and secures images downloaded through DockerHub, the main image repository.  Docker used by many large companies such as eBay, Spotify, Yep, Paypal, Uber, BBC, Lyft, Orbitz, and others.  TUF has also been integrated and used in production by other popular projects like Flynn and LEAP.  

TUF is in the process of being integrated by many other projects, including several of the most popular programming languages.  TUF has been standarized by Python (through PEPs 458 and 480) and is scheduled to be included in Warehouse, the upcoming central Python repository.  There are also in progress integrations of TUF for Ruby, Haskell, Go, OCaml, CoreOS, and Rust.

The result of these integrations is that these projects are much safer in the face of an attack.  Whereas in the past an attacker who compromised a repository could compromise millions of devices, TUF prevents this.  This work demonstrates the practicality and usefulness of TUF, which we hope encourages other groups to adopt and benefit from its security protections.


Last Modified: 10/26/2015
Modified by: Justin Cappos

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

Print this page

Back to Top of page