PS5シーンに大きな動き Linux起動に向けてハイパーバイザー攻略へ

TheFloW氏がPS5にLinuxを移植してSteamマシンにしたと報告

したことがきっかけで、PS5シーンの流れが明らかに変わりました。

これまでの課題はHypervisor(ハイパーバイザー)の克服でした。

ハイパーバイザーは仮想マシン管理プログラムで、CPUの最深の特権レベルで動作しており、一般的にOSというのはハイパーバイザ上で動作、つまりCPUからみるとOSのカーネルというのはハイパーバイザー層で動作しているものです。OS自体が仮想マシン上で動いているアプリケーションのようなイメージです。そのためPS5ではその仮想マシン、つまりハイパーバイザーを掌握しないと本当の意味でのハックしたことにはなりません。

これまではハイパーバイザーのexploitがないのでカーネルexploitをPS5へ移植できていませんでした。

これまではPS4ハックの延長でハイパーバイザー層で動作しているPS5をハックしていましたが、TheFloW氏がPS5で起動させたLinuxは完全にPS5のハードウェアへのアクセスが可能な、ハイパーバイザーをハックした状態にできることを証明したことから、一気にハイパーバイザーハックへの流れが生まれました。

今回ハイパーバイザーハックに関するもののリリースが相次ぎました。順番に紹介します。

PS5-Jailbreak

●GitHubで、cragson氏がPS5のマザーボード上に存在するARM Cortex-A53チップでコードを実行可能であることを示すPS5 A53 Code Execution PoCをリリースしていました。

このPoCでコードを実行できるのはPS5のファームウェア2.00です。PS5発売初日のアップデートが2.20で、工場出荷時ファームウェアで存在が判明しているのは1.02と2.00ですので、この2.00というのは発売時に入手してアップデートを一切せず保管していた個体のみになります。
ただし2.00限定ではなく、理論上は使っている脆弱性が存在する22.01-05.00.00までであればハイパーバイザーの無効化やバイパスが可能になるようです。

“till 5.00″と表記しているので、5.00は含まれないのではないかと思います。

現時点ではハイパーバイザーの無効化やバイパスに関しては実装されていません。それ以外にもメモリの読み書き権限を得るために別途カーネルexploitも必要です。

あくまでもPoC(概念実証)ですので実用できるようになるまでには追加作業が多く必要です。

●GitHubで、flatz氏がjavaで動作するハイパーバイザーexploit HvExploit.javaをリリースしていました。javaですのてbd-jbで利用できそうです。(anonさん情報ありがとね)

flatz氏は以前PS5のHypervisor(ハイパーバイザー)をバイパスできるHV bypassで当初利用していたexploitは5.00で対策されていたことを明かしていますが、そのハイパーバイザーexploitではないかと思います。22.01-05.00.00で対策されたということは、その前のバージョンである21.02-04.51.00まで有効ということになります。

●GitHubで、fail0verflowチームのshuffle2氏がPS5の5.00より前まででハイパーバイザーを回避することができるprosperousを公開していました。(anonさん情報ありがとね)

これはfail0verflowチームが「5年以上前からPS5のmp4やハイパーバイザーメモリーを改変するために使っていた」ものを今になって公開したものです。
隠していたと言うより利用する術がなかったから公開しなかったもので、今なら、というところでしょうか。「Linuxを起動するには役に立つはず」とのこと。

fail0verflowチームによると、prosperousは公式のiommu(Input/Output Memory Management Unit: I/Oバスと主記憶装置を接続するメモリ管理ユニット)ツールに含まれていたiommuスクリプトを利用してiommuをパイパスし、x86のカーネルテキストを5年以上前の時点で入手できていたそうです。M.2スロットのカスタムPCIeデバイスを使ったようですので、M.2スロットに特殊なデバイスを差すことでPS5は何らかの通常とは異なるモードに入ることができるようです。

PS5は2020年11月発売ですので、5年以上前から使っていたということはfail0verflowチームはPS5の発売当初からハイパーバイザーを回避する手段を持っていたことになります。

ただ、TheFloW氏によるとprosperousは5.00で対策されているため4.51までが対象です。

また、TheFloW氏もPS5 Linuxを改良し続けています。

目指しているのはバックアップ起動ではなくLinux起動てすが、SteamがPS5で利用できることから利用価値は高いと思います。ただし利用できるPS5のファームウェアは4年前の4.51までですので対象PS5所有ユーザーの数はかなり少ないと思われます。一方でPS5のJailbreakの基礎が出来上がりますから、コンソールハックの過去の歴史から時間の経過と共により新しいファームウェアでJailbreakできるようになっていくでしょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする