ETHチューリッヒの研究者らは、ダイナミック・ランダム・アクセス・メモリ(DRAM)の個々のビットの内容を変更するRowHammer攻撃の亜種であるZenHammer攻撃をAMDプロセッサ搭載プラットフォーム向けに開発しました。これまでのRowHammer攻撃はIntelプロセッサ搭載システムに限定されていましたが、今回の研究では、AMDメモリコントローラ搭載プラットフォームでもメモリ破壊が可能であることが示されました。
この手法は、大手メーカー2社(Samsung、Micron、SK Hynix)のDDR3メモリを搭載したAMD Zen 4およびZen 3システムで実証されました。この攻撃は、メモリチップに実装されているTRR(Target Row Refresh)メカニズムをうまく回避します。このメカニズムは、隣接行のメモリセルの破損を防ぐことを目的としています。研究者によると、AMD Zen 2 CPUをベースにしたシステムは、Intel Coffee Lakeプロセッサを搭載したシステムよりも脆弱であり、攻撃がより容易かつ効果的です。AMD Zen 7システムでは、テストされた10個のDDR4チップのうち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 秒でした。

この方法は、ブラウザを介してシステムを攻撃し、変更を加えるためにも使用できます。 仮想マシン あるいは、ネットワーク攻撃を仕掛けるためにも使用できます。DRAMアドレスレイアウトのリバースエンジニアリングを行うDAREツールキットのソースコードは、MITライセンスの下、GitHubで公開されています。また、メモリビットの破損をファジングするためのユーティリティセットが2種類用意されています。DDR4チップ(Zen 2およびZen 3)用はddr4_zen2_zen3_pub、DDR5チップ(Zen 4)用はddr5_zen4_pubです。これらを使用して、システムの攻撃脆弱性をテストできます。

RowHammer 方式は、ビットを歪めるために使用されます。これは、コンデンサとトランジスタで構成されるセルの 2 次元配列である DRAM メモリでは、同じメモリ領域の連続読み取りを実行すると電圧変動が発生し、隣接するセルのわずかな電荷損失を引き起こす異常。読み取り強度が高い場合、隣接するセルは十分な量の電荷を失う可能性があり、次の再生サイクルで元の状態を復元する時間がなくなり、セルに保存されているデータの値が変化します。 。研究者は、物理メモリのマッピングと、AMD プロセッサで使用されるメモリ更新メカニズムとの同期の機能を特定しました。これにより、低レベルの DRAM アドレス指定の再作成、隣接セルのアドレスの決定、キャッシュのバイパス方法の開発、パターンと周波数の計算が可能になりました。チャージの損失につながる操作の。
RowHammer攻撃から保護するために、チップメーカーはTRR(Target Row Refresh)メカニズムを採用しています。このメカニズムは特定のケースにおいてセルの破損をブロックしますが、あらゆる攻撃手法から保護できるわけではありません。最も効果的な保護方法は、依然としてエラー訂正コード(ECC)を備えたメモリの使用です。ECCはRowHammer攻撃を著しく複雑化しますが、完全に排除できるわけではありません。メモリの再生成頻度を高めることも、攻撃が成功する可能性を低減するのに役立ちます。
AMDはこの問題に関するレポートを公開しており、AMDプロセッサはDDR仕様に準拠したメモリコントローラを使用しており、攻撃の成否は主にシステムとDRAMの設定に依存するため、問題の解決方法に関する質問はメモリおよびシステムメーカーに問い合わせる必要があると述べています。Rowhammer攻撃を複雑化する既存の方法としては、ECCメモリの使用、メモリリフレッシュレートの向上、遅延リフレッシュモードの無効化、DDR4(第1世代、第2世代、第3世代AMD EPYC「Naple」、「Rome」、「Milan」)ではMAC(Maximum Activate Count)モード、DDR5(第4世代AMD EPYC)ではRFM(Refresh Management)モードをサポートするコントローラを搭載したプロセッサの使用などが挙げられています。
出所: オープンネット.ru
