PS5 初の自作ソフトのPOC(Proof-of-Concept:試作開発の実証)リリース

記事の方法を試す前や質問をするまえに必ず下記リンクを見てからにしてください!
このブログについて
http://yyoossk.blogspot.jp/1970/11/blog-post_24.html



ハックシーンで有名なJose Coixao氏が、近日PS5で自作ソフトがリリースされるというツイートしてたものです


1.xx-2.xx (wait)
3.xx-4.xx (soon) 
5.xx+ (no go)
と言われていたようにおそらく3.xx-4.xxのバージョンの本体向けです

1.xx-2.xxのバージョンの本体を所持している人は数少ないとは思いますが(自分はペイロード検証のために3.00にアプデしました)、移植される可能性はあるものの、いつになるか分かりませんが、低いバージョンほど、高い権限を持ったkexploitが存在する可能性はあるので、すぐにアプデしないよう推奨はされています(PS4では結果的にアプデした方が良かったということになっていますが…)

5.xxより高いバージョンにアップデートしてしまっている方は正直いつになるか分からない&PS4のこれまでの流れを見ると年単位の可能性もあります


今回リリースされたものはJose Coixao氏がリリースしたものではなく、開発者のAstrelsky氏
内容はカーネルデータをダンプするものです
これは既にペイロードで可能なものなので、新しい機能ではない上、エンドユーザーには意味のないものなのでチュートリアルは簡易的にしか紹介しません

注意点
・非署名のアプリとして本体にインストールできるわけではない
つまり、pkg化してホーム画面から起動できる自作ソフトではない上、非署名なアプリを署名をバイパスして起動できるHENがリリースされたわけではない
・任〇堂系のハードのようなhblやhbcなどの自作ソフトのローダーが新たにリリースされたわけでもなく、そこから実行されるわけではない
・既存のペイロードの起動をするために使用するBD-J exploitを発動し読み込ませるため、ペイロードと同じような起動方法で、新たなexploitが見つかったわけではない

ここでエンドユーザー(自分も含め)が思うことは、ペイロードと異なる点だと思います
起動方法はペイロードと同じ、PS4のようにpkg化し、ホームからも起動できない、任〇堂系ハードのように自作ソフトを起動するローダーがホームに追加されるわけでもない
ではどう違うのだと

それはAstrelsky氏がおっしゃるには、自作ソフトが独自のプロセスで実行されていることで、このシステムがdlsymからすべてを引き出す代わりにsoファイルを使用していると述べており、apiで他のユーザーランドプロセスへの読み書きができるようになり、メモリ保護は無視されるとのこと

自分は素人なのでプログラミングに関してはさっぱりで誤った解釈かもですが、メモリ保護が無視されるということは、先の記述の通り他のアプリケーションの使用しているメモリ領域にアクセスすることのないように領域を保護する機能を突破できるということになるので、ペイロードよりもアクセスできる領域が広がる可能性があるということになります
領域が広がるというだけで、権限が上がるわけではないのでkxploit並みにアクセス権限が強まる訳ではないので誤解しないように

もっと分かりやすく言えば任〇堂系の自作ソフトは、hbm、hbc、hblなどの自作ソフトのローダーを介して読み込みますが、そこから先は自作ソフト独自の機能で、様々なことが可能になりました
それは自作ソフトのローダーにはない機能なので、そこから先が自作ソフトの独自の機能といったことになります
例えばファイルブラウザやゲーム、セーブデータのバックアップ、エミュレーターや、音楽再生などなど
これらは最近で言えばスイッチを改造している人なら分かるかもしれませんが、中にはペイロードでは実現できない機能があります(一部できるものもあります)

例で紹介した自作ソフトの機能の中にはkexploitによりアクセス権限が高いために可能なものがあり、今回のPS5のものはkexploitはあるものの、まだ開発段階でより高い権限にアクセスできるよう解析中であるがゆえに、ユーザーexploitの権限の範囲でしか実行できないものになっています
ですので現段階では自作ソフトとして可能な機能が追加されるとすれば、そこまで期待できるものではないと思われます
もしかするとレトロゲームのエミュレーターくらいは出てくるかもしれませんが

既存のペイロードを読み込ませるBD-J exploitを使用していますが、それが例に出した自作ソフトのローダーともいえるようです

この自作ソフトにはソースコードがありませんが、その理由としては今後の自作ソフトの開発を行う為に、自作ソフトの開発に必要なSDKに統合される前に、このプロジェクトをクリーンアップする必要があるとのことです
これが実現すれば、exploitと同じプロセスで実行されるELFファイルの代わりに、SDKが自作ソフトを生成することができるようになるのではないかとのこと

エンドユーザー目線で見ると自作ソフトの開発環境が整いつつあるように感じますが、現時点ではまだ明確なものではないようです
今回のPOCはこれからの自作ソフト開発の礎となるものになりそうです

なので、ようやく自作ソフトの入り口が見えてきたということだと思われます

開発者は実際にテストは行っていないとのこと
この自作ソフトを使用するにはペイロードの起動をするために以前紹介したBD-J exploitを発動し、send_elf.py を使ってダウンロードしたelfファイルを送信
成功した場合、ポート9030で、カーネルデータをダンプする

追記
ソースコードが開示されました
おそらく一部のコア的な開発者には既に共有されているとは思いますが、これで他の開発者も自作ソフトの開発や、sdkの改良に乗り出せるようになったと思います
これで、今後どのようにPS5のハックシーンが動き出すか楽しみなところではあります

pocを試す専用のツールもリリースされていました
https://mega.nz/file/lbwQVYiS#scdS27ZdOrzHrhIslDTg9PkQRW8AwTLVbaxOv7Y72wg

コメント