Skip to main content
QUICK REVIEW

[論文レビュー] SGX-LKL: Securing the Host OS Interface for Trusted Execution

Christian Priebe, Divya Muthukumaran|arXiv (Cornell University)|Aug 29, 2019
Security and Verification in Computing参考文献 69被引用数 42
ひとこと要約

SGX-LKL は未修正の Linux バイナリを SGX エンクレーブ内で実行し、最小限の、暗号化され、かつ オブリビウス なホストインターフェースを公開し、エンクレーブ内ライブラリ OS を完全に提供して、I/O を信頼されていないホストから保護します。

ABSTRACT

Hardware support for trusted execution in modern CPUs enables tenants to shield their data processing workloads in otherwise untrusted cloud environments. Runtime systems for the trusted execution must rely on an interface to the untrusted host OS to use external resources such as storage, network, and other functions. Attackers may exploit this interface to leak data or corrupt the computation. We describe SGX-LKL, a system for running Linux binaries inside of Intel SGX enclaves that only exposes a minimal, protected and oblivious host interface: the interface is (i) minimal because SGX-LKL uses a complete library OS inside the enclave, including file system and network stacks, which requires a host interface with only 7 calls; (ii) protected because SGX-LKL transparently encrypts and integrity-protects all data passed via low-level I/O operations; and (iii) oblivious because SGX-LKL performs host operations independently of the application workload. For oblivious disk I/O, SGX-LKL uses an encrypted ext4 file system with shuffled disk blocks. We show that SGX-LKL protects TensorFlow training with a 21% overhead.

研究の動機と目的

  • ホストOSが信頼できないクラウド環境において、TEE の安全なホストインターフェースの動機づけを行う。
  • SGX対応ランタイムのための最小限で保護されたオブリビウスなホストインターフェースを提案する。
  • エンクレーブ内で未修正の Linux バイナリを実行することが、許容できるオーバーヘッドで実現可能であることを実証する。
  • 機密なホストメタデータを漏らすことなく、POSIX 風のアプリケーションをサポートするエンクレーブ内 OS 機能を提供する。

提案手法

  • ストレージとネットワークのための 7 個の I/O および制御呼び出しからなる最小限のホストインターフェースを定義する。
  • エンクレーブ内で POSIX アプリをサポートするため、完全な Linux ライブラリ OS (LKL) を用いてエンクレーブ内 OS 機能を実装する。
  • 交差するすべてのデータを暗号化し、整合性を保護することでホストインターフェースを保護する。
  • ホスト呼び出しをバッチ処理し、ダミー呼び出しを用いてワークロードパターンを隠すことでオブリビウス性を提供する。
  • Linux デバイスマッパーを介して dm-crypt/dm-verity/dm-integrity を使用してディスク I/O を保護する。
  • エンクレーブ内ネットワークトラフィックには WireGuard ベースの VPN を用い、パケット処理には仮想ネットワークデバイスを用いる。
  • エンクレイブの整合性を検証し秘密情報を配布するためのアテステーションとプロビジョニングを実装する。

実験結果

リサーチクエスチョン

  • RQ1エンクレーブ内で未修正の Linux バイナリを実行できる一方で、情報漏洩や攻撃面を低減するために TEE のホストインターフェースを最小化するにはどうすればよいか?
  • RQ2エンクレーブ内 OS コンポーネントと最小限のホストインターフェースは、ホストに機微なメタデータを公開することなく POSIX 互換性を提供できるか?
  • RQ3SGX-LKL でディスクおよびネットワーク I/O を保護する際に生じる性能オーバーヘッドはどの程度で、単一機械と分散展開でどのように比較されるか?
  • RQ4暗号化ディスクイメージと VPN チャネルの信頼性と鍵を確立するために、セキュアなアテステーションとプロビジョニングをどのように統合できるか?

主な発見

  • SGX-LKL はディスクおよびネットワーク I/O、イベント、時間のための 7 呼び出しホストインターフェースを使用します。
  • ディスク I/O は dm-crypt/dm-verity/dm-integrity を用いたマッピング済みの ext4 ルートイメージで保護され、機密性と整合性を設定可能にします。
  • ネットワーク I/O は WireGuard ベースの VPN によって保護され、エンクレーブ全体のトラフィックにレイヤー3の暗号化を提供します。
  • エンクレーブ内のライブラリ OS(LKL 経由)は、ファイルシステム、ネットワーキング、スレッド、メモリ管理、シグナル、時間を含む POSIX 機能を提供します。
  • 実験結果は、模擬 SGX エンクレーブでの TensorFlow トレーニングで 14–21% のオーバーヘッド、分散展開で 2.7×–2.9× のオーバーヘッドを示し、PARSEC ベンチマークはオブリビウス呼び出しで 3.1×、非オブリビウスで 1.5×のオーバーヘッドを示します。

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

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

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

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