Skip to main content
QUICK REVIEW

[論文レビュー] The Spy in the Sandbox -- Practical Cache Attacks in Javascript

Yossi Oren, Vasileios P. Kemerlis|arXiv (Cornell University)|Feb 25, 2015
Security and Verification in Computing参考文献 19被引用数 44
ひとこと要約

本論文は、ローカルコード実行を必要とせずに、JavaScript を用いてキャッシュ攻撃を実行する、実用的である最初のブラウザベースのマイクロアーキテクチャ的側帯攻撃を提示する。JavaScript における高分解能タイマーとメモリアクセスパターンを活用することで、攻撃者は最後段階キャッシュ(LLC)へのアクセスを追跡し、プロセス、ユーザー、仮想マシンをまたがったユーザー行動を推定できる。本攻撃は、最小限の攻撃者要件で実世界のWeb環境で実現可能であることが示された。

ABSTRACT

We present the first micro-architectural side-channel attack which runs entirely in the browser. In contrast to other works in this genre, this attack does not require the attacker to install any software on the victim's machine -- to facilitate the attack, the victim needs only to browse to an untrusted webpage with attacker-controlled content. This makes the attack model highly scalable and extremely relevant and practical to today's web, especially since most desktop browsers currently accessing the Internet are vulnerable to this attack. Our attack, which is an extension of the last-level cache attacks of Yarom et al., allows a remote adversary recover information belonging to other processes, other users and even other virtual machines running on the same physical host as the victim web browser. We describe the fundamentals behind our attack, evaluate its performance using a high bandwidth covert channel and finally use it to construct a system-wide mouse/network activity logger. Defending against this attack is possible, but the required countermeasures can exact an impractical cost on other benign uses of the web browser and of the computer.

研究の動機と目的

  • マイクロアーキテクチャ的側帯攻撃が、ローカルコード実行を一切要せず、完全にWebブラウザ内から実行可能であることを示すこと。
  • このような攻撃が実用的かつスケーラブルであることを示し、信頼できないWebページを通じて数百万ものユーザーを標的とできることを示すこと。
  • 現代のIntel CPU上で、JavaScriptを用いて最後段階キャッシュ(LLC)アクセスパターンをモニタリングし、行動追跡が可能かどうかを検討すること。
  • タイムスタンプ分解能の差異を含む、実世界のブラウザ制約下での攻撃のパフォーマンスと限界を評価すること。
  • 正当なWebアプリケーションのパフォーマンスを著しく低下させることなく、このような攻撃を防ぐ対策の実用性を評価すること。

提案手法

  • 現代のIntel CPUの包含的キャッシュ階層(L1およびL2キャッシュがL3(最後段階)キャッシュの部分集合である)を活用する。
  • 高分解能タイマーを用いて、JavaScriptによる高速なメモリアクセスパターンを実行し、キャッシュヒットとミスを監視する。
  • 物理メモリアドレスを、アドレスの下位12ビットを用いてキャッシュセットにマップすることで、正確なキャッシュセットの追跡を可能にする。
  • キャッシュヒットとミスの間の検出可能な差を拡大するために、キャッシュアクセスタイミングに基づくコントロールチャネルを採用する。
  • タイマー分解能が粗いシステム向けに、メモリアクセスサイクルを繰り返し、複数のキャッシュセットミスを活用することで攻撃を適合させる。
  • 実行時ヒューリスティクスを用いて、JavaScript実行におけるプロファイリングに類似した挙動を検出し、攻撃パターンを特定・遮断可能かどうかを検討する。

実験結果

リサーチクエスチョン

  • RQ1JavaScriptのみを用いて、Webブラウザ内からマイクロアーキテクチャ的側帯攻撃を効果的に実行可能か?
  • RQ2タイムスタンプ分解能とブラウザ互換性の観点から、このような攻撃の実用的限界は何か?
  • RQ3この攻撃は、プロセス、ユーザー、または仮想マシンをまたがって、ユーザー行動をどの程度追跡可能か?
  • RQ4タイマー分解能が異なる異なるブラウザやオペレーティングシステムにおいて、攻撃のパフォーマンスはどのようになるか?
  • RQ5実用的な対策は何か。それらは、正当なWebアプリケーションのパフォーマンスにどのようなトレードオフをもたらすか?

主な発見

  • 攻撃はJavaScriptのみを用いてブラウザ内で完全に実行可能であり、クライアント側のソフトウェアインストールは一切不要である。
  • 包含的キャッシュ階層を持つ現代のIntel CPU上で効果的に動作し、リモートでキャッシュアクセスパターンをモニタリング可能である。
  • パフォーマンス評価では、マイクロ秒レベルのタイマー分解能でも、キャッシュアクセスパターンの信頼性ある検出が可能であることが示された。
  • 攻撃はスケーラブルであり、広告などの信頼できないWebコンテンツを通じて展開可能で、数百万ものユーザーを標的とできる。
  • マウス操作やネットワーク活動を含む、システム全体のユーザー行動をキャッシュアクセスパターンの観察によって追跡可能である。
  • タイマー分解能の低下やジャイタの導入といった対策は可能だが、それらは正当なWebアプリケーションのパフォーマンスを著しく低下させる可能性がある。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。