ハクソク

世界を動かす技術を、日本語で。

マイクロソフトの「アンハッカブル」なXbox Oneが「Bliss」によってハッキングされた

概要

  • Xbox Oneの「アンハック」神話がRE//verse 2026で崩壊
  • Markus ‘Doom’ GaasedelenによるBliss二重グリッチの発表
  • **Voltage Glitch Hacking (VGH)**による完全なセキュリティ突破
  • ハードウェア起因で修正不可、全レベルで未署名コード実行が可能
  • 今後のエミュレーションやアーカイブ分野での影響に注目

RE//verse 2026で明らかになったXbox Oneの新ハック「Bliss」

  • Xbox Oneは2013年発売以来、長年にわたりハッキング困難とされてきたゲーム機
  • Markus ‘Doom’ GaasedelenがRE//verse 2026カンファレンスでBlissダブルグリッチを発表
  • 過去の**Reset Glitch Hack (RGH)で陥落したXbox 360に続き、Xbox OneもVoltage Glitch Hacking (VGH)**で突破
  • Gaasedelenによると、2013年以降Xboxエコシステムのセキュリティは「鉄のカーテン」と称されていた
  • Microsoftは発売から7年後も「最も安全な製品」と主張していた経緯

Blissハックの技術的概要

  • 従来のリセットグリッチが不可能なため、CPU電圧レールの瞬間的な降下を標的に
  • Xbox One内部の可視化が困難だったため、独自のハードウェア解析ツールを開発
  • 2回の精密な電圧グリッチを連続で発生させる「Bliss」エクスプロイトを考案
    • 1回目:ARM Cortexのメモリ保護設定ループをスキップ
    • 2回目:Memcpy操作中のヘッダー読み込みを標的に、攻撃者制御のデータへジャンプ
  • ブートROMへのハードウェア攻撃であるため、修正パッチが不可能
  • HypervisorやOSを含む全レベルで未署名コードのロードが可能
  • セキュリティプロセッサへのアクセスも取得、ゲームやファームウェアの復号化が可能に

今後の展望と影響

  • デジタルアーカイブ分野では、Xbox Oneのファームウェア・OS・ゲームへの新たなアクセス手段
  • Bliss技術によるエミュレーションの進展や、Bliss互換Modチップの開発も期待
  • ただし、Xbox OneのゲームライブラリはPCで高品質にプレイ可能なものが多く、PCユーザーの関心は限定的
  • 今後のアーカイブ活動や技術的研究での活用が主な用途

まとめ

  • Blissダブルグリッチの登場で、Xbox Oneの「アンハック」伝説が終焉
  • セキュリティ研究やゲーム保存の分野で新時代の幕開け
  • Microsoftのセキュリティ施策に対する新たな課題

Hackerたちの意見

これは実質的にハッキング不可能ってことになると思う。後継機が市場に出てから5年半もハッキングされなかったからね。もしXboxを続けるなら、次世代でこれをどうにかする方法を見つけるのかな。
プレゼンテーションでは、このハックは現在最初のシリコンリビジョンでしか機能しないって言ってた。後のバージョンは、初期ユニット用にデバッグされていなかったグリッチ防止技術など、もっと多くの保護が施されてるからね。セキュリティやリセットサブシステムが2つの別々のコアに分かれている改訂版コンソール(例えばOne X)では、もっと難しくなるだろうけど、攻撃の角度があるのは調査する価値があるね。
> Xboxを作り続けると仮定すると、どうやらそれが計画みたいだね。
ちょうどキーの比較に合わせて電圧ドロップを作って、その後にスパイクが続いた感じ。現実ではノープで、強制的に実行制御フローを使って実質的に真を返すことができた。美しいね。
これに関して知っている最も古い例はCLKSCREWだけど、セキュリティハードウェア(ルートCAの秘密鍵を保持するためのもの)は、その攻撃のずっと前からこういうことに対して強化されてたよ。もっと早い例を聞いたことある人いる?
面白いね。どうやってCPUの電圧レールを精密に制御して、書いた命令をバイパスする攻撃者やレッドチームに対抗するんだろう?これはまったく新しいタイプの脆弱性だと思う。このトークでは、他の人たちも最近Intelのマイクロコードで成功しているみたいだし、すごくエキサイティングなエクスプロイトが出てくるだろうね!
Xbox 360は、もっとシンプルだけどほぼ同じ方法でハックされたんだよね!いろんな対策があったのに、同じプロセスでXbox Oneが壊れたのは驚きだね。
いや?これはクラウバー電圧グリッチングだけど、ここで言ってるほど簡単じゃないよ。グリッチングはキー比較には影響しないし、ダブルグリッチなんだ。2回目のグリッチがmemcpy中にPCを制御するんだ。最初のグリッチは初期化をスキップしてMMUを実質的に無効にするから、2回目のグリッチがシェルコードを実行できるようになる。
これは素晴らしいニュースだね。これでエミュレーションやホームブリューの扉が開くといいな。独占タイトルはあんまりないけど、面白くなりそう。
古い発売日当日のXBoneをちょっとしたホームラボのLinuxボックスに再利用できるチャンスにワクワクしてるよ。
Xbox Oneのホームブリューは実質的に常にサポートされてる。誰でも開発アカウントを登録して、システムを開発モードで起動できるんだ。確か、コンソールセキュリティについての話で、Microsoftの開発者がこれはハッキングに対する意図的な抑止策だって言ってたよ。海賊版とホームブリュー愛好者が協力する理由をなくすための努力だったんだ。
限定タイトルがほとんどないね。フォルツァがいくつか?ハロー5?他のほとんどは同じ品質で他のところでも遊べるし。
あり得ないと思うな。誰かがこれをモッドチップにして、物理的な流通ネットワークを作らなきゃいけないし(DMCAの下では全部違法だし)、2013年の機械にしか対応しないだろうね。チェンのチームはこのタイプの攻撃を予想していて、ファットがリリースされた頃にはすでに対策に取り組んでたみたいだし。だから彼が最後に言ってるように、後のシリコンにはすでにもっと多くのグリッチ対策が組み込まれていて、ずっと前からそうだったんだ。現行世代のXboxは調査すらされてないけど、もっと難しいと考えてもいいだろうね。彼らは明らかにレッドチーミングにお金を払ってたし。覚えておいて:ブートROMにソフトウェアバグはゼロだよ。
これは2013年の最初の「VCR」ハードウェアにだけ影響するから注意してね。新しいリビジョンやバリエーションはまだ影響を受けてないよ。
中古市場では結構一般的で安いよ。私はリサイクルショップで30ドルで買ったし、コンソール自体はeBayで大体50ドルくらいで売られてる。
> PCユーザー、つまり私たちのコアな読者が実際にXbox Oneをエミュレートすることに興味を持つとは思えない。2013年のシステムのゲームライブラリは、PCプラットフォームでより高品質に重なっているからだ。だからこそ、長い間ハックされなかったんだろうね。ゲームが全部PCでプレイできるのに、システムをハックするインセンティブはほとんどなかった。海賊版やチーター、アーカイバ、ハッカーたちは、みんなPCに行っちゃうから。マイクロソフトの最高のセキュリティ対策は、誰もハックしたいと思わないものを作ることだったんだ。
かつては人気のターゲットだったけど、オリジナルの改造Xboxができることは他の場所で簡単にできちゃうからね。
マイクロソフトがコンソールのハッキングを促進するために取り除いたもう一つの大きな理由は、現代のメインストリーム家庭用コンソールで初めて、ホームブリューコードやエミュレーターのサイドローディングを許可したことだよ。コンソールは開発者モードをサポートしていて、サードパーティのアプリをサイドロードできるから、エミュレーターや伝統的に「禁止」されているコンテンツを公式にサポートされたルートで手に入れることができるんだ。トニー・チェンによるXbox Oneのセキュリティ機能についての素晴らしいプレゼンテーションがあるよ: > https://www.platformsecuritysummit.com/2019/speaker/chen/ 開発者モードでXbox Oneに入れられるソフトウェアの例: > https://xboxdevstore.github.io/
物理的にマシンを所有するのは、セキュリティを確保するのがかなり難しいね。リモート攻撃者よりも、セキュリティレベルが全然違うし、桁違いに低い。これは予想通り?
マイクロソフトのトニー・チェンが「物理攻撃からの防御:Xbox Oneの物語」という講演をしていて、物理攻撃には少なくとも10本のゲームの価格(当時は600ドル)以上のコストがかかるようにしたいって説明してたよ。 https://www.youtube.com/watch?v=U7VwtOrwceo&t=715s
「ハッキング不可能」なんて言っちゃダメだよ。人間の作ったものは完璧じゃないからね。
彼も私たちの仲間だよ :) https://news.ycombinator.com/user?id=gaasedelen
その中にe-fuseが入ってたよね? *マジで* そんなのを売るのは違法にすべきだよ。
すごい講演だったね。もしフルで1時間見るのが面倒だったり、マーカスが話してることについていけないほどハードウェアの知識がないなら、簡単なまとめがあるよ。彼はすごく早口で、スライドのテキストを読む暇もないくらい。全ての詳細を理解するには、ポーズキーを使うのが必須だよ。Xboxはスマホやタブレット、セキュアブートが有効なPCにもある同じ技術の非常に高度なバリアントを使ってる。完全に動作している状態では、Xboxのセキュリティシステムは署名されていないコードの実行を防ぎ、全てのコードを暗号化し、リモートサーバー(Xbox Live)に対して本物のデバイスが安全な状態で動作していることを証明するんだ。この基盤の上に強力な海賊行為防止チェックを構築して、チートをブロックできる。コンピュータが起動するとき(どんなコンピュータでも)、CPUは基本的に何も機能しない状態から実行を始める。外部通信やRAMすらもね。実行はリセットベクターから始まって、これはブートROMにマッピングされてる。つまり、バイトはシリコン自体にハードワイヤードされていて変更できない。ブートROMはRAMを有効化することを含む、どんどんハードウェアを有効化する命令を実行する。そこに到達するまでは、CPU全体がキャッシュラインから実行されていて、ダイ上に存在するメモリ以上のものは使えない。Xboxが全てのセキュリティ目標を達成するためには、ハードウェアを段階的にオンラインにする一連のチェーンステップを経る必要があって、各ステップは次のステップの整合性を確認しなければならない。ブートROMは19kbのコードともう少しのデータしかなくて、RAMを有効化することやメモリマッピングユニット(XboxではMPUと呼ばれる)を起動すること、書き込み可能なフラッシュRAMからさらにコードを読み取ること以上のことはできない。フラッシュRAMから読み取ったコードは第二段階のブートローダーで、ここでかなりの作業が行われるけど、この第二段階以降はマイクロソフトによってリモートでパッチを当てられる。だから、そこや後の段階でバグが見つかってもあまり関係ない。なぜなら、MSはソフトウェアアップデートを発行できて、そのアップグレードが適用されたかどうかをXbox Liveサーバーでリモートで検出できるから。だから、チーターや海賊行為を排除できる。第二段階のブートローダーはさらにディスクからコードを読み込み、署名チェックを行い、暗号化を解除し、ハイパーバイザーなどの多くのソフトウェアセキュリティスキームを設定して、OSやゲームに至るまで進む。だから、Xboxのセキュリティを永久に破るにはブートROMを攻撃する必要がある。なぜなら、それがソフトウェアアップデートで変更できない唯一の部分だから。これは王国への鍵で、これがマーカスが攻撃した部分だ。ブートROMを攻撃するのは非常に非常に難しい。Xboxチームは非常に優秀だったから: • 通常、ブリングアップコードはCPUやBIOSベンダーによって書かれるけど、MSはそれをすべて自社でゼロから書いた。 • コードは公開されておらず、これまで漏れたこともない。これを入手するには、誰かがチップを走査型電子顕微鏡で見て、原子の画像をビットに、そしてバイトにマッピングする必要があった。 • コードを持っていてもほとんど役に立たない。なぜなら、全くバグがないから。 • 明らかに、変更することはできない。だから、唯一の操作方法は、実際にCPUの内部を「グリッチング」していじることだ。つまり、内部電子機器の状態を壊すために、チップの電源供給を正確なタイミングでいじることだ。プロセッサーをグリッチングすると半ばランダムな効果が出て、何が起こるかを正確に制御することはできないけど、運が良ければCPUが命令をスキップすることもある。マシンを何度も再起動させるデバイスを作り、毎回グリッチングを行うことで、どれかの試みが運良く実行プロセスで小さなミスをするのを待つことができる。グリッチング攻撃はXboxより前から存在していて、主にスマートカードで使われていたけど、Xbox 360ではこの方法で成功裏に攻撃された。だからマイクロソフトはそれについてよく知っていて、「バグのないコードを書く」以上の多くの対策を追加した: 1. ブートROMは何もせずにプログラムのどこにCPUが到達したかを知るのを難しくするために設計されたランダム化されたループでいっぱいだ。グリッチングにはほぼ完璧なタイミングが必要で、これが難しくする。 2. プログラムがどこまで進んだかを知るために使われる通常のステータス出力をハードウェアで無効にした。 3. ステップがスキップされた場合をキャッチするために実行をハッシュチェーン化している。これはプログラムの論理に反するけどね。 4. 実質的に小さな「カーネル」を使って、ブートシーケンスの一部を「ユーザーモード」プログラムとして実行している。だから、コードの敏感な部分がグリッチングされても、ブートプロセスにどれだけ悪影響を与えるかが制限される。さらに、2013年以降に追加された対策もあるらしい。マーカスは、MMUをオンにするコードをスキップするグリッチ攻撃を2つ連結させることでこれを回避した。これにより、ユーザーモードの「プロセス」(実際にはプロセスではない)から「カーネル」に抜け出すことができ、その後memcpy操作中にCPUの状態を壊すことができた。これにより、フラッシュRAMから次の段階をコピーしている間にCPUを制御できるようになった。ブートROMの実行を制御できれば、次の段階を復号化し、署名チェックをスキップして、そこからリモートで検出できない方法で何でもできるようになる。ただし、2013年のファットデバイスを使っているという事実はまだ検出される可能性があるけどね。