(57)【要約】      （修正有）【課題】ＤＤｏＳ攻撃中のトラフィックフィルタリングの問題に対するより効果的な解決を可能とする。【解決手段】コンピューティングデバイスは、ＤＤｏＳ攻撃を受けているコンピューティングデバイスを検出した場合に、ネットワークノードからコンピューティングデバイスへのデータを傍受する。傍受されたデータに基づいて１つまたは複数のデータ送信パラメータを決定し、危険度をネットワークノードに割り当て、フィルタの適用およびデータ送信パラメータに基づいてネットワークノードの危険度を変更する。ネットワークノードの変更後の危険度が閾値を超える場合、ネットワークノードからコンピューティングデバイスへのデータ送信を制限する。【選択図】図３Ａ
2018191268.tif 000002
【特許請求の範囲】
【請求項１】
サーバを分散型サービス妨害攻撃（ＤＤｏＳ）攻撃から保護するネットワークトラフィックのフィルタリングのための方法であって、
前記方法は、工程Ａ〜工程Ｅを含み、
前記工程Ａでは、コンピューティングデバイスがＤＤｏＳ攻撃の対象となったことを検出した場合に、ネットワークノードから前記コンピューティングデバイスへのデータを傍受し、
前記工程Ｂでは、前記傍受されたデータに基づいて１つまたは複数のデータ送信パラメータを決定し、
前記工程Ｃでは、前記ネットワークノードに危険度を割り当て、
前記工程Ｄでは、フィルタの適用および前記データ送信パラメータに基づいて前記ネットワークノードの前記危険度を変更し、
前記工程Ｅでは、前記ネットワークノードの前記危険度が閾値を超えると判定した場合に、前記ネットワークノードから前記コンピューティングデバイスへのデータ送信を制限する、
方法。
【請求項２】
前記工程Ｃは、既知のネットワークノードおよび前記ネットワークノードのネットワークアドレスの危険度を格納するデータベースに従って危険度をネットワークノードに割り当てる工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記ネットワークノードから前記コンピューティングデバイスへの前記データ送信が制限された期間に基づいて、前記データベース内に格納されている危険度を更新する工程をさらに含む請求項２に記載の方法。
【請求項４】
前記フィルタが満了した場合に前記ネットワークノードの前記危険度の変更を戻す工程と、
前記ネットワークノードの前記危険度がもう前記閾値を超えないと判定した場合に、前記ネットワークノードから前記コンピューティングデバイスへの前記データ送信の制限をキャンセルする工程を、
さらに含む請求項１に記載の方法。
【請求項５】
前記データ送信パラメータに基づいて前記フィルタの繰り返しトリガを検出した場合に、フィルタの存続期間を延長する工程を、さらに含む請求項１に記載の方法。
【請求項６】
前記工程Ｄは、前記フィルタに関連する基準が前記データ送信パラメータによって満たされているという判定に基づいて前記ネットワークノードの危険度を増大させる工程を、さらに含む請求項１に記載の方法。
【請求項７】
前記工程Ｅは、前記ネットワークノードの前記危険度が前記閾値を超えた程度に基づいて、前記ネットワークノードと前記コンピューティングデバイスとの間のチャネル容量を制限する工程を、さらに含む請求項１に記載の方法。
【請求項８】
サーバを分散型サービス妨害攻撃（ＤＤｏＳ）攻撃から保護するネットワークトラフィックのフィルタリングのためのシステムであって、
前記システムは、１または複数のフィルタを格納するメモリデバイスと、プロセッサとを含み、
前記プロセッサは、構成Ａ〜構成Ｅを含むように構成され、
前記構成Ａは、ネットワークノードからコンピューティングデバイスへのデータを傍受するように構成され、
前記構成Ｂは、前記傍受されたデータに基づいて１つまたは複数のデータ送信パラメータを決定するように構成され、
前記構成Ｃは、前記ネットワークノードに危険度を割り当てるように構成され、
前記構成Ｄは、フィルタの適用および前記データ送信パラメータに基づいて前記ネットワークノードの前記危険度を変更するように構成され、
前記構成Ｅは、前記ネットワークノードの前記危険度が閾値を超えると判定した場合に、前記ネットワークノードから前記コンピューティングデバイスへのデータ送信を制限するように構成されている、
システム。
【請求項９】
前記プロセッサは、前記構成Ｃが、既知のネットワークノードおよび前記ネットワークノードのネットワークアドレスの危険度を格納するデータベースに従って危険度をネットワークノードに割り当てるようにさらに構成されている、請求項８に記載のシステム。
【請求項１０】
前記プロセッサは、前記ネットワークノードから前記コンピューティングデバイスへの前記データ送信が制限された期間に基づいて、前記データベース内に格納されている危険度を更新するようにさらに構成されている、請求項９に記載のシステム。
【請求項１１】
前記プロセッサは、
前記フィルタが満了した場合に前記ネットワークノードの前記危険度の変更を戻し、
前記ネットワークノードの前記危険度がもう前記閾値を超えないと判定した場合に、前記ネットワークノードから前記コンピューティングデバイスへの前記データ送信の制限をキャンセルするように、
さらに構成されている請求項８に記載のシステム。
【請求項１２】
前記プロセッサは、前記データ送信パラメータに基づいて前記フィルタの繰り返しトリガを検出した場合に、フィルタの存続期間を延長するようにさらに構成されている請求項８に記載のシステム。
【請求項１３】
前記プロセッサは、前記構成Ｄが、前記フィルタに関連する基準が前記データ送信パラメータによって満たされているという判定に基づいて前記ネットワークノードの危険度を増大させるようにさらに構成されている請求項８に記載のシステム。
【請求項１４】
前記プロセッサは、前記構成Ｅが、前記ネットワークノードの前記危険度が前記閾値を超えた程度に基づいて、前記ネットワークノードと前記コンピューティングデバイスとの間のチャネル容量を制限するようにさらに構成されている請求項８に記載のシステム。
【請求項１５】
サーバを分散型サービス妨害攻撃（ＤＤｏＳ）攻撃から保護するネットワークトラフィックのフィルタリングのためのコンピュータ実行可能命令を含む非一時的コンピュータ可読記憶媒体であって、命令Ａ〜命令Ｅを含み、
前記命令Ａは、コンピューティングデバイスがＤＤｏＳ攻撃の対象となったことを検出した場合に、ネットワークノードから前記コンピューティングデバイスへのデータを傍受させ、
前記命令Ｂは、前記傍受されたデータに基づいて１つまたは複数のデータ送信パラメータを決定し、
前記命令Ｃは、前記ネットワークノードに危険度を割り当てさせ、
前記命令Ｄは、フィルタの適用および前記データ送信パラメータに基づいて前記ネットワークノードの前記危険度を変更させ、
前記命令Ｅは、前記ネットワークノードの前記危険度が閾値を超えると判定した場合に、前記ネットワークノードから前記コンピューティングデバイスへのデータ送信を制限させる、
記憶媒体。
【請求項１６】
前記命令Ｃは、既知のネットワークノードおよび前記ネットワークノードのネットワークアドレスの危険度を格納するデータベースに従って危険度をネットワークノードに割り当てさせる命令をさらに含む、請求項１５に記載の記憶媒体
【請求項１７】
前記ネットワークノードから前記コンピューティングデバイスへの前記データ送信が制限された期間に基づいて、前記データベース内に格納されている危険度を更新する命令をさらに含む、請求項１６に記載の記憶媒体。
【請求項１８】
前記フィルタが満了した場合に前記ネットワークノードの前記危険度の変更を戻す命令と、
前記ネットワークノードの前記危険度がもう前記閾値を超えないと判定した場合に、前記ネットワークノードから前記コンピューティングデバイスへの前記データ送信の制限をキャンセルする命令を、
さらに含む請求項１５に記載の記憶媒体。
【請求項１９】
前記データ送信パラメータに基づいて前記フィルタの繰り返しトリガを検出した場合に、フィルタの存続期間を延長する命令をさらに含む、請求項１５に記載の記憶媒体。
【請求項２０】
前記命令Ｄは、前記フィルタに関連する基準が前記データ送信パラメータによって満たされているという判定に基づいて前記ネットワークノードの危険度を増大させる命令をさらに含む、請求項１５に記載の記憶媒体。
【請求項２１】
前記命令Ｅは、前記ネットワークノードの前記危険度が前記閾値を超えた程度に基づいて、前記ネットワークノードと前記コンピューティングデバイスとの間のチャネル容量を制限する命令を、さらに含む請求項１５に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、サイバーセキュリティの分野に関し、具体的には、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリングのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータ装置、特にサーバソフトウェアまたは他のソフトウェアを含む中断のない安定した動作を非常に重要とするコンピュータデバイスを保護するという課題は、現在特に重要である。Ｗｅｂホスティング、銀行サーバー、またはインターネットを介してアクセスが得られるその他のサーバーは、分散型サービス妨害攻撃（ＤＤｏＳ）の標的になる可能性がある。このような攻撃は、ボットネット（ハッカーによって遠隔制御される複数のコンピュータ装置）の助けを借りて行われることが多く、著しい遅延を招き、場合によっては、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）リクエストのような他のコンピュータデバイスからのリクエストの全てが失敗することがある。
【０００３】
ＤＤｏＳ攻撃からサーバーを保護するには、さまざまなアプローチがある。ほとんどの場合、これらのアプローチは、サーバの着信トラフィックにおけるＤＤｏＳ攻撃の兆候を検出するためのサーバに到着するトラフィックの分析と、ＤＤｏＳ攻撃の特徴であるトラフィックのその後のブロックを含む。
【０００４】
従来技術のアプローチは、ＤＤｏＳ攻撃からのコンピュータ装置保護の分野における上記問題を解決することを目的としているが、トラフィックフィルタリングの問題を適切に解決していない。
【発明の概要】
【０００５】
上記のような事情を鑑み、本開示は、ＤＤｏＳ攻撃中のトラフィックフィルタリングの問題に対するより効果的な解決を可能とするものである。
【０００６】
本開示の例示的な態様は、サーバをＤＤｏＳ攻撃から保護するネットワークトラフィックのフィルタリングのための方法を提供する。例示的な一態様では、上記方法は、コンピューティングデバイスがＤＤｏＳ攻撃の対象となったことを検出した場合に、ネットワークノードからコンピューティングデバイスへのデータを傍受する工程（工程Ａ）を含む。上記方法は、傍受されたデータに基づいて１つまたは複数のデータ送信パラメータを決定する工程（工程Ｂ）、ネットワークノードに危険度を割り当てる工程（工程Ｃ）、フィルタの適用およびデータ送信パラメータに基づいてネットワークノードの危険度を変更する工程（工程Ｄ）とをさらに含む。上記方法は、ネットワークノードの危険度が閾値を超えると判定した場合に、ネットワークノードからコンピューティングデバイスへのデータの送信を制限する工程（工程Ｅ）をさらに含む。
【０００７】
別の例示的な態様では、初期危険度をネットワークノードに割り当てる工程（工程Ｃ）は、既知のネットワークノードおよびネットワークノードのネットワークアドレスの危険度を格納するデータベースに従って危険度をネットワークノードに割り当てる工程をさらに含む。
【０００８】
別の例示的な態様では、上記方法は、ネットワークノードからコンピューティングデバイスへのデータ送信が制限された期間に基づいて、データベース内に格納されている危険度を更新する工程（工程Ｆ）を含む。
【０００９】
別の例示的な態様では、上記方法は、フィルタが満了した場合にネットワークノードの危険度の変更を戻す工程（工程Ｇ）と、ネットワークノードの危険度がもう閾値を超えないと判定した場合に、ネットワークノードからコンピューティングデバイスへのデータの送信制限をキャンセルする工程（工程Ｈ）を含む。
【００１０】
別の例示的な態様では、上記方法は、データ送信パラメータに基づいてフィルタの繰り返しトリガを検出した場合に、フィルタの存続期間を延長する工程（工程Ｉ）を含む。
【００１１】
別の例示的な態様では、フィルタの適用およびデータ送信パラメータに基づいてネットワークノードの危険度を変更する工程（工程Ｄ）は、フィルタに関連する基準がデータ送信パラメータによって満たされているという判定に基づいてネットワークノードの危険度を増大させる工程をさらに含む。
【００１２】
別の例示的な態様では、ネットワークノードからコンピューティングデバイスへのデータの送信を制限する工程（工程Ｅ）は、ネットワークノードの危険度が閾値を超えた程度に基づいて、ネットワークノードとコンピューティングデバイスとの間のチャネル容量を制限する工程（工程Ｅ１）をさらに含む。
【００１３】
本開示の別の例示的な態様によれば、サーバをＤＤｏＳ攻撃から保護するネットワークトラフィックのフィルタリングのためのシステムが提供される。上記システムは、１または複数のフィルタを格納するメモリデバイスと、プロセッサとを含む。上記プロセッサは、ネットワークノードからコンピューティングデバイスへのデータを傍受するように構成される（構成Ａ）。上記プロセッサは、傍受されたデータに基づいて１つまたは複数のデータ送信パラメータを決定し（構成Ｂ）、ネットワークノードに危険度を割り当て（構成Ｃ）、フィルタの適用およびデータ送信パラメータに基づいてネットワークノードの危険度を変更する（構成Ｄ）ように構成される。上記プロセッサは、ネットワークノードの危険度が閾値を超えると判定した場合に、ネットワークノードからコンピューティングデバイスへのデータの送信を制限する（構成Ｅ）ようにさらに構成される。
【００１４】
別の例示的な態様によれば、本明細書に開示された方法のいずれかを実行するためのコンピュータ実行可能命令を含むコンピュータ可読記憶媒体が提供される。
【００１５】
本発明の例示的な態様に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された態様の広範な概要ではなく、全ての態様の重要な又は重要な要素を特定することも本発明の任意の又は全ての態様の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ又は複数の態様を簡略化した形で提示することである。前述の目的を達成するために、本発明の１つ又は複数の態様が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００１６】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本発明の１つ又は複数の例示的な態様を示し、詳細な説明とともに、それらの基本原理及び実施形態を説明する役割を果たすものである。
【００１７】
【図１】図１は、例示的な態様による、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリングのためのシステムのブロック図を示す。
【００１８】
【図２Ａ】図２Ａは、いくつかのフィルタを使用したときの時間に対するネットワークノードの危険度の変化を示すグラフを示す。
【００１９】
【図２Ｂ】図２Ｂは、例示的な態様による、ネットワークノードがＤＤｏＳ攻撃に関与している場合のネットワークノードの危険度の変化を示すグラフを示す。
【００２０】
【図３Ａ】図３Ａは、例示的な態様による、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリングの方法のフローチャートを示す。
【００２１】
【図３Ｂ】図３Ｂは、例示的な態様による、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリングの方法のフローチャートを示す。
【００２２】
【図３Ｃ】図３Ｃは、別の例示的な態様による、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリングの方法のフローチャートを示す。
【００２３】
【図４】例示的な態様による、本開示のシステム及び方法が実施され得る汎用コンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【００２４】
本明細書では、例示的な態様は、ＤＤｏＳ攻撃の検出のためのトラフィックフィルタリングのシステム、方法、及びコンピュータプログラム製品に関連して説明される。当業者であれば、以下の説明は例示的なものにすぎず、決してこれらに限定することを意図するものではないことを理解するであろう。他の態様は、本開示の恩恵を受ける当業者には容易に理解されるであろう。添付の図面おいて、例示的な態様の実装についての詳細が参照される。同じ参照インジケータは、図面全体に渡って可能な限り使用され、以下の記載は、同じ又は同様のアイテムを参照する。
【００２５】
本開示におけるＤＤｏＳ攻撃の検出時のトラフィックフィルタリングシステムは、集積マイクロ回路（特定用途向け集積回路、ＡＳＩＣ）などのハードウェアの使用によって実現される実世界のデバイス、システム、コンポーネントおよびコンポーネントのグループによって実現されてもよく、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）によって実現されてもよく、または例えば、マイクロプロセッサシステムおよびプログラム命令セットのようなソフトウェアとハードウェアの組み合わせの形で実現されてもよく、またニューロシナプスチップによって実現されてもよい。このようなシステム手段の機能は、ハードウェアのみによって、また、システム手段の機能の一部がソフトウェアによって実現され、一部がハードウェアによって実現される組み合わせの形態で実現されてもよい。特定の変形実施形態では、手段の一部または全部を（図４に示すような）汎用コンピュータのプロセッサ上で実行することができる。システムコンポーネントは、単一のコンピューティングデバイス内で実現されてもよいし、いくつかの相互接続されたコンピューティングデバイス間で分散し実現されてもよい。
【００２６】
本明細書では、ネットワークノードは、（インターネットなどの）データ伝送ネットワークに接続され、そのネットワークによってデータを送信することができる（コンピューティングデバイスを含む）電子デバイスを記述するために用いられる。ネットワークノードの例は、パーソナルコンピューティングデバイス、モバイルコンピューティングデバイス、サーバ、ネットワークルータおよびスイッチ、またはデータ送信ネットワークによってデータを送信することができるその他のいかなるデバイス（例えば、ＩＰカメラ、テレビセット、冷蔵庫、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイスなど）が含まれる。
【００２７】
送信されるデータのパラメータ（送信データパラメータ）は、本明細書では、データ送信に関与するネットワークノード自体の情報特性を含むネットワークノードによって送信されているデータの特性情報を記述するために使用される。送信データパラメータは、（スタックモデルＴＣＰ  ／ＩＰまたはＯＳＩ／ＩＳＯのいずれかのレイヤで）送信データのパケットのヘッダと、同じ内容のパケットを含むパケットの頻度（たとえば、１秒間に送信されたＴＣＰパケットの数）からのデータであってよい。送信データパラメータの例は、少なくとも、ネットワークノードのＩＰアドレス、データ送信に使用されるネットワークノードのネットワークポート、ネットワークノードのＭＡＣアドレス、（例えば、単位時間当たりに）送信されるデータのＨＴＴＰパケットのセット、送信されるデータのＴＣＰパケットのセット、送信されるデータのＩＰパケットのセット、任意の他のデータ送信プロトコルのパケットのセット、（例えば、単位時間当たりに）確立された接続の数、ネットワークノードとコンピューティングデバイスとの間で１秒間に送信されるＰＯＳＴリクエストの数、確立されたＴＣＰ接続の数、および前述のパラメータの派生などである。
【００２８】
本明細書では、ネットワークノードの危険度は、ネットワークノードからコンピューティングデバイスに送信されるデータがＤＤｏＳ攻撃を実行するために使用されている可能性を記述するために使用される。いくつかの例示的な態様では、危険度は、量または数値として表すことができ、例えば、数値が高いほど可能性が高くなる。送信されるデータのパラメータに少なくとも１つのフィルタを適用することによって、ネットワークノードの危険度を変更することができる。フィルタは、いくつかの基準と共に、ネットワークノードの危険度を変更するなどのアクションのセットに対応するルールの形で実現可能なソフトウェアコンポーネントであり、送信されるデータのパラメータがフィルタの基準を満たす場合に実行される。ネットワークノードの危険度の変化はすべて、その存続期間が満了するとフィルタの助けを借りてその変更がキャンセルされる。
【００２９】
例示的な態様によるＤＤｏＳ攻撃の検出のためのトラフィックフィルタリングのシステム１１０のブロック図を示す。また、図１は、システム１１０に関連するエンティティも示し、当該エンティティは、ネットワークノード１０１、ＤＤｏＳ攻撃を受けているコンピューティングデバイス１４０、ネットワークノード１０１がコンピューティングデバイス１４０にデータを送信するためのデータ伝送ネットワーク１０５を含む。トラフィックフィルタリングシステム１１０は、傍受モジュール１２０と、傍受モジュール１２０に通信可能に接続された度数決定モジュール１２５と、度数決定モジュール１２５に通信可能に接続されたネットワークノードのデータベース１３５と、度数決定モジュール１２５に通信可能に接続されたブロッキングモジュール１３０とを含む。本開示は、特にＤＤｏＳ攻撃を検出時のトラフィックフィルタリングシステムを説明するが、本開示の態様は、一般的なサービス妨害（ＤｏＳ）攻撃、または他の形態のサイバー攻撃にまで拡張され得る。
【００３０】
コンピューティングデバイス１４０は、ＤＤｏＳ攻撃下にある（すなわち、ＤＤｏＳ攻撃を実行する複数のネットワークノードによって攻撃されている）コンピューティングデバイスである。システム１１０は、データ伝送ネットワーク１０５を介してコンピューティングデバイス１４０によって受信されているデータの分析に基づくものを含むサービス妨害攻撃を検出する様々な既知の技術を使用しているコンピューティングデバイス１４０がＤＤｏＳ攻撃を受けていることを検出するように構成することができる。コンピューティングデバイス１４０は、一般的に、データ送信ネットワーク１０５に接続された任意のコンピューティングデバイスであってよい。１つの例示的な態様では、コンピューティングデバイス１４０は、ウェブサーバ、電子メールサーバまたはファイル転送（ｆｔｐ）サーバなどの別のプロセッサにサービスを提供するサーバまたはプロセッサである。さらに別の例示的な態様では、コンピューティングデバイス１４０はパーソナルコンピューティングデバイス（モバイルコンピューティングデバイスを含む）である。
【００３１】
説明を簡単にするために、ネットワークノード１０１はパーソナルコンピューティングデバイス、例えばパーソナルコンピュータ（ただし、述べられた一般化の文脈では、ネットワークノードという用語の定義におけるすべてのプロパティおよびデータを有する）であってよい。
【００３２】
ネットワークノード１０１は、データ伝送ネットワーク１０５、およびトラフィックフィルタリングシステム１１０のコンポーネントを介して、コンピューティングデバイス１４０に通信可能に接続されてよい（すなわち、コンピューティングデバイス１４０とデータを交換する）。一般的に、ネットワークノード１０１コンピューティングデバイス１４０へのＤＤｏＳ攻撃の条件の下では、（例えば、多数のデータ送信デバイスを含むことができる）ネットワーク１０５を介して、コンピューティングデバイス１４０に（１０３で示すように）直接通信可能に接続することができる。しかし、コンピューティングデバイス１４０に対するＤＤｏＳ攻撃の条件の下で、デバイス１４０に送信されるデータは、フィルタリングデバイスに（１０４で表されるように）リダイレクトされる。すなわち、ルーティングテーブルを置き換えるなど、ネットワークトラフィックをリダイレクトするための既知の方法のうちのいずれか１つを使用してトラフィックフィルタリングシステム１１０にリダイレクトされる。したがって、ネットワークノード１０１によってコンピューティングデバイス１４０に送信されるすべてのデータは、トラフィックフィルタリングシステム１１０に行き着く。いくつかの態様では、コンピューティングデバイス１４０からネットワークノード１０１に送信されるデータも、システム１１０に行き着く。
【００３３】
一般的に、ネットワークノード１０１群は、同時にデータをコンピューティングデバイス１４０に送信することができる（そして、デバイス１４０からの応答を待ち、受信する）。しかし、コンピューティングデバイス１４０が（任意の適切な方法の助けにより上記のように）ＤＤｏＳ攻撃を受けていることが検出された場合、デバイス１４０にデータを送信する特定のネットワークノードがこの攻撃に参加しており、他のノードは参加していない可能性がある。そのような場合、システム１１０のタスクは、攻撃に使用されているデータの送信をブロック（または少なくとも制限）することである。本開示は、ネットワークノード１０１とコンピューティングデバイス１４０との間のデータ交換、および続いて行われるの送信されるデータの解析を、ＤＤｏＳ攻撃に使用されるデータの送信に対するデバイス１４０の保護の目的で検討する。すなわち、ネットワークノード１０１によるコンピューティングデバイス１４０へのデータの送信を制限することによって実行される。ここで、そして以下で、データ送信は、ｈｔｔｐリクエストにおけるような特定の情報の送信だけでなく、接続を確立するためのデータの送信を含むデータの送信、およびＤＤｏＳ攻撃を実行するための送信を意味する（大量に送信される通常のリクエストがＤＤｏＳ攻撃を実行するために頻繁に使用されるため）。ネットワークノード１０１の部分に対してＤＤｏＳ攻撃を実行するために、データ送信は、例えば、ＨＴＴＰフラッド（すなわち、比較的短い時間間隔の間に大量のデータを送信する）、ＩＣＭＰ（インターネットコントロールメッセージプロトコル）フラッド、ＵＤＰ（ユーザーデータグラムプロトコル）フラッド、およびＳＹＮ（すなわち、ＴＣＰ交換の同期メッセージ）フラッドなどの形式を想定することができる。
【００３４】
１つの例示的な態様では、傍受モジュール１２０は、ネットワークノード１０１からコンピューティングデバイス１４０に到着する（すなわち、送信される）データを傍受するように構成されうる。傍受を実行するために、モジュール１２０は、ネットワークノード１０１からコンピューティングデバイス１４０に送信されるすべてのデータへのアクセスを取得するように、ルータまたはプロキシサーバの形態で実現されてもよい。その後、傍受モジュール１２０は、送信されたデータのパラメータを決定する。傍受モジュール１２０は、送信されているデータの以下のパラメータを（上記のデータパラメータの例に加えて）決定することができる。
・ネットワークノード１０１のＩＰアドレス。
・１秒間に送信されるＳＹＮパケットの数。
・１秒間に確立されるＴＣＰ接続の数。
・確立されたＴＣＰ接続の数。
・１秒間に送信されるバイト数：
・１秒間に送信されるパケットの数。
・１秒あたりに送信されるＧＥＴリクエストの数。
・１秒あたりに送信されるＰＯＳＴリクエストの数。
・１秒あたりに送信されるＨＥＡＤリクエストの数。
・１秒あたりに（ＴＬＳ／ＳＳＬを使用して）確立される保護された接続の数。
・１秒間に送信される（ＧＥＴ、ＰＯＳＴ、およびＨＥＡＤを除く）その他のＨＴＴＰリクエストの総数。
・ネットワークノード１０１によってアクセスされているＵＲＬ。
・上記のＵＲＬに１秒間に送信されるリクエストの数。
・コンピューティングデバイス１４０に送信されるリクエストの総数。
・コンピューティングデバイス１４０に送信されるリクエストの総数に対するＵｓｅｒ−Ａｇｅｎｔヘッダーリクエストの一意の値の数の比率。
【００３５】
送信されるデータの各パラメータは、その中で決定されるデータ送信プロトコルによって特徴付けられる（例えば、１秒間に送信されるＳＹＮパケットの数については、その中で決定されるプロトコルはＴＣＰである）。データ送信の傍受の間に決定される送信データパラメータは、傍受モジュール１２０によって度数決定モジュール１２５に送られる。送信データパラメータは、一定の時間間隔で送信されるデータに基づいて決定されてもよいことに留意すべきである。例えば、１秒あたりに送信されるパケットの数については、例えば、１０、２０または３０秒でパケット総量を計算することができ、このパケット量は前述のパケット数が経過した秒数で除算される。いくつかの例示的な態様では、所与の時間間隔内のある量の値（例えば、毎秒送信されるパケットの数）に関連するパラメータの代わりに、傍受モジュール１２０が送信されるデータのいくつかのパラメータを決定することができる。決定されるいくつかのパラメータは、例えば、１０秒を超えてカウントされる１秒あたりに送信されるパケットの数、当該１０秒間のパケット数を１０で割った値、２０秒を超えてカウントされる１秒あたりに送信されるパケットの数、３０秒を超えてカウントされる１秒あたりに送信されるパケットの数などである。そのような場合、送信されるデータのカウントされるパラメータの各々は、別個の独立したパラメータである。さらに別の例示的な態様において、傍受モジュール１２０は、１秒あたりに送信されるパケット数または１秒あたりのＧＥＴリクエスト数などの単位時間当たりの（リクエストの送信、バイトの送信、ＴＣＰ接続の確立などの）特定のイベントの数（換言すれば、レート）に関連するデータ送信のパラメータを計算してもよく、Ｔｏｋｅｎ  Ｂｕｃｋｅｔアルゴリズムに基づいて行われる。所定サイズのバッファが決定され（パケットの送信、リクエスト、ＧＥＴリクエストなどの上記イベントの数によって算出される「バケットサイズ」）、レートはこのバケットを充填する時間に対するバケットサイズの比として決定される。バケットの充填時間は、バケットのサイズに等しい数のイベントが発生する時間である。
【００３６】
度数決定モジュール１２５は、ネットワークノード１０１の危険度を決定するように構成され得る。度数決定モジュール１２５は、ネットワークノードの危険度の決定するために、少なくとも２つの工程、すなわち、ネットワークノードのデータベース１３５によるネットワークノードに危険度を割り当てる工程、および、送信されるデータ（傍受モジュール１２０によって送信されるデータ）のパラメータに基づいてネットワークノードの危険度を変更する工程、が実行される。
【００３７】
コンピューティングデバイス１４０にデータを送信する対応するネットワークノード１０１にネットワークノードの危険度を割り当てるために、度数決定モジュール１２５は、ネットワークノードのデータベース１３５に対して要求を送り、当該要求は少なくともネットワークノード１０１のＩＰアドレスを含む。この要求に対して、ネットワークノードのデータベース１３５は、１０または４６などのネットワークノード１０１のＩＰアドレスに対応するネットワークノードの危険度を度数決定モジュール１２５に返す。ネットワークノードのデータベース１３５がネットワークノード１０１のＩＰアドレスに対応するネットワークノードの危険度を有していない場合、度数決定モジュール１２５はネットワークノード１０１に０などの「デフォルト値」を割り当てることができる。信頼できるネットワークノード１０１、すなわちＤＤｏＳ攻撃の一部としてコンピューティングデバイス１４０へのデータの送信に関与する可能性が低いネットワークノード１０１の場合、ネットワークノードのデータベース１３５は、当該ネットワークノードの危険度を後の変更時に設定された閾値を故意に超えることができないようにすることができる。このような「信頼できる」ネットワークノード１０１のネットワークノードの度数は、前述の「デフォルト値」、例えば−１０００または−１００，０００などより低く設定される。信頼できるネットワークノード１０１は、例えば、「１９２．１６８．．．」で始まるサブネットに対応するものと同様に、例えば、信頼できるエンティティおよび組織（例えば、Ｇｏｏｇｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｙａｎｄｅｘ（登録商標）および他のもの）に属し、管理され、または関連付けられた既知のサーバのＩＰアドレスとＩＰアドレスが一致するネットワークノード１０１であってもよい。いくつかの例示的な態様では、ネットワークノードのデータベース１３５は、サブネットのネットワークノード１０１のすべての列挙されたＩＰアドレスを記憶するのではなく、複数のＩＰアドレスを表す１つ以上のマスク（例えば、「１９２．＊．＊．」「１２８．＊．＊．＊」）を格納し得る。
【００３８】
「信頼できる」ネットワークノード１０１の格付けに加えて、一般的な場合のネットワークノードのデータベース１３５は、それぞれがＩＰアドレス（またはマスク）によって特徴付けられる任意のネットワークノード１０１に関連する危険度を格納するように構成することができる。一般的に、ネットワークノードのデータベース１３５に格納された情報は、コンピュータセキュリティの分野の専門家または他の有資格者によってその中に配置される。例示的な一態様では、ネットワークノードの危険度に関する情報は、システム１１０内ではなく、例えばリモートサーバ上のシステムの外部に保持される。この場合、度数決定モジュール１２５は、このリモートサーバにリクエストを行うことによって、ネットワークノードの危険度をネットワークノード１０１に割り当てる。
【００３９】
度数決定モジュール１２５は、危険度をネットワークノード１０１に割り当てる以外に、ネットワークノード１０１に関連する危険度を（データベース１３５の助けを借りて得られた値と比較して）上下何れかの方向に変更する（すなわち、増加または減少させる）ように構成することができる。いくつかの例示的な態様では、度数決定モジュール１２５は、ネットワークノード１０１の危険度を変更するために１つまたは複数のフィルタを使用することができる。上記のように、フィルタは、システム１１０のソフトウェアコンポーネントであり、基準のセットと動作のセットとをマッチングさせるルールの形で実装され得る。度数決定モジュール１２５は、送られるデータのパラメータがフィルタの基準を満たす場合、ネットワークノード１０１の危険度を変更することができる（換言すれば、対応するフィルタがトリガされた場合に実行される）。フィルタによるネットワークノード１０１の危険度の各変更は、対応する有効期間または持続期間を有し、満了後にその変更がキャンセルされるか、戻され（換言すれば、度数が戻され）てよい。例えば、ネットワークノードの危険度が、フィルタの使用の結果として値Ｘだけ増加した場合、この変更の有効期間の満了後、度数は同様の値Ｘだけ減少する。
【００４０】
１つの例示的な態様では、フィルタは、ＴＣＰ、ＩＰ、ＨＴＴＰまたはＨＴＴＰＳなどのデータ伝送プロトコルによって特徴付けられ、また「ポート８０」などの接続ポートによっても特徴付けられ得る。これらの特徴は、指定されたプロトコルを使用した指定されたポートにおけるネットワーク接続でネットワークノード１０１によって送信されたデータから得られる、送信されるデータのパラメータにのみフィルタを適用可能にする。
例えば、フィルタが「ＴＣＰ−ポート８０」として特徴付けられている場合、フィルタは、８０ポートを使用したＴＣＰデータ送信プロトコルのコンテキストでネットワークノード１０１によって送信されたデータから決定された送信データのパラメータにのみ適用可能である。使用されるフィルタの例は次の通りである。
・フィルタ１：１秒あたりに送信されるＳＹＮパケットの数が１００を超える場合、ネットワークノードの危険度を１０分間（つまり、この変更の有効期間は１０分）増加させる（上記の度数増加の定義に従う。アクションは、データがフィルタの基準を満たす場合、すなわち１秒間に送信されるＳＹＮパケットの量が所定値を超えた場合に実行される。）。
・フィルタ２：１秒あたりに確立されたＴＣＰ接続の数が１０００を超えた場合に、ネットワークノードの危険度を５０増加させ、その変更の有効期間は３０分とする。
・フィルタ３：１秒あたりに送信されるＰＯＳＴ要求の数が１０を超える場合に、ネットワークノードの危険度を３０増加させ、その変更の有効期間は１０分とする。
・フィルタ４：同じ（特定の）ＵＲＬに１秒あたりに送信される要求の数が５を超える場合に、ネットワークノードの危険度を２０増加させ、その変更の有効期間は１０分とする。
・フィルタ５：１秒あたりに送信されるＨＴＴＰ要求の数が１００を超えた場合に、ネットワークノードの危険度を４０増加させ、その変更の有効期間は１０分とする。
・フィルタ６：確立されたＴＣＰ接続の数が５０を超える場合に、ネットワークノードの危険度を３５増加させ、その変更の有効期間は１０分とする。
・フィルタ７：１秒あたりに確立される保護された接続の数が５を超える場合、ネットワークノードの危険度を３５増加させ、その変更の有効期間は１０分とする。
【００４１】
度数決定モジュール１２５は、ネットワークノード１０１に対して決定されたネットワークノードの危険度の値（危険度数）に関する情報をブロッキングモジュール１３０に送信するように構成され得る。度数決定モジュール１２５は、度数に関する情報を送信することができるが、フィルタを使用する過程および対応したネットワークノードの危険度の値を変更する過程においてだけでなく、存続期間の満了時に対応する変更を取り消す際にも送信し得る。
【００４２】
ブロッキングモジュール１３０は、ネットワークノード１０１のそれぞれの危険度に基づいて、ネットワークノード１０１からコンピューティングデバイス１４０へのデータの送信を制限するように構成されてもよい。例示的な態様では、ブロッキングモジュール１３０は、ネットワークノードの危険度の値が２０００などの所定の閾値を超えていると判定した場合に、データの送信を制限し得る。１つの例示的な態様では、データ送信の制限は、ネットワークノード１０１とコンピューティングデバイス１４０との間のデータ送信を（当技術分野で知られている任意の方法によって）ブロックすることを意味すると理解される。別の例示的な態様では、データ伝送の制限は、ネットワークノード１０１とコンピューティングデバイス１４０との間のチャネル容量の制限（例えば、１Ｍｂ／ｓから１００ｋｂ／ｓ）を意味すると理解される。ブロッキングモジュール１３０は、ネットワークノードの危険度が閾値を超える程度、例えば危険度と閾値との差が大きいほど、チャネル容量をより制限するように構成することもできる。例えば、ネットワークノードの危険度が、所定の閾値を１０００だけ超えた場合、チャネル容量は５０％減少し、２未満になり、閾値を２０００超えた場合、チャネル容量は７５％減少し、４未満になる。  
【００４３】
さらに別の例示的な態様では、ブロッキングモジュール１３０は、危険度および閾値の履歴値と現在値との関係に基づいて、ネットワークノード１０１とコンピューティングデバイス１４０との間のチャネル容量をどれだけ制限するかを、下記式（１）に示すように決定する。
【数１】
2018191268.tif 000003
ここで、Ｒはネットワークノードの危険度の（"現在"）値、Ｒ'は所定の閾値（変更の結果として決定される）、Ｒ０はネットワークノード１０１に割り当てられたネットワークノードの危険度の初期値であり、Ｐはネットワークノード１０１とコンピューティングデバイス１４０との間でチャネル容量を何回制限する（すなわち、減少させる）必要があるかによって決定される量である。
【００４４】
ブロッキングモジュール１３０は、ネットワークノード１０１とコンピューティングデバイス１４０との間のデータ送信に関する制限を取り除く（すなわちキャンセルする）ように構成することができる。例示的な一態様では、ブロッキングモジュール１３０は、ネットワークノードの危険度の変更（対応するフィルタの使用によって実施される）の存続期間満了時に、ネットワークノード１０１とコンピューティングデバイス１４０との間のデータ送信における制限を取り除き得、そのキャンセル後にネットワークノードの危険度は所定の閾値を超えないであろう。
【００４５】
例示的な一態様では、ブロッキングモジュール１３０は、ネットワークノードの危険度の値を監視せず、すなわち、危険度が所定の閾値よりも大きいか否かを検証せず、ネットワークノード１０１とコンピューティングデバイス１４０との間のデータ送信を制限するか、またはこのデータ送信の制限をキャンセルする。この場合、ブロキシングモジュール１３０は、データ送信を制限するか、またはこの制限をキャンセルするための命令のみを度数決定モジュール１２５から取得する。度数決定モジュール１２５は、度数決定モジュール１２５によって決定されたネットワークノードの危険度が所定の閾値を超える場合、データ送信を制限するためにブロッキングモジュール１３０に命令を送る。そして、ネットワークノードの危険度の変更の存続期間の満了に対応する瞬間についても、度数決定モジュール１２５によって決定され、そのキャンセル後ネットワークノードの危険度がその所定の閾値を超えないであろう。
【００４６】
フィルタの使用原理を完全に理解するために、図２Ａに示す例を考えてみる。図２Ａは、いくつかのフィルタを使用したときの経時的なネットワークノードの危険度の変化を示すグラフ２００を示す。グラフ２００は、一定期間にわたるネットワークノードの危険度の従属性を示す。線２０２は、危険度Ｒの時刻ｔにおける「現在」の値を表し、破線２０４は、ネットワークノードの危険度に関する所定の閾値Ｒ'を表す。フィルタの１つに対応する各領域（例えば、矩形２０６、２０８、２１０、２１２）は、ネットワークノードの危険度の変化の大きさ、およびその変更の持続時間（変化の存続時間）を表し、それぞれＲ軸に沿った矩形の高さ、およびｔ軸に沿った矩形の長さである。グラフから明らかなように、ネットワークノードの危険度の初期値は０であり、これは、度数決定モジュール１２５（例えば、ネットワークノードのデータベース１３５から得られる）の助けを借りてネットワークノード１０１に割り当てられた度数が０の値を有することを意味する。次に、傍受モジュール１２０によって決定された送信されるデータのパラメータに基づいて、度数決定モジュール１２５によってフィルタが適用される。最初に、フィルタ１が使用される（領域２０６によって表される）が、これは送信されるデータのパラメータがフィルタ１の基準を満たすことを意味する。一定時間の後、領域２０８および２１０によって表されるように、フィルタ２およびフィルタ３が適用される（「トリガされる」、換言すればフィルタの基準が満たされ、対応するフィルタ２およびフィルタ３によって規定される動作が実行される）。時間ｔ０でフィルタ４（領域２１２）がトリガされると、ネットワークノードの危険度の値が、所定の閾値を超え始める。閾値を超えると、ブロッキングモジュール１３０は、ネットワークノード１０１とコンピューティングデバイス１４０との間のデータ送信の制限を実行する。時刻ｔ１において、フィルタ１の存続期間が経過するが、ネットワークノードの危険度の値（フィルタ１に従って変更をキャンセルすることを許したとしても）はまだ所定の閾値を超えており、データ送信の制限はブロッキングモジュール１３０によって除去されない。時間ｔ２において、フィルタ２の存続期間が満了し、ネットワークノードの危険度の値が確立された閾値を超えなくなり、この時点でブロックモード１３０は、データ送信の上記制限を除去する。時間ｔ３において、フィルタ２及びフィルタ３が再びトリガされ、その結果、ネットワークノードの危険度等によって確立された閾値を繰り返し超えることになる。
【００４７】
図２Ｂは、例示的な態様による、このネットワークノード１０１がコンピューティングデバイス１４０上でＤＤｏＳ攻撃に参加しているときの、ネットワークノードの危険度の変化を示すグラフ２５０を示す。度数決定モジュール１２５によって適用されるフィルタが度数の値を変更すると、ネットワークノードの度数の値（「現在の度数２５２」と指定される）は、一般に段階的に増加する。ネットワークノードの危険度が所定の閾値２５４を超えた後、この度数のグラフは閾値付近で「変動」する。ネットワークノードの危険度の変更の存続期間経過後、そのキャンセルはネットワークノードの危険度の値を大きく下げて閾値よりも低くなるため、度数は減少するが、ほぼすぐに次のフィルタがトリガされ、フィルタの適用がネットワークノードの危険度の値を上げ、グラフの線は再び所定の閾値の線より高くなる。これらの変動は、ネットワークノード１０１がＤＤｏＳ攻撃に関与しなくなるまで繰り返され（したがって、送信パラメータが特定のフィルタのトリガを引き起こしているコンピューティングデバイス１４０にそのようなデータを送信する）、その後、ネットワークノードの危険度の値は、元の値（例えば、ネットワークノードのデータベースの助けを借りて、または他の何らかの方法で決定された値）まで段階的に減少する。
【００４８】
図３Ａ〜図３Ｂは、例示的な態様による、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリング方法３００のフローチャートを示す。ステップ３０１において、傍受モジュール１２０は、ネットワークノード１０１からコンピューティングデバイス１４０に送信されるデータ（例えば、ネットワークトラフィック）をインターセプトする。傍受モジュール１２０は、インターセプトの結果に基づいて、送信データパラメータを決定する。傍受モジュール１２０によって予め決定されたデータ送信パラメータ、少なくともネットワークノード１０１のＩＰアドレスを用いて、ステップ３０２において度数決定モジュール１２５は、ネットワークノードの危険度をネットワークノード１０１に割り当てる。危険度のネットワークノードへの割当てのために、度数決定モジュール１２５は、既知のネットワークノードの危険度を有するネットワークノードのデータベース１３５へのリクエストを行い、そのリクエストは、ネットワークノードから送信されるデータの少なくとも１つの予め決定されたパラメータを含む。すなわち、ネットワークノード１０１のＩＰアドレスを含む。その後、ステップ３０３において、度数決定モジュール１２５は、予め決定されているように、送信されるデータのパラメータに基づいてネットワークノード１０１の危険度を変更し、少なくとも１つのフィルタを適用する。
【００４９】
ステップ３０５において、ネットワークノードの危険度が所定の閾値を超えている場合、ステップ３０６において、ブロッキングモジュール１３０は、ネットワークノードからコンピューティングデバイス１４０へのデータ送信を制限する。さもなければ、ステップ３０７において、ブロッキングモジュール１３０は前記データ送信を制限しない。ステップ３０６において、ネットワークノード１０１のコンピューティングデバイス１４０へのデータ送信が制限されている場合、ネットワークノードブロックモード１３０の危険度の少なくとも１つの変更の存続期間満了時に、ステップ３０８は、度数が所定の閾値を超えるか否かを再びチェックする。度数が所定の閾値を超えなくなった場合、ステップ３０９において、ブロッキングモジュール１３０は、データ送信の制限をキャンセルする。さもなければ制限のキャンセルは行われない。１つの例示的な態様では、ステップ３０７、３０８および３１０を実行した後、システム１１０は、ステップ３０１を開始し、ステップ３０２をもう一度実行することを省略して、方法のステップを引き続き実行する。１つの例示的な態様では、システム１１０がリモートサーバまたはコンピュータセキュリティの専門家からのＤＤｏＳ攻撃が終了したとの通知を受信すると、方法のステップの実行の繰り返しが中止される。
【００５０】
図３Ｃは、例示的な態様による、ＤＤｏＳ攻撃の検出時のトラフィックフィルタリングの方法３５０のフローチャートを示す。ステップ３１１において、傍受モジュール１２０は、ネットワークノード１０１からコンピューティングデバイス１４０に送信されているデータを傍受する。傍受モジュール１２０は、傍受結果に基づいて、送信データパラメータを決定する。傍受モジュール１２０によって予め決定されたデータ伝送パラメータ、少なくともネットワークノード１０１のＩＰアドレスを使用して、ステップ３１２で度数決定モジュール１２５はネットワークノード１０１にネットワークノードの危険度を割り当てる。ネットワークノードに危険度を割り当てるために、度数決定モジュール１２５は、既知のネットワークノードの危険度を有するネットワークノードのデータベース１３５へのリクエストを行い、そのリクエストは、ネットワークノードから送信されるデータの少なくとも１つの予め決定されたパラメータを含む。すなわち、ネットワークノード１０１のＩＰアドレスを含む。その後、ステップ３１３において、度数決定モジュール１２５は、予め決定されているように、送信データパラメータに基づいてネットワークノード１０１の危険度を変更し、少なくとも１つのフィルタを適用する。その後、ステップ３１１および３１３が繰り返される。すなわち、傍受モジュール１２０は、ネットワークノード１０１によってコンピューティングデバイス１４０に送信されているデータを傍受し続け、度数決定モジュール１２５は、それに従って、利用可能なフィルタ（それらのうちの少なくとも１つ）を、傍受モジュール１２０によって決定されるように送信データパラメータに割り当てる。したがって、（トリガ時に）適用されるフィルタによってそのような変更が規定される場合、送信データパラメータへのフィルタの継続的な適用およびそれに伴ってネットワークノードの危険度の値の変更が存在する。
【００５１】
本開示の１つの例示的な態様では、同じフィルタを数回（例えば、２分の指定間隔で）適用することができ、フィルタの基準が送信されるデータの新たに決定されたパラメータによって再び満たされる場合、ネットワークノードの危険度の値も再び変更される（そのような変更のそれぞれの存続期間は、フィルタの個別のトリガの瞬間からカウントされる）。例えば、フィルタの基準が、１０秒間カウントし、１秒あたりに送信されたＴＣＰパケットの数が１０００より大きい場合に、傍受モジュール１２０が送信されたデータのパラメータを決定するとする。フィルタの基準が満たされるとフィルタがネットワークノードの危険度を４５０だけ増加させるように規定されている場合、１０秒間カウントして１秒あたりに送信されたＴＣＰパケットの数が１２０４に等しいとき、度数決定モジュール１２５は、ネットワークノードの危険度を４５０増加させる。３分後に、傍受モジュール１２０が送信されたデータのパラメータを決定する場合、１０秒間カウントして１秒あたりに送信されたＴＣＰパケットの数（送信されるパケット数の増加を示す）が１３０４に等しいときに、ネットワークノードの危険度は、度数決定モジュール１２５によって追加的に４５０増加されるが、それらの変更の存続期間満了時の変更の取り消しにかかるネットワークノードの危険度の減少は、同時に実行されるわけではない。すなわち、２ステップで行われ、最初に４５０（最初の度数変更の取り消し）、次に別の４５０（２回目の度数変更の取り消しを最初の度数変更に対して３分遅らせて）というように行われる。
【００５２】
さらに別の例示的な態様では、同じフィルタを繰り返しトリガすることにより、フィルタの適用の結果として実行されるネットワークノードの危険度の第１の変更の存続期間に、第２の変更の存続期間に等しい時間間隔を追加することになる。
【００５３】
１つの例示的な態様では、ネットワークノードの危険度における第２の（リピート）変更の値は、第１の（前の）変更の値と一致してもよく、さらに別の例示的な態様では、異なっていてもよい。例えば、同一のフィルタが、先のトリガからのある一定の時間（例えば５分）内に再びトリガされた場合、より大きくなる。または、先のトリガから例えば一定の時間（例えば３０分）内同じフィルタが再度トリガされなかった場合は小さくなる。
【００５４】
ネットワークノードの危険度と所定の閾値との差の符号が変化した場合（度数が閾値以上であったが、閾値より低くなる場合、および度数が閾値未満であったが、閾値以上になる場合）、度数決定モジュール１２５は、ステップ３１４において、ネットワークノードの危険度が所定の閾値を超えているかをチェックする（ネットワークノードの度数の最初の変更に先立って差の値が負（マイナス符号「−」）であることを考慮しなければならない）。閾値を超えた場合、ステップ３１５において、ブロッキングモジュール１３０は、ネットワークノード１０１によるコンピューティングモジュール１４０へのデータ送信を制限する。さもなければ、データの送信は、ステップ３１６において、ブロッキングモジュール１３０によって制限されない（制限が既に存在する場合、それは除去される）。
【００５５】
ステップ３１５またはステップ３１６のいずれかを実行した後、ステップ３１１およびステップ３１３が再び実行される（そして、適宜、ネットワークノードの危険度と所定の閾値との間の差の符号の変化が生じる場合、ステップ３１４にジャンプする）。１つの例示的な態様では、システム１１０がリモートサーバまたはコンピュータセキュリティの専門家からのＤＤｏＳ攻撃が終了したとの通知を受信した場合、上記方法のステップの繰り返し機能は停止する。
【００５６】
１つの例示的な態様（図３Ａ−３Ｂおよび図３Ｃに示す両方法、３００および３５０に適用可能である）では、所定の閾値をネットワークノードの危険度が超過した後、ネットワークノードの危険度が所定の閾値未満になるまでフィルタの適用を停止する。したがって、閾値を超えた時点ではデータが傍受されず、フィルタの適用は、送信データパラメータを決定し、フィルタを適用してネットワークノードの危険度を変更する中断のない処理ではないため、システム１１０のコンポーネントを実装するために使用されるコンピューティングデバイス（またはいくつかのコンピューティングデバイス）のリソースに対して作業負荷が低減される。
【００５７】
１つの例示的な態様において、方法３００、３５０のいずれかのステップは、１つのネットワークノード（１つのネットワークノード１０１によるコンピューティングデバイスへのデータ送信に関して）だけでなく、少なくとも２つのネットワークノード１０１適用される。これは、複数のネットワークノード１０１の関与を伴って実行されているＤＤｏＳ攻撃に対してコンピューティングデバイス１４０を保護することを可能にする。
【００５８】
１つの例示的な態様では、度数決定モジュール１２５は、ネットワークノードのデータベース１３５に保持されているネットワークノードの度数を更新することができる（そのような値が欠けている場合、それをデータベース１３５に追加する）ことができ、ネットワークノード１０１の対応するＩＰアドレスもまた更新される。度数決定モジュール１２５は、コンピューティングデバイス１４０に対するＤＤｏＳ攻撃を検出したときに、ネットワークノード１０１によるコンピューティングデバイス１４０へのデータ送信が一定期間制限された場合、データベース１３５内のネットワークノード１０１に保持されている値（および、特に、ネットワークノード１０１のＩＰアドレス）に関する、ネットワークノード１０１のネットワークノードの危険度の値を増加させる。データ送信が制限された時間が長いほど、ネットワークノードの度数は増加する。
このような場合における度数の上昇は、下記式（２）によって算出することができる。
【数２】
2018191268.tif 000004
ここでΔは度数の変化であり、ＲはＤＤｏＳ攻撃中のネットワークノードの危険度の最大値であり、Ｒ０は所定の閾値であり、ｔはネットワークノード１０１によるコンピューティングデバイス１４０へのデータ送信が制限された時間であり、ＴはＤＤｏＳ攻撃の期間である。
式（２）はまた、コンピューティングデバイス１４０に対する検出されたＤＤｏＳ攻撃の間に、ネットワークノード１０１によるコンピューティングデバイス１４０へのデータの送信が制限されていない場合（差Ｒ−Ｒ０は負であり、したがってΔの値も負である）、ネットワークノード１０１の危険度の値を、ネットワークノードのデータベース１３５内のネットワークノード１０１に対して保存された値に対して減少させるために使用することができる。
【００５９】
ネットワークノードのデータベース１３５内のネットワークノードの危険度の値の変更のために、以前ＤＤｏＳ攻撃に関与していたネットワークノードは、次のＤＤｏＳ攻撃の間にコンピューティングデバイス１４０からより迅速に切断される。すなわち、これらのネットワークノード１０１によるコンピューティングデバイス１４０へのデータ送信はより迅速に制限され、ＤＤｏＳ攻撃の間にコンピューティングデバイス１４０上の作業負荷を低減する。
【００６０】
ネットワークノードのデータベース１３５は、あるフィルタ（例えば、フィルタ１）をネットワークノード１０１によるコンピューティングデバイス１４０へ送信されるデータのパラメータに適用することによって生成されるネットワークノードの危険度の変更の存続期間の値を含むこともできることに留意されたい。そして、その値はそのフィルタ（たとえば、フィルタ１）の適用によって生成された度数の変更をキャンセルする時間を決定するために使用されうる。したがって、度数変更の存続期間は、ネットワークノードのデータベース１３５が、これらのネットワークノード１０１の変更の存続期間の異なる値を保存している（すなわち、ネットワークノードのデータベース１３５は、あるネットワークノード１０１のＩＰアドレスについて、利用可能なフィルタのそれぞれの適用によって生成されたネットワークノードの度数変更の存続期間を保存している）場合、異なるネットワークノード１０１に対して異なることがある。
【００６１】
１つの例示的な態様では、ネットワークノードのデータベース１３５は、ネットワークノード１０１（したがって、ＩＰアドレスによって識別される）について、補正係数Ｋを保存し、これは、度数決定モジュール１２５によって、ネットワークノード１０１のネットワークノードの危険度の変更の存続期間を変更するために用いられ得る（この係数は、例えば１などのデフォルト値を有する可能性がある）。特定の態様では、ネットワークノード１０１のネットワークノードの度数の各変更の存続期間は、Ｋ倍され、危険度の各変更の存続期間の終了時点を決定するが、使用されるフィルタの助けを借りて度数決定モジュール１２５によって実行される。ネットワークノード１０１の係数Ｋの値は、ＤＤｏＳ攻撃中ネットワークノード１０１によるコンピューティングデバイス１４０へのデータの送信が制限された時間に基づいて、度数決定モジュール１２５によって変更することができる。データ送信が制限されている時間が長いほど、Ｋの値が大きくなり、データ送信の制限が少ないほど、Ｋの値が小さくなる。
係数Ｋの変更値は、式（３）に示す以下の式で算出することができる。
【数３】
2018191268.tif 000005
ここで、Ｋは係数の新しい（変更された）値であり、Ｋ０は係数Ｋの前（旧）値であり、ｔはネットワークノード１０１によるコンピューティングデバイス１４０へのデータ送信が制限された時間であり、ＴはＤＤｏＳ攻撃の継続時間である。なお、上記式は係数を変更する上記の法則を反映した一例にすぎない。
【００６２】
なお、ＤＤｏＳ攻撃の開始時間、その終了時間、およびＤＤｏＳ攻撃の持続時間の決定は、本発明の範囲を超えて行われ、上記の式で使用される値は、コンピューティングデバイス１４０のセキュリティ担当の専門家によって、または例えばリモートサーバやＤＤｏＳ攻撃を検出するための同様の機能を実行するシステム１１０の範囲外に設けられた手段によって提供される。
【００６３】
さらに別の例示的な態様では、度数決定モジュール１２５によって使用されるフィルタが相互接続され、フィルタの関係に関する情報が度数決定モジュール１２５自体に保持されてもよいが、別の態様では、ネットワークノードのデータベース１３５に保持される。フィルタ間の関係は、前述のフィルタの適用によって引き起こされるネットワークノードの危険度の変更存続期間の満了時を決定するため、相互接続されたフィルタについては、この満了時は、同じ時点、すなわち、すべて変更の存続期間の満了時のうちの遅い時点に発生する。例えば、フィルタ１とフィルタ２が相互接続されているとすると、フィルタの適用によって引き起こされるネットワークノードの危険度の対応する変更の存続期間は、それぞれＴ１とＴ２として指定され、フィルタ１は時間ｔ１にトリガされ、フィルタ２は時間ｔ２にトリガされることを意味する。フィルタ間の関係が与えられると、フィルタによって生成された各変更の存続期間の満了時点は、式（４）に示される式によって決定される。
【数４】
2018191268.tif 000006
【００６４】
上記手法および上記式は、フィルタ１がフィルタ２の使用によって生成された変更の存続期間中にトリガされた場合にのみ有効であり（すなわち、下記式（Ａ１）を満たす）、その逆も同様であることに留意すべきである（フィルタ２は、フィルタ１の使用によって生成された変更の存続期間中にトリガされたものである（すなわち、下記式（Ａ２）を満たす））。
【数５】
2018191268.tif 000007
【数６】
2018191268.tif 000008
上記の式はいくつかの相互接続されたフィルタに対しても有効であり、この場合、Ｔは下記式（Ａ３）として選択され、ここでｎはトリガされる相互接続されたフィルタの数である（すなわち、それらの相互接続されたフィルタについて時間ｔｉが決定されている）。
【数７】
2018191268.tif 000009
【００６５】
図４は、実施形態に係り、ＤＤｏＳ攻撃からサーバを保護するためのネットワークトラフィックフィルタリングのためのシステムと方法が実装できる汎用コンピュータシステム２０の例を示している。コンピュータシステム２０は、例えば、先に説明したネットワークノード１０１、システム１１０、およびコンピューティングデバイス１４０に相当することに留意されたい。
【００６６】
図示の通り、コンピュータシステム２０（パーソナルコンピュータまたはサーバであってもよい）は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティング・システムをロードする際等、コンピュータシステム２０の要素間の情報の伝達を担う基本的な手順を含む。
【００６７】
コンピュータ・システム２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式ドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びコンピュータ・システム２０の他のデータのストレージのための電源依存のモジュールである。
【００６８】
本発明は、ハードディスク２７、取り外し可能な磁気ディスク２９及び取り外し可能な光学ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【００６９】
コンピュータ・システム２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザは、入力機器（キーボード４０、マウス４２）を用いてコマンドと情報をコンピュータ・システム２０に入力することができる。他の入力機器（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力機器は、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータ・システム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力機器（不図示）を接続できる。
【００７０】
コンピュータ・システム２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、コンピュータ・システム２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【００７１】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法もあることに留意されたい。
【００７２】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及び方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００７３】
様々な実施形態で、本発明のシステム及び方法が、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図４において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【００７４】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【００７５】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【００７６】
本明細書で開示された様々な側面は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、側面及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
2018191268.tif 000010
【図２Ａ】
2018191268.tif 000011
【図２Ｂ】
2018191268.tif 000012
【図３Ａ】
2018191268.tif 000013
【図３Ｂ】
2018191268.tif 000014
【図３Ｃ】
2018191268.tif 000015
【図４】
2018191268.tif 000016
【外国語明細書】
2018191268000001.pdf