Litcius/Paper detail

NtFuzz: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis

Jaeseung Choi, Kangsu Kim, Daejin Lee, Sang Kil

202137 citationsDOI

Abstract

Although it is common practice for kernel fuzzers to leverage type information of system calls, current Windows kernel fuzzers do not follow the practice as most system calls are private and largely undocumented. In this paper, we present a practical static binary analyzer that automatically infers system call types on Windows at scale. We incorporate our analyzer to NtFuzz, a type-aware Windows kernel fuzzing framework. To our knowledge, this is the first practical fuzzing system that utilizes scalable binary analysis on a COTS OS. With NtFuzz, we found 11 previously unknown kernel bugs, and earned $25,000 through the bug bounty program offered by Microsoft. All these results confirm the practicality of our system as a kernel fuzzer.

Topics & Concepts

Fuzz testingComputer scienceKernel (algebra)Windows VistaStatic analysisOperating systemScalabilityMicrosoft WindowsProgramming languageSoftwareMathematicsCombinatoricsAdvanced Malware Detection TechniquesSoftware Testing and Debugging TechniquesSecurity and Verification in Computing