本专题从 NDSS 2025/2026、IEEE S&P 2025/2026、USENIX Security 2025/2026、ACM CCS 2025 七届顶会录用论文中,筛选出 41 篇以 IoT/嵌入式/固件漏洞挖掘为核心的论文(fuzzing、污点分析、漏洞检测、重托管仿真、基带/BLE 协议测试等),逐篇深度解读。

解读策略:能获取公开 PDF 的论文(37 篇,含作者主页/预印本/USENIX 官方/arXiv)全部下载全文精读,解读基于论文正文;4 篇无公开版本(ZVDetector、ConTest、Bridge、Fuzzing the Physical Space,IEEE/ACM 付费墙内)基于摘要解读并已标注。每篇附 PDF 链接(有则附)。

固件模糊测试与漏洞挖掘(16 篇)

ConTest: Taming the Cyber-physical Input Space in Fuzz Testing with Control Theory.

  • 作者: Jinwen Wang, Hongchao Zhang, Chuanrui Jiang, Andrew Clark, Ning Zhang
  • 方向: 漏洞挖掘与利用
  • 解读:
    随着网络物理系统(CPS)深入日常生活,其安全性日益迫切。模糊测试被视为自动发现漏洞的 promising 方法,但物理输入与网络输入构成的搜索空间极其庞大,如何高效探索仍是开放性挑战。

ConTest 借鉴控制理论,利用物理信息模型引导输入空间探索:使用 Lyapunov 函数同时建模检测过程与变异过程,以参数化方式高效执行变异,并在有界动态误差下给出漏洞发现有效性的可证明保证——这是将形式化保证引入模糊测试的关键设计。

作者实现了 ConTest 原型,并在两个代表性机器人载具(RV)平台 ArduPilot 与 PX4 上部署,用于发现时空验证类漏洞。共发现 253 个漏洞,其中 58 个为零日漏洞,54 个已获厂商确认。

以 Lyapunov 稳定性理论为 fuzzer 提供可证明的有效性边界,明显区别于经验驱动的灰盒模糊测试,是方法层面的亮点;实际发现量(58 个零日)也印证了工程价值。局限在于依赖 CPS 物理模型质量,模型不准确时保证与效率都会打折,向其他 CPS 类型迁移需要重新建模。

  • 来源: ACM CCS 2025(完整解读见对应顶会博文)

HouseFuzz: Service-Aware Grey-Box Fuzzing for Vulnerability Detection in Linux-Based Firmware.

  • 作者: Haoyu Xiao, Ziqi Wei, Jiarun Dai, Bowen Li, Yuan Zhang, Min Yang(复旦大学)
  • 论文 PDF: HouseFuzz: Service-Aware Grey-Box Fuzzing for Vulnerability Detection in Linux-Based Firmware.
  • 方向: 漏洞挖掘与利用
  • 解读: Linux 固件支撑着约 43% 的 IoT 设备,其漏洞多位于网络服务,但现有灰盒 fuzzing 存在三个被忽视的障碍:多进程服务被过度简化为单进程(漏掉守护进程与 IPC 协作触发的漏洞);系统初始化常被仿真异常中断,导致大量网络服务未被识别;厂商在 HTTP 等标准协议之上的定制应用层协议带有丰富语义约束(如特定键值对、依赖关系),随机变异难以通过校验。

HouseFuzz 的三项关键技术对应解决上述问题:① 整体服务识别——遍历系统初始化过程,用四类异常指标(INIT 终止、非 INIT 崩溃、忙等挂起、INIT 挂起)识别并修补异常代码(将尾部函数调用改写为 NOP,并用”通道数变少即回退”机制防止误补),再据 bind() 系统调用与 IPC 通道键识别网络面进程与守护进程及其真实命令行;② 多进程 fuzzing 框架——按进程类型检测测试完成事件(网络面看 socket 释放、守护进程看重新进入 I/O 监听),按 ELF 合并各进程覆盖位图,并实现多进程漏洞 oracle(内存破坏+命令注入);③ 服务协议引导——用 Token Dependency Graph(TDG)形式化定制协议语义约束,在线(strcmp 插桩)与离线(控制/数据流分析)双通道推断 token 依赖,结合标准协议 CFG 生成语义有效用例。

在 60 个固件镜像数据集上,HouseFuzz 识别出 311 个网络面进程(FirmAE 128、GREENHOUSE 44,召回率 80.4% vs 33.1%/18.1%),多识别 119 个(37%)网络服务;在 41 个可比服务上较 GREENHOUSE 边覆盖率提升 24.8%、0-day 多发现 175%(110 vs 40),全部实验共发现 177 个漏洞(156 个 0-day),获 45 个 CVE/CNVD;在 2020 年后最新固件上 24 小时再挖 21 个 0-day。代价是平均 6.8 倍时间开销。

该工作把”服务”而非”进程”作为固件 fuzzing 的一等对象,初始化遍历+多进程反馈+协议语义建模三管齐下,实验规模与漏洞产出(含 CVE 落地)都很扎实。局限:异常修补依赖启发式,需回退机制兜底;TDG 在线推断依赖 strcmp 类比较函数插桩,离线依赖 LARA/FITS 等既有检测器;6.8 倍开销在长时运行中不可忽视;与 KARONTE 等静态多进程分析相比,动态方案仍需服务可仿真的前提。总体是把 Linux 固件 fuzzing 从”单进程打点”推进到”全服务协同”的标杆工作,再次印证 IPC 与定制协议是漏洞富矿。

  • 来源: IEEE S&P 2025(完整解读见对应顶会博文)

Camveil: Unveiling Security Camera Vulnerabilities Through Multi-Protocol Coordinated Fuzzing.

  • 作者: Fuchen Ma, Yuqiao Yang, Yuanliang Chen, Yanyang Zhao, Ting Chen, Yu Jiang(清华大学、电子科技大学)
  • 论文 PDF: Camveil: Unveiling Security Camera Vulnerabilities Through Multi-Protocol Coordinated Fuzzing.
  • 方向: 移动与物联网安全
  • 解读:
    摄像头通过 RTSP、ONVIF、HTTP 多协议共享内部状态,漏洞常源于协议间交互(如 CVE-2023-3959:ONVIF 注入 + HTTP 触发命令执行,CVSS 9.8)。现有模糊器(DIANE、Peach)各自独立处理单协议,只靠崩溃检测又漏掉视频冻结等非崩溃逻辑缺陷。两个挑战促使作者提出多协议协调模糊框架 CAMVEIL。

方法上,CAMVEIL 构建摄像头状态模型:把内部状态抽象为 PTZ、媒体、报警、存储、录像、网络、系统七类,定义状态内与跨状态依赖,为报文打上状态标签,据此生成语义关联的跨协议测试序列;同时集成逻辑漏洞监控器,用 VLC 等标准客户端持续探测,通过超时监控与响应一致性比较检测非崩溃缺陷。

在 6 厂商 9 款商用摄像头上发现 22 个未知漏洞:16 个视频冻结、4 个响应不一致、2 个内部错误;根因主要为边界检查缺失(15 个)与全局变量并发冲突(7 个)。对比中 DIANE、Peach 均未检出,给 Peach 配上相同监控也只检出 4 个;消融实验证明状态模型与逻辑监控两者缺一不可,误报率 8.33%,可复现率 90.9%。

我的思考:本文把”跨协议共享状态”这一真实工程现象系统化,以逻辑监控替代崩溃判据,切中 IP 摄像头漏洞的主要形态;但状态模型与报文标注靠人工一次性构建,且约 15 个漏洞本质是超长字段越界,跨协议协调的核心增量集中在全局变量并发类缺陷。黑盒一致性比较对偶发竞态无能为力,人工复验仍是必要兜底。与 IoT 多协议测试趋势一致,该工作提示”协议间依赖+非崩溃语义”应成为设备测试的标准维度。

  • 来源: IEEE S&P 2026(完整解读见对应顶会博文)

Stop Starving or Stuffing Me: Boosting Firmware Fuzzing Efficiency with On-Demand Input Delivery.

  • 作者: Shandian Shen, Wei Zhou, Keming Zhao, Peng Liu, Chung Hwan Kim, Le Guan(华中科技大学、宾州州立大学、UT Dallas、佐治亚大学)
  • arXiv PDF: Stop Starving or Stuffing Me: Boosting Firmware Fuzzing Efficiency with On-Demand Input Delivery.
  • 方向: 漏洞挖掘与利用
  • 解读:
    MCU 固件通过中断异步接收外设输入,到达时机与字节量不可预测;现有固件模糊器(Fuzzware、MULTIFUZZ、SEmu)以轮询注入(RR)、模糊引导(Fuzz)或人工指定点(MSP)随意投递,造成过度投喂覆盖环形缓冲(P1)、时机错误被缓冲清理丢弃(P2)、长度不足通不过可用性/最小长度检查(P3)、多调用上下文分配不均饿死部分路径(P4),即”输入投递问题”。

FIDO 利用固件使用输入前必做可用性检查的特性:用静态+动态分析把每条输入处理路径映射为 CRP(可用性检查、数据获取、处理)三段输入路由,在初始检查点投递输入;用”水位线”技术动态确定投递长度下界(到达处理指令)与上界(缓冲被覆盖);再用多路由感知调度把单个用例公平切分给各投递点。

在 28 个单元测试与 25 个真实固件上,FIDO 相对 Fuzzware/MULTIFUZZ 的 RR、Fuzz 模式中位覆盖率最高提升 115%/54%,相对需人工配置的 SEmu 提升 19%;崩溃触发更快(CVE-2020-10065 从 7 小时缩至 7 分钟),并新发现 5 个 0-day(其一获 CVE);与 AidFuzzer 相比 16 个样本上覆盖率高出 5%–1500% 以上,因其”等待状态”启发式过度近似。

我的思考:本文把固件模糊从”投什么”推进到”何时投、投多少”,与多流模糊(MULTIFUZZ/Hoedur)正交互补,定位精准;水位线法巧妙利用环形缓冲与长度检查的编程模型特征,不依赖符号信息。局限是仅支持 IRQ 模式数据外设(排除 DMA 与嵌套中断),间接跳转与复杂固件仍有工程不确定性。未来把投递优化与 DMA 重托管、状态识别统一进同一管线,固件模糊的效率瓶颈才能被系统性解决。

  • 来源: IEEE S&P 2026(完整解读见对应顶会博文)

Fuzzing the Physical Space: Physics-Aware Testing of Black-Box Industrial Control Systems.

  • 作者: Burak Sahin, David Oygenblik, Mingxuan Yao, Yizhi Huang, Brendan Saltaformaggio, Saman A. Zonouz
  • 方向: 漏洞挖掘与利用
  • 解读: 工业控制系统(ICS)运行真实物理过程,传统模糊测试只关注软件状态,产生大量物理上不可能的输入,且黑盒场景下缺乏内部反馈信号,导致测试效率低下、误报率高,也难以发现“软件正常但物理过程失控”这类 ICS 特有缺陷。论文提出物理感知(physics-aware)的黑盒 ICS 模糊测试方法。

据标题推断,作者将物理过程模型(如传感器读数约束、执行器语义、工艺安全界限)融入测试的输入生成与异常判定:只生成物理可行的测试序列,并以物理层面的异常响应(而非仅软件崩溃)作为漏洞信号,从而在黑盒条件下高效探测 ICS 的逻辑缺陷。(无摘要,据标题推断)

摘要缺失,无法给出量化结果;预期以真实或仿真 ICS 环境(PLC、SCADA 协议)中发现的异常与物理约束违反作为证据。

ICS 模糊测试的”物理语义鸿沟”是实际部署的最大障碍,物理感知是把 fuzzing 从玩具示例带到真实工艺的关键一步;作者(Saltaformaggio、Zonouz 等)在 ICS 取证与攻防方向积累深厚。局限:物理模型获取成本高、跨工艺可迁移性弱,异常判定依赖仿真保真度;但该方法学对关基设施安全测试具有明确指导意义。

  • 来源: IEEE S&P 2026(完整解读见对应顶会博文)

ICSQuartz: Scan Cycle-Aware and Vendor-Agnostic Fuzzing for Industrial Control Systems

  • 作者: Corban Villa, Constantine Doumanidis, Hithem Lamri, Prashant Hari Narayan Rajput, Michail Maniatakos
  • 论文 PDF: ICSQuartz: Scan Cycle-Aware and Vendor-Agnostic Fuzzing for Industrial Control Systems
  • 方向: 漏洞挖掘与利用
  • 解读: PLC 控制的工业控制系统(ICS)支撑关键基础设施,但其代码因领域专用语言(IEC 61131-3 结构化文本 ST)、闭源专有编译器与非标准二进制而难以用 IT 侧工具评估,也缺乏针对扫描周期等 ICS 特有执行模型的漏洞挖掘技术。ICSQuartz 是首个针对 ST 语言的原生模糊测试器,目标是厂商无关、平台无关。

ICSQuartz 用开源编译器在 ST 编译期进行 LLVM 插桩,使 ST 程序以标准 ELF 原生执行,彻底摆脱厂商运行时与架构依赖;并针对 ST 的扫描周期架构设计状态化变异策略,通过跨扫描周期保留并变异状态,专门挖掘周期性执行累积出的漏洞。评估涵盖 OSCAT Basic/Network 63 个真实库程序、ICSFuzz/ICSPatch 合成基准及自研 12 个扫描周期基准。

性能上 ICSQuartz 比 FieldFuzz 快 27x 以上、比 ICSFuzz 快 225x 以上(执行/秒),首崩时间平均快 1,784x 与 10,055x,且立即达到 100% 代码覆盖率。大规模真实库 fuzzing 中 25/63 个程序一小时内崩溃:MONTH_TO_STRING 因 LANG 参数缺乏非负校验导致越界读(CWE-125),可上溯 4,325,376 字节栈内存,影响 Codesys、PCWorx、Siemens 等多厂商,已分配 CVE-2024-6876 并在真实 PLC 上复现;另发现开源 ST 编译器 RuSTy 的循环条件检查缺陷。12 个扫描周期基准中,AFL++、FieldFuzz、ICSFuzz 有 7 个完全无法发现漏洞,而 ICSQuartz 全部命中。

原生 fuzzing + 厂商无关 + 扫描周期感知填补了 ICS 漏洞挖掘的关键空白,首次对开源 ST 库发起安全研究并促成真实 CVE 修复。局限:依赖开源编译器 RuSTy,其与厂商编译器行为差异可能带来语义偏差;漏洞语料规模仍小。与 ICSFuzz/FieldFuzz 的运行时模拟+网络注入路线相比,ICSQuartz 在速度、覆盖率与漏洞发现能力上形成代差。

FirmAgent: Leveraging Fuzzing to Assist LLM Agents with IoT Firmware Vulnerability Discovery.

  • 作者: Jiangan Ji, Chao Zhang, Shuitao Gan, Lin Jian, Hangtian Liu, Tieming Liu, Lei Zheng, Zhipeng Jia
  • 论文 PDF: FirmAgent: Leveraging Fuzzing to Assist LLM Agents with IoT Firmware Vulnerability Discovery.
  • 方向: 移动与物联网安全
  • 解读:
    IoT 固件漏洞检测存在根本性权衡:静态分析(含 LLM 方案)误报率高且不产出可验证的 PoC,而动态模糊测试受参数校验与配置条件限制,只能到达约 25% 的 sink 点,漏报严重。作者的关键观察是:模糊测试能高精度(约 90% 可达)定位接受外部输入的代码点,而静态分析擅长从这些点深挖路径——两者恰好互补。

据此设计 FirmAgent:预模糊分析用 LLM 辅助提取服务 handler、关键词字典,并计算基本块到 sink 的距离指导定向变异;QEMU 定制插桩在 sink 作用域内做内存污点检测,把观察到污点传播的指令地址记为 Csource,同时解析间接调用目标补全调用图;随后污点传播智能体(DeepSeek-R1)沿 Csource 到 sink 的潜在路径做上下文感知的污点分析(含反编译代码精化、告警验证、函数级缓存),PoC 生成智能体结合污点分析提取的约束与模糊测试可达用例,自动合成完整 PoC。

在 14 个真实固件上发现 182 个漏洞、精度 91%(45 个命令注入 + 137 个缓冲区溢出),其中 140 个为未知漏洞、17 个已获 CVE 编号;对比 EmTaint(10 个/37%)、HermeScan(71 个/33%)、Greenhouse(8 个/40%)、Hy-FirmFuzz(13 个/100%),数量分别提升 18.2×、2.6×、22.8×、14×。源点识别精度 100%、覆盖 94.2%,91.8% 的 PoC 直接有效(167/182 无需修改即可触发)。

我认为 FirmAgent 是 LLM 与动态分析结合的优秀范本:”模糊测试给真源点、LLM 做语义污点分析、LLM 补 PoC”精准互补了各自短板,真实漏洞与 CVE 背书极具说服力。局限在于依赖单服务重宿主框架(Greenhouse 成功率有限、跨二进制漏洞不可见);18 个误报全部来自缓冲区溢出,源于 LLM 难以处理跨函数作用域的全局变量;每固件约 1 小时的模糊测试时间成本也不低。

BSFuzzer: Context-Aware Semantic Fuzzing for BLE Logic Flaw Detection.

  • 作者: Ting Yang, Yue Qin, Lan Zhang, Zhiyuan Fu, Junfan Chen, Jice Wang, Shangru Zhao, Qi Li, Ruidong Li, He Wang, Yuqing Zhang
  • 论文 PDF: BSFuzzer: Context-Aware Semantic Fuzzing for BLE Logic Flaw Detection.
  • 方向: 移动与物联网安全
  • 解读:
    BLE逻辑缺陷(字段误释、非法状态迁移)可致认证绕过、未授权控制与DoS(如BLUFFS),但缺陷隐藏在合法协议交互中、不触发崩溃,传统模糊测试与形式化分析难以发现;规范语义又隐式散落于3000多页文本。

BSFuzzer以LLM智能体(Grok-3)解析规范:从消息时序图提取Mealy状态机,抽取字段语义(位长、语义角色、定义值)与跨报文依赖,据此生成字段变异(语义非法值、边界、位翻转等5策略)与状态变异(前置状态未完成、重复操作、意外迁移、组合违规),经Mapper实例化与密码学模块(保证密钥派生正确)组包发送;验证阶段由LLM按规范比对设备响应偏差。

9款SoC与10部智能手机上发现36个缺陷(34个未知),9个获CVE、2个获漏洞赏金,去重后19个根因(6内存、8状态、5不一致),如接受低于27字节最小值的长度请求致”软死锁”、配对前过早触发加密、重连复用旧会话密钥、SC降级为Legacy配对。覆盖率比最强基线Proteus高9.34%;字段语义解析准确率92%、报文依赖97%、字段/状态处理策略94%/85%;响应验证字段级85.8%、状态级74.0%。

把LLM语义推理系统注入协议模糊测试全流程(解析-变异-验证),在真实设备上挖出传统工具看不见的逻辑缺陷,方法论可迁移到其他多阶段协议。局限:LLM幻觉靠温度0与约4.5小时人工复核缓解,状态级验证准确率仅74%;覆盖率仅在btstack上测量;无线交互耗时限制变异轮次。

An LLM-Driven Fuzzing Framework for Detecting Logic Instruction Bugs in PLCs.

  • 作者: Jiaxing Cheng, Ming Zhou, Haining Wang, Xin Chen, Yuncheng Wang, Yibo Qu, Limin Sun

  • 论文 PDF: An LLM-Driven Fuzzing Framework for Detecting Logic Instruction Bugs in PLCs.

  • 方向: 漏洞挖掘与利用

  • 解读: PLC 固件内置厂商私有逻辑指令库,可能含输入检查缺失、内存破坏、权限缺陷等,经物理控制例程、网络服务或运行时子系统被利用;固件闭源、无法插桩,静态分析与传统 fuzzing 均难生效。
    LogicFuzz 是首个面向真实 PLC 指令级 fuzzing:合并手册与 CWE 语料构建语义依赖图(SDG);以 enable 信号加 bReset 上升/下降沿机制让 LLM 合成可控、可复位的种子程序;对 SDG 施加 Reorder/Rewire/Delete/Insert 变异以多样化调用上下文;用 UCB 多臂赌博机做覆盖引导参数变异;以日志、状态灯、通信状态构成多源 oracle。
    在 Rockwell/Siemens/Wago 六台真机上测试 338 条指令,有效种子率 88.47%,发现 19 个指令级缺陷(含 4 个此前未知漏洞,如 GSV/SSV 的时钟边界缺失致 DoS、Wago 内存拷贝重叠致溢出、SysFileWrite 任意路径写);LLM 总成本 146.31 美元;种子通过率远超 Agent4PLC(25.01%)等基线。
    首次把 LLM+SDG 流水线用于真机 PLC 指令 fuzzing,可复位机制解决状态污染是工程亮点;局限在于依赖厂商手册与工程软件(AutoIt 自动化)、覆盖率为粗粒度内存块、LLM 幻觉需多重校验;对工控安全有现实价值,但真机资源与规模化部署成本仍是门槛。

  • 论文 PDF: An LLM-Driven Fuzzing Framework for Detecting Logic Instruction Bugs in PLCs.

  • 来源: NDSS 2026(完整解读见对应顶会博文)

RTCON: Context-Adaptive Function-Level Fuzzing for RTOS Kernels.

  • 作者: Eunkyu Lee, Junyoung Park, Insu Yun
  • 论文 PDF: RTCON: Context-Adaptive Function-Level Fuzzing for RTOS Kernels.
  • 方向: 漏洞挖掘与利用
  • 解读: RTOS 攻击面随蓝牙、Wi-Fi 等功能扩大且普遍缺乏防护;模拟器/真机端到端测试覆盖有限,深层函数需复杂协议状态,而现有函数级模糊测试因缺乏上下文提前崩溃并产生大量误报。

RTCON 用双向调用图(SVF 解析间接调用)与过程间污点分析标记上下文变量;自适应上下文生成器插入 sanitization 钩子(崩溃时分配内存或跳过调用)与 generation 钩子(基于分支操作数生成候选值穿越阻塞分支);多层分类用顶层函数构造 verifier 复现崩溃判高置信。

在 Zephyr、RIOT、FreeRTOS、ThreadX 上发现27个bug(25个新)、获14个CVE,其中20个可远程触发;高置信崩溃精度92.7% vs 低置信5.8%;上下文生成带来5–16%p 覆盖率提升;对比 HOEDUR/SFuzz,覆盖16,247条边/495个崩溃/20个bug 全面领先。

该工作以”多层复现”代替静态约束提取区分真假崩溃,规避了间接调用对静态分析的阻碍,证明函数级模糊测试是 RTOS 深度测试的有效路径;局限在于污点过近似与双指针传播缺失造成误报漏报。

ADGFUZZ: Assignment Dependency-Guided Fuzzing for Robotic Vehicles.

  • 作者: Yuncheng Wang, Yaowen Zheng, Puzhuo Liu, Dongliang Fang, Jiaxing Cheng, Dingyi Shi, Limin Sun

  • 论文 PDF: ADGFUZZ: Assignment Dependency-Guided Fuzzing for Robotic Vehicles.

  • 方向: 漏洞挖掘与利用

  • 解读: 机器人车辆(RV)控制软件的参数、命令、传感输入组合空间巨大,既有 fuzzing(RVFuzzer 无代码区域引导、PGFuzz 依赖文档规则)难以发现深层缺陷;对 ArduPilot 十年 issue 的实证显示 28.02% 的语义缺陷源于赋值语句错误。
    ADGFuzz 静态构建赋值依赖图(ADG)刻画变量间依赖,以叶子变量名为线索,利用同义词/物理耦合表做术语匹配,把依赖映射到 RV 输入空间形成匹配输入集(MIS);再用基于熵的优先调度对 MIS 执行熵感知模糊,配合坠地/偏离航线/软件崩溃三类 oracle 及输入最小化去重。
    在 Copter/Plane/Rover 三类机型发现 87 个唯一缺陷(78 个此前未知),其中 26 个(29.88%)可致坠机、15 个(17.24%)航线偏离、46 个(52.87%)内存溢出;16 个已获确认修复;比 PGFuzz 多发现 79 个;熵优先消融比随机多发现 18/16/9 个;150 对 ADG-MIS 人工校验 87.33% 语义准确。
    以“赋值依赖”切入嵌入式控制软件漏洞挖掘,角度新颖且命名相似性假设在实践中有效;局限包括术语表人工构造、对命名约定依赖较强(换代码库泛化性存疑)、SITL 仿真与真机存在差异;与 PGFuzz/RVFuzzer 互补,是 RV/工控模糊测试的重要推进。

  • 论文 PDF: ADGFUZZ: Assignment Dependency-Guided Fuzzing for Robotic Vehicles.

  • 来源: NDSS 2026(完整解读见对应顶会博文)

PhyFuzz: Detecting Sensor Vulnerabilities with Physical Signal Fuzzing.

  • 作者: Zhicong Zheng, Jinghui Wu, Shilin Xiao, Yanze Ren, Chen Yan, Xiaoyu Ji, Wenyuan Xu
  • 论文 PDF: PhyFuzz: Detecting Sensor Vulnerabilities with Physical Signal Fuzzing.
  • 方向: 硬件与物理安全
  • 解读:
    传感器漏洞可被声、电磁、激光物理信号利用造成错误测量,但漏洞发现全部依赖专家手工试错,缺乏自动化手段,阻碍传感器安全走向工业应用。本文提出PhyFuzz,首个基于物理信号模糊测试的传感器漏洞自动发现范式。

方法用信号构造集{A幅度、F频率、P相位、M调制}压缩连续无限的物理输入空间(幅度sigmoid分布诱发非线性);特征离散化把输出经差分分析转为离散向量作覆盖反馈,以”输出多样性反映漏洞多样性”;采用AFL式变异与蚁群式参数调度,适应度=α偏差+β最小距离,用特征模板自动归类已知漏洞。

实验在13个9类传感器上发现46个漏洞(含6个未公开),复现ADXL345、MPU6050已知漏洞,并从颜色/光传感器发现5类新漏洞;与扫描测试相比,效率最高6.25倍、首漏洞快至12倍、发现最多类型平均快27倍;已上报厂商。

我的思考:把模糊测试从数字域延伸到物理域是范式创新,输出特征离散化作黑盒覆盖度量巧妙。局限:模板编码专家知识,新机理仍需人工分析;固定距离与6-14小时时长限制普适性。整体填补传感器安全自动化检测空白。

AidFuzzer: Adaptive Interrupt-Driven Firmware Fuzzing via Run-Time State Recognition.

  • 作者: Jianqiang Wang, Qinying Wang, Tobias Scharnowski, Li Shi, Simon Woerner, Thorsten Holz(CISPA、浙江大学、ETH Zurich)
  • 论文 PDF: AidFuzzer: Adaptive Interrupt-Driven Firmware Fuzzing via Run-Time State Recognition.
  • 方向: 漏洞挖掘与利用
  • 解读:
    固件重托管模糊中,中断的触发时机、频率与类型是覆盖率瓶颈:Fuzzware/Hoedur 按固定间隔轮询触发中断,但真实固件存在初始化未完成的哑 ISR(触发即死循环)、看门狗 ISR(触发即复位)等陷阱,提前触发导致崩溃卡死。AIM 虽分析 ISR 却未建模运行时状态且依赖符号执行。

AidFuzzer 观察到固件呈现”引导→处理→等待”的运行时状态转换循环,等待态才需要中断,且有效中断的 ISR 通过改写全局对象把固件拉回处理态。IRQ 建模引擎用 angr 符号执行判定 IRQ 类型(effective/ineffective)与状态(ready/unready),通过钩子向量表重定位与函数指针覆写实现模型切换;状态监控器以四个条件(频繁开中断、WFI/WFE、无限循环、反复读 ISR 可改全局对象)判定等待态并按阈值按需触发中断。

在 10 个开源固件上 24 小时×10 轮,AidFuzzer 覆盖率与速度大多优于 Fuzzware、Hoedur 及自身 fuzz 模式;TauLabs、nmea_parser 等目标上对照工具因触发未就绪中断早期崩溃,AidFuzzer 成功规避并继续推进。共发现 8 个未知漏洞(越界读、缓冲覆写控制流劫持、任意内存写),获 5 个 CVE,且 0 误报,而 Fuzzware/Hoedur 报告了若干误报(将复位误判为崩溃等)。

我的思考:AidFuzzer 把”中断是否该触发”从启发式提升为对固件意图的运行时推断,effective/ready 二元建模对哑 ISR、看门狗等真实陷阱的规避效果显著,0 误报是难得的工程成果;但仅支持 ARM Cortex-M,排除 DMA、嵌套中断,等待态阈值是经验参数,符号执行建模 ISR 有路径爆炸风险。与 FIDO 是同一问题的两条路线:AidFuzzer 重通用性,FIDO 重投递精度,二者互补可合并。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

Bond: Constraint-Directed Fuzzing for Automated Validation of Taint Analysis Results in Linux-based IoT Firmware

  • 作者: Jiaqian Peng; School of Cyber Security; Puzhuo Liu; Tsinghua University; Kai Cheng; Zhaoteng Yan; Jie Liu; Chengnian Sun; Hongsong Zhu; School of Cyber Security
  • 论文 PDF: Bond: Constraint-Directed Fuzzing for Automated Validation of Taint Analysis Results in Linux-based IoT Firmware
  • 方向: 漏洞挖掘与利用
  • 解读: 静态污点分析是 IoT 固件漏洞检测的主流手段,但会产生大量误报:文中举例单个固件可报 169 条告警,每条人工验证需 5 小时以上,真漏洞易被淹没。现有黑盒/定向灰盒模糊测试依赖源码与执行反馈,符号执行受路径爆炸困扰,仿真重宿主保真度低,均难以自动化验证固件污点告警。

方法上,Bond 提出约束引导的黑盒模糊框架,仅需固件二进制。四个组件:入口点识别(CFG/CG 交替回溯定位嵌套分支或函数指针表等分发结构,并用前端关键字交叉验证);可达区域划分(枚举入口到 sink 的基本块与用户可控参数);约束分析(跨过程数据流分析,将约束分为强制/部分/非约束三类、六种语义类型——字符串匹配、数值范围、字节级、空值、网络格式、启发式语义);定向黑盒模糊(GPT-4o 辅助从公开 PoC 生成合规 HTTP 模板,按强制→部分→非约束分层变异)。

实验覆盖 19 台设备(8 厂商)、2,776 条告警(SaTC/Mango/OctopusTaint/EmTaint),成功验证 1,349 条(48.6%),其中 155 个为未知漏洞(35 命令注入+120 缓冲区溢出),108 个已获 CVE/PSV 编号;60 个已知漏洞上召回率 91.67%、平均触发时间 5m53s;相比 GreenHouse/FIRM-AFL/SNIPUZZ/BooFuzz 最高提升 5.5 倍;消融实验验证各组件有效性。

我的思考:Bond 把”污点报告→PoC”这一长期依赖专家人肉的环节自动化,并以大量真实 CVE 证明价值,工程成色扎实。但依赖前端关键字与公开 PoC 等外部信息,285 条真阳仍被漏报,单告警限时 1 小时也影响深路径漏洞。与既有 IoT 模糊工具相比,约束语义建模+LLM 模板是其差异化创新,有望推动”污点分析→验证”工具链闭环,后续或可结合模拟执行进一步提升效率。

PANGOLIN: Fuzzing Multilingual IoT Firmware with LLM-Driven Code Analysis

  • 作者: Zhipeng Jia and Xiaokang Yin, Shuitao Gan, Chao Zhang, JCSS, Hangtian Liu, Jiangan Ji, Jinglei Tan, Shengli Liu
  • 论文 PDF: PANGOLIN: Fuzzing Multilingual IoT Firmware with LLM-Driven Code Analysis
  • 方向: 移动与物联网安全
  • 解读: 多语言 IoT(C/Python/Lua 混合后端,Cisco、华为、小米等已采用)中大量接口不对前端暴露、参数经多层解析呈复杂层级结构,而网络流量只能覆盖部分接口,单语言静态分析无法跨语言边界,LABRADOR 等既有 fuzzing 又依赖流量种子,难以发现隐藏接口与深层漏洞。

方法上,PANGOLIN 三阶段流水线:先用 LLM 分析 API 分发机制,构建树状”入口映射”(entry URI→handler 点,覆盖多级路由与间接调用);再以剪枝后的多语言调用图(MCG)刻画脚本与二进制的混合调用链,由 LLM agent 跨语言生成参数规格;最后用响应驱动反馈纠正 LLM 幻觉与剪枝错误导致的规格偏差,并以规格指导节点选择、变异算子与能量分配,实现语义感知模糊。

在 8 家厂商 12 台多语言 IoT 设备上发现 2,856 个后端接口(其中 1,793 个前端隐藏);共发现 68 个 0-day(命令注入、XSS、信息泄露、DoS、任意文件读写),是 LABRADOR(24 小时测试 23 个)的 2.96 倍,静态分析快 19.1×(合计 71.7 分钟对 1367.4 分钟);45 个漏洞位于隐藏接口(EAGLEYE 仅 4 个);全部上报并获厂商确认,31 个已分配编号。

LLM 驱动的接口/参数规格提取直击多语言 IoT 黑盒 fuzz 的核心痛点,响应反馈机制有效兜底 LLM 幻觉,工程实证扎实;局限是需取得固件代码(半白盒)、LLM 分析与响应验证带来额外成本、对纯黑盒无固件场景不适用;相较 LABRADOR/EAGLEYE 在隐藏接口与效率上显著领先,是多语言固件漏洞发现的重要推进。

FirmReBugger: A Benchmark Framework for Monolithic Firmware Fuzzers

  • 作者: Mathew Duong; Surya Nepal; Damith C. Ranasinghe
  • 论文 PDF: FirmReBugger: A Benchmark Framework for Monolithic Firmware Fuzzers
  • 方向: 漏洞挖掘与利用
  • 解读: 单体固件(无OS支撑、直接管理MMIO/DMA与中断的固件)广泛存在于医疗、汽车等嵌入式系统,其模糊测试评估长期依赖代码覆盖率与唯一崩溃数两个不可靠指标——例如模糊器可利用某bug触达本不可达的代码而虚增覆盖率,崩溃去重也需大量人工分析;领域缺乏可靠、可复现的基于bug的基准来公平评估新模糊器。

FirmReBugger提出以bug oracle(用C语法表达式描述bug特征)配合解释器自动化分析,在重放模糊测试种子时把虚拟CPU状态自动翻译为bug状态,严格区分detected、triggered、reached、not reached四种状态;关键设计是不修改目标二进制、仅重放种子,从而把基准实现与模糊器隔离、防止”泄漏性oracle”与对基准的过拟合,且易于扩展新bug oracle;据此构建FIRMBENCH,含61个多样化真实二进制目标与313个软件bug oracle、共187个bug。

作者以FuzzBench-for-Firmware式服务实现FirmReBugger,并开展复现性研究:9个最先进的单体固件模糊器、每个执行10次24小时重复运行,累计约10 CPU-年的评估努力,报告了各模糊器的bug发现能力对比。

我的思考:把”bug-based benchmark”方法论系统引入固件模糊领域,直接回应覆盖率指标的误导性,重放种子的设计精巧地隔离了模糊器与基准实现,降低过拟合风险并支持公平复现;局限在于bug oracle需人工以C表达式编写(可扩展但成本高)、固件与bug多样性仍有限、10 CPU-年评估代价不菲。与通用FuzzBench相比,FirmReBugger针对单体固件的MMIO/DMA/中断等特有障碍专门设计,为固件模糊研究的可复现评估立下标杆,有望成为该领域后续进展的对照基准。

固件重托管与动态仿真(8 篇)

Protocol-Aware Firmware Rehosting for Effective Fuzzing of Embedded Network Stacks.

  • 作者: Moritz Bley, Tobias Scharnowski, Simon Wörner, Moritz Schloegel, Thorsten Holz(CISPA 亥姆霍兹信息安全中心、亚利桑那州立大学、马克斯·普朗克安全与隐私研究所)
  • arXiv PDF: Protocol-Aware Firmware Rehosting for Effective Fuzzing of Embedded Network Stacks.
  • 方向: 漏洞挖掘与利用
  • 解读: 嵌入式固件最大的攻击面之一是网络接口,但其嵌入式网络协议栈(ENS)分层复杂、格式苛刻且缺少操作系统抽象。现有 rehosting 模糊测试只能把裸数据喂给固件,绝大多数输入在低层(IPv4 地址校验、校验和等)即被丢弃,无法到达应用层逻辑;AflNet 需要真实流量种子与硬件,EmNetTest 需要源码与人工标注,都不适用于无种子、无硬件的 rehosting 场景。

Pemu 的核心是在 fuzzer 与固件之间建立”虚拟网络”:封装模块按 YAML 协议文法(覆盖 38 种协议,头字段分类为静态值/长度/引用/校验和处理函数/状态相关值/可 fuzz 字段)把 fuzzing 输入逐层封装为语法语义正确的报文,并维护跨报文状态(TCP 序列号、SYN 握手、DHCP 事务、分片元数据);状态提取模块解析固件主动发出或响应性的报文以获取地址、序号等网络状态;基于”唯一覆盖基本块”度量的主动探测迭代恢复协议树,每轮把新检测层并入网络配置,支持 fuzzer 驱动的封装深度控制与故障注入。通过最小适配层接入 Fuzzware、Hoedur、SEmu 三个平台(约 3,600 行 Python)。

评估显示平均基本块覆盖率提升 Fuzzware 40.7%、Hoedur 39.2%、SEmu 8.5%(TCP/IP 样本分别达 32.5%/48.2%);首个协议检测中位时间 47 分钟;基线随机报文仅 1/7 样本到达传输层,Pemu 则覆盖全部可及传输层样本。在 EmNetTest 的 12 个真实 CVE 数据集上全部复现(且均在 24 小时内),并额外发现 5 个未知 bug:FreeRTOS-plus-TCP 3 个、LwIP 1 个 OOB 写、STM32F767 HAL 1 个由响应与周期 ARP 广播竞态触发的 OOB 读(厂商已发安全公告)。

该工作把”协议语义”作为一等公民引入 rehosting 模糊测试,以封装+状态抽取+覆盖探测的组合解决无种子、无硬件下的深度穿透,且平台无关设计可复用到后续框架,贡献扎实。局限:38 种协议文法需手工编写(一次性成本);Hoedur 集成因跨语言按小块取输入产生 2-10 倍性能开销;BLE 等复杂栈受模拟稳定性限制只能覆盖广播信道。与 AflNet/EmNetTest 相比,Pemu 的自动化程度与逐层测试能力更全面,是”网络栈可达性”问题的里程碑式方案,也为后续协议感知 fuzzing 提供了可复用的基础设施。

  • 来源: ACM CCS 2025(完整解读见对应顶会博文)

FlexEmu: Towards Flexible MCU Peripheral Emulation.

  • 作者: Chongqing Lei, Zhen Ling, Xiangyu Xu, Shaofeng Li, Guangchi Liu, Kai Dong, Junzhou Luo(东南大学)
  • arXiv PDF: FlexEmu: Towards Flexible MCU Peripheral Emulation.
  • 方向: 程序分析与形式化验证
  • 解读: MCU 固件的动态安全分析依赖可用的执行环境,但仅 ARM Cortex-M 的 MCU 外设就超过 2,790 种,手工仿真(如 QEMU)成本极高;SEmu、Perry 等规则式自动仿真表达力有限、只支持少量外设,且需针对手册/驱动材料特化适配。核心问题是如何自动、可扩展地生成高保真外设仿真器。

核心洞察是外设可”双重建模”:结构层面,寄存器、中断、内存交互等通用硬件概念可用 9 个原语(Reg、RegField、RegFieldState、RegFieldMap、Swt、Upd、Evt、MemField、MemFieldState)抽象;语义层面,同类外设(如定时器)可用统一语义模型描述。FlexEmu 据此设计 LLM 前端+模板后端:前端用 7 阶段任务分解缓解长输入导致的推理退化,用代码分析方案解析 LLM 返回的宏/表达式等非预期格式,用”自相矛盾检测”(寄存器/字段地址重叠、名称一致性等)过滤幻觉,从厂商驱动源码提取模型实参;后端按模板合成可直接接入 QEMU 的仿真代码(约 8,000 行 Python/C++)。

FlexEmu 成功建模 12 类常用外设(含 QEMU 尚未支持的 DMA、SDHC 等),为 15 款 MCU 生成仿真器:P2IM 单元测试通过率 98.48%(65/66),远超 Perry 的 74.24% 与 SEmu 的 0%;44 个固件样本 rehosting 成功率 95.45%(Perry/SEmu 仅 23/0 个);新增一种外设的工程量与手写 QEMU 仿真器相当(平均 361 vs 404 行)。安全价值上,用生成仿真器 fuzz 三个 RTOS(Zephyr、NuttX、Mynewt/NimBLE)的蓝牙主机栈发现 10 个未知 bug,8 个已修复、6 个获 CVE;而 Fuzzware/Hoedur 因触发”NVIC 启用但外设寄存器已禁用”的中断等假崩溃,24 小时内一无所获。

亮点是把外设仿真从手工逆向变成”原语+语义模型+LLM 抽取”的半自动流水线,并以消除假崩溃证明精确外设行为对 fuzzing 的直接价值。局限:LLM 输出仍需校验兜底且仍可能出错(论文中一处缺 action 的 Upd 导致固件挂起);语义模型与后端模板仍需人工编写;仅支持 ARM Cortex-M 与 Gemini 模型,且 98.48% 的通过率基于 P2IM 单元测试口径。与 Perry/SEmu 相比在通用性与保真度上代际领先,但离”零人工”仍有距离;LLM 驱动逆向工程的方向本身也值得后续工作跟进。

  • 来源: ACM CCS 2025(完整解读见对应顶会博文)

Firmrca: Towards Post-Fuzzing Analysis on ARM Embedded Firmware with Efficient Event-Based Fault Localization.

  • 作者: Boyu Chang, Binbin Zhao, Qiao Zhang, Peiyu Liu, Yuan Tian, Raheem Beyah, Shouling Ji(浙江大学、佐治亚理工学院、加州大学洛杉矶分校)
  • arXiv PDF: Firmrca: Towards Post-Fuzzing Analysis on ARM Embedded Firmware with Efficient Event-Based Fault Localization.
  • 方向: 程序分析与形式化验证
  • 解读: fuzzing 发现崩溃测试用例只是第一步,根因定位才是耗时且易错的后处理工作。嵌入式固件场景面临两大挑战:fuzzing 缺乏调试机制(无 sanitizer,难以自动提取运行时信息);固件是剥离符号的裸二进制,过污染、含噪的可疑指令过多,且内存别名问题使数据传播追踪极为困难。

FirmRCA 是面向 32 位 ARM Cortex-M 固件的 postmortem 定位框架,包含三组件:① 事件足迹采集——在 rehosting 复现崩溃时记录两类事件:数据事件(每次内存读/写的指令地址、访问类型、寄存器与具体地址和数据)与动作事件(每条即将执行指令的 PC),由此恢复完整执行轨迹;② 历史驱动逆执行——由动作事件逐指令解析源/目的操作数构建 use-define 链,用数据事件直接消解内存别名(如 STR 的写入值与目标地址直接反推源寄存器值),配合 ADD 等指令的逆处理器恢复前态;③ 两阶段根因分析——从崩溃点的直接原因(非法内存访问/非法指令执行)设污染源做反向污点传播,再按”冗余循环污染抑制+历史写污染优先”两种启发式打分排序可疑指令,引导人工调查。

在 Fuzzware 数据集的 41 个崩溃用例(17 个固件镜像)上,FirmRCA 在 top-10 指令内定位根因的成功率达 92.7%(38/41),远超 POMP(7.3%)与 POMP++(19.5%);全部用例完成全轨迹分析(POMP/POMP++ 仅 19.5%/73.2%);对距崩溃点超过 50% 轨迹的深根因,11 例中成功 10 例。效率上,事件足迹采集仅引入平均 5.47 秒/23.16MB 开销且独立于 fuzzing 过程;逆执行中的别名解析从 POMP 的 1089.6 秒降到 <0.01 秒,整体呈多项式级加速(POMP 呈指数增长)。

用”具体内存访问足迹”替代启发式与值集分析来消解内存别名,直击 postmortem 分析的核心痛点,事件采集独立于 fuzzing 的设计也避免污染吞吐,贡献扎实。局限:框架假设崩溃由非法内存访问或非法指令执行两种直接原因引起,无法覆盖中断上下文恢复等非常规场景(C32 失败即源于此);两种打分启发式对根因位于循环内的用例有副作用(C12/C13 排名下降);仅支持 Cortex-M/Unicorn。与 POMP/POMP++ 相比在可扩展性与精度上优势明显,是固件崩溃分析自动化的重要一步;但”top-10 指令”的评估口径也提示,该领域要真正落地仍需更完备的人工辅助工具链与更多崩溃类型支持。

  • 来源: IEEE S&P 2025(完整解读见对应顶会博文)

BaseBridge: Bridging the Gap Between Over-the-Air and Emulation Testing for Cellular Baseband Firmware.

  • 作者: Daniel Klischies, Dyon Goos, David Hirsch, Alyssa Milburn, Marius Muench, Veelasha Moonsamy(波鸿鲁尔大学、阿姆斯特丹自由大学、伯明翰大学等)
  • 论文 PDF: BaseBridge: Bridging the Gap Between Over-the-Air and Emulation Testing for Cellular Baseband Firmware.
  • 方向: 无线与通信安全
  • 解读: 基带仿真与 OTA 测试之间存在鸿沟:现代基带处理报文依赖 DSP、SIM、RF 前端等复杂外设以及大量连接状态(是否入网、是否协商加密、IMSI、信号测量等),现有仿真器(如 FirmWire)既不仿真外设也不仿真蜂窝网络,固件表现得像”未联网、无 SIM 卡”,几乎丢弃所有下行包——在 RRC 与 NAS 两个关键协议层上现有仿真方法无法对任何 DL 包产生响应,fuzzing 只能发现浅层解析 bug;而 OTA 测试每包需 2-10 秒、难横向扩展且无法内省。

BaseBridge 的核心洞见是:连接状态主要存于全局变量与堆内存,无需逐一仿真外设——从已联网的真实 UE 提取内存转储(利用厂商内置崩溃转储机制,避免 NDA 工具与漏洞注入两条路线),再以”动态内存恢复(DMR)”算法选择性恢复相关内存:先引导到可收包快照,注入 DL 包记录内存访问轨迹,用厂商启发式(排除代码/栈/内核区域等 H1-H8 规则)过滤,识别连续访问块、按访问函数分组,逐组以”新基本块/新日志/防崩溃”三个反馈指标评估后并入恢复列表,迭代至不动点;每次收包前按恢复列表从转储恢复内存,并扩展 FirmWire 支持 GSMTAP 双向通信(约 2,250 行 Python)。

在 MediaTek MT6768 与三星 Exynos 9820 上,BaseBridge 对 97% 的测试 RRC/NAS 下行消息产生与真机一致的 UL 响应(FirmWire 为 0),基本块覆盖平均提升 2.41 倍(三星)/5.54 倍(联发科);首次通过多项 3GPP LTE 一致性测试(RRC CONNECTED 状态检查、IMEI/IMEISV 识别等 4 项通过,2 项需人工干预);fuzzing 总覆盖提升 2.3-5 倍,RRC 任务定向覆盖提升 9.0-22.5 倍;共发现 8 个漏洞(5 个新发现),含 MediaTek RRC ConnectionRelease 中 variableBitMapOfARFCNs 位图解析的越界写→栈溢出→潜在 RCE 的 CVE-2024-20154(严重级别,且在完整性保护启用前即可利用)。

用”真机状态转移”绕过外设仿真的死结,是基带安全测试思路的巧妙转向——不追求更逼真的外设模型,而是直接借来真机的连接状态,工程简洁且跨厂商通用(MediaTek/Samsung 均验证)。局限:依赖物理设备与厂商崩溃转储机制(专有格式需逆向映射);DMR 迭代涉及大量仿真运行,分组评估并行化后仍需可观算力;L2 协处理器(L2COPRO)等缺失外设仍会使个别消息处理崩溃;恢复列表与特定固件版本绑定。与 LORIS 的符号推导状态相比,BaseBridge 走”经验状态”路线,两者互补。该工作使仿真基带首次达到”可对话”程度,为大规模、可内省的基带安全测试铺平了道路。

  • 来源: IEEE S&P 2025(完整解读见对应顶会博文)

User-Space Dependency-Aware Rehosting for Linux-Based Firmware Binaries.

  • 作者: Chuan Qin, Cen Zhang, Yaowen Zheng, Puzhuo Liu, Jian Zhang, Yeting Li, Weidong Zhang, Yang Liu, Limin Sun
  • 论文 PDF: User-Space Dependency-Aware Rehosting for Linux-Based Firmware Binaries.
  • 方向: 系统与操作系统安全
  • 解读: 固件重宿主是规模化动态分析 IoT 固件的关键仿真技术,成功重宿主需同时仿真系统级功能(设备接口、ioctl、procfs)与用户态依赖(配置文件、环境变量、IPC)。现有方案未充分利用用户态知识:init 例程执行不完整导致环境初始化缺失;所有仿真失败被一刀切处理,混淆了直接系统级问题与用户态依赖的间接症状。本文提出 FIRMWELL,把重宿主建模为目标二进制与其用户态依赖的协同仿真。

方法上,FIRMWELL 先完整重宿主 init 例程(通常涉及上百个进程)构建环境,再启动目标服务;失败时通过调用链分析定位阻塞进程,按系统调用模式与错误症状将失败分类为用户态依赖问题或系统级仿真错误。核心策略是”用户态依赖失败→修正底层系统级仿真错误”:以 CREATE(补建设备文件)、INFER(def-use 分析+符号执行精确推断资源值,如 /proc/mtd)、FIX-IN-PEER(修复 IPC 对端进程)、REUSE 四种策略渐进修复。

在 14,049 个固件镜像(13 家厂商)上,FIRMWELL 成功重宿主 6,490 个 HTTP 服务,是 FirmAE(3,581)、Greenhouse(3,962)、Pandawan(810)的 1.6-8 倍,独有重宿主 1,389 个;平均耗时 12 分钟,比基线(22/74/101 分钟)快 1.8-8.4 倍;UPnP(2,634)与 DNS(3,118)同样领先;N-day PoC 检出 1,335 个漏洞;对 1,043 个固件模糊测试发现 67 个零日(44 空指针解引用、13 缓冲区溢出、6 可达断言、4 未捕获异常),获 10 个 CVE。

我的思考:FIRMWELL 首次把”用户态依赖”作为一等公民纳入重宿主流程,消融实验显示失败定位与分类模块贡献巨大。局限:受 QEMU-user 技术栈约束(MIPS64、Arctic Core 等架构不支持),2,074 个四工具全失败的镜像暴露符号执行路径爆炸与强签名校验等硬骨头。与 Greenhouse 相比,其”治本不治标”的修复哲学带来 1.6 倍成功率和更少修复轮次,是重宿主领域近年最显著的进展之一。

GDMA: Fully Automated DMA Rehosting via Iterative Type Overlays.

  • 作者: Tobias Scharnowski, Simeon Hoffmann, Moritz Bley, Simon Wörner, Daniel Klischies, Felix Buchmann, Nils Ole Tippenhauer, Thorsten Holz, Marius Muench(CISPA、波鸿鲁尔大学、伯明翰大学)
  • 论文 PDF: GDMA: Fully Automated DMA Rehosting via Iterative Type Overlays.
  • 方向: 漏洞挖掘与利用
  • 解读:
    DMA 是固件接收不可信数据的关键通道,但重托管研究几乎都绕过 DMA:HAL 替换与手动标注依赖专家逐例实现,唯一全自动方案 DICE 仅按”相邻 MMIO 指针”启发式覆盖最简单配置。作者分析 10 家 MCU 厂商参考手册,系统化出六种 DMA 配置机制(MMIO 型 M1/M2/M3 与 RAM 型 R1/R2/R3),指出现有工作只覆盖 1/6,整类 RAM 描述符被忽略。

GDMA 采用类型树迭代建模:从仿真轨迹中隔离”持续指向 RAM”的 MMIO 寄存器(排除偶发指针值误报),为指向的 RAM 数据收集类型树(Zero/Pointer/HighEntropy 字段),跨”有趣输入”叠加合并出公共类型(消除 RAM 内容伪装描述符的误报),匹配六种机制合成 DMA 配置,用”伪未初始化+先读后写”识别接收缓冲,最后以配置驱动的通用 DMA 外设在 Fuzzware 中注入输入。

在 114 个固件镜像上:其 15 样本/10 平台新基准(覆盖约 85% 全球 MCU 市场)上 GDMA 全部通过(6/6 机制),DICE 仅 1/6;DICE 的 33 个单元测试上正确率 93.9% 对 45.5% 且零误分类;P2IM 的 44 个非 DMA 测试上零误报;相对无 DMA 基线覆盖率提升 3.5%–152.6%,并在 RTOS 核心网络栈发现 6 个新漏洞、获 6 个 CVE。

我的思考:GDMA 把 DMA 重托管从”补丁工程”变为可验证的自动化方法,六机制分类与可复现基准本身就是对社区的贡献;类型树叠加合并用多次执行的公共信息对抗偶发值,是处理无符号二进制的优雅折衷。局限:建模依赖模糊器先到达 DMA 配置代码,缓冲大小沿用 DICE 线性增长假设,未覆盖中断/嵌套场景。相对 DICE 是 6 倍的机制覆盖跃迁;未来与 FIDO 式投递优化结合,可把”能进 DMA”推进到”高效测 DMA”。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

LEMIX: Enabling Testing of Embedded Applications as Linux Applications.

  • 作者: Sai Ritvik Tanksalkar, Siddharth Muralee, Srihari Danduri, Paschal Amusuo, Antonio Bianchi, James C Davis, Aravind Kumar Machiry(美国普渡大学)
  • arXiv PDF: LEMIX: Enabling Testing of Embedded Applications as Linux Applications.
  • 方向: 漏洞挖掘与利用
  • 解读: 现有 rehosting 技术追求高保真外设模拟,工程量大、难推广。作者提出 Bug Manifestation Fidelity(BMF):分析 84 个已公开 CVE(71 个内存破坏类)发现 60/71(约 85%)漏洞仅需低保真执行即可触发——多数漏洞源自高层软件逻辑,而非架构相关细节。

LEMIX 将嵌入式应用转换为 x86 Linux 应用(LEAPP):利用 RTOS 的 Linux Portable Layer 做 POSIX Swap 保留执行语义;交互式重定向处理 GCC/CLANG 不兼容与内联汇编;用常量地址分析识别 MMIO 范围,插桩将 MMIO 读建模为标准输入、写忽略,并以 Dispatcher Task 随机触发中断;对依赖外设状态的条件做弱化(50% 概率满足),支持全程序与函数级 fuzzing。

在 FreeRTOS、Nuttx、Zephyr、ThreadX 的 18 个真实应用上发现 21 个新 bug(分布在 12 个应用、4 个 RTOS 内核),覆盖率约为现有最优方法的 2 倍,多发现 18 个 bug。消融实验显示:MMIO 插桩不可或缺(禁用后 LEAPP 启动即崩溃);条件弱化提升约 2 倍基本块覆盖并新增 7 个 bug;函数级 fuzzing 覆盖率为全程序模式约 10 倍,额外发现 11 个独特 bug;超 50% 的 MMIO 范围在 CMSIS-SVD 文件中缺失。

该工作以 BMF 论证挑战”高保真执行才有效”的 rehosting 范式,将嵌入式 fuzzing 接入成熟 x86/Linux 生态,门槛显著低于 P2IM、Fuzzware 等逐外设建模方案。局限:转换仍需人机交互、布局相关代码无法自动化、函数级 fuzzing 不支持 C++;放弃精确外设模型意味着时序语义缺失,可能漏掉依赖精确时序的调度类缺陷。总体是低成本固件安全测试的高性价比路径,提示”保真度-成本”权衡应依据漏洞类型而定。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

Khost: KVM-based Near Native MCU Firmware Rehosting

  • 作者: Chunlin Wang

  • 论文 PDF: Khost: KVM-based Near Native MCU Firmware Rehosting

  • 方向: 移动与物联网安全

  • 解读: MCU 固件构成 IoT 安全的关键层,但固件与定制硬件紧耦合、设备资源有限,动态分析(如模糊测试)难以规模化部署;现有 rehosting 框架要么用 QEMU 式翻译模拟导致高开销,要么用 HLE/原生执行牺牲执行范围与精度。

Khost 基于 KVM 硬件虚拟化实现近原生、范围保持的 rehosting:辅助页表创建虚拟 MMU 桥接 MCU 与高性能处理器(无 MMU 与 MMU、不同指令集)的内存管理差异;轻量扩展 CPU 处理 MCU 特定操作;软件 NVIC 正确管理异步中断;MMIO 监视器快速交互并兼容现有外设模型;固件 wrapper 支持覆盖率采集与灵活配置现有 fuzzing 引擎。

CoreMark-PRO 与 Simbench 基准上,相比 QEMU 复杂计算任务开销降低 90.0%–95.5%、MCU 系统级操作最多降低 98.5%;12 个真实固件上 fuzzing 吞吐最高提升 197.5×(相对 HALucinator),基本块覆盖率提升 6×,相对 Fuzzware 分别为 68.6× 与最高 3.4×;并发现 5 个此前未知的漏洞。

我的思考:用 KVM 硬件虚拟化替代软件模拟/翻译,在保持完整执行范围的同时获得近原生性能,思路正确、收益显著且开源可复现。局限:依赖支持 KVM 且 32 位向后兼容的 ARM 高性能平台,辅助页表对无 MMU 场景的建模是近似;12 个固件的评估规模有限,5 个新 bug 的细节有待披露;外设仍需人工配置模型,自动化程度与 HLE 方案相当。

静态分析与漏洞检测(10 篇)

ZVDetector: State-Guided Vulnerability Detection System for Zigbee Devices.

  • 作者: Hai Lin, Chenglong Li, Jiahai Yang, Zhiliang Wang, Jiaqi Bai
  • 方向: 移动与物联网安全
  • 解读:
    Zigbee 设备广泛用于智能家居、农业等行业,却存在大量可破坏其正常功能的漏洞。现有研究要么分析固件,要么通过网络模糊测试,但都忽略了设备状态与协议对探索空间的影响,只能探索有限空间,因而难以发现由隐藏状态、尤其是多状态组合触发的漏洞。

ZVDetector 是状态引导的模糊测试系统。它通过状态感知模块,基于消息关系学习更多未知的状态转换,获得对设备内在属性的更完整理解;并开发融合语义感知与相关性分析的算法,将感知到的信息整合进探索过程,从而高效地遍历状态空间。

在 10 台设备上验证,共发现 25 个漏洞,其中 19 个为零日;实验还展示了该系统发现与状态属性相关漏洞的能力,验证了状态引导思路的有效性。

把协议状态机纳入模糊测试是物联网漏洞挖掘的关键进展,ZVDetector 的 19 个零日证明了其实用价值;建模质量依赖消息关系提取,设备规模有限也需谨慎看待。与已有 Zigbee 模糊测试工具相比,状态感知使其能触达”隐藏状态组合”这类此前难以覆盖的攻击面,为智能家居安全提供了重要工具。

  • 来源: ACM CCS 2025(完整解读见对应顶会博文)

Bridge: High-Order Taint Vulnerabilities Detection in Linux-Based IoT Firmware.

  • 作者: Jiaqian Peng, Puzhuo Liu, Yicheng Zeng, Kai Cheng, Yongji Liu, Yun Yang, Hongsong Zhu
  • 方向: 移动与物联网安全
  • 解读: Linux 内核的物联网固件数量庞大且普遍缺乏安全加固,污点分析是发现其中漏洞的主要手段;但传统污点分析多只追踪单跳数据流,而真实漏洞常是”高阶污点”——敏感数据经文件、数据库、配置项等中间存储落地后再次进入危险函数,跨过程、跨状态的传播使其极易被漏报。(无摘要,据标题推断)

据标题推断,Bridge 面向 IoT 固件构建高阶污点检测框架:识别固件中可持久化的中间介质(文件读写、数据库、配置文件)作为”桥”,把污点跨介质的写入-读取对衔接起来,从而把二阶乃至多阶传播路径补全为完整污点流,配合可达性分析降低误报。(无摘要,据标题推断)

摘要缺失,无法引用量化结果;按标题推断,论文应在真实固件语料上报告检测到的漏洞数量、与既有污点工具的对比及误报率。(无摘要,据标题推断)

我的思考:”高阶/二阶污点”是静态分析长期忽视却真实高频的漏洞形态(如存储型注入类问题),把焦点放在固件场景切中现实;以”桥”统一刻画中间介质传播是清晰抽象。局限:无摘要,介质建模的完备性(何种写入-读取可视为同一桥)与固件语料规模需正文确认,跨介质别名分析的精确度决定误报水平。(无摘要,据标题推断)

  • 来源: IEEE S&P 2026(完整解读见对应顶会博文)

FirmCross: Detecting Taint-style Vulnerabilities in Modern C-Lua Hybrid Web Services of Linux-based Firmware.

  • 作者: Runhao Liu, Jiarun Dai, Haoyu Xiao, Yuan Zhang, Yeqi Mou, Lukai Xu, Bo Yu, Baosheng Wang, Min Yang
  • 论文 PDF: FirmCross: Detecting Taint-style Vulnerabilities in Modern C-Lua Hybrid Web Services of Linux-based Firmware.
  • 方向: 移动与物联网安全
  • 解读:
    现有固件污点分析几乎只把 C 二进制纳入检测范围,而作者对 4012 个商业固件的大规模实证发现:38%(937/2461 个可解包固件)采用 C-Lua 混合架构实现 Web 服务,Lua 广泛承担 URI 分发与处理;且 34% 的 Lua 代码以字节码形式存在,其中 98% 被厂商定制混淆。传统 C 导向检测器系统性遗漏这一攻击面。

FirmCross 针对三个挑战逐一给出方案:①利用字节码不变量(长度头、固定 RETURN 终止、原型结构一致性)做结构去混淆,用标准与定制解释器编译同一源码的静态字节码 diff 推断数据变换规则,全程无需逆向解释器;②基于 Lua URI handler 注册的确定性模式(注册表参数+注册逻辑)识别 handler,再按参数的表结构与嵌套访问特征识别 Lua 表源;③按 C/Lua 规范的确定性模式(luaL_register、luaL_loadfile 等 API 序列与命令执行 IPC)构建跨语言通信模型,在字节码级统一做跨语言污点传播。

在 73 个固件、11 个厂商上检出 696 个漏洞、精度 33.27%,漏洞覆盖率是 MangoDFA 的 6.82 倍、LuaTaint 的 14.5 倍,其中 610 个 0-day、已获 31 个漏洞编号;316 个真实定制解释器全部通过去混淆验证(LuaHunt 为 0);Lua 源识别数量 23,306 个(精度 0.84)对 LuaTaint 的 1,798 个(0.18)。去混淆后还从 16 个含混淆字节码的固件中挖出 154 个漏洞。

该工作把”字节码反混淆—源识别—跨语言数据流建模”做成首个针对 C-Lua 混合服务的自动化流水线,实证规模与发现数量有说服力,不变量+diff 思路远比 LuaHunt 的变异测试+人工逆向可扩展。局限:33.27% 精度说明误报仍高(源于源识别启发式与”参数污点即返回值污点”的过度假设);MOD 指令建模不全会漏掉 LuaTaint 可发现的漏洞;清洗函数识别仍靠名称匹配。

IoTBec: An Accurate and Efficient Recurring Vulnerability Detection Framework for Black Box IoT devices.

现有 IoT 漏洞检测依赖固件或源码,而现实黑盒场景中固件常不可获取或被加密、高保真仿真困难,白盒/灰盒方法大多失效;纯黑盒 fuzzing 又因缺乏种子与先验知识而效率低下。IoTBec 提出首个固件与源码无关的重复漏洞检测框架:利用公开 CVE 报告与设备自身可观察接口信息。

核心是构建漏洞接口签名(VIS):从 CVE 描述与公开报告中用 LLM 抽取 CVE ID、漏洞类型、受影响 POST 接口、关键参数构成漏洞签名(VS);用深度优先遍历提取设备 Web UI 导航结构、POST 接口与请求数据包构成接口签名(IS);通过匹配接口等关键字段融合为 VIS 并建库;命中后用 fuzzing LLM 生成定向 payload 验证。

在 Tenda、TOTOLINK、D-Link、TP-Link、Linksys 五家厂商的 27 台真实设备上,发现漏洞数是 SOTA 黑盒 fuzzing(boofuzz、Snipuzz)的 7 倍以上,100% 精度、93.37% 召回;共发现 183 个漏洞,169 个获 CVE ID(53 个新分配,平均 CVSS 3.x 8.61),覆盖缓冲区溢出、命令注入、CSRF;LLM 驱动 fuzzing 还额外发现 25 个库外漏洞,其中 4 个确认从未被报告。

把”重复漏洞”思路从固件迁移到黑盒接口是一次有价值的范式转移,LLM 同时承担签名生成与 payload 生成,自动化程度高。局限:依赖公开 CVE 信息质量(VULDB 2024–2025 年约 93.2% 的 CVE 含全部必需信息)与 Web UI 型设备(路由器为主),对无 UI 或小众设备覆盖有限。

Through the Authentication Maze: Detecting Authentication Bypass Vulnerabilities in Firmware Binaries.

  • 作者: Nanyu Zhong, Yuekang Li, Yanyan Zou, Jiaxu Zhao, Jinwei Dong, Yang Xiao, Bingwei Peng, Yeting Li, Wei Wang, Wei Huo

  • 论文 PDF: Through the Authentication Maze: Detecting Authentication Bypass Vulnerabilities in Firmware Binaries.

  • 方向: 漏洞挖掘与利用

  • 解读: 路由器、网关等嵌入式设备的 Web 服务常暴露于公网,认证绕过漏洞可让攻击者无凭证获得特权访问(如 Cisco IOS XE 的 CVE-2023-20198 曾感染超 14 万系统)。已有检测工具(Firmalice、Weasel)依赖手工标注或僵化启发式定位认证代码,面对 Basic、NTLM 等多种并存认证机制缺乏泛化能力。

作者提出 AuthSpark 动态分析框架,基于两个观察:成功与失败认证请求的执行轨迹在凭证校验语句(CVS)之前高度相似、之后显著分叉;认证结果变量沿控制/数据依赖传播。据此先用 LCS 分治与相似度评分定位 CVS,再迭代过程间数据流分析识别认证变量与认证成功基本块(ASBB),最后用覆盖、距离、字符串引导三类策略的定向灰盒模糊探索绕过路径,并做差分测试过滤误报。

在 12 个厂商 32 个固件(含 14 个已知漏洞)上,正确定位 42/44 个凭证校验点(Weasel 仅 16/44),检出全部 14 个已知漏洞(完整版识别 383 个 ASBB,消融显示各识别规则均显著贡献);对最新固件发现 6 个零日认证绕过漏洞,其中 4 个获官方编号(3 个 CVE、1 个 PSV)。

我的思考:把认证绕过检测形式化为”定位 CVS、识别 ASBB、探索绕过路径”三步,用轨迹差分这一动态手段替代脆弱启发式,泛化到不同认证机制,并以真实零日验证了实用性,是逻辑漏洞检测的重要进展。局限:仍需人工准备成功/失败请求对,超长执行轨迹会导致 CVS 误排,重托管(QEMU)与 GDB 追踪覆盖的架构有限。与 Firmalice/Weasel 相比自动化程度与准确率大幅提升,但认证绕过这类逻辑漏洞检测整体仍远未饱和,值得向更多设备类型扩展。

Discovering Blind-Trust Vulnerabilities in PLC Binaries via State Machine Recovery.

  • 作者: Fangzhou Dong, Arvind S. Raj, Efrén López-Morales, Siyu Liu, Yan Shoshitaishvili, Tiffany Bao, Adam Doupé, Muslum Ozgur Ozmen, Ruoyu Wang
  • 论文 PDF: Discovering Blind-Trust Vulnerabilities in PLC Binaries via State Machine Recovery.
  • 方向: 程序分析与形式化验证
  • 解读: PLC 程序对外设输入常”盲目信任”,缺失对越界/冲突传感器读数的安全检查,形成盲信漏洞(BTV)——波音 737 Max 事故即源于信任故障攻角数据;现有方法要么要求源码/设计文档,要么受状态爆炸困扰,且无法处理二进制。

Ta’veren 直接从 PLC 二进制恢复有限状态机:先按三条经验规则(存于非易失区、用于分支条件、先读后写)识别状态变量,再对扫描周期函数做符号执行,以”状态变量+输出变量”元组对具体状态去重得到抽象 FSM(定理保证状态变量完备时恢复健全),最后对恢复的 FSM 做模型检查验证安全策略(LTL 编码的 IllegalNode/IllegalTransition/Min/MaxDelay 等)。

在 22 个真实程序构建的二进制数据集(OpenPLC/Beremiz/Simulink 与手写 C/C++,覆盖 x86-64/ARM/MIPS/PPC/AVR8)上,20 条策略发现 23 个违规、其中 17 个确认为 BTV(范围处理不完整、输入检查错误、未处理输入组合、无条件接受输入、错误动作五类根因);FSM 恢复 13/20 与参考完全匹配,策略验证不足 0.5 秒;对 ArduPilot rover/copter 也发现 3 个 BTV。

该工作首次实现免源码、免固件重托管的 PLC 二进制安全分析,开源数据集是领域稀缺资产;局限在于不支持西门子/罗克韦尔等专有 ISA、需要手工构造环境模型与策略、状态变量识别依赖经验规则,且最复杂目标(CarW)分析需约 10 小时,规模化仍有挑战。

IsolatOS: Detecting Double Fetch Bugs in COTS RTOS by Re-enabling Kernel Isolation.

实时操作系统(RTOS)统治网络物理系统(超 22 亿嵌入式设备,QNX 2022 年已嵌入超 2.15 亿辆车),其内核读取同一用户空间内存多次而不验证一致性的 double-fetch 漏洞可致内核崩溃、提权乃至物理危害。但 COTS RTOS 内核专有、无源码,静态分析不可行;模拟器启发式(如 Bochspwn 用时间窗)误报率在抢占场景下超 87% 且开销巨大。

IsolatOS 是首个硬件支持的 COTS RTOS double-fetch 检测框架:重新启用 CPU 内核隔离(x86 SMAP 即 CR4 第 21 位、AArch64 PAN),内核访问用户内存即触发页错误;自定义故障处理器记录 PC、CPU 与目标地址等元数据并恢复执行(保证后续 fetch 仍可捕获);再以系统调用生命周期判定同一系统调用内对同地址的多次访问为 double-fetch,从而区分抢占与多核并发导致的跨系统调用访问。

相比模拟类检测器(QEMU-TCG 平均开销 79.3×),IsolatOS 原生运行,运行时开销降低 79.3 倍;在 QNX、VxWorks、seL4 上共发现 43 个此前未知漏洞(41 个获厂商确认,获 2 个 CVE);首次在 QNX procnto 6.6/7.0/8.0 内核发现 double-fetch 漏洞——该系首个公开披露的本地提权,影响量产汽车;Bochspwn 对同样负载产生 127.3GB 的 5 分钟追踪数据,IsolatOS 则轻量得多。

用现代 CPU 隔离特性替代源码与模拟器是精巧且可迁移的思路(误报根因中抢占占 18.7%,生命周期判定有效压低了它)。局限:需要对闭源内核二进制做静态分析以定位入口与上下文切换符,工程量与平台适配成本高;检测面限于内核从用户空间拷贝数据的那类系统调用。

Mens Sana In Corpore Sano: Sound Firmware Corpora for Vulnerability Research

  • 作者: René Helmke, Elmar Padilla, Nils Aschenbruck
  • 论文 PDF: Mens Sana In Corpore Sano: Sound Firmware Corpora for Vulnerability Research
  • 方向: 恶意软件与二进制分析
  • 解读:
    固件漏洞研究的语料库应科学健全,但构建困难重重:固件获取受专有格式与加密阻碍、解包前无法预知镜像内容、版权法限制数据分享。解包细节缺失、数量口径混乱、元数据匮乏都会危及可复现性与代表性,而社区对语料构建缺乏共识。

作者先蒸馏固件分析挑战(获取、解包、内容识别、ground truth 及 ISA/仿真/硬件接口等),提出三层指南框架:可复现性、代表性、方法导向三大目标,由 ground truth、相关性、数据洁净、丰富元数据、文档化、异构多样性六项要求支撑,附 16 个可测度量(日期、版本、哈希、去重、解包流程等)。据此审查 2013–2023 年 44 篇顶会论文,并自建遵循指南的 Linux 固件语料库 LFwC 验证可行性。

审查发现 44 篇论文无一完整记录全部 16 项度量:52% 未描述解包流程、32% 未交代获取方式、30% 未说明去重,抽象样本数与实际解包数口径混乱(如 Genius 称 33,045 设备、实解包 8,126);LFwC 含 10 家厂商 10,913 个可解包镜像(2,365 设备、22 类),共享元数据与脚本,一年后独立复现率达 99.73%;用例研究展示固件加固趋势分析(PIC 从 30% 升至 67%)。

这是典型的”研究之研究”:把语料方法学摆上台面,量化揭示顶会论文普遍存在的记录缺失与口径问题,指南可操作性强,LFwC 的独立复现实验很有说服力。局限:语料限于 Linux 网络设备(Type-I/II),审查带主观成分。对固件与二进制分析社区确立可复现基准有奠基意义。

A Comprehensive Memory Safety Analysis of Bootloaders

  • 作者: Jianqiang Wang (CISPA Helmholtz Center for Information Security), Meng Wang (CISPA Helmholtz Center for Information Security), Qinying Wang (Zhejiang University), Nils Langius (Leibniz Universität Hannover), Li Shi (ETH Zurich), Ali Abbasi (CISPA Helmholtz Center for Information Security), Thorsten Holz (CISPA Helmholtz Center for Information Security)
  • 论文 PDF: A Comprehensive Memory Safety Analysis of Bootloaders
  • 方向: 系统与操作系统安全
  • 解读: 引导加载程序(bootloader)连接固件与操作系统,是安全启动(secure boot)链中负责验证并加载操作系统镜像的关键一环。随着 bootloader 功能不断增多,代码规模与攻击面同步扩大,近年已发现多处内存安全漏洞,部分可导致拒绝服务甚至绕过 secure boot,但此前尚无针对 bootloader 的系统性内存安全分析。

该文基于既往 bootloader 漏洞调研,首次对 bootloader 内存安全进行系统分析:梳理各 bootloader 的潜在攻击面及其通向漏洞的路径,发现来自外设(如存储设备、网络)的恶意输入是攻击者利用漏洞的主要途径。基于该分析,作者设计并实现了面向 bootloader 的模糊测试框架,用于规模化检测漏洞。

实验中在九个 bootloader 内发现 39 个漏洞,其中 38 个为新漏洞;14 个位于广泛使用的 Linux 标准引导程序 GRUB 中,部分漏洞被恰当利用后可绕过 secure boot。迄今已有 5 个 CVE 分配至其发现。

这是首个面向 bootloader 的系统性内存安全研究,”攻击面-漏洞路径”分析为后续工作提供了方法论模板,模糊测试框架可直接复用于新 bootloader;GRUB 中 14 个漏洞及其 secure boot 绕过潜力凸显了启动链信任根的现实脆弱性。局限在于模糊测试对需特定外设硬件触发的解析路径覆盖有限,且分析主要聚焦内存安全、未涵盖逻辑类漏洞;与既有固件/内核模糊测试相比,其价值在于聚焦启动链这一高价值且常被忽视的代码层。

From Constraints to Cracks: Constraint Semantic Inconsistencies as Vulnerability Beacons for Embedded Systems.

  • 作者: Jiaxu Zhao, Yuekang Li, Yanyan Zou, Yang Xiao, Naijia Jiang, Yeting Li, Nanyu Zhong, Bingwei Peng, Kunpeng Jian, Wei Huo(中国科学院信息工程研究所等;UNSW)
  • 论文 PDF: From Constraints to Cracks: Constraint Semantic Inconsistencies as Vulnerability Beacons for Embedded Systems.
  • 方向: 漏洞挖掘与利用
  • 解读: 嵌入式 Web 服务由前后端不同团队开发,输入校验约束常不一致,攻击者可绕过前端校验直接攻击后端。作者抽样分析 18 家厂商 3,948 个 CVE 中的 324 个,发现 281 个(86.73%)漏洞源于约束语义不一致,证明不一致可作为漏洞信标。

NÜWA 将约束统一为 6 种语义表示(not_null、fix、include、excluded、num、len),前端从 HTML/JS 提取显式约束;后端基于 IDA 反编译,用函数摘要做过程间分析,经前向/后向切片在 ICFG 上按源-汇路径提取显式与期望约束,比较后端显式 vs 期望约束、前端 vs 后端显式约束的不一致并告警。

在 13 家厂商 31 个已知漏洞数据集上,NÜWA 检出 28 个已知漏洞并额外发现 12 个,精度 76%(51/67),比 SATC、EMTAINT、LARA、MANGO、OCTOPUS TAINT 分别多检出 18、22、6、17、19 个漏洞且精度最高;约束提取精度分别为 95%、86%、85%。应用于 38 台设备发现 152 个此前未知漏洞,全部获厂商确认,88 个已分配 CVE。

核心洞见是把检测视角从”源到汇路径追踪”转向”约束不一致”这一根因,实证扎实,避开污点传播规则与符号执行路径爆炸难题。局限:数据集仅限缓冲区溢出与命令注入两类(受基线限制);前端 JS 仅处理 JSON 格式、期望约束依赖人工总结的 sink 知识库,通用性受限;告警仍需人工构造 PoC 复核。总体上为固件静态分析提供新范式,约束语义提取的覆盖度与自动化仍是演进关键。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

无线与基带协议测试(5 篇)

LLFuzz: An Over-the-Air Dynamic Testing Framework for Cellular Baseband Lower Layers.

  • 作者: Tuan Dinh Hoang, Taekkyung Oh, CheolJun Park, Insu Yun, Yongdae Kim(KAIST、庆熙大学)
  • 论文 PDF: LLFuzz: An Over-the-Air Dynamic Testing Framework for Cellular Baseband Lower Layers.
  • 方向: 无线与通信安全
  • 解读:
    基带内存破坏可被空中远程利用(RCE、DoS、信息泄露),但既有工作几乎都聚焦 NAS/RRC 等 L3 协议;L2(MAC/RLC/PDCP)与 L1(PHY)仅有 5Ghoul、Goos 等零星尝试,受限于旧代协议或默认配置。低层报文(RAR、MAC CE、PDCP 头)不受加密与完整性保护,即便 AKA 之后也可被篡改,且多逻辑信道并存、报文结构可由 RRC 信令动态配置,是系统性忽略的高价值攻击面。

LLFUZZ 提出信道驱动、配置感知的空中模糊框架:手工分析 3GPP 规范,按 Attach 流程定义四个信道导向状态(依 CCCH/DCCH-1/DCCH-2/DTCH 的建立),据此确定活跃信道与报文映射;规范引导的用例生成覆盖 MAC 的 RAR/DL-SCH/14 种 CE、RLC 的 18 种、PDCP 的 17 种结构与 PHY 的 11 种 DCI 格式,按”初始生成-截断-头部变异-载荷变异-封装到正确信道”流水线产出;用 RRC Reconfiguration 主动下发 srsRAN 不支持的目标配置(如 RLC 16 位 SN),以 ADB logcat 崩溃日志为 oracle 并用厂商调试模式复验。

在 Qualcomm、MediaTek、Samsung Exynos、Google Tensor、Huawei Kirin 五厂商 15 款商用基带(USRP X310 + srsENB、屏蔽箱隔离)上生成 121,433 个用例,发现 9 个未知内存破坏:MAC 5 个、RLC 2 个、PDCP 2 个,5 个已获 CVE(如 CVE-2024-23385、CVE-2024-20076)。稳定条件下吞吐达 220 用例/60 秒,单设备测试需 42.5–58.5 小时;多个漏洞与状态强绑定(如 B2 仅 State 1 触发),且 State 4 漏洞可经 SigOver/MitM 在 AKA 之后无密钥利用。

我的思考:LLFUZZ 把基带模糊焦点从信息最丰富的 L3 移到安全最薄弱的低层,以”信道状态+可配置结构”两轴系统化覆盖,弥补了 5Ghoul 依赖默认 gNB 配置的盲区;规范驱动生成保证用例能穿透 MAC 校验到达目标层。局限:以崩溃为唯一 oracle 漏掉逻辑缺陷;状态定义与结构清单全手工,扩展 5G 需大量工程;空中测试比仿真慢若干数量级,但换来闭源商业基带的真实保真。与 BLuEMan 共同形成”无线协议栈低层化”趋势。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

BLuEMan: A Stateful Simulation-based Fuzzing Framework for Open-Source RTOS Bluetooth Low Energy Protocol Stacks.

  • 作者: Wei-Che Kao, Yen-Chia Chen, Yu-Sheng Lin, Yu-Cheng Yang, Chi-Yu Li, Chun-Ying Huang(台湾阳明交通大学)
  • 论文 PDF: BLuEMan: A Stateful Simulation-based Fuzzing Framework for Open-Source RTOS Bluetooth Low Energy Protocol Stacks.
  • 方向: 无线与通信安全
  • 解读:
    BLE 年出货数十亿台,协议栈漏洞(BlueBorne、BlueFrag 等)可致 DoS 与代码执行。现有 BLE 模糊测试分平台型(SweynTooth、BrakTooth,用 dongle 交互真机,保真但不可扩展)与仿真型(Frankenstein、VirtFuzz 受限于芯片与 VirtIO 宿主),缺乏既高保真又可扩展的全栈方案。

BLuEMan 走”仿真型”第三条路:以 RTOS(Zephyr/Mynewt)+ 软件 PHY 模拟器(BabbleSim)把真实 BLE 协议栈编译成单一 ELF 在 Linux 上运行。MITM 架构在 PHY 桥接口 patch 包拦截器,截获交互 app 发往目标 app 的真实报文供变异后再注入,用真实交互生成高质量种子并支持任意协议状态的有状态遍历(无需模拟 BLE 状态机);状态收集器移植 AFL 边覆盖并支持 ASan/UBSan;可堆叠变异架构按 LL/L2CAP/SM/ATT 层识别并加权变异。

包传输率达 19315 包/分钟,分别比 BTFuzz(1073)与 SweynTooth(119)快约 18.0 倍与 162.3 倍;字段感知变异相对 AFL-only 与随机变异边覆盖提升 6.14%–256.49% 与 4.48%–40.05%;发现 4 个新漏洞(LL 缓冲区溢出 CVE-2023-4424、ATT 整数下溢 CVE-2024-3077、SM 竞态 CVE-2024-3332、LL 除零 CVE-2024-4785),全部获 CVE,其中 3 个无需配对即可远程 DoS。

我的思考:BLuEMan 把”PHY 模拟器内 MITM”作为通用架构,同时解决种子质量、可追踪性与有状态覆盖,单 ELF 编译使插桩、sanitizer 与调试无缝可用,工程化程度较高;与仅测 HCI 以上主机层的 BTFuzz 相比,其 PHY 入口覆盖了控制器的 LL 层。局限:依赖可移植到 Zephyr/Mynewt 的开源栈,闭源厂商栈无法覆盖;包驱动工作流受 app 交互频率限制,两个 CVE 耗时超 1900 分钟,单漏洞发现效率仍可提升。整体为开源 BLE 栈测试提供了可复现的高吞吐基准。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

MBFuzzer: A Multi-Party Protocol Fuzzer for MQTT Brokers.

  • 作者: Xiangpu Song, Jianliang Wu, Yingpei Zeng, Hao Pan, Chaoshun Zuo, Qingchuan Zhao, Shanqing Guo(山东大学、西蒙弗雷泽大学、杭州电子科技大学、俄亥俄州立大学、香港城市大学)
  • 论文 PDF: MBFuzzer: A Multi-Party Protocol Fuzzer for MQTT Brokers.
  • 方向: 网络与协议安全
  • 解读:
    MQTT broker 连接海量 IoT 设备,其缺陷影响所有参与者。现有模糊器(SGFuzz、Fume、AFLNet)都采用两方模型(模糊器扮演单一客户端),无法触达多参与者通信代码(如 bridge 转发、通配符订阅与系统主题的访问控制交互),也不覆盖规范符合性缺陷。如 CVE-2024-42655:NanoMQ 禁止 sub 用户订阅 $SYS 主题,但订阅 +/+/+ 后 broker 仍转发系统主题 PUBLISH——需第三方发布者配合且无崩溃症状,现有工具无法检出。

MBFuzzer 设计双发送者(发布者+订阅者)黑盒框架:从规范手工提取六条依赖规则,用共享依赖队列协调两发送者的消息生成,以扩展 Petri 网形式化建模;用差分测试(同时驱动 6 个 broker 逐字段比对)检测非合规缺陷并作为反馈,Q-learning 优先级调度器按不一致反馈加权消息类型;LLM 分析器(prompt chaining + 规范增强)自动验证不一致用例并定位违规条款。

在六个跨 Erlang/C/Java 的主流 broker 上发现 73 个新缺陷:20 个内存缺陷(全部确认,含 Mosquitto 双释放 CVE-2024-3935、NanoMQ UAF 与多个可致 RCE 的溢出)与 53 个非合规缺陷,共获 11 个 CVE,69 个获厂商确认;LLM 分析器准确率超 90%。相对 AFLNet/SGFuzz/Fume,覆盖率分别高 24%/26%/5%,内存缺陷检出 8 对 2/2/6 个,且只有 MBFuzzer 检出非合规缺陷。

我的思考:本文把协议模糊从单客户端扩展到多参与者视角,与 Camveil、BLuEMan 共同揭示 IoT 协议测试的共同盲区;用差分测试做跨实现 oracle、用 LLM 自动消化不一致报告,是对人工分析瓶颈的务实自动化。局限:依赖规则靠人工提取,差分测试多 broker 并行使吞吐下降(消息数仅 Fume 的 7.7%),LLM 判定仍以人工确认兜底。整体为 broker 类服务端协议模糊提供了可复制范式。

  • 来源: USENIX Security 2025(完整解读见对应顶会博文)

Semantics Over Syntax: Uncovering Pre-Authentication 5G Baseband Vulnerabilities

  • 作者: Qiqing Huang and Xingyu Wang, Wanda Guo and Guofei Gu, Hongxin Hu
  • 论文 PDF: Semantics Over Syntax: Uncovering Pre-Authentication 5G Baseband Vulnerabilities
  • 方向: 无线与通信安全
  • 解读: 5G UE 在认证与完整性保护建立前就要处理下行 RRC 配置消息,此前 OTA 测试聚焦语法无效输入(随机/语法变异);作者证明语法有效但违反规范字段约束或跨字段依赖的”语义不一致”消息,能驱动基带进入非法状态、触发断言失败或调制解调器崩溃,揭示预认证阶段被忽视的攻击面。

CONSET 将约束分为四类:字段值范围与字段存在性(从 TS 38.331 的 ASN.1 确定性提取,含 Need M/Need R 语义),IE 内与 IE 间依赖(散布在 38.2xx 规范散文里)。后者以”证据受限”方式交给 LLM(GPT-4o,温度 0):只喂 ASN.1 片段+规范句子的证据包,产出 DSL 规则再经确定性门过滤,共处理 11,005 个字段对、得到 217 条候选规则;突变引擎做最小编辑并用 pycrate 重编码,保证每个用例语法有效且归因于单一约束。

商业手机上(10 款、4 个芯片族)经 SDR 空中注入发现 7 个此前未知漏洞,其中 3 个高危 CVE(MediaTek:CVE-2025-20644/20666/20703),影响 64 个芯片型号、超过 542 款商用手机;开源 OAI UE 上触发 29 个可复现崩溃点(摘要称 46 个,正文细分为范围 16/存在性 5/IE 内 8/IE 间 3),4 个修复已上游合并、1 个 CVE(CVE-2025-63356)。对比穷举枚举:约束引导仅 1,458 个输入(0.76 天)vs 枚举 30,600 个(15.94 天),并证明 86.4% 的 IE 内规则依赖跨文档证据。

我的思考:把”语义一致性”从规范散文系统化为可执行测试的高质量流水线,LLM 被严格限制在证据范围内、用 DSL 规范化+确定性校验抑制幻觉,是可复现的规范→测试范式。注意摘要(46)与正文(29)崩溃点数不一致,属论文自身瑕疵。局限:以 DoS 为主、仅覆盖预认证 RRCSetup、未评估认证后阶段;对民用 5G 基带安全研究是重要补充,与 5Ghoul 等语法 fuzzer 形成互补。

Stateful Analysis and Fuzzing of Commercial Baseband Firmware.

  • 作者: Ali Ranjbar, Tianchang Yang, Kai Tu, Saaman Khalilollahi, Syed Rafiul Hussain(宾夕法尼亚州立大学)
  • 论文 PDF: Stateful Analysis and Fuzzing of Commercial Baseband Firmware.
  • 方向: 移动与物联网安全
  • 解读: 基带固件闭源、复杂且高度有状态(4G 基带约 100 个任务、5G 超 150 个任务,任务间存在复杂依赖)。OTA 黑盒测试单个用例约需 1 分钟且无法内省内部状态;FirmWire 整机仿真忽略任务间依赖与状态、BaseSAFE 逐函数测试无法发现跨函数缺陷、BaseComp 仅测完整性保护。大量代码区域被协议状态门控(如安全上下文未建立时消息被直接丢弃),现有方法覆盖低、系统性漏掉有状态漏洞。

LORIS 采用”单任务隔离+状态变量直接实例化”策略:按协议层定位处理目标 OTA 消息的任务;用动态执行(钩住内存访问)+ 静态交叉引用识别候选状态变量,再以”循环内先使用后定义”判据筛出真状态变量(每任务约 100 个);提出迭代符号执行——每轮仅把一个按大小/控制分支深度/分支数排序的状态变量置为符号,复用不受新符号变量影响的既有分支结果,配合检查点路径剪枝与 memcpy 等易爆炸函数的模拟化替换缓解状态爆炸;由 SMT 求解状态前置条件生成具体状态快照,fuzzer 在各快照上做语法感知变异(CFG+领域语义注解),并以仿真堆管理器(2S 分配+释放钩子)作为内存安全 oracle。

LORIS 首次支持商用 5G 基带的逆向与仿真(扩展 FirmWire 支持 Exynos 5G 的 Cortex-A 处理器与新外设);在三星与联发科的 5 款设备(Galaxy S10/S20/S21、Pixel 6、Galaxy A41,覆盖 4G LTE 与 5G NR NAS)上,平均每任务识别约 65,000 个候选状态变量、100 个真状态变量、300 组前置条件;24 小时 fuzzing 发现 8 个新漏洞,7 个可被 OTA 利用(如 V1:operator-defined access category 定义 IE 解码中 uint8 偏移整数溢出导致栈溢出,可写任意栈位置、潜在 RCE),全部获厂商确认,2 个高危、1 个严重,5 个已修复并分配 CVE(CVE-2024-52924 等)。

该工作把”状态”从障碍变成抓手:用符号分析自动推导协议状态前置条件并直接实例化内存快照,绕开生成多步输入序列或手工 harness 的传统路线;迭代符号执行+排名+检查点剪枝对状态爆炸的缓解兼具巧思与工程性。局限:状态变量识别依赖”先使用后定义”启发式与可动态执行到消息等待点的前提;每任务 24 小时符号分析成本偏高;聚焦 NAS 层意味着 RRC 等下层交互未覆盖;与 BaseSAFE 的 NAS 4G 目标相比,LORIS 实现”全任务+状态感知”是明显进步,是基带安全从”黑盒试探”走向”有状态灰盒”的代表作,为后续 5G 基带系统化测试奠定了基础。

  • 来源: IEEE S&P 2025(完整解读见对应顶会博文)

智能家居设备攻击面(2 篇)

Discovering and Exploiting IoT Device Hidden Attributes: A New Vulnerability in Smart Homes.

  • 作者: Xuening Xu, Chenglong Fu, Xiaojiang Du, Bo Luo(美国史蒂文斯理工学院、北卡罗来纳大学夏洛特分校、堪萨斯大学)
  • 论文 PDF: Discovering and Exploiting IoT Device Hidden Attributes: A New Vulnerability in Smart Homes.
  • 方向: 移动与物联网安全
  • 解读: 智能家居平台(Samsung SmartThings、Amazon Alexa)通过”边缘驱动(edge driver)”把第三方设备接入统一生态,但驱动往往只映射设备的部分属性。作者揭示了一类此前未被安全社区注意的新漏洞——“隐藏属性”:设备原生支持、攻击者可通过设备 API 改写以改变行为,却无法在平台端被用户查看或管理的属性。被静默篡改后设备行为偏离用户预期且无任何告警,可能引发入室盗窃、火灾等安全后果,还可被用作长期后门。

方法上,作者先给出隐藏属性的形式化定义(设备实现+可被 API 修改+驱动未映射),再提出系统化发现流程:对 Zigbee 设备用 Discover/Read Attributes 命令遍历全部 16 位属性 ID 与厂商特定簇(限定扫描约 2 小时),用 Write Attributes 的 SUCCESS/INVALID_VALUE/READ_ONLY 三种返回码探测合法取值域;Z-Wave 用 Z-Wave JS、Wi-Fi 用 SSDP 发现属性;最后与 SmartThings API/驱动源码提取的可见属性比对得出隐藏集。攻击端利用 Disconnection 攻击迫使网关进入配对窗口,攻击设备加入 Zigbee 网络获取网络密钥后直接发送 Write Attributes 命令。

实验覆盖 16 家厂商 31 款商用设备(Zigbee/Z-Wave/Wi-Fi),全部存在隐藏属性,共识别 119 个(其中 26 款 Zigbee 设备上 88 个);在 SmartThings 与 Alexa 上完成端到端攻击演示:将 Yale/Kwikset 智能锁自动重锁时间从 15 秒延长到 180 秒、关闭一键上锁、把 SendPINOverTheAir 置 True 致 PIN 明文泄露、将智能警笛 MaxDuration 置 0 静音、篡改传感器上报间隔使”离家布防”等自动化规则失效。2023 年 2 月披露后 CSA、三星、亚马逊均确认,亚马逊奖励 2500 美元;作者另发布不足 200KB 的 edge driver 自动补丁工具(一行命令生成补丁驱动并支持变更通知)。

该工作的成色在于把”驱动不完备”这一工程问题升格为系统性的安全漏洞类别,跨协议、跨平台验证扎实,且给出可行的自动化缓解方案。局限同样明显:攻击依赖 Zigbee 默认链路密钥与配对窗口等已知前置弱点,对采用 MAC 层加密或 Matter 等严格数据模型的场景影响递减;结论以设备实测为主,规模化受物理设备限制;自动补丁仅支持 SmartThings,对 Alexa 等平台仍需厂商配合。与 BLE/GATT、Google Home、HomeKit 的推广多为推演而未经实测。总体而言,它揭示了”设备功能与平台抽象之间的解耦层”是智能家居攻击面的富矿,值得生态各方共同补位。

  • 来源: ACM CCS 2025(完整解读见对应顶会博文)

EAGLEYE: Exposing Hidden Web Interfaces in IoT Devices via Routing Analysis

  • 作者: Hangtian Liu, Lei Zheng, Shuitao Gan, Chao Zhang, Zicong Gao, Hongqi Zhang, Yishun Zeng, Zhiyuan Jiang, Jiahai Yang (Information Engineering University & Tsinghua University)

  • 论文 PDF: EAGLEYE: Exposing Hidden Web Interfaces in IoT Devices via Routing Analysis

  • 方向: 移动与物联网安全

  • 解读: 隐藏Web接口(未在文档中披露但可访问的通道)在IoT设备中带来巨大安全风险:CVE-2023-3519(Citrix,CVSS 9.8)即隐藏接口中的栈溢出导致未授权远程代码执行。但隐藏接口定义模糊、无公开模式,静态分析与传统模糊测试都难以发现。本文提出EAGLEYE,通过路由分析自动暴露IoT设备中的隐藏Web接口。
    关键观察是:固件常用特定路由机制(routing mechanism)把请求分发到处理函数,公共接口与隐藏接口共享相似的请求模式,仅动作或文件名(路由令牌)不同。EAGLEYE先分析公共接口请求识别路由令牌,再用大语言模型分析令牌上下文、归纳其公共模式并推断候选值,最后用候选值作为高质量字典,对路由令牌做隐藏接口定向的黑盒变异模糊测试。
    在13款商用IoT设备上,EAGLEYE发现79个隐藏接口,是SOTA方案IoTScope的25倍;其中进一步发现29个未知漏洞,包括后门、XSS、命令注入和信息泄露,已获得7个CVE。
    我认为”从公开接口反推路由令牌再枚举”的洞察优雅地解决了隐藏接口无模式可循的问题,LLM承担了此前依赖专家经验的模式归纳任务。局限是依赖公共接口的存在与固件路由机制的规律性,对无Web接口或高度混淆固件的设备效果未知;与IoTScope相比,”认证后隐藏接口”也被纳入定义,覆盖面更广。

  • 论文 PDF: EAGLEYE: Exposing Hidden Web Interfaces in IoT Devices via Routing Analysis

  • 来源: NDSS 2025(完整解读见对应顶会博文)