adityavardhanpadala / rumpsyscallfuzz

Repo for GSOC '20 Project Code | Rump Kernel Sycall Fuzzing
1 stars 1 forks source link

This repository hosts the code written for GSOC 2020 with NetBSD for the Project Rumpkernel Syscall Fuzzing.

If you are not sure what a rumpkernel is then this might help Rump Kernels

Posts on NetBSD blog detailing the work I did during my coding period.

Blog Post 1 - http://blog.netbsd.org/tnf/entry/gsoc_reports_fuzzing_rumpkernel_syscalls

Blog Post 2 - http://blog.netbsd.org/tnf/entry/gsoc_reports_fuzzing_rumpkernel_syscalls1

Setup and Usage

cp fuzzer.c /tmp chroot destdir.amd64/ cd /tmp

Set detect_container_overflow=0 to suppress container overflow errors.

Set LIBC_UBSAN=a to abort on error.

ASAN_OPTIONS=detect_container_overflow=0 hfuzz-clang -fsanitize=address -lrump -lrumpdev -lrumpvfs -lrumpvfs_nofifofs syscall_fuzz.c

mkdir corpus honggfuzz -E LIBC_UBSAN=a -P -f corpus/ -- ./a.out

sysctl -w kern.defcorename='%n.%p.%t.core' #to define corefile name and pass to honggfuzz: --rlimit_core=1000 #only pass when you need a core file or else we will be #spamming the /tmp directory with huge core files