(57)【特許請求の範囲】
【請求項１】
複数のゲートウェイを制御する帯域制御装置であって、
前記複数のゲートウェイからサーバ宛てのトラヒックのモニタリング情報を収集するモニタリング情報収集部と、
前記収集したモニタリング情報から算出される前記サーバ宛ての合計トラヒックが前記サーバの攻撃判定閾値以上であるか判定し、前記合計トラヒックが前記攻撃判定閾値以上であるときに前記サーバを攻撃対象サーバであると判定し、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか否かに応じて第１の帯域制御方式と第２の帯域制御方式とを選択的に使用することによって前記複数のゲートウェイを介する前記攻撃対象サーバ宛てのトラヒックを制御する帯域計算部と、
を有し、
前記第１の帯域制御方式は、各ゲートウェイにおける前記攻撃対象サーバ宛てのトラヒックに比例した帯域制限値を前記ゲートウェイに設定する方式であり、
前記第２の帯域制御方式は、各ゲートウェイにおけるアクセス元数と使用帯域とに基づき選択したゲートウェイを遮断する方式である帯域制御装置。
【請求項２】
前記帯域計算部は、前記合計トラヒックが前記攻撃判定閾値以上であって、前記帯域制御方式切替閾値未満である場合、前記第１の帯域制御方式を使用し、前記合計トラヒックが前記攻撃判定閾値及び前記帯域制御方式切替閾値以上である場合、前記第２の帯域制御方式を使用する、請求項１記載の帯域制御装置。
【請求項３】
複数のゲートウェイを制御する帯域制御装置であって、
前記複数のゲートウェイからサーバ宛てのトラヒックのモニタリング情報を収集するモニタリング情報収集部と、
前記収集したモニタリング情報から算出される前記サーバ宛ての合計トラヒックが前記サーバの攻撃判定閾値以上であるか判定し、前記合計トラヒックが前記攻撃判定閾値以上であるときに前記サーバを攻撃対象サーバであると判定し、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか否かに応じて第１の帯域制御方式と第２の帯域制御方式とを選択的に使用することによって前記複数のゲートウェイを介する前記攻撃対象サーバ宛てのトラヒックを制御する帯域計算部と、
を有し、
前記第２の帯域制御方式を選択すると、前記帯域計算部は、前記攻撃対象サーバに対するアクセス元数が少ないゲートウェイから前記攻撃対象サーバのための使用帯域が大きいゲートウェイを決定し、前記決定したゲートウェイを遮断する帯域制御装置。
【請求項４】
前記帯域計算部は、前記合計トラヒックが前記攻撃判定閾値以上の状態から、前記攻撃判定閾値未満の状態に遷移した場合に、前記第１もしくは第２の帯域制御方式を解除する、請求項１記載の帯域制御装置。
【請求項５】
帯域制御装置によって実行される複数のゲートウェイを制御するための方法であって、
前記複数のゲートウェイからサーバ宛てのトラヒックのモニタリング情報を収集するステップと、
前記収集したモニタリング情報から算出される前記サーバ宛ての合計トラヒックが前記サーバの攻撃判定閾値以上であるか判定するステップと、
前記合計トラヒックが前記攻撃判定閾値以上であることに応答して、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか判定するステップと、
前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか否かに応じて第１の帯域制御方式と第２の帯域制御方式とを選択的に使用することによって前記複数のゲートウェイを介する前記サーバ宛てのトラヒックを制御するステップと、
を有し、
前記第１の帯域制御方式は、各ゲートウェイにおける前記攻撃対象サーバ宛てのトラヒックに比例した帯域制限値を前記ゲートウェイに設定する方式であり、
前記第２の帯域制御方式は、各ゲートウェイにおけるアクセス元数と使用帯域とに基づき選択したゲートウェイを遮断する方式である方法。
【請求項６】
帯域制御装置によって実行される複数のゲートウェイを制御するための方法であって、
前記複数のゲートウェイからサーバ宛てのトラヒックのモニタリング情報を収集するステップと、
前記収集したモニタリング情報から算出される前記サーバ宛ての合計トラヒックが前記サーバの攻撃判定閾値以上であるか判定するステップと、
前記合計トラヒックが前記攻撃判定閾値以上であることに応答して、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか判定するステップと、
前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか否かに応じて第１の帯域制御方式と第２の帯域制御方式とを選択的に使用することによって前記複数のゲートウェイを介する前記サーバ宛てのトラヒックを制御するステップと、
を有し、
前記第２の帯域制御方式を選択すると、前記制御するステップは、前記攻撃対象サーバに対するアクセス元数が少ないゲートウェイから前記攻撃対象サーバのための使用帯域が大きいゲートウェイを決定し、前記決定したゲートウェイを遮断する方法。
【請求項７】
コンピュータを、請求項１ないし４のうちいずれか１項に記載の前記帯域制御装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、DDoS攻撃に対処するためのネットワーク制御技術に関する。特に、本発明は、ネットワークを構成する複数のスイッチを制御する集中制御装置を利用したネットワーク制御技術に関する。
【背景技術】
【０００２】
近年、ネットワークを通したサイバー攻撃が増加及び多様化している。その中で、攻撃先のサーバやスイッチ（ターゲット）を高負荷状態・ダウン状態にすることで、サービスを停止させるDenial of Service（DoS）攻撃がある。特に、複数の攻撃者が同時多発的にターゲットを攻撃するDistributed DoS（DDoS）攻撃は、数100Gbpsのパケット等のより高いボリューム攻撃が可能となり、ターゲットに大きな被害をもたらすほか、ネットワーク全体に影響を与えてしまう。
【０００３】
こういった攻撃を対象に様々な対策が考えられている。通常は、サーバ等の攻撃対象に対する攻撃の帯域に閾値を設け、当該閾値を超えたら攻撃と判別し、その攻撃パケットを遮断する方法が利用される。また、攻撃元がわからない場合には、例えば、攻撃対象の前に設けられたスイッチ等に帯域制御を行うことで攻撃対象がダウンすることを防止する方法がある。また、DDoS攻撃の中でも、近年増加傾向にあるDNS増幅型のDDoS攻撃を防ぐ方法として、特許文献１のような技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−０２９２０７号公報
【非特許文献】
【０００５】
【非特許文献１】「DDoS攻撃抑制のための公平性を考慮した帯域制御方式」, 與語一史, 白井信也, 相原正夫, 電子情報通信学会  信学技報  NS2015-123 (2015-11)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
攻撃の多様化に伴い、ネットワーク管理者は、常に最新の攻撃を把握し、ネットワークの管理を行う必要がある。このため、運用のコストや、新たな対処を打つための設備構築にコストがかかってしまう。また、そのような対策を行ったとしても、従来技術を利用して未知の攻撃に対処することはしばしば困難である。
【０００７】
DDoS攻撃は、攻撃者が多数いるために一人一人の攻撃者の特定が困難であり、また、一人一人の攻撃者の攻撃のボリューム（攻撃の使用帯域等）を小さくすることで、上述したような攻撃トラヒックの大きさの閾値による攻撃の判定を困難にする。さらに、攻撃対象がわかったとしても、上述の特定の攻撃に対する対策が採用された場合、それ以外の攻撃があったときには対応できない。また、サーバ等の攻撃対象宛のパケットを遮断してしまうと、攻撃対象と同じネットワークに属するユーザのサービス品質に対する影響は止められたとしても、結局攻撃対象が提供しているサービスは利用不可となってしまう。
【０００８】
このような課題を解決するために、図１に示されるように、Software Defined Networking（SDN）技術を利用することで、キャリアネットワークのような複数のゲートウェイを持ち、かつ攻撃元が特定できない場合にも、攻撃対象のサーバ等によって提供されるサービスを利用するユーザのサービス可用性を維持できる制御方法が提案されている（非特許文献１）。しかしながら、当該制御方法によると、攻撃トラヒックが非常に大きい場合に、全てのユーザがサービス利用不可状態になってしまう可能性がある。
【０００９】
上述した問題点を鑑み、本発明の課題は、サービス可用性を維持しながらDDoS攻撃に対処するための技術を提供することである。
【課題を解決するための手段】
【００１０】
上記課題を鑑み、本発明の一態様は、複数のゲートウェイを制御する帯域制御装置であって、前記複数のゲートウェイからサーバ宛てのトラヒックのモニタリング情報を収集するモニタリング情報収集部と、前記収集したモニタリング情報から算出される前記サーバ宛ての合計トラヒックが前記サーバの攻撃判定閾値以上であるか判定し、前記合計トラヒックが前記攻撃判定閾値以上であるときに前記サーバを攻撃対象サーバであると判定し、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか否かに応じて第１の帯域制御方式と第２の帯域制御方式とを選択的に使用することによって前記複数のゲートウェイを介する前記攻撃対象サーバ宛てのトラヒックを制御する帯域計算部とを有する帯域制御装置に関する。
【００１１】
本発明の他の態様は、帯域制御装置によって実行される複数のゲートウェイを制御するための方法であって、前記複数のゲートウェイからサーバ宛てのトラヒックのモニタリング情報を収集するステップと、前記収集したモニタリング情報から算出される前記サーバ宛ての合計トラヒックが前記サーバの攻撃判定閾値以上であるか判定するステップと、前記合計トラヒックが前記攻撃判定閾値以上であることに応答して、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか判定するステップと、前記合計トラヒックが前記サーバの帯域制御方式切替閾値以上であるか否かに応じて第１の帯域制御方式と第２の帯域制御方式とを選択的に使用することによって前記複数のゲートウェイを介する前記サーバ宛てのトラヒックを制御するステップとを有する方法に関する。
【発明の効果】
【００１２】
本発明によると、サービス可用性を維持しながらDDoS攻撃に対処することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、従来のDDoS攻撃のための帯域制御方式を示す概略図である。
【図２】図２は、本発明の一実施例によるDDoS攻撃のための帯域制御方式を示す概略図である。
【図３】図３は、本発明の一実施例によるネットワーク構成を示すブロック図である。
【図４】図４は、本発明の一実施例による帯域制御装置におけるテーブルを示す図である。
【図５】図５は、本発明の一実施例によるゲートウェイスイッチにおけるテーブルを示す図である。
【図６】図６は、本発明の一実施例による帯域制御処理を示すフローチャートである。
【図７】図７は、本発明の一実施例による帯域制御処理を示すシーケンス図である。
【図８】図８は、本発明の一実施例による遮断ゲートウェイの調節を示す概略図である。
【図９】図９は、本発明の他の実施例による遮断ゲートウェイの調節を示す概略図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１５】
後述される実施例では、管理対象とするネットワークにおけるDDoS攻撃に対処する帯域制御装置が開示される。外部ネットワークとの全てのゲートウェイの集中制御が可能な帯域制御装置は、各ゲートウェイにおける宛先がターゲットになっているトラヒック量（利用帯域）の情報を一定期間収集し、また、ターゲットとなり得るマシンがダウンしないようにターゲット宛の合計トラヒック量の閾値（攻撃判定閾値）を設定し、その閾値を超えた場合には、各ゲートウェイにて帯域制御を行う。その際、更に、合計トラヒックの閾値（帯域制御方式切替閾値）を設け、当該閾値に基づき異なる帯域制御方式のうち何れを利用するか決定する。選択対象の帯域制御方式として、各ゲートウェイのトラヒック量に比例するように攻撃対象宛の各ゲートウェイのトラヒック量の閾値にそれぞれ異なる値を設定することによって、攻撃対象のマシンが提供するサービスを利用するユーザのトラヒックを公平にし全ユーザのサービス可用性を維持させる帯域制御方式と、一部のゲートウェイを遮断することによって、全ユーザのサービス可用性を維持しないものの可能な限り多くのユーザのサービス可用性を維持させる帯域制御方式とが利用可能である。図２に示されるように、ターゲット宛の合計トラヒック量に応じて、これら２つの帯域制御方式を切り替える。このような帯域制御装置によると、各ゲートウェイでの帯域制御により、攻撃対象サーバのダウンを防ぎ、かつ、攻撃対象宛のトラヒック量に基づきその状況に適した帯域制御方式を利用することで、どの大きさのDDoS攻撃に対しても可能な限りユーザのサービス停止を防ぐことができる。
【００１６】
まず、図３を参照して、本発明の一実施例によるネットワーク構成を説明する。図３は、本発明の一実施例によるネットワーク構成を示すブロック図である。
【００１７】
図３に示されるように、ネットワーク１０は、帯域制御装置１００、複数のゲートウェイスイッチ２００及びサーバ３００を有し、ゲートウェイスイッチ２００を介し外部ネットワーク４００に接続される。
【００１８】
帯域制御装置１００は、各ゲートウェイスイッチ２００を制御し、外部ネットワーク４００と各ゲートウェイスイッチ２００との間の通信帯域を制御する。帯域制御装置１００は、典型的には、サーバにより実現されてもよく、例えば、バスを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、プロセッサ、インタフェース装置及び通信回路から構成される。帯域制御装置１００における後述される各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリなどの記録媒体によって提供されてもよい。プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるような帯域制御装置１００の各種機能及び処理を実行する。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信回路は、インターネットなどのネットワークと通信するための各種通信処理を実行する。しかしながら、帯域制御装置１００は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
【００１９】
図示されるように、帯域制御装置１００は、送受信部１１０、モニタリング情報収集部１２０、モニタリング情報テーブル１３０、閾値情報テーブル１４０及び帯域計算部１５０を有する。送受信部１１０は、データ翻訳・変換部１１１を有し、帯域計算部１５０は、帯域制御方式選択部１５１及びトラヒック遮断ゲートウェイ選択部１５２を有する。
【００２０】
送受信部１１０は、ゲートウェイスイッチ２００及び攻撃対象となるサーバ３００との間で情報を送受信する。また、送受信部１１０は、ゲートウェイスイッチ２００及びサーバ３００からの情報を理解し、またゲートウェイスイッチ２００への設定を行うために、送信対象の情報をゲートウェイスイッチ２００及びサーバ３００に整合するデータ形式に変換すると共に、ゲートウェイスイッチ２００及びサーバ３００から受信した情報を帯域制御装置１００の各部に理解可能なデータ形式に翻訳及び変換するデータ翻訳・変換部１１１を有する。
【００２１】
モニタリング情報収集部１２０は、各ゲートウェイスイッチ２００のモニタリング部２３０によって取得された情報を収集及び集約し、モニタリング情報テーブル１３０に書き込む。
【００２２】
モニタリング情報テーブル１３０は、モニタリング情報収集部１２０によって収集された各ゲートウェイスイッチ２００のモニタリング情報を保持する。モニタリング情報テーブル１３０は、宛先IPアドレスと各ゲートウェイスイッチ２００の使用帯域の情報を保持し、図４に示されるように、宛先IPアドレス、各ゲートウェイスイッチ２００の識別子（ゲートウェイID）、使用帯域、宛先IPアドレス宛の送信元IPアドレス数の組み合わせを保持する。
【００２３】
閾値情報テーブル１４０は、後述されるような攻撃対象となる各サーバ３００の使用帯域の上限値である攻撃判定閾値と、帯域制御方式を選択するための帯域制御方式切替閾値とを保持し、図４に示されるように、各攻撃対象の宛先IPアドレス、攻撃判定閾値、帯域制御方式切替閾値の組み合わせを保持する。
【００２４】
帯域計算部１５０は、収集したモニタリング情報から算出されるサーバ３００宛ての合計トラヒックがサーバ３００の攻撃判定閾値以上であるか判定し、合計トラヒックが攻撃判定閾値以上であるときにサーバ３００を攻撃対象サーバであると判定し、合計トラヒックがサーバ３００の帯域制御方式切替閾値以上であるか否かに応じて異なる帯域制御方式を選択的に使用することによって複数のゲートウェイスイッチ２００を介する攻撃対象サーバ３００宛てのトラヒックを制御する。
【００２５】
具体的には、帯域制御方式選択部１５１は、モニタリング情報による攻撃対象サーバ３００宛の合計帯域が攻撃判定閾値を上回った場合に、モニタリング情報テーブル１３０と閾値情報テーブル１４０とに保持される情報に基づいて帯域制御方式を選択する。帯域計算部１５０は、以下でより詳細に説明されるように、選択されたそれぞれの帯域制御方式に基づいて各ゲートウェイスイッチ２００の攻撃対象宛のパケットに対する帯域制限値を計算する。トラヒック遮断ゲートウェイ選択部１５２は、以下でより詳細に説明されるように、トラヒック遮断方式の帯域制御方式が選択された場合、トラヒックを遮断するゲートウェイスイッチ２００を選択する。
【００２６】
ゲートウェイスイッチ２００は、外部ネットワーク４００に接続され、帯域制御装置１００による制御の下で外部ネットワーク４００とサーバ３００との間のトラヒックをやりとりする。ゲートウェイスイッチ２００は、典型的には、ゲートウェイ、スイッチ、ルータなどにより実現され、送受信部２１０、帯域設定部２２０、モニタリング部２３０、モニタリング情報テーブル２４０及び閾値情報テーブル２５０を有する。
【００２７】
送受信部２１０は、帯域制御装置１００及びサーバ３００との間でデータ情報及び制御情報をやりとりする。送受信部２１０は、モニタリング部２３０によって取得されたモニタリング情報を帯域制御装置１００に送信し、帯域制御装置１００から帯域制限設定要求を受信する。帯域制御装置１００の送受信部１１０と異なり、送受信部２１０は、データ翻訳・変換機能を有さなくてもよい。
【００２８】
帯域設定部２２０は、帯域制御装置１００から受信した帯域制限設定要求に示される帯域制限値を閾値情報テーブル２５０に格納し、特定の宛先IPアドレスを有するパケットに対して使用帯域を制限する。具体的には、特定の宛先IPアドレスを有するパケットの使用帯域が帯域制限値以下の場合、帯域設定部２２０は当該パケットを宛先IPアドレスまで転送し、帯域制限値以上の使用帯域のパケットが到着した場合、帯域設定部２２０は当該パケットを廃棄する。
【００２９】
モニタリング部２３０は、サーバ３００と外部ネットワーク４００との間でやりとりされるトラヒックをモニタリングし、モニタリング結果をモニタリング情報としてモニタリング情報テーブル２４０に書き込む。具体的には、モニタリング部２３０は、特定の宛先IPアドレスを有するパケットの一定時間における帯域使用量をモニタリングし、モニタリング結果をモニタリング情報テーブル２４０に格納する。
【００３０】
モニタリング情報テーブル２４０は、モニタリング部２３０により収集されたモニタリング結果を保持する。例えば、図５に示されるように、モニタリング情報テーブル２４０は、受信したパケットの宛先IPアドレス、当該アドレスの使用帯域、及び当該アドレスに対する送信元のIPアドレスの個数を示す送信元IPアドレス数の組み合わせを保持する。モニタリング情報テーブル２４０に保持される情報は、送受信部２１０を介し帯域制御装置１００に適宜報告される。
【００３１】
閾値情報テーブル２５０は、帯域制御装置１００によって設定された各宛先IPアドレスの帯域制限値を保持する。例えば、図５に示されるように、閾値情報テーブル２５０は、宛先IPアドレス及び帯域制限値の組み合わせを保持する。帯域設定部２２０は、閾値情報テーブル２５０に保持される帯域制限値に従って外部ネットワーク４００からサーバ３００に送信されるトラヒック量を制御する。
【００３２】
なお、図５に示される各帯域制限値は図４に示される使用帯域より小さくなっているが、これは、図５のモニタリング情報を収集した時点では本発明の帯域制御は実施されておらず、当該モニタリング情報の収集後に帯域制御が実施され、帯域制限値が設定されたことを想定している。
【００３３】
サーバ３００は、外部ネットワーク４００を介しクライアント（図示せず）からのサービス要求を処理する。すなわち、クライアントからサービス要求を受信すると、サーバ３００は、要求されたサービスをクライアントに提供する。攻撃対象となるサーバ３００は、不特定のユーザに対して外部ネットワーク４００を経由してWeb上等でサービスを提供するサーバを想定しているが、本発明に関する機能は特に必要ではない。図３では、攻撃対象となるサーバが１台しか記載されていないが、攻撃対象となりうるサーバ３００はネットワーク１０において複数存在しうる。
【００３４】
外部ネットワーク４００は、ゲートウェイスイッチ２００を介しネットワーク１０に接続され、当該ネットワーク１０の管理下にないネットワークである。以下の実施例では、DDoS攻撃は外部ネットワーク４００から攻撃対象に向かって行われるものとする。
【００３５】
次に、本発明の一実施例による帯域計算部１５０をより詳細に説明する。上述したように、帯域計算部１５０は、合計トラヒックが攻撃判定閾値以上である攻撃対象サーバについて、合計トラヒックがサーバ３００の帯域制御方式切替閾値以上であるか否かに応じて異なる帯域制御方式を選択的に使用する。本実施例では、合計トラヒックが攻撃判定閾値以上であって、帯域制御方式切替閾値未満である場合（攻撃判定閾値≦合計トラヒック＜帯域制御方式切替閾値）、帯域制御方式選択部１５１は後述される帯域制御方式１を選択し、合計トラヒックが攻撃判定閾値及び帯域制御方式切替閾値以上である場合（攻撃判定閾値＜帯域制御方式切替閾値≦合計トラヒック）、帯域制御方式選択部１５１は後述される帯域制御方式２を選択する。
【００３６】
帯域制御方式１では、帯域計算部１５０は、モニタリング情報テーブル１３０及び閾値情報テーブル１４０を利用して、各ゲートウェイスイッチ（ＧＷ）の帯域制限値＝（合計の帯域制限値×ＧＷの帯域使用量）／合計の帯域使用量、となるように帯域制限値を決定する。すなわち、帯域制御方式１は、各ゲートウェイスイッチ２００における攻撃対象サーバ３００宛てのトラヒックに比例した帯域制限値をゲートウェイスイッチ２００に設定する方式である。帯域制御方式１は、各ゲートウェイスイッチ２００における攻撃対象宛てのトラヒックに比例した帯域制限値を設定し、ユーザの公平性及びサービス可用性を維持するというアプローチに基づくものである。
【００３７】
具体的には、帯域計算部１５０は、以下の式に従って、各ゲートウェイスイッチ２００における特定の宛先IPアドレスのパケットに対する帯域制限値を計算する。
【００３８】
【数１】
0006509143.tif 000002
ここで、LiはゲートウェイIDがiであるゲートウェイスイッチ２００の帯域制限値であり、αは特定の宛先IPアドレス（サーバ３００）の攻撃判定閾値であり、BiはゲートウェイIDがiであるゲートウェイスイッチ２００におけるターゲットサーバ３００宛てのパケットの使用帯域であり、Bminは各ゲートウェイスイッチ２００の帯域制限値の下限値（モニタリング期間においてトラヒックが全くなかった場合、すなわち、Bi=0のときに帯域制限値が０となり、結果としてトラヒックを遮断してしまうことを防ぐための値）であり、GWはネットワーク１０上のゲートウェイスイッチ２００の台数である。これにより、各ゲートウェイスイッチ２００の帯域制限値は、各ゲートウェイスイッチ２００におけるターゲットサーバ３００宛のパケットの使用帯域に比例し、かつ、その合計が合計帯域制限値αになるように決定される。
【００３９】
帯域制御方式２では、一部のゲートウェイスイッチ２００が遮断されると共に、残りのゲートウェイスイッチ２００に対して帯域制御方式１による帯域制限値が設定される。すなわち、帯域制御方式２は、各ゲートウェイスイッチ２００におけるアクセス元数と使用帯域とに基づき選択したゲートウェイスイッチ２００を遮断する方式である。具体的には、トラヒック遮断ゲートウェイ選択部１５２は、以下の手順に従って、トラヒックを遮断するゲートウェイスイッチ２００を選択する。
（１）各ゲートウェイスイッチ２００の送信元IPアドレス数が最も少ないゲートウェイスイッチ２００（送信元IPアドレス数Umin）を候補として選択する。
（２）カウンタ変数m, nをn=Umin、m=1に初期化する。
（３）候補の中で、使用帯域が最も大きいゲートウェイスイッチ２００から順にm台選択する。
（４）合計帯域がユーザのサービス可用性を維持できる数値（すなわち、帯域制御方式切替閾値）に収まれば終了し、収まらなければ（５）に移行する。
（５）カウンタ変数nをインクリメントする（n=n+1）。
（６）n≦(m+1)×Uminであれば（７）に移行し、そうでなければ（８）に移行する。
（７）送信元IPアドレス数n+1のゲートウェイスイッチ２００を候補として選択し、（３）に戻る。
（８）カウンタ変数mをインクリメントし（m=m+1）、（３）に戻る。
（９）上記の手順によって選択したゲートウェイスイッチ２００をトラヒック遮断ゲートウェイとして選択し、当該ゲートウェイスイッチ２００の帯域制限値を０に設定（すなわち、当該ゲートウェイスイッチ２００を遮断）し、それ以外のゲートウェイスイッチ２００の帯域制限値について、帯域計算部１５０は、各ゲートウェイスイッチ（ＧＷ）の帯域制限値＝（合計の帯域制限値×ＧＷの帯域使用量）／遮断したトラヒックを除く合計の帯域使用量、となるように帯域制限値を決定する。具体的には、帯域計算部１５０は、以下の式で帯域制限値を計算し、（１０）に移行する。
【００４０】
【数２】
0006509143.tif 000003
ここで、mは（２）〜（８）のカウンタ変数と同じであり、トラヒック遮断ゲートウェイの台数であり、Bblockedはトラヒック遮断ゲートウェイにて遮断されたトラヒックの帯域の合計値であり、それ以外の変数は上述したものと同様である。すなわち、帯域制御方式２を選択すると、帯域計算部１５０は、攻撃対象サーバ３００に対するアクセス元数が少ないゲートウェイスイッチ２００から攻撃対象サーバ３００のための使用帯域が大きいゲートウェイスイッチ２００を決定し、当該ゲートウェイスイッチを遮断する。帯域制御方式２は、遮断されるゲートウェイスイッチ２００以外のユーザのサービス可用性を維持できる範囲で可能な限りサービス利用不可となるユーザ数を減らすというアプローチに基づくものである。
【００４１】
次に、図６を参照して、本発明の一実施例による帯域制御装置１００による帯域制御処理を説明する。図６は、本発明の一実施例による帯域制御処理を示すフローチャートである。
【００４２】
図６に示されるように、ステップＳ１０１において、帯域制御装置１００は、各ゲートウェイスイッチ２００からモニタリング情報を取得する。当該モニタリング情報は、例えば、当該ゲートウェイスイッチ２００に流入するパケットの宛先IPアドレス、当該宛先IPアドレス宛のパケットの使用帯域、及び当該宛先IPアドレスの送信元IPアドレスの個数を含む。
【００４３】
ステップＳ１０２において、帯域制御装置１００は、各ゲートウェイスイッチ２００から収集したモニタリング情報から各宛先IPアドレス宛のパケットの使用帯域を合計し、合計使用帯域（トラヒック）と閾値情報テーブル１４０に保持される当該宛先IPアドレスの攻撃判定閾値とを比較する。合計使用帯域が攻撃判定閾値以上である場合（ステップＳ１０２：ｙｅｓ）、帯域制御装置１００は、当該宛先IPアドレスが攻撃対象となっていると判定し、ステップＳ１０３に移行する。他方、合計使用帯域が攻撃判定閾値未満である場合（ステップＳ１０２：ｎｏ）、帯域制御装置１００は、当該宛先IPアドレスは攻撃されていないと判断し、ステップＳ１０４において、当該宛先IPアドレス宛のトラヒックに帯域制御を実施することなく、ステップＳ１０１に戻ってトラヒックモニタリングを継続する。
【００４４】
ステップＳ１０３において、帯域制御装置１００は更に、合計使用帯域と閾値情報テーブル１４０に保持される当該宛先IPアドレスの帯域制御方式切替閾値とを比較する。合計使用帯域が帯域制御方式切替閾値以上である場合（ステップＳ１０３：ｙｅｓ）、帯域制御装置１００は、ステップＳ１０５に移行し、上述した帯域制御方式２に従ってトラヒック遮断ゲートウェイを選択すると共に、残りのゲートウェイスイッチ２００に対して帯域制限値を設定する。
【００４５】
他方、合計使用帯域が帯域制御方式切替閾値未満である場合（ステップＳ１０３：ｎｏ）、帯域制御装置１００は、ステップＳ１０６に移行し、上述した帯域制御方式１に従ってゲートウェイスイッチ２００に対して帯域制限値を設定する。
【００４６】
次に、図７を参照して、本発明の一実施例による帯域制御装置１００とゲートウェイスイッチ２００との間で実行される帯域制御処理を説明する。本実施例では、帯域制御装置１００が定期的に各ゲートウェイスイッチ２００をモニタリングしてモニタリング情報を更新し、攻撃判定閾値を超えたときをトリガとして、帯域制御方式の選択と帯域制限値の計算を行い、各ゲートウェイスイッチ２００に帯域設定を実行する。なお、各装置間の情報のやり取りは、すべて各装置の送受信部を介して行われるが、説明の簡単化のため送受信部の送受信処理は省略する。ここでは、閾値情報テーブル１４０に攻撃対象であるサーバ３００の合計帯域制限値として攻撃判定閾値αと帯域制御方式切替閾値βが設定されているものとする。
【００４７】
図７は、本発明の一実施例による帯域制御処理を示すシーケンス図である。図７に示されるように、ステップＳ２０１において、帯域制御装置１００のモニタリング情報収集部１２０は、定期的に各ゲートウェイスイッチ２００に対して特定のサーバ３００（宛先IPアドレス）のパケットのモニタリング情報の送信を要求する。
【００４８】
ステップＳ２０２において、モニタリング情報送信要求を受けた各ゲートウェイスイッチのモニタリング部２３０は、モニタリングを一定時間行い、対象となるサーバ３００とその宛先へのパケットの使用帯域が含まれたモニタリング情報をモニタリング情報テーブル２４０に保存する。
【００４９】
ステップＳ２０３において、モニタリング部２３０は、保存された情報をモニタリング情報収集部１２０に送信する。
【００５０】
ステップＳ２０４において、モニタリング情報収集部１２０は、各ゲートウェイスイッチ２００から受信したモニタリング情報をモニタリング情報テーブル１３０に書き込み更新する。
【００５１】
ステップＳ２０５において、帯域計算部１５０は、閾値情報テーブル１４０を参照し、攻撃対象となっているサーバ３００の攻撃判定閾値αと帯域制御方式切替閾値βとを取得する。また、帯域計算部１５０は、モニタリング情報テーブル１３０を参照し、攻撃対象となっているサーバ３００を宛先とするトラヒックについて、各ゲートウェイスイッチ２００における使用帯域と攻撃対象宛のパケットの送信元IPアドレス数とを取得する。
【００５２】
ステップＳ２０６において、帯域計算部１５０は、モニタリング情報テーブル１３０から取得した攻撃対象宛のパケットの合計帯域を計算し、帯域制御を行うか、また、上述した帯域制御方式１と帯域制御方式２との何れを利用するか選択する。具体的には、攻撃対象宛のトラヒックの合計帯域がα以上β以下であれば、帯域計算部１５０は帯域制御方式１を選択し、ステップＳ２０７に移行する。他方、そうでなければ、攻撃対象宛のトラヒックの合計帯域がβ以上であれば、帯域計算部１５０は帯域制御方式２を選択し、ステップＳ２０８に移行する。
【００５３】
ステップＳ２０７において、帯域計算部１５０は、帯域制御方式２に関して上述した手順に従ってトラヒック遮断ゲートウェイを選択し、選択されなかったゲートウェイスイッチ２００の帯域制限値を計算するため、ステップＳ２０８に移行する。
【００５４】
ステップＳ２０８において、帯域計算部１５０は、帯域制御方式１に関して上述した手順に従って各ゲートウェイスイッチ２００における攻撃対象サーバ３００宛てのトラヒックの帯域制限値を決定する。
【００５５】
ステップＳ２０９において、帯域計算部１５０は、各ゲートウェイスイッチ２００の帯域設定部２２０に計算した帯域制限値を設定するよう要求する。
【００５６】
ステップＳ２１０において、各ゲートウェイスイッチの帯域設定部２２０は、受信した帯域制限設定要求に基づきゲートウェイスイッチ２００の帯域制限値を設定し、閾値情報テーブル２５０に帯域制限値を保存する。
【００５７】
ステップＳ２１１において、帯域設定部２２０は、設定が完了したことを帯域計算部１５０に通知し、全てのゲートウェイスイッチ２００から当該完了通知を受信すると、帯域計算部１５０は、当該処理を終了してステップＳ２０１に戻る。
【００５８】
上述したステップを定期的に又はリアルタイムに繰り返し実行することによって、最適な帯域制御方式に変更したり、帯域制限値を調整したり、トラヒック遮断ゲートウェイを再選択したり、攻撃が止まったときには自動的に帯域制御を解除することができる。
【００５９】
例えば、帯域制御方式２に従ってトラヒック遮断ゲートウェイが選択された後にトラヒックが更に増大した場合、上述したステップを繰り返すことによって、図８に示されるように、更なるトラヒック遮断ゲートウェイを追加することが可能になる。また、トラヒックが変化した場合、上述したステップを繰り返すことによって、図９に示されるように、トラヒックの変化に応じてトラヒック遮断ゲートウェイを変更することが可能になる。このようにして、帯域制御装置１００は、動的にゲートウェイスイッチ２００の使用帯域を制御することができる。
【００６０】
また、帯域制御装置１００が定期的に各ゲートウェイスイッチ２００をモニタリングし、攻撃対象サーバ３００宛ての合計トラヒックが攻撃判定閾値以下になったとき、以下の手順によって各ゲートウェイスイッチの帯域制御を解除することができる。上述したステップＳ２０１〜Ｓ２０５を実行した後、帯域計算部１５０は、攻撃対象宛のパケットの合計帯域を計算し、帯域制御を行うか、また、上述した帯域制御方式１と帯域制御方式２との何れを利用するか選択する。ここでは、合計帯域が攻撃判定閾値αを下回っている場合を想定しているので、帯域制御を行わない設定となる。この場合、帯域計算部１５０は、各ゲートウェイスイッチ２００に対して帯域制限値を解除するよう帯域設定部２２０に要求する。各ゲートウェイスイッチ２００の帯域設定部２２０は、攻撃対象の宛先IPアドレスに対して設定されている帯域制限値を解除し、閾値情報テーブル２５０の帯域制限値を削除する。当該解除処理を終了した後、帯域設定部２２０は、解除完了通知を帯域計算部１５０に通知する。全てのゲートウェイスイッチ２００から解除完了通知を取得後、帯域計算部１５０は、当該処理を終了してステップＳ２０１に戻る。
【００６１】
上述した帯域制御方式１と２とを切り替えるトリガとなる帯域制御方式切替閾値βの設定方法について、例えば以下の計算方法により、βが求められる。以下の方法では、βは攻撃対象宛のパケットの合計帯域値に対する閾値ではなく、任意のゲートウェイスイッチ２００における１人のユーザ（攻撃者）の攻撃対象宛のパケットの平均値に対する閾値である。
（１）サービスが利用できなくなるようなユーザ１人あたりの帯域の下限値として、閾値βを設定する。
（２）各ゲートウェイスイッチ２００から、帯域制御前の合計帯域と攻撃対象宛のユーザ数（そのゲートウェイスイッチ２００を経由している攻撃対象宛のトラヒックの送信元IPアドレス数）を取得する。
（３）１つのゲートウェイスイッチ２００でも以下の条件式に当てはまれば、帯域制御方式を帯域制御方式２として、当てはまらなければ、帯域制御方式を帯域制御方式１とする。
【００６２】
【数３】
0006509143.tif 000004
ここで、ゲートウェイiは、ゲートウェイIDが1〜nのうちの任意のゲートウェイスイッチ２００である。
【００６３】
上述したように、本発明によると、キャリアネットワークのような多数の外部ネットワークとのゲートウェイを有するネットワークにおいて、DDoS攻撃がネットワーク内のサーバになされた場合に、攻撃元が不明で、かつ一つ一つの攻撃が小さく各ゲートウェイで検知不可能であっても、サーバをサービス停止状態にすることなく、かつ公平性を考慮することで、一部のユーザがサービスを利用できなくなる状態を防ぎ、また攻撃トラヒックが大きい場合においても、できるだけ多くのユーザがサービスを利用できるように維持させることで、DDoS攻撃に対するネットワークとサービスの可用性を向上させることができる。
【００６４】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６５】
１０  ネットワーク
１００  帯域制御装置
２００  ゲートウェイスイッチ
３００  サーバ
４００  外部ネットワーク
【図１】
0006509143.tif 000005
【図２】
0006509143.tif 000006
【図３】
0006509143.tif 000007
【図４】
0006509143.tif 000008
【図５】
0006509143.tif 000009
【図６】
0006509143.tif 000010
【図７】
0006509143.tif 000011
【図８】
0006509143.tif 000012
【図９】
0006509143.tif 000013