Please use this identifier to cite or link to this item:
https://hdl.handle.net/10356/184111
Title: | Improving firmware fuzzing through automated seed generation | Authors: | Lim, Wei Zi | Keywords: | Computer and Information Science | Issue Date: | 2025 | Publisher: | Nanyang Technological University | Source: | Lim, W. Z. (2025). Improving firmware fuzzing through automated seed generation. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/184111 | Project: | SCSE24-438 | Abstract: | Within the past decade, the rate of internet penetration has drastically increased, resulting in a wider adaptation of the Internet of Things approach towards many aspects of everyday life. This has resulted in the digitization of analog machines, devices or components, everything from lightbulbs, remote cameras and CNC machines now may operate on dedicated firmware linking them to wider a local area network. This opens the possibility of them being vectors for cyberattacks aimed at vulnerable firmware. Thus, the necessity of fuzzing IoT firmware to detect & patch possible zero-days (in particular, network components such as routers & switches) will become as prevalent as the spread of IoT devices. In this project, exported router firmware images have been provided (through Greenhouse) for automated seed generation, with gh3fuzz & AFL++ used (gh3fuzz being a fuzzing harness for AFL++) to fuzz said firmware images with 4 sets of seeds, namely: the default seeds provided, Wireshark selected seeds (manual), the aforementioned ‘automatically-generated’ stateless & stateful seeds, where the Katana crawler integrated with python scripts is used for the automated generation of stateful & stateless seeds. Following this, the paper will compare the fuzzing results from using said four kinds of seeds for factors such as the number of unique crashes detected, along with providing extensive details & documentation to explain how the fuzzing tools work & how to set them up, with the overall goal being to improve upon the process of fuzzing IoT firmware with said automated seed generation. In total, the automated approach to seed generation has provided a comparable to marginally higher number of crash-causing inputs for 3 out of the 4 images fuzzed, when compared to both default & manual seeds combined. | URI: | https://hdl.handle.net/10356/184111 | Schools: | College of Computing and Data Science | Fulltext Permission: | restricted | Fulltext Availability: | With Fulltext |
Appears in Collections: | CCDS Student Reports (FYP/IA/PA/PI) |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
LimWeiZi_FYP_0438_section_3_1_3_gh3fuzz_bootup.zip Restricted Access | Contains files / data referenced in report | 620 B | Unknown | View/Open |
LimWeiZi_FYP_0438_section_3_1_12_fuzz_sh_j2_reconfig.zip Restricted Access | Contains files / data referenced in report | 1.7 kB | Unknown | View/Open |
LimWeiZi_FYP_0438_section_3_2_4_stateful_files.zip Restricted Access | Contains files / data referenced in report | 3.66 kB | Unknown | View/Open |
LimWeiZi_FYP_0438_section_4_crash_results.zip Restricted Access | Contains files / data referenced in report | 332.98 kB | Unknown | View/Open |
LimWeiZi_FYP_0438_section_4_crash_inputs.zip Restricted Access | Contains files / data referenced in report | 17.2 MB | Unknown | View/Open |
Ammended_FYP_Final_Report_LimWeiZi.pdf Restricted Access | FYP Report | 5.93 MB | Adobe PDF | View/Open |
Items in DR-NTU are protected by copyright, with all rights reserved, unless otherwise indicated.