Visible to the public GREBE: Unveiling Exploitation Potential for Linux Kernel Bugs

TitleGREBE: Unveiling Exploitation Potential for Linux Kernel Bugs
Publication TypeConference Paper
Year of Publication2022
AuthorsLin, Zhenpeng, Chen, Yueqi, Wu, Yuhang, Mu, Dongliang, Yu, Chensheng, Xing, Xinyu, Li, Kang
Conference Name2022 IEEE Symposium on Security and Privacy (SP)
Date Publishedmay
KeywordsBehavioral sciences, codes, composability, compositionality, Computer bugs, fuzzing, Linux, Linux Operating System Security, Metrics, OS-Security, privacy, pubcrawl, resilience, Resiliency, security, Vulnerability-Exploitation
AbstractNowadays, dynamic testing tools have significantly expedited the discovery of bugs in the Linux kernel. When unveiling kernel bugs, they automatically generate reports, specifying the errors the Linux encounters. The error in the report implies the possible exploitability of the corresponding kernel bug. As a result, many security analysts use the manifested error to infer a bug's exploitability and thus prioritize their exploit development effort. However, using the error in the report, security researchers might underestimate a bug's exploitability. The error exhibited in the report may depend upon how the bug is triggered. Through different paths or under different contexts, a bug may manifest various error behaviors implying very different exploitation potentials. This work proposes a new kernel fuzzing technique to explore all the possible error behaviors that a kernel bug might bring about. Unlike conventional kernel fuzzing techniques concentrating on kernel code coverage, our fuzzing technique is more directed towards the buggy code fragment. It introduces an object-driven kernel fuzzing technique to explore various contexts and paths to trigger the reported bug, making the bug manifest various error behaviors. With the newly demonstrated errors, security researchers could better infer a bug's possible exploitability. To evaluate our proposed technique's effectiveness, efficiency, and impact, we implement our fuzzing technique as a tool GREBE and apply it to 60 real-world Linux kernel bugs. On average, GREBE could manifest 2+ additional error behaviors for each of the kernel bugs. For 26 kernel bugs, GREBE discovers higher exploitation potential. We report to kernel vendors some of the bugs - the exploitability of which was wrongly assessed and the corresponding patch has not yet been carefully applied - resulting in their rapid patch adoption.
NotesISSN: 2375-1207
DOI10.1109/SP46214.2022.9833683
Citation Keylin_grebe_2022