"ターゲット装置によって、望まれないトラフィックに対して防御する方法であって、ターゲット装置は1つまたは複数の宛先アドレスを有し、1つまたは複数のソースIPアドレスから受信されるパケットの分析に基づいて、望まれないトラフィックが前記ターゲット装置によって受信されることを判定するステップと、サービスプロバイダに関連する中央フィルタに告発メッセージを送信するステップとを含み、前記ターゲット装置へのパケットのそれによる送信が制限される、捨てられる、および許可されるのうちの1つまたは複数であると前記告発メッセージ内で指定される少なくとも1つのソースコンピューティングデバイスのソースアドレスを、前記告発メッセージが識別し、前記告発メッセージが、前記中央フィルタからの即座の肯定応答を必要としない告発プロトコルを使用して送信される、方法。したがって、中央フィルタからディテクタへの応答を必要としない、1つまたは複数のパケットネットワークでの悪意のある攻撃中に中央フィルタに制御メッセージを信頼できる形で送達する方法および装置の必要が存在する。一般に、たとえば悪意のある攻撃中に、中央フィルタからディテクタへの応答または肯定応答を必要とせずに1つまたは複数のパケットネットワーク内で中央フィルタに制御メッセージを信頼できる形で送達する方法および装置が提供される。本発明の一態様によれば、ディテクタは、1つまたは複数のソースIPアドレスから受信されるパケットの分析に基づいて、望まれないトラフィックがターゲット犠牲者によって受信されることを判定するステップと、サービスプロバイダに関連する中央フィルタに告発メッセージを送信するステップであって、告発メッセージが、ターゲット犠牲者へのパケットのそれによる送信が制限され、捨てられ、または許可されるのうちの1つまたは複数になる少なくとも1つのソースコンピューティングデバイスのソースアドレスを識別し、告発メッセージが、中央フィルタからの即座の肯定応答を必要としない告発プロトコルを使用して送信される、ステップとによって、ターゲット犠牲者によって、望まれないトラフィックに対して防御する。本発明のさらなる態様によれば、告発メッセージを、中央フィルタに冗長に送信することができ、告発メッセージは、好ましくは自己完結である。中央フィルタおよびディテクタは、状態情報を共有し、任意選択で、状態情報に対するすべての変更を維持する。本発明のさらなる態様によれば、開示される告発プロトコルは、告発プロトコル自体をねらう悪意のある攻撃を回避する1つまたは複数の特徴を含む。たとえば、告発メッセージは、任意選択で、i複数のターゲット犠牲者からの衝突する告発メッセージを調停することを可能にし、ii告発プロトコルをねらう悪意のある攻撃を回避することを可能にし、iii告発メッセージの重複するコピーを破棄することを可能にする、シーケンス番号を含む。本発明のより完全な理解ならびに本発明のさらなる特徴および利益は、次の詳細な説明および図面を参照することによって得られる。本発明は、1つまたは複数のパケットネットワーク内での悪意のある攻撃中に中央フィルタに制御メッセージを信頼できる形で送達する方法および装置を提供する。本発明の一態様によれば、カスタマネットワークにあるディテクタとサービスプロバイダのネットワークにある中央フィルタとの間の通信のための告発プロトコルが提供される。1つの例示的実施態様で、告発プロトコルは、1対の通信チャネルを含む。第1通信チャネルは、TLSチャネルなどの信頼できるセキュアな認証されたストリームである。第2通信チャネルは、認証をブートストラップするのにセキュアチャネルを使用する、たとえばUDPの上の、信頼できない認証された非ストリームプロトコルとすることができる。たとえば、ユーザデータグラムプロトコルUDPを使用して、TCPベースのプロトコルを使用する従来の技法で要求される即座の肯定応答を回避することができる。この形で、たとえば悪意のある攻撃に起因する、中央フィルタからディテクタへの戻り経路内に激しいパケット消失があり、中央フィルタ肯定応答が失われる傾向がある場合に、所望の保護を、それでも達成することができる。さらに、順方向経路上のディテクタから中央フィルタへの制御メッセージの冗長送信が、順方向経路での穏当なパケット消失を克服するのに使用される。一般に、攻撃中に中央フィルタからディテクタにパケットを送信することよりも、ディテクタから中央フィルタに複数の冗長パケットを送信することが好ましい。図1に、本発明が動作できるネットワーク環境100を示す。図1に示されているように、企業ネットワーク150は、図3に関して下でさらに説明するディテクタ300を使用して、悪意のある攻撃に対してそれ自体を保護する。企業ネットワーク150は、企業ユーザが、サービスプロバイダネットワーク120によってインターネットまたは別のネットワークにアクセスすることを可能にする。サービスプロバイダネットワーク120は、企業ネットワーク150のユーザにサービスを提供し、入ポート115によってさまざまなソースからパケットを受信し、これらを企業ネットワーク150内の示された宛先に送信する。1つの例示的実施形態で、ディテクタ300は、図2に関して下でさらに述べる中央フィルタ200と協力して、悪意のある攻撃からそれ自体を保護する。一般に、下でさらに述べるように、ディテクタ300は、企業ネットワーク150に対する、サービス拒否攻撃などの悪意のある攻撃を検出し、サービスプロバイダによって維持される中央フィルタ200に通知する。中央フィルタ200は、サービスプロバイダネットワーク120によって企業ネットワーク150に達するトラフィックを制限するように働く。ディテクタ300は、通常、企業ネットワーク150のファイヤウォールの背後にあり、ディテクタ300は、通常、告発メッセージをISPの中央フィルタ200に送信する。ディテクタ300および中央フィルタ200は、本発明の特徴および機能を提供するように本明細書で変更される、米国特許出願第11/197,842号、名称MethodandApparatusforDefendingAgainstDenialofServiceAttacksinIPNetworksbyTargetVictimSelf-IdentificationandControlおよび米国特許出願第11/197,841号、名称MethodandApparatusforDefendingAgainstDenialofServiceAttacksinIPNetworksBasedonSpecifiedSource/DestinationIPAddressPairsに基づいて実施することができる。ディテクタ300は、サービス拒否攻撃が企業ネットワーク150に対して行われつつあると判定した時に、1つまたは複数のソース/宛先IPアドレス対を中央フィルタ200に送信し、このソース/宛先IPアドレス対は、サービスプロバイダネットワーク120に、そのソースIPアドレスおよび宛先IPアドレスが送信されたソース/宛先IPアドレス対のいずれかのソースIPアドレスおよび宛先IPアドレスと一致するIPパケットの送信を制限させたとえば、ブロックさせるかレート制限させる、これによって、企業ネットワーク150内の攻撃犠牲者への1つまたは複数のソースデバイス110からのサービス拒否攻撃を制限するまたは除去する。ディテクタ300は、任意選択で、信頼できないUDP接続135または主セキュア認証済み接続130の使用によってソース/宛先IPアドレス対を送信する。本発明の一態様によれば、ディテクタ300と中央フィルタ200との間の通信のために告発プロトコルが提供される。したがって、サービス拒否攻撃の犠牲者は、攻撃者をそのサービスプロバイダに告発することによって押し戻すことができ、このサービスプロバイダは、これに応答して、ブロックされなければならないソース/宛先IP対のテーブルを更新する。より具体的には、攻撃が行われつつあることを認識した時に、犠牲者企業ネットワーク150は、攻撃の一部と思われるパケットで指定されるソースIPアドレスおよび宛先IPアドレスの1つまたは複数の対を識別し、中央フィルタ200によるブロックのためにこれらのIPアドレス対をサービスプロバイダに通信する。図1に示されているように、加入者企業ネットワーク150宛のパケットは、一般によいトラフィックおよび悪いトラフィックに対応するクラスに分類される。たとえば、それぞれ、カテゴリA105-Aからのよいトラフィックは、配送され許可され、カテゴリB105-BおよびカテゴリN105-Nからの悪いトラフィックは、それぞれレート制限されるか捨てられる。企業ネットワーク150に関連する宛先アドレスにトラフィックを送信するソースコンピューティングデバイス110は、N個の例示的カテゴリのうちの1つに分類される。告発は、よいトラフィックと悪いトラフィックとの間の境界をシフトする。ある種の例示的実施形態によれば、攻撃者すなわち、1つまたは複数の識別されたソースIPアドレスは、ネットワークから完全に排除される必要があるのではなく、パケットを犠牲者すなわち、1つまたは複数の識別された宛先IPアドレスに送信することだけを禁じられることに留意されたい。これは、特に、1つまたは複数の指定されたソースIPアドレスが、犠牲者および関連する機械に対する所与の攻撃のために乗っ取られた正当なユーザたとえば、ゾンビを表す場合に、有利である場合がある。したがって、乗っ取られた機械の所有者は、正当な目的にそのシステムを使用し続けることができるが、犠牲者に対して行われる攻撃おそらくは、正当なユーザに未知のは、それでも、有利に阻まれる。さらに、そのような例示的実施形態による技法が、所与の犠牲者による攻撃者の過度に熱心な識別からの保護をも有利に提供することに留意されたい。本発明の原理によれば、攻撃の識別は、明白な犠牲者の裁量に一任されるので、所与の犠牲者へのトラフィックだけが排除されまたは制限されていることが、明らかに有利である。悪意のある攻撃を、変化する度合の単純さまたは洗練を有する1つまたは複数のアルゴリズムによって、犠牲者によって認識することができ、これらのアルゴリズムは、本発明の範囲の外であるが、多数のアルゴリズムが、当業者に明白であろう。たとえば、本発明の1つの例示的実施形態によれば、パケットトレースを検査することができ、攻撃を、単一の識別されたソースまたは複数の識別されたソースのいずれかからの非常に高いトラフィックレベルたとえば、高いパケットレートの存在だけに基づいて識別することができる。これが、サービス拒否攻撃の存在を識別する1つの従来の方法であり、当業者に馴染みのあるものであろうことに留意されたい。しかし、他の実施態様では、パケット内容およびアプリケーションログのアプリケーションベースの分析を実行して、たとえば、存在しないデータベース要素の頻繁なデータベース検索があったことを認識すること、1人の人が開始できるレートより高いレートで発生する、一見人間からの複数の要求があったことを認識すること、構文的に無効な要求を識別すること、および通常に発生するアクティビティの動作での特に敏感な時刻でのトラフィックの疑わしい量を識別することなど、疑わしい性質を有するパケット、パケットのシーケンス、またはアクションを識別することができる。後者のクラスの疑わしいパケットの例は、たとえば、株式取引ウェブサイトが、差し迫った株取引中の敏感な時に特に破壊的なトラフィックに気付く場合に、識別することができる。さらなる変形では、たとえば上で説明した状況のうちの1つまたは複数を含めることができる可能な攻撃の複数の異なるしるしを、より洗練された分析で有利に組み合わせて、攻撃の存在を識別することができる。例示的な検出システムは、2つのモードのうちの1つで動作することができる。ゾーンが、デフォルトドロップモードである時に、デフォルト挙動は、デフォルトドロップ上に明示的にリストされたトラフィックを除く、そのゾーン宛のすべてのトラフィックをフィルタリングすることである。一般に、デフォルトドロップモードでは、フィルタは、明示的に許可されたとえば、事前定義の許可フィルタと一致しない限り、すべてのトラフィックを自動的に捨てる。その一方で、ゾーンがデフォルトアロウモードである時に、事前定義のドロップフィルタと明示的に一致するトラフィックを除いて、加入者へのすべてのトラフィックが、フィルタによって渡される。図2は、本発明のプロセスを実施できる、図1の中央フィルタシステム200の概略ブロック図である。図2に示されているように、メモリ230は、本明細書で開示されるサービス拒否フィルタリングの方法、ステップ、および機能を実施するようにプロセッサ220を構成する。メモリ230は、分散させまたはローカルとすることができ、プロセッサ220は、分散させまたは単一とすることができる。メモリ230は、電気メモリ、磁気メモリ、もしくは光学メモリ、またはこれらの任意の組合せ、あるいは他のタイプのストレージデバイスとして実施することができる。プロセッサ220を構成する各分散プロセッサが、一般に、それ自体のアドレス可能メモリ空間を含むことに留意されたい。コンピュータシステム200の一部またはすべてを、特定用途向け集積回路または汎用集積回路に組み込むことができることにも留意されたい。図2に示されているように、例示的なメモリ230は、サービス拒否フィルタルールベース260と、図4に関して下でさらに述べる1つまたは複数のサービス拒否フィルタリングプロセス400とを含む。一般に、例示的なサービス拒否フィルタルールベース260は、中央フィルタ200によって制限されまたは許可されなければならないトラフィックに関連するソース/宛先アドレス対を含む従来のフィルタベースである。サービス拒否フィルタリングプロセス400は、本発明による、サービス拒否または他の攻撃に対して防御する例示的な方法である。中央フィルタ200を、サービスプロバイダネットワーク120に含まれる独立型ボックスとして、またはその代わりに、ネットワーク120内に既に存在する他の点では通常のネットワーク要素に組み込まれた回線カードとして、実施することができる。さらに、ある種の例示的実施形態によれば、中央フィルタ200を、ネットワーク120内で攻撃起点に相対的に近い位置にキャリアによって有利に展開することができ、あるいは、中央フィルタ200を、当初に、プレミアムカスタマを攻撃から有利に防御するように配置することができる。図3は、本発明のプロセスを実施できる、図1のディテクタ300の概略ブロック図である。図3に示されているように、メモリ330は、本明細書で開示されるサービス拒否フィルタリングの方法、ステップ、および機能を実施するようにプロセッサ320を構成する。メモリ330は、分散させまたはローカルとすることができ、プロセッサ320は、分散させまたは単一とすることができる。メモリ330は、電気メモリ、磁気メモリ、もしくは光学メモリ、またはこれらの任意の組合せ、あるいは他のタイプのストレージデバイスとして実施することができる。プロセッサ320を構成する各分散プロセッサが、一般に、それ自体のアドレス可能メモリ空間を含むことに留意されたい。コンピュータシステム300の一部またはすべてを、特定用途向け集積回路または汎用集積回路に組み込むことができることにも留意されたい。図3に示されているように、例示的なメモリ330は、図5に関して下でさらに述べる、1つまたは複数のサービス拒否検出プロセス500を含む。図4は、本発明の特徴を組み込むサービス拒否フィルタリングプロセス400の例示的実施態様を説明する流れ図である。例示的なサービス拒否フィルタリングプロセス400が、デフォルトアロウモード用に実施されることに留意されたい。デフォルトドロップモード用の実施態様は、当業者にたやすく明白になるはずである。一般に、サービス拒否フィルタリングプロセス400は、本発明による、サービス拒否または他の攻撃に対して防御する例示的方法である。例示的なサービス拒否フィルタリングプロセス400は、中央フィルタ200で実行され、ステップ410中に、企業ネットワーク150内の所与のターゲット犠牲者に対してサービス拒否攻撃が行われつつあることのUDP表示をディテクタ300から受信することによって開始される。その後、ステップ420中に、ネットワークキャリアが、サービス拒否攻撃を阻むためにブロックされなければならないIPパケットを表す1つまたは複数のソース/宛先IPアドレス対をディテクタ300から受信する。実例として、ソースIPアドレスは、攻撃するたとえば、ゾンビコンピューティングデバイス110のアドレスであり、宛先IPアドレスは、ターゲット犠牲者自体に関連するアドレスである。ディテクタ300からのメッセージは、下で述べるDPに従って送信される。次に、ネットワークキャリアは、ステップ430中に、そのソースIPアドレスおよび宛先IPアドレスが受信されたソース/宛先IPアドレス対のソースIPアドレスおよび宛先IPアドレスと一致するIPパケットを識別するために、IPパケットトラフィックを監視する。ステップ440中にテストを実行して、1つまたは複数のパケットが、サービス拒否フィルタルールベース260内のアドレス対と一致するかどうかを判定する。ステップ440中に、1つまたは複数のパケットがサービス拒否フィルタルールベース260内のアドレス対と一致すると判定される場合には、ステップ460中に、そのパケットを捨てるか制限しなければならない。ステップ440中に、1つまたは複数のパケットがサービス拒否フィルタルールベース260内のアドレス対と一致しないと判定される場合には、ステップ470中に、そのパケットが、企業ネットワーク150への送信を許可される。図5は、本発明の特徴を組み込むサービス拒否検出プロセス500の例示的実施態様を説明する流れ図である。一般に、サービス拒否検出プロセス500は、本発明による、サービス拒否または他の攻撃に対して防御する例示的方法である。例示的なサービス拒否検出プロセス500は、ディテクタ300によってターゲット犠牲者で実行され、ステップ510中に、受信されたIPパケットの分析に基づいて、ターゲット犠牲者に対してサービス拒否攻撃または別の悪意のある攻撃が行われつつあることを判定することによって開始される。次に、ステップ520中に、サービス拒否攻撃を阻むために、1つまたは複数のソース/宛先IPアドレス対を、ブロックされなければならないIPパケットを表すものとして識別する実例として、ソースIPアドレスは、攻撃するゾンビ機械110のアドレスであり、宛先IPアドレスは、ターゲット犠牲者自体に関連するアドレスである。最後に、ステップ530中に、識別されたソース/宛先IPアドレス対を、開示されるDPを使用して犠牲者のキャリアネットワークの中央フィルタ200に送信して、キャリアネットワークが、一致するソースIPアドレスおよび宛先IPアドレスを有するIPパケットの送信をブロックできるようにする。告発プロトコル1つの例示的実施態様で、ディテクタ300と中央フィルタ200との間の告発プロトコルDP通信チャネルは、告発用のUDPポートおよびほとんどの他の通信用のTLS接続からなる。DPトランザクションは、2つのタイプを有する。UDP上の第1のタイプは、おそらくは中央フィルタ200からの任意選択の応答によって回答される、ディテクタ300から中央フィルタ200への要求パケットからなる。通常はTLSv1上の第2のタイプは、最終的に対応するレコード内で回答されるSSLレコードからなる。ほとんどのDPトランザクションは、ディテクタ300によって始められる。本発明の一態様によれば、ほとんどのDP要求は、応答または肯定応答を必要としない。基本的なDPトランザクションは、ディテクタ300から中央フィルタ200への告発である。各ディテクタ300は、ゾーンすなわち、加入者企業ネットワーク150によって所有されるIPアドレスのサブセットであるIPアドレスのセットの代わりに話す。ディテクタ300は、そのゾーンに属すると言われる。ディテクタ300は、それが属するゾーン宛のトラフィックを告発するディテクタ300自体のIPアドレスが、それが属するゾーンの一部である必要はない。すべての告発トランザクションは、ディテクタ300によって始められる。加入者からの告発は、その加入者が少なくともパケットの受信を望む可能性が最も低い時、すなわちその加入者が過負荷である時に送信される可能性が高い。加入者から中央フィルタ200への経路上のパケット消失レートが通常より高い可能性があり、その時に中央フィルタ200が通常よりも多少忙しい可能性があることもありえるまたは、可能性が高いが、加入者からのインバウンド経路が、攻撃を受けている加入者への経路ほどにクリティカルに過負荷である可能性は低い。加入者から中央フィルタ200への経路は、サービスプロバイダのネットワーク内にある。したがって、開示されるDPは、告発の時に加入者に向かうトラフィックを始めるのを避けることを試みる。したがって、告発は、信頼できる形で送信されるのではなく、肯定応答は、中央フィルタ200から受信されない。そうではなく、加入者は、好ましくは、中央フィルタ200に1つの応答を送信させるのではなく、各告発要求の複数のコピーを送信する。複数のコピーは、告発要求が安全に中央フィルタ200に到着する確率を高める。たとえば、5つのコピーが送信され、パケットがランダムに捨てられる場合に、パケット消失レートが20ドロップレートが通常は5を十分に下回るであっても、要求の少なくとも1つのコピーが到着する見込みは、極端に高い。これらの極端な数20パケット消失レートおよび5つのコピーを用い、パケット送信が、すべての消失が独立になるように分散されると仮定すると、少なくとも1つのコピーが着く見込みは、それでも、99.96より高い。この同一の推理は、パケットが順番に到着することに不必要に依存しないようにするために、各パケットを自己完結したものにすることをも保証する。前に示したように、DPトランザクションは、一般に、企業によってディテクタ300を介して開始され、中央フィルタ200によって開始されるDPトランザクションはない。これは、部分的には、上で説明した考慮によって、ならびに企業の周囲のファイヤウォールによりフレンドリになるために要求/応答モデルを維持し、DPパケットが安全に着くことができる尤度を高めるために、動機付けられたものである。中央フィルタ200は、どのフィルタルールが公式にインストールされているのかを判定する。ディテクタ300は、単に、告発を中央フィルタ200に発行する。告発が中央フィルタ200に到着するという甲鉄の保証はない。さらに、複数のディテクタ300が、宛先の所与のゾーンについて敵対するソースを告発することができる。その結果、ディテクタ300は、インストールされたフィルタのセットを確実に知ることができない。加入者が、どのフィルタが実際にインストールされているのか、どのフィルタが中央フィルタ200に一度も到着していないのか、およびどのフィルタが他のディテクタ300によってまたは衝突に起因して下を参照されたい除去されまたは作成されたのかを知ることが、望ましい。このために、事態が多少落ち着いた時に、加入者は、中央フィルタ200に状況レポートを要求することができる。この状況レポートは、どの要求が到着したのか、どのフィルタがインストールされたのか、および他の情報下で詳細を示すをリストする。状況を信頼できる形で受信し、認証をブートストラップするために、開示されるDPは、各ディテクタ300と中央フィルタ200との間の信頼できる通信チャネルTLSを提供する。中央フィルタ200および各ディテクタ300は、ある共有される状態を維持するために協調しなければならない。最も明白な共有される状態は、インストールされたフィルタルールのセットであるが、告発のシーケンス番号および認証に関する情報など、DP自体に関連する他の共有される状態もある。例示的実施形態は、適度に同期化されたクロックだけを必要とする。ディテクタ300または中央フィルタ200上で不要なものを実行する必要を回避するために、開示されるDPは、下のB.認証と題するセクションで述べるように、非常に粗いクロック同期化を提供し、その結果、NetworkTimeProtocolNTPを用いて動作する必要がなくなる。多数の加入者が、企業ネットワークにまたがるイベント相関を単純にするために、いずれにせよディテクタ300上でNTPを実行することを望むしかし、これは、DPが動作するために必要ではない。フィルタとプロトコル状態との両方について、開示されるDPは、ディテクタ300および中央フィルタ200が、初期共有状態に信頼できる形で合意し、その後、両側が、時間の経過に伴って、状態に対する変更を記憶することを要求する。ディテクタ300と中央フィルタ200との間の不一致の場合に、中央フィルタ200が、必ず、共有される状態の真の像を有する。同期化された状態に保たれるべきフィルタ状態の量は、ディテクタ300次第であるディテクタ300は、過去の告発をまったく気にせず、その分析のすべてを現在のトラフィックフローに基づくものとすることができる。プロトコル状態は、DPによって要求される。ディテクタ300は、周期的な状況要求によって、フィルタ状態を中央フィルタ200と再同期化することができる。通常、中央フィルタ200は、最後の状況要求以降のフィルタ状態変化だけを返す要求された場合には、インストールされた時にかかわりなく、現在アクティブなすべてのフィルタを返すこともできるが。通常、中央フィルタ200は、ゾーン内のすべてのディテクタ300のフィルタを返すが、要求された場合には、このディテクタ300によって要求された告発だけを返すことができる。ディテクタ300は、同期化要求によって、シーケンス番号および認証鍵を再同期化することができる。同期化トランザクションでは、ディテクタ300が、新しいシーケンス番号を一方的に選択し、中央フィルタ200が、認証用の新しいセッション鍵を生成する。ディテクタ300がクラッシュするか、ともかくも情報を失う場合に、ディテクタ300は、最近のフィルタルールだけではなく、すべてのフィルタルールを要求することができる。いつでも、ディテクタ300は、告発のために認証情報を再ネゴシエートすることができる下を参照されたい。中央フィルタ200が、すべてのフィルタルールをリセットする場合にゾーン変更、モード変更、またはある致命的DBクラッシュ、中央フィルタ200は、ディテクタ300との関連を故意に忘れ、中央フィルタ200から再同期応答を返すために次のディテクタトランザクションを促す。ディテクタ300が、中央フィルタ200と再同期化する時に、中央フィルタ200は、そのディテクタ300に、そのディテクタ300の以前の状態がもはや無効であり、すべての状況を要求する必要があることを知らせることができる。中央フィルタ200が、奇形のパケットまたは認証されていないパケットを受信する場合がある。その場合に、中央フィルタ200は、たとえば各ホストに30秒おきに1エラーパケットの最大レートまで、正当な送信側にエラーパケットを返す。レート制限は、たとえば攻撃者が告発プロトコルを使用してサービス拒否攻撃を始めるのを防ぐために、セットすることができる。衝突する告発告発は、パケットが分類に一致する場合に、複数の可能な異なるアクションを指定することができる。その結果、衝突が発生する場合がある。たとえば、あるディテクタ300が、サブネット全体がウェブクローラを起動していると思われ、レート制限されなければならないと指定する場合がある。もう1つのディテクタ300が、そのサブネット内の特定のホストが実際の攻撃を起こしていることを検出し、そのホストからのすべてのパケットを捨てなければならないと指定する場合がある。そのような衝突の場合に、後者のルールは、明らかに、前者のルールより特定であり、後者のルールは、単一のホストに言及し、単にソースをレート制限するのではなく捨てるように言う。そのような衝突では、より厳密なルールが適用されると論じることが理にかなっている。しかし、要求されるアクションが逆である、すなわち、1つのディテクタ300が単一ソースに対するレート制限を要求し、もう1つのディテクタ300が、サブネットそのソースを含むからのすべてのパケットを捨てることを要求すると仮定する。前者のルールがより特定であるサブネット全体ではなく単一のホストに言及すると論じることができ、あるいは、後者のルールがより厳密であるパケットをまばらにするのではなく捨てるように言うと、同等によく論じることができる。例示的実施形態は、最も特定のソースアドレスが優先される規約を採用する。それでも、明確にするために、最良の実践は、ディテクタ300が衝突するルールを発行するのを避けることである。新しいセットを発行する前に、既存の衝突するルールを撤回することが、いつでも可能である。しかし、告発の信頼性の欠如を考慮すると、中央フィルタ200が、より以前の衝突するルールが撤回されたことを発見する前に新しいルールを受信することが考えられる。さらに、複数のディテクタ300が同一のゾーンを管理するならば、2つのディテクタ300が、衝突を放棄せずに衝突する告発を独立に発行することが可能である。衝突に出会う時の中央フィルタ200の挙動を指定しなければならない。1つの例示的実施形態では、基本的なポリシは、衝突ソースアドレスの同一の指定を有するが2つの異なるアクションまたは理由を有する2つのルールの場合に、より後のルールがより前のルールをオーバーライドすることであるより後は、ルールが中央フィルタに到着する時を指す。DPプロトコルアルゴリズムA.信頼できる送信上で論じたように、パケットは、中央フィルタ200からディテクタ300への他方の方向で送信されるのではなく、ディテクタ300から中央フィルタ200に送信されなければならない。さらに、各パケットは、自立していることができ、順序通りの送達を必要としない。その結果、各告発パケットが到着し、順番に到着することを保証するのではなく、開示されるDPは、各パケットの複数のコピーを送信することによって成功の到着の見込みを確立的に改善することを選ぶ。DP告発要求は、たとえばSYNCH要求に応答して指定される、中央フィルタ200上のポートへのUDPパケット内で送信される。一般に、各告発パケットは、p回送信され、肯定応答は不要である。1つの例示的実施態様では、pが、5に固定され、パケットペーシングに対する形式的要件は、与えられない。順序付け要件のために衝突解決ルールが明確な勝者を選択しない直接に衝突するフィルタルールの場合に、最も新しいルールがより古いルールをオーバーライドするルールを与えられて、DPシーケンス番号が、送信順序を決定するためにアプリケーションまで渡される。中央フィルタ200は、複数のディテクタ300からの告発のシリアライザとして働く。単一のディテクタ300からの要求は、シーケンス番号によって、曖昧さなしに順序付けられる。インターリービングの順序は、中央フィルタ200によって一方的に判断される。中央フィルタ200は、大域的順序のどこで、各ディテクタ300が状況応答を最後に受信したかを記憶する。複数のパケットを送信することの背後にある意図は、各パケットの少なくとも1つのコピーが中央フィルタ200に到着することであって、中央フィルタ200をパケットで氾濫させることではない。さらに、攻撃者が、開示されるDPに対するDoS攻撃を開始するためのてこの作用点を有してはならない。中央フィルタ200は、平均して、1トランザクションあたり1つのパケットを処理しなければならない。中央フィルタ200が、各パケットが正しいディテクタ300によって送信されたことを確信するために各パケットを認証するという要件は、パケット処理が高価になる場合があることを意味する。ほとんどの冗長パケットは、高価な計算なしで破棄することができる。一実施形態では、最も安価なテストが最初に実行される。たとえば、シーケンス番号は、暗号化されず、告発要求についてチェックするために計算的に安価である。同様に、ディテクタ名が既知であるかどうかをチェックすることも、安価である。重複する要求および範囲外のシーケンス番号は、他のテストを実行する前に簡単に破棄される。開示されるDPでは、告発トランザクションは、ディテクタ300によってUDP上で開始される。DPは、他の要求について別々のTLS接続TCPを介するを維持する。B.認証例示的実施態様でのDPの基本的な認証機構は、クライアント証明書を用いてTLSv1によって提供される認証ハンドシェークである。信頼されるIPS証明局の公開鍵が、中央フィルタ200および各ディテクタ300に事前にロードされる。各ディテクタ300および中央フィルタ200は、その認証局CAによって署名された、その公開鍵の証明書を有する。さらに、加入者ディテクタ300は、中央フィルタ200の完全修飾ドメイン名を与えられ、この完全修飾ドメイン名は、サーバ証明書SubjectのCN部分でもある。鍵は、ディテクタのIPアドレスではなく名前に関連し、IPアドレスは、複数の理由から変化し得る。下で注記するように、DPは、任意の時に所与の名前を有する最大1つのディテクタ300を実施する。標準TLSプロトコルに従って、中央フィルタ200は、CAによって署名された証明書だけを受け入れることを指定するCertificateRequestメッセージを送信する。ディテクタ300は、クライアント認証プロセスの一部として2つのメッセージを応答する。第1に、ディテクタ300は、ディテクタの名前およびディテクタの公開鍵を含む証明書を供給する。第2に、ディテクタ300は、ディテクタの秘密鍵によって署名されたTLSハンドシェークメッセージのすべてのダイジェストを含むCertificateVerifyメッセージを送信する。ここで、中央フィルタ200は、証明書で言及されたディテクタ300としてクライアントを認証することができる。TLSv1接続が確立されたならば、中央フィルタ200は、告発をUDPを介して発行できるようになる前に、このセキュアな暗号化されたチャネルを使用して、ランダムに選択された160ビットの秘密ナンスをディテクタ300に送信しなければならない。すべてのDP告発パケットは、認証される。1つの例示的実施形態では、開示されるDPでの告発は、aUDPパケット内容、bタイムカウンタRSTART以降の単位数、ここで、単位の長さおよびRSTARTの時刻は、同期化中に確立されるの暗号ハッシュによって認証される。c秘密ナンス、およびdTLSチャネルによって使用されるDPポート番号。bは、反射攻撃に対する最小限の防御であり、cは、中央フィルタ200に対してディテクタ300を認証する。例示的実施形態で使用されるMAC関数は、HMAC-SHA1詳細については、InternetRFC2104を参照されたいであり、上の余分なフィールドは、HMAC鍵として使用される。20ビットのシーケンス番号を、パケットの内部に含めることができるが、各サーバが、単位カウンタが増分される前に220個未満の要求を送信すると仮定されたい。DPのエンドポイントは、所与のシーケンス番号を有する最初の有効なパケットだけを受け入れる。シーケンス番号がラップアラウンドする時までに、単位カウンタが、単純な反射攻撃に対して防御するために増分されている。ディテクタ300は、シーケンス番号の上位ビット第21ビットとして単位カウンタの数の下位ビットを含む。これは、日付RSTART時刻以降の単位数が中央フィルタ200に関する任意の時にディテクタ300上で変化することを可能にし、中央フィルタ200は、それでも、隠された日付が何であるかを計算することができる1日[単位]あたり少なくとも1つの同期化交換がある限り。これは、密に同期化されたクロックの必要を回避することを可能にする。ディテクタ300が、1つの時間単位内に220個を超えるパケットの送信を試みるというありそうにない場合に、そのディテクタ300は、中央フィルタ200に新しい秘密ナンスを要求しなければならない。そのディテクタ300は、シーケンス番号がラップアラウンドすることの可能性を低くするために、単位の長さ1日の分数として表されるを選択する。これらの暗号ハッシュの計算が高価になり得ると思われる可能性があり、その出費は、各パケットの多数のコピーを送信することによって悪化する可能性がある。しかし、所与のシーケンス番号が成功して受信されたならば、すべての重複を、ハッシュを計算せずに破棄できることに留意されたい。攻撃者からのランダムに構成されたパケットは、受け入れられる可能性が低い。というのは、受け入れることのできるシーケンス番号のウィンドウが、シーケンス番号空間全体と比較して非常に小さいからである。中央フィルタ200は、期待されるウィンドウの外のパケットを破棄する。さらなるウィンドウイングは、ディテクタ名に基づくものとすることができ、ディテクタ名は、疎に割り振ることができ、たとえば、2バイトフィールド内で100個程度の有効な値とすることができる。攻撃者が告発要求をスヌーピングすることができ、ディテクタ名をコピーし、シーケンス番号を取り込み、その後にウィンドウ内の最後のパケットの多数の悪いコピーを送信する懸念がある場合に、スヌーパに対して保護される、高速破棄の方法を提供することができる。実際には、この余分なレベルの保護が不要であると期待される、すなわち、SHA1を実行することのコストが、この追加の複雑さを正当化するのに十分な受信側のボトルネックではなくなると期待される。それでも、このセキュア高速破棄方法を、下で述べる。C.セキュア高速破棄セキュア高速破棄方法は、任意選択である。この任意選択の方法の空間は、例示的なDP版では告発パケット内で提供されるが、このセキュア高速破棄アルゴリズムは、実際にこの保護が必要であると判定されない限り、DP内でイネーブルされない。基本的な手法は、次のとおりである。各告発要求は、計算しやすいLビットストリングSLストリングがシーケンス番号フィールドのパディングにおさまるようにするために、暫定的にL=5を含む。SLは、シーケンス番号と、SSLチャネルを介して中央フィルタ200によって供給される秘密鍵の対との単純な関数の結果である。パケットが無効であるかどうかをチェックすることは、計算的に安価であり、SLが期待される値でない場合には、パケットは破棄される。パケットが有効であるかどうかを判定するためには、それでも、暗号ハッシュのチェックが必要であるが、これは、1シーケンス番号あたり約1回発生する。ディテクタ300が、HMAC-SHA1の共有鍵を中央フィルタ200と同期化する時に、中央フィルタ200は、ストリング長L、鍵長B、BLビットのストリングS、および1≦K≦Bになる小さい整数Kをも提供しなければならない。これらのいずれもが、攻撃者には未知であるが、LおよびBは、頻繁に変化することができ、SおよびKと同一の意味で秘密と考えられてはならない。シーケンス番号sを有する告発要求に関して、SLは、ビット位置bから始まるS内のLビットサブストリングである。bは、s、B、およびKの関数である。SLは、パケットのHMAC-SHA1ハッシュの第b0位置に挿入されるSHA1ハッシュの長さをLビットだけ延ばす。L=5およびB=1019の場合に、パターンは、約220個の告発パケットまで繰り返さず、約220個の告発パケットの時には、新しいナンスが、どの場合でもHMAC-SHA1ハッシュについて選択されなければならない。ストリングSLが、スヌープする攻撃者にランダムに見えるならば、SLの単純なチェックは、攻撃するパケットのストリームを2L倍だけ細くしなければならない。しかし、より大きいLの選択は、攻撃者がSを、およびその後にKを再構成できる見込みを増やし、したがって、Lは、この問題を防ぐために2L2L<BLがOlogBであることを意味するになるように選択されなければならないすべての可能なLビットサブストリングがS内に1回を超えて現れる可能性が高くなるようにするために。D.DPメッセージサービス開示されるDPは、ディテクタ300および中央フィルタ200が信頼できる形でお互いにメッセージを送信する手段を提供する。SSL/TLSが、ストリーム内のレコードを実施する。SSLレコードを、各レコードをそのレコードのタイプ状況、メッセージ、および状況応答などを単純に記述するDPレコードヘッダから開始するDPレコードとして使用することができる。しかし、我々の経験では、すべてのTLS実施態様が、クライアントへのAPIでレコード境界を保存するわけではないSSL書き込みはデータが大きすぎない限り、SSLレコードを作るが、SSL読み取りは、部分的レコードまたは複数のレコードを返すことができる。その結果、プラットフォームにまたがる最大の可搬性をもたらすために、DPの例示的実施形態はおそらくは冗長にそれ自体のレコードマーキングプロトコルをSSLレコード内で実施する。理想的には、1つのDPレコードが、各SSLレコード内におさまらなければならないが、レコードプロトコルは、かかわりなく働く。DPは、レコードを開始するのにレコードの始めマーカを使用し、終了するのにレコードの終りマーカを使用する。各レコードは、タイプおよび長さフィールドから始まる。長さフィールドは、ビット/バイト詰込を回避することを可能にし、開始レコードマーカまたは終了レコードマーカのいずれかがレコード内に現れることが、ルールに従ったものである。長さフィールドは、ヘッダおよびトレイラを含まない、メッセージ内のバイト数である。開始マーカおよび終了マーカは、例示的実施形態では4バイトシーケンスであるが、DPメッセージに対するアライメント要件はない。メッセージの本体は、任意の長さとすることができ、長さが32ビット4バイトの倍数である必要はない。開始マーカおよび終了マーカは、サーバまたはクライアントが奇形レコードを発行する場合にレコード境界を回復することを可能にし、シーケンス[レコードの終り][レコードの始め]およびそれに続く、それ自体が[レコードの終り][レコードの始め]対をポイントする長さフィールドを検索するだけでよい。E.パケットフォーマット、バージョン番号、および互換性開示されるDPに対する変更は、後方互換でなければならない。SSLチャネルを利用するプロトコル動作に対する非互換の変更は、非互換フォーマットを有する古いタイプの再利用ではなく、新しいレコードタイプ識別子を割り振る。告発トランザクションに対する非互換の変更は、変更されたDP仕様の一部として、新しいDPポート番号の選択を必要とする。DPは、2つの形のうちの1つで、DPチャネルのリモート端の非DPエージェントを検出する。SSL接続のリモート端は、認証に失敗するか、DP初期同期化プロトコルに従うことに失敗するかのいずれかになる。非互換性が、なんらかの理由でSSL接続確立中に検出されない場合に、暗号ハッシュは、リモート端がDPでないからまたはハッシュでDPの非互換バージョン番号を使用しているからのいずれかで、UDPトラフィックについて失敗する。これは、ワイヤを介してDPによって送信されるデータ内のバージョン番号またはマジックナンバの必要をなくす。パケットおよび動作前に示したように、ディテクタ300は、DPチャネルを介して中央フィルタ200と通信する。DPチャネルは、ディテクタ300および中央フィルタ200が通信するために、現在確立されていなければならない。各ディテクタ300は、中央フィルタ200の特定のインスタンスに束縛される。中央フィルタ200は、それに束縛されていないディテクタ300とは通信しない。所与の中央フィルタ200に束縛された各ディテクタ300は、その中央フィルタ200によって使用される数値の名前を有する。DPチャネル確立の第1ステップは、ディテクタ300から中央フィルタ200へのSSL/TSL接続を開始することである。中央フィルタ200は、SSL/TLS認証プロセスを介して、通信するディテクタ300を真正として識別する。ディテクタ300は、TSLハンドシェークのクライアント認証フェーズでディテクタ300が中央フィルタ200に供給する証明書内で使用される名前になることを請求する。この名前は、事前に定義された形でなければならない。TLSチャネルが確立されたならば、ディテクタ300は、そのTLSチャネル上で同期化要求を送信しなければならない。このTLSチャネルは、同期化要求がディテクタ300から中央フィルタ200に送信され、同期化肯定応答がディテクタ300から中央フィルタ200に返されるまで、初期化されたとは考えられない。例示的同期化要求は、他の値の中でも、次の告発トランザクションのシーケンス番号を含む各告発トランザクションのシーケンス番号は、次の同期化要求まで、1つ増分される。例示的同期化要求は、時間単位の長さおよびランダム開始時刻RSTARTをも初期化する。中央フィルタ200は、ランダムに生成された160ビットのセッション鍵と、ディテクタ300を増分フィルタ状態で満足できるかどうかの表示またはディテクタ300がすべてのフィルタ状態を必要とするかどうかの表示とを含む同期化肯定応答を応答する。この交換の後に、ディテクタ300は、経路MTUを確立し、最初の状況応答を要求し、受信しなければならない。この時点で、DPチャネルが確立される。上で説明したように、DPトランザクションの4つの基本的なタイプすなわち、同期化、告発、状況照会、およびメッセージがある。最初の3つのトランザクションタイプ同期化、告発、および状況照会は、すべてがディテクタ300によって開始される。しかし、メッセージは、SSLチャネルを介して、ディテクタ300または中央フィルタ200の要求でどちらの方向にも送信され得る。告発トランザクションは、UDPチャネルを介してディテクタ300上のランダムポートから中央フィルタ200上のDPポートに送信される。通常の場合に、中央フィルタ200は、応答をまったく送信しない。エラー、障害、または潜在的な攻撃の場合に、中央フィルタ200は、再同期またはエラーパケットのいずれかを応答することができる。これらの応答は、TLSチャネルがまだ存在することがわかっている時に、そのTLSチャネルを介して送信される。TLSチャネルが存在しない場合には、応答は、UDPを介して送信され、この場合に、その応答は、TLSチャネルを再確立するための再同期メッセージでなければならない。一般的なルールは、着信パケットがきちんと形成されており、中央フィルタ200が、クライアントが正当であると考える場合に、中央フィルタ200が、再同期メッセージを送信することである。そうでない場合には、中央フィルタ200は、エラーメッセージを送信する。すべての他のトランザクションは、TLSチャネルを利用する。A.UDPトランザクション告発および応答前に示したように、HMAC-SHA1メッセージ認証は、パケットの内容ならびにナンス、日付カウンタ、およびグローバルDPポート番号を含む鍵に対して計算される。図6に、UDPパケットの前に付加されたUDP要求のHMAC鍵を示す。上で示したように、RSTART以降の単位数は、DPがDoS攻撃のソースになることを防ぐ。B.SSLチャネルTLSチャネルを介して送信されるすべてのDP通信は、レコードに分解される。1つの例示的実施形態で、単一DPレコードの最大サイズは、16000バイトである。SSLプロトコルへのAPIが許容する場合に、1SSLレコードあたり正確に1つのDPレコードを有することが、よい実践である。例示的なDPレコードは、たとえば、事前定義の4バイトのシーケンスから始まり、もう1つの事前定義の4バイトのシーケンスで終わる。DPレコードのタイプは、メッセージマーカの始めに直接に続く32ビット整数としてエンコードされるネットワークバイト順で。DPレコードの長さは、タイプに直接続く32ビット整数としてエンコードされるネットワークバイト順で。図7に、セキュアな信頼できるストリーム内のDPレコードヘッダおよびトレイラの例示的レイアウトを示す。本発明は、1つまたは複数の補足ツールと共に働くことができる。たとえば、そのようなツールに、活用されるサービス拒否攻撃の認識のためのインターネットサーバプラグイン、さまざまなIDSシステム侵入検出システムへのリンク、ネットワーク診断用のデータベース上の議論を参照されたい、および所与のキャリアのインフラストラクチャ内のザッパ機能性の配置に関するガイダンスを提供する方法を含めることができる。これら補足ツールのうちのさまざまなツールを提供する本発明の例示的実施形態は、本明細書の開示に鑑みて、当業者に明白であろう。システムおよび製造品の詳細当技術分野で既知のとおり、本明細書で述べた方法および装置を、コンピュータ可読コード手段がその上で実施されたコンピュータ可読媒体をそれ自体が含む製造品として配布することができる。コンピュータ可読プログラムコード手段は、コンピュータシステムと共に、本明細書で述べた方法を実行するステップの一部またはすべてを実行するか本明細書で述べた装置を作成するように動作可能である。コンピュータ可読媒体は、記録可能媒体たとえば、フロッピディスク、ハードドライブ、コンパクトディスク、メモリカード、半導体デバイス、チップ、特定用途向け集積回路ASICとすることができ、あるいは伝送媒体たとえば、光ファイバ、ワールドワイドウェブ、ケーブル、または時分割多元接続、符号分割多元接続もしくは他の無線周波数チャネルを使用する無線チャネルを含むネットワークとすることができる、コンピュータシステムと共に使用するのに適切な情報を格納できる既知のまたはこれから開発されるすべての媒体を使用することができる。コンピュータ可読コード手段は、磁気媒体上の磁気変動またはコンパクトディスクの表面上の高さ変動など、コンピュータが命令およびデータを読み取ることを可能にするすべての機構である。本明細書で説明したコンピュータシステムおよびサーバのそれぞれは、本明細書で開示される方法、ステップ、および機能を実施するように関連するプロセッサを構成するメモリを含む。メモリは、分散させまたはローカルとすることができ、プロセッサは、分散させまたは単一とすることができる。メモリは、電気メモリ、磁気メモリ、もしくは光学メモリ、またはこれらの任意の組合せ、あるいは他のタイプのストレージデバイスとして実施することができる。さらに、用語メモリは、関連するプロセッサによってアクセスされるアドレス可能空間内のアドレスから読み取るかこれに書き込むことができるすべての情報を含むのに十分に広義に解釈されなければならない。この定義を用いると、ネットワーク上の情報は、それでもメモリ内にある。というのは、関連するプロセッサが、ネットワークから情報を取り出すことができるからである。図示され本明細書で説明された実施形態および変形形態が、単に本発明の原理を示すものであることと、本発明の範囲および趣旨から逸脱せずに当業者がさまざまな変更を実施できることとを理解されたい。"