Skip to main content
QUICK REVIEW

[論文レビュー] Quantifying the Information Leak in Cache Attacks through Symbolic Execution

Sudipta Chattopadhyay, Moritz Beck|arXiv (Cornell University)|Nov 14, 2016
Security and Verification in Computing参考文献 15被引用数 3
ひとこと要約

CHALICEは、実行トレースを分析することで、キャッシュ側帯域攻撃における情報漏洩れを正確に定量化するシンボリック実行ベースのフレームワークである。これにより、実世界のバイナリにおいて深刻な漏洩を検出できる。実際、特定の入力ではAES-128鍵の128ビット中127ビットがキャッシュタイミング経由で漏洩することが判明しており、入力依存の漏洩分布を捉えることで、静的解析を上回る性能を発揮する。

ABSTRACT

Cache timing attacks allow attackers to infer the properties of a secret execution by observing cache hits and misses. But how much information can actually leak through such attacks? For a given program, a cache model, and an input, our CHALICE framework leverages symbolic execution to compute the amount of information that can possibly leak through cache attacks. At the core of CHALICE is a novel approach to quantify information leak that can highlight critical cache side-channel leaks on arbitrary binary code. In our evaluation on real-world programs from OpenSSL and Linux GDK libraries, CHALICE effectively quantifies information leaks: For an AES-128 implementation on Linux, for instance, CHALICE finds that a cache attack can leak as much as 127 out of 128 bits of the encryption key.

研究の動機と目的

  • 実世界のソフトウェアにおけるキャッシュ側帯域攻撃に起因する情報漏洩の正確で入力に依存する定量化の不足に対処すること。
  • キャッシュタイミング攻撃下で、他の入力と比べて著しく多くの情報を露呈する重要な入力セグメントを同定すること。
  • 静的解析の代替として、実行ベースの動的アプローチを提供し、利用可能な側帯域漏洩を検出すること。
  • 高漏洩コード領域のデバッグと最適化を可能にすることで、セキュアなソフトウェア開発を支援すること。
  • 直接マップ型やLRUなどのキャッシュポリシー、および観測者モデルの一般化を図り、広範な適用性を実現すること。

提案手法

  • 具体的なプログラム入力を対象にシンボリック実行を適用し、キャッシュヒットとミスのシンボリックタイミングトレースを導出する。
  • 実行中にプログラム状態とともにキャッシュ状態遷移を追跡するための新規シンボリックキャッシュモデルを構築する。
  • 異なる入力値におけるキャッシュタイミングパターンの分布を分析することで、情報漏洩を定量化する。
  • プログラム変数をモデル化されたキャッシュ構造(例:直接マップ型またはLRU)にマッピングし、実際のキャッシュ動作をシミュレートする。
  • Max-SMTソルバを用いて、同一のタイミングパターンを生成する入力の数を特定し、観測ごとの漏洩量を明らかにする。
  • LLVMおよびKLEE上で実装され、任意のバイナリコードに対する完全なシンボリック状態追跡を可能にする。

実験結果

リサーチクエスチョン

  • RQ1与えられたプログラム、キャッシュモデル、および入力に対して、実際にキャッシュタイミング攻撃によってどれほど情報が漏洩するか?
  • RQ2シンボリック実行を用いて、キャッシュ側帯域における入力依存の情報漏洩を正確に定量化できるか?
  • RQ3キャッシュタイミングパターンの分布が、機密データの利用可能な漏洩にどのように影響するか?
  • RQ4CHALICEは、他の入力と比べて著しく高い漏洩を引き起こす入力を検出し、ランク付けできるか?
  • RQ5CHALICEの動的解析は、静的解析に比べて、深刻な漏洩シナリオを特定する上で優れているか?

主な発見

  • AES-128実装において、CHALICEは特定の入力がキャッシュタイミング経由で128ビット中最大127ビットの鍵を漏洩することを同定した。これにより、残りの1ビットのブルートフォース回復は容易である。
  • 極端なケース(例:213または279回のキャッシュミス)では、同じタイミングパターンを生成するキーはたった2つであり、CHALICEはそのような状況で90ビットの鍵が漏洩することを特定した。
  • 平均的なキャッシュタイミングパターンでは、13,000個以上の鍵が同じパターンを生成しており、観測ごとの漏洩は顕著に低いことが示された。
  • CHALICEは、入力依存の漏洩が著しく変動することを検出し、静的上限解析では捉えきれない現象であることを明らかにした。
  • フレームワークはOpenSSLおよびLinux GDKライブラリの実世界バイナリにおいても漏洩を正確に定量化し、本番コードにおける高い漏洩リスクを明らかにした。
  • CHALICEのシンボリック解析により、均一なキャッシュタイミング分布はまれであり、たとえ適切に最適化された実装でも、特定の入力下では深刻な漏洩を引き起こす可能性があることが判明した。

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

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

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

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