説明

コンピュータネットワークをパケットフラッド(flood)から保護するための方法及びシステム

【課題】コンピュータネットワークをパケットフラッドから保護する方法を提供する。
【解決手段】RLSノード108は、フィルタリングルールを含み、このフィルタリングルールに基づいて、RLSノード108は、着信コンテンツをフィルタリングする。ホストシステム102、104、106は、時分割LANを使用してフィードバックをCSC112へ送信する。CSC112は、共有LAN上のホストシステム102、104、106からフィードバックを収集して、そのフィードバックをRLSノード108へ安全な方法で送信するための単一のエージェントとして動作する。CSC112は、それぞれのホストシステムからフィードバックを受け付ける前にそのホストシステムを認証し、すべての受信フィードバックを照合し、上述したように、安全な接続を使用してフィードバックをRLSノード108へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータネットワークをパケットフラッドから保護するための方法及びシステムに関する。
【背景技術】
【0002】
コンピューティング中、境界防御を提供するために、ファイアウォールが一般に使用される。それらのファイアウォールは、通常、或るネットワーク(たとえば、インターネット等の公衆ネットワーク)と別のネットワーク(たとえば、企業イントラネット等のプライベートネットワーク)との間に配置されたゲートウェイ上で実施され、それらの間で伝送されるトラフィックをフィルタリングする。
他方、システムファイアウォールは、個々のホストに出入りするトラフィックをフィルタリングし、イントラネットの一部を形成することができるホストを、イントラネット内を起源とする攻撃又は境界ファイアウォールを突破した外部攻撃から保護するために使用することができる。
【0003】
双方の手法は限界を有する。フラッド(IPフラグメントフラッドやSYNフラッド等)は、「不要」ではないデータパケットを含む可能性があり、境界ファイアウォールもシステムファイアウォールも、このようなフラッドを効果的にフィルタリングしない。
境界ファイアウォールは、ホストの能力及び現在の状況を判断することができない。低い構成を有するサーバ又は負荷の重いサーバは、より高い構成を有するサーバ又は大幅に負荷の低いサーバよりも処理できる着信パケットは少なく、その結果、境界ファイアウォールによって提供されるフィルタリングは、このような場合に適切でないおそれがある。
境界ファイアウォールを通過したフラッドが、システムファイアウォールによってハンドリングされることが可能である場合、ホスト資源は浪費され、その上、(イントラネットを構成する場合がある)ローカルLANサブネットがフラッド(flood)するおそれがある。
【0004】
すなわち、境界ファイアウォールは、常に、トラフィックレートを、ホストがハンドリングできるレベルに制約するとは限らない。
過度のトラフィックがホストシステムに達した場合、ホストは、たとえトラフィックを廃棄するためだけであっても、そのトラフィックをハンドリングすることにかなりの資源を充てなければならない。
したがって、パケットレートが境界レベルにおいて制御されない場合、パケットフラッドは、ホストシステムの資源を浪費することになる。
【0005】
その上、スタックのTCPモジュール等、レイヤ4プロトコルをターゲットにした一定のタイプのフラッド攻撃(たとえば、SYN攻撃)は、レイヤ4レベルで効率的に検出することができる。
ほとんどの既存のホストベースファイアウォール又は境界ファイアウォールは、IPレベルでフィルタリングするので、フラッドは、そのレベルでは効果的に検出されない。
現在、SYNパケットが境界レベルにおいてIPアドレス/ポートの組み合わせに到着するレートを計算する最適な方法は存在しない。
【0006】
さまざまな種類のパケットフラッドによって引き起こされるDoS(Denial of Service:サービス拒否)攻撃又はDDoS(Distributed Denial of Service:分散サービス拒否)攻撃を最小にするコントローラ/エージェントモデルが提案されている。
パケットマーキング技法が使用され、攻撃ホストの攻撃シグネチャを確立することによって、攻撃トラフィックは、攻撃システムに最も近いルータでブロックされる。
【0007】
提案された別の方法は、侵入検知システム(intrusion detection system:IDS)の攻撃検出能力及びサービス品質(Quality of Service:QoS)概念を使用して、着信するパケットフラッド攻撃のレート制限を行う。
着信するネットワークトラフィックは、まず、IDSによって解析され、その情報は、レート制限システムコントローラ(Rate limiting Controller:RLS−コントローラ)に供給される。
RLS−コントローラは、その情報を解析して、レート制限を行うようにRLS−エージェントに適切に命令する。
【0008】
また、ネットワークトラフィック評価デバイスが、サービス拒否攻撃等のトラフィック異常を警告したり、トラフィック異常を防止したりするのに使用されるシステムも提案されている。
このデバイスは、ネットワークトラフィック、及び、ネットワークトラフィックの特性を示すデータの一方又は双方を受信するデータインターフェースを含む。
データインターフェースによって受信されるこれらのネットワークトラフィック及びデータまたはこれらのいずれか(ネットワークトラフィック及び/又はデータ)は、所定の特性について処理され、これらの所定の特性が検出されると、ネットワークデバイスによってネットワークトラフィックのリダイレクト及び/又はブロックを行うことができる。
【0009】
通信ネットワークのサイトで攻撃を検出し、このような攻撃を低減又はリダイレクトする動作を行う別の提案されたモニタシステムは、着信データパケットをレビューし、システムのデータフローを変更するように少なくとも1つのルータへ指示を送信する。
データパケット及び結果のワークフローは、一定の状態及び定義されたタイムスライス内における一定の状態について変更され、監視された状態が、予想された状態と正反対である時に、動作が行われる。
【発明の開示】
【発明が解決しようとする課題】
【0010】
これらの提案された方法及びシステムは、不快なトラフィックを完全にフィルタリングするか又はレート制限するように試みる。
しかしながら、それらの方法及びシステムは、システムに依存した方法(system-sensitive manner)で不快なトラフィックの検出を改善しようとはしていない。
【課題を解決するための手段】
【0011】
本発明にかかるコンピューティングシステムは、コンピューティングデバイスと、前記コンピューティングデバイスへ送信されたデータパケットをインターセプトするように配置され、該データパケットをパースするようになっている、前記コンピューティングデバイスと電子通信するレート制限システムとを備え、前記コンピューティングデバイスは、データフラッド状態を識別するための少なくとも1つのしきい値パラメータを備え、該しきい値パラメータは、前記コンピューティングデバイスの1つ又は2つ以上の利用可能なコンピューティング資源の関数であり、前記コンピューティングデバイスは、イベントデータを生成し、該イベントデータに基づいてフィードバックデータを生成し、該フィードバックデータを前記レート制限システムへ送信することによって、前記少なくとも1つのしきい値パラメータの突破を引き起こす、前記レート制限システムを介して受信された着信データパケットに応答するように構成され、前記フィードバックデータは、前記レート制限システムによって使用されて、前記レート制限システムの振る舞いを前記フィードバックデータに従って変更するようになっている。
【0012】
この発明をより明確に確かめることができるように、例として、添付図面を参照して実施形態を説明することにする。
【発明を実施するための最良の形態】
【0013】
コンピューティングデバイス又はコンピュータネットワークをパケットフラッドから保護する方法が提供される。
【0014】
以下では、「レート制限システム」(すなわち、RLS)について言及する。
レート制限システムは、イントラネット又は他のネットワークの周辺に存在し、データパケットをパースして、そのネットワークに入ることが許可されるデータパケット(すなわち、トラフィック)のレート及びタイプを制御する能力を有する任意のエンティティを指す。
RLSは、既存のオペレーティングシステム上で実行されるソフトウェアとして実施されうるし、または、レート制限機能がデバイスのハードウェア内にプログラミングされたハードウェアデバイスとして、ハードウェアのファームウェアに設けられたソフトウェアとして、又はファイアウォールの基本機能に対する拡張として実施されうる。
【0015】
一実施形態では、この方法は、着信データパケットをパースするようになっているレート制限システムを介してコンピューティングデバイス又はコンピュータネットワークへデータパケットを方向付けることと、コンピューティングデバイス又はコンピュータネットワークに、データフラッド状態を識別するための少なくとも1つのしきい値パラメータを提供することであって、当該しきい値パラメータは、コンピューティングデバイス又はコンピュータネットワークの1つ又は2つ以上の利用可能なコンピューティング資源の関数である、少なくとも1つのしきい値パラメータを提供することと、コンピューティングデバイス又はコンピュータネットワークが、イベントデータを生成することによって、少なくとも1つのしきい値パラメータの突破を引き起こす、レート制限システムを介して受信された着信データパケットに応答することと、イベントデータに基づいてフィードバックデータを生成することと、フィードバックデータをレート制限システムへ送信することと、レート制限システムが、フィードバックデータに従って自身の振る舞いを変更することとを含む。
【0016】
コンピューティングシステムも提供される。
一実施形態では、このコンピューティングシステムは、コンピューティングデバイスと、コンピューティングデバイスへ送信されたデータパケットをインターセプトするように配置され、且つ、データパケットをパースするようになっている、コンピューティングデバイスと電子通信するレート制限システムとを備える。
このコンピューティングデバイスは、データフラッド状態を識別するための少なくとも1つのしきい値パラメータを備え、当該しきい値パラメータは、コンピューティングデバイスの1つ又は2つ以上の利用可能なコンピューティング資源の関数であり、コンピューティングデバイスは、イベントデータを生成し、当該イベントデータに基づいてフィードバックデータを生成し、且つ、当該フィードバックデータをレート制限システムへ送信することによって、少なくとも1つのしきい値パラメータの突破を引き起こす、レート制限システムを介して受信された着信データパケットに応答するように構成されている。
フィードバックデータは、レート制限システムによって使用されて、レート制限システムの振る舞いをフィードバックデータに従って変更するように適合されている。
【0017】
図1は、本発明の一実施形態によるローカルコンピューティングネットワーク100の概略図である。
ネットワーク100は、(サブネットを形成する)ホストシステム102、104、106の形の複数のコンピュータ、パケットパース/レート制限システム108の形のレート制限システム(以下では、RLSノード108と呼ぶ)、並びにホストシステム102、104、106、及びRLSノード108が接続されるスイッチ110を含む。
ネットワーク100は、スイッチ110によって仲介される時分割LAN(timeshare LAN)として動作する。
RLSノード108は、フィルタリングルールを含み、このフィルタリングルールに基づいて、RLSノード108は、着信コンテンツ(及びオプションとして発信コンテンツ)をフィルタリングする。
【0018】
また、ローカルネットワーク100は、スイッチ110に接続された中央スイッチコントローラ(すなわち、CSC)112も含む。
ホストシステム102、104、106は、時分割LANを使用して(後述するような)フィードバックをCSC112へ送信する。
CSC112は、共有LAN上のホストシステム102、104、106からフィードバックを収集して、そのフィードバックをRLSノード108へ安全な方法で送信するための単一のエージェントとして動作する。
CSC112は、それぞれのホストシステムからフィードバックを受け付ける前にそのホストシステムを認証し、すべての受信フィードバックを照合し、上述したように、安全な接続を使用してフィードバックをRLSノード108へ送信する。
この実施形態では、ネットワーク100は、CSC112に結合されたコンソール114を含む。このコンソール114から、CSC112は制御を受けることができる。
また、ネットワーク110は、コンソール114とRLSノード108との間に、これらの間の安全な通信のためのRS232接続116も含む。
一方、他の実施形態では、コンソール114は省略され、CSC112及びRLSノード108は、標準的なEthernet(イーサネット(登録商標))接続上で通信する。
RLSノード108は、フィードバックを受信すると、そのフィードバックに基づいて、自身のフィルタリングルールを更新する。
【0019】
ネットワーク100のこのフィードバックメカニズムのオペレーションを、図2、図3A、及び図3Bを参照することによって以下に説明する。
図2は、(ホストシステム102、104、106のいずれか1つを表す)ホストシステム200の動作図である。
ホストシステム200は、ユーザ空間202及びカーネル空間204に論理的に分割されて示されている。
図3A及び図3Bは、フィードバックメカニズムがこの実施形態に従って動作する方法のステップのフロー図である。
【0020】
したがって、(図3Aの)ステップ302において、(図2の)ホストシステム200がブートアップする。
ステップ304において、さまざまなタイプのデータフラッドを識別するのに使用されるすべてのしきい値パラメータが、ホストシステム200の現在利用可能な資源(メモリ及び複数のCPUを含む)に基づいて初期化される。
この時点で、ホストシステム200は、着信データパケットが到着した場合に応答する準備ができている。
【0021】
ステップ306において、RLSノード108(図2に図示せず)によって渡された着信データパケットがホストシステム200に到着する。
ステップ308において、ホスト200のTCP/IPスタック208に追加されたスタブコード206が、この着信データパケットがいずれかのフラッドしきい値の突破(通常、フラッドしきい値を超えることを含む)を引き起こすか否かを判断する。
フラッドしきい値の突破を引き起こさない場合、ステップ310において、着信データパケットは警告なく受け付けられ、ステップ312において、そのデータパケットは、スタックの次のモジュール又はユーザへ送信される。次に、処理はステップ318に続く。
ステップ308において、着信データパケットが、フラッドしきい値の突破を引き起こす場合、処理はステップ314に続き、ステップ314において、イベント210が、スタブコード206によって生成される。次に、ステップ316において、そのイベント210は、スタブコード208によってイベントキュー214にポストされ(212)、処理はステップ318に続く。
【0022】
ステップ318において、イベントキュー214が処理されるべきか否かが判断される。
この決定は、キュー214のイベントの個数が所定のしきい値に達したか否か、又はイベントキュー214のイベントの最後の処理から所定の期間が経過したか否か等、任意の適した1つ又は複数の判定基準に基づくことができる。
この実施形態では、キュー214のいずれかのイベントが所定の期間よりも古くなるたびに、又は、所定の個数よりも多くのイベントがキュー214に存在する場合に、これらのうちのいずれが最初に起ころうとも、キュー214は処理される。
【0023】
したがって、ステップ318において、イベントキュー214が処理されるべきでないと判断された場合、ホストシステム200は、着信データパケットの到着の待ち受けを再開する。
ステップ318において、イベントキュー214が処理されるべきと判断された場合、処理はステップ320に続き、ステップ320において、ユーザ空間202で実行されるデーモン216が、これらのイベント210を入力して(218)処理し、ステップ322において、フィードバックデータを生成する。
【0024】
ステップ324において、デーモン216は、フィードバックをCSC112へ送信する。
(図3Bの)ステップ326において、CSC112は、受信されたフィードバックの発信元のホストシステム200を認証する。
ホストシステムが認証された場合には、ステップ328において、フィードバックはCSC112によって受け付けられ、ホストシステムが認証されない場合には、フィードバックはCSC112によって受け付けられない。
この時点では、CSC112が、ホストシステム200及びサブネットの他のホストシステムからこのようなフィードバックを受信し、その結果、上述したステップ306〜328は、一般に、ホストシステム200及びサブネットの他のホストシステムがブートアップしてから各ホストシステムについて複数回行われていることに留意すべきである。
したがって、処理が次にステップ330に続くと、CSC112は、(ホストシステム200及び他のあらゆるホストシステムから)受け付けたすべてのフィードバックを照合し、ステップ332において、安全な接続を使用してRLSノード108へ照合されたフィードバックを送信する。
【0025】
ステップ334において、RLSノード108は、照合されたフィードバックに対して、1つ又は複数のそれぞれのイベント210を引き起こした特定のタイプのデータパケットをホストシステム200(又は、各フィードバックを生成した他のホストシステムのいずれにも)へ転送するレートを制限する等、そのフィードバックに従った適切な動作で応答する。
このように、ローカルネットワークのホストシステム(又はノード)は、共存することができ、それらのホストシステムの個々の資源及び能力に応じてフラッドを制御することができる。
したがって、フラッド攻撃は、ホストシステムからのフィードバックを用いてではあるが、境界レベルで制御される。
必要とされるフィルタリングの量及びタイプについてのフィードバックをRLSノード108に提供することによって、RLSノード108によって提供されるフィルタリングを、ホストシステム200の現在の負荷及び能力に従って自動的に調節することができる。
これによって、ネットワークフラッドがサブネットに達する前に削減又は停止されるので、ホストシステムの資源が節減される。
【0026】
ステップ336において、ユーザ空間デーモン216は、しきい値が、(ホストシステム200がブートアップしてから変化している場合がある)現在のシステム状態に従った更新を必要としているか否かを判断する。
ユーザ空間デーモン216は、利用可能な資源に大幅な変化があったか否かを判断することによってこの判断を行い、大幅な変化があった場合には、それに応じてしきい値を再計算する。(代替的な一実施形態では、利用可能な資源の大幅な変化が起こっていない場合に、たとえ更新がしきい値に何らの変化も生み出さない可能性があっても、このような更新は単純に定期的に行われる。)
大幅な変化がない場合、この方法の処理は終了するが、大幅な変化がある場合、処理はステップ338に続き、ステップ338において、デーモン216は、それに応じてしきい値を更新する(222)。
次に、この方法の処理は終了する。
【0027】
アドミニストレータが必要な場合にしきい値を手動で設定(226)(ユーザ空間デーモン216によって計算された値を無効にすることを含む)できるように、ホストシステム200は管理ツール224を含むことに留意すべきである。
【0028】
したがって、ネットワークフラッドの検出/判断能力が、ホストシステム200のTCP/IPスタックに(スタブコードの形で)追加されるが、オプションとして、その能力は、ホストシステムに別個のモジュールとして実装することができる。
フラッド攻撃の検出/判断は、オプションとして、有効又は無効にすることもできる。
【0029】
例示的な実施形態の上記説明は、あらゆる当業者が本発明を行うか又は使用することを可能にするように提供されている。この発明は、示した特定の実施形態に関して説明されているが、これらの実施形態に対するさまざまな変更は、当業者に容易に明白であろう。また、本明細書で定められた一般的な原理は、この発明の趣旨及び範囲から逸脱することなく、他の実施形態に適用することができる。したがって、本実施形態は、すべての点で限定ではなく例示とみなされることが望ましい。したがって、本発明は、上述した実施形態に限定されることが意図されているものではなく、本明細書に開示した原理及び新規な特徴と一致した最も広い範囲を享受する。
【図面の簡単な説明】
【0030】
【図1】本発明の一実施形態によるローカルコンピューティングネットワークの概略図である。
【図2】本発明の一実施形態による図1のローカルコンピューティングネットワーク内の1つの例示的なホストシステムの概略図である。
【図3A】本発明の一実施形態による図2のホストシステムによって使用される、本発明の一実施形態による方法のフロー図である。
【図3B】本発明の一実施形態による図2のホストシステムによって使用される、本発明の一実施形態による方法のフロー図である。
【符号の説明】
【0031】
102,104,106・・・ホスト
108・・・RLSノード
110・・・スイッチ
112・・・CSC
114・・・コンソール
202・・・ユーザ空間
220・・・フィードバック
216・・・イベント処理デーモン
224・・・管理ツール
204・・・カーネル空間
206・・・スタブコード
208・・・TCP/IPスタック
210・・・イベント
214・・・イベントキュー

【特許請求の範囲】
【請求項1】
コンピューティングシステムであって、
コンピューティングデバイスと、
前記コンピューティングデバイスへ送信されたデータパケットをインターセプトするように配置され、且つ、該データパケットをパースするようになっている、前記コンピューティングデバイスと電子通信するレート制限システムと
を備え、
前記コンピューティングデバイスは、データフラッド状態を識別するための少なくとも1つのしきい値パラメータを備え、該しきい値パラメータは、前記コンピューティングデバイスの1つ又は2つ以上の利用可能なコンピューティング資源の関数であり、
前記コンピューティングデバイスは、イベントデータを生成し、該イベントデータに基づいてフィードバックデータを生成し、且つ、該フィードバックデータを前記レート制限システムへ送信することによって、前記少なくとも1つのしきい値パラメータの突破を引き起こす、前記レート制限システムを介して受信された着信データパケットに応答するように構成され、
前記フィードバックデータは、前記レート制限システムによって使用されて、前記レート制限システムの振る舞いを前記フィードバックデータに従って変更するようになっている
コンピューティングシステム。
【請求項2】
前記コンピューティングデバイス及び前記レート制限システムと電子通信し、前記コンピューティングデバイスから前記フィードバックデータを受信して前記フィードバックデータを前記レート制限システムへ転送するようになっている中央スイッチコントローラ
をさらに備える請求項1に記載のコンピューティングシステム。
【請求項3】
前記コンピューティングデバイスは、前記少なくとも1つのしきい値パラメータを生成するようになっている
請求項1に記載のコンピューティングシステム。
【請求項4】
前記コンピューティングデバイスは、個々のデータフラッド状態を識別するための複数の前記しきい値パラメータを備える
請求項1に記載のコンピューティングシステム。
【請求項5】
前記コンピューティングデバイスは、前記利用可能なコンピューティング資源が大幅に変化したか否かを定期的にチェックし、そうである場合に、前記少なくとも1つのしきい値パラメータを更新するようになっている
請求項1に記載のコンピューティングシステム。
【請求項6】
前記コンピューティングデバイスは、
前記イベントを生成するためのスタブコードを有するTCP/IPスタック
を含む
請求項1に記載のコンピューティングシステム。
【請求項7】
コンピューティングデバイス又はコンピュータネットワークの保護を制御する方法であって、
着信データパケットをパースするようになっているレート制限システムを介して前記コンピューティングデバイス又はコンピュータネットワークへ前記データパケットを方向付けることと、
前記コンピューティングデバイス又はコンピュータネットワークに、データフラッド状態を識別するための少なくとも1つのしきい値パラメータを提供することであって、該しきい値パラメータは、前記コンピューティングデバイス又はコンピュータネットワークの1つ又は2つ以上の利用可能なコンピューティング資源の関数である、少なくとも1つのしきい値パラメータを提供することと、
前記コンピューティングデバイス又はコンピュータネットワークが、イベントデータを生成することによって、前記少なくとも1つのしきい値パラメータの突破を引き起こす、前記レート制限システムを介して受信された着信データパケットに応答することと、
前記イベントデータに基づいてフィードバックデータを生成することと、
前記フィードバックデータを前記レート制限システムへ送信することと、
前記レート制限システムが、前記フィードバックデータに従って自身の振る舞いを変更することと
を含む方法。
【請求項8】
前記コンピューティングデバイスに前記少なくとも1つのしきい値パラメータを提供することは、
前記コンピューティングデバイスを用いて前記少なくとも1つのしきい値パラメータを生成すること
を含む
請求項7に記載の方法。
【請求項9】
前記コンピューティングデバイスに、個々のデータフラッド状態を識別するための複数の前記しきい値パラメータを提供すること
を含む請求項7に記載の方法。
【請求項10】
前記コンピューティングデバイスが、前記イベントデータに基づいて前記フィードバックデータを生成すること
を含む請求項7に記載の方法。
【請求項11】
前記利用可能なコンピューティング資源が大幅に変化しているか否かを定期的にチェックすることと、
そうである場合に、前記少なくとも1つのしきい値パラメータを更新することと
をさらに含む請求項7に記載の方法。
【請求項12】
前記少なくとも1つのしきい値パラメータを定期的に更新すること
をさらに含む請求項7に記載の方法。
【請求項13】
前記イベントをイベントキューにポストすることと、
前記イベントキューにおけるイベントデータの1つ又は2つ以上のアイテムに基づいて前記フィードバックデータを生成することと
を含む請求項7に記載の方法。
【請求項14】
前記コンピューティングデバイスのTCP/IPスタックに前記イベントを生成するためのスタブコードを提供すること
を含む請求項7に記載の方法。
【請求項15】
コンピューティング環境のパケットパースレート制限システムにより使用されて該レート制限システムの振る舞いを変更することに適するように適合されたデータパケットであって、
該データパケットは、着信データが、前記レート制限システムによってコンピューティングデバイス又はコンピュータネットワークに渡されたが、個々のデータフラッドを示し且つ前記コンピューティングデバイス又はコンピュータネットワークの1つ又は2つ以上の利用可能なコンピューティング資源に基づいた、前記コンピューティングデバイス又はコンピュータネットワークの1つ又は2つ以上のしきい値パラメータを突破した1つ又は複数のイベントを示す
データパケット。
【請求項16】
1つ又は複数のコンピューティングシステム上で実行されると、請求項7に記載の方法を実施するプログラムデータを備えるコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate


【公開番号】特開2008−178100(P2008−178100A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2008−6416(P2008−6416)
【出願日】平成20年1月16日(2008.1.16)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】