(57)【要約】【課題】  フロー情報などの事前設定無しに攻撃検出を可能とする。また、事前設定なしにネットワーク攻撃への適切な対策を可能とする。【解決手段】  ノード８は、端末１〜４から送信されるパケットの複数の属性種別に関するパケット量分布を定期的に計測し、当該計測されるパケットの複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録し（トラックプロファイルＤＢ）、トラックプロファイル抽出部は、記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出する。【選択図】    図１
2005159551.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末が接続されるネットワーク環境において、パケットが大量に送りつけられることで特定のサーバまたはネットワークを利用不能にする攻撃が発生した際にこれを防禦するネットワーク攻撃対策方法であって、
前記端末から送信されるパケットの複数の属性種別に関するパケット量分布を定期的に計測するステップと、
前記計測されるパケットの複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録するステップと、
前記記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出するステップと、
を有することを特徴とするネットワーク攻撃対策方法。
【請求項２】
前記属性種別は、宛先アドレス、宛先ポート番号、プロトコル番号、パケット長のうちのいずれかまたは複数であることを特徴とする請求項１に記載のネットワーク攻撃対策方法。
【請求項３】
複数の端末が接続されるネットワーク環境において、パケットが大量に送りつけられることで特定のサーバまたはネットワークを利用不能にする攻撃が発生した際にこれを防禦するネットワーク装置であって、
前記端末から送信されるパケットの１つまたは複数の属性種別に関するパケット量分布を定期的に計測するパケット量分布計測部と、
前記計測されるパケットの１つまたは複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録するトラヒックプロファイル記録部と、
前記記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出するトラヒックプロファイル抽出部と、
を備えたことを特徴とするネットワーク装置。
【請求項４】
前記定期的に計測される複数の属性種別に関するパケット量分布と、前記正常時におけるトラヒックプロファイルとの乖離から前記攻撃を検出するとともに、当該攻撃検出時にその攻撃パケットの詳細な特徴値を自動抽出する攻撃パケット特徴値抽出部と、
を備えたことを特徴とする請求項３に記載のネットワーク装置。
【請求項５】
前記攻撃検出後、前記攻撃パケットに帯域制限を行う際、その制限値を前記正常時のトラヒックプロファイルに基づき算出する帯域制限値算出部と、
を備えたことを特徴とする請求項４に記載のネットワーク装置。
【請求項６】
複数の端末が接続されるネットワーク環境において、パケットが大量に送りつけられることで特定のサーバまたはネットワークを利用不能にする攻撃が発生した際にこれを防禦するネットワーク装置に用いられるプログラムであって、
前記端末から送信されるパケットの複数の属性種別に関するパケット量分布を定期的に計測する処理と、
前記計測されるパケットの複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録する処理と、
前記記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットなどのオープンなネットワーク環境において、パケットを大量に送りつけることで、ネットワークそのものや特定のサーバを使用不能にするネットワーク攻撃に対しこれを防禦する、ネットワーク攻撃対策方法およびそのネットワーク装置、ならびにそのプログラムに関する。
【背景技術】
【０００２】
インターネットなどの広域ネットワークはオープンな環境であり、誰もが自由に接続することが可能である。このため、攻撃者がこのような環境を利用してパケットを大量に送りつけることで、特定のサーバまたはネットワークを使用不能にする攻撃を容易に引き起こすことができる。
ネットワーク攻撃には、特定のサーバにパケットを送りつけることでそのサーバを使用不能にする「宛先固定型ネットワーク攻撃」と、不特定の宛先を持ったパケットを大量に送りつけることでネットワークを使用不能にする「宛先不定型ネットワーク攻撃」がある。宛先固定型ネットワーク攻撃の例として、ＤｏＳ攻撃、ＤＤｏＳ攻撃が知られている。また、宛先不定型ネットワーク攻撃の例としては、ワームによる自己増殖によりネットワーク帯域を浪費する攻撃などが知られている。
【０００３】
ところで、ネットワーク攻撃が発生した際に、攻撃パケットヘの対策を行うための方法は従来から多数提案され出願されている。例えば、本出願の発明者等が出願済みの「分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム」(特願２００２−８１９０１号)、「攻撃パケット対策システム、攻撃パケット対策方法、攻撃パケット対策プログラム、及び記録媒体」（特願２００３−１５１５７８号)がある。
前者は、防禦対象の近くのノードが、フロー毎のパケット量に異常が発生した際にこれを攻撃として検出すると同時に、異常なフローの情報を攻撃経路上のノードに伝達し、これらのノードでこの情報にマッチするパケットの帯域を予め指定された量以下に制限する技術に関する提案である（一次対策）。また、各ノードで、送信元アドレス範囲別に異常フローの帯域を測定し、それらの中に長期間に亘る連続性などの不正なパターンが見つかった場合には、その範囲からの異常フローの帯域をより少ない量に制限する（二次対策）。
【０００４】
後者は、攻撃発生中のパケットを解析することで、攻撃パケットを送信元アドレス単位で識別することで識別精度を向上させ、攻撃に対する効果的な対策を実現し、正規利用者のパケットヘの影響を低減することを可能にした技術である。また、転送紙が多い送信元アドレスからのパケットのみを解析対象とすることで、限られたメモリを使用して解析処理を行うことを可能とする。
【０００５】
ネットワーク攻撃が発生した際に、攻撃パケットヘの対策を行うための方法は、上記した出願のみならず文献にも多数開示されている。
例えば、サーバなどの防禦対象における近くのノードが、インタフェース毎のキューを監視し、多量のキュー溢れが発生した場合にこれを攻撃として検出し、検出後、キューに入力されるパケットの宛先アドレスを解析して、攻撃パケットの宛先ネットワークアドレスを抽出し、これを攻撃パケット情報とするものである。同時に、この情報を攻撃経路上のノードに伝達し、これらのノードでこの情報に該当するパケットの帯域を制限する技術が開示されている（例えば、非特許文献１参照）。
【０００６】
また、統計的な解析を行って攻撃パケットの属性値を割り出し、それらの属性値を持ったパケットをノードで遮断し、同時にこの情報をネットワーク上に分散配置された他のノードに伝達し、それらのノードでこの情報に該当するパケットを遮断する技術も開示されている（例えば、非特許文献２参照）。
【非特許文献１】ACC（Aggregate-based Congestion Control)（R. Mahajan, S. Bellovin, S. Floyd, J. Ioan-nidis, V.Paxson and S. Shcnker: “Controlling High Bandwidth Aggregates in the Net-work", SIGCOMM Computer Communication Review, Vol 32, No.3, p.62-73, Jul. 2002.）
【非特許文献２】「SQL Slammerワームウイルスに対するDistributed Active Firewall の性能評価」（杉田誠、片山勝、塩本公平，山中直明）情報処理学会研究報告，2003-CSEC-22 Vol.2003,No74,p105-112
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら上記した従来技術によれば、それぞれ以下に示す欠点を持つ。すなわち、特願２００２−８１９０１号、特願２００３−１５１５７８号に開示された技術によれば、予め防禦対象のサーバを指定し、システムにそのサーバ向けのフロー情報と異常条件を入力しておく必要がある。ここで、「フロー」とは、同じ属性を持ったパケット群のことをいい、ここでいう属性には、送信元／宛先アドレス、送信元／宛先ポート番号、プロトコル番号などが含まれる。
例えば、サーバＳを防御対象とする場合には、フロー１：｛宛先アドレス＝Ｓ、プロトコル＝ＴＣＰ｝、異常条件１：｛１００Ｍｂｐｓ以上のパケットが３０秒以上連続して転送される｝などの情報を設定する。これらの情報は、管理者が一定期間ネットワークを監視して導き出すなどする必要があり、人手が介在するため手間と時間を要するのみならず不適正な設定を行う可能性が高くなる。
また、この方法は、宛先固定型ネットワーク攻撃への対策とはなるが、宛先不定型ネットワーク攻撃への対策とはならない。さらに、フロー情報から外れたパケットを用いた攻撃（上記例では、ＵＤＰプロトコルを用いた攻撃など）への対策とはならない。また、この方法では、異常なフローに対して帯域制限を行うが、その制限値は管理者が手動で設定するため、この値の決め方についても管理者が一定期間ネットワークを監視して導き出す必要があり、人手が介在するため手間と時間がかかり、不適正な設定を行う可能性が高くなる。このように２件ともに、設定に手間と時間のかかり不適正な設定を行う可能性も高い点、対策対象の攻撃が限定される点が問題となる。
【０００８】
一方、非特許文献１に開示された技術についても上記同様、宛先固定型ネットワーク攻撃への対策とはなるが、宛先不定型ネットワーク攻撃への対策とはならない。また、攻撃パケットの識別子として宛先アドレスのみを利用しているため、識別精度が低い。このため、識別対象のパケットの中に正規の利用者のパケットを含んでしまい、正規の利用者の通信まで制限をかけてしまう可能性が高く、対策による正規利用者への影響が大きい。
さらに、上記同様、異常なフローに対して帯域制限を行うが、その制限値は管理者が手動で設定するため、この値の決め方についても管理者が一定期間ネットワークを監視して導き出す必要があり、人手が介在するため手間と時間のかかるがかかるだけでなく、不適正な設定を行う可能性が高くなる。このように、対策対象の攻撃が限定される点、攻撃パケットの識別精度が低く、対策による正規利用者への影響が大きい点、設定に手間と時間のかかり不適正な設定を行う可能性も高い点、がそれぞれ問題となる。
【０００９】
また、非特許文献２に開示された技術によれば、攻撃パケットをネットワーク装置で遮断してしまうため、攻撃パケットの識別子が正規の利用者のパケットまでも含む場合に、正規の利用者の通信を遮断してしまう。これは、特願２００２−８１９０１号、特願２００３−１５１５７８号に開示された技術と比較して対策による正規利用者への影響が更に大きくなり、問題となる。
【００１０】
本発明は上記事情に鑑みてなされたものであり、パケットの１つまたは複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録して正常時のパケット量分布の特徴値を自動抽出し、パケット量分布を定期的に計測してトラヒックプロファイルから乖離がある場合に攻撃として検出することにより、フロー情報などの事前設定無しに攻撃検出を可能とするネットワーク攻撃対策方法およびそのネットワーク装置、ならびにそのプログラムを提供することを目的とする。
また、このとき乖離のある複数の異常な属性値を攻撃パケットの識別子として自動抽出することで、精度の高い攻撃パケットの識別を可能とし、更に、異常発生前のパケット量分布に応じて、自動的に攻撃パケットの帯域制限を行うことにより、事前設定なしに攻撃への適切な対策を可能とする、ネットワーク攻撃対策方法およびそのネットワーク装置、ならびにそのプログラムを提供することも目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために本発明は、複数の端末が接続されるネットワーク環境において、パケットが大量に送りつけられることで特定のサーバまたはネットワークを利用不能にする攻撃が発生した際にこれを防禦するネットワーク攻撃対策方法であって、前記端末から送信されるパケットの複数の属性種別に関するパケット量分布を定期的に計測するステップと、前記計測されるパケットの複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録するステップと、前記記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出するステップと、を有することを特徴とする。
【００１２】
また、本発明において、前記属性種別は、宛先アドレス、宛先ポート番号、プロトコル番号、パケット長のうちのいずれかまたは複数であることを特徴とする。
【００１３】
上記した課題を解決するために本発明は、複数の端末が接続されるネットワーク環境において、パケットが大量に送りつけられることで特定のサーバまたはネットワークを利用不能にする攻撃が発生した際にこれを防禦するネットワーク装置であって、前記端末から送信されるパケットの１つまたは複数の属性種別に関するパケット量分布を定期的に計測するパケット量分布計測部と、前記計測されるパケットの１つまたは複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録するトラヒックプロファイル記録部と、前記記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出するトラヒックプロファイル抽出部と、を備えたことを特徴とする。
【００１４】
また、本発明において、前記定期的に計測される複数の属性種別に関するパケット量分布と、前記正常時におけるトラヒックプロファイルとの乖離から前記攻撃を検出するとともに、当該攻撃検出時にその攻撃パケットの詳細な特徴値を自動抽出する攻撃パケット特徴値抽出部と、を備えたことを特徴とする。
【００１５】
また、本発明において、前記攻撃検出後、前記攻撃パケットに帯域制限を行う際、その制限値を前記正常時のトラヒックプロファイルに基づき算出する帯域制限値算出部と、を備えたことを特徴とする。
【００１６】
ここでは、ネットワーク装置が、パケットが入力される度にそのパケットに付与されている属性値を抽出する。ここでいう属性値とは、宛先アドレス、宛先ポート、プロトコル番号、パケット長などのＩＰパケットの値を指す。ネットワーク装置は、属性種別毎に、「単位時間内に入力されたパケット量（以下、単位時間パケット量）」の属性値別の分布を予め設定された「計測期間」毎に計測し、それをトラヒックプロファイルとして記録する。計測データが予め設定された「計測期間」分溜まると、ネットワーク装置は、例えば、その期間の平均値、最大値および標準偏差を計算してトラヒックプロファイルに記録し、以後、定間隔毎にそれらの値を更新していく。このことにより、トラヒックプロファイルは、正常時の属性値別パケット量分布を表すこととなる。
【００１７】
そして、計測時に、計測データがトラヒックプロファイルのパケット量分布と著しく異なる場合に警戒モードに入る。例えば、ある属性種別において、特定の属性値の計測データが計測期間内の最大値をＮ１倍超える、または、計測期間内の平均値Ｎ２×標準偏差を超える、などの条件を満たすときに警戒モードに入る。さらに同一の属性値に対してこの警戒モードが連続してＣ回以上満たされた時には攻撃として検出する。これらのＮｘ、Ｃの値は攻撃判定の「感度」を表すものであり設定によって変更可能とする。
本発明によれば、正常時のパケット特徴値を表すトラヒックプロファイルを自動更新し、その内容と計測期間毎のパケット量分布とをリアルタイムに比較することで、異常条件の設定を予め行うことなく、攻撃の検出を可能とする。また、攻撃検出時、トラヒックテプロファイルにおける複数の属性種別の中から異常な属性値を複数抽出するため、精度の高い攻撃パケット識別子の抽出が可能となる。さらに、本発明によれば、ネットワーク装置が攻撃パケットに帯域制限を行い、その制限値を正常時のトラヒックプロファイルに基づき自動的に算出することで、異常識別子を持たない正規利用者のパケットヘの影響を低くすることができる。
【００１８】
上記した課題を解決するために本発明は、複数の端末が接続されるネットワーク環境において、パケットが大量に送りつけられることで特定のサーバまたはネットワークを利用不能にする攻撃が発生した際にこれを防禦するネットワーク装置に用いられるプログラムであって、前記端末から送信されるパケットの複数の属性種別に関するパケット量分布を定期的に計測する処理と、前記計測されるパケットの複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録する処理と、前記記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出する処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、ネットワーク装置（ＷＡＮ上の各ノード）は、正常時のパケット特徴値を表すトラヒックプロファイルを自動更新し、それと、計測期間毎のパケット量分布とをリアルタイムに比較することで、異常条件の設定を予め行うことなく、攻撃の検出を可能とする。また、攻撃検出時、トラヒックプロファイルにおける複数の属性種別の中から異常な属性値を複数抽出するため、精度の高い攻撃パケット識別子の抽出が可能となる。
さらに、ネットワーク装置が攻撃パケットに帯域制限を行い、その制限値を正常時のトラヒックプロファイルに基づき自動的に算出することで、異常識別子を持たない正規利用者のパケットへの影響を低くすることができる。このことにより、ネットワーク攻撃に対して人手を介在させず、適切な対策を可能とし、ネットワーク全体を安全な状態に保つことが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図面に従って本発明を説明する。図１は、本発明のネットワーク装置が接続されるネットワーク環境を説明するために引用した図である。
図１において、符号１〜４は、ＰＣなどの端末あるいはサーバである。９は、端末１〜４が接続されるＷＡＮ（Wide Area Network）である。ＷＡＮ９は、本発明のネットワーク装置が実装される複数のノード５〜８を有している。
【００２１】
ネットワーク攻撃は、端末が、ウィルスやワームに感染する、または、攻撃者によって制御が乗っ取られた場合に発生する。例えば、端末１〜３が攻撃者によって制御を乗っ取られ、端末４に向かって大量の攻撃パケットが送信されると、宛先固定型ネットワーク攻撃が発生する。また、端末４がワームによって制御を乗っ取られ、端末１〜３を含む任意の宛先アドレスを持った自己増殖のパケットを送信すると、宛先不定やネットワーク攻撃が発生する。これらの攻撃が発生すると、ノード５〜８やＷＡＮ９の帯域やリソースが浪費され、正常な動作ができなくなるという現象が起こる。
【００２２】
以下、図１におけるノード８を中心に本発明のネットワーク攻撃対策について説明する。
図２は、本発明のネットワーク装置が実装されるノード８の内部構成を機能展開して示したブロック図である。図２に示されるように、ノード８は、パケット量分布計測部８１と、トラヒックプロファイルＤＢ８２と、トラヒックプロファイル抽出部８３と、攻撃検出部８４と、攻撃パケット特徴値抽出部８５と、帯域制限値算出部８６で構成される。
【００２３】
パケット量分布計測部８１は、端末１〜４から送信されるパケットの１つまたは複数の属性種別に関するパケット量分布を定期的に計測する機能を持ち、トラヒックプロファイル記録部としてのトラヒックプロファイルＤＢ８２は、パケット量分布計測部８１で計測されるパケットの複数の属性種別に関するパケット量分布をトラヒックプロファイルとして記録される。
また、トラヒックプロファイル抽出部８３は、トラヒックプロファイルＤＢ８２に記録されたトラヒックプロファイルから正常時における複数の属性種別に関するパケット量分布の特徴値を自動抽出する機能を持つ。
【００２４】
攻撃検出部８４は、定期的に計測される複数の属性種別に関するパケット量分布と、正常時におけるトラヒックプロファイルとの乖離からネットワーク攻撃を検出する機能を持ち、攻撃パケット特徴値抽出部８５は、攻撃検出部８４でネットワーク攻撃が検出された時にその攻撃パケットの詳細な特徴値を自動抽出する機能を持つ。
また、帯域制限値算出部８６は、ネットワーク攻撃検出後、攻撃パケットに帯域制限を行う際、その制限値を正常時のトラヒックプロファイルに基づき算出する機能を持つ。
【００２５】
図３に、トラヒックプロファイルＤＢ８２に記録されるトラヒックプロファイル２０のデータ構造の一例を示す。トラヒックプロファイル２０は、宛先アドレス、宛先ボート、プロトコル番号、パケット長などの、ＩＰパケットに付与される各属性種別のトラヒックテーブルから構成されることから、以降では、多次元トラヒックプロファイルと称することとする。
宛先ボートトラヒックテーブル２１は、多次元トラヒックプロファイルの中で、宛先ポート番号毎のパケット量分布を格納するものである。また、パケット長トラヒックテーブル22は、多次元トラヒックプロファイルの中で、パケット長毎のパケット量分布を格納するものである、各テーブルは、パケット量、単位時間パケット量、平均値、最大値、標準偏差、警戒モードフラグの各フィールドから構成される。宛先ポートトラヒックテーブル２１を例示すれば、属性値２１１、パケット量２１２、単位時間パケット量２１３、平均値２１４、最大値２１５、標準偏差２１６、警戒モードフラグ２１７が各フィールドを示す。
【００２６】
図４〜図６は、本発明のネットワーク装置の動作を説明するために引用したフローチャートであり、一部、本発明のプログラムの処理手順も示している。
以下、図４〜図６に示すフローチャートを参照しながら図２、図３に示す本発明のネットワーク装置の動作について詳細に説明する。
【００２７】
図４は、ノード８での、多次元トラヒックプロファイル２０の各データの処理手順を示している。ノード８は、パケットを受信すると、予めパラメータ設定された「計測属性種別」（図示せず）に記述されている属性種別の属性値を抽出して以降の処理を実行する。
まず、ノード８は、あらかじめ設定された計測属性種別の中から属性種別を選択する（Ｓ４１）。全ての属性種別が選択し終わった場合には、処理を終了する。
ステップＳ４１の処理で選択に成功した場合、ノード８は、属性値を抽出し（Ｓ４２）、該当するトラヒックテーブルに既にその属性値に対応するレコードが存在するか否かのチェックを行う（Ｓ４３）。存在しない場合はレコードの作成を試みる。レコード作成の可否は、ノード８がその時に使用可能なメモリ量などを元に判断する。レコード作成が可能な場合（Ｓ４６Ｙｅｓ）、レコードを作成し（Ｓ４７）、作成したレコードのパケット量に１を加算する（Ｓ４８）。また、ステップＳ４３で既にその属性値に対応するレコードが存在することが確認された場合には、ステップＳ４４で該当レコードのパケット量に１を加算する（Ｓ４４）。次に、合計レコードのパケット量に１を加算して（Ｓ４５）、ステップＳ４１の処理に戻る。ステップＳ４１〜Ｓ４５の処理は、パケットを受信する度に計測属性種別に設定されている項目分だけ実行される。
【００２８】
図５は、ノード８の多次元トラヒックプロファイルにおける、単位時間パケット量２１３、平均値２１４、最大値２１５、標準偏差２１６、警戒モードフラグ２１７の各値の処理方法，および、攻撃検出判断手順について示すものである。
ノード８は、予め設定された、計測間隔（Ｄｃ）、例えば、１０ｓ毎に、計測属性種別に記述されている属性種別の数だけ、以下の処理を実行する。すなわち、まず、計測属性種別の中から属性種別を選択する（Ｓ５１）。全ての属性種別が選択し終わった場合にはステップＳ５６の処理に進む。選択に成功した場合、以下の演算式（１）により単位時間パケット量２１３を計算する。
単位時間パケット量（２１３）＝パケット量（２１２）／Ｄｃ…（１）
【００２９】
ステップＳ５２では、上記により計算した単位時間パケット量２１３を、過去Ｄｏ回分履歴として記録する。これらの値を、以下、ｐ（０）,ｐ（１）、…、ｐ（Ｄｏ−１）と記述する。ここでＤｏの値は計測期間を表すものであり、管理者によって設定されることとする、また、ｐ（０）は、（１）式で計算した最新の単位時間パケット量（２１３）とする。そして、ステップＳ５３では、単位時間パケット量情報がＤｏ回分履歴として記録されているか否かを判断し、記録されていない場合には、トラヒックプロファイルが十分に構成されていないと判断してステップＳ５１の処理に進む。
【００３０】
ステップＳ５４では、各レコードの警戒モードフラグ（２１７）について、最新の単位時間パケット量ｐｏが、多次元トラヒックプロファイルの分布を大きく超えた場合“ＯＮ”に設定し、それ以外の場合“ＯＦＦ”に設定する。例えば、特定のレコードのｐ（０）が計測期間内の最大値（２１５）をＮ１倍超える、または、ｐ（０）が平均値（２１３）＋Ｎ２×分散値（２１５）を超える、などの条件を満たすときに“ＯＮ”設定する。
次に、ステップＳ５５では、警戒モードフラグ（２１７）に“ＯＮ”設定されたレコードが存在する場合、そのレコードの属性値を「異常属性値」として登録する。複数のレコードの警戒モードフラグ（２１７）が“ＯＮ”になった場合、それらの属性値の論理和（ＯＲ）条件を異常属性値とする。例えば、宛先ポートトラヒックテーブルで属性値“Ｘ１”のレコードと属性値“Ｘ２”の警戒モードフラグが“ＯＮ”設定された場合、異常属性値｛宛先ポート＝Ｘ１ ＯＲ 宛先ポート＝Ｘ２｝となる。
【００３１】
またステップＳ５５では、既に別の属性種別で異常属性値が登録されている場合には、新たな異常属性値を論理積（ＡＮＤ）条件で追加する。例えば上記した例で、異常属性値｛宛先ポート＝Ｘ１ ＯＲ 宛先ポート＝Ｘ２｝が既に登録されていて、新たに、パケット長トラヒックテーブルで属性値“Ｙ”のレコードの警戒モードフラグも“ＯＮ”に設定された場合は、異常属性値｛宛先ポート＝Ｘ１ ＯＲ 宛先ポート＝Ｘ２｝ ＡＮＤ パケット長＝Ｙとなる。
一方、ステップＳ５６では、異常属性値に登録があるかどうか見て、登録がなければ正常状態と判断してステップＳ５７の処理に進む。ここで登録がある場合、ステップＳ６１の処理に進む。ステップＳ５６では、以下の演算式（２）により平均値（２１４）を更新する。
【００３２】
【数１】
2005159551.tif 000003
【００３３】
また、ステップＳ５８では、以下の演算式により最大値（２１５）を更新する。
最大値（２１５）＝ｍａｘ（最大値（２１５），単位時間パケット最（２１３））…（３）
ここでｍａｘ（Ａ，Ｂ）は、ＡとＢとを比較し、大きい値を返す関数である。
さらに、ステップＳ５９では、以下の演算式（４）を求めることで標準偏差（２１６）を更新する。
【００３４】
【数２】
2005159551.tif 000004
【００３５】
ステップＳ６１では、以前登録された異常属性値である「警戒属性値」と現在の異常属性値を比較し、一致している場合には、同じ攻撃と判断して、警戒カウンタ（ｃｔｒ）を１増加させる（Ｓ６２）。一致していない場合には新たな攻撃と判断して「警戒カウンタ（ｃｔｒ）」に１を代入する（Ｓ６３）。そして、ステップＳ６４では、異常属性値を警戒属性値にコピーする。
次に、ステップＳ６５で、ｃｔｒと、閾値Ｃとを比較し、ｃｔｒ≧Ｃの場合には攻撃が発生していると判断し、対策処理を実行する。それ以外の場合、処理を終了する。上記したＮｘ、Ｃの値は攻撃判定の際の「感度」を表すものであり、設定によって変更を可能とする。
【００３６】
図６は、図５に示す対策処理の詳細手順を示すフローチャートである。ノード８は、攻撃が検出されると、後述する異常キューを作成して、異常属性値を持つパケットを分類する。異常キューでは、最大出力量を、攻撃発生前のその属性値の単位時間パケット量の平均値（２１４）に制限する。以下、異常属性値が｛宛先ポート＝Ｘ１ ＯＲ 宛先ポート＝Ｘ２｝ ＡＮＤ パケット長＝Ｙであった場合を例に処理の流れを説明する。
【００３７】
まず、ステップＳ６６では、宛先ポートトラヒックテーブル（２０）の平均値（２１３）から、正常時の｛宛先ポート＝Ｘ１｝および｛宛先ポート＝Ｘ２｝に該当する単位時間パケット量の平均値の合計（μｐｏｒｔ＝Ｘ１ ＯＲ ｐｏｒｔ＝Ｘ２）を抽出する。次に、ステップＳ６７でその値を異常制限値に設定する。そして、ステップＳ４８では、異常属性が他にあるか否かを判断し、無い場合はステップＳ７２の処理に進む。異常属性が他にある場合はステップＳ６９で次の属性種別の異常属性値｛パケット長＝６４｝を参照し、その属性種別に対応したトラヒックテーブルを選択し、該当テーブルの平均値を抽出する。
上記の例の場合、パケット長トラヒックテーブルの｛パケット長＝６４｝に該当するレコードの平均値が抽出される。
【００３８】
次にステップＳ７０では、ステップＳ６９で抽出された平均値の、合計値に対する割合（平均値割合）を計算する。例えば、｛パケット長＝６４｝属性を持った平均値をμlength=64、全パケットの平均値をμとすれば、平均値割合＝μlength=64／μとなる。次に、ステップＳ７１では、先に得られた異常制限値に平均値割合を掛け合わせた値を新たな異常制限値とする。上記したステップＳ６８〜Ｓ７１の処理は、発見された異常属性値の数だけ繰り返される
一方、ステップＳ７２では異常キューを作成して、その最大転送量を異常制限値に設定する。そして、ステップＳ７３で、異常属性値を持つパケットを異常キューに分類する。
【００３９】
図７に、ノード８が持つパケット量制御モデルを示す。パケット量制御モデルは、入力パケットをクラス別に分類し、クラス毎に出力パケット量を制御するためのモデルである。
フィルタ３１は、入力されたパケットを正規クラス３２、異常クラス３３に分類する。このフィルタ３１では、入力パケットの属性値を検査し、それらが異常識別子と一致すれば、該当する異常クラス３３にそのパケットを送信する。異常識別子と一致しない場合は、正規クラス３２にそのパケットを送信する。正規クラス３２はデフォルトクラスであり、正規クラス３２に分類されたパケットは正規キュー３２１に繋がれ、出力パケット量を制限せずに出力される。一方、異常クラス３３に分類されたパケットは、異常キュー３３１に繋がれ、先に設定された異常制限値に出力パケット量が制限される。
異常クラス３３および異常キュー３３１は、図５に示すアルゴリズムに従い、異常属性値および異常制限値が作成される度に作成される。なお、ここで、「キュー」とは、ノード８内で、入力されたパケットが送信される順番を待つ間に使用される、パケットを一時的に格納するためのメモリであり、多次元トラヒックテーブルとは別の図示せぬ作業用のデータ領域に格納される。
【００４０】
以上説明のように本発明実施形態によれば、ノード８が、パケットが入力される度にそのパケットに付与されている属性値を抽出する。ここでいう属性値とは、宛先アドレス、宛先ポート、プロトコル番号、パケット長などのＩＰパケットの値を指す。ノード８は、属性種別毎に、「単位時間内に入力されたパケット量（以下、単位時間パケット量）」の属性値別の分布を予め設定された「計測期間」毎に計測し、それをトラヒックプロファイルとして記録する。
計測データが予め設定された「計測期間」分溜まると、ネットワーク装置は、例えば、その期間の平均値、最大値および標準偏差を計算してトラヒックプロファイルに記録し、以後、定間隔毎にそれらの値を更新していく。このことにより、トラヒックプロファイルは、正常時の属性値別パケット量分布を表すこととなる。
【００４１】
そして、計測時に、計測データがトラヒックプロファイルのパケット量分布と著しく異なる場合に警戒モードに入る。例えば、ある属性種別において、特定の属性値の計測データが計測期間内の最大値をＮ１倍超える、または、計測期間内の平均値Ｎ２×標準偏差を超える、などの条件を満たすときに警戒モードに入る。さらに同一の属性値に対してこの警戒モードが連続してＣ回以上満たされた時には攻撃として検出する。これらのＮｘ、Ｃの値は攻撃判定の「感度」を表すものであり設定によって変更可能とする。
本発明によれば、正常時のパケット特徴値を表すトラヒックプロファイルを自動更新し、その内容と計測期間毎のパケット量分布とをリアルタイムに比較することで、異常条件の設定を予め行うことなく、攻撃の検出を可能とする。
【００４２】
更に本発明によれば、攻撃を検出すると、ノード８は、異常属性値を持つパケットと異常属性値を持たないパケットとを別々のキューに割り当てる。異常属性値を持つパケットに割り当てられるキューは、最大出力量を正常時のその属性値の単位時間パケット量の平均値に制限する。
例えば、異常属性値として｛宛先ポート＝Ｘ｝が抽出され、トラヒックプロファイルに記録されている正常時の｛宛先ポート＝Ｘ｝の単位時間パケット長の平均値がＹであったとすれば、攻撃発生後、｛宛先ポート＝Ｘ｝のパケットは、最大出力量がＹに制限された「異常キュー」に割り当てられるようになる。異常属性値が複数の属性種別に抽出された場合には、それらの論理積（ＡＮＤ）条件を持ったパケットを異常キューに分類する。その際、異常キューの最大出力量を、正常時における各異常属性値の割合に応じて更に制限する。
【００４３】
具体的に、上記の例で、異常属性値として｛パケット長＝６４｝も同時に抽出された場合を考える。多次元トラヒックプロファイルに記録されている、単位時間パケット量の平均値について、全パケットに対する、｛パケット長＝６４｝属性を持ったパケットの割合がａであったとすれば、攻撃発生後、宛先ポート＝Ｘ ＡＮＤ パケット長＝６４｝のパケットは、出力量の最大値がＹ×ａに制限された「異常キュー」に割り当てられるようになる。
このように本発明によれば、ノードが攻撃パケットに対して帯域制限を行い、その制限値を正常時のトラヒックプロファイルに基づき自動的に算出することで、異常識別子を持たない正規利用者のパケットへの影響を少なくすることができる。
【００４４】
なお、上記した本発明実施形態によれば、本発明のネットワーク装置をノード８に実装した場合について説明したが、ＷＡＮ等のネットワークに繋がれる他のノード５〜７にも実装されるものであり、その場合も上記と同様の機能を持ち、そして動作するものである。
また、図２に示すパケット量分布計測部８１と、トラヒックプロファイル抽出部８３と、攻撃検出部８４と、攻撃パケット特徴値抽出部８５と、帯域制限値算出部８６のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明を実現するものである。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含む。
【００４５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４６】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００４７】
【図１】本発明のネットワーク装置が接続されるネットワーク環境を説明するために引用した図である。
【図２】本発明のネットワーク装置が実装されるノードの内部構成を機能展開して示したブロック図である。
【図３】本発明実施形態で用いられる多次元トラヒックプロファイルのデータ構造の一例を示す図である。
【図４】本発明実施形態の動作を示すフローチャートである。
【図５】本発明実施形態の動作を示すフローチャートである。
【図６】本発明実施形態の動作を示すフローチャートである。
【図７】本発明のネットワーク装置が持つパケット量制御モデルを概念的に示した図である。
【符号の説明】
【００４８】
１〜４…端末、５〜８…ノード（ネットワーク装置）、９…ＷＡＮ、８１…パケット量分布計測部、８２…トラヒックプロファイルＤＢ、８３…トラヒックプロファイル抽出部、８４…攻撃検出部、８５…攻撃パケット特徴値抽出部、８６…帯域制限値算出部
【図１】
2005159551.tif 000005
【図２】
2005159551.tif 000006
【図３】
2005159551.tif 000007
【図４】
2005159551.tif 000008
【図５】
2005159551.tif 000009
【図６】
2005159551.tif 000010
【図７】
2005159551.tif 000011