ツイッターで、hexkyz氏がTeam XecuterのMODチップSX Core/SX Liteのファームウェアをダンプすることに成功したことを公表していました。
After stumbling upon this tweet, we were able to use this bug to dump the Gateway/TX modchip's firmware. It's important to remember that this is the exact same issue that led to fusee-gelee/shofel2, but on a different USB stack, meaning this might be even more widespread. https://t.co/OLYfB6zn4F
— Mike Heskin (@hexkyz) October 8, 2020
このツイートを偶然見かけて試してみたら、このバグでGateway/TXのMODチップのファームウェアをダンプすることができました。Fusée Gelée/shofEL2と同じ流れですが、USBスタックが異なります。つまり、展開が広がるかもしれません。
Fusée GeléeもshofEL2も、初期型Nintendo Switchで使われているNVIDIA Tegraプロセッサの脆弱性を利用し起動時に任意のコードを実行できてしまう脆弱性のことです。
hexkyz氏が「このツイート」と言っているのはCVE-2020-15808という脆弱性の存在が明らかになったというツイートです。CVEはセキュリティの欠陥に割り振られたID番号です。CVE-2020-15808はSTマイクロエレクトロニクスのチップに存在するUSBの脆弱性で、hexkyz氏はこの脆弱性を利用することでSX Core/SX Liteのファームウェアのダンプに成功しました。
SX Core/SX LiteはSTマイクロエレクトロニクスのクローンチップであるGD32を使っていたらしく、このUSBの脆弱性が有効でした。
hexkyz氏によると、実は以前からSX Core/SX Liteの解析に取り組んでいたようです。MODチップのDRMは既に回避できてはいたものの、ファームウェアをダンプするためには何らかのトリガーとなる欠陥を見つけないとできなかったために頓挫していたそうです。
また、SX Core/SX Liteのファームウェアアップデートの仕組みにも脆弱性が見つかったため、SX Core/SX Liteに別のコードを書き込むことが可能であることも分かりました。
SX Core/SX Liteのファームウェアのダンプデータが入手でき、DRMの解除もできているということはSX Core/SX Liteのファームウェアの解析ができる状態になっていることになります。MarikoチップのSwitchをSX Core/SX Liteがどのようにハックしているのかが明らかになります。
今後の展開として考えられるのは
- オープンソースMODチップ(自作MODチップとオープンソースファームウェア)によるMariko Switchのハック
- SX Core/SX Liteのオープンソースファームウェア
の2つです。ただし注意が必要なのは、仮にオープンソースファームウェア専用MODチップを開発したとしてもそのハードウェアを販売すること自体に逮捕のリスクが伴うためやるとしても自作に限られることと、SX Core/SX Liteでファームウェアを書き換えて使おうにもSX Core/SX Liteを入手することが困難(というか事実上不可能だと思った方がいい)ということです。ただ、ファームウェアを同梱しない、何に使うのか分からないハードウェアとしてMODチップを販売する裏技なら使えるかもしれません。
今回のSX Core/SX Liteのファームウェアダンプの成功は、もしTeam Xecuterがご健在であれば対策版に差し替えられてしまう可能性もありましたが、幸い彼らはもう活動できないのでSX Core/SX Liteは丸裸にされたも同然です。しかし残念ながらハードウェアMODであることには変わりはないで初期型SwitchのようにPCさえあればAtmosphèreが起動できるような簡単なハックにはなりません。
残念ながらMariko SwitchのSwitchシーンでのハックに大きな進展があったとまでは事実上言えない状況です。