What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices
Marius Muench1 Jan Stijohann2,3 Frank Kargl3 Aur´ elien Francillon1 Davide Balzarotti1
1EURECOM 2Siemens AG 3Ulm University
What You Corrupt Is Not What You Crash: Challenges in Fuzzing - - PowerPoint PPT Presentation
What You Corrupt Is Not What You Crash: Challenges in Fuzzing Embedded Devices Marius Muench 1 Jan Stijohann 2 , 3 Frank Kargl 3 elien Francillon 1 Davide Balzarotti 1 Aur 1 EURECOM 2 Siemens AG 3 Ulm University Introduction Embedded
Marius Muench1 Jan Stijohann2,3 Frank Kargl3 Aur´ elien Francillon1 Davide Balzarotti1
1EURECOM 2Siemens AG 3Ulm University
detection for fuzzing
1
2
3
4
5
6
7
[1] Dolan-Gavitt, Brendan, et al. ”Lava: Large-scale automated vulnerability addition.” IEEE Symposium on Security and Privacy (SP), 2016. 8
Platform Desktop Type-I Type-II Type-III Format String ✓ ✓ ✗ ✗ Stack-based buffer overflow ✓ ✓ ✓
(opaque)
!
(hang)
Heap-based buffer overflow ✓ !
(late crash)
✗ ✗ Double Free ✓ ✓ ✗ ✗
(malfunc.)
Null Pointer Dereference ✓ ✓ ✓
(reboot)
✗
(malfunc.)
9
10
10
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulation MMIO Peripherals Fuzz Inputs
Figure 1: Setup for fuzzing utilizing partial emulation
Code will be available at: https://github.com/avatartwo/ndss18_wycinwyc 11
12
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulaon MMIO Peripherals Fuzz Inputs
13
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulaon MMIO Peripherals Fuzz Inputs
14
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulaon MMIO Peripherals Fuzz Inputs
15
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulaon MMIO Peripherals Fuzz Inputs
16
[2] https://github.com/jtpereyda/boofuzz 17
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulaon MMIO Peripherals Fuzz Inputs
18
Avatar2 PANDA boofuzz Embedded Device
Analysis Plugis Emulaon MMIO Peripherals Fuzz Inputs
19
20
5 10 Corruption Ratio [%] 102 103 104 #Inputs No Heuristics: Native Partial Emulation/Memory Forwarding Partial Emulation/Peripheral Modeling Full Emulation Combined Heuristics: Partial Emulation/Memory Forwarding' Partial Emulation/Peripheral Modeling' Full Emulation'
21
22
addressed in this work
23
24