研究者たちは新たな論文で、かつてはロウハンマー攻撃に対して安全だと考えられていた誤り訂正符号(ECC)メモリが、この種のエクスプロイトに対しても脆弱であることを明らかにしました。彼らはこの新たな攻撃を「ECCploit」と名付けました。
電荷でメモリ列を叩く
DDR3およびDDR4メモリの脆弱性であるRowhammerは、2014年に初めて発見されました。この脆弱性により、攻撃者がメモリ内のビットを「反転」できるため、セキュリティ専門家は深刻な脆弱性であると考えています。
Rowhammer脆弱性は、最新の(DDR3以降の)RAMモジュールの高密度化に起因して発生するようです。高密度化により、メモリセルの電荷がリークしたり、隣接するメモリ行の内容が書き換えられたりする可能性があります。特殊なメモリパターンによって、同じメモリ行が瞬時に何度もアクティブ化され、「Row Hammer」効果が発生する可能性があります。
Rowhammer攻撃は、悪意のある者が権限昇格のエクスプロイトやネットワークベースの攻撃を作成し、コンピュータシステムのデータを改ざんしたり、悪意のあるコマンドを挿入したりすることを可能にする可能性があります。サーバーは、情報の窃取や改ざんの標的としてより魅力的であるため、このような攻撃のリスクが最も高くなります。
ECC メモリは Rowhammer に対して脆弱
最近まで、メモリ内のビットが反転しても ECC メモリが自己修正するため、ECC メモリは Rowhammer 攻撃に対して少なくともある程度の保護を提供できると考えられていました。
アムステルダム自由大学のVUSecグループの研究者たちは、この理論に反する論文を発表しました。彼らの研究では、メモリワードごとに3ビットの反転が行われました。これは通常、ECCメモリでは検出されません。ECC機能を備えたメモリは、メモリワードごとに1ビットの反転しか訂正できず、2ビットの反転は検出できますが、3ビット以上の反転は検出できません。
研究者たちは4つの異なるサーバーシステムをテストしました。そのうち3つはIntel CPUを搭載し、1つはAMD CPUを搭載していました。研究者たちは使用したRAMのブランド名を明らかにしていませんが、DDR3メモリのみをテストしたことは分かっています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
VUSecの研究者らは、「DRAMMER」と呼ばれるAndroidエクスプロイトも発見しました。これは、Rowhammerなどのエクスプロイトを利用して、複数の人気Androidデバイスのルートアクセスを取得するものでした。GoogleはDRAMMERに対するソフトウェアパッチをリリースしましたが、攻撃の実装方法の性質上、ソフトウェアによる緩和策では確実に防御することが困難です。
緩和策
オランダの研究者たちは、メモリのECC機能は、Rowhammer攻撃を防ぐことはできないとしても、攻撃速度を低下させるのに依然として有効であると指摘しました。Rowhammer攻撃が最初に発見されて以来、メモリメーカーは「Target Row Refresh」(TRR)と呼ばれる、攻撃を防ぐための新しいハードウェアメカニズムを開発しました。これは基本的に、パフォーマンスや消費電力に悪影響を与えることなく、メモリ行をより高い頻度でリフレッシュするものです。
Samsungは、LPDDR4およびDDR4 RAMモジュールにTRRを実装したメーカーの一つです。DDR仕様を策定する標準化団体JEDECは、TRRをまだDDR仕様の一部にしていません(DDR5にも含まれていないようです)。しかし、仕様ではTRRのオプションのハードウェアサポートを提供しています。VUSecの研究者たちは、TRRとECCを組み合わせることで、攻撃者がコンピュータシステムに対してRowhammer攻撃を仕掛けることが著しく困難になると考えています。