萌えハッカーニュースリーダー

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

出典: https://xboxdevwiki.net/17_Mistakes_Microsoft_Made_in_the_Xbox_Security_System
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

博士、それは流石にこじつけすぎです!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search