メモリに繰り返しアクセスするだけで権限のないメモリ内容を変更可能、Googleが攻撃手法を発見:DRAMの微細化で脅威が増すサイバー攻撃
DRAMが持っていたハードウェアの脆弱性を悪用する「ローハンマー」というサイバー攻撃は、2014年に見つかった古い手法だ。既に対策が講じられているものの、2021年にGoogleが発見した「ハーフダブル」攻撃にはまだ対策が見つかっていない。
Googleは2021年5月25日(米国時間)、DRAMチップの脆弱(ぜいじゃく)性を悪用する「ローハンマー」というサイバー攻撃を深めた新手法「ハーフダブル」の詳細を発表した。Googleの研究チームが発見した手法だ。
「メモリ内の(アクセス権限のある)ある1つのアドレスに繰り返しアクセスするだけで、(アクセス権限のない)他のアドレスに格納されたデータを改ざんできてしまう」という脆弱性がDRAMにはあった。これを悪用した攻撃手法はローハンマーと呼ばれる。
CPUの投機的実行の脆弱性を突く(SpectreやMeltdownといった)攻撃と同様に、ローハンマーはメモリハードウェアにおけるセキュリティを侵害する。メモリ回路内部の電気的結合現象を悪用するローハンマーは、ハードウェアのメモリ保護ポリシーをくぐり抜けてしまう可能性がある。もしそうなれば、例えば不正なコードがサンドボックスから出て、システムを乗っ取る恐れがある。
Googleの回避策はこれまでメモリメーカーに採用されてきた
ローハンマーを初めて扱った論文が登場した2014年当時、DRAMの主流世代は、「DDR3」だった。2015年にはGoogleのProject Zeroが、権限昇格エクスプロイト(脆弱性実証コード)をリリースしている。DRAMメーカーはこれに対応して、アドレスへの頻繁なアクセスを追跡し、必要な場合はこれを緩和しようとする独自の保護メカニズム(TRR:Target Row Refresh)をチップ内に実装した。
次世代の「DDR4」が広く普及すると、こうした内蔵保護メカニズムなどのおかげで、ローハンマーは下火になったように見えた。ところが2020年に、「TRRespass」というファジングツールの調査結果をまとめた論文が発表された。この論文ではメモリアクセスを分散することで保護メカニズムを無力化するリバースエンジニアリングの手法が示されており、ローハンマーが依然として実効力を持つことを明らかにした。
JavaScriptだけでメモリを攻撃できる
2021年8月に発表された、「SMASH」というJavaScriptベースの攻撃に関する論文は、これをさらに一歩推し進めた。キャッシュ管理プリミティブやシステムコールを呼び出すことなく、JavaScriptのコードだけで、DRAMの脆弱性を悪用可能だと分かった。
これまでローハンマーは、メモリ内の1つの「行」に集中的にアクセスする手法として理解されてきた。次の図にある「(a)Classic Rowhammer」のように、DRAMの1つの行(Aggressor)へのアクセスを繰り返すと、隣接する2つの行(Victim)で(内容を書き換える)ビット反転が見られた。つまり攻撃の対象となるのは隣接する行にある内容だけだった。
新しいハーフダブル攻撃では、ローハンマーの影響が、隣接する行以外にも及ぶことを確認できた(ただし攻撃の強度は落ちる)。Googleの実験では、図の「(b)Half-Double」のように、(A)(B)(C)という3つの連続した行を扱う。(A)に対して極めて大量のアクセスを行い、加えて(B)にも少数のアクセス(約10以下)を行うことで、(C)を攻撃することが可能だ。
この実験では、(B)へのアクセスが非線形ゲート効果を引き起こし、ローハンマーにおける(A)への集中的アクセスの影響を(C)に“転送”したことになる。DRAMメーカーに依存した防御の盲点を突くTRRespassツールとは異なる手法だ。
これは、ローハンマーに関連する電気的結合が距離的特性を持ち、メモリセルの微細化に伴ってそれがより強化され、より長い距離にわたって作用することを示している可能性があるという。ある行への集中的アクセスの影響が、そこから3つ目以上離れた行にまで及ぶことも考えられる。
半導体分野で規格の標準化を行っている業界団体JEDECや他の業界パートナーとGoogleは協力し、ローハンマー現象の解決策を探っている。JEDECはDRAMレベルとシステムレベルの影響軽減手法に関する2つの文書を公開している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ヒープに対する攻撃とその対策
攻撃手法を技術的に理解するための連載、今回はスタックと並んでよく耳にする「ヒープ破壊」を取り上げます。 - Microsoft、セキュリティプロセッサ「Microsoft Pluton」を発表
MicrosoftはAMD、Intel、Qualcomm Technologiesとともに、セキュリティプロセッサ「Microsoft Pluton」と、これに基づくWindowsセキュリティの新たなビジョンを発表した。TPMチップとCPUのやりとりを傍受するといった攻撃に対応する。 - 「音」と「振動」で分かるモノやヒトの状態、安価に実現する2つの手法
カーネギーメロン大学の研究チームは、周囲で何が起こっているかを音や振動状態から認識できる安価な2つの手法を開発した。これらの手法を用いると、モノやヒトの状態が分かるだけでなく、モノを入力デバイスとして利用できるという。