Xで、flat_z氏がPS5のHypervisor(ハイパーバイザー)によるセキュリティを突破してコードの実行を可能にするHypervisorの未公開脆弱性についての情報を発信していました。
PS5シーンで話題になるHypervisor(ハイパーバイザー)は仮想マシン管理プログラムのことです。CPUの最深の特権レベルで動作しており、一般的にOSというのはハイパーバイザー)上で動作、つまりCPUからみるとOSのカーネルというのはハイパーバイザー層で動作していることになります。OS自体が仮想マシン上で動いているアプリケーションのようなイメージです。そのためPS5ではその仮想マシン、つまりHypervisor(ハイパーバイザー)を掌握しないと本当の意味でのハックしたことにはなりません
これまで中々ハックできない状態が続いてきましたが、SpecterDev氏がPS5の3.00未満のファームウェアでHypervisor(ハイパーバイザー)のハッキングに成功し、Hardwear.ioカンファレンスで発表することが明らかになっています。カンファレンスを境にPS5シーンが大きく動きます。
一方、flat_z氏はSpecterDev氏の脆弱性とは別のHypervisor(ハイパーバイザー)の脆弱性を持っていますが、PS5のHypervisor(ハイパーバイザー)をバイパスできるHV bypassのexploitは5.00で対策されていることをflat_z氏は公表しています。
これまで情報が明かされていませんでしたが、そのHV bypassの脆弱性についてflat_z氏は次のように説明しました。
There are a few ways on PS5 to defeat HV. One of methods that I’ve found was related to APIC: struct apic_ops is located in RW segment of kernel data. With KRW you can overwrite a function pointer inside it like xapic_mode and get into ROP, for example (just need to bypass CFI).
— Aleksei Kulaev (@flat_z) October 9, 2024
Then, after you do suspend/resume cycle your code will be executed before HV restarts and you can apply kernel patches, etc.
— Aleksei Kulaev (@flat_z) October 9, 2024
By the way, it’s not the method that has been patched in 5.00. Actually I’m not even sure if has been patched at all, needs testing for which I don’t have spare time now. Maybe someone can do it.
— Aleksei Kulaev (@flat_z) October 9, 2024
技術的な話なので概要だけ説明すると、Hypervisor(ハイパーバイザー)を破る方法はいくつかあり、flat_zが発見したものの一つはAPIC(struct apic_ops)に関するものです。それはカーネルデータの読み書き可能なセグメントにあり、中にある関数ポインタを上書きすることでROPに入ることができるというものです。
ROPとはReturn-Oriented Programmingの略で、セキュリティが存在する中でコードを実行できるようにするプログラムのことを指します。これを一連動作できるようチェーン化したのがROPチェーンです。
それによってサスペンド/レジュームサイクルを実行した後にHypervisor(ハイパーバイザー)が再起動する前にコードを実行してカーネルにパッチを当てることができるようになります。
ただ、flat_z氏によると前述のHypervisor(ハイパーバイザー) exploitは「5.00で対策されたものではなく、それは今でも対策されたかどうか分からない」ようです。確認していない理由は「時間がないから」で、「誰かがやってくれるかも」だそうです。
したがって、5.00で対策されたという脆弱性はまだflat_z氏が言及していないものということになります。
ここで問題になるのは今回flat_z氏が言及した「対策されたかどうか分からない」脆弱性です。最新ファームウェアでも有効だったりするとかなりPS5シーンがヒートアップしますがそんなはずはありません。PS4シーンでは第一人者であるsleirsgoevy氏はflat_z氏が述べた脆弱性を「APIC exploit」と表現し次のように言及しています。
As far as I can see, @flat_z‘s APIC exploit flow is patched on 4.03, probably on other 3.xx+ firmwares too. Should work on 2.xx though, if ported.
— sleirsgoevy (@sleirsgoevy) October 11, 2024
「調べた限り、APIC exploitのフローは4.03では対策されてしまってますね。3.xxでも同じだと思います。移植されたとしても2.xxまでしか動作しないはず。」
こうなるとPS5の3.00未満のファームウェアでHypervisor(ハイパーバイザー)ハッキングが可能なSpecterDev氏の脆弱性と変わらなくなりますでのメリットがないかというとそんなことはありません。PS4シーンでの実例がPS5シーンで活かされたように、こうすればこれができるという前例が増えることは将来の情報資産を貯蓄することに繫がります。決して意味がないハックにはなりませんので期待して待っていても良いと思います。
なんかゲームフリークがハッキングされたっぽいすね