脆弱性
Rowhammer
別称: Row hammer 攻撃
定義
DRAM のハードウェア脆弱性。あるメモリ行を繰り返し活性化することで物理的に隣接する行のビットが反転し、メモリの整合性を損なう。
Rowhammer は、高密度の DRAM セルが隣接行を激しく活性化されるとリフレッシュより速く電荷を失う性質を利用します。攻撃者が 1 リフレッシュ周期に数十万回も特定の行を「叩く」ことで、書き込み権限のない隣接行の特定ビットを反転させ、ソフトウェア層の権限チェックを完全に迂回できます。ページテーブル、ブラウザ上の JavaScript、モバイル機器、FPGA に対する実証があり、権限昇格やサンドボックス脱出に武器化されてきました。緩和策には ECC メモリ、Target Row Refresh(TRR)、擬似 TRR、ECC とリフレッシュレートの倍化、OS レベルの分離があります。新しい DDR5 ではより積極的なオンダイ・リフレッシュが導入されましたが、RowPress などの派生研究は続いています。
例
- 2015 年の Project Zero エクスプロイト:PTE のビットを反転させてカーネル権限を取得。
- Drammer(2016):Android で Rowhammer に基づく root 取得。
関連用語
サイドチャネル攻撃
論理的欠陥ではなく、時間・消費電力・電磁波・キャッシュ・音響など、システムの物理的または実装上の特徴を観測することで秘密情報を回復する攻撃。
フォールトインジェクション
ハードウェアやソフトウェアに意図的に異常状態を引き起こし、セキュリティチェックを回避したり秘密情報を漏えいさせたりする攻撃の総称。
メモリ破壊
プログラムが意図したメモリ境界の外に書き込み、型安全性・制御フロー・データ整合性を損なうタイプの脆弱性を総称する用語。
Spectre
CPU の投機的実行を悪用し、キャッシュベースのサイドチャネルを介してセキュリティ境界を越えてデータを漏えいさせるマイクロアーキテクチャ攻撃の総称。
Meltdown
アウトオブオーダー実行と権限チェックの遅延を悪用し、非特権コードがカーネルメモリを読み出せるようにするマイクロアーキテクチャ脆弱性(CVE-2017-5754)。
脆弱性
システム、アプリケーション、または運用プロセスに存在する弱点で、攻撃者が機密性・完全性・可用性を侵害するために悪用できるもの。