[論文レビュー] Slick: Secure Middleboxes using Shielded Execution
Slickは、Intel SGXベースのシールド実行(Sconeを介して)とDPDKを統合することで、信頼できないクラウドサーバー上でも高パフォーマンスでラインレートのネットワーク機能(NF)処理を実現するセキュアなミドルボックスフレームワークです。Clickベースのプログラミングインターフェース、セキュアなエナclave、メモリの安全、状態の永続化、NFチェイニングのためのカスタム最適化を備え、ネイティブに近いスループットとレイテンシを達成しています。
Cloud computing offers the economies of scale for computational resources with the ease of management, elasticity, and fault tolerance. To take advantage of these benefits, many enterprises are contemplating to outsource the middlebox processing services in the cloud. However, middleboxes that process confidential and private data cannot be securely deployed in the untrusted environment of the cloud. To securely outsource middleboxes to the cloud, the state-of-the-art systems advocate network processing over the encrypted traffic. Unfortunately, these systems support only restrictive middlebox functionalities, and incur prohibitively high overheads due to the complex computations involved over the encrypted traffic. This motivated the design of Slick --- a secure middlebox framework for deploying high-performance Network Functions (NFs) on untrusted commodity servers. Slick exposes a generic interface based on Click to design and implement a wide-range of NFs using its out-of-the box elements and C++ extensions. Slick leverages SCONE (a shielded execution framework based on Intel SGX) and DPDK to securely process confidential data at line rate. More specifically, Slick provides hardware-assisted memory protection, and configuration and attestation service for seamless and verifiable deployment of middleboxes. We have also added several new features for commonly required functionalities: new specialized Click elements for secure packet processing, secure shared memory packet transfer for NFs chaining, secure state persistence, an efficient on-NIC timer for SGX enclaves, and memory safety against DPDK-specific Iago attacks. Furthermore, we have implemented several SGX-specific optimizations in Slick. Our evaluation shows that Slick achieves near-native throughput and latency.
研究の動機と目的
- 信頼できないクラウド環境にミドルボックス処理を安全にアウトソーシングする課題に、パフォーマンスを犠牲にせずに対処すること。
- プログラマビリティとラインレートのパフォーマンスを備えた、幅広いエンタープライズネットワーク機能(NF)のサポート。
- 信頼できないクラウドインfraストラクチャ上で処理されるプライベートデータの強力な機密性と整合性の保証。
- リモートアテステーションとセキュアな設定により、検証可能でポータブルかつ透明なミドルボックスのデプロイメントを可能にすること。
- 従来のシステムにおけるエンドツーエンド暗号処理のパフォーマンスボトルネックを、ハードウェア保護実行によって克服すること。
提案手法
- Slickは、標準的な要素とC++拡張子を用いたClickベースのプログラミングインターフェースを用いて、ネットワーク機能(NF)を定義および組み合わせる。
- すべてのパケット処理はIntel SGXエナclave内で実行され、データおよびコードの機密性と整合性が保証される。
- SlickはIntel DPDKとSconeシールド実行フレームワークを統合し、セキュアなエナclave内での高速なユーザー空間パケットI/Oを可能にする。
- 安全なパケット処理のための新しいClick要素、NFチェイニングのためのセキュアな共有メモリ、エナclaveの時刻管理のためのオンNIC PTPタイマーを導入する。
- フェイルセーフと移行を可能にするセキュアな状態永続化レイヤーが提供され、DPDK固有のIago攻撃に対する防御を目的としたメモリ保護メカニズムが備わる。
- リモートアテステーションと暗号化された設定ロードにより、クラウド環境における検証可能で信頼できるデプロイメントが実現される。
実験結果
リサーチクエスチョン
- RQ1信頼できないクラウド環境において、強力な機密性と整合性を保証しながら、ネイティブに近いパフォーマンスを達成できるセキュアなミドルボックスフレームワークは実現可能か?
- RQ2ハードウェア支援セキュアエナclave(Intel SGX)と高パフォーマンスパケットI/Oフレームワーク(DPDK)を効果的に統合し、ラインレート処理を実現する方法は何か?
- RQ3SGXエナclave内で複雑で状態を持つNFを処理するにあたり、許容できないパフォーマンスオーバーヘッドを引き起こさずに必要なシステムレベルの最適化は何か?
- RQ4リモートアテステーションと暗号化された設定を用いて、クラウド環境におけるNFの安全で検証可能かつポータブルなデプロイメントを実現する方法は何か?
- RQ5SGXベースのネットワーク処理において、セキュアなNFチェイニング、状態の永続化、メモリの安全を実現するために必要な新しい抽象化とコンponentsは何か?
主な発見
- Slickは、一般のSGXメモリアクセスオーバーヘッドによるわずかなパフォーマンス劣化を除き、幅広いネットワーク機能でネイティブに近いスループットとレイテンシを達成している。
- DPDKとSconeの統合により、SGXエナclave内での効率的で高速なパケットI/Oが可能になり、エナclaveベースのシステムで一般的なI/Oボトルネックを克服した。
- Slickは、平文処理と同一のClickベースインターフェースを用いて、ファイアウォールやIDSを含む幅広いエンタープライズNFをサポートしており、プログラマビリティとモularityが保証されている。
- リモートアテステーションと暗号化された設定ロードにより、検証可能なデプロイメントが実現され、信頼できないクラウドプロバイダーに対する信頼が可能である。
- NFチェイニングのためのセキュアな共有メモリ、オンNICの時刻管理、Iago攻撃に対するメモリ保護機構といったカスタムコンponentsが、セキュリティと使いやすさを向上させた。
- 評価では、SlickのパフォーマンスはネイティブなClick実行に近く、特にメモリ集約的な操作において測定可能ではあるが許容できるオーバーヘッドであることが示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。