wololo.netで、34C3(34th Chaos Communication Congress)においてNintendo Switchのカーネルexploitが発表されたことを伝えていました。
とてもエポックメーキングな話です。Switchの34C3の話題はあちこちのサイトで触れられていますが、一番分かりやすく解説していたwololo氏の記事をベースにお伝えします。
発表は次の動画をご覧ください。
https://www.youtube.com/watch?v=T8mMg_hQWSo
[追記]上記動画が見られないので代わりに下記追加。同じものです。
34C3で発表したのはplutoo(@qlutoo)氏、derrek(@derrekr6)氏、naehrwert(@naehrwert)氏の3人で、発表の場にはいなかったもののyellows8(@ylws8)氏も開発に携わっています。
このカーネルexploitはSwitchの3.0.0に存在しているもので、リリース自体はされていませんが、その内容が公表されています。Switchに詳しいのであれば発表を見て独自で実践できるかもしれません。
彼らはSwitchbrewというチーム名を名乗り、GitHubのswitchbrewでオープンソースデバッガnxdbgなと各種ツールのコードを公開しています。
Switchbrewチームは現在ReSwitchedチームと共同で開発に挑んでおり、ファイルシステムへのアクセスやUSB、コントローラー、ネットワークも有効にすることに成功しているようです。
GPUを活かしきれてはいないもののグラフィックレンダリングも可能ですが、サウンド関連はまだこれからのようです。
今回の発表ではぷよぷよテトリスでブラウザを起動することによりWebkit exploitを発動してカーネルexploitに繋げる形になっていますので、Webkit exploitのエントリーポイントのトリガーとしてぷよぷよテトリスが重宝されるかもしれません。
発表では、主にどのようにしてSwitchのセキュリティを突破して行ったかが解説されました。
面白いのは、Switchに採用されているGPU Nvidia Tegra X1の資料やデバッグツールをNivdia自身が用意しているため、システムメモリ管理ユニットのセキュリティを回避する方法すら資料を調べれば出てくるため、「Nvidiaが自分からバックドアを開けた」とPlutoo氏に言わしめたことでしょうか。
現時点では開発者向けの情報公開の色合いが濃いですが、開発者向けのツールが揃った段階で今後は3.0.0以下のSwitchでのHomebrew Launcherリリースという流れになると思われます。
個人的に感心するのは、秘密裏に進めながらも途中でリークされることなく、発表をニックネームを名乗りながらも公衆の面前で研究の成果として資料を交えてきちんと説明する方式をとっていることです。かつてのゲーム機ハックは完全にアンダーグラウンドなものでしたが、PS3を初めてJailbreakしたGeohotが顔出しを積極的にしてソニーと法廷闘争していた頃から流れが変わりました。
Wiiシーンで活躍したTeam Twiizersの頃は裏で活躍するグループだったのが、ほぼ同じメンバーでfail0verflowとしてPS3シーンで活動を始めた頃からカンファレンスでの発表という形式を取り始めたことが、今回のような研究成果発表形式のきっかけになっています。昨年の32C3で3DSの発表をしたsmea氏やplutoo氏、derrek氏もそうでしたね。
ゲーム機ハックというのは違法コピー起動だけが目的、のようなアングライメージがつきまとうのが常でしたが、Switchbrewやfail0verflowの活躍で少しは世の中からの見方が変わってくるかもしれません。
全部Nivdiaになってる…(´ω`)
ニブディアかな?