← 最新论文
💻 computer science

PowerFuzz: Power-Based Black-Box Firmware Fuzzing

PowerFuzz 是一个利用功耗侧信道测量来重构控制流图并指导测试生成,从而实现与灰盒模糊测试相当的分支覆盖率,且显著优于现有黑盒方法的统计黑盒固件模糊测试框架。

原作者: Dakshina Tharindu, Sahan Sanjaya, Philip Baptist, Prabhat Mishra

发布于 2026-06-24
📖 1 分钟阅读☕ 轻松阅读

原作者: Dakshina Tharindu, Sahan Sanjaya, Philip Baptist, Prabhat Mishra

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

想象一下,你拥有一个全新的、被锁定的黑盒(一段计算机固件),它控制着像医疗植入物或智能恒温器之类的设备。你想破解它以寻找隐藏的弱点,但你无法打开这个盒子,你没有蓝图(源代码),甚至在它运行时你也无法看到内部的情况。这就是“黑盒”问题。

通常,为了有效地测试软件,专家们会使用“灰盒”方法。他们拥有观察代码的窗口。他们可以看到软件进行的每一次转向,就像 GPS 追踪驾驶员的路线一样。如果驾驶员换了一条路,GPS 会说:“太棒了!我们发现了一条新路径!”然后测试者就会专注于那个区域。

但面对一个锁定的黑盒,测试者是盲目的。他们向盒子投掷随机输入,并寄希望于能发生一些有趣的事情。这就像在黑暗中投掷飞镖;你最终可能会击中目标,但这极其低效。

迎来 PowerFuzz:“电力侦探”

佛罗里达大学的研究人员发明了一个巧妙的技巧,叫做 PowerFuzz。与其试图看透盒子内部,不如去倾听这个盒子消耗了多少电量。

其核心思想是:每当盒子内部的计算机做出一个决策(例如“如果温度过高,则开启风扇”),它都会消耗微小且独特的电量。 这就像一个人的心跳会根据是在走路、跑步还是睡觉而发生轻微变化一样。

PowerFuzz 的工作原理(类比)

想象你正在尝试绘制一个迷宫的地图,但你看不见墙壁。你的一个朋友就在迷宫里,他无法和你说话,但你可以通过地板听到他的脚步声。

  1. 倾听脚步声(功率迹线/Power Traces):
    PowerFuzz 向设备发送一条测试消息(一个“飞镖”)。当设备处理这条消息时,PowerFuzz 会记录其功耗图表。这个图表就是设备“思考”的“足迹”。

  2. “滑动窗口”侦探(寻找转折点):
    系统会将新的功率图表与旧的图表进行比较。

    • 问题: 有时设备运行相同的路径,但由于微小的电学“噪声”(就像朋友走在嘎吱作响的地板上),功率图表看起来会有所不同。
    • 解决方案: PowerFuzz 使用了一种称为**动态时间规整(Dynamic Time Warping)**的数学工具。你可以把它想象成一把灵活的尺子,它可以拉伸或收缩图表,使它们完美对齐,从而忽略微小的嘎吱声,专注于大局。
    • “增长窗口”: 一旦它找到了图表可能出现差异的大致位置,它就会通过一个“增长窗口”进行放大,以精准定位设备转向的确切时刻。
  3. 绘制地图(TCFG):
    每当 PowerFuzz 发现一个新的转折点(代码中的一个新分支)时,它就会在名为**追踪引导控制流图(Trace-guided Control Flow Graph, TCFG)**的地图上绘制一个节点。

    • 起初,地图只是一条线。
    • 随着它发现新的路径,地图会像树木一样分叉。
    • 至关重要的是,这张地图完全是通过倾听电力信息构建的,从未真正“看到”过代码。
  4. 智能向导(分支选择):
    现在 PowerFuzz 有了地图,它不再随机投掷飞镖。它观察地图并说道:“嘿,我们还没有探索树底部那个深邃、黑暗的分支。让我们把下一个飞镖瞄准那里。”它会优先考虑那些最难到达的路径,就像一个聪明的探险家一样。

结果:效果如何?

研究人员在真实硬件(如路由器和医疗设备中使用的微控制器)上进行了测试,使用了十种不同的软件程序。他们将 PowerFuzz 与以下对象进行了对比:

  • 随机测试: 在黑暗中投掷飞镖。
  • Fuzz'EMup: 当前最优秀的“黑盒”方法,它使用电磁波(类似于无线电)而非电力。
  • 灰盒模糊测试(Gray-Box Fuzzing): 这是“金标准”,即他们可以看到代码的方法(用作基准,以获得最佳结果)。

研究结果:

  • 击败竞争对手: PowerF enough 发现的隐藏路径明显多于随机测试者和电磁波方法(Fuzz'EMup)。在某些情况下,它发现的代码路径比之前的最佳黑盒方法多出 22%
  • 追赶“上帝模式”: 尽管 PowerFuzz 无法看到代码,但它找到的路径数量几乎与能够看到代码的“灰盒”方法持平。它达到了完美得分的 13.5% 以内。
  • 通用性应用: 它在不同类型的计算机芯片(ARM 和 AVR)上表现同样出色,证明了它是一个多功能的工具。

总结

PowerFuzz 就像一位侦探,他解决谜题的方式不是通过阅读嫌疑人的日记(代码),而是通过倾听他们脚步的节奏(功耗)。通过绘制这些节奏,它构建出了软件逻辑的心理地图,从而能够比在黑暗中瞎猜更快、更有效地搜寻隐藏的弱点。它证明了,你不需要看透黑盒内部也能理解它的思维方式;你只需要倾听它如何通电运作。

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

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

试用 Digest →