セキュリティ
Xbox 360のハッキングに9年かかった話
It took me nine years to hack my Xbox 360 (kennedn.com)
要約
この記事は、筆者が2017年に購入したMatrix CoolRunnerというモッドチップを使ってXbox 360のセキュリティを突破しようとした9年間の試行錯誤について綴っています。Xbox 360のセキュリティは非常に強固でしたが、CPUリセット信号のタイミングを精密に操作する「フォールトインジェクション」という手法で、署名検証プロセスを誤動作させ、任意のコード実行を可能にしました。近年、Raspberry Pi Picoのような安価で高精度なマイクロコントローラーの登場により、このような高度なハッキング手法へのアクセスが容易になっていると述べています。
全文翻訳
2017年にMatrix CoolRunner Rev Dを購入しました。この小さなチップはグリッチャーと呼ばれ、モッドチップの一種です。その唯一の目的、設計された理由は、Xbox 360コンソールに短いパルス(約100ナノ秒)のエネルギーを供給することです。あなたは「それは何のため?」と自問するかもしれません。その答えは非常に興味深いです。
Microsoftはセキュリティに長けています。
それは、Microsoftが以前のコンソール(初代Xbox)の過ちから学び、後継機のセキュリティをうまく設計したという単純な事実に集約されます。あまりにもうまく設計されていたため、従来の一般的なアプローチでは実質的にハッキング不可能と見なされていました。tmbinc自身も、360で署名されていないコードを実行するソフトウェアベースのアプローチはほとんど機能しないと述べており、ソフトウェアの観点からは安全に設計されていました。
システムの入り口である1BLは、Xbox 360のCPUのシリコンに物理的に焼き付けられています。
1BLの仕事は、フラッシュストレージにあるCBと呼ばれる次のブートローダーフェーズをロードし、それがMicrosoftによって署名されていることを検証することです。したがって、Microsoftの署名キーなしでは、ブートプロセス中にシステムの制御を乗っ取るための実際の手段はありませんでした。そして、コンソールが起動するにつれて異なるフェーズに進むにつれて、それはさらに困難になります。コードをMicrosoftが徹底的にチェックしていないコンソールで実行するには、追加のセキュリティ機能が有効になります。したがって、城へのドアが施錠されており、馬の策略に賢い警備員がドアでIDをチェックしている場合、どうやって中に入るのでしょうか?さて、鍵は使いません。警備員に靴紐がほどけていると伝え、棍棒で頭を殴ります。
弱点を見つける
鍵自体が安全で、エントリーに関する手順がしっかりしている場合、最も弱いリンクはより根本的なものになることがあるということです。私たちの比喩ではこれは人間ですが、Xbox 360の場合、計算が予測可能な方法で動作するために安定したエネルギー条件に依存しているという事実です。そして、これがフォールトインジェクションがサブバートする考え方です。
Xbox 360の場合、研究者たちは、CPUのリセット信号(CPU_RESET)を非常に速くトグルすることで、通常はCPUを再初期化するための信号ですが、はるかに興味深いことが起こることを発見しました。リセットする代わりに、CPUは現在の命令を誤って実行しました。
電圧対時間のグラフでグリッチングを示す
これは研究者たちに非常に便利なプリミティブを与えました。彼らは、署名検証プロセスに不可欠な命令であるmr(ムーブレジスタ)命令が、移動しようとしている値を無視し、代わりに宛先レジスタに0を移動するようにグリッチさせることができることを発見しました。
したがって、いつかを単純に知っていて、ライトをオンオフすることで、彼らは任意のコード実行を獲得しました。
未来はグリッチングである
このような秘匿性の高いサイドチャネルが存在すること自体が驚くべきことです。しかし、より大きなポイントは、それがますます一般的になっていることだと思います。
10年前のXbox 360をハッキング困難にした信頼チェーンは、現在、コンピューティングハードウェアの世界で一般的になっています。Microsoft自身も2021年にオペレーティングシステムでハードウェアバックアップされたセキュアブートの強制を開始しました。
最近では2024年に、ESP32 v3のセキュリティ機能(セキュアブートとフラッシュ暗号化)がフォールトインジェクション攻撃を使用してバイパスされました。
そして、Raspberry Pi Picoマイクロコントローラーを同様のフォールトインジェクション攻撃に使用した最近の例があります。Apple AirTagのファームウェアは、2021年にstacksmashingがRaspberry Pi Picoとフォールトインジェクションを使用してダンプされました。
Nintendo Switch用のPicoFlyモッドチップは、2023年にリリースされ、フォールトインジェクションを使用してコンソールのセキュアブートを回避しています。
私にとって、これは、長年にわたってセキュリティエコシステムが強化されてきたため、フォールトインジェクションが近年より魅力的な攻撃ベクトルになったことを示唆しています。しかし、Pi Picoのような安価で正確なマイクロコントローラーの登場により、これまで以上にアクセスしやすくなったとも思います。
Picoへのラブレター
Raspberry Pi Picoマイクロコントローラーは、2021年にRaspberry Pi Foundationによって5ポンドでリリースされました。
Pico自体は、PIOブロックを通じて非常に精密なタイミングを可能にするため、多用途です。これらの特殊なブロックには、多くの標準プロトコルを実装するための十分なプリミティブがあり、133 MHzクロックにより約7.5ナノ秒の効果的なタイミング解像度があります。
$$rac{1}{133 ext{ MHz}}
oughly 7.52 ext{ns}$$
2026年にMatrix CoolRunnerを再び手に取り、Xbox 360のモッドチップ化に再挑戦することにしたとき、私はこの多用途性を自ら目の当たりにしました。2017年にそれを購入したとき、Xbox 360をモッドチップ化するのはかなり高価でした。成功させるには、いくつかのツールとスキルが必要でした。
グリッチングチップ
はんだとアイロン
NANDプログラマー
JTAGプログラマー
私は、古いPCのプリンターポート(LPTポート)を使用して、専用のために確保しておいたNAND/JTAGプログラマーを自分で構築してお金を節約しようとしました。もしこれが機能していれば、NANDをダンプするのに30分以上かかったでしょう。理由を覚えていませんが、2017年にはこれを達成できず、プロジェクトは棚上げされました。
LPT NANDダンプ配線図
2026年に同じ手順を再試行したところ、比較にならないほど簡単でした。
PicoFlasherをPi Picoにフラッシュし、Xbox 360の正しいパッドにはんだ付けすることができました。ダンプ操作はその後、数秒で完了しました。
Raspberry Pi PicoをXbox 360のNANDインターフェイスヘッダーに配線した図。
同様に、Pico-dirtyJTAGをPi Picoにフラッシュし、Octal450のタイミングファイルを使用してCoolRunnerのタイミングファイルをプログラムし、ソースからurjtagプロジェクトをインストールすることができました。
Raspberry Pi PicoをMatrix CoolRunner JTAGインターフェイスに配線した図。
要約
したがって、最も慎重に作られた塔でさえ、その根本的な仮定の重みで崩壊する可能性があります。コンピューターセキュリティの多くの側面と同様に、フォールトインジェクションは猫とネズミのゲームになり、ますます洗練された防御策が新しいツールや回避方法によって対応されています。しかし、DIYツールが本当に輝き始め、10年前には高価で特殊な機器を必要とした課題を簡単にこなせるようになった段階に達したと思います。
そして、私はそれを直接見てきました。2017年に私を悩ませたプロジェクトが、5ポンドのマイクロコントローラーによって2026年には取るに足らないものになったのです。
皮肉なことに、Xbox 360のソフトウェアのみのエクスプロイトが先週リリースされ、私の長年の努力はいくぶん無意味になりました。それにもかかわらず、コンソールの内部動作とそれを保護するために設計されたセキュリティメカニズムへの魅惑的な深掘りでした。
参考文献
GliGliとTiros、Reset Glitch Hack、2026年10月7日アクセス。https://github.com/gligli/tools/blob/master/reset_glitch_hack/reset_glitch_hack.txt ↩︎
Free60Project、Boot_Process、Free60、2026年10月7日アクセス。https://free60.org/System-Software/Boot_Process/ ↩︎
Fault Injection Library、Overview – Voltage Glitching、2026年10月8日アクセス。https://fault-injection-library.readthedocs.io/en/latest/overview/ ↩︎
Rodrigo Copetti、Xbox 360 Architecture – The Glitcher, A Practical Analysis、2026年10月8日アクセス。https://www.copetti.org/writings/consoles/xbox-360/#tab-13-1-the-glitcher ↩︎
Tom Warren、Microsoft’s Windows 11 will require TPM chips for security、The Verge、2021年6月25日、2026年10月8日アクセス。https://www.theverge.com/2021/6/25/22550376/microsoft-windows-11-tpm-chips-requirement-security ↩︎
Delvaux et al.、Fault Injection Attacks on the ESP32、USENIX WOOT 2024、2026年10月8日アクセス。https://www.usenix.org/conference/woot24/presentation/delvaux ↩︎
stacksmashing、Hacking Apple AirTags、YouTube、2021年、2026年10月8日アクセス。https://www.youtube.com/watch?v=_E0PWQvW-14 ↩︎
Ansem-SoD、Picofly、GitHub、2023年、2026年10月8日アクセス。https://github.com/Ansem-SoD/Picofly ↩︎
Raspberry Pi Foundation、Getting started with Raspberry Pi Pico、Raspberry Pi Projects、2026年10月8日アクセス。