Quiz (Fuzz Testing) Flashcards

1
Q

Types of fuzzers?

A

Blackbox, whitebox, greybox

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is blackbox fuzzing?

A

No analysis of a program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is greybox fuzzing?

A

Lightweight analysis of program, e.g coverage achieved by inputs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Whitebox fuzzing

A

More heavyweight analysis of a program, e.g conditions that trigger specific paths

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does bug oracles do?

A

Signal a fuzzer when a bug is triggered. The bug refers to an unintended state that the fuzz target has reached.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Important class of bugs in bug oracles?

A
  • memory safety violations
  • address sanitizer
  • logical bug (implementation does not adhere to the specification)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Where is the feedback taken from?

A

From the fuzz target using lightweight instrumentation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the feedback used for?

A

To guide the input generation and mutation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

One popular feedback is ___ and specifically checking whether ___.

A

code coverage; an input triggers previously unseen control flow edges

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

If you don’t want to maximize code coverage, you can ___.

A

explore worst-case complexity behavior

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

A possible solution to exploring ___ is to ___.

A

worst-case complexity behavior; prioritize mutating input that trigger an edge the maximum number of times

How well did you know this?
1
Not at all
2
3
4
5
Perfectly