本文提出 SmuFuzz,一个面向闭源厂商固件中 System Management Mode (SMM) 应用的模糊测试框架,旨在解决现有 SMM 模糊测试缺少完整 UEFI 运行时环境的问题。在 UEFI 标准下,x86 处理器上的 SMM 用于处理关键硬件事件,运行于 Ring -2 特权级,对系统资源拥有近乎无限的访问权限;然而厂商普遍使用内存不安全的语言开发 SMM 应用,导致其容易受到内存破坏漏洞影响并成为攻击者的高价值目标。现有 SMM 模糊测试方法由于没有完整 UEFI 运行时来支撑 SMM 应用的准备、初始化和收尾,应用数据常常未被正确初始化,一旦模糊测试访问未初始化数据,就会引发提前退出或非预期崩溃,导致只能探索到浅层代码并产生大量误报。SmuFuzz 通过部分重托管 SMM 应用,在一个提供完整 UEFI 运行时的定制基础设施上运行,自动补齐依赖与运行时,使目标应用能够正确初始化和正常执行;同时,SmuFuzz 自动推断复杂 SMM 应用的输入语义以实现深度探索。实验表明,与最先进的模糊器相比,SmuFuzz 的唯一基本块覆盖率达到 4.45 倍,同时发现更多漏洞并显著降低了误报率。利用 SmuFuzz,作者在多家主要厂商的固件中识别出 38 个新漏洞,并均已负责任地披露。该工作对 UEFI 固件安全研究、蓝队固件漏洞评估以及 SMM 模糊测试工具选型具有重要参考价值,适合固件安全研究员、漏洞挖掘工程师及固件供应链安全审计人员阅读。
💡 推荐理由: SMM 漏洞影响固件信任根级别,现有模糊测试因缺少完整 UEFI 运行时而效果欠佳。SmuFuzz 通过部分重托管和运行时仿真显著提高覆盖率并降低误报,为固件漏洞挖掘提供了更可靠的手段,有助于蓝队提前发现上游固件风险。
🎯 建议动作: 研究跟进