44

GitHub - compsec-snu/razzer: A Kernel fuzzer focusing on race bugs

 4 years ago
source link: https://github.com/compsec-snu/razzer
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Razzer: Finding kernel race bugs through fuzzing

Environment setup

Running scripts/envsetup.sh will set up necessary environment variables. One should select the kernel version during environment setup, for example, v4.17

Install

Initialize kernels_repo submodule

Kernel source codes used in this project are in the other reprository which is included as a submodule. To initialize the submodule one should execute git submodule update command as a follow.

git submodule update --init --depth=1 kernels_repo

Install toolchains / tools

scripts/install.sh will try to install all toolchains and tools.

Static analysis

The Razzer's static analysis is based on the LLVM toolchain and the SVF static analysis tool. See documents in docs/static_analysis/.

Fuzzing

Razzer's two-phases fuzzing is based on Syzkaller. The deterministic scheduler is implemented using QEMU/KVM. See documents in docs/fuzzing/.

Paper

Razzer: Finding Kernel Race Bugs through Fuzzing (IEEE S&P 2019)

Trophies

Contributors


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK