← 最新论文
💻 computer science

SoK: ARCUS: On the Efficiency and Efficacy of Hardware Fuzzing

本文对跨越指令集架构(ISA)、微架构和寄存传输级(RTL)抽象层的硬件模糊测试技术进行了全面分析,在识别关键挑战和未满足需求的同时,提出了旨在开发更高效、更可靠的验证解决方案的未来研究方向。

原作者: Alenkruth Krishnan Murali, Raghul Saravanan, Sai Manoj P D, Ashish Venkat

发布于 2026-08-26
📖 1 分钟阅读☕ 轻松阅读

原作者: Alenkruth Krishnan Murali, Raghul Saravanan, Sai Manoj P D, Ashish Venkat

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

现代计算机建立在复杂的指令基础之上,这些指令精确地告诉硬件该做什么。这些指令构成了我们编写的软件与运行它的物理芯片之间的一份契约。几十年来,工程师们一直依赖于细致的测试来确保这一契约得到履行,检查处理器的行为是否完全符合设计者的预期。然而,随着这些芯片变得愈发复杂,传统的检查方法已开始显得力不从心。由于芯片可能采取的操作组合规模过于庞大,人类已无法通过逐一检查的方式来应对。作为回应,研究人员转向了一种称为“模糊测试”(fuzzing)的技术。这种技术最初是为软件开发的,其方法是通过向系统输入大量的随机或经过轻微修改的输入,以观察系统是否会崩溃。在硬件领域,这意味着向处理器发送数百万个奇怪的指令序列,以观察它是否会崩溃、出现异常行为或暴露隐藏的安全漏洞。

一项新的研究汇总了将此技术应用于三个不同复杂度层级的研究人员的零散工作。这些研究人员来自美国的各大学,分析了目前如何利用模糊测试来检测从管理处理器行为的高层规则到构成芯片功能的底层布线的全过程。他们发现,虽然向机器投喂随机数据的基本思路行之有效,但根据被测试硬件层的不同,所需的具体工具和策略也会发生剧烈变化。他们的工作表明,该领域目前处于碎片化状态,不同的研究小组使用着难以相互比较的不同方法,这也指向了一个未来:人工智能的应用以及各层级之间更好的协作,将使硬件验证变得更加高效。

研究人员将硬件模糊测试的图景划分为三个不同的层级,每一层都有其自身的挑战。第一层是指令集架构(ISA),即处理器理解的一套命令。这一层级的工具将处理器视为一个“黑盒”,这意味着它们无法看到芯片内部;它们只能发送命令并观察结果。这里的目标是找到处理器执行了但从未正式记录过的指令,或者寻找处理器行为与说明书描述不符的情况。由于测试者无法看到内部工作机制,他们依赖于将处理器的输出与一个“可信参考模型”进行对比,该模型是一个模拟处理器“应该”如何工作的独立程序。如果真实的芯片与模拟器不一致,就会标记出一个错误(bug)。研究发现,虽然随机测试可以发现一些错误,但最有效的工具是结合了随机生成与结构化规则的方法,从而跳过无用的数据,将重点放在最可能隐藏错误的部分。

第二层是微架构(microarchitecture),涉及处理器执行指令的内部、隐藏的机制。这是芯片进行瞬时决策以提高速度的地方,例如预测下一条指令或临时存储数据到缓存中。这些内部行为通常不属于与软件的官方契约的一部分,但它们可能会产生安全漏洞。例如,处理器可能会通过其操作的时序意外泄露敏感数据。测试这一层非常困难,因为其中的错误通常不是崩溃或报错,而是微妙的信息泄露。研究显示,针对这一层的工具往往依赖于已知危险行为的特定模式,而非纯粹的随机性。它们构建旨在触发这些特定内部机制的测试序列,然后测量极微小的时序差异,以观察是否存在信息泄露。研究人员指出,寻找这些错误需要对芯片内部设计有深刻的理解,而仅仅靠随机猜测的工具在这里往往是无效的。

第三层是寄存器传输级(RTL),即在芯片制造前用于设计芯片的实际代码。在这个阶段,芯片仅以数字蓝图的形式存在,工程师可以看到每一根导线和每一个开关。这提供了最高的可见度,允许测试者精确测量设计已被探索的程度。这一层级的工具可以根据来自模拟器的实时反馈(例如芯片进入了多少个新状态)来改变输入数据。研究发现,虽然这一层允许最精确的测试,但由于模拟芯片需要耗费大量时间,因此所使用的工具通常很慢。此外,研究人员发现这些工具在报告其成功率方面存在显著问题。不同的工具使用不同的方式来衡量“覆盖率”,使得直接比较它们几乎成为不可能。一个工具可能声称在运行一百万次测试后找到了一个错误,而另一个工具则声称仅用一万次测试就达到了同样的结果,但在没有标准化的方式来定义什么是“覆盖率”的情况下,这些数字很难解读。

论文指出了当前技术水平中的几个关键差距。一个主要问题是对“黄金参考模型”(golden reference models)的依赖,即用于检查真实芯片行为是否正确的可信模拟器。如果参考模型本身存在缺陷,模糊测试工具可能会漏掉真实的错误,或者报告虚假警报。这对于微架构层级尤其成问题,因为那里不存在完美的参考模型,因为内部行为往往未被完全记录。研究人员还强调,该领域缺乏一种通用的结果报告语言。由于缺乏标准化的基准测试和指标,很难判断一个新工具是否真的比旧工具更好,或者它是否只是在衡量不同的东西。他们还观察到,大多数工具仍局限于一次只测试一个层级,忽略了高层指令与底层硬件机制相遇时发生的复杂交互。

展望未来,作者建议下一代硬件模糊测试需要变得更聪明、更具连贯性。他们提议使用人工智能来生成更好的测试输入,超越简单的随机性,从而创造出更有可能使系统产生有趣反应的序列。他们还呼吁开发可扩展的参考模型,以处理现代芯片的复杂性,而无需耗费难以想象的人力工作。或许最重要的是,他们设想了一种混合方法,即不同层级的模糊测试工具可以相互通信。一个指令级工具可以将一个可疑的命令传递给微架构工具,后者再将一个特定的时序模式传递给底层工具,从而创建一个覆盖整个系统的连续调查链。研究人员认为,通过标准化结果衡量方式并整合这些不同层级,该领域可以从碎片化的工具集合转向一种统一的、系统化的方法,从而确保我们日益复杂的计算机更加安全可靠。

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

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

试用 Digest →