HTTPSインターセプトを検出するための新しいツール





HTTPSの使用が増加するにつれて、無許可の人が保護されたトラフィックに侵入したいという要望が高まります。 HTTPS傍受のセキュリティへの影響に関する2017年の調査では、これはますます一般的な慣行であることが判明しました。 Firefox更新サーバーのトラフィックを分析すると、一部の国ではHTTPSに外国人エージェントを導入する割合が15%に達していることがわかりました。



研究以来、状況は改善しそうにない。 現在、最新のゼンハイザーワイヤレスヘッドフォンモデルでも、システムにルート証明書 (安全でないパラメーターを使用)をインストールする必要があります



ほとんどの場合、ウイルス対策または企業のミドルボックスが保護を侵害します(以下のリストを参照)が、より悪い場合もあります。 いずれにせよ、HTTPSチャンネルが実際にエンドツーエンドで安全でない場合は、確実に知ることが最善です。 サードパーティのシステムが意図的なトラフィックを傍受する場合でも、多くの場合、最新の暗号をサポートしていないか、証明書を検証しないため、接続の全体的な保護が低下します。 ただし、SSLトラフィックを適切な目的だけでなく、悪意のある目的(たとえば、州レベルでの検閲など)のために傍受することもできます。



HTTPS監視プログラムは、TLSセッションを切断し、コンテンツを検査し、宛先サーバーとの新しいセッションを確立する透過的なプロキシとして機能します。 それらは、一般的なブラウザとは異なるバージョンのTLSライブラリを使用しているため、実際のブラウザとプロキシのHTTP User-AgentとTLS Client Helloの不一致により、サーバー側で検出できます。



はじめに、Mozilla、Google、GlobalSignのほか、ミシガン大学、イリノイ大学アーバンシャンペーン校、カリフォルニア大学バークレー校の学術研究者を含む2017年の調査からの実用的な洞察を以下に示します。



HTTPSインターセプトによる実際的な害は、暗号化の低下と追加の透過プロキシの脆弱性です。 この研究の著者は、これらのパラメーターに基づいて多くの人気のあるミドルボックスを評価しました。 ご覧のとおり、2017年には、その半数近くが最新の暗号スイートをサポートしておらず、5つの重大な脆弱性が登録されています。 すべてのカスタム暗号スイートを完全にミラーリングできるのは、12のうち1つだけです。







ユーザーのコンピューターでのウイルス対策アクティビティは、通常、サーバー側でも検出されます。 この調査では、ユーザー暗号を完全にミラーリングするウイルス対策は2つのみであり、その他の場合は暗号化が低下することが示されました。







いくつかの脅威から保護するため、ウイルス対策ソフトウェアは暗号化を減らし、独自の脆弱性を追加します。 一般に、サードパーティのウイルス対策ソフトウェアをインストールすると、システムの全体的なセキュリティが大幅に低下することがよくあります。 一部の専門家は、システムからサードパーティのウイルス対策製品常に削除することをユーザーに勧めています。なぜなら、それらの侵入的で不十分なコードは、ブラウザや他のプログラムが独自のセキュリティを提供するのを困難にするためです。



クライアントとサーバーの間の途中で、他の透過的なプロキシも機能します。 これらのエージェントをより適切に検出するために、Cloudflareは最近2つの新しいツールをリリースしました。



  1. MITMEngine 、HTTPS傍受を検出するための無料のライブラリ。
  2. MALCOLMは、Cloudflareネットワーク上のHTTPSインターセプトに関するメトリックを表示するダッシュボードです。


主な関心事はMITMEngineライブラリです。 開発者は、人気のあるCaddy Server MITM検出ツールをサンプルとして使用したと書いています。 上記のように、人気のあるブラウザのセットをサポートし、TLS Client HelloおよびUser Agentメッセージの特定のフィンガープリントによってHTTPSインターセプトを認識します。



開発者は、Caddy Server MITM検出と比較して検出器のパフォーマンスを改善し、機能を拡張するだけでなく、検出器への新し​​いバージョンのブラウザーの将来の追加を簡素化することにより、拡張性を提供しようとしました。 次のTLS Client Helloパラメーターを分析し、実際のデータと既知のブラウザーのフィンガープリントを比較します。





実際、MITMEngineは、匿名化せずにユーザーの部分的なフィンガープリントを実行しますが、接続は仲介者ではなく実際のブラウザーによって確立されるという信頼できる判断を行います。



作業例



MITMEngineがユーザーから次のユーザーエージェントを見ているとします。



Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/47.0.2526.111 Safari/537.36








このユーザーエージェントは、Windows 7のChrome 47に対応します。これには、次の暗号スイートを示すTLSクライアントHelloメッセージが16進数で表示されます。



0000 c0 2b c0 2f 00 9e c0 0a c0 14 00 39 c0 09 c0 13 .+./.... ...9....

0010 00 33 00 9c 00 35 00 2f 00 0a .3...5./ ..








このメッセージは、次の暗号スイートと一致します。



TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)

TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)

TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)

TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)

TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)

TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)








Chrome 47のデフォルトの暗号スイートは次のとおりです。



0000 c0 2b c0 2f 00 9e cc 14 cc 13 c0 0a c0 14 00 39 .+./.... .......9

0010 c0 09 c0 13 00 33 00 9c 00 35 00 2f 00 0a .....3.. .5./..








注意深く見ると、次のことがわかります。実際のトラフィックでは、暗号のリストは実際のブラウザにあるはずのリストよりもわずかに短くなっています。 残りは同じ順序で配置されていますが、2つのセットが欠落しています。



TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc14)

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc13)








ユーザーのブラウザーからのトラフィックは、ChaCha暗号をサポートしない透過プロキシを通過すると想定できます。 ChaChaに続くAES-CBC暗号スイートパディングオラクル攻撃に対して脆弱であるため、これによりユーザー保護が低下します。



場合によっては、MITMEngineでは、HTTPS接続の低下を引き起こす特定のプログラムを特定することもできます(上記の例では、ソフォスのウイルス対策ソフトウェアです)。 サーバーは、この脅威についてユーザーに警告できます。








企業向けPKIソリューションの 特別条件は、新規顧客向けのプロモーションコードAL002HRFRの下で2019年11月30日まで有効です。 詳細については、マネージャー+7(499)678 2210、sales-ru @ globalsign.comにお問い合わせください。



All Articles