Skip to main content
QUICK REVIEW

[論文レビュー] Guarding Serverless Applications with SecLambda

Deepak Sirone Jegan, Liang Wang|arXiv (Cornell University)|Nov 10, 2020
Security and Verification in Computing参考文献 33被引用数 4
ひとこと要約

SecLambda は、ローカル関数状態とグローバルアプリケーション状態を活用してリアルタイムのセキュリティ制御を強制する拡張可能なセキュリティフレームワークである。gVisor をカスタムランタイムポリシーと集中型コントローラーで拡張することで、制御フローハイジャック、資格情報漏洩、DoS 攻撃に対する細粒度でアプリケーションに特化した保護を実現し、最小限のパフォーマンスオーバーヘッドで実現可能である—評価では関数呼び出しあたり 6 ms 未満の遅延を達成した。

ABSTRACT

As an emerging application paradigm, serverless computing attracts attention from more and more attackers. Unfortunately, security tools for conventional applications cannot be easily ported to serverless, and existing serverless security solutions are inadequate. In this paper, we present \emph{SecLambda}, an extensible security framework that leverages local function state and global application state to perform sophisticated security tasks to protect an application. We show how SecLambda can be used to achieve control flow integrity, credential protection, and rate limiting in serverless applications. We evaluate the performance overhead and security of SecLambda using realistic open-source applications, and our results suggest that SecLambda can mitigate several attacks while introducing relatively low performance overhead.

研究の動機と目的

  • サーバesslessコンピューティングにおけるリアルタイムでアプリケーションに特化したセキュリティメカニズムの不足を解消すること。
  • 制御フローハイジャック、資格情報漏洩、DoS 攻撃などの高度な攻撃を検出および防止すること。
  • 外部のサードパーティサービスとの協力なしに、分散型サーバessless関数全体に細粒度のポリシーを安全に強制できること。
  • 本番環境向けのサーバesslessワークロードにおいて、強固なセキュリティ保証を維持しながらパフォーマンスオーバーヘッドを低減すること。
  • 基本的なアクセス制御を超えた複数のセキュリティ機能をサポートする拡張可能なフレームワークを提供すること。

提案手法

  • HTTP ペイロードや URL などの高レベル入力をもとに、カスタムシステムコールインターセプトとポリシー強制を実装した gVisor コンテナランタイムを拡張する。
  • 関数状態を収集・報告するための変更済みランタイム(runsec)を用い、ランタイムセキュリティ分析のためのガードモジュールに送信する。
  • 関数状態を集約し、無効な実行パスの検出に役立てるグローバル可視性を提供するため、集中型コントローラーを採用する。
  • 現在の関数状態とグローバルアプリケーションコンテキストに基づいて、セキュリティ関数を実行するガードモジュールを導入する。
  • カスタマイズ可能なポリシー論理を介して、制御フロー整合性、資格情報のオブスクリーション、レート制限といった、プラグイン可能なセキュリティ機能をサポートする。
  • 軽量で同期的な状態交換により、ガードとコントローラー間の通信を実現し、呼び出しあたり 6 ms 未満の最小限のオーバーヘッドを達成する。

実験結果

リサーチクエスチョン

  • RQ1不正な実行順序を悪用する制御フローハイジャック攻撃からサーバesslessアプリケーションをどのように保護できるか?
  • RQ2サードパーティサービスの変更なしに、資格情報の露出を防ぐことは可能か?
  • RQ3サーバessless環境でリアルタイムでアプリケーションに特化したセキュリティポリシーを強制する際のパフォーマンスオーバーヘッドはどの程度か?
  • RQ4外部サービスとの協力なしに、グローバルなアプリケーション動作をどのようにモデル化・監視できるか?
  • RQ5拡張可能なフレームワークは、サーバessless環境で複数のセキュリティ機能を同時に効果的にサポートできるか?

主な発見

  • SecLambda は、フローチラッキングによる制御フローハイジャック攻撃の効果的な検出と緩和を実現したが、サードパーティサービスの変更は不要であった。
  • 資格情報管理機能により、機密データを関数コードから分離し、侵害時における漏洩を防止できた。
  • レート制限が効果的に強制され、DoS 攻撃やサーバessless関数の乱用を防げた。
  • ガード-コントローラー間通信に起因するパフォーマンスオーバーヘッドは、関数呼び出しあたり 6 ms 未満であり、AWS Lambda 上では 1 回の呼び出しあたり 0.000001667 ドル未満に相当した。
  • 実世界のアプリケーションでは、フレームワークに起因するオーバーヘッドはほとんど無視できるレベルであり、ネットワークや I/O に依存するワークロードでのみ顕著なパフォーマンス影響が観察された。
  • 3 つのオープンソースのサーバesslessアプリケーションを用いた評価により、SecLambda の実用的展開における有効性と効率性が確認された。

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

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

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

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