Hands-on fuzzing of open source project

Fuzz testing, or fuzzing, is the automated testing of software by providing ran- dom inputs to the program under test. With advances in fuzzing research and ready-made fuzzers like AFL++, fuzzing has became a powerful tool in software testing. This final year project first explores the idea of im...

Full description

Saved in:
Bibliographic Details
Main Author: Zhou, Yiqi
Other Authors: Liu Yang
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2024
Subjects:
Online Access:https://hdl.handle.net/10356/174961
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-174961
record_format dspace
spelling sg-ntu-dr.10356-1749612024-04-19T15:45:58Z Hands-on fuzzing of open source project Zhou, Yiqi Liu Yang Wu Hongjun School of Computer Science and Engineering School of Physical and Mathematical Sciences yangliu@ntu.edu.sg, wuhj@ntu.edu.sg Computer and Information Science Fuzzing Fuzz testing AFL++ Fuzz testing, or fuzzing, is the automated testing of software by providing ran- dom inputs to the program under test. With advances in fuzzing research and ready-made fuzzers like AFL++, fuzzing has became a powerful tool in software testing. This final year project first explores the idea of improving fuzzing speed by parallelizing the input generation part of the fuzzer in the fuzzing library LibAFL. It includes an analysis of the fuzzing process from a performance per- spective and reasoning of why this parallelization idea ultimately cannot work. Then, the project pivots to applying ready-made fuzzing tool AFL++ to fuzz an open source software. The report details all parts of this fuzzing campaign: preparation of environment, development of custom fuzzing harness, monitoring and optimization of fuzzing process, crash triage, and disclosure. Several bugs were identified as a result of this fuzzing campaign. Above all else, this project is a learning process for me to dive into the topic of fuzzing. Bachelor's degree 2024-04-17T07:28:34Z 2024-04-17T07:28:34Z 2024 Final Year Project (FYP) Zhou, Y. (2024). Hands-on fuzzing of open source project. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/174961 https://hdl.handle.net/10356/174961 en application/pdf Nanyang Technological University
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic Computer and Information Science
Fuzzing
Fuzz testing
AFL++
spellingShingle Computer and Information Science
Fuzzing
Fuzz testing
AFL++
Zhou, Yiqi
Hands-on fuzzing of open source project
description Fuzz testing, or fuzzing, is the automated testing of software by providing ran- dom inputs to the program under test. With advances in fuzzing research and ready-made fuzzers like AFL++, fuzzing has became a powerful tool in software testing. This final year project first explores the idea of improving fuzzing speed by parallelizing the input generation part of the fuzzer in the fuzzing library LibAFL. It includes an analysis of the fuzzing process from a performance per- spective and reasoning of why this parallelization idea ultimately cannot work. Then, the project pivots to applying ready-made fuzzing tool AFL++ to fuzz an open source software. The report details all parts of this fuzzing campaign: preparation of environment, development of custom fuzzing harness, monitoring and optimization of fuzzing process, crash triage, and disclosure. Several bugs were identified as a result of this fuzzing campaign. Above all else, this project is a learning process for me to dive into the topic of fuzzing.
author2 Liu Yang
author_facet Liu Yang
Zhou, Yiqi
format Final Year Project
author Zhou, Yiqi
author_sort Zhou, Yiqi
title Hands-on fuzzing of open source project
title_short Hands-on fuzzing of open source project
title_full Hands-on fuzzing of open source project
title_fullStr Hands-on fuzzing of open source project
title_full_unstemmed Hands-on fuzzing of open source project
title_sort hands-on fuzzing of open source project
publisher Nanyang Technological University
publishDate 2024
url https://hdl.handle.net/10356/174961
_version_ 1800916242130796544