hexkyz氏が、Switchハックの現状を解説、ファームウェアごとにどこまでできるのかの情報を公開していました。
GameGaz Daily 2018.1.14で概略だけ書きましたが、Switchハックは3.0.0以下だけではないようです。
コードを実行するだけなら3.0.0出なくても、現時点で最新ファームウェアである4.1.0でも対応可能です。
hexkyz氏はVitaシーンではMolecule Teamのxyz氏として知られる人物です。最近のSwitxchシーンだと34C3で発表したplutoo氏、derrek氏、naehrwert氏に注目が集まっていますが、hexkyz氏もSwitch発売日から解析に取り組んでおり、独自でexploitを発見していたものの最終的には他のチーム(Switchbrew、ReSwitched)と情報をシェアして統合するなどしていました。
Switchは発売1年経たずにハックされた理由の一つとしてこうした開発者間の協力体制が挙げられます。表には出てきていませんがhexkyz氏はその協力体制の中の一人だったと言えます。
そのhexkyz氏がSwitchの現時点でのファームウェアごとの状態をわかりやすくまとめてくれていましたので概略紹介をしましたが、その後新たな事実が出てきました。
SciresM氏はhexkyz氏が3.0.0はユーザーモードでコード実行と紹介していることに対して以下のように述べました。
Aforementioned kernelhax should work up through sysver 3.0.2 in theory, I believe, but has currently only been tested on 2.00-2.3.0 and 3.0.0. It does not work on 4.0.0+ when I tested.
— Michael (@SciresM) January 13, 2018
そのカーネルハックは理論的には3.0.2まで動くはずだと思ってます。ただ、現時点では2.0.0から2.3.0と3.0.0までしかテストできていません。またテストした時点では4.0.0以降では動作しませんでした。
理論的には動くというだけですが、いま3.0.0以下でSwitchハックが有効と言っているのは3.0,1でsm:h/smhaxが対策されたことに起因しているはずです。だとするとSciresM氏の言うカーネルexploitは今3.0.0以下と言っているSwitchのカーネルexploiitとは別物か、対策されたと思っていたが実は抜け穴が残ってる可能性が見つかったのかのどちらかだと思います。表現の仕方からおそらく後者だと私は思っています
上記の事実と合わせると、Switchの現時点でのファームウェアごとの状態は以下のようになっています。Wiidatabaseがわかりやすくまとめてくれていたので情報として流用しています。
Firmware 1.0.0
TrustZoneレベルでのコードの実行が可能なほどの重大な脆弱性を含むバージョン
emuNAND/CFWが可能
Firmware 2.0.0-3.0.2:
カーネルレベルでのコードの実行が可能なバージョン
実証できているのは3.0.0.までだが理論的には3.0.2でも可能
CFWが可能 今後リリースされる可能性あり
未公開のexploitであるnvhaxや、公開済みのROhanなどを使えばユーザーモードでのHomebrew起動可能
Firmware 4.0.0-4.1.0:
カーネルアクセスは不可
未公開のexploitであるnvhaxを使えばユーザーモードでのHomebrew起動可能
nvhaxとはSciresM氏が最初に独自で発見したexploitで、今はSciresM氏やplutoo氏も開発に携わっています。ユーザーモードexploitのためカーネルアクセスはできません。現時点での最新ファムウェアでも動作するため、少なくともファームウェアで対策されるまではリリース予定がありません。
nvhaxの存在は今後ファームウェアアップデートのたびに、少なくとも「アップデートは控えて」と言われる理由の一つにはなりそうです。