Switch 2向け「ns2jb」公開、プチコン4経由でシステムモジュールのコード実行

(Nintendo.com)[写真拡大]
セキュリティ研究者のSammy Hajhamid氏(オンライン名:pepsipu)が、Nintendo Switch 2向けのエクスプロイトチェーン「ns2jb」の技術情報とコードを公開した。Nintendo Switch用のプログラミングソフト「プチコン4 SmileBASIC」を入口に、システムモジュールの権限で独自のコードを動かす手法だ。
同氏によると、本体のハードウェア改造を必要とせず、自作ソフトの開発、ゲームの解析・改変、セーブデータのバックアップなどに利用できる。公開されたデモはシステムバージョン23.0.1を対象とし、再起動後にはコンピューターから再実行する方式を採る。
■プチコン4を入口にゲーム改変を実演
Hajhamid氏は、自身のブログでns2jbの仕組みを解説し、GitLabでコードを公開した。GBAtempも10月22日、この成果を紹介している。同氏は、自身の知る限り、Switch 2でこの到達範囲を実現した初のエクスプロイトだとしている。
入口となった「プチコン4 SmileBASIC」は、スマイルブームが開発したBASICプログラミング環境だ。初代「プチコン」は2011年にニンテンドーDSi向けに発売され、Switch版の「プチコン4」は日本で2019年5月23日に発売された。
日本向け公式情報が案内する通常価格は、ソフト単体が2500円、サーバー利用券1個付きが3000円で、いずれも税込みだ。プログラムを入力してゲームやツールを作るソフトで、Switch 2ではSwitch用ソフトとして動作する。
Hajhamid氏は、成果を示すために「マリオカート ワールド」の改変映像も公開した。ゲームに独自のキャラクターを加えたもので、同氏によると、この改変作業にもOpenAIのCodexを利用したという。
公開リポジトリーの説明では、デモの実行条件としてSmileBASIC 4.4.9、システムバージョン23.0.1、Node.js 22以降が動くmacOSまたはLinuxのコンピューターを挙げている。本体とコンピューターが相互に通信できるネットワーク環境と、プチコン4のセーブ領域に20MiBを超える空き容量も必要となる。
■メモリー破損からシステムサービスへ
技術解説によると、最初の入口はBASICインタープリターの配列操作にある32ビット整数オーバーフローだ。要素の削除位置と個数を加算する際、計算結果が表現範囲を超えて負の値となり、範囲検査を通過する。その後のコピー処理によってメモリーが破損し、配列や文字列に割り当てられた領域の外を読み書きできる状態につながったという。
そこから利用したのが、既存の短い命令列を組み合わせて処理を進めるROP(Return-Oriented Programming)だ。新しい機械語コードを直接注入する代わりに、メモリー上にある命令を再利用する。ROPは、Hovav Shacham氏が2007年の論文で示した攻撃手法として知られる。
次の段階では、アプリからシステムサービスへ要求を送るプロセス間通信(IPC)を利用する。対象はファイルシステムを担当する「fs」モジュールで、GetEntryType処理に伴うPath::Normalizeのパス正規化に、ヒープ上のバッファーを越えて書き込める不具合があったという。
Hajhamid氏は、この不具合からfs内のメモリー読み書きを確立し、プログラムの実行ファイルを格納するExeFSへのアクセスを差し替えた。正規の権限情報を使いながら独自の実行コードを読み込ませ、通常のシステムモジュールに与えられた権限でコードを動かす仕組みだ。
さらに、コードのメモリー配置を扱う「ro」モジュールの権限を利用し、fs自体でのコード実行へと進んだ。アプリの内部に閉じたコード実行から、ファイルや機器へのアクセスを担うサービスへ到達した点が、今回の研究の重要な成果となる。
■ブラウザーと互換ソフトで異なる攻撃対象
Hajhamid氏は当初、ブラウザーエンジンのWebKitも調べたという。技術解説では、Switch 2のWebKitにポインター認証(PAC)、制御フロー整合性(CFI)、実行専用メモリーといった保護があり、既存の不具合から任意の処理へ進む際の障害になったと説明している。
そこで注目したのが、Switch 2で動作する初代Switch用ソフトだった。同氏は、初代SwitchがPACに対応していないことや、既存の解析環境を利用できることを選定理由に挙げている。複雑な入力処理を持つプチコン4のインタープリターが、新たな入口になった。
この構造は、アプリの不具合と、そのアプリから呼び出せるシステムサービスの不具合を組み合わせて権限を広げるものだ。2019年公開の研究論文「Methodically Defeating Nintendo Switch Security」も、初代Switchについて、ユーザーランドのコード実行からOSサービスやセキュリティ機構の解析へ進む手順を扱っている。
プチコンの3DS版にも、過去にセキュリティ上の問題があった。スマイルブームは2016年7月11日、海外版SmileBASICが3DSシステムへの不正なアクセスに利用されたとして、ニンテンドーeショップでの販売を一時停止したと発表した。
同社は同年8月10日に海外版の販売再開を告知し、更新版3.3.2ではBGSCREEN命令の引数検査に関する脆弱性を修正した。プログラムを処理するアプリ自体の安全性と、本体側で維持する権限境界の双方が重要になることを示す経緯だ。
■AIを使った研究と第三者の反応
Hajhamid氏は、研究用のSwitchとSwitch 2を遠隔操作できる環境を組み、Codexに解析や実機検証を進めさせたと説明している。映像取得とコントローラー入力にはJetKVMを使い、本体がクラッシュした際に電源ボタンを押すための装置も用意した。
同氏の説明では、Codexはプチコン4の整数オーバーフローの発見や、ファイルシステム側の不具合の解析にも関わった。研究用に組んだ自動操作環境と、公開デモを動かす際に必要なコンピューター・ネットワーク環境は、用途が異なる。
OpenAIは別途、2026年3月にセキュリティ調査向けの「Codex Security」を研究プレビューとして公開している。同社発表では、公開前の30日間にベータ参加先の外部リポジトリーで120万件を超えるコミットを調べ、重大度Criticalの指摘792件、Highの指摘1万561件を検出したという。
Notebookcheckによると、研究者のGezine氏はpepsipu氏と話し、今回の成果について信頼できそうだとの見方を示した。同媒体は2026年7月、Gezine氏がSwitchとSwitch 2でオフライン動作する別のユーザーランドエクスプロイトを発表したことも報じている。その手法の到達範囲はアプリのサンドボックス内だった。
Hajhamid氏は自身のプロフィールで、OtterSecなどでの勤務経験と、CTFチームDiceGangでの活動を紹介している。2022年の「A New HOPE」では「Novel Exploitation Tactics in Linux Userspace: One Byte OOB Write to ROP Chain」と題し、Linuxの小さなメモリー破損からROPにつなぐ手法を講演した。
■再起動ごとに再実行する研究用の基盤
Hajhamid氏が挙げる用途は、自作ソフトの実行、ゲームの解析・改変、セーブファイルの取り出し、メモリーマップドI/Oを通じた周辺機器の研究だ。メモリーマップドI/Oは、メモリーアドレスへの読み書きによって機器を操作する仕組みで、ハードウェアの動作を調べる手掛かりになる。
公開デモは、fs内で小さなネイティブ関数を実行して結果を確認し、元の命令を復元する内容となっている。再起動すると実行中の改変状態が解消されるため、再び利用する際はコンピューターから手法を実行し直す。開発や解析の足場となる、テザード方式の成果だ。
今後の研究候補として、Hajhamid氏はfsの不具合をWebKit経由で利用する方法や、ほかの組み込みシステムモジュールの解析を挙げている。同氏は、この成果がホームブリューコミュニティーによるカスタムファームウェア開発の前進につながることに期待を示した。
初代Switchには、システムの各部分を置き換えたり拡張したりする「Atmosphère」というカスタムファームウェアの開発例がある。今回公開されたシステムサービスの解析結果も、独自ソフトを動かすための基盤を調べる材料となる。入口となるアプリと本体側の不具合は、それぞれソフトウェア更新による修正対象となり得る。
任天堂の公表値では、Switch 2の世界累計販売台数は2026年6月末時点で2368万台となっている。広く普及したゲーム機でハードウェア改造を伴わない研究手法が公開されたことは、対応する環境を持つ開発者が解析に参加する入口を広げる。
■日本向け利用規約と海外の動向
日本向けのNintendo Switch 2利用規約は、本体やソフトウェアの不正な改造、任天堂の許諾を受けていないソフトウェアなどの使用を禁じている。規約違反があった場合、任天堂は事前の通知なくシステムの一部または全部の使用停止などの措置を取れるとしている。
同規約は、アップデートに伴って不正改造されたシステムや非許諾ソフトウェアなどが使用できなくなる場合があることも定めている。一方、Nintendo of Americaの2026年10月時点の規約には、一定の禁止事項に違反した場合、本体やソフトウェアの一部または全部を恒久的に使用不能にできるとの条項がある。
任天堂の公式サポートによると、ゲームチャットの通報では、問題のあった音声や映像の30秒間を選んで送信できる。利用規約による措置とともに、オンラインサービスには利用者の行動を通報する仕組みも設けられている。
海外では、ブラジルの消費者保護機関Procon-SPが2025年5月、任天堂に利用条件の変更について説明を求めたと、現地経済メディアExameなどが報じている。また米司法省によると、海賊版実行を可能にする機器などを販売したTeam XecuterのGary Bowser氏は、技術的保護手段の回避機器の取引などに関する罪で、2022年2月に禁錮40カ月の判決を受けている。
元記事: Nintendo Switch 2 Receives First Full Software-Only Jailbreak Through SmileBASIC App
※この記事はTech Timesから提供を受けた記事を日本向けに翻訳・編集したものです。
スポンサードリンク
