paperbot · PL 论文追踪

全部论文 待读 收藏

P2 μAFL

μAFL:面向微控制器固件的硬件在环模糊测试
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 2/10 · 该论文聚焦于微控制器固件的硬件在环模糊测试(动态测试),属于嵌入式系统安全领域,与用户关注的静态分析、LLM/Agent与程序分析交叉、浮点程序分析或贝叶斯程序分析均无直接关联。尽管其问题驱动和工业落地发现零日漏洞的特点符合部分研究偏好,但研究方向匹配度很低。引用 63 inbox
Wenqiang Li, Jiameng Shi, Fengjun Li, Jingqiang Lin, Wei Wang, Le Guan
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出硬件在环的微控制器固件模糊测试框架 μAFL,用 ARM ETM/DWT 收集覆盖率并发现多个零日漏洞。

微控制器固件模糊测试面临挑战:重托管方案难以准确建模外设行为,无法测试相应驱动代码。μAFL 采用硬件在环方式,利用嵌入式调试工具构建与 AFL 兼容的框架,用调试器连接 PC 端测试环境与 MCU 目标固件。为在无插桩下收集覆盖率,它依赖 ARM ETM 硬件调试特性透明收集指令轨迹并传输到 PC;针对原始 ETM 数据难解析、计算开销大的问题,提出保持 AFL 路径敏感度且可直接处理原始 ETM 的覆盖率表示,并用 DWT 选择性收集运行时信息。在 NXP 与 ST 真实开发板上评估,发现 ST SDK 驱动 10 个、NXP SDK 3 个零日漏洞,其中 8 个获 CVE 编号。

问题
微控制器固件模糊测试困难,尤其是重托管方案无法准确建模外设,导致驱动代码难以被有效测试。
方法
μAFL 采用硬件在环框架,通过调试器桥接 PC 与 MCU,利用 ARM ETM 透明收集指令轨迹并提出可直接处理原始 ETM 的覆盖率表示,同时用 DWT 选择性收集运行时信息,从而无需代码插桩即可与 AFL 兼容。
评估
在 NXP 和 STMicroelectronics 的真实开发板上评估原型,发现 ST SDK 驱动中 10 个、NXP SDK 中 3 个零日漏洞,其中 8 个获得 CVE 编号。
原文摘要(Abstract)

Fuzzing is one of the most effective approaches to finding software flaws. However, applying it to microcontroller firmware incurs many challenges. For example, rehosting-based solutions cannot accurately model peripheral behaviors and thus cannot be used to fuzz the corresponding driver code. In this work, we present $\mu$ AFL, a hardware-in-the-loop approach to fuzzing microcontroller firmware. It leverages debugging tools in existing embedded system development to construct an AFL-compatible fuzzing framework. Specifically, we use the debug dongle to bridge the fuzzing environment on the PC and the target firmware on the microcontroller device. To collect code coverage information without costly code instrumentation, $\mu$ AFL relies on the ARM ETM hardware debugging feature, which transparently collects the instruction trace and streams the results to the PC. However, the raw ETM data is obscure and needs enormous computing resources to recover the actual instruction flow. We therefore propose an alternative representation of code coverage, which retains the same path sensitivity as the original AFL algorithm, but can directly work on the raw ETM data without matching them with disassembled instructions. To further reduce the workload, we use the DWT hardware feature to selectively collect runtime information of interest. We evaluated $\mu$ AFL on two real evaluation boards from two major vendors: NXP and STMicroelectronics. With our prototype, we discovered ten zero-day bugs in the driver code shipped with the SDK of STMicroelectronics and three zero-day bugs in the SDK of NXP. Eight CVEs have been allocated for them. Considering the wide adoption of vendor SDKs in real products, our results are alarming.

链接与引用

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

BibTeX
@inproceedings{LiSLL0G22,
  title = {μAFL},
  author = {Wenqiang Li and Jiameng Shi and Fengjun Li and Jingqiang Lin and Wei Wang and Le Guan},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510208}
}