(57)【特許請求の範囲】
【請求項１】
ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置であって、
パケットに含まれる各属性の中から選択した少なくとも１つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手段と、
前記分布データ生成手段によって生成された通常時の前記分布データを、通常パケット分布とみなすとともに、異常時の分布データをあらわす異常分布データを、前記通常パケット分布へ攻撃パケットの分布を加算した分布とみなしたうえで、前記区域ごとに通常パケット数および前記攻撃パケット数を取得する取得手段と、
前記取得手段によって前記区域ごとに取得された前記通常パケット数および前記攻撃パケット数に基づいてパケットを遮断する前記区域の候補を選択するとともに、既に選択された前記候補における前記通常パケット数の累計数が所定の条件を満たした場合に、すべての前記候補にそれぞれ含まれるパケットを遮断するパケット通過制御手段と
を備えたことを特徴とする中継装置。
【請求項２】
前記通常分布データと前記異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手段
をさらに備え、
前記パケット通過制御手段は、
前記異常度算出手段が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過／遮断を制御する
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記パケット通過制御手段は、
前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の降順で順次算出し、前記異常分布データのパケット総数から前記累計数を差し引いた値が出力パケットの許容数を下回った場合には、当該区域および当該区域以前の区域に属するパケットを遮断することを特徴とする請求項２に記載の中継装置。
【請求項４】
前記パケット通過制御手段は、
前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする請求項２に記載の中継装置。
【請求項５】
前記パケット通過制御手段は、
前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする請求項２に記載の中継装置。
【請求項６】
前記パケット通過制御手段は、
前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の昇順で順次算出し、前記累計数が出力パケットの許容数を上回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする請求項２に記載の中継装置。
【請求項７】
前記パケット通過制御手段は、
前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の昇順で順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする請求項２に記載の中継装置。
【請求項８】
前記パケット通過制御手段は、
前記異常度の降順で前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする請求項２に記載の中継装置。
【請求項９】
前記異常度算出手段は、
前記異常分布データに含まれる区域に属するパケット数を当該区域に対応した前記通常分布データに含まれる区域に属するパケット数で除した値を前記異常度とすることを特徴とする請求項２〜８のいずれか一つに記載の中継装置。
【請求項１０】
前記異常度算出手段は、
前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常度とすることを特徴とする請求項２〜８のいずれか一つに記載の中継装置。
【請求項１１】
前記異常度算出手段は、
前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常分布データについての標準偏差で除した値を前記異常度とすることを特徴とする請求項２〜８のいずれか一つに記載の中継装置。
【請求項１２】
前記パケット通過制御手段は、
前記区域に属するパケットの累計数として、異常時のパケット数から通常時のパケット数を差し引いた差分数を用い、遮断対象とすることを決定した区域に属するパケットのうち前記差分数のパケットを遮断することを特徴とする請求項１〜１１のいずれか一つに記載の中継装置。
【請求項１３】
ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置に搭載される中継装置用プログラムであって、
パケットに含まれる各属性の中から選択した少なくとも１つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手順と、
前記分布データ生成手順によって生成された通常時の前記分布データを、通常パケット分布とみなすとともに、異常時の分布データをあらわす異常分布データを、前記通常パケット分布へ攻撃パケットの分布を加算した分布とみなしたうえで、前記区域ごとに通常パケット数および前記攻撃パケット数を取得する取得手順と、
前記取得手順によって前記区域ごとに取得された前記通常パケット数および前記攻撃パケット数に基づいてパケットを遮断する前記区域の候補を選択するとともに、既に選択された前記候補における前記通常パケット数の累計数が所定の条件を満たした場合に、すべての前記候補にそれぞれ含まれるパケットを遮断するパケット通過制御手順と
をコンピュータに実行させることを特徴とする中継装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置および中継装置用プログラムに関し、特に、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄することができる中継装置および中継装置用プログラムに関する。
【背景技術】
【０００２】
近年、サービスプロバイダが提供するネットワークを妨害するネットワーク攻撃が問題となっている。このネットワーク攻撃としては、たとえば、悪意のある攻撃者がネットワークに対して大量のパケットを送信することでネットワークに負荷をかけ、これによりネットワークサービス提供者のサービスを妨害するＤｏＳ攻撃（Denial  of  Service）やＤＤｏＳ攻撃（Distributed  Denial  of  Service）が知られている。
【０００３】
これらの攻撃からネットワークに接続された通信機器（サーバ装置など）を防御するために、種々の攻撃防御方法が提案されている。たとえば、特許文献１には、ネットワーク上を流通するパケットを中継するルータなどの中継装置に攻撃パケットを検出するための検出ルールを登録し、中継装置がこの検出ルールに基づいて攻撃パケットの廃棄をおこなう技術が開示されている。
【０００４】
【特許文献１】特開２００５−０３９７２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている中継装置を用いた場合、上記した検出ルールが攻撃者に知られてしまうと、攻撃者が検出ルールを回避しつつ新たな攻撃を仕掛けることが可能となる。すなわち、検出ルールを保持するタイプの中継装置は検出ルールが攻撃者に漏洩してしまう危険性をはらんでいるので、かかる中継装置には攻撃用のパケットを確実に廃棄することができないという課題が残されていた。
【０００６】
このため、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄することができる中継装置をいかにして実現するかが大きな課題となっている。
【０００７】
この発明は、上述した従来技術による問題点を解消するためになされたものであって、攻撃者に防御パターンを知られることなく攻撃パケットを確実に廃棄することができる中継装置および中継装置用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明は、ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置であって、パケットに含まれる各属性の中から選択した少なくとも１つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手段と、前記分布データ生成手段が生成した分布データに基づいてパケットの通過／遮断を制御するパケット通過制御手段とを備えたことを特徴とする。
【０００９】
また、本発明は、上記の発明において、前記分布データ生成手段が生成した通常時の前記分布データをあらわす通常分布データと異常時の前記分布データをあらわす異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手段をさらに備え、前記パケット通過制御手段は、前記異常度算出手段が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過／遮断を制御することを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の降順で順次算出し、前記異常分布データのパケット総数から前記累計数を差し引いた値が出力パケットの許容数を下回った場合には、当該区域および当該区域以前の区域に属するパケットを遮断することを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする。
【００１２】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする。
【００１３】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の昇順で順次算出し、前記累計数が出力パケットの許容数を上回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする。
【００１４】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の昇順で順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする。
【００１５】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記異常度の降順で前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする。
【００１６】
また、本発明は、上記の発明において、前記異常度算出手段は、前記異常分布データに含まれる区域に属するパケット数を当該区域に対応した前記通常分布データに含まれる区域に属するパケット数で除した値を前記異常度とすることを特徴とする。
【００１７】
また、本発明は、上記の発明において、前記異常度算出手段は、前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常度とすることを特徴とする。
【００１８】
また、本発明は、上記の発明において、前記異常度算出手段は、前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常分布データについての標準偏差で除した値を前記異常度とすることを特徴とする。
【００１９】
また、本発明は、上記の発明において、前記パケット通過制御手段は、前記区域に属するパケットの累計数として、異常時のパケット数から通常時のパケット数を差し引いた差分数を用い、遮断対象とすることを決定した区域に属するパケットのうち前記差分数のパケットを遮断することを特徴とする。
【００２０】
また、本発明は、ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置に搭載される中継装置用プログラムであって、パケットに含まれる各属性の中から選択した少なくとも１つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手順と、前記分布データ生成手順が生成した分布データに基づいてパケットの通過／遮断を制御するパケット通過制御手順とをコンピュータに実行させることを特徴とする。
【００２１】
また、本発明は、上記の発明において、前記分布データ生成手順が生成した通常時の前記分布データをあらわす通常分布データと異常時の前記分布データをあらわす異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手順をさらにコンピュータに実行させ、前記パケット通過制御手順は、前記異常度算出手順が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過／遮断を制御することを特徴とする。
【発明の効果】
【００２２】
本発明によれば、パケットに含まれる各属性の中から選択した少なくとも１つの属性を対象とし、対象とした属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成し、生成した分布データに基づいてパケットの通過／遮断を制御するよう構成したので、静的な検出パターンではなく、動的な分布データに基づいてパケットの遮断制御をおこなうことによって、攻撃者に防御パターンを知られることなく攻撃パケットを確実に廃棄することができるという効果を奏する。
【００２３】
また、本発明によれば、通常時の分布データをあらわす通常分布データと異常時の分布データをあらわす異常分布データとを比較することによって区域ごとの異常の度合いを示す異常度を算出し、算出した区域の異常度に基づいて区域ごとにパケットの通過／遮断を制御するよう構成したので、通常分布データと異常分布データを対比することによって得られる異常度に基づいてパケットの遮断制御をおこなうことによって、効率よく攻撃パケットを廃棄することができるという効果を奏する。
【００２４】
また、本発明によれば、異常分布データに含まれる区域に属するパケットの累計数を異常度の降順で順次算出し、異常分布データのパケット総数から累計数を差し引いた値が出力パケットの許容数を下回った場合には、この区域およびこの区域以前の区域に属するパケットを遮断するよう構成したので、出力パケットの許容数を上回った場合に異常度が高い区域を優先して遮断することができるという効果を奏する。
【００２５】
また、本発明によれば、通常分布データに含まれる区域に属するパケットの累計数である通常累計数を異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を異常度の降順で順次算出し、算出した値が所定値を上回った場合には、この区域以前の区域に属するパケットを遮断するよう構成したので、通常累計数を異常累計数で除した値、すなわち、誤検知率に基づいて遮断対象の区域を選択することによって、遮断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【００２６】
また、本発明によれば、通常分布データに含まれる区域に属するパケットの累計数である通常累計数を通常分布データのパケット総数で除した値を異常度の降順で順次算出し、算出した値が所定値を上回った場合には、この区域以前の区域に属するパケットを遮断するよう構成したので、通常累計数を通常分布データのパケット総数で除した値、すなわち、巻き添え率に基づいて遮断対象の区域を選択することによって、断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【００２７】
また、本発明によれば、異常分布データに含まれる区域に属するパケットの累計数を異常度の昇順で順次算出し、累計数が出力パケットの許容数を上回った場合には、この区域およびこの区域以降の区域に属するパケットを遮断するよう構成したので、出力パケットの許容数を上回った場合に異常度が高い区域を優先して遮断することができるという効果を奏する。
【００２８】
また、本発明によれば、通常分布データに含まれる区域に属するパケットの累計数である通常累計数を異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を異常度の昇順で順次算出し、算出した値が所定値を下回った場合には、この区域およびこの区域以降の区域に属するパケットを遮断するよう構成したので、通常累計数を異常累計数で除した値、すなわち、誤検知率に基づいて遮断対象の区域を選択することによって、遮断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【００２９】
また、本発明によれば、異常度の降順で通常分布データに含まれる区域に属するパケットの累計数である通常累計数を通常分布データのパケット総数で除した値を順次算出し、算出した値が所定値を下回った場合には、この区域およびこの区域以降の区域に属するパケットを遮断するよう構成したので、通常累計数を通常分布データのパケット総数で除した値、すなわち、巻き添え率に基づいて遮断対象の区域を選択することによって、断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【００３０】
また、本発明によれば、異常分布データに含まれる区域に属するパケット数をこの区域に対応した通常分布データに含まれる区域に属するパケット数で除した値を異常度とするよう構成したので、攻撃パケット数および非攻撃パケット数の総和を非攻撃パケット数で除した値を異常度とすることによって、攻撃パケットの割合が高い区域を容易に判別することができるという効果を奏する。
【００３１】
また、本発明によれば、異常分布データに含まれる区域に属するパケット数からこの区域に対応した通常分布データに含まれる区域に属するパケット数を差し引いた値を異常度とするよう構成したので、攻撃パケット数および非攻撃パケット数の総和から非攻撃パケット数を差し引いた値、すなわち、攻撃パケット数を異常度とすることによって、攻撃パケットを数多く含む区域を容易に判別することができるという効果を奏する。
【００３２】
また、本発明によれば、異常分布データに含まれる区域に属するパケット数からこの区域に対応した通常分布データに含まれる区域に属するパケット数を差し引いた値を異常分布データについての標準偏差で除した値を異常度とするよう構成したので、攻撃パケット数を標準偏差で除した値を異常度とすることによって、遮断対象となる区域を適正に選択することができるという効果を奏する。
【００３３】
また、本発明によれば、区域に属するパケットの累計数として、異常時のパケット数から通常時のパケット数を差し引いた差分数を用い、遮断対象とすることを決定した区域に属するパケットのうち差分数のパケットを遮断するよう構成したので、攻撃パケットとともに非攻撃パケットが遮断されてしまう事象を効果的に抑制することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３４】
以下に添付図面を参照して、この発明に係る中継装置および中継装置用プログラムの実施例を詳細に説明する。
【実施例】
【００３５】
まず、本発明に係る中継装置の特徴について図１を用いて説明する。図１は、本発明に係る中継装置１０の特徴を示す図である。図１に示すように、インターネット２０、ＩＳＰ（Internet  Service  Provider）が管理するＩＳＰ網２１および企業網２２の各ネットワークが接続されたネットワーク環境に、本発明に係る中継装置１０が設けられている。ここで、この中継装置１０はＩＳＰ網２１と企業網２２との間で送受信されるパケットを中継する処理を行う装置である。なお、図１においては、この中継装置１０がＩＳＰ網２１に設けられた場合について示しているが、これに限らず、ＩＳＰ網２１と企業網２２との間あるいは企業網２２に中継装置１０を設けることとしても構わない。
【００３６】
図１に示したネットワーク環境において、攻撃者は企業網２２に攻撃を仕掛けるため、インターネット２０およびＩＳＰ網２１を介して企業網２２に対して攻撃用パケットを大量に送信する。本実施例に係る中継装置１０は、かかる攻撃用パケットの中継を制御することによって企業網２２を防御する目的で用いられる。なお、企業網２２には、図示しないＩＤＳ（Intrusion  Detection  System）が設けられており、企業網２２が攻撃されているなどの異常状態を検出すると、かかる異常を中継装置１０に対して通知するものとする。
【００３７】
図１に示す中継装置１０は、中継対象パケットの統計を取得する機能（パケット統計機能）を有しており、攻撃がない状態における通常時の分布データを生成する（図１の（１）参照）。ここで「分布データ」とは、パケット（たとえば、ＩＰ（Internet  Protocol）パケット）を構成する１つ以上の属性（以下、「フィールド」と記載する）について、フィールドの設定値を複数の区域に分割して区域ごとのパケット数の分布を計数したデータである。
【００３８】
この「フィールド」としては、たとえば、ＩＰヘッダのＴＴＬ（Time  To  Live）、Ｐｒｏｔｏｃｏｌ、送信元アドレス、宛先アドレスなどがある。そして、「複数の区域に分割」とは、たとえば、ＴＴＬが０〜２５５の値をとると仮定した場合に、０〜７、８〜１５、１６〜２３というように分割することを指す。なお、本実施例においては、各区域を等分にした場合について説明するが、各区域をそれぞれ等分にする必要はなく、たとえば、パケット量に応じて各区域を不等分に構成することとしてもよい。
【００３９】
中継装置１０の動作についての説明をつづける。攻撃者が、インターネット２０およびＩＳＰ網２１を介して企業網２２に攻撃パケットを大量に送信すると、企業網２２のＩＤＳが異常を検出して中継装置１０に通知する（図１の（２）参照）。異常通知を受けた中継装置１０は、上記したパケット統計機能を用いて異常時の分布データを生成する（図１の（３）参照）。そして、生成した異常時分布データと、通常時（攻撃がない状態）で生成しておいた通常時分布データとの比較結果に基づいて企業網２２に対するパケットの遮断制御を実施する（図１の（４）参照）。
【００４０】
このように、本実施例に係る中継装置１０は、上記した「通常時分布データ」と「異常時分布データ」との比較結果に基づいて攻撃パケットの遮断制御をおこなうので、攻撃者に防御パターンを読み取られるおそれがない。すなわち、攻撃パケット検出ルールをあらかじめ設定するタイプの中継装置では、設定した検出ルールが攻撃者に知られてしまうと検出ルールを回避した形の攻撃を仕掛けられるおそれがあった。これに対し、本実施例に係る中継装置１０は、異常時のパケット量と通常時のパケット量とを比較することによって遮断すべきパケットを動的に決定するので防御パターンを攻撃者に知られるおそれがない。したがって、本実施例に係る中継装置１０を用いることとすれば、攻撃パケットを確実に廃棄（遮断）することができる。
【００４１】
次に、本実施例に係る中継装置１０の内部構成について図２を用いて説明する。図２は、中継装置１０の構成を示すブロック図である。同図に示すように、中継装置１０は、入力インタフェース部１１と、出力インタフェース部１２と、分布データ生成部１３と、分布データ管理部１４と、異常度算出部１５と、パケット制御部１６とを備えている。なお、以下の説明においては、ＩＰに準拠したパケットをＩＰパケットと記載することとし、中継装置１０がこのＩＰパケットを中継する場合について説明することとする。
【００４２】
入力インタフェース部１１は、ＬＡＮ（Local  Area  Network）ボードなどの通信デバイスで構成され、ＩＳＰ網２１を経由して転送されるＩＰパケットや、企業網２２を経由して転送されるＩＰパケットを受け付け、受け付けたＩＰパケットを分布データ生成部１３やパケット制御部１６に渡す処理をおこなう処理部である。また、出力インタフェース部１２は、入力インタフェース部１１と同じくＬＡＮボードなどの通信デバイスで構成され、パケット制御部１６が通過させることを決定したＩＰパケットをＩＳＰ網２１や企業網２２に出力する処理をおこなう処理部である。
【００４３】
分布データ生成部１３は、入力インタフェース部１１から渡されたＩＰパケットを構成する一つ以上のフィールドについて、各フィールドに設定された値が、上記したどの区域に該当するかを判定して区域ごとのパケット数に関する分布データを生成する処理部である。
【００４４】
具体的には、この分布データ生成部１３は、非攻撃時（通常時）における分布データ（通常時分布データ１４ａ）を生成して分布データ管理部１４に渡すとともに、攻撃時（異常時）における分布データ（異常時分布データ１４ｂ）を生成して分布データ管理部１４に渡す処理をおこなう。なお、企業網２２が異常である旨の通知は、この分布データ生成部１３が受け取ることとしてもよいし、異常通知を受け取る処理部をあらたに設け、この処理部が分布データ生成部１３に異常通知を渡すよう構成してもよい。
【００４５】
また、この分布データ生成部１３は、各区域に属するパケットの個数が単位時間あたりに何個であるかを計数する。なお、単位時間としては、たとえば、１秒間などの時間を用いることができ、通信量や運用方式などに応じて任意の時間に変更することができる。
【００４６】
分布データ管理部１４は、不揮発性ＲＡＭ（Random  Access  Memory）や磁気ディスク装置といった記憶デバイスを用いることによって、分布データ生成部１３から渡された通常時分布データ１４ａおよび異常時分布データ１４ｂを管理する処理をおこなう処理部である。ここで、分布データ管理部１４が管理する分布データの例について図３を用いて説明しておく。図３は、分布データ管理部１４が管理する分布データの一例を示す図である。なお、図３に示した（Ａ）が通常時分布データ１４ａの例であり、同じく（Ｂ）が異常時分布データ１４ｂの例である。
【００４７】
同図に示す各分布データ（１４ａおよび１４ｂ）のグラフは、横軸が上記した「区域」をあらわしており、縦軸がパケット数（度数）をあらわしている。また、各グラフは、ＩＰパケットを構成するフィールドの中からＴＴＬフィールドを選択した場合を示している。図３に示すように、ＴＴＬに設定されている値が０〜７に該当するパケットを区域１に、８〜１５に該当するパケットを区域２に、というように全パケットをＴＴＬの値に応じて各区域に分類する。なお、図３においては、ＴＴＬフィールドの値を８ごとに各区域に対応させる場合について示したが、これに限らず、１ごと、あるいは、任意の数ｎごとに分類することとしてもよい。
【００４８】
また、ＴＴＬフィールドのように単一のフィールドに着目するのではなく、たとえば、ＴＴＬおよびＰｒｏｔｏｃｏｌというように複数のフィールドに着目して各パケットが属する区域を決定することとしてもよい。すなわち、攻撃が仕掛けられていることを特定することができるフィールドであれば、いかなるフィールドを採用してもよく、また、単一のフィールドのみではなく複数のフィールドに着目することとしてもよい。
【００４９】
図３の（Ｂ）に示した斜線部分が、図３の（Ａ）に示した通常時の分布データから増加したパケット数に該当する。このように、図３の（Ｂ）に示した異常時分布データは、１日前、１週間前、あるいは、１ヶ月前の同時刻などに生成された図３の（Ａ）に示した正常時分布データと比較してパケット数が増加していることがあらわされている。なお、中継装置１０が用いる通常時分布データ１４ａとしては、ＩＰパケットの遮断処理を実施していないときの分布データを用いることが望ましい。
【００５０】
図２の説明に戻り、異常度算出部１５について説明する。異常度算出部１５は、分布データ管理部１４が管理する通常時分布データ１４ａおよび異常時分布データ１４ｂに基づいて攻撃時（異常時）の異常性の度合いを示す「異常度」を算出する処理部である。
【００５１】
この異常度算出部１５は、区域ごとに通常時のパケット数（図３の黒い矩形）と、異常時のパケット数（図３の斜線の矩形＋黒い矩形）とを対比することによって、かかる「異常度」を算出する。たとえば、通常時のパケット数をＮ［ｉ］（ｉは０以上の整数であり、各区域に対応する）、異常時のパケットをＡ［ｉ］とすれば異常度は、
【数１】
0004551316.tif 000002
であらわされる。
【００５２】
式（１）に示すように、異常時のパケット数を通常時のパケット数で除した値が大きい区域ほど異常度が高いと判定される。そして、異常度算出部１５は、異常度の降順あるいは昇順で各区域に優先順位をつけ、優先順位が高い区域に属するパケットは後述するパケット制御部１６によってパケット遮断の対象とされることになる。なお、異常度算出部１５は、Ｎ［ｉ］が０の場合にはＡ［ｉ］が大きい区域ほど異常度が高いと判定する。
【００５３】
パケット制御部１６は、入力インタフェース部１１から受け取ったパケットについて遮断／通過の判定をおこなったうえで、通過対象と判定したパケットを出力インタフェース部１２を介してネットワークに出力する処理をおこなう処理部である。具体的には、このパケット制御部１６は、異常度算出部１５が算出した異常度に基づいて各区域を遮断対象とするか否かを判定し、遮断対象の区域に属するパケットである場合には、このパケットを遮断する。一方、遮断対象の区域に属さないパケットである場合には、このパケットを通過させることになる。
【００５４】
なお、上記した分布データ生成部１３、分布データ管理部１４、異常度算出部１５およびパケット制御部１６は、それぞれＣＰＵ（Central  Processing  Unit）などのプロセッサによって処理されるプログラムのモジュールであってもよい。そして、各モジュールは１つのＣＰＵで処理されてもよく、複数のＣＰＵに分散して処理されてもよい。
【００５５】
次に、異常度算出部１５およびパケット制御部１６がおこなう処理の詳細について図４を用いて説明する。図４は、中継装置１０においておこなわれるパケット制御処理の処理手順を示すフローチャートである。同図に示すように、まず、異常時のパケット数の累計をあらわす異常累計数を０に初期化するとともに（ステップＳ１０１）、異常分布データ１４ｂに属する総パケット数を算出する（ステップＳ１０２）。
【００５６】
つづいて、各区域について異常度（たとえば、数（１））を算出し（ステップＳ１０３）、各区域を異常度の高いほうから低いほうに並べたうえで、異常度が最大の区域を選択する（ステップＳ１０４）。そして、選択した区域の異常時パケット数（Ａ［ｉ］）を異常累計数に加算し（ステップＳ１０５）、総パケット数から異常累計数を差し引いた値が許容パケット数よりも小さいか否かを判定する（ステップＳ１０６）。ここで、許容パケット数とは、たとえば、ＩＳＰ網２１と企業網２２とを接続する回線の速度に応じてあらかじめ決められた値である。なお、この許容パケット数は、運用の状況に応じて適宜変更することができる。
【００５７】
ステップＳ１０６において許容パケット数以上であると判定された場合には（ステップＳ１０６，Ｎｏ）、選択した区域の全ＩＰパケットを遮断することを決定し（ステップＳ１０７）、異常度が次に大きい区域を対象区域として選択して（ステップＳ１０８）ステップＳ１０５以降の処理を繰り返す。
【００５８】
一方、ステップＳ１０６において許容パケット数より小さいと判定された場合には（ステップＳ１０６，Ｙｅｓ）、選択した区域の全ＩＰパケットを遮断することを決定し（ステップＳ１０９）、遮断しなかったＩＰパケットを通過させて（ステップＳ１１０）処理を終了する。なお、ステップＳ１０６において一度もＮｏの判定をおこなうことなくＹｅｓの判定をおこなった場合、すなわち、異常時分布データのパケット総数が許容パケット数を下回っている場合には、ステップＳ１０９の動作をおこなうことなく（ＩＰパケットを遮断することなく）全ＩＰパケットを通過させることとしてもよい。
【００５９】
次に、図４に示したパケット制御処理の変形例１について図５を用いて説明する。図５は、図４に示したパケット制御処理の変形例１を示すフローチャートである。この変形例１は、通常時分布データ１４ａの各区域についてのパケット数を累計した通常累計数を、異常時分布データ１４ｂの各区域についてのパケット数を累計した異常累計数で除した値が許容値を上回るまで、該当する区域に属するパケットを遮断対象とするものである。
【００６０】
図５に示すように、まず、異常時のパケット数の累計をあらわす異常累計数と、通常時のパケット数の累計をあらわす通常累計数とを０に初期化し（ステップＳ２０１）、各区域について異常度（たとえば、数（１））を算出する（ステップＳ２０２）。そして、各区域を異常度の高いほうから低いほうに並べたうえで、異常度が最大の区域を選択する（ステップＳ２０３）。
【００６１】
つづいて、選択した区域の異常時パケット数（Ａ［ｉ］）を異常累計数に加算するとともに（ステップＳ２０４）、通常時パケット数（Ｎ［ｉ］）を通常累計数に加算する（ステップＳ２０５）。そして、通常累計数を異常累計数で除した値が所定の許容値よりも大きいか否かを判定する（ステップＳ２０６）。
【００６２】
ここで、この「通常累計数を異常累計数で除した値」を誤検知率と呼ぶこととする。この誤検知率が０であれば、遮断対象となる区域に属する通常時のＩＰパケットが巻き添えとなって異常時のＩＰパケットとともに遮断されることがないことになる。また、この誤検知率が大きいほど通常時のＩＰパケットが巻き添えを被る比率が高まってしまうことになる。なお、所定の許容値とは、運用の状況応じてあらかじめ決められた値であり、運用状況の変化に応じて適宜変更することができる。
【００６３】
ステップＳ２０６において所定の許容値以下であると判定された場合には（ステップＳ２０６，Ｎｏ）、選択した区域の全ＩＰパケットを遮断することを決定し（ステップＳ２０７）、異常度が次に大きい区域を対象区域として選択して（ステップＳ２０８）ステップＳ２０５以降の処理を繰り返す。一方、ステップＳ２０６において所定の許容値より大きいと判定された場合には（ステップＳ２０６，Ｙｅｓ）、遮断しなかったＩＰパケットを通過させて（ステップＳ２０９）処理を終了する。
【００６４】
次に、図４に示したパケット制御処理の変形例２について図６を用いて説明する。図６は、図４に示したパケット制御処理の変形例２を示すフローチャートである。この変形例２は、通常時のＩＰパケットの巻き添え（遮断対象の区域に含まれる通常パケットが異常パケットともに遮断されること）を配慮した変形例である。
【００６５】
図６に示すように、まず、通常時のパケット数の累計をあらわす通常累計数を０に初期化するとともに（ステップＳ３０１）、通常分布データ１４ａに属する総パケット数を算出する（ステップＳ３０２）。
【００６６】
つづいて、各区域について異常度（たとえば、数（１））を算出し（ステップＳ３０３）、各区域を異常度の高いほうから低いほうに並べたうえで、異常度が最大の区域を選択する（ステップＳ３０４）。そして、選択した区域の通常時パケット数（Ｎ［ｉ］）を通常累計数に加算し（ステップＳ３０５）、この通常累計数をステップＳ３０２において算出した総パケット数で除した値が所定の許容値よりも大きいか否かを判定する（ステップＳ３０６）。
【００６７】
ここで、この「通常累計数を通常時の総パケット数で除した値」を巻き添え率と呼ぶこととする。この巻き添え率が０であれば、遮断対象となる区域に属する通常時のＩＰパケットが巻き添えとなって異常時のＩＰパケットとともに遮断されることがないことになる。また、この巻き添え率が大きいほど通常時のＩＰパケットが巻き添えを被る比率が高まってしまうことになる。なお、所定の許容値とは、運用の状況に応じてあらかじめ決められた値であり、運用状況の変化に応じて適宜変更することができる。
【００６８】
ステップＳ３０６において所定の許容値以下であると判定された場合には（ステップＳ３０６，Ｎｏ）、選択した区域の全ＩＰパケットを遮断することを決定し（ステップＳ３０７）、異常度が次に大きい区域を対象区域として選択して（ステップＳ３０８）ステップＳ３０５以降の処理を繰り返す。一方、ステップＳ３０６において所定の許容値より大きいと判定された場合には（ステップＳ３０６，Ｙｅｓ）、遮断しなかったＩＰパケットを通過させて（ステップＳ３０９）処理を終了する。
【００６９】
次に、図４に示したパケット制御処理の変形例３について図７を用いて説明する。図７は、図４に示したパケット制御処理の変形例３を示すフローチャートである。この変形例３は、図４、変形例１（図５）および変形例２（図６）において異常度の高い区域から低い区域に向かって（異常度の降順で）おこなっていた処理を、異常度の昇順でおこなった場合の処理手順を示したものである。なお、図７においては、図４に示した処理を異常度の昇順にした場合について示しているが、同様に、図５あるいは図６に示した処理を異常度の昇順でおこなうことも可能である。
【００７０】
図７に示すように、まず、異常時のパケット数の累計をあらわす異常累計数を０に初期化するとともに（ステップＳ４０１）、異常分布データ１４ｂに属する総パケット数を算出する（ステップＳ４０２）。
【００７１】
つづいて、各区域について異常度（たとえば、数（１））を算出し（ステップＳ４０３）、各区域を異常度の低いほうから高いほうに並べたうえで、異常度が最小の区域を選択する（ステップＳ４０３）。そして、選択した区域の異常時パケット数（Ａ［ｉ］）を異常累計数に加算し（ステップＳ４０５）、総パケット数から異常累計数を差し引いた値が許容パケット数よりも大きいか否かを判定する（ステップＳ４０６）。
【００７２】
ステップＳ４０６において許容パケット数以下であると判定された場合には（ステップＳ４０６，Ｎｏ）、選択した区域の全ＩＰパケットを通過させることを決定し（ステップＳ４０７）、異常度が次に小さい区域を対象区域として選択して（ステップＳ４０８）ステップＳ４０５以降の処理を繰り返す。
【００７３】
一方、ステップＳ４０６において許容パケット数より大きいと判定された場合には（ステップＳ４０６，Ｙｅｓ）、選択した区域以降の区域に属する全パケットを遮断することを決定して（ステップＳ４０９）処理を終了する。
【００７４】
なお、上述した説明においては、異常度を上記した式（１）で求められる値としたが、かかる異常度をこれとは異なる算出式で算出することとしてもよい。すなわち、式（１）と同様に、通常時のＩＰパケット数をＮ［ｉ］（ｉは０以上の整数であり、各区域に対応する）、異常時のＩＰパケットをＡ［ｉ］として異常度を、
【数２】
0004551316.tif 000003
とあらわすこととしてもよい。
【００７５】
つまり、式（２）では、異常度を、異常時のパケット数Ａ［ｉ］から通常時のパケット数Ｎ［ｉ］を差し引いた値としている。式（２）を用いることで、通常時を基準として異常時のパケット数が大きく増加している区域を優先して遮断対象とすることができる。
【００７６】
また、異常度を算出する算出式の他の例として、異常時の時刻ごとの分布データに係る区域ｉの標準偏差ＳＤを用いるものがある。すなわち、式（１）あるいは式（２）と同様に、通常時のＩＰパケット数をＮ［ｉ］（ｉは０以上の整数であり、各区域に対応する）、異常時のＩＰパケットをＡ［ｉ］とあらわすとともに、上記した標準偏差をＳＤとして異常度を、
【数３】
0004551316.tif 000004
とあらわすこととしてもよい。
【００７７】
また、図４〜図７に示したフローチャートでは、ステップＳ１０７、ステップＳ２０７、ステップＳ３０７およびステップＳ４０８において、遮断対象と決定した区域に属する全パケットを遮断することとした場合について説明した。しかしながら、これに限らず、遮断対象と決定した区域に属するパケットのうち異常時に増加したパケット数（図３の斜線の矩形参照）分のパケットを遮断することとしてもよい。
【００７８】
上述してきたように、本実施例においては、分布データ生成部が、入力されたパケットについて通常時および異常時の分布データを生成し、分布データ管理部が、分布データ生成部が生成した各分布データを管理し、異常度算出部が、分布データ管理部が管理する通常時分布データおよび異常時分布データに基づいて異常度を算出するよう構成した。そして、パケット制御部が、異常度算出部が算出した異常度に基づいてパケットの通過／遮断を判定し、通過対象としたパケットを出力するよう構成した。したがって、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄することができる。
【００７９】
ところで、上述した実施例においては、中継装置がＩＤＳから異常通知を受けた際に異常時分布データを生成する場合について説明した。しかしながら、これに限らず、ＩＤＳを用いることなく（異常通知を受けることなく）異常時分布データを生成することも可能である。具体的には、中継装置が最新の分布データを異常時分布データとして取り扱うこととするとともに、この異常時分布データに対して、前日、１週間前、１ヶ月前の同時刻などに生成された分布データを通常時分布データとすることとしてもよい。
【００８０】
また、上記した実施例では、本発明に係る中継装置を機能面から説明したが、中継装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータ、あるいはプログラムを搭載可能なルータなどの通信機器にプログラムを実行させることによって実現することもできる。
【００８１】
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【００８２】
つまり、例を挙げれば、各実施例に示した中継装置用プログラムを格納したＣＤ−ＲＯＭを配布し、このＣＤ−ＲＯＭに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
【産業上の利用可能性】
【００８３】
以上のように、本発明に係る中継装置および中継装置用プログラムは、攻撃パケットの遮断に有用であり、特に、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄したい場合に適している。そして、本発明は、中継装置に限らず、ルータ、シェーパ、あるいは、スイッチといった他の通信機器にも適用することができる。
【図面の簡単な説明】
【００８４】
【図１】本発明に係る中継装置の特徴を示す図である。
【図２】中継装置の構成を示すブロック図である。
【図３】分布データ管理部が管理する分布データの一例を示す図である。
【図４】中継装置においておこなわれるパケット制御処理の処理手順を示すフローチャートである。
【図５】図４に示したパケット制御処理の変形例１を示すフローチャートである。
【図６】図４に示したパケット制御処理の変形例２を示すフローチャートである。
【図７】図４に示したパケット制御処理の変形例３を示すフローチャートである。
【符号の説明】
【００８５】
１０  中継装置
１１  入力インタフェース部
１２  出力インタフェース部
１３  分布データ生成部
１４  分布データ管理部
１４ａ  通常時分布データ
１４ｂ  異常時分布データ
１５  異常度算出部
１６  パケット制御部
２０  インターネット
２１  ＩＳＰ網
２２  企業網
【図１】
0004551316.tif 000005
【図２】
0004551316.tif 000006
【図３】
0004551316.tif 000007
【図４】
0004551316.tif 000008
【図５】
0004551316.tif 000009
【図６】
0004551316.tif 000010
【図７】
0004551316.tif 000011