[SWITCH] fail0verflowチームがShofEL2(TegraのブートROMのバグを利用したexploit)とSwitch向けのLinuxをリリース

2018/04/24 21:16 Switch 0
fail0verflowチームがShofEL2(TegraのブートROMのバグを利用したexploit)とSwitch向けのLinuxをリリースした事を伝えていました。
https://fail0verflow.com/blog/2018/shofel2/
https://github.com/fail0verflow/shofel2
https://github.com/fail0verflow/switch-arm-trusted-firmware
https://github.com/fail0verflow/switch-coreboot
https://github.com/fail0verflow/switch-u-boot
https://github.com/fail0verflow/switch-linux

ShofEL2はSwitchに搭載されるTegra X1(T210)のブートROMに存在するバグ由来のexploitで、これまでcoldboot exploitと
呼ばれていたexploitです。使用しているバグはKate Temkin氏が発見してNVIDIAに報告したFusée Geléeの物と同じだそうです。
Kate Temkin氏はFusée Geléeの脆弱性によって既存のTegra搭載機に危険が及ぶと考えNVIDIAに報告されました。
対してfail0verflowチームはTegraがAndroid端末に使用されている事からGoogleに報告したようで、90日間は公開しないという
契約があったらしく、それが4月25日で切れるため25日に公開しようとしていた所に先日の匿名の存在によるブートROMの流出騒ぎ。
これによってほんの少しだけ公開を早め、本日24日に公開する事にしたようです。

fail0verflowチームが今回リリースしたのはSwitchでLinuxを起動させるための一連のソフトウェアです。
ShofEL2 → corebootローダー → coreboot → ARM trusted firmware → coreboot → u-boot → Linux
この流れでLinuxが起動するとされています。


Switchで任意のコードを実行するためにはSwitchをTegraのリカバリーモード(RCMモード)で起動し、ホストとなるPCとUSBケーブルで接続して
exploitを実行するようです。Kate Temkin氏もFusée Geléeのレポートに同じような事を書かれていましたね。
USB接続が必要な事から、fail0verflowチームはiOSの脱獄である "tethered jailbreak" というワードを挙げられています。
私はiOSユーザーではないのでそのワードは初耳でしたが、iOSの脱獄ユーザーには馴染みのあるワードなのでしょう。

SwitchをRCMモードで起動する方法は以下の3つがあるとされています。
・システムで事前にカーネルコードを実行する。例えばWebkit exploitとカーネルexploitをエントリーポイントとして。
・eMMCボードを取り外すとTegraは起動時にRCMモードに入る
・Switchの音量アップボタン, ホームボタン, 電源ボタン を同時押し

2つ目はNVIDIAのエンジニア向けとしてKate Temkin氏がレポートに書かれていた方法です。
3つ目の方法のホームボタンというのはJoyConに存在するホームボタンではなく、Tegraがホームボタンとして扱う隠されたボタンのようです。
fail0verflowチームはこの3つ目の方法でRCMモードに入るための詳細を書かれています。
Switchの本体右側のJoyConを外し、本体側のレールの下部を確認してみてください。見えにくいかもしれませんが、10本のピンが見えるはずです。
その10番ピン(右端)が隠されたホームボタンに繋がっているようで、10番と7番、或いは10番と1番をショートさせるとホームボタンになるようです。
10番と9番では機能しないようです。fail0verflowチームがTwitterで公開していたのはこのショートを簡単に行うためのパーツの画像です。


SwitchXの"Available at your local hardware store TODAY." というのは冗談というかなんというか…
多分、自分で最寄りのお店でワイヤー買ってショートさせようね!って事でしょう。
SwitchX PROの方は冗談ではなく真剣に考えられたパーツのようで、3Dプリント可能なデータとしてGitHubで公開されています。
https://github.com/fail0verflow/shofel2/tree/master/rcm-jig
こういうのが公開されるとなると、需要がありそうならAliとかに出てくるのではないでしょうか。

今日どこで見たのか忘れましたが既にシーンの開発者の中には今回リリースされた物でLinuxを起動させている人がいて、確かその人は
クリップを使ってたような…私の記憶違いなら申し訳ない話ですが、クリップならどのご家庭にもありそうですし使えると嬉しいですね。



fail0verflowチームはTwitterでこんな画像を公開しています。

リプライ見たら分かりますが、これはSwitchのFW上ではなくLinux向けとして移植されたDolphinを使って動作していますのでご注意ください。
つまりSwitchでLinuxを起動させてそこでDolphinを起動して風のタクトやってるってわけです。

また、こんな画像も。

これは本当によく見た方が良いです。これはSwitchのエミュレータとして開発が進められているyuzuの上でHomebrewが動作している画像です。



fail0verflowチームのブログの記事の最後にはexploitの詳細やLinuxの移植に関する話なんかが近日公開予定と書かれています。
ShofEL2やLinuxの起動に興味がある方はそれを待つと良いかもしれませんね。

Switchで起動するLinuxの挙動はこんな感じです。



これはfail0verflowチームがTwitterで2月に公開した動画で、今回のリリースに際してYouTubeにアップされたようです。
SwitchをまるでタブレットPCの如く使用されている感動的な動画です。

ちなみに、当たり前かもしれませんがLinuxはmicroSDカードに入れます。SwitchのストレージであるeMMCの内容に改変を加える事はせず
現在のハードウェアリビジョンでは修正出来ないバグ由来のexploitを利用しているため、fail0verflowチーム曰く永遠にデュアルブート可能だそうです。
microSDカードのパーティションを切って片方にLinux入れたり、Linux用のmicroSDカードを用意するなどのシチュエーションを挙げられています。

kood

▼コメント




▼コメントを投稿












※「英数字90%以上」のコメントを規制中です。コメントを投稿する際は日本語でお願いします。
※確認ボタンを押すと投稿確認フォームに移ります。投稿確認フォームの送信ボタンを押してください。
※確認フォームにある「メールアドレス」に入力された内容は管理人のみ確認可能です。空欄で構いません。
※確認フォームにある「タイトル」「パスワード」は当ブログでは使用していません。空欄で構いません。
※確認フォームにある「URL」は名前のリンクとして機能します。空欄で構いません。
※確認フォームには非公開コメントのチェック項目がありますが、非公開コメントは受け付けていません。
メールフォームより連絡頂ければメールにてお返事致します。