Skip to main content
QUICK REVIEW

[論文レビュー] Understanding TEE Containers, Easy to Use? Hard to Trust

Weijie Liu, Hongbo Chen|arXiv (Cornell University)|Sep 4, 2021
Security and Verification in Computing参考文献 60被引用数 4
ひとこと要約

本論文では、Intel SGX用の15のTEEコンテナについて、独自のファズャー(TECUZZER)と手動コードレビューを組み合わせたハイブリッド手法を用いて、体系的なセキュリティ分析を実施する。その結果、保護されていないOcallパラメータ、検証されていない戻り値、不完全なSFI(ソフトウェアベースの故障隔離)の適用といった深刻な隔離上の欠陥が明らかになった。これにより、広く使われているにもかかわらず、これらのコンテナは、公表されたセキュリティ保証を完全に達成していないことが示された。

ABSTRACT

As an emerging technique for confidential computing, trusted execution environment (TEE) receives a lot of attention. To better develop, deploy, and run secure applications on a TEE platform such as Intel's SGX, both academic and industrial teams have devoted much effort to developing reliable and convenient TEE containers. In this paper, we studied the isolation strategies of 15 existing TEE containers to protect secure applications from potentially malicious operating systems (OS) or untrusted applications, using a semi-automatic approach combining a feedback-guided analyzer with manual code review. Our analysis reveals the isolation protection each of these TEE containers enforces, and their security weaknesses. We observe that none of the existing TEE containers can fulfill the goal they set, due to various pitfalls in their design and implementation. We report the lessons learnt from our study for guiding the development of more secure containers, and further discuss the trend of TEE container designs. We also release our analyzer that helps evaluate the container middleware both from the enclave and from the kernel.

研究の動機と目的

  • Intel SGX用のTEEコンテナ(Tcon)のセキュリティ保証を評価すること。Tconは、機密計算を簡素化するために広く使われている。
  • 既存のTcon設計および実装が、信頼できないOSや悪意あるインエナclaveコードに対して、強固な隔離を実際に果たしているかどうかを特定すること。
  • 特にOcall、Ecall、インエナclave内隔離といった重要な攻撃表面において、公表されたセキュリティ特性と実際の実装との間のギャップを特定すること。
  • Tconミドルウェアの自動的かつカーネル統合型のテストが可能となる、新規のファズャー(TECUZZER)の開発およびリリースを行うこと。このテストは、エナclaveおよびOSの両視点から実施される。
  • 今後のより安全なTEEコンテナ設計のための、実務的で有用な知見と教訓を提供すること。

提案手法

  • Tconミドルウェアの攻撃表面全体をカバーするため、エナclave内とカーネル内にそれぞれ配置された2部構成のファズャー「TECUZZER」を設計した。
  • フィードバックガイドドファジーングを用いて、Ocall、例外、サイドチャnel表面を探索し、パラメータおよび戻り値の処理に焦点を当てた。
  • Ecall表面、リモートアテステーション、SFI(ソフトウェアベースの故障隔離)を含む意味論的保護の分析のため、手動コードレビューを実施した。
  • 脅威モデル、TCBサイズ、隔離手法、サイドチャnel保護、リモートアテステーションといったセキュリティ特性の分類を用いて、15のTcon実装を評価した。
  • 静的および動的解析により、インエナclave内メモリ分離、直接ジャンプの検証、RSPスタックのスプレイ制御といった保護メカニズムを測定した。
  • Iago攻撃やsyscallスヌーピングといった実世界の攻撃表面に焦点を当て、自動ファジーングとソースコードの手動検査の両方で、発見結果を検証した。

実験結果

リサーチクエスチョン

  • RQ1既存のSGX用TEEコンテナは、信頼できないOSとエナclaveとの間で、どれほど適切に隔離を実現しているのか。
  • RQ2Tcon開発者が公表しているセキュリティ主張、特にOcallパラメータおよび戻り値の保護について、実際の実装でも実際に守られているのか。
  • RQ3SFIのようなインエナclave内隔離メカニズムは、コードインジェクションやバイパス攻撃を防ぐのにどれほど効果的か。
  • RQ4設計上の主張とは対照的に、セキュリティ保証を損なう主要な実装上の欠陥は何か。
  • RQ5TECUZZERのような体系的で自動化された手法は、TEEミドルウェアに潜む微細なセキュリティ欠陥を検出するのに有効か。

主な発見

  • 分析対象の15のTEEコンテナすべてに、公表されたセキュリティ保証を完全に果たしていない深刻な欠陥が存在し、実際にはいずれのコンテナも完全な保証を達成していない。
  • 多くのTconがOcallパラメータのクリーニングを行っておらず、情報漏洩やsyscallスヌーピングなどの攻撃に対して脆弱である。
  • Deflection や Ratel を含む多数のTconが、システムコールの戻り値をチェックしておらず、Iago攻撃にさらされやすくなっている。
  • Occlum や Deflection でさえ、SFIのサポートを公表しているが、直接ジャンプのターゲットを検証しておらず、インストルメンテーションのバイパスが可能となり、検証されないメモリ書き込みが可能になっている。
  • Chancel は、FSベースのIago攻撃に対する保護を公表しているが、リリース版ではその実装がなされておらず、ドキュメントとは異なり実装が存在しない。
  • TECUZZERは、カーネルレベルのインストルメンテーションとエナclave内ファズャー制御を組み合わせることで、以前未知の脆弱性を効果的に発見した。これにより、Tconの自動テストが実現可能であることが示された。

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

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

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

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