← 最新论文
💻 computer science

FirmReBugger: A Benchmark Framework for Monolithic Firmware Fuzzers

本文介绍了 FirmReBugger,这是一个整体基准测试框架,它利用漏洞判定依据(bug oracles)和一组多样化的真实世界目标(FirmBench),在不修改目标二进制文件的情况下,公平且准确地评估单体固件模糊测试工具,并通过对九种最先进工具的大规模可复现性研究证明了其有效性。

原作者: Mathew Duong, Michael Chesser, Guy Farrelly, Surya Nepal, Damith C. Ranasinghe

发布于 2026-02-09
📖 1 分钟阅读☕ 轻松阅读

原作者: Mathew Duong, Michael Chesser, Guy Farrelly, Surya Nepal, Damith C. Ranasinghe

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你有一个巨大的、锁着的盒子(即固件),它控制着一个智能设备,比如恒温器或无人机。这个盒子是“单体式”的,这意味着所有的齿轮、弹簧和杠杆都焊接在一起,成了一个坚固的整体,没有任何操作系统来协助管理它们。

你的目标是在坏人发现这些弱点(漏洞)之前,先找到这些弱点。为此,你雇佣了一个“模糊测试器”(fuzzer)——一个机器人,它向这个盒子投掷数百万个随机、混乱的输入,看看它是否会崩溃。

问题所在:我们如何知道哪个机器人才是真正优秀的?

目前,研究人员尝试通过两种有缺陷的方法来评判这些机器人:

  1. 代码覆盖率(“游客”指标): 他们计算机器人在盒子的各个房间里访问了多少个房间。但这里有个陷阱:如果机器人发现墙上有一个洞并掉了进去,它可能会意外地落入一个它本不该看到的房间。这时机器人看起来像个伟大的探险家,但它其实是通过破坏规则来作弊了。
  2. 唯一崩溃次数(“噪声”指标): 他们计算盒子崩溃了多少次。但由于这些盒子非常复杂,同一个损坏的齿轮可能会根据噪声发生的时间不同,导致盒子以 100 种不同的方式崩溃。机器人可能会报告 100 次崩溃,但实际上它只是把同一个问题发现了 100 次而已。

因此,很难判断一个新机器人是真的变聪明了,还是仅仅更擅长作弊或制造噪声。

解决方案:FirmReBugger

作者构建了一个名为 FirmReBugger 的新系统。你可以把它想象成一个极其严格的裁判,它观察机器人的比赛,但不会干预比赛本身。

它是这样工作的,使用了一个创意类比:

1. “漏洞预言机”(宝藏地图)

研究人员不再靠猜测机器人是否找到了漏洞,而是为每一个已知的漏洞创建了一张特定的“宝藏地图”。他们称这些地图为 Ravens

  • 一个 Raven 是一张简单的指令卡,上面写着:“如果机器人到达了代码中的这个特定位置,且内存看起来像这样,那么就意味着发现了一个漏洞。”
  • 这就像一名知道失窃物品长什么样的保安。如果机器人带进来的物品符合描述,保安就会敲响警钟。

2. “重放”(时间旅行者)

裁判不会在机器人投掷输入时进行观察(因为那样会很混乱)。相反,它会在机器人结束工作后,拿走机器人的“投掷清单”(种子),并在模拟器中进行重放

  • 在重放过程中,裁判使用“宝藏地图”(Ravens)来精确检查发生了什么。
  • 它可以区分以下情况:
    • 已到达 (Reached): 机器人进入了那个房间。
    • 已触发 (Triggered): 机器人触碰到了弱点。
    • 已检测到 (Detected): 机器人弄坏了盒子。
    • 未到达 (Not Reached): 机器人从未接近过。

这确保了机器人没有通过破坏盒子来进入房间从而作弊。裁判知道真相。

3. “障碍赛”(FirmBench)

为了公平地测试机器人,作者建立了一个名为 FirmBench 的健身房。它包含了 61 个不同的“盒子”(真实的固件)和 313 个已知的弱点。

  • 标准健身房: 入口简单,没有奇怪的锁。
  • 困难健身房: 包含“魔法值”(必须猜中的秘密密码)、“复杂外设”(只有说特定语言的奇怪硬件)以及“DMA”(绕过正门进入的秘密隧道)。
  • “X”健身房: 最难的版本,这里的盒子完全保持在现实世界中的状态,保留了所有复杂的锁和隧道。

他们的发现

作者在健身房中测试了 9 个顶尖的机器人。结果如下:

  • 作弊者: 一些机器人在“标准健身房”中表现出色,因为它们利用漏洞进入了新区域,从而夸大了自己的得分。FirmReBugger 识破了这一点,并给了它们一个更诚实的低分。
  • 魔法密码: 许多机器人因为无法猜中“魔法值”(比如 PIN 码)而卡住了。只有那些拥有特殊字典或聪明猜测策略的机器人才能通过这些关卡。
  • 秘密隧道 (DMA): 大多数机器人对“DMA”隧道视而不见。它们无法向这个秘密路径注入数据,因此错过了隐藏在那里的漏洞。只有少数专门化的机器人能够导航其中。
  • 时间浪费者: 一些盒子拥有“睡眠定时器”或“忙碌循环”,这让机器人不得不等待数小时。这极大地拖慢了它们的进度,导致它们在一天之内找不到多少漏洞。

核心结论

FirmReBugger 是一种全新的、诚实的评估固件模糊测试器的方法。它通过使用“宝藏地图”来验证机器人到底发现了什么,从而阻止了机器人作弊。它表明,虽然有些机器人正在变得更强大,但它们在面对现实世界的障碍(如秘密密码、复杂硬件和隐藏隧道)时仍然感到吃力。

作者将他们的“宝藏地图”和“健身房”向所有人开放,以便未来能更公平地测试机器人,帮助我们构建更安全的设备,迎接未来。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →