Linux Kernel Fuzzing
Introduction
syzkaller is an unsupervised coverage-guided kernel fuzzer
Setup: Ubuntu host, QEMU vm, x86-64 kernel
These are the instructions on how to fuzz the x86-64 kernel in a QEMU with Ubuntu on the host machine and Debian Bullseye in the QEMU instances.
In the instructions below, the $VAR
notation (e.g. $GCC
, $KERNEL
, etc.) is used to denote paths to directories that are either created when executing the instructions (e.g. when unpacking GCC archive, a directory will be created), or that you have to create yourself before running the instructions. Substitute the values for those variables manually.
If your distro's GCC is older, it's preferable to get the latest GCC from this list. Download and unpack into $GCC
, and you should have GCC binaries in $GCC/bin/
Ubuntu 20.04 LTS: You can ignore this section. GCC is up-to-date.
See This Guide
REFERENCES
Last updated