Skip to main content
QUICK REVIEW

[論文レビュー] Did we learn from LLC Side Channel Attacks? A Cache Leakage Detection Tool for Crypto Libraries

Gorka Irazoqui, Kai Cong|arXiv (Cornell University)|Sep 5, 2017
Security and Verification in Computing参考文献 28被引用数 12
ひとこと要約

本論文では、動的タグ分析、制御されたキャッシュ破棄、相互情報量分析を組み合わせることで、AES、RSA、ECCの実装における利用可能な側面チャネル漏洩を特定する、予防的キャッシュ漏洩検出ツールを提示する。このツールは、このような攻撃について広く認識されているにもかかわらず、分析されたデフォルトの暗号ライブラリ実装の50%が最後級キャッシュ(Last Level Cache)を介して機密情報を漏洩していることを明らかにした。

ABSTRACT

This work presents a new tool to verify the correctness of cryptographic implementations with respect to cache attacks. Our methodology discovers vulnerabilities that are hard to find with other techniques, observed as exploitable leakage. The methodology works by identifying secret dependent memory and introducing forced evictions inside potentially vulnerable code to obtain cache traces that are analyzed using Mutual Information. If dependence is observed, the cryptographic implementation is classified as to leak information. We demonstrate the viability of our technique in the design of the three main cryptographic primitives, i.e., AES, RSA and ECC, in eight popular up to date cryptographic libraries, including OpenSSL, Libgcrypt, Intel IPP and NSS. Our results show that cryptographic code designers are far away from incorporating the appropriate countermeasures to avoid cache leakages, as we found that 50% of the default implementations analyzed leaked information that lead to key extraction. We responsibly notified the designers of all the leakages found and suggested patches to solve these vulnerabilities.

研究の動機と目的

  • LLC攻撃の既知のリスクにもかかわらず、暗号ライブラリにおけるキャッシュ側面チャネル脆弱性という、長年の課題に対処すること。
  • 設計段階で実際の利用可能なキャッシュ漏洩を検出できる、自動的かつプラットフォームに依存しないツールを開発すること。
  • 暗号ライブラリ開発者がデプロイ前にキャッシュ漏洩の欠陥を事前に特定・修正できるようにすること。
  • AES、RSA、ECCの基本的な実装を対象に、人気のある暗号ライブラリを大規模に分析し、実世界における漏洩の広がりを評価すること。
  • 発見結果を責任ある形で開示し、広く使われている暗号ライブラリのセキュリティ体制を向上させること。

提案手法

  • 暗号コード内の機密依存メモリアクセスを特定するため、動的タグ分析を適用する。
  • 観察可能なキャッシュトレースを生成するために、コードに強制的なキャッシュ破棄(例:flush-and-reload)を組み込む。
  • 実ハードウェア上で実行中の低レベルのキャッシュアクセスパターンを記録し、実世界の攻撃状況をシミュレートする。
  • 機密値と観察されたキャッシュ動作との間の依存関係を検出する統計的指標として、相互情報量分析(MIA)を用いる。
  • タグ伝播とキャッシュトレースパターンを照合することで、漏洩を引き起こす特定のコード領域を特定する。
  • プラットフォーム固有の再設定を必要とせず、多様なプラットフォームおよび暗号ライブラリでツールの有効性を検証する。

実験結果

リサーチクエスチョン

  • RQ1既知の緩和技術が存在するにもかかわらず、現代の暗号ライブラリは最後級キャッシュ(LLC)側面チャネル攻撃に対してどの程度脆弱であるか?
  • RQ2タグ分析と相互情報量分析を組み合わせたツールは、実世界の暗号実装における利用可能なキャッシュ漏洩を効果的に検出できるか?
  • RQ3Tテーブル、Sボックス、スライディングウィンドウなどの異なる暗号実装は、人気のあるライブラリにおいてキャッシュ漏洩の観点でどの程度の性能を示すか?
  • RQ4既存の検証手法は、微妙で非線形なキャッシュ漏洩パターンを十分に検出できるか、それとも誤検出が多発するか?
  • RQ5提案されたツールは、広く展開された暗号ライブラリにおける脆弱性の責任ある開示と修正に使用できるか?

主な発見

  • OpenSSL、WolfSSL、NSS、Bouncy Castle、その他のライブラリを含む、分析されたデフォルトの暗号ライブラリ実装の50%が、AES、RSA、ECCの基本的な実装において利用可能なキャッシュ漏洩を示した。
  • このツールは、OpenSSL(Tテーブル)、WolfSSL、Bouncy Castle、Intel IPPに、以前未知のキャッシュ漏洩脆弱性を12件発見した。
  • OpenSSL や Libgcrypt のような、既にセキュリティ評価の高いライブラリでさえ、Tテーブルやスライディングウィンドウ法などの特定の最適化手法を使用すると、脆弱な実装を含んでいた。
  • 研究では、キャッシュラインアラインメントなどのマイクロアーキテクチャ的詳細が漏洩に顕著に影響することを明らかにした。一部の脆弱性は、OSレベルのデータアラインメントミスに起因していた。
  • このツールは、OpenSSLのECC用WNAF実装の1.0.1ブランチで漏洩を特定したが、1.1.0ブランチは安全であることが判明した。これは、バージョン固有の分析の重要性を示している。
  • 責任ある開示の結果、CVE-2016-XXXX(Intel IPP)やWolfSSL、Bouncy Castleの複数の脆弱性に対して複数のCVEが割り当てられ、パッチはすでに利用可能または開発中である。

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

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

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

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