Xbox 360 被广泛认为能够抵御传统的基于软件的黑客攻击,因为微软设计的安全架构非常稳固。系统的入口点被称为 1BL,它在物理上被固化在 CPU 的硅片中。其主要作用是从闪存中加载引导程序的下一阶段,并验证其是否携带有效的 Microsoft 签名。由于此过程是硬件集成的,并且需要特定的加密密钥,仅通过软件手段运行未签名代码的方法在很大程度上是无效的。随着控制台启动,它会依次经过各个安全阶段,每个阶段都会为启动链增加更多的保护层。
为了绕过这些保护措施,研究人员转向了故障注入。这是一种针对计算基本物理要求——即稳定的能量条件——的方法。通过非常快速地切换 CPU 上的复位信号(CPU_RESET),研究人员发现他们可以导致处理器错误地执行指令,而不是重置。这提供了一个针对签名验证过程的原始手段。具体来说,一个“mr”(移动寄存器)指令可以被“故障化”,使其忽略预期的值,转而将零移动到目标寄存器中。通过精确计时这些“故障”,攻击者可以通过破坏验证软件完整性的逻辑来获得任意代码执行权限。

这张图片展示了在 Xbox 360 硬件上执行故障注入所需的物理设置。

此视觉效果代表了第二段中讨论的故障注入的一般概念。
虽然这个特定的漏洞是在多年前实现的,但作者指出,随着软件安全变得更加坚固,故障注入正成为一种更突出的威胁。包括 ESP32 v3 和各种 Raspberry Pi Pico 实现在内的现代系统,已显示出对类似故障注入攻击的脆弱性。由于低成本、高精度的微控制器变得易于获取,这些攻击的可及性显著提高。例如,Raspberry Pi Pico 的 PIO 模块允许约 7.5 纳秒的时间分辨率,使其成为 DIY 故障注入的通用工具。这种转变表明,随着基于软件的“锁”变得越来越复杂,攻击者正越来越多地寻找通过破坏底层硬件的物理稳定性来“击倒守卫”的方法。