アムステルダム自由大学とチューリッヒ工科大学の研究者らが、メモリチップの防御を回避し、SMASHと呼ばれるブラウザベースのRowhammerサイドチャネル攻撃を成功させた。
Rowhammerとは、コンピュータセキュリティ研究者が2014年頃に研究を始めた手法を指します。RAMチップに高速な書き込み操作を連続して「ハンマー」のように叩き込むことで、電子回路を悪用し、保存されているビットを反転させ、さらなる利益獲得に悪用される可能性のあるエラーを発生させます。
当初、Rowhammer 攻撃はローカルで実行する必要がありましたが、2016 年 [PDF] までに、この手法は改良され、たとえば Web ブラウザーで JavaScript を使用してリモートで実行できるようになりました。
2014 年に導入されたメモリ仕様では、破損を防ぐ方法として、特にアクティブな領域に隣接するメモリ セル行をリフレッシュするためにメモリ コントローラで使用できる DRAM コマンドである、Target Row Refresh (TRR) と呼ばれる緩和策のオプション サポートが追加されました。
しかし、VU、ETH、Qualcomm のコンピューター科学者は昨年、「TRRespass: Target Row Refresh のさまざまな側面を活用する [PDF]」と題する論文で、TRR をローカルで無効化する方法を説明しました。
ハンマータイムだ!
火曜日、同じ研究者の一部と新しい研究者、つまり Finn de Ridder、Pietro Frigo、Emanuele Vannacci、Herbert Bos、Cristiano Giuffrida、Kaveh Razavi が、Mozilla の Firefox ブラウザに対する Web ベースの攻撃である SMASH (Synchronized MAny-Sided Hammering) を公開しました。この攻撃は、TRR と、JavaScript 経由で Rowhammer を実行することに関連するいくつかの課題を克服します。
彼らのSMASH攻撃は、Linuxカーネル4.15.0-111-genericがインストールされたアップデート済みのUbuntu 18.04システム上のFirefox(バージョン81.0.1)において、ゆっくりと、しかし恣意的にメモリを読み書きすることが可能です。これにより、悪意のあるコードが実行される可能性があり、研究チームは論文[PDF]の中で、この手法はメモリ操作によって平均15分でFirefoxブラウザを完全に侵害できると述べています。
以下は、基本的な SMASH 攻撃を説明するビデオです。
YouTubeビデオ
Firefox を突破するために、研究者たちは JavaScript にキャッシュフラッシュ命令が不足しているという問題に対処する必要がありました。この不足により、Rowhammer はウェブブラウザに対して実用的ではないほど遅くなっていました。また、JavaScript では物理的に連続した大きなメモリ領域を期待できなかったため、代替のメモリアクセスパターンを考案する必要もありました。
これらのハードルを克服する作業の中で、研究者たちは、できるだけ多くのメモリ アクセス パターンをできるだけ短時間で盲目的に生成するのではなく、キャッシュ ヒットとキャッシュ ミスのシーケンスをスケジュールしてメモリ要求を DRAM リフレッシュ コマンドと同期させ、TRR を回避することで、より良い結果が得られることを発見しました。
インテルのSGXクラウドサーバーのセキュリティは、30ドルのチップと電気系統の不正行為によって破られた
続きを読む
「私たちの研究は、Rowhammerバグがウェブユーザーにとって依然として脅威であり続けていることを裏付けています」と研究者らは述べています。「さらに悪いことに、同期に関する私たちの知見は、攻撃者がこれまで考えられていたよりも多くの制御権を持っていることを示しています。このバグ自体が存続する限り、Rowhammerに対する適切な防御策を構築することはさらに困難になるでしょう。」
SMASHはソフトウェアで軽減できますが、コストはかかります。効率的な攻撃パターンの構築に使用されるLinuxのメモリ管理スキームであるTransparent Huge Pages(THP)を無効にすることは有効です。ただし、これを行うとシステムパフォーマンスに影響します。研究者らによると、ソフトウェアとハードウェアの両方でポインタの整合性を保護するポインタ認証コード(PAC)も効果的であるはずです。
Rowhammerベースの攻撃の排除に関しては、研究者らは、提案されている様々なソフトウェア修正にはいずれも欠点があると指摘しています。彼らは、DRAMの脆弱性であるRowhammerはハードウェアで修正されるべきであると主張していますが、最近開発された手法に対する防御策が市場に投入されるまでには何年もかかると見ています。
「さらに、将来のDRAMデバイスはさらに小さなトランジスタを搭載することを考えると、そのようなデバイスに効果的な緩和策を構築できるかどうかはまだ分からない」と彼らは言う。®