Skip to main content
QUICK REVIEW

[論文レビュー] CacheShield: Protecting Legacy Processes Against Cache Attacks

Samira Briongos, Gorka Irazoqui|arXiv (Cornell University)|Sep 6, 2017
Security and Verification in Computing参考文献 40被引用数 12
ひとこと要約

CacheShield は、ハードウェアパフォーマンスカウンター(特に L3 キャッシュミス)を監視することで、レガシ暗号処理におけるキャッシュ攻撃を検出する軽量でユーザー領域のツールである。変化点検出を用いることで、最小限のオーバーヘッドと高い正確性でリアルタイムの攻撃検出が可能であり、ノイズの多い状態でも安定して動作する。OS やハイパーバイザーの変更は不要である。

ABSTRACT

Cache attacks pose a threat to any code whose execution flow or memory accesses depend on sensitive information. Especially in public clouds, where caches are shared across several tenants, cache attacks remain an unsolved problem. Cache attacks rely on evictions by the spy process, which alter the execution behavior of the victim process. We show that hardware performance events of cryptographic routines reveal the presence of cache attacks. Based on this observation, we propose CacheShield, a tool to protect legacy code by monitoring its execution and detecting the presence of cache attacks, thus providing the opportunity to take preventative measures. CacheShield can be run by users and does not require alteration of the OS or hypervisor, while previously proposed software-based countermeasures require cooperation from the hypervisor. Unlike methods that try to detect malicious processes, our approach is lean, as only a fraction of the system needs to be monitored. It also integrates well into today's cloud infrastructure, as concerned users can opt to use CacheShield without support from the cloud service provider. Our results show that CacheShield detects cache attacks fast, with high reliability, and with few false positives, even in the presence of strong noise.

研究の動機と目的

  • 共有クラウド環境におけるキャッシュ攻撃に対する実用的でユーザー領域の防御が不足している問題に対処すること。
  • クラウドプロバイダーの協力や OS/ハイパーバイザーの変更を必要としないソリューションを提供すること。
  • レガシコード上で既知のすべてのキャッシュ攻撃バージョン(例:Prime+Probe、Flush+Reload、Flush+Flush)を検出可能にすること。
  • 実行中の被害者プロセスのみを監視することで、すべてのシステムプロセスを監視しないことにより、パフォーマンスオーバーヘッドを最小限に抑えること。
  • 既存のクラウドインfraやハードウェアと互換性がある、導入可能なオプトイン型の防御メカニズムを提供すること。

提案手法

  • ゲストVMにアクセス可能なハードウェアパフォーマンスカウンターを用いて、L3キャッシュミスイベントを監視する。
  • 変化点検出アルゴリズムを適用し、キャッシュミス率の急激な上昇を検出し、攻撃の兆候と特定する。
  • システム全体の監視を避けるために、被害者プロセスのパフォーマンスカウンターのみを用いる。
  • VM内でオンデマンドでツールを有効化することで、恒久的なオーバーヘッドを低減する。
  • ハードウェアパフォーマンスカウンターへの透過的アクセスをサポートする既存の仮想化スタックと統合する。
  • 異常なキャッシュミスパターンを検出すると、対策(例:鍵の破棄、ノイズの注入、ダミー操作)を実行する。

実験結果

リサーチクエスチョン

  • RQ1最新プロセッサのハードウェアパフォーマンスカウンターは、レガシ暗号アプリケーションにおけるキャッシュ攻撃を信頼性高く検出できるか?
  • RQ2変化点検出アルゴリズムは、最小限の誤検出でリアルタイムに攻撃発生を特定できるか?
  • RQ3被害者プロセスのキャッシュミス行動のみを用いて、すべての既知のキャッシュ攻撃バージョンを検出可能か?
  • RQ4ハイパーバイザーまたはOSの変更なしに、低オーバーヘッドで検出が可能か?
  • RQ5クラウド環境で一般的な実際のノイズレベル下でも、検出メカニズムの性能はどの程度高いか?

主な発見

  • CacheShield は、被害者プロセスの L3 キャッシュミスを監視することで、Prime+Probe、Flush+Reload、Flush+Flush など、すべての既知のキャッシュ攻撃バージョンを検出可能である。
  • ツールは、クラウド環境で一般的な高いシステムノイズ下でも、非常に少ない誤検出で高い検出正確性を達成している。
  • L3 キャッシュミスカウンターの変化点検出のみで信頼性の高い攻撃検出が可能であり、追加のパフォーマンスイベントは不要である。
  • すべての攻撃が被害者のキャッシュミスに測定可能な影響を与えるため、未知または新規の攻撃に対しても検出が有効である。
  • 監視が被害者プロセスに限定され、実行時のみ有効化されるため、パフォーマンスオーバーヘッドが最小限に抑えられている。
  • 仮想化プラットフォームが既にサポートしているハイパーバイザー層のパフォーマンスカウンターへのアクセスを必要とするのみであるため、既存のクラウドインfraと完全に互換性がある。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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