Automating the fuzzing triage process

This final year project explores the usage of scripting to improve the efficiency of the fuzzing workflow. Fuzzing is a method of discovering bugs that is quickly gaining momentum within the development community. It has the ability to discover bugs within programs that might otherwise be very hard...

Full description

Saved in:
Bibliographic Details
Main Author: Loh, Qi Yuan
Other Authors: Liu Yang
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2020
Subjects:
Online Access:https://hdl.handle.net/10356/140674
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:This final year project explores the usage of scripting to improve the efficiency of the fuzzing workflow. Fuzzing is a method of discovering bugs that is quickly gaining momentum within the development community. It has the ability to discover bugs within programs that might otherwise be very hard to get at using traditional methods like source code analysis and program testing using sets of pre-defined inputs. There are a large number of existing tools available to users and development of fuzzing techniques have also taken a huge step forward. Fuzzers have become a flexible tool that can help both developers and pen-testers.While the fuzzer technology has been constantly improving, the workflow of a user during the fuzzing cycle has remained constant throughout. The user runs the fuzzer and then manually debugs each of the output files from the fuzzer to determine the reason behind the erroneous behaviour. This project aims to change the existing workflow by streamlining the work during the triage process. The final tool works in conjunction with AddressSanitizer, the GDB debugger and Valgrind to achieve automated log extraction and crash analysis leading to categorisation of the files.