conference logo

Playlist "Chaos Communication Camp 2019"

(emulate|fuzz|break) kernels

domenukk

This talk will give an introduction to kernel fuzzing using *unicorefuzz*.

Yes, yes. We all know fuzzing is a powerful tool to find bugs.
For user space software, this is so 2014. Fuzzing kernels, however, can still be a daunting task.
The state of the art kernel fuzzer, syzkaller, is somewhat complex to set up.
So many unhappy parsers in the kernel remain unfuzzed to this day!
Why can we not simply start fuzzing from some random breakpoint in the kernel, you ask?
Well of course we can. Let's drop the whole thing into Unicorn Engine, a CPU emulator, and give it input.
Simple as that.
To stay on the punny side of things, we shall call this method *unicorefuzz*.