综述解读 | 操作系统内核 Fuzzing 全景综述

发布时间:2026/11/4 4:53:12

综述解读 | 操作系统内核 Fuzzing 全景综述 论文速览标题A Survey of Operating System Kernel Fuzzing作者Jiacheng Xu, He Sun, Shihao Jiang, Qinying Wang✉, Mingming Zhang, Xiang Li, Kaiwen Shen, Charles Zhang, Shouling Ji, Peng Cheng✉, Jiming Chen机构浙江大学 · 清华大学 · 南开大学 · 中关村实验室期刊ACM Transactions on Software Engineering and Methodology (TOSEM), 2025核心贡献首个专注于操作系统内核 Fuzzing 的系统化综述梳理 2017-2025 年间 107 篇顶会论文提出三阶段九功能的分类体系揭示内核 Fuzzing 与用户态 Fuzzing 的本质差异并指出未来研究方向。 为什么内核 Fuzzing 这么难OS 内核是现代计算系统的基石其漏洞可导致权限提升、敏感数据泄露和远程代码执行如著名的 DirtyCow 漏洞。然而与用户态 Fuzzing 相比内核 Fuzzing 面临三大独特挑战 C1受限的运行环境内核与硬件紧密耦合。Linux 支持超过 13,000 种 PCI 设备但主流模拟器 QEMU 仅实现不到 130 种。部署真机成本高且不可扩展模拟器又无法覆盖设备多样性。闭源系统和资源受限场景更加剧了这一困境。 C2复杂的输入接口内核暴露的接口远比用户态丰富——系统调用、文件系统、外设 I/O且输入是深度结构化的。例如 ioctl 的参数因设备而异嵌入嵌套结构约束规则藏在百万行代码中。跨接口交互如文件系统镜像 系统调用组合更是放大了输入空间。 C3高度有状态性内核维护全局、长期存活的执行上下文触发一个 Bug 可能依赖特定系统调用序列如 mlockall → mmap → msync。每次重启重置内部状态迫使 Fuzzer 重新探索已发现的状态造成巨大浪费。⚙️ 三阶段九功能内核 Fuzzing 的全景地图论文提出阶段化 Fuzzing 模型将内核 Fuzzing 分解为三个核心阶段、九个关键功能 阶段一环境准备Environment Preparation功能核心问题关键技术F1.1 执行环境在哪跑真机还是模拟器On-device / 全模拟 / RehostingF1.2 覆盖率收集怎么知道测到哪了源码插桩 / 动态插桩 / 硬件辅助F1.3 Bug 检测怎么发现 BugFatal Signal / Sanitizer / 语义检查 阶段二输入模型Input Model功能核心问题关键技术F2.1 接口识别测哪些入口系统调用 / 外设 / 文件系统 / 网络F2.2 规格感知输入长什么样静态推断 / 动态分析 / LLM 辅助F2.3 依赖识别调用间有什么关系显式依赖资源传递 / 隐式依赖状态共享 阶段三Fuzzing 循环Fuzzing Loop功能核心问题关键技术F3.1 变异智能怎么变才能测得更多约束求解 / 线程调度 / 决策智能F3.2 执行吞吐怎么跑得更快虚拟化增强 / 系统快照F3.3 反馈机制怎么引导探索定向 Fuzzing / 状态导向 / 并发导向 107 篇论文揭示了什么论文分布67% 发表在安全顶会USENIX Sec 占 28%最多17% 软件工程会议9%系统会议59% 的论文专门针对 Linux 内核 Fuzzing受益于 Syzkaller 生态功能关注度分布阶段占比最热门功能环境准备32%执行环境 F1.118%输入模型29%规格感知 F2.212%Fuzzing 循环39%反馈机制 F3.319%关键发现执行环境F1.1和反馈机制F3.3是研究最密集的两大方向恰好对应内核 Fuzzing 最大的两个痛点——环境搭建难和状态探索难。 六大核心洞察洞察 1OS 无关的 Rehosting 仍是开放问题当前内核 Fuzzing 环境难以在稳定性、开销和可观测性之间取得平衡尤其是对 RTOS 和 TEE。模拟器保真度不足导致 Fuzzer 频繁卡死亟需更通用的轻量级全系统模拟方案。洞察 2覆盖率鸿沟显著约 77% 的灰盒 Fuzzer 采用源码插桩可获得细粒度覆盖率而二进制内核中 95%的技术只能提供粗粒度指标。如何在无源码条件下获取丰富覆盖率反馈是一个关键挑战。洞察 3Bug 检测不能只盯内存错误现有 Bug 检测主要依赖 Sanitizer 捕获内存错误但非崩溃型语义 Bug逻辑错误、状态不一致的检测仍处于早期。差分测试和语义检查器是未来方向但缺乏合适的参照基准。洞察 4跨接口交互是被忽视的金矿单接口 Fuzzing 最多遗漏 77% 的内核代码。Janus 等工具证明系统调用 文件系统镜像的联合 Fuzzing 能显著提升覆盖率但系统化的跨接口方法论仍然缺失。洞察 5规格生成需要混合方案静态推断覆盖广但不够精确动态分析真实但遗漏不活跃路径LLM 方法如 KernelGPT生成速度提升 6 倍且准确率 93.3%但无法处理间接调用。三者互补混合方案才是正解。洞察 6隐式依赖是最大难点显式依赖如 open 返回 fd → mmap 使用 fd已被较好建模但隐式依赖如 mlockall 影响 msync 行为的发现和建模仍然困难。MOCK 和 Countdown 等方法试图从执行轨迹中挖掘隐式依赖但通用性有限。️ 代表性工具一览工具年份目标核心创新Syzkaller2017Linux/通用8000 系统调用描述生态基石kAFL2017Win/LinuxIntel PT 硬件辅助覆盖率Janus2019Linux FS文件系统 系统调用双维度输入SyzDescribe2023Linux自动化系统调用规格推断KernelGPT2025LinuxLLM 驱动规格生成6× 加速SyzTrust2024TEEARM CoreSight 硬件追踪MOCK2024Linux隐式依赖挖掘Monarch2024Linux语义感知 Bug 检测 未来方向六大待解难题1. 通用 Rehosting 框架现有模拟方案各管一段需要统一的轻量级全系统模拟框架支持 RTOS、TEE、IoT 等多样化内核。2. 无源码覆盖率收集95% 的二进制内核覆盖率技术只有粗粒度反馈。Intel PT / ARM ETM 提供了硬件级方案但解码和部署复杂度仍是瓶颈。3. 非崩溃 Bug 检测语义 Bug、逻辑错误不会导致崩溃但同样危险。需要更通用的语义检查器和差分测试框架。4. 系统化跨接口 Fuzzing从单接口 Fuzzing走向多维输入 Fuzzing建立通用的接口交互建模方法论。5. LLM 传统方法混合KernelGPT 已证明 LLM 在规格生成上的潜力但间接调用和隐式语义仍是短板。LLM 应作为传统分析的补充而非替代。6. 状态导向 Fuzzing分支覆盖率不足以衡量内核状态探索深度。需要状态感知的适应度指标和高效的状态快照/恢复机制。 一句话总结内核 Fuzzing 不是用户态 Fuzzing 的简单移植——环境受限、接口复杂、状态深层三大挑战决定了它需要专属的方法论。这篇综述用三阶段九功能的分类法为领域画出了第一张全景地图也画出了未来的路。 点赞 收藏 分享你的支持是我们持续解析高水平软件安全论文的最大动力
延伸阅读

更多相关文章

2026/11/1 11:40:51

温室微气候建模:从法规文本到可计算变量链

1. 这道题不是在考数学,而是在考你能不能把温室“当人看” 2023亚太杯数学建模B题——《玻璃温室中的微气候法规》,光看标题,很多人第一反应是:“又一道物理建模题?热传导流体力学边界条件,套个COMSOL跑一跑…

2026/10/25 13:52:29

注塑产品出现缩水的原因分析与解决方案1

一、什么是注塑产品缩水?注塑产品缩水(Sink Mark)是指在注塑成型过程中,塑料制品表面出现的局部凹陷或收缩现象。这种现象通常发生在制品壁厚较厚、冷却不均或保压不足的区域,是注塑成型中最常见的缺陷之一。二、注塑产…

2026/10/25 12:13:46

R语言实现Copula-GARCH模型:多变量时间序列联合预测与风险度量

1. 项目概述:从单变量到多变量的风险关联预测在金融、气象、供应链管理等众多领域,我们常常需要同时预测多个相互关联的时间序列。比如,预测一篮子股票的未来收益率,或者预测不同地区风速、降雨量之间的联合变化。传统的单变量GAR…

2026/11/4 4:48:49

集线器与交换机区别及网络冲突域实验分析

1. 实验概述与网络设备基础认知作为一名网络工程师,我经常需要向新人解释集线器和交换机的本质区别。这次实验通过Cisco Packet Tracer模拟环境,直观展示了这两类设备在网络扩展中的不同表现。实验的核心价值在于:它不仅验证了教科书上的理论…

2026/11/4 4:48:49

金融推荐引擎Prompt设计:提升转化率21%的实战方案

1. 金融推荐引擎的Prompt设计实战在金融科技领域,推荐系统的精准度直接影响用户转化率。最近我们通过优化Prompt设计,将理财产品的购买转化率提升了21%,这个案例值得深入剖析。不同于通用推荐系统,金融产品推荐需要兼顾精准性、合…

2026/11/4 4:48:49

欧拉公式与数学符号革命:从图论到数论的开创性贡献

1. 欧拉的生平与时代背景18世纪是数学史上最辉煌的时期之一,而莱昂哈德欧拉(Leonhard Euler)无疑是这个时代最耀眼的明星。1707年出生于瑞士巴塞尔的欧拉,在数学、物理、天文学等多个领域都做出了开创性贡献。他的父亲是一位牧师&…

2026/11/4 4:48:49

汽油光谱分析中的PCA降维与机器学习建模实践

1. 汽油光谱分析的技术背景与挑战汽油作为现代工业社会最重要的能源产品之一,其质量检测和成分分析一直是石化行业的关键课题。传统化学分析方法如色谱法虽然准确,但存在耗时长、成本高、破坏样本等缺点。近红外光谱技术(NIR)因其…

2026/11/4 4:48:49

金融推荐引擎Prompt设计:风险匹配与合规优化

1. 金融推荐引擎的Prompt设计核心思路金融理财产品推荐不同于普通商品推荐,用户决策成本高、风险敏感性强。传统推荐系统往往只考虑"用户可能喜欢什么",而忽略了"用户应该买什么"这个更本质的金融决策需求。我们通过重构Prompt设计框…

2026/11/4 4:43:49

谷歌开源ARTEMIS:移动端AI自动化从原理到落地实践

移动端 AI 自动化这两年一直挂着“看着热闹、落地稀碎”的标签。手机上的日常操作,本质上就是“看屏幕、定计划、动手操作”,这跟 AI 智能体最擅长的“感知、决策、执行”几乎是一一对应的,可真的能让 AI 自己跑到手机里点按钮、滑页面、填表…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑