发布时间:2026/8/27 11:37:31
综述解读 | 操作系统内核 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/8/27 11:37:31

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

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

2026/8/27 11:37:31

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

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

2026/8/27 11:32:30

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

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

2026/8/27 14:38:02

96Boards SOM规范解读:从交叉编译到载板设计的ARM嵌入式实战指南

老读者可能还有印象,96Boards 这几年在开发板圈子里一直挺有存在感,尤其是 Consumer Edition 和 Enterprise Edition 那两条产品线,把 ARM 开发板从“各家各玩各的”往“标准化”方向推了一大步。但嵌入式产品开发真正需要的往往不是一块板子…

2026/8/27 14:38:02

MCU离线人脸识别实战:从硬件选型到算法轻量化全解析

做智能门锁项目的时候,我第一次认真考虑“把离线人脸识别跑在一颗MCU上”这个方向。当时的直觉和大多数人一样:主频只有几百兆赫兹、内部SRAM按KB算、还要外挂SDRAM才能放图像缓冲,这种资源条件怎么跑得动人脸识别?但回过头看&…

2026/8/27 14:38:02

Transformer瓶颈与下一代大模型架构:SSM、Mamba与MoE路线解析

最近大模型圈有两则消息值得放在一起看。一位在 OpenAI 做到较高职级、参与过大模型预训练与扩展性核心工作的人,选择离开;另一位在 Google 深耕多年、长期负责语言模型技术路线的人,也做出同样选择。更关键的是,两人离职后的下一…

2026/8/27 14:38:02

5G物联网模块安全落地:从安全启动到TLS双向认证的实践指南

1. 从4G到5G,物联网模块的安全门槛到底高在哪先讲一个我今年在项目里遇到的实际场景。客户部署了一批工业数据采集终端,用的还是老的4G Cat.1模块,业务侧跑的是MQTT over TCP,数据明文传输。前期小规模试点没出什么问题&#xff0…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/27 10:58:22

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/27 7:46:21

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/27 0:01:16

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:01:16

LeetCode Hot100(51-60)算法精解与面试技巧

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

2026/8/27 0:01:16

CRC校验实战:从模2除法到HJ212协议排错

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/26 19:34:05

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…