ZenHammer - AMD Zen プラットフォーム上のメモリ内容を破壊する攻撃方法

チューリッヒ工科大学の研究者らは、ダイナミック ランダム アクセス メモリ (DRAM) の個々のビットの内容を変更する RowHammer クラスの攻撃の亜種である ZenHammer 攻撃を開発しました。これは、AMD プロセッサを搭載したプラットフォームでの使用に適応されています。過去の RowHammer 攻撃は Intel プロセッサをベースとしたシステムに限定されていましたが、調査によると、AMD メモリ コントローラを搭載したプラットフォームでもメモリ破損が発生する可能性があります。

この方法は、大手メーカー 2 社 (Samsung、Micron、SK Hynix) の DDR3 メモリを搭載した AMD Zen 4 および Zen 3 システムで実証されました。この攻撃は、隣接する行のメモリ セルの破損を防ぐことを目的としたメモリ チップに実装された TRR (ターゲット行リフレッシュ) メカニズムを回避することに成功しました。研究者らによると、AMD Zen 2 CPU をベースにしたシステムは、Intel Coffee Lake プロセッサを搭載したシステムよりも脆弱であり、攻撃が容易かつ効果的です。 AMD Zen 7 システムでは、テストした DDR10 チップ 4 個中 3 個でセル歪みが発生し、Zen 6 システムでは 10 個中 4 個でセル歪みが発生しました。研究者らは、DDR5 メモリを搭載した AMD Zen 4 システムに対する攻撃の可能性も分析しましたが、この攻撃はDDR1 用に開発された方法は、テストされた 10 個の DDR5 メモリ チップのうち 5 個だけで再現に成功しました。攻撃自体の可能性は排除されませんが、DDRXNUMX デバイスに適したより効率的な読み取りパターンの開発が必要です。

AMD チップで動作するために、メモリ ページ テーブル (PTE、ページ テーブル エントリ) のエントリの内容を変更してカーネル権限を取得し、sudo プロセスのメモリを変更することでパスワード/権限チェックをバイパスする、以前に開発されたエクスプロイトを適応させることができました。 、OpenSSH のメモリに保存されている RSA-2048 公開キーを損傷し、秘密キーを再作成します。メモリ ページ攻撃はテストした 7 個の DDR10 チップのうち 4 個で再現され、RSA キー攻撃は 6 個のチップで、sudo 攻撃は 4 個のチップで再現され、攻撃時間はそれぞれ 164 秒、267 秒、209 秒でした。

ZenHammer - AMD Zen プラットフォーム上のメモリ内容を破壊する攻撃方法

この方法は、ブラウザ経由でシステムを攻撃したり、仮想マシンから変更を加えたり、ネットワーク経由で攻撃を開始したりするためにも使用できます。 DRAM メモリ内のアドレス レイアウトをリバース エンジニアリングするための DARE ツールキットのソース コードは、MIT ライセンスに基づいて GitHub に投稿されています。また、メモリ内のビット破損のファジング テスト用の 4 つのユーティリティ セット (DDR2 チップ (Zen 3 および Zen) 用の ddr4_zen2_zen3_pub) も公開されています。 5) および DDR4 チップ (Zen 5) 用の ddr4_zenXNUMX_pub。これは、システムが攻撃を受けやすいかどうかをテストするために使用できます。

ZenHammer - AMD Zen プラットフォーム上のメモリ内容を破壊する攻撃方法

RowHammer 方式は、ビットを歪めるために使用されます。これは、コンデンサとトランジスタで構成されるセルの 2 次元配列である DRAM メモリでは、同じメモリ領域の連続読み取りを実行すると電圧変動が発生し、隣接するセルのわずかな電荷損失を引き起こす異常。読み取り強度が高い場合、隣接するセルは十分な量の電荷を失う可能性があり、次の再生サイクルで元の状態を復元する時間がなくなり、セルに保存されているデータの値が変化します。 。研究者は、物理メモリのマッピングと、AMD プロセッサで使用されるメモリ更新メカニズムとの同期の機能を特定しました。これにより、低レベルの DRAM アドレス指定の再作成、隣接セルのアドレスの決定、キャッシュのバイパス方法の開発、パターンと周波数の計算が可能になりました。チャージの損失につながる操作の。

RowHammer から保護するために、チップ メーカーは TRR (Target Row Refresh) メカニズムを使用しています。これは特殊な場合にセルの破損をブロックしますが、考えられるすべての攻撃オプションから保護するわけではありません。最も効果的な保護方法は依然としてエラー訂正コード (ECC) を備えたメモリの使用ですが、これは RowHammer 攻撃を大幅に複雑化しますが、完全に排除することはできません。メモリ再生成の頻度を増やすと、攻撃が成功する可能性も低くなります。

AMDは、この問題に関するレポートを発行し、AMDプロセッサはDDR仕様に準拠したメモリコントローラを使用しており、攻撃の成功は主にシステム設定とDRAMメモリに依存するため、問題の解決に関する質問はメモリメーカーに問い合わせるべきであると述べています。とシステムRowhammer クラスの攻撃をより困難にする既存の方法には、ECC メモリの使用、メモリ再生成の頻度の増加、遅延再生成モードの無効化、DDR4 (1 番目、2 番目、および 3 番目) の MAC (最大アクティブ化カウント) モードをサポートするコントローラを備えたプロセッサの使用が含まれます。世代 AMD EPYC「Naple」、「Rome」、「Milan」)および DDR5 用の RFM(Refresh Management)(第 4 世代 AMD EPYC)。

出所: オープンネット.ru

コメントを追加します