BSDCan2019 - 1.8

BSDCan 2019
The Technical BSD Conference

Speakers
Andrew Turner
Schedule
Day Talks #1 - 17 May - 2019-05-17
Room DMS 1160
Start time 16:00
Duration 01:00
Info
ID 1077
Event type Lecture
Track Hacking
Language used for presentation English
Feedback

Fuzzing the kernel

Porting the Clang Sanitizers to FreeBSD

Modern C compilers include support for tools to help find bugs in code. These tools, the sanitizers, add instrumentation to the generated code that can be compiled into the kernel to help the kernel developers. In early 2018 I became interested in using these in the FreeBSD kernel to assist bug finding and debugging.

This talk will discuss the current state of kernel sanitizers on FreeBSD. This will include the kernel coverage sanitizer that can be used with fuzzers, the undefined behaviour sanitizer to warn when code relies on undefined behaviour, and the address sanitizer to detect out of bounds accesses. It will also discuss future work to port new sanitizers and the use hardware based acceleration.

The main fuzzer to use these sanitizers is the syzkaller fuzzer from Google. I will talk about my experiences using this, bugs it has found, and future work to port other fuzzers to work with the kernel.