メモリに繰り返しアクセスするだけで権限のないメモリ内容を変更可能、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の脆弱性を悪用可能だと分かった。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ヒープに対する攻撃とその対策
攻撃手法を技術的に理解するための連載、今回はスタックと並んでよく耳にする「ヒープ破壊」を取り上げます。 - Microsoft、セキュリティプロセッサ「Microsoft Pluton」を発表
MicrosoftはAMD、Intel、Qualcomm Technologiesとともに、セキュリティプロセッサ「Microsoft Pluton」と、これに基づくWindowsセキュリティの新たなビジョンを発表した。TPMチップとCPUのやりとりを傍受するといった攻撃に対応する。 - 「音」と「振動」で分かるモノやヒトの状態、安価に実現する2つの手法
カーネギーメロン大学の研究チームは、周囲で何が起こっているかを音や振動状態から認識できる安価な2つの手法を開発した。これらの手法を用いると、モノやヒトの状態が分かるだけでなく、モノを入力デバイスとして利用できるという。