Hardwear.ioで発表 PS4/PS5のBD-Jを利用したbd-jb by TheFloW

TheFloW氏が今朝アメリカのカリフォルニア州サンタクララで開催されている「Hardwear.io USA 2022」という、ハードウェアの攻撃と防御に関する研究を紹介・議論するというカンファレンスで発表を行いました。早朝3時15分からPS5についての発表を行うことは昨日お伝えしましたが、その中身はbd-jbという、BD-Jを利用することでBDを使ってユーザーランドのコード実行が可能になるという脆弱性でした。(abxさん、nameさん情報ありがとね)

TheFloW-at-hardwear_io

Hardwear.ioではカンファレンスの生配信がなかったので、昨日は
・TheFloW氏本人または参加者ないしは運営側が何らかの内容を公表してくれないと中身が分からない
・TheFloW氏は既にどこかに発表内容を非公開状態で上げているかもしれない
と予想しましたが、その全部が行われたため詳細が明らかになりました。

具体的に何が起こったか時系列で挙げると
1) 運営(hardwear_io)が登壇の様子の写真を公表。「bd-jb: Blu-ray Disc Java Sandbox Escape」というタイトルの発表であることが明らかに(午前3時19分)

2) 参加者(カンファレンスの撮影が趣味らしいMinistraitor氏)がTheFloW氏講演最中の写真を公開 bd-jbが動作しているPS5の画面の写真も明らかに。BDを使ってユーザーランドのコード実行が可能なこと、PS4の9.50未満(9.50で対策済み)とPS5の5.00未満(5.00で対策済み)であることも発覚(午前3時45分から4時の間)

3) TheFloW氏本人が詳細をツイート(午前5時43分以降順次)
bd-jbはPS4 FW 9.50とPS5 FW 5.00で対策済み

bd-jbはBD Burnerを使ってVerbatimのBD-REディスクを使用。1回しか書き込めないBD-Rディスクは買わないよう注意喚起

Hardwear.ioでの発表の様子の動画が数週間以内に公開されるとの見通しを発表。実はHackeroneにも報告済みで報奨金2万ドルだったことも公表

カーネルexploitがないと、bd-jプロセスに十分なRAMがないなどの制約があるため、カーネルexploitが既に存在するPS4はともかくPS5では海賊版ゲームを起動するのは不可能と補足としての注意喚起

基本的にはユーザーランドexploitとなるbd-jbの、Webkit exploitよりも優れた点を説明

  • PS4とPS5の両方で動作する
  • 成功率100%
  • ファームウェアに依存しないため、ROPがなくてもコードが実行可能。ROPとはReturn-Oriented Programmingの略で、セキュリティが存在する中でコードを実行できるようにするプログラムのこと
  • カーネルへの攻撃領域が広がる
  • Javaを使うのでペイロードを実行するためのJIT(Just-In-Timeコンパイラ)があり、コンピュータが理解できる機械語に翻訳することが可能。そのためCでカーネルexploitのコードを書くことができる(PS4のみ)

BD-JはBlu-ray Disc Java、つまりJavaを使ってインタラクティブなコンテンツを制作するためのBlu-rayのシステムで、Javaの脆弱性を突くようなプログラムによるexploitが過去にも度々ありました。ただし今まではBD-Jを利用してエミュレータを起動するなど、いわゆるユーザーランドでの任意のコード実行というものでした。

TheFloW氏は今回発表した脆弱性をHackeroneに報告してました。報告自体は昨年2021年の10月25日です。ソニーへ報告が行って脆弱性の危険度判定が完了したのが2021年11月5日で報奨金が2万ドルと決まったのが2021年11月13日です。PS5 5.00/ PS4 9.50のシステムソフトウェアベータプログラム開始は今年の2月9日ですが、bd-jbが有効な最終ファームウェアである

PlayStation 4 システムソフトウェア バージョン 9.04のビルドは2021年2月17日

PS5システムソフトウェアアップデート バージョン 21.02-04.51.00のビルドは2022年2月28日

ですから、ベータプログラムでは最初からbd-jbは対策された状態ではなかったようです。

最終的にbd-jbは2022年3月16日ビルドのPS5システムソフトウェアアップデート バージョン22.01-05.00.00と2022年3月7日ビルドのPlayStation 4 システムソフトウェア バージョン 9.50で正式に対策されました。

TheFloW氏は2万ドル(円安なので計算上は270万円弱ですが、感覚的には200万円くらい)の報奨金も得て、その上でHardwear.ioで発表して話題独占名声ゲットです。

bd-jb-screen

肝心なbd-jbの中身ですが、Hackeroneでbd-j exploit chainとして公開されています。要約すると、

・JIT機能で任意のペイロードを実行できるようにする5つの脆弱性を連結したもの(5つもあったのか!)
・bd-jbは.isoファイルになっており、起動したペイロードによりカーネルパニックを引き起こす
・理論的には海賊版ゲームをBDで出すことができる

これらの脆弱性により、「海賊版ゲームをブルーレイディスクに焼いて出荷(ship)することが可能になる」と書かれています。bd-jbを利用することでJITコンパイラの存在によりカーネルexploitがなくても起動できる海賊版ゲームが作れるという意味だと思います。海賊版ゲームを実行ではなく出荷となっていることに注意が必要です。カーネルexploitが存在するPS4はともかく、PS5での海賊版ゲーム実行はTheFloW氏が述べたようにRAM不足で不可能です。裏を返せばRAMが確保できればカーネルexploitがなくても海賊版ゲームの起動なら理論上はできるということになるとは思いますが。

PS5の場合はbd-jプロセスでのRAM容量の制限があるものの、カーネルexploitがなくても本来ならできないことまでできるようになります。PS5ではまだHomebrew開発環境も揃っていないので現時点で何ができると具体的に言及できるものはありません。PS4の場合はWebkit exploitより安定性の高いBD-Jの方が重宝される可能性が出てきた、といったところでしょうか。PS4/5どちらも、BD-Jを使ってシステムへの攻撃の幅が広がるので将来に期待が持てるようになったことも大きなメリットでしょう。ファームウェアに依存しない恩恵も大きいです。

シェアする

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

フォローする

『Hardwear.ioで発表 PS4/PS5のBD-Jを利用したbd-jb by TheFloW』へのコメント

  1. 名前: 投稿日:2022/06/11(土) 15:55:31 ID:838db68e5 返信

    これは……もしかして、いやもしかしなくても素晴らしいのでは

  2. 名前:22194 投稿日:2022/06/11(土) 18:50:17 ID:e668e9536 返信

    “PS4の9.50未満(9.50で対策済み)とPS5の5.00未満(5.00で対策済み)である”のに
    “ファームウェアに依存しない”とはどう意味なんですか?

    • 名前:mamosuke 投稿日:2022/06/11(土) 18:53:58 ID:ace78df19

      対策されていないファームウェアであれば、Webkit exploitのようなファームウェアごとの移植作業はしなくてもよい、ということです。