ドメインフロンティングの理解

この記事では、Cato がどのように DNS、TLS、HTTP インスペクションステージで真のホスト名を継続的に再評価することにより、ドメインフロンティングを自動的にブロックするかを説明します。 これにより、偽装されたコマンドアンドコントロール (CnC) トラフィックが即座に検出され、ブロックされます。

概要

ドメインフロンティングは、脅威のアクターが悪意のあるトラフィックを正当な通信として偽装するために使用する手法です。 これは、HTTPSおよびコンテンツ配信ネットワーク(CDN)がドメイン名を処理する方法を利用します。 標準のHTTPS接続中、2つのドメイン識別子が異なるステージで表示されます:

  • SNI (Server Name Indication): TLSハンドシェイク中に平文で送信され、クライアントが接続しようとしているホスト名を示します
  • ホストヘッダー: 暗号化されたHTTPリクエスト内で後で送信され、実際にアクセスしているドメインを指定します

ドメインフロンティングでは、攻撃者がこれらの2つのフィールドを意図的に不一致にします。例えば、SNIで良性のドメイン(例: example.com)を使用し、ホストヘッダーで悪意のあるドメイン(例: malicious-cnc.com)を使用します。 これにより、コマンドアンドコントロール(CnC)トラフィックが正当なサービス向けであるかのように見えるようになり、主要なクラウドまたはCDNプロバイダーの背後に隠されることがよくあります。

Catoがドメインフロンティングをブロックする方法

ドメインフロンティングを処理するために特別なルールや更新を必要とする他のソリューションとは異なり、Catoのアーキテクチャは本質的にドメインフロンティングの試みを検出してブロックします。 これは、さらに詳しく利用可能になると、フローの真のアイデンティティを継続的に再評価することで実現します (詳細については、動的な再評価プロセスを説明したCato SPACE Architectureによるパケットフローの理解を参照してください) 。

統一されたホスト名の評価

Catoは、フローの真の宛先を表す動的に更新される識別子である統一ホスト名という概念を使用します。 この識別子は各インスペクションステージで精査されます:

  1. DNS解決段階では、Catoは宛先IPに関連付けられたドメイン(DNAME)を識別します
  2. TLSハンドシェイク中、Catoはクライアントが到達しようとしているホスト名を示すサーバー名表示(SNI)を観察します
  3. TLSインスペクション後、暗号化されたトラフィックが復号化されると、Catoはアクセスしている実際のドメインを明らかにするHTTPホストヘッダーを見ることができます

Catoはこれらのステージで統一ホスト名を再評価します。 ホストヘッダーのドメインが元のSNIと競合する場合、または異なる場合、Catoはそれを新しいインテリジェンスとして扱い、ファイアウォール(FW)および侵入防御システム(IPS)エンジン全体で再評価を開始します。

これは、どちらの製品も新しいホスト名のコンテキストで効果的に再適用されることを意味します。 新たに明らかになったホストが悪意のあるものである場合(すなわち、ファイアウォールによってブロックされるように設定されているか、ブロックIPSシグネチャに含まれている場合)、Catoは元のSNIおよび宛先IPが良性に見えても即座にそれをブロックします。

この階層化されたインスペクションにより、信頼できるドメインの背後に隠れようとするCnCチャネルは、真の宛先が露出した時点で即座にブロックされます。

ドメインフロンティング保護のテスト

Catoのドメインフロンティングに対する保護を検証するため、検出プロセスを自分で再現できます。

  1. ファイアウォールルールの作成: 匿名化ツールをブロックするファイアウォールルールが設定されていることを確認してください(まだない場合は作成してください)。
  2. テストリクエストの送信: 次のcurl コマンドを実行します。

    curl -v https://example.com -H 'ホスト: expressvpn.com'

    このコマンドはファイアウォールによってブロックされます

  3. ブロックの確認: CMAでファイアウォールルールヒットのイベントページをチェックしてブロックを確認します。 イベント属性では、宛先IPフィールドはexample.com のIPアドレスであり、ドメイン名フィールドはHTTPホストヘッダーで最後に表示されたドメインで更新されます: expressvpn.com。

オプション: ワイヤーシャークでトラフィックをキャプチャして(HTTPSではなく平文で送信される場合)、ホストヘッダーを視覚化し、ブロックイベントを確認することもできます。

設定を適用した後、この挙動を確認するために次のコマンドを実行してください:
curl -v https://chatgpt.com -H 'ホスト: echo.free.beeceptor.com'

これらのステップは、Catoがインスペクション後の再評価プロセスを通じてドメインフロンティングの試みをどのように中和するかを観察する透明な方法を提供します。

例キャプチャ

以下はテストからのDNSおよびHTTPフローを示すWireshark キャプチャの例です:

Domain_Forwarding1.png

example.comへのDNSクエリの後、ホストヘッダーがexpressvpn.comを指しているHTTPリクエストが続くことを示しています。 HTTPレスポンスは403 Forbiddenを返し、ドメインフロンティングされたリクエストがCatoによって正常にブロックされたことを確認します。

ドメインフロンティングは、悪意のある通信を正当なドメインの背後に隠すために使用される手法です。 一部のソリューションは、正当なドメインの背後に隠れているトラフィックを識別するのに苦労するが、統一ホスト名の再評価と二重エンジン再検証を備えたCatoのアーキテクチャは、本質的にこれらの試みをブロックします。 インスペクションステージ全体でSNI、ホストヘッダー、およびIP情報を継続的に更新することで、Catoは信頼できるドメインの背後に偽装するCnCチャネルが決して通過しないことを保証します。

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

0件のコメント