(57)【要約】  各々がクエリ名およびリソース記録タイプを含む複数のＤＮＳクエリをフィルタリングする方法は、ドメイン名、フィルタタイプ、およびスロットル割合を含むフィルタルールを定義することと、フィルタルールを含むフィルタファイルを形成することとを含む。本方法は、また、フィルタファイルをサーバから複数のフィルタプロキシに送信することと、フィルタファイルを複数のフィルタプロキシの各々から１つまたは複数の処理エンジンに送信することと、１つまたは複数の処理エンジンのうちの１つにおいて、複数のＤＮＳクエリを受信することとをも含む。本方法は、複数のＤＮＳクエリのサブセットのために、ドメイン名とクエリ名とのマッチ、およびリソース記録タイプとフィルタタイプとのマッチを判断することと、（スロットル割合に等しい）所定の割合の複数のＤＮＳクエリのサブセットをブロックすることとを含む。
2013501466.tif 000002
【特許請求の範囲】
【請求項１】
各々がクエリ名およびリソース記録タイプを含む複数のＤＮＳクエリをフィルタリングする方法であって、
ドメイン名、フィルタタイプ、およびスロットル割合を含むフィルタルールを定義することと、
前記フィルタルールを含むフィルタファイルを形成することと、
前記フィルタファイルをサーバから複数のフィルタプロキシに送信することと、
前記フィルタファイルを前記複数のフィルタプロキシの各々から１つまたは複数の処理エンジンに送信することと、
前記１つまたは複数の処理エンジンのうちの１つにおいて、前記複数のＤＮＳクエリを受信することと、
前記複数のＤＮＳクエリのサブセットのために、前記ドメイン名と前記クエリ名とのマッチ、および前記リソース記録タイプと前記フィルタタイプとのマッチを判断することと、
所定の割合の前記複数のＤＮＳクエリの前記サブセットをブロックすることであって、前記所定の割合が前記スロットル割合に等しい、ブロックすることと
を含む、方法。
【請求項２】
前記フィルタルールが、満了時間をさらに含む、請求項１に記載の方法。
【請求項３】
前記満了時間よりも短い所定の時間期間後に、前記フィルタルールをリフレッシュすることをさらに含む、請求項２に記載の方法。
【請求項４】
前記複数のフィルタプロキシから前記サーバにフィルタルールステータスを送信することをさらに含む、請求項１に記載の方法。
【請求項５】
前記スロットル割合が、０％〜１００％の範囲である、請求項１に記載の方法。
【請求項６】
前記所定の割合の前記複数のＤＮＳクエリの前記サブセットをブロックする前に、前記フィルタルールをテストすることをさらに含む、請求項１に記載の方法。
【請求項７】
前記フィルタルールを定義することが、実モードまたはテストモードのうちの少なくとも１つを定義することを含む、請求項１に記載の方法。
【請求項８】
ネットワーク要求をフィルタリングする方法であって、
フィルタ基準、フィルタモード、およびスロットル割合を含むフィルタルールを定義することと、
ネットワーク要求を受信することと、
前記受信されたネットワーク要求を分析することと、
前記受信されたネットワーク要求の一部分中の第１のフィールドが前記フィルタ基準とマッチすることを判断することと、
所定の割合の前記ネットワーク要求の前記一部分をブロックすることであって、前記所定の割合が前記スロットル割合に等しい、ブロックすることと
を含む、方法。
【請求項９】
前記フィルタ基準が、ドメイン名、ソースＩＰアドレスの範囲、またはプロトコルヘッダビットのうちの少なくとも１つを含む、請求項８に記載の方法。
【請求項１０】
ソースＩＰアドレスの前記範囲が、ＣＩＤＲ記法で表される、請求項９に記載の方法。
【請求項１１】
前記受信されたネットワーク要求の一部分中の第１のフィールドが前記フィルタ基準とマッチすることを判断することが、前記受信されたネットワーク要求の前記一部分中のソースＩＰアドレスを前記フィルタルール中のＩＰアドレスとマッチングすることを含む、請求項１０に記載の方法。
【請求項１２】
前記フィルタ基準が、ＤＮＳリソース記録タイプをさらに備える、請求項９に記載の方法。
【請求項１３】
前記ネットワーク基準が、ＨＴＴＰヘッダを含むプロトコルヘッダを含む、請求項９に記載の方法。
【請求項１４】
前記フィルタルールが、満了時間をさらに含む、請求項８に記載の方法。
【請求項１５】
前記満了時間よりも短い所定の時間期間後に、前記フィルタルールをリフレッシュすることをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記ネットワーク基準が、ＯＣＳＰ要求またはＷＨＯＩＳ要求のうちの少なくとも１つを含む、請求項８に記載の方法。
【請求項１７】
前記所定の割合の前記ネットワークパケットの前記一部分をブロックする前に、前記フィルタルールをテストすることをさらに含む、請求項８に記載の方法。
【請求項１８】
前記フィルタルールを複数の遠隔サイトに配信することをさらに備え、分析すること、判断すること、およびブロックすることが、前記複数の遠隔サイトにおいて実行される、請求項８に記載の方法。
【請求項１９】
アクティブフィルタのステータスを管理コンソールに報告することをさらに含む、請求項８に記載の方法。
【請求項２０】
ネットワーク要求をフィルタリングするようにデータプロセッサを制御するための複数の命令を記憶するコンピュータ可読媒体であって、前記複数の命令が、
前記データプロセッサに、フィルタ基準、フィルタモード、およびスロットル割合を含むフィルタルールを定義させる命令と、
前記データプロセッサに、ネットワーク要求を受信させる命令と、
前記データプロセッサに、前記受信されたネットワーク要求を分析させる命令と、
前記データプロセッサに、前記受信されたネットワーク要求の一部分中の第１のフィールドが前記フィルタ基準とマッチすることを判断させる命令と、
前記データプロセッサに、所定の割合の前記ネットワーク要求の前記一部分をブロックさせる命令であって、前記所定の割合が前記スロットル割合に等しい、命令と
を含む、コンピュータ可読媒体
【請求項２１】
前記フィルタ基準が、ドメイン名、ソースＩＰアドレスの範囲、またはプロトコルヘッダビットのうちの少なくとも１つを含む、請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記フィルタ基準が、ＤＮＳリソース記録タイプをさらに含む、請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
ソースＩＰアドレスの前記範囲が、ＣＩＤＲ記法で表される、請求項２１に記載のコンピュータ可読媒体。
【請求項２４】
前記プロトコルヘッダビットが、ＨＴＴＰヘッダを含む、請求項２１に記載のコンピュータ可読媒体。
【請求項２５】
前記ネットワーク基準が、ＯＣＳＰ要求またはＷＨＯＩＳ要求のうちの少なくとも１つを含む、請求項２０に記載のコンピュータ可読媒体。
【請求項２６】
前記データプロセッサに、前記所定の割合の前記ネットワークパケットの前記一部分をブロックする前に、前記フィルタルールをテストさせる命令をさらに含む、請求項２０に記載のコンピュータ可読媒体。
【請求項２７】
前記データプロセッサに、前記フィルタルールを複数の遠隔サイトに配信させる命令をさらに含む、請求項２０に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークトラフィックのフィルタリングのための方法およびシステムに関する。
【背景技術】
【０００２】
インターネットは、ますます、様々な形態およびレベルの通信を支援するコンピュータの国際的なネットワークになっている。たとえば、ワールドワイドウェブ（ＷＷＷ）では、ウェブサイトとして一般に知られる世界的に利用できるページに情報を提示することができる。インターネットは、また、電子メール、インスタントメッセージング、およびボイスオーバＩＰ（ＶｏＩＰ）通信を介するエンドユーザ間の１対１の通信も支援する。
インターネットの開放的な性質を理由に、インターネット自体にはネットワーク通信に関するセキュリティの問題が自ら提示されてきた。一例として、ハッカーは、インターネットを介してコンピュータシステムを混乱させ、機能を停止させようと試み、しばしば成功してきた。そのような被害の一例は、複数の障害が起きたシステムが、たいていは１つまたは複数のウェブサーバである、標的となったシステムの帯域幅またはリソースに溢れる分散型サービス拒否（ＤＤｏＳ）攻撃である。悪意のあるネットワーク攻撃に加えて、データをルーティングしているネットワーク中のエラーにより、望ましくないネットワークトラフィックを引き起こすことがある。たとえば、正しく構成されていないＤＮＳサーバを有する人気のあるサイトは、予期しないターゲットまたはトップレベルドメイン（ＴＬＤ）オペレータにトラフィックを向かわせる可能性がある。
【０００３】
ネットワーク上の悪意のある攻撃に対抗するために、ネットワークセキュリティを増大させ、望ましくないトラフィックを減少するようにパケットフィルタが使用されてきた。ネットワークインターフェースをパケットが通過することを拒否することによって、ある特定の種類の通信を制限するために、フィルタを使用することができる。パケットフィルタの一例は、アメリカ合衆国テキサス州ヒューストンのＰｏｒｔｍａｓｔｅｒｓ．ｃｏｍから入手可能なＰｏｒｔＭａｓｔｅｒネットワークインターフェースとともに使用するフィルタである。ネットワークトラフィックを制約するためのフィルタは、ＰｏｒｔＭａｓｔｅｒネットワークインターフェースによって適用される。パケットがネットワークインターフェースを通過しようと試みると、システムオペレータによって作成されたフィルタは、パケット中のヘッダ情報を分析し、そのパケットがネットワークインターフェースを通過できるようにするか、またはそのパケットを破棄させるかする。
【０００４】
ネットワークを通して送信されたトラフィックをフィルタリングするために、現在利用可能なシステムによって提供された機能性にもかかわらず、当技術分野には、ネットワークトラフィックをフィルタリングするための改良された方法およびシステムに対する必要性が存在する。
【０００５】
本発明は、概して、データネットワークに関する。より詳細には、本発明は、ネットワークトラフィックをフィルタリングするための方法およびシステムに関する。単に例として、本発明は、パケットフィルタを処理エンジンに配信するシステムに適用され、その処理エンジンは、パケットフィルタをインターネットトラフィックに適用し、限定された時間期間にわたって所定の割合のインターネットトラフィックがブロックする。この方法および技法は、ＤＮＳクエリトラフィック、ＷＨＯＩＳクエリトラフィック、ＯＣＳＰルックアップなどを含むインターネットプロトコル（ＩＰ）サービスプロバイダに適用することができる。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、複数のＤＮＳクエリをフィルタリングする方法が提供される。各ＤＮＳクエリは、クエリ名およびリソース記録タイプを含む。本方法は、ドメイン名、フィルタタイプ、およびスロットル割合を含むフィルタルールを定義することと、そのフィルタルールを含むフィルタファイルを形成することとを含む。本方法は、また、フィルタファイルをサーバから複数のフィルタプロキシに送信することと、フィルタファイルを複数のフィルタプロキシの各々から１つまたは複数の処理エンジンに送信することと、１つまたは複数の処理エンジンのうちの１つにおいて、複数のＤＮＳクエリを受信することとを含む。本方法は、さらに、複数のＤＮＳクエリのサブセットのために、ドメイン名とクエリ名とのマッチ、およびリソース記録タイプとフィルタタイプとのマッチを判断することと、所定の割合の複数のＤＮＳクエリのサブセットをブロックすることとを含む。所定の割合は、スロットル割合に等しい。
【０００７】
本発明の別の実施形態によれば、ネットワーク要求をフィルタリングする方法が提供される。本方法は、フィルタ基準、フィルタモード、およびスロットル割合を含むフィルタルールを定義することと、ネットワーク要求を受信することと、受信されたネットワーク要求を分析することとを含む。本方法は、また、受信されたネットワーク要求の一部分中の第１のフィールドがフィルタ基準とマッチすることを判断することと、所定の割合のネットワーク要求の一部分をブロックすることとを含む。所定の割合は、スロットル割合に等しい。
【０００８】
本発明の特定の実施形態によれば、ネットワーク要求をフィルタリングするようにデータプロセッサを制御するための複数の命令を記憶するコンピュータ可読媒体が提供される。複数の命令は、データプロセッサに、フィルタ基準、フィルタモード、およびスロットル割合を含むフィルタルールを定義させる命令と、データプロセッサに、ネットワーク要求を受信させる命令とを含む。複数の命令は、また、データプロセッサに、受信されたネットワーク要求を分析させる命令と、データプロセッサに、受信されたネットワーク要求の一部分中の第１のフィールドがフィルタ基準とマッチすることを判断させる命令と、データプロセッサに、所定の割合のネットワーク要求の一部分をブロックさせる命令とを含む。所定の割合は、スロットル割合に等しい。
【発明の効果】
【０００９】
本発明の方法によって、従来の技法に勝る多くの利点が達成される。たとえば、本発明の実施形態は、パケットフィルタを、複数の遠隔サイトに配置された複数の処理エンジンを迅速かつ効率的に配信するための方法およびシステムを提供する。さらに、諸実施形態によって提供されるパケットフィルタにより、システムオペレータは、様々なネットワーク基準に基づいて、悪意のあるネットワークトラフィックを完全に、または部分的にブロックすることができるようになる。さらに、パケットフィルタの自動満了により、レゾリューションサイトと中央データセンターとの間の交信が途絶えた場合であっても、遠隔サイトは、所定の時間期間後に通常動作に戻すことができるようになる。
【００１０】
さらに、パケットフィルタが、予期しない副作用なしに所望の効果を有することを保証するために、フィルタリングテストモードにより、オペレータは、ネットワークサービスに影響を与えることなく、フィルタの効果を視覚化できるようになる。このフィルタリング方法は、サービスレイヤにおけるフィルタリングを提供することによって、著しい追加の効果を提供する。さらに、複数のハードウェアアーキテクチャおよびオペレーティングシステムにわたる均一なフィルタリングインターフェースを提供する。本発明の利点および特徴のうちの多くとともに、これらの実施形態および他の実施形態について、以下の文章および添付の図面とあわせて、より詳細に記載する。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による、ネットワークトラフィックフィルタルールを配信するためのシステムの単純化された概略図である。
【図２】本発明の一実施形態による、フィルタファイル文法の単純化された図である。
【図３】本発明の一実施形態による、複数のＤＮＳクエリをフィルタリングする方法を示す単純化されたフローチャートである。
【図４】本発明の一実施形態による、ネットワークパケットをフィルタリングする方法を示す単純化されたフローチャートである。
【図５】本発明の一実施形態による、パケットフィルタを作成するための単純化されたプログラミングインターフェースである。
【図６】本発明の一実施形態による、トラフィックをフィルタリングする方法の単純化されたフローチャートである。
【図７】インターネットからのトラフィックをサービスしているマルチサイト展開の単純化された図である。
【図８Ａ】本発明の一実施形態による、インターネットトラフィックをサーブしているサービスサイトアーキテクチャの単純化された図である。
【図８Ｂ】本発明の一実施形態による、インターネットトラフィックの一部分をサーブし、インターネットトラフィックの別の部分をフィルタリングするサービスサイトアーキテクチャの単純化された図である。
【発明を実施するための形態】
【００１２】
本明細書全体を通じてより完全に記載されるように、本発明の実施形態によって提供される方法およびシステムは、要求ごとの単位でネットワークの挙動を制御するために使用できるパケットフィルタを提供する。本明細書に記載されるフィルタは、従来のシステムによって対処されない様々な状況で有用である。フィルタ機構は、フィルタと、そのフィルタを配信する際に使用されるフィルタプロキシと、フィルタをネットワークトラフィックに適用する処理エンジンとを作成し、配信するために有用な構成要素を有する。
【００１３】
本発明の実施形態は、たとえば、レゾリューションサイトにおけるフィルタのソースと処理エンジンとの間の接続性の損失が、所定の時間を超過するフィルタの望ましくない適用を引き起こさないように、アクティブフィルタを再度適用するための機構を提供する。フィルタは、単一の、一貫したインターフェースを介して、複数のプラットフォームにわたって適用可能である。さらに、本明細書に記載されるいくつかの実施形態では、プロビジョンフィルタは、単一のソースであり、次いで、フィルタを、短い時間期間内に複数の地理的に分散したロケーションに伝搬させ、悪意のある攻撃からネットワークを保護する。
【００１４】
図７は、インターネットからのトラフィックをサービスするマルチサイト展開の単純化された図である。図７に示されるように、地理的に分散したネットワークサービスプロバイダは、サービス全体を構成する複数のポイントオブプレゼンスとの、インターネットからのトラフィックを取り扱う。いくつかの都市が、例示のために、ネットワークサービスプロバイダによってサービスされるものとして示されている。サービストラフィックは、ネットワークサービスプロバイダによって、インターネットから受信され、特定の適用に対して適切なサービスが提供される。
【００１５】
図１は、本発明の一実施形態による、ネットワークトラフィックフィルタリングを実行するためのシステムの単純化された概略図である。図１を参照すると、フィルタツール１１０を使用して、フィルタルールを定義する。以下に、フィルタルールに関して、より詳細にさらに説明する。次いで、フィルタツールは、ネットワーク、たとえば、インターネットを介して、１つまたは複数のフィルタプロキシ１２０ａ／１２０ｂに配信されるフィルタファイルに、フィルタルールを付加する。図１には２つのフィルタプロキシ１２０ａ／１２０ｂが示されているが、典型的な実装形態では、３つ以上のフィルタプロキシが利用される。フィルタプロキシは、地理的に分散したロケーションに配置される。
【００１６】
フィルタプロキシ１２０ａ／１２０ｂは、次いで、フィルタファイルを追加のフィルタプロキシに、または直接的に処理エンジンに配信する。図１には２つのフィルタプロキシ１２０ａ／１２０ｂのみが示されているが、本発明は、この具体的な数に限定されるものではなく、特定の適用例に対して適切な他の数を利用してもよい。様々なロケーションまたはサイト１３０ａ／１３０ｂ／１３０ｃ／１３０ｅにおけるネットワークは、パケットフィルタを１つまたは複数の処理エンジンＰＥ１〜ＰＥｎに配信する追加のフィルタプロキシを示している。したがって、フィルタプロキシは、ロケーション１３０ａにおいて、複数の処理エンジンと通信している。他のロケーション１３０ａ／１３０ｂ／１３０ｃ／１３０ｅとは異なるロケーションであるネットワークロケーション１３０ｄは、フィルタプロキシ１２０ｂから受信したフィルタファイルを処理エンジンＰＥ１〜ＰＥｎに直接配信する。処理エンジンＰＥ１〜ＰＥＮは、Ｓｏｌａｒｉａ、Ｌｉｎｕｘ（登録商標）などを含む様々なオペレーティングシステム上で動作する。最少の３つの処理エンジンが示されているが、本発明はこの具体的な数に限定されるものではなく、特定の用途に応じてより多数の、またはより少数の処理エンジンを利用できる可能性がある。さらに、オペレーティングシステムとして、ＳｏｌａｒｉｓおよびＬｉｎｕｘ（登録商標）のみが例示されているが、本発明は、これらの具体的なオペレーティングシステムに限定されるものではなく、他のオペレーティングシステムを利用できる可能性がある。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【００１７】
もちろん、ネットワークトポロジーに応じて、フィルタプロキシの数、階層のレベルの数（図示された例では２つ）、処理エンジンの総数などを、特定の適用例に対して適切になるように修正することができる。一例として、フィルタプロキシ１２０ａは、フィルタファイルをロケーション１３０ａ、１３０ｂおよび１３０ｃにある３つのフィルタプロキシに配信するのではなく、フィルタプロキシ１２０ａは、４つ以上のロケーション、たとえば、６つのロケーションと通信できる可能性がある。フィルタプロキシ１２０ｂと様々なロケーションとの間の接続に、同様の様々な数を適用することができる。また、複数のネットワークを遷移させるために、フィルタプロキシを一緒に連鎖させてもよい。一例として、フィルタプロキシ１２０ａは、フィルタを、プロトコルエンジンと同じ位置にない別のフィルタプロキシに配信することができ、その新しいフィルタプロキシは、引き続き、フィルタを、プロトコルエンジンと必ずしも同じ位置にない別のフィルタプロキシなどに配信することができる可能性がある。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【００１８】
図１に示されたシステムを利用すると、単一のフィルタツール１１０を使用して、様々な地理的サイトに配置された多数の処理エンジンにパケットフィルタを迅速かつ正確に配信することができる。したがって、本発明の実施形態は、各々が１つまたは複数の処理エンジンを含む、地理的に分散したロケーションへのフィルタファイルの同時配信を提供し、フィルタルールは、数百または数千に及ぶ場合があるすべての処理エンジンにわたって、一貫して、同一の所定の時間期間について定義される。複数の処理エンジンへのフィルタファイルの階層的かつ同時配信は、１つのネットワーク、１つのネットワークインターフェース、１つのファイアウォールなどにフィルタが適用される従来の技法とは非常に対照的である。ＤＮＳレゾリューションに関連する大型の分散型ネットワークの場合、迅速で広範囲にわたる配信は、従来のシステムでは利用できない恩恵を提供する。
【００１９】
システムオペレータがフィルタファイルを作成し、そのフィルタファイルをフィルタプロキシに発行すると、そのフィルタファイルは、多数の処理エンジンに迅速に配信される。同時配信の結果、処理エンジンの大型ネットワークは、（典型的には秒単位で測定される）短い時間期間内にフィルタを受信する。これは、地球上にひろがるサイトにある数千のサーバを利用するドメイン名解決アプリケーションなどの大型ネットワークに関するシステム実装の重要な側面である。
【００２０】
本明細書全体を通じてより完全に記載されるように、本明細書に記載された方法およびシステムは、ドメイン名システム（ＤＮＳ）クエリ、ＯＣＳＰクエリ、ＷＨＯＩＳクエリ、ＶｏＩＰクエリ、ＩＭクエリ、インターネットプロトコルの上のレイヤにおける他のアプリケーションプロトコルなどのフィルタリングを提供する。本発明の実施形態として実装されたフィルタリングの概念は、システムオペレータに、特定のドメイン名に関するクエリ、ＩＰアドレスまたはＩＰアドレスのブロックからのクエリをブロックまたは無視するための、あるいは要求コンテンツに基づく能力などを提供する。「．ＣＯＭ」、「．ＮＥＴ」および「．ＥＤＵ」に関して、本明細書に記載される実施形態は、論じるが、本発明は、これらの特定のトップレベルドメイン（ＴＬＤ）に限定されるものではなく、他のＴＬＤにも適用可能である。また、諸実施形態は、ＴＬＤに加えて、他のウェブサービスにも適用可能である。たとえば、本明細書では、ＴＬＤに関してＤＮＳ実装を説明するが、本発明の範囲には、他のレベルのＤＮＳツリーが含まれる。
【００２１】
ネットワークトラフィックフィルタリングの一例として、システムオペレータが、誤った挙動をし、ＤＮＳレゾリューションシステムに秒単位で多くのクエリを送っているインターネット上のシステムを識別した場合、これらのクエリは、ＤＮＳレゾリューションシステムの有効性全体に悪影響を与える可能性がある。インターネットに対する悪影響を低減させるために、正しく構成されていないネームサーバである可能性があるクエリのソースを、所定の時間期間にわたって無視する。悪意のないアクティビティの場合には、システムオペレータはネームサーバコントローラと交信できる可能性があり、ネームサーバコントローラはネームサーバを適切に構成し、したがって、誤ったクエリをなくすことができる。所定の時間期間の満了後、クエリのソースは、フルアクセスに回復される。
【００２２】
本発明の実施形態によって提供される自動満了は、ファイアウォールが特定のＩＰアドレスまたはＩＰアドレスのブロックのアクセスを妨げるように修正される従来のフィルタとは別に本明細書に記載されるシステムを設定する。これらの従来のシステムでは、各ファイアウォールにおいて、ＩＰアドレスのための別個のフィルタが手動で実装され、システムオペレータが、複数のサイトを構成することが要求される。フィルタを除去するために、システムオペレータは、フィルタが実装された様々なフィルタおよびファイアウォールをリコールできる場合、フィルタを手動で除去しなければならない。本発明の実施形態によれば、フィルタファイルがすべての処理エンジンに押し出されると、フィルタに含まれる満了時間は、満了時間と等しい時間期間後に、システムを通常動作に回復する。したがって、システムオペレータの入力は、本発明の実施形態により、従来のシステムと比較して大幅に低減される。
【００２３】
さらに、本発明の実施形態は、フィルタリング挙動がその中でネットワークトラフィックに応答して修正されるネットワークトラフィックの適応フィルタリングを行う。たとえば、第１の所定の時間後に、ブロックされた悪意のあるネットワークトラフィックが依然としてネットワークを通過しようと試みている場合、望ましくないトラフィックをブロックし続けるために、フィルタの満了時間を延長することができる。
【００２４】
図１を再び参照すると、トラフィックをフィルタリングするための方法およびシステムは、多くのサービス実装形態に適用可能である解決策を提供する。図１に示すように、高レベルアーキテクチャは、サービスのためにフィルタファイルを分散させ、それを１つまたは複数のフィルタプロキシ１２０に配信するフィルタツール１１０を含む。次いで、複数のフィルタプロキシノード１２０は、フィルタファイルをエンドノード１３０に配信する。エンドノード１３０において、複数のサービスプロトコルエンジン（ＰＥ）は、サービスプロトコルを実装するが、フィルタプロキシから配信されたフィルタファイルに基づいて、フィルタリングロジックを実装するように構成してもよい。フィルタルールをＰＥ中で設定されている場合、インターネットからＰＥに要求が送られるので、フィルタルールは閲覧され、トラフィックは、各々の個別の要求がフィルタルールのうちの１つまたは複数とマッチするかどうかに応じて、受け入れられるか、または拒絶される。したがって、本発明の実施形態を利用すると、広範囲のフィルタリング能力を実装するフィルタ配信システムが提供される。
【００２５】
図８Ａは、本発明の一実施形態による、インターネットトラフィックをサーブするサービスサイトアーキテクチャの単純化された図である。図８Ａに、インターネットからの要求を受信し、インターネットに応答をサーブする、共に接続された1組のコンピュータを含む、単一のサイトにおける汎用ネットワークサービスを示す。例示的なサイトは、図１に示されたサイト１３０ａ〜１３０ｅのうちの１つにできる可能性がある。図示のように、要求の各々は、マッチング応答が提供される。一例として、ＤＮＳ要求が受信された場合、ＤＮＳレゾリューションプロセスの結果を含む応答が、要求側に返される。３つの要求および応答のみが図示されているが、当業者には、さらなる要求および応答が、実際の実装形態において一般に受信およびサーブされることが理解されよう。
【００２６】
図８Ｂは、本発明の一実施形態による、インターネットトラフィックの一部分をサーブし、インターネットトラフィックの別の部分をフィルタリングするサービスサイトアーキテクチャの単純化された図である。図８Ｂに示されるように、単一のサイトにおける汎用ネットワークサービスは、図８Ａに示されるように、共に接続された1組のコンピュータを含む。要求はインターネットから受信されるので、応答は、その要求の一部分についてサーブされる。しかしながら、図８Ａとは対照的に、要求２は本発明の実施形態を使用してフィルタリングされ、要求側には全く応答がサーブされない。要求のフィルタリングに関する考察が、本明細書全体を通じて、また、さらに具体的に以下に提供される。
【００２７】
図２は、本発明の一実施形態による、一般的なフィルタファイルの単純化された図である。図２の一般的なフィルタファイルのフォーマットは、擬似バッカスナウア記法（擬似ＢＮＦ）である。一般的なフィルタファイルは、フィルタルールを生成するためにシステムオペレータが使用することができるフレームワークを表す。具体的なフィルタルールの例を以下に示す。一般的なフィルタファイルは、バージョン番号、およびフィルタの作成に関連するタイムスタンプを含むが、このタイプスタンプは基準時点から秒単位で測定される。バージョン番号とタイムスタンプは両方とも正の整数である。図２に示された一般的なフィルタファイル中には、ＩＰアドレスフィルタ、ドメイン名フィルタ、プロトコルヘッダフィルタ、および組合せフィルタが示される。次に、これらのフィルタがアドレス指定される。
【００２８】
フィルタファイルのフォーマット、および様々なフィルタファイル（複数可）を定義するシンタックスは、異なるサービス（複数可）に関する類似性および相違性を共有することを理解されたい。したがって、以下に提供される例は、特定のフォーマットおよびシンタックスを例示するものにすぎず、本発明の範囲を限定することを意図するものではない。実際には、異なる種類（複数可）のルールに関するシンタックスはわずかに異なり、事実上、各サービスは、一般には、サービストラフィックの種類に基づいて異なる種類のルールを有することになる。高いレベルでは、フィルタファイルは、いくつかのノードはソフトウェアのより古いバージョンを動作させるが、他のノードはより新しいバージョンである、コードの広範囲の展開を取り扱うための技法であるフィルタバージョン、各フィルタルールの組の変更ごとに増大する一意の識別子であるシリアル番号、ファイル中のフィルタの各「タイプ」に対するカウント、およびファイル中のフィルタの各「タイプ」に関する個別のフィルタルールのリスト（番号０．．．カウント）を含むことになる。以下に記載するように、各フィルタは、１つまたは複数のフィルタルールを含む。したがって、オペレータは、一連のルールからフィルタファイルを作成する。ルールは、ドロップされるべきトラフィックの種類を特定する。
【００２９】
本発明の実施形態により、ＤＮＳシステムに関する少なくとも４つのタイプのフィルタルールが提供される。
【００３０】
（１）除外フィルタは、以下の２つの形態を有する
ａ．ネットワークアドレス（たとえば、ＣＩＤＲ記法によるＩＰアドレスブロック）
ｂ．ドメイン名およびタイプ
【００３１】
（２）ヘッダフィルタは、以下を含む受信されたクエリパケットのヘッダの特定のエレメントに関するフィルタリングを可能にする
ａ．ＱＲビット、ＡＡビット、ＴＣビット、ＲＤビット、ＲＡビット、ＡＤビット、ＣＤビット、またはＺビットの有無
ｂ．パケットの応答コード（たとえば、ＮＯＥＲＲＯＲ、ＮＸＤＯＭＡＩＮなど）
ｃ．パケットのオペコード（たとえば、ＱＵＥＲＹ、ＩＱＵＥＲＹ、ＵＰＤＡＴＥなど）
ｄ．セクションカウントなど、象徴的に表すことができないヘッダの他のセクションをカバーできるようにするヘッダの１６進数表現
【００３２】
（３）除外フィルタおよび／またはヘッダフィルタの両方の種類の組合せである組合せフィルタ
【００３３】
（４）以下の２つの形態を有するワイルドカードフィルタ
ａ．ネットワークアドレス（たとえば、ＣＩＤＲ記法によるＩＰアドレスブロック）
ｂ．ドメイン名
【００３４】
「ＤＮＳ名およびタイプ」形態では、除外ルールは、ドメイン名（たとえば、ｅｘａｍｐｌｅ．ｃｏｍ）と、クエリタイプ（たとえば、Ａ＝Ｉ、ＭＸ＝１５、．．．）とを定義する。クエリタイプは、リソース記録タイプとも呼ばれる。要求は、クエリ中のドメイン名がルール中で定義されたドメイン名と同一であり、ルール中に定義された同一のクエリタイプに関するものであるときには、ルールとマッチする。この特定のフィルタルールは、一般に、ＤＮＳプロトコルサービスにのみ適用可能であることに留意されたい。
【００３５】
本発明の実施形態によれば、ワイルドカードフィルタは、ＤＮＳレゾリューションシステムの追加の構成とあわせて利用される。ＤＮＳシステムは全体として、ポーカーゲームにおけるワイルドカードと概念的に同様の「ワイルドカード」レコードの表記法をサポートし、不足しているものを埋めるために使用することができる。たとえば、ＤＮＳネームサーバが、特定の名前について問い合わされ、ネームサーバのデータベース中にその名前が存在しないことが明らかであるが、ワイルドカードは存在していな場合、ネームサーバは、その特定の名前が存在しないことに単に応答するのでなく、応答を構築するためにワイルドカードレコードを使用することができる。
【００３６】
システムが、フィルタ中の名前とマッチするクエリに応答する際に、ワイルドカードレコードを使用しないようにするために、ワイルドカード名フィルタを使用することができる。どのネットブロックがワイルドカード化された応答を受信するか、そしてどのネットブロックがワイルドカード化された応答を受信しないかを示すために、ワイルドカードネットワークアドレスフィルタを使用することができる。システムが全体として、ワイルドカード化を利用するように構成される場合、ワイルドカードネットワークアドレスフィルタとマッチする任意のＩＰアドレスは、ワイルドカード化された応答を受信せず、ｎｏ−ｓｕｃｈ−ｎａｍｅ応答を受信することになる。反対に、システムがワイルドカード化を利用しないように構成される場合、ワイルドカードネットワークアドレスフィルタとマッチする任意のＩＰアドレスは、ｎｏ−ｓｕｃｈ−ｎａｍｅエラーではなく、ワイルドカード化された応答を受信することになる。
【００３７】
ＤＮＳサービスについて、以下のフィルタを例として検討する。
【００３８】
（１）７５％のスロットルにおける１９２．１６８．１７．０／２４に関する除外ネットブロックルール
【００３９】
（２）ＮＯ−ＳＵＣＨ−ＤＯＭＡＩＮ．ＣＯＭ．ＡＮＹに関する除外名タイプルール
【００４０】
（３）ＲＤビットが使用可能にされた任意のクエリとマッチする除外ヘッダルール
【００４１】
第１のルールは、１９２．１６８．１７．０〜１９２．１６８．１７．２５５の範囲のＩＰアドレスからのすべてのクエリのうちの７５％をブロックする。このフィルタに基づくと、クエリはドロップされ、応答は全く送られないことになる。
【００４２】
第２のルールは、任意のタイプの名前ＮＯ−ＳＵＣＨ−ＤＯＭＡＩＮ．ＣＯＭに関するすべてのクエリをブロックすることになる。問い合わされた名前がＮＯ−ＳＵＣＨ−ＤＯＭＡＩＮ．ＣＯＭ．である場合、タイプにかかわらず、クエリはドロップされる。
【００４３】
第３のルールは、ＲＤ（再帰が所望される）ビットを使用可能にされたすべてのクエリをブロックすることになる。一般的には、これらのクエリは、近くの企業またはＩＳＰネームサーバに依拠するのではなく、再帰的なネームサーバとしてＤＮＳシステムの構成要素を使用しようと試みているレゾルバ、またはネームサーバのいずれかからのものである。
【００４４】
ＩＰフィルタは、カウンタ、ｉｐＣｏｕｎｔおよびＩＰルールを含む＊ｄｒｏｐ−ｉｐ−ｒｕｌｅｓ：＊によって定義される。カウンタｉｐＣｏｕｎｔは、パケットフィルタと関連するＩＰルールの数を示す正の整数である。ＩＰルールは、ｉｐＲｕｌｅ＿Ｎ＿として定義され、式中Ｎは、ルールに関する逐次的なＩＤ番号であり、０から始まり、１ずつ増える。ＩＰルールは、ＣＩＤＲフォーマットで表されるブロックされるべき（１つまたは複数の）ＩＰアドレス、実モードかテストモードかのどちらかのモード、フィルタに関する時間制限（＿ｔｔｌ＿）、スロットル割合（０％〜１００％）、およびタイムスタンプを含む。フィルタの作成中に設定されるスロットル割合は、ドロップされるべき要求の統計的割合を示す。
【００４５】
「ネットワークアドレス」形態では、除外ルールは、ＩＰアドレス、またはＩＰアドレスの範囲を定義する。要求のアドレス（ソースＩＰアドレスとも呼ばれる）がＩＰアドレスと正確にマッチする、またはルール中で定義されたアドレスの範囲内となるとき、要求はルールとマッチする。この種類のルールは、ＤＮＳプロトコルサービス、ＯＣＳＰプロトコルサービス、およびＷＨＯＩＳプロトコルサービスを含む複数のサービスに適用可能である。ＩＰフィルタは、一般に、任意のＩＰベースのプロトコルに適用可能であり、それらの適用は、本明細書に記載される様々なサービスに限定されるものでない。
【００４６】
ＩＰフィルタの一例は、
ＦｉｌｔｅｒＶｅｒｓｉｏｎ＝６
ｓｅｒｉａｌＮｕｍｂｅｒ＝１２２４２５０３３０
ｉｐＣｏｕｎｔ＝１
ｉｐＲｕｌｅ０＝１９２．１６８．１０．０／２４  ＲＥＡＬ  １８００  １００  １２２４０８６６６３
である。
【００４７】
上記に示されたＩＰフィルタにおいて、フィルタバージョンは６である。フィルタプロキシがこのフィルタのバージョンをサポートしない場合、フィルタは破棄されることになる。シリアル番号は１２２４２５０３３０であり、これは基準時点から秒単位で測定された時間である。単一のＩＰルールがＩＰフィルタに含まれる（すなわち、ｉｐＣｏｕｎｔ＝１）。この特定のフィルタに関するＩＰルールは、ＩＰルール番号０として定義される（ルールのカウントは０から始まる）。ＩＰフィルタは、クラスＣネットワーク中のＩＰアドレス１９２．１６８．１０／２４をブロックする。テストモードではなく、実フィルタとしてフィルタを動作させる。このフィルタの満了時間期間は１８００秒（すなわち、３０分）であり、スロットル割合は１００％であり、再び基準時点から秒単位で測定されている場合、満了時間は１２２４０８６６６３である。フィルタ中に含まれる満了時間により、フィルタが所定の時間に満了することが保証される。したがって、フィルタの配信および満了は、自動的に実行される。
【００４８】
上記の例示的なＩＰフィルタは、処理エンジンによってブロックされるべき複数のソースＩＰアドレスを定義するために、ＣＩＤＲフォーマットを利用する。クラスレスドメイン間ルーティング（ＣＩＤＲ）記法で表されるネットワークアドレス１９２．１６８．１０．０／２４は、クラスＣネットワーク、つまり、２５６個のコンピュータ（１９２．１６８．１０．０〜１９２．１６８．１０．２５５）のグループである。ＩＰアドレスは３２ビット長なので、ＣＩＤＲ記法の「／２４」は、ＩＰアドレスの最も重要な部分は最初の２４ビット、つまり、最初の３オクテット、１９２．１６８．１０であることを示す。ＩＰアドレスは、ＩＰｖ４フォーマットで与えられるが、ＩＰｖ６などの他のフォーマットを使用できる可能性がある。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【００４９】
ＣＩＤＲ記法を使用してコンピュータのネットワークをフィルタリングすることに加えて、１９２．１６８．１０．１０などのＩＰアドレスによって識別された単一のコンピュータをフィルタリングする可能性がある。１９２．１６８．１０．１０／３２などの表記を使用して、フィルタリングすべきＩＰアドレスを定義することができる可能性がある。さらに、フィルタリングのためにＩＰアドレスのグループを定義するためにＣＩＤＲが利用されるが、この特定のフォーマットは本発明には要求されず、ドット付き１０進記法または各ＩＰアドレスを一覧にすることを含む他のフォーマットを利用できる可能性がある。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【００５０】
スロットル割合を０％〜１００％の値に修正することによって、ＩＰアドレスの定義されたブロックから入来する所定の割合のクエリがブロックされ、それにより、何らかのトラフィックが、０％より多いブロックするフィルタに関する処理エンジンを通過することができるようになる。上記に与えられた例では、１００％のスロットル割合は、定義されたネットワークからのすべてのトラフィックをブロックする。
【００５１】
システムオペレータに恩恵を与える本発明の態様は、実モードまたはテストモードのいずれかである動作モードである。テストモードにより、システムオペレータはフィルタを発行することができるようになり、かつ、処理エンジンによってフィルタが実際に実装された場合に、どのくらい多くのトラフィックがブロックされるかを判断することができるようになる。したがって、望まない量のネットワークトラフィックを潜在的にドロップする可能性があるフィルタを実装する前に、フィルタを実際の実装に先立ってテストすることができる。処理エンジンにフィルタが発行された後に、どのトラフィックがドロップされるかを判断するために、システムオペレータが、テストモード中にトラフィックパターンを監視できるように、ソフトウェアを報告することが提供される。
【００５２】
再び図２を参照すると、ドメイン名（ＤＮＳ）フィルタは、カウンタ、ｄｏｍａｉｎＣｏｕｎｔおよびＤＮＳルールを含む＊ｄｒｏｐ−ｄｏｍａｉｎ−ｒｕｌｅｓ：＊によって定義される。カウンタｄｏｍａｉｎＣｏｕｎｔは、パケットフィルタと関連するＤＮＳルールの数を示す正の整数である。ＤＮＳルールは、ｄｏｍａｉｎＲｕｌｅ＿Ｎ＿として定義され、Ｎは、ルールのための逐次的なＩＤ番号であり、０から始まり１ずつ増える。ＤＮＳルールは、ブロックすべきドメイン名、ソース記録タイプ（＿ｄｎｓ−ｔｙｐｅ＿）、実モードまたはテストモードのいずれかのモード、フィルタの制限時間（＿ｔｔｌ＿）、スロットル割合（０％〜１００％）、およびタイムスタンプを含む。
【００５３】
＿ｄｏｍａｉｎ＿ｅｌｅｍｅｎｔに関して、ＤＮＳフィルタは、第２の（またはそれよりも大きい）レベルのドメインに適用可能である。ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍのためのＤＮＳフィルタの一例を以下に記載する。ＤＮＳクエリが所与の第２のレベルのドメインストリング（すなわち、例）に達し、マッチする場合には、フィルタは、そのＤＮＳクエリに適用されることになる。ドメイン名フィルタは、すべてのサブドメインとマッチするが、ラベル境界上でしかマッチしない。つまり、ドメイン名フィルタは、サフィックスを検査するだけではない。上記に与えられた例では、ＤＮＳクエリがｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍに関するものである場合には、ＤＮＳクエリはフィルタリングされるが、ＤＮＳクエリがｆｉｒｓｔｅｘａｍｐｌｅ．ｃｏｍに関するものである場合には、フィルタリングされない。この特定の実装形態では、ｅｘａｍｐｌｅ．ｃｏｍは、ＤＮＳフィルタによってブロックされないことに留意されたい。
【００５４】
リソースレコード（ＲＲ）タイプは、有効ＤＮＳ  ＲＲタイプである。有効ＤＮＳ  ＲＲタイプの最新リストは、ｈｔｔｐ：／／ｗｗｗ．ｉａｎａ．ｏｒｇ／ａｓｓｉｇｎｍｅｎｔｓ／ｄｎｓ−ｐａｒａｍｅｔｅｒｓにおいて入手可能である。様々なタイプのいくつかの例を表１に示す。
【表１】
2013501466.tif 000003
【００５５】
非標準タイプに対するフィルタリングを与えるために、本発明の実施形態は、また、値が２４２である非標準タイプを特定する形態ＴＹＰＥ＿２４２のタイプを受け付ける。このパラメータは任意選択であり、省略されている場合、フィルタは、すべてのタイプにマッチする。ＴＹＰＥ＿ＡＬＬを特定する結果、「ＡＬＬ」は通常のＤＮＳクエリタイプであり、したがって、「ＴＹＰＥ＿ＡＬＬ」フィルタは、その特定のタイプのクエリのみとマッチするので、同じフィルタ定義がもたらされることを留意されたい。
【００５６】
ＤＮＳフィルタの一例は、
ＦｉｌｔｅｒＶｅｒｓｉｏｎ＝６
ｓｅｒｉａｌＮｕｍｂｅｒ＝１２２４２５０３３０
ｄｏｍａｉｎＣｏｕｎｔ＝２
ｄｏｍａｉｎＲｕｌｅ０＝ｅｘａｍｐｌｅ．ｃｏｍ  １  ＲＥＡＬ  １８００  ７５  １２２４０８６６８６
ｄｏｍａｉｎＲｕｌｅ１＝ｖｅｒｉｓｉｇｎ．ｃｏｍ  １５  ＴＥＳＴ  １８００  １００  １２２４０９２２１９
【００５７】
上記に示されたＤＮＳフィルタにおいて、フィルタバージョンは６である。シリアル番号は、１２２４２５０３３０であり、これは基準時点から測定された時間である。ＤＮＳフィルタに含まれるフィルタの数は２つであり、ｄｏｍａｉｎＣｏｕｎｔ＝２によって表される。
【００５８】
第１のドメイン名フィルタ（ｄｏｍａｉｎＲｕｌｅ０）は、第２のレベルのドメイン「ｅｘａｍｐｌｅ」をフィルタリングする。タイプはＴＹＰＥ＿１であり、これはホストアドレスである。フィルタは、テストモードではなく、実フィルタとして動作される。フィルタの満了時間期間は１８００秒（すなわち、３０分）であり、スロットル割合は７５％であり、タイムスタンプは１２２４０８６６８６である。
【００５９】
第２のドメイン名フィルタ（ｄｏｍａｉｎＲｕｌｅ１）は、第２のレベルのドメイン「ｖｅｒｉｓｉｇｎ．ｃｏｍ」をフィルタリングする。タイプは１５であり、これはメール交換である。フィルタはテストフィルタとして動作され、これは実際のトラフィックはフィルタリングしないが、展開された場合にシステムオペレータにフィルタの影響への可視性を与える。フィルタの満了時間期間は１８００秒（すなわち、３０分）であり、スロットル割合は１００％であり、タイムスタンプは１２２４０９２２１９である。
【００６０】
ＤＮＳフィルタを使用すると、システムオペレータがブロックしたいと望む名前およびタイプに応じてクエリが発生した場合、クエリはブロックされ、問い合わせているシステムには回答が全く戻されない。一例として、システム中の障害データは、本発明の実施形態を使用してブロックされ得る誤ったＤＮＳクエリを引き起こす可能性がある。さらに、本明細書に記載されるフィルタは、悪意のある攻撃を妨害するために使用される可能性がある。
【００６１】
図２を再び参照すると、ワイルドカードフィルタ、たとえば、＊ｗｃ−ｉｐ−ｒｕｌｅｓ：＊および＊ｗｃ−ｄｏｍａｉｎ−ｒｕｌｅｓ：＊は、本明細書全体を通じてより完全に記載されるように提供される。
【００６２】
（ＤＮＳコンテキストにおける）ヘッダフィルタルールは、ビット（たとえば、ＱＲ、ＡＡ、ＴＣ、ＲＤ、．．．）、応答コード（ＮＯＥＲＲＯＲ、ＮＸＤＯＭＡＩＮ、．．．）、要求（ＱＵＥＲＹ、ＩＱＵＥＲＹ、ＵＰＤＡＴＥ、．．．）の演算コード（オペコード）、および他のセクションに関する追加の文法の有無を定義する。これらのフィルタルールは、プロトコルヘッダフィルタルールとも呼ばれる。要求は、定義されたビットが存在し、ルールはビットがないことを要求し、またはその逆の場合にルールとマッチする。さらに、ヘッダフィルタは、ルールの応答コードとマッチする応答を発生させる場合にマッチする。他の２つのタイプと同様に、要求オペコードが、ルールのオペコードと同一の場合には、ドロップされることになる。
【００６３】
プロトコルヘッダフィルタの例は、
ＦｉｌｔｅｒＶｅｒｓｉｏｎ＝６
ｓｅｒｉａｌＮｕｍｂｅｒ＝１２２４２５０３３０
ｈｅａｄｅｒＣｏｕｎｔ＝１
ｈｅａｄｅｒＲｕｌｅ０＝＋ＲＤ  ＴＥＳＴ  １８００  １００  １２２４２５１３３０
【００６４】
上記に示されたプロトコルヘッダフィルタにおいて、フィルタバージョンは６である。シリアル番号は１２２４２５０３３０であり、これは基準時点から秒単位で測定された時間である。プロトコルヘッダフィルタに含まれるルールの数は１つであり、ｈｅａｄｅｒＣｏｕｎｔ＝１によって表される。
【００６５】
第１の（そしてこの例については唯一の）ルールは、ＤＮＳプロトコルヘッダに関するものである。ルールは、使用可能にされることが所望される再帰のプロトコルヘッダをもつパケットをフィルタリングする。これらのパケットに対して、テストモードを３０分にわたって実装し、パケットの１００％をブロックし、満了時間は１２２４２５１３３０である。
【００６６】
プロトコルヘッダは、本明細書で使用される場合、ＤＮＳに加えてフィルタリングをするのに好適なプロトコルを示す一般的な用語である。一例として、ＨＴＴＰ要求をフィルタリングする際に、各種類のインターネットブラウザは、クエリの一部として送られるヘッダを含む。したがって、ＨＴＴＰパケットが受信されると、ブラウザ、たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）またはＭｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ（登録商標）に基づくパケットのフィルリングを実行することができる。
【００６７】
ＤＮＳレゾリューションシステムに関して図２に示されたＩＰフィルタ、ＤＮＳフィルタ、およびプロトコルヘッダフィルタとは対照的に、本発明の実施形態は、また、ＯＣＳＰフィルタリングならびにＷＨＯＩＳプロトコルクエリに関するフィルタリングを提供する。
【００６８】
ＯＣＳＰに関する３つのタイプのフィルタルールが本発明の実施形態によって提供される。
（１）除外フィルタは、以下の２つの形態を有する
ａ．ネットワークアドレス（たとえば、ＣＩＤＲ記法によるＩＰアドレスブロック）
ｂ．証明発行者識別情報および証明番号識別子
（２）組合せフィルタは、両方のタイプの除外フィルタの組合せである
（３）ＨＴＴＰヘッダフィルタは、ＨＴＴＰストリングの性質に応じてフィルタリングするように指定される（この場合、Ｕｓｅｒ−Ａｇｅｎｔヘッダのみをフィルタリングすることができる）
【００６９】
ＯＣＳＰプロトコルコンテキストにおいて、「証明識別子形態」の除外フィルタは、証明識別子（証明シリアル番号および発行者ハッシュ）を定義する。ルール中で識別された証明識別子と同一の証明識別子を識別するときに、要求はルールとマッチする。
【００７０】
ＯＣＳＰプロトコルコンテキストにおいて、ヘッダフィルタルールは、「Ｕｓｅｒ−Ａｇｅｎｔ」と呼ばれる特定のＨＴＴＰヘッダの存在を定義する。当業者には明らかなように、本明細書に記載される概念は、Ｃｏｎｔｅｎｔ−Ｌｅｎｇｔｈ、Ｄａｔｅ、Ｈｏｓｔなど）を含むＵｓｅｒ−Ａｇｅｎｔフィールド以外のヘッダに適用可能である。ＨＴＴＰヘッダタイプの完全な一覧は、ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／Ｐｒｏｔｏｃｏｌｓ／ｒｆｃ２６１６／ｒｆｃ２６１６−ｓｅｃｌ４．ｈｔｍｌにおいて定義される。ヘッダルールによって識別された特定のヘッダフィールドに関する値と完全にマッチするときに、要求はルールとマッチする。
【００７１】
ＯＣＳＰフィルタならびに例示的なＯＣＳＰフィルタを作成するためのフィルタツールの使用の一例を表２に示す。
【表２】
2013501466.tif 000004
【００７２】
３つのフィルタルールを含むフィルタファイルを視認するためのフィルタツールの使用の一例として、以下の例を表３に示す。  
【表３】
2013501466.tif 000005
【００７３】
表３に例示されたフィルタファイルは、以下の３つのフィルタルールを含む。
【００７４】
（１）１時間（３６００秒）にわたって、１９２．１６８．１０．０〜１９２．１６８．１０．２５５から発信されたトラフィックの９０％をフィルタリングする。これは、除外フィルタ仕様と呼ばれることがある。
【００７５】
（２）ＣＡ識別子「２３ｃ５２１０９ｂ４７０ｂｂｅ３１ｃ６ｆａｂａ７２７ｄ４４ｄ９３ｄｅ８ａ９ａ７４７６２ｂ６７６ｃ３７８ｅ４５ｆｅｂ４４５８ｄｆ６４ｆａ９ｅｌａｆ８ａ９ｃａｂｌａ」に証明シリアル番号「１８８２６３ｄｃ４１００８３２８８８ｄ３１０４５ｂａｃ０４ｄｌ８」を要求する１７２．２８．１００．１１から発信されたすべてのトラフィックを、３０分間（１８００秒）にわたってフィルタリングする。これは、組合せ仕様と呼ばれることがある。
【００７６】
（３）３０分間にわたって、ＨＴＴＰヘッダ「Ｕｓｅｒ−Ａｇｅｎｔ：ｍｏｚｉｌｌａ」をもつすべてのトラフィックをフィルタリングし、トラフィックの１００％をドロップする。この第３のフィルタルールでは、ルールの前に（Ｔ）の使用は、このルールをテストモードで動作すべきことを示す。
【００７７】
様々なフィルタの効果を理解するために、ＯＣＳＰサービスの一例を以下に示す。この例では、３つのフィルタルールが使用可能にされる。
【００７８】
（１）１７２．２８．１１１．０／２４に関する除外ルール
【００７９】
（２）証明発行者１０００および証明識別子１Ａ２７に関する除外ルール
【００８０】
（３）Ｕｓｅｒ  Ａｇｅｎｔ「Ｍｏｚｉｌｌａ  ７．８」に関するＨＴＴＰヘッダルール
【００８１】
これらの３つのフィルタの効果は、インターネットからのトラフィックに左右される。ＩＰアドレス１７２．２８．１１１．０〜１７２．２８．１１１．２５５から発信されるあらゆるトラフィックは、ドロップされることになる（接続は送られた応答なしに閉鎖した）。さらに、証明発行者番号１０００および証明識別子１Ａ２７に関するあらゆる要求もまたドロップされることになる。最終的には、「Ｕｓｅｒ−Ａｇｅｎｔ：Ｍｏｚｉｌｌａ  ７．８」から入来するときにそれ自体を識別する任意の要求もまた、ドロップされることになる。
【００８２】
ＯＣＳＰの場合、これらのいくつかの情報（たとえば、要求ソースＩＰアドレス、検証される証明機関識別子および証明番号識別子、ならびにＨＴＴＰ  Ｕｓｅｒ−Ａｇｅｎｔヘッダ）に関しては、要求中に送られることが一般的であることを留意されたい。用語「ＯＣＳＰ発行者名」および「ＯＣＳＰ  ＣＡ  識別子」は、証明を発行するビジネスユニットを参照すると、同義となることが意図される。一意の識別子（ＣＡ名およびキーハッシュと呼ばれる）は、どの発行エージェントについて、要求が証明を検証しようとしているかを明確に識別することができる。用語「シリアル番号」および「ＯＣＳＰシリアル識別子」は、特定の発行エージェントによって発行された証明の一意の所有者を参照すると、同義となることが意図される。たとえば、ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍは、同じ発行エージェントによって発行された証明を保持し得る場合であっても、ｗｗｗ．ｔｅｓｔ．ｃｏｍとは異なる一意の識別子を有する。これらの２つのデータは共に、すべての発行エージェントにわたって証明の所有者を一意に識別する。
【００８３】
ＷＨＯＩＳプロトコルコンテキストでは、除外フィルタは、参照タイプ（たとえば、ＤＯＭＡＩＮ、ＮＡＭＥＳＥＲＶＥＲ、ＩＰＡＤＤＲＥＳＳ、．．．）および検索ストリングを定義する。検索ストリングに関する値と正確にマッチし、同じタイプに関するものであるとき、要求はルールとマッチする。
【００８４】
また、本発明のいくつかの実施形態により、ＷＨＯＩＳサービスのフィルタリングも提供される。ＷＨＯＩＳフィルタの一例として、ＷＨＯＩＳに対する２つのタイプのフィルタルールを以下に示す。
【００８５】
（１）以下の２つの形態を有する除外フィルタ
ａ．ネットワークアドレス（たとえば、ＣＩＤＲ記法によるＩＰアドレスブロック）
ｂ．クエリストリング（たとえば、ｅｘａｍｐｌｅ．ｃｏｍまたはｎｓｌ．ｅｘａｍｐｌｅ．ｃｏｍ）
【００８６】
（２）組合せフィルタは、両方の種類の除外フィルタの組合せである
【００８７】
ＷＨＯＩＳフィルタ、ならびに例示的なＷＨＯＩＳフィルタを作成するためのフィルタツールの使用の一例を表４に示す。
【表４】
2013501466.tif 000006
【００８８】
すべてのプロトコルについて、本発明の実施形態は、２つの除外ルールを効果的に１つにする組合せルールを提供する。これらの組合せルールが定義されると、「ネットワークアドレス」ルールと他の形態のルール（たとえば、ＤＮＳに関するドメイン名／タイプ、ＯＣＳＰに関するＣＡ識別子、ＷＨＯＩＳに関するタイプ／検索ストリングなど）とにおける両方のＩＰアドレスとマッチするときに、要求はルールとマッチする。つまり、組合せルールは、２つの除外ルールの論理的な交差である。
【００８９】
最終的には、オペレータは、不要なトラフィックをフィルタリングするための複数のルールを定義することができるので、要求は、フィルタ基準中に含まれる個別のルールのうちのいずれかとマッチする場合に、フィルタ基準（すべてのフィルタルールの組）とマッチする。つまり、フィルタ基準は、含まれるすべてのルールの論理的な集合である。
【００９０】
３つのフィルタルールを含むフィルタファイルを視認するためのフィルタツールの使用の一例として、表５に以下の例を示す。
【表５】
2013501466.tif 000007
【００９１】
表５に示されたフィルタファイルは、以下の３つのフィルタルールを含む。
【００９２】
（１）１時間（３６００秒）にわたって、１９２．１６８．１０．０〜１９２．１６８．１０．２５５から発信されるトラフィックの９０％をフィルタリングする。これは、除外フィルタ仕様と呼ぶことができる。
【００９３】
（２）３０分間（１８００秒）にわたって、「ｅｘａｍｐｌｅ．ｃｏｍ」を検索する１７２．２８．１００．１１から発信されるすべてのトラフィックをフィルタリングする。これは、第１の組合せフィルタ仕様と呼ぶことができる。
【００９４】
（３）３０分間（１８００秒）にわたって、検索ストリングを伴うネームサーバ「ｎｓｌ．ｅｘａｍｐｌｅ．ｃｏｍ」を検索する１７２．２８．２０．４２／２６から発信されるすべてのトラフィックをテストモードでフィルタリングする。これは、第２の組合せフィルタ仕様と呼ぶことができる。
【００９５】
本明細書に記載されるフィルタ仕様のうちのいくつかは、検索ストリングだけではなく、クエリタイプにも基づいてフィルタリングする能力を提供することにを留意されたい。この機能は、本明細書に記載される方法およびシステムが、異なるフィルタリングの必要性を有することができる多くの異なるネットワークプロトコルの間で使用するように意図されることを示す際に有用である。さらに、ＷＨＯＩＳ適用例について上記に示されたフィルタは単純であるが、実際のフィルタは、これらの単純化された例によって限定されるものではない。フィルタルール、たとえば、ＤＯＭＡＩＮ  Ｗ＊．ＣＯＭなどのワイルドカード、ＤＯＭＡＩＮクエリ対ＮＡＭＥＳＥＲＶＥＲクエリなどのクエリタイプ、またはプロトコル中の他の好適なディスクリミネータに基づくフィルタリングには、さらなる複雑性を含むことができる。
【００９６】
本明細書に記載される様々なサービスに関するフィルタは、同時に使用しても、互いに独立して使用してもよいことに留意されたい。したがって、ＤＮＳフィルタルールの実装形態は、ＷＨＯＩＳフィルタルールの実装形態に依存するものではない。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【００９７】
図２に示されるシンタックスは、ＤＮＳトラフィックに固有であり、本発明の範囲を限定することを意図するものではない。他のシンタックスは、たとえば、ＯＣＳＰトラフィック、Ｗｈｏｉｓトラフィック、ＶｏＩＰトラフィック、インスタントメッセージング（ＩＭ）トラフィック、広範囲に展開されたサービスプラットフォーム上で実装されたＩＰ−プロトコルなど、他のタイプのトラフィックに適切な本発明の実施形態中で利用される。したがって、これらの代替的な実装形態に関する詳細な文法は、図２に示されたシンタックスとは異なるが、図２に示されたシンタックスの特定の実装形態への修正は、当業者には明らかであろう。
【００９８】
本発明の実施形態によって、ソースＩＰアドレス、ＤＮＳクエリなどに関するフィルタルールだけでなく、組合せルールも提供される。組合せフィルタの一例は、
ＦｉｌｔｅｒＶｅｒｓｉｏｎ＝６
ｓｅｒｉａｌＮｕｍｂｅｒ＝１２２４２５０３３０
ｃｏｍｂｏＲｕｌｅ＝１
ｃｏｍｂｏＲｕｌｅ０＝ｉｐ＝１９２．１６８．１０．０／２４  ｈｅａｄｅｒ＝＋ＲＤ  ＲＥＡＬ  １８００  ５０  １２２４２５０３５６
である。
【００９９】
上記に示された組合せフィルタにおいて、フィルタバージョンは６である。シリアル番号は１２２４２５０３３０であり、これは基準時点から秒単位で測定された時間である。組合せフィルタ中に含まれる組合せルールの数は１つであり、ｃｏｍｂｏＣｏｕｎｔ＝１によって表される。
【０１００】
第１の（そして、この例については唯一の）ルールは、１９．２．１６８．１０クラスＣネットワーク中のソースＩＰアドレスに適用される実ルールである。この範囲のソースＩＰアドレスからのパケットのヘッダは、使用可能にされることが所望される再帰のプロトコルヘッダが存在するかどうかを判断するために試験されることになる。これらのパケットに対して、３０分の期間にわたって、パケットの５０％がブロックされ、満了時間は１２２４２５０３５６である。
【０１０１】
１つのタイプのルールしか含まないパケットフィルタを作成することが一般的であるが、単一のフィルタ中にいくつかの異なるタイプのルールを含む他のパケットフィルタを作成することができる。いくつかの異なるタイプのルール含むパケットフィルタの一例は、
ＦｉｌｔｅｒＶｅｒｓｉｏｎ＝６
ｓｅｒｉａｌＮｕｍｂｅｒ＝１２２４２５０３３０
ｉｐＣｏｕｎｔ＝１
ｉｐＲｕｌｅ０＝１９２．１６８．１０．０／２４  ＲＥＡＬ  １８００  １００  １２２４０８６６６３
ｄｏｍａｉｎＣｏｕｎｔ＝２
ｄｏｍａｉｎＲｕｌｅ０＝ｅｘａｍｐｌｅ．ｃｏｍ  １  ＲＥＡＬ  １８００  ７５  １２２４０８６６８６
ｄｏｍａｉｎＲｕｌｅ１＝ｓｉｇｎ．ｃｏｍ  １５  ＴＥＳＴ  １８００  １００  １２２４０９２２１９
ｃｏｍｂｏＲｕｌｅ＝１
ｃｏｍｂｏＲｕｌｅ０＝ｉｐ＝１９２．１６８．１０．０／２４  ｈｅａｄｅｒ＝＋ＲＤ  ＲＥＡＬ  １８００  ５０  １２２４２５０３５６
である。
【０１０２】
上記に示されたパケットフィルタは、上述されたソースＩＰフィルタ、ＤＮＳフィルタ、および組合せフィルタに関して論じられたいくつかのルールを含む。したがって、このパケットフィルタに含まれるルールは、ルールが利用された個別のフィルタに関して論じてきた。フィルタタイプの他の組合せを組み合わせることができ、この例は、パケットフィルタ中の異なるタイプのルールの使用を例示するために提供されるにすぎない。
【０１０３】
本明細書に論じられたフィルタファイル中に見られる例示的なフィルタルールのうちのいくつかでは、フィルタファイルの作成時間よりも前に満了時間を迎える。これは、以前に使用され、新たに作成されたフィルタファイル中に残されていたフィルタルールによる結果である。フィルタルールは、作成時間よりも前に満了時間を迎えるので、フィルタルールが適用されない。フィルタルールがリフレッシュされた場合、新しい満了時間が作成され、フィルタルールを作成する必要なしに、フィルタルールを再利用できるようになる。したがって、フィルタルール満了時間の自動的な更新により、システムオペレータによるフィルタの容易な再利用が可能になる。
【０１０４】
上記に示された組合せフィルタでは、パケット中のフィールドとフィルタ中のフィールドとの間にマッチが存在するかどうかを判断するために、ソースＩＰアドレスおよびパケットヘッダが分析される。ソースＩＰアドレスとブラウザタイプなどの他の組合せも本発明の範囲に含まれる。さらに、本願譲受人によって提案されるオンライン証明ステータスプロトコル（ＯＣＳＰ）サービスなどの他のサービスとあわせて、適切なパケットフィルタを使用することができる。
【０１０５】
図３は、本発明の一実施形態による、複数のＤＮＳクエリをフィルタリングする方法を示す単純化されたフローチャートである。各ＤＮＳクエリは、クエリ名およびリソース記録タイプを含む。この方法は、フィルタ名、フィルタタイプ、および０％〜１００％の範囲のスロットル割合を含むパケットフィルタを定義すること（３１０）を含む。一実施形態では、パケットフィルタは、さらに、満了時間を含むことができる。満了時間よりも短い所定の時間期間後に、パケットフィルタをリフレッシュすることができる。この方法は、また、パケットフィルタをサーバから複数のフィルタプロキシに送信すること（３１２）と、そのパケットフィルタを複数のフィルタプロキシのうちの各々から１つまたは複数の処理エンジンに送信すること（３１４）とを含む。
【０１０６】
この方法は、さらに、１つまたは複数の処理エンジンのうちの１つにおいて複数のＤＮＳクエリを受信すること（３１６）と、複数のＤＮＳクエリの各々について、クエリ名とフィルタ名とのマッチを判断すること（３１８）と、複数のＤＮＳクエリの各々について、リソース記録タイプとフィルタタイプとのマッチを判断すること（３２０）と、所定の割合の複数のＤＮＳクエリをブロックすること（３２２）とを含む。所定の割合は、スロットル割合に等しい。
【０１０７】
いくつかの適用例では、複数のフィルタプロキシからサーバにパケットフィルタステータスが送信される。作動前にパケットフィルタをテストすることができ、システムオペレータには、ネットワークトラフィックに対していかなる衝撃をも与えることなく、ネットワークトラフィックに対する提案されたフィルタの影響に関する指示が与えられる。したがって、本明細書全体を通じてより詳細に記載されるように、実モードか、またはテストモードのいずれかで動作するものとしてフィルタを定義することができる。
【０１０８】
単一のネットワークインターフェースにおいて適用される従来のシステムとは対照的に、本発明の実施形態は、パケットフィルタをフィルタプロキシに広範囲に配信し、次いで、パケットフィルタを他のフィルタプロキシに、または処理エンジンに配信する。遠隔サイトに設けられた処理エンジンは、次いで、処理エンジンによって受信されたネットワークトラフィック上でフィルタを実装する。
【０１０９】
図３に示された特定のステップは、本発明の一実施形態による、複数のＤＮＳクエリをフィルタリングする特定の方法を提供するものであることを理解されたい。代替実施形態にしたがって、ステップの他のシーケンスを実行してもよい。たとえば、本発明の代替実施形態は、異なる順序で、上記に概説された各ステップを実行してもよい。さらに、図３に示された個々のステップは、個々のステップに適切なように様々なシーケンスで実行されてもよい複数のサブステップを含んでもよい。さらに、特定の適用例に応じて、追加のステップを加えても、あるいは取り除いてもよい。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【０１１０】
図４は、本発明の一実施形態による、ネットワークパケットをフィルタリングする方法を示す単純化されたフローチャートである。この方法は、ネットワーク基準および０よりも大きく１００％未満のスロットル割合を含むパケットフィルタを定義すること（４１０）を含む。また、パケットフィルタは、満了時間も含むことができる。パケットフィルタは、満了時間よりも短い所定の時間の後に、オペレータによってリフレッシュすることができる。この方法は、また、ネットワークパケットを受信すること（４１２）と、受信されたネットワークパケットを分析すること（４１４）とをも含む。この方法は、受信されたネットワークパケット中のフィールドがネットワーク基準を満たすことを判断すること（４１６）と、所定の割合のネットワークパケットをブロックすること（４１８）とをさらに含む。所定の割合は、スロットル割合に等しい。
【０１１１】
ネットワーク基準の例として、本発明の範囲には、ソースＩＰアドレス、ＤＮＳクエリ、またはプロトコルヘッダが含まれる。ＩＰアドレスのフィルタリングに関する実装形態では、ネットワーク基準は、ＣＩＤＲ記法で表される複数のソースＩＰアドレスを含む可能性がある。この実装形態では、受信されたネットワークパケット中のソースＩＰアドレスとパケットフィルタ中のＩＰアドレスとのマッチは、受信されたネットワークパケットがネットワーク基準を満たすことを判断するプロセスの一部として実行される。
【０１１２】
ＤＮＳクエリのフィルタリングに関する一実装形態では、ＤＮＳクエリは、名前およびタイプを含む。この実装形態では、受信されたネットワークパケットがネットワーク基準を満たすことを判断することは、受信されたネットワークパケット中のクエリ名およびリソース記録タイプをその名前およびそのタイプとマッチングすることを含む。他の実装形態は、ＯＣＳＰ要求またはＷＨＯＩＳ要求に基づいてフィルタリングする。さらに、本発明の範囲には、ネットワークトラフィックをブロックする前にフィルタルールをテストすることが含まれる。フィルタルールは、複数の遠隔サイトに配信されるので、複数の遠隔サイトにおいて、分析するプロセス、判断するプロセス、およびブロックするプロセスを実行することができる。さらに、管理コンソールに、アクティブフィルタのステータスを報告することができる。
【０１１３】
図４に示された特定のステップが、本発明の一実施形態による、ネットワークパケットをフィルタリングする特定の方法を提供することを理解されたい。代替実施形態にしたがって、ステップの他のシーケンスを実行してもよい。たとえば、本発明の代替実施形態は、異なる順序で、上記に概説された各ステップを実行されてもよい。さらに、図４に示された個々のステップは、個々のステップに対して適切なように様々なシーケンスで実行されてもよい複数のサブステップを含んでもよい。さらに、特定の適用例に応じて、追加のステップを加えても、あるいは取り除いてもよい。当業者は、多くの変形形態、修正形態および代替形態を認識するであろう。
【０１１４】
図５は、本発明の一実施形態による、パケットフィルタを作成するための単純化されたプログラミングインターフェースである。図５に示されるフィルタツールは、本発明の実施形態によって提供される様々なフィルタルールを作成し、削除し、発行し、あるいは管理するために、システムオペレータによって使用される。セントラルロケーション（たとえば、図１に示されたフィルタツール１１０）から、システムオペレータは、処理エンジン（すなわち、フロントエンドプロセス）が所定のネットワーク基準に適合する着信パケットをドロップするために使用するフィルタルールの組を管理する。フィルタツールにより、オペレータは、フィルタルールを加え、アクティブセットから取り除くことができるようになり、また、フィルタルールは、フィルタプロキシを使用して、遠隔レゾリューションサイトの各々に、フィルタの現在の組を送信する。
【０１１５】
解決サイトにおいて、パケットフィルタは、所定の満了期間（たとえば、５分間、１０分間、１５分間、２０分間、２５分間、３０分間など）の後に時間切れとなるので、フィルタツールを使用して、満了前に、フィルタを「リチャージ」することができる。フィルタが、最初の満了期間を超過して維持される特定の実装形態では、任意のフィルタがアクティブである間に周期ベースで（たとえば、１０分ごとに）、「リフレッシュ」オプションを用いてフィルタツールを動作させる。
【０１１６】
図５を参照すると、「ａｄｄ」を使用して、アクティブリストに所与のフィルタが加えられる。次いで、このリストを遠隔サイトに配信する。「ｄｅｌ」を使用してアクティブリストから所与のフィルタを除去し、次いで、このリストを遠隔サイトに配信する。いくつかの実施形態では、「ｄｅｌ」の代わりに「ｒｅｍｏｖｅ」が利用される。「ｒｅｆｒｅｓｈ」を使用してアクティブリストが遠隔サイトに送られる。「ｆｌｕｓｈ」を使用してすべてのフィルタを除去し、次いで、空のリストを配信する。複数のルールは、特定のフィルタと関連付けることができ、複数のフィルタをアクティブとすることができるので、「ｒｅｆｒｅｓｈ」は、一緒に配信されるべきフィルタ中に含まれるルールの全体の組を利用可能にする。したがって、フィルタが、互いに関係しない場合であっても、同時に配信することができる。フィルタツールを動作させる機械上のマスターフィルタリストのメンテナンスは、すべての処理エンジンに一緒に発行されるべき異なるルール（複数）を用いて、異なるフィルタ（複数）を利用可能にする。したがって、フィルタの追加、フィルタの変更、フィルタの削除などは、「ｒｅｆｒｅｓｈ」を使用して容易に再発行される。
【０１１７】
既存のフィルタまたはアクティブフィルタを表示するために、「ｌｉｓｔ」が使用される。いくつかの実施形態では、「ｃｏｎｆｉｇ」を使用して構成ファイルが特定される。構成ファイルは、フィルタが発行されるフィルタプロキシのリストを含む。フィルタプロキシは、次いで、フィルタがパスされる他のフィルタプロキシおよび／または処理エンジンのリストを順次維持する。「ｉｄ」を使用してデフォルトが「フィルタツール」であるプロセス名が特定される。本発明の実施形態により、システムオペレータは、コマンドライン上に複数の「ａｄｄ」オプション、「ｄｅｌ」オプションおよび「ｆｌｕｓｈ」オプションを含めることができるようになる。様々なコマンドは、それらが現れる順番で、アクティブフィルタリストに適用される。フィルタが削除された後、フィルタを再発行し、階層全体に配信することができ、それにより、処理エンジン上のアクティブフィルタから、削除されたフィルタが除去される。特定のネットワークサービスについて、フィルタルールを作成するためのシンタックスが図５に示されるが、示された特定のシンタックスは、本発明の範囲を限定することを意図するものではなく、特定の適用例に適当な場合には他のシンタックスが適切である。したがって、たとえば、上述のように、「ｄｅｌ」またはｒｅｍｏｖｅ」を利用して、アクティブフィルタのリストから所与のフィルタを除去することができる。
【０１１８】
本発明の別の実施形態では、ＲＥＡＬまたはＴＥＳＴとしてフィルタタイプを定義するのではなく、オペレータが「ｆｉｌｔｅｒ  ｔｏｏｌ  ［ｔｅｓｔ．．．］」を入力し、上述のようにルールを定義することによって、フィルタルールをテストモードに加えることができる。テストモード中にあるフィルタを有効化するために、オペレータは、「ｆｉｌｔｅｒ  ｔｏｏｌ  ［ａｃｔｉｖａｔｅ．．．］」および「ｆｉｌｔｅｒ  ｔｏｏｌ  ［ｄｅａｃｔｉｖａｔｅ．．．］」を入力して、特定のフィルタを無効化することができる。
【０１１９】
ＩＰフィルタの場合、ＩＰアドレスは、図５に示されたようにＣＩＤＲ形態、または他の適切なフォーマットとすることができる。一般的に、プレフィックス長は少なくとも２４ビットであり、ＩＰアドレスが／３２フォーマットで提供される場合であっても、マスクが提供される。スロットル割合は、フィルタ基準とマッチしてドロップされるパケットの数を判断するために使用される。デフォルトでは、スロットル割合を１００％に設定することができ、それにより、すべてのマッチしているパケットがブロックされる。後にパーセント記号を付けた０から１００の数によって表される他の割合を使用してもよい。ＤＮＳフィルタの場合、フィルタリングすべき第２の（またはそれよりも大きい）レベルのドメイン、ならびに上述のＤＮＳリソース記録タイプがリストに挙げられる。
【０１２０】
図６は、本発明の一実施形態による、トラフィックをフィルタリングする方法の単純化されたフローチャートである。図６に示されるように、この方法は、フィルタルールを定義すること（６１０）を含む。このフィルタルールは、名前、フィルタタイプ、およびスロットル割合を含む。フィルタは、また、フィルタ基準を含む。フィルタタイプは、本明細書全体に記載されるように、いくつかの異なるタイプのうちの１つであってもよい。フィルタルールがフィルタファイルに加えられる（６１２）。フィルタファイルを処理エンジンに配信するために、フィルタファイルを複数のフィルタプロキシに送信し（６１４）、フィルタプロキシは、こんどは、そのフィルタファイルをフィルタプロキシと通信している１つまたは複数の処理エンジンに送信する（６１６）、階層構造が利用される。そのような階層構造の第１の例が図１に示され、第２の例が図８Ａおよび／または図８Ｂに示される。
【０１２１】
処理エンジンのうちの１つにおいてＤＮＳ要求を受信する（６１８）。処理エンジンは、フィルタファイルを受信済みなので、受信されるＤＮＳ要求のフィルタリングを実行することができる。ＤＮＳ要求と、フィルタファイル中に含まれるフィルタルール中に含まれるフィルタ基準との間にマッチが存在するかどうかを判断する（６２０）。マッチが１つもないと判断された場合、処理エンジンによって要求を処理する（６３０）。一方、マッチが存在すると判断された場合、フィルタ基準がテストモードで動作しているかどうかをさらに判断する（６２２）。フィルタルールがテストモードフィルタである場合、ドロップされる要求に関連するカウンタをインクリメントする（６２４）。その後、要求を処理する（６３０）。したがって、本発明の実施形態は、実際の実装より前にフィルタをテストするための機構を提供し、それにより、システムオペレータが、フィルタルールを実装することが、ネットワークトラフィックに対して与えることになる影響を判断することができるようになる。
【０１２２】
フィルタルールがテストモードフィルタルールでない場合、０％〜９９％のランダムな数を発生し、スロットル割合と比較する（６２６）。ランダムな数がスロットル割合よりも小さい場合、要求をドロップし（６２８）、処理しない。一方、ランダムな数がスロットル割合よりも大きい場合、要求を処理する（６３０）。したがって、スロットル割合に等しい数の要求がドロップされ、それにより、トラフィックをスロットル割合までスケーリングして戻す。
【０１２３】
本明細書に記載される例および実施形態は例示を目的とするものにすぎず、その目的に照らした様々な修正および変更は、当業者に提案され、本願の趣旨および範囲、ならびに添付の特許請求の範囲内に含まれるものであることも理解されたい。
【符号の説明】
【０１２４】
１１０・・・フィルタツール
１２０ａ、１２０ｂ・・・フィルタプロキシ
【図２】
2013501466.tif 000008
【図３】
2013501466.tif 000009
【図４】
2013501466.tif 000010
【図５】
2013501466.tif 000011
【図６】
2013501466.tif 000012
【図１】
2013501466.tif 000013
【図７】
2013501466.tif 000014
【図８Ａ】
2013501466.tif 000015
【図８Ｂ】
2013501466.tif 000016
【国際調査報告】
2013501466.tif 000017