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

Bibliographic Details
Main Author: Zhou, Yiqi
Other Authors: Liu Yang
Format: Final Year Project (FYP)
Language:English
Published: Nanyang Technological University 2024
Subjects:
Online Access:https://hdl.handle.net/10356/174961
_version_ 1811681848489672704
author Zhou, Yiqi
author2 Liu Yang
author_facet Liu Yang
Zhou, Yiqi
author_sort Zhou, Yiqi
collection NTU
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.
first_indexed 2024-10-01T03:47:28Z
format Final Year Project (FYP)
id ntu-10356/174961
institution Nanyang Technological University
language English
last_indexed 2024-10-01T03:47:28Z
publishDate 2024
publisher Nanyang Technological University
record_format dspace
spelling ntu-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
spellingShingle Computer and Information Science
Fuzzing
Fuzz testing
AFL++
Zhou, Yiqi
Hands-on fuzzing of open source project
title 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_short Hands-on fuzzing of open source project
title_sort hands on fuzzing of open source project
topic Computer and Information Science
Fuzzing
Fuzz testing
AFL++
url https://hdl.handle.net/10356/174961
work_keys_str_mv AT zhouyiqi handsonfuzzingofopensourceproject