(57)【特許請求の範囲】
【請求項１】
第１のネットワークと複数の第２のネットワークとを接続する複数の境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、
前記複数の境界ルータのうち第１の境界ルータに対し、所定のサービスに関する要求パケットを、前記制御装置へ転送する旨の指示を送信する転送指示部と、
前記所定のサービスに関する応答パケットのうち、前記第１の境界ルータに接続される第２のネットワーク宛の応答パケットを廃棄する旨の指示を、前記第１の境界ルータ以外の境界ルータである第２の境界ルータそれぞれへ送信するパケット廃棄指示部と、
前記第１の境界ルータから前記所定のサービスに関する要求パケットを受信したとき、前記第２の境界ルータそれぞれに対し、前記所定のサービスに関する応答パケットのうち、前記第２のネットワーク宛の応答パケットの転送を許可する旨の指示を送信するパケット転送許可指示部と、
前記第１の境界ルータから受信した要求パケットを、前記要求パケットの宛先へ転送するパケット転送部とを備えることを特徴とする制御装置。
【請求項２】
前記パケット転送部は、
前記応答パケットの転送を許可する旨の指示の送信先の第２の境界ルータそれぞれから、前記指示を受信した旨の通知を受信したとき、前記第１の境界ルータから受信した要求パケットを、前記要求パケットの宛先へ転送することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御装置が、前記第２のネットワークへの攻撃を検知した旨の攻撃通知を前記第１の境界ルータから受信したとき、
前記転送指示部は、
前記第１の境界ルータに対し、前記所定のサービスに関する要求パケットを、前記制御装置へ転送する旨の指示を送信し、
前記パケット廃棄指示部は、
前記所定のサービスに関する応答パケットのうち、前記第２のネットワーク宛の応答パケットを廃棄する旨の指示を、前記第２の境界ルータそれぞれへ送信し、
前記パケット転送許可指示部は、
前記第１の境界ルータから、前記所定のサービスに関する要求パケットを受信したとき、前記第２の境界ルータそれぞれに対し、前記所定のサービスに関する応答パケットのうち、前記第１の境界ルータに接続される第２のネットワーク宛の応答パケットの転送を許可する旨の指示を送信し、
前記パケット転送部は、
前記応答パケットの転送を許可する旨の指示を送信した第２の境界ルータそれぞれから、前記指示を受信した旨の通知を受信したとき、前記第１の境界ルータから受信した要求パケットを、前記要求パケットの宛先へ転送することを特徴とする請求項１または請求項２に記載の制御装置。
【請求項４】
前記応答パケットの転送を許可する旨の指示は、前記応答パケットの転送を許可する期間をさらに含むことを特徴とする請求項１ないし請求項３のいずれか１項に記載の制御装置。
【請求項５】
第１のネットワークと複数の第２のネットワークとを接続する境界ルータそれぞれに対し、パケットの転送制御の指示を行う制御装置を有する通信システムであって、
前記制御装置は、
前記第１のネットワークと第２のネットワークとを接続する第１の境界ルータに対し、所定のサービスに関する要求パケットを、前記制御装置へ転送する旨の指示を送信する転送指示部と、
前記所定のサービスに関する応答パケットのうち、前記第１の境界ルータに接続される第２のネットワーク宛の応答パケットを廃棄する旨の指示を、前記第１の境界ルータ以外の境界ルータである第２の境界ルータそれぞれへ送信するパケット廃棄指示部と、
前記第１の境界ルータから前記所定のサービスに関する要求パケットを受信したとき、前記第２の境界ルータそれぞれに対し、前記所定のサービスに関する応答パケットのうち、前記第２のネットワーク宛の応答パケットの転送を許可する旨の指示を送信するパケット転送許可指示部と、
前記第１の境界ルータから受信した要求パケットを、前記要求パケットの宛先へ転送するパケット転送部とを備え、
前記境界ルータはそれぞれ、
前記制御装置からの指示に基づき、前記所定のサービスに関する要求パケットの前記制御装置へ転送、および、前記所定のサービスに関する応答パケットのうち、前記第２のネットワーク宛の応答パケットの廃棄を行う転送制御部と、
前記制御装置からの指示を受信したとき、前記指示を受信した旨の通知を前記制御装置へ送信する通知部とを備えることを特徴とする通信システム。
【請求項６】
前記境界ルータは、さらに、
前記応答パケットの通過数が所定の閾値以上であるとき、攻撃を検知する攻撃検知部と、
前記攻撃が検知されたとき、前記制御装置へ前記攻撃の対象となるサービスおよび宛先を少なくとも含む攻撃通知を送信する攻撃通知部とを備えることを特徴とする請求項５に記載の通信システム。
【請求項７】
前記転送制御部は、
前記制御装置から、前記応答パケットの廃棄の指示を受信した場合において、単位時間あたりの前記応答パケットの受信数が所定の閾値未満である期間は、前記応答パケットの廃棄を停止し、
前記通知部は、
前記応答パケットの廃棄を停止している間、前記応答パケットの廃棄を停止している旨の通知である応答パケット廃棄停止通知を所定の間隔で前記制御装置へ継続的に通知し、
前記制御装置のパケット転送許可指示部は、
前記第１の境界ルータから前記所定のサービスに関する要求パケットを受信したとき、前記応答パケットの転送を許可する旨の指示の送信先を、前記第２の境界ルータのうち、当該要求パケットを受信した時刻から所定の時間以内に前記応答パケット廃棄停止通知を送信した第２の境界ルータ以外の第２の境界ルータとすることを特徴とする請求項５または請求項６に記載の通信システム。
【請求項８】
第１のネットワークと複数の第２のネットワークとを接続する複数の境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置が、
前記複数の境界ルータのうち第１の境界ルータに対し、所定のサービスに関する要求パケットを、前記制御装置へ転送する旨の指示を送信するステップと、
前記所定のサービスに関する応答パケットのうち、前記第１の境界ルータに接続される第２のネットワーク宛の応答パケットを廃棄する旨の指示を、前記第１の境界ルータ以外の境界ルータである第２の境界ルータそれぞれへ送信するステップと、
前記第１の境界ルータから前記所定のサービスに関する要求パケットを受信したとき、前記第２の境界ルータそれぞれに対し、前記所定のサービスに関する応答パケットのうち、前記第２のネットワーク宛の応答パケットの転送を許可する旨の指示を送信するステップと、
前記第１の境界ルータから受信した要求パケットを、前記要求パケットの宛先へ転送するステップとを実行することを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、通信システム、および、通信制御方法に関する。
【背景技術】
【０００２】
従来、サーバ等のネットワークを構成する機器に対して攻撃を行い、サービスの提供を不能な状態にするＤｏＳ（Denial  of  Service  attack）がある。このＤｏＳのうち、ＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）プロトコルの様々な応答パケットを大量発生させてＤｏＳを行う反射型ＤｏＳがある。この反射型ＤｏＳの例として、ＤＮＳ（Domain  Name  System）アンプ攻撃がある。
【０００３】
このＤＮＳアンプ攻撃は、例えば、攻撃者が、遠隔操作可能なコンピュータ群に対し、送信元を偽装したＤＮＳ問い合わせをネットワーク中に散在するＤＮＳサーバ（例えば、オープンリゾルバ）へ送信するよう指示する。つまり、送信元アドレスを攻撃対象のアドレスにしたＤＮＳ問い合わせ（ＤＮＳクエリ）をネットワーク中のＤＮＳサーバへ送信するよう指示する。このＤＮＳクエリを受信したＤＮＳサーバはそれぞれ、このＤＮＳクエリに示される送信元、つまり、攻撃対象のアドレス宛に、ＤＮＳクエリの応答を送信する。
【０００４】
これにより各ＤＮＳサーバから、大量のＤＮＳクエリの応答パケットが送信され、攻撃対象のアドレスを持つ装置またはネットワークはアクセス不能の状態に陥ってしまう。また、このようなＤＮＳアンプ攻撃が行われるとＷＡＮ（Wide  Area  Network）等のネットワーク全体に大量のトラヒックが流れるため、輻輳の原因となる。
【０００５】
このようなＤｏＳ攻撃への対策として、各ＩＳＰ（Internet  Services  Provider）の境界ルータにおいて、攻撃対象のサーバへのＴＣＰ−ｓｙｎ等の特定パケットのトラヒックを絞る技術（特許文献１参照）が提案されている。しかし、この技術は、ＩＳＰ同士の協力が必要である。
【０００６】
また、ネットワーク内に設置されるトークン分配装置において、攻撃対象のサーバへのパケットの帯域が当該サーバの処理能力以下となるように、各ＩＳＰの境界ルータに対し帯域の制限を行う技術（特許文献２参照）も提案されている。この技術によれば、ＩＳＰ同士の協力は必要ない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１６６０２９号公報
【特許文献２】特開２００７−２４３４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、前記した特許文献２に記載の技術において、境界ルータが帯域の制限を行うと正当なパケットも廃棄してしまうおそれがある。特に、特許文献２に記載の技術により反射型ＤｏＳの対策を行う場合、境界ルータにおいて、正当な応答パケットと攻撃者からの指示に基づく応答パケットとの区別がつかないため、境界ルータにおいて正当な応答パケットの殆どが廃棄されてしまうおそれがある。
【０００９】
そこで本発明は前記した問題を解決し、反射型ＤｏＳの対策を行う際、境界ルータにおいて正当な応答パケットが廃棄されることなく攻撃パケットを廃棄することを課題とする。
【課題を解決するための手段】
【００１０】
前記した課題を解決するため、第１のネットワークと第２のネットワークとを接続する複数の境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、前記複数第１の境界ルータに対し、所定のサービスに関する要求パケットを、前記制御装置へ転送する旨の指示を送信する転送指示部と、前記所定のサービスに関する応答パケットのうち、前記第１の境界ルータに接続される第２のネットワーク宛の応答パケットを廃棄する旨の指示を、前記第１の境界ルータ以外の境界ルータである第２の境界ルータそれぞれへ送信するパケット廃棄指示部と、前記第１の境界ルータから前記所定のサービスに関する要求パケットを受信したとき、前記第２の境界ルータそれぞれに対し、前記所定のサービスに関する応答パケットのうち、前記第２のネットワーク宛の応答パケットの転送を許可する旨の指示を送信するパケット転送許可指示部と、前記応答パケットの転送を許可する旨の指示の送信先の第２の境界ルータそれぞれから、前記指示を受信した旨の通知を受信したとき、前記第１の境界ルータから受信した要求パケットを、前記要求パケットの宛先へ転送するパケット転送部とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、反射型ＤｏＳの対策を行う際、境界ルータにおいて正当な応答パケットが廃棄されることなく攻撃パケットを廃棄することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、通信システムの構成例を示す図である。
【図２】図２は、境界ルータにおけるパケットの転送および廃棄を例示した図である。
【図３】図３は、制御装置および境界ルータの機能ブロック図である。
【図４】図４は、第１の実施形態の通信システムによる反射型ＤｏＳの防御処理の処理手順を示す図である。
【図５】図５は、第２の実施形態の通信システムによる反射型ＤｏＳの防御処理の処理手順を示す図である。
【図６】図６は、制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１３】
（概要）
以下、本発明を実施するための形態（実施形態）について説明する。まず、本実施形態の通信システムの概要を説明する。図１は、通信システムの構成例を示す図である。ここでは、反射型ＤｏＳが、ＤＮＳアンプ攻撃である場合を例に説明するが、これに限定されない。
【００１４】
（第１の実施形態）
図１に示すように、通信システムは、ネットワークＮの境界ルータ（転送装置）２０と、制御装置１０とを含んで構成される。ネットワークＮは、例えば、ＩＳＰ等のネットワークである。境界ルータ２０は、ネットワークＮと他のネットワーク（例えば、ＬＡＮ（Local  Area  Network）や、ＩＳＰのネットワーク、ＩＸ（Internet  eXchange）など）との境界に設置されるルータであり、入力されたパケットの転送制御を行う。制御装置１０は、各境界ルータ２０の制御を行う。
【００１５】
ここで、例えば、ＬＡＮ１とネットワークＮとを接続する境界ルータ２０Ａにおいて、ＬＡＮ１へのＤＮＳアンプ攻撃（送信元port（ポート番号）＝５３）を検出した場合を考える。この場合、まず境界ルータ２０Ａは、ＬＡＮ１宛で、送信元のポート番号が「５３」であるＤＮＳ応答パケットを大量に送りつけるＤＮＳアンプ攻撃を検知したことを、制御装置１０へ通知する（Ｓ１）。
【００１６】
その後、制御装置１０は、境界ルータ２０Ａ以外の各境界ルータ２０へ、送信元のポート番号が「５３」であるＤＮＳクエリパケットに対する応答パケットでＬＡＮ１宛のものは廃棄する旨のルールを送信する（Ｓ２）。境界ルータ２０Ａ以外の各境界ルータ２０は、このルールに従い、送信元のポート番号が「５３」であるＤＮＳ応答パケットのうち、ＬＡＮ１宛のものを廃棄する。
【００１７】
次に、制御装置１０は、境界ルータ２０Ａに対し、ＬＡＮ１からのＤＮＳクエリ（要求）パケットを全て制御装置１０へ転送する旨のルールを登録する（Ｓ３）。登録後、境界ルータ２０Ａは、ＬＡＮ１からのＤＮＳクエリパケットを受信すると、登録されたルールに従い、このＤＮＳクエリパケットを制御装置１０へ転送する。
【００１８】
次に、制御装置１０は、境界ルータ２０ＡからのＤＮＳクエリパケット到着時に例外ルールを設定する（Ｓ４）。すなわち、制御装置１０は、境界ルータ２０ＡからのＤＮＳクエリパケットが到着すると、境界ルータ２０Ａ以外の境界ルータ２０それぞれに対し、当該クエリパケットに対する応答パケットの転送を許可する旨のルール（例外ルール）を設定する。応答パケットが当該クエリパケットに対する応答であるか否かの判定は後述する。そして、制御装置１０は、Ｓ１で境界ルータ２０Ａから受信したＤＮＳクエリパケットを、当該パケットの宛先（ＤＮＳサーバ）へ転送する。
【００１９】
Ｓ４の後、境界ルータ２０Ａ以外の各境界ルータ２０は、制御装置１０から設定された例外ルールに従い、送信元のポート番号が「５３」であるＤＮＳクエリパケットに対する応答パケットを受信したとき、当該パケットをＬＡＮ１へ転送する。これにより、ＬＡＮ１から送信されたＤＮＳクエリパケット（正当なＤＮＳクエリパケット）に対する応答パケット（正当な応答パケット）はＬＡＮ１へ到達する。そして、例外ルールの設定から所定時間経過した後、制御装置１０は境界ルータ２０における当該例外ルールを削除する。
【００２０】
このように制御装置１０は、各境界ルータ２０に対し、最近ＬＡＮ１から送信されたＤＮＳクエリパケットに対する応答パケット（正当な応答パケット）は転送するが、それ以外の応答パケット（攻撃パケット）は廃棄するよう制御する。これにより、制御装置１０は、ＤＮＳアンプ攻撃による所定のネットワークへのパケットの集中を低減し、正当なＤＮＳクエリパケットに対する応答パケットを、応答パケットの宛先のネットワークへ到達させることができる。
【００２１】
図２は、境界ルータにおけるパケットの転送および廃棄を例示した図である。例えば、図２に示すように、最近ＬＡＮ１から出たＤＮＳクエリパケットの送信先ポート番号および送信元ポート番号は符号２０１に示すポート番号である場合を考える。
【００２２】
この場合、制御装置１０が上記の処理を行うことにより、これらＤＮＳクエリパケットに対する応答パケットのうち、各境界ルータ２０において、送信元ポート番号「５３」、送信先ポート番号「３１２５７」の応答パケットと、送信元ポート番号「５３」、送信先ポート番号「５００９」の応答パケットと、送信元ポート番号「５３」、送信先ポート番号「２１９９８」の応答パケット以外のパケットは廃棄される。すなわち、図２に示す例でいうと、境界ルータ２０は送信元ポート番号「５３」、送信先ポート番号「５００９」の応答パケットは転送するが、送信元ポート番号「５３」、送信先ポート番号「９９０３」の応答パケットや、送信元ポート番号「５３」、送信先ポート番号「８８８８」の応答パケットは廃棄する。
【００２３】
（構成）
（制御装置）
次に、図３を用いて、制御装置１０および境界ルータ２０の構成を詳細に説明する。図３は、制御装置および境界ルータの機能ブロック図である。まず、制御装置１０を説明する。なお、以下の説明において、攻撃が発生しているネットワークはＬＡＮ１であり、この攻撃の検知および通知は、ＬＡＮ１とネットワークＮとの間に設置される境界ルータ２０Ａが行う場合を例に説明する。
【００２４】
制御装置１０は、通信制御部１１、制御部１２、記憶部１３を備える。
【００２５】
通信制御部１１は、外部装置との間でデータの送受信を行うための通信インタフェースである。通信制御部１１は、ここでは主に、制御部１２から境界ルータ２０へルールの送信を行うときの通信インタフェースを司る。
【００２６】
制御部１２は、制御装置１０全体の制御を司り、ここでは主に境界ルータ２０へパケット転送や廃棄に関するルールを送信する。
【００２７】
制御部１２は、転送指示部１２１、パケット転送部１２２、パケット廃棄指示部１２３、パケット転送許可指示部１２４を備える。
【００２８】
転送指示部１２１は、境界ルータ２０Ａから、ＤＮＳアンプ攻撃等の攻撃の通知を受信したとき、この攻撃の通知の送信元の境界ルータ２０に対し、外部（例えば、ＬＡＮ１）から受信したＤＮＳクエリパケットを、制御装置１０へ転送する旨のルールを送信する。例えば、転送指示部１２１は、境界ルータ２０Ａから、ＬＡＮ１宛へ送信元ポート番号「５３」のパケットによる攻撃の通知を受信したとき、境界ルータ２０Ａに対し、ＬＡＮ１から受信したＤＮＳクエリパケットを制御装置１０へ転送する旨のルールを送信する。
【００２９】
パケット廃棄指示部１２３は、攻撃が発生しているネットワーク（例えば、ＬＡＮ１）宛のＤＮＳ応答パケット（例えば、送信元ポート番号「５３」のパケット）を廃棄する旨のルールを、境界ルータ２０Ａ以外の境界ルータ２０それぞれへ送信する。これにより、境界ルータ２０において攻撃が発生しているネットワーク（例えば、ＬＡＮ１）宛のＤＮＳ応答パケットが廃棄される。
【００３０】
パケット転送許可指示部１２４は、境界ルータ２０ＡからのＤＮＳクエリパケットの受信後、パケットを廃棄する旨のルールを送信した境界ルータ２０それぞれに対し、ＬＡＮ１宛の応答パケットの転送を許可する旨のルール（例外ルール）を送信する。つまり、パケット転送許可指示部１２４は、境界ルータ２０ＡからのＤＮＳクエリパケットの受信後、境界ルータ２０Ａ以外の境界ルータ２０それぞれに対し、ＬＡＮ１宛のＤＮＳ応答パケットのうち、当該クエリパケットに対する応答パケットについては廃棄を行わない旨のルールを送信する。
【００３１】
パケット転送部１２２は、境界ルータ２０からのＤＮＳクエリパケットを受信すると、このＤＮＳクエリパケットを記憶部１３等に一時的に保留しておき、パケット転送許可指示部１２４による例外ルールの送信後、このＤＮＳクエリパケットを、当該パケットの宛先に転送する。
【００３２】
なお、パケット転送部１２２は、例外ルールを送信した境界ルータ２０全てから、当該例外ルールを受信した旨の通知（例外ルール受信通知）を受信したことを確認してから、ＤＮＳクエリパケットを、当該パケットの宛先に転送する。つまり、パケット転送部１２２は、例外ルールの送信先の境界ルータ２０それぞれにおいて、例外ルールが確かに受信されたことを確認してから、ＤＮＳクエリパケットを、当該パケットの宛先に転送する。これは、ＤＮＳクエリパケットの応答パケットを受信した境界ルータ２０において、誤って当該パケットが廃棄されることを避けるためである。このようにすることで、例えば、ＬＡＮ１からのＤＮＳクエリパケットの応答パケット（正当なＤＮＳクエリパケットに対する応答パケット）を確実にＬＡＮ１に到達させることができる。
【００３３】
記憶部１３は、ルータ情報を記憶する。このルータ情報は、ネットワークＮに接続される境界ルータ２０それぞれの識別情報を示した情報であり、例えば、通信制御部１１経由で予め入力されているものとする。このルータ情報は、パケット廃棄指示部１２３が、ＤＮＳ応答パケットを廃棄する旨のルールを送信する際の宛先の境界ルータ２０を特定する際に参照される。
【００３４】
（境界ルータ）
次に、境界ルータ２０を説明する。境界ルータ２０は、通信制御部２１、制御部２２、記憶部２３を備える。
【００３５】
通信制御部２１は、外部装置との間でデータの送受信を行うための通信インタフェースである。通信制御部２１は、ここでは主に、制御装置１０からのルールの受信を行うときの通信インタフェースを司る。
【００３６】
制御部２２は、制御装置１０から受信したパケット転送や廃棄に関するルールに基づき、パケットの転送制御や廃棄を行う。
【００３７】
制御部２２は、ルール管理部２２１、転送制御部２２２、攻撃検知部２２３、攻撃通知部２２４、ルール適用通知部２２５を備える。ルール適用判定部２２６については装備する場合と装備しない場合とがあり、装備する場合については後記する。
【００３８】
ルール管理部２２１は、通信制御部２１経由で、制御装置１０から送信されるルール、および、その後に送信される例外ルールを受信すると、これらのルールを記憶部２３に格納する。また、制御装置１０から、通信制御部２１経由で、ルール、および、例外ルールの削除指示を受信したとき、これに従い、ルール、および、例外ルールを削除する。
【００３９】
転送制御部２２２は、記憶部２３のルーティングテーブルを用いてパケットの転送制御を行う。ここで、転送制御部２２２は、記憶部２３にルールまたは例外ルールが存在すれば、そのルールおよび例外ルールも参照して、パケットの転送制御およびパケットの廃棄を行う。
【００４０】
例えば、記憶部２３にＤＮＳクエリパケットに対する応答パケットでＬＡＮ１宛のパケットを廃棄する旨のルールが存在すれば、転送制御部２２２は、ＤＮＳクエリパケットに対する応答パケットを廃棄する。また、このようなルールの後に、制御装置１０から、ＤＮＳクエリパケットに対する応答パケットの廃棄を所定期間停止する（つまり、応答パケットを転送する）旨の例外ルールを受信したとき、転送制御部２２２は、この例外ルールに従い、所定期間、ＤＮＳクエリパケットに対する応答パケットを転送する。さらに、当該境界ルータ２０が攻撃を検知した境界ルータ２０であり、記憶部２３に、ＬＡＮ１からのＤＮＳクエリパケットを全て制御装置１０へ転送する旨のルールが存在すれば、転送制御部２２２は、このルールに従い、ＬＡＮ１からのＤＮＳクエリパケットを全て制御装置１０へ転送する。
【００４１】
なお、転送制御部２２２において、外部から受信した応答パケットが、以前転送したＤＮＳクエリパケットに対する応答パケットであるか否かの判断は、例えば、ＤＮＳクエリパケットの送信元のポート番号と、ＤＮＳ応答パケットの送信先のポート番号とを用いて判断する。例えば、転送制御部２２２において受信した応答パケットｂの送信元のポート番号が、以前転送したＤＮＳクエリパケットａの送信先のポート番号と同じであるとき、転送制御部２２２は、当該応答パケットｂが、当該ＤＮＳクエリパケットの応答パケットであると判断する。つまり、転送制御部２２２は、最近自身の境界ルータ２０において転送したＤＮＳクエリパケットおよび応答パケットの送信先および送信元のポート番号を記憶部２３に記憶しておき、このポート番号をもとに、受信した応答パケットが、ＤＮＳクエリパケットに対する応答パケットであるか否かの判断を行う。
【００４２】
攻撃検知部２２３は、境界ルータ２０に接続されるネットワーク（例えば、ＬＡＮ１）への攻撃を検知する。例えば、攻撃検知部２２３は、単位時間あたりの応答パケットの通過数（受信数）が所定の閾値以上であるとき、攻撃を検知する。
【００４３】
攻撃通知部２２４は、攻撃検知部２２３において攻撃を検知したとき、制御装置１０へ攻撃通知を送信する。この攻撃通知には、攻撃の対象となるサービスが示される。例えば、攻撃通知には、攻撃パケットがＤＮＳの応答パケットであることが示される。これにより、制御装置１０は、送信元ポート番号が「５３」であるＤＮＳ応答パケットを境界ルータ２０それぞれで廃棄させればよいことが分かる。
【００４４】
ルール適用通知部２２５は、制御装置１０からのルール、または、例外ルールを受信したとき、各ルールを受信した旨を制御装置１０へ通知する。
【００４５】
記憶部２３は、ルーティングテーブルと、制御装置１０により送信されたルール（例外ルールを含む）とを記憶する。
【００４６】
ルーティングテーブルは、制御部２２がパケットの転送先を決定する際に参照する経路情報である。ルールは、前記したとおり、パケットの転送先やパケットの廃棄、パケットの廃棄の停止等を示した情報である。制御部２２の転送制御部２２２は基本的にはルーティングテーブルによりパケットの転送先を決定するが、ルールや例外ルールがあれば、このルールおよび例外ルールを適用してパケットの転送先の決定やパケットの廃棄、パケットの廃棄の停止等を行う。
【００４７】
（処理手順）
次に、図４を用いて通信システムによる反射型ＤｏＳの防御処理の処理手順を説明する。図４は、第１の実施形態の通信システムによる反射型ＤｏＳの防御処理の処理手順を示すフローチャートである。ここでは、通信システムの境界ルータ２０Ａが、ＬＡＮ１へのＤＮＳアンプ攻撃を検知し、これを制御装置１０へ通知する場合を例に説明する。反射型ＤｏＳの防御処理手順は、大きく、防御開始フェーズ（Ｓ１１〜Ｓ２１）と、防御中フェーズ（Ｓ２２〜Ｓ２８）とに分けられる。
【００４８】
（防御開始フェーズ）
制御装置１０のパケット廃棄指示部１２３は、境界ルータ２０（例えば、境界ルータ２０Ａ）からＬＡＮ１へのＤＮＳアンプ攻撃の通知を受信すると（Ｓ１１）、境界ルータ２０Ａ以外の境界ルータ２０（例えば、境界ルータ２０Ｂ，２０Ｃ）それぞれに対し、外部からＬＡＮ１宛のＤＮＳ応答（ＤＮＳクエリパケットに対する応答パケット）を廃棄する旨のルールを送信する（Ｓ１２）。
【００４９】
このルールを受信した境界ルータ２０（境界ルータ２０Ｂ，２０Ｃ）は、外部からＬＡＮ１宛のＤＮＳ応答を廃棄する旨のルール（廃棄ルール）を適用する（Ｓ１３，Ｓ１４）。すなわち、境界ルータ２０Ｂ，２０Ｃのルール管理部２２１は、Ｓ１２で送信されたルールを記憶部２３に格納し、転送制御部２２２は、当該ルールに従い、外部からＬＡＮ１宛のＤＮＳ応答を受信しても、このＤＮＳ応答を廃棄する。
【００５０】
その後、制御装置１０の転送指示部１２１は、境界ルータ２０Ａに対し、ＬＡＮ１側からのＤＮＳクエリ（ＤＮＳクエリパケット）を全て制御装置１０へ転送する旨のルール（転送ルール）を送信する（Ｓ２１）。
【００５１】
（防御中フェーズ）
当該ルールを受信した境界ルータ２０Ａは、ＬＡＮ１側からのＤＮＳクエリを全て制御装置１０へ転送する（Ｓ２２）。すなわち、境界ルータ２０Ａのルール管理部２２１は、Ｓ２２で送信されたルールを記憶部２３に格納し、転送制御部２２２は、当該ルールに従い、ＬＡＮ１側からのＤＮＳクエリを全て制御装置１０へ転送する。
【００５２】
制御装置１０のパケット転送部１２２は、境界ルータ２０ＡからのＤＮＳクエリを受信すると、このＤＮＳクエリを記憶部１３に蓄積し、パケット転送許可指示部１２４は、ＤＮＳ応答の転送を許可する旨のルール（例外ルール）を、境界ルータ２０Ｂ，２０Ｃへ送信する（Ｓ２３）。
【００５３】
当該ルール（例外ルール）を受信した境界ルータ２０Ｂ，２０Ｃのルール管理部２２１は、受信したルールを記憶部２３に格納し、ルール適用通知部２２５は、当該ルールを受信した旨の通知を、制御装置１０へ送信する（Ｓ２４，Ｓ２５）。
【００５４】
制御装置１０のパケット転送部１２２は、Ｓ２３で当該ルール（例外ルール）を送信した全ての境界ルータ２０（つまり、境界ルータ２０Ｂ，２０Ｃ）から、当該ルールを受信した旨の通知を受信したことを確認すると（Ｓ２６）、境界ルータ２０Ａから受信したＤＮＳクエリを、このＤＮＳクエリの宛先であるＤＮＳサーバへ送信する（Ｓ２７）。
【００５５】
以上の処理により、制御装置１０は、反射型ＤｏＳによる所定のネットワークへのパケットの集中を低減し、正当な応答パケットを、この応答パケットの宛先へ到達させることができる。
【００５６】
なお、Ｓ２７の後、境界ルータ２０Ｂ，２０Ｃは、所定時間経過後、この例外ルールを削除する。ここでの例外ルールの削除は、Ｓ２８に示すように、制御装置１０が、境界ルータ２０Ｂ，２０Ｃに対し、例外ルールを削除する旨の命令を送信することにより行ってもよい。また、例外ルールに、当該例外ルールの受信から所定時間経過した後削除する旨の記載（つまり、応答パケットの転送を許可する期間の記載）をしておき、境界ルータ２０Ｂ，２０Ｃは、この例外ルールに従い、例外ルールを削除するようにしてもよい。
【００５７】
そして、このような例外ルールの削除が行われた後、制御装置１０が廃棄ルールおよび転送ルールを送信してから所定の期間が経過すると、制御装置１０は境界ルータ２０に対して廃棄ルール、転送ルールの削除指示の送信等を行い、反射型ＤｏＳの防御処理を終了させる。
【００５８】
（第２の実施形態）
第２の実施形態の境界ルータ２０は、制御装置１０からの応答パケットの廃棄を指示するルールの受信後、自身の境界ルータ２０における単位時間あたりの当該応答パケットの通過数（受信数）が所定の閾値未満のときは当該応答パケットの廃棄を行わないようにする。
【００５９】
このような境界ルータ２０は、図３に示すルール適用判定部２２６をさらに備える。ルール適用判定部２２６は、制御装置１０からのＬＡＮ１宛の応答パケットの廃棄を指示するルールを受信すると、自身の境界ルータ２０における単位時間あたりの当該応答パケットの通過数（受信数）が所定の閾値未満か否かを判断する。そして、ルール適用判定部２２６は、自身の境界ルータ２０における単位時間あたりの当該応答パケットの通過数（受信数）が所定の閾値以上であれば、当該応答パケットの廃棄を指示するルールを適用すると判定する。一方、ルール適用判定部２２６は、自身の境界ルータ２０における単位時間あたりの当該応答パケットの通過数（受信数）が所定の閾値未満であれば、当該応答パケットの廃棄を指示するルールを適用しないと判定する。
【００６０】
そして、転送制御部２２２は、ルール適用判定部２２６による判定結果に従い、当該応答パケットの廃棄または転送を行う。
【００６１】
また、ルール適用通知部２２５は、制御装置１０から、応答パケットの廃棄を指示するルールを受信したが、このルールを適用していないとき、所定期間ごとに、ルールを適用していない旨を制御装置１０へ送信する。これにより、制御装置１０は、当該境界ルータ２０において、当該応答パケットの廃棄を指示するルールが適用されていないこと、つまり、当該制御装置１０からの応答パケットの廃棄が行われていないことを知ることができる。
【００６２】
また、制御装置１０のパケット転送許可指示部１２４は、境界ルータ２０から当該応答パケットの廃棄を指示するルールが適用されていない旨の通知を受信したとき、当該境界ルータ２０を、例外ルールの送信対象外とする。
【００６３】
（処理手順）
次に、図５を用いて、第２の実施形態の通信システムの処理手順を説明する。図５は、第２の実施形態の通信システムにおける反射型ＤｏＳの防御処理の処理手順を示す図である。ここでも、通信システムの境界ルータ２０Ａが、ＬＡＮ１へのＤＮＳアンプ攻撃を検知し、これを制御装置１０へ通知する場合を例に説明する。
【００６４】
制御装置１０のパケット廃棄指示部１２３は、第１の実施形態と同様に、境界ルータ２０（例えば、図１の境界ルータ２０Ａ）からＤＮＳアンプ攻撃の通知を受信すると、境界ルータ２０Ａ以外の境界ルータ２０（例えば、境界ルータ２０Ｂ，２０Ｃ）それぞれに対し、外部からのＤＮＳ応答を廃棄する旨のルールを送信する（Ｓ４０）。その後、当該ルールを受信した境界ルータ２０（例えば、境界ルータ２０Ｂ，２０Ｃ）は、Ｓ４１以降の処理を行う。
【００６５】
すなわち、ＬＡＮ１宛のＤＮＳ応答を廃棄する旨のルールを受信した境界ルータ２０のルール適用判定部２２６は、ＬＡＮ１宛のＤＮＳ応答の受信数を計測し（Ｓ４１）、このＤＮＳ応答の受信数が所定の閾値を超えているか否かを判断する（Ｓ４２）。ここで、ＤＮＳ応答の受信数が所定の閾値を超えているとき（Ｓ４２でＹｅｓ）、ルール適用判定部２２６は、制御装置１０から送信されたＤＮＳ応答を廃棄する旨のルールを適用すると判定し（Ｓ４５）、転送制御部２２２は、ＬＡＮ１宛のＤＮＳ応答の廃棄する。その後、Ｓ４６へ進む。
【００６６】
一方、ＬＡＮ１宛のＤＮＳ応答の受信数が所定の閾値以下であるとき（Ｓ４２でＮｏ）、ルール適用判定部２２６は、制御装置１０から送信されたＤＮＳ応答を廃棄する旨のルールを適用しないと判定し（Ｓ４３）、ルール適用通知部２２５は、ＤＮＳ応答を廃棄する旨のルールを適用していないこと（応答パケット廃棄停止通知）を所定の間隔で制御装置１０へ通知する（Ｓ４４）。これにより制御装置１０は、当該通知を受信している間は、境界ルータ２０においてＤＮＳ応答を廃棄する旨のルールが適用されていないことを確認する。
【００６７】
Ｓ４４の後、制御装置１０のパケット転送許可指示部１２４は、境界ルータ２０から、所定の間隔でＤＮＳ応答を廃棄する旨のルールを適用していない旨の通知を受信中、この通知の送信元の境界ルータ２０をＤＮＳ応答の転送を許可する旨のルール（例外ルール）の送信対象から除外する（Ｓ４７）。この後の処理は、図４のＳ２１と同様なので説明を省略する。
【００６８】
Ｓ４４およびＳ４５の後、境界ルータ２０は、前回のＤＮＳ応答の受信数の計測から所定時間経過すると（Ｓ４６のＹｅｓ）、Ｓ４１へ戻り、まだ前回のＤＮＳ応答の受信数の計測から所定時間経過していなければ（Ｓ４６のＮｏ）、Ｓ４６へ戻る。
【００６９】
このように制御装置１０は、攻撃パケットの転送をしている可能性が高い境界ルータ２０に絞り込んでＤＮＳ応答を廃棄する旨のルールを送信する。これにより、制御装置１０が、ＤＮＳ応答の転送を許可する旨のルール（例外ルール）の送信対象の境界ルータ２０を低減できるので、例外ルール受信通知の確認対象の境界ルータ２０の数を低減できる。
【００７０】
すなわち、図４のＳ２６に示したとおり、制御装置１０のパケット転送部１２２は、例外ルールを送信した全ての境界ルータ２０から例外ルール受信通知を受信したことを確認してから、Ｓ２２で境界ルータ２０から受信したＤＮＳクエリを宛先（ＤＮＳサーバ）へ送信する。ここで、例外ルール受信通知の確認対象の境界ルータ２０の数を低減することで、制御装置１０のパケット転送部１２２がＳ２２で境界ルータ２０からＤＮＳクエリを受信後、このＤＮＳクエリを宛先（ＤＮＳサーバ）へ送信するまでの時間を低減できる。
【００７１】
（その他の実施形態）
なお、前記した実施形態において制御装置１０のパケット廃棄指示部１２３が境界ルータ２０へ送信するルールには、所定のサービスに関し、攻撃が発生したネットワーク（例えば、ＬＡＮ１）宛の応答パケットを廃棄する旨を記載することとしたが、これに限定されない。例えば、所定のサービスに関する応答パケット（例えば、送信元ポート番号「５３」の応答パケット）は、宛先にかかわらず全て廃棄する旨を記載してもよい。
【００７２】
また、転送制御部２２２が、受信した応答パケットが、ＤＮＳクエリに対する応答パケットであるか否かの判断は、パケットのポート番号を用いて判断することとしたが、ＩＰアドレスや、ポート番号とＩＰアドレスとの組み合わせを用いてもよい。
【００７３】
例えば、転送制御部２２２が、ＩＰアドレスを用いて判断する場合、応答パケットｂの送信元のＩＰアドレスが、ＤＮＳクエリａの送信先のＩＰアドレスと同じであるとき、転送制御部２２２は、当該応答パケットｂが、当該ＤＮＳクエリに対する応答パケットであると判断する。また、転送制御部２２２が、ポート番号およびＩＰアドレスを用いて判断する場合、応答パケットｂの送信元のポート番号およびＩＰアドレスが、ＤＮＳクエリａの送信先のポート番号およびＩＰアドレスと同じであるとき、転送制御部２２２は、当該応答パケットｂが、当該ＤＮＳクエリの応答パケットであると判断する。
【００７４】
また、通信システムにおいて攻撃通知を、境界ルータ２０において行うこととしたが、境界ルータ２０以外の装置が行ってもよい。さらに、制御装置１０は、攻撃通知の受信をトリガとして、図４のＳ１２以降の処理を行うこととしたが、これ以外のトリガによりＳ１２以降の処理を行うようにしてもよい。
【００７５】
さらに、攻撃検知部２２３は、攻撃を検知する際、単位時間あたりのＤＮＳクエリの応答パケットの通過数に対するＤＮＳクエリの通過数の比を用いてもよい。すなわち、攻撃検知部２２３は単位時間あたりのＤＮＳクエリの応答パケットの通過数に対するＤＮＳクエリの通過数の比が所定の閾値以上であるとき、攻撃を検知し、攻撃通知を制御装置１０へ送信するようにしてもよい。このように、攻撃検知部２２３が単位時間あたりのＤＮＳクエリの応答パケットの通過数に対するＤＮＳクエリの通過数の比を用いることで、攻撃の検知をより正確に行うことができる。
【００７６】
なお、第２の実施形態の制御装置１０は、第１の実施形態の制御装置１０と同様の手順により防御処理を終了させてもよいし、通信システム内のすべての、または、所定数以上の境界ルータ２０から応答パケット廃棄停止通知を受信したとき、防御処理を終了させてもよい。
【００７７】
（プログラム）
前記した制御装置１０が実行する処理をコンピュータが実行可能な言語で記述した制御プログラムで実現することもできる。この場合、コンピュータが制御プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる制御プログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録された制御プログラムをコンピュータに読み込ませて実行することにより前記した実施形態と同様の処理を実現してもよい。以下に、制御装置１０と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
【００７８】
図６は、制御プログラムを実行するコンピュータを示す図である。図６に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００７９】
メモリ１０１０は、図６に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図６に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図６に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、図６に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図６に例示するように、例えばディスプレイ１０６１に接続される。  
【００８０】
ここで、図６に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の制御プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。  
【００８１】
また、上記実施の形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、前記した制御装置１０の制御部１２の機能を実現する。
【００８２】
なお、制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８３】
１０    制御装置
１１、２１    通信制御部
１２、２２    制御部
１３、２３    記憶部
２０（２０Ａ、２０Ｂ、２０Ｃ）  境界ルータ
１２１  転送指示部
１２２  パケット転送部
１２３  パケット廃棄指示部
１２４  パケット転送許可指示部
２２１  ルール管理部
２２２  転送制御部
２２３  攻撃検知部
２２４  攻撃通知部
２２５  ルール適用通知部
２２６  ルール適用判定部
【図１】
0005922622.tif 000002
【図２】
0005922622.tif 000003
【図３】
0005922622.tif 000004
【図４】
0005922622.tif 000005
【図５】
0005922622.tif 000006
【図６】
0005922622.tif 000007