(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】ネットワーク保護のための効率的な脅威コンテキスト認識パケットフィルタリングのための方法およびシステム
(51)【国際特許分類】
H04L 12/66 20060101AFI20240409BHJP
H04L 43/08 20220101ALI20240409BHJP
H04L 41/16 20220101ALI20240409BHJP
G06F 21/55 20130101ALI20240409BHJP
【FI】
H04L12/66
H04L43/08
H04L41/16
G06F21/55
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023564435
(86)(22)【出願日】2022-04-19
(85)【翻訳文提出日】2023-12-13
(86)【国際出願番号】 US2022025375
(87)【国際公開番号】W WO2022225951
(87)【国際公開日】2022-10-27
(32)【優先日】2021-04-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-10-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-10-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-15
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-04-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522004162
【氏名又は名称】セントリペタル ネットワークス,エルエルシー
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(72)【発明者】
【氏名】ムーア,ショーン
(72)【発明者】
【氏名】ロジャース,ジョナサン アール.
(72)【発明者】
【氏名】ムートロ,ヴィンセント
(72)【発明者】
【氏名】ジェレマイア,ペーター
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA15
5K030HD03
5K030KA05
5K030LC13
5K030MC08
(57)【要約】
【課題】保護されたネットワークとインターネットなどのパブリックネットワークとの間の境界を横断する転送中のパケットに脅威インジケータルールを適用する。
【解決手段】パケットフィルタリングアプライアンスによって1つ以上のサイバー脅威インテリジェンス(CTI)プロバイダから、1つ以上の脅威インジケータを受信し、1つ以上の脅威インジケータと関連付けられた複数のパケットフィルタリングルールを決定し、複数のパケットフィルタリングルールでパケットフィルタリングアプライアンスを構成し、転送中のパケットを受信し、転送中のパケットが複数のパケットフィルタリングルールのうちの1つのルールと一致すると決定し、このルールに基づいて、転送中のパケットを受信する前に事前に決定されなかった脅威コンテキスト情報を決定し、脅威コンテキスト情報に基づいて処分および/または1つ以上の指令を決定し、処分および/または1つ以上の指令を転送中のパケットに適用する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
方法であって、
パケットフィルタリングアプライアンスによって、複数のパケットフィルタリングルールを受信することであって、前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンス(CTI)プロバイダからのサイバーインテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定されたものである、受信することと、
第1のネットワークから、第2のネットワーク宛ての転送中のパケットを受信することと、
前記転送中のパケットが前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールと一致すると決定することに基づいて、前記転送中のパケットの観察時間を決定することと、
前記観察時間に基づいて、処分を決定することと、
前記転送中のパケットに前記処分を適用することと、を含む、方法。
【請求項2】
前記パケットフィルタリングアプライアンスは、前記第2のネットワークを保護するように構成された脅威インテリジェンスゲートウェイである、請求項1に記載の方法。
【請求項3】
前記第1のネットワークおよび前記第2のネットワークの一方は保護されていないネットワークであり、前記第1のネットワークおよび前記第2のネットワークの他方は保護されたネットワークである、請求項1に記載の方法。
【請求項4】
前記転送中のパケットの前記観察時間に基づいて、指令を決定することと、
前記指令を適用することと、をさらに含む、請求項1に記載の方法。
【請求項5】
前記転送中のパケットは、特定のパケット速度で前記パケットフィルタリングアプライアンスによって受信された複数の転送中のパケットのうちの1つであり、前記処分を前記決定することは、前記特定のパケット速度の逆数以下である時間枠内で実行される、請求項1に記載の方法。
【請求項6】
前記処分を前記決定することは、ステートレスに行われる、請求項1に記載の方法。
【請求項7】
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、前記第2のネットワーク宛ての第2の転送中のパケットを受信することをさらに含み、前記第2の転送中のパケットは、前記転送中のパケットの直後に前記パケットフィルタリングアプライアンスによって受信され、前記処分を前記決定することは、前記第2の転送中のパケットを受信する前に完了する、請求項1に記載の方法。
【請求項8】
前記転送中のパケットの前記観察時間を前記決定することは、前記第1のパケットフィルタリングルールが、マッチングパケットに適用される所定の処分を示さないという決定にさらに基づく、請求項1に記載の方法。
【請求項9】
前記転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される時点で、マルチパケットマルチフロー攻撃がアクティブであると決定することと、
前記転送中のパケットが前記第1のパケットフィルタリングルールと一致すると決定することに基づいて、前記転送中のパケットが前記マルチパケットマルチフロー攻撃のメンバーであるかどうかを決定することと、をさらに含み、
前記処分を前記決定することは、前記転送中のパケットが、前記マルチパケットマルチフロー攻撃のメンバーであると決定されるかどうかにさらに基づく、請求項1に記載の方法。
【請求項10】
前記第2のネットワークは、前記パケットフィルタリングアプライアンスによって保護されたネットワークであり、前記処分を前記決定することは、前記転送中のパケットが、前記第2のネットワーク以外の1つ以上のネットワークで発生する攻撃と関連付けられているかどうかの決定にさらに基づく、請求項1に記載の方法。
【請求項11】
前記処分を前記決定することは、前記パケットフィルタリングアプライアンスの管理者のアイデンティティにさらに基づく、請求項1に記載の方法。
【請求項12】
脅威分析システムから分析結果を受信することをさらに含み、前記処分を前記決定することは、前記分析結果にさらに基づく、請求項1に記載の方法。
【請求項13】
前記処分を前記決定することは、前記転送中のパケットのフロー状態または接続状態の一方または両方にさらに基づく、請求項1に記載の方法。
【請求項14】
前記転送中のパケットの前記観察時間に基づいて、指令を決定することをさらに含み、前記処分および前記指令を前記決定することは、人工ニューラルネットワークを使用して前記処分および前記指令を決定することを含み、前記人工ニューラルネットワークは、
各々が脅威コンテキスト情報の異なる態様を受信するように構成された複数の入力ノードであって、前記脅威コンテキスト情報は前記転送中のパケット観察時間を含む、複数の入力ノードと、
複数の接続ノードを介して前記複数の入力ノードに接続された複数の出力ノードであって、前記複数の出力ノードの各々は、異なる処分または異なる指令を示すように構成されている、複数の出力ノードと、を含む、請求項1に記載の方法。
【請求項15】
方法であって、
パケットフィルタリングアプライアンスによって、複数のパケットフィルタリングルールを受信することであって、前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダからのサイバーインテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定されたものである、受信することと、
第1のネットワークから、第2のネットワーク宛ての転送中のパケットを受信することと、
前記転送中のパケットが、前記複数のパケットフィルタリングルールのうちの、マッチングパケットに適用される所定の処分を示さない第1のパケットフィルタリングルールと一致すると決定することに基づいて、前記転送中のパケットの観察時間に基づく脅威コンテキスト情報を決定することと、
前記脅威コンテキスト情報に基づいて、処分を決定することと、
前記転送中のパケットに前記処分を適用することと、を含む、方法。
【請求項16】
前記脅威コンテキスト情報を前記決定することは、一定時間計算量または対数時間計算量を有する計算を使用して前記脅威コンテキスト情報を決定することを含む、請求項15に記載の方法。
【請求項17】
前記脅威コンテキスト情報に基づいて、指令を決定することと、
前記指令を適用することと、をさらに含む、請求項15に記載の方法。
【請求項18】
前記転送中のパケットは、特定のパケット速度で前記パケットフィルタリングアプライアンスによって受信されている複数の転送中のパケットのうちの1つであり、前記処分を前記決定することは、前記特定のパケット速度の逆数以下である時間枠内で実行される、請求項15に記載の方法。
【請求項19】
前記脅威コンテキスト情報を前記決定することは、
前記転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される時点で、マルチパケットマルチフロー攻撃がアクティブであると決定することと、
前記転送中のパケットが前記第1のパケットフィルタリングルールと一致すると決定することに基づいて、前記転送中のパケットが前記マルチパケットマルチフロー攻撃のメンバーであるかどうかを決定することと、を含み、
前記脅威コンテキスト情報に基づいて前記処分を前記決定することは、前記転送中のパケットが前記マルチパケットマルチフロー攻撃のメンバーであると決定されるかどうかに基づく、請求項15に記載の方法。
【請求項20】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、実行されると、パケットフィルタリングアプライアンスが次のことを行うように構成された、非一時的コンピュータ可読媒体。
複数のパケットフィルタリングルールを受信することであって、前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダからのサイバーインテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定された、受信することと、
第1のネットワークから、第2のネットワーク宛ての転送中のパケットを受信することと、
前記転送中のパケットが前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールと一致すると決定することに基づいて、前記転送中のパケットの観察時間を決定することと、
前記観察時間に基づいて、処分を決定することと、
前記転送中のパケットに前記処分を適用すること。
【請求項21】
前記命令は、実行されると、前記パケットフィルタリングアプライアンスを、
前記転送中のパケットの前記観察時間に基づいて、指令を決定することと、
前記指令を適用することと、を行うように構成する、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項22】
前記転送中のパケットは、特定のパケット速度で前記パケットフィルタリングアプライアンスによって受信されている複数の転送中のパケットのうちの1つであり、前記命令は、実行されると、前記特定のパケット速度の逆数以下である時間枠内で前記処分を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項23】
前記命令は、実行されると、ステートレス処理を使用して前記処分を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項24】
前記命令は、実行されると、前記第1のネットワークから前記第2のネットワーク宛ての第2の転送中のパケットを受信するように、前記パケットフィルタリングアプライアンスを構成し、前記第2の転送中のパケットは、前記転送中のパケットの直後にあり、前記命令は、実行されると、前記処分が前記第2の転送中のパケットを受信する前であると決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項25】
前記命令は、実行されると、前記第1のパケットフィルタリングルールが、マッチングパケットに適用される所定の処分を示さないという決定に基づいて、前記観察時間を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項26】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、実行されると、パケットフィルタリングアプライアンスが次のことを行うように構成された、非一時的コンピュータ可読媒体。
複数のパケットフィルタリングルールを受信することであって、前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダからのサイバーインテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定された、受信することと、
第1のネットワークから、第2のネットワーク宛ての転送中のパケットを受信することと、
前記転送中のパケットが前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールと一致すると決定することであって、前記第1のパケットフィルタリングルールが、マッチングパケットに適用される所定の処分を示さない、決定することに基づいて、前記転送中のパケットの観察時間に基づく脅威コンテキスト情報を決定することと、
前記脅威コンテキスト情報に基づいて、処分を決定することと、
前記転送中のパケットに前記処分を適用すること。
【請求項27】
前記命令は、実行されると、一定時間計算量または対数時間計算量を有する計算を使用して前記脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項26に記載の非一時的コンピュータ可読媒体。
【請求項28】
前記命令は、実行されると、前記パケットフィルタリングアプライアンスを、
前記脅威コンテキスト情報に基づいて、指令を決定することと、
前記指令を適用することと、を行うように構成する、請求項26に記載の非一時的コンピュータ可読媒体。
【請求項29】
前記転送中のパケットは、特定のパケット速度で前記パケットフィルタリングアプライアンスによって受信されている複数の転送中のパケットのうちの1つであり、前記命令は、実行されると、前記特定のパケット速度の逆数以下である時間枠内で前記処分を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項26に記載の非一時的コンピュータ可読媒体。
【請求項30】
前記命令は、実行されると、前記脅威コンテキスト情報を少なくとも、
前記転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される時点で、マルチパケットマルチフロー攻撃がアクティブであると決定することと、
前記転送中のパケットが前記第1のパケットフィルタリングルールと一致すると決定することに基づいて、前記転送中のパケットが前記マルチパケットマルチフロー攻撃のメンバーであるかどうかを決定することと、によって決定するように、前記パケットフィルタリングアプライアンスを構成し、
前記命令は、実行されると、前記転送中のパケットが、前記マルチパケットマルチフロー攻撃のメンバーであると決定されるかどうかに基づいて、前記処分を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項26に記載の非一時的コンピュータ可読媒体。
【請求項31】
方法であって、
第1のネットワークと第2のネットワークとの間の境界を横断する転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスによって、基準および実行されるアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダのサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定され、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、第1の基準、および前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後にアクションが決定されることを示す、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記第2のネットワーク宛ての第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1のアクションを決定すること、および
前記第1の転送中のパケットに、前記第1のアクションを適用すること、を行うことと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記第2のネットワーク宛ての第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、かつ前記第1のアクションを前記決定することから独立して、第2のアクションを決定すること、および
前記第2の転送中のパケットに、前記第2のアクションを適用すること、を行うことと、を含む、方法。
【請求項32】
前記第1のアクションは、第1の処分を含み、前記第2のアクションは、前記第1の処分とは異なる第2の処分を含む、請求項31に記載の方法。
【請求項33】
前記第1のアクションまたは前記第2のアクションの一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1のアクションまたは前記第2のアクションの他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項31に記載の方法。
【請求項34】
前記第1のアクションは、第1の指令を含み、前記第2のアクションは、前記第1の指令とは異なる第2の指令を含む、請求項31に記載の方法。
【請求項35】
前記第1の転送中のパケットに前記第1のアクションを適用することは、前記第2の転送中のパケットを前記受信する前に実行される、請求項31に記載の方法。
【請求項36】
前記第1の転送中のパケットに前記第1のアクションを適用することは、前記第2の転送中のパケットを前記受信する前に完了される、請求項31に記載の方法。
【請求項37】
前記第1の転送中のパケットに前記第1のアクションを適用することは、前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2のアクションを適用することを完了する前に、完了される、請求項31に記載の方法。
【請求項38】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項31に記載の方法。
【請求項39】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項31に記載の方法。
【請求項40】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項31に記載の方法。
【請求項41】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記第1のアクションを前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供することと、
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1のアクションの指示を受信することと、を含み、
前記第2のアクションを前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供することと、
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2のアクションの指示を受信することと、を含む、請求項31に記載の方法。
【請求項42】
第1のネットワークと第2のネットワークとの間の境界を横断する転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスであって、前記パケットフィルタリングアプライアンスは、
1つ以上のプロセッサと、
命令を記憶する1つ以上の非一時的コンピュータ可読媒体と、を備え、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスが、
基準および実行されるアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダのサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定され、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、第1の基準、および前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後にアクションが決定されることを示す、受信することと、
前記第1のネットワークから、かつ第1の時間に、前記第2のネットワーク宛ての第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、
前記第1の転送中のパケットを受信することと関連付けられた第1の脅威コンテキスト情報を決定することと、
前記第1の脅威コンテキスト情報に基づいて、第1のアクションを決定することと、
前記第1の転送中のパケットに、前記第1のアクションを適用することと、
前記第1のネットワークから、かつ第2の時間に、前記第2のネットワーク宛ての第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、
前記第2の転送中のパケットを受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定することと、
前記第2の脅威コンテキスト情報に基づいて、かつ前記第1のアクションを決定することから独立して、第2のアクションを決定することと、
前記第2の転送中のパケットに、前記第2のアクションを適用することと、を行うように構成する、パケットフィルタリングアプライアンス。
【請求項43】
前記第1のアクションは、第1の処分を含み、前記第2のアクションは、前記第1の処分とは異なる第2の処分を含む、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項44】
前記第1のアクションまたは前記第2のアクションの一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1のアクションまたは前記第2のアクションの他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項45】
前記第1のアクションは、第1の指令を含み、前記第2のアクションは、前記第1の指令とは異なる第2の指令を含む、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項46】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1のアクションを適用するように、前記パケットフィルタリングアプライアンスを構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項47】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1のアクションを適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項48】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信された後、かつ前記第2の転送中のパケットに前記第2のアクションを適用することを完了する前に、前記第1の転送中のパケットに前記第1のアクションを適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項49】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項50】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項51】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項52】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
前記第1のアクションを、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1のアクションの指示を受信すること、によって決定することと、
前記第2のアクションを、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2のアクションの指示を受信すること、によって決定することと、を行うように構成する、請求項42に記載のパケットフィルタリングアプライアンス。
【請求項53】
命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、第1のネットワークと第2のネットワークとの間の境界を横断する転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスの1つ以上のプロセッサによって実行されると、
前記パケットフィルタリングアプライアンスによって、基準および実行されるアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダのサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定され、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、第1の基準、および前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後にアクションが決定されることを示す、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記第2のネットワーク宛ての第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1のアクションを決定すること、および
前記第1の転送中のパケットに、前記第1のアクションを適用すること、を行うことと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記第2のネットワーク宛ての第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、かつ前記第1のアクションを前記決定することから独立して、第2のアクションを決定すること、および
前記第2の転送中のパケットに、前記第2のアクションを適用すること、を行うことと、を行わせる、1つ以上の非一時的コンピュータ可読媒体。
【請求項54】
前記第1のアクションは、第1の処分を含み、前記第2のアクションは、前記第1の処分とは異なる第2の処分を含む、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項55】
前記第1のアクションまたは前記第2のアクションの一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1のアクションまたは前記第2のアクションの他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項56】
前記第1のアクションは、第1の指令を含み、前記第2のアクションは、前記第1の指令とは異なる第2の指令を含む、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項57】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットに前記第1のアクションを適用することが、
前記第2の転送中のパケットを前記受信する前に実行され、
前記第2の転送中のパケットを前記受信する前に完了され、または
前記第2の転送中のパケットを前記受信する後、かつ前記第2の転送中のパケットに前記第2のアクションを適用することを完了する前に完了される、ようにする、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項58】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項59】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項60】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項53に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項61】
方法であって、
第1のネットワークから第2のネットワークへの境界を横断する複数の転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスによって、基準および実行されるアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングアプライアンスは、前記複数の転送中のパケットの各転送中のパケットを、前記複数の転送中のパケットのうちの直後の転送中のパケットを処理する前に、処理するように構成され、
前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダのサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定され、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、第1の基準、および前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後にアクションが決定されることを示す、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記複数の転送中のパケットのうちの第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1のアクションを決定すること、および
前記第1の転送中のパケットに、前記第1のアクションを適用すること、によって処理することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記複数の転送中のパケットのうちの第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを前記処理した後に、前記第2の転送中のパケットを、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、第2のアクションを決定すること、および
前記第2の転送中のパケットに、前記第2のアクションを適用すること、を含む、方法。
【請求項62】
前記第1のアクションは、第1の処分を含み、前記第2のアクションは、前記第1の処分とは異なる第2の処分を含む、請求項61に記載の方法。
【請求項63】
前記第1のアクションまたは前記第2のアクションの一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1のアクションまたは前記第2のアクションの他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項61に記載の方法。
【請求項64】
前記第1のアクションは、第1の指令を含み、前記第2のアクションは、前記第1の指令とは異なる第2の指令を含む、請求項61に記載の方法。
【請求項65】
前記第1の転送中のパケットに前記第1のアクションを適用することは、前記第2の転送中のパケットを前記受信する前に実行される、請求項61に記載の方法。
【請求項66】
前記第1の転送中のパケットに前記第1のアクションを適用することは、前記第2の転送中のパケットを前記受信する前に完了される、請求項61に記載の方法。
【請求項67】
前記第1の転送中のパケットに前記第1のアクションを適用することは、前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2のアクションを適用することを完了する前に、完了される、請求項61に記載の方法。
【請求項68】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項61に記載の方法。
【請求項69】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項61に記載の方法。
【請求項70】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項61に記載の方法。
【請求項71】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記第1のアクションを前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供することと、
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1のアクションの指示を受信することと、を含み、
前記第2のアクションを前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供することと、
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2のアクションの指示を受信することと、を含む、請求項61に記載の方法。
【請求項72】
第1のネットワークから第2のネットワークへの境界を横断する複数の転送中のパケットの各々を、前記複数の転送中のパケットのうちの直後の転送中のパケットを処理する前に、処理するように構成されたパケットフィルタリングアプライアンスであって、
1つ以上のプロセッサと、
命令を記憶する1つ以上の非一時的コンピュータ可読媒体と、を備え、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
基準および実行されるアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダのサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定され、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、第1の基準、および前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後にアクションが決定されることを示す、受信することと、
前記第1のネットワークから、かつ第1の時間に、前記複数の転送中のパケットのうちの第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記第1の転送中のパケットを、
前記第1の転送中のパケットを受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1のアクションを決定すること、および
前記第1の転送中のパケットに、前記第1のアクションを適用すること、によって処理することと、
前記第1のネットワークから、かつ第2の時間に、前記複数の転送中のパケットのうちの第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが前記第1の転送中のパケットを処理した後に、前記第2の転送中のパケットを、
前記第2の転送中のパケットを受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、第2のアクションを決定すること、および
前記第2の転送中のパケットに、前記第2のアクションを適用すること、によって処理することと、を行うように構成する、パケットフィルタリングアプライアンス。
【請求項73】
前記第1のアクションは、第1の処分を含み、前記第2のアクションは、前記第1の処分とは異なる第2の処分を含む、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項74】
前記第1のアクションまたは前記第2のアクションの一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1のアクションまたは前記第2のアクションの他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項75】
前記第1のアクションは、第1の指令を含み、前記第2のアクションは、前記第1の指令とは異なる第2の指令を含む、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項76】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1のアクションを適用するように、前記パケットフィルタリングアプライアンスを構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項77】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1のアクションを適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項78】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信された後、かつ前記第2の転送中のパケットに前記第2のアクションを適用することを完了する前に、前記第1の転送中のパケットに前記第1のアクションを適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項79】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項80】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項81】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項82】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
前記第1のアクションを、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1のアクションの指示を受信すること、よって決定することと、
前記第2のアクションを、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2のアクションの指示を受信すること、によって決定することと、を行うように構成する、請求項72に記載のパケットフィルタリングアプライアンス。
【請求項83】
命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、第1のネットワークから第2のネットワークへの境界を横断する複数の転送中のパケットの各々を、前記複数の転送中のパケットのうちの直後の転送中のパケットを処理する前に、処理するように構成されたパケットフィルタリングアプライアンスの1つ以上のプロセッサによって実行されると、
前記パケットフィルタリングアプライアンスによって、基準および実行されるアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダのサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定され、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、第1の基準、および前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後にアクションが決定されることを示す、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記複数の転送中のパケットのうちの第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1のアクションを決定すること、および
前記第1の転送中のパケットに、前記第1のアクションを適用すること、によって処理することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記複数の転送中のパケットのうちの第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記第1の基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを前記処理した後に、前記第2の転送中のパケットを、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、第2のアクションを決定すること、および
前記第2の転送中のパケットに、前記第2のアクションを適用すること、によって処理することと、を行わせる、1つ以上の非一時的コンピュータ可読媒体。
【請求項84】
前記第1のアクションは、第1の処分を含み、前記第2のアクションは、前記第1の処分とは異なる第2の処分を含む、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項85】
前記第1のアクションまたは前記第2のアクションの一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1のアクションまたは前記第2のアクションの他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項86】
前記第1のアクションは、第1の指令を含み、前記第2のアクションは、前記第1の指令とは異なる第2の指令を含む、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項87】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットに前記第1のアクションを適用することが、
前記第2の転送中のパケットを前記受信する前に実行され、
前記第2の転送中のパケットを前記受信する前に完了され、または
前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2のアクションを適用することを完了する前に完了される、ようにする、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項88】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項89】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項90】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項83に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項91】
方法であって、
第1のネットワークと第2のネットワークとの間の境界を横断する転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスによって、1つ以上の基準および実行される1つ以上のアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、1つ以上のサイバー脅威インテリジェンスプロバイダからの複数のサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて自動的に生成され、前記複数の脅威インジケータは、前記1つ以上のサイバー脅威インテリジェンスプロバイダによって識別された1つ以上のネットワーク脅威と関連付けられた複数のネットワークアドレスを含み、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、少なくとも1つの基準を示し、処分指示を含み、前記処分指示は、前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後に決定される処分に対応する、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記第2のネットワーク宛ての第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1の処分を決定すること、
前記第1の処分に基づいて、第1の指示を決定すること、および
前記第1の転送中のパケットに前記第1の処分および前記第1の指令を適用すること、を実行することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記第2のネットワーク宛ての第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、かつ前記第1の処分を前記決定することから独立して、第2の処分を決定すること、
前記第2の処分に基づいて、第2の指令を決定すること、および
前記第2の転送中のパケットに前記第2の処分および前記第2の指令を適用すること、を実行することと、含む、方法。
【請求項92】
前記第2の処分は、前記第1の処分と同じ処分であり、前記第2の指令は、前記第1の指令とは異なる指令である、請求項91に記載の方法。
【請求項93】
前記第1の処分または前記第2の処分の一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1の処分または前記第2の処分の他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項91に記載の方法。
【請求項94】
前記第2の処分が、前記第1の処分とは異なる、請求項91に記載の方法。
【請求項95】
前記第1の転送中のパケットに前記第1の処分を適用することは、前記第2の転送中のパケットを前記受信する前に実行される、請求項91に記載の方法。
【請求項96】
前記第1の転送中のパケットに前記第1の処分を適用することは、前記第2の転送中のパケットを前記受信する前に完了される、請求項91に記載の方法。
【請求項97】
前記第1の転送中のパケットに前記第1の処分を適用することは、前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2の処分を適用することを完了する前に、完了される、請求項91に記載の方法。
【請求項98】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項91に記載の方法。
【請求項99】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項91に記載の方法。
【請求項100】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項91に記載の方法。
【請求項101】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記第1の処分を前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1の処分の指示を受信すること、を含み、
前記第2の処分を前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2の処分の指示を受信すること、を含む、請求項91に記載の方法。
【請求項102】
第1のネットワークと第2のネットワークとの間の境界を横断する転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスであって、前記パケットフィルタリングアプライアンスは、
1つ以上のプロセッサと、
命令を記憶する1つ以上の非一時的コンピュータ可読媒体と、を備え、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
1つ以上の基準および実行される1つ以上のアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、1つ以上のサイバー脅威インテリジェンスプロバイダからの複数のサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて自動的に生成され、前記複数の脅威インジケータは、前記1つ以上のサイバー脅威インテリジェンスプロバイダによって識別された1つ以上のネットワーク脅威と関連付けられた複数のネットワークアドレスを含み、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、少なくとも1つの基準を示し、処分指示を含み、前記処分指示は、前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後に決定される処分に対応する、受信することと、
前記第1のネットワークから、かつ第1の時間に、前記第2のネットワーク宛ての第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定することと、
前記第1の脅威コンテキスト情報に基づいて、第1の処分を決定することと、
前記第1の処分に基づいて、第1の指令を決定することと、
前記第1の転送中のパケットに前記第1の処分および前記第1の指令を適用することと、
前記第1のネットワークから、かつ第2の時間に、前記第2のネットワーク宛ての第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、
前記第2の転送中のパケットを受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定することと、
前記第2の脅威コンテキスト情報に基づいて、および前記第1の処分を決定することから独立して、第2の処分を決定することと、
前記第2の処分に基づいて、第2の指令を決定することと、
前記第2の転送中のパケットに前記第2の処分および前記第2の指令を適用することと、を行うように構成する、パケットフィルタリングアプライアンス。
【請求項103】
前記第2の処分は、前記第1の処分と同じ処分であり、前記第2の指令は、前記第1の指令とは異なる指令である、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項104】
前記第1の処分または前記第2の処分の一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1の処分または前記第2の処分の他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項105】
前記第2の処分が、前記第1の処分とは異なる、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項106】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1の処分を適用するように、前記パケットフィルタリングアプライアンスを構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項107】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1の処分を適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項108】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信された後、かつ前記第2の転送中のパケットに前記第2の処分を適用することを完了する前に、前記第1の転送中のパケットに前記第1の処分を適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項109】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項110】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記第1の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項111】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項112】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
前記第1の処分を、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1の処分の指示を受信すること、によって決定することと、
前記第2の処分を、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2の処分の指示を受信すること、によって決定することと、を行うように構成する、請求項102に記載のパケットフィルタリングアプライアンス。
【請求項113】
命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、第1のネットワークと第2のネットワークとの間の境界を横断する転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスの1つ以上のプロセッサによって実行されると、
前記パケットフィルタリングアプライアンスによって、1つ以上の基準および実行される1つ以上のアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、1つ以上のサイバー脅威インテリジェンスプロバイダからの複数のサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて自動的に生成され、前記複数の脅威インジケータは、前記1つ以上のサイバー脅威インテリジェンスプロバイダによって識別された1つ以上のネットワーク脅威と関連付けられた複数のネットワークアドレスを含み、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、少なくとも1つの基準を示し、処分指示を含み、前記処分指示は、前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後に決定される処分に対応する、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記第2のネットワーク宛ての第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1の処分を決定すること、
前記第1の処分に基づいて、第1の指示を決定すること、および
前記第1の転送中のパケットに前記第1の処分および前記第1の指令を適用すること、を実行することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記第2のネットワーク宛ての第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、かつ前記第1の処分を前記決定することから独立して、第2の処分を決定すること、
前記第2の処分に基づいて、第2の指令を決定すること、ならびに
前記第2の転送中のパケットに前記第2の処分および前記第2の指令を適用すること、を実行することと、を行わせる、1つ以上の非一時的コンピュータ可読媒体。
【請求項114】
前記第2の処分は、前記第1の処分と同じ処分であり、前記第2の指令は、前記第1の指令とは異なる指令である、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項115】
前記第1の処分または前記第2の処分の一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1の処分または前記第2の処分の他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項116】
前記第2の処分は、前記第1の処分とは異なる、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項117】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットに前記第1の処分を適用することが、
前記第2の転送中のパケットを前記受信する前に実行され、
前記第2の転送中のパケットを前記受信する前に完了され、または
前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2の処分を適用することを完了する前に完了される、ようにする、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項118】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項119】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項120】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項113に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項121】
方法であって、
第1のネットワークと第2のネットワークとの間の境界を横断する複数の転送中のパケットを処理するように構成されたパケットフィルタリングアプライアンスによって、1つ以上の基準および実行される1つ以上のアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングアプライアンスは、前記複数の転送中のパケットの各転送中のパケットを、前記複数の転送中のパケットのうちの直後の転送中のパケットを処理する前に、処理するように構成され、
前記パケットフィルタリングルールは、1つ以上のサイバー脅威インテリジェンスプロバイダからの複数のサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて自動的に生成され、前記複数の脅威インジケータは、前記1つ以上のサイバー脅威インテリジェンスプロバイダによって識別された1つ以上のネットワーク脅威と関連付けられた複数のネットワークアドレスを含み、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、少なくとも1つの基準および処分指示を示し、前記処分指示は、前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後に決定される処分に対応する、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記複数の転送中のパケットのうちの第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1の処分を決定すること、
前記第1の処分に基づいて、第1の指示を決定すること、および
前記第1の転送中のパケットに前記第1の処分および前記第1の指令を適用すること、によって処理することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記複数の転送中のパケットのうちの第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを前記処理した後に、前記第2の転送中のパケットを、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、第2の処分を決定すること、
前記第2の処分に基づいて、第2の指令を決定すること、ならびに
前記第2の転送中のパケットに前記第2の処分および前記第2の指令を適用すること、によって処理することと、を含む、方法。
【請求項122】
前記第2の処分は、前記第1の処分と同じ処分であり、前記第2の指令は、前記第1の指令とは異なる指令である、請求項121に記載の方法。
【請求項123】
前記第1の処分または前記第2の処分の一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1の処分または前記第2の処分の他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項121に記載の方法。
【請求項124】
前記第2の処分が、前記第1の処分とは異なる、請求項121に記載の方法。
【請求項125】
前記第1の転送中のパケットに前記第1の処分を適用することは、前記第2の転送中のパケットを前記受信する前に実行される、請求項121に記載の方法。
【請求項126】
前記第1の転送中のパケットに前記第1の処分を適用することは、前記第2の転送中のパケットを前記受信する前に完了される、請求項121に記載の方法。
【請求項127】
前記第1の転送中のパケットに前記第1の処分を適用することは、前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2の処分を適用することを完了する前に、完了される、請求項121に記載の方法。
【請求項128】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項121に記載の方法。
【請求項129】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項121に記載の方法。
【請求項130】
前記第1の脅威コンテキスト情報を前記決定することは、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することを含む、請求項121に記載の方法。
【請求項131】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記第1の処分を前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1の処分の指示を受信すること、を含み、
前記第2の処分を前記決定することは、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2の処分の指示を受信すること、を含む、請求項121に記載の方法。
【請求項132】
第1のネットワークと第2のネットワークとの間の境界を横断する複数の転送中のパケットの各々を、前記複数の転送中のパケットのうちの直後の転送中のパケットを処理する前に、処理するように構成されたパケットフィルタリングアプライアンスであって、
1つ以上のプロセッサと、命令を記憶する1つ以上の非一時的コンピュータ可読媒体と、を備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
1つ以上の基準および実行される1つ以上のアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、1つ以上のサイバー脅威インテリジェンスプロバイダからの複数のサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて自動的に生成され、前記複数の脅威インジケータは、前記1つ以上のサイバー脅威インテリジェンスプロバイダによって識別された1つ以上のネットワーク脅威と関連付けられた複数のネットワークアドレスを含み、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、少なくとも1つの基準および処分指示を示し、前記処分指示は、前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後に決定される処分に対応する、受信することと、
前記第1のネットワークから、かつ第1の時間に、前記複数の転送中のパケットのうちの第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記第1の転送中のパケットを、
前記第1の転送中のパケットを受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1の処分を決定すること、
前記第1の処分に基づいて、第1の指示を決定すること、および
前記第1の転送中のパケットに前記第1の処分および前記第1の指令を適用すること、によって処理することと、
前記第1のネットワークから、かつ第2の時間に、前記複数の転送中のパケットのうちの第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが前記第1の転送中のパケットを処理した後に、前記第2の転送中のパケットを、
前記第2の転送中のパケットを受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、第2の処分を決定すること、
前記第2の処分に基づいて、第2の指令を決定すること、および
前記第2の転送中のパケットに前記第2の処分および前記第2の指令を適用すること、によって処理することと、を行うように構成した、パケットフィルタリングアプライアンス。
【請求項133】
前記第2の処分は、前記第1の処分と同じ処分であり、前記第2の指令は、前記第1の指令とは異なる指令である、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項134】
前記第1の処分または前記第2の処分の一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1の処分または前記第2の処分の他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項135】
前記第2の処分が、前記第1の処分とは異なる、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項136】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1の処分を適用するように、前記パケットフィルタリングアプライアンスを構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項137】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信される前に、前記第1の転送中のパケットに前記第1の処分を適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項138】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第2の転送中のパケットが前記パケットフィルタリングアプライアンスによって受信された後、かつ前記第2の転送中のパケットに前記第2の処分を適用することを完了する前に、前記第1の転送中のパケットに前記第1の処分を適用することを完了するように、前記パケットフィルタリングアプライアンスを構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項139】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項140】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項141】
前記命令は、前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定するように、前記パケットフィルタリングアプライアンスを構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項142】
前記第1の脅威コンテキスト情報は、第1の複数の情報要素を含み、前記第2の脅威コンテキスト情報は、第2の複数の情報要素を含み、
前記パケットフィルタリングアプライアンスは、複数の入力ノードおよび複数の出力ノードを含む人工ニューラルネットワークを含み、
前記命令は、前記1つ以上のプロセッサによって実行されると、前記パケットフィルタリングアプライアンスを、
前記第1の処分を、
前記人工ニューラルネットワークの前記複数の入力ノードのうちの少なくともいくつかに、前記第1の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第1の処分の指示を受信すること、によって決定することと、
前記第2の処分を、
前記人工ニューラルネットワークの前記複数の入力ノードの少なくともいくつかに、前記第2の複数の情報要素を提供すること、および
前記人工ニューラルネットワークの前記複数の出力ノードのうちの少なくとも1つを介して、前記第2の処分の指示を受信すること、によって決定することと、を行うように構成する、請求項132に記載のパケットフィルタリングアプライアンス。
【請求項143】
命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、第1のネットワークと第2のネットワークとの間の境界を横断する複数の転送中のパケットの各々を、前記複数の転送中のパケットのうちの直後の転送中のパケットを処理する前に、処理するように構成されたパケットフィルタリングアプライアンスの1つ以上のプロセッサによって実行されると、
前記パケットフィルタリングアプライアンスによって、1つ以上の基準および実行される1つ以上のアクションを各々が示す複数のパケットフィルタリングルールを受信することであって、
前記パケットフィルタリングルールは、1つ以上のサイバー脅威インテリジェンスプロバイダからの複数のサイバー脅威インテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて自動的に生成され、前記複数の脅威インジケータは、前記1つ以上のサイバー脅威インテリジェンスプロバイダによって識別された1つ以上のネットワーク脅威と関連付けられた複数のネットワークアドレスを含み、
前記複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールは、少なくとも1つの基準および処分指示を示し、前記処分指示は、前記第1のパケットフィルタリングルールと一致する転送中のパケットが受信された後に決定される処分に対応する、受信することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第1の時間に、前記複数の転送中のパケットのうちの第1の転送中のパケットを受信することと、
前記第1の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを、
前記第1の転送中のパケットを前記受信することと関連付けられた第1の脅威コンテキスト情報を決定すること、
前記第1の脅威コンテキスト情報に基づいて、第1の処分を決定すること、
前記第1の処分に基づいて、第1の指示を決定すること、および
前記第1の転送中のパケットに前記第1の処分および前記第1の指令を適用すること、によって処理することと、によって処理することと、
前記パケットフィルタリングアプライアンスによって、前記第1のネットワークから、かつ第2の時間に、前記複数の転送中のパケットのうちの第2の転送中のパケットを受信することと、
前記第2の転送中のパケットが前記第1のパケットフィルタリングルールの前記少なくとも1つの基準と一致すると決定することに基づいて、前記パケットフィルタリングアプライアンスが、前記第1の転送中のパケットを前記処理した後に、前記第2の転送中のパケットを、
前記第2の転送中のパケットを前記受信することと関連付けられた第2の脅威コンテキスト情報を決定することであって、前記第2の脅威コンテキスト情報は、前記第1の脅威コンテキスト情報とは異なる少なくとも1つの値を有する、決定すること、
前記第2の脅威コンテキスト情報に基づいて、第2の処分を決定すること、
前記第2の処分に基づいて、第2の指令を決定すること、および
前記第2の転送中のパケットに前記第2の処分および前記第2の指令を適用すること、によって処理することと、を行わせる、1つ以上の非一時的コンピュータ可読媒体。
【請求項144】
前記第2の処分は、前記第1の処分と同じ処分であり、前記第2の指令は、前記第1の指令とは異なる指令である、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項145】
前記第1の処分または前記第2の処分の一方は、前記第1の転送中のパケットが前記第2のネットワークに進むことを可能にすることであり、前記第1の処分または前記第2の処分の他方は、前記第2の転送中のパケットが前記第2のネットワークに進むことをブロックすることである、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項146】
前記第2の処分は、前記第1の処分とは異なる、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項147】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットに前記第1の処分を適用することが、
前記第2の転送中のパケットを前記受信する前に実行され、
前記第2の転送中のパケットを前記受信する前に完了され、または
前記第2の転送中のパケットを前記受信した後、かつ前記第2の転送中のパケットに前記第2の処分を適用することを完了する前に完了される、ようにする、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項148】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットの観察時間に基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項149】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブである攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【請求項150】
前記命令は、前記パケットフィルタリングアプライアンスの前記1つ以上のプロセッサによって実行されると、前記第1の転送中のパケットが、前記パケットフィルタリングアプライアンスによって受信される時点でアクティブであるマルチパケットマルチフロー攻撃のメンバーであるかどうかに基づいて、前記第1の脅威コンテキスト情報を決定することによって、前記第1の脅威コンテキスト情報を前記決定することを行わせる、請求項143に記載の1つ以上の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月20日に出願された米国出願第17/235,544号(現米国特許第11,159,546号)、2021年10月22日に出願された米国出願第17/508,596号(現米国特許第11,316,876号)、2021年10月22日に出願された米国出願第17/508,614号、2022年3月15日に出願された米国出願第17/695,047号、および2022年4月5日に出願された米国出願第17/713,827号の優先権を主張し、これらの内容は、参照によりそれらの全体が本明細書に明示的に組み込まれる。
【0002】
本明細書で説明される発明(以下、「開示」ということがある)の態様は、概して、コンピュータハードウェアおよびソフトウェア並びにネットワークセキュリティに関する。具体的には、本開示の1つ以上の態様は、概して、転送中のパケット(in-transit packet)が観察される時点の脅威コンテキストに応じて、各転送中のパケットについて実行されるアクション(例えば、処分および/または指令)を決定する(例えば、各転送中のパケットをブロックするか、または許可するか)転送中のパケットの効率的なフィルタリングのためのコンピュータハードウェアおよびソフトウェアに関する。他の態様および他の特徴も本明細書で説明される。
【背景技術】
【0003】
情報時代が進むにつれて、伝送制御プロトコル/インターネットプロトコル(TCP/IP)ネットワークセキュリティはますます重要になっている。ネットワークの脅威/攻撃は、様々な形態(例えば、許可されていない要求またはデータ転送、ウイルス、マルウェア、リソースを圧倒するように設計された大量のトラフィックなど)をとり得る。
【0004】
これらの脅威および攻撃に対抗するために、様々なサイバー防御方法やシステムが開発され、導入されている。サイバー防御の重要な構成要素は、パケットフィルタリングルールのセットを転送中のレイヤ3/インターネットプロトコル(L3/IP)パケットに適用し、各パケットを宛先に向けて許可/推進するか、パケットをブロック/ドロップするかを決定するネットワークアプライアンス(例えば、パケットフィルタリングアプライアンス)である。これらのパケットフィルタリングアプライアンスは、企業ネットワークなどのプライベートネットワークとパブリックインターネットとの間の境界に配置されたリンクにインラインで挿入され得、何らかの方式でプライベートネットワークを保護する、または別様に守るように設計され得るパケットフィルタリングルールのセット、すなわちポリシーを用いて構成され得る。例えば、初期世代のネットワークファイアウォールは、典型的には、内部ホストがアクセスを許可され得るインターネットサービス(すなわち、インターネットホストと関連付けられた周知のポート)、および逆に、どの内部リソースがどの(未承諾の)インターネットホストによってアクセスされ得るかなど、プライベートネットワークのアクセス制御ポリシーを施行するパケットフィルタリングルールを用いて構成される。別の例では、現在世代のパケットフィルタリングアプライアンスは、脅威インテリジェンスゲートウェイ(TIG)を含み、これは、サイバー脅威インテリジェンス(CTI)プロバイダによって識別されているサイバー脅威のネットワークアドレス、例えば、IPアドレス、5タプル値、ドメイン名、URIなどに対応するパケット一致基準を有するパケットフィルタリングルールを用いて構成され得る。
【0005】
パケットフィルタリングルールの構文およびセマンティクスのために必要とされる正式な標準は存在しないが、パケットフィルタリングアプライアンスは、典型的には、一般に、この高レベルの例示的な代表的なスキーマに準拠するパケットフィルタリングルールをサポートする。<処分(disposition)><指令(directives)><一致基準(matching-criteria)>;<メタデータ(metadata)>、ここで、<処分>は、例えば、ルールと一致するパケットをブロック/拒否/ドロップ(本明細書では一般に「ブロック」と称される)または許可/通過/推進(本明細書では一般に「許可」と称される)することのうちの1つであり、<一致基準>は、インターネット層(L3)、トランスポート層(L4)、およびアプリケーション層ヘッダフィールド値、例えば、送信元および宛先IPアドレス、プロトコル、送信元および宛先ポート、ドメイン名、Uniform Resource Locator(URL)またはUniform Resource Name(URN)などのUniform Resource Identifier(URI)のいくつかの組み合わせ、に対応し、<メタデータ>は、パケットおよび/またはルールについてアプリケーションに通知するために使用され得るルールと関連付けられた情報であり、例えば、メタデータは、一致基準のソースを示してもよく、例えば、サイバー状況認識、サイバー分析、サイバー防御、サイバーネットワーク保護などのためのアプリケーションによって処理され得る関連するログに含まれてもよい。<指令>は、パケットフィルタリングアプライアンスの動作アプリケーション論理に、指令と関連付けられた論理に従ってマッチングパケットを処理するように指示する信号であり得る。例えば、この論理は、(例えば、「ログ」、「フローログ」、「キャプチャ」、「ミラー」、「リダイレクト」、「スプーフ-tcp-rst」などの指令によって信号送信された)マッチングパケットに適用され得る追加のパケット処理アクションおよび/またはポリシー処理アクションであってもよく、パケット流入時(「イン」)、パケット流出時(「アウト」)、またはその両方(「インアウト」)にルールを(条件付きで)適用するかどうか、ポリシー内の後続のルールをマッチングパケットに適用することを(条件付きで)継続するかどうか(「継続」または「クイック」)、ルールをパケットフィルタリングアプライアンスの特定のインターフェースと関連付けることなどであってもよい。
【0006】
サイバー防御への1つのアプローチは、悪意のあるアクティビティと関連付けられ得るインターネットホストによって管理されるインターネットホストおよび/またはリソースである、インターネットの脅威と関連付けられたパケットをフィルタリングすることである。これらの脅威は、脅威に関するCTIレポートを公開するサイバー脅威インテリジェンス(CTI)プロバイダ組織によって調査および識別され得る。CTIレポートは、脅威インジケータを含んでもよく、これは、悪意のあるアクティビティに関与し得るインターネットホストおよび/またはリソースと関連付けられた、IPアドレス、5タプル、ドメイン名、URIなどの形態のネットワークアドレスであってもよい。脅威インジケータは、複数のCTIプロバイダ組織から収集され、脅威インジケータに対応する一致基準を有するパケットフィルタリングルールで構成されるセット/ポリシーを作成するために使用され得る。脅威インジケータから生成されたそのようなパケットフィルタリングルールは、以下「脅威インジケータルール」と称され、脅威インジケータルールのセットは、インターネットの脅威からネットワークを保護するための「CTIベースのポリシー」を含む。保護されているネットワーク(例えば、プライベートネットワーク)と保護されていない可能性のあるネットワーク(例えば、インターネットなどのパブリックネットワーク)との間の境界に配置されるパケットフィルタリングアプライアンスは、これらのポリシーを用いて構成されてもよく、境界を横断する全ての転送中のパケットにそれらを適用してもよく、それによって、例えば、脅威と関連付けられたパケットをブロック/ドロップすることによって、プライベートネットワークをインターネットの脅威から保護する。ゲートウェイは、CTIで保護されたネットワークと保護されていないネットワークとの間など、2つの異なるネットワーク間の境界におけるインターフェースであるため、ポリシーを施行するためにCTIベースのポリシーおよび論理を用いて構成されるそのようなパケットフィルタリングアプライアンスは、脅威インテリジェンスゲートウェイ(TIG)と呼ばれ得る。
【0007】
このCTIベースのサイバー防御アプローチは簡単に見え得るが、いくつかの理由でそうではない。1つの理由は、脅威インジケータと関連付けられた脅威リスクは、例えば、脅威インジケータと一致するヘッダフィールド値を有する転送中のパケットが、必ずしも悪意のあるアクティビティと関連付けられ得ず、代わりに、正当なビジネスアクティビティまたはいくつかの良性のアクティビティと関連付けられ得るという意味で決定論的ではあり得ないということである。例えば、ウェブサイトホスティングサービスは、複数のドメインをホストするために単一のIPアドレスを使用し得る。ドメインの1つは悪意のあるアクティビティに関与している可能性があるが、他のドメインは正当なアクティビティにのみ関与している。CTIプロバイダは、1つの悪意のあるドメインと関連付けられた悪意のあるアクティビティを検出し得るが、脅威インジケータとしてドメインの全ての単一のIPアドレスを公開し得、さらに、CTIプロバイダは、そのような脅威インジケータに高い信頼性、高いリスクスコア、推奨される処分(例えば、「ブロック」)などを割り当て/関連付け得る。そのようなCTIおよび関連する脅威インジケータの消費者は、それを望ましくないと考え、それを適用する前にそのようなCTIを除外することを望む場合がある。さらに、除外されるものは、所与の消費者にとって相対的/コンテキスト的であり得る。例えば、企業は、CTIプロバイダの脅威インジケータフィードをサブスクライブしてもよいが、例えば、ホストがマルウェアおよび/または悪意のあるアクターによって危険にさらされている可能性があるため、企業自体のネットワーク化されたホストおよびリソースが脅威インジケータとしてリストされていることを発見し得る。
【0008】
したがって、脅威インジケータルールを作成するとき、消費者は、例えば、正当なビジネストラフィックをブロックする可能性があるという理由で、関連するCTIプロバイダが、高い信頼性で「ブロック」を推奨している場合でも、デフォルトで「ブロック」処分を選択しない場合がある。これにより、ネットワークに対する実際の攻撃を脅威ではないと誤って指定し、潜在的に攻撃をブロックするのではなくブロックする可能性がある。逆に、他のよりリスク回避的な消費者は、ネットワーク化されたリソースを攻撃し、損傷させる悪意のあるトラフィックを許可する可能性があるという理由で、デフォルトで「許可」処分(および潜在的な脅威を監視するように構成されたパケット処理アクション/指令)を選択しないことを選択し得、これは、偽陰性とみなされ得る。加えて、消費者が、CTIプロバイダの公開された推奨にもかかわらず、「ブロック」または「許可」処分を選択するかどうかについて不確実であり得る他の理由があり、かつ、ネットワークを最善に保護し得る処分(ブロックまたは許可)が、まだ受信されていない将来のパケットに適用されることを意図したネットワーク保護ポリシーを含む脅威インジケータルールを作成するときには、容易に決定され得ない他の理由がある。
【0009】
したがって、脅威インジケータと関連付けられた脅威リスクが、本質的に不確実、主観的、および/または確率的(例えば、[0、1]の範囲内のリスク確率)である場合、対して、本質的に決定論的、客観的、またはバイナリ(すなわち、「全てのリスク」リスク確率=1、または「リスクなし」リスク確率=0)である場合、脅威インジケータルールの処分、すなわち、「ブロック」または「許可」を事前に決定することは問題となり得る。同様に、これらの指令は、多くの場合、処分、脅威インジケータと関連付けられたリスク、および/または他の要因と相関するため、脅威インジケータルールに対する任意の指令を事前に決定することが問題になる可能性がある。
【0010】
したがって、保護されたネットワークとインターネットなどのパブリックネットワークとの間の境界を横断する転送中のパケットへの脅威インジケータルールの適用と関連するネットワーク保護コンピュータ論理および技術の改善に対する必要性が存在する。これらの改善は、インターネットの脅威に対するサイバー防御の改善を目的とする。
【発明の概要】
【0011】
以下に、本開示のいくつかの態様の基本的な理解を構築するために、簡略化された概要を提示する。これは、本開示の主要または重要な要素を識別することも、本開示の範囲を描写することも意図されない。以下の概要は、以下の詳細な説明の前置きとして、本開示のいくつかの概念を単純化された形式で提示するに過ぎない。
【0012】
本明細書で説明されるようないくつかの態様によれば、脅威インジケータルールの処分(例えば、「ブロック」または「許可」)の決定、並びに転送中のパケット (in-transit packet) に適用される1つ以上の指令の決定は、脅威インジケータルールと一致する転送中のパケットが観察されるまで遅延され得る。パケットフィルタリングアプライアンスによるルールマッチングパケットの観察に基づいて(例えば、パケットの受信または観察に応答して、および/またはパケットの受信または観察後に)、パケットフィルタリングアプライアンスの論理は、脅威インジケータルールが作成された時点で利用可能ではなかった、適用可能ではなかった、または別様に知られていなかった脅威コンテキスト情報を効率的に計算、アクセス、および/または別様に決定し得る。そのような脅威コンテキスト情報は、処分(例えば、ブロックまたは許可)を決定する論理への入力として、並びに転送中のパケットに適用するための指令として使用され得る。これは、転送中のパケットを受信する前に事前に決定された処分および指令を単独で使用するのと比較して、ネットワークをより良好に保護する転送中のパケットに処分および/または指令が適用されることをもたらし得る。転送中のパケットの処分および指令を決定するために使用され得る脅威コンテキスト情報は、例えば、パケット観察/フィルタリング時間、関連するパケットフィルタリングアプライアンスの位置および/若しくは管理者、および/若しくは関連するネットワークおよび/若しくはインターネットに接続された他のネットワーク上のアクティブな攻撃にパケットが関連付けられているかどうかを含んでもよい。
【0013】
したがって、脅威インジケータルールが作成/生成される時点で、脅威インジケータルールに対して新しい処分が指定され得る。便宜上および例示のみを目的として、この新しい処分は、本明細書では「保護」処分と称されるが、この新しい処分は、「未定義」、「中立」、「TBD」、および/または所望の通りに任意の他の名称など、所望の通りに任意の名称を割り当てられ得る。代替的に、ルールは、全く処分および/または指令(例えば、ヌル、ブランク、または不足している処分および/または指令)を割り当てられず、不足している処分および/または指令に基づいて、ネットワークアプライアンスの論理は、観察された転送中のパケットと関連付けられた脅威コンテキスト情報を使用して、処分および/または1つ以上の指令を決定(例えば、計算)し得る。更なる例では、ルールは、第1の処分(例えば、「ブロック」、「許可」など)および/または第1の1つ以上の指令を割り当てられてもよく、観察された転送中のパケットに基づいて、かつ脅威コンテキスト情報に基づいて、ネットワークアプライアンスの論理は、異なる第2の処分および/または異なる第2の1つ以上の指令を決定(例えば、計算)し得る。なおも更なる例では、ルールは、「ブロック」処分または「許可」処分(または任意の他の処分)を割り当てられてもよく、また、脅威コンテキスト情報が転送中のパケット観察時間にそのルールのために使用されることを示すフラグまたは信号などのインジケータを割り当てられ得、または別様に関連付けられ得る。そのようなインジケータの例は、例えば、単純な1ビットフラグがあり得、インジケータの1つの値が、割り当てられた処分が正しいことをTIGまたは他のパケットフィルタリングアプライアンスに信号送信し、インジケータの別の値が、割り当てられた処分が柔軟であることおよび/または処分が転送中のパケット観察時間に計算されることをTIGまたは他のパケットフィルタリングアプライアンスに信号送信する。これらの状況のいずれかにおいて、所定の処分を示さないルール(例えば、「保護」処分を有するルール、または不足/空白処分を有するルール、または上で考察されたインジケータを有するルール)と一致する転送中のパケットを受信して観察すると、パケットフィルタリングアプライアンス(例えば、TIG)は、脅威コンテキスト情報を使用して、実際にパケットに適用される処分、例えば、「ブロック」または「許可」、並びに関連する脅威からネットワークを最善に保護し得る1つ以上の指令を効率的に計算し得、次いで、計算された処分および指令を転送中のパケットに適用し得る。転送中のパケットの処分および/または指令の効率的な決定(例えば、計算)および適用は、次の転送中のパケットを処理/フィルタリングする前に、および/または次の転送中のパケットがパケットフィルタリングアプライアンスによって受信される前に完了してもよい。したがって、計算および適用は、パケット伝送速度および関連するトラフィック負荷にかかわらず、転送中のパケットが、関連するネットワーク化されたアプリケーションのパフォーマンスに有意に影響を与え得る過度のレイテンシおよび/またはパケットドロップを行わせることなく処理/フィルタリングされ得るように、十分に効率的であり得る。
【0014】
本明細書で説明される更なる態様は、パケットフィルタリングアプライアンスによって1つ以上のサイバー脅威インテリジェンスプロバイダから、1つ以上の脅威インジケータを受信することと、1つ以上の脅威インジケータと関連付けられた複数のパケットフィルタリングルールを決定することと、複数のパケットフィルタリングルールでパケットフィルタリングアプライアンスを構成することと、転送中のパケットを受信することと、転送中のパケットが複数のパケットフィルタリングルールのうちのルールと一致すると決定することと、ルールに基づいて、転送中のパケットを受信する前に事前に決定されなかった脅威コンテキスト情報を決定することと、脅威コンテキスト情報に基づいて処分および/または1つ以上の指令を決定することと、処分および/または1つ以上の指令を転送中のパケットに適用することと、を対象とする。
【0015】
本明細書で説明される更なる態様は、パケットフィルタリングアプライアンスによって1つ以上のサイバー脅威インテリジェンスプロバイダから、1つ以上の脅威インジケータを受信することと、1つ以上の脅威インジケータと関連付けられた複数のパケットフィルタリングルールを決定することと、複数のパケットフィルタリングルールでパケットフィルタリングアプライアンスを構成することと、転送中のパケットを受信することと、複数のルールのうちの、転送中のパケットと一致するルールに基づいて、脅威コンテキスト情報が決定されると決定することと、脅威コンテキスト情報を決定することであって、脅威コンテキスト情報が、転送中のパケットを受信する前に事前に決定されていない、決定することと、脅威コンテキスト情報に基づいて処分を決定することと、転送中のパケットに処分を適用することと、を対象とする。
【0016】
本明細書で説明される更なる態様は、パケットフィルタリングアプライアンスによって、複数のパケットフィルタリングルールを受信することであって、パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダからのサイバーインテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定された、受信することと、複数のパケットフィルタリングルールでパケットフィルタリングアプライアンスを構成することと、第1のネットワークから、第2のネットワーク宛ての転送中のパケットを受信することと、転送中のパケットが複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールと一致すると決定することに基づいて、脅威コンテキスト情報を決定することと、脅威コンテキスト情報に基づいて、処分を決定することと、転送中のパケットに処分を適用することと、を対象とする。脅威コンテキスト情報の非限定的な例は、転送中のパケット観察時間、アプライアンス位置および/またはアプライアンス識別子/ID、管理者および/または関連するセキュリティポリシー選好、保護されているネットワークのタイプおよび/または転送中のパケットと関連付けられたネットワークのタイプ、転送中のパケットと関連付けられたアクティブな脅威またはアクティブな攻撃のタイプ、転送中のパケットがアクティブなマルチパケットマルチフロー攻撃のメンバーであるかどうか(および/またはそのような攻撃に関する情報)の表示、転送中のパケットのフロー発信、転送中のパケットのフロー方向、転送中のパケットのフロー状態、転送中のパケットのフロー接続状態、グローバル脅威コンテキスト、転送中のパケットと関連付けられた(例えば、それによって識別された)ドメイン名、ドメイン名の人気度、ドメイン名の登録ステータス、転送中のパケットと関連付けられたURI、転送中のパケットと関連付けられた(例えば、それによって識別された)データ転送プロトコル方法、転送中のパケットと関連付けられたプロトコルリスク、および/またはコンテキスト的CTIノイズ、などのうちの1つ以上を含んでもよい。
【0017】
本明細書で説明される更なる態様は、パケットフィルタリングアプライアンスによって、複数のパケットフィルタリングルールを受信することであって、パケットフィルタリングルールは、複数のサイバー脅威インテリジェンスプロバイダからのサイバーインテリジェンスレポートに基づいて決定された複数の脅威インジケータに基づいて決定された、受信することと、複数のパケットフィルタリングルールでパケットフィルタリングアプライアンスを構成することと、第1のネットワークから、第2のネットワーク宛ての転送中のパケットを受信することと、転送中のパケットが複数のパケットフィルタリングルールのうちの第1のパケットフィルタリングルールと一致すると決定することであって、それにおいて第1のパケットフィルタリングルールが、マッチングパケットに適用される所定の処分を示さない、決定することに基づいて、脅威コンテキスト情報を決定することと、脅威コンテキスト情報に基づいて、処分を決定することと、転送中のパケットに前記処分を適用することと、を対象とする。脅威コンテキスト情報は、転送中のパケットが観察された後に利用可能な様々な情報に基づいていてもよく、例えば、転送中のパケットの観察時間に基づいていてもよい。脅威コンテキスト情報の非限定的な例は、転送中のパケット観察時間、アプライアンス位置および/またはアプライアンス識別子/ID、管理者および/または関連するセキュリティポリシー選好、保護されているネットワークのタイプおよび/または転送中のパケットと関連付けられたネットワークのタイプ、転送中のパケットと関連付けられたアクティブな脅威またはアクティブな攻撃のタイプ、転送中のパケットがアクティブなマルチパケットマルチフロー攻撃のメンバーであるかどうか(および/またはそのような攻撃に関する情報)の表示、転送中のパケットのフロー発信、転送中のパケットのフロー方向、転送中のパケットのフロー状態、転送中のパケットのフロー接続状態、グローバル脅威コンテキスト、転送中のパケットと関連付けられた(例えば、それによって識別された)ドメイン名、ドメイン名の人気度、ドメイン名の登録ステータス、転送中のパケットと関連付けられたURI、転送中のパケットと関連付けられた(例えば、それによって識別された)データ転送プロトコル方法、転送中のパケットと関連付けられたプロトコルリスク、および/またはコンテキスト的CTIノイズ、などのうちの1つ以上を含んでもよい。
【0018】
本明細書で説明される更なる態様は、転送中のパケットについてリアルタイムで(および/または低レイテンシで)処分および/または指令(および/または別のタイプのアクション)を決定することであって、転送中のパケットは、所定の処分を含まないか、または「保護」処分などの許可処分およびブロック処分以外の処分を含む1つ以上のルールと一致する、決定することと、その処分、指令、および/または他のタイプのアクションを転送中のパケットに適用ことと、を対象とする。
【0019】
本明細書で説明される更なる態様は、転送中のパケットが受信された後に決定される(例えば、計算される)および/または利用可能な(例えば、リアルタイムおよび/または比較的低レイテンシで)、かつ転送中のパケットを受信する前に決定されていないおよび/または利用可能でなかった情報に基づいて、転送中のパケットの処分および/または指令(および/または別のタイプのアクション)を決定および適用すること、を対象とする。情報は、転送中のパケットを受信する前に別のソース(CTIプロバイダなど)から受信した情報とは異なり得る(および/または独立して決定され得る)。
【0020】
本明細書で説明される更なる態様は、ルールが、正当であると予想されるパケットなどの望ましいパケットと潜在的に一致するであろうという決定に基づいて、特定の処分(保護処分、または許可若しくはブロックされていない別の処分など)および/または特定の指令などの特定のアクションを、ルールに割り当てることと、を対象とする。ルールが、望ましいパケットと潜在的に一致するであろうという決定は、CTIノイズ除外および/または自己免疫情報に基づく。
【0021】
本明細書で説明される更なる態様は、複数のパケットフロー(例えば、マルチパケットマルチフロー攻撃検出)に基づいて、攻撃検出(ポートスキャン攻撃を検出するなど)を実行すること、を対象とする。効率のために、効率的なデータ構造、例えば、LRUキャッシュデータ構造、および/または効率的な攻撃パケット速度推定器を使用して、攻撃検出を実行してもよい。
【0022】
本明細書で説明される更なる態様は、グローバル脅威コンテキスト情報を使用して、転送中のパケットの処分および/または指令を決定すること、を対象とする。グローバル脅威コンテキスト情報は、1つ以上の他のTIG(または他のタイプのパケットフィルタリングデバイス)によって提供され、サブスクリプションベースで収集、統合、および/または配布されている情報に基づいてもよい。
【0023】
本明細書で説明される更なる態様は、機械学習を使用して、転送中のパケットの処分および/または指令を決定すること、を対象とする。例えば、決定は、TIGなどのパケットフィルタリングデバイスの機械学習構成人工ニューラルネットワーク(ANN)によって効率的に実装され得る。ANNは、転送中のパケットがTIGによって受信された後、および同じ方向の次の転送中のパケットがTIGによって受信される前に、処分および/または指令をリアルタイムで決定する(例えば、計算する)ように構成されてもよい。
【0024】
これらおよび他の特徴について様々な図面を参照して以下の詳細な説明で説明する。
【0025】
本開示は、添付の特許請求の範囲において詳細に指摘される。本開示の特徴は、本明細書に提供される図面を含む、本開示の全体を検討すると、より明らかになるであろう。
【0026】
本明細書のいくつかの特徴は、例として、限定ではなく、添付図面の図面に示されており、同様の参照番号は同様の要素を指す。
【図面の簡単な説明】
【0027】
【
図1】効率的な脅威コンテキスト認識パケットフィルタリングのための例示的な環境を示す。
【
図2】転送中のパケットの処分および/または指令を計算するための、アクティブな攻撃と関連付けられた脅威コンテキスト情報の、パケットフィルタリングアプライアンスによる例示的な使用を説明するフローチャートである。
【
図3】転送中のパケットの処分および指令を計算するための、アクティブな攻撃と関連付けられた脅威コンテキスト情報の、パケットフィルタリングアプライアンスによる例示的な使用を説明するフローチャートである。
【
図4】サイバー脅威インテリジェンス(CTI)ノイズを除外し、自己免疫問題を防止するための脅威コンテキスト情報の例示的な使用を説明するフローチャートである。
【
図5】処分および命令を計算するための、グローバル脅威コンテキスト情報の例示的な使用を説明するフローチャートである。
【
図6】脅威コンテキスト情報を使用して転送中のパケットの処分および指令を効率的に計算する、例示的な人工ニューラルネットワーク(ANN)を示す。
【
図7】本明細書で説明されるパケットフィルタリングアプライアンス、他のデバイス、システム、および方法のいずれかを実装するために使用され得る例示的なコンピューティングデバイスを示す。
【
図8】脅威インテリジェンスゲートウェイ(TIG)などの例示的なパケットフィルタリングアプライアンスを示す。
【
図9】本明細書で説明される態様による、例示的なタイミング図である。
【
図10】本明細書で説明される態様による、別の例示的なタイミング図である。
【発明を実施するための形態】
【0028】
様々な例示的な実施形態の以下の説明では、本明細書の一部を形成し、本開示の態様が実施され得る様々な実施形態が例示によって示される、添付図面が参照される。本開示の範囲から逸脱することなく、他の実施形態を利用することができ、構造的および機能的な変更を行うことができることを理解されたい。加えて、本開示の態様が実施され得る特定の用途、プロトコル、および実施形態が参照される。本開示の範囲から逸脱することなく、他の用途、プロトコル、および実施形態を利用することができ、構造的および機能的な変更を行うことができることを理解されたい。
【0029】
要素間の様々な接続は、以下の説明において考察される。これらの接続は、一般的なものであり、別途指定されない限り、任意の組み合わせで、直接的または間接的、有線または無線、物理的または論理的(例えば、仮想またはソフトウェア定義)であってもよい。この点で、本明細書は制限することを意図しない。
【0030】
サイバー防御の重要な構成要素は、ネットワーク境界を横断する転送中のL3/IPパケットにパケットフィルタリングルールのセットを適用し、各パケットをその宛先に向けて許可/推進するか、またはパケットをブロック/ドロップするか、すなわちパケットの処分を決定するかを決定する、パケットフィルタリングアプライアンスである。本文脈において、転送中のパケットは、例えば、パケットフィルタリングアプライアンスから上流にあるホストに対応する送信元IPアドレスを有するL3/IPパケットであってもよく、パケットフィルタリングアプライアンスから下流にあるホストに対応する宛先IPアドレスを有するL3/IPパケットであってもよい。これらのネットワークアプライアンスは、企業ネットワークなどのプライベートネットワークとパブリックインターネットとの間の境界に配置されたリンクにインラインで挿入され得、何らかの方式でプライベートネットワークを保護する、または別様に守るように設計されたパケットフィルタリングルールのセットを用いて構成され得る。これらの(インライン)ネットワークアプライアンスはまた、それらのネットワークインターフェースがL3/IPアドレスおよび/またはL2/MACアドレスを有さないように構成されてもよく、これはバンプインザワイヤ(BITW)構成と呼ばれてもよく、仮想環境では、物理BITW構成は、仮想BITW構成によってエミュレートされてもよい。したがって、パケットフィルタリングルールのセットは、(ネットワークセキュリティ)ポリシーを定義し、ネットワークアプライアンスは、ポリシーを施行する。2020年8月27日に出願され、「Methods and Systems for Efficient Virtualization of Inline Transparent Computer Networking Devices」と題された米国仮特許出願第63/071,174号は、物理BITW構成が仮想BITW構成によってエミュレートされ得る方法の開示のために、参照により本明細書に組み込まれる。
【0031】
例えば、初期世代のネットワークファイアウォールおよびエッジルータは、内部ホストがアクセスを許可されているインターネットサービスなどのプライベートネットワークのアクセス制御ポリシーを施行するパケットフィルタリングルールを用いて構成されてもよく、逆に、どの内部リソースおよびサービスが、どの(未承諾の)インターネットホストによってアクセスされてもよい。インターネットサービス並びに内部リソースおよびサービスは、それらのIPアドレス、伝送制御プロトコル/ユーザデータグラムプロトコル(TCP/UDP)ポート、および/またはプロトコルタイプによって識別されてもよく、したがって、パケットフィルタリングルールの一致基準は、多くの場合、パケットの5タプル値、すなわち、(L3)送信元ソースおよび/若しくは宛先IPアドレス値、および/若しくは(L4)送信元および/若しくは宛先ポート値、および/若しくは(L3)プロトコル値(IPv4)若しくはネクストヘッダ値(IPv6)に対応する。アクセス制御ポリシーおよびそれらの関連付けられたパケットフィルタリングルールは、人間がそれらを手動で管理し得るように、アクセス制御ポリシー/ルールの変更率が十分に低いという意味で、しばしば静的である。同様に、典型的なポリシーにおけるルールの数は、人間がそれらを手動で管理し得るように十分に小さい。
【0032】
別の例では、本開示の代表的なネットワーク環境100を示す
図1を参照して、脅威インテリジェンスゲートウェイ(TIG)120a、120b、120cなどの1つ以上の現在生成のパケットフィルタリングアプライアンスは、パケットフィルタリングルールを用いて構成され得る。これらのTIG120a、120b、120cのうちの任意の1つが本明細書で言及される場合、またはそれらがまとめて言及される場合、それらは本明細書では単にTIG120または複数のTIG120と称される。さらに、本明細書におけるTIGへの言及は単なる例であり、本明細書におけるTIGへの全ての言及は、他のタイプのパケットフィルタリングアプライアンスにも適用可能であると理解される。パケットフィルタリングルールは、関連するサイバー脅威インテリジェンス(CTI)レポート内のサイバー脅威プロバイダ(CTIP)140によって識別されていてもよいサイバー脅威のIPアドレス、5タプル値、ドメイン名、URIなど、またはインジケータなどのネットワークアドレスおよび/若しくは識別子に対応するパケット一致基準を識別してもよい。CTIP140は、インターネットの脅威を継続的に識別し、脅威に関する脅威インテリジェンスレポートを作成し、脅威と関連付けられたインジケータを決定し、脅威インジケータのリストまたはフィードを公開(例えば、ストリーミング)し得る。インジケータは、特定のインターネットホストおよび/またはインターネットホストによって管理される特定のリソースを識別し得る。これらのフィードのサブスクライバは、例えば、セキュリティポリシー管理サーバ/サービス(SPMS)150であり得、SPMS150は、複数の異なるCTIP140から複数の異なるフィードを消費すること、例えば、重複を除去し、アドレス範囲の重複を解決することによって、関連するインジケータ(数百万単位であってもよい)を集約すること、脅威インジケータに対応するパケット一致基準、インジケータ(および脅威に関する他の関連情報、例えば、脅威/攻撃のタイプ、信頼性、リスクスコア、推奨される処分など)を供給したCTIP140およびフィードに対応するルールメタデータ、「ブロック」または「許可」のいずれかの処分、および、例えば、マッチングパケットをログ記録および/またはフローログ記録する、マッチングパケットをキャプチャする、などの指令を備えたパケットフィルタリングルール(すなわち、ポリシー)のセットを作成すること、並びにポリシーをサブスクライバに公開すること、を継続的/反復的に行い得る。サブスクライバは、パケットフィルタリングアプライアンス(例えば、脅威インテリジェンスゲートウェイ(TIG)120)であってもよく、またはそれを制御/管理してもよく、これは、脅威インテリジェンスによって保護されているプライベートネットワーク(例えば、102、104、…108)と、脅威インテリジェンスによって保護されていない可能性があるインターネット110などのパブリックネットワークとの間の境界に配置され得、当該間のインターフェースまたはゲートウェイを含み得、かつポリシーを受信し、ポリシーを、TIG120を通過し得るネットワークトラフィック(例えば、通過中のパケット)に適用することによってポリシーを施行し得る。
【0033】
CTIP140によって供給されるCTIの量およびダイナミクス(例えば、総計では、継続的に更新され、例えば、ストリームとして毎時または継続的に、高い速度で公開される数百万の脅威インジケータ)のために、ポリシー作成および関連する脅威インジケータルール構築(例えば、SPMS150による)は、多くの場合、自動化された処理である。したがって、各脅威インジケータルールに対する処分および1つ以上の指令の選択は、しばしば自動的に実行される。したがって、「ブロック」処分または「許可」処分の選択は、ルールマッチングパケットがTIG120によって観察される前に、したがって、パケットと関連付けられ得る任意の脅威コンテキスト(例えば、観察の時間、位置、動作環境、現在の(ローカルおよびグローバルな)脅威状況、TIGのオペレータ/管理者のポリシー、および関連する(プライベート)ネットワークなど)を考慮に入れずに、自動的に決定されてもよい。さらに、実際には、脅威リスクの不確実性のために、「許可」処分は、正当なトラフィックがブロックされないように、例えば、CTIP140が高い信頼性で「ブロック」処分を推奨し得る場合でも、「ブロック」処分の代わりにデフォルトで選択されることが多い。また、異なるサブスクライバ、例えば異なる企業は、「ブロック」と「許可」および関連する指令の選択に関して異なるポリシー/要件を有し得、これらのポリシー/要件は時間の経過と共に変更され得る。ポリシー作成時に処分および指令を事前に決定した場合に生じる可能性のある悪影響は、脅威/攻撃からのネットワーク保護が著しく低下する場合があることである。
【0034】
本開示は、例えば、ルール一致転送中のパケットがTIG120によって実際に観察/フィルタリングされる時点で、ネットワークを保護するためのルール一致転送中のパケットに適用される最善の処分および命令を計算することによって、ネットワーク保護を改善するための方法を説明する。パケット観察/フィルタリング時に、TIG120の論理は、現在の脅威コンテキスト情報を使用して、観察された転送中のパケットに適用され得る一致ルールの処分および指令を計算する。脅威コンテキスト情報が含み得るものは、例えば、ローカル脅威コンテキスト情報であって、例えば、TIG120のメモリ(例えば、メインメモリ)および/または1つ以上の効率的なデータ構造に記憶されてもよく、TIG120が容易に利用可能であってもよく、および/またはTIG120によって容易にアクセス可能であってもよく、および/またはTIG120によって効率的に計算されてもよい(例えば、時刻/観察時間、パケットが関連付けられ得るアクティブな攻撃、一致ルールと関連付けられた脅威コンテキスト情報など)情報と、および/またはグローバル脅威コンテキスト情報であって、例えば、(ローカル)TIG120によって保護されているネットワーク以外の他のネットワーク上でアクティブにまたは直近に発生している可能性がある脅威/攻撃に関するグローバル脅威状況および認識情報と、であり、これは、例えば、1つ以上のグローバル脅威コンテキストサーバ(GTCS)170で構成されたグローバル脅威コンテキストシステム/サービスによって収集および配布されてもよい。TIG120がネットワークパフォーマンスに有害な影響を与える可能性を(全て、または許容可能な量を超えるかのいずれか)低減するために、TIG120によって次の転送中のパケットが受信される前に、または次の転送中のパケットがTIG120によって処理される前に、脅威コンテキスト情報を決定(かつ可能であれば適用)することができるような速度(および効率)で、脅威コンテキスト情報が、TIG120によって転送中のパケットについて利用可能である、アクセス可能である、計算可能である、および/またはそうでなければ決定されることが望ましい場合がある。例えば、パケットが毎秒Xパケットの速度で受信される場合、TIG120は、各着信パケットを分析し、その関連する脅威コンテキスト情報をパケット当たり1/X秒以下の時間枠で決定することができると予想されてもよい。TIG120が、その同じ1/X時間枠内で、パケットの処分および/または1つ以上の指令をさらに決定する(例えば、計算する)ことが可能であることがさらに望ましい場合がある。したがって、これらの高い処理速度をサポートにおいて、本明細書で説明されるように、既に受信された転送中のパケットの脅威コンテキスト情報をリアルタイムで(例えば、1/X時間枠に対応するスケジュールされた期限までに)定式化するためにTIG120によって依存される任意の情報が、容易かつ効率的にアクセスされ得ることが望ましい場合がある。例えば、脅威コンテキスト情報を定式化するために依存される情報は、既にTIG120に対してローカルであってもよく、および/またはオンデマンドで、リアルタイムでかつ比較的低いレイテンシで迅速にアクセス可能な遠隔の位置にあってもよい。また、本明細書で説明されるように、このような高速複雑な決定(脅威コンテキスト情報を処理する、および/または処分および/若しくは1つ以上の指令を計算するための)に特に適し得る例示的な処理構造は、(有界の)人工ニューラルネットワーク、対数時間計算量若しくは一定時間計算量を有するデータ構造、作業効率の高い、または作業に最適な並列処理アルゴリズム、および関連する構造などであってもよい。しかしながら、他の時間枠(例えば、1/Xより大きい)および他の処理構造が、状況に対して適切または望ましいように使用され得る。
【0035】
動作中、および
図1の例を参照して、インターネット110などのパブリックネットワークを介した通信が、ネットワーク保護ポリシーを施行するTIG120によって保護され得るプライベートネットワーク102、104、…108に接続されたホストと、脅威と関連付けられ得るネットワーク130、132、…138に接続されたホストとの間で発生し得る。TIGで保護されたプライベートネットワーク102、104、…108に接続されたホストはまた、脅威と関連付けられ得(例えば、ホストは悪意のあるアクターによって危険にさらされている場合がある)、任意のネットワークに接続された任意のホストは、任意の他のネットワークに接続された任意の他のホストと通信し得ることに留意されたい。脅威ホストは、CTIP140に知られ得る脅威インジケータと関連付けられ得る。したがって、TIG120は、脅威インジケータから導出されたパケットフィルタリングルール、例えば、脅威インジケータに対応する一致基準を有するパケットフィルタリングルールを含むポリシーを施行している場合がある。
【0036】
転送中のパケットがTIG120に流入し、パケットフィルタリングルールと一致するとき、TIGは、ルールの処分、例えば、ブロック処分(例えば、ブロックまたはドロップ)または許可処分(例えば、許可または推進)をパケットに適用し、また、「ログ」、「フローログ」、「キャプチャ」、「スプーフ-tcp-rst」などのルールの指令と関連付けられた論理をパケットに適用する。ルールの指令は、処分に相関させることができる。例えば、関連付けられたTCP接続を終了するためにTCP RSTパケットを生成/スプーフし得る「スプーフ-tcp-rst」指令は、「ブロック」処分と共にのみ(かつL4/トランスポート層プロトコルがTCPである場合にのみ)使用され得る。「スプーフ-tcp-rst」が「許可」処分を有するルール内の指令である場合、関連するTCP接続は終了され得、これは望ましい挙動ではない可能性があり、攻撃として解釈され得る。別の例では、「ブロック」処分を有するルールの場合、脅威のコンテキストに応じて、「キャプチャ」指令または「ログ」指令を有することが望ましい場合もあれば、望ましくない場合もある。例えば、保護されたネットワーク上の典型的なポートスキャン攻撃を観察するTIGを考えると、これは、毎秒数百または数千パケットの速度で、数十万または数百万のTCP SYNパケットを生成する可能性がある。一致する「ブロック」ルールに「キャプチャ」指令が含まれる場合、ポートスキャン攻撃を構成する各TCP SYNパケットがキャプチャされ、これは100MB程度のストレージを使用し得るが、攻撃を調査している可能性のあるサイバーアナリストにとってはほとんどまたは全く価値がない。同様に、一致する「ブロック」ルールに「ログ」指令が含まれる場合、攻撃を構成する各TCP SYNパケットがログ記録され、「キャプチャ」指令よりもさらに多くのストレージスペースが使用される可能性がある。サイバーアナリストは、効果的な保護/防御/是正アクションを決定するために、多くのパケットログのいくつかだけを観察して攻撃を十分に理解する必要がある場合がある。逆に、他のタイプの攻撃、例えば、いくつかのタイプの高度な永続的攻撃(APT)があり、これは「ブロック」ルールと一致し得るが、キャプチャおよび/またはログ記録された各パケットは、攻撃を調査するサイバーアナリストに多くの価値を提供し得る。いずれの場合も、追加のコンテキストなしで、マッチングパケットが観察される前に、したがって、現在の脅威コンテキストなしで(転送中のパケットが受信されるときまたは後に)、ルールの処分および指令を事前に決定して処分および指令の選択を導くことは、問題があり、および/または非効率的であり得る。
【0037】
さらに、いくつかの脅威/攻撃の場合、脅威/攻撃のライフタイム中に、脅威コンテキストの変さらに応じて最善の処分と指令が変更される可能性がある。例えば、本開示のTIG120によって保護され得るネットワーク上の典型的なポートスキャン攻撃を考慮すると、これは、ポートスキャン攻撃が発生しているときに(効率的に)それらを検出するための論理を含み得る。典型的なポートスキャン攻撃は、同じ発信元IPアドレスからターゲットネットワークの各(パブリック)IPアドレス上の多くの異なるポートに向かって、多くのTCP SYNパケットを高い速度で送信する可能性がある。ポートスキャン攻撃検出論理が、パケット到着速度閾値を含み、これが超えられると、関連する脅威コンテキストを「アクティブな攻撃なし」と「アクティブな攻撃」との間で切り替えることができると仮定する。パケット到着速度を計算することは、少なくとも2つの(到着/受信)パケットを観察することを含み、所与のポートスキャン攻撃について、閾値が超えられ得る前に3つ以上のパケットが観察され得、これが、脅威コンテキストが変更され得る。したがって、ポートスキャン攻撃の開始時またはその近辺において、最善の処分は、閾値が超えられる前に、したがって脅威コンテキストが「アクティブな攻撃なし」であるときに到着する関連するパケットについては「許可」であり得るが、次いで、最善の処分は、閾値が超えられて、脅威コンテキストが「アクティブな攻撃」に変更された後に「ブロック」に変更され得る。パケット到着速度が閾値を下回ると、脅威コンテキストが「アクティブな攻撃なし」に変更され、最善の処分が「許可」に変更される可能性がある。
【0038】
したがって、本開示は、本明細書では「保護」処分と称される新しい処分、および「保護」処分と関連付けられた関連するTIG120論理を説明する。脅威インジケータルールが作成/生成される時点、例えば、CTIベースのポリシーがSPMS150によって自動的に作成されているとき、「保護」処分は、「ブロック」または「許可」の代替としてルールに対して指定され得る。「保護」処分を有するルールと一致する転送中のパケットを後で観察すると、TIG120は、脅威コンテキスト情報を使用して、例えば「ブロック」または「許可」などの転送中のパケットの処分、および関連する脅威からネットワークを最善に保護する関連する指令を決定する(例えば、計算する)ことができる。次いで、決定された処分は、転送中のパケットに適用されてもよい。したがって、そのような転送中のパケットの処分は、パケットが転送中に観察される前およびそれまで未定義(例えば、未知)であり得る。さらに、そのような転送中のパケットの処分は、TIG120が、観察された転送中のパケットが「保護」処分を有するルールを満たすと決定してから、転送中のパケットの処分が脅威コンテキスト情報に基づいてその後決定されるまでの期間中、未定義(例えば、不明)のままであり得る。この処分の「保護」という名称は単なる例であり、この処分には、所望の通りに任意の名称を割り当てることができる。この処分に使用され得る名称の他の非限定的な例としては、「防御」、「ガード」、「未定義」、「未決定」、「ヌル」、「フレキシブル」、「TBD」、「その他」、「3」、「ABC」などが挙げられる。名称にかかわらず、この処分は、観察された転送中のパケットに応答して、転送中のパケットに適用される実際の処分を決定する(例えば、計算する)ために、脅威コンテキスト情報が使用される状態を示し得る。単なる例として、そのような処分は、実際の割り当てられた名称に関係なく、本明細書では「保護」処分と称される。
【0039】
例えば、TIG120論理は、観察された転送中のパケットが脅威インジケータルール(例えば、「保護」処分)と一致しても、例えば、その転送中のパケットが正当なビジネス通信、または良性通信、または低リスク通信と関連付けられていると決定されるため、その転送中のパケットに適用される計算された処分が「許可」である(およびその後のサイバー分析のために監視、例えば、ログ記録およびキャプチャされる可能性がある)と決定し得、または、脅威コンテキスト情報でさえ、脅威について依然として多くの不確実性があり、したがって、転送中のパケットおよび関連する通信は許可され得るが、その後のサイバー分析をサポートするために監視および追跡され得る。なお、実際には、(a)任意の脅威コンテキスト情報にアクセスするまたはそれを計算する、(b)適用する処分と指令を計算/選択する、および(c)計算/選択された処分と指令を現在の転送中のパケットに適用する、ために必要な合計時間は、転送中のパケットがパケットフィルタリングアプライアンスによってドロップされないように、(例えば、転送中/到着パケットバッファオーバーフローのために)パケット伝送速度に対して十分に短くなければならず、これは、RFC2979の「透明性ルール」の違反を行わせる可能性がある。従来のパケット伝送速度は、単一のリンク上で毎秒数百万または数千万のパケットで測定され得る。これは、脅威コンテキスト情報の計算が非常に効率的であるべきであり、例えば、定時間(すなわち、O(1))または対数時間(すなわち、O(logN))の複雑さを有し得ることを意味する。当業者はまた、以下のことを期待し得ることに留意されたい:(1)パケットフィルタリングルールは、例えば、iptablesまたはBSD PFのスキーマに類似し得る上記の一般的なスキーマおよび関連する構文およびセマンティクスに従う、(2)ポリシー内のルールは、それらがポリシーファイルに表示される空間順序で、すなわち、ファイルの上部/ヘッドからファイルの下部/テールまで検索される、(3)パケットフィルタリングルールのTIG120の適用は、以下の意味でステートレス(stateless)(例えば、メモリレス)である。(a)各転送中のパケットは、到着順に次の転送中のパケットがポリシーを通してフィルタリングされる(および、決定されて適用される処分を有する)前に、到着順にポリシーを通してフィルタリングされて、決定されて適用される処分を有し、および(b)パケットに適用される処分、例えば、ブロックまたは許可は、任意の先行する転送中のパケットに適用される処分、または任意の後続する転送中のパケットに適用される処分、に依存しないか、または関連しない、および(4)パケットフィルタリングアプライアンス/TIG120は、(a)パケットがアプライアンスに流入したのと同じ順序でアプライアンスを流出し、(b)アプライアンスによって追加されたレイテンシは無視でき、例えば、追加のレイテンシは、ホストエンドポイント間のエンドツーエンドのパケット伝送時間の(ごく)一部(例えば、送信時間より1つ以上桁が小さい)であり、関連するアプリケーションはレイテンシの影響を受けず、パケットは、内部バッファオーバーフローのためにドロップされない(例えば、アプライアンスは、パケット伝送に関しては、ワイヤ、または「バンプインザワイヤ」(BITW)のように挙動する)。当業者は、別のパケットがどのようにフィルタリングされるかに関係なく、「ステートレス」パケットフィルタリングとしてパケットをフィルタリングすることを参照し得る。RFC 2979「インターネットファイアウォールの挙動および要件」、RFC 2544「ネットワーク相互接続デバイスのためのベンチマーク方法論」などは、当業者が期待/想定し得るパケットフィルタリングアプライアンスのこれらの潜在的な特性のいくつかを形式化し得る。
【0040】
脅威インジケータルールと一致する転送中のパケットの場合、(a)ネットワークを最善に保護する処分および指令を選択するためのTIGの120決定論理(以下、「決定論理」)に因子として組み込まれ得る脅威コンテキスト情報の例、および(b)転送中のパケットが観察されたことに応答して(またはそうでなければ、転送中のパケットが観察された後に)、TIG120によって効率的にアクセスされ得る、および/またはそうでなければ決定(例えば、計算)され得る、脅威コンテキスト情報の例は、単独で、または任意の組み合わせ若しくはサブコンビネーションで、以下のうちの1つ以上を含み得るが、これらに限定されない。
【0041】
パケット観察時間:転送中のパケットがパケットフィルタリングアプライアンス(例えば、TIG120)によって観察される時間(例えば、転送中のパケットが受信される、または転送中のパケットがルールと一致すると決定されるとき、または転送中のパケットが読み取られるとき)。例えば、パケット観察時間は、転送中のパケットがTIG120によって観察されるローカル時間(および/または曜日、日付、月、季節など)であってもよい。さらに、TIG120などのパケットフィルタリングアプライアンスは、TIG120および/またはTIG120の所有者/オペレータ/管理者、例えば企業と関連付けられた通常の営業時間、週末、休日、および/または任意の他の所望の期間中などの、所定の期間内(転送中のパケットを観察する前に事前に決定されていてもよい)にTIG120による転送中のパケットの観察時間が発生するかどうかを決定してもよい。例えば、TIG120は、ルールと一致する転送中のパケット観察時間を決定し、転送中のパケット観察時間が所定の期間内にあるかどうかを決定し、ルールに基づいて、および/または転送中のパケット観察時間が所定の期間内にあると決定されるかどうかに基づいて、転送中のパケットの処分および/または1つ以上の指令を決定(例えば、計算)してもよく(例えば、所定の期間内にある場合は処分1(例えば、許可またはブロック)、所定の期間内にない場合は異なる処分2(例えば、ブロックまたは許可))、次いで、決定された処分および/または指令は、TIG120によって転送中のパケットに適用されてもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。別の例として、TIG120は、転送中のパケット観察時間を決定し、ルールに基づいて、および/または転送中のパケット観察時間に基づいて、転送中のパケットの処分および/または1つ以上の指令を決定し(例えば、計算し)てもよく(例えば、処分1(例えば、許可またはブロック)または異なる処分2(例えば、ブロックまたは許可))、次いで、決定された処分および/または指令は、TIG120によって転送中のパケットに適用されてもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0042】
アプライアンス位置および/またはアプライアンス識別子/ID:転送中のパケットを観察したパケットフィルタリングアプライアンス(例えば、TIG120)の位置。位置は、例えば、地政学的位置(例えば、どの国、州、地域など)、タイムゾーン、ネットワーク位置(例えば、ネットワーク境界またはピアリングポイント、企業セキュリティスタック/ネットワークファイアウォールの内側または外側など)であってもよい。アプライアンスIDは、単独で(申込者の位置なしで)使用することも、同じまたは類似のアプライアンス位置で動作する複数のアプライアンス間で曖昧性を解消するために使用することもできる。例えば、ルールと一致する転送中のパケットを観察することに応答して、TIG120などのパケットフィルタリングアプライアンスは、それ自体の位置および/若しくは識別子を決定し、ルール、位置、および/若しくは識別子に基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)し、次いで、その処分および/または指令をその転送中のパケットに適用してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。例えば、位置および/または識別子が第1の位置および/または第1の識別子である場合、その転送中のパケットの処分および/または指令は、第1の処分(例えば、ブロックまたは許可)および/または第1の指令を含んでもよく、位置および/または識別子が異なる第2の位置および/または異なる第2の識別子である場合、その転送中のパケットの処分および/または指令は、異なる第2の処分(例えば、許可またはブロック)および/または異なる第2の指令を含んでもよい。
【0043】
管理者および/または関連するセキュリティポリシー選好:転送中のパケットおよび/またはその関連するネットワークを観察したパケットフィルタリングアプライアンス(例えば、TIG120)を所有、操作、管理、または別様に制御する企業または組織。例えば、企業ごとに、脅威インジケータに関する企業セキュリティポリシーが異なる場合がある。例えば、ある企業Xは所与の脅威インジケータを重大な脅威とみなし、別の企業Yは同じ脅威インジケータを低リスクまたは良性とみなし得る。例えば、企業Xは、米国ITARコンプライアンス/規制の対象であってもよく、企業Yはそうでなくてもよいかまたは、企業Xは、Torのような匿名化ネットワークとの通信を許可してもよく、企業Yはそうでなくてもよい。例えば、企業が未承諾のインターネット通信に対してオープン/利用可能であることを意図した(パブリック)IPアドレスとポート(および関連サービス)の組み合わせ。さらに、企業は、時間の経過と共に、所与の脅威インジケータに関するセキュリティポリシーを変更することがある。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、TIG120の管理者および/または(例えば、管理者の)セキュリティポリシー選好を決定してもよい。TIG120は、ルールに基づいて、TIG120の管理者に基づいて、および/またはセキュリティポリシー選好に基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)し、次いで、その処分および/または指令をその転送中のパケットに適用してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0044】
ネットワークタイプ:転送中のパケット(例えば、プライベートネットワーク、パブリックネットワーク(インターネット)、LAN、WANなど)を観察するパケットフィルタリングアプライアンス(例えば、TIG120)と関連付けられたネットワークのタイプ。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、TIG120と関連付けられた(例えば、TIG120によって保護された)ネットワークのタイプを決定してもよい。TIG120は、ルールおよび/またはネットワークのタイプに基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)し、次いで、その処分および/または指令をその転送中のパケットに適用してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0045】
アクティブな脅威/攻撃タイプ:観察された転送中のパケットが関連付けられ得るアクティブな脅威/攻撃のタイプ(例えば、ポートスキャン、ポートスウィープ、漏洩、分散型サービス拒否(DDoS)、スパム、フィッシング、マルウェアなど)。このタイプの脅威コンテキスト情報および本開示の方法を使用することによってネットワークを保護するための例示的な処理については、
図3および以下の関連する説明を参照されたい。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、観察された転送中のパケットが関連付けられたアクティブな脅威/攻撃タイプを決定し得る。TIG120は、ルールおよび/またはアクティブな脅威/攻撃タイプに基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0046】
パケットがアクティブなマルチパケット、マルチフロー攻撃のメンバーであるかどうか:複数のパケットフロー(例えば、マルチパケットマルチフロー攻撃検出)に基づいて攻撃検出(ポートスキャン攻撃を検出するなど)を実行することによって、パケットがアクティブマルチパケットマルチフロー攻撃のメンバーであるかどうかを決定すること。効率のために、効率的なデータ構造、例えば、LRUキャッシュデータ構造、および/または効率的な攻撃パケット速度推定器を使用して、攻撃検出を実行してもよい。例えば、
図3のフローチャートを参照のこと。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットがアクティブマルチパケットマルチフロー攻撃などのアクティブな攻撃のメンバーであるかどうかを決定してもよい。TIG120は、ルールおよび/またはネットワークのタイプに基づいて、および/または転送中のパケットがそのようなアクティブな攻撃のメンバーであるかどうかに基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)し、次いで、その処分および/または指令をその転送中のパケットに適用してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0047】
マルチパケット、マルチフロー脅威/攻撃の分析結果:いくつかのシステムは、1つ以上の(双方向)フローを分析して、1つ以上の観察された転送中のパケットから構成される1つ以上のフローと関連付けられた脅威および/または攻撃を決定する。そのようなシステム(本明細書では一般に「脅威分析システム」と称される)の例としては、侵入検出/防止システム(IDS/IPS)、ネットワーク挙動分析(NBA)システムなどが挙げられる。そのような脅威分析システムの分析結果または出力は、パケットフィルタリングアプライアンスによって使用されて、転送中のパケットの処分および指令を計算し得る脅威コンテキスト情報であり得る。分析結果は、例えば、各観察されたフローを(一意に)特徴付ける5タプル値のハッシュによってインデックス付けされたフロー追跡テーブルを保持するパケットフィルタリングアプライアンスによって効率的にアクセスされてもよい。フローと関連付けられた脅威分析の結果/出力は、フロー追跡テーブルに掲載され得る。転送中のパケットがこれらの分析結果に基づいて脅威コンテキストを有するかどうかを確認するために、転送中のパケットの5タプル値のハッシュ値でフロー追跡テーブルにインデックス付けして、脅威分析結果が、もしあれば、転送中のパケットと関連付けられたフローについてアクセスされ得る。ハッシィングおよびインデックス付けは、例えば、周知のアルゴリズムを使用して一定時間O(1)計算量を用いて効率的に行われてもよい。例えば、パケットフィルタリングアプライアンス(例えば、TIG120)は、ルールと一致する転送中のパケットを観察し、観察された転送中のパケットが、例えばIDSによって投稿された分析結果と関連付けられたフローの一部であるかどうかを決定してもよい(例えば、転送中のパケットの5タプル値のハッシュをフロー追跡テーブルのインデックスと比較して、転送中のパケットのフローを決定し、その決定されたフローが分析結果と関連付けられているかどうかを決定してもよい)。ルールに基づいて、および/または転送中のパケットのフローが分析結果と関連付けられているかどうかに基づいて、TIG120は、転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。例えば、転送中のパケットのフローが分析結果と関連付けられていると決定された場合、第1の処分および/または第1の1つ以上の指令が決定されて適用され、転送中のパケットのフローが分析結果と関連付けられていないと決定された場合、異なる第2の処分および/または異なる第2の1つ以上の指令が決定されて適用される。別の例として、転送中のパケットのフローが第1の分析結果と関連付けられていると決定された場合、第1の処分および/または第1の1つ以上の指令が決定されて適用され、転送中のパケットのフローが異なる第2の分析結果と関連付けられていると決定された場合、異なる第2の処分および/または異なる第2の1つ以上の指令が決定されて適用される。
【0048】
フローの発信および/または方向:観察されたパケットと関連付けられたフローがパブリックネットワーク(例えば、インターネット)から発信されたのか、プライベート/保護されたネットワーク内から発信されたのか、および/またはパケットの方向から発信されたのか。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットと関連付けられたフローがパブリックネットワーク(例えば、インターネット)から発信されたのか、若しくはプライベート/保護ネットワーク内から発信されたのか、および/またはパケットの方向を決定してもよい。TIG120は、ルールに基づいて、および/または転送中のパケットと関連付けられたフローがパブリックネットワーク(例えば、インターネット)から発信されたのか、若しくはプライベート/保護ネットワーク内から発信されたのか、および/または転送中のパケットの方向に基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)し、次いで、その処分および/または指令をその転送中のパケットに適用してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0049】
フロー状態および/または接続状態:例えば、観察された転送中のパケットと関連付けられたフローがTCP接続を正常に確立したかどうか、フローの現在の送信バイト数などである。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、観察された転送中のパケットと関連付けられたフロー状態および/または接続状態を決定してもよい。TIG120は、ルール、フロー状態、および/または接続状態に基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0050】
グローバル脅威コンテキスト:例えば、(ローカル)TIG120によって保護されているネットワーク以外の他のネットワーク上でアクティブにまたは直近に発生している可能性がある脅威/攻撃に関するグローバル脅威状況および認識情報。ポートスウィープ攻撃など、インターネットを介して広範かつグローバルに分散されているネットワークを同時に攻撃している脅威/攻撃と関連付けられたコンテキスト情報。グローバル脅威コンテキストがTIG120によってどのように使用されて、観察された転送中のパケットの処分および/または1つ以上の指令を効率的に決定(例えば、計算)し得るかの例については、
図5と関連付けられた説明を参照されたい。例えば、パケットフィルタリングアプライアンス(例えば、TIG120)は、ルールと一致する転送中のパケットを観察し、転送中のパケットが他の場所(例えば、TIG120によって保護されているローカルネットワーク以外の1つ以上のネットワーク上)で発生し得る攻撃と関連付けられているかどうかを決定し、ルールに基づいて、および/または転送中のパケットがそのような攻撃と関連付けられているかどうかに基づいて、処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0051】
ドメイン名および/またはURI(URLまたはURNなど)の脅威の特徴:観察されたパケットに含まれる任意のドメイン名および/またはURIは、脅威リスクを示す可能性のある語彙的特徴および/または構文的特徴を表示し得る。例えば、URI内のURLエンコードされた文字の大部分は、多くの場合、攻撃と、ランダムに生成された英数字の文字列であるか、またはそうでなければ、英語の単語などの人間の言語の単語と十分に相関していないドメイン名とに、相関している。後者(すなわち、人間の言語の単語との相関)は、例えば、情報エントロピー尺度を使用して効率的に計算され得る。例えば、TIG120などのパケットフィルタリングアプライアンスは、URIではない一致基準を有するルールと一致する転送中のパケットを観察することに応答して、観察された転送中のパケットに含まれるURI(例えば、URLまたはURN)を決定してもよく、かつURIが脅威と関連付けられているかどうかを決定してもよい。TIG120は、ルールおよび/またはURIに基づいて(例えば、URIが脅威と関連付けられていると決定されたかどうかに基づいて)、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0052】
ドメイン名の人気度:転送中のパケットで観察され得るドメイン名の人気度(例えば、ドメインを解決するためのDNS要求の速度(例えば、平均速度)によって測定される)(例えば、現在の人気)。一般的に/ヒューリスティックには、ドメイン名の人気が低いほど、それと関連する脅威リスクが高くなる可能性がある。ドメイン名の人気度データおよび関連サービスのデータベースは、容易かつパブリックに利用可能である。ドメイン人気度データは、効率的なデータ構造にローカルに記憶されてもよく、脅威コンテキスト情報として使用するためにTIG論理によって迅速に/効率的にアクセスされてもよい。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットに含まれるドメイン名を決定し、ドメイン名の人気度を決定してもよい。TIG120は、ルールおよび/またはドメイン名に基づいて(例えば、ドメイン名の人気度に基づいて)、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0053】
ドメイン名登録ステータス:観察された転送中のパケットに含まれるが、DNSに登録されていないドメイン名は、攻撃ベクトルである可能性がある。DNS登録ドメイン名データは、効率的なデータ構造にローカルに記憶されてもよく、脅威コンテキスト情報として使用するためにTIG論理によって迅速に/効率的にアクセスされてもよい。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットに含まれるドメイン名を決定し、ドメイン名の登録ステータスを決定してもよい。TIG120は、ルールおよび/またはドメイン名に基づいて(例えば、ドメイン名の登録ステータスに基づいて)、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。2019年4月30日に米国特許出願第16/399,700号として出願された米国特許出願公開第2020/0351245-A1号、および2019年11月22日に米国特許出願第16/692,365号として出願された米国特許出願公開第2020/0351244-A1号は、ドメイン名がDNSに登録されているかどうかを効率的に決定する方法の例のそれらの教示のために、いずれも参照により本明細書に組み込まれる。
【0054】
データ転送プロトコル方法:脅威インジケータと一致し、特定のデータ転送プロトコル方法、例えば、ハイパーテキスト転送プロトコル(HTTP)のPUT、POST、またはCONNECT方法要求を含む観察されたパケットは、悪意のあるデータ転送を示し得、したがって、TIG論理への入力として使用される脅威コンテキスト情報であり得る。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットと関連付けられた(例えば、それによって識別された)データ転送プロトコル方法を決定してもよい。TIG120は、ルールおよび/またはデータ転送プロトコル方法に基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。
【0055】
プロトコルリスク:観察されたパケットと関連付けられたいくつかの(アプリケーション層)プロトコルは、安全でないか、悪意のあるアクターによって容易に悪用され得る。例えば、Telnet、SSLv2、SSLv3、および古いバージョンのTLSは安全ではないことが知られている。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットと関連付けられた(例えば、それによって識別された)プロトコル(アプリケーション層プロトコルなど)を決定してもよい。TIG120は、ルールおよび/またはプロトコルに基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい、および/または
コンテキスト的CTIノイズ:場合によっては、実際の脅威と関連付けられていると一般的に/グローバルにみなされるCTI内の脅威インジケータは、代わりに、いくつかのロケーション/管理ドメインによって、正当な、(非常に)低リスクの、および/または良性な通信と関連付けられているとみなされることがある。そのようなインジケータは、本明細書では「CTIノイズ」と称される。ローカルコンテキストに応じて、そのようなインジケータは、いくつかの管理ドメインによって、ネットワークを保護するために使用されるCTIから除外される場合がある。例えば、いくつかのシナリオでは、プライベートネットワークXとインターネットとの間の境界/インターフェースに割り当てられたパブリック/WAN IPアドレスは、脅威インジケータとしてグローバルに分散されたCTIに含まれ得る。これらの脅威インジケータは、多くの/ほとんどのサブスクライバの実際の脅威に対応し得るが、プライベートネットワークXの正当なトラフィックに対応し得る。したがって、プライベートネットワークXの管理者は、プライベートネットワークXを保護するために使用されるCTIからこれらのインジケータを除外したい場合がある。そのようなアクションは、本明細書ではCTIノイズ除外の実行と称される。したがって、これらのインジケータは、プライベートネットワークXの脅威コンテキスト情報であり、プライベートネットワークXを保護する任意のTIGの論理に因子として組み込まれて、CTIノイズ除外を達成し得る。例えば、TIG120などのパケットフィルタリングアプライアンスは、ルールと一致する転送中のパケットを観察することに応答して、転送中のパケットと関連付けられた脅威インジケータが除外される(例えば、CTIノイズデータセットに含まれると決定される)かどうかを決定し得る。TIG120は、ルールおよび/または脅威インジケータが除外されるかどうかに基づいて、その転送中のパケットに適用される処分および/または1つ以上の指令を決定(例えば、計算)してもよく、処分および/または1つ以上の指令は、次の転送中のパケットが観察される前に決定および/または適用されてもよい。例えば、脅威インジケータが除外されると決定された場合、処分は「許可」であると決定されてもよく、脅威インジケータが除外されない(例えば、CTIノイズデータセットに含まれていない)と決定された場合、処分は「ブロック」であると決定されてもよい。この脅威コンテキスト情報が、脅威/攻撃からネットワークを最善に保護する処分および指令を計算するためにどのように使用されるかの説明については、
図4および以下の関連する説明を参照されたい。
【0056】
追加情報は、転送中のパケットの処分および/または指令を計算するのに役立つために使用されてもよい。そのような追加情報の例としては、以下が挙げられ、これらに限定されない:
CTIプロバイダおよび/または関連情報:一致する脅威インジケータルールの脅威インジケータ、並びにCTIフィード名/識別子および関連情報、脅威インジケータと関連付けられた脅威/攻撃タイプ/カテゴリ、推奨される処分、品質の測定、信頼性、リスクの潜在性/可能性、脅威/リスクタイプおよび/またはカテゴリ、プロバイダによって提供されたCTIの脅威インジケータなどを提供したCTIプロバイダの数量および/またはアイデンティティなどの関連情報を供給したCTIプロバイダ。そのような情報は、脅威インジケータルールの<メタデータ>に含まれてもよく、ルール一致転送中のパケットが観察されるときに、TIG120論理への入力として使用されてもよい。この情報は、ルール作成時に<metadata>ルールに含まれる場合、一致する転送中のパケットが観察/フィルタリングされる前に利用可能である可能性があることに留意されたく、したがって、この情報は、それ自体では厳密には脅威コンテキスト情報とはみなされない場合がある。しかしながら、例えば、脅威コンテキスト情報のコンテキストを提供するために、観察された転送中のパケットの処分および/または指令を決定する論理によって脅威コンテキスト情報と組み合わせられてもよい。
【0057】
脅威インジケータのタイプおよび/または忠実度:脅威インジケータの忠実度は、脅威インジケータのタイプと相関しており、例えば(また、忠実度の大きい順にリストアップすると)、URL/URI、完全修飾ドメイン名(FQDN)、ドメイン名、5タプル、IPアドレス、サブネットアドレス範囲などのうちの1つである。脅威インジケータには、TLSで保護された通信など、通信を守るために使用される証明書や証明機関も含まれる場合がある。インジケータタイプ値が「URL/URI」であるインジケータは、URLが単一のネットワーク化された(悪意のある)リソース(例えば、マルウェア実行可能ファイル)にマッピングされ、すなわち、URL/URIタイプのインジケータの脅威リスク/悪意に関する不確実性がないため、最も高い忠実度を有し得る。一方、インジケータタイプ値が「FQDN」である脅威インジケータは、単一のFQDNが複数のURLまたは複数のネットワーク化されたリソースにマッピングされることができ、その一部は悪意のないものであり得るため、「URL/URI」よりも忠実度が低い。したがって、FQDNタイプのインジケータの脅威リスク/悪意に関するいくつかの不確実性が存在し得る。同様に、インジケータタイプ値が「IPアドレス」である脅威インジケータは、単一のIPアドレスが複数のドメイン/FQDNにマッピングされることができ、その一部は悪意のないものであり得るため、「FQDN」よりも忠実度が低い。例えば、ドメインホスティングサービスは、多くの場合、単一のIPアドレスと関連付けられた多くのドメインを有し、ほんの一部/少しの割合のドメインのみが脅威アクティビティと関連付けられている場合がある。上記のCTIプロバイダ情報と同様に、脅威インジケータのタイプと忠実度の情報は、ルール作成時に<metadata>ルールに含まれる場合がある。したがって、この情報は、それ自体では厳密には脅威コンテキスト情報とはみなされない場合がある。しかしながら、転送中のパケットの処分および指令を決定する論理によって脅威コンテキスト情報と組み合わされてもよく、および/または、
脅威インジケータの寿命:一般に、直近に特定された脅威インジケータは、古い脅威インジケータよりも脅威リスクが高いとみなされ得る。インジケータの寿命は、<metadata>ルールに含まれてもよく、または、例えば、観察された転送中のパケットがドメイン名を含むときにTIG論理によってアクセスされ得る直近に登録されたドメイン名を含むローカルの効率的なデータ構造と関連付けられてもよい。上記のCTIプロバイダ情報と同様に、インジケータの寿命の情報は、ルール作成時に<metadata>ルールに含まれる場合があり、したがって、この情報は、それ自体では厳密には脅威コンテキスト情報とはみなされない場合がある。しかしながら、転送中のパケットの処分および指令を決定する論理によって脅威コンテキスト情報と組み合わせられてもよい。
【0058】
上記の脅威コンテキスト情報および/または他の情報のいずれかが、任意の組み合わせまたは下位の組み合わせにおいて、並びに上記にリストされていない可能性のある他のタイプの脅威コンテキスト情報が、TIG120によって効率的にアクセスされ得、および/またはそうでなければ決定(例えば、計算)され得、TIG120論理によって使用されて、TIG120によって観察された転送中のパケットの処分および/または1つ以上の指令を決定し得る。
【0059】
上述したように、パケットフィルタリングアプライアンス(例えば、TIG120)に信号送信して、脅威コンテキスト情報を使用して、観察された転送中のパケットの処分および指令を計算するために、新しい処分(例として、本明細書では「保護」処分と称される)をパケットフィルタリングルール構文/スキーマに追加し得る。例えば、脅威インジケータ12.34.56.00/24(すなわち、インターネットプロトコルバージョン4(IPv4)アドレス[12.34.56.00、12.34.56.255]の範囲をカバーするサブネットアドレスプレフィックス)は、CTIプロバイダ140によって、サブネットアドレス範囲12.34.56.00/24を、ポートスキャンを含むいくつかの悪意のあるアクティビティと関連付けるインテリジェンスレポートを提供され得るが、12.34.56.00/24と関連付けられた正当なトラフィックも存在し得る。したがって、企業は悪意のあるアクティビティをブロックしたいが、正当なアクティビティを許可したい場合がある(例えば、ビジネスアクティビティの場合)。しかし、この単一の脅威インジケータおよび従来のパケットフィルタリングアプライアンス(すなわち、本開示の脅威コンテキスト情報処理機能なし)を使用すると、ネットワークを保護しようとする企業は、ルール「ログ12.34.56.00/24をブロックする」を施行し、それによって正当なビジネス通信の損失の危険を冒すか、またはルール「ログ12.34.56.00/24を許可する」を施行し、それによってサイバー攻撃からのビジネス損害の危険を冒すかを選択しなければならない。
【0060】
本開示を通して説明されるように、本開示の脅威コンテキスト対応パケットフィルタリングアプライアンス(例えば、TIG120)では、代わりに、企業は、そのネットワークを保護されていないリソース(例えば、パブリックネットワーク110などの保護されていないネットワーク)から保護し得る。脅威コンテキスト対応パケットフィルタリングアプライアンスは、1つ以上のルールを使用して、それらのルールのうちの1つ以上が観察された転送中のパケットに適用されると決定することに応答して、脅威コンテキスト対応パケットフィルタリングアプライアンスが、転送中のパケットと関連付けられた脅威コンテキスト情報を決定し、脅威コンテキスト情報に基づいて、1つ以上のルールと関連付けられた論理を使用することなどによって、処分および/または1つ以上の指令を決定(例えば、計算)し、計算された処分および/または1つ以上の指令を転送中のパケットに適用することできる。さらに、処分および/または指令を決定することは(および潜在的に処分および/または指令を適用することも)、次の転送中のパケットが脅威コンテキスト対応パケットフィルタリングアプライアンスによって受信(例えば、観察)される前に効率的に完了され得る。例えば、「12.34.56.00/24を保護する」ルールを考える。ルールと関連付けられたTIG120論理は、例えば、次のように構成されてもよく、すなわち「このルールについてマッチングパケットが通常の営業時間[または何らかの他の時間枠]中に観察される場合は、『許可、ログ、およびキャプチャ』。このルールについてマッチングパケットが通常の営業時間外に観察され、そのパケットが現在のポートスキャン攻撃と関連付けられている可能性がある場合は、『ブロック、およびログ』」。この例では、転送中のパケット観察時間、「通常の営業時間」と転送中のパケット観察時間との比較の結果、および観察された転送中のパケットが現在のポートスキャン攻撃と関連付けられているかどうかの決定は、各々、転送中のパケットがTIG120によって観察される前にTIG120に利用可能でなかった脅威コンテキスト情報であってもよい。他のTIG120論理は、1つ以上の一致ルールに基づいて、所望の通りに任意の他のタイプの脅威コンテキスト情報を任意の他の組み合わせまたは下位の組み合わせで適用し得る。
【0061】
脅威コンテキスト認識パケットフィルタリングアプライアンスによって決定され、適用される指令は、任意の関連するタイプのものであり得る。例えば、CTIベースのサイバー分析および防御の効率と有効性をさらに向上させる、脅威コンテキスト認識ロギング指令を使用することができる。従来のロギング指令は、例えば、単一のパケットのログを作成する基本的な「ログ」指令、および同じフロー(すなわち、同じ双方向5タプル)からのパケットのログをフローの単一のログに集約する「フローログ」指令を含み、使用されてもよい。ネットワーク保護を改善するためにログを使用し得るCTI駆動型ネットワーク保護のコンテキストでは、これらの基本的なパケットログおよびフローログ指令は、いくつかのシナリオでは、非効果的かつ非効率的であり得る。例えば、企業ネットワーク境界に対する典型的なポートスキャン攻撃は、比較的短い時間で数千または数百万のパケットを含み、各パケットのログを生成し得る。さらに、ポートスキャン攻撃の各パケットは、異なる5タプルフロー特徴を有し得るので、フローロギングは、ログの数および/またはログデータの量を著しく減少させない場合がある。したがって、例えば、相関パケット(例えば、同じポートスキャン攻撃を含むパケット)上の統計的/集約的/累積的データを収集し、攻撃の単一のログが、そうでなければ生成されているであろう多くのパケットログおよび/またはフローログよりもサイバー分析および防御に対してはるかに効果的であるような方式で、多くのパケットおよび/またはフローの単一のログを生成するログ指令が実装され得る。同様に、上述の例示のポートスキャン攻撃のような特定のサイバー攻撃のために設計されたログ指令は、サイバー分析および防御のための高い情報価値を有する攻撃インシデントのための単一のログを生成するように実装されてもよい。そのようなログ指令の例は、2020年10月27日に出願され、「Methods and Systems for Efficient Adaptive Logging of Cyber Threat Incidents」と題された米国仮特許出願第63/106,166号に記載されており、上記のログ指令の開示のために参照により本明細書に組み込まれる。これらのログ指令は、1つ以上の観察された転送中のパケットについてTIG120によって収集された、またはそうでなければ決定された脅威コンテキスト情報のいずれか若しくは全てに基づいて決定(例えば、計算)され得る。
【0062】
脅威コンテキスト情報の非常に多くの潜在的なソースとタイプ、および多くの可能な組み合わせにより、人間が正確で効率的な決定論理を設計することは実用的ではなくなる可能性がある。このシナリオでは、データ速度、TIG容量、および/または他の要因に応じて、機械学習が、決定論理の一部若しくは全てを設計するために望ましい場合もあれば、必要な場合もある。例えば、脅威コンテキスト情報のソースとフィルタリングされている転送中のパケットから導出された情報とに対応する複数の入力ノード、および転送中のパケットに適用される処分および指令に対応する複数の出力ノード、を有する機械学習人工ニューラルネットワークが作成され得る。ニューラルネットワークは、例えば有界深度分類子(bounded-depth classifier)として、決定論理が非常に効率的である(例えば、一定時間計算量を有する)ような方式で作成され得る。人工ニューラルネットワークに加えて、または人工ニューラルネットワークの代替として、他の機械学習アルゴリズムおよび方法論、例えば、進化アルゴリズム、遺伝的アルゴリズム、遺伝的プログラミングなどを使用して、決定論理を設計してもよい。
【0063】
当業者は、本開示のいくつかの実施形態では、「保護」処分がTIGアプリケーション論理によって手順呼び出しとして扱われ得、したがって、例えば、処分および指令のデフォルト値を指定し、および/またはどの脅威コンテキスト情報が処分および指令を計算するために使用され得るかなどを指定するために、変数でパラメータ化され得ることを理解し得る。例えば、「protect(disposition=“allow”,directives=“log,capture”,threat-context::“port-scan-attack,time-of-day”)(保護(処分=「許可」、指令=「ログ、キャプチャ」、脅威コンテキスト::「ポートスキャン攻撃、時刻」))」は、TIGアプリケーション論理に信号送信して、ポートスキャン攻撃検出論理と関連付けられた脅威コンテキスト情報および現在の時刻(転送中のパケットの観察時間に対応し得る)を使用して、処分および指令を計算することができる。さらに、処分および指令のデフォルト値は、例えば、処分および指令を計算するためのTIG論理が不確定である場合に使用されてもよく、これは、例えば、TIGが指定された脅威コンテキスト論理をサポートしない可能性のあるアプリケーション論理のバージョンを実行している場合に発生し得る。また、TIGアプリケーション論理は、処分「ブロック」および「許可」を、「ブロック」または「許可」動作がパケットに適用されるときに有用な/望ましい副作用を行わせるために、いくつかの脅威コンテキスト情報を透過的に使用し得る論理を暗黙的に実行し得る手順呼び出しとして扱い得る。そのような論理の具体的な例を、
図4と関連して以下に説明する。
【0064】
転送中のパケットの処分と指令を計算するために、転送中のパケット観察の時間、位置、および環境でのみ利用可能な脅威コンテキスト情報の複数のタイプと組み合わせを使用する例として、以下を考慮する。本開示の脅威コンテキストフィルタリング方法を使用することによって対処され得るサイバー脅威インテリジェンス(CTI)を使用してネットワークを保護することと関連する主要な問題は、ポートスキャン攻撃(並びにポートスキャン攻撃と同様の特徴を有するいくつかの攻撃、例えば、ポートスウィープ攻撃、反射されたスプーフィング攻撃などのいくつかのDDoS攻撃)を扱うことである。典型的なポートスキャン攻撃では、悪意のあるアクターは、ポートスキャナアプリケーションを使用して、「オープン」であり得る任意のサービス、すなわち、L3(IP)でインターネットホストによってアクセス可能であり、L4(TCP)で接続を受け入れ、したがって潜在的に悪用可能または攻撃可能であるサービスを探して、ターゲット/被害ネットワークを検索し得る。当業者は、そのような悪意のあるアクティビティを(サイバー)偵察と称することがある。ターゲットネットワークの各パブリックIPアドレス、例えば、/24 IPv4サブネットアドレスブロックを形成する256個の連続するIPアドレスについて、潜在的に48Kの既知または登録されたポートがオープンであり得る。例えば、企業は、企業に割り当てられたパブリックIPアドレスのポート80(HTTPサービスのための周知のポート)および/またはポート443(HTTPセキュア(HTTPS)のための周知のポート)上でそのパブリック向けウェブサーバをホストしてもよい。ポートスキャナは通常、TCP SYNハンドシェイクフラグを所与の{IPアドレス、ポート}ペアに送信する。{IPアドレス、ポート}がTCP SYN-ACKハンドシェイクフラグで応答する場合、ポートスキャナは、{IPアドレス、ポート}ペアが「オープン」であること、すなわち、(未承諾の)TCP接続要求を受け入れることを認識する。その後、この情報を使用して、オープンポートと関連付けられたサービスを攻撃または別様に悪用し得る。ターゲットネットワークに対する典型的な攻撃中、ポートスキャナは、数分間にわたって毎秒数百または数千のTCP SYNを異なる{IPアドレス、ポート}ペアに送信することできる。
【0065】
帰属を回避するために、例えば、悪意のあるアクターは、本来は正当な企業ネットワーク、例えば、
図1のネットワーク130、に接続された本来は正当なホストコンピュータを危険にさらし、ホストコンピュータにポートスキャナプログラムをインストールし得る。ターゲットの営業活動に対する攻撃の通知を回避するために、および/またはターゲットの営業活動に対する攻撃の悪影響を軽減するために、悪意のあるアクターは、ターゲットネットワークを動作させる企業の非営業時間中にポートスキャン攻撃を開始することもできる。
【0066】
CTIプロバイダ140は、ネットワーク130に接続された(危険にさらされた)ホストコンピュータ、例えばホストCがポートスキャン攻撃および/または他の悪意のあるアクティビティのソースであると決定してもよく、ホストCと関連付けられた1つ以上のIPアドレスをサブスクライバに公開するCTIフィードに含めてもよい。例えば、ホストCは、ネットワーク130およびインターネット110の境界と関連付けられた1つ以上のパブリックIPアドレスを割り当てられてもよい。例えば、ネットワーク130のためのISPは、IPv4サブネットアドレスの範囲22.22.22.00/24をネットワーク130に割り当ててもよく、境界のネットワークアドレス変換(NAT)デバイスは、ホストCがポートスキャン攻撃を実行しているときを含めて、ホストCがインターネット通信を実行しているときに、22.22.22.00/24の256個のIPv4アドレスのうちのいずれかをホストCに一時的に割り当ててもよい。したがって、CTIプロバイダは、1つ以上のCTIフィードに脅威インジケータとして22.22.22.00/24からの1つ以上のIPアドレスを含んでもよく、および/または1つ以上のCTIフィードに単一の脅威インジケータとしてサブネットアドレスプレフィックス22.22.22.00/24を含んでもよい。
【0067】
ポリシー構築中、および本開示の方法/技術で有効にされていないシステムの場合、そのようなCTI/脅威インジケータは、しばしば、「ブロック」処分の代わりに、「許可」処分(および「クイック」、「ログ」、および/または「フローログ」指令)を有するパケットフィルタリングルールに変換される。これは、そのようなCTIおよび関連するパケットフィルタリングルールでネットワークを保護する企業が、特に通常の営業時間中に正当なビジネストラフィックをブロック/ドロップするリスクを冒したくない可能性があるからである。したがって、企業は、(「ログ」および/または「フローログ」指令並びに関連するログ分析/脅威認識アプリケーションにより)そのようなポートスキャン攻撃を検出し得るが、悪意のあるアクターの使命は達成される(例えば、オープンポートは悪意のあるアクターによって知られ得、関連サービスは悪意のあるアクターによって特徴付けられ得る)。加えて、ポートスキャン攻撃によって生成された関連するログは、任意のログ分析/脅威認識アプリケーションおよび関連するリソース(例えば、計算リソース、ストレージ、ネットワーク帯域幅、および/またはアプリケーションを操作するサイバーアナリスト)をフラッディング/圧倒し得る。
【0068】
図2は、転送中のパケットの処分および/または指令を計算するための、アクティブな攻撃と関連付けられた脅威コンテキスト情報の、パケットフィルタリングアプライアンス(例えば、TIG120)による例示的な使用を説明するフローチャートである。ステップ2-1において、TIG120は、脅威コンテキストフィルタリング論理、並びに/または転送中のパケットの処分および/若しくは指令を計算するために使用され得る他の情報を用いて構成され得る。この構成ステップは、TIG120がそのネットワーク内でオンラインになる前に、および/またはTIG120が既にオンラインになった後の更新の一部として実行されてもよい。以下に説明されるように、この構成は、従来の脅威コンテキストフィルタリング論理、並びにTIG120の人工ニューラルネットワーク分類子の構成などの他のタイプの論理を含み得る。
【0069】
次に、ステップ2-2において、SPMS150は、1つ以上のCTIP140によって提供される1つ以上のCTIフィードを受信してもよい。
【0070】
ステップ2-3で、SPMS150は、それらの1つ以上のCTIフィードに基づいて、関連する脅威インジケータを集約し、脅威インジケータに対応するパケット一致基準を有する(1つ以上のポリシーと関連付けられ得る)パケットフィルタリングルールの1つ以上のセットを作成し得る。ポリシー内のルールは、様々な処分とさらに関連付けられ得る。例えば、所与のポリシー内のルールの少なくともいくつかは、「保護」処分と関連付けられ得るが、ポリシー内の他のルールは、「許可」または「ブロック」処分と関連付けられ得る。更なる例では、ルールは、処分が転送中のパケット観察時間において決定されることを示す情報と関連付けられ得る。例えば、前に考察されたように、ルールは、脅威コンテキスト情報を使用して転送中のパケット観察時間に処分が計算されるかどうかを示す値(フラグなど)を有するか、またはそうでなければ関連付けられ得る。例えば、ルールは、フラグを含むフィールドを有してもよく、フラグ値が0の場合は、「ルールの所定の処分を使用する」ことを意味し、フラグ値が1の場合は、「転送中のパケット観察時間にルールの処分を計算する」ことを意味する。より一般的には、各ルールは、転送中のパケット観察時間にデフォルトで適用される所定の処分と関連付けられてもよく、または、処分が転送中のパケット観察時間に計算される、および/または転送中のパケット観察時間の前に所定ではない、という指示(「保護」処分、またはヌル処分、または上述のフラグなど)と関連付けられてもよい。
【0071】
ステップ2-4において、SPMS150は、TIG120を含み得るそのサブスクライバにポリシーを公開してもよい。したがって、TIG120は、SPMS150からポリシーを受信し得、これは、上述したように、様々な処分と関連付けられた1つ以上のルールを含み得る。TIG120は、受信したポリシーを使用して、将来観察される転送中のパケットにポリシーを施行することができるように自己構成し得る。
【0072】
ステップ2-5において、TIG120は、例えば、ネットワーク110などの別のネットワークから、次の転送中のパケットPを受信してもよい。例えば、
図9は、TIG120によって受信された一連の転送中のパケットP0、P1などを示している。ステップ2-5の次の転送中のパケットPは、例えば、
図9のパケットP0であると考えられ得る。
【0073】
図2のステップ2-6では、TIG120は、(ステップ2-4で受信され構成された)そのポリシーの検索を実行して、どのルールが転送中のパケットPに一致(適用)し得るかを確認し得る。TIG120が、転送中のパケットPが「ブロック」または「許可」処分と関連付けられたルールと一致すると決定した場合、および/またはそれでなければ、後続の処分計算と関連付けられていると示されない場合、TIG120は、ルールによって識別されたその所定の処分を適用し得る。これは、
図9に例として示されており、ルール一致は、一致ルールによって示される即座に決定された処分(および/または指令)をもたらし得、これは、転送中のパケットP0に適用され得る。しかしながら、TIG120が、転送中のパケットPが「保護」処分と関連付けられたルールと一致する、またはそうでなければ、処分(および/若しくは転送中のパケットに適用される他のアクション)が転送中のパケット観察時間に計算される、および/または転送中のパケット観察時間の前に事前に決定されないという指示と関連付けられている、と決定する場合、ステップ2-7および2-8(
図2)が実行されてもよく、処理はステップ2-5に戻り、次のパケットを受信してもよい。
【0074】
ステップ2-7において、転送中のパケットPに応答して、および/または転送中のパケットPが「保護」処分と関連付けられたルールと一致する(またはそうでなければ転送中のパケット観察時間での処分の計算と関連付けられている)という決定に応答して、TIG120は、転送中のパケットPと関連付けられた、および/またはルールと関連付けられた脅威コンテキスト情報を決定し得る。決定された脅威コンテキスト情報は、本明細書で説明される脅威コンテキスト情報のいずれかのタイプ(例えば、観察時間、アプライアンス位置など)など、脅威コンテキスト情報の1つ以上のタイプを含んでもよい。TIG120は、脅威コンテキスト情報に少なくとも部分的に基づいて、処分(例えば、「許可」または「ブロック」)および/または1つ以上の指令(例えば、「ログ」、「クイック」など)を決定(例えば、計算)してもよい。計算された処分および/または指令は、TIG120と関連付けられたネットワーク(例えば、TIG120aと関連付けられたネットワーク102)を最善に保護するように決定されたものであってもよい。これは、
図9に例として示されており、ルール一致処理が、転送中のパケット(この例ではP0)が「保護」処分ルールと一致する、またはそうでなければ転送中のパケット観察時間での処分の計算と関連付けられている、と決定した場合、転送中のパケットに適用される処分、指令、および/または他のいくつかのアクションは、転送中のパケットP0と関連付けられた脅威コンテキスト情報に基づいて計算されてもよく、計算された処分、指令、および/または他のアクションは、転送中のパケットP0に適用されてもよい。
【0075】
図9の例では、ルール一致から、処分および/または指令を計算して、計算した処分および/または指令を適用するまでの、所与の転送中のパケットの処理全体が、TIG120によって次の転送中のパケット(P1)が受信される前に、TIG120によって全て完了され得る。しかしながら、他のタイミングが実行可能であり得る。例えば、処分および/または指令を計算するまでの処理は、TIG120が次の転送中のパケットP1を受信する前に完了してもよい。別の例として、転送中のパケットP0の処分および/または指令は、次の転送中のパケットP1を観察する前に、転送中のパケットP0の処分および/または指令が適用されなくても、次の転送中のパケットP1に対して処分および/または指令が計算されるか、またはそうでなければ決定される前に、部分的若しくは完全に計算され得る。後者のタイミングの例を
図10に示す。そのようなタイミングは、例えば、TIG120が、次の転送中のパケット(例えば、P1)についてのルール一致を実行することと同時に(例えば、並行して、または同時に)、転送中のパケット(例えば、P0)についての処分および/若しくは指令(並びに/または処分および/若しくは指令の適用)を計算することができる場合、効率的に機能してもよい。このタイミングは、例えば、脅威コンテキスト情報に基づいて処分および/若しくは指令の計算に使用される処理リソースと比較して、異なる(および/若しくは独立した)処理リソースがルール一致に使用される場合、並びに/または転送中のパケットP0の処分および/若しくは指令を計算することが、次の転送中のパケットP1のルール一致に干渉しない(およびその逆も同様)場合に実行可能であり得る。
【0076】
図2のステップ2-8において、TIG120は、計算された処分および/または計算された1つ以上の指令を転送中のパケットPに適用してもよい。次いで、処理はステップ2-5に戻り、次のパケット(例えば、
図9または
図10のパケットP1)を受信してもよい。いくつかの例では、
図2の処理は、パイプライン処理様式で、一度に1つのステップで実行され得る。更なる例では、
図2の処理は、1つ以上のステップの実行が時間的に重複してもよく、および/または同時であってもよい場合に実行されてもよい。
【0077】
転送中のパケット観察時間に処分および/または指令を計算するときに脅威コンテキスト情報を考慮に入れる本開示の方法および技術は、上記のシナリオおよび/または他の(例えば、同様の)シナリオでネットワークを保護するために使用され得る。例えば、ポートスキャン攻撃を含む上記のシナリオでは、観察時間に転送中のパケットと関連付けられた関連する脅威コンテキスト情報は、(a)パケットがアクティブなポートスキャン攻撃の一部であるかどうか、またはアクティブなポートスキャン攻撃を含むかどうか、(b)観察時間が通常の営業時間中であるかどうか、および(c)場合によって、企業が未承諾のインターネット通信に対してオープン/利用可能であることを意図しているIPアドレスとポート(および関連サービス)のどの組み合わせであるかなどの他の脅威コンテキスト情報を含み得る。例えば、(転送中)パケットP0が、ルールR0と「保護」処分と一致し、かつ、処分および指令を計算するための関連するTIG120の論理が、上記の脅威コンテキスト情報(a)および(b)を考慮に入れる、と仮定する。手順として擬似コードで記述されたそのようなTIG120論理の例は、以下の通りであり得る。
Compute-Disposition-and-Directives(in packet:P0,out string:Disposition-and-Directives):
IF(Member-Active-Port-Scan-Attack(P0)AND NOT(Normal-Business-Hours(current-time())))
THEN Disposition-and-Directives:=“block,log,quick”;
ELSE Disposition-and-Directives:=“allow,log,quick”;
End Compute-Disposition-and-Directives;
【0078】
上記の擬似コードを参照して、手順Compute-Disposition-and-Directives()は、CTIと関連付けられた「保護」ルールと一致したP0という名称の(転送中)パケットを入力として受け入れ、ネットワークを最善に保護するためにP0に適用され得る計算された処分および指令を含む文字列Disposition-and-Directivesを出力する。ブール関数Member-Active-Port-Scan-Attack(P0)は、パケットP0がアクティブなポートスキャン攻撃の一部であるかどうかを決定する。ブール関数Normal-Business-Hours()は、上記の例示的な擬似コードの関数呼び出しcurrent-time()である入力時間が、通常の営業時間中に発生するかどうかを決定する(これはローカルに設定可能であってもよい)。全体的に、この例における手順は、CTIから導出されたパケットフィルタリングルールに一致した転送中のパケットと関連付けられた脅威からネットワークを最善に保護する処分および指令を計算するために、転送中のパケットの観察時間またはフィルタリング時間においてのみ(その前ではなく)利用可能であり得る脅威コンテキスト情報の複数のタイプおよび値を組み合わせる。
【0079】
上述のように、脅威コンテキスト情報を考慮して転送中のパケットの処分および/または指令を計算するための論理に組み込むとき、脅威コンテキスト情報および関連するTIG論理が効率的に計算されること、例えば、脅威コンテキスト情報決定(例えば、計算)から生じる(時間)レイテンシがパケットフィルタリングネットワークアプライアンス(例えば、TIG120)のパケット処理性能に悪影響を及ぼさず、それによってRFC 2979の「透明性ルール」の違反を引き起こさないこと、が望ましい場合がある。例えば、(相対的に)高いレイテンシは、パケットフィルタリングネットワークアプライアンスの転送中のパケットバッファをオーバーフローさせ得、それによってパケットドロップを引き起こし得、これは、関連するネットワーク化されたアプリケーションのパフォーマンスに影響し得る。上記の例を参照すると、脅威コンテキスト情報(a)および(b)は、すなわち、(a)「パケットはアクティブなポートスキャン攻撃のメンバーであるか?」であり、これは上記の関数Member-Active-Port-Scan-Attack()として実装されてもよく、および(b)「パケットの観察時間が通常の営業時間中であるか?」であり、これは上記の関数Normal-Business-Hours()として実装されてもよく、したがって、脅威コンテキスト情報(a)および(b)は、効率的に計算されるであろう。当業者は、例えば、転送中のTCP/IPパケットを効率的に処理するように設計された、ソフトウェア開発キット、例えば、データプレーン開発キット(DPDK)で利用可能であり得るTIG120内のtimestamp()関数にアクセスすることによって、(b)/Normal-Business-Hours()などの関数または他の同様の時間ベースの関数を効率的に計算する方法を知っている。TIG120の比較的遅いオペレーティングシステムカーネルへのシステムコールであり得る時間関数にアクセスすることでもまた、この情報を生成し得るが、これは、そうすることのより効率的ではない(したがって、潜在的に非実用的である)方式であり得る。しかしながら、当業者は、(a)/Member-Active-Port-Scan-Attack()および(a)に類似する特定の関数を効率的に計算する方法、例えば、(転送中)パケットがアクティブなポートスキャン攻撃のメンバーである場合、および/または、ポートスキャン攻撃、例えば、ポートスウィープ攻撃に構造的に類似し得るアクティブな攻撃のメンバーである場合に、効率的に計算する方法を知らない場合がある。
【0080】
したがって、次に、(a)/Member-Active-Port-Scan-Attack()および(a)に類似する関数を計算するための例示的で効率的な方法について説明する。例示的な方法は、関心のある攻撃タイプごとに、下記を含む。
(1)攻撃タイプの構造(例えば、アーキテクチャ)および関連情報を特徴付けること、
(2)攻撃タイプの各インスタンスを一意に特徴付けることができ、(潜在的な)攻撃インスタンスのセット(攻撃インスタンスはセットの要素とみなされ得る)のインデックスおよび/または一意の識別子として使用され得る、または当該インデックスおよび/または一意の識別子に対応し得る、攻撃情報またはキーを識別すること、
(3)攻撃タイプの(潜在的な)インスタンスを管理するための(効率的な)セットデータ構造を作成することであり、攻撃タイプの各異なるインスタンス、または同等にセット内の各要素は、その(一意の)キーによって識別される/キーと関連付けられる。セットデータ構造は、少なくとも、キーによって識別された新しい要素、例えば、新しい(潜在的な)攻撃インスタンスをセットに挿入する演算Insert(key,element)、およびキーに対応するセット内に既に要素が存在するかどうかをテストする演算Member(key)と関連付けられ得る。さらに、ポートスキャン攻撃などの複数のパケットで構成される攻撃タイプの場合、追加の(ブール)演算Is-Active-Attack(key)は、セットデータ構造と関連付けられ得る。例えば、複数のパケットで構成/構成され得るいくつかの攻撃の場合、潜在的な攻撃インスタンスは、特定のマルチパケット基準が満たされるまでアクティブな/実際の攻撃であると決定されない場合がある。例えば、複数の異なるポートがスキャンされており、攻撃パケット速度が閾値を超えた後にのみ、潜在的なポートスキャン攻撃インスタンス、すなわち、実際の潜在的な攻撃インスタンスがアクティブであると決定され得る。この例の両方の基準は、(潜在的な)攻撃インスタンスと関連付けられた複数のパケットが観察されていることを必要とする、
(4)転送中のパケットが(アクティブな)攻撃のインスタンスの一部であるか、または(アクティブな)攻撃のインスタンスを含むかを決定するための論理を用いて、TIGを構成および操作すること。
【0081】
例示的な目的のために、ポートスキャン攻撃に適用され得るが、他のタイプの攻撃に容易に適合され得る上記の方法論は、以下のように説明され得る。
【0082】
(1)に関して、TIGによって保護されているターゲットネットワーク上の(典型的な)ポートスキャン攻撃の単一の別個のインスタンスの構造またはアーキテクチャおよび関連情報を特徴付けることであり、特徴付けは、下記を含み得る:
-TCP SYNフラグを含む(TIGおよび保護されているネットワークに対する)インバウンドパケット、
-同じインターネットIPアドレスおよび/または同じ(小さい)サブネットアドレス範囲(例えば、同じ/24、/28、または/32 IPv4サブネットアドレスプレフィックス)が送信元である/から発信される当該パケット、
-ターゲットネットワークの複数の異なるパブリックIPアドレス宛ておよび/または複数の異なるポート宛ての当該パケット、および/または
--(ヒューリスティック、構成可能、および/または所定の)閾値を超える速度で、例えば毎秒10パケットなどで送信される当該パケットであるが、他の閾値が使用されてもよい。
【0083】
したがって、例えば、(潜在的な)ポートスキャン攻撃のインスタンスを(効率的に)表し得る情報の集合体は、任意の組み合わせまたは下位の組み合わせで、以下のうちのいずれか1つ以上を含み得る:
-送信元IPアドレスまたはサブネットアドレスプレフィックス、これは、攻撃を一意に特徴付ける、または表すキーに識別され/関連付けられている場合もある、
-攻撃を構成する現在のパケット数、
-攻撃によってスキャンされた異なるポートの数、および潜在的な攻撃がアクティブなポートスキャン攻撃であり得ると決定し得る(構成可能および/または所定の)閾値(例えば、実際には閾値は4つの異なるポートであり得るが、他の閾値が使用され得る)、
-攻撃によってスキャンされた異なる宛先IPアドレスの数、
-攻撃の現在速度(例えば、パケット/秒)、および攻撃がアクティブなポートスキャン攻撃であり得ると決定し得る(構成可能および/または所定の)閾値、例えば、実際には閾値は毎秒10パケットであり得るが、他の閾値が使用されてもよい。現在速度の推定は、例えば、指数加重移動平均(EWMA)方法に基づく論理、または指数平滑化方法に基づく論理を使用することによって効率的に計算され得る。指数平滑化法は、各(攻撃)パケットが受信された後の推定への各更新が一定時間O(1)計算(典型的には2つの乗算と1つの加算)のみを必要とし、典型的には3つの値のみをいつでも記憶する必要があるため、時間と空間が効率的である(管理された攻撃ごとに、例えば、所与のタイプの攻撃を管理するための各セットデータ構造内の潜在的な攻撃ごとに)、
-攻撃の開始時間、例えば、攻撃を含む特定の(例えば、第1の)パケットの観察時間、
-(潜在的な)ポートスキャン攻撃インスタンスの一意の識別子、
-および/または同様のもの。
【0084】
(2)に関して、攻撃の各インスタンスを一意に特徴付け得る攻撃情報またはキーを識別する:典型的なポートスキャン攻撃の場合、一意のキーは、(インバウンドTCP SYN)パケットの送信元IPアドレス、またはパケットの送信元IPアドレスに対応する/24または/28IPv4サブネットアドレスプレフィックスなどの関連する(小さい)サブネットアドレス範囲であり得る。
【0085】
(3)に関して、ポートスキャン攻撃の(潜在的な)インスタンスを管理するための(効率的な)セットデータ構造を作成することであり、例示的な効率的なセットデータ構造は、直近の最も長い間使われていない(LRU)キャッシュであってもよい。LRUキャッシュは、リンクされたリストに効率的にインデックス付けするために、関連付けられたハッシュマップを有する(境界付き)二重リンクされたリストとして実装されてもよい。セットの要素は、潜在的なポートスキャン攻撃のインスタンスであり、(1)で上述された情報によって表され得、(2)で上述されたキーによって一意に識別され/関連付けられ得る。LRUキャッシュなどのセットデータ構造のためのセット演算/関数は、Insert(key,element)、キーによって識別される新しい(潜在的な)ポートスキャン攻撃インスタンス、または要素を(潜在的な)ポートスキャン攻撃のセットに挿入し得る手順、Member(key)、キーによって一意に表される/識別される(潜在的な)攻撃がセット内の要素であるかどうかを決定する関数、およびDelete(key)、セットから関連する要素を削除する関数を含み得る。LRUキャッシュの場合、Insert()およびMember()の両方は、一定時間計算量、すなわち、O(1)計算量を有してもよく、したがって、効率的な演算の例であってもよい。(境界付き)LRUキャッシュの場合、Delete()関数はまた、O(1)計算量を有し得るが、関連するセットがそのサイズ制限に達した場合、および要素がセット内の最も古い、または直近の最も長い間使われていない(LRU)要素である場合、要素がLRUキャッシュから自動的に削除されるため、透過的/暗黙的/公開されない場合がある。このようにして、終了した、平静化した、またはそうでなければ休止状態になった攻撃は、潜在的および/またはアクティブな攻撃のセットから効率的に削除され得る。例示的なポートスキャン攻撃の場合、単一のインスタンスが複数のパケットで構成/構成されてもよく、および/または攻撃インスタンスが現在アクティブであるかどうかを決定するために複数のパケットが必要とされてもよく、「パケット」という名称の追加の入力パラメータを、以下の例示的なセマンティクス/論理を使用して、セットと関連付けられたMember(key,packet)関数およびInsert(key,packet,element)手順の両方に追加してもよい。
【0086】
Member(key,packet)は、キー(パケットの送信元IPアドレスなど)と一致する要素、例えば(潜在的な)ポートスキャン攻撃のインスタンスを探してセットを検索する。一致がない場合(例えば、セット内にパケットが対応する/関連付けられた要素/ポートスキャン攻撃インスタンスがない場合)、偽を返す。一致がある場合(例えば、セット内にパケットが対応する/関連付けられた要素/ポートスキャン攻撃インスタンスがある場合)、(1)パケットを一致するインスタンスと統合し、例えば、攻撃を構成する現在のパケット数を増やし、必要に応じて、または適切であれば、攻撃を構成する異なるポートの数を更新し、必要に応じて、または適切であれば、攻撃を構成する異なる宛先IPアドレスの数を更新し、攻撃の現在速度を更新するなどを行い、(2)真を返す。パケット統合計算は、十分に効率的であり得、例えば、O(1)計算量を有し、処分および指令の計算の全体的な効率が低下しないことに留意されたい。
【0087】
Insert(key,packet,element)は、新しい(一意の)要素、例えば、キーによって識別され、パケットで初期化され得る(潜在的な)ポートスキャン攻撃の新しいインスタンスを挿入する。例えば、新しい要素/新しい攻撃インスタンスについて、新しい攻撃インスタンスと関連付けられた送信元IPアドレスまたはサブネットアドレス範囲は、例えば、パケットの送信元IPアドレスまたは対応するサブネットアドレスプレフィックスであり得るキーに設定され得、攻撃を構成する現在のパケット数は、例えば、1に初期化され得、攻撃によってスキャンされた異なるポートの数は、例えば、1に初期化され得、攻撃によってスキャンされた異なる宛先IPアドレスの数は、例えば、1に初期化され得、現在速度は、例えば、0に設定され得、攻撃の開始時間は、現在の時間に設定され得(例えば、ウォールクロック、ローカル、または他のタイムスタンダードを使用し得る)、ローカルまたはグローバルサービスによって自動的に生成され得る、ポートスキャン攻撃の(一意な)識別子、などである。
【0088】
ポートスキャン攻撃を管理するために、セットデータ構造はまた、ブール関数Is-Active-Attack(key)と関連付けられ得、これは、キーに対応する要素/攻撃インスタンスが現在アクティブである場合に真を返し、キーに対応する要素/攻撃インスタンスが現在アクティブでない場合(またはセット内にキーに対応する要素/攻撃インスタンスがない場合)に偽を返す。ポートスキャン攻撃がアクティブであるか否かは、例えば、スキャンされた異なるポートのパラメータの数の値を(事前構成された)閾値、例えば、スキャンされた4つの異なるポートと比較し、現在速度のパラメータの値を(事前構成された)閾値、例えば、毎秒10パケットと比較することによって決定され得る。両方のパラメータ値がそれぞれの閾値を超える(または満たす、または超える)場合、攻撃はアクティブとみなされる可能性があり、そうでない場合、攻撃は非アクティブとみなされる可能性がある。
【0089】
Insert()、Member()、およびIs-Active-Attack()の効率的な実装を用いて、Compute-Disposition-and-Directives()のための上記の擬似コードで参照される効率的な関数Member-Active-Port-Scan-Attack()は、例えば、以下のように(擬似コードで)記述され得る。
【0090】
Boolean Member-Active-Port-Scan-Attack(in packet:P0):
【0091】
Key key:=Port-Scan-Attack-Key(P0);/*e.g.,the source IP address of packet P0*/
【0092】
IF NOT(Member(key,P0))THEN Insert(key,P0,new element());ENDIF;
【0093】
Return Is-Active-Attack(key);/*end of function Member-Active-Port-Scan-Attack*/
【0094】
例示的な目的のために、上記の関数は、潜在的なポートスキャン攻撃を管理するためのセットデータ構造が、例えば、TIGアプリケーション論理によって初期化されており、透過的に利用可能であると仮定する。また、ポートスウィープ攻撃などのポートスキャン攻撃以外の異なるタイプの攻撃の場合、上記のMember-Active-Port-Scan-Attack()と同様の関数が、攻撃タイプの適切かつ対応するサブ関数、データ構造、キー、および要素と共に利用され得る。
【0095】
攻撃がアクティブであると決定されたか否か(転送中のパケットが観察されたとき)は、パケットフィルタリングルールと一致し得るパケットの処分および指令を決定するための重要な脅威コンテキスト情報であり得る。
図3は、例示的な転送中のパケットの処分および/または指令を計算するための、アクティブな攻撃、例えばポートスキャン攻撃(マルチパケット、マルチフロー攻撃の例)と関連付けられた脅威コンテキスト情報の例示的な使用を説明するフローチャートである。フローチャートによって示される処理は、特定のデバイス(例えば、TIG120a)を参照して説明されるが、処理は、任意の他のデバイス(例えば、他のTIG120のいずれか)によって、またはそれと通信して実行されてもよい。
【0096】
図3を参照すると、ステップ3-1において、ネットワーク102を保護するTIG120aは、インターネットホストと関連付けられた脅威からネットワーク102を保護するために、1つ以上のタイプの脅威コンテキスト情報を使用して、転送中のパケットのための処分および指令を計算し得る論理を用いて構成されてもよい。脅威コンテキスト情報は、例えば、ポートスキャン攻撃、ポートスウィープ攻撃、DDoS攻撃、反射されたスプーフィング攻撃などを検出するための論理などの攻撃検出論理、転送中のパケットが観察されるか、そうでなければ受信される時間を決定するために、および/または観察/受信時間を通常の営業時間などの所定の時間枠と比較するために使用され得る現在の時刻、TIGの所有者/オペレータに固有のコンテキスト情報、および/または同様のものを含み得る。脅威のコンテキスト情報の他の例は、本文書の他の箇所で説明する。1つの特定の例では、TIG120aのポートスキャン攻撃検出論理は、(例えば)ポートスキャン攻撃を示す異なるポートの数については2、および攻撃速度についての毎秒10パケット、という閾値を用いて構成されてもよい。他の閾値が使用され得る。TIG120aの通常の営業時間は、(例えば)午前7時~午後6時(現地時間)の間の時間間隔であるように構成されてもよい。TIG120aはまた、CTIから導出された脅威インジケータに対応する一致基準を有するパケットフィルタリングルールを含み得るSPMS150から受信されたポリシーを用いて構成され得る。これらの脅威インジケータのうちの1つは、ネットワーク130などの特定のネットワークに接続されたホストの特定のIPアドレス、例えば、22.22.22.22に対応し得る。一致基準22.22.22.22を有するルールの処分は、「保護」であってもよく、これは、脅威コンテキスト情報を考慮して、転送中のパケットに適用される処分および/または命令を計算する論理を適用するようにTIG120aに信号送信する。
【0097】
ステップ3-2の第1の反復では、TIG120aは、特定の時間、例えば、現地時間の午前3時(すなわち、03:00:00:00)に、そのインターネットインターフェースの1つにおいてTCP SYNを含む第1のインバウンドパケット(本明細書では「P0」と称される)を受信する。このパケットP0は、ポートスキャン攻撃を行うためのマルウェアに感染している可能性のある特定のホスト、例えば、ホスト22.22.22.22によって送信されている可能性がある。したがって、P0の送信元IPアドレスは22.22.22.22であり、宛先IPアドレスは11.11.11.11であり、これはネットワーク102と関連付けられたパブリックIPアドレスであり得、宛先ポートは22(セキュアシェル(SSH)サービス用の周知のポート)である。TIG120aは、P0と一致するルールを探してポリシーを検索し、一致基準22.22.22.22および「保護」処分を有するルールを発見する。「保護」処分は、脅威コンテキスト情報および関連する論理を使用して、パケットに適用され得る処分および/または指令を計算するようにTIG120aに信号送信する(他の一致ルールが計算された処分を上書きしないと仮定する)。
【0098】
ステップ3-3の第1の反復では、TIG120a論理は、P0が(ネットワーク102に対して)インバウンドであり、TCP SYNフラグを含むと決定し得、これに基づいて、P0がポートスキャン攻撃の構成要素であり得ると決定し得る。したがって、論理は、手順Compute-Disposition-and-Directives(P0,new string disposition_and_directives)を呼び出す。手順は、ブール関数Member-Active-Port-Scan-Attack(P0)を呼び出し、これは、例えば、パケットP0が、既存の(潜在的な)ポートスキャン攻撃のメンバーではないため(例えば、サブ関数Member(key,P0)が偽を返したため)、パケットP0は新しい(潜在的な)ポートスキャン攻撃の最初のパケットであり得ると決定する。したがって、新しい要素/ポートスキャン攻撃インスタンスがP0から作成され(Insert(key,P0,new element())を呼び出すことによって)、(潜在的な)ポートスキャン攻撃を管理するローカルなセットデータ構造に挿入される。この新しい要素は、初期パケットおよび環境から導出され得る初期値が入力されてもよく、例えば、キーは、22.22.22.22(または22.22.22.00/24)に設定されてもよく、またはそうでなければ22.22.22.22(または22.22.22.00/24)に基づいて生成されてもよく、攻撃を構成する現在のパケット数のパラメータの値は、1に初期化されてもよく、攻撃によってスキャンされた異なるポートの数のパラメータの値は、1に初期化されてもよく、攻撃によってスキャンされた異なる宛先IPアドレスの数のパラメータの値は、1に初期化されてもよく、現在速度のパラメータの値は、0に設定されてもよく、攻撃の開始時間は、現地時間の午前3時(すなわち、03:00:00:00)に設定されてもよい、などである。また、この新しい要素/新しい(潜在的な)攻撃インスタンスと関連付けられ得る(一意の)攻撃識別子を生成することも有用であり得る。
【0099】
ステップ3-4の第1の反復では、Member-Active-Port-Scan-Attack()関数呼び出し中、攻撃によってスキャンされた異なるポートの数のパラメータの値および現在速度のパラメータの値は、それらの関連する閾値と比較される。この例では、どちらのパラメータ値も対応する閾値を超えないため、攻撃はアクティブではないと決定され、したがって、Member-Active-Port-Scan-Attack()関数は偽を返す。また、ステップ3-4の第1の反復では、関数Normal-Business-Hours(03:00:00:00)が呼び出され、偽が返される。したがって、論理「(Member-Active-Port-Scan-Attack(P0)AND NOT(Normal-Business-Hours(current-time())))」は、いいえ/偽を返し、したがって、Disposition-and-Directives文字列は「許可、ログ、クイック」に設定される。
【0100】
したがって、ステップ3-5Fにおいて、TIG120a論理は、パケットP0を宛先11.11.11.11に向けて許可/推進し、パケットをログ記録し、ポリシー検索を終了する(「クイック」指令のため)。パケットP0の処理が完了すると、論理プログラム制御は、TIG120aのインターフェースに到着する次のパケットを処理するために、ステップ3-2に戻る。
【0101】
ステップ3-2の第2の反復では、この例では、TIG120aは、P0が現地時間の午前3時に到着した0.01秒後、そのインターネットインターフェースの1つにおいてTCP SYNを含む第2のインバウンドパケット(「P1」)を受信する(すなわち、P1が03:00:00:01に到着する)。このパケットP1は、ポートスキャン攻撃を実行するためのマルウェアに感染している可能性のあるホスト22.22.22.22によって送信されている可能性がある。したがって、P1の送信元IPアドレスは22.22.22.22であり、宛先IPアドレスは11.11.11.11であり、ネットワーク102と関連付けられたパブリックIPアドレスであり得、宛先ポートは23(Telnetサービス用の周知のポート)である。TIG120aは、P1と一致するルールを探してポリシーを検索し、一致基準22.22.22.22および「保護」処分(例えば、ステップ3-2の第1の反復において上記のパケットP0に一致する同じルール)を有するルールを発見する。「保護」処分は、脅威コンテキスト情報および関連する論理を使用して、パケットに適用され得る処分および/または指令を計算するようにTIG120aに信号送信する。
【0102】
ステップ3-3の第2の反復では、TIG120a論理は、P1が(ネットワーク102に対して)インバウンドであり、TCP SYNフラグを含むと決定し、これは、P1がポートスキャン攻撃の構成要素であり得ることを示す。したがって、論理は、手順Compute-Disposition-and-Directives(P1,new string disposition_and_directives)を呼び出す。手順は、ブール関数Member-Active-Port-Scan-Attack(P1)を呼び出し、これは、パケットP1は、既存の(潜在的な)ポートスキャン攻撃のメンバーであり得ると決定する(例えば、サブ関数Member(key,P1)が真を返したため)。したがって、Member()関数の副作用は、(潜在的な)ポートスキャン攻撃を表す要素にパケットP1を挿入/統合することである。例えば、攻撃を構成する現在のパケット数のパラメータの値は、2まで1増分されてもよく(潜在的な攻撃と関連付けられた2つの受信パケットの合計を表す)、攻撃によってスキャンされた異なるポートの数のパラメータの値は、2まで1増分されてもよく(潜在的な攻撃と関連付けられた2つの異なるポートの合計を表す)、攻撃によってスキャンされた異なる宛先IPアドレスの数のパラメータの値は、1に設定されたままであってもよく(攻撃と関連付けられた1つの宛先IPアドレスの合計を表す)、現在速度のパラメータの値は、100に計算されてもよい(P1がP0の0.01秒後に到着したため、毎秒パケットの単位で)(攻撃と関連付けられたパケット速度を表す)、などである。
【0103】
ステップ3-4の第2の反復では、Member-Active-Port-Scan-Attack()関数呼び出し中、攻撃によってスキャンされた異なるポートの数のパラメータの値および現在速度のパラメータの値は、それらの関連する閾値と比較される。両方のパラメータ値が、対応する閾値と一致するか、または超えているため、攻撃はアクティブであると決定され、したがって、Member-Active-Port-Scan-Attack()関数は真を返す。また、ステップ3-4の第2の反復では、関数Normal-Business-Hours(03:00:00:01)が呼び出され、偽が返される。したがって、論理「(Member-Active-Port-Scan-Attack(P1)AND NOT(Normal-Business-Hours(current-time())))」は、はい/真を返し、したがって、Disposition-and-Directives文字列は「ブロック、ログ、クイック」に設定される。
【0104】
したがって、ステップ3-5Tにおいて、TIG120a論理は、パケットP1をブロック/ドロップし、それによって(アクティブな)ポートスキャン攻撃からネットワーク102を保護し、パケットをログ記録し、ポリシー検索を終了する(「クイック」指令のため)。パケットP1の処理が完了すると、論理プログラム制御は、TIG120aのインターフェースに到着する次のパケットを処理するために、ステップ3-2に戻る。
図3の処理は、後続の到着パケットごとに繰り返されてもよい。
【0105】
ポートスキャン攻撃とのパケットの脅威コンテキストの関連付けを効率的に決定するための上記の方法は、他の(例えば、同様の)特徴(例えば、複数の異なるフロー)を有する他のタイプの攻撃、例えば、ポートスウィープ攻撃、特定のDDoS攻撃などに容易に適応され得ることに留意されたい。また、方法は、CTIと関連付けられた脅威インジケータに対応する、または特定の時間枠(例えば、転送中のパケット観察時間を営業時間などの既知の時間枠と比較することによる)に対応する一致基準を有するパケットフィルタリングルールと一致するパケットに限定されない。一致するパケットフィルタリングルールを、例えば、未承諾のTCP接続の試みなど、TCP SYNフラグを含む任意のインバウンドパケットに対して使用して、ポートスキャン攻撃の一部であり得るパケットを検出し得る。逆に、そのような検出器は、例えば、ポートスキャン攻撃または同様の攻撃のソースである内部ホストが送信元であり得るアウトバウンドTCP SYNパケットを追跡するように適合され得る。そのようなホストは、ポートスキャン(または同様の)攻撃アプリケーションのマルウェアによって危険にさらされている可能性があり、したがって、検出されると、関連するネットワーク管理者はマルウェアをホストから一掃して削除することができる。
【0106】
異なるタイプの攻撃に対して同時に動作する複数の異なる攻撃検出器がある場合がある。さらに、上記の例示的な説明では、CTI導出のパケットフィルタリングルールを使用して、脅威と関連付けられ得、これらの攻撃の構成要素であり得るパケットを識別することができるが、これらの攻撃検出器を使用して、CTI導出のパケットフィルタリングルールによって識別されていない可能性のあるパケットによって実行されている潜在的および/またはアクティブな攻撃を検出することもできる。
【0107】
本開示の脅威コンテキスト認識パケットフィルタリングはまた、実際にしばしば発生するいくつかの重要な動作上の問題を軽減するために使用されてもよい。上述したように、転送中のパケット観察時間にCTIノイズ除外を実行できることが望ましい場合がある。CTIノイズの例としては、以下が挙げられる。
【0108】
複数のドメインをホストするIPアドレスをリストするCTI、この場合、ドメインの1つ以上が望ましい(例えば、脅威ではないとみなされる)場合があり、ドメインの他の1つ以上が望ましくない(例えば、潜在的または実際の脅威と関連付けられている)場合がある。例えば、コンテンツ配信ネットワーク(CDN)プロバイダは、多くの場合、単一のIPアドレスX上に多くのドメイン(例えば、数百または数千)をホストする。ドメインの何らかの(小さい)部分が何らかのCTIプロバイダによって脅威であると決定された場合、CTIプロバイダは、その公開されたCTIのドメインだけでなく、脅威ドメイン(および正当なドメイン)をホストする単一のIPアドレスXも含み得る。したがって、脅威ではない/正当なドメインを含む、IPアドレスXでホストされている各ドメインは、脅威と関連付けられる。SPMS150は、一致基準としてパケットフィルタリングルールにIPアドレスXを含んでもよく、次いで、ネットワーク102を保護するTIG120aなどのTIG120に配布されるポリシーにルールを含んでもよい。ルールの処分が「ブロック」である場合、ネットワーク102とCDNとの間の多くの正当なビジネス通信がブロックされる可能性があり、すなわち、多くの誤検出があり得る。ルールの処分が「許可」であり、指令の1つが「ログ」(可能性のある脅威の警告として)である場合、多くの誤警告が生成される可能性がある。いずれの場合も、IPアドレスXは「CTIノイズ」とみなされ得る。
【0109】
ソーシャルメディアプラットフォームなど、人気のあるドメインをリストするCTI。別の例として、多くの場合、インターネット上で最も人気のあるドメイン(例えば、DNS解決要求の速度によって測定される)は、CTIPのCTIフィードにリストされる。これが発生し得るのは、例えば、人気のあるソーシャルメディアプラットフォームが悪意のあるアクターによって攻撃ベクトルとして使用されて、URI脅威インジケータをもたらすことが多いからである。上記のCDNの例と同様に、CTIPは、URIだけでなく、関連するドメイン名もCTIとして公開し得、これは、多くの誤検出および誤警告をもたらす。そのようなドメイン名は、「CTIノイズ」とみなされ得る。ドメインは、例えば、ドメインが人気ドメインのリストに含まれる場合、および/またはドメインが閾値人気スコアを超える人気スコアを有すると決定された場合、CTIノイズを構成するのに十分に人気があるとみなされ得る。
【0110】
特定の位置、特定のネットワーク、および/または特定の管理コンテキストと関連付けられたCTI。ローカライズされ得る、またはそうでなければ特定のネットワークに固有であり得るCTIノイズのさらに別の例として、すなわち、位置および/または管理コンテキストは、ネットワーク保護決定に因子として組み込まれ得る。企業は、1つ以上のTIG120および関連するCTIベースのポリシーでそのネットワークの保護を開始し得るが、CTIおよび関連するパケットフィルタリングルールが、企業のホストの一部または時には全てを脅威として識別する脅威インジケータを含むことを直ちに発見し得る。パケットフィルタリングルールの処分が「ブロック」である場合、影響を受けた企業ホストは、インターネットホストとの正当な通信を行うことができない可能性がある。この特定のCTIノイズ問題は、本明細書では、生物学的生物の免疫系が自己を認識せず、したがって自己を攻撃する可能性がある場合などの生物学的自己免疫問題に類似して「自己免疫問題」と称され、以下の例示的なシナリオにより実際に発生する可能性がある。多くの場合、企業ネットワーク102のパブリック/WAN IPアドレスは、企業ネットワークをインターネット110とインターフェースするネットワーク境界に割り当てられもよく、例えば、内部企業ホストがマルウェアに感染しているか、またはそうでなければ悪意のあるアクターによって制御され/危険にさらされており、インターネット上で悪意のあるアクティビティに参加している可能性があるため、CTIプロバイダによって脅威インジケータとして識別され得る。そのようなアクティビティは、CTIP140によって検出され得、CTIP140は、危険にさらされたホストのIPアドレスおよび/または関連するサブネットアドレス範囲を脅威インジケータとして識別し得、インジケータは、CTIフィードに公開されてもよく、CTIフィードは、SPMS150によって取り込まれ得、SPMSは、インジケータを「ブロック」処分を有するパケットフィルタリングルールに変換し得、パケットフィルタリングルールは、ネットワーク102を保護するTIG120aを含むTIG120に配布されたポリシーに含まれ得る。次いで、ネットワーク102に接続された内部企業ホストとインターネットホストとの間の正当な通信がブロックされ得、これを企業は非常に望ましくない挙動であるとみなし得る。
【0111】
CTIノイズおよび自己免疫の上記の例では、例えば、CTIおよびCTIノイズの生成/作成と関連付けられたボリューム、ダイナミクス、自動化、可視性および/またはアクセスの欠如、各サブスクライバに固有のコンテキスト的な違いなどのために、CTIP140および/またはSPMS150でCTIノイズを除外/フィルタリングすることは、しばしば困難、非実用的、または不可能である。さらに、CTIノイズはコンテキスト的であり得、例えば、1つのサブスクライバ(例えば、特定のTIG120並びに/またはTIG120aおよび/若しくはネットワーク102などの特定のネットワークと関連付けられた企業)は、インジケータのセットをノイズ(必ずしも脅威ではない)とみなし得るが、他のサブスクライバ(例えば、異なる特定のTIG120並びに/またはTIG120bおよび/若しくはネットワーク104などの特定のネットワークと関連付けられた別の企業)は、同じインジケータのセットを脅威とみなし得、または、例えば、一度に企業は、一組のインジケータを脅威とみなし得るが、後で(例えば、TIG120がそのインジケータのセットと関連付けられた転送中のパケットを観察したとき)、同じインジケータのセットをノイズ(かつ脅威ではない)とみなし得る。
【0112】
本開示の技術および方法は、CTIノイズ問題および自己免疫サブ問題を解決するために使用され得る。一般的なアプローチは、転送中のパケットに応答してTIG120で決定される脅威コンテキスト情報としてCTIノイズを識別し、脅威コンテキスト情報をTIG120の処分および指令の後続の計算に含み得る。各TIG120は、脅威コンテキスト情報としての関連するネットワーク境界のローカルパブリック/WAN IPアドレス、および各TIG120の管理者によってCTIノイズとみなされる他のインジケータを用いて構成されてもよい。例えば、TIG120aは、ネットワーク102のネットワーク境界の1つ以上のローカルパブリック/WAN IPアドレスを用いて構成され得、TIG120bは、ネットワーク104のネットワーク境界の1つ以上のローカルパブリック/WAN IPアドレスを用いて構成され得る。例えば、ローカルパブリック/WAN IPアドレス、および/またはCTIノイズとして識別された他のインジケータ(例えば、IPアドレス、ドメイン名、URI、および/またはその他)は、ブルームフィルタなどの効率的なセットデータ構造に挿入されてもよく、これは、論理がルールおよびマッチングパケットを処理しているときに、(ルールを満たす転送中のパケットを観察することに応答して)TIG120論理によって要素メンバーシップについて効率的にテストされ得る。CTIノイズとして識別された任意のインジケータについての関連するポリシーの脅威インジケータルールは、「ブロック」処分の代わりに「保護」処分を用いて構成され得る(または「許可」および「ブロック」以外のいくつかの他の処分を用いて構成され得る、またはヌル処分などの全く処分を用いずに構成され得る、または処分を有しても有しなくてもよく、TIG120が処分を決定するために転送中のパケット観察時間に脅威コンテキスト情報を使用する命令として解釈されるフラグなどの情報と関連付けられ得る)。次いで、例えば、そのようなルール(例えば、「保護」ルール)がパケットに一致するとき、一致する脅威インジケータは、効率的なセットデータ構造におけるメンバーシップについてテストされ得、メンバーシップテスト結果(すなわち、真/メンバーである、または偽/メンバーではない)は、処分および指令の計算への入力として使用され得る。例えば、真の結果は、TIG120論理に「許可」処分および「ログ」および「続行」指令を計算させ得るが、一方、偽の結果は、TIG120論理に「ブロック」処分、並びに「ログ」および「クイック」指令を計算させ得る。
【0113】
更なる例では、TIG120論理は、適用可能なルールの処分に関係なく、CTIノイズおよび/または自己免疫を(例えば、常に)考慮に入れるように構成されてもよい。例えば、TIG120論理は、「ブロック」ルールがパケットに一致するとき、CTIノイズおよび/または自己免疫を常に考慮に入れるように構成されてもよく、それに応じて、処分および指令を計算および適用してもよい。実際には、ルールの「ブロック」処分のセマンティクスは、例えば、「一致するインジケータがCTIノイズおよび/または自己免疫と関連付けられたインジケータのセット内にある場合を除いて、このパケットをブロックする」ように変更されてもよい。そのようなTIG120論理構成は、例えば、関連するSPMSが「保護」処分を有するルールの構築を提供しないが、CTIノイズおよび/または自己免疫からの保護が必要である場合に有用であり得る。より一般的には、いくつかのシナリオでは、「ブロック」および/または「許可」処分を有するルールなどの任意のルールを適用するときに、CTIノイズだけでなく、任意の脅威コンテキスト情報を考慮に入れるTIG120論理を有することが有用であり得る。例えば、TIG120論理は、ルールの「保護」処分に依存しないで、脅威コンテキスト情報を使用して処分と指令を計算することができる。本明細書で説明される様々な例は、脅威コンテキスト情報および関連する論理を使用することの前駆として「保護」処分を使用するが、TIG120は、「ブロック」または「許可」処分などであるがこれに限定されない任意の処分を有する任意のルールを適用するとき、任意の脅威コンテキスト情報(CTIノイズインジケータを含むが、これに限定されない)に依存し得る。したがって、「保護」処分ルールを適用するときに脅威コンテキスト情報を使用する、本明細書で説明される任意の例は、ルールの他の処分を適用するときにも同様に実装され得、このことは、これらの例において、ルールの最終的な処分および/または指令を再計算またはそうでなければ決定するために代用され得る。
【0114】
図1を参照すると、ネットワーク102に接続されたホストから発信されるパケットが、ネットワーク102を保護するTIG120aによって適用される「保護」ルール(または、すぐ上で言及されるように、所望の通りに任意の他のルール)と一致するとき、関連するTIG120a論理は、一致するインジケータが、セットデータ構造フィルタに含まれる(ローカル)CTIノイズおよび/または自己免疫脅威コンテキスト情報(ローカルパブリック/WAN IPアドレスおよび場合によっては他のCTIノイズインジケータからなる)に対応するかどうかをテストして、計算された処分が「許可」であり得、ポリシー処理指令が「継続」であり得ると決定し得る。一方、CTI内にないローカルパブリック/WAN IPアドレスを有する異なるネットワーク104、およびネットワーク104と関連付けられたTIG120bによってフィルタリングされるネットワーク102に接続されたホストとの通信を含むパケットについて、関連するTIG120b論理は、計算された処分が「ブロック」であり、かつポリシー処理指令が「クイック」であると決定し得る。したがって、ネットワーク102およびTIG120aは、内部ホストとインターネットホストとの間の正当な通信を可能にし得るが、ネットワーク104およびTIG120bは、ネットワーク102に接続された脅威ホストとの悪意のある通信をブロックし得る。
【0115】
図4は、自己免疫問題およびより一般的なCTIノイズ問題を解決する、すなわち、本開示の脅威コンテキスト情報および関連する方法を使用して、転送中のパケット観察/フィルタリング時間において、CTIノイズ除外を実行する、例示的な処理のフローチャートを示す。
図4は、例えば(プライベート)企業ネットワーク102を保護するTIG120aなどのTIG120の処理を追跡する。
図4はまた、TIG120aにポリシーおよび/またはパケットフィルタリングルールのセットを提供し得るSPMS150のための例示的な処理を示す。
図4は、同様に、ネットワーク104を保護するTIG120b、およびネットワーク108を保護するTIG120cに適用され得ることに留意されたい。
【0116】
ステップ4-1において、インターネット110(または他のパブリックネットワーク)とのネットワーク境界に割り当てられた(プライベート)企業ネットワーク102のパブリック/WAN IPアドレスが識別され、境界でネットワーク102を保護するローカルTIG120aへの脅威コンテキスト情報として構成される。例えば、パブリック/WAN IPアドレス、並びに他のCTIノイズインジケータ(例えば、IPアドレス、ドメイン名、URI、および/またはその他であり得る)は、TIG120aによって管理されるブルームフィルタなどの効率的なセットデータ構造であり得るCTI-NOISEという名称のデータセットに挿入され得る。パブリック/WAN IPアドレスは、通常、そのインターネットサービスプロバイダ(ISP)によって企業に割り当てられる。多くの場合、ISPはIPアドレスをサブネットアドレスとしてサブスクライバに割り当てる。サブネットアドレスは、連続するIPアドレスのブロックである。例えば、ネットワーク102の境界に割り当てられ得る(IPv4)サブネットアドレス11.11.11.00/24は、11.11.11.00~11.11.11.255までの範囲の256個の連続するIPアドレスのブロックを表す。多くの場合、企業ネットワークは、ネットワークアドレス変換(NAT)を含む複数の機能を提供する境界に位置するネットワークファイアウォール(図示せず)によって保護されている。NAT機能は、プライベートネットワーク102のプライベートIPアドレス空間とネットワーク境界に割り当てられたパブリックIPアドレスとの間で変換するNATゲートウェイデバイス、またはNATインターフェースデバイスにおいて具現化され得る。このようにして、内部ホストは、プライベートIPアドレスが割り当てられているが、インターネットホストと通信し得、何故なら、NATがインターネット通信中の内部ホストに、インターネットを介してルーティングする通信のパケットに必要であり得るパブリックIPアドレスを(一時的に)割り当てるからである。しかしながら、CTIおよび関連するネットワーク保護システムの観点から、NAT機能が自己免疫問題を悪化させる可能性があり、何故なら、例えば、単一の危険にさらされた内部ホストが、(NATによって)複数の異なるパブリックIPアドレスに変換され得る複数の(脅威)通信を実行し得るからである。CTIP140は、複数の異なるIPアドレスからのこれらの複数の通信を検出することができ、関連するサブネットアドレスプレフィックス、例えば、11.11.11.00/24が脅威インジケータであると決定し得、次いで、インジケータ/サブネットアドレスプレフィックスをCTIフィードに公開してもよい。実際には、これは、任意の内部ホストによる任意のインターネット通信が、ネットワーク102を保護するTIG120aを含む、CTIフィードから生成されたルールを含むポリシーのサブスクライバによって脅威として認識され得ることを意味する。
【0117】
ステップ4-2において、SPMS150は、CTIP140からネットワーク102のパブリック/WAN IPアドレスを含むCTIフィードを受信し、それらを脅威インジケータとして識別し得る。CTIはまた、ネットワーク132に接続されたホストと関連付けられた(例えば)IPアドレス66.66.66.66を識別する。
【0118】
ステップ4-3において、SPMS150のルールおよびポリシー生成構成要素は、「保護」処分を有し、ネットワーク102のパブリック/WAN IPアドレス(すなわち、11.11.11.00~11.11.11.255)(脅威インジケータである)に対応する一致基準を有する1つ以上のパケットフィルタリングルールを作成する。例えば、ルールR0「11.11.11.00/24を保護する」が作成されてもよい。このルールR0および他のルールは、ネットワーク102を保護するTIG120aを含む、サブスクライバに配布されるポリシーに含まれてもよい。代替的に、TIG120が、「ブロック」ルールが一致するときに、CTIノイズインジケータについてローカルセットデータ構造を自動的にチェックする論理を含む場合、SPMSは、「ブロック」処分を有し、かつネットワーク102のパブリック/WAN IPアドレスに対応する一致基準を有するパケットフィルタリングルールを作成してもよい。また、ポリシー内のルールR0に続くルールR1「66.66.66.66をブロックする ログ記録する クイックする」が作成され、すなわち、ポリシーの検索は、ルールR1に遭遇する前にルールR0に遭遇し得る。
【0119】
ステップ4-4において、(ネットワーク102を保護する)TIG120aは、ステップ4-3においてSPMS150によって配布されたポリシーを受信する。TIG120aは、ネットワーク102とインターネット110との間の境界を横断する転送中のパケットに対してポリシーを施行する。
【0120】
ステップ4-5において、TIG120aは、ネットワーク102に接続された、パブリックIPアドレス11.11.11.01を有する(例えば、インターネット110とのネットワーク102の境界に位置するNATによって、例えば割り当てられる)(内部)ホストAによって発信されたパケットP1を受信し、これは、ネットワーク104に接続された、パブリックIPアドレス、例えば、44.44.44.21を有するホストBに宛てられる。したがって、パケットP1のIPヘッダには、送信元IPアドレス値11.11.11.01と宛先IPアドレス値44.44.44.21とが含まれる。(宛先)ホストBのIPアドレス44.44.44.21は、CTI内になく、したがって、ホストBは脅威とはみなされず、TIG120aによって施行されているポリシー内の任意のパケットフィルタリングルールの一致基準に対応しない。
【0121】
ステップ4-6において、TIG120aは、ルールがパケットP1と一致するかどうかを決定するために、現在のポリシーをパケットP1に適用する。この例では、TIG120aは、現在のポリシーをパケットP1に適用し、P1の送信元IPアドレス値が11.11.11.01であるため、ルールR0(「11.11.11.00/24を保護する」)と一致する。「保護」処分は、CTI-NOISEインジケータセットデータ構造(例えば、ブルームフィルタ)に含まれるCTIノイズインジケータを含む、少なくとも脅威コンテキスト情報を使用してP1の処分および/または指令を計算するようにTIG120aに信号送信する。したがって、TIG120aは、ルールR0に「保護」処分が割り当てられているというその決定に基づいて、脅威コンテキスト情報を使用して、P1のための処分および/または1つ以上の指令を決定(例えば、計算)ことができる。TIG120aは、(ステップ4-1において、11.11.11.01がCTI-NOISEセットデータ構造に挿入されたため)真である、要素11.11.11.01のメンバーシップについてセットデータ構造をテストする。真という結果は、TIG120a論理に、(a)処分がパケットP1に対して「許可」であること、および(b)指令が「ログ」および「継続」であると決定させてもよく、その結果、例えば、自己免疫インスタンスが管理者に警告されてもよく、パケットP1がポリシー内のルールによってフィルタリングされ続けてもよい。「続行」指令により、TIG120aは、ポリシーの残りの部分を通してP1をフィルタリングし続ける。他の一致ルールは見つからない(ホストBのIPアドレス44.44.44.21がCTI内にないためである可能性がある)、したがって、P1の処分は依然として「許可」であり、したがって、TIG120aは計算された処分および/または指令を適用し、したがって、この例では、P1がその宛先(すなわち、IPアドレス44.44.21)に向けて転送することを推進/許可する。代わりに、ルールR0が「11.11.11.00/24を許可する」または「11.11.11.00/24をブロックする」であった場合、(それぞれ)所定の指示された「許可する」または「ブロック」処分は、脅威コンテキスト情報を決定する必要なしに、代わりにパケットP1に適用されてもよい。したがって、TIG120aは、そのパケットと関連付けられた(例えば、一致する)ルールによって示された処分に基づいて、観察された転送中のパケットの脅威コンテキスト情報を決定するかどうかを決定し得る。
【0122】
ステップ4-7において、TIG120aは、ネットワーク102に接続された、パブリックIPアドレス11.11.11.01を有するホストAによって発信されたパケットP2を受信し、これは、ネットワーク132に接続された、パブリックIPアドレス、例えば、66.66.66.66を有するホストDに宛てられる。したがって、パケットP2のIPヘッダには、送信元IPアドレス値11.11.11.01と宛先IPアドレス値66.66.66.66とが含まれる。ステップ4-1に記載されるように、(宛先)ホストDのIPアドレス66.66.66.66は、CTI内にある。したがって、ホストDは、脅威であるとみなされ、TIG120aによって施行されているポリシー内のパケットフィルタリングルールR1の一致基準に対応する。
【0123】
ステップ4-8において、TIG120aは、現在のポリシーをパケットP2に適用し、P2の送信元IPアドレス値が11.11.11.01であるため、ルールR0(「11.11.11.00/24を保護する」)と一致する。「保護」処分は、CTI-NOISEインジケータセットデータ構造に含まれるCTIノイズインジケータを含む、脅威コンテキスト情報からP2の処分および指令を計算するように、TIG120aに信号送信する。TIG120aは、(ステップ4-1において、11.11.11.01がセットデータ構造CTI-NOISEに挿入されたため)真である、要素11.11.11.01のメンバーシップについてセットデータ構造をテストする。真という結果は、TIG120a論理に、(a)処分がパケットP2に対して「許可」であること、および(b)指令が「ログ」および「継続」であると決定させてもよく、その結果、例えば、自己免疫インスタンスが管理者に警告されてもよく、パケットP2がポリシー内のルールによってフィルタリングされ続けてもよい。「続行」指令により、TIG120aは、ポリシーの残りの部分を通してP2をフィルタリングし続ける。P2は、「66.66.66.66をブロックする ログ記録する クイックする」であるルールR1と一致する。したがって、ポリシー検索は、「クイック」指令のために停止し、パケットP2は、「ログ」指令のためにログ記録され、パケットP2は、「ブロック」処分のためにドロップされる。したがって、ネットワーク102は、特定の外部の脅威から保護され得る。
【0124】
パケットの処分および指令を決定するために使用される脅威コンテキスト情報に関して、
図3および
図4と関連して上述した方法は、「ローカル」として特徴付けられ得る。これは、これらの例における脅威コンテキスト情報が、TIG120によって処理されている現在の転送中のパケットと、転送中のパケットがTIG120によって受信された後にTIG120によって決定される(例えば、利用可能である、および/または計算される)ローカル環境情報との両方から導出されるからである。しかしながら、例えば、(ローカル)TIG120によって保護されているネットワーク以外の他のネットワーク上でアクティブに発生しているまたは最近発生していた可能性がある脅威/攻撃に関するグローバル脅威状況および認識情報が、パケットの処分および指令を決定するためにローカルTIG120によって使用され得る場合、ネットワーク保護はさらに改善され得る。このグローバル脅威コンテキスト情報は、悪意のあるアクターが単一の活動の一部として複数の異なるネットワークを攻撃している可能性のある攻撃に特に役立つ。そのようなグローバル脅威コンテキスト情報は、例えば、1つ以上のグローバル脅威コンテキストサーバ(GTCS)170(
図1を参照)で構成される、本明細書ではグローバル脅威コンテキストシステム/サービスと称されるものによって収集および配布され得る。TIG120は、独自のグローバル脅威コンテキスト情報をGTCS170に提供/プッシュするだけでなく、GTCS170から他のTIGのグローバル脅威コンテキスト情報を受信/プルすることもできる。
【0125】
例えば、
図5およびステップ5-1を参照して、潜在的な攻撃、例えば、潜在的なポートスキャン攻撃がアクティブな攻撃に移行したと決定し得る、
図3のステップ3-4のTIG120aなどのTIG120を考える。例えば、IPアドレス22.22.22.22を有し、ネットワーク130と関連付けられたホストは、TIG120aによって保護されるネットワーク102をスキャンするポートであってもよい。攻撃中のある時点で、TIG120aは、例えば、上記の
図3のステップ3-5Tのように、アクティブなポートスキャン攻撃がネットワーク102に対して発生していると決定し得る。
【0126】
ステップ5-2において、TIG120、例えばTIG120aは、GTCS170に、攻撃に関する特徴的情報を提供してもよく、これには、例えば、キー(例えば、攻撃の送信元であるホストのIPアドレス22.22.22.22またはサブネットアドレス範囲22.22.22.00/24)、攻撃のタイプ(例えば、ポートスキャン攻撃)、攻撃の開始時間(例えば、午前3時)、攻撃されているネットワーク(例えば、ネットワーク102のサブネットアドレスプレフィックス11.11.11.00/24によって識別される)、パケットに適用された処分および/または指令、一致ルール、および関連するメタデータなどが含まれてもよい。TIG120aは、例えば、定期的に、および/または特定のルールまたは特定のキーと一致する特定の数のパケットが観察されているなどのイベントが発生したことに応答して、または攻撃の検出に応答して、情報をGTCS170に提供し得る。
【0127】
ステップ5-3において、GTCS170は、TIG120aからアクティブな攻撃の情報を受信し、攻撃を(データベースおよびアクティブな攻撃の情報を管理するための関連サービスなどに)記憶し、(グローバルに一意の)識別子/IDを攻撃と関連付け、TIG120a、TIG120b、他のネットワークの他のTIG120、および/または他のデバイスおよびシステムなどのGTCSサブスクライバに特徴情報および識別子を公開してもよい(これらのサブスクライバの更なる例を以下で考察する)。
【0128】
ステップ5-4において、GTCS170に加入し、ステップ5-2で説明したTIGとは異なるネットワークを保護するTIG120、例えば、サブネットアドレス範囲44.44.44.00/24を有するネットワーク104を保護するTIG120bは、TIG120aによって(ステップ5-2において)検出および提供されたアクティブなポートスキャン攻撃に関する(グローバル)脅威コンテキスト情報をGTCS170から受信し得る。TIG120bは、情報から新しいアクティブな攻撃の要素を作成し、潜在的なポートスキャン攻撃を管理/追跡するための(ローカルで効率的な)セットデータ構造に要素を挿入し得る。この新しい要素は、キーパラメータ値が新しい要素のキーに対応するときに、セットデータ構造と関連付けられ得るIs-Active-Attack(key)関数が真を返すように構成され得る。
【0129】
ステップ5-5において、ホスト22.22.22.22は、第1のTCP SYNパケットをネットワーク104のパブリックIPアドレスおよびポートに送信することによって、TIG120bによって保護されるネットワーク104を攻撃し始める。
【0130】
ステップ5-6において、ネットワーク104を保護するTIG120bは、ホスト22.22.22.22によって送信された(例えば、第1の)TCP SYNパケットを受信する。TIG120bは、ポリシーをパケットに適用し得、パケットを、一致基準としてIPアドレス22.22.22.22に対応するCTI導出の脅威インジケータを有してもよく、および/またはインバウンドTCP SYNパケットに対応する一致基準を有してもよい「保護」ルールと照合させてもよい。いずれの場合も、一致ルールが「保護」の処分を有すると決定することに応答して、TIG120b論理は、手順Compute-Disposition-and-Directives(key)を呼び出し得、この手順について示される「キー(key)」はホストアドレス22.22.22.22、または関連するサブネットアドレスプレフィックス、例えば、22.22.22.00/24である。IPアドレス22.22.22.22に関するグローバル脅威コンテキスト情報から生じたステップ5-4で実行された構成により、この最初のTCP SYNパケットの計算された処分は「ブロック」であり得る。グローバル脅威コンテキスト情報および関連するアクションがない場合、この最初のTCP SYNパケットの計算された処分は「許可」であっている可能性があることに留意されたい。
【0131】
ステップ5-7において、異なるネットワークを保護する別のTIGを除いて、ステップ5-2と同様に、TIG120bなどの別のTIGは、攻撃に関する(追加の)特徴情報をGTCS170に提供してもよく、これには、例えば、キー(例えば、攻撃の送信元であるホストのIPアドレス22.22.22.22またはサブネットアドレスプレフィックス22.22.22.00/24)、攻撃のタイプ(例えば、ポートスキャン攻撃)、攻撃の開始時間(例えば、午前3時直後)、攻撃されているネットワーク(例えば、ネットワーク104のサブネットアドレスプレフィックス44.44.44.00/24によって識別される)、攻撃識別子(GTCS170によって以前に提供されている可能性がある)などが含まれる。TIG120bは、例えば、定期的に、および/または特定のルールまたは特定のキーと一致する特定の数のパケットが観察されているなどのイベントが発生したことに応答して、または攻撃の検出に応答して、情報をGTCS170に提供し得る。
【0132】
ステップ5-8において、GTCS170は、TIG120bからアクティブな攻撃の情報を受信し、アクティブな攻撃の情報を管理するための上記のデータベースおよび関連サービスに攻撃を記憶および/または更新し、(更新された)特徴情報をGTCSサブスクライバに公開し得る。次いで、更新された特徴情報は、TIG120のうちのいずれかによる後続の観察されたパケットについて、ステップ5-4の後続の反復において、TIG120のうちのいずれかによる使用のために利用可能である。
【0133】
ネットワークを保護しているTIG120に加えて、GTCS170サブスクライバは、例えば、(グローバル)ネットワーク脅威状況認識システム、CTIプロバイダ、インターネットサービスプロバイダ(ISP)、マネージドセキュリティサービスプロバイダ(MSSP)、サービスとしてのネットワークセキュリティ(NSaaS)プロバイダなどを含み得る。さらに、GTCS170によって収集および配布された情報は、多くの異なるタイプの攻撃と関連付けられ得る(必ずしも上記のポートスキャン攻撃の例だけに限定されない)。したがって、TIG論理(または他のGTCSサブスクライバ)は、これらの多くの異なる攻撃からネットワークを保護するために、多くの異なる攻撃と関連付けられたグローバル脅威コンテキスト情報を使用し得る。
【0134】
上記のように、またはこの文書の他の場所で説明されているように、転送中のパケットの処分および指令を決定するために使用され得る、脅威コンテキスト情報の多くの潜在的なソースおよびタイプ、並びにそれらの多くの可能な組み合わせがある。さらに、サイバー脅威の特徴とそれに対応する脅威コンテキストは、時間の経過と共に変化/進化する。脅威コンテキスト情報のソースおよび組み合わせの数が増加し、脅威および関連する脅威コンテキストの特徴が変化/進化するにつれて、人間が、関連するTIG120論理を設計および手動でプログラムして脅威コンテキスト情報を効率的に使用することは実用的ではない場合がある。そのようなシナリオでは、機械学習は、TIG120論理の少なくとも一部分を作成および進化させるための代替および/または増強アプローチとして使用され得る。例えば、TIG120によってフィルタリングされている転送中のパケットと関連付けられた複数の異なるソース/タイプの脅威コンテキスト情報に対応する入力ノードを有し、かつパケットに適用され得る処分および指令に対応する出力ノードを有する機械学習人工ニューラルネットワーク(ANN)が作成され得る。ANNは、例えば、有界深度分類子として、処分および命令を計算するための結果として生じる論理が非常に効率的であり得る(例えば、一定時間計算量を有し得る)ような方式で構築され得る。さらに、ANNは、例えば、入力ノードおよび出力ノードを追加および/または修正することによって、新しいおよび/または異なる脅威コンテキスト情報、並びに新しいおよび/または異なる処分および命令に容易に適合され得る。
【0135】
図6は、転送中のパケットと関連付けられた脅威コンテキスト情報に少なくとも部分的に基づいて、観察された転送中のパケットの処分および指令を計算するためのTIG120の機械学習論理を具現化し得る例示的なANN600を示す。図示されるように、ANN500は、ノードの複数の層を有し得る。例えば、ANN500は、複数(N個)の脅威コンテキスト情報(TCI)ソースおよび/またはタイプに対応し得るN個の入力ノード610-1~610-Nである第1の層と、複数の処分および/または命令に対応し得る複数(M個)の出力ノード640-1~640-Mである第4の層とを含む、ノードの4つの層を有し得る。Mは、Nよりも大きく、等しく、またはNよりも小さくてもよい。ノードの第2の層(620-1~620-X)層および第3の層(630-1~630-Y)は、埋め込まれた層または「隠れ」層に対応する。この例では2つの隠れ層が示されているが、ANN500は任意の数の隠れ層を有し得る。当業者は、人工ニューラルネットワークの一般原理を理解する。
図6に示されるように、ANN600の層内の各ノードの出力は、後続の層内の2つ以上のノード(例えば、各ノード)の入力に接続されてもよく、すなわち、ノードの各層は、後続のノードの層に接続されてもよい(例えば、完全に接続されてもよい)。ノード間の各接続は、所与の層(おそらく第1の層を除く)のノードへの入力が、前の層の2つ以上のノード(または全てのノード)の出力の重み付けされた合計であり得るように、重み付けされ、方向付けられ得る。第1の層の可能性のあるノードを除いて、各ノードの出力は、シグモイド関数または正規化線形ユニット(ReLU)関数などの活性化関数(非線形関数であり得る)をノードの入力に適用した結果であり得る。ノードの出力は、0から1(含む)の間などの値の特定の範囲内の値に制約され得る。本開示の文脈では、第1の層ノードの入力値は、効率的に計算されてもよく、および/または効率的にアクセスされてもよく、他の層のノードによって実行される計算は、現在の転送中のパケットの処分および/または指令がANN600によって効率的に決定されてもよく、TIG120論理によって転送中のパケットに効率的に適用されてもよいように、効率的に計算されてもよい。
【0136】
図6では、第1の層の各(入力)ノードは、TIG120によってフィルタリング/観察されている転送中のパケットと関連付けられ得る脅威コンテキスト情報(TCI)のソースおよび/またはタイプに対応する。例えば、TCI-1は、転送中のパケットの観察時間と関連付けられた(例えば、転送中のパケットの観察時間に基づいて値を生成する)関数によって生成された値を含み得、TCI-2は、関数によって生成され、転送中のパケットがアクティブな攻撃の構成要素であるかどうかを示す値を含み得、TC-3は、転送中のパケットと一致するパケットフィルタリングルールと関連付けられた脅威コンテキスト情報と関連付けられた(例えば、脅威コンテキスト情報に基づいて値を生成する)関数によって生成された値を含み得る。第1の層のノードへの入力、すなわち、TCI-1~TCI-Nの値は、バイナリ値、例えば、1(真)または0(偽)のいずれかであるように制約されてもよく、または範囲[0,1]内にあるように別の方式で制約されてもよい。例えば、上記の脅威コンテキスト情報および追加情報の例を参照すると、ノードの第1の層への入力であってもよく、またはノードの第1の層への入力を生成するためのベースとして使用されてもよい、いくつかの例示的な脅威コンテキスト情報および/または追加情報は、以下のいずれか1つ以上を含んでもよい。
【0137】
Normal-Business-Hours(current-time()):1つ以上の入力(例えば、1つ以上のバイナリ値入力)であり、これは、転送中のパケットの現在の時間/観察時間が特定の所定の時間枠(例えば、関連するTIG120および保護されたネットワークを管理する組織の通常の営業時間)の間に発生するかどうかを効率的に決定し得るブール関数の出力であり得る。同様の例示的な関数は、
図3と関連して上述されていることに留意されたい。
【0138】
Is-Active-Attack():1つ以上の入力(例えば、1つ以上のバイナリ値入力)であり、これは、転送中のパケットがネットワーク上のアクティブな攻撃の一部であるかどうかを効率的に決定し得るブール関数の出力であり得る。同様の例示的な機能は、
図3と関連して上述されている。攻撃タイプと関連付けられた他の同様のバイナリ値の入力関数および入力ノードがあり得、例えば、ポートスキャン攻撃のためのノード、ポートスウィープ攻撃のためのノード、漏洩攻撃のためのノード、1つ以上のDDoS攻撃タイプのための1つ以上のノードなどがある。
【0139】
Threat-Indicator-Type-X:転送中のパケットと一致するパケットフィルタリングルールの一致基準として使用される脅威インジケータのタイプを示す、1つ以上の入力(例えば、1つ以上のバイナリ値入力)。例えば、脅威インジケータタイプには、IPアドレス、サブネットアドレス範囲、5タプル、ドメイン名、URIなどが含まれ、関連する入力ノードには、Threat-Indicator-Type-IP、Threat-Indicator-Type-Subnet-Address-Range、Threat-Indicator-Type-5-tuple、Threat-Indicator-Type-Domain-Name、Threat-Indicator-Type-URIなどのラベルが付けられる。
【0140】
ドメイン人気:転送中のパケットに含まれるドメイン名(存在する場合)の人気を示す、1つ以上の入力(例えば、1つ以上の[0,1]値の入力など)。ドメイン人気度データは、高度に動的であり得、複数のサービス/プロバイダから容易に利用可能であり、高速アクセスのために効率的なデータ構造にローカルに記憶され得る。一般に、人気値の低いドメインは、人気値の高いドメインに比べて、より脅威リスクと関連付けられることがよくある。
【0141】
ドメイン名とURIの特徴:脅威リスクと関連付けられ得る、転送中のパケットに含まれるドメイン名および/またはURI(存在する場合)の特徴、例えば、構文的または語彙的特徴、と関連付けられる、1つ以上の入力、例えば(1つ以上のバイナリ値および/または[0,1]値の入力)。構文的または語彙的特徴は、例えば、文字列の長さ、ラベルの数、数値文字の数、URLエンコードされた文字の数、人間が話す言語からの単語との相関、情報エントロピー尺度、トップレベルドメイン(TLD)などを含み得る、
方向(インバウンドまたはアウトバウンド):転送中のパケットおよび/または転送中のパケットの関連するフローがインバウンドであってもアウトバウンドであってもよいかどうかを示す、1つ以上の入力(バイナリ値であってもよい)、
接続状態:転送中のパケットと関連付けられたフローに対してTCP接続が確立されているかどうかを示す、1つ以上の入力(例えば、1つ以上のバイナリ値入力)、
二次分析警告:パケットと関連付けられたフローの脅威/攻撃分析の任意の結果/出力、例えば、関連するフローがIDS/IPS、および/またはNBAシステムなどによって適用された1つ以上のシグネチャと一致したかどうかを示す、1つ以上の入力(例えば、1つ以上のバイナリ値入力)。分析結果はまた、入力ノードにも対応し得る攻撃タイプなどの関連する脅威/攻撃情報を含んでもよい、
グローバル脅威コンテキスト情報:保護されているローカルネットワーク以外のネットワークに対するアクティブな攻撃、攻撃のタイプなど、転送中のパケットとグローバル脅威コンテキスト情報との関連付けを示す、1つ以上の入力(例えば、1つ以上のバイナリ値入力)。例示的なグローバル脅威コンテキスト情報は、
図5、および/または同様のものと関連して上述されている。
【0142】
ANN600へは追加の入力があり、これは脅威コンテキスト情報とはみなされない場合もあるが、例えば、誤検出および/または検出漏れおよび/または不確実な出力/結果を低減することによって、ANN600の性能を改善するために入力として含まれる。このような情報には、例えば、CTI-プロバイダ-X:特定のCTIプロバイダが、転送中のパケットと一致するパケットフィルタリングルールの一致基準として使用され得るCTI脅威インジケータを供給したかどうかを示す、1つ以上の入力(例えば、1つ以上のバイナリ値入力)が挙げられる。CTIプロバイダ情報は、一致ルールのメタデータに含まれてもよく、ルールが転送中のパケットに一致するときに効率的に抽出/アクセスされてもよい。CTIプロバイダの各々について、ANN600に対する1つのそのような入力ノードがあってもよく、そのような入力ノードの各々は、例えば、CTI-プロバイダ-1、CTI-プロバイダ-2、…CTI-プロバイダ-Jとして適宜ラベル付けされてもよい。同様に、CTIフィードの名称/識別子、CTIフィードと関連付けられた攻撃タイプ、フィードと関連付けられた推奨される処分(例えば、CTIプロバイダによって供給される)、フィードと関連付けられた信頼性などのための入力ノードがあってもよく、そのような情報のいずれも一致ルールのメタデータに含まれてもよい。
【0143】
出力ノード640-1~640-Mは、転送中のパケットに適用され得る計算された処分および/または指令に対応し得る。例えば、1つの出力ノードは、「ブロック」処分に対応してもよく、別の出力ノードは、「許可」処分に対応してもよく、別の出力ノードは、「ログ」指令に対応してもよく、別の出力ノードは、「キャプチャ」指令に対応してもよく、別の出力ノードは、「スプーフ-tcp-rst」指令に対応してもよく、別の出力ノードは、ポリシー処理のための「クイック」指令に対応してもよい、などである。出力値は、範囲[0,1]などの特定の範囲内にあるように制約および/または訓練され得る。したがって、所与の出力ノード640の出力値は、対応する処分または指令が関連するネットワークを保護するための良好な選択である確率または尤度とみなされ得る。
【0144】
図6のANN600としてのANNは、訓練/学習アルゴリズムのために教師付き学習方法および逆伝播を使用し得る。ANN600の訓練データセットは、{{入力値}、{出力値}}ペアの多くの例で構成され得、セット{入力値}は、訓練例のパケットと関連付けられた脅威コンテキスト情報入力値(例えば、第1の層のノード入力値TCI-1~TCI-N)に対応し得、{出力値}は、訓練例のパケットの所望の処分および指令に対応し得る。訓練中、{入力値}は、ANN600の第1の層に入力されてもよく、実際の出力値(例えば、640-1から640-Mの出力)は、所望の{出力値}と比較されてもよい。所望の{出力値}と実際の出力値との間の差は、{入力値}が次回入力されるときに差が小さくなり得るように、ノード間の接続の重みを修正するために、逆伝播アルゴリズムによって使用され得る。訓練および関連する逆伝播は、収束が得られるまで、すなわち、訓練データセットにわたる所望の{出力値}と実際の出力値との間の累積差が、許容可能に小さく、したがって、逆伝播中の重みへの変化が、許容可能に小さくなり得るまで、継続し得る。
【0145】
訓練の完了時に、逆伝播/学習はオフにされてもよく、結果として生じるANN600は、分類子またはモデルと称されてもよい。ANN600分類子論理は、パケットフィルタリングルール(CTIから導出される)と一致する転送中のパケットの処分および/または指令を計算するために、アプリケーション論理などのTIG120の論理の他の部分と統合されてもよい。例えば、ANN600分類子論理は、
図3のステップ3-3およびステップ3-4、並びに
図2のステップ2-7に統合され得る。実際には、ANN600分類子論理は、例えば、デフォルトの動作を実装するために、および/若しくはANN600分類子によって生成された誤検出および検出漏れを扱うために、および/若しくはANN600分類子によって生成された不確実な結果を扱うために、および/若しくは訓練データおよび/若しくは関連するモデルの欠陥を扱うなどのために、人間が設計した、手動でプログラムされた論理などの他の論理と組み合わせられてもよい。例えば、「ブロック」処分出力ノードの値が1または1に近い場合、「許可」処分出力ノードの値が0または0に近いこと、およびその逆であることが望ましい場合がある。しかしながら、両方の値が1に近い、または0に近い、またはそれ以外に、値が「ブロック」または「許可」処分の選択に関して不確定である場合があり、この場合、手動でプログラムされた論理を使用して処分を決定してもよい。別の例では、「許可」処分出力ノードが1または1に近い(および「ブロック」ノードの値が0に近い)が、「スプーフ-tcp-rst」指令出力ノードの値もまた、1に近い場合があり、この場合、手動でプログラムされた論理は、関連するパケットを許可/推進するために介入し得るが、パケットの送信元にTCP RSTパケットを送信しない場合がある。そうでない場合、TCP RSTパケットを送信元に送信すると、関連するTCP接続が切断される可能性があり、これは非常に望ましくないアクションであり得る。
【0146】
人工ニューラルネットワーク(ANN)に加えて、他の機械学習アルゴリズムおよび方法論、例えば、進化アルゴリズム、遺伝的アルゴリズム、遺伝的プログラミングなどを使用して、決定論理を設計してもよいことに留意されたい。
図6のANNの選択は、例示的なものであり、他の機械学習アプローチを排除することを意味するものではない。
【0147】
本明細書で説明される、または図面のいずれかに示される、TIG120のいずれか、並びに要素130、132、138、140、150、160、および170のいずれかなどの要素のいずれかは、
図7に示されるコンピューティングデバイス700などの1つ以上のコンピューティングデバイスを使用して部分的または完全に実装され得る。コンピューティングデバイス700は、例えば、特定のソフトウェアおよび/またはファームウェアを使用して1つ以上の特定の機能を実行するように構成される汎用ハードウェアを有する汎用コンピューティングデバイスであってもよく、または例えば、特定の機能のためにカスタマイズされた特定の目的のハードウェア(および/または特定の目的のソフトウェアおよび/または特定の目的のファームウェア)を有する特定の目的のコンピューティングデバイスであってもよい。コンピューティングデバイス700のハードウェア要素のいずれか、および/またはコンピューティングデバイス700自体は、コンピューティングデバイス700の仮想バージョンでエミュレートされてもよい。コンピューティングデバイス700は、本明細書で説明される機能または他の動作のいずれかを実行するためにコンピュータプログラムのコンピュータ可読命令を実行し得る1つ以上のプロセッサ701を含んでもよい。命令は、他のデータと共に、ストレージ702に記憶されてもよく、ストレージ702は、例えば、読み取り専用メモリ(ROM)および/若しくはランダムアクセスメモリ(RAM)、ハードドライブ、磁気若しくは光ディスク、ユニバーサルシリアルバス(USB)ドライブ、および/若しくは任意の他のタイプのコンピュータ可読媒体などのメモリを含んでもよい。データは、任意の所望の方式で編成され得、例えば、ストレージ702に命令として記憶され、1つ以上のプロセッサ701によって実行されるデータベースソフトウェアを介してアクセス可能であるように編成され得る。コンピューティングデバイス700はまた、キーボード、マウス、音声入力などの1つ以上の入力デバイス705とインターフェースするための、かつディスプレイ、スピーカ、プリンタなどの1つ以上の出力デバイス706とインターフェースするためのユーザインターフェース704を含んでもよい。コンピューティングデバイス700はまた、コンピューティングデバイス700の外部のネットワークの一部であり得る1つ以上の外部デバイスとインターフェースするためのネットワークインターフェース703を含んでもよい。
図7は、例示的なハードウェア構成を示すが、コンピューティングデバイス700の要素の1つ以上は、ソフトウェアとして、またはハードウェアおよびソフトウェアの組み合わせとして実装されてもよい。コンピューティングデバイス700の構成要素の追加、削除、組み合わせ、分割などのために修正を行うことができる。加えて、
図7に示される要素は、本明細書で説明されるような動作を実行するように構成されている基本的なコンピューティングデバイスおよび構成要素を使用して実装されてもよい。プロセッサ701および/またはストレージ702はまた、または代替的に、1つ以上の集積回路(IC)を介して実装されてもよい。ICは、例えば、ROMに記憶され、および/またはIC内にハード配線されたプログラミング命令または他のデータにアクセスするマイクロプロセッサであり得る。例えば、ICは、本明細書で説明される計算および他の動作に専用のゲートおよび/または他の論理を有する特定用途向け集積回路(ASIC)を含んでもよい。ICは、ゲートまたは他の論理にハード配線された他の動作と共に、ROMまたはRAMから読み出されたプログラミング命令の実行に基づいて、いくつかの動作を実行し得る。
【0148】
上述したように、コンピューティングデバイス700は、例えば、TIG(例えば、TIG120のいずれか)などのパケットフィルタリングアプライアンスとして具現化され得る。
図8は、そのようなパケットフィルタリングアプライアンス800の例示的なブロック図を示し、パケットフィルタリングアプライアンス800は、ネットワーク102(または、例えば、ネットワーク104若しくは108)などのネットワークの境界802に位置し得る。したがって、パケットフィルタリングアプライアンス800は、コンピューティングデバイス700の一例の実装である。パケットフィルタリングアプライアンス800は、1つ以上のプロセッサ804(プロセッサ701と同じであってもよい)、メモリ806(ストレージ702と同じであってもよい)、ネットワークインターフェース808および/または810(ネットワークインターフェース703と同じであってもよい)、パケットフィルタ812(プロセッサ701によって実行されてもよい)、並びに管理インターフェース814(プロセッサ701、ユーザインターフェース704、入力デバイス705、および/または出力デバイス706によって実行されてもよい)を含んでもよい。プロセッサ804、メモリ806、ネットワークインターフェース808および/若しくは810、パケットフィルタ812、並びに/または管理インターフェース814は、データバス816を介して相互接続されてもよい(これは、
図7および
図8の様々な要素のいずれかを相互接続する矢印であってもよい)。ネットワークインターフェース810は、パケットフィルタリングアプライアンス800を、ネットワーク102(または104または108)などの第1のネットワークに接続し得る。同様に、ネットワークインターフェース808は、パケットフィルタリングアプライアンス800をネットワーク110などの第2のネットワークに接続し得る。メモリ806は、プロセッサ804によって実行されると、本明細書で説明される様々な機能のうちの1つ以上を実行するようにパケットフィルタリングアプライアンス800を構成し得る1つ以上のプログラムモジュールを含み得る。メモリ806はまた、ルール、データベース、ログ、および/またはパケットフィルタリングアプライアンス800によって使用され、および生成される他の任意の情報を記憶するために使用され得る。
【0149】
パケットフィルタリングアプライアンス800は、1つ以上のセキュリティポリシー管理サーバ(例えば、
図1に示されるSPMS150)からポリシー(本明細書で説明されるフィルタリングルールなど)を受信するように構成されてもよい。例えば、パケットフィルタリングアプライアンス800は、管理インターフェース814を介して(例えば、帯域外シグナリングを介して)、またはネットワークインターフェース808を介して(例えば、帯域内シグナリングを介して)、セキュリティポリシー管理サーバからポリシー818を受信してもよい。パケットフィルリングタアプライアンス800は、1つ以上のパケットフィルタ若しくはパケット弁別子、および/若しくは1つ以上のパケットフィルタ若しくはパケット弁別子を実装するための論理を含んでもよい。例えば、パケットフィルタリングアプライアンス800は、パケットフィルタ812を含んでもよく、パケットフィルタ812は、パケットフィルタリングアプライアンス800によって(例えば、ネットワーク110から)受信されたパケットと関連付けられた情報を検査し、そのようなパケットを、検査した情報に基づいて、演算子820、822、および/または824のうちの1つ以上(プロセッサ804によって実行されるハードウェアおよび/またはソフトウェアとして実装されてもよい)に送るように構成されてもよい。例えば、パケットフィルタ812は、パケットフィルタリングアプライアンス800によって受信されたパケット(例えば、ネットワークインターフェース808を介してネットワーク110から受信されたパケット)と関連付けられた情報を検査し、検査した情報に基づいて、パケットを演算子820、822、または824のうちの1つ以上に送り得る。これらの演算子は、例えば、パケットと一致するパケットフィルタリングルールと関連付けられた処分および指令を実装し得る。
【0150】
ポリシー818は、1つ以上のフィルタリングルールを含んでもよく、パケットフィルタ812の構成は、ポリシー818に含まれるルールのうちの1つ以上に基づいてもよい。例えば、ポリシー818は、指定された情報を有するパケットが演算子820に送られるべきであること、異なる指定された情報を有するパケットが演算子822に送られるべきであること、および他の全てのパケットが演算子824に送られるべきであることを指定する1つ以上のルールを含んでもよい。演算子820、822、および/または824は、パケットフィルタ812から受信したパケットに対して1つ以上の機能を実行するように構成されてもよい。例えば、演算子820、822、および/または824のうちの1つ以上は、パケットフィルタ812から受信したパケットをネットワーク102に送るように構成されてもよく、ネットワーク102は、「許可」処分を実装してもよく、パケットフィルタ812から受信したパケットをドロップしてもよく、「ブロック」処分を実装してもよい。演算子820、822、および/または824のうちの1つ以上は、ローカル「無限シンク」(例えば、UNIX(登録商標)/LINUXシステムの/dev/nullデバイスファイル)にパケットを送信することによってパケットをドロップするように構成されてもよい。いくつかの実施形態では、演算子820、822、および/または824のうちの1つ以上は、本明細書で説明される「ログ」、「キャプチャ」指令などの指令をパケットに適用するように構成されてもよい。
【0151】
また、演算子820、822、および/または824のうちの1つ以上は、ポリシー818に記載された1つ以上のフィルタリングルールに基づいて、本明細書で説明される「保護」処分を実装するように構成されてもよい。例えば、1つ以上のパケットが、演算子822によって、「保護」処分で構成され得る1つ以上のルールと一致する、またはそうでなければそれを満たすと決定された場合、演算子822は、これを示す(例えば、どのルールが満たされているかを示す、および/または使用されるべきであるロギングパラメータを示す)情報をプロセッサ804に送信してもよい。次に、プロセッサ804は、本明細書で説明される様々な脅威コンテキスト情報を使用して、1つ以上のパケットに適用され得る処分および指令を計算する論理の実行を開始し得る。プロセッサ804は、ノード610の入力層への必要な物理的および/または論理的入力、並びにノード640の出力層からの物理的および/または論理的出力と共に、
図6に関して上で考察されたANN600を含んでもよく、および/またはそれによって補完されてもよい。
【0152】
パケットフィルタリングアプライアンス800は、様々なソースから脅威コンテキスト情報を取得してもよく(または様々なソースから回収された情報に基づいて脅威コンテキスト情報を生成してもよい)、そのうちのいくつかはローカル(パケットフィルタリングアプライアンス800の内部のソース)であってもよく、他のものはリモート(パケットフィルタリングアプライアンス800の外部のソース)であってもよい。例えば、プロセッサ804は、現在の時刻を維持し、転送中のパケット観察時間を決定するために使用され得るクロックを含み得る。上記の脅威コンテキスト情報の他の例を参照すると、アプライアンス位置、アプライアンスID、管理者および関連するセキュリティポリシー選好、ネットワークタイプ、アクティブな脅威タイプ、マルチパケットマルチフロー脅威/攻撃の分析結果、CTIプロバイダおよび関連情報、脅威インジケータタイプおよび忠実度、脅威インジケータの寿命、フロー発信、フロー方向、フロー状態、接続状態、グローバル脅威コンテキスト、ドメイン名、URI、URL、ドメイン名の人気、ドメイン名の登録ステータス、データ転送プロトコル方法、プロトコルリスク、コンテキスト的CTIノイズなどは、各々、転送中のパケットについて、および転送中のパケットの受信に応答して、メモリ806に記憶された情報の処理に基づいて、プロセッサ804による計算に基づいて、ネットワーク110からネットワークインターフェース808を介して受信した情報に基づいて、ネットワークインターフェース102からネットワークインターフェース810を介して受信した情報に基づいて、および/または管理インターフェース814を介して受信した情報に基づいて、プロセッサ804によって決定され得る。
【0153】
上記の他の情報に加えて、メモリ806は、パケットフィルタリングアプライアンス800によって使用される様々な情報、例えば、CTIノイズ情報、GTCS170からネットワークインターフェース810を介して受信したグローバル脅威コンテキスト情報、ドメイン名人気情報)、並びに/またはSOC160、SPMS150、および/若しくはCTIP140から受信した任意の他の情報を記憶し得る。
【0154】
本明細書で説明される機能およびステップは、本明細書で説明される1つ以上の機能を実行するために、1つ以上のコンピュータまたは他のデバイス(例えば、パケットフィルタリングアプライアンス800などのコンピューティングデバイス700)によって実行される、1つ以上のプログラムモジュールなどのコンピュータ使用可能データまたはコンピュータ実行可能命令で具現化されてもよい。一般に、プログラムモジュールは、コンピュータまたは他のデータ処理デバイスの1つ以上のプロセッサによって実行されると、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能命令は、磁気ディスク、光ディスク、取り外し可能記憶媒体、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、レディオンリーメモリ(ROM)、フラッシュメモリなどのコンピュータ可読媒体(例えば、メモリ806などのストレージ702)上に記憶され得る。理解されるように、プログラムモジュールの機能性は、所望の通りに組み合わされてもよく、または分散されてもよい。加えて、機能性は、集積回路、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などのファームウェアまたはハードウェア等価物において全体または部分的に具体化され得る。特定のデータ構造は、本開示の1つ以上の態様をより効果的に実装するために使用され得、そのようなデータ構造は、本明細書で説明されるコンピュータ実行可能命令およびコンピュータ使用可能データの範囲内であることが企図される。
【0155】
必須ではないが、当業者は、本明細書で説明される様々な態様が、方法、システム、装置、またはコンピュータ実行可能命令を記憶する1つ以上のコンピュータ可読媒体として具現化され得ることを理解するであろう。したがって、態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、完全にファームウェアの実施形態、または任意の組み合わせでソフトウェア、ハードウェア、およびファームウェアの態様を組み合わせる実施形態の形態をとり得る。
【0156】
本明細書で説明されるように、様々な方法および動作は、1つ以上のコンピューティングデバイスおよびネットワークにわたって動作してもよい。機能性は、任意の様式で分散されてもよく、単一のコンピューティングデバイス(例えば、サーバ、クライアントコンピュータなど)に配置されてもよい。
【0157】
本開示の態様は、その例示的な実施形態の観点から説明されている。添付の特許請求の範囲の範囲および趣旨内の多数の他の実施形態、修正、および変形は、本開示のレビューから当業者に想起されるであろう。例えば、当業者は、例示的な図に例示されるステップが列挙される順序以外で実行され得、1つ以上の例示されるステップが選択的であり得ることを理解するであろう。以下の特許請求の範囲のいずれかおよび全ての特徴は、可能な限り任意の方式で組み合わされてもよく、または再配置されてもよい。別の例について、当業者は、本明細書および例示的な図面の説明におけるIPv4プロトコルへの言及が、インターネットプロトコルバージョン6(IPv6)プロトコルなどの他のプロトコルへの言及に置き換えられ得ることを理解するであろう。
【国際調査報告】