Skip to main content
QUICK REVIEW

[論文レビュー] TrustBase: An Architecture to Repair and Strengthen Certificate-based Authentication

Mark O'Neill, Scott Heidbrink|arXiv (Cornell University)|Oct 26, 2016
Advanced Malware Detection Techniques参考文献 16被引用数 7
ひとこと要約

TrustBase は、ソケット層とトランスポート層の間のトラフィックインターセプトを用いて、すべての TLS アプリケーションに対して標準的で OS 全体にわたる証明書検証を強制するカーネルレベルアーキテクチャである。この手法により、構成可能な認証ポリシーを透明に適用でき、システム管理者が、証明書の失効チェックや STARTTLS の強制など、ベストプラクティスをすべてのアプリケーションに適用できる。性能への影響は最小限で、OS との普遍的な互換性を有する。

ABSTRACT

We describe TrustBase, an architecture that provides certificate-based authentication as an operating system service. TrustBase enforces best practices for certificate validation for all applications and transparently enables existing applications to be strengthened against failures of the CA system. The TrustBase system allows simple deployment of authentication systems that harden the CA system. This enables system administrators, for example, to require certificate revocation checks on all TLS connections, or require STARTTLS for email servers that support it. TrustBase is the first system that is able to secure all TLS traffic, using an approach compatible with all operating systems. We design and evaluate a prototype implementation of TrustBase on Linux, evaluate its security, and demonstrate that it has negligible overhead and universal compatibility with applications. To demonstrate the utility of TrustBase, we have developed six authentication services that strengthen certificate validation for all applications.

研究の動機と目的

  • 開発者の誤りや設定ミスによる、アプリケーション全体にわたる証明書検証の失敗を是正すること。
  • 証明書発行機関(CA)システムの脆弱性(例:CA の侵害や誤発行)が、中間者攻撃を引き起こすのを緩和すること。
  • アプリケーションを変更せずに、ピン留めや証明書透過性(CT)チェックなどの強化された認証メカニズムを、すべてのアプリケーションに簡易的かつ集中的に導入すること。
  • システム管理者が、システム全体にわたって証明書検証ポリシーを細かく制御でき、一貫したセキュリティ強化を実現すること。
  • CertShim ら既存のソリューションの制限を克服し、より強固な隔離性とローカル特権昇格攻撃に対する耐性を備えた、カーネルレベルでの動作を実現すること。

提案手法

  • ロード可能なカーネルモジュールを用いて、ソケット層とトランスポート層の間でカーネルレベルで TLS トラフィックをインターセプトする。
  • 失効チェック、DANE、証明書透過性(CT)、およびノートリー検証を含む、構成可能な認証サービスのセットを用いてサーバー証明書を検証する。
  • 特権ポリシー・エンジンと保護された Netlink 通信を用いてポリシーを強制し、非特権ユーザーによる改ざんを防止する。
  • 新しい認証サービスの統合を最小限のコード変更で可能にするために、プラグインベースのアーキテクチャと公開 API を採用する。
  • 高レベルのシステムコールと TLS プrotocol 標準とのみやり取りすることで、さまざまな TLS ライブラリ(例:BoringSSL、libNSS)との互換性を維持する。
  • 接続パターンの分析と、STARTTLS を提供しないホストの検出により、オポチュニスティックな STARTTLS の強制を可能にする。

実験結果

リサーチクエスチョン

  • RQ1アプリケーションレベルの変更なしに、すべての TLS を使用するアプリケーションに一貫した証明書検証を強制する方法は何か?
  • RQ2ローカルの攻撃者による証明書検証のバイパスを防ぐ強力な保護を実現するアーキテクチャ的アプローチは何か?
  • RQ3最小限の性能オーバーヘッドと広範な OS 互換性を備えた、システムワイドな証明書検証サービスを構築できるか?
  • RQ4新規の認証メカニズム(例:ピン留め、CT、DANE)を、既存のアプリケーションにスケーラブルに展開できるか?
  • RQ5カーネルレベルのインターセプトレイヤーは、既存の TLS デプロイメントのセキュリティポリシーをどの程度向上できるか?

主な発見

  • TrustBase は、すべての TLS 接続をカーネルレベルでインターセプトし、すべてのアプリケーションにわたる証明書検証ポリシーの一貫性ある強制を実現した。
  • Linux 上でのプロトタイプ実装は、接続遅延およびスループットへの影響が最小限で、性能への影響がほとんどなかった。
  • TrustBase は、アプリケーションの背後にある TLS ライブラリにかかわらず、証明書の失効チェックや STARTTLS の強制といった重要なセキュリティ制御をすべてのアプリケーションに適用可能である。
  • 特権ポリシー・エンジンと保護された通信チャネルのおかげで、LD_PRELOAD の改ざんやプロセス生成の操作といったローカル攻撃に対しても耐性がある。
  • プラグインアーキテクチャにより、新しい認証サービスの開発と展開が迅速に可能となり、新しい検証ロジックを統合するにあたり最小限のコード変更で済む。
  • 標準的なシステムコールと TLS プrotocol の振るまいに依存するため、TrustBase は、特定のセキュリティライブラリの内部構造に依存せず、普遍的な互換性を達成している。

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

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

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

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