ツイッターで、hexkyz氏が新型Nintendo Switch(通称Swtich Pro)からNVIDIAのSoCはFalconからRISC-Vベースに変わる可能性があるという可能性を指摘していました。
Ok so, considering that:
a) Nvidia has moved away from Falcon for good, replacing it with a RISC-V based solution ("Peregrine");
b) Nintendo no longer uses the TSEC for secure boot on new Switch units;— Mike Heskin (@hexkyz) January 29, 2021
hexkyzの考察によると、今後のSwitchは以下のようになる可能性があるようです。内容についての詳細は後述します。
a) NVIDIAはFalconから離れ、RISC-Vベースのソリューション(Peregrine)に置き換わる。
NVIDIAはNintendo SwitchのSoC(System-on-a-Chip:1つのチップにCPUやメモリ、ビデオチップなどの機能を統合したもの)メーカーです。10数年前からFalcon(FAst Logic CONtroller)という独自のプロセッサコアをマイクロコントローラーとして組み込んできました。セキュリティに関してもFalconが担っています。
RISC-VはオープンソースなCPU命令セットアーキテクチャです。今後NVIDIAのチップは独自のFalconから今後はRISC-Vベースのプロセッサコアに変わります。これはNVIDIA自体が発表しています。ちなみに「Switch Pro」のSoCから変更と公式発表されているわけではありません。
RISC-Vはオープンソースですが、RISC-Vで設計したCPUをオープンソースにする必要はないため、商用ライセンスのプロセッサコアを作ることは可能です。
b) 任天堂は新しいSwitchユニットのセキュアブートにTSECを使用しないことにした。
TSEC(Tegra Security Co-processor)は、Switchで使われている、NVIDIAのSoC Tegraに使われている、Falconを搭載した暗号化に関する機能を持つプロセッサです。セキュアブートとは、デジタル署名を確認し、信頼されているソフトウェアのみを使用してデバイスを起動できるようチェックを行う機能です。このTSECを新しいSwitch、これが何を意味しているのか明確に示されてはいませんが、現時点ではSwitchの次世代機の話は出てきていないため、4Kサポートの通称「Switch Pro」コードネームAulaのことを指していると思われます。
つまり、早ければ年内にも発売かとも言われている通称「Switch Pro」が、NVIDIAのSoCのままであるもののFalconではなくRISC-Vベースのプロセッサコアに代わり、それに伴いセキュアブートの仕組みも変更になると言うことになります。
c) ゲートウェイではすでにこの数ヶ月の間にTSECに関連するキーを入手することができた。
この場合のGateway(ゲートウェイ)が何を意味するのかイマイチ把握できませんが、TSEC関連のキーというのは暗号化を解除したりするためのキーですのでセキュアブートを機能しないようにしてしまうことができるという意味だと思われます。
d) 誰かがSwitchbrewのwikiに1月30日に「–xploit」の詳細を公開した。
探してみましたが、2021年の1月公開のものはSwitchbrewのSystem flaws(システムの脆弱性)のHardware(ハードウェア)項目に書かれた”ROP under TSEC secure bootrom via DMA engine stack overwrite (–xploit) “というものしかありません。–xploitとなっているのでおそらくこれで間違いないでしょう。
この脆弱性はTSEC暗号システムを完全に破壊してしまうもののようです。発見されたのは2018年後半とのことですので今まで表沙汰にされなかっただけようです。対象ハードウェアは”TSEC for all Tegra devices”、つまり全TegraデバイスのTSECなのでSwitchの現行モデル(Mariko基板)も含まれます。
この脆弱性を発見したのはhexkyz氏/SciresM氏、Vale氏/Thog氏、Tatsuko氏他、と書かれています。かなり多くの開発者が個別に見つけていたようです。これまでは公表されてこなかったのですが、hexkyz氏以外の誰か(SciresM氏はhexkyz氏と行動を共にしているのでSciresM氏でもないでしょう)がずっと表沙汰になっていなかった脆弱性を公表してしまったので、今更隠しても意味がないためhexkyz氏が直接ツイッターでこの情報を公開した、というのが今回の話の内容です。
…HackerOneに登録したら大金ゲットできそうな案件ですね。
hexkyzの考察の、「Switch ProからRISC-Vベースのプロセッサコアに変わる」というのは、TSECによるセキュアブートの仕組みが完全に破壊されるので、これから発売されるSwitchはTSECを採用しないだろう、というところから予想される今後の展開になります。
–xploitについてはSciresM氏が今後何らかのドキュメントを公開予定だそうです。–xploitを利用した何かが今後出てくる可能性はありますが、それはソフトウェアハックになります。
命令セットが変わったら互換性はどうするの?