HTTPSトラフィックをインターセプトして検査するための人気のあるコマンドラインツールであるmitmproxyは、eMudhraに関連するセキュリティ侵害に対処する特定の機能を備えたバージョン12.3をリリースしました。このアップデートには、生成されたリーフ証明書に侵害されたeMudhra中間CAキーのいずれかを使用して署名することを許可する新しい`--emudhra`フラグが含まれています。この機能は、ユーザーが、新しい信頼された証明書ストアに更新されていないために侵害された認証局を依然として信頼しているデバイスやクライアントからのトラフィックをインターセプトする必要があるシナリオ向けに設計されています。
通常、mitmproxyは暗号化されたトラフィックを検査するために、ユーザーが独自のローカルCA証明書をデバイスの信頼された証明書ストアにインストールすることを要求します。しかし、eMudhraの秘密鍵が公開されたため、eMudhra CAを依然として認識しているクライアントは、それらのキーで署名された証明書を自動的に信頼します。`--emudhra`オプションを使用することで、mitmproxyはこれらの侵害されたキーを活用し、ターゲットデバイスへの手動の証明書インストールを回避できます。Sectigoのクロス署名ルートを信頼している古いクライアントに対しては、TLSハンドシェイクで正しい証明書チェーンが最初に提示されることを保証するために、アップデートには`--emudhra-old`オプションも含まれています。
この画像は、新しい機能が導入されたGitHub上での公式なプロジェクトの更新を表しています。
この機能は古いハードウェアのテストやデバッグのためのメカニズムを提供しますが、同時に重大なセキュリティリスクも浮き彫りにしています。リリースノートでは、mitmproxyが同時に内部の信頼された証明書ストア(`certifi`依存関係経由)を更新し、送信接続において影響を受けたeMudhraルートを信頼しないようにしたことが明記されています。これにより、ツールは「脆弱な」クライアントからのトラフィックをインターセプトするために使用できる一方で、プロキシ自体が上流サーバーへの接続を開始する際に、誤って侵害されたCAを信頼することはありません。この両面のアプローチにより、プロキシ自身の送信トラフィックの基本的なセキュリティを維持しながら、ターゲットを絞ったインターセプトが可能になります。
技術的な細部として、これらの証明書に使用される特定のルートパスが挙げられます。emSign ECC Root CA (G3) は2018年以来現代の信頼された証明書ストアに存在していますが、古いSectigo AAA Certificate Servicesルートは2004年以来存在しています。OpenSSLベースのクライアントは通常チェーン内の最初の証明書のみを処理するため、emSignパスが最近の2026年後半までに一部の信頼された証明書ストアから削除されている可能性がある場合、古いSectigoパスのみを認識するデバイスには`--emudhra-old`フラグが必要となります。この区別により、ツールが幅広いレガシーハードウェアおよびソフトウェア環境において有効であり続けることが保証されます。
eMudhra固有の変更に加え、バージョン12.3ではmitmproxyのWebベースインターフェースであるmitmwebにいくつかのユーザビリティの向上が導入されています。これらには、新しいダークテーマ、リサイズ可能で構成可能なフローテーブルの列、および色分けされたステータスコードバッジが含まれます。これらのアップデートは、インターセプトされたネットワークトラフィックをリアルタイムで監視および分析するための主要なインターフェースであるフローテーブルの視覚的な明快さとナビゲーションを向上させることを目的としています。
最終的に、`--emudhra`オプションの追加は、レガシーシステムを扱うセキュリティ研究者や開発者のための専門的なツールとして機能します。既知のCA侵害を正当なテスト目的のために活用する方法を提供することで、mitmproxyは、古い信頼設定のためにインターセプトが困難なデバイスの検査を可能にします。しかし、これらの同じキーを信頼しないようにするためのツールの内部的なアップデートは、このようなキーの公開による影響を軽減するために、本番環境において信頼された証明書ストアを継続的にローテーションおよび更新する必要があることを思い出させるものです。