Assignment | Deadline (by 11:59PM) |
---|---|
Lab 1: Beginner Fuzzing | Wednesday, January 29 |
Overview: In preparation for the semester project, this lab will familiarize you with AFL++ (the world's most popular and extensible fuzzing platform). You will test several of AFL's features in fuzzing an application of your choice.
Learning Objectives:
Your task: Select three of AFL++'s user-configurable features and evaluate their impacts on fuzzing:
Other Notes:
Recommended Readings:
What to Submit:
Submit a 1–3 page report detailing your experimental findings.
There are no "right" or "wrong" answers—your work will be assessed by your overall effort.
You have full creative liberty—feel free to use images, tables, etc.
|
|
Lab 2: Crash Triage | Wednesday, February 05 |
Overview: In this lab, you will leverage AddressSanitizer (ASAN)—today's state-of-the-art memory error detection tool—to perform post-fuzzing crash triage for crashing test cases you found during your Lab 1 fuzzing campaign.
Learning Objectives:
Your task: Replay the fuzzer-found crashing test cases you found during Lab 1 on an ASAN-instrumented version of your target program, and collect and analyze their resulting crash report information:
Other Notes:
Recommended Readings: What to Submit:
Submit a 1–3 page report detailing your experimental findings.
There are no "right" or "wrong" answers—your work will be assessed by your overall effort.
You have full creative liberty—feel free to use images, tables, etc.
|
|
Lab 3: Harnessing | Monday, February 24 |
Overview: In this lab, you will learn the art of writing fuzzing harnesses for a real-world software API (libArchive).
Learning Objectives:
Your task: Develop a correct (i.e., upholds the API's intended usage) and AFL-compatible (i.e., accepts file inputs via AFL's
Other Notes:
Recommended Readings: What to Submit:
Submit a 1–3 page report detailing your experimental findings (including your harness code).
We'll especially scrutinize how you "prove" the correctness of your harnesses—so be sure to thoroughly show that it works correctly.
As usual, you have full creative liberty—feel free to use images, tables, etc. Be sure to append your harness code as the final page of your report!
|