世界中のハッカーが成果を発表する第36回CCC(Chaos Communication Congress: 36C3)で、nba::yoh(MrNbaYoh)氏が3DSのStreetPass(すれちがい通信)のモジュールに存在する脆弱性を利用したLazyPixieを発表していました。
nba::yoh氏が36C3で3DSのStreetPass(すれちがい通信)ハックを発表することは以前お伝えしましたが、発表は36C3初日の日本時間で2019年12月27日(金)22時10分から行われました。
動画では40分ちょうど過ぎからデモが行われているので見てみて下さい。すれ違い通信を使っているので、3DSは放置しているだけでハックできているのが分かります。
For those who would like to check it out, here is the ropchain implementation of LazyPixie that I presented in my talk at #36c3https://t.co/S5z1QxPFg3
— nba::yoh (@MrNbaYoh) December 28, 2019
興味をお持ちの方に、36c3で私が発表したLazyPixieを実装したROPチェーンがこちらです。
https://github.com/MrNbaYoh/cecd-lazypixie
nba::yoh氏が発表したのは3DSのexploitであるLazyPixieで、StreetPass(すれちがい通信)のモジュールに存在するカーネルの脆弱性を利用した物です。実は11月頭にリリースされた11.12.0-44に含まれた変更で調整事項があったようですが、基本的には現時点でのすべてのファームウェアに対応しています。
概要を簡単に説明します。
3DSには
メインシステムやゲームを実行するArm11 MPCORE
ストレージデバイスやセキュリティを管理するArm9TDM
という2つのプロセッサが存在します。
2つのプロセッサでHorizon OSと呼ばれる3DSのOSを実行しています。2つのプロセッサはMMX PXIというレジスタを介して通信が行われ、この部分に脆弱性が存在したようです。LazyPixieは「怠慢PXI」のような意味が込められているのだと思います。
ちょっと専門的な話が多いのでうまく説明できませんね。
LazyPixieのコードは
cecd-lazypixie
で公開中です。
36C3で発表したのはnba::yoh氏一人ですが、実際にこのexploitを発見したのはTuxSH氏のようです。なんちゃらhaxに実装したLazyPixie-safehaxを公開しています。
Hey guys here's my kernel exploit (+ pov) writeup @MrNbaYoh talked about in his talk: https://t.co/WcLjh6R4XU
— Tux (@TuxSH) December 27, 2019
今回はセキュリティの観点から36C3でLazyPixieが発表された段階なので、実用的なものはこれから明らかになってくると思います。