2025/07/17 00:23 17 Mistakes Microsoft Made in the Xbox Security System

ロボ子、今日はXboxのセキュリティについて話すのじゃ!

Xboxですか、博士。2001年に登場したゲーム機ですね。セキュリティが最初に破られたとか。

そう、ロボ子!Microsoftはコピーゲームや非公式アプリを防ぎたかったのじゃ。でも、セキュリティシステムには色々な過ちがあったみたいだぞ。

PCハードウェア、Windows、DirectX技術をベースにしていたんですね。CPUはPentium III Celeron mobile 733 MHz、メモリは64 MB RAMだったとか。

その通り!簡略化されたWindows 2000カーネルが動いていたのじゃ。MicrosoftはLinuxやHomebrewを防ぐために、信頼連鎖を構築しようとしたみたいだぞ。

CPUからROM、カーネルからゲームへのリンクですね。オペレーティングシステムはハードディスクではなく、ROMに格納されていたんですね。

そうじゃ!でも、フラッシュメモリの内容は暗号化されていたものの、復号鍵が秘密ROMに格納されていたのが問題だったのじゃ。

メモリの読み書き、PCI構成空間へのアクセスなどが可能な仮想マシンのインタープリターも秘密ROMにあったんですね。

RC4アルゴリズムが使われていたけど、ハッシュとしては弱かったのじゃ。ハッカーにハッシュを故意に失敗させられる可能性があったみたいだぞ。

Andrew "bunnie" Huangという人がXboxを分解して、フラッシュメモリの内容を抽出したんですね。バスをスニッフィングしてRC4キーを含む秘密ROMをダンプしたとか。

そう!妥当性チェックが甘かったのじゃ。RC4はバイトを独立して復号化するから、1バイト間違っていても後続のバイトは正しく復号化されるのじゃ。

暗号化キーが既知で、2番目のブートローダーに効果的なハッシュがないため、コードをパッチすることが可能になったんですね。

Modchipが登場して、LPCバスに接続するだけでフラッシュメモリが空であると思わせることができたのじゃ。

Xbox Linux Projectは、Linuxを起動する方法を模索していたんですね。GPLコードで秘密キーを使用することに抵抗があったとか。

visorというハッカーが、2blのハッシュが正しくない場合にCPUを停止させるバックドアを発見したのじゃ!

Intel CPUが例外をスローしない理由が、1970年代のものだったとは驚きです。

Microsoftは、AMDからIntelに切り替えたとき、新しいハードウェアでセキュリティコードを再度テストすることを忘れたのじゃ!

PCI構成アドレスの脆弱性も発見されたんですね。未使用のビットを無視するPCIバスコントローラーの特性を利用したとか。

Microsoftは、秘密ROMのオフに基づいたすべてのハックを不可能にする修正を実装したけど、ハッカーコミュニティはこれらのXboxを「バージョン1.1」マシンと呼んだのじゃ。

TEA(Tiny Encryption Algorithm)がハッシュとして使用されたんですね。ブルース・シュナイアーの本には、TEAはハッシュとして使用してはならないと書かれているとか。

A20ハックというのもあったのじゃ。CPUのA20#ピンをGNDに接続すると、秘密ROMが完全にバイパスされるのじゃ!

Xboxの後のリビジョンでは、MicrosoftはLPCバスの一部のピンを取り外し、modchipの設計を困難にしたんですね。

最新のリビジョンのXboxハードウェア(v1.6)では、ついにフラッシュメモリから実際のROMに切り替えたのじゃ。

ゲームのセーブデータにバッファーオーバーフローの脆弱性があり、そこからコードを実行して、最終的にフラッシュメモリを書き換えることができたというのは驚きです。

そうじゃ!セーブゲームエクスプロイトと組み合わせると、フォント処理ルーチンに整数の脆弱性があり、フォントファイルを置き換えることで独自のコードを実行できたのじゃ。

Microsoftはダッシュボードのバッファーの脆弱性を修正しましたが、ハッカーはダウングレードして脆弱なバージョンに戻すことができたんですね。

Microsoftは明らかに多くの間違いを犯したのじゃ。設計上の間違い、実装上の間違い、悪いポリシー決定があったみたいだぞ。

セキュリティと金銭のトレードオフ、セキュリティとスピードのトレードオフ、弱点の組み合わせ、ハッカーのリソース、バリアと障害、ハッカーグループ、曖昧さによるセキュリティ、修正、データシート、文献、プロ、完全性、残り物、最終テスト、ソース、多くの人々、話す、など多くの教訓が得られますね。

そうじゃ!セキュリティは奥が深いぞ!

今日は勉強になりました!

最後にロボ子、Xboxのセキュリティが甘かったのは、もしかしてMicrosoftの社員がおやつに甘いものばかり食べていたからかも…?

博士、それは流石にこじつけすぎです!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。