paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Thunderkaller: Profiling and Improving the Performance of Syzkaller

Thunderkaller:剖析并提升 Syzkaller 的性能
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 2/10 · 该论文聚焦内核模糊测试器Syzkaller的性能优化,属于软件测试与调试方向,与用户关注的静态分析、形式化验证、浮点程序分析、贝叶斯程序分析及LLM/Agent交叉均无直接关联。引用 4 inbox
Yang Lan, Di Jin, Zhun Wang, Wende Tan, Zheyu Ma, Chao Zhang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:通过内核镜像复制等三项优化,在不改变模糊测试算法的前提下将 Syzkaller 提速 2.8 倍。

Syzkaller 是当前最先进的内核模糊测试器之一,但其测试吞吐量远低于用户态模糊测试器,制约了自身及基于它的模糊测试器的效率。本文对 Syzkaller 进行性能剖析,发现主要开销来自程序隔离与内核插桩,为此提出内核镜像复制及三项优化技术以降低这些开销,并实现为 Thunderkaller。该方案不改变也不依赖模糊测试算法,与 Syzkaller 的其他改进正交。评估表明,24 小时内 Thunderkaller 相比原版 Syzkaller 提速 2.8 倍,基本块覆盖率提升 25.8%,多发现 21 个独特漏洞,常见漏洞触发速度提升 6.3 倍;长期模糊测试中发现 6 个独特的 Linux 内核漏洞并获得一个 CVE。

问题
Syzkaller 作为内核模糊测试器,其测试吞吐量远低于用户态模糊测试器,主要性能开销来自程序隔离与内核插桩。
方法
通过性能剖析定位开销来源,提出内核镜像复制及三项优化技术,在不修改模糊测试算法的前提下降低程序隔离与内核插桩的开销。
评估
在 24 小时模糊测试中与原版 Syzkaller 对比,测量加速比、基本块覆盖率、独特漏洞数及常见漏洞触发速度,并通过长期模糊测试发现 6 个 Linux 内核漏洞及 1 个 CVE。
原文摘要(Abstract)

Fuzzing is widely adopted to discover vulnerabilities in software, including the kernel. One of the most popular and state-of-the-art fuzzers for kernels is Syzkaller. However, Syzkaller has a much lower testing throughput compared to other user-space fuzzers, which affects the efficiency of both Syzkaller and other Syzkaller-based fuzzers. In this paper, we profiled the performance of Syzkaller, recognized that the major cost comes from program isolation and kernel instrumentation, and then proposed kernel image duplication and three optimization techniques to mitigate such overheads and present the solution Thunderkaller. Our solution does not change or depend on the fuzzing algorithm in any way, orthogonal to other refinements to Syzkaller. Our evaluation shows that, in 24 hours, Thunderkaller speeds up 2.8× compared to vanilla Syzkaller, achieves 25.8% more basic block coverage, detects 21 more unique bugs, and triggers the common bugs 6.3× faster. In a long time of fuzzing, we have found 6 unique Linux kernel bugs and obtained a CVE.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{LanJWTMZ23,
  title = {Thunderkaller: Profiling and Improving the Performance of Syzkaller},
  author = {Yang Lan and Di Jin and Zhun Wang and Wende Tan and Zheyu Ma and Chao Zhang},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00124}
}