Award Abstract # 1749711
CAREER: System Techniques to Improve Fuzzing Performance

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: GEORGIA TECH RESEARCH CORP
Initial Amendment Date: March 9, 2018
Latest Amendment Date: February 17, 2022
Award Number: 1749711
Award Instrument: Continuing Grant
Program Manager: Sol Greenspan
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: March 15, 2018
End Date: February 29, 2024 (Estimated)
Total Intended Award Amount: $500,000.00
Total Awarded Amount to Date: $500,000.00
Funds Obligated to Date: FY 2018 = $93,615.00
FY 2019 = $96,693.00

FY 2020 = $99,885.00

FY 2021 = $103,191.00

FY 2022 = $106,616.00
History of Investigator:
  • Taesoo Kim (Principal Investigator)
    taesoo@gatech.edu
Recipient Sponsored Research Office: Georgia Tech Research Corporation
926 DALNEY ST NW
ATLANTA
GA  US  30318-6395
(404)894-4819
Sponsor Congressional District: 05
Primary Place of Performance: Georgia Institute of Technology
225 North Avenue
Atlanta
GA  US  30332-0002
Primary Place of Performance
Congressional District:
05
Unique Entity Identifier (UEI): EMW9FC8J3HN4
Parent UEI: EMW9FC8J3HN4
NSF Program(s): Secure &Trustworthy Cyberspace
Primary Program Source: 01001819DB NSF RESEARCH & RELATED ACTIVIT
01001920DB NSF RESEARCH & RELATED ACTIVIT

01002021DB NSF RESEARCH & RELATED ACTIVIT

01002122DB NSF RESEARCH & RELATED ACTIVIT

01002223DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 025Z, 1045, 7434
Program Element Code(s): 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Fuzzing is an automatic software-testing technique that repeatedly injects a randomly mutated input to a target program. Proven to be effective in finding bugs in complex, real-world programs, fuzzing has become a core technique for finding security vulnerabilities. There are now examples of major companies building large-scale, distributed fuzzing infrastructure, which runs on hundreds of virtual machines that relentlessly process over millions of test cases per day. The performance of fuzzers is critical, as a faster, smarter fuzzer will find more security bugs in the target program more quickly.

This project takes a novel approach to fuzzing performance by shortening the execution time of each fuzzing iteration by trying to achieve more test coverage in a fixed time interval, whereas other approaches focus on convergence to input sets that are more likely to trigger a vulnerability. In the process, the project will overcome hidden scalability and performance bottlenecks caused at the system software layers, such as operating system and hypervisor. Such technical advances can bring significant saving of the operation cost of fuzzing infrastructure and help developers to identify more security bugs in open source and commercial software in a cost-effective manner.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

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.

Ding, Ren and Kim, Yonghae and Sang, Fan and Xu, Wen and Saileshwar, Gururaj and Kim, Taesoo "Hardware Support to Improve Fuzzing Performance and Precision" Proceedings of the 28th ACM Conference on Computer and Communications Security (CCS 2021) , 2021 https://doi.org/10.1145/3460120.3484573 Citation Details
Jung, Jinho and Tong, Stephen and Hu, Hong and Lim, Jungwon and Jin, Yonghwi and Kim, Taesoo "WINNIE : Fuzzing Windows Applications with Harness Synthesis and Fast Cloning" Proceedings of the 2021 Network and Distributed System Security Symposium (NDSS 2021) , 2021 https://doi.org/10.14722/ndss.2021.24334 Citation Details
Kim, Seulbae and Xu, Meng and Kashyap, Sanidhya and Yoon, Jungyeon and Xu, Wen and Kim, Taesoo "Finding Bugs in File Systems with an Extensible Fuzzing Framework" ACM Transactions on Storage , v.16 , 2020 https://doi.org/10.1145/3391202 Citation Details
Xu, Wen and Park, Soyeon and Kim, Taesoo "FREEDOM: Engineering a State-of-the-Art DOM Fuzzer" Proceedings of the 27th ACM Conference on Computer and Communications Security (CCS 2020) , 2020 https://doi.org/10.1145/3372297.3423340 Citation Details
Yun, Insu and Song, Woosun and Min, Seunggi and Kim, Taesoo "HardsHeap: A Universal and Extensible Framework for Evaluating Secure Allocators" Proceedings of the 28th ACM Conference on Computer and Communications Security (CCS 2021) , 2021 https://doi.org/10.1145/3460120.3484740 Citation Details

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.

The primary goal of this NSF-funded project was to enhance the performance of fuzzing techniques, aiming to reduce the time required to uncover security vulnerabilities and software bugs. The project specifically addressed system-side bottlenecks, such as in-kernel locks, by leveraging systems approaches like heterogeneous architectures, and creating new system abstractions to accelerate the fuzzing processes like new OS abstraction or a unified fuzzing layer to ensemble multiple fuzzers. This performance boost is intended to lower the cost and foster the widespread adoption of fuzzing techniques across various industries.


Accomplishments and Major Activities:

Over the course of the project, significant progress was made, contributing to 25 publications in top-tier security and systems conferences and resulting in 20 open-source projects. These efforts led to the discovery and reporting of over 80 high-impact vulnerabilities. Notable advancements include the development of "autofz," an automated fuzzer composition tool that optimizes fuzzer configurations using genetic algorithms. This tool significantly improves the efficiency and effectiveness of fuzzing by dynamically adjusting parameters to maximize coverage and bug detection rates.


Impact and Dissemination:

The project's outcomes have had a profound impact on the field of software security, particularly in the development and adoption of fuzzing methods. The research has been widely disseminated through publications, open-source projects, and educational resources. Tools like RoboFuzz and autofz have been made publicly available, contributing to the broader research community's efforts in security testing and vulnerability discovery. Additionally, the project has provided extensive training opportunities through the OMS Cyber Masters and MS Information Security programs, equipping students with hands-on experience in fuzzing techniques.

 

 


Last Modified: 08/11/2024
Modified by: Taesoo Kim

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

Print this page

Back to Top of page