(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024178324
(43)【公開日】2024-12-24
(54)【発明の名称】サイバーセキュリティアプリケーションのための暗号化されたSNIフィルタリング方法およびシステム
(51)【国際特許分類】
H04L 12/66 20060101AFI20241217BHJP
H04L 12/22 20060101ALI20241217BHJP
G06F 21/55 20130101ALI20241217BHJP
【FI】
H04L12/66
H04L12/22
G06F21/55
【審査請求】有
【請求項の数】29
【出願形態】OL
(21)【出願番号】P 2024163896
(22)【出願日】2024-09-20
(62)【分割の表示】P 2023501496の分割
【原出願日】2021-07-14
(31)【優先権主張番号】16/928,083
(32)【優先日】2020-07-14
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】523310402
【氏名又は名称】セントリペタル リミテッド
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(72)【発明者】
【氏名】ムーア,ショーン
(72)【発明者】
【氏名】ムートロ,ヴィンセント
(72)【発明者】
【氏名】ロジャース,ジョナサン アール.
(57)【要約】 (修正有)
【課題】1またはそれ以上のパケットフィルタリングルールに従って、暗号化されたホスト名を有するパケットをフィルタリングするパケットフィルタリング方法、デバイス、システムおよびコンピュータ可読媒体を提供する。
【解決手段】パケットフィルタリングシステムは、1またはそれ以上の脅威インジケータを受信し、暗号化されたサーバ名指示(SNI)値を含む暗号文を含む複数のパケットを受信し、暗号化されたサーバ名指示(eSNI)値を含む暗号文から、複数の技法を使用して平文ホスト名を解読し、平文ホスト名が解読されると、平文ホスト名を使用して、パケットが1またはそれ以上の脅威インジケータに関連付けられているかどうかを判定し、パケットが1またはそれ以上の脅威インジケータに関連付けられていると判定した場合、パケットフィルタリングルールに関連付けられたパケットフィルタリング動作をパケットに適用する。
【選択図】
図11
【特許請求の範囲】
【請求項1】
パケットフィルタリングデバイスによって、複数のパケットフィルタリングルールを含む1つまたは複数のポリシーを受信するステップであって、前記複数のパケットフィルタリングルールは、1つまたは複数の脅威に関連する複数のドメイン名を含む1つまたは複数のネットワーク脅威インジケータに基づいて生成される、ステップと、
第1のデバイスから、複数のパケットを受信するステップであって、前記複数のパケットは、暗号化されたサーバ名表示(eSNI)値を含む暗号文を含む、ステップと、
前記暗号文を復号化することなく、平文のホスト名が前記暗号文から解決可能かどうかを判定する、ステップと、
前記平文のホスト名が前記暗号文から解決可能であるという判定に基づいて、前記平文のホスト名が1つまたは複数の脅威に関連付けられた前記複数のドメイン名のうちの少なくとも1つのドメイン名に一致するかどうかを判定する、ステップと、
前記平文のホスト名が、複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールによって示される第1のドメイン名に一致するという判定に基づいて、複数のパケットにパケットフィルタリング動作を適用する、ステップとを含む、方法。
【請求項2】
前記複数のパケットに関連付けられた宛先ネットワークアドレスを判定する、ステップと、
前記宛先ネットワークアドレスを使用してデータ構造を照会し、前記暗号文に関連付けられた平文のホスト名を判定する、ステップと、
前記データ構造への照会に基づいて、前記暗号文に関連付けられた前記平文のホスト名を含む応答を受信する、ステップと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記複数のパケットに関連付けられた宛先ネットワークアドレスを判定する、ステップと、
前記宛先ネットワークアドレスを使用してデータ構造を照会し、前記暗号文に関連付けられた平文のホスト名を判定する、ステップと、
前記データ構造への照会に基づいて、前記宛先ネットワークアドレスに関連付けられた複数のホスト名を含む応答を受信するステップであって、前記複数のホスト名は前記平文のホスト名を含むステップと、をさらに含む、請求項1に記載の方法。
【請求項4】
前記複数のパケットに関連付けられた宛先ネットワークアドレスを判定する、ステップと、
前記宛先ネットワークアドレスを使用してデータ構造を照会し、前記暗号文に関連付けられた平文のホスト名を判定する、ステップと、
前記データ構造への問い合わせに基づいて、前記宛先ネットワークアドレスから平文のホスト名を解決できないという応答を受信する、ステップと、
前記複数のパケットを送信した第1のデバイスに、前記複数のパケットの再送信を示す応答を、平文のサーバー名表示(SNI)とともに送信する、ステップと、
前記平文SNIを含む複数のパケットの再送信を受信する、ステップと、をさらに含む、請求項1に記載の方法。
【請求項5】
前記複数のパケットを受信する前に、DNS照会要求とそれに関連するDNS照会応答とを受信する、ステップと、
前記DNS照会をデータ構造に格納する、ステップと、
前記第1のデバイスから前記暗号文を含む複数のパケットを受信することに基づいて、前記データ構造を照会し、前記平文のホスト名を判定するステップ、とをさらに含む、請求項1に記載の方法。
【請求項6】
前記パケットフィルタリング操作は、前記複数のパケットがその意図された宛先に向かって継続することをブロックするステップを含み、さらに、
前記複数のパケットに対する応答を前記第1のデバイスに送信するステップを含み、ここにおいて前記応答は、TCPリセット(RST)メッセージ、またはTLSハンドシェイクプロキシメッセージの少なくとも1つを含む、請求項1に記載の方法。
【請求項7】
第2の複数のパケットを受信するステップであって、前記第2の複数のパケットは、第2のeSNI値を含む第2の暗号文を含む、ステップと、
第2の平文のホスト名が前記第2の暗号文から解決可能かどうかを判定する、ステップと、
前記第2の平文のホスト名が前記第2の暗号文から解決可能であるという判定に基づいて、前記第2の平文のホスト名が、1つまたは複数の脅威に関連付けられた複数のドメイン名のうちの少なくとも1つのドメイン名に一致するかどうかを判定する、ステップと、
前記第2の平文のホスト名が前記複数のパケットフィルタリングルールのいずれかによって示されるドメイン名と一致しないという判定に基づいて、前記第2の複数のパケットが意図された宛先に向かって継続することを許可するステップをさらに含む、請求項1に記載の方法。
【請求項8】
前記第2の複数のパケットは、前記意図された宛先との安全な通信チャネルを作成するための1つまたは複数の通信を含む、請求項7に記載の方法。
【請求項9】
前記パケットフィルタリングデバイスが、保護されたネットワークと保護されていないネットワークとの間のインターフェースである境界に存在する、請求項1に記載の方法。
【請求項10】
前記パケットフィルタリング操作は、以下の少なくとも1つを含む請求項1に記載の方法、
前記複数のパケットが意図された宛先に向かって継続するのを阻止すること、
前記複数のパケットが意図された宛先まで継続することを許可し、前記複数のパケットのコピーを監視のために第1のプロキシに転送すること、または
前記複数のパケットを第2のプロキシに転送すること。
【請求項11】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、パケットフィルタリング装置に請求項1~請求項10のいずれか1項に記載の方法を実行させる命令を記憶するメモリとを含む、パケットフィルタリング装置。
【請求項12】
実行されたとき、請求項1~請求項10のいずれか1項に記載の方法をパケットフィルタリング装置に実行させる命令を記憶した非一過性のコンピュータ可読媒体。
【請求項13】
パケットフィルタリングデバイスが、当該パケットフィルタリングデバイスによって保護されたネットワークの外部のサーバからインテリジェンスデータを受信するステップであって、前記インテリジェンスデータは1つまたは複数のドメイン名を含む、ステップと、
前記パケットフィルタリングデバイスによって、第1のデバイスから、複数の暗号化されたパケットを受信するステップであって、前記複数の暗号化されたパケットは、暗号化されたサーバ名表示(eSNI)値を含む、ステップと、
前記eSNI値からプレーンテキストのホスト名が解決可能かどうかを判定する、ステップと、
前記平文のホスト名が前記eSNI値から解決可能であるという判定に基づいて、前記平文のホスト名が1つまたは複数のドメイン名に対応するかどうかを判定する、ステップと、
法執行(law enforcement)が前記平文のホスト名に対応するトラフィックを傍受することを許可されているかどうかを判定するために、データ構造を照会する、ステップと、
前記平文のホスト名が前記1つまたは複数のドメイン名に対応するという判定に基づき、かつ、前記法執行が前記平文のホスト名に対応するトラフィックを傍受する権限を有するという判定に基づき、前記複数の暗号化パケットを合法的傍受データベース(lawful intercept database)に格納する、ステップと、を含む方法。
【請求項14】
前記複数の暗号化パケットは、安全な通信チャネルの確立に関連する、請求項13に記載の方法。
【請求項15】
安全な通信チャネルの確立に関連する前記複数の暗号化パケットは、ClientHelloメッセージまたは1つ以上のハンドシェークメッセージの少なくとも1つを含む、請求項13に記載の方法。
【請求項16】
請求項13に記載の方法であって、前記パケットフィルタリングデバイスは、保護されたネットワークと保護されていないネットワークとの間のインターフェースまたは境界に存在する、方法。
【請求項17】
前記インテリジェンスデータは、以下の少なくとも1つをさらに含む、請求項13に記載の方法、
(a)1つまたは複数のユーザー識別子、
(b)1つまたは複数のホスト識別子。
【請求項18】
平文ホスト名が前記eSNI値から解決可能であるかどうかを判定するステップは、さらに次の各ステップを含む、請求項17に記載の方法、
前記パケットフィルタリングデバイスのプロキシ機能によって、安全な通信チャネルを確立するために1つ以上の通信が交換された後に、前記複数の暗号化パケットを復号化して複数の平文パケットを得る、ステップ、および
前記複数の平文パケットを検査して、前記複数の平文パケット内の1つまたは複数の第1のユーザ識別子を判定するステップであって、前記複数の暗号化されたパケットを前記合法的傍受データベースに格納することは、前記1つまたは複数の第1のユーザ識別子が前記インテリジェンスデータ内に示された前記1つまたは複数のユーザ識別子に対応することにさらに基づく、ステップ。
【請求項19】
平文ホスト名がeSNI値から 解決可能であるかどうかを判定するステップはさらに次の各ステップを含む、請求項17に記載の方法、
前記パケットフィルタリングデバイスのプロキシ機能によって、安全な通信チャネルを確立するために1つ以上の通信が交換された後に、前記複数の暗号化パケットを復号化して複数の平文パケットを得るステップ、および
前記複数の平文パケットを検査して、前記複数の平文パケット内の1つまたは複数の第1のホスト識別子を判定するステップであって、前記複数の暗号化パケットを前記合法的傍受データベースに格納することは、前記1つまたは複数の第1のホスト識別子が前記インテリジェンスデータ内に示された1つまたは複数のホスト識別子に対応することにさらに基づく、ステップ。
【請求項20】
第2の複数の暗号化されたパケットを受信するステップであって、前記第2の複数の暗号化されたパケットは第2のeSNI値を含む、ステップと、
第2の平文ホスト名が前記第2のeSNI値から解決可能かどうかを判定する、ステップと、
前記第2の平文ホスト名が前記第2のeSNI値から解決可能であるという判定に基づいて、前記第2の平文ホスト名が1つまたは複数のドメイン名に対応するかどうかを判定する、ステップと、
法執行が前記第2の平文ホスト名に対応するトラフィックを傍受することを許可されているかどうかを判定するために、前記データ構造を照会する、ステップと、
法執行が前記第2の平文ホスト名に対応するトラフィックを傍受する権限を有していないという判定に基づき、第2の複数の暗号化パケットを意図された宛先に転送する、ステップと、をさらに含む請求項13に記載の方法。
【請求項21】
前記パケットフィルタリングデバイスのプロキシ機能によって、安全な通信チャネルを確立するために1つ以上の通信が交換された後に、前記複数の暗号化パケットを復号化して複数の平文パケットを得る、ステップと、
前記平文のホスト名が前記1つまたは複数のドメイン名に対応するという判定に基づき、かつ、法執行が前記平文のホスト名に対応するトラフィックを傍受することを許可されているという判定に基づき、前記複数の平文パケットを合法的傍受データベースに格納する、ステップと、をさらに含む、請求項13に記載の方法。
【請求項22】
前記データ構造は、以下のうちの少なくとも1つを備える請求項13に記載の方法、
データベース;
テーブル ;
ハッシュテーブル;または
eSNIドメイン名対応リスト(EDCL)。
【請求項23】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、パケットフィルタリング装置に請求項13~請求項22のいずれか1項に記載の方法を実行させる命令を記憶するメモリとを有する、パケットフィルタリング装置。
【請求項24】
実行されると、請求項13~請求項22のいずれか1項に記載の方法をパケットフィルタリング装置に実行させる命令を含む非一過性のコンピュータ読み取り可能媒体。
【請求項25】
パケットフィルタリングデバイスによって保護されたネットワークの外部のサーバから、当該パケットフィルタリングデバイスがインテリジェンスデータを受信するステップであって、前記インテリジェンスデータは1つまたは複数のドメイン名を含む、ステップと、
前記パケットフィルタリングデバイスが、第1のデバイスから、複数の暗号化されたパケットを受信するステップであって、前記複数の暗号化されたパケットは、暗号化されたサーバ名表示(eSNI)値を含む、ステップと、
前記パケットフィルタリングデバイスのプロキシ機能によって、安全な通信チャネルを確立するために1つ以上の通信が交換された後に、複数の暗号化パケットを復号化し複数の平文パケットを得る、ステップと、
前記複数の平文パケットを検査して、eSNI値に関連付けられた平文のホスト名が前記1つまたは複数のドメイン名に対応するかどうかを判定する、ステップと、
法執行(law enforcement)が平文のホスト名に対応するトラフィックを傍受することを許可されているかどうかを判定するために、データ構造を照会する、ステップと、
前記平文のホスト名が前記1つまたは複数のドメイン名に対応するという判定に基づき、かつ、法執行が前記平文のホスト名に対応するトラフィックを傍受することを許可されているという判定に基づき、前記複数の平文パケットを合法的傍受データベース(lawful intercept database)に格納する、ステップと、を含む、方法。
【請求項26】
前記パケットフィルタリング装置のプロキシ機能によって、前記複数の平文パケットを再暗号化する、ステップと、
前記複数の再暗号化されたパケットを意図した宛先に転送する、ステップと、をさらに含む、請求項25に記載の方法:
【請求項27】
第2の複数の暗号化されたパケットを受信するステップであって、前記第2の複数の暗号化されたパケットは第2のeSNI値を含む、ステップと、
前記プロキシ機能により、前記第2の複数の暗号化パケットを復号化して第2の複数の平文パケットを得る、ステップと、
前記第2の複数の平文パケットを検査し、前記第2のeSNI値に関連付けられた第2の平文ホスト名が1つまたは複数のドメイン名に対応するかどうかを判定する、ステップと、
法執行が平文のホスト名に対応するトラフィックを傍受することを許可されているかどうかを判定するために、前記データ構造を照会する、ステップと、
法執行が前記第2の平文ホスト名に対応するトラフィックを傍受する権限を有していないという判定に基づき、前記第2の複数の暗号化パケットを意図された宛先に転送する、ステップと、をさらに含む、請求項25に記載の方法:
【請求項28】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行されると、パケットフィルタリング装置に請求項25~請求項27のいずれか1項に記載の方法を実行させる命令を記憶するメモリとを有する、パケットフィルタリング装置。
【請求項29】
実行されると請求項25~請求項27のいずれか1項に記載の方法をパケットフィルタリング装置に実行させる命令を含む非一過性のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2020年7月14日に出願された米国仮特許出願第16/928,083号(現在は米国特許第10,924,456号である)に対する優先権を主張する。また本出願は、2021年2月15日に出願された米国非仮特許出願第17/175,747号および2021年5月4日に出願された米国非仮特許出願第17/307,080号の各継続出願にも関連する。これらの先行出願の各々の内容は、その全体が参照により本明細書に明示的に組み込まれる。
【0002】
(発明の分野)
本明細書で説明する本発明(以下、本発明のことを「本開示」ということがある)の態様は、概して、コンピュータのハードウェア、ソフトウェア、およびネットワークセキュリティに関する。詳細には、本開示の1またはそれ以上の態様は、全般的には、サイバーセキュリティアプリケーションに関連するサーバ名指示(Server Name Indication、SNI)(例えば、暗号化されたSNI(encrypted SNI、eSNI))の値に対応する暗号
文を含むトランスポート層セキュリティ(Transport Layer Security、TLS)ハンドシェイクメッセージの効率的なパケットフィルタリングのためのコンピュータハードウェアおよびソフトウェアに関し、より全般的には、ネットワーク通信ポリシー施行アプリケーションに関する。
【背景技術】
【0003】
情報時代が進むにつれ、ネットワークセキュリティはますます重要になっている。ネットワークの脅威/攻撃は、多様な形態(例えば、不正な要求またはデータ転送、ウイルス、マルウェア、リソースを圧倒するように設計された大量のトラフィック(例えば、DDoS)など)をとり得る。これらの脅威の多くは、インターネットを使用して、企業ないし組織(以下「エンタープライズ」という)のコンピュータリソースおよび/または資産にアクセスし、これらを攻撃する。例えば、デスクトップコンピュータ、モバイルデバイス、オンプレミスまたはクラウドエンタープライズアプリケーションサーバ、公開ウェブサーバなどのエンタープライズホストは、営利事業者、政府、国家などのようなエンタープライズによって所有および/または運営および管理されるプライベートネットワーク(例えば、TCP/IPネットワーク)に直接接続され(例えば、アタッチされ)得る。これらのエンタープライズネットワークは、次に、エンタープライズのホストが、例えば、他の公的にアドレス指定された、インターネットに接続されたホスト(例えば、公開ウェブサーバ、アプリケーションサーバなど)にアクセスし得るように、インターネットに直接接続される。しかしながら、いくつかの事例では、例えば、エンタープライズホストのオペレータ/ユーザが、悪意のあるインターネットホストと通信するフィッシング電子メールリンクをクリックするようにソーシャルエンジニアリングされている場合、エンタープライズホストは、本質的に悪意のある、インターネット接続ホストまたはインターネットホストにアクセスしている場合がある。他の事例では、エンタープライズホストは、エンタープライズのネットワーク通信ポリシーに違反してインターネットホストと通信している場合がある。
【0004】
エンタープライズは、例えば、バウンダリを横切るホスト間通信(伝送中のL2/L3パケットの形態)を検査することができる、エンタープライズネットワークとインターネットとの間のバウンダリに(例えば、1またはそれ以上のインターネットアクセスリンクに、またはその近くに)ネットワークパケットフィルタリングデバイスを設置することに
よって、悪意のあるアクタからこれらのエンタープライズのネットワークを保護しようと試み得るか、さもなければネットワーク通信ポリシーを施行し得る。これらのパケットフィルタリングデバイスは、通信が本質的に悪意のあるものであるか、さもなければエンタープライズ通信ポリシーに違反しているかを判定し、そうである場合、脅威または違反からエンタープライズネットワークを保護するポリシーを施行し(例えば、関連付けられたIPパケットをドロップすることによって通信をブロックし)得る。エンタープライズはまた、そのようなネットワークデバイスを使用して、例えば、特定のインターネットホストへのアクセスを制御および/または監視することによって、エンタープライズの通信ポリシーを施行し得る。そのようなポリシーを施行するための1つの手法は、ネットワークパケットフィルタリングデバイスが、ポリシー内のパケットフィルタリングルールに関連付けられたmalicious-adware-site.netなどのドメイン名(例えば、完全修飾ドメイン名(fully qualified domain name、FQDN))のインスタン
スについて通信の伝送中パケットを検査またはフィルタリングすることであってもよい。パケットとルールとの間にマッチが見つかった場合には、ネットワークパケットフィルタリングデバイスは、パケットをドロップし得る。多くのウェブ、eコマース、ソーシャルメディアなどの通信を転送および仲介するために使用される一般的なHTTPプロトコルは、多くの場合、HTTPメッセージ内にインターネットホストのそのようなドメイン名を含む。HTTPメッセージに含まれるドメイン名に対して伝送中パケットをフィルタリングすることは、ポリシー施行技法である。同様に、他のアプリケーション層プロトコル(例えば、DNS、SMTP、SIPなど)は、ポリシー施行中に使用され得るドメイン名を含み得る。エンタープライズ通信ポリシーはまた、エンタープライズ自体によって、または、例えば、HIPAA、PCI DSSなどの、エンタープライズに対する規制もしくはコンプライアンス権限を有する外部エンティティによって定義され得る、プライバシー保護および保存(privacy protection & preservation、P3)ポリシーを含んでも
よい。エンタープライズ通信ポリシーはまた、法執行(law enforcement、LE)アプリ
ケーション、例えば、合法的傍受のためのサポートを含んでもよい。
【0005】
伝送中のネットワークトラフィックは、例えば、トランスポート層セキュリティ(TLS)プロトコルを使用して、暗号化を介してセキュリティ保護され得る。TLSハンドシェイクプロトコルを最初に使用して、ネットワーク(例えば、TCP/IPネットワーク)によって接続された2つのホスト間で、セキュアな暗号化された接続またはトンネルを確立し得る。TLSレコードプロトコルを使用して、トンネルを介した通信を含むアプリケーション層データをセキュアに転送し得る。HTTPセッションがTLSによってセキュリティ保護される場合、この組み合わせは、「HTTPS」と標記され、一般に、HTTPの拡張であるとみなされる。伝送中のHTTPSパケットのアプリケーション層は、暗号化されたHTTPメッセージ(TLSレコードプロトコルパケットにカプセル化されている)を含む。伝送中のHTTPSパケットに含まれる平文HTTPメッセージ、したがって任意のドメイン名を、オブザーバが読み取ることはできない。これにより、盗取している場合がある悪意のあるアクタからHTTPセッションがセキュリティ保護されるが、悪意のない/正当なパケットフィルタリングデバイスおよび関連付けられたアプリケーションがHTTPメッセージに含まれる任意のドメイン名を読み取ることも防止される。これにより、エンタープライズがこれらのエンタープライズの通信ポリシーを施行し、かつこれらのエンタープライズのネットワークを保護することが妨げられることがある。
【0006】
しかしながら、TLSハンドシェイクプロトコルClientHelloメッセージは、ClientHelloメッセージのサーバ名指示(SNI)拡張(RFC6066)内のセキュリティ保護/暗号化されるべきアプリケーション(例えば、HTTP)セッションに関連付けられた(平文)ドメイン名またはホスト名を含み得る。エンタープライズパケットフィルタリングデバイスおよび関連付けられたアプリケーション、並びに盗取者は、伝送中パケットに含まれるClientHelloメッセージのクリアテキストSN
Iフィールドを検査することによって、TLSによってセキュリティ保護されたセッションに関連付けられたドメイン名を継続して読み取って、場合によっては、それに作用し得る。しかしながら、TLSをさらにセキュアにするために、伝送中である間にSNI値の暗号化をサポートする、TLSに対する1またはそれ以上の拡張が開発されている。当業者であれば、一般に、この拡張および関連技術を「ESNI」として理解するであろう。ESNIの主な目的は、悪意のあるアクタによるドメイン名盗取のリスクを軽減することである。しかし、エンタープライズのネットワークを保護し、かつ伝送中パケットのSNI拡張に含まれるクリアテキストドメイン名を読み取って、場合によっては、それに作用することによってエンタープライズの通信ポリシーを施行するエンタープライズは、ドメイン名が暗号化されているため、ESNIが使用される場合にそのようにすることができなくなる。
【0007】
したがって、エンタープライズは、TLSによってセキュリティ保護された通信を確立するときにエンタープライズホストがESNIを使用する場合、これらのエンタープライズのネットワークを保護し、かつ通信ポリシーを施行するために、平文/クリアテキストドメイン名を使用する方途を必要とする。
【発明の概要】
【0008】
以下は、本開示のいくつかの態様の基本的な理解を提供するための簡略化された概要を提示する。本開示の主要なまたは重要な要素を特定することも、本開示の範囲を定めることも意図されていない。以下の概要は、以下の説明の前置きとして、本開示のいくつかの概念を簡略化した形式で提示するに過ぎない。
【0009】
本明細書に開示される方法、デバイス、システム、および/またはコンピュータ可読媒体は、例えば、伝送中パケットに含まれるドメイン名が暗号化される(例えば、TLSハンドシェイクプロトコルメッセージ内の暗号化されたサーバ名指示(eSNI)拡張、暗号化されたTLSプロトコルメッセージなど)いくつかの場合において、脅威(例えば、インターネット脅威)からエンタープライズネットワークを保護し、かつエンタープライズ通信ポリシーを施行することを説明する。サイバーセキュリティアプリケーションは、1またはそれ以上のパケット内の暗号化されたホスト名を検出し得る。暗号化されたホスト名(例えば、ドメイン名)を検出することに基づいて、サイバーセキュリティアプリケーションは、暗号化されたホスト名に対応する平文のホスト名(例えば、ドメイン名)を解読し得る。サイバーセキュリティアプリケーションは、平文ホスト名を使用して、平文ホスト名が任意の通信ポリシーに関連付けられているかどうかを判定し得る。例えば、レポート(例えば、サイバー脅威インテリジェンスレポート)において識別された脅威からネットワークを保護するサイバーセキュリティアプリケーションは、平文のホスト名を使用して、平文のホスト名が1またはそれ以上の脅威インジケータに関連付けられているかどうかを判定し得る。平文のホスト名が1またはそれ以上の脅威インジケータに関連付けられている場合、サイバーセキュリティアプリケーションは、1またはそれ以上のパケットフィルタリングルールを1またはそれ以上のパケットに適用し得る。暗号化されたホスト名から平文のホスト名を解読することによって、サイバーセキュリティアプリケーションは、例えば、脅威(例えば、インターネット脅威)から、および悪意のある盗取などのプライバシー侵害からエンタープライズネットワークを保護し、エンタープライズ通信ポリシーを施行し、かつ/または法執行を支援し得る。
【0010】
上記のプロセスには多くの可能な変形態があり、そのうちのいくつかは、「発明を実施するための形態」セクションにおいて以下に詳しく説明されている。
【図面の簡単な説明】
【0011】
本発明は、実施例として説明され、添付の図に限定されるものではなく、図において、
類似の参照番号は、類似の要素を示す。
【
図1】本開示の1またはそれ以上の態様による、TLSによってセキュリティ保護された通信および関連付けられたエンタープライズネットワークのための脅威保護およびポリシー施行システムの例示的な環境を示す。
【
図2】本開示の1またはそれ以上の態様による、サイバーセキュリティアプリケーションを実行するための例示的な効率的なeSNIパケットフィルタリングゲートウェイを示す。
【
図3】eSNI暗号文と平文ドメイン名との間の対応を判定するためにサイバーセキュリティアプリケーションによって使用される代表的なeSNIドメイン名対応リスト(eSNI Domain Name Correspondence List、EDCL)を示す。
【
図4A】EDCLを作成、配信、および維持するための例示的なプロセスのフロー図を示す。
【
図4B】EDCLを作成、配信、および維持するための例示的なプロセスのフロー図を示す。
【
図5】CTIデータベースから導出されたパケットフィルタリングルールから構成されるポリシーを作成、配信、および維持するための例示的なプロセスのフロー図を示す。
【
図6】eSNIをサポートするDNS登録されたドメイン名である要素を含むDNS-ESNIセットデータ構造を作成、配信、および維持するための例示的なプロセスのフロー図を示す。
【
図7】EDCL、CTIによって導出されたポリシー、およびDNS-ESNIセットデータ構造を作成、配信、および維持するための例示的プロセスのフロー図を示す。
【
図8A】本明細書で説明される1またはそれ以上の実施例による、効率的なeSNIゲートウェイを構成し、かつ動作させるための方法を示す。
【
図8B】本明細書で説明される1またはそれ以上の実施例による、効率的なeSNIゲートウェイを構成し、かつ動作させるための方法を示す。
【
図9】本明細書で説明される1またはそれ以上の態様による、効率的なeSNIゲートウェイを構成し、かつ動作させるための方法を示す。
【
図10】本明細書で説明する1またはそれ以上の実施例による、効率的なeSNIゲートウェイを構成し、かつ動作させるための方法を示す。
【
図11】暗号化されたネットワークトラフィックが1またはそれ以上の脅威に関連付けられているかどうかを判定するためのプロセスの一実施例を示す。
【
図12】本明細書で説明される1またはそれ以上の実施例による、暗号化されたホスト名を使用するポリシーを施行するためのプロセスの一実施例を示す。
【
図13】本明細書で説明される1またはそれ以上の実施例による、パケットを記憶するための方法の一実施例を示す。
【発明を実施するための形態】
【0012】
本開示の様々な実施形態の以下の説明において、添付図面が参照されるが、添付図面は、本明細書の一部を形成するものであり、そこには、本開示の態様が実施され得る様々な実施形態が例示として示されている。本開示の範囲から逸脱することなく、他の実施形態が利用され得、構造的および機能的な変更が行われ得ることを理解されたい。更およびに、本開示の態様が実施され得る特定の適用例、プロトコル、実施形態が参照される。本開示の範囲から逸脱することなく、他の適用例、プロトコル、および実施形態が利用され得、構造的および機能的な変更が行われ得ることを理解されたい。
【0013】
以下の説明では、要素間の様々な接続について考察する。これらの接続は一般的なものであり、特に明記されていない限り、直接的または間接的、有線または無線、物理的または論理的(仮想/ソフトウェア定義)であり得る。同様に、ホストおよびアプライアンスなどのネットワーク要素は、物理的または仮想的であり得る。この点において、本明細書
は限定することを意図したものではない。
【0014】
本開示は、ドメイン名が暗号化され得る場合に、TLSによってセキュリティ保護された通信を構成する伝送中パケットに含まれるドメイン名に作用するサイバーセキュリティアプリケーションのための技法を説明する。いくつかのネットワークサイバーセキュリティアプリケーションは、ルールマッチング基準として平文ドメイン名を含むパケットフィルタリングルールから構成されるTCP/IP通信ポリシーを施行する。伝送中パケットに含まれるドメイン名が、例えば、TLS ClientHelloメッセージ内の暗号化されたサーバ名指示(SNI)拡張フィールド値である場合には、ポリシーを施行することができない。追加的もしくは代替的に、サイバーセキュリティアプリケーションは、例えば、暗号化されたSNIの使用を選択的に施行して、クリアテキストドメイン名に関連付けられた盗取を阻止してもよい。
【0015】
本明細書を通して、「ドメイン名」という用語は、ドメイン名によって識別されるネットワークドメインと互換的に使用され得る。文脈が、「ドメイン名」がドメインの実際の名称またはアイデンティティを指すかどうか、または「ドメイン名」がドメイン自体を指すかどうかを決定する。この用語の互換性を、当業者であれば理解するであろう。また、「ドメイン名」を、文脈によって正確な意味を定義して、ホスト名、完全修飾ドメイン名(FQDN)などと互換的に使用する場合がある。例えば、伝送中のL2/L3パケットの構造化フィールドにおいて観測されるドメイン名は、FQDNである場合がある。同様に、CTIインジケータであるドメイン名もFQDNである場合がある。
【0016】
本明細書で使用されるように、暗号化されたサーバ名指示(「eSNI」)は、概して、特定のプロトコル、実装、または規格ではなく、暗号化されたSNIに関連付けられた技術および論理を指し得る。さらに、「eSNI暗号文」は、概して、2者以上の当事者間でセキュアな通信チャネルを確立することに関連付けられたメッセージ(例えば、TLS ClientHelloメッセージ)のうちの1またはそれ以上の暗号化された部分(例えば、フィールド、値など)を指し得る。1またはそれ以上の暗号化された部分は、SNI値、および、例えば、メッセージ(例えば、ClientHelloメッセージ)全体を含む、メッセージ(例えば、ClientHelloメッセージ)の他の部分を含み得る。本出願人は、eSNIプロトコルが現在インターネット技術特別調査委員会(Internet Engineering Task Force、IETF)によって開発されており、メッセージのど
の部分が暗号化されることとなるかはまだ確定されておらず、かつ/または規格の一部として分類されていないと認識している。当業者であれば、本明細書で説明されるプロセス、方法、技法、デバイス、装置、および/またはシステムが、そのような通信のどの部分が暗号化されるかにかかわらず、暗号化されたサーバ名指示(eSNI)を含む通信において、脅威(例えば、インターネット脅威)を検出すること、エンタープライズネットワークを保護すること、プライバシー侵害を軽減すること、エンタープライズ通信ポリシーを施行すること、および/または法執行を支援することに適用され得ることを認識するであろう。
【0017】
本開示の態様は、例えば、通信の伝送中パケットに含まれるドメイン名が暗号化されている場合に、エンタープライズネットワークをインターネット脅威から保護し、かつエンタープライズ通信ポリシーを施行するための方法、デバイス、システム、および/またはコンピュータ可読媒体に関する。インラインおよび/または伝送中パケットフィルタリングデバイスを動作させる、サイバーセキュリティアプリケーションなどのアプリケーションは、eSNIを使用してドメイン名が暗号化されている場合を検出し得る。eSNIの使用を検出することに基づいて、アプリケーションおよび/または伝送中パケットフィルタリングデバイスは、eSNI暗号文に対応する平文ドメイン名を判定し、平文ドメイン名に関連付けられた通信ポリシーを施行し得る。
【0018】
本開示の態様はまた、例えば、通信に含まれるドメイン名が暗号化されていない場合に、エンタープライズネットワークを悪意のある盗取などの脅威から保護し、かつエンタープライズ通信ポリシーを施行するための方法、デバイス、システム、および/またはコンピュータ可読媒体を説明し得る。インラインおよび/または伝送中パケットフィルタリングデバイスを動作させる、サイバーセキュリティアプリケーションは、eSNIを使用しないでドメイン名が暗号化されている場合を検出し得る。サイバーセキュリティアプリケーションおよび/または伝送中パケットフィルタリングデバイスは、関連付けられたドメインによってeSNIがサポートされるかどうかを判定し得る。eSNIがサポートされる場合、インラインおよび/または伝送中パケットフィルタリングデバイスを動作させるサイバーセキュリティアプリケーションは、例えば、通信にeSNI(利用可能な場合)を使用させることによって、クリアテキストドメイン名を伝送することに関連付けられた通信ポリシーを施行し得る。
【0019】
インターネット脅威に関連付けられた通信の識別は、多くのサイバー脅威インテリジェンス(cyber threat intelligence、CTI)プロバイダ組織から入手可能であるCTI
レポートのデータベースを活用し得る。これらのCTIレポートは、悪意のあるアクティビティに関連付けられたインターネットホストまたはインターネットホストのリソース(例えば、サービス、アプリケーションインスタンスなど)の一意の識別子であるインジケータ、または脅威インジケータ、またはセキュリティ侵害インジケータ(Indicators-of-Compromise、IoC)を含み得る。CTIは、脅威アクタによって制御/操作され得るか、またはさもなければ悪意のあるアクティビティに関連付けられ得るリソースのインターネットネットワークアドレス(IPアドレス、5つのタプル(L3ホストIPアドレス、L4ポート、および/または関連付けられたL3プロトコルタイプ)、ホスト名/ドメイン名、URIなどの形態)を含み得る。CTIインジケータには、いくつかのTCP/IP通信をセキュリティ保護するために使用される証明書および関連付けられた認証局の識別子も含まれ得る(例えば、HTTPを介したセッションをセキュリティ保護するためにTLSプロトコルによって使用されるX.509証明書)。脅威インジケータに加えて、CTIレポートは、脅威のタイプ、脅威属性および脅威アクタ、特徴的挙動、攻撃ターゲット、地理的および地政学的情報など、脅威に関連する追加情報を含んでもよい。
【0020】
本開示は、CTIにおいて受信されたドメイン名インジケータからパケットフィルタリングルールを導出するための方法、デバイス、システム、および/またはコンピュータ可読媒体を説明し得る。本開示はまた、TLSによってセキュリティ保護された通信(例えば、HTTPS通信)を含むパケットに導出されたパケットフィルタリングルールを施行するための方法、デバイス、システム、および/またはコンピュータ可読媒体を説明し得る。この点に関して、エンタープライズは、サイバー脅威インテリジェンスプロバイダ(cyber threat intelligence provider、CTIP)へのサブスクリプションを介してCTIインジケータを受信し得る。エンタープライズは、CTIインジケータから導出されたパケットフィルタリングルールから構成されるポリシーを作成し、ポリシーを用いてパケットフィルタリングデバイスを構成し、ネットワークのバウンダリを横断する伝送中パケットにポリシーを施行することによって、エンタープライズのエンタープライズネットワークをインターネット脅威から保護し得る。
【0021】
TLSによってセキュリティ保護された通信においてドメイン名を暗号化するためのeSNIの使用は、通信するホストとインターネットのドメイン名システム(Domain Name System、DNS)との共同参加を介して実現され得る。すなわち、第1のホスト(例えば、エンタープライズホスト上で実行されているウェブブラウザアプリケーションなどの、HTTPクライアント)および第2のホスト(例えば、www.web-domain-X.comという名称のドメインをホストするウェブアプリケーションサーバなどのイン
ターネットに接続されたHTTPサーバ)は、2つのホストの間でTLSによってセキュリティ保護された通信を確立するためにeSNIをサポートし得る。第2のホスト(例えば、ウェブサーバ)は、第2のホストの関連付けられたDNSエントリ(例えば、www.web-domain-X.com)において公開鍵を公開し得る。クライアントは、公開鍵を使用して、例えば、SNI拡張に含まれるドメイン名(例えば、www.web-domain-X.com)および他の情報(例えば、ClientHelloメッセージ、ClientHelloメッセージ内のデータおよび/または情報など)を暗号化し得る。第2のホスト(例えば、www.web-domain-X.com)と通信する前に、第1のホスト(例えば、HTTPクライアント)は、DNSに照会を発行して、IPアドレス(例えば、www.web-domain-X.comの12.34.56.78)、および第2のホストのeSNI公開鍵を取得し(例えば、取り出し、解読し)得る。第1のホスト(例えば、HTTPクライアント)は、12.34.56.78の周知のポート(例えば、ポート443(HTTPS))へのTCPコネクションを確立し得る。第1のホストは、公開鍵を使用して、SNI拡張に含まれるFQDN(例えば、www.web-domain-X.com)を暗号化し得る。いくつかの実施例では、公開鍵を使用して、FQDNに加えて、ClientHelloメッセージ並びに/またはClientHelloメッセージに含まれるデータおよび情報などの、他のデータを暗号化し得る。FQDNおよび任意の追加のデータを公開鍵で暗号化した後、第1のホストは、結果として得られるeSNI暗号文をClientHelloメッセージなどの通信文に挿入し得る。通信文(例えば、ClientHelloメッセージ)は、443の宛先ポートを有するTCPパケットにカプセル化され得る。TCPパケットは、12.34.56.78の宛先IPアドレスを有するIPパケットにカプセル化され得る。IPパケットは、コネクション(例えば、TCPコネクション)を介して第2のホスト(例えば、ウェブサーバ)に送信(例えば、伝送)され得る。ClientHelloメッセージを受信すると、第2のホスト(例えば、ウェブサーバ)は、公開鍵に関連付けられた非公開(例えば、秘密)鍵を使用して暗号文を復号化し、第1のホスト(例えば、ウェブブラウザ)が通信したい第2のホスト(例えば、ドメイン)の平文ドメイン(例えば、www.web-domain-X.com)を取得(例えば、判定)し得る。
【0022】
パケットフィルタリングデバイスを動作させるアプリケーションは、(例えば、ClientHelloメッセージを含む)伝送中パケットのL3宛先IPアドレスをeSNI関連情報と相関させることによって、eSNI暗号文から平文ドメイン名を導出(例えば、判定)し得る。例えば、パケットフィルタリングデバイスを動作させるサイバーセキュリティアプリケーションは、ドメイン名インジケータのサイバー脅威インテリジェンス(CTI)データベースをTCP/IP通信と相関させて、潜在的な脅威通信を識別し、かつ/または識別された潜在的な脅威通信をどのように処理(例えば、通信をブロック/ドロップまたは許可/転送)するかを決定し得る。CTIデータベースは、複数のドメイン名を含むことができ、CTIデータベースの内容は、動的であり得る。すなわち、新しいエントリ(例えば、ドメイン名および任意の関連付けられた情報)をCTIデータベースに追加することができ、既存のエントリをCTIデータベースから継続的に削除することができる。本開示は、オーバーフローするバッファのために伝送中のパケットがドロップされず、かつ遅延に起因してネットワークセキュリティが危殆化されないように計算効率的であり得るパケットフィルタリング技法を説明する。本明細書で説明されるアプリケーションおよび/またはインラインパケットフィルタリングデバイスは、パケットごとに、伝送中のL2/L3パケットをフィルタリングし得る。すなわち、L2/L3透過デバイスは、到着順(例えば、FIFOキューイング)に各伝送中パケットをフィルタリングするか、または各伝送中パケットにパケットフィルタリングルールを適用し、次のパケットをフィルタリングする前に各パケットの処置/アクション(例えば、ブロック/ドロップ、許可/転送など)を決定する。ClientHelloメッセージなどの通信文は、いくつかのパケットにわたってフラグメント化され得ることが理解されよう。本明細書で説
明されるパケットごとの処理は、複数のパケットにわたってフラグメント化された、ClientHelloメッセージなどの通信文に適用されてもよい。
【0023】
eSNIドメイン名対応リスト(EDCL)は、ドメイン名のCTIデータベースから生成され得る。EDCLは、データ構造であり得る。データ構造は、効率的なアクセスおよび/または修正を可能にするデータ編成、管理、および/または記憶フォーマットであり得る。データ構造は、データ値、これらのデータ値の間の関係、および/またはデータに適用され得る関数若しくは演算の集合であり得る。いくつかの実施例では、データ構造は、IPアドレスによって一意にインデックス付けされる{IP-アドレス,cti-esni-ドメイン-名-リスト}と標記された少なくとも2つの列を含む2Dテーブルであり得る。他の実施例では、データ構造は、データベースであり得る。EDCLを生成するために、CTIデータベース内の各ドメイン名(例えば、完全修飾ドメイン名(FQDN))が、DNSに照会され得る。DNS照会は、ドメイン名のIPアドレスと、関連付けられたドメインがeSNIをサポートするかどうかと、のうちの少なくとも1つを判定し得る。ドメインがeSNIをサポートするかどうかを判定することは、暗号化のためのeSNI公開鍵を含むリソースレコードを照会することを含み得る。関連付けられたドメインがeSNIをサポートする場合、EDCL内のエントリ(例えば、行)が、IPアドレスをIPアドレス列内に、ドメイン名をcti-esni-ドメイン-名-リスト列内に配置することによって、作成および/または更新され得る。複数のドメイン名が同じIPアドレスに解読され得る仮想ドメイン技術のために、EDCL内の各IPアドレスに関連付けられた複数のドメイン名またはドメイン名のリストが存在し得る。例示の目的で、この概要の実施例について、EDCL内の(一意の)IPアドレスに関連付けられたcti-esni-ドメイン-名-リスト内に1つのドメイン名のみがあると仮定する。バッファオーバーフローおよびパケットドロップを回避し、かつパケット伝送待ち時間を最小化するように、伝送中パケットを迅速に処理するために、EDCLを、ハッシュテーブルなどの効率的なデータ構造として編成して、EDCLエントリの存在をチェックし、かつIPアドレスに関連付けられたドメイン名のリストを返す、IPアドレスによってインデックス付けされる高速探索をサポートし得る。
【0024】
(インライン)パケットフィルタリングデバイスが、eSNI暗号文を有するClientHelloメッセージを含む伝送中パケットを検査するとき、パケットフィルタリングデバイスは、L3パケットから宛先IPアドレスを抽出し、かつEDCL内の宛先IPアドレスを探索することによって、eSNI暗号文に対応する平文ドメイン名を判定し得る。宛先IPアドレスセキュリティがEDCL内に見つからない場合には、サイバーセキュリティアプリケーションロジックは、パケットに関連付けられたCTIベースの脅威がないため、パケットをパケットの宛先に向けて許可(例えば、転送)することを決定し得る。宛先IPアドレスがEDCL内に見つかる場合には、関連付けられたドメイン名は、eSNI暗号文に対応する平文ドメイン名であり得る。パケットをどのように処理するかを決定するために、サイバーセキュリティアプリケーションは、平文ドメイン名に対応するパケットマッチング基準を有するルールについて、複数の伝送中パケットフィルタリングルール(CTIデータベースから導出される)を含む1またはそれ以上のネットワークセキュリティポリシーを探索し得る。マッチルールは、パケット処置(例えば、許可/転送/パスまたはブロック/ドロップ/拒否)を示し得る。マッチルールはまた、ログ、捕捉、ミラー/リダイレクト、プロキシへの転送、偽装tcp-rstなどの、パケットのための追加の(ネットワーク保護)アクション、またはパケット変換機能(packet transformation function、PTF)を示し得る。
【0025】
複数のドメイン名が、EDCL内の単一のIPアドレスに関連付けられ得る。例えば、ドメインホスティングサービスは、単一のIPアドレスに対して多くのドメインをホストすることが多い。これらの多くのドメインのうちのいくつかは、プライバシー保護データ
ベース、法執行データベース、企業使用ポリシーデータベースなどのCTIデータベースまたは他のサイバーセキュリティ関連のデータベース内にあり得る。加えて、これらのドメインのうちのいくつかは、eSNIをサポートし得る。eSNI暗号文に対応する平文ドメイン名は、EDCL内の関連付けられたIPアドレスから明確に判定されない場合がある。サイバーセキュリティアプリケーションは、いくつかの異なるアクションの中から選択して、平文ドメイン名の曖昧さを解消し、かつ/またはさもなければ潜在的な脅威を軽減し得る。これらのアクションは、拡張されたEDCL情報、追加の効率的なデータ構造、TLSメッセージなどに基づき得る。例えば、サイバーセキュリティアプリケーションは、TCPコネクションを切断し、かつTLSハンドシェイクセッションを終了するTCP RSTをクライアントに送信し、TLSハンドシェイクセッションを終了するTLSメッセージ(例えば、「ハンドシェイク失敗」(コード40)アラートを有するTLSアラートプロトコルメッセージ)をクライアントに送信し、クライアントにeSNIをサポートしないTLSバージョン(例えば、TLS v.1.2)を使用させるTLSメッセージをクライアントに送信し、クライアントに暗号化されたSNIの代わりに平文SNIを送信させるTLSメッセージをクライアントに送信するなどを行い得る。
【0026】
パケットフィルタリングデバイスを動作させるアプリケーションは、ClientHelloメッセージを含む伝送中パケットを検査し、eSNIが使用されていると判定し、パケットのL3宛先IPアドレスがEDCL内にあると判定し得る。eSNI暗号文は、CTIデータベースに含まれるものなど、関心の(平文)ドメイン名に対応し得る。アプリケーションが平文ドメイン名の曖昧性を解消し、かつ/または別様に脅威を軽減するためにとり得るいくつかのアクションがある。例えば、アプリケーションは、ClientHelloメッセージを含むパケットをドロップし、ClientHelloメッセージの意図されるホストを偽装するか、または(透過)プロキシとなり得る。
【0027】
追加的もしくは代替的に、セキュリティアプリケーションは、ClientHelloメッセージを(透過的な)介在TLS中間者(Man-In-The-Middle、MITM)プロキシ
機能に転送することができる。MITMプロキシ機能は、TLSによってセキュリティ保護されたアプリケーションセッションを復号化し、セッションを平文で調査し、セッションを再暗号化し、TLSによってセキュリティ保護されたセッションをこのセッションの宛先に転送し得る。MITMプロキシ機能は、eSNI暗号文を復号化することができない場合があるが、MITMプロキシ機能は、復号化されたアプリケーションセッションを検査(例えば、調査)し、セッションの内容からeSNI暗号文に対応する平文ドメイン名を抽出してもよい。例えば、HTTPSセッションは、クリアテキストHTTPセッションを公開するためにMITMプロキシ機能によって復号化されてもよい。この点に関して、GET、POST、PUTなどのHTTPメソッド要求は、ドメイン名を含み得る。セキュリティアプリケーションは、クリアテキストから平文ドメイン名を抽出し、パケットフィルタリングデバイスによって施行されている任意のポリシーを通じて平文ドメイン名をフィルタリングし得る。
【0028】
別の実施例では、セキュリティアプリケーションは、eSNI値に対応する平文ドメイン名の曖昧性を解消するために使用され得るシステムDNS-QUERY-TRACKERを動作させるか、または別様にこれにアクセスし得る。DNS-QUERY-TRACKERシステムは、パケットフィルタリングデバイスを通過するTLSセッションも発信し得るエンタープライズホストから発信されたDNS照会を監視し得る。DNS-QUERY-TRACKERシステムは、eSNIをサポートするドメイン名に対する任意のDNS照会に関連付けられたデータのレコードを、例えば、テーブル(例えば、ハッシュテーブル)および/またはデータベースに記憶し得る。各レコードは、DNS照会を発信したホストのIPアドレス、ドメイン名、ドメイン名の解読されたIPアドレス、および/または照会時間を含み得る。DNS-QUERY-TRACKERシステムは、IPアド
レスを入力として受け入れ、かつ入力されたIPアドレスに対応する1またはそれ以上のレコードを返す関数呼び出しを有するレコードを記憶するテーブルおよび/またはデータベースに対するインターフェースを提供し得る。いくつかの実施例では、DNS-QUERY-TRACKERは、HTTPS上のDNS照会(DNS Queries over HTTPS、DoH)(例えば、RFC8484)および/またはトランスポート層セキュリティ上のDNS(DNS over Transport Layer Security、DoT)(例えば、RFC7858)などの、
暗号化されたDNSプロトコルの使用を考慮するように構成され得る。これらのプロトコルは、DNS照会要求および/または応答などの、DNS通信を暗号化し得る。すなわち、この構成は、DNS-QUERY-TRACKERシステムが、DoHおよびDoT通信の平文および/またはクリアテキストにアクセスし得るようなものであり得る。
【0029】
ドメイン名に関連付けられたTLSによってセキュリティ保護されたセッション(例えば、HTTPS通信)を開始する前に、エンタープライズホストは、DNS照会を発行して、ドメイン名をIPアドレスに解読し、ドメインの公開鍵(例えば、eSNI公開鍵)を取得し(例えば、取り出し、獲得し)得る。上述したように、公開鍵を使用して、ClientHelloメッセージに含まれるドメイン名並びに他のデータおよび/または情報を暗号化し得る。公開鍵(例えば、eSNI公開鍵)がある場合、DNS-QUERY-TRACKERシステムは、公開鍵(例えば、eSNI公開鍵)のレコードをDNS-QUERY-TRACKERシステムのテーブルおよび/またはデータベースに挿入し得る。パケットフィルタリングデバイスは、eSNI暗号文を有するClientHelloメッセージを含むL3パケットを受信し得る。パケットフィルタリングデバイス上で実行されているセキュリティアプリケーションは、パケットから宛先IPアドレスを抽出し、宛先IPアドレスによってインデックス付けされた1またはそれ以上のレコードをDNS-QUERY-TRACKERに照会し得る。照会は、時間制限され得る。すなわち、レコードは、L3パケットを受信する所定の時間内に作成および/または更新されていてもよい。ClientHelloメッセージと時間相関があり、かつ/または発信ホストIPアドレスをL3パケットの送信元IPアドレスと照合するレコードは、eSNI暗号文に関連付けられた平文ドメイン名を含み得る。セキュリティアプリケーションは、パケットフィルタリングデバイスによって施行されている任意のポリシーを通じて平文ドメイン名をフィルタリングし得る。上述したDNS-QUERY-TRACKINGシステムおよび方法は、eSNI暗号文に対応する平文ドメイン名を推定するためのEDCLベースのシステムおよび方法とともに、またはこれらの代替として使用され得る。
【0030】
いくつかの事例では、EDCLは、アプリケーションに関連し得るドメイン名のデータベースから生成され得る。例えば、データベースは、法執行(LE)が合法的傍受アプリケーションのための関連付けられた通信セッション(例えば、HTTPSセッション)の平文を傍受、復号化、および記憶する権限を有するドメイン名のコレクションであり得る。法執行は、ドメイン名に関連付けられていないセッションを傍受、復号化、および/または記憶する権限がない場合があることから、ドメイン名の合法的傍受データベースからEDCLを生成して、セッションが合法的傍受データベース内の平文ドメイン名に関連付けられ得るかどうかを判定し得る。セッションが合法的傍受データベース内のドメイン名に関連付けられている場合には、アプリケーションは、適切なアクションを取り(例えば、関連付けられた通信文の平文を傍受、復号化、および記憶し)得る。
【0031】
プライバシー保護および保存(P3)アプリケーションでは、データベースは、プライバシーを保護および保存するために復号化および記憶されるべきではない暗号化された通信セッション(例えば、HTTPSセッション)に関連付けられたドメイン名のコレクションであり得る。TLSによってセキュリティ保護されたセッションがeSNIを使用する場合、ドメイン名のP3データベースからEDCLを生成して、セッションがP3データベース内の平文ドメイン名に関連付けられているかどうかを判定し得る。ドメイン名が
P3データベース内のドメイン名に関連付けられている場合には、アプリケーションは、セッションが復号化および/または記憶されないことを確保するための適切なアクションをとり得る。
【0032】
いくつかの実施例では、エンタープライズは、悪意のあるアクタによる盗取を軽減および/または防止するeSNI使用ポリシーを施行しようとし得る。eSNI使用ポリシー施行は、上述したEDCLベースのeSNIセキュリティ機能および/またはDNS-QUERY-TRACKERベースのセキュリティ機能とともに使用され得る。EDCLにアクセス可能であることに加えて、アプリケーションは、例えば、eSNIをサポートする関連付けられたドメインとともにDNSに登録されたドメイン名の1またはそれ以上の要素を含む、DNS-ESNIと名付けられたデータ構造にアクセス可能であり得る。例えば、パケットフィルタリングデバイスを動作させるアプリケーションは、CTIデータベース内にはないがDNS-ESNIデータ構造内にエントリを有するSNI値(例えば、(クリアテキスト)ドメイン名)を有するClientHelloメッセージを検出し得る。ドメイン名は、ドメイン名を暗号文として送信することができる場合でも、平文で送信されている。追加的もしくは代替的に、アプリケーションは、DNSに照会して、ドメイン名を解読し、ドメインがeSNIをサポートするかどうかを判定し得る。照会への応答に基づいて、アプリケーションは、ドメイン名が抽象または実際のDNS-ESNIデータ構造の要素またはメンバであるかどうかを判定し得る。アプリケーションが、ドメインがeSNIをサポートしていると判定した場合、アプリケーションは、ClientHelloメッセージ(クリアテキストドメイン名を有する)を含むパケットをドロップし、ClientHelloメッセージが送信されているホストに対して偽装/透過プロキシとなり、かつ/またはクライアントに平文SNIの代わりに暗号化されたSNIを使用させるTLSメッセージをクライアントに送信し得る。
【0033】
いくつかの実施例では、エンタープライズは、TLSセッションのためのeSNIを実装するeSNI使用ポリシーを施行しようとし得る。すなわち、エンタープライズホストは、eSNIをサポートするドメインのみにアクセスし得る。パケットフィルタリングデバイスを動作させるアプリケーションは、例えば、SNI値(例えば、DNS-ESNIの要素ではない平文ドメイン名)を有するClientHelloメッセージを検出し、TLSハンドシェイクセッションを終了するTLSメッセージをクライアントに送信し、かつ/または関連付けられたTCPセッションを終了するTCP RSTメッセージをクライアントに送信することによって、そのようなポリシーを施行し得る。本明細書で説明されるフィルタリングルールおよび/または施行ポリシーは、例えば、2015年12月23日に出願された「Rule-Based Network-Threat Detection for Encrypted Communications」と題する米国特許出願第14/757,638号(現在は米国特許第9,917,856号)において本出願人によって開示された技法を使用して、ルールベースのネットワーク脅威検出を実行するシステムにおいて用途を見出すことができ、その全体が参照により本明細書に組み込まれる。
【0034】
図1は、サイバーセキュリティアプリケーションのためのeSNIフィルタリングのシステム100を示す。システム100は、ネットワーク間アクセスおよび/または相互接続を提供する1またはそれ以上のネットワークリンク106によって接続され得るネットワークA102およびネットワークB104を含み得る。システム100はまた、1またはそれ以上のホストを含んでもよい。本明細書で使用される場合、「ホスト」(または「複数のホスト」)は、ネットワークに接続された任意のタイプのネットワークデバイスまたはノードまたはコンピューティングデバイスを指し、それらのネットワークインターフェースには、L3ネットワークアドレスが割り当てられる。1またはそれ以上のホストは、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュ
ータ、モバイルデバイス、スマートフォン、ルータ、ゲートウェイ、プロキシ、ファイアウォール、スイッチ、アクセスポイントなどの、コンピューティングデバイスおよび/またはネットワークデバイスであり得る。いくつかの実施例では、いくつかのコンピューティングデバイスは、PSG/ESNI G/W120などの、ネットワークアドレスのないネットワークインターフェースを有し得る。ネットワークアドレスを有していないコンピューティングデバイスは、ホストとみなされない場合がある。割り当てられたネットワークアドレスを有していないネットワークインターフェースは、ネットワークレベル(例えば、L3および/またはL2)に関して「透過的」であるとみなされ得る。
【0035】
ネットワークA102は、1またはそれ以上の個人および/またはエンティティ(例えば、政府、企業、サービスプロバイダなど)に関連付けられた1またはそれ以上のネットワーク(例えば、ローカルエリアネットワーク(Local Area Network、LAN)、ワイドエリアネットワーク(Wide Area Network、WAN)、仮想プライベートネットワーク(Virtual Private Network、VPN)、ソフトウェア定義ネットワーク(Software-Defined
Network、SDN)、またはそれらの組み合わせ)を備え得る。ネットワークB104は、ネットワークA102を1またはそれ以上の他のネットワーク(図示せず)とインターフェースおよび/または相互接続する1またはそれ以上のネットワーク(例えば、LAN、WAN、VPN、SDN、またはそれらの組み合わせ)を備え得る。例えば、ネットワークB104は、インターネット、若しくは同様のネットワーク、および/またはその部分を備え得る。
【0036】
図1に示されるように、ネットワークA102は、ホスト110、112、および/または114と、パケットセキュリティゲートウェイ(packet security gateway、PSG
)などの1またはそれ以上のパケットフィルタリングネットワークゲートウェイデバイスと、を備え得る。ホスト110、112、および/または114は、TLSクライアントおよび/またはTLSトンネル端末として機能するように構成され得る。PSGは、eSNIを使用し得るTLSによってセキュリティ保護された通信に関連付けられた伝送中パケットを処理するためのeSNI-ゲートウェイ(ESNI-G/W)120機能を含み得る。いくつかの実施形態では、eSNIゲートウェイネットワークデバイス(例えば、ESNI-G/W120またはこれらのeSNIゲートウェイネットワークデバイスの組み込みPSG)は、eSNIゲートウェイが機能する伝送中パケットを入力および/または出力するこれらのeSNIゲートウェイネットワークデバイスのネットワークインターフェースに割り当てられたL3ネットワークアドレスおよび/またはL2ネットワークアドレスを有していない場合がある。eSNIゲートウェイ(および組み込みPSG)は、L3透過であってもよい。
【0037】
同様に、ネットワークB104は、ホスト130、131、および/または139を含むか、またはそれらへのネットワークアクセスを提供し得る。ホスト130、131、および/または139は、TLSサーバおよび/またはTLSトンネル端末として機能するように構成され得る。ホスト130、131、および/または139は、1またはそれ以上のドメインをホストすることができ、関連付けられたドメイン名をDNS(例えば、DNS160)に登録し得る。ホスト130、131、および/または139はまた、インターネットDNS上のドメインのeSNIサポートを関連付けてもよい(例えば、暗号化のためのeSNI公開鍵を含むドメインのリソースレコードを作成する)。ネットワークB104はまた、システム140、142、および/または144を含むか、またはそれらへのネットワークアクセスを提供し得る。システム140、142、および/または144は、様々なサービスを提供するように構成されたネットワーク化されたホストのコレクションであり得る。例えば、CTIP140は、ネットワーク脅威インジケータ(例えば、ドメイン名)を含むCTIレポートを加入者(SPMS150など)に提供する1またはそれ以上のCTIプロバイダ(CTIP)であり得る。同様に、法執行インテリジェ
ンスプロバイダ(LEIP)142と保護および保存インテリジェンスプロバイダ(P3IP)144とは、ネットワークインジケータ(例えば、ドメイン名)を含むインテリジェンスレポートを加入者(セキュリティポリシー管理サーバ(Security Policy Management Server、SPMS)150など)に提供し得る。CTI、LE、およびP3アプリケ
ーションに加えて、他のアプリケーションのインテリジェンスプロバイダ(図示せず)がまた、ドメイン名の形態のネットワークインジケータを含むインテリジェンスレポートを加入者に提供してもよい。
【0038】
セキュリティポリシー管理サーバ(SPMS)150は、1またはそれ以上のパケットフィルタリングルールを含むポリシーを作成および配信するシステムであり得る。1またはそれ以上のパケットフィルタリングルールは、CTIP140によって供給されるCTIから、LEIP142によって供給されるLEIから、P3IP144によって供給されるP3Iからなどで、導出され得る。これらのポリシーは、ESNI-G/W120などの加入者に配信され得る。SPMS150はまた、データを作成し、かつeSNIゲートウェイ機能をサポートする加入eSNIゲートウェイ(例えば、ESNI-G/W120)に配信するシステムであってもよい。例えば、EDCL-SYS152は、CTI、LEI、P3Iなどに含まれるドメイン名インジケータから導出されたEDCLを作成し、かつ加入eSNIゲートウェイESNI-G/W120に配信する、SPMS150のモジュール、デバイス、システム、またはサブシステムを表し得る。別の実施例では、CTI-POLICY-SYS154は、CTIインジケータ(ドメイン名インジケータを含む)から導出された1またはそれ以上のパケットフィルタリングルールを含むポリシーを作成する、SPMS150のモジュール、デバイス、システム、またはサブシステムであり得る。さらに別の実施例では、DNS-ESNI-SYS156は、eSNIをサポートするドメインのDNS登録されたドメイン名を含むセットデータ構造(例えば、テーブル、データベースなど、および関連付けられた機能)を作成および配信する、SPMS150のモジュール、デバイス、システム、またはサブシステムを表し得る。例えば、法執行アプリケーションに関連付けられた法執行ポリシー作成システム(例えば、LEI-POLICY-SYS(図示せず))、P3アプリケーションに関連付けられたプライバシーポリシー作成システム(例えば、P3I-POLICY-SYS(図示せず))、および他のポリシー作成システムは、CTI-POLICY-SYS154と同様であるが、ドメイン名インジケータを含み得る、インテリジェンスのソースおよび/またはタイプが異なり得る。
【0039】
ドメイン名サーバ(DNS)160は、インターネットドメイン名システム(DNS)を備える1またはそれ以上のコンピュータであり得る。DNS160は、ドメイン名をIPアドレスに解読するために様々なホストによって使用され得る。追加的もしくは代替的に、DNS160は、TLS ClientHelloメッセージに含まれるeSNI暗号文を作成する際に使用するための暗号鍵(例えば、公開暗号鍵)を取得する(例えば、取り出す、獲得する)ために使用されてもよい。
【0040】
ESNI-G/W120は、第1のネットワーク(例えば、ネットワークA102)と第2のネットワーク(例えば、ネットワークB104)との間をインターフェースするネットワークバウンダリに、またはこのネットワークバウンダリの近くに位置し得る。例えば、ESNI-G/W120は、ネットワーク102、またはネットワーク102内に位置する1またはそれ以上のホストを、ネットワーク104、またはネットワーク102内に位置する1またはそれ以上のホストと接続(例えば、インターフェース)し得る。上述したように、ネットワークB104は、ホスト130、131、および/または139を含み得る。ホスト130、131、および/または139は、1またはそれ以上のネットワーク化されたアプリケーションサーバおよび/または関連付けられたドメインをホストし得る。1またはそれ以上のアプリケーションサーバおよび/または関連付けられたドメ
インは、TLSによってセキュリティ保護された通信をサポートするように構成され得る。ネットワークA102は、ホスト110、112、および/または114を含み得る。ホスト110、112、および/または114は、ネットワークアプリケーションクライアント(例えば、ウェブブラウザ)をホストすることができ、TLSによってセキュリティ保護された通信をサポートするように構成され得る。ESNI-G/W120は、ネットワークリンク106上にインラインで挿入されることができ、TLSによってセキュリティ保護された通信に関連付けられたドメイン名に関連付けられたポリシーを施行するために、伝送中パケットをフィルタリングし得る。いくつかの実施形態では、ESNI-G/W120は、ネットワークA102に関連付けられたホストとネットワークB104に関連付けられたホストとの間の全てのTCP/IPパケット通信に対してポリシーを施行するための、パケットセキュリティゲートウェイ(PSG)などのより一般的なパケットフィルタリングゲートウェイシステムのサブコンポーネントまたはサブ機能であり得る。PSGは、ネットワークA102などの保護されたネットワークと、ネットワークB104などの保護されたネットワークに接続された保護されていないネットワークと、の間のインターフェースであり得る。1またはそれ以上のPSGが、保護されたネットワークの1またはそれ以上のバウンダリに位置し、いずれか一方の方向に1またはそれ以上のバウンダリを横断する伝送中パケットをフィルタリング(例えば、パケットフィルタリングルールからなるポリシーを適用)し得る。
図1に示されるように、PSGは、ESNI-G/W120を組み込み得る。PSGのESNI-G/W120機能は、eSNIを使用するTLSによってセキュリティ保護された通信に関連付けられた1またはそれ以上のパケットに適用され得る。
【0041】
図示されていないが、追加のネットワークコンポーネントが
図1に存在し得ることが理解されよう。これらのネットワークコンポーネントは、パケットヘッダ情報を改変し得るネットワークバウンダリに、またはこのネットワークバウンダリの近くに位置する、ネットワークファイアウォールおよび関連付けられたネットワークアドレス変換(network address translation、NAT)機能、プロキシなどの、デバイスを含み得る。パケットヘ
ッダ情報を改変することは、本明細書で説明される方法、デバイス、システム、および/またはコンピュータ可読媒体に影響を及ぼし得る。以下でより詳細に説明されるように、CTIベースのアプリケーションに関連して説明されるシステム、コンポーネント、機能、データなどは、法執行(LE)アプリケーション、プライバシー保護および保存(P3)アプリケーションなどの、他のアプリケーションに適用され得る。これらのアプリケーション(例えば、LEアプリケーション、P3アプリケーションなど)は、CTIベースのネットワーク保護アプリケーションと置換され、かつ/または同時に動作され得る。本明細書で説明される方法、デバイス、システム、および/またはコンピュータ可読媒体は、伝送中のTLS ClientHelloメッセージ/パケットに含まれるeSNI暗号文と、アプリケーションおよび通信に関連付けられている平文/クリアテキストドメイン名と、の間の対応を判定し得る任意の好適なシステムに実装され得る。eSNI暗号文と平文ドメイン名との間の対応の判定に基づいて、システムは、パケットフィルタリングルールに従ってパケットを処理し得る。
【0042】
図2は、ネットワークA102とネットワークB104との間の通信に対してポリシーを施行するためのESNI-G/W120の一実施例を示す。通信は、暗号化されたホスト名(例えば、eSNI暗号文に含まれ得る暗号化されたSNI値)を有するTLSによってセキュリティ保護された通信であり得る。ESNI-G/W120は、ESNI-G/W120、ネットワークインターフェースNTWK-I/F127、管理インターフェースMGMT-I/F129を構成し、および動作させるためのロジックを実行し得る、プロセッサおよびメインメモリ(CPU-w/MEM)121を備え得る。CPU-w/MEM121は、1またはそれ以上の通信ポリシー施行アプリケーションに従ってESNI-G/W120を構成し、および動作させるためのロジックを実行し得る。これらのア
プリケーションは、同時かつ協働的/協調的に実行され得る。追加的もしくは代替的に、プロセッサおよびメインメモリ(CPU-w/MEM)121は、ESNI-G/W120およびESNI-G/W120の関連付けられたアプリケーションの動作をサポートし得る、PKT-FILTER122、EDCL-SVC123、DNS-ESNI-SVC124、DNS-QUERY-TRACKER125、および/またはTLS-MITM-PROXY126などのシステムおよびサービスのコレクションを構成し、および動作させるためのロジックを実行し得る。これらのコンポーネントは、BUS128を使用して通信し得る。BUS128を使用して、ESNI-G/W120のコンポーネント間で、パケットを含むデータを転送し得る。BUS128は、ESNI-G/W120のコンポーネント間にデータ通信チャネルを提供し得る。いくつかの実施例では、BUS128は、プロセッサロジック(例えば、プロセッサおよびメインメモリ(CPU-w/MEM)121)をオンチップキャッシュメモリと接続するオンチップシリコンバスであり得、これにより、高速かつコンパクトな処理が提供される。追加的もしくは代替的に、BUS128は、ネットワークA102またはネットワークB104などのネットワーク接続(例えば、TCP/IPネットワーク)であってもよい。更なる実施例では、BUS128として、プリント回路基板(printed circuit board、PCB)上の統合/埋め込みデ
ータバス、コンピュータおよび/または周辺機器を接続するパラレルデータケーブル、ネットワークスイッチおよびルータのポートおよび/またはインターフェースを接続するシリアル光ケーブル、L2/L3スイッチされるネットワーク、L3ルーティングされるネットワークなど、並びにそれらの任意の組み合わせが挙げられ得る。BUS128は、シリコン、有線、無線、物理、論理、仮想、ソフトウェア定義などであり得る。
【0043】
ESNI-G/W120は、ネットワークインターフェースポートNTWK-I/F127を介してネットワークA102とネットワークB104とを相互接続し得るネットワークリンク106とインラインで位置し得る。いくつかの実施形態では、ネットワークインターフェースポートNTWK-I/F127は、L3および/またはL2において透過的であり得る。すなわち、ネットワークインターフェースポートNTWK-I/F127は、これらのネットワークインターフェースポートに割り当てられたIPアドレスおよび/またはMACアドレスを有していない場合がある。これらの実施例によれば、伝送中のL2/L3パケットは、L2/L3パケットヘッダを修正することなくESNI-G/W120を通過し得る。ESNI-G/W120の伝送中パケット処理ロジックは、例えば、遅延に起因する内部バッファオーバーフローに起因してパケットをドロップすることなく、リンク106のピークパケット伝送レートでのパケットフィルタリングを可能にする、時間効率的かつメモリ効率的なパケット処理を提供し得る。いくつかの実施例では、管理インターフェースMGMT-I/F129は、L3/IPアドレスを割り当てられ得る。管理インターフェースMGMT-I/F129は、ESNI-G/W120が、SPMS150および/またはDNS160などのサービスを提供するホストと通信することを可能にし得る。
【0044】
PKT-FILTER122システムは、1またはそれ以上のパケットフィルタリングルールを含むポリシーを、ESNI-G/W120を横断する伝送中パケットに適用し得る。ポリシーは、SPMS150などのサーバおよび/またはサービスによって供給され得る。ポリシーのパケットフィルタリングルールは、様々なタイプのインテリジェンスレポート、例えば、CTIレポート、LEIレポート、P3Iレポートなどに含まれるインジケータから導出され得る。PKT-FILTER122は、CTIベースのネットワーク保護、合法的傍受、プライバシー保護および保存などの、1またはそれ以上の異なるサイバーセキュリティアプリケーションを同時にサポートするように構成され得る。
【0045】
EDCL-SVC123サービスは、1またはそれ以上のEDCLに関連付けられた情報についての照会を管理し得る。EDCLは、EDCL-SYS152によって(MGM
T-I/F129を介して)提供され得る。EDCL-SYS152は、SPMS150の一部であり得る。EDCL-SVC123は、ESNI-G/W120からの照会にサービスし得る。EDCL-SVC123は、ESNI-G/W120上で実行されている1またはそれ以上のアプリケーションから1またはそれ以上の照会要求を受信し得る。1またはそれ以上の照会要求は、BUS128を介して受信され得る。照会要求は、IPアドレスを含み得る。EDCL-SVC123は、照会応答をアプリケーションに伝送し得る。照会応答は、EDCL-SVC123によって管理される1またはそれ以上のEDCLに記憶されたIPアドレスに関連付けられたESNI関連情報を含み得る。
【0046】
DNS-ESNI-SVC124サービスは、インターネットDNS160に登録され得るドメイン名に関連付けられたeSNIサポート情報についての照会を管理し得る。EDCL-SVC123は、ESNI-G/W120上で実行されている1またはそれ以上のアプリケーションから1またはそれ以上の照会要求を受信し得る。照会要求は、BUS128を介して受信され得る。照会要求は、ドメイン名を含み得る。EDCL-SVC123は、照会応答を1またはそれ以上のアプリケーションに伝送し得る。照会応答は、ドメイン名に関連付けられたドメインがeSNIをサポートするかどうかを示す情報を含み得る。DNS-ESNI-SVC124は、ドメイン名がDNS-ESNI-SVCによって管理されるDNS-ESNIセットのメンバであるかどうかを判定することによって、ドメイン名がeSNIをサポートするかどうかを判定し得る。DNS-ESNIセットは、例えば、MGMT-I/F129を介してDNS-ESNI-SYS156によって提供され得る。DNS-ESNI-SYS156は、SPMS150のコンポーネントであり得る。追加的もしくは代替的に、DNS-ESNI-SVC124は、DNS160に照会してドメイン名がeSNIサポートのための任意のリソースレコードに関連付けられているかどうかを判定することによって、ドメイン名がeSNIをサポートするかどうかを判定し得る。
【0047】
DNS-QUERY-TRACKER125システムは、ネットワークA102に接続されたホストによって発行された場合があるDNS照会に関連付けられた情報を管理し得る。追加的もしくは代替的に、DNS-QUERY-TRACKER125システムは、ネットワークA102に接続されたホストによって発行された場合があるDNS照会に関連付けられた情報についての照会にサービスし得る。DNS-QUERY-TRACKER125は、ドメイン名をIPアドレスに解読するためのDNS照会要求および応答を観測し得る。各DNS照会に対して、DNS-QUERY-TRACKER125は、効率的なデータ構造(テーブル(例えば、ハッシュテーブル)またはデータベースなど)に、照会に対するレコードを記憶し得る。レコードは、(1)DNS照会を発信したホストのIPアドレス、(2)ドメイン名、(3)ドメイン名の解読されたIPアドレス、(4)照会時間、並びに/または(5)システムおよび/若しくはサービスを管理および/若しくは改善するための追加の情報を含み得る。例えば、追加の情報は、ドメイン名に関連付けられたeSNIサポート情報を含み得る。DNS-QUERY-TRACKER125は、eSNI暗号文に対応し得る平文ドメイン名の曖昧さを解消することを援助し得る。例えば、eSNIゲートウェイアプリケーションは、eSNI暗号文を含むClientHelloメッセージを含む伝送中パケットを処理し得る。アプリケーションは、EDCL-SVC123に照会し、複数のドメイン名がeSNI暗号文に対応し得ると判定し得る。複数のドメイン名のうちのどれがeSNI暗号文に対応し得るかの曖昧さを解消するために、アプリケーションは、パケットのL3送信元IPアドレスおよび/またはL3宛先IPアドレスに対応するレコードをDNS-QUERY-TRACKER125に照会し得る。照会にサービスするために、DNS-QUERY-TRACKER125は、パケットの送信元IPアドレスがレコードの発信ホストIPアドレスとマッチし、かつ/またはパケットの宛先IPアドレスがレコードの解読されたIPアドレスとマッチする、のいずれかである1またはそれ以上のレコードについて、DNS-QUERY-TRACK
ER125のデータ構造(例えば、テーブルおよび/またはデータベース)を探索し得る。任意のそのようなレコードが、アプリケーションに送信される照会応答に含まれ得る。次いで、アプリケーションは、最新のレコードからeSNI暗号文に対応する平文ドメイン名を判定し得る。判定された平文ドメイン名に基づいて、アプリケーションは、パケットおよびドメイン名をフィルタリングおよび処理のためにPKT-FILTER122に送信し得る。
【0048】
TLS-MITM-PROXY126(透過)プロキシシステムをeSNIゲートウェイアプリケーションによって使用して、パケットおよび/または関連付けられた通信のより深い検査を実行し得る。例えば、TLS-MITM-PROXY126は、TLSによってセキュリティ保護された通信を復号化し、TLSによってセキュリティ保護された通信の平文を調査し、TLSによってセキュリティ保護された通信を再暗号化し得る。アプリケーションは、この中間者手法を使用して、TLSによってセキュリティ保護された通信に関連付けられたeSNI暗号文に対応する平文ドメイン名を判定し得る。例えば、アプリケーションは、暗号化されたホスト名(例えば、eSNI暗号文を含むClientHelloメッセージ)を含む伝送中パケットを受信し得る。アプリケーションに関連付けられた平文ドメイン名と、eSNI暗号文と、の間に対応があるかどうかを判定するために、アプリケーションは、EDCL-SVC123および/またはDNS-QUERY-TRACKER125を呼び出し得る。ただし、EDCL-SVC123および/またはDNS-QUERY-TRACKER125は、暗号化されたホスト名(例えば、ドメイン名)に対応する平文ドメイン名を判定しない場合がある。いくつかの実施例では、EDCL-SVC123および/またはDNS-QUERY-TRACKER125は、ある程度の確実性内で平文ドメイン名を判定することができない場合がある。次いで、アプリケーションは、TLSによってセキュリティ保護された通信をTLS-MITM-PROXY126に転送し得る。TLS-MITM-PROXY126は、eSNI暗号文に対応する平文ドメイン名を取得(例えば、判定)するために、TLSによってセキュリティ保護された通信を復号化し得る。以下でより詳細に説明するように、LEアプリケーションおよびP3アプリケーションなどの1またはそれ以上のESNI-G/Wアプリケーションは、TLS-MITM-PROXY126を使用して、TLSによってセキュリティ保護された通信セッションの平文を獲得し得る。
【0049】
図3は、eSNIドメイン名対応リスト(EDCL)300の代表的な実施例を示す。EDCLデータ構造は、二次元テーブルとして表され得る。EDCL300をeSNIゲートウェイ(例えば、ESNI-G/W120)によって使用して、暗号化されたホスト名(例えば、eSNI暗号文)が、CTIベースのネットワーク保護、法執行(LE)、プライバシー保護および保存(P3)などの、サイバーセキュリティアプリケーションに関連付けられたドメイン名のデータベース内の平文ドメイン名に対応するかどうかを判定し得る。暗号化されたホスト名(例えば、暗号化されたドメイン名)がデータベース内の1またはそれ以上の平文ドメイン名に対応するかどうかの判定は、eSNIゲートウェイ(例えば、ESNI-G/W120)が、暗号化されたドメイン名(例えば、eSNI暗号文を有するClientHelloメッセージ)を含む伝送中パケットをどのように処理するかについての要因であり得る。本明細書で考察されるように、EDCL300は、CTIベースのネットワーク保護に関連付けられた1またはそれ以上のサイバーセキュリティアプリケーション、並びに法執行(LE)アプリケーションおよび/またはプライバシー保護および保存(P3)アプリケーションのような1またはそれ以上のアプリケーションとともに使用され得る。
【0050】
EDCL300は、複数の列を含み得る。「IP-アドレス」と標記された第1の列301は、テーブルの各行および/またはエントリにインデックス付けする1またはそれ以上の一意のIPアドレスを含み得る。第1の列301内の各IPアドレスは、eSNIを
サポートするドメインに関連付けられているCTIデータベース内の1またはそれ以上のドメイン名に対するDNSレコード(例えば、インターネットDNS A(IPv4)またはAAAA(IPv6))に対応し得る。「CTI-ESNI-ドメイン」と標記された第2の列302は、eSNIをサポートするCTIデータベース内のドメイン名を含み得る。第2の列302内の要素は、第1の列301内の対応するIPアドレスにおいてホストされるドメインの名称である。例えば、EDCL300の(311,302)要素位置内のドメイン{pgorlzex.cn,x-advice.onln,bmb27.com}は、(311,301)要素位置によって示されるように、IPアドレス40.07.25.13においてホストされ得る。例えば、ESNI-G/W120が暗号化されたホスト名(例えば、ClientHelloメッセージ内のeSNI暗号文)を検出し、かつ関連付けられたパケットのL3宛先IPアドレスが40.07.25.13である場合、EDCL300は、平文ドメイン名{pgorlzex.cn,x-advice.onln,bmb27.com}のうちの1つが暗号化されたホスト名(例えば、eSNI暗号文)に対応し得ることを示し得る。eSNI暗号文に対応し得るドメイン名を有する同じIPアドレス40.07.25.13においてホストされる追加のドメインがあり得る。ただし、それらのドメイン名は、CTIデータベース内にないか、またはeSNIをサポートしないかのいずれかであるため、要素(311,302)にリストされない場合がある。
【0051】
EDCL300内の残りの列は例示的あり、暗号化されたホスト名(例えば、eSNI暗号文を有するClientHelloメッセージ)を含むパケットをどのように処理するかについての意思決定支援のためにESNI-G/W120によって使用され得る。「#CTI-ESNI-ドメイン」と標記された第3の列303は、第2の列302内のドメイン名「CTI-ESNI-ドメイン」のカウントを含み得る。例えば、要素(311,302)において表される3つのドメイン名は、要素(311,303)を3と定義し得る。「#CTI-ドメイン」と標記された第4の列304は、第1の列301内の対応するIPアドレスにおいてホストされるCTIデータベース内のドメイン名のカウントを含み得る。例えば、要素(313,304)は、15であることができ、これは、CTIデータベース内の15個のドメイン名がIPアドレス6203:7400:3340:8618:46ef(例えば、要素(313,301))においてホストされることを意味する。15個のドメイン名がIPアドレス6203:7400:3340:8618:46efにおいてホストされ得るが、CTIデータベースには、eSNIをサポートしないIPアドレス6203:7400:3340:8618:46efにおいてホストされる6つのドメインがある。このことを、要素(313、303)において示すことができ、これは、所与のIPアドレスにおけるeSNIをサポートするドメイン名の数を示し得る。「#リバース-IP-ルックアップ-ドメイン」と標記された第5の列305は、リバースIPルックアップサービスに従ってIPアドレスによってホストされる全てのドメインのカウントを含み得る。いくつかの実施形態では、ESNI-G/W120が意思決定支援のために使用し得る追加の列がEDCL300内にあり得る。
【0052】
行314に例示される実施例によって示されるように、ESNI-G/W120は、暗号化されたホスト名を有する通信(例えば、eSNI暗号文を有するClientHelloメッセージ)を受信し得る。ESNI-G/W120は、ネットワークアドレス(例えば、送信元IPアドレス、宛先IPアドレスなど)を使用して、受信されたeSNI暗号文に対応する平文ドメイン名を高い確度で判定し得る。示されるように、ESNI-G/W120は、受信されたeSNI暗号文に関連付けられた平文ドメインがtoplipts.comであると判定し得る。この点に関して、ESNI-G/W120は、IPアドレス22.74.02.18を使用してEDCL300に照会して、eSNI暗号文に対応する平文ドメイン名を判定し得る。ESNI-G/W120ロジックは、#CTI-ESNI-ドメイン(314,303)=1、かつ#CTI-ドメイン(314,304
)=1、かつ#リバース-IP-ルックアップ-ドメイン(314,305)=1であることから、(314、302)=toplipts.comであり、受信された暗号化されたホスト名(例えば、eSNI暗号文)は、toplipts.comに対応すると決定し得る。
【0053】
別の実施例では、ESNI-G/W120は、暗号化されたホスト名を有する通信(例えば、eSNI暗号文を有するClientHelloメッセージ)を受信し得る。ESNI-G/W120は、ネットワークアドレス(例えば、送信元IPアドレス、宛先IPアドレスなど)を使用して、暗号化されたホスト名に対応する平文ドメイン名を判定するために追加の方法が必要であり得ると判定し得る。行312によって例示される実施例に示されるように、ESNI-G/W120は、IPアドレス14.99.65.22を使用してEDCL300に照会して、暗号化されたホスト名(例えば、eSNI暗号文)に対応する1またはそれ以上の平文ドメイン名を判定し得る。ESNI-G/W120ロジックは、#CTI-ESNI-ドメイン(312,303)=5、かつ#CTI-ドメイン(312,304)=5、かつ#リバース-IP-ルックアップ-ドメイン(312,305)=20であることから、ESNI-G/W120は、IPアドレス14.99.65.22においてホストされるドメインがeSNIをサポートすると判定し得る。追加的に、ESNI-G/W120は、eSNI暗号文に対応する平文ドメイン名がCTIデータベース内にない可能性が高いと判定し得る。この点に関して、ESNI-G/W120は、暗号化されたホスト名(例えば、eSNI暗号文)に対応する平文ドメイン名を判定するための追加の方法を使用することを決定し得る。
【0054】
行310に例示される実施例によって示されるように、ESNI-G/W120は、暗号化されたホスト名を有する通信(例えば、eSNI暗号文を有するClientHelloメッセージ)を受信し得る。ESNI-G/W120は、ネットワークアドレス(例えば、送信元IPアドレス、宛先IPアドレスなど)を使用して、通信が悪意のあるものであり得ると判定し得る。ESNI-G/W120は、IPアドレス102.2.18.81を使用してEDCL300に照会して、暗号化されたホスト名(例えば、eSNI暗号文)に関連付けられた1またはそれ以上の平文ドメイン名を判定し得る。ESNI-G/W120ロジックは、#CTI-ESNI-ドメイン(310,303)=8、かつ#CTI-ドメイン(310,304)=8、かつ#リバース-IP-ルックアップ-ドメイン(310,305)=0であることから、ESNI-G/W120は、インターネットの存在を混乱させるために対策およびアクションを取った悪意のあるアクタにIPアドレスが割り当てられたと判定し得る。この判定に基づいて、ESNI-G/W120は、通信が悪意のある可能性が最も高いと判定し得る。
【0055】
行311に例示される実施例によって示されるように、ESNI-G/W120は、暗号化されたホスト名を有する通信(例えば、eSNI暗号文を有するClientHelloメッセージ)を受信し得る。ESNI-G/W120は、ネットワークアドレス(例えば、送信元IPアドレス、宛先IPアドレスなど)を使用して、通信が悪意のあるものであり得ると判定し得る。ESNI-G/W120は、IPアドレス40.07.25.13を使用してEDCL300に照会して、暗号化されたホスト名(例えば、eSNI暗号文)に関連付けられた1またはそれ以上の平文ドメイン名を判定し得る。ESNI-G/W120ロジックは、#CTI-ESNI-ドメイン(311,303)=3、かつ#CTI-ドメイン(311,304)=3、#リバース-IP-ルックアップ-ドメイン(311,305)=3であることから、ESNI-G/W120は、この通信が、IPアドレスのクライアントを積極的に検閲または監視しないコンテンツ配信および/またはアドウェアサービスオペレータに割り当てられたIPアドレスに通信が向けられていると判定し得る。ESNI-G/W120は、通信が悪意のある可能性が最も高いと判定し得る。
【0056】
図4Aおよび
図4Bは、EDCLを作成、配信、および維持するシステム(例えば、EDCL-SYS152)のプロセス400の一実施例を示す。いくつかの実施形態では、システム(例えば、EDCL-SYS152)は、CTIデータベースおよび/または他のインテリジェンスデータベースから導出されるパケットフィルタリングルールのポリシーを作成、配信、および維持する、SPMS150と統合され得るか、またはSPMS150のサブシステムを備え得る。CTIデータベースは、ドメイン名の形態の複数の脅威インジケータを含む複数の脅威インジケータを含み得る。追加的に、CTIデータベースは、例えば、新しい脅威インテリジェンスレポートおよび/または関連付けられたネットワーク脅威インジケータを生成するサイバー脅威インテリジェンスプロバイダ(例えば、CTIP140)によって、継続的に更新されてもよい。CTIによって導出されたポリシーおよびEDCLは、個々のeSNIゲートウェイによって作成および/または管理され得る。追加的もしくは代替的に、EDCLおよび/またはCTIによって導出されたセキュリティポリシーは、CTIPなどの集中型サーバによって作成および/または管理されてもよい。
【0057】
ステップ405において、システム(例えば、EDCL-SYS152)は、SPMS150の現在のCTIインジケータデータベース(例えば、CTI-INDICATOR-DB)にアクセスし、現在のCTIインジケータデータベース(例えば、CTI-INDICATOR-DB)から完全修飾ドメイン名(FQDN)を抽出し、かつFQDNをデータベース(例えば、CTI-FQDN-DB)に挿入することによって、データベース(例えば、CTI-FQDN-DB)を作成する。ステップ410において、システムは、EDCLを初期化することができ、EDCLは、作成時間、SPMS識別情報、CTI-INDICATOR-DBおよびCTI-FQDN-DB識別可能情報などを含むメタデータに関連付けられ得る。EDCLが初期化されると、システムは、EDCLをポピュレートするために、CTI-FQDN-DB内の各FQDNを通るループプロセスまたは反復プロセスを開始し得る。
【0058】
ステップ415において、システムは、DNS(例えば、インターネットDNS160)に照会して、現在のFQDNがeSNIに関連付けられたリソースレコード(resource
record、RR)を有するかどうかを判定し得る。ステップ420において、システムは
、リソースレコードが、関連付けられたドメインがeSNIをサポートするかどうかを示すかどうかを判定し得る。リソースレコードが、関連付けられたドメインがeSNIをサポートしないことを示す場合には、プロセス400は、ステップ415に戻って、CTI-FQDN-DB内の次のエントリについてDNSに照会する。ただし、リソースレコードが、関連付けられたドメインがeSNIをサポートすることを示す場合には、プロセス400は、ステップ425に進み、その間に、システムは、FQDNのドメインレコード(例えば、resp.AおよびAAAAレコード)についてDNSに照会し得る。システムは、応答を受信し得る。応答は、FQDNに関連付けられたIPv4 IPアドレスおよび/またはIPv6 IPアドレスを含み得る。いくつかの実施例では、FQDNについてA(IPv4)レコードおよびAAAA(IPv6)レコードの両方が存在する場合には、ドメイン名がIPv4 IPアドレスおよびIPv6 IPアドレスの両方を有する場合、ステップ425が繰り返され得る。
【0059】
ステップ430において、システムは、IPアドレスがEDCL内に存在するかどうかを判定し得る。例えば、システムは、IPアドレスによってインデックス付けされたレコード/行/エントリを探索し得る。エントリが存在しない場合、システムは、ステップ435においてEDCL内に新しいレコードを作成する。エントリは、IPアドレスによってインデックス付けされ得る。
【0060】
IPアドレスに対する新しいエントリを作成した後、またはエントリがすでに存在することを発見した後、システムは、ステップ440において、CTI-ESNI-ドメイン302フィールド内のFQDNのリストにFQDNを付加し得る。ステップ445において、システムは、#CTI-ESNI-ドメイン303フィールドをインクリメントして、エントリに関連付けられた新しいIPアドレスを示し得る。ステップ450において、システムは、CTI-FQDN-DB内に処理すべきFQDNがさらにあるかどうかを判定し得る。処理すべきFQDNがさらにある場合、プロセス400は、ステップ415に戻って、CTI-FQDN-DB内の次のFQDNを用いてプロセスを繰り返す。更なるFQDNが存在しない場合、プロセス400は、ステップ455に進む。
【0061】
ステップ455において、システムは、EDCL内の追加のフィールドおよび/または列をポピュレートし得る。追加のフィールドおよび/または列は、IPアドレス301、CTI-ESNI-ドメイン302、および#CTI-ESNI-ドメイン303に追加され得る。
図3に関して上記で考察した一実施例を続けると、行313は、要素(313、301)内のIPアドレス6203:7400:3340:8618:46efによってインデックス付けされ得る。行313は、CTIデータベース内にあり、かつeSNIをサポートするドメインに関連付けられている、9つのドメイン名(要素(313,303)の値)を有し得る。要素(313,305)=15は、いくつかのリバース-IP-ルックアップサービスに従って、IPアドレス6203:7400:3340:8618:46efにおいてホストされるドメインの数である。ステップ460において、システム(例えば、SPMS150)は、EDCLを1またはそれ以上のESNI-G/W(例えば、ESNI-G/W120)に配信し得る。いくつかの実施例では、ESNI-G/Wは、EDCLを受信するためのサブスクリプションを有し得る。プロセス400は、EDCLを変更し、修正し、改変し、または別様に更新するように繰り返され得る。
【0062】
プロセス400は、上述したものとは異なる順序および/または異なる組み合わせで実行されてもよい。CTI、eSNIサポート、および/またはドメイン名のIPアドレスへのマッピングの動態は、遅延および/または同期の問題を最小限に抑えるために、プロセス400が頻繁に、またはさらには継続的に実行され得ることを示唆する。この点に関して、プロセス400は、継続的な動的更新モデルを使用し得る。追加的もしくは代替的に、プロセス400は、バッチ処理を使用して、EDCLを更新してもよい。プロセス400は、CTIベースのネットワーク保護のためのサイバーセキュリティアプリケーションに関して説明されたが、合法的傍受並びにプライバシー保護および保存アプリケーションなどの、他のアプリケーションが、プロセス400を使用してEDCLまたはその均等物を更新し得ることが理解されよう。
【0063】
図5は、CTIデータベースから導出された1またはそれ以上のパケットフィルタリングルールを含むポリシーを作成、配信、および維持するシステム(例えば、CTI-POLICY-SYS154)のプロセス500の一実施例を示す。CTIベースのポリシーは、ネットワークバウンダリに位置し、いずれか一方の方向にバウンダリを横切る1またはそれ以上のパケットにポリシーを適用するパケットセキュリティゲートウェイ(PSG)に配信され得る。PSGが、CTI-POLICY-SYS156によって作成されるポリシーなどのCTIによって導出されたポリシーを用いて構成される場合には、PSGは、脅威インテリジェンスゲートウェイ(threat intelligence gateway、TIG)とし
て識別され得る。ESNI-G/W120は、TLSによってセキュリティ保護された通信、またはeSNIを使用するTLSによってセキュリティ保護された通信に関連付けられたパケットのみをフィルタリングするタスクを課されたTIGのサブシステム、サブコンポーネント、またはサブ機能であり得る。eSNI暗号文に対応する平文ドメイン名に対してパケットをフィルタリングするためにESNI-G/W120によって使用され得るPKT-FILTER122を、TIGまたはPSGによって使用して、1またはそれ
以上の、CTIによって導出されたインジケータ(例えば、IPアドレス、5つのタプル、ドメイン名、URIなど)に基づいてパケットをフィルタリングし得る。CTI-POLICY-SYS154によって作成されたポリシーは、ESNI-G/W120、並びにTIGおよび/またはPSGなどのESNI-G/W120を統合するシステムによって、直接、共通、かつ同時に使用され得る。いくつかの実施例では、システム(例えば、CTI-POLICY-SYS154)は、CTIデータベースから導出されたポリシーを作成、配信、および/または維持するSPMS150と統合され得るか、またはSPMS150のサブシステムを備え得る。
【0064】
ステップ510において、システムは、SPMS150の現在のCTIインジケータデータベースCTI-INDICATOR-DBにアクセスすることによって、CTI-POLICY作成プロセスを開始し得る。システムは、他のアプリケーション(例えば、法執行、プライバシー保護および保存など)および他のアプリケーションに関連付けられたデータベースに適合されてもよいことが理解されるであろう。CTI-POLICYが初期化されると、システムは、CTI-INDICATOR-DB内の各インジケータを通してループプロセスまたは反復プロセスを開始して、CTI-POLICYを作成し得る。
【0065】
ステップ520において、システムは、現在のインジケータをマッチング基準として有するパケットフィルタリングルールを作成し得る。ステップ530において、システムは、ルールをCTI-POLICYに挿入し得る。OpenBSD PFシンタックスなどの典型的なパケットフィルタリングルールシンタックスの観点で、ルールは、少なくとも1つのアクションおよび少なくとも1つのパケットマッチング基準を指定し得る。アクションまたは処置は、パケット(例えば、伝送中のL2/L3パケット)をこのパケットの意図される宛先に許可すること(例えば、渡すこと、転送することなど)を含み得る。代替的に、アクションは、パケット(例えば、伝送中のL2/L3パケット)がこのパケットの意図される宛先に到達することをブロックすること(例えば、拒否すること、ドロップすることなど)を含み得る。パケットマッチング基準は、CTIインジケータ(例えば、IPアドレス、5つのタプル、ホスト名/FQDN、URIなど)に対応するL3、L4、および/またはアプリケーションレイヤパケットフィールド値を含み得る。ターゲットパケットフィルタリングデバイス(例えば、PSG、TIG、およびESNI-G/W)の能力および目的(例えば、ネットワークセキュリティ)に応じて、追加のルールコンポーネントが指定され得る。これらのルールコンポーネントは、パケット変換機能(PTF)およびメタデータなどを含み得る。PTFは、ロギング、捕捉、ミラーリング、リダイレクト、トンネリングなどを含み得る。追加的もしくは代替的に、PTFは、プロキシ機能を含んでもよい。例えば、PTF「tcp-rst」は、送信元ホストにTCPコネクションをドロップさせるTCP RSTパケットを作成し、送信元ホストに転送することによって、TCPパケットの宛先ホストを透過的に偽装し得る。メタデータを使用して、パケットフィルタリングデバイスおよび/またはゲートウェイのアプリケーションロジックに、パケットの内容から直接導出することができない、パケットに関連付けられたプロパティを通知し得る。メタデータは、例えば、インジケータの関連付けられたCTIレポートから導出された情報、インジケータを供給したCTIプロバイダ、インジケータに関連付けられた攻撃のタイプ、属性などを含み得る。
【0066】
ステップ540において、システムは、CTI-INDICATOR-DB内にインジケータがさらにあるかどうかを判定し得る。CTI-INDICATOR-DB内にインジケータがさらにある場合、プロセスは、ステップ520に戻って、CTI-INDICATOR-DB内の追加のインジケータを処理する。CTI-INDICATOR-DB内に追加のインジケータがない場合、プロセス500は、ステップ550に進み、システムは、CTI-POLICY内のルールを編成し得る。追加的もしくは代替的に、システ
ムは、制約を満たすために、および/またはCTI-POLICYを伝送中パケットに適用するパケットフィルタリングアプリケーション(PSG/TIG/ESNI-G/Wによって実行される)のパフォーマンスを改善するために、CTI-POLICY内のルールを符号化してもよい。例えば、重複するルールが除去されてもよく、ルールがマージされてもよく、かつ/または順序依存性が識別されてもよい。追加的に、ルールは、パケットフィルタリングアプリケーションによる高速探索をサポートするように、再順序付け並びに/またはグループ化および順序付けされてもよい。ステップ550は、ターゲットパケットフィルタリングデバイス/ゲートウェイによって実行され得る。いくつかの実施例では、ステップ550とステップ530とが組み合わされ得る。ステップ560において、システム(例えば、SPMS150)は、CTI-POLICYを1またはそれ以上の加入ESNI-G/W120に配信し得る。プロセス500は、CTI-POLICYを変更し、修正し、改変し、または別様に更新するように繰り返され得る。
【0067】
プロセス500は、上述したものとは異なる順序および/または異なる組み合わせで実行されてもよい。CTIの動態は、遅延および/または同期の問題を最小限に抑えるために、プロセス500が頻繁に、または継続的に実行されることを示唆する。この点に関して、プロセス500は、継続的な動的更新モデルを使用し得る。追加的もしくは代替的に、プロセス500は、バッチ処理を使用して、CTI-POLICYを更新してもよい。プロセス500は、CTIベースのネットワーク保護のためのサイバーセキュリティアプリケーションの観点で説明されたが、合法的傍受並びにプライバシー保護および保存アプリケーションなどの、他のアプリケーションが、プロセス500を使用して、CTI-POLICYまたはその均等物を更新し得ることが理解されよう。
【0068】
図6は、DNS-ESNIセットデータ構造を作成、配信、および維持するシステム(例えば、DNS-ESNI-SYS156)のプロセス600の一実施例を示す。いくつかの実施例では、DNS-ESNI-SYS156システムは、CTIデータベースから導出されたパケットフィルタリングルールのポリシーを作成、配信、および維持するSPMS150と統合され得るか、またはSPMS150のサブシステムを備え得る。DNS-ESNIセットデータ構造は、eSNIをサポートするDNS登録されたドメイン名のためのエントリを含み得る。DNS-ESNIデータ構造は、インターネットDNSに登録されたドメイン名が、eSNIをサポートするドメインに関連付けられているかどうかを判定し得る。DNS-ESNIセットは、インターネットDNS内の登録されたドメイン名を含む動的データベースから、および登録されたドメイン名に関するeSNIサポートステータスについてDNSに照会することから導出される動的eSNIサポート情報から導出され得る。ESNI-G/Wは、DNS-ESNIを作成および/または維持し得る。追加的もしくは代替的に、例えば、SPMS(例えば、SPMS150)を介した集中型手法を採用して、DNS-ESNIを作成および/または管理し得る。
【0069】
DNS-ESNIセットデータ構造は、Bloomフィルタ(B/F)、Cuckooフィルタ(C/F)、および/または任意の好適なセットデータ構造であり得る。これらのタイプのフィルタは、データセットの要素を効率的に記憶し、要素をデータセットに挿入し、要素がセットのメンバであるかどうかを判定し得る。特に、Cuckooフィルタは、セットからの要素の時間効率的な削除または除去をサポートし得る。BloomフィルタまたはCuckooフィルタのものと同様のプロパティを有する同様のセットデータ構造が使用されてもよいことが理解されよう。
【0070】
ステップ610において、システム(例えば、DNS-ESNI-SYS156)は、DNSに登録されたドメイン名のリストを収集および/または集約することによって、データベース(例えば、DNS-REG-DB)を生成し得る。これらのリストのソースとして、例えば、DNSレジストリオペレータ組織および/または関連付けられたデリゲー
トおよび/または権限のあるネームサーバによって発見されるゾーンファイル、ドメインリストアグリゲータサービス、国別コードドメイン(country code domain、CCD)を
発見するサードパーティサービス、ICANNなどが挙げられる。DNS登録されたドメイン名が取得される(例えば、判定される)と、システムは、ループプロセスまたは反復プロセスを開始して、DNS-ESNIを生成し得る。
【0071】
ステップ620において、システムは、データベースDNS-REG-DB内の各ドメインについてのeSNIリソースレコード(RR)の存在についてDNS(例えば、インターネットDNS160)に照会し得る。RRは、関連付けられたドメインがeSNIをサポートすることを示し得る。ステップ630において、システムは、eSNIに関連付けられたRRが現在のドメイン名に対して存在するかどうかを判定し得る。ドメインがeSNIをサポートしないとシステムが判定した場合、プロセス600は、ステップ620に戻り、データベースDNS-REG-DB内の次のドメイン名エントリについてDNSに照会する。システムが、ドメインがeSNIをサポートすると判定した場合には、システムは、ステップ640において、ドメイン名をセットDNS-ESNIに挿入し得る。ステップ650において、システムは、DNS-REG-DB内に処理すべきドメイン名がさらにあるかどうかを判定し得る。ある場合、プロセス600は、ステップ620に戻って、DNS-REG-DB内の次のエントリを処理する。これ以上のドメイン名がない場合には、システムは、ステップ660に進み、システム(例えば、SPMS150)は、DNS-ESNIを1またはそれ以上の加入ESNI-G/W120に配信し得る。プロセス600は、DNS-ESNIを変更し、修正し、改変し、または別様に更新するように繰り返され得る。
【0072】
プロセス600は、上述したものとは異なる順序および/または異なる組み合わせで実行されてもよい。DNSの動態およびeSNIは、遅延および/または同期の問題を最小限に抑えるために、プロセス600が頻繁に、または継続的に実行され得ることを示す。この点に関して、プロセス600は、継続的な動的更新モデルを使用し得る。いくつかの実施例では、ESNI-G/W(例えば、ESNI-G/W120)は、このESNI-G/Wが伝送中パケットに含まれるクリアテキストSNIを観測すると、eSNIサポートステータスについてDNSに直接照会することによって、必要に応じてDNS-ESNIに含まれる情報を判定し得る。
【0073】
図7は、EDCL、CTIによって導出されたポリシー、および/またはDNS-ESNIセットデータ構造を作成、配信、および維持するシステム(例えば、SPMS150)のプロセス700の一実施例を示す。以下で説明される実施例は、CTIベースのネットワーク保護アプリケーションに関連するが、以下で説明されるシステムおよび方法は、SPMS150の動作および/または関連付けられたESNI-G/Wの動作に組み込まれ得ることが理解されよう。
【0074】
ステップ710において、システム(例えば、SPMS150)は、複数のCTIプロバイダ140からCTIレポートを収集し、これらのレポートのデータベース(例えば、CTI-REPORT-DB)を作成し得る。CTIレポートは、IPアドレス、5つのタプル、ドメイン名、URIなどの形態の1またはそれ以上のネットワーク脅威インジケータを含み得る。脅威インジケータは、脅威に関連付けられたネットワークホストおよび/またはリソース、並びに、脅威攻撃タイプ、属性などの、脅威に関連付けられた追加の情報を識別し得る。CTIレポートは、脅威であり得るドメイン名を示すネットワーク脅威インジケータを含み得る。
【0075】
ステップ720において、システム(例えば、SPMS150)は、CTI-REPORT-DB内のレポートからネットワーク脅威インジケータを抽出して、データベースC
TI-INDICATOR-DBを作成し得る。CTI-INDICATOR-DBは、例えば、ステップ405および510において上述した入力であり得る。CTIプロバイダは、新しいCTIレポートを作成し、かつ/または既存のCTIレポートを更新し得る。この点に関して、システム(例えば、SPMS150)は、ステップ720を完了した後にステップ710に戻り得る。
【0076】
ステップ725において、システム(例えば、SPMS150)は、EDCL-SYS152を動作させ得る。ステップ730において、システム(例えば、SPMS150)は、CTI-POLICY-SYS154を動作させ得る。ステップ735において、システム(例えば、SPMS150)は、DNS-ESNI-SYS156を動作させ得る。ステップ725、730、および/または735は、同時に動作し得る。ステップ725において、システムは、MGMT-I/F129を介して1またはそれ以上の加入ESNI-G/W120にEDCL-SYS152を配信し得る。ステップ730において、システムは、MGMT-I/F129を介して1またはそれ以上の加入ESNI-G/W120にCTI-POLICYを配信し得る。ステップ735において、システムは、MGMT-I/F129を介して1またはそれ以上の加入ESNI-G/W120にDNS-ESNIを配信し得る。1またはそれ以上の加入ESNI-G/Wの各々は、EDCL、CTI-POLICY、およびDNS-ESNIを受信し、データを(例えば、BUS128を介して)EDCL-SVC123、PKT-FILTER122、およびDNS-ESNI-SVC124にそれぞれ転送し得る。
【0077】
図8Aおよび
図8Bは、1またはそれ以上のパケットフィルタリングポリシーおよびEDCLを用いてESNI-G/W120を構成し、かつ1またはそれ以上のパケットフィルタリングポリシーと1またはそれ以上のCTIインジケータから導出されたEDCLとに基づいてネットワーク脅威保護アプリケーションを実行するためのプロセスの一実施例を示す。
【0078】
ステップ805において、SPMS150は、CTIによって導出されたパケットフィルタリングポリシー(例えば、CTI-POLICY)と、関連付けられたCTIによって導出されたEDCLと、のうちの少なくとも1つをESNI-G/W120に配信し得る。SPMS150はまた、DNS-ESNIをESNI-G/W120に配信してもよい。CTIによって導出されたパケットフィルタリングポリシー(例えば、CTI-POLICY)、関連付けられたCTIによって導出されたEDCL、および/またはDNS-ESNI、のうちの少なくとも1つに基づいて、ESNI-G/W120は、ESNI-G/W120のPKT-FILTER122、EDCL-SVC123、および/またはDNS-ESNI-SVC124を構成し得る。
【0079】
ステップ810において、HOST-1 110上で実行されているウェブブラウザのユーザは、サイトSRVR-0 130にアクセスすることを試行し得る。SRVR-0
130は、eSNIをサポートするドメイン(例えば、www.legitimate-non-CTI-site.net)をホストし得る。すなわち、ドメインのDNSエントリは、公開暗号鍵を含み得る。ユーザは、ブラウザウィンドウにドメインをURI(例えば、https://www.legitimate-non-CTI-site.net/)の一部として入力し得る。ブラウザは、ドメインのIPアドレス(例えば、www.legitimate-non-CTI-site.net)についてDNS160に照会し得る。照会に応答して、ブラウザは、IPアドレス(例えば、87.65.43.21)および公開暗号鍵(例えば、SITE-0-KEY)を受信し得る。いくつかの実施例では、DNS照会は、DNS-QUERY-TRACKER125インスタンス(図示せず)によって捕捉され得る。IPアドレスおよび公開暗号鍵を受信した後、ブラウザは、87.65.43.21のポート443(HTTPS)とのTCPコネクション
を確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、ClientHelloメッセージを生成し、SITE-0-KEYのキーを使用してメッセージのドメイン名および/または他の部分を暗号化し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが87.65.43.21に設定されたIPパケットPKT-0にカプセル化し、パケットPKT-0をSRVR-0 130に向けて転送し得る。
【0080】
ステップ815において、ESNI-G/W120は、パケットPKT-0を傍受し得る。ESNI-G/W120は、ClientHelloメッセージを調査し、メッセージが暗号化されたホスト名(例えば、eSNI暗号文)を含むと判定し得る。暗号化されたホスト名(例えば、暗号化されたドメイン名)を検出することに応答して、ESNI-G/W120は、PKT-0から(L3/IP)宛先IPアドレス(例えば、87.65.43.21)を抽出し、EDCL-SVC123に照会することによって、87.65.43.21によってインデックス付けされたエントリについてEDCLを探索し得る。探索が結果を返さない場合、ESNI-G/W120は、平文ドメイン名(例えば、www.legitimate-non-CTI-site.net)が、関連付けられたポリシーCTI-POLICY内のいずれのドメイン名脅威インジケータにも関連付けられていないと判定し得る。ESNI-G/W120は、ESNI-G/W120が暗号化されたホスト名(例えば、暗号化されたドメイン名)に対応する平文ドメイン名を知らなくても、この判定を行い得る。ステップ815の終結時に、ESNI-G/W120は、PKT-0がPKT-0の宛先87.65.43.21(SRVR-0 130)に向かって進むことを許可し得る。ステップ820において、HOST-1 110とSRVR-0 130との間のTLSトンネルを確立することができ、(TLSによってセキュリティ保護された)HTTPセッション(例えば、HTTPS)が行われる。HTTPセッションが完了すると、TLSトンネルおよびTCPコネクションがテアダウンされ得る。
【0081】
ステップ825において、HOST-1 110上で実行されているウェブブラウザのユーザは、サイトSRVR-1 131にアクセスすることを試行し得る。SRVR-1
131は、eSNIをサポートする第2のドメイン(例えば、toplipts.com)をホストし得る。上記で考察したように、第2のドメインのDNSエントリは、第2のドメイン名の第2の公開暗号鍵を含み得る。ユーザは、ブラウザウィンドウに第2のドメインをURI(例えば、https://toplipts.com/)の一部として入力し得る。ブラウザは、第2のドメイン(例えば、toplipts.com)のIPアドレスについてDNS160に照会し得る。照会に応答して、ブラウザは、第2のIPアドレス(例えば、22.74.02.18)および第2の公開暗号鍵(例えば、SITE-1-KEY)を受信し得る。上記の第1の照会と同様に、DNS照会は、DNS-QUERY-TRACKER125インスタンス(図示せず)によって捕捉され得る。第2のIPアドレスおよび第2の公開暗号鍵を受信した後、ブラウザは、第2のIPアドレス(例えば、22.74.02.18)のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、ClientHelloメッセージを生成し、第2の公開暗号鍵(例えば、SITE-1-KEY)を使用して、第2のドメイン名(例えば、toplipts.com)、および/またはメッセージの1またはそれ以上の部分を暗号化し、(L3/IP)宛先IPアドレスフィールドが第2のIPアドレス(例えば、22.74.02.18)に設定されたTCPパケットおよびIPパケットPKT-1にメッセージをカプセル化し、パケットPKT-1をSRVR-1 131に向けて転送し得る。
【0082】
ステップ830において、ESNI-G/W120は、パケットPKT-1を傍受し得る。ESNI-G/W120は、ClientHelloメッセージを調査し、メッセージがeSNI暗号文を含むと判定し得る。ESNI-G/W120は、(L3/IP)宛
先IPアドレス(例えば、22.74.02.18)を抽出し、EDCL-SVC123に照会することによって、22.74.02.18によってインデックス付けされたエントリについてEDCLを探索し得る。探索は、EDCLからエントリを返し得る。例えば、探索は、
図3に関して上記で考察したEDCL300から行314を返し得る。エントリの内容を調査した後、ESNI-G/W120は、eSNI暗号文が平文ドメイン名toplipts.comに対応すると判定し得る。ESNI-G/W120は、PKT-FILTER122システムを呼び出し得る。上記で考察したように、PKT-FILTER122は、ステップ805においてCTI-POLICYを用いて構成され得る。ESNI-G/W120は、基準「toplipts.com」にマッチするCTI-POLICY内のパケットフィルタリングルールを探索し得る。この実施例によれば、マッチパケット(PKT-1)を処理するための(ネットワーク保護)「ブロック」アクションを有するマッチルールを見つけ得る。追加的もしくは代替的に、マッチルールは、パケット変換機能(PTF)「tcp-rst」を含み得る。ESNI-G/W120は、SRVR-1 131を偽装するか、または透過プロキシとなることができ、(致命的な)アラートコード(例えば、コード40「ハンドシェイク失敗」)を有するTLSアラートプロトコルメッセージをHOST-1 110に送信することができ、このことが、HOST-1 110に、TLSセッションを閉じさせる。TCP RSTが、HOST-1 110にTCPコネクションをテアダウンさせ得る。代替的に、ESNI-G/W120は、TCP RSTを送信してもよく、これにより、シグナリングなしにTLSセッションが閉じられる。この点に関して、ESNI-G/W120は、危殆化されている場合があるいかなるデータおよび/または情報もHOST-1 110に提供したくない場合がある。
【0083】
ステップ835において、HOST-1 110上で実行されているウェブブラウザのユーザは、サイトSRVR-2 132にアクセスすることを試行し得る。SRVR-2
132は、eSNIをサポートする第3のドメイン名(例えば、kottoqui.ga)をホストし得る。すなわち、第3のドメイン名のDNSエントリは、公開暗号鍵を含み得る。ユーザは、ブラウザウィンドウに第3のドメイン名をURI(例えば、https://kottoqui.ga/)の一部として入力し得る。HOST-1 110上のブラウザは、第3のドメイン名(例えば、kottoqui.ga)の第3のIPアドレス(例えば、102.2.18.81)および第3の公開暗号鍵(例えば、SITE-2-KEY)についてDNS160に照会し得る。上述したように、DNS照会は、DNS-QUERY-TRACKER125(図示せず)によって捕捉され得る。第3のIPアドレスおよび第3の公開暗号鍵を受信した後、ブラウザは、102.2.18.81のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、ClientHelloメッセージを生成し、第3のドメイン名(例えば、kottoqui.ga)、および/または第3の公開暗号鍵(例えば、SITE-2-KEY)を使用してメッセージの1またはそれ以上の他の部分を暗号化し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが102.2.18.81に設定されたIPパケットPKT-2にカプセル化し、パケットPKT-2をSRVR-2 132に向けて転送し得る。
【0084】
ステップ840において、ESNI-G/W120は、パケットPKT-2を傍受し得る。ESNI-G/W120は、ClientHelloメッセージを調査し、メッセージが暗号化されたホスト名(例えば、eSNI暗号文)を含むと判定し得る。ESNI-G/W120は、(L3/IP)宛先IPアドレス(例えば、102.2.18.81)を抽出し、EDCL-SVC123に照会することによって、102.2.18.81によってインデックス付けされたエントリについてEDCLを探索し得る。探索は、EDCLからエントリを返し得る。例えば、探索は、
図3に関して上記で考察したEDCL300から行310を返し得る。エントリの内容を調査した後、ESNI-G/W120は、
eSNI暗号文に対応する平文ドメイン名をEDCLから判定することができないと判定し得る。ESNI-G/W120は、IPアドレス102.2.18.81においてホストされる全てのドメインが、CTIインジケータデータベースおよび関連付けられたCTI-POLICY内にあり、eSNIをサポートするドメイン名を有すると判定し得る。EDCL300の要素{行310,列302}内の8つのドメイン名のいずれかは、eSNI暗号文に対応する平文ドメイン名であり得る。ESNI-G/W120は、8つのドメイン名のうちのいずれか1つを可能性のある通信相手として選択し、次いで、進み得る。追加的もしくは代替的に、ESNI-G/W120は、DNS-QUERY-TRACKER125が、通信相手を判定し得るエントリを有するかどうかをチェックし得る。この実施例では、ESNI-G/W120は、DNS-QUERY-TRACKER125をチェックして、第3のドメイン名(例えば、kottoqui.ga)が通信相手である可能性が高いと判定し得る。ESNI-G/W120は、ステップ805においてCTI-POLICYを用いて構成されたPKT-FILTER122システムを呼び出して、マッチング基準「kottoqui.ga」を用いてCTI-POLICY内のパケットフィルタリングルールを探索し得る。マッチパケット(PKT-2)を処理するための(ネットワーク保護)「ブロック」アクションと、パケット変換機能(PTF)「tcp-rst」と、を有するマッチルールを見つけ得る。ESNI-G/W120は、SRVR-2 132を偽装し得るか、または透過プロキシとなり得る。追加的もしくは代替的に、ESNI-G/W120は、(致命的な)アラートコード(例えば、コード40「ハンドシェイク失敗」)を有するTLSアラートプロトコルメッセージをHOST-1 110に送信してもよい。TLSアラートプロトコルメッセージは、HOST-1 110にTLSセッションを閉じさせ得る。追加的もしくは代替的に、ESNI-G/W120は、HOST-1 110にTCPコネクションをテアダウンさせるTCP RSTを送信してもよい。
【0085】
図8Bを参照すると、HOST-1 110上で実行されているウェブブラウザのユーザは、ステップ845においてサイトSRVR-3 133にアクセスすることを試行し得る。SRVR-3 133は、eSNIをサポートする第4のドメイン名(例えば、cakbacon.cn)をホストし得る。上記の実施例と同様に、第4のドメイン名のDNSエントリは、公開暗号鍵を含み得る。ユーザは、ブラウザウィンドウに第4のドメイン名をURI(例えば、https://cakbacon.cn/)の一部として入力し得る。ブラウザは、第4のIPアドレス(例えば、14.99.65.22)および第4の公開暗号鍵(例えば、SITE-3-KEY)についてDNS160に照会し得る。DNS照会は、DNS-QUERY-TRACKER125インスタンス(図示せず)によって捕捉され得る。ブラウザは、14.99.65.22のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、ClientHelloメッセージを生成し、第4のドメイン名(例えば、cakbacon.cn)、および/または第4の公開暗号鍵(例えば、SITE-3-KEY)を使用してメッセージの1またはそれ以上の部分を暗号化し、メッセージをTCPパケットと(L3/IP)宛先IPアドレスフィールドが14.99.65.22に設定されたIPパケットPKT-3とにカプセル化し、パケットPKT-3をSRVR-3 133に向けて転送し得る。
【0086】
ステップ850において、ESNI-G/W120は、パケットPKT-3を傍受し、ClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージが暗号化されたホスト名(例えば、eSNI暗号文)を含むと判定し得る。ESNI-G/W120は、(L3/IP)宛先IPアドレス14.99.65.22を抽出し、EDCL-SVC123に照会することによって、14.99.65.22によってインデックス付けされたエントリについてEDCLを探索し得る。探索は、
図3で上述したEDCL300内の行312などのエントリを返し得る。行312の内容を調査した後、ES
NI-G/W120は、暗号化されたホスト名(例えば、eSNI暗号文)に対応する平文ドメイン名をEDCLから判定することができないと判定し得る。ESNI-G/W120は、CTI内にない14.99.65.22上でホストされる1またはそれ以上のドメインがあると判定し得る。追加的もしくは代替的に、ESNI-G/W120は、暗号化されたホスト名(例えば、eSNI暗号文)に対応する平文ドメイン名を解読して、通信に関連付けられたポリシーを適正に施行するべきであると判定してもよい。ESNI-G/W120は、SRVR-3 133を偽装し得るか、または透過プロキシとなり得る。ESNI-G/W120は、TLSメッセージをHOST-1 110に送信し得る。TLSメッセージは、HOST-1 110に、SNIを暗号化しないClientHelloを発行させ得る。TLSメッセージは、(致命的な)アラートコード(例えば、コード70「プロトコルバージョン」)を有するTLSアラートプロトコルメッセージを含み得る。TLSアラートプロトコルメッセージはまた、HOST-1 110に、暗号化されたSNIをサポートしないTLS1.2などのTLSバージョンを使用させてもよい。追加的もしくは代替的に、ESNI-G/W120は、HOST-1 110に暗号化されたSNIオプションを使用させないTLSメッセージを送信してもよい。
【0087】
ステップ860において、HOST-1 110上のブラウザは、SNI拡張フィールドが(平文)cakbacon.cnに設定されたClientHelloメッセージを生成し、メッセージをTCPパケットと(L3/IP)宛先IPアドレスフィールドが14.99.65.22に設定されたIPパケットPKT-3.1とにカプセル化し、パケットPKT-3.1をSRVR-3 133に向けて転送し得る。ステップ865において、ESNI-G/W120は、パケットPKT-3.1を傍受し、ClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージがクリアテキストSNI値cakbacon.cnを含むと判定し得る。ESNI-G/W120は、ステップ805においてCTI-POLICYを用いて構成されたPKT-FILTER122システムを呼び出して、マッチング基準「cakbacon.cn」を用いてCTI-POLICY内のパケットフィルタリングルールを探索し得る。この実施例によれば、マッチパケット(PKT-3.1)を処理するための(ネットワーク保護)「ブロック」アクションと、パケット変換機能(PTF)「tcp-rst」と、を有するマッチルールを見つけ得る。ESNI-G/W120は、SRVR-3 133を偽装するか、または透過プロキシとなることができ、(致命的な)アラートコード(例えば、コード40「ハンドシェイク失敗」)を有するTLSアラートプロトコルメッセージをHOST-1 110に送信し得る。TLSアラートプロトコルメッセージは、HOST-1 110にTLSセッションを閉じさせ得る。追加的もしくは代替的に、ESNI-G/W120は、HOST-1 110にTCPコネクションをテアダウンさせるTCP RSTをHOST-1 110に送信してもよい。
【0088】
ステップ870において、HOST-1 110上で実行されているウェブブラウザのユーザは、サイトSRVR-4 134にアクセスすることを試行し得る。SRVR-4
134は、eSNIをサポートする第5のドメイン名(例えば、not-a-CTI-threat-site.net)をホストし得る。先の考察と同様に、DNSエントリは、第5の公開暗号鍵を含み得る。第5のドメイン名は、CTIデータベースおよび/または関連付けられたCTI-POLICYにリストされなくてもよい。ユーザは、ブラウザウィンドウに第5のドメイン名をURI(例えば、https://not-a-CTI-threat-site.net/)の一部として入力し得る。HOST-1 110上のブラウザは、第5のドメイン名(例えば、not-a-CTI-threat-site.net)のIPアドレス(例えば、14.99.65.22)および第5の公開暗号鍵(例えば、SITE-4-KEY)についてDNS160に照会し得る。DNS160は、
図3に示されるEDCL300から行312などのエントリを返し得る。DNS照会は、DNS-QUERY-TRACKER125インスタンス(図示せず)によって
捕捉され得る。DNS照会に対する応答を受信した後、HOST-1 110上のブラウザは、14.99.65.22のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、ClientHelloメッセージを生成し、ドメイン名(例えば、not-a-CTI-threat-site.net)、および/または第5の公開暗号鍵(例えば、SITE-4-KEY)を使用してメッセージの1またはそれ以上の追加の部分を暗号化し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが14.99.65.22に設定されたIPパケットPKT-4にカプセル化し、パケットPKT-4をSRVR-4 134に向けて転送し得る。
【0089】
ステップ875において、ESNI-G/W120は、パケットPKT-4を傍受し得る。ESNI-G/W120は、ClientHelloメッセージを調査し、メッセージが暗号化されたホスト名(例えば、eSNI暗号文)を含むと判定し得る。ESNI-G/W120は、(L3/IP)宛先IPアドレス14.99.65.22を抽出し、14.99.65.22によってインデックス付けされたエントリについてEDCLを探索し得る。EDCLを探索することは、IPアドレス14.99.65.22を使用してEDCL-SVC123に照会することを含み得る。探索は、EDCLからエントリを返し得る。エントリは、
図3に関して上記で考察したEDCL300の行312であり得る。行312の内容を調査した後、ESNI-G/W120は、eSNI暗号文に対応する平文ドメイン名をEDCLから判定することができないと判定し得る。追加的もしくは代替的に、ESNI-G/W120は、CTI内にない14.99.65.22上でホストされる複数のドメインがあると判定してもよい。ESNI-G/W120は、暗号化されたホスト名(例えば、eSNI暗号文)に対応する平文ドメイン名を解読して、通信に関連付けられた1またはそれ以上のポリシーを適正に施行するべきであると判定してもよい。ESNI-G/W120は、SRVR-4 134を偽装するか、または透過プロキシとなり、SNIを暗号化しないClientHelloをHOST-1 110に発行させ得るTLSメッセージをHOST-1 110に送信し得る。例えば、ESNI-G/W120は、(致命的な)アラートコード(例えば、コード70「ハンドシェイク失敗」)を有するTLSアラートプロトコルメッセージをHOST-1 110に送信し得る。TLSアラートメッセージは、HOST-1 110に、暗号化されたSNIをサポートしないTLSバージョン(例えば、TLS1.2)を使用させ得る。追加的もしくは代替的に、ESNI-G/W120は、HOST-1 110に暗号化されたSNIオプションを使用させないTLSメッセージをHOST-1 110に送信してもよい。
【0090】
ステップ880において、HOST-1 110上のブラウザは、SNI拡張フィールドが(平文)not-a-CTI-threat-site.netに設定されたClientHelloメッセージを生成し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが14.99.65.22に設定されたIPパケットPKT-4.1にカプセル化し、パケットPKT-4.1をSRVR-4 134に向けて転送し得る。ステップ885において、ESNI-G/W120は、パケットPKT-4.1を傍受し、ClientHelloメッセージを調査し得る。ClientHelloメッセージを調査することに基づいて、ESNI-G/W120は、メッセージがクリアテキストSNI値not-a-CTI-threat-site.netを含むと判定し得る。ESNI-G/W120は、ステップ805においてCTI-POLICYを用いて構成されたPKT-FILTER122システムを呼び出して、マッチング基準「not-a-CTI-threat-site.net」を用いてCTI-POLICY内のパケットフィルタリングルールを探索し得る。探索は、結果を返さない場合がある。ESNI-G/W120は、PKT-4.1がPKT-4.1の宛先14.99.65.22(SRVR-4 134)に向かって進むことを許可し得る。ステップ890において、HOST-1 110とSRVR-4 134との間のTLSトンネルを確立することが
でき、(TLSによってセキュリティ保護された)HTTPセッションが行われ得る。HTTPセッションが完了すると、TLSトンネルおよびTCPコネクションがテアダウンされ得る。
【0091】
いくつかの実施例では、組織は、組織の内部ユーザがアクセスし、かつ/またはアクセスすることを試行する外部サイトを追跡および規制したいため、eSNI技術の使用を許可しないポリシーを有し得る。この実施例では、ポリシーは、ステップ870~890において上述したプロセスと同様のプロセスを実行するESNI-G/Wアプリケーションによって施行され得るが、EDCLを使用せず、かつ/またはCTI-POLICYとは異なるポリシーを用いる。例えば、ステップ875において、ESNI-G/Wアプリケーションが、ClientHelloメッセージがeSNI暗号文を含むと判定すると、アプリケーションは、ステップ875において、EDCLを通した探索をスキップし、ESNI-G/W120にSRVR-4 134を偽装させ得る。上記に記載したように、ESNI-G/Wは、暗号化されたSNIを含まないClientHelloをHOST-1 110に発行させ得るTLSメッセージをHOST-1 110に送信し得る。ステップ880は、修正なしで実行され得るが、ステップ885は、CTI-POLICYとは異なるポリシーを適用し得る。ステップ885で適用されたポリシーが通信セッションが進行することを許可する場合には、ステップ890は、修正なしで実行され得る。
【0092】
図9は、1またはそれ以上のアプリケーションをサポートするパケットフィルタリング動作を有してESNI-G/W120を構成するためのプロセスの一実施例を示す。1またはそれ以上のアプリケーションは、例えば、合法的傍受などの法執行(LE)アプリケーション、または(2)プライバシー保護および保存(P3)アプリケーションを含み得る。LEアプリケーションの場合、パケットフィルタリングポリシーおよび/またはEDCLは、LEIインジケータから導出され得る。同様に、パケットフィルタリングポリシーおよび/またはEDCLは、P3アプリケーションのP3インジケータ(P3I)から導出され得る。そのようなLEおよびP3アプリケーションは、通信に関連付けられたドメイン名を観測することに依存するロジックを含み得る。通信が、何らかのLEIデータベースおよび/またはP3Iデータベースに含まれるドメイン名に関連付けられている場合には、アプリケーションは、通信に対して作用し得る。
【0093】
図9のこの説明は、
図8Aおよび
図8Bで説明したCTIアプリケーションと形態および機能性が類似している。例えば、
図8Aおよび
図8BのCTIおよび/または関連付けられたCTI-POLICY並びにEDCLは、
図9のLEIおよび/または関連付けられたLEI-POLICY並びにLEI-EDCLに類似し得る。TLS-MITM-PROXY126は、
図9において、上記で考察した実施例とは異なって使用されてもよい。CTIおよびP3並びに他のアプリケーションは、例えば、(1)アプリケーションが通信をさらに調査してeSNI暗号文に対応するドメイン名を判定し、次いで相応に処理し(例えば、関連付けられたクリアテキストパケットに対してPKT-FILTER122を呼び出し)得るように、通信暗号文をクリアテキストに復号化することと、(2)通信を復号化し、通信処理意思決定(例えば、クリアテキスト通信を捕捉/記憶するかどうか)を行うために、ユーザIDなどの、ドメイン名以外の他の情報についてクリアテキストをさらに調査することと、を含む、LEIアプリケーションと同様の理由でTLS-MITM-PROXY126コンポーネントを使用し得る。
【0094】
ステップ910において、SPMS150は、LEIによって導出されたパケットフィルタリングポリシー(例えば、LEI-POLICY)と、関連付けられた、LEIによって導出されたLEI-EDCLと、をESNI-G/W120に配信し得る。追加的もしくは代替的に、SPMS150は、DNS-ESNIを配信し得る。ESNI-G/W120は、例えば、LEIによって導出されたパケットフィルタリングポリシー(例えば
、LEI-POLICY)、関連付けられた、LEIによって導出されたLEI-EDCL、および/またはDNS-ESNIに基づいて、ESNI-G/W120のPKT-FILTER122、EDCL-SVC123、および/またはDNS-ESNI-SVC124を構成し得る。いくつかの実施例では、SPMS150は、例えば、ユーザIDの1またはそれ以上のリストを含む、追加のLEIデータを配信し得る。
【0095】
ステップ920において、HOST-2 112上で実行されているウェブブラウザのユーザは、サイトSRVR-6 136にアクセスすることを試行し得る。SRVR-6
136は、eSNIをサポートする第7のドメイン名(例えば、LEI-watchlist-site.net)をホストし得る。すなわち、第7のドメインのDNSエントリは、第7の公開暗号鍵を含み得る。ユーザは、ブラウザウィンドウに第7のドメイン名をURI(例えばhttps://LEI-watchlist-site.net/)の一部として入力し得る。ブラウザは、LEI-watchlist-site.netの第7のIPアドレス(例えば、21.43.65.87)および第7の公開暗号鍵(例えば、SITE-6-KEY)についてDNS160に照会し得る。DNS照会は、DNS-QUERY-TRACKER125インスタンス(図示せず)によって捕捉され得る。DNS160からの応答を受信した後、HOST-2 112上のブラウザは、21.43.65.87のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、ClientHelloメッセージを生成し、ドメイン名、および/または第7の公開暗号鍵(例えば、SITE-6-KEY)を使用してメッセージの1またはそれ以上の部分を暗号化し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが21.43.65.87に設定されたIPパケットPKT-6にカプセル化し、パケットPKT-6をSRVR-6 136に向けて転送し得る。
【0096】
ステップ930において、ESNI-G/W120は、パケットPKT-6を傍受し、パケットPKT-6に含まれるClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージが暗号化されたホスト名(例えば、eSNI暗号文)を含むと判定し得る。ESNI-G/W120は、(L3/IP)宛先IPアドレス21.43.65.87を抽出し、LEI-EDCL-SVC123に照会することによって、21.43.65.87によってインデックス付けされたエントリについてLEI-EDCLを探索し得る。探索は、LEI-EDCLのエントリ(21.43.65.87によってインデックス付けされる)を返し得る。探索結果に基づいて、ESNI-G/W120は、(平文)ドメイン名を「LEI-watchlist-site.net」として判定(解読)し得る。ESNI-G/W120は、ステップ910においてLEI-POLICYを用いて構成されたPKT-FILTER122システムを呼び出して、マッチング基準「LEI-watchlist-site.net」を用いてLEI-POLICY内のパケットフィルタリングルールを探索し得る。マッチパケット(PKT-6)およびパケット変換機能(PTF)「tls-mitmプロキシ」を処理するための「許可する」アクションを示すマッチルールを見つけ得る。PTF「tls-mitm-proxy」は、PKT-6およびPKT-6と同じフロー/通信に関連付けられた後続のパケットをTLS-MITM-PROXY126に転送するようにESNI-G/W120にシグナリングし得る。TLS-MITM-PROXY126を通過した後、PKT-6は、ESNI-G/W120によってSRVR-6 136に向けて転送され得る。いくつかの実施例では、PKT-6のプロキシバージョンをSRVR-6 136に転送し得る。
【0097】
ステップ940において、HOST-2 112とSRVR-6 136との間のTLSトンネルを確立することができ、(TLSによってセキュリティ保護された)HTTPセッションが行われ得る。セッションを含むパケットは、TLS-MITM-PROXY
126を通過し、アプリケーションは、復号化されたクリアテキストメッセージ/パケットを捕捉および記憶し得る。アプリケーションはまた、クリアテキストを捕捉および記憶することが許容可能であるかどうかを判定するために、追加の情報、例えばユーザID、のクリアテキストを検査してもよい。許容されない場合には、捕捉機能および記憶機能を終了し、記憶されたデータを消去し、かつ/または別様にアクセス不能にし得る。HTTPセッションが完了すると、TLSトンネルおよびTCPコネクションがテアダウンされ得る。
【0098】
図10は、盗取を最小限に抑えるESNI-G/W120によるパケットフィルタリングの一実施例を例示している。第1のアプリケーションは、eSNIが利用可能であるときはいつでもeSNIの使用を施行し得る。第2のアプリケーションは、全ての、TLSによってセキュリティ保護された通信に対してeSNIの使用を施行し得る。すなわち、第2のアプリケーションは、eSNIをサポートするTLSによってセキュリティ保護された通信のみを許可することができ、eSNIを使用して、それらのサイトにアクセスし得る。
【0099】
ステップ1005において、SPMS150は、DNS-ESNIをESNI-G/W120に配信し得る。DNS-ESNIは、DNS-ESNIの更新バージョンであり得る。ESNI-G/W120は、DNS-ESNIを用いてDNS-ESNI-SVC124を構成し得る。ESNI-G/W120は、(例えば、eSNIが利用可能であるときはいつでもeSNIの使用を施行する)第1のアプリケーションを実行し得る。
【0100】
ステップ1010において、HOST-4 114上で実行されているウェブブラウザのユーザは、サイトSRVR-7 137にアクセスすることを試行し得る。SRVR-7 137は、eSNIをサポートしない第8のドメイン名(例えば、non-eSNI-site.net)をホストし得る。ユーザは、ブラウザウィンドウに第8のドメイン名をURI(例えば、https://non-eSNI-site.net/)の一部として入力し得る。第8のドメイン名を受信したことに応答して、ブラウザは、第8のドメイン名(例えば、non-eSNI-site.net)のIPアドレス(例えば、78.56.34.12)についてDNS160に照会し得る。IPアドレスを受信すると、ブラウザは、78.56.34.12のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、SNIフィールドが平文「non-eSNI-site.net」に設定されたClientHelloメッセージを生成し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが78.56.34.12に設定されたIPパケットPKT-7にカプセル化し、パケットPKT-7をSRVR-7 137に向けて転送し得る。
【0101】
ステップ1015において、ESNI-G/W120は、パケットPKT-7を傍受し、パケットPKT-7に含まれるClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージがクリアテキストSNI値「non-eSNI-site.net」を含むと判定し得る。ESNI-G/W120は、DNS-ESNI-SVC124に照会して、ドメイン「non-eSNI-site.net」がeSNIをサポートしないと判定し得る。ESNI-G/W120は、PKT-7がPKT-7の宛先78.56.34.12(SRVR-7 137)に向かって進むことを許可し得る。ステップ1020において、HOST-4 114とSRVR-7 137との間のTLSトンネルを確立することができ、(TLSによってセキュリティ保護された)HTTPセッションが行われ得る。HTTPセッションが完了すると、TLSトンネルおよびTCPコネクションがテアダウンされ得る。
【0102】
ステップ1025において、HOST-4 114上で実行されているウェブブラウザのユーザは、サイトSRVR-8 138にアクセスすることを試行し得る。SRVR-8 138は、eSNIをサポートする第9のドメイン名(例えば、supports-eSNI-site.net)をホストし得る。ユーザは、ブラウザウィンドウに第9のドメイン名をURI(例えば、https://supports-eSNI-site.net/)の一部として入力し得る。次に、ブラウザは、第9のドメイン(例えば、supports-eSNI-site.net)のIPアドレス(例えば、12.34.43.21)についてDNS160に照会し得る。IPアドレスを受信すると、ブラウザは、12.34.43.21のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、SNIフィールドが平文「supports-eSNI-site.net」に設定されたClientHelloメッセージを生成し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが12.34.43.21に設定されたIPパケットPKT-8にカプセル化し、パケットPKT-8をSRVR-8 138に向けて転送し得る。
【0103】
ステップ1030において、ESNI-G/W120は、パケットPKT-8を傍受し、パケットPKT-8に含まれるClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージがクリアテキストSNI値「supports-eSNI-site.net」を含むと判定し得る。ESNI-G/W120は、DNS-ESNI-SVC124に照会して、ドメイン「supports-eSNI-site.net」がeSNIをサポートすると判定し得る。第1のアプリケーションは、eSNIが利用可能であるときにeSNIを使用することを必要とするため、ESNI-G/W120は、SRVR-8 138を偽装し得るか、または透過プロキシとなり得る。ESNI-G/W120は、HOST-4 114にeSNIを使用するClientHelloを発行させ得るTLSメッセージをHOST-4 114に送信し得る。TLSメッセージは、eSNIが必要とされることをHOST-4 114にシグナリングするTLSアラートプロトコルメッセージを含み得る。
【0104】
ステップ1035において、HOST-4 114上で実行されているブラウザは、ドメイン「supports-eSNI-site.net」の公開暗号鍵(例えば、SITE-8-KEY)についてDNS160に照会し得る。ブラウザは、ClientHelloメッセージを生成し、公開暗号鍵(例えば、SITE-8-KEY)を使用して、ドメイン名「supports-eSNI-site.net」および/またはメッセージの1またはそれ以上の他の部分を暗号化し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが12.34.43.21に設定されたIPパケットPKT-8.1にカプセル化し、パケットPKT-8.1をSRVR-8 138に向けて転送し得る。
【0105】
ステップ1040において、ESNI-G/W120は、パケットPKT-8.1を傍受し、パケットPKT-8.1に含まれるClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージがeSNI暗号文を含むと判定し得る。ESNI-G/W120は、PKT-8.1をPKT-8.1の宛先12.34.43.21(SRVR-8 138)に向けて転送することによって、PKT-8.1が進むことを許可し得る。
【0106】
ステップ1045において、HOST-4 114とSRVR-8 138との間のTLSトンネルを確立することができ、(TLSによってセキュリティ保護された)HTTPセッションが行われ得る。HTTPSセッションが完了すると、TLSトンネルおよびTCPコネクションがテアダウンされ得る。
【0107】
ステップ1050および1055の間、ESNI-G/W120は、eSNIをサポートするサイトにアクセスすることのみを許可し、かつeSNI使用を必要とする第2のアプリケーションを動作させている場合がある。
【0108】
ステップ1050において、HOST-4 114上で実行されているウェブブラウザのユーザは、サイトSRVR-7 137にアクセスすることを試行し得る。SRVR-7 137は、eSNIをサポートしない第10のドメイン名(例えば、non-eSNI-site.net)をホストし得る。ユーザは、ブラウザウィンドウにドメイン名をURI(例えば、https://non-eSNI-site.net/)の一部として入力し得る。ブラウザは、non-eSNI-site.netのIPアドレス(例えば、78.56.34.12)についてDNS160に照会し得る。IPアドレスを受信すると、ブラウザは、78.56.34.12のポート443(HTTPS)とのTCPコネクションを確立し得る。TLSによってセキュリティ保護されたセッションを確立するために、ブラウザは、SNIフィールドが平文「non-eSNI-site.net」に設定されたClientHelloメッセージを作成し、メッセージをTCPパケットおよび(L3/IP)宛先IPアドレスフィールドが78.56.34.12に設定されたIPパケットPKT-9にカプセル化し、パケットPKT-9をSRVR-7 137に向けて転送し得る。
【0109】
ステップ1055において、ESNI-G/W120は、パケットPKT-9を傍受し、パケットPKT-9に含まれるClientHelloメッセージを調査し得る。ESNI-G/W120は、メッセージがクリアテキストSNI値「non-eSNI-site.net」を含むと判定し得る。ESNI-G/W120は、DNS-ESNI-SVC124に照会して、ドメイン「non-eSNI-site.net」がeSNIをサポートしないと判定し得る。第2のアプリケーションは、eSNIをサポートするサイトにアクセスすることのみを許可し得るため、ESNI-G/W120は、SRVR-7
137を偽装し得るか、または透過プロキシとなり得る。第2のアプリケーションは、eSNIをサポートするサイトにアクセスするときに、上述した第1のアプリケーションと同様に実行され得る。ESNI-G/W120は、(致命的な)アラートコード(例えば、コード40「ハンドシェイク失敗」)を有するTLSアラートプロトコルメッセージをHOST-4 114に送信し得る。TLSアラートプロトコルメッセージは、HOST-4 114にTLSセッションを閉じさせ得る。追加的もしくは代替的に、ESNI-G/W120は、TCP RSTをHOST-4 114に送信してもよい。TCP RSTは、HOST-4 114にTCPコネクションをテアダウンさせ得る。
【0110】
上述したように、パケットフィルタリングシステムは、暗号化されたサーバ名指示(SNI)値を含む暗号文を含むパケットを受信し得る。パケットフィルタリングシステムは、暗号化されたホスト名に関連付けられた平文ホスト名を判定して、平文ホスト名が1またはそれ以上の脅威に関連付けられているかどうかを判定し得る。
図11は、暗号化されたネットワークトラフィックが1またはそれ以上の脅威に関連付けられているかどうかを判定するためのプロセス1100の一実施例を示す。プロセス1100のステップのいくつかまたは全ては、パケットセキュリティゲートウェイ120などの1またはそれ以上のコンピューティングデバイスを使用して実行され得る。
【0111】
ステップ1110において、パケットフィルタリングデバイスは、1またはそれ以上の脅威インジケータを受信し得る。例えば、パケットフィルタリングデバイスは、1またはそれ以上のサイバー脅威インテリジェンスプロバイダ(CTIP)から脅威インジケータ(例えば、生の脅威インジケータ)を直接受信し、1またはそれ以上のパケットフィルタリングルールを作成し得る。パケットフィルタリングルールは、セキュリティポリシー管
理サーバ(SPMS)から受信され得る。追加的もしくは代替的に、1またはそれ以上の脅威インジケータは、パケットフィルタリングルールにおけるマッチング基準として間接的に受信されてもよい。更なる実施例では、パケットフィルタリングデバイスは、脅威インジケータから導出されたパケットフィルタリングルールから構成される1またはそれ以上のポリシーを受信し得る。1またはそれ以上のポリシーは、エンタープライズ通信ポリシー、プライバシー、保護、および保存ポリシー、法執行ポリシー、またはその均等物を含み得る。パケットフィルタリングデバイスは、第1のネットワークと第2のネットワークとの間をインターフェースするバウンダリに存在し得る。この点に関して、パケットフィルタリングデバイスは、ゲートウェイ、ファイアウォール、ルータ、または任意の他のタイプのエッジデバイスであり得る。追加的もしくは代替的に、パケットフィルタリングデバイスは、1またはそれ以上のネットワークセグメント上に位置するパススルーデバイスであり得る。上記で考察したように、1またはそれ以上の脅威インジケータは、1またはそれ以上の脅威に関連付けられた複数のドメイン名(例えば、ホスト名)を含み得る。追加的もしくは代替的に、1またはそれ以上の脅威インジケータは、1またはそれ以上の脅威に関連付けられた複数のネットワークアドレス(例えば、IPアドレス)を含んでもよい。
【0112】
ステップ1120において、パケットフィルタリングデバイスは、暗号化されたサーバ名指示(SNI)値を含む暗号文を含む複数のパケットを受信し得る。複数のパケットは、ClientHelloメッセージなどの単一の通信および/またはメッセージに関連付けられ得る。上記に記載したように、複数のパケットは、暗号化されたサーバ名指示(SNI)値を含む暗号文を含み得る。
【0113】
ステップ1130において、パケットフィルタリングデバイスは、平文ホスト名が暗号化されたホスト名(例えば、暗号化されたSNI(eSNI))から解読され得るかどうかを判定し得る。パケットフィルタリングデバイスは、
図8Aおよび
図8Bに関して上述した技法のうちの1つ以上を使用し得る。例えば、パケットフィルタリングデバイスは、複数のパケットに関連付けられた宛先ネットワークアドレス(例えば、IPアドレス)を判定し得る。パケットフィルタリングデバイスは、宛先ネットワークアドレスによってインデックス付けされたデータ構造に照会して、暗号化されたホスト名に関連付けられたまたは対応する平文ホスト名を判定し得る。照会に基づいて、パケットフィルタリングデバイスは、暗号化されたホスト名に関連付けられた平文ホスト名を含む応答を受信し得る。照会されたデータ構造は、上記で考察したように、eSNIドメイン名対応リスト(EDCL)であり得る。いくつかの実施例では、応答は、暗号化されたホスト名に対応し得る複数の平文ホスト名を含み得る。すなわち、宛先ネットワークアドレスに複数のホスト名が関連付けられ得る。パケットフィルタリングデバイスは、暗号化されたホスト名が、宛先ネットワークアドレスに関連付けられた複数のホスト名のうちの1つに対応することを示し得る。追加的に、暗号文に対応し得るドメイン名を有する宛先ネットワークアドレスにおいてホストされる他のドメイン名があり得る。ただし、これらのドメイン名は、これらのドメイン名がCTIデータベース内にないか、またはこれらのドメイン名がeSNIをサポートしないかのいずれかであるため、EDCL内にリストされない場合がある。
【0114】
別の実施例では、パケットフィルタリングデバイスは、第1のデバイスからDNS照会要求を受信することができ、DNSから対応するDNS照会応答を受信することができる。DNS照会要求および/または応答は、複数のパケットを受信する前に受信され得る。DNS照会要求および/または応答は、データ構造に記憶され得る。複数のパケットを受信することに応答して、パケットフィルタリングデバイスは、データ構造に照会して、第1のデバイスから暗号化されたホスト名を有する複数のパケットを受信することに基づいて、平文ホスト名を判定し得る。この点に関して、パケットフィルタリングデバイスは、暗号化されたホスト名が、DNS照会の対象であった平文ホスト名に対応すると判定し得
る。
【0115】
いくつかの実施例では、パケットフィルタリングデバイスは、複数のパケットに関連付けられた宛先ネットワークアドレスを判定し得る。上記の実施例では、パケットフィルタリングデバイスは、データ構造に照会して、宛先ネットワークアドレスを使用して、暗号化されたホスト名に関連付けられた平文ホスト名を判定し得る。照会に応答して、パケットフィルタリングデバイスは、宛先ネットワークアドレスをデータ構造内に見つけることができなかったという応答を受信し得る。パケットフィルタリングデバイスは、第1のデバイスに応答を伝送し得る。応答は、平文ホスト名(例えば、暗号化されていないサーバ名指示(SNI))を有する複数のパケットの再伝送を要求し得る。パケットフィルタリングデバイスは、平文ホスト名(例えば、SNI)を有する複数のパケットの再伝送を受信し得る。
【0116】
ステップ1140において、パケットフィルタリングデバイスは、平文ホスト名が1またはそれ以上の脅威インジケータとマッチするかどうかを判定し得る。判定は、以下のうちの少なくとも1つに基づき得る:暗号化されたサーバ名指示(eSNI)値から解読された平文ホスト名、宛先ネットワークアドレスに関連付けられた平文ホスト名、DNS照会など。上記で考察したように、1またはそれ以上の脅威インジケータに複数の平文ホスト名を関連付け得る。上記で考察したように、例えば、複数のドメインがネットワーク宛先アドレス上でホストされる場合、暗号化されたサーバ名指示(eSNI)値を含む暗号文から複数の平文ホスト名を判定し得る。この点に関して、パケットフィルタリングデバイスは、複数のホスト名の各々を1またはそれ以上の脅威インジケータと比較し得る。複数の平文ホスト名のうちの1つが1またはそれ以上の脅威インジケータに関連付けられている場合、パケットフィルタリングデバイスは、複数のパケットが1またはそれ以上の脅威インジケータに関連付けられていると判定し得る。平文ホスト名が1またはそれ以上の脅威インジケータのうちの少なくとも1つとマッチしない場合、パケットフィルタリングデバイスは、ステップ1150において、複数のパケットをこれらのパケットの宛先に向けて転送し得る。いくつかの実施例では、通信がこれらの通信の宛先に向かって進むことを許可することは、セキュアな通信チャネル(例えば、TLS)が第1のデバイスとホスト名との間に確立されることを可能にし得る。平文ホスト名が1またはそれ以上の脅威インジケータとマッチすると、パケットフィルタリングデバイスは、パケットフィルタリング動作を複数のパケットに適用し得る。パケットフィルタリング動作は、複数のパケットがその意図される宛先に向かって進み続けることを阻止することを含み得る。追加的もしくは代替的に、パケットフィルタリングデバイスは、複数のパケットのコピーを監視のために第1のプロキシシステムに転送しながら、複数のパケットがその意図される宛先に進み続けることを許可してもよい。追加的もしくは代替的に、パケットフィルタリングデバイスは、複数のパケットを更なる処理および/または分析のために第2のプロキシに転送してもよい。
【0117】
いくつかの事例では、エンタープライズホストは、暗号化されたサーバ名指示(SNI)値を含む暗号文をサポートする宛先と通信するときに、暗号化されたホスト名を使用することを要求され得る。
図12は、本明細書で説明される1またはそれ以上の実施例による、暗号化されたホスト名を使用するポリシーを施行するためのプロセス1200の一実施例を示す。プロセス1200のステップのいくつかまたは全ては、パケットセキュリティゲートウェイ120などの1またはそれ以上のコンピューティングデバイスを使用して実行され得る。
【0118】
ステップ1210において、パケットフィルタリングデバイスは、
図9に関して上述したように、1またはそれ以上のポリシーを受信し得る。パケットフィルタリングデバイスは、複数のパケットフィルタリングルールを用いて構成され得る。
【0119】
ステップ1220において、パケットフィルタリングデバイスは、宛先に意図される第1の複数のパケットを第1のデバイスから受信し得る。第1の複数のパケットは、ClientHelloメッセージなどの通信またはメッセージに関連付けられ得る。第1の複数のパケットは、平文ホスト名を含み得る。
【0120】
ステップ1230において、パケットフィルタリングデバイスは、宛先がeSNIをサポートするかどうかを判定し得る。例えば、パケットフィルタリングデバイスは、ドメイン名サービスに照会して、宛先のエントリが公開鍵を含むかどうかを判定し得る。エントリが公開鍵を含む場合、パケットフィルタリングデバイスは、宛先がeSNIをサポートすると判定し得る。追加的もしくは代替的に、パケットフィルタリングデバイスは、データ構造(例えば、テーブル、データベースなど)に照会して、宛先がeSNIをサポートするかどうかを判定してもよい。パケットフィルタリングデバイスは、宛先のエントリがデータ構造内に存在する場合、宛先がeSNIをサポートすると判定し得る。宛先がeSNIをサポートしない場合、パケットフィルタリングデバイスは、ステップ1235において、複数のパケットを宛先に転送し得る。複数のパケットは、第1のデバイスと宛先との間にセキュアな通信チャネル(例えば、TLS)を作成することに関連付けられた1またはそれ以上の通信文を含み得る。宛先がeSNIをサポートする場合、パケットフィルタリングデバイスは、ステップ1240において、第1のデバイスがeSNIを使用するという指示を含むメッセージを伝送し得る。
【0121】
ステップ1250において、パケットフィルタリングデバイスは、宛先に意図される第2の複数のパケットを第1のデバイスから受信し得る。第2の複数のパケットは、暗号化されたサーバ名指示(SNI)値を含む暗号文(例えば、eSNI暗号文)を含み得る。いくつかの実施例では、パケットフィルタリングデバイスは、
図11に関して上記で考察した分析を実行して、平文ホスト名と、平文ホスト名が1またはそれ以上の脅威インジケータに関連付けられているかどうかと、を判定し得る。ポリシー施行態様およびフィルタリング態様は、同時にまたは連続して実行され得る。いくつかの実施例では、パケットフィルタリングデバイスは、第1の複数のパケットからの平文ホスト名を記憶し、平文ホスト名を第2の複数のパケット内のeSNI暗号文と相関させ得る。上記に記載したように、宛先が1またはそれ以上の脅威インジケータに関連付けられていない場合、パケットフィルタリングデバイスは、ステップ1260において、第2の複数のパケットを宛先に向けて転送し得る。追加的もしくは代替的に、第2の複数のパケットは、第2の複数のパケットが暗号化されたSNI(例えば、eSNI暗号文)を含むという判定に応答して転送されてもよい。第2の複数のパケットは、第1のデバイスと宛先との間にセキュアな通信チャネル(例えば、TLS)を作成することに関連付けられた1またはそれ以上の通信文を含み得る。
【0122】
パケットフィルタリングデバイスは、エンタープライズポリシー(例えば、データ保持ポリシー、規制準拠ポリシーなど)、法執行ポリシー、またはプライバシー、保護、および保存(P3)ポリシーなどのポリシーに従って、1またはそれ以上のパケットを記憶し得る。
図13は、パケットを記憶するためのプロセス1300の一実施例を示す。プロセス1300のステップのいくつかまたは全ては、パケットセキュリティゲートウェイ120などの1またはそれ以上のコンピューティングデバイスを使用して実行され得る。
【0123】
ステップ1310において、パケットフィルタリングデバイスは、1またはそれ以上のポリシーを受信し得る。パケットフィルタリングデバイスは、複数のパケットフィルタリングルールを用いて構成され得る。1またはそれ以上のポリシーは、エンタープライズ通信ポリシー、プライバシー、保護、および保存ポリシー、法執行ポリシー、またはその均等物を含み得る。ステップ1320において、パケットフィルタリングデバイスは、複数
の暗号化されたパケットを受信し得る。複数の暗号化されたパケットは、暗号化されたホスト名(例えば、eSNI暗号文)を含み得る。上記に記載したように、パケットフィルタリングデバイスは、
図11に関して上記で考察した分析を実行して、平文ホスト名と、平文ホスト名が1またはそれ以上の脅威インジケータに関連付けられているかどうかと、を判定し得る。
【0124】
ステップ1330において、パケットフィルタリングデバイスは、複数の暗号化されたパケットを復号化して、複数のクリアテキストパケットを取得し得る。パケットフィルタリングデバイスは、複数の暗号化されたパケットを、(透過的な)介在TLS中間者(MITM)プロキシ機能に転送し得る。MITMプロキシ機能は、TLSによってセキュリティ保護されたアプリケーションセッションを復号化し、セッションを平文で検査し、セッションを再暗号化し、TLSによってセキュリティ保護されたセッションをこのセッションの宛先に転送し得る。ステップ1340において、パケットフィルタリングデバイス(例えば、MITMプロキシ機能)は、クリアテキストパケットを検査(例えば、調査)し得る。いくつかの実施例では、パケットフィルタリングデバイスは、セッションの内容におけるeSNI暗号文に対応する平文ドメイン名を抽出し得る。いくつかの事例では、パケットフィルタリングデバイスは、抽出された平文ドメイン名を使用して、
図11に関して上記で考察した分析を実行し得る。
【0125】
ステップ1350において、パケットフィルタリングデバイスは、複数のパケットが捕捉および記憶されることを許可するかどうかを判定し得る。判定は、エンタープライズ通信ポリシー、プライバシー、保護、および保存ポリシー、法執行ポリシー、またはその均等物などのポリシーに基づき得る。この点に関して、エンタープライズ通信ポリシーは、規制方式(すなわち、HIPAA、Sarbanes-Oxleyなど)に準拠するために通信のロギングおよび/またはアーカイブを必要とし得る。別の実施例では、法執行ポリシーは、法執行が通信を記憶する権限を有しているかどうかに基づき得る。複数のパケットを記憶する根拠が存在する場合、パケットフィルタリングデバイスは、ステップ1360において、複数の復号化されたパケットのコピーを記憶し得る。復号化されたパケットが記憶された後、プロセス1300は、ステップ1370に進み得る。複数の復号化されたパケットが記憶されることを許可されない場合、または復号化されたパケットを記憶した後、パケットフィルタリングデバイスは、複数の暗号化されたパケットをその宛先に転送し得る。上記に記載したように、複数の暗号化されたパケットは、第1のデバイスと宛先との間のセキュアな通信チャネル(例えば、TLS)を可能にし得る。
【0126】
本明細書で説明される技法は、パケットフィルタリングデバイスが、暗号化されたホスト名から平文のホスト名を解読することを可能にする。平文ホスト名を使用して、ネットワークトラフィックが本質的に悪意のあるものであるかどうかを判定し得る。これにより、パケットフィルタリングデバイスは、マルウェアが、悪意のあるホストと通信しようとするときに、セキュアな通信チャネルを使用してパケットフィルタリングデバイスをバイパスすることを防止することが可能になる。さらに、本明細書で説明される技法は、パケットフィルタリングデバイスが、既知の脅威について暗号化されたネットワークトラフィックを監視することを可能にする。これにより、改善されたネットワーク監視が提供され、マルウェアの拡散が低減される。追加的に、宛先によってサポートされるときにeSNIを施行することは、悪意のある盗取などによるプライバシー侵害の脅威を低減する。さらに、本明細書で説明される技法は、通信をプライバシー法および/または規制に準拠させ得る。最後に、本明細書で説明される技法は、法執行を、暗号化されたネットワークトラフィックの法執行の監視において支援し得る。
【0127】
本明細書で考察される1またはそれ以上の特徴は、本明細書で説明される1またはそれ以上のコンピュータまたは他のデバイスによって実行される、1またはそれ以上のプログ
ラムモジュールなどの、コンピュータ使用可能若しくは読み取り可能データおよび/またはコンピュータ実行可能命令において具現化され得る。プログラムモジュールは、コンピュータまたは他のデバイス内のプロセッサにより実行されたときに、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み得る。モジュールは、実行するために後でコンパイルされるソースコードプログラミング言語で記述され得るか、またはHTMLまたはXMLなどの(これらには限定されない)スクリプト言語で記述され得る。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッドステートメモリ、RAMなどのような、コンピュータ可読媒体に記憶され得る。プログラムモジュールの機能性は、必要に応じて組み合わされてもよく、または分散されてもよい。加えて、機能性は、全体的または部分的に、ファームウェア、または集積回路、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)などのようなハード
ウェア均等物において具現化されてもよい。特定のデータ構造を使用して、本明細書で考察される1またはそれ以上の特徴をより効果的に実装することができ、そのようなデータ構造は、本明細書で説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲に収まると企図される。本明細書で説明される様々な特徴は、方法、コンピューティングデバイス、システム、および/またはコンピュータプログラム製品として具現化され得る。
【0128】
本開示は様々な実施例に関して説明されてきたが、多くの追加の修正および変形が当業者には明らかであろう。特に、上述した様々なプロセスのいずれかが、特定のアプリケーションの要件に対してより適切である方法で同様の結果を達成するために、代替的な順序で、および/または並行して(異なるコンピューティングデバイス上で)実行されてもよい。したがって、本開示は、本開示の範囲および趣旨から逸脱することなく、具体的に説明されたものとは別様に実施されてもよいことを理解されたい。いくつかの例が上述されているが、それらの例の特徴および/またはステップは、任意の所望の様態で結合、分割、省略、再配置、改変、および/または増強され得る。したがって、本開示は、あらゆる点で例示的なものであり、限定的なものではないとみなされるべきである。したがって、本開示の範囲は、実施例によってではなく、添付の特許請求の範囲およびそれらの均等物によって決定されるべきである。