paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Configuration-Sensitive Linux Kernel Fuzzing

配置敏感的 Linux 内核模糊测试
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 2/10 · 该论文研究 Linux 内核模糊测试,通过静态推断配置与系统调用关系并动态优化来发现漏洞,属于系统安全/测试领域;虽然涉及程序分析与执行反馈,但未涉及 LLM、Agentic 程序、机器学习系统、浮点程序分析或贝叶斯程序分析,与用户核心研究方向交叉很小。引用 0 inbox
Yuheng Shen, Jianzhong Liu, Yuhan Chen, Yifei Chu, Qiang Zhang, Guoyu Yin, Heyuan Shi, Yu Jiang
crossref: 2026-09-12

AI 速览

一句话:CSGO 联合模糊内核运行时参数与系统调用,以更深的覆盖率发现内核漏洞。

内核位于硬件与用户应用之间,暴露系统调用、运行时参数等多种输入向量,仅靠系统调用接口递送测试载荷难以到达深层状态并触发复杂漏洞。本文提出内核模糊测试器 CSGO,将内核运行时参数的模糊测试与系统调用调用协同进行。其设计包括三部分:从内核暴露的可用参数中提取信息,生成合法的内核配置测试用例语法;对提取到的参数静态推导配置与系统调用之间的关联关系,用于初始测试用例生成指导;在模糊测试过程中通过解释执行反馈动态细化这些关联。作者在近期 Linux 内核版本上实现了 CSGO 并开展评估,结果显示其总体覆盖率相较现有最先进内核模糊测试器平均提升 21%,触发 22 个此前未知的漏洞,其中 8 个已由内核维护者修复。

问题
现有内核模糊测试主要依赖系统调用接口递送载荷,忽略了运行时参数等其他输入向量,难以到达深层状态并触发复杂内核漏洞。
方法
CSGO 提取内核暴露的可用参数并生成合法的配置测试用例语法,静态推导配置与系统调用之间的关联以指导初始生成,并在模糊过程中依据执行反馈动态细化这些关联。
评估
在近期版本的 Linux 内核上实现并评估 CSGO,与现有最先进内核模糊测试器对比覆盖率,并统计新发现及被修复的漏洞数量。
原文摘要(Abstract)

Fuzzing operating system kernels to discover deep and complex bugs is difficult to accomplish, as kernels reside between hardware and user applications, exposing a variety of input vectors that affect their internal state. Previous approaches mainly use a kernel’s system call interface to deliver test payloads into the kernel, but reaching states and triggering bugs also require collaborative efforts from other input vectors, such as runtime parameters. Kernel runtime parameters greatly affect the execution behavior of the kernel under test, as they alter internal execution flows and thus require kernel fuzzers to manipulate them in conjunction with invoking system calls to effectively root out bugs. In this paper, we present CSGO, a kernel fuzzer that discovers more in-depth bugs through fuzzing kernel runtime parameters in conjunction with system calls. CSGO’s approach is achieved through the following designs. First, CSGO generates valid test case generation syntax for kernel configurations by extracting available parameters exposed by the kernel. Then, for the extracted parameters, CSGO statically deduces relations between the configurations and kernel system calls for initial generation guidance. Finally, during fuzzing, CSGO dynamically refines the relations between the configurations and system calls by interpreting execution feedback. We implemented CSGO and evaluated its approach on recent versions of the Linux kernel. Our results show that CSGO achieves an average of 21% improvement in overall coverage compared with existing state-of-the-art kernel fuzzers and triggers 22 previously unknown bugs, with 8 fixed by kernel maintainers.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot11629,
  title = {Configuration-Sensitive Linux Kernel Fuzzing},
  author = {Yuheng Shen and Jianzhong Liu and Yuhan Chen and Yifei Chu and Qiang Zhang and Guoyu Yin and Heyuan Shi and Yu Jiang},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3773136}
}