GameGaz Daily 2018.4.6で少しだけ紹介したSwitchのColdboot exploit “Fusée Gelée”についての詳細情報について、もう少し掘り下げて紹介したいと思います。ハードウェアハッカーのKate Temkin氏による「FAQ: Fusée Gelée」の記事をベースにしていますが、元が長文な上に、全く別の構成として記事を構築したので時間がかかりました。FAQから考察したFusée Geléeという視点で書いていますので、推測も混じっていますのでご了承ください。
今更感満載ですが、Fusée Gelée自体まだ何者なのかすら公表されていませんのでそんなに冷めたスープではないと思います。
Fusée GeléeはNVIDIA Tegraに存在する、読み取り専用ブートROMのプログラムミスにより引き起こされる脆弱性で、工場出荷後のファームウェアアップデートなどでは対策が不可能です。従って現在のハードウェアを搭載しているSwitchの場合未来永劫この脆弱性が存在します。したがってFusée Geléeも未来永劫使用可能です。
一般に、ハックされては困るものはそもそも改変できないようになっています。読み取り専用ROMがそれに当たります。書き換えができないために仮に今回のような脆弱性が見つかっても、パッチで対応することは不可能です。本来そうすることの理由は書き換え不能であるためにセキュリティをバイパスするような仕組みを構築させないところにあるのですが、一旦脆弱性が見つかり悪用されると生産の段階で対策品を作って工場出荷するしかありません。
この脆弱性がFusée Geléeと名付けられ、今リリースを待っている状態です。
Fusée Geléeは具体的にはcoldbootハック(純正のブートローダーが起動する前に任意のコードを実行することができるハック)を利用したソフトウエアランチャーのことで、開発したのがKate Temkin氏のようです。
この脆弱性の詳細はまだ一般に公開されていませんが、すでにNVIDIAや任天堂などには脆弱性の存在を報告済みです。影響を受けるTegraデバイスの数は相当数にのぼるため、一般的な解釈ではきちんとNVIDIAに対応してもらうべきで、メーカーに報告されていることは安心材料の一つだと考えてください。近いうちに対策されたハードウェアリビジョンが登場するのは間違いありませんが、Fusée GeléeとSwitchのCFW Atmosphèreのリリース予定を今夏とすることがReSwitched TeamのSciresM氏との間で合意しているそうです。この流れからするとSwitchのFusée Gelée対策リビジョンもそれまでには発売されるでしょう。
無論、Fusée Gelée公開まで脆弱性の詳細を発表しなければ、その分今のSwitchのハードウエアリビジョンの生産が継続されるため対応するSwitchの数が増えることになりますが、ReSwitched Teamはそういう選択をしませんでした。ハックではなく本当に悪用される恐れもある上に、NVIDIA Tegraは広く多数のデバイスに採用されていで影響範囲が大きいのも事実ですので、一般的な対応としては正解だと思います。また、脆弱性情報の提供についての報酬も受け取っていないそうですし、そのつもりもないとしています。
Fusée Geléeの情報を任天堂やNVIDIAに提供したKate Temkin氏はReSwitched Teamのメンバーではないようですが、いわゆる協力メンバーのような立場の女性です。メインはハードウェア系ハッカーみたいですね。TwitchでSwitchのハックを実況していたりしています。
Fusée Geléeは現在販売されているSwitchの全ファームウェアおよび全モデルに対応していますので、これを利用することでAtmosphèreをインストールして起動することが可能です。
Team Xecuterも同様の脆弱性をベースに(全く同じかどうかについては不明です。NVIDIA Tegraに複数の脆弱性が存在している可能性は否定できません)MODチップの発売を計画しています。Fusée Geléeとの違いは金を取るかオープンソースか、そしてあまりクローズアップされていませんがFusée GeléeにはPCと接続する方法もあるようです。
Fusée GeléeにMODチップを利用するTeam Xecuterの手法もFusée Geléeの考えている選択肢の1つです。
Fusée Geléeという名称はハックシステムそのものではなく脆弱性を利用する仕組みの総称でしかなく、活用にはMODチップを利用するなど様々な手法が存在するため、公開する具体的な手法は現在検討中です。
Team XecuterはそのMODチップを製品として販売する計画ですが、Kate Temkin氏は同じ手法として既存のボードにプログラムを書き込んで使う方法を用意しており、安価に製作できるMODチップとしてそれをオープンソースとして公開する予定です。この動画で使用しているMODチップがおそらくそれに当たります。
Fusée GeléeのMODチップもTeam Xecuterの製品同様、ハンダ付けありバージョンとなしバージョンが用意されます。ハンダ付け付けなしで行けるならハンダ付けありバージョンは不要なように感じますが、信号を出力するのは基板上のポイントであることは事実ですので、ハンダ付けした方が確実かつ簡単な方法だとしていますから、ハンダなしバージョンは作りが複雑なのか、ハンダ付けありよりも高価または確度に劣るかのいずれかだと思われます。
Fusée GeléeのMODチップのおすすめはハンダ付けありバージョンのようです。ハンダ付け自体は非常に簡単で、ほぼピンの短絡程度だということです。
過去のゲーム機のMODチップには多数のハンダ付けポイントが存在するものもありましたが、Switchの場合は本当に簡単な部類のようです。ただし、ピンセット必須程度の細かい作業にはなります。
ハンダなしバージョンは、オリジナル状態に戻せるのがメリットです。また、詳細は不明ですがFusée Geléeには完全ソフトウェア版も存在しているようです。
現時点ではFusée Geléeのバリエーションには様々なパターンが考えられているようで、夏に発表としている理由はどのバリエーションが最適なのかを見極めているところもありそうです。
Fusée Gelée自体はNVIDIA Tegraの脆弱性を利用しているのでSwitchのファームウェアには依存していません。ただ、何らかのブートローダで起動した後アクセスするシステム自体はSwitchシステムそのものですので、できることがファームウェアによって異なります。
具体的には、発売時の初期ファームウェアだった1.0.0が最もできることが多く、3.0.0以下であればシステムにフルアクセスできるため、3.0.0以下であることがもっとも有益であると予想されます。
3.0.1から4.1.0にもシステムにフルアクセス可能な脆弱性自体は存在していることが確認されています。3.0.0と同じように、というわけには現時点ではいきません。脆弱性の存在の確認がそのままハックにつながる段階ではないので、まだ実用するには時間がかかります。
では、具体的にFusée Geléeに必要なものは何でしょうか。
Kate Temkin氏はすべてを明らかにはしていませんが、大まかに必要なものについては以下のように言及しています。
・Switch本体
・microSDカード
microSDのスペックについては詳細な言及はありませんが、64GB以上が推奨される可能性が高そうです。
・USB A-to-Cケーブル(Nintendo Switch Proコントローラー付属のもので可)
・トライウイングドライバー(分解してMODチップを付ける際に必要)
Fusée Geléeで最初に実行するペイロードは、Kate Temkin氏が開発したの「マスストレージペイロード」で、NANDメモリをPCにマウントしてバックアップするペイロードです。従って、まずはシステムのバックアップを行うペイロードが用意されます。USBケーブルはPCにSwitchをマウントするために使うようです。
Kate Temkin氏がFusée GeléeのFAQ記事を公開した理由の一つとしてTeam XecuterのMODチップの存在が考えられます。文章の所々で金儲けを企てるTeam Xecuterへの対抗心が垣間見えています。少なくともTeam XecuterのMODチップを購入しようと考えている方は、Fusée Geléeの詳細が公開されるまで少し待ったほうがよいと思います。
いつも有益かつ重要な情報をありがとうございます。
特に今回は長文翻訳・解説だったので改めて感謝いたします。
うかつにもファームをv3.0.1にアップデートしてしまった私にはとても貴重な記事でした。