(57)【要約】  中継装置１０は、隣接中継装置からシグネチャを受信すると、受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定する。そして、中継装置１０は、単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する。このような判定の結果、所定の閾値を連続して超過した回数が所定値を超過したと判定された場合に、中継装置１０は、隣接中継装置から受信したシグネチャを当該隣接中継装置を除く他の隣接中継装置に対して送信する。【特許請求の範囲】
【請求項１】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置であって、
前記隣接中継装置から受信したシグネチャに基づいて当該シグネチャを他の隣接中継装置に送信すべきか否かを判定し、前記他の隣接中継装置に送信すべきと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信すること
を特徴とする中継装置。
【請求項２】
前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定手段と、
前記攻撃有無判定手段によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信手段と、
を備えたことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記攻撃有無判定手段は、前記隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定するパケット数判定手段を備え、
前記シグネチャ送信手段は、前記パケット数判定手段によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする請求項２に記載の中継装置。
【請求項４】
前記攻撃有無判定手段は、前記パケット数判定手段によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する連続超過回数判定手段をさらに備え、
前記シグネチャ送信手段は、前記連続超過回数判定手段によって所定値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする請求項３に記載の中継装置。
【請求項５】
前記シグネチャ送信手段は、全ての隣接中継装置のなかから前記シグネチャを送信した隣接中継装置を除いた他の隣接中継装置に対して前記シグネチャを送信することを特徴とする請求項２、３または４に記載の中継装置。
【請求項６】
受信した前記シグネチャを記憶するシグネチャ記憶手段と、
前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定手段と、
前記識別情報判定手段によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信手段と、
を備えたことを特徴とする請求項１に記載の中継装置。
【請求項７】
前記シグネチャ記憶手段は、前記シグネチャの生成を一意に識別するための生成識別情報に対応付けて各シグネチャを記憶するものであって、
前記シグネチャ登録判定手段は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されているか否かを判定し、
前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を前記シグネチャ記憶手段に登録するとともに、当該シグネチャおよび生成識別情報を他の隣接中継装置に送信することを特徴とする請求項６に記載の中継装置。
【請求項８】
攻撃容疑パケットの検出に応じてシグネチャを生成するとともに、当該シグネチャの生成識別情報を生成するシグネチャ生成手段を備え、
当該シグネチャ生成手段は、前記シグネチャおよび生成識別情報を隣接中継装置に送信するとともに、当該中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報およびシグネチャを前記シグネチャ記憶手段に対応付けて登録することを特徴とする請求項７に記載の中継装置。
【請求項９】
前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を他の隣接中継装置に送信するとともに、当該シグネチャの直前の中継元である隣接中継装置を特定するための中継元情報、当該シグネチャの直後の中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報および容疑シグネチャを前記シグネチャ記憶手段に対応付けて登録し、
前記シグネチャ登録判定手段は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されている場合には、当該生成識別情報に対応付けて登録されている中継元情報が前記受信したシグネチャの中継元情報と同一であるか否かをさらに判定し、
前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記生成識別情報が前記シグネチャ記憶手段に既に登録されているが、前記中継元情報が同一であると判定された場合には、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に上書き登録するとともに、当該シグネチャを前記シグネチャ記憶手段に登録されている中継先情報が示す他の隣接中継装置に送信することを特徴とする請求項８に記載の中継装置。
【請求項１０】
前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記中継元情報が同一でないと判定された場合には、前記シグネチャの中継元である隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送し、さらに、当該既登録通知を他の隣接中継装置から受信した場合には、前記シグネチャ記憶手段に記憶された中継先情報から当該隣接中継装置に対応する中継先情報を削除することを特徴とする請求項９に記載の中継装置。
【請求項１１】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する複数の中継装置からなるネットワーク攻撃防御システムであって、
前記中継装置は、
前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定手段と、
前記攻撃有無判定手段によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信手段と、
を備えたことを特徴とするネットワーク攻撃防御システム。
【請求項１２】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャをシグネチャ記憶手段に登録してパケットの通過を制御するとともに、当該シグネチャを他の隣接中継装置に送信する複数の中継装置からなるネットワーク攻撃防御システムであって、
前記中継装置は、
前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定手段と、
前記識別情報判定手段によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信手段と、
を備えたことを特徴とするネットワーク攻撃防御システム。
【請求項１３】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置における中継方法であって、
前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定工程と、
前記攻撃有無判定工程によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信工程と、
を含んだことを特徴とする中継方法。
【請求項１４】
前記攻撃有無判定工程は、前記隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定するパケット数判定工程を含み、
前記シグネチャ送信工程は、前記パケット数判定工程によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする請求項１３に記載の中継方法。
【請求項１５】
前記攻撃有無判定工程は、前記パケット数判定工程によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する連続超過回数判定工程をさらに含み、
前記シグネチャ送信工程は、前記連続超過回数判定工程によって所定値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする請求項１４に記載の中継方法。
【請求項１６】
前記シグネチャ送信工程は、全ての隣接中継装置のなかから前記シグネチャを送信した隣接中継装置を除いた他の隣接中継装置に対して前記シグネチャを送信することを特徴とする請求項１３、１４または１５に記載の中継方法。
【請求項１７】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャをシグネチャ記憶手段に登録してパケットの通過を制御するとともに、当該シグネチャを他の隣接中継装置に送信する中継方法であって、
前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定工程と、
前記識別情報判定工程によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信工程と、
を含んだことを特徴とする中継方法。
【請求項１８】
前記シグネチャ記憶手段は、前記シグネチャの生成を一意に識別するための生成識別情報に対応付けて各シグネチャを記憶するものであって、
前記シグネチャ登録判定工程は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されているか否かを判定し、
前記シグネチャ通信工程は、前記シグネチャ登録判定工程によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を前記シグネチャ記憶手段に登録するとともに、当該シグネチャおよび生成識別情報を他の隣接中継装置に送信することを特徴とする請求項１７に記載の中継方法。
【請求項１９】
攻撃容疑パケットの検出に応じてシグネチャを生成するとともに、当該シグネチャの生成識別情報を生成するシグネチャ生成工程を含み、
当該シグネチャ生成工程は、前記シグネチャおよび生成識別情報を隣接中継装置に送信するとともに、当該中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報およびシグネチャを前記シグネチャ記憶手段に対応付けて登録することを特徴とする請求項１８に記載の中継方法。
【請求項２０】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置としてのコンピュータに実行させる中継プログラムであって、
前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定手順と、
前記攻撃有無判定手順によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信手順と、
をコンピュータに実行させることを特徴とする中継プログラム。
【請求項２１】
前記攻撃有無判定手順は、前記隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定するパケット数判定手順をコンピュータに実行させ、
前記シグネチャ送信手順は、前記パケット数判定手順によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする請求項２０に記載の中継プログラム。
【請求項２２】
前記攻撃有無判定手順は、前記パケット数判定手順によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する連続超過回数判定手順をさらにコンピュータに実行させ、
前記シグネチャ送信手順は、前記連続超過回数判定手順によって所定値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする請求項２１に記載の中継プログラム。
【請求項２３】
前記シグネチャ送信手順は、全ての隣接中継装置のなかから前記シグネチャを送信した隣接中継装置を除いた他の隣接中継装置に対して前記シグネチャを送信することを特徴とする請求項２０、２１または２２に記載の中継プログラム。
【請求項２４】
パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャをシグネチャ記憶手段に登録してパケットの通過を制御するとともに、当該シグネチャを他の隣接中継装置に送信する中継装置としてのコンピュータに実行させる中継プログラムであって、
前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定手順と、
前記識別情報判定手順によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信手順と、
をコンピュータに実行させることを特徴とする中継プログラム。
【請求項２５】
前記シグネチャ記憶手段は、前記シグネチャの生成を一意に識別するための生成識別情報に対応付けて各シグネチャを記憶するものであって、
前記シグネチャ登録判定手順は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されているか否かを判定し、
前記シグネチャ通信手順は、前記シグネチャ登録判定手順によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を前記シグネチャ記憶手段に登録するとともに、当該シグネチャおよび生成識別情報を他の隣接中継装置に送信することを特徴とする請求項２４に記載の中継プログラム。
【請求項２６】
攻撃容疑パケットの検出に応じてシグネチャを生成するとともに、当該シグネチャの生成識別情報を生成するシグネチャ生成手順をコンピュータに実行させ、
当該シグネチャ生成手順は、前記シグネチャおよび生成識別情報を隣接中継装置に送信するとともに、当該中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報およびシグネチャを前記シグネチャ記憶手段に対応付けて登録することを特徴とする請求項２５に記載の中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置、中継方法および中継プログラム並びにネットワーク攻撃防御システムに関する。
【背景技術】
【０００２】
従来より、防御対象であるコンピュータが接続されたネットワーク上に複数の中継装置を有し、ＤｏＳ（DenialofService）攻撃またはＤＤｏＳ（DistributedDenialofService）攻撃を受けるコンピュータを防御するネットワーク攻撃防御システムが知られている。例えば、特許文献１（特開２００３−２８３５５４号公報）や特許文献２（特開２００３−２８３５７２号公報）に開示されたネットワーク攻撃防御システムでは、中継装置において、予め決められた攻撃容疑パケットの検出条件に通信トラヒックが合致するか否かをチェックする。そして、合致したトラヒックを検出した場合に、中継装置は、検出された攻撃容疑パケットの伝送帯域制限値を表すシグネチャを生成して隣接中継装置（隣接関係をもつ中継装置）へ送信するとともに、以後、シグネチャによって識別される攻撃容疑パケットの伝送帯域を制限する処理を行う。【０００３】
一方、シグネチャを受信した中継装置（隣接中継装置）では、通過するパケットの伝送帯域をシグネチャによって表される伝送帯域制限値に制限するとともに、さらに上流の隣接中継装置に対してシグネチャを送信する。つまり、シグネチャを受信した各中継装置がシグネチャの送信を繰り返すことで、ネットワーク上の全ての中継装置が同様のシグネチャに基づいてパケットを処理し、これによって、各中継装置を通過するパケットの伝送帯域をシグネチャが示す伝送帯域制限値に制限する。なお、上流または下流の中継装置とは、隣接中継装置であり、かつ攻撃容疑パケットが流入する方向に対する中継装置である。【０００４】
さらに、一定時間経過後、攻撃を検出した中継装置は、各隣接中継装置から攻撃容疑パケットの平均入力伝送帯域値を受信し、各隣接中継装置における平均入力伝送帯域の比率により伝送帯域制限調整値を算出し、算出した伝送帯域制限調整値を隣接中継装置に送信する。そして、かかる伝送帯域制限調整値を受信した中継装置は、受信した伝送帯域制限調整値に基づいて伝送帯域制限を調整しながら、さらに上流の隣接中継装置に伝送帯域制限調整値を送信する。つまり、伝送帯域制限調整値を受信した各中継装置が伝送帯域制限調整値の送信を繰り返すことで、ネットワーク上の全ての中継装置が同様の伝送帯域制限調整値を受信し、受信した伝送帯域制限調整値に基づいて伝送帯域制限を調整する。【０００５】
【特許文献１】特開２００３−２８３５５４号公報
【特許文献２】特開２００３−２８３５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した従来の技術は、ネットワーク上の特定の中継装置が容疑のかかる攻撃を検出した場合でも、ネットワーク攻撃防御システムを構成する全ての中継装置に対してシグネチャを送信するので、攻撃容疑パケットの通信経路上にない中継装置にまでもシグネチャを送信してしまう結果、容疑のかかる攻撃を検出したとき等の各中継装置にかかる処理負荷が高くなってしまうという問題があった。【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ネットワーク上にある各中継装置の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能な中継装置、中継方法および中継プログラム並びにネットワーク攻撃防御システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置であって、前記隣接中継装置から受信したシグネチャに基づいて当該シグネチャを他の隣接中継装置に送信すべきか否かを判定し、前記他の隣接中継装置に送信すべきと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【０００９】
また、請求項２に係る発明は、前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定手段と、前記攻撃有無判定手段によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信手段と、を備えたことを特徴とする。【００１０】
また、請求項３に係る発明は、上記の発明において、前記攻撃有無判定手段は、前記隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定するパケット数判定手段を備え、前記シグネチャ送信手段は、前記パケット数判定手段によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【００１１】
また、請求項４に係る発明は、上記の発明において、前記攻撃有無判定手段は、前記パケット数判定手段によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する連続超過回数判定手段をさらに備え、前記シグネチャ送信手段は、前記連続超過回数判定手段によって所定値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【００１２】
また、請求項５に係る発明は、上記の発明において、前記シグネチャ送信手段は、全ての隣接中継装置のなかから前記シグネチャを送信した隣接中継装置を除いた他の隣接中継装置に対して前記シグネチャを送信することを特徴とする。【００１３】
また、請求項６に係る発明は、上記の発明において、受信した前記シグネチャを記憶する記憶手段と、前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定手段と、前記識別情報判定手段によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信手段と、を備えたことを特徴とする。【００１４】
また、請求項７に係る発明は、上記の発明において、前記シグネチャ記憶手段は、前記シグネチャの生成を一意に識別するための生成識別情報に対応付けて各シグネチャを記憶するものであって、前記シグネチャ登録判定手段は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されているか否かを判定し、前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を前記シグネチャ記憶手段に登録するとともに、当該シグネチャおよび生成識別情報を他の隣接中継装置に送信することを特徴とする。【００１５】
また、請求項８に係る発明は、上記の発明において、攻撃容疑パケットの検出に応じてシグネチャを生成するとともに、当該シグネチャの生成識別情報を生成するシグネチャ生成手段を備え、当該シグネチャ生成手段は、前記シグネチャおよび生成識別情報を隣接中継装置に送信するとともに、当該中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報およびシグネチャを前記シグネチャ記憶手段に対応付けて登録することを特徴とする。【００１６】
また、請求項９に係る発明は、上記の発明において、前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を他の隣接中継装置に送信するとともに、当該シグネチャの直前の中継元である隣接中継装置を特定するための中継元情報、当該シグネチャの直後の中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報および容疑シグネチャを前記シグネチャ記憶手段に対応付けて登録し、前記シグネチャ登録判定手段は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されている場合には、当該生成識別情報に対応付けて登録されている中継元情報が前記受信したシグネチャの中継元情報と同一であるか否かをさらに判定し、前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記生成識別情報が前記シグネチャ記憶手段に既に登録されているが、前記中継元情報が同一であると判定された場合には、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に上書き登録するとともに、当該シグネチャを前記シグネチャ記憶手段に登録されている中継先情報が示す他の隣接中継装置に送信することを特徴とする。【００１７】
また、請求項１０に係る発明は、上記の発明において、前記シグネチャ通信手段は、前記シグネチャ登録判定手段によって前記中継元情報が同一でないと判定された場合には、前記シグネチャの中継元である隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送し、さらに、当該既登録通知を他の隣接中継装置から受信した場合には、前記シグネチャ記憶手段に記憶された中継先情報から当該隣接中継装置に対応する中継先情報を削除することを特徴とする。【００１８】
また、請求項１１に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する複数の中継装置からなるネットワーク攻撃防御システムであって、前記中継装置は、前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定手段と、前記攻撃有無判定手段によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信手段と、を備えたことを特徴とする。【００１９】
また、請求項１２に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャをシグネチャ記憶手段に登録してパケットの通過を制御するとともに、当該シグネチャを他の隣接中継装置に送信する複数の中継装置からなるネットワーク攻撃防御システムであって、前記中継装置は、前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定手段と、前記識別情報判定手段によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信手段と、を備えたことを特徴とする。【００２０】
また、請求項１３に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置における中継方法であって、前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定工程と、前記攻撃有無判定工程によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信工程と、を含んだことを特徴とする。【００２１】
また、請求項１４に係る発明は、上記の発明において、前記攻撃有無判定工程は、前記隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定するパケット数判定工程を含み、前記シグネチャ送信工程は、前記パケット数判定工程によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【００２２】
また、請求項１５に係る発明は、上記の発明において、前記攻撃有無判定工程は、前記パケット数判定工程によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する連続超過回数判定工程をさらに含み、前記シグネチャ送信工程は、前記連続超過回数判定工程によって所定値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【００２３】
また、請求項１６に係る発明は、上記の発明において、前記シグネチャ送信工程は、全ての隣接中継装置のなかから前記シグネチャを送信した隣接中継装置を除いた他の隣接中継装置に対して前記シグネチャを送信することを特徴とする。【００２４】
また、請求項１７に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャをシグネチャ記憶手段に登録してパケットの通過を制御するとともに、当該シグネチャを他の隣接中継装置に送信する中継方法であって、前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定工程と、前記識別情報判定工程によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信工程と、を含んだことを特徴とする。【００２５】
また、請求項１８に係る発明は、上記の発明において、前記シグネチャ記憶手段は、前記シグネチャの生成を一意に識別するための生成識別情報に対応付けて各シグネチャを記憶するものであって、前記シグネチャ登録判定工程は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されているか否かを判定し、前記シグネチャ通信工程は、前記シグネチャ登録判定工程によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を前記シグネチャ記憶手段に登録するとともに、当該シグネチャおよび生成識別情報を他の隣接中継装置に送信することを特徴とする。【００２６】
また、請求項１９に係る発明は、上記の発明において、攻撃容疑パケットの検出に応じてシグネチャを生成するとともに、当該シグネチャの生成識別情報を生成するシグネチャ生成工程を含み、当該シグネチャ生成工程は、前記シグネチャおよび生成識別情報を隣接中継装置に送信するとともに、当該中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報およびシグネチャを前記シグネチャ記憶手段に対応付けて登録することを特徴とする。【００２７】
また、請求項２０に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する中継装置としてのコンピュータに実行させる中継プログラムであって、前記隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して、当該パケットによる攻撃の有無を判定する攻撃有無判定手順と、前記攻撃有無判定手順によって攻撃有りと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信するシグネチャ送信手順と、をコンピュータに実行させることを特徴とする。【００２８】
また、請求項２１に係る発明は、上記の発明において、前記攻撃有無判定手順は、前記隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定するパケット数判定手順をコンピュータに実行させ、前記シグネチャ送信手順は、前記パケット数判定手順によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【００２９】
また、請求項２２に係る発明は、上記の発明において、前記攻撃有無判定手順は、前記パケット数判定手順によって前記単位時間内のパケット数が所定の閾値を超過したと判定された場合に、当該所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する連続超過回数判定手順をさらにコンピュータに実行させ、前記シグネチャ送信手順は、前記連続超過回数判定手順によって所定値を超過したと判定された場合に、前記隣接中継装置から受信したシグネチャを前記他の隣接中継装置に送信することを特徴とする。【００３０】
また、請求項２３に係る発明は、上記の発明において、前記シグネチャ送信手順は、全ての隣接中継装置のなかから前記シグネチャを送信した隣接中継装置を除いた他の隣接中継装置に対して前記シグネチャを送信することを特徴とする。【００３１】
また、請求項２４に係る発明は、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャをシグネチャ記憶手段に登録してパケットの通過を制御するとともに、当該シグネチャを他の隣接中継装置に送信する中継装置としてのコンピュータに実行させる中継プログラムであって、前記隣接中継装置から受信したシグネチャが前記シグネチャ記憶手段に既に登録されているか否かを判定するシグネチャ登録判定手順と、前記識別情報判定手順によって未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャを前記シグネチャ記憶手段に登録するとともに、当該シグネチャを他の隣接中継装置に送信するシグネチャ通信手順と、をコンピュータに実行させることを特徴とする。【００３２】
また、請求項２５に係る発明は、上記の発明において、前記シグネチャ記憶手段は、前記シグネチャの生成を一意に識別するための生成識別情報に対応付けて各シグネチャを記憶するものであって、前記シグネチャ登録判定手順は、前記隣接中継装置から受信したシグネチャの生成識別情報が前記シグネチャ記憶手段に既に登録されているか否かを判定し、前記シグネチャ通信手順は、前記シグネチャ登録判定手順によって前記生成識別情報が前記シグネチャ記憶手段に未だ登録されていないと判定された場合に、前記隣接中継装置から受信したシグネチャおよび生成識別情報を前記シグネチャ記憶手段に登録するとともに、当該シグネチャおよび生成識別情報を他の隣接中継装置に送信することを特徴とする。【００３３】
また、請求項２６に係る発明は、上記の発明において、攻撃容疑パケットの検出に応じてシグネチャを生成するとともに、当該シグネチャの生成識別情報を生成するシグネチャ生成手順をコンピュータに実行させ、当該シグネチャ生成手順は、前記シグネチャおよび生成識別情報を隣接中継装置に送信するとともに、当該中継先である隣接中継装置を特定するための中継先情報、前記生成識別情報およびシグネチャを前記シグネチャ記憶手段に対応付けて登録することを特徴とする。
【発明の効果】
【００３４】
請求項１の発明によれば、隣接中継装置から受信したシグネチャに基づいて受信したシグネチャを他の隣接中継装置に送信すべきか否かを判定し、他の隣接中継装置に送信すべきと判定された場合に、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信するので、各中継装置によってシグネチャが重複送信されたり、ネットワーク上の全ての中継装置にシグネチャが送信されたりといった事態はなくなり、ネットワーク上にある各中継装置の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能になる。【００３５】
請求項２、１１、１３または２０の発明によれば、隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して攻撃の有無を判定し、攻撃有りと判定した場合に初めてシグネチャを隣接中継装置に送信するので、ネットワーク上の全ての中継装置に容疑シグネチャが送信される事態はなくなり、ネットワーク上にある各中継装置の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能になる。【００３６】
また、請求項３、１４または２１の発明によれば、隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過した場合に攻撃有りと判定するので、攻撃の有無を客観的かつ確実に判定することが可能になる。【００３７】
また、請求項４、１５または２２の発明によれば、シグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過した場合に直ちに攻撃有りと判定するのではなく、所定の閾値を連続して超過した回数が所定値を超過した場合に初めて攻撃有りと判定するので、攻撃の有無をより確実に判定することが可能になる。【００３８】
また、請求項５、１６または２３の発明によれば、自己にシグネチャを送信した隣接中継装置を除いた他の隣接中継装置にシグネチャを送信するので、既にパケットの規制に関する処理を行っている中継装置に対するシグネチャの送信が防止され、ネットワーク上にある各中継装置の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能になる。【００３９】
また、請求項６、１２、１７または２４の発明によれば、隣接中継装置から受信したシグネチャが既に登録されているか否かを判定して、未だ登録されていないシグネチャのみをシグネチャ記憶手段（シグネチャリスト）に登録するとともに隣接中継装置に送信するので、シグネチャの重複登録や重複送信が回避され、シグネチャに基づいたパケット制御を効率的に行うことが可能になる。【００４０】
また、請求項７、１８または２５の発明によれば、シグネチャの生成を一意に識別するための生成識別情報（生成元である中継装置を一意に識別するための識別子および当該中継装置で生成される複数の容疑シグネチャをそれぞれ一意に識別するための識別子からなる生成識別情報）を各シグネチャに対応付けて管理するので、シグネチャの具体的な内容にまで踏み込むことなく、生成識別情報のみからシグネチャが既に登録されているか否かを判定することが可能になる。また、シグネチャの内容が同一であっても生成識別情報（生成元）が異なっていれば、未だ登録されていないシグネチャであるとしてシグネチャリストに登録するとともに隣接中継装置に送信するので、生成元となる各中継装置の性能違い（例えば、攻撃検出や防御解除に係るアルゴリズムの違いなど）が尊重され、安全性の高いパケット制御を行うことが可能になる。【００４１】
また、請求項８、１９または２６の発明によれば、攻撃容疑パケットを検出すると、シグネチャおよび生成識別情報を生成し、これらシグネチャおよび生成識別情報を隣接中継装置に送信するとともに、中継先である隣接中継装置を特定するための中継先情報、生成識別情報およびシグネチャをシグネチャリストに対応付けて登録するので、シグネチャに対して確実に生成識別情報を付与することが可能になる。また、送信ミスや内容更新等に起因してシグネチャを再送信する必要が生じた場合でも、シグネチャリストに登録された中継先情報、生成識別情報およびシグネチャを参照することで、同一の生成識別情報が付与されたシグネチャを同一の中継先に対して確実に再送信することが可能になる。【００４２】
また、請求項９の発明によれば、隣接中継装置から受信したシグネチャの生成識別情報がシグネチャリストに未だ登録されていない場合には、これを他の隣接中継装置に送信するとともに、シグネチャの直前の中継元である隣接中継装置を特定するための中継元情報、シグネチャの直後の中継先である隣接中継装置を特定するための中継先情報、生成識別情報およびシグネチャをシグネチャリストに対応付けて登録する。そして、隣接中継装置から受信したシグネチャの生成識別情報がシグネチャリストに既に登録されている場合には、中継元情報が同一であるか否かをさらに判定し、これが同一である場合には、シグネチャをシグネチャリストに上書き登録するとともに、シグネチャリストに登録されている中継先情報が示す他の隣接中継装置にシグネチャを送信するので、送信ミスや内容更新等に起因してシグネチャが再送信されてきた場合でも、このシグネチャを留めることなく、中継先に対して確実に再送信することが可能になる。その一方、中継元情報が同一でない場合には、シグネチャの再送信でもないと判定される結果、シグネチャの重複登録や重複送信を確実に回避することが可能になる。【００４３】
また、請求項１０の発明によれば、隣接中継装置から受信したシグネチャの生成識別情報がシグネチャリストに既に登録されており、かつ、中継元情報も同一でない場合には、シグネチャの中継元である隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する。さらに、当該既登録通知を他の隣接中継装置から受信した場合には、シグネチャリストに記憶された中継先情報から当該隣接中継装置に対応する中継先情報を削除する。したがって、送信ミスや内容更新等に起因してシグネチャを再送信する必要が生じた場合でも、シグネチャリストから削除された中継先に対してはシグネチャが送信されないことになり、シグネチャの再送信に際してもシグネチャの重複登録や重複送信を確実に回避することが可能になる。
【図面の簡単な説明】
【００４４】
【図１】図１は、実施例１に係るネットワーク攻撃防御システムの構成を示すシステム構成図である。
【図２】図２は、実施例１に係る中継装置の構成を示すブロック図である。
【図３】図３は、攻撃容疑検出条件テーブルに記憶される情報の例を示す図である。
【図４】図４は、不正トラヒック検出条件テーブルに記憶される情報の例を示す図である。
【図５】図５は、正規条件テーブルに記憶される情報の例を示す図である。
【図６】図６は、攻撃容疑パケット検出時の処理手順を示すフローチャートである。
【図７】図７は、シグネチャ受信時の処理手順を示すフローチャートである。
【図８】図８は、不正パケット検出時の処理手順を示すフローチャートである。
【図９】図９は、パケット制御時の処理手順を示すフローチャートである。
【図１０】図１０は、実施例２に係るネットワーク攻撃防御システムの構成を示すシステム構成図である。
【図１１】図１１は、実施例２に係る中継装置の構成を示すブロック図である。
【図１２】図１２は、攻撃容疑検出条件テーブルに記憶される情報の例を示す図である。
【図１３】図１３は、不正トラヒック検出条件テーブルに記憶される情報の例を示す図である。
【図１４】図１４は、正規条件テーブルに記憶される情報の例を示す図である。
【図１５】図１５は、シグネチャリストに記憶される情報の例を示す図である。
【図１６】図１６は、シグネチャに付与される識別情報の例を示す図である。
【図１７】図１７は、攻撃容疑パケット検出時の処理手順を示すフローチャートである。
【図１８】図１８は、シグネチャ受信時の処理手順を示すフローチャートである。
【図１９】図１９は、不正パケット検出時の処理手順を示すフローチャートである。
【図２０】図２０は、パケット制御時の処理手順を示すフローチャートである。
【図２１】図２１は、実施例３に係る中継装置の構成を示すブロック図である。
【図２２】図２２は、攻撃容疑パケット検出時の処理手順を示すフローチャートである。
【図２３】図２３は、シグネチャ受信時の処理手順を示すフローチャートである。
【図２４】図２４は、従来技術に係るネットワーク攻撃防御システムを説明するための図である。
【図２５】図２５は、従来技術に係るネットワーク攻撃防御システムを説明するための図である。
【符号の説明】
【００４５】
１０  中継装置
１１  ネットワークインタフェース
１２  パケット取得部
１３  攻撃検出部
１４  シグネチャ通信部（シグネチャ送信部）
１５ａ、２１５ｂ  パケット数判定部
１５ｂ、２１５ｃ  連続超過回数判定部
１６  フィルタ部
２０  サーバ
３０  通信端末
１００、１００ａ  ネットワーク攻撃防御システム
１１０  中継装置
１１１  ネットワークインタフェース
１１２  パケット取得部
１１３  攻撃検出部
１１４  シグネチャ通信部
１１５、２１５ａ  識別情報判定部
１１６  フィルタ部
１２０  サーバ
１３０  通信端末
【発明を実施するための最良の形態】
【００４６】
以下に添付図面を参照して、この発明に係る中継装置、中継方法および中継プログラム並びにネットワーク攻撃防御システムの実施例を詳細に説明する。なお、実施例１では、所定の閾値を用いてシグネチャの転送処理を制限する場合について、実施例２では、シグネチャの生成識別情報を用いてシグネチャの転送処理を制限する場合についてそれぞれ説明する。また、実施例３では、実施例１および実施例２で行うパケット制限処理を組み合わせた場合について説明することとする。【００４７】
各実施例の説明に先立って、この発明に係る中継方式の概要について説明する。本発明に係る中継方式では、隣接する中継装置から受信したシグネチャをそのまま他の中継装置に転送するのではなく、受信したシグネチャを転送すべきか否かを判定したうえで、転送すべきと判定した場合にのみ他の隣接する中継装置に転送する点に主たる特徴がある。【００４８】
たとえば、単位時間内のパケット数が所定の閾値を超過した場合や、所定の閾値を連続して超過した回数が所定値を超過した場合にのみ、受信したシグネチャを他の中継装置に転送することとする。また、シグネチャの生成を一意に識別するための生成識別情報を各シグネチャに対応付けて管理し、この生成識別情報が所定の条件を満たした場合にのみ、受信したシグネチャを他の中継装置に転送する。【００４９】
このようにすることで、各中継装置によってシグネチャが重複送信されたり、ネットワーク上の全ての中継装置にシグネチャが送信されたりといった事態はなくなり、ネットワーク上にある各中継装置の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能になる。
【実施例１】
【００５０】
実施例１では、所定の閾値を用いてシグネチャの転送処理を制限する場合について説明する。なお、以下では、本実施例１で用いる主要な用語、ネットワーク攻撃防御システムの概要および特徴、中継装置の構成および処理、本実施例１の効果を順に説明し、最後に本実施例１に対する種々の変形例を説明する。【００５１】
［用語の説明］
まず最初に、本実施例１で用いる主要な用語を説明する。本実施例１で用いる「容疑シグネチャ」とは、攻撃容疑のあるパケット（攻撃容疑パケット）を制限するためのシグネチャであり、具体的には、通過が制限される攻撃容疑パケットの特徴を示す属性（例えば、宛先ＩＰアドレス、プロトコル、宛先ポート番号など）や制限内容（例えば、特定のパケットが流入するときの帯域を制限するための制限情報など）を規定して構成される。【００５２】
また、本実施例１で用いる「正規シグネチャ」とは、容疑シグネチャに該当するパケットのなかから攻撃とはみなされない正規パケット（正規ユーザの通信パケットである正規パケット）の通過を許可するためのシグネチャであり、具体的には、通過が許可される正規パケットの特徴を示す属性（例えば、送信元ＩＰアドレス、サービスタイプ、宛先ＩＰアドレス、プロトコル、宛先ポート番号など）を規定して構成される。【００５３】
また、本実施例１で用いる「不正シグネチャ」とは、不正トラヒックに含まれる不正パケット（不正トラヒック条件を満たすパケット）を制限するためのシグネチャであり、具体的には、不正パケットの送信元ＩＰアドレス等を規定して構成される。【００５４】
［システムの概要および特徴］
次に、図１を用いて、本実施例１に係るネットワーク攻撃防御システムの概要および特徴を説明する。図１は、本実施例１に係るネットワーク攻撃防御システムの構成を示すシステム構成図である。【００５５】
同図に示すように、このネットワーク攻撃防御システム１００は、ネットワーク上に複数の中継装置１０を備えて構成される。また、このネットワーク上には、ＤｏＳ攻撃やＤＤｏＳ攻撃の対象となるコンピュータとしてのサーバ２０や、かかるＤｏＳ攻撃やＤＤｏＳ攻撃を行い得るコンピュータとしての通信端末３０が接続されている。なお、以下では、図示した中継装置１０の各々を区別する場合には、それぞれ中継装置１０−１〜中継装置１０−７として説明し、サーバ２０の各々を区別する場合には、サーバ２０−１またはサーバ２０−２として説明し、通信端末３０の各々を区別する場合には、通信端末３０−１〜通信端末３０−５として説明する。【００５６】
かかるネットワーク攻撃防御システム１００において、中継装置１０は、通信端末３０のうち少なくとも１つ以上の通信端末３０がネットワーク上のサーバ２０に対してＤｏＳ攻撃またはＤＤｏＳ攻撃を行っていることを検出した場合に、パケットの通過を制御するためのシグネチャ（容疑シグネチャや不正シグネチャ）を生成するとともに、パケットの通過を許可するための正規シグネチャを生成する。そして、中継装置１０は、自ら生成したシグネチャ（容疑シグネチャ、不正シグネチャおよび正規シグネチャ）をシグネチャリストに登録する。【００５７】
また、中継装置１０は、生成した容疑シグネチャ（さらには、正規シグネチャの生成に用いた正規条件）を隣接中継装置に送信する。その一方で、中継装置１０は、隣接中継装置から容疑シグネチャ等を受信した場合には、正規条件に基づいて正規シグネチャを生成するとともに、受信した容疑シグネチャおよび生成した正規シグネチャをシグネチャリストに登録し、さらに、隣接中継装置から受信したシグネチャ等を他の隣接中継装置に送信する。なお、隣接中継装置について例を挙げると、図１において、中継装置１０−３における隣接中継装置は、中継装置１０−１、中継装置１０−２、中継装置１０−４および中継装置１０−７であり、中継装置１０−５および中継装置１０−６とは、隣接関係をもたない。また、この隣接関係は、物理的な隣接を意味するものではない。【００５８】
そして、中継装置１０は、上記のようにしてシグネチャリストに登録されたシグネチャに基づいてパケットの通過を制御する。つまり、不正シグネチャや容疑シグネチャに該当するパケットについては、伝送帯域を制限して通過させるかもしくは廃棄し、正規シグネチャに該当するパケットやいずれのシグネチャにも該当しないパケットについては、伝送帯域を制限せずに通過を許可する。【００５９】
なお、中継装置１０は、攻撃を防御しながらパケットを中継するための装置であり、例えば、ルータとして機能してもよく、または、ブリッジとして機能してもよい。また、中継装置１０は、中継装置１０等を管理するための管理用ネットワークに接続されていてもよく、シグネチャは、管理用ネットワークを介して送受されてもよい。【００６０】
このように、中継装置１０は、パケットの通過を制御するためのシグネチャ等を自ら生成してパケットを制御するだけでなく、生成したシグネチャを隣接中継装置に送信する。さらに、中継装置１０は、隣接中継装置からシグネチャを受信した場合には、かかるシグネチャに基づいてパケットを制御するとともに、他の隣接中継装置にもシグネチャを送信する。そして、本実施例１における中継装置１０は、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理に主たる特徴があり、隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して攻撃の有無を判定し、攻撃有りと判定した場合に初めてシグネチャを隣接中継装置に送信するようにしている。【００６１】
この主たる特徴について図１を用いて簡単に説明する。図１に示すように、例えば、通信端末３０−４および通信端末３０−５がサーバ２０−１に対するＤｏＳ攻撃を行っており、中継装置１０−１が容疑のかかる攻撃を検出したとすると、中継装置１０−１は、攻撃容疑パケットを制限するための容疑シグネチャを生成し、生成した容疑シグネチャに基づいてパケットを処理するとともに、容疑シグネチャ（さらには正規条件）を隣接中継装置となる中継装置１０−３に送信する（図１の（１）および（２）参照）。【００６２】
一方、中継装置１０−３は、中継装置１０−１から送信された容疑シグネチャを受信し、受信した容疑シグネチャに基づいてパケットを処理するとともに、受信した容疑シグネチャの条件を満たすパケットの数が単位時間内に所定の閾値を超過したか否かを判定する（図１の（３）参照）。すなわち、かかる容疑シグネチャに該当する攻撃が中継装置１０−３を経由して行われているか否か、攻撃の有無を判定する。【００６３】
そして、かかる判定において、容疑シグネチャの条件を満たすパケットの数が単位時間内に所定の閾値を超過した場合には、中継装置１０−３は、中継装置１０−１から受信した容疑シグネチャを隣接中継装置に送信する（図１の（４）参照）。ここで、中継装置１０−３が容疑シグネチャを送信する隣接中継装置は、容疑シグネチャを自己（中継装置１０−３）に送信した隣接中継装置（中継装置１０−１）を除く隣接中継装置、すなわち、中継装置１０−２、中継装置１０−４および中継装置１０−７である。また、図１に示す例では、通信端末３０−４および通信端末３０−５がサーバ２０−１に対する攻撃を行っているので、中継装置１０−３では「攻撃有り」と判定される。【００６４】
さらに、中継装置１０−４および中継装置１０−２は、中継装置１０−３から送信された容疑シグネチャを受信し、受信した容疑シグネチャに基づいてパケットを処理するとともに、上記と同様、かかる容疑シグネチャに該当する攻撃が各中継装置を経由して行われているか否か判定する（図１の（５）および（６）参照）。ここで、図１に示す例では、通信端末３０−４および通信端末３０−５がサーバ２０−１に対する攻撃を行っているので、中継装置１０−２および中継装置１０−４では、受信した容疑シグネチャの条件を満たすパケットの数が単位時間内に所定の閾値を超過したと判定されず（つまり「攻撃無し」と判定され）、その結果、容疑シグネチャを隣接中継装置に送信することはしない。【００６５】
一方、中継装置１０−７は、上記した中継装置１０−４および中継装置１０−２と同様、中継装置１０−３から送信された容疑シグネチャを受信し、受信した容疑シグネチャに基づいてパケットを処理するとともに、かかる容疑シグネチャに該当する攻撃が各中継装置を経由して行われているか否か判定するが、容疑シグネチャを自己に送信した隣接中継装置を除く隣接中継装置が存在しないため、容疑シグネチャを隣接中継装置に送信することはしない（図１の（７）参照）。【００６６】
以上のように、ネットワーク攻撃防御システム１００において、複数の中継装置１０のうち、中継装置１０−１、中継装置１０−３および中継装置１０−７が、通信端末３０−４および通信端末３０−５から送信されるパケットを容疑シグネチャに基づいて制限しながら中継する。言い換えれば、ネットワーク攻撃防御システム１００の中継装置１０のうち、中継装置１０−５および中継装置１０−６には容疑シグネチャが送信されない（全ての中継装置１０に容疑シグネチャが送信されるわけではない）。このため、容疑のかかる攻撃を検出したとき等の各中継装置１０にかかる処理負荷を低減することが可能になる。【００６７】
なお、中継装置１０が送信するシグネチャは、容疑シグネチャだけに限定されず、中継装置１０が他のシグネチャを送信するようにしてもよく、また、容疑シグネチャに加えて他のシグネチャを送信するようにしてもよい。【００６８】
［中継装置の構成］
次に、図２を用いて、図１に示した中継装置１０の構成を説明する。図２は、中継装置１０の構成を示すブロック図である。同図に示すように、この中継装置１０は、ネットワークインタフェース部１１と、パケット取得部１２と、攻撃検出部１３（並びに攻撃容疑検出条件テーブル１３ａ、不正トラヒック検出条件テーブル１３ｂおよび正規条件テーブル１３ｃ）と、シグネチャ通信部１４と、パケット数判定部１５ａと、連続超過回数判定部１５ｂと、フィルタ部１６（並びにシグネチャリスト１６ａ）とを備えて構成される。【００６９】
また、中継装置１０は、ＣＰＵ（CentralProcessingUnit）やメモリ、ハードディスク等を有しており、パケット取得部１２、攻撃検出部１３、シグネチャ通信部１４、パケット数判定部１５ａ、連続超過回数判定部１５ｂおよびフィルタ部１６は、ＣＰＵによって処理されるプログラムのモジュールであってもよい。また、このプログラムのモジュールは、１つのＣＰＵで処理されてもよく、複数のＣＰＵに分散して処理されてもよい。さらに、中継装置１０には、Ｌｉｎｕｘ等の汎用ＯＳをインストールしておき、汎用ＯＳに具備されるパケットフィルタをフィルタ部１６として機能させてもよい。【００７０】
なお、シグネチャ通信部１４は特許請求の範囲に記載の「シグネチャ送信手段」に対応し、パケット数判定部１５ａは同じく「攻撃有無判定手段」および「パケット数判定手段」に対応し、連続超過回数判定部１５ｂは同じく「攻撃有無判定手段」および「連続超過回数判定」に対応する。【００７１】
図２において、ネットワークインタフェース部１１は、ネットワークと接続されている通信機器との間でパケットを送受する手段であり、具体的には、ＬＡＮ（LocalAreaNetwork）またはＷＡＮ（WideAreaNetwork）などのネットワークと接続するためのネットワーク接続カード等によって構成される。なお、図２には示していないが、キーボードやマウス、マイクなど、ネットワーク管理者から各種の情報や指示の入力を受付ける入力手段や、モニタ（若しくはディスプレイ、タッチパネル）やスピーカなど、各種の情報を出力する出力手段を備えて中継装置１０を構成するようにしてもよい。【００７２】
パケット取得部１２は、ネットワークインタフェース部１１が受信したパケットを取得し、取得したパケットの統計に関する統計情報を攻撃検出部１３およびパケット数判定部１５ａに提供する処理部である。【００７３】
攻撃検出部１３は、パケット取得部１２によって提供された統計情報に基づいて、攻撃の検出および攻撃の分析を行う処理部であり、図２に図示するように、攻撃容疑検出条件テーブル１３ａ、不正トラヒック検出条件テーブル１３ｂおよび正規条件テーブル１３ｃにそれぞれ接続される。ここで、各テーブル１３ａ〜１３ｃに記憶される情報を具体的に説明した後に、攻撃検出部１３による処理内容を説明する。【００７４】
図３は、攻撃容疑検出条件テーブル１３ａに記憶される情報、より詳細には、受信パケットが攻撃パケットである可能性がある攻撃容疑パケットを検出するために使用される「攻撃容疑検出条件」の一例を示す図である。同図に示すように、攻撃容疑検出条件は、検出属性、検出閾値および検出間隔の組合せからなる複数組（ここでは３組）のレコードで構成され、かかる攻撃容疑検出条件の各レコードの内のいずれかのレコードの条件にトラヒックが一致した場合に、このトラヒックの通信パケットは攻撃容疑パケットであると認識される。なお、番号はレコードを特定するために便宜上使用されるものである。【００７５】
攻撃容疑検出条件の「検出属性」には、例えば、ＩＰパケットに含まれるＩＰヘッダ部の属性や、ＩＰパケットのペイロード部に含まれるＴＣＰヘッダ部またはＵＤＰヘッダ部の属性が指定される。具体的には、図３において、番号１のレコードの検出属性は、「DestinationIPAddress（宛先ＩＰアドレス）」が「192.168.1.1/32」であり（dst=192.168.1.1/32）、ＩＰの上位層（ＴＣＰまたはＵＤＰ）のプロトコル種別を示す「Protocol（プロトコル）」が「ＴＣＰ」であり（Protocol=TCP）、かつ、ＩＰの上位層プロトコルがどのアプリケーションの情報であるかを示す「DestinationPort（宛先ポート番号）」が「８０」である（Port=80）という属性値の組で指定される。【００７６】
また、番号２のレコード検出属性は、「DestinationIPAddress（宛先ＩＰアドレス）」が「192.168.1.2/32」であり（dst=192.168.1.2/32）、かつ、「Protocol（プロトコル）」が「ＵＤＰ（UserDatagramprotocol）」である（Protocol=UDP）という属性値の組で指定される。同様に、番号３のレコード検出属性は、「DestinationIPAddress（宛先ＩＰアドレス）」が「192.168.1.0/24」という属性で指定される。【００７７】
攻撃容疑検出条件の「検出閾値」は、同じレコードで指定される検出属性を持つ受信パケットのトラヒックを攻撃容疑トラヒックとして検出するための最低の伝送帯域を指定したものであり、攻撃容疑検出条件の「検出間隔」は、同じく最低の連続時間を指定したものである。なお、図３には示していないが、検出属性においては、「DestinationIPAddress（宛先ＩＰアドレス）」の値を無条件（ａｎｙ）とし、かつ、ＩＰの上位層のプロトコル種別を示す「Protocol（プロトコル）」が「ＩＣＭＰ（InternetControlMessageProtocol）」となる属性値の組を指定するようにしてもよい。【００７８】
図４は、不正トラヒック検出条件テーブル１３ｂに記憶される情報、より詳細には、攻撃容疑パケットのトラヒックから不正トラヒックを検出するために用いられる「不正トラヒック条件」の一例を示す図である。同図に示すように、不正トラヒック条件は、既知のＤＤｏＳ攻撃の複数のトラヒックパターンから構成され、攻撃容疑パケットのトラヒックがいずれかのトラヒックパターンに合致した場合に、不正トラヒックであると認識される。なお、番号はレコード（パターン）を特定するために便宜上使用されるものである。【００７９】
具体的には、番号１の不正トラヒック条件は、「伝送帯域Ｔ１Ｋｂｐｓ以上、パケットがＳ１秒以上連続送信されている」というトラヒックパターンを示している。また、番号２の不正トラヒック条件は、「伝送帯域Ｔ２Ｋｂｐｓ以上、ＩＣＭＰ（InternetControlMessageProtocol）上のエコー応答（EchoReply）メッセージのパケットがＳ２秒以上連続送信されている」というトラヒックパターンを示している。さらに、番号３の不正トラヒック条件は、「伝送帯域Ｔ３Ｋｂｐｓ以上、データが長すぎるためパケットに含まれるデータは複数ＩＰパケットに分割して送信していることを示すフラグメントパケットがＳ３秒以上連続送信されている」というトラヒックパターンを示している。【００８０】
図５は、正規条件テーブル１３ｃに記憶される情報、より詳細には、正当な利用者が利用している通信端末３０から送信されるパケットを表す「正規条件」の一例を示す図である。同図に示すように、正規条件は、ＩＰパケットにおける属性とそれら属性値の組からなる複数のレコードで構成される。なお、番号はレコード（パターン）を特定するために便宜上使用されるものである。【００８１】
具体的には、番号１のレコードの検出属性は、ＩＰの「SourceIPAddress（送信元ＩＰアドレス）」が「172.16.10.0/24」であることを指定し（src=172.16.10.0/24）、番号２のレコードの検出属性はＩＰ上のサービス品質を示す「TypeofService（サービスタイプ）」が「（１６進で）０１」であることを指定している（TOS=0x01）。このような正規条件には、例えば、サーバ所有者の会社の支店や、関連会社など、防御対象のサーバ２０等の送信元ＩＰアドレスが設定され、サーバ２０が収容されているＬＡＮの所有者が正規ユーザであると認識しているネットワークの送信元ＩＰアドレスなどが設定される。【００８２】
図２の説明に戻ると、攻撃検出部１３は、パケット取得部１２によって提供された統計情報に基づいて攻撃の検出を検出した場合に、攻撃容疑トラヒックの通信パケット（攻撃容疑パケット）を制限するための容疑シグネチャを生成する。具体的には、攻撃検出部１３は、図３に示した攻撃容疑検出条件に従って、検出間隔で指定されているより長い時間連続して、検出閾値で指定されている以上の伝送帯域を使用している、検出属性に合致するトラヒックをチェックし、各レコードの内のいずれかのレコードに合致した場合には、このトラヒックを攻撃容疑トラヒックとして検出し、このときに検出された攻撃容疑トラヒックが満たしている攻撃容疑検出条件のレコードの検出属性を容疑シグネチャとして生成する。【００８３】
また、攻撃検出部１３は、攻撃を検出した場合に、容疑シグネチャとともに正規シグネチャを生成する。具体的には、図５に示した正規条件を参照し、正規条件の全てのレコード毎に、容疑シグネチャとのＡＮＤ条件をとり、これを正規シグネチャとして生成する。この正規シグネチャは、容疑シグネチャから正規ユーザの通信パケットである正規パケットを許可するために用いられるシグネチャであるが、例えば、図３および図５の例を用いて説明すると、図３における番号１のレコードの条件で検出されるパケットの容疑シグネチャは、[dst=192.168.1.1/32,Protocol=TCP,Port=80]となり、図５において、正規シグネチャは、[src=172.16.10.24,dst=192.168.1.1/32,Protocol=TCP,Port=80]および[TOS=0x01,dst=192.168.1.1/32,Protocol=TCP,Port=80]となる。【００８４】
さらに、攻撃検出部１３は、図４に示した不正トラヒック条件のいずれかのパターンに合致するトラヒックを検出した場合に、不正トラヒックを制限するための不正シグネチャを生成する。具体的には、検出された不正トラヒック条件を満たすパケットの送信元ＩＰアドレスを不正アドレス範囲として特定し、この不正アドレス範囲であり、かつ、容疑シグネチャに合致するという条件を不正シグネチャとして生成する。【００８５】
上述してきた攻撃検出部１３によって生成された容疑シグネチャ、正規シグネチャおよび不正シグネチャは、シグネチャリスト１６ａに登録される。なお、シグネチャリスト１６ａに登録されるシグネチャ（容疑シグネチャ、正規シグネチャおよび不正シグネチャ）としては、かかる攻撃検出部１３によって生成されたシグネチャの他に、後述するシグネチャ通信部１４を介して隣接中継装置から受信したシグネチャもある。【００８６】
図２において、シグネチャ通信部１４は、攻撃検出部１３が生成したシグネチャ等を隣接中継装置に送信するとともに、隣接中継装置から送信されたシグネチャを受信し、さらに、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理部である。ここで、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理は、後述するパケット数判定部１５ａおよび連続超過回数判定部１５ｂによる判定結果に従って実行される。【００８７】
パケット数判定部１５ａは、シグネチャ通信部１４によって受信されたシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否かを判定する処理部である。具体的には、パケット数判定部１５ａは、パケット取得部１２によって提供された統計情報から、シグネチャの条件を満たすパケットを単位時間毎に取得し、取得したパケットの数が所定の閾値を超過したか否かを判定する。【００８８】
連続超過回数判定部１５ｂは、パケット数判定部１５ａが所定の閾値を超過したと判定した場合に、所定の閾値を連続して超過した回数が所定値を超過したか否かを判定する処理部である。そして、連続超過回数判定部１５ｂは、所定の閾値を連続して超過した回数が所定値を超過した場合には、シグネチャ送信部１４に対して、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信するように指示を出力する。なお、かかる指示を受けたシグネチャ送信部１４は、シグネチャを自己に送信した隣接中継装置を除く隣接中継装置を選択し、選択した隣接中継装置に対してシグネチャを送信する。【００８９】
図２において、フィルタ部１６は、ネットワークインタフェース部１１が受信したパケットを受け入れて、シグネチャリスト１６ａに基づいてパケットの通過（ネットワークインタフェース部１１からのパケットの出力）を制御する処理部である。具体的には、入力されたパケットについて、シグネチャリスト１６ａに登録された「不正シグネチャ」、「正規シグネチャ」、「容疑シグネチャ」のいずれかに該当するか（もしくはいずれにも該当しないか）を判別した上で、該当するシグネチャに基づいてパケットの通過を制御する。【００９０】
より詳細には、フィルタ部１６は、不正シグネチャに該当するパケットは、不正なパケットを処理するための不正キューに入力し、容疑シグネチャに該当するパケットは、容疑ユーザ用の容疑キューに入力し、正規シグネチャに該当するパケットまたはいずれのシグネチャにも該当しないパケットは、正規ユーザ用の正規キューに入力する。その上で、フィルタ部１６は、正規キューに入力されたパケットについては、伝送帯域を制限せずにネットワークインタフェース部１１から出力し、容疑キューおよび不正キューに入力されたパケットについては、それぞれのシグネチャ（条件を満たすとして選択されたシグネチャ）が示す伝送帯域制限値に従って制限して出力する。【００９１】
なお、フィルタ部１６は、シグネチャリスト１６ａに登録されたシグネチャの検出属性等が所定の解除判断基準を満たした場合には、この所定の解除判断基準を満たしたシグネチャを解除し、解除したシグネチャに基づいてパケットの通過を制御する処理を停止する。【００９２】
［攻撃容疑パケット検出時の処理］
続いて、図６を参照して、上記した中継装置１０による攻撃容疑パケット検出時の動作処理を説明する。図６は、攻撃容疑パケット検出時の処理手順を示すフローチャートである。【００９３】
同図に示すように、中継装置１０の攻撃検出部１３は、図３に示した攻撃容疑検出条件テーブル１３ａに基づいて攻撃容疑トラヒックを検出すると（ステップＳ１）、容疑シグネチャおよび正規シグネチャを生成する（ステップＳ２）。【００９４】
そして、攻撃検出部１３は、生成した容疑シグネチャおよび正規シグネチャをフィルタ部１６のシグネチャリスト１６ａに登録する（ステップＳ３）。さらに、シグネチャ通信部１４は、攻撃検出部１３が生成したシグネチャ等（本実施例１では、容疑シグネチャおよび正規条件）を隣接中継装置に送信する（ステップＳ４）。【００９５】
［シグネチャ受信時の処理］
続いて、図７を参照して、上記した中継装置１０によるシグネチャ受信時の動作処理を説明する。図７は、シグネチャ受信時の処理手順を示すフローチャートである。【００９６】
同図に示すように、中継装置１０のシグネチャ通信部１４が、隣接中継装置から送信されたシグネチャ等（本実施例１では、容疑シグネチャおよび正規条件）を受信すると（ステップＳ１１）、攻撃検出部１３は、シグネチャ通信部１４が受信した正規条件に基づいて正規シグネチャを生成する（ステップＳ１２）。【００９７】
さらに、攻撃検出部１３は、隣接中継装置から受信した容疑シグネチャおよび上記で生成した正規シグネチャをフィルタ部１６のシグネチャリスト１６ａに登録する（ステップＳ１３）。その後、パケット数判定部１５ａは、パケット取得部１２によって提供された統計情報から、上記でシグネチャリスト１６ａに登録した容疑シグネチャの条件を満たすパケットを単位時間毎に取得し、取得したパケットの数が所定の閾値を超過したか否かを判定する（ステップＳ１４）。【００９８】
ここで、かかる所定の閾値を超過した場合（ステップＳ１４肯定）、連続超過回数判定部１５ｂは、所定の閾値を連続して超過した回数が、所定値を超過したか否かを判定する（ステップＳ１５）。その結果、かかる所定の閾値を連続して超過した回数が所定値を超過した場合（ステップＳ１５肯定）、シグネチャ送信部１４は、上記で受信した容疑シグネチャおよび正規条件を隣接中継装置に送信する（ステップＳ１６）。つまり、シグネチャを自己に送信した隣接中継装置を除く隣接中継装置を選択し、選択した隣接中継装置に対してシグネチャを送信する。【００９９】
なお、上記したステップＳ１４において、パケットの数が所定の閾値を超過しなかった場合（ステップＳ１４否定）や、上記したステップＳ１５において、所定の閾値を連続して超過した回数が所定値を超過しなかった場合（ステップＳ１５否定）には、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理（上記のステップＳ１６の処理）は行われない。【０１００】
［不正パケット検出時の処理］
続いて、図８を参照して、上記した中継装置１０による不正パケット検出時の動作処理を説明する。図８は、不正パケット検出時の処理手順を示すフローチャートである。【０１０１】
同図に示すように、中継装置１０の攻撃検出部１３が、図４に示した不正トラヒック条件検出テーブル１３ｂ等に基づいて不正トラヒックを検出すると（ステップＳ２１）、不正シグネチャを生成する（ステップＳ２２）。そして、攻撃検出部１３は、生成した不正シグネチャをフィルタ部１６のシグネチャリスト１６ａに登録する（ステップＳ２３）。【０１０２】
［パケット制御時の処理］
続いて、図９を参照して、上記した中継装置１０によるパケット制御時の動作処理を説明する。図９は、パケット制御時の処理手順を示すフローチャートである。【０１０３】
同図に示すように、フィルタ部１６は、ネットワークインタフェース部１１からパケットが入力されると、シグネチャリスト１６ａに登録された不正シグネチャに合致するか否かを判断する（ステップＳ３１）。そして、不正シグネチャに合致した場合には（ステップＳ３１肯定）、フィルタ部１６は、不正なパケットを処理するための不正キューにパケットを入力する（ステップＳ３２）。【０１０４】
これとは反対に、不正シグネチャに合致しない場合には（ステップＳ３１否定）、フィルタ部１６は、入力されたパケットが、シグネチャリスト１６ａに登録された正規シグネチャに合致するか否かを判断する（ステップＳ３３）。そして、正規シグネチャに合致した場合には（ステップＳ３３肯定）、フィルタ部１６は、正規なユーザ用の正規キューにパケットを入力する（ステップＳ３４）。【０１０５】
さらに、この正規シグネチャにも合致しない場合には（ステップＳ３３否定）、フィルタ部１６は、入力されたパケットが、シグネチャリスト１６ａに登録された容疑シグネチャに合致するか否かを判断する（ステップＳ３５）。そして、容疑シグネチャに合致した場合には（ステップＳ３５肯定）、フィルタ部１６は、容疑ユーザ用の容疑キューにパケットを入力する（ステップＳ３６）。これとは反対に、容疑シグネチャに合致しない場合には（ステップＳ３５否定）、フィルタ部１６は、正規キューにパケットを入力する（ステップＳ３７）。【０１０６】
そして、フィルタ部１６は、それぞれのキューにあるパケットについて、正規キューであれば、伝送帯域を制限せずにネットワークインタフェース部１１から出力し、容疑キューおよび不正キューであれば、それぞれのシグネチャが示す伝送帯域制限値に従って制限して出力する。なお、不正シグネチャ、正規シグネチャ、容疑シグネチャの各シグネチャは、それぞれシグネチャリスト１６ａに複数登録されてもよい。また、登録されたシグネチャの検出属性等が所定の判断基準を満たした場合に、フィルタ部１６は、所定の判断基準を満たしたシグネチャを解除し、解除したシグネチャに基づいたパケットの通過を制御する処理を停止する。【０１０７】
［実施例１の効果］
上述してきたように、上記の実施例１によれば、隣接中継装置から受信したシグネチャの条件を満たすパケットを監視して攻撃の有無を判定し、攻撃有りと判定した場合に初めてシグネチャを隣接中継装置に送信するので、ネットワーク上の全ての中継装置１０に容疑シグネチャが送信される事態はなくなり、ネットワーク上にある各中継装置１０の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能になる。【０１０８】
また、上記の実施例１によれば、隣接中継装置から受信したシグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過した場合に攻撃有りと判定するので、攻撃の有無を客観的かつ確実に判定することが可能になる。より詳細には、シグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過した場合に直ちに攻撃有りと判定するのではなく、所定の閾値を連続して超過した回数が所定値を超過した場合に初めて攻撃有りと判定するので、攻撃の有無をより確実に判定することが可能になる。【０１０９】
また、上記の実施例１によれば、自己にシグネチャを送信した隣接中継装置を除いた他の隣接中継装置にシグネチャを送信するので、既にパケットの規制に関する処理を行っている中継装置１０に対するシグネチャの送信が防止され、ネットワーク上にある各中継装置１０の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことが可能になる。【０１１０】
［他の実施例］
さて、これまで本発明の実施例１について説明したが、本発明は上述した実施例１以外にも、種々の異なる形態にて実施されてよいものである。【０１１１】
例えば、上記の実施例１では、シグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過し、かつ、所定の閾値を連続して超過した回数が所定値を超過した場合に攻撃有りと判定する場合を説明したが、本発明はこれに限定されるものではなく、単位時間内のパケット数が所定の閾値を超過した場合に直ちに攻撃有りと判定するようにしてもよい。すなわち、上記の実施例１で説明した攻撃有無の判定手法は、あくまでも一例であって、本発明はこれに限定されるものではなく、他の攻撃有無判定手法を採用する場合にも本発明を同様に適用することができる。【０１１２】
また、上記の実施例１で図示した各装置（例えば、図１に例示した中継装置１０）の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、中継装置１０の分散・統合の具体的形態は図示のものに限られず、中継装置１０の全部または一部を各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、中継装置１０にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【０１１３】
また、上記の実施例１で説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、攻撃容疑検出条件テーブル、不正トラヒック検出条件テーブル、正規条件テーブルの内容等）については、特記する場合を除いて任意に変更することができる。【０１１４】
なお、上記の実施例１では、本発明を実現する各装置（例えば、中継装置１０）を機能面から説明したが、各装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、本実施例１で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例１に示したような中継装置用プログラムを格納したＣＤ−ＲＯＭを配布し、このＣＤ−ＲＯＭに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
【実施例２】
【０１１５】
実施例２では、シグネチャの生成識別情報を用いてシグネチャの転送処理を制限する場合について説明する。なお、以下では、本実施例２で用いる主要な用語、従来技術の問題点、ネットワーク攻撃防御システムの概要および特徴、中継装置の構成および処理、本実施例２の効果を順に説明し、最後に本実施例２に対する種々の変形例を説明する。【０１１６】
［用語の説明］
まず最初に、本実施例２で用いる主要な用語を説明する。本実施例２で用いる「容疑シグネチャ」とは、攻撃容疑のあるパケット（攻撃容疑パケット）を制限するためのシグネチャであり、具体的には、通過が制限される攻撃容疑パケットの特徴を示す属性（例えば、宛先ＩＰアドレス、プロトコル、宛先ポート番号など）や制限内容（例えば、特定のパケットが流入するときの帯域を制限するための制限情報など）を規定して構成される。【０１１７】
また、本実施例２で用いる「正規シグネチャ」とは、容疑シグネチャに該当するパケットのなかから攻撃とはみなされない正規パケット（正規ユーザの通信パケットである正規パケット）の通過を許可するためのシグネチャであり、具体的には、通過が許可される正規パケットの特徴を示す属性（例えば、送信元ＩＰアドレス、サービスタイプ、宛先ＩＰアドレス、プロトコル、宛先ポート番号など）を規定して構成される。【０１１８】
また、本実施例２で用いる「不正シグネチャ」とは、不正トラヒックに含まれる不正パケット（不正トラヒック条件を満たすパケット）を制限するためのシグネチャであり、具体的には、不正パケットの送信元ＩＰアドレス等を規定して構成される。【０１１９】
また、本実施例２で用いる「識別情報（特許請求の範囲に記載の「生成識別情報」に対応する）」とは、上記したシグネチャの生成を一意に識別するための情報であり、具体的には、シグネチャの生成元である中継装置を一意に識別するための識別子（例えば、エンジンタイプ、エンジンＩＤおよびノードＩＤからなる識別子）および当該中継装置で生成される複数の容疑シグネチャをそれぞれ一意に識別するための識別子（例えば、シーケンシャルに付与される生成番号）から構成される。【０１２０】
また、本実施例２で用いる「下流ノード（特許請求の範囲に記載の「中継元情報」に対応する）」とは、上記したシグネチャを隣接する中継装置から受信して他の隣接する中継装置に送信した中継装置において、当該シグネチャの直前の中継元である隣接中継装置（すなわち、どの中継装置からシグネチャを受信したか）を特定するための情報であり、具体的には、隣接中継装置のアドレスを規定して構成される。【０１２１】
また、本実施例２で用いる「上流ノード（特許請求の範囲に記載の「中継先情報」に対応する）」とは、上記したシグネチャを隣接する中継装置から受信して他の隣接する中継装置に送信した中継装置において、当該シグネチャの直後の中継先である隣接中継装置（すなわち、どの中継装置に対してシグネチャを送信したか）を特定するための情報であり、具体的には、隣接中継装置のアドレスを規定して構成される。なお、シグネチャの中継元（下流ノード）は常に一つであるが、中継先（上流ノード）は複数になり得る。【０１２２】
［従来技術の問題点］
ところで、従来の技術では、隣接中継装置にシグネチャを送信するので、ネットワーク攻撃防御システムにおける互いの中継装置の隣接関係によっては、異なる隣接中継装置から同一のシグネチャを受信する中継装置が存在することがある。そして、このような中継装置では、重複したシグネチャに基づいた処理を行う結果、シグネチャに基づいたパケットの規制に関する処理を効率的に行うことができないという問題がある。以下に、図２４および図２５を用いて、この問題を具体的に説明する。図２４および図２５は、従来技術に係るネットワーク攻撃防御システムを説明するための図である。【０１２３】
図２４に示すように、中継装置１０９−１は、２つの通信端末１３０がネットワーク上のサーバ１２０に対するＤＤｏＳ攻撃を行っていることを検出すると（同図の（１）参照）、シグネチャを隣接中継装置となる中継装置１０９−２および中継装置１０９−３に送信する（同図の（２）参照）。そして、隣接中継装置となる中継装置１０９−１からシグネチャを受信した中継装置１０９−２は、受信したシグネチャに基づいてパケットを処理するとともに、シグネチャを隣接中継装置となる中継装置１０９−３に送信する。同様に、隣接中継装置となる中継装置１０９−１からシグネチャを受信した中継装置１０９−３は、受信したシグネチャに基づいてパケットを処理するとともに、シグネチャを隣接中継装置となる中継装置１０９−２に送信する（同図の（３）参照）。なお、図２４に示す例では、隣接中継装置からシグネチャを受信した中継装置１０９は、自己に送信した隣接中継装置にはシグネチャを送信しない。【０１２４】
このようなシグネチャの送信が行われると、図２４に示す例では、中継装置１０９−３は、隣接中継装置となる中継装置１０９−１および中継装置１０９−２から同一のシグネチャを受信することになる。また、これと同様に、中継装置１０９−２も、隣接中継装置となる中継装置１０９−１および中継装置１０９−３から同一のシグネチャを受信することになる。その結果、中継装置１０９−２および中継装置１０９−３では、重複したシグネチャに基づいたパケット制御処理を行うことになり、シグネチャに基づいたパケットの規制に関する処理を効率的に行うことができない。【０１２５】
また、図２５に示すように、中継装置１０９−１は、２つの通信端末１３０がネットワーク上のサーバ１２０に対するＤＤｏＳ攻撃を行っていることを検出すると（同図の（１）参照）、シグネチャを隣接中継装置となる中継装置１０９−２および中継装置１０９−３に送信する（同図の（２）参照）。そして、隣接中継装置となる中継装置１０９−１からシグネチャを受信した中継装置１０９−２および中継装置１０９−３は、受信したシグネチャに基づいてパケットを処理するとともに、シグネチャをそれぞれの隣接中継装置となる中継装置１０９−４に送信する（同図の（３）参照）。【０１２６】
このようなシグネチャの送信が行われると、図２５に示す例では、中継装置１０９−４は、隣接中継装置となる中継装置１０９−２および中継装置１０９−３から同一のシグネチャを受信することになる。その結果、中継装置１０９−２および中継装置１０９−３では、重複したシグネチャに基づいたパケット制御処理を行うことになり、シグネチャに基づいたパケットの規制に関する処理を効率的に行うことができない。【０１２７】
そこで、本実施例２は、上述した従来技術の課題を解決するためになされたものであり、シグネチャの重複登録や重複送信を回避し、シグネチャに基づいたパケット制御を効率的に行うことが可能な中継装置、中継方法および中継プログラム並びにネットワーク攻撃防御システムを提供することを目的とする。【０１２８】
［システムの概要および特徴］
次に、図１０を用いて、本実施例２に係るネットワーク攻撃防御システムの概要および特徴を説明する。図１０は、本実施例２に係るネットワーク攻撃防御システムの構成を示すシステム構成図である。【０１２９】
同図に示すように、このネットワーク攻撃防御システム１００ａは、ネットワーク上に複数の中継装置１１０を備えて構成される。また、このネットワーク上には、ＤｏＳ攻撃やＤＤｏＳ攻撃の対象となるコンピュータとしてのサーバ１２０や、かかるＤｏＳ攻撃やＤＤｏＳ攻撃を行い得るコンピュータとしての通信端末１３０が接続されている。なお、以下では、図示した中継装置１１０の各々を区別する場合には、それぞれ中継装置１１０−１〜中継装置１１０−７とし、サーバ１２０の各々を区別する場合には、サーバ１２０−１またはサーバ１２０−２とし、通信端末１３０の各々を区別する場合には、通信端末１３０−１〜通信端末１３０−５として記載する。【０１３０】
ここで、中継装置１１０の原則的な機能を最初に説明すると、中継装置１１０は、通信端末１３０のうち少なくとも１つ以上の通信端末１３０がネットワーク上のサーバ１２０に対してＤｏＳ攻撃またはＤＤｏＳ攻撃を行っていることを検出した場合に、パケットの通過を制御するためのシグネチャ（容疑シグネチャや不正シグネチャ）を生成するとともに、パケットの通過を許可するための正規シグネチャを生成する。そして、中継装置１１０は、自ら生成したシグネチャ（容疑シグネチャ、不正シグネチャおよび正規シグネチャ）をシグネチャリストに登録する。【０１３１】
また、中継装置１１０は、生成した容疑シグネチャ（さらには、正規シグネチャの生成に用いた正規条件）を隣接中継装置に送信する。さらに、中継装置１１０は、容疑シグネチャの生成直後だけでなく、送信ミスや内容更新等に起因して容疑シグネチャを再送信する必要が生じた場合にも、容疑シグネチャ等を改めて隣接中継装置に送信する。【０１３２】
その一方で、中継装置１１０は、隣接中継装置から容疑シグネチャ等を受信した場合には、原則として、正規条件に基づいて正規シグネチャを生成するともに、受信した容疑シグネチャおよび生成した正規シグネチャをシグネチャリストに登録し、さらに、受信した容疑シグネチャおよび正規条件を他の隣接中継装置に送信する。なお、隣接中継装置について例を挙げると、図１０において、中継装置１１０−３における隣接中継装置は、中継装置１１０−１、中継装置１１０−２、中継装置１１０−４および中継装置１１０−７であり、中継装置１１０−５および中継装置１１０−６とは、隣接関係をもたない。また、この隣接関係は、物理的な隣接を意味するものではない。【０１３３】
このようにして、図１０に示したネットワーク攻撃防御システム１００ａでは、シグネチャを受信した各中継装置１１０がシグネチャの送信を繰り返すことで、ネットワーク上の全ての中継装置１１０が同様の容疑シグネチャや正規シグネチャをシグネチャリストに登録することになる。そして、各中継装置１１０では、かかるシグネチャリストに登録されたシグネチャ基づいてパケットの通過を制御する。つまり、不正シグネチャや容疑シグネチャに該当するパケットについては、伝送帯域を制限して通過させるかもしくは廃棄し、正規シグネチャに該当するパケットやいずれのシグネチャにも該当しないパケットについては、伝送帯域を制限せずに通過を許可する。【０１３４】
ところで、本実施例２における中継装置１１０は、上記したような原則的な機能に加えて、隣接中継装置から受信したシグネチャがシグネチャリストに既に登録されているか否かを判定し、未だ登録されていない場合に限り、シグネチャをシグネチャリストに登録するとともに隣接中継装置に送信するようにしている点に主たる特徴がある。つまり、隣接中継装置から受信したシグネチャの重複登録や重複送信を回避し、シグネチャに基づいたパケット制御を効率的に行うことができるようにしている。【０１３５】
ここで、上記の主たる特徴を実現するために中継装置１１０が備える特徴的な機能を説明すると、容疑のかかる攻撃を検出した中継装置１１０では、攻撃容疑パケットを制限するための容疑シグネチャおよび容疑シグネチャの生成を一意に識別するための識別情報を生成する。そして、これら容疑シグネチャおよび識別情報を対応付けてシグネチャリストに登録するとともに、生成した容疑シグネチャ（さらには正規条件）および識別情報を隣接中継装置に送信する。さらに、かかる容疑シグネチャおよび識別情報の中継に応じて、中継先である隣接中継装置を特定するための上流ノードを容疑シグネチャおよび識別情報に対応付けてシグネチャリストに登録する。そして、容疑シグネチャを再送信する必要が生じた場合には、かかるシグネチャリストを参照して、同一の識別情報が付与されたシグネチャを同一の中継先である隣接中継装置に対して再送信する。【０１３６】
一方、容疑シグネチャおよび識別情報を受信した中継装置１１０では、受信した容疑シグネチャの識別情報が自己のシグネチャリストに既に登録されているか否かを判定し、未だ登録されていない場合には、受信した容疑シグネチャおよび識別情報をシグネチャリストに登録するとともに、当該容疑シグネチャおよび識別情報を隣接中継装置に送信する。さらに、かかる容疑シグネチャおよび識別情報の中継に応じて、中継元である隣接中継装置を特定するための下流ノードおよび中継先である隣接中継装置を特定するための上流ノードを容疑シグネチャおよび識別情報に対応付けてシグネチャリストに登録する。【０１３７】
また、容疑シグネチャ等を受信した中継装置１１０では、上記とは反対に、受信した容疑シグネチャの識別情報がシグネチャリストに既に登録されている場合には、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一であるか否かをさらに判定する。そして、下流ノードが同一である場合には、シグネチャの再送信であるとして、受信した容疑シグネチャをシグネチャリストに上書き登録するとともに、シグネチャリストに登録されている上流ノードが示す他の隣接中継装置にシグネチャを再送信する。【０１３８】
その一方、容疑シグネチャ等を受信した中継装置１１０では、上記した判定において下流ノードが同一でない場合には、シグネチャの再送信でもないとして、受信した容疑シグネチャをシグネチャリストに登録（または上書き登録）することも、他の隣接中継装置に送信（または再送信）することもせず、受信したシグネチャの下流ノードである隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する。そして、かかる既登録通知を隣接中継装置から受信した中継装置１１０では、シグネチャリストに記憶された上流ノードから当該隣接中継装置に対応する情報（アドレス）を削除する。【０１３９】
以下に、図１０を用いて、上記した主たる特徴が実現される具体例を説明する。同図に示すように、例えば、通信端末１３０−４および通信端末１３０−５がサーバ１２０−１に対するＤｏＳ攻撃を行っており、中継装置１１０−１が容疑のかかる攻撃を検出したとすると、中継装置１１０−１は、攻撃容疑パケットを制限するための容疑シグネチャおよび識別情報を生成し、これら容疑シグネチャおよび識別情報を対応付けてシグネチャリストに登録するとともに、生成した容疑シグネチャ（さらには正規条件）および識別情報を隣接中継装置である中継装置１１０−２および中継装置１１０−３に送信する。さらに、かかる容疑シグネチャおよび識別情報の中継に応じて、中継装置１１０−２および中継装置１１０−３のアドレスを上流ノードとしてシグネチャリストに登録する（図１０の（１）および（２）参照）。【０１４０】
一方、中継装置１１０−２および中継装置１１０−３は、中継装置１１０−１から容疑シグネチャおよび識別情報を受信すると、受信した容疑シグネチャの識別情報が自己のシグネチャリストに既に登録されているか否かを判定するが、ここでは、識別情報が未だ登録されていないので、受信した容疑シグネチャおよび識別情報をシグネチャリストに登録するとともに、当該容疑シグネチャおよび識別情報を隣接中継装置に送信する。つまり、中継装置１１０−２は、中継装置１１０−４に容疑シグネチャおよび識別情報を送信し、また、中継装置１１０−３は、中継装置１１０−４および中継装置１１０−７に容疑シグネチャおよび識別情報を送信する（同図の（３）および（４）参照）。【０１４１】
さらに、かかる容疑シグネチャおよび識別情報の中継に応じて、中継装置１１０−２および中継装置１１０−３は、下流ノードおよび上流ノードの情報をシグネチャリストに登録する。つまり、中継装置１１０−２は、中継装置１１０−１のアドレスを下流ノードとして、中継装置１１０−４のアドレスを上流ノードとしてシグネチャリストに登録し、また、中継装置１１０−３は、中継装置１１０−１のアドレスを下流ノードとして、中継装置１１０−４および中継装置１１０−７のアドレスを上流ノードとしてシグネチャリストに登録する。【０１４２】
そして、中継装置１１０−７は、中継装置１１０−３から容疑シグネチャおよび識別情報を受信すると、受信した容疑シグネチャの識別情報は自己のシグネチャリストに未だ登録されていないので、上記した中継装置１１０−２および中継装置１１０−３と同様、受信した容疑シグネチャおよび識別情報をシグネチャリストに登録するが、隣接中継装置がないので、当該容疑シグネチャおよび識別情報を隣接中継装置に送信することはしない。さらに、中継装置１１０−７は、上流ノードは登録しないが、中継装置１１０−３のアドレスを下流ノードとしてシグネチャリストに登録する（同図の（５）参照）。【０１４３】
その一方、中継装置１１０−４は、例えば、中継装置１１０−２から中継装置１１０−３よりも先に容疑シグネチャおよび識別情報を受信した場合には、受信した容疑シグネチャの識別情報が自己のシグネチャリストに未だ登録されていないので、上記した中継装置１１０−２および中継装置１１０−３と同様、受信した容疑シグネチャおよび識別情報をシグネチャリストに登録するとともに、当該容疑シグネチャおよび識別情報を隣接中継装置となる中継装置１１０−３、中継装置１１０−５および中継装置１１０−６に送信する。さらに、中継装置１１０−４は、中継装置１１０−２のアドレスを下流ノードとしてシグネチャリストに登録するとともに、中継装置１１０−３、中継装置１１０−５および中継装置１１０−６のアドレスを上流ノードとしてシグネチャリストに登録する（同図の（６）および（７）参照）。【０１４４】
そして、中継装置１１０−５および中継装置１１０−６は、中継装置１１０−４から容疑シグネチャおよび識別情報を受信すると、受信した容疑シグネチャの識別情報が自己のシグネチャリストに未だ登録されていないので、上記した中継装置１１０−７と同様、受信した容疑シグネチャおよび識別情報をシグネチャリストに登録するが、隣接中継装置がないので、当該容疑シグネチャおよび識別情報を隣接中継装置に送信することはしない。さらに、中継装置１１０−５および中継装置１１０−６は、上流ノードは登録しないが、中継装置１１０−４のアドレスを下流ノードとしてシグネチャリストに登録する（同図の（８）参照）。【０１４５】
ところで、中継装置１１０−４は、上記した例によって、中継装置１１０−２から容疑シグネチャおよび識別情報を受信した後、中継装置１１０−３からも同一の容疑シグネチャおよび識別情報を受信した場合には、受信した容疑シグネチャの識別情報が自己のシグネチャリストに既に登録されており、かつ、識別情報に対応付けて登録されている下流ノード（中継装置１１０−２）が現に受信したシグネチャの下流ノード（中継装置１１０−３）と同一でないので、受信した容疑シグネチャをシグネチャリストに登録（または上書き登録）することも、他の隣接中継装置に送信（または再送信）することもせず、受信したシグネチャの下流ノードである中継装置１１０−２に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する。そして、かかる既登録通知を中継装置１１０−４から受信した中継装置１１０−３では、シグネチャリストに記憶された当該シグネチャの上流ノードから中継装置１１０−４のアドレスを削除する。【０１４６】
また、中継装置１１０−３は、上記した例によって、中継装置１１０−４からも同一の容疑シグネチャおよび識別情報を受信した場合には、受信した容疑シグネチャの識別情報が自己のシグネチャリストに既に登録されており、かつ、識別情報に対応付けて登録されている下流ノード（中継装置１１０−１）が現に受信したシグネチャの下流ノード（中継装置１１０−４）と同一でないので、受信した容疑シグネチャをシグネチャリストに登録（または上書き登録）することも、他の隣接中継装置に送信（または再送信）することもせず、受信したシグネチャの下流ノードである中継装置１１０−４に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する。そして、かかる既登録通知を中継装置１１０−３から受信した中継装置１１０−４では、シグネチャリストに記憶された当該シグネチャの上流ノード（中継装置１１０−３、中継装置１１０−５および中継装置１１０−６のアドレス）から中継装置１１０−３のアドレスを削除する。【０１４７】
さらに、中継装置１１０−４は、上記した例によって、中継装置１１０−２から容疑シグネチャおよび識別情報を受信した後、同じく中継装置１１０−２から同一の識別情報からなる容疑シグネチャを受信した場合には、受信した容疑シグネチャの識別情報が自己のシグネチャリストに既に登録されているが、識別情報に対応付けて登録されている下流ノード（中継装置１１０−２）が現に受信したシグネチャの下流ノード（中継装置１１０−２）と同一であるので、シグネチャの再送信であるとして、受信した容疑シグネチャをシグネチャリストに上書き登録するとともに、シグネチャリストに登録されている上流ノード（中継装置１１０−５および中継装置１１０−６のアドレス）が示す中継装置１１０−５および中継装置１１０−６に容疑シグネチャを再送信する。【０１４８】
以上のように、図１０に示したネットワーク攻撃防御システムでは、隣接中継装置から受信したシグネチャがシグネチャリストに既に登録されているか否かを判定し、未だ登録されていない場合に限り、シグネチャをシグネチャリストに登録するとともに隣接中継装置に送信するようにすることで、上記した例で言えば、中継装置１１０−４や中継装置１１０−３においてシグネチャの重複登録や重複送信が回避され、シグネチャに基づいたパケット制御を効率的に行うことが可能になる。【０１４９】
なお、中継装置１１０は、攻撃を防御しながらパケットを中継するための装置であり、例えば、ルータとして機能してもよく、または、ブリッジとして機能してもよい。また、中継装置１１０は、中継装置１１０等を管理するための管理用ネットワークに接続されていてもよく、シグネチャは、管理用ネットワークを介して送受されてもよい。さらに、中継装置１１０が送信するシグネチャは、容疑シグネチャだけに限定されず、中継装置１１０は、他のシグネチャを送信してもよく、容疑シグネチャに加えて他のシグネチャを送信するようにしてもよい。【０１５０】
［中継装置の構成］
次に、図１１を用いて、図１０に示した中継装置１１０の構成を説明する。図１１は、中継装置１１０の構成を示すブロック図である。同図に示すように、この中継装置１１０は、ネットワークインタフェース１１１と、パケット取得部１１２と、攻撃検出部１１３（並びに攻撃容疑検出条件テーブル１１３ａ、不正トラヒック検出条件テーブル１１３ｂおよび正規条件テーブル１１３ｃ）と、シグネチャ通信部１１４と、識別情報判定部１１５と、フィルタ部１１６（並びにシグネチャリスト１１６ａ）とを備えて構成される。【０１５１】
また、中継装置１１０は、ＣＰＵ（CentralProcessingUnit）やメモリ、ハードディスク等を有しており、パケット取得部１１２、攻撃検出部１１３、シグネチャ通信部１１４、識別情報判定部１１５およびフィルタ部１１６は、ＣＰＵによって処理されるプログラムのモジュールであってもよい。また、このプログラムのモジュールは、１つのＣＰＵで処理されてもよく、複数のＣＰＵに分散して処理されてもよい。さらに、中継装置１１０には、Ｌｉｎｕｘ等の汎用ＯＳをインストールしておき、汎用ＯＳに具備されるパケットフィルタをフィルタ部１１６として機能させてもよい。【０１５２】
なお、攻撃検出部１１３は特許請求の範囲に記載の「シグネチャ生成手段」に対応し、シグネチャ通信部１１４は同じく「シグネチャ通信手段」に対応し、識別情報判定部１１５は同じく「シグネチャ登録判定手段」に対応し、シグネチャリスト１１６ａは同じく「シグネチャ記憶手段」に対応する。【０１５３】
図１１において、ネットワークインタフェース部１１１は、ネットワークと接続されている通信機器との間でパケットを送受する手段であり、具体的には、ＬＡＮ（LocalAreaNetwork）またはＷＡＮ（WideAreaNetwork）などのネットワークと接続するためのネットワーク接続カード等によって構成される。なお、図１１には示していないが、キーボードやマウス、マイクなど、ネットワーク管理者から各種の情報や指示の入力を受付ける入力手段や、モニタ（若しくはディスプレイ、タッチパネル）やスピーカなど、各種の情報を出力する出力手段を備えて中継装置１１０を構成するようにしてもよい。【０１５４】
パケット取得部１１２は、ネットワークインタフェース部１１１が受信したパケットを取得し、取得したパケットの統計に関する統計情報を攻撃検出部１１３およびパケット数判定部１１５ａに提供する処理部である。【０１５５】
攻撃検出部１１３は、パケット取得部１１２によって提供された統計情報に基づいて、攻撃の検出および攻撃の分析を行う処理部であり、図１１に図示するように、攻撃容疑検出条件テーブル１１３ａ、不正トラヒック検出条件テーブル１１３ｂおよび正規条件テーブル１１３ｃにそれぞれ接続される。ここで、各テーブル１１３ａ〜１１３ｃに記憶される情報を具体的に説明した後に、攻撃検出部１１３による処理内容を説明する。【０１５６】
図１２は、攻撃容疑検出条件テーブル１１３ａに記憶される情報、より詳細には、受信パケットが攻撃パケットである可能性がある攻撃容疑パケットを検出するために使用される「攻撃容疑検出条件」の一例を示す図である。同図に示すように、攻撃容疑検出条件は、検出属性、検出閾値および検出間隔の組合せからなる複数組（ここでは３組）のレコードで構成され、かかる攻撃容疑検出条件の各レコードの内のいずれかのレコードの条件にトラヒックが一致した場合に、このトラヒックの通信パケットは攻撃容疑パケットであると認識される。なお、番号はレコードを特定するために便宜上使用されるものである。【０１５７】
攻撃容疑検出条件の「検出属性」には、例えば、ＩＰパケットに含まれるＩＰヘッダ部の属性や、ＩＰパケットのペイロード部に含まれるＴＣＰヘッダ部またはＵＤＰヘッダ部の属性が指定される。具体的には、図１２において、番号１のレコードの検出属性は、「DestinationIPAddress（宛先ＩＰアドレス）」が「192.168.1.1/32」であり（dst=192.168.1.1/32）、ＩＰの上位層（ＴＣＰまたはＵＤＰ）のプロトコル種別を示す「Protocol（プロトコル）」が「ＴＣＰ」であり（Protocol=TCP）、かつ、ＩＰの上位層プロトコルがどのアプリケーションの情報であるかを示す「DestinationPort（宛先ポート番号）」が「８０」である（Port=80）という属性値の組で指定される。【０１５８】
また、番号２のレコード検出属性は、「DestinationIPAddress（宛先ＩＰアドレス）」が「192.168.1.2/32」であり（dst=192.168.1.2/32）、かつ、「Protocol（プロトコル）」が「ＵＤＰ（UserDatagramprotocol）」である（Protocol=UDP）という属性値の組で指定される。同様に、番号３のレコード検出属性は、「DestinationIPAddress（宛先ＩＰアドレス）」が「192.168.1.0/24」という属性で指定される。【０１５９】
攻撃容疑検出条件の「検出閾値」は、同じレコードで指定される検出属性を持つ受信パケットのトラヒックを攻撃容疑トラヒックとして検出するための最低の伝送帯域を指定したものであり、攻撃容疑検出条件の「検出間隔」は、同じく最低の連続時間を指定したものである。なお、図１２には示していないが、検出属性においては、「DestinationIPAddress（宛先ＩＰアドレス）」の値を無条件（ａｎｙ）とし、かつ、ＩＰの上位層のプロトコル種別を示す「Protocol（プロトコル）」が「ＩＣＭＰ（InternetControlMessageProtocol）」となる属性値の組を指定するようにしてもよい。【０１６０】
図１３は、不正トラヒック検出条件テーブル１１３ｂに記憶される情報、より詳細には、攻撃容疑パケットのトラヒックから不正トラヒックを検出するために用いられる「不正トラヒック条件」の一例を示す図である。同図に示すように、不正トラヒック条件は、既知のＤＤｏＳ攻撃の複数のトラヒックパターンから構成され、攻撃容疑パケットのトラヒックがいずれかのトラヒックパターンに合致した場合に、不正トラヒックであると認識される。なお、番号はレコード（パターン）を特定するために便宜上使用されるものである。【０１６１】
具体的には、番号１の不正トラヒック条件は、「伝送帯域Ｔ１Ｋｂｐｓ以上、パケットがＳ１秒以上連続送信されている」というトラヒックパターンを示している。また、番号２の不正トラヒック条件は、「伝送帯域Ｔ２Ｋｂｐｓ以上、ＩＣＭＰ（InternetControlMessageProtocol）上のエコー応答（EchoReply）メッセージのパケットがＳ２秒以上連続送信されている」というトラヒックパターンを示している。さらに、番号３の不正トラヒック条件は、「伝送帯域Ｔ３Ｋｂｐｓ以上、データが長すぎるためパケットに含まれるデータは複数ＩＰパケットに分割して送信していることを示すフラグメントパケットがＳ３秒以上連続送信されている」というトラヒックパターンを示している。【０１６２】
図１４は、正規条件テーブル１１３ｃに記憶される情報、より詳細には、正当な利用者が利用している通信端末１３０から送信されるパケットを表す「正規条件」の一例を示す図である。同図に示すように、正規条件は、ＩＰパケットにおける属性とそれら属性値の組からなる複数のレコードで構成される。なお、番号はレコード（パターン）を特定するために便宜上使用されるものである。【０１６３】
具体的には、番号１のレコードの検出属性は、ＩＰの「SourceIPAddress（送信元ＩＰアドレス）」が「172.16.10.0/24」であることを指定し（src=172.16.10.0/24）、番号２のレコードの検出属性はＩＰ上のサービス品質を示す「TypeofService（サービスタイプ）」が「（１６進で）０１」であることを指定している（TOS=0x01）。このような正規条件には、例えば、サーバ所有者の会社の支店や、関連会社など、防御対象のサーバ１２０等の送信元ＩＰアドレスが設定され、サーバ１２０が収容されているＬＡＮの所有者が正規ユーザであると認識しているネットワークの送信元ＩＰアドレスなどが設定される。【０１６４】
図１１の説明に戻ると、攻撃検出部１１３は、パケット取得部１１２によって提供された統計情報に基づいて攻撃の検出を検出した場合に、攻撃容疑トラヒックの通信パケット（攻撃容疑パケット）を制限するための容疑シグネチャを生成する。具体的には、攻撃検出部１１３は、図１２に示した攻撃容疑検出条件に従って、検出間隔で指定されているより長い時間連続して、検出閾値で指定されている以上の伝送帯域を使用している、検出属性に合致するトラヒックをチェックし、各レコードの内のいずれかのレコードに合致した場合には、このトラヒックを攻撃容疑トラヒックとして検出し、このときに検出された攻撃容疑トラヒックが満たしている攻撃容疑検出条件のレコードの検出属性を容疑シグネチャとして生成する。【０１６５】
また、攻撃検出部１１３は、攻撃を検出した場合に、容疑シグネチャとともに正規シグネチャを生成する。具体的には、図１４に示した正規条件を参照し、正規条件の全てのレコード毎に、容疑シグネチャとのＡＮＤ条件をとり、これを正規シグネチャとして生成する。この正規シグネチャは、容疑シグネチャから正規ユーザの通信パケットである正規パケットを許可するために用いられるシグネチャであるが、例えば、図１２および図１４の例を用いて説明すると、図１２における番号１のレコードの条件で検出されるパケットの容疑シグネチャは、[dst=192.168.1.1/32,Protocol=TCP,Port=80]となり、図１４において、正規シグネチャは、[src=172.16.10.24,dst=192.168.1.1/32,Protocol=TCP,Port=80]および[TOS=0x01,dst=192.168.1.1/32,Protocol=TCP,Port=80]となる。【０１６６】
さらに、攻撃検出部１１３は、図１３に示した不正トラヒック条件のいずれかのパターンに合致するトラヒックを検出した場合に、不正トラヒックを制限するための不正シグネチャを生成する。具体的には、検出された不正トラヒック条件を満たすパケットの送信元ＩＰアドレスを不正アドレス範囲として特定し、この不正アドレス範囲であり、かつ、容疑シグネチャに合致するという条件を不正シグネチャとして生成する。【０１６７】
上述してきた攻撃検出部１１３によって生成された容疑シグネチャ、正規シグネチャおよび不正シグネチャは、シグネチャリスト１１６ａ（図１５参照）に登録される。そして、攻撃検出部１１３は、各シグネチャの生成を一意に識別するための識別情報を生成し、この識別情報とともにシグネチャをシグネチャリスト１１６ａに登録する。【０１６８】
ここで、図１６を参照して、シグネチャに付与される識別情報を説明する。図１６は、シグネチャに付与される識別情報の例を示す図であるが、同図に示すように、攻撃検出部１１３は、シグネチャの生成元である中継装置１１０を一意に識別するための識別子（すなわち、エンジンタイプ、エンジンＩＤおよびノードＩＤからなる識別子）および当該中継装置で生成される複数の容疑シグネチャをそれぞれ一意に識別するための識別子（例えば、シーケンシャルに付与される生成番号）から構成される識別情報を生成する。【０１６９】
図１１において、シグネチャ通信部１１４は、攻撃検出部１１３が生成したシグネチャ等を隣接中継装置に送信するとともに、隣接中継装置から送信されたシグネチャを受信し、また、隣接中継装置から受信したシグネチャをシグネチャリスト１１６ａに登録し、さらに、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理部である。【０１７０】
具体的には、シグネチャ通信部１１４は、攻撃検出部１１３によってシグネチャおよび識別情報がシグネチャリスト１１６ａに登録されると、登録されたシグネチャ等を識別情報とともに隣接中継装置に送信する。さらに、シグネチャ通信部１１４は、かかるシグネチャおよび識別情報の中継に応じて、中継先である隣接中継装置を特定するための上流ノードをシグネチャおよび識別情報に対応付けてシグネチャリスト１１６ａに登録する（図１５参照）。そして、シグネチャ通信部１１４は、容疑シグネチャ等を再送信する必要が生じた場合には、かかるシグネチャリスト１１６ａを参照して、同一の識別情報が付与されたシグネチャを同一の中継先である隣接中継装置に対して再送信する。【０１７１】
また、シグネチャ通信部１１４は、隣接中継装置から受信したシグネチャをシグネチャリスト１１６ａに登録する処理および他の隣接中継装置に送信する処理を行うが、かかる処理は、以下に説明する識別情報判定部１１５による判定結果に従って実行される。【０１７２】
識別情報判定部１１５は、シグネチャ通信部１１４によって隣接中継装置からシグネチャを受信した場合に、受信したシグネチャの識別情報がシグネチャリスト１１６ａに既に登録されているか否かを判定する。そして、未だ登録されていないと識別情報判定部１１５が判定した場合には、上記のシグネチャ通信部１１４は、受信したシグネチャおよび識別情報をシグネチャリスト１１６ａに登録するとともに、当該シグネチャおよび識別情報を隣接中継装置に送信する。さらに、シグネチャ通信部１１４は、中継元である隣接中継装置を特定するための下流ノードおよび中継先である隣接中継装置を特定するための上流ノードをシグネチャおよび識別情報に対応付けてシグネチャリスト１１６ａに登録する（図１５参照）。【０１７３】
これとは反対に、受信したシグネチャの識別情報がシグネチャリスト１１６ａに既に登録されている場合には、識別情報判定部１１５は、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一であるか否かをさらに判定する。そして、下流ノードが同一であると識別情報判定部１１５が判定した場合には、上記のシグネチャ通信部１１４は、シグネチャの再送信であるとして、受信したシグネチャをシグネチャリスト１１６ａに上書き登録するとともに、シグネチャリスト１１６ａに登録されている上流ノードが示す他の隣接中継装置にシグネチャを再送信する。【０１７４】
さらに、上記した判定において、下流ノードが同一でないと識別情報判定部１１５が判定した場合には、上記のシグネチャ通信部１１４は、シグネチャの再送信でもないとして、受信した容疑シグネチャをシグネチャリスト１１６ａに登録（または上書き登録）することも、他の隣接中継装置に送信（または再送信）することもせず、受信したシグネチャの下流ノードである隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する。その一方、シグネチャ通信部１１４は、かかる既登録通知を隣接中継装置から受信した場合には、シグネチャリスト１１６ａに記憶された上流ノードから当該隣接中継装置に対応する情報（アドレス）を削除する。【０１７５】
図１１において、フィルタ部１１６は、ネットワークインタフェース部１１１が受信したパケットを受け入れて、シグネチャリスト１１６ａに基づいてパケットの通過（ネットワークインタフェース部１１１からのパケットの出力）を制御する処理部である。具体的には、入力されたパケットについて、シグネチャリスト１１６ａに登録された「不正シグネチャ」、「正規シグネチャ」、「容疑シグネチャ」のいずれかに該当するか（もしくはいずれにも該当しないか）を判別した上で、該当するシグネチャに基づいてパケットの通過を制御する。【０１７６】
より詳細には、フィルタ部１１６は、不正シグネチャに該当するパケットは、不正なパケットを処理するための不正キューに入力し、容疑シグネチャに該当するパケットは、容疑ユーザ用の容疑キューに入力し、正規シグネチャに該当するパケットまたはいずれのシグネチャにも該当しないパケットは、正規ユーザ用の正規キューに入力する。その上で、フィルタ部１１６は、正規キューに入力されたパケットについては、伝送帯域を制限せずにネットワークインタフェース部１１１から出力し、容疑キューおよび不正キューに入力されたパケットについては、それぞれのシグネチャ（条件を満たすとして選択されたシグネチャ）が示す伝送帯域制限値に従って制限して出力する。【０１７７】
なお、フィルタ部１１６は、シグネチャリスト１１６ａに登録されたシグネチャの検出属性等が所定の解除判断基準を満たした場合には、この所定の解除判断基準を満たしたシグネチャを解除し、解除したシグネチャに基づいてパケットの通過を制御する処理を停止する。【０１７８】
［攻撃容疑パケット検出時の処理］
続いて、図１７を参照して、上記した中継装置１１０による攻撃容疑パケット検出時の動作処理を説明する。図１７は、攻撃容疑パケット検出時の処理手順を示すフローチャートである。【０１７９】
同図に示すように、中継装置１１０の攻撃検出部１１３は、図１２に示した攻撃容疑検出条件テーブル１１３ａに基づいて攻撃容疑トラヒックを検出すると（ステップＳ１０１）、容疑シグネチャおよび正規シグネチャを生成する（ステップＳ１０２）。【０１８０】
そして、攻撃検出部１１３は、各シグネチャの生成を一意に識別するための識別情報を生成し（ステップＳ１０３）、この識別情報とともに容疑シグネチャおよび正規シグネチャをフィルタ部１１６のシグネチャリスト１１６ａに登録する（ステップＳ１０４）。さらに、シグネチャ通信部１１４は、攻撃検出部１１３が生成したシグネチャ等（本実施例２では、容疑シグネチャおよび正規条件）を識別情報とともに隣接中継装置に送信する（ステップＳ１０５）。【０１８１】
なお、シグネチャ通信部１１４は、上記したステップＳ１０４によるシグネチャ等の中継に応じて、中継先である隣接中継装置を特定するための上流ノードをシグネチャリスト１１６ａに登録する。そして、シグネチャ通信部１１４は、容疑シグネチャ等を再送信する必要が生じた場合には、かかるシグネチャリスト１１６ａを参照して、同一の識別情報が付与されたシグネチャを同一の中継先である隣接中継装置に対して再送信する。【０１８２】
［シグネチャ受信時の処理］
続いて、図１８を参照して、上記した中継装置１１０によるシグネチャ受信時の動作処理を説明する。図１８は、シグネチャ受信時の処理手順を示すフローチャートである。【０１８３】
同図に示すように、中継装置１１０のシグネチャ通信部１１４が、隣接中継装置から送信されたシグネチャ等（本実施例２では、容疑シグネチャおよび正規条件）を受信すると（ステップＳ１１１）、識別情報判定部１１５は、受信したシグネチャの識別情報がフィルタ部１１６のシグネチャリスト１１６ａに既に登録されているか否かを判定し（ステップＳ１１２）、さらに、かかる識別情報がシグネチャリスト１１６ａに既に登録されている場合には（ステップＳ１１２肯定）、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一であるか否かも判定する（ステップＳ１１３）。【０１８４】
かかる判定において、識別情報がシグネチャリスト１１６ａに既に登録されているおり、かつ、下流ノードが同一でないと識別情報判定部１１５が判定した場合には（ステップＳ１１２肯定かつステップＳ１１３否定）、シグネチャ通信部１１４は、受信した容疑シグネチャをシグネチャリスト１１６ａに登録（または上書き登録）することも、他の隣接中継装置に送信（または再送信）することもせず、受信したシグネチャの下流ノードである隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する（ステップＳ１１８）。なお、かかる既登録通知を隣接中継装置から受信した中継装置１１０では、シグネチャリスト１１６ａに記憶された上流ノードから当該隣接中継装置に対応する情報（アドレス）を削除する。【０１８５】
これとは反対に、受信したシグネチャの識別情報がシグネチャリスト１１６ａに未だ登録されていないと識別情報判定部１１５が判定した場合には（ステップＳ１１２否定）、シグネチャ通信部１１４は、受信したシグネチャおよび識別情報をフィルタ部１１６のシグネチャリスト１１６ａに登録し（ステップＳ１１４）、攻撃検出部１１３は、シグネチャ通信部１１４が受信した正規条件に基づいて正規シグネチャを生成するとともに（ステップＳ１１５）、正規シグネチャをシグネチャリスト１１６ａに登録する（ステップＳ１１６）。【０１８６】
さらに、シグネチャ通信部１１４は、シグネチャリスト１１６ａに登録した容疑シグネチャおよび識別情報（さらには、正規シグネチャの生成に用いた正規条件）を隣接中継装置に送信する（ステップＳ１１７）。なお、シグネチャ通信部１１４は、このステップＳ１１７によるシグネチャ等の中継に応じて、中継元である隣接中継装置を特定するための下流ノードおよび中継先である隣接中継装置を特定するための上流ノードをシグネチャおよび識別情報に対応付けてシグネチャリスト１１６ａに登録する。【０１８７】
ところで、上記したステップＳ１１３の判定において、受信したシグネチャの識別情報がシグネチャリスト１１６ａに既に登録されているが、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一であると識別情報判定部１１５が判定した場合には（ステップＳ１１３肯定）、シグネチャ通信部１１４は、シグネチャの再送信であるとして、受信したシグネチャをシグネチャリスト１１６ａに上書き登録するとともに（ステップＳ１１９）、攻撃検出部１１３は、シグネチャ通信部１１４が受信した正規条件に基づいて正規シグネチャを再生成するとともに（ステップＳ１２０）、正規シグネチャをシグネチャリスト１１６ａに上書き登録する（ステップＳ１２１）。さらに、シグネチャ通信部１１４は、シグネチャリスト１１６ａに登録されている上流ノードが示す他の隣接中継装置に、容疑シグネチャおよび識別情報（さらには、正規シグネチャの生成に用いた正規条件）を再送信する（ステップＳ１２２）。【０１８８】
なお、上記では、シグネチャの再送信であると判定された場合（受信したシグネチャの識別情報がシグネチャリスト１１６ａに既に登録されているが、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一である場合）に、容疑シグネチャの上書き登録、正規シグネチャの再生成および上書き登録（ステップＳ１１９〜Ｓ１２１）を行う場合を説明したが、本発明は必ずしもこれに限定されるものではなく、これらの処理（ステップＳ１１９〜Ｓ１２１）を省いて、容疑シグネチャ、識別情報および正規条件の再送信（ステップＳ１２２）のみを行うようにしてもよい。【０１８９】
［不正パケット検出時の処理］
続いて、図１９を参照して、上記した中継装置１９による不正パケット検出時の動作処理を説明する。図１９は、不正パケット検出時の処理手順を示すフローチャートである。【０１９０】
同図に示すように、中継装置１１０の攻撃検出部１１７が、図１３に示した不正トラヒック条件に基づいて不正トラヒックを検出すると（ステップＳ１３１）、不正シグネチャを生成する（ステップＳ１３２）。そして、攻撃検出部１１７は、生成した不正シグネチャをフィルタ部１１６のシグネチャリスト１１６ａに登録する（ステップＳ１３３）。【０１９１】
［パケット制御時の処理］
続いて、図２０を参照して、上記した中継装置１１０によるパケット制御時の動作処理を説明する。図２０は、パケット制御時の処理手順を示すフローチャートである。【０１９２】
同図に示すように、フィルタ部１１６は、ネットワークインタフェース部１１１からパケットが入力されると（ステップＳ１４１肯定）、シグネチャリスト１１６ａに登録された不正シグネチャに合致するか否かを判断する（ステップＳ１４２）。そして、不正シグネチャに合致した場合には（ステップＳ１４２肯定）、フィルタ部１１６は、不正なパケットを処理するための不正キューにパケットを入力する（ステップＳ１４３）。【０１９３】
これとは反対に、不正シグネチャに合致しない場合には（ステップＳ１４２否定）、フィルタ部１１６は、入力されたパケットが、シグネチャリスト１１６ａに登録された正規シグネチャに合致するか否かを判断する（ステップＳ１４４）。そして、正規シグネチャに合致した場合には（ステップＳ１４４肯定）、フィルタ部１１６は、正規なユーザ用の正規キューにパケットを入力する（ステップＳ１４５）。【０１９４】
さらに、この正規シグネチャにも合致しない場合には（ステップＳ１４４否定）、フィルタ部１１６は、入力されたパケットが、シグネチャリスト１１６ａに登録された容疑シグネチャに合致するか否かを判断する（ステップＳ１４６）。そして、容疑シグネチャに合致した場合には（ステップＳ１４６肯定）、フィルタ部１１６は、容疑ユーザ用の容疑キューにパケットを入力する（ステップＳ１４７）。これとは反対に、容疑シグネチャに合致しない場合には（ステップＳ１４６否定）、フィルタ部１１６は、正規キューにパケットを入力する（ステップＳ１４８）。【０１９５】
そして、フィルタ部１１６は、それぞれのキューにあるパケットについて、正規キューであれば、伝送帯域を制限せずにネットワークインタフェース部１１１から出力し、容疑キューおよび不正キューであれば、それぞれのシグネチャが示す伝送帯域制限値に従って制限して出力する。なお、不正シグネチャ、正規シグネチャ、容疑シグネチャの各シグネチャは、それぞれシグネチャリスト１１６ａに複数登録されてもよい。また、登録されたシグネチャの検出属性等が所定の判断基準を満たした場合に、フィルタ部１１６は、所定の判断基準を満たしたシグネチャを解除し、解除したシグネチャに基づいたパケットの通過を制御する処理を停止する。【０１９６】
［実施例２の効果］
上述してきたように、上記の実施例２によれば、隣接中継装置から受信したシグネチャが既に登録されているか否かを判定して、未だ登録されていないシグネチャのみをシグネチャリスト１１６ａに登録するとともに隣接中継装置に送信するので、シグネチャの重複登録や重複送信が回避され、シグネチャに基づいたパケット制御を効率的に行うことが可能になる。【０１９７】
また、上記の実施例２によれば、シグネチャの生成を一意に識別するための識別情報を各シグネチャに対応付けて管理するので、シグネチャの具体的な内容にまで踏み込むことなく、識別情報のみからシグネチャが既に登録されているか否かを判定することが可能になる。さらに、シグネチャの内容が同一であっても識別情報（生成元）が異なっていれば、未だ登録されていないシグネチャであるとしてシグネチャリスト１１６ａに登録するとともに隣接中継装置に送信するので、生成元となる各中継装置の性能違い（例えば、攻撃検出や防御解除に係るアルゴリズムの違いなど）が尊重され、安全性の高いパケット制御を行うことが可能になる。【０１９８】
また、上記の実施例２によれば、攻撃容疑パケットを検出すると、容疑シグネチャおよび識別情報を生成し、これらシグネチャおよび識別情報を隣接中継装置に送信するとともに、中継先である隣接中継装置を特定するための上流オード、識別情報および容疑シグネチャをシグネチャリスト１１６ａに対応付けて登録するので、シグネチャに対して確実に識別情報を付与することが可能になる。さらに、送信ミスや内容更新等に起因してシグネチャを再送信する必要が生じた場合でも、シグネチャリスト１１６ａに登録された上流ノード、識別情報およびシグネチャを参照することで、同一の識別情報が付与されたシグネチャを同一の中継先に対して確実に再送信することが可能になる。【０１９９】
また、上記の実施例２によれば、隣接中継装置から受信したシグネチャの識別情報がシグネチャリスト１１６ａに未だ登録されていない場合には、これを他の隣接中継装置に送信するとともに、シグネチャの直前の中継元である隣接中継装置を特定するための下流ノード、シグネチャの直後の中継先である隣接中継装置を特定するための上流ノード、識別情報およびシグネチャをシグネチャリスト１１６ａに対応付けて登録する（図１５参照）。そして、隣接中継装置から受信したシグネチャの識別情報がシグネチャリスト１１６ａに既に登録されている場合には、下流ノードが同一であるか否かをさらに判定し、これが同一である場合には、シグネチャをシグネチャリスト１１６ａに上書き登録するとともに、シグネチャリスト１１６ａに登録されている上流ノードが示す他の隣接中継装置にシグネチャを送信するので、送信ミスや内容更新等に起因してシグネチャが再送信されてきた場合でも、このシグネチャを留めることなく、中継先に対して確実に再送信することが可能になる。その一方、下流ノードが同一でない場合には、シグネチャの再送信でもないと判定される結果、シグネチャの重複登録や重複送信を確実に回避することが可能になる。【０２００】
また、上記の実施例２によれば、隣接中継装置から受信したシグネチャの識別情報がシグネチャリスト１１６ａに既に登録されており、かつ、下流ノードも同一でない場合には、シグネチャの下流ノードである隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する。さらに、当該既登録通知を他の隣接中継装置から受信した場合には、シグネチャリスト１１６ａに記憶された上流ノードから当該隣接中継装置に対応する情報（アドレス）を削除する。したがって、送信ミスや内容更新等に起因してシグネチャを再送信する必要が生じた場合でも、シグネチャリスト１１６ａから削除された中継先に対してはシグネチャが送信されないことになり、シグネチャの再送信に際してもシグネチャの重複登録や重複送信を確実に回避することが可能になる。【０２０１】
［他の実施例］
さて、これまで本発明の実施例２について説明したが、本発明は上述した実施例２以外にも、種々の異なる形態にて実施されてよいものである。【０２０２】
例えば、上記の実施例２では、シグネチャの生成を一意に識別するための生成識別情報に基づいて重複登録を判定する場合を説明したが、本発明はこれに限定されるものではなく、生成元となる各中継装置の性能を無視し、シグネチャの内容が同一であるか否かによって重複登録を判定するようにしてもよい。さらには、生成元となる各中継装置の性能を考慮し、シグネチャの内容が同一であり、かつ、生成元の性能が同一であるか否かによって重複登録を判定するようにしてもよい。【０２０３】
また、各中継装置１１０は、受信した容疑シグネチャおよび識別情報を隣接中継装置に送信する前に、容疑シグネチャの条件を満たすパケットの数が単位時間内に所定の閾値を超過したか否かを判定するようにしてもよい。すなわち、所定の閾値を超過したと判定した場合に初めて（攻撃有りと判定した場合に初めて）、受信した容疑シグネチャを隣接中継装置に送信するようにしてもよい。例えば、図１０に示した例で言えば、中継装置１１０−４は、通信端末１３０−１〜通信端末１３０−３によって攻撃がなされていないので、中継装置１１０−２または中継装置１１０−３から容疑シグネチャおよび識別情報を受信したとしても、所定の閾値を超過したと判定することはなく、容疑シグネチャを隣接中継装置となる中継装置１１０−５や中継装置１１０−６に送信しない。【０２０４】
また、上記の実施例２で図示した各装置（例えば、図１０に例示した中継装置１１０）の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、中継装置１１０の分散・統合の具体的形態は図示のものに限られず、中継装置１１０の全部または一部を各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、中継装置１１０にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【０２０５】
また、上記の実施例２で説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、攻撃容疑検出条件テーブル、不正トラヒック検出条件テーブル、正規条件テーブルの内容等）については、特記する場合を除いて任意に変更することができる。【０２０６】
なお、上記の実施例２では、本発明を実現する各装置（例えば、中継装置１１０）を機能面から説明したが、各装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、本実施例２で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例２に示したような中継装置用プログラムを格納したＣＤ−ＲＯＭを配布し、このＣＤ−ＲＯＭに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
【実施例３】
【０２０７】
実施例３では、上述した実施例１および実施例２で行うパケット制限処理を組み合わせた場合について説明する。図２１は、実施例３に係る中継装置２１０の構成を示すブロック図である。なお、以下では、実施例１および実施例２に示した中継装置（１０および１１０）と本実施例３に係る中継装置２１０との相違点について主に説明し、共通点についての説明は省略することとする。【０２０８】
［システムの概要および特徴］
図２１に示すように、中継装置２１０は、パケット制限処理を行う処理部として、識別情報判定部２１５ａ（実施例２に係る中継装置１１０の識別情報判定部１１５に対応）と、パケット数判定部２１５ｂ（実施例１に係る中継装置１０のパケット数判定部１５ａに対応）と、連続超過回数判定部２１５ｃ（同じく連続超過回数判定部１５ｂに対応）とを備えている。【０２０９】
すなわち、中継装置２１０は、シグネチャの生成を一意に識別するための識別情報を用いて他の中継装置へのパケット中継を制限するとともに、シグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否か、かかる所定の閾値を連続して超過した回数が所定の閾値を超過したか否かによってパケット中継を制限する。このようにすることで、パケット中継の制限処理を柔軟かつ確実に実行することが可能になる。【０２１０】
［攻撃容疑パケット検出時の処理］
続いて、図２２を参照して、上記した中継装置２１０による攻撃容疑パケット検出時の動作処理を説明する。図２２は、攻撃容疑パケット検出時の処理手順を示すフローチャートである。【０２１１】
同図に示すように、中継装置２１０の攻撃検出部２１３は、図１２に示した攻撃容疑検出条件テーブル１１３ａに基づいて攻撃容疑トラヒックを検出すると（ステップＳ２０１）、容疑シグネチャおよび正規シグネチャを生成する（ステップＳ２０２）。【０２１２】
そして、攻撃検出部２１３は、各シグネチャの生成を一意に識別するための識別情報を生成し（ステップＳ２０３）、この識別情報とともに容疑シグネチャおよび正規シグネチャをフィルタ部２１６のシグネチャリスト２１６ａに登録する（ステップＳ２０４）。さらに、シグネチャ通信部２１４は、攻撃検出部２１３が生成したシグネチャ等（本実施例３では、容疑シグネチャおよび正規条件）を識別情報とともに隣接中継装置に送信する（ステップＳ２０５）。【０２１３】
なお、シグネチャ通信部２１４は、上記したステップＳ２０４によるシグネチャ等の中継に応じて、中継先である隣接中継装置を特定するための上流ノードをシグネチャリスト２１６ａに登録する。そして、シグネチャ通信部２１４は、容疑シグネチャ等を再送信する必要が生じた場合には、かかるシグネチャリスト２１６ａを参照して、同一の識別情報が付与されたシグネチャを同一の中継先である隣接中継装置に対して再送信する。【０２１４】
［シグネチャ受信時の処理］
続いて、図２３を参照して、上記した中継装置２１０によるシグネチャ受信時の動作処理を説明する。図２３は、シグネチャ受信時の処理手順を示すフローチャートである。【０２１５】
同図に示すように、中継装置２１０のシグネチャ通信部２１４が、隣接中継装置から送信されたシグネチャ等（本実施例３では、容疑シグネチャおよび正規条件）を受信すると（ステップＳ２１１）、識別情報判定部２１５ａは、受信したシグネチャの識別情報がフィルタ部２１６のシグネチャリスト２１６ａに既に登録されているか否かを判定し（ステップＳ２１２）、さらに、かかる識別情報がシグネチャリスト２１６ａに既に登録されている場合には（ステップＳ２１２肯定）、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一であるか否かも判定する（ステップＳ２１３）。【０２１６】
かかる判定において、識別情報がシグネチャリスト２１６ａに既に登録されているおり、かつ、下流ノードが同一でないと識別情報判定部２１５ａが判定した場合には（ステップＳ２１２肯定かつステップＳ２１３否定）、シグネチャ通信部２１４は、受信した容疑シグネチャをシグネチャリスト２１６ａに登録（または上書き登録）することも、他の隣接中継装置に送信（または再送信）することもせず、受信したシグネチャの下流ノードである隣接中継装置に対して、当該シグネチャが既に登録されている旨を示す既登録通知を返送する（ステップＳ２２０）。なお、かかる既登録通知を隣接中継装置から受信した中継装置２１０では、シグネチャリスト２１６ａに記憶された上流ノードから当該隣接中継装置に対応する情報（アドレス）を削除する。【０２１７】
これとは反対に、受信したシグネチャの識別情報がシグネチャリスト２１６ａに未だ登録されていないと識別情報判定部２１５ａが判定した場合には（ステップＳ２１２否定）、シグネチャ通信部２１４は、受信したシグネチャおよび識別情報をフィルタ部２１６のシグネチャリスト２１６ａに登録し（ステップＳ２１４）、攻撃検出部２１３は、シグネチャ通信部２１４が受信した正規条件に基づいて正規シグネチャを生成するとともに（ステップＳ２１５）、正規シグネチャをシグネチャリスト２１６ａに登録する（ステップＳ２１６）。【０２１８】
続いて、パケット数判定部２１５ｂは、パケット取得部２１２によって提供された統計情報から、上記でシグネチャリスト２１６ａに登録した容疑シグネチャの条件を満たすパケットを単位時間毎に取得し、取得したパケットの数が所定の閾値を超過したか否かを判定する（ステップＳ２１７）。【０２１９】
ここで、かかる所定の閾値を超過した場合（ステップＳ２１７肯定）、連続超過回数判定部２１５ｃは、所定の閾値を連続して超過した回数が、所定値を超過したか否かを判定する（ステップＳ２１８）。その結果、かかる所定の閾値を連続して超過した回数が所定値を超過した場合（ステップＳ２１８）、シグネチャ通信部２１４は、シグネチャリスト２１６ａに登録した容疑シグネチャおよび識別情報（さらには、正規シグネチャの生成に用いた正規条件）を隣接中継装置に送信する（ステップＳ２１９）。なお、シグネチャ通信部２１４は、このステップＳ２１９によるシグネチャ等の中継に応じて、中継元である隣接中継装置を特定するための下流ノードおよび中継先である隣接中継装置を特定するための上流ノードをシグネチャおよび識別情報に対応付けてシグネチャリスト２１６ａに登録する。【０２２０】
また、上記したステップＳ２１７において、パケットの数が所定の閾値を超過しなかった場合（ステップＳ２１７否定）や、上記したステップＳ２１８において、所定の閾値を連続して超過した回数が所定値を超過しなかった場合（ステップＳ２１８否定）には、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理（上記のステップＳ２１９の処理）は行われない。【０２２１】
ところで、上記したステップＳ２１３の判定において、受信したシグネチャの識別情報がシグネチャリスト２１６ａに既に登録されているが、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一であると識別情報判定部２１５が判定した場合には（ステップＳ２１３肯定）、シグネチャ通信部２１４は、シグネチャの再送信であるとして、受信したシグネチャをシグネチャリスト２１６ａに上書き登録するとともに（ステップＳ２２１）、攻撃検出部２１３は、シグネチャ通信部２１４が受信した正規条件に基づいて正規シグネチャを再生成するとともに（ステップＳ２２２）、正規シグネチャをシグネチャリスト２１６ａに上書き登録する（ステップＳ２２３）。【０２２２】
続いて、パケット数判定部２１５ｂは、パケット取得部２１２によって提供された統計情報から、上記でシグネチャリスト２１６ａに登録した容疑シグネチャの条件を満たすパケットを単位時間毎に取得し、取得したパケットの数が所定の閾値を超過したか否かを判定する（ステップＳ２２４）。【０２２３】
ここで、かかる所定の閾値を超過した場合（ステップＳ２２４肯定）、連続超過回数判定部２１５ｃは、所定の閾値を連続して超過した回数が、所定値を超過したか否かを判定する（ステップＳ２２５）。その結果、かかる所定の閾値を連続して超過した回数が所定値を超過した場合（ステップＳ２２５肯定）、シグネチャ通信部２１４は、シグネチャリスト２１６ａに登録されている上流ノードが示す他の隣接中継装置に、容疑シグネチャおよび識別情報（さらには、正規シグネチャの生成に用いた正規条件）を再送信する（ステップＳ２２６）。【０２２４】
なお、上記したステップＳ２２４において、パケットの数が所定の閾値を超過しなかった場合（ステップＳ２２４否定）や、上記したステップＳ２２５において、所定の閾値を連続して超過した回数が所定値を超過しなかった場合（ステップＳ２２５否定）には、隣接中継装置から受信したシグネチャを他の隣接中継装置に送信する処理（上記のステップＳ２２６の処理）は行われない。【０２２５】
また、上記では、シグネチャの再送信であると判定された場合（受信したシグネチャの識別情報がシグネチャリスト２１６ａに既に登録されているが、識別情報に対応付けて登録されている下流ノードが現に受信したシグネチャの下流ノードと同一である場合）に、容疑シグネチャの上書き登録、正規シグネチャの再生成および上書き登録（ステップＳ２２１〜Ｓ２２３）を行う場合を説明したが、本発明は必ずしもこれに限定されるものではなく、これらの処理（ステップＳ２２１〜Ｓ２２３）を省いて、上記したステップＳ２２４以降の処理のみを行うようにしてもよい。【０２２６】
さらに、上記では、シグネチャの識別情報を用いた処理の振り分け（例えば、ステップＳ２１２）を行った後、所定の閾値を用いた判定処理（例えば、ステップＳ２１７やステップＳ２１８）を行う場合を説明したが、本発明は必ずしもこれに限定されるものではなく、所定の閾値を用いた判定によって処理を振り分けたうえで、シグネチャの識別情報を用いた判定処理を行うようにしてもよい。【０２２７】
［実施例３の効果］
上述したように、上記の実施例３によれば、中継装置は、シグネチャの生成を一意に識別するための識別情報を用いて他の中継装置へのパケット中継を制限するとともに、シグネチャの条件を満たす単位時間内のパケット数が所定の閾値を超過したか否か、かかる所定の閾値を連続して超過した回数が所定の閾値を超過したか否かによってパケット中継を制限する。したがって、パケット中継の制限処理を柔軟かつ確実に実行することが可能になる。
【産業上の利用可能性】
【０２２８】
以上のように、本発明に係る中継装置、中継方法および中継プログラム並びにネットワーク攻撃防御システムは、パケットの通過を制御するためのシグネチャを隣接中継装置から受信し、当該受信したシグネチャを他の隣接中継装置に送信する場合に有用であり、特に、ネットワーク上にある各中継装置の処理負荷を低減し、パケットの規制に関する処理を効率良く行うことに適する。
【図１】
2006040910.tif 000002
【図２】
2006040910.tif 000003
【図３】
2006040910.tif 000004
【図４】
2006040910.tif 000005
【図５】
2006040910.tif 000006
【図６】
2006040910.tif 000007
【図７】
2006040910.tif 000008
【図８】
2006040910.tif 000009
【図９】
2006040910.tif 000010
【図１０】
2006040910.tif 000011
【図１１】
2006040910.tif 000012
【図１２】
2006040910.tif 000013
【図１３】
2006040910.tif 000014
【図１４】
2006040910.tif 000015
【図１５】
2006040910.tif 000016
【図１６】
2006040910.tif 000017
【図１７】
2006040910.tif 000018
【図１８】
2006040910.tif 000019
【図１９】
2006040910.tif 000020
【図２０】
2006040910.tif 000021
【図２１】
2006040910.tif 000022
【図２２】
2006040910.tif 000023
【図２３】
2006040910.tif 000024
【図２４】
2006040910.tif 000025
【図２５】
2006040910.tif 000026
【国際調査報告】
2006040910.tif 000027
2006040910.tif 000028
2006040910.tif 000029
2006040910.tif 000030