SBIR-STTR Award

Automated Explotability Reasoning
Award last edited on: 1/6/2021

Sponsored Program
SBIR
Awarding Agency
DOD : Army
Total Award Amount
$1,087,887
Award Phase
2
Solicitation Topic Code
A15-043
Principal Investigator
Yan Ivnitskiy

Company Information

Trail of Bits Inc

228 Park Avenue South #80688
New York, NY 10003
   (917) 817-0359
   N/A
   www.trailofbits.com
Location: Single
Congr. District: 12
County: New York

Phase I

Contract Number: ----------
Start Date: ----    Completed: ----
Phase I year
2015
Phase I Amount
$99,751
As the use of software to control more of the world inexorably increases, so does the importance of having confidence that software cannot easily be subverted by attackers. To provide this assurance, several techniques have been developed. One of the most effective and low-cost is software fuzzing, which randomly and semi-randomly permutes software inputs (e.g. files or network data). The software being tested is monitored for crashes which generally indicate poor code quality and potential security vulnerabilities. Fuzzing generally produces hundreds or thousands of crashes, each a candidate software vulnerability that must be mitigated. Each crashing input needs to be manually evaluated for exploitability and the severity of the vulnerability. The severity of each crash is a valuable metric to helps prioritize limited remediation resources. What if a system could characterize a crash, automatically, in terms of severity This document proposes the initial research into and the development of an advanced exploitability reasoning system.

Phase II

Contract Number: ----------
Start Date: ----    Completed: ----
Phase II year
2017
Phase II Amount
$988,136
Determining the severity of a crash in an application is a vital but time-consuming step in security research. The objective of this research project is to develop a system that can be used to automatically measure and triage the exploitability of crashes. In Phase 1 Trail of Bits performed a survey of extant crash triage tools and approaches and developed a prototype tool for crash triage. Current crash triage tools require an experienced end user to both provide useful input as well as to interpret results in a meaningful fashion. Phase 2 will pursue development of fuzzing and crash triage as a service. The service will reduce the level of expertise and time required to make effective use of fuzzing and crash triage technology. Automated fuzzing and crash triage as a service could find application by governmental and commercial entities for both offensive and defensive security applications. The fully-developed service could provide a low-effort security evaluation for application developers lacking in-house security expertise or the requisite time to develop such expertise.