Skip to feedback

Award Abstract # 1618771
TWC: Small: Collaborative: Automated Detection and Repair of Error Handling Bugs in SSL/TLS Implementations

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: RECTOR & VISITORS OF THE UNIVERSITY OF VIRGINIA
Initial Amendment Date: August 4, 2016
Latest Amendment Date: August 4, 2016
Award Number: 1618771
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
sgreensp@nsf.gov
 (703)292-7841
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2016
End Date: September 30, 2019 (Estimated)
Total Intended Award Amount: $250,000.00
Total Awarded Amount to Date: $250,000.00
Funds Obligated to Date: FY 2016 = $206,923.00
History of Investigator:
  • Baishakhi Ray (Principal Investigator)
    rayb@cs.columbia.edu
Recipient Sponsored Research Office: University of Virginia Main Campus
1001 EMMET ST N
CHARLOTTESVILLE
VA  US  22903-4833
(434)924-4270
Sponsor Congressional District: 05
Primary Place of Performance: University of Virginia
P. O. Box 400195
Charlottesville
VA  US  22904-4195
Primary Place of Performance
Congressional District:
05
Unique Entity Identifier (UEI): JJG6HU8PA4S5
Parent UEI:
NSF Program(s): Secure &Trustworthy Cyberspace
Primary Program Source: 01001617DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7434, 7923, 9102
Program Element Code(s): 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Secure Sockets Layer (SSL)/Transport Layer Security (TLS) protocols are critical to internet security. However, the software that implements SSL/TLS protocols is especially vulnerable to security flaws and the consequences can be disastrous. A large number of security flaws in SSL/TLS implementations (such as man-in-the-middle attacks, denial-of-service attacks, and buffer overflow attacks) result from incorrect error handling. These errors are often hard to detect and localize using existing techniques because many of them do not display any obvious erroneous behaviors (e.g., crash, assertion failure, etc.) but they cause subtle inaccuracies that completely violate the security and privacy guarantees of SSL/TLS. This project aims to improve error handling mechanisms in SSL/TLS implementations by building novel tools that reduce developer effort in writing and maintaining correct error handling code while making SSL/TLS implementations more secure and robust.

This project develops a framework for improving the robustness of error handling code in SSL/TLS implementations. The framework has three main objectives. First, error specifications for different SSL/TLS functions are automatically inferred to learn how they communicate the failures. Next, the inferred specifications are used to build a tool for automatically detecting error handling bugs. Finally, the framework also provides new program repair tools that can automatically fix the detected bugs. Therefore, the framework provides end-to-end assistance in maintaining error-handling code in SSL/TLS implementations and thus significantly improves internet security.

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.

Suman Jana, Yuan Jochen Kang, Samuel Roth, Baishakhi Ray "Automatically Detecting Error Handling Bugs using Error Specifications" 25th Usenix Security Symposium, 2016 , 2016
Yuan Kang, Baishakhi Ray, Suman Jana "APEx: Automated Inference of Error Specifications for C APIs" 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016) , 2016
Yuchi Tian, Baishakhi Ray "Automatically Diagnosing and RepairingError Handling Bugs in C" Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE) , 2017 , p.752 978-1-4503-5105-8
Yuchi Tian, Kexin Pei, Suman Jana, Baishakhi Ray "DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars" 40th International Conference on Software Engineering , 2018 , p.303 978-1-4503-5638-1

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

Print this page

Back to Top of page