[論文レビュー] CopyCat: Controlled Instruction-Level Attacks on Enclaves
COPYCATは、Intel SGXエナclaveを標的とした、決定的で命令レベルのサイドチャネル攻撃であり、アーキテクチャ的インテอร taxpを活用して、実行された命令数を完全な正確性で数える。このインテอร taxpカウントチャネルを、既存のページテーブルアクセス漏洩れと組み合わせることで、ノイズのない最大限の命令レベルの制御フロー再構築が可能となり、微細な防御策が施された暗号化ライブラリに対しても、1トレースで鍵を回復可能となる。
The adversarial model presented by trusted execution environments (TEEs) has prompted researchers to investigate unusual attack vectors. One particularly powerful class of controlled-channel attacks abuses page-table modifications to reliably track enclave memory accesses at a page-level granularity. In contrast to noisy microarchitectural timing leakage, this line of deterministic controlled-channel attacks abuses indispensable architectural interfaces and hence cannot be mitigated by tweaking microarchitectural resources. We propose an innovative controlled-channel attack, named CopyCat, that deterministically counts the number of instructions executed within a single enclave code page. We show that combining the instruction counts harvested by CopyCat with traditional, coarse-grained page-level leakage allows the accurate reconstruction of enclave control flow at a maximal instruction-level granularity. CopyCat can identify intra-page and intra-cache line branch decisions that ultimately may only differ in a single instruction, underscoring that even extremely subtle control flow deviations can be deterministically leaked from secure enclaves. We demonstrate the improved resolution and practicality of CopyCat on Intel SGX in an extensive study of single-trace and deterministic attacks against cryptographic implementations, and give novel algorithmic attacks to perform single-trace key extraction that exploit subtle vulnerabilities in the latest versions of widely-used cryptographic libraries. Our findings highlight the importance of stricter verification of cryptographic implementations, especially in the context of TEEs.
研究の動機と目的
- エナクラブサイドチャネル漏洩れにおいて、命令レベルの分解能を達成する新たな制御チャネル攻撃のクラスを開発すること。
- マイクロアーキテクチャ的サイドチャネルが緩和された状況下でも、決定的でノイズのない命令レベルの制御フロー漏洩れが可能であることを示すこと。
- 既存のサイドチャネル対策が施されたが、依然として広く配備されている暗号化ライブラリが、1トレースによる鍵回復攻撃に対して脆弱であることを示すこと。
- 粗いページレベルの監視が制御チャネル攻撃の最大実用的分解能であるという仮定に疑問を呈すること。
提案手法
- 被害者のエナクラブに1命令ずつステップ実行を強制するために、SGX-Stepフレームワークを活用し、正確なインテオル taxpカウントを可能にする。
- アーキテクチャ的インテオル taxpを、1つのエナクラブコードページ内で実行された命令数を数える決定的チャネルとして使用する。
- 細かいインテオル taxpカウントと粗いページテーブルアクセスパターンを組み合わせ、命令レベルの粒度で制御フローを再構築する。
- 各インテオル taxpが1つの実行命令に対応することを利用し、時間的変動に依存しない決定的命令カウントが可能になる。
- モジュラ逆数計算やスカラ乗算などの暗号化プリミティブにおける制御フローを分析するために、インテオル taxpカウント技術を適用する。
- 命令レベルの乖離を分析することで、1つの制御フロートレースから暗号鍵を回復する新しいアルゴリズム攻撃を開発する。
実験結果
リサーチクエスチョン
- RQ1アーキテクチャ的インテオル taxpは、エナクラブ内での命令数を決定的でノイズのないチャネルとして使用可能か?
- RQ2インテオル taxpカウントとページテーブルアクセスパターンのみを用いて、どの程度まで命令レベルの制御フローを再構築できるか?
- RQ3マイクロアーキテクチャ的サイドチャネルに対して強化された現代の暗号化ライブラリは、依然として命令レベルの制御チャネル攻撃に対して脆弱か?
- RQ4実世界の実装から、1トレースで決定的攻撃を構築し、暗号鍵を回復可能か?
主な発見
- COPYCATは、アーキテクチャ的インテオル taxpを決定的カウントチャネルとして使用することで、測定ノイズを排除し、制御フロー漏洩れを命令レベルで達成する。
- 攻撃は、1命令の差で異なるインラインページ内およびインラインキャッシュライン内分岐決定を成功裏に再構築した。
- DSS、ECDSA、RSA鍵生成を含む実世界の暗号化ライブラリに対して、サイドチャネル対策が施されていながらも、1トレースによる鍵回復攻撃が実証された。
- 攻撃は、バッファフラッシュやリソースパーティショニングといったマイクロアーキテクチャ的防御を回避した。これは、マイクロアーキテクチャ的状態ではなく、アーキテクチャ的インターフェースに依存しているためである。
- 常に加算・倍加を行う手法や指数マスキングを用いた強化済みライブラリですら、COPYCATによって破られた。これは、命令レベルでの秘密依存制御フローが存在するためである。
- 広範な実験を通じて、Intel SGX上で攻撃が検証され、実世界の状況でも実用的で高い正確性を示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。