プレゼンテーションでは、直接のDRMバイパスを回避しな がら、コンソールがさまざまなセキュリティ層を通じてデジタルコンテンツをどのように保護 するかについて技術的な洞察を提供し、 将来の研究のための洞察を提供しました。
PS5上のデジタルコンテンツを保護することは、システムの主な目的の1つです。
Shuffle2 はPS5ではDRMライセンスシステムを使用して、適切な資格情報を持つユーザーのみがゲ ームやビデオコンテンツにアクセスできるようにしていると説明しました。
ライセンスは通常、ディスク (Blu-ray) に存在するか、 PlayStation Networkアカウントに関連 付けられています。
システム全体は、エンドユーザーの攻撃に抵抗し、 著作権侵害を防止する ように設計されています。
重要な観察の1つは、たとえシステムが部分的に侵害されたとしても、 セキュリティ メカニズ ムが保護されたコンテンツへの不正アクセスを防止する必要があるということです。
これは、タイトルとユーザーデータが保存時に暗号化され、 アップロードのたびに検証され
て、変更されていないことを確認することを意味します。
SalinaとTitania
PS5本体には2つの主要なチップが搭載されており、 起動時のセキュリティ管理にお いて重要な役割を果たします。
1. Salina:ベースボード管理コントローラー (BMC)と比較すると、Salina は電源、リセッ ト、マザーボードクロックを管理します。
電源が入っているときは常にアクテ イブであり、入出力 (VO) システムの中心であるTitaniaを含む他のハードウェアコンポーネ ントの初期化を制御します。
2.Titania:Marvell NVMe コントローラーベースのコンポーネントであるTitania が、SSD NAND メモリとハードウェアインターフェイスの管理においてどのように重要な役割を果たすかを示しました。
複数の ARM コアを備えた Titania は、メインSOCを安全に起動しPCle、DDR4、UART などのインターフェイスを介して多数の周辺機器と通信します。
ブートフロー
PS5の起動フローは複雑なシーケンスであり、SalinaとTitaniaが重要な役割を果たします。 本体が接続されると起動するSalinaは、NANDからTitania の安全なファームウェアをロードし、メイン SoC を起動するための DDR4 メモリを準備します。
Titaniaがメイン SoCのセキュアブートを完了すると、 セキュアカーネルやセキュリティモジ ュールなどの他の重要なモジュールが初期化されます。
UARTプロトコルのバグ
プレゼンテーションの最も興味深い部分の1つは、Salina の UART プロトコルの脆弱性に関する議論でした。
UCMD UART プロトコルが ASCII 行のバッファ管理を使用してい ると説明しました。
ここには、 無効な文字の処理方法にバグがあります。
パーサーのエラーにより、バッファーの境界外に書き込むことができ、 任意のコードが実行される潜在的な脆弱性が生じます。
このバグの悪用プロセスでは、攻撃者がカスタムデータ構造をメモリに配置し、 コマンドを操 作して実行フロー制御を実現する必要があります。
ただし、この脆弱性を悪用する技術的な複雑さは高く、正確なタイミング計算と特殊なハード ウェアの使用が必要です。
ハッキングと外部インターフェース
プレゼンテーションの大部分をTitaniaに捧げ、ブートデータや NAND メモリ上の 機密情報へのアクセスに悪用される可能性がある潜在的な脆弱性について説明しました。
説明されている技術の1つは、PCIe 経由で DMA (ダイレクトメモリアクセス) を使用して、 DDR4 メモリ内のTitania コードを上書きすることです。
最も重要な観察の1つは、ICC (コントローラー間通信) コマンドを処理するときにスタック内 のバッファーオーバーフローを悪用する可能性に関するものです。
スタック内にセキュリティ 「Cookie」 が存在するにもかかわらず、この Cookie の値が一定であるため、特にSalinaを制御している場合や ICC インターフェイスを操作してい る場合に攻撃に対して脆弱であることを説明しました。
DRAM 戦略と保護
Titaniaで見つかったもう1つの興味深い脆弱性は、 DDR4 メモリの処理方法に関するもので す。
初期化中に、システムは保護されたメモリ領域へのアクセスを制限するDDR4メモリジオメトリを定義します。
ただし、大きすぎるジオメトリを送信すると、 メモリアドレス間にエイリアスが作成され、 Titaniaファームウェア自体を含む保護されたメモリの部分が上書きされる可能性があります。
この手法も慎重なキャッシュ管理を必要としますが、 実現可能であると考えられています。
実装と今後の研究
説明されているエクスプロイトとテクニックはすべて、 マイクロコントローラー (RPi Pico など) とさまざまな Python スクリプトを組み合わせることによって実装できます。
この構成により、UART やその他のPS5インターフェイスを利用してコードを挿入し、次の ような重要なコンポーネントを操作できます。
この構成により、 UART やその他の PS5 インタ ーフェイスを利用してコードを挿入し、 EMC、EFC、EAP。
古いバージョンのブートローダーを回復し、 機密のセキュリティキーにアクセス することを目的として、NANDの構造をリバースエンジニアリングする将来の研究を提案して プレゼンテーションを締めくくりました。
ただし、同氏は、自分の研究がゲーム機のDRM を直接バイパスすることを目的としたもの ではなく、 PS5の内部セキュリティをより深く理解することを目的としていると明言しまし た。
コメント
コメントを投稿