Skip to main content
QUICK REVIEW

[論文レビュー] Keystone: An Open Framework for Architecting TEEs

Dayeol Lee, David Kohlbrenner|arXiv (Cornell University)|Jul 23, 2019
Security and Verification in Computing参考文献 104被引用数 27
ひとこと要約

Keystoneは、RISC-Vの機械モードにおける物理メモリ保護(PMP)というプログラマブルなハードウェアプリミティブを公開することで、カスタマイズ可能な信頼実行環境(TEE)の構築を可能にするオープンソースフレームワークです。最小限でハードウェアによって強制されるセキュリティモニタ(SM)とカスタマイズ可能なランタイム(RT)を分離し、TCBのサイズ、脅威モデル、アプリケーション固有の機能に対する細かな制御を可能にします。未加工のRISC-Vハードウェア上でも多様なワークロードを実行可能であることが実証されています。

ABSTRACT

Trusted execution environments (TEEs) are being used in all the devices from embedded sensors to cloud servers and encompass a range of cost, power constraints, and security threat model choices. On the other hand, each of the current vendor-specific TEEs makes a fixed set of trade-offs with little room for customization. We present Keystone -- the first open-source framework for building customized TEEs. Keystone uses simple abstractions provided by the hardware such as memory isolation and a programmable layer underneath untrusted components (e.g., OS). We build reusable TEE core primitives from these abstractions while allowing platform-specific modifications and application features. We showcase how Keystone-based TEEs run on unmodified RISC-V hardware and demonstrate the strengths of our design in terms of security, TCB size, execution of a range of benchmarks, applications, kernels, and deployment models.

研究の動機と目的

  • Intel SGX、ARM TrustZone、AMD SEVといったハードウェア固定型TEEに見られるカスタマイズ性の欠如に対処すること。
  • 脅威モデル、パフォーマンス、機能サポートに制限を受ける固定型TEEアーキテクチャの限界を克服すること。
  • ハードウェアベンダーやクラウドプロバイダー、アプリケーション開発者が、特定のワークロードやセキュリティ要件に合わせてTEEをカスタマイズできるようにすること。
  • 信頼できるレイヤーを非信頼OSの下に提供し、柔軟で合成可能なTEE構成を可能にする、プログラマブルな信頼層を提供すること。
  • セキュリティ強制(SM)を機能論理(RT)から分離することで、TCBを縮小し、検証性と保守性を向上させること。

提案手法

  • RISC-Vの機械モードにおけるPMPを活用し、非信頼OSと信頼されたエナclaveコンponentsの間で物理的メモリ隔離を強制することで、ハードウェア保護された境界を構築する。
  • 機械モードで実行され、リソース管理を一切行わないが、隔離、セキュアブート、アテステーションを強制する最小限のハードウェア強制セキュリティモニタ(SM)を設計する。
  • 監視者モードで実行され、エナclave仮想メモリ、システムコール、共有メモリを介したホストとの通信を管理するカスタマイズ可能なランタイム(RT)を実装する。
  • SMとRTを分離することで、コンパイル時におけるプラグインベースの機能拡張(例:libc、スレーディング、動的ロード)を独立して可能にする。
  • コンパイル時プラグインを活用し、各デプロイメントに応じてTCBと脅威モデルをカスタマイズ可能にすることで、信頼とパフォーマンスのトレードオフを細かく制御できる。
  • 未加工のRISC-Vハードウェアとの互換性を実証し、複数のRT構成を用いて標準ベンチマーク、カーネル、アプリケーションのサポートを実現。

実験結果

リサーチクエスチョン

  • RQ1ハードウェアを変更せずに、セキュリティ特性、TCBサイズ、機能のカスタマイズが可能なTEEフレームワークを構築できるか?
  • RQ2最小限でハードウェアによって強制されるセキュリティモニタ(SM)を機能論理(RT)から分離することで、モジュラリティと信頼性を向上させられるか?
  • RQ3静的エナclave、I/Oサポートの欠如、サイドチャnel脆弱性といった従来のTEEの限界を、プログラマブルで合成可能なTEEスタックによってどの程度軽減できるか?
  • RQ4RISC-VのようなオープンISAにTEEフレームワークを移植可能であり、強固なセキュリティ保証とパフォーマンスを維持できるか?
  • RQ5SMとRTの分離が、クラウド、IoT、エッジコンピューティングを含む多様なデプロイメントモデルをどのようによりよくサポートできるか?

主な発見

  • Keystoneは、セキュリティ強制(SM)を機能論理(RT)から分離することで、信頼計算基盤(TCB)を顕著に縮小し、必要な場合にのみRTを含める構成を実現している。
  • フレームワークは未加工のRISC-Vハードウェアでも正常に動作し、多様なデプロイメントプラットフォームにおける互換性と拡張性を実証している。
  • カスタマイズ可能なランタイムコンponentsを介して、標準ベンチマーク、カーネル、およびセキュアデータベース、ブロックチェーンプロトコル、機械学習など多様なワークロードをサポートしている。
  • SMとRTの分離により、システムコールインタフェース、libcサポート、動的メモリ管理といった機能をコンパイル時カスタマイズ可能となり、ユースケースに応じた最適化されたTEEを実現できる。
  • 仮想化に類似したハイパーバイザーよりもTCBを肥大化させず、PMPによるメモリ隔離に依存することで、信頼できるハイパーバイザーよりも攻撃表面を縮小している。
  • 設計自体が、キャッシュや予測実行などの多くのサイドチャnel攻撃に対して本質的に耐性を示し、既存の防御(例:キャッシュサイドチャnelの硬化)を統合することで、さらなる保護が可能である。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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