Quiz (Fuzz Testing) Flashcards
Types of fuzzers?
Blackbox, whitebox, greybox
What is blackbox fuzzing?
No analysis of a program
What is greybox fuzzing?
Lightweight analysis of program, e.g coverage achieved by inputs
Whitebox fuzzing
More heavyweight analysis of a program, e.g conditions that trigger specific paths
What does bug oracles do?
Signal a fuzzer when a bug is triggered. The bug refers to an unintended state that the fuzz target has reached.
Important class of bugs in bug oracles?
- memory safety violations
- address sanitizer
- logical bug (implementation does not adhere to the specification)
Where is the feedback taken from?
From the fuzz target using lightweight instrumentation.
What is the feedback used for?
To guide the input generation and mutation.
One popular feedback is ___ and specifically checking whether ___.
code coverage; an input triggers previously unseen control flow edges
If you don’t want to maximize code coverage, you can ___.
explore worst-case complexity behavior
A possible solution to exploring ___ is to ___.
worst-case complexity behavior; prioritize mutating input that trigger an edge the maximum number of times