(57)【特許請求の範囲】
【請求項１】
複数の通信装置を接続してなる第１のネットワークと、分散型サービス不能攻撃の攻撃対象となるコンピュータを有するまたは分散型サービス不能攻撃の攻撃対象となるコンピュータに接続する第２のネットワークおよび前記第１のネットワークに隣接し前記第２のネットワークとは異なる第３のネットワークと、の接続点に配置されたゲート装置と、前記ゲート装置に対して伝送帯域制御値の指示を行う帯域管理装置とを有する分散型サービス不能攻撃防止システムであって、
前記ゲート装置は、
一定レートで発行されるトークンの有無と、指定されたパケット識別子に基づきパケットの伝送許可を判断する帯域制御装置であって、前記トークンの発行レートを伝送帯域制御値に基づいて指定することにより、攻撃対象のコンピュータを送信先とする正規パケットと攻撃容疑パケットの合計伝送帯域を前記伝送帯域制御値に基づいて制限するとともに、前記トークンの消費情報を前記帯域管理装置に送信する処理を行う装置であり、
前記帯域管理装置は、
前記ゲート装置に対して分配するトークンの量を制御するトークン分配装置であって、分散型サービス不能攻撃が検出されたことを示す攻撃検出情報を受信する攻撃検出情報受信手段と、前記ゲート装置のトークン消費情報を受信するトークン消費情報受信手段と、前記攻撃検出情報と前記トークン消費情報に基づきトークンを分配するゲート装置を決定し、トークンを増減するか否かを判定するトークン分配判定手段と、前記第３のネットワークから前記第１のネットワーク内に流入される正規パケットと攻撃容疑パケットの総量が前記分散型サービス不能攻撃の攻撃対象となるコンピュータのパケット処理能力以下に制限されるように前記第１のネットワークと前記第３のネットワークの接続点に配置されたゲート装置に分配するトークンの量であるトークン分配量を決定するトークン分配量算出手段と、前記トークン分配量を伝送帯域制御値として前記第１のネットワークと前記第３のネットワークの接続点に配置されたゲート装置に送信するトークン送信手段と、を備える
ことを特徴とする分散型サービス不能攻撃防止システム。
【請求項２】
前記トークン分配判定手段は、前記第１のネットワークと前記第３のネットワークの接続点に配置された特定のゲート装置のトークン消費量がトークン分配量よりも一定値以上の場合に、トークンの残量があれば固定の単位トークン量を追加的に分配し、トークンの残量が無い場合には不分配とするトークン分配手段と、前記第１のネットワークと前記第３のネットワークの接続点に配置された特定のゲート装置のトークン消費量がトークン分配量よりも一定値以下の場合には、該ゲート装置からトークンを回収し不分配のゲート装置に対してトークンを分配するトークン回収手段と、を備え、
前記トークン分配量算出手段は、前記単位トークン量をΔＣとし、トークンの分割変数をＮとし、攻撃対象のコンピュータの処理能力をＣとすると、
ΔＣ＝Ｃ／Ｎ  ・・・  （式１）
からなる値を算出する手段を備える
ことを特徴とする請求項１に記載の分散型サービス不能攻撃防止システム。
【請求項３】
前記トークン分配判定手段は、前記第１のネットワークと前記第３のネットワークの接続点に配置された特定のゲート装置のトークン消費量がトークン分配量よりも一定値以上大きい場合、および一定値以上小さい場合に、前記第１のネットワークと前記第３のネットワークの接続点に配置されたトークンを分配済みのゲート装置に対してトークンの再分配を行うと判定する手段を備え、
前記トークン分配量算出手段は、前記第１のネットワークと前記第３のネットワークの接続点に配置されたゲート装置を識別する番号をｉとし、前記第１のネットワークと前記第３のネットワークの接続点に配置されたトークン分配済みのゲート装置数をｎとし、ｉで識別されるゲート装置のトークン消費量をＴＣｉ、分配するトークン量をＴｉとし、攻撃対象のコンピュータの処理能力をＣとすると、
【数１】
0004697968.tif 000005
からなる値を算出する手段を備え、
前記トークン送信手段は、ｉで識別されるｎ台のゲート装置に対して前記Ｔｉを分配する手段を備える
ことを特徴とする請求項１に記載の分散型サービス不能攻撃防止システム。
【請求項４】
前記トークン分配量算出手段は、攻撃対象のコンピュータの処理能力をＣとすると、前記第１のネットワークと前記第２のネットワークの接続点に配置されたゲート装置に送信するトークン分配量をＣと算出する手段を備え、
前記トークン送信手段は、前記トークン分配量Ｃを伝送帯域制御値として前記第１のネットワークと前記第２のネットワークの接続点に配置されたゲート装置に送信する
ことを特徴とする請求項１ないし３のうちいずれか１項に記載の分散型サービス不能攻撃防止システム。
【請求項５】
複数の通信装置を接続してなる第１のネットワークと、分散型サービス不能攻撃の攻撃対象となるコンピュータを有するまたは分散型サービス不能攻撃の攻撃対象となるコンピュータに接続する第２のネットワークおよび前記第１のネットワークに隣接し前記第２のネットワークとは異なる第３のネットワークと、の接続点に配置されたゲート装置と、前記ゲート装置に対して伝送帯域制御値の指示を行う帯域管理装置とを有する分散型サービス不能攻撃防止システムにおける分散型サービス不能攻撃防止方法であって、
前記ゲート装置は、
一定レートで発行されるトークンの有無と、指定されたパケット識別子に基づきパケットの伝送許可を判断する帯域制御装置であって、前記トークンの発行レートを伝送帯域制御値に基づいて指定することにより、攻撃対象のコンピュータを送信先とする正規パケットと攻撃容疑パケットの合計伝送帯域を前記伝送帯域制御値に基づいて制限するとともに、前記トークンの消費情報を前記帯域管理装置に送信する処理を行い、
前記帯域管理装置は、
前記ゲート装置に対して分配するトークンの量を制御するトークン分配装置であって、攻撃検出情報受信手段とトークン消費情報受信手段とトークン分配判定手段とトークン分配量算出手段とトークン送信手段とを備え、前記攻撃検出情報受信手段が分散型サービス不能攻撃が検出されたことを示す攻撃検出情報を受信するステップと、前記トークン消費情報受信手段が前記ゲート装置のトークン消費情報を受信するステップと、前記トークン分配判定手段が前記攻撃検出情報と前記トークン消費情報に基づきトークンを分配するゲート装置を決定し、トークンを増減するか否かを判定するステップと、前記トークン分配量算出手段が前記第３のネットワークから前記第１のネットワーク内に流入される正規パケットと攻撃容疑パケットの総量が前記分散型サービス不能攻撃の攻撃対象となるコンピュータのパケット処理能力以下に制限されるように前記第１のネットワークと前記第３のネットワークの接続点に配置されたゲート装置に分配するトークンの量であるトークン分配量を決定するステップと、トークン送信手段が前記トークン分配量を伝送帯域制御値として前記第１のネットワークと前記第３のネットワークの接続点に配置されたゲート装置に送信するステップと、を含むことを特徴とする分散型サービス不能攻撃防止方法。
【請求項６】
前記トークン分配判定手段は、トークン分配手段とトークン回収手段とを備え、前記トークン分配手段が前記第１のネットワークと前記第３のネットワークの接続点に配置された特定のゲート装置のトークン消費量がトークン分配量よりも一定値以上の場合に、トークンの残量があれば固定の単位トークン量を追加的に分配し、トークンの残量が無い場合には不分配とするステップと、前記トークン回収手段が前記第１のネットワークと前記第３のネットワークの接続点に配置された特定のゲート装置のトークン消費量がトークン分配量よりも一定値以下の場合には、該ゲート装置からトークンを回収し不分配のゲート装置に対して前記トークンを分配するステップと、を含み、
前記トークン分配量算出手段が、前記単位トークン量をΔＣとし、トークンの分割変数をＮとし、攻撃対象のコンピュータの処理能力をＣとすると、
ΔＣ＝Ｃ／Ｎ  ・・・  （式１）
からなる値を算出するステップを含む
ことを特徴とする請求項５に記載の分散型サービス不能攻撃防止方法。
【請求項７】
前記トークン分配判定手段が、前記第１のネットワークと前記第３のネットワークの接続点に配置された特定のゲート装置のトークン消費量がトークン分配量よりも一定値以上大きい場合、および一定値以上小さい場合に、前記第１のネットワークと前記第３のネットワークの接続点に配置されたトークンを分配済みのゲート装置に対してトークンの再分配を行うことと判定するステップと、
前記トークン分配量算出手段が、前記第１のネットワークと前記第３のネットワークの接続点に配置されたゲート装置を識別する番号をｉとし、前記第１のネットワークと前記第３のネットワークの接続点に配置されたトークン分配済みのゲート装置数をｎとし、ｉで識別されるゲート装置のトークン消費量をＴＣｉ、分配するトークン量をＴｉとし、攻撃対象のコンピュータの処理能力をＣとすると、
【数２】
0004697968.tif 000006
からなる値を算出するステップと、
前記トークン送信手段が、ｉで識別されるｎ台のゲート装置に対して前記Ｔｉを分配するステップと、を含む
ことを特徴とする請求項５に記載の分散型サービス不能攻撃防止方法。
【請求項８】
前記トークン分配量算出手段が、攻撃対象のコンピュータの処理能力をＣとすると、前記第１のネットワークと前記第２のネットワークの接続点に配置されたゲート装置に送信するトークン分配量をＣと算出するステップと、
前記トークン送信手段が、前記トークン分配量Ｃを伝送帯域制御値として前記第１のネットワークと前記第２のネットワークの接続点に配置されたゲート装置に送信するステップと、を含む
ことを特徴とする請求項５ないし７のうちいずれか１項に記載の分散型サービス不能攻撃防止方法。
【請求項９】
請求項１ないし４のうちいずれか１項の分散型サービス不能攻撃防止システムにおける帯域管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め分配されるトークンにより伝送帯域レートの制御を行う帯域制御装置を複数利用し、分散型サービス不能攻撃を防止するための分散型サービス不能攻撃防止システム、方法、およびその帯域管理装置に関する。
【背景技術】
【０００２】
多くの端末から特定のＷｅｂサイトにサーバの処理能力を超えるトラヒックを集中させてサービスの停止を引き起こす分散型サービス不能攻撃（ＤＤｏＳ：Distributed Denial of Service）が増加しつつある。
【０００３】
ＤＤｏＳ攻撃の対策では、攻撃を検出し、これに基づいてトラヒック制御を行う処理が考えられる。攻撃検出系において、各パケットに対し正規トラヒックフロー（Ｌフロー）、攻撃トラヒックフロー（Ｍフロー）、若しくはいずれかの判定が出来ない容疑トラヒックフロー（Ｓフロー）を判定してパケットヘッダ等により区別できるようにした後、制御系において各パケットヘッダによりパケットがどのフローに属するかを識別し、各フローに応じたトラヒック制御を行う。
【０００４】
ＤＤｏＳ攻撃時の対策の目標は、トラヒックが集中する被攻撃サーバを停止させることなく、正規のトラヒックを最大限に疎通させ、攻撃時においても最大限にサービス提供を継続できるようにすることである。攻撃時にはネットワーク、サーバ等において相対的に設備量の小さな部分から輻輳するが、通常は被攻撃サーバがネックとなる。このため、被攻撃サーバに向かうパケットのうち、Ｌフローに属するパケットは可能な限り疎通を確保し、Ｍフローのパケットは遮断する制御を行う。Ｓフローのパケットについては、正規か攻撃かの判断がつかないパケットであるため、正規のパケットについて最大限の疎通を確保するために、被攻撃サーバの処理能力（Ｃｂｐｓ）についてＬフローに属するパケット処理の余剰処理能力分だけの疎通を確保するように帯域制御を行うことが必要となる。
【０００５】
すなわち、Ｌフローのトラヒック量をＬｂｐｓとすると（Ｃ−Ｌ）ｂｐｓのレートを実現する帯域制御が必要となる。このためには、Ｌフローのトラヒック量Ｌｂｐｓを測定し、これに応じて（Ｃ−Ｌ）ｂｐｓのレートを時々刻々調整する必要がある。
【０００６】
トラヒック量を陽に測定することなく容易に帯域制御を行う方式としてトークンバケット方式がある。トークンバケット方式は、単位時間毎に一定レートのパケットの送出を許可するトークンを発行してパケットを送出させる毎にトークンを消費する方式である。トークンバケットを応用した様々な帯域制御が提案されている（例えば、特許文献１）。
【０００７】
ここで、トラヒックを測定してレートを時々刻々調整する煩雑さを回避するため、陽に測定することなく容易に帯域制御を行うトークンバケット方式の応用が考えられる。しかしながら、特許文献１などの従来の提案はネットワーク上でのサービス品質保証、トラヒックフロー間の公平性、余剰帯域の活用を目的としたもので、ＤＤｏＳ攻撃時の対策を目的とするものではない。また、トラヒックを測定してトークン量を調整する方法、余ったトークンの再配置などを提案するもので方法も異なり、ＤＤｏＳ攻撃時の対策を可能とするものではない。
【０００８】
【特許文献１】特開２００４−３３６５４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＤＤｏＳ攻撃時の対策として、トラヒックが集中する被攻撃サーバを停止させることなく、正規のトラヒックを最大限に疎通させ、攻撃時においても最大限にサービス提供を継続できるようにすることを目標に、陽にトラヒック測定を行う煩雑さを伴わない帯域制御方式、帯域制御装置を提供することは重要である。
【００１０】
すなわち、優先パケットであるＬフローのパケットのトラヒック量Ｌｂｐｓを測定することなく非優先パケットであるＳフローのパケットに対して（Ｃ−Ｌ）ｂｐｓのレートで帯域制御を可能とすることが課題である。この問題に関する提案として、本出願人による特願２００６−５９４０７号（ＮＴＴＨ１７６６７５）の発明が出願（以下、出願１という。）されている。
【００１１】
出願１の発明は、ネットワーク上の一箇所に配備された一台の帯域制御装置を用いて、ＤＤｏＳ攻撃を防止するものである。一方、ＤＤｏＳ攻撃は、ネットワーク上の多地点に位置している攻撃者により送信される攻撃パケットにより構成されるものであり、攻撃者に近い上流の複数ポイントで攻撃パケットを廃棄することがネットワークの輻輳を回避する点で望ましい。従って、ネットワーク上の複数地点に出願１の帯域制御装置を配備し、非攻撃サーバの停止とネットワーク内の輻輳を同時に回避できるよう帯域制御装置のトークン量を算出し分配することが重要である。
【００１２】
一般にＩＳＰ等のネットワーク事業者網は、図１に示すように中継通信装置からなる中継網と、それらに接続されるエッジ装置およびボーダー装置（図１では両装置とも帯域制御装置と記載）から構成される。尚、ユーザ網にはエッジ装置を介して接続され、他のネットワーク事業者網へはボーダー装置を介して接続されているのが一般的である。
【００１３】
出願１に記載の帯域制御装置は、図１に示されるアクセス回線に接続される帯域制御装置として利用されることが考えられる。この場合、アクセス回線の直前で攻撃パケットの廃棄を行うため、被攻撃サーバとアクセス網の輻輳は防止できる。しかしながら、ＤＤｏＳ攻撃を構成するパケットは、ユーザ網および他ネットワークに接続されている複数の攻撃者から発信されるため、上流のＩＳＰネットワーク内での輻輳発生を防止することはできない。
【００１４】
そこで、ＩＳＰネットワークのエッジ箇所に出願１に記載の帯域制御装置を配備し、これらに対してトークンを適切に分配することで、ＤＤｏＳ被攻撃サーバへ向かうＳフローパケットを（Ｃ−Ｌ）ｂｐｓに制御することが重要である。
【００１５】
図２に出願１に記載のトークンを用いた帯域制御装置の動作内容を記載する。優先パケットのフローが前記正規トラヒックフロー（Ｌフロー）であり、非優先パケットのフローが前記容疑トラヒックフロー（Ｓフロー）である。図２に示すように、トークンを被攻撃サーバなど制御対象の処理能力Ｃのレートで単位時間毎に補給する。パケット送出時に、該パケットのデータ量分だけトークンを消費する。但し、優先パケット（Ｌ）については、トークン不足時でもトークンを消費しトークンの借りを認める。一方、非優先パケット（Ｓ）では、トークン不足時には非優先パケット蓄積機能に並べ、トークンが補給されてパケット転送を許容できるだけ貯まった時点で順次送出する。これにより、優先パケットのフロー（Ｌフロー）を陽に測定することなくＣ−Ｌのレートで非優先パケット（Ｌ）の帯域制御が可能となる。
【００１６】
尚、ＤＤｏＳ攻撃の検出過程においては、パケットフロー毎に攻撃パケットか否かの判定を行うが、検出処理の精度によりＬ及びＳフローパケットの量が動的に変化する。更に、ＤＤｏＳ攻撃パケット自身のレートも時間に応じて変化するため、複数の帯域制御装置に対するトークンの分配量はこれらに合せて動的に変化されることが望ましい。
【００１７】
上記に基づき、本発明の課題は、ネットワーク上に配備された複数の帯域制御装置に対してトークンを分配し、正規トラヒックの疎通を最大限確保するとともに、ＤＤｏＳ被攻撃サーバの停止を防ぐこと及び攻撃パケットによるネットワーク内での輻輳発生を同時に防止することである。すなわち、ＤＤｏＳ攻撃パケットの流入地点に配備された複数の帯域制御装置に対してトークンを分配し、そのトークン量の総和が（Ｃ−Ｌ）ｂｐｓとなるよう動的に分配制御することである。
【課題を解決するための手段】
【００１８】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１９】
第１の発明に係るトークン分配方法の要点を、図３を用いて説明する。処理能力ＣｂｐｓのＤＤｏＳ被攻撃サーバ３０３に対してＤＤｏＳ攻撃が発生した場合を考える。一般的に、ＩＳＰネットワーク３０１のトラヒック管理は、運用センター３０７において集中的に行われ、ＤＤｏＳ攻撃の検出処理もここで行われる。トークンの分配判断および分配量の算出処理は、この運用センター３０７に配備されたトークン分配装置３０６において行う。
【００２０】
ＤＤｏＳ攻撃が検出された場合、その検出箇所とフロー情報に基づき、攻撃パケットの流入箇所（ｉｎｇｒｅｓｓポイント）に配備された帯域制御装置に対してトークンを分配する。具体的には、図３における帯域制御装置＃１〜４（３０５−１〜４）へのトークンの分配量の総和がＣとなるよう分配量の算出を行う。これにより、ネットワーク内に流入するＳフローパケットの総量を（Ｃ−Ｌ）ｂｐｓに制限し、輻輳の発生を回避する。（Ｃ−Ｌ）ｂｐｓに分配制御することで、被攻撃サーバの停止を防ぎつつ、かつＳフロー内に含まれる正規パケットを最大限救済できる範囲でネットワーク内へのＳフローパケットの流入を許可することが可能となる。
【００２１】
このトークン分配手段を、図４に示す帯域制御装置３０５と図５に示すトークン分配装置３０６の構成に基づいて説明する。
【００２２】
図４に帯域制御装置３０５を示す。トークン消費量監視部４０１では、帯域制御装置３０５内でのＬおよびＳフローパケットの伝送量に関するトークン消費量を監視する。このトークン消費量はトークン制御情報通信部４０２を介してトークン分配装置３０６に送信される。出願１に示されるように、トークン消費量はＬおよびＳフローパケットを伝送する度に消費されるトークン量を示すものであり、これらパケットの実効的な伝送量に該当する。尚、分配済みのトークンに比してＬおよびＳフローパケットの平均伝送量が大きく、パケット廃棄が生じている状況では、トークン消費量は分配済みのトークン量よりも大きな値を持つ。尚、トークン分配装置３０６から通知されたトークン量は、図４のトークン制御情報通信部４０２を介してトークン発行部４５３へ通知される。
【００２３】
図５にトークン分配装置３０６の構成を記載する。ＤＤｏＳ攻撃がＩＳＰネットワーク３０１で検出された場合、通信インターフェース５０１を介して、攻撃検出情報受信部５０２が、ＤＤｏＳ攻撃が検出された箇所とＬおよびＳフローパケットのフロー情報を含む攻撃検出情報を受信する。同様に、帯域制御装置３０５におけるトークン消費量をトークン消費量受信部５０３が受信する。
【００２４】
トークン分配判定部５０４では、攻撃検出情報とトークン消費情報に基き、トークンを分配するか否かの判定を行う。トークンを分配する場合には、分配先の帯域制御装置を特定する情報を網構成情報ＤＢ５０７から取得する。トークンを分配するケースとしては、ＤＤｏＳ攻撃が発生し、制御を行う帯域制御装置を新規に追加する場合と、逆にＤＤｏＳ攻撃が終了し、分配済みのトークンを回収するケースが考えられる。更に、トークンを一度分配した後、特定の帯域制御装置のトークン消費量が分配済みのトークン量と一定値以上異なる場合に、適切なトークン量を再計算し、再分配する場合がある。
【００２５】
トークン分配量算出部５０５では、分配するトークン量を算出する。
【００２６】
第２の発明に係るトークン分配判定手段とトークン分配量算出手段では、（式１）で示されるΔＣを分配するトークン量の最小単位とし、分配するトークン量の総計がＣとなるように全体として分配処理を行う。
【００２７】
ΔＣ＝Ｃ／Ｎ  ・・・  （式１）
但し、Ｃは被攻撃サーバの処理能力（ｂｐｓ）、Ｎは任意の分割変数であるが、例えば、ネットワーク内に設置されている帯域制御装置の総数としても良い。
【００２８】
帯域制御装置に対しトークンを分配若しくは回収する場合、ΔＣのトークン量毎に分配と回収をそれぞれ行う。ＤＤｏＳ攻撃が発生した場合、帯域制御装置３０５にΔＣずつのトークンを分配し、その後、各帯域制御装置内でのトークン消費量とΔＣが一定値以上異なる場合には、ΔＣ分の追加分配、若しくは回収を行う。これらの処理は帯域制御装置に対して再帰的に繰り返し処理される。
【００２９】
図５に記載のトークン情報ＤＢ５０８では、分配済みのトークン量を記憶し、分配済みのトークン量の総計がＣより小さい場合には追加分配を許可し、それ以外では追加分配許可せず、当該帯域制御装置をトークン不足の状態として記憶する。
【００３０】
上記の第２の発明に係る手段は、トークンの分配と回収を複数の帯域制御装置に対して同時に行わない為、ネットワーク構成および帯域制御装置の構造上、頻度の高いトークン分配処理が困難な場合に適している。一方、下記の第３の発明に係るトークン分配手段は、一つの帯域制御装置に対してトークンを分配若しくは回収する際、他の帯域制御装置のトークンについても同時に再計算と分配若しくは回収の処理を行う。従って、頻度の高いトークン分配が許される環境で、より精度高く制御を行う必要がある場合に適している。
【００３１】
第３の発明に係るトークン分配量算出部５０５では、（式２）に基づいて分配するトークン量を算出する。特定の帯域制御装置に対してトークンの分配、再計算、回収が必要となった場合、制御処理を行っているその他の帯域制御装置についてもＴｉを算出し、ｎ台の帯域制御装置に対して同時にトークンを再分配若しくは回収する手段である。
【００３２】
【数３】
0004697968.tif 000002
但し、帯域制御装置を識別する番号をｉとし、トークン分配済みの帯域制御装置数をｎとし、ｉで識別される帯域制御装置のトークン消費量をＴＣｉ、分配するトークン量をＴｉとし、被攻撃サーバの処理能力をＣとする。
【００３３】
第４の発明に係るトークン分配量算出部５０５では、被攻撃サーバの処理能力をＣとすると、帯域制御装置＃０（３０５−０）へのトークンの分配量をＣと算出する手段を備える。
【００３４】
上記のトークン量の帯域制御装置への通知は、図５のトークン送信部５０６で行う。各帯域制御装置に対するトークンの分配量とトークン消費量に関する情報はトークン情報ＤＢ５０８において記憶される。
【発明の効果】
【００３５】
本発明により、ＤＤｏＳ攻撃に対して、正規トラヒックの疎通を最大限確保するとともに被攻撃サーバの停止を防ぎ、同時にネットワーク内の輻輳の発生を回避することが可能となる。また、攻撃発生時において攻撃者の意図により若しくはＤＤｏＳ攻撃の検出過程の精度によって、Ｓフローパケットのネットワークへの流入地点とそのパケット量が変動した場合においても、トークンの動的な分配を行うことで上記の効果を得ることが可能となる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施形態について図を用いて説明する。
【００３７】
（第一の実施形態）
本発明の第一の形態を、図３、図４、図５に示すネットワーク環境、帯域制御装置、トークン分配装置と図６〜８のフローチャートを用いて説明する。 
図３において、３０１はＩＳＰネットワークであり、３０２−０〜３０２−３は中継装置である。３０３は分散型サービス不能攻撃の攻撃対象となるＤＤｏＳ被攻撃サーバであり、３０４はＤＤｏＳ被攻撃サーバ３０３を有するＬＡＮである。３０５−０はＩＳＰネットワーク３０１とＬＡＮ３０４との接続点に配置された帯域制御装置＃０である。３０５−１〜４はＩＳＰネットワーク３０１とＩＳＰネットワーク３０１に隣接する外部ネットワーク（図示していない）との接続点に配置された帯域制御装置＃１〜＃４である。３０６はトークン分配装置であり、３０７はトークン分配装置３０６が配置された運用センターである。ＬＡＮ３０４は一般のネットワークでも良く、また、ＤＤｏＳ被攻撃サーバ３０３に接続するネットワークでも良い。図３に示す帯域制御装置＃０〜＃４（３０５−０〜４）は、通常はルータ装置が考えられ、図２に記載のトークン機能を具備したルータが帯域制御を行うことになるが、これはルータ装置に付加する外部制御装置でも良い。帯域制御装置＃０〜＃４（３０５−０〜４）は、エッジ装置、ボーダー装置等を含むゲート装置で良く、トークン分配装置３０６は一般的には帯域を管理する帯域管理装置でも良い。
【００３８】
図３の帯域制御装置３０５の詳細を図４に示す。４５１はパケットを受信するパケット受信部であり、４５２は優先パケットと非優先パケットを識別するパケット種別識別部であり、４５３はトークンを発行するトークン発行部であり、４５４はトークンを蓄積するトークン蓄積部であり、４５５はトークンの残量を計算するトークン残量計算部であり、４５６は非優先パケットの送出の判断を行う非優先パケット送出判断部であり、４５７は非優先パケット用の蓄積を行う非優先パケット用蓄積部であり、４５８はパケットを送出するパケット送出部である。４０１はトークン消費量を監視するトークン消費量監視部であり、４０２はトークン制御情報（トークン消費情報、トークン分配量）の送受信を行うトークン制御情報通信部である。４５１〜４５８は発明が解決しようとする課題の項に記載した出願１と同様であり、トークン消費量監視部４０１とトークン制御情報通信部４０２が本実施形態において付け加えられたものである。
【００３９】
まず、図４の帯域制御装置３０５のうち前記出願１と同様な４５１〜４５８について簡単に説明する。パケット受信部４５１は複数種別のパケットを受信し、パケット種別識別部４５２ヘパケットを転送する。パケット種別識別部４５２は、パケットが優先パケットか被優先パケットを識別する。識別のための情報は図示していないが別に設けてある攻撃検出系から予め受け取っておく。例えば、ＴＣＰのＳｙｎ−ｆｌｏｏｄ攻撃を想定すると、ＴＣＰのＳｙｎフラグが立ったパケットを非優先パケット、ＴＣＰのそれ以外のパケットは優先パケットとして識別するケースがありえる。尚、このケースでは、背景技術にて説明した正規トラヒックフロー（Ｌフロー）が優先パケット（ＴＣＰのＳｙｎフラグの立たないパケット）、容疑トラヒックフロー（Ｓフロー）が非優先パケット（ＴＣＰのＳｙｎフラグの立ったパケット）に相当する。パケット種別識別部４５２において、優先パケットと識別したパケットはトークン残量計算部４５５に転送する。非優先パケットと識別したパケットは非優先パケット送出判断部４５６に転送する。トークン発行部４５３ではパケットの送出を許可するトークンを一定レートで発行する。例えば、被攻撃サーバなど流入するトラヒックの総量を制御したい制御対象について、その処理能力をパケットの総量制限値Ｃｂｐｓとして制御する場合は、１秒間にＣビットのパケット送出を許可するトークンを一定レートで発行する。トークン蓄積部４５４はトークン発行部４５３が発行したトークンを蓄積する。トークン残量計算部４５５は、優先パケット、または、非優先パケットの送出時に該パケットのデータ量の分だけトークン蓄積部４５４に蓄積されているトークンを消費してトークンの残量を計算し、その結果をトークン蓄積部４５４に蓄える。ここで、優先パケットの送出時にはトークンが不足していても優先パケットを送出してトークン残量をマイナス値として計算し、計算の結果をトークン蓄積部４５４に蓄える。この処理のあと、パケット送出部４５８に転送する。非優先パケット送出判断部４５６は、トークン蓄積部４５４にて蓄積しているトークンの残量で送出許可できるパケットデータ量と送出したい非優先パケットのデータ量を比較して、等しいか前者が大きい場合に非優先パケットの送出を許可する。この比較は、パケット種別識別部４５２から非優先パケットを受け取ったときには、該パケットとトークン残量を比較する。または、トークン発行部４５３がトークンを発行したときは、非優先パケット蓄積部４５７の中で例えば最も時間が経過しているパケットなど次に送出すべきパケットとトークン残量を比較する。送出を許可したパケットはトークン残量計算部４５５に転送する。送出を許可できない場合は非優先パケット蓄積部４５７に該パケットを蓄積する。パケット送出部４５８では受信したパケットを本帯域制御装置から送出する。
【００４０】
以上が出願１の帯域制御装置の説明であるが、本実施形態においては、トークン消費量監視部４０１がトークン消費量を監視し、トークン制御情報通信部４０２がトークン消費量情報をトークン分配装置に送信する。また、トークン制御情報通信部４０２が、トークン分配装置３０６からトークン分配量を受信すると、トークン発行部は、受信したトークン分配量を伝送帯域制限値に指定しトークンの発行レートを伝送帯域制限値に制限し、これにより、ＤＤｏＳ被攻撃サーバ３０３を送信先とする正規パケットと攻撃容疑パケットの合計伝送帯域を伝送帯域制御値に制限する処理を行う。ここで、正規パケットとは、Ｌフローのパケットであり、ＤＤｏＳ被攻撃サーバ３０３が正規に受信すべきパケット（図１の正規利用者からのパケット）である。攻撃容疑パケットとは、Ｓフローのパケットであり、攻撃パケットか正規パケットかの判定が出来ないパケットである。
【００４１】
図３のトークン分配装置３０６の詳細を図５に示す。５０１は通信インターフェースであり、この通信インターフェースを介してトークン分配装置３０６がＩＳＰネットワーク３０１に接続される。５０２はＩＳＰネットワーク３０１内における正規パケットおよび攻撃容疑パケットが通過する帯域制御装置の特定情報とそれらのパケット量からなる攻撃検出情報を受信する攻撃情報を受信する攻撃検出情報受信部である。５０３は帯域制御装置３０５のトークン消費量情報を受信するトークン消費情報受信部である。５０４は攻撃検出情報とトークン消費情報に基づきトークンを分配する帯域制御装置を決定し、トークンを増減するか否かを判定するトークン分配判定部である。５０５はＩＳＰネットワーク３０１内に流入される正規パケットと攻撃容疑パケットの総量がＤＤｏＳ被攻撃サーバのパケットの処理能力以下に制限されるように帯域制御装置に分配するトークンの量であるトークン分配量を決定するトークン分配量算出部であり、５０６はトークン分配量を送信するトークン送信部である。５０７は網構成情報を蓄積する網構成情報ＤＢであり、５０８はトークン情報を蓄積するトークン情報ＤＢである。
【００４２】
トークン分配装置３０６は図５に記載される各処理部とＤＢから構成され、汎用的なパーソナルコンピュータやワークステーション等により実現することができる。攻撃検出情報受信部５０２、トークン消費情報受信部５０３、トークン分配判定部５０４、トークン分配量算出部５０５、トークン送信部５０６は、ＣＰＵで処理されるプログラムとして実現しても良い。また、網構成情報ＤＢ５０７とトークン情報ＤＢ５０８は、汎用ＤＢを利用して実現しても良い。通信インターフェース５０１は、ＬＡＮまたはＷＡＮ等のネットワークと接続するためのネットワーク接続カード等により構成される。
【００４３】
図６〜８はトークン分配装置３０６の動作を示すフローチャートである。以下に図６〜８のフローチャートを用いて、ＤＤｏＳ攻撃が検出されてからトークン分配による帯域制御を実施するまでの処理の流れを説明する。
【００４４】
ＤＤｏＳ攻撃が検出された場合、図６のフローチャートにおいて、攻撃情報受信部５０２から攻撃検出情報が受信される（Ｓ６１）。攻撃検出情報には、例えば、ＬおよびＳフローパケットのＩＰヘッダ部、ＴＣＰヘッダ部およびＵＤＰヘッダ部の属性、並びにフローデータ量（ｂｐｓ）の情報が含まれる。加えて、Ｓフローパケットが検出された帯域制御装置の識別子が含まれる。
【００４５】
攻撃情報の取得後、トークン分配判定部５０４において網構成情報ＤＢ５０７に蓄積された情報に基き、ＤＤｏＳ被攻撃サーバと帯域制御装置の特定情報を取得する（Ｓ６２）。例えば、ＳフローパケットのＤｅｓｔｉｎａｔｉｏｎ ＩＰアドレスとＤｅｓｔｉｎａｔｉｏｎ Ｐｏｒｔから被攻撃サーバを特定し、網構成情報ＤＢから当該サーバの処理能力Ｃを得る（Ｓ６３）。
【００４６】
また、攻撃情報に含まれる帯域制御装置の識別子を検索キーとして、網構成情報ＤＢ５０７から帯域制御装置のＩＰアドレスおよび通信ポート識別番号を得る。攻撃検出情報に帯域制御装置の識別子を規定する事ができない場合には、Ｓフローのパケット情報とネットワークの管理情報であるルーティング情報から帯域制御装置を一意に特定してもよい。
【００４７】
次に、トークン分配判定部５０４では、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）との接続点に配置された帯域制御装置＃１〜＃４（３０５−１〜４）に対して、ＩＳＰネットワーク３０１内に流入される正規パケットと攻撃容疑パケットの総量が攻撃対象のコンピュータの処理能力以下に制限されるように、トークンの分配若しくは回収のいずれを行うかの判定と、対象の帯域制御装置の決定を行う（Ｓ６４、Ｓ６５）。ＤＤｏＳ攻撃が発生し、新規に制御を行う帯域制御装置を追加する場合（Ｓ７０３、図７参照）、トークン情報ＤＢ５０８に蓄積されているトークン分配量に基づき、（式３）で表されるトークン残量を確認する（Ｓ７０３，Ｓ７０４）。
【００４８】
【数４】
0004697968.tif 000003
但し、トークン残量をＴＲとし、帯域制御装置を識別する番号をｉとし、トークン分配済みの帯域制御装置数をｎとし、ｉで識別される帯域制御装置に分配済みのトークン量をＴｉとする。                                                           
【００４９】
トークン残量が単位トークン量ΔＣ以上の場合、ΔＣのトークンを当該帯域制御装置に分配する（Ｓ７０５）。トークン残量が単位トークン量ΔＣ以下の場合、当該帯域制御装置に対するトークン情報を、例えば、不分配とする属性を付与してトークン情報ＤＢ５０８に蓄積する（Ｓ７０７）。ここで、単位トークン量ΔＣは、トークンの分割変数をＮとし、攻撃対象のコンピュータの処理能力をＣとすると、ΔＣ＝Ｃ／Ｎである。分割変数Ｎは、例えば、ネットワーク内に設置されている帯域制御装置の総数としても良い。
【００５０】
また、特定の帯域制御装置を通過するＤＤｏＳ攻撃が停止した場合、当該帯域制御装置から分配済みのトークンを回収する（Ｓ７０８）。更に、トークン残量がΔＣ以下の場合で、かつトークン情報ＤＢ５０８にトークン不分配の帯域制御装置が登録されている場合（Ｓ７１０、Ｓ７１１）、当該帯域制御装置に対してトークンを分配する（Ｓ７１２）。
【００５１】
トークンの分配若しくは回収処理を行った後は、分配結果をトークン情報ＤＢ５０８に登録し蓄積する（Ｓ７０６）。尚、トークン情報ＤＢ５０８のテーブル構成は、例えば、図１０に示される情報項目と属性から構成されてもよい。
【００５２】
次に、上記の処理により帯域制御装置に対してトークンの分配を行った後、特定の帯域制御装置のトークン消費量が分配済みのトークン量と一定値以上の差がある場合の処理を、図８のフローチャートを用いて説明する。
【００５３】
帯域制御装置３０５では、図４に記載のトークン消費量監視部４０１においてトークン消費量を監視する。分配されているトークン量との差分が一定値以上である場合、トークン分配装置３０６は、図５のトークン消費情報受信部５０３を介して、トークン消費情報を受信する（Ｓ８１）。トークン消費情報は、例えば、帯域制御装置の識別子およびトークン消費量（ｂｐｓ）からなる情報で規定される。
【００５４】
次に、トークン情報ＤＢ５０８から当該帯域制御装置の特定情報とＣの値を取得する（Ｓ８２、Ｓ８３）。同様に、当該帯域制御装置に分配済みのトークン量を取得し（Ｓ８４）、トークン分配判定部５０４でトークンの追加若しくは回収のいずれかを行うかの判断を行う。
【００５５】
以降の処理は、前述の図７に示されるフローチャートと同様の処理である為、省略する。但し、Ｓ７０２の判定内容は、当該帯域制御装置に対してトークンを追加分配するか若しくは回収するかの判断となる。
【００５６】
以上により、第２の発明のトークン分配量算出手段を用いた帯域制御を実施することが可能となる。
【００５７】
また、被攻撃サーバが特定され、その処理能力Ｃが得られると、トークン分配量算出部５０５は、ＩＳＰネットワーク３０１と、ＤＤｏＳ被攻撃サーバ３０３を有するＬＡＮ３０４あるいはＤＤｏＳ被攻撃サーバに接続するネットワーク（図示していない）と、の接続点に配置された帯域制御装置＃０（３０５−０）に送信するトークン分配量をＣと算出し、トークン送信部５０６がそのトークン分配量を帯域制御装置＃０（３０５−０）に送信する。これにより、第４の発明を用いた帯域制御を実施することができる。
【００５８】
結局、本実施形態では、トークン分配判定部５０４は、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置された特定の帯域制御装置のトークン消費量がトークン分配量よりも一定値以上の場合に、トークンの残量があれば固定の単位トークン量を追加的に分配し、トークンの残量が無い場合には不分配とするトークン分配手段と、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置された特定の帯域制御装置のトークン消費量がトークン分配量よりも一定値以下の場合には、その帯域制御装置からトークンを回収し不分配の帯域制御装置に対して前記トークンを分配するトークン回収手段と、を備えている。また、トークン分配量算出部５０５は、単位トークン量をΔＣとし、トークンの分割変数をＮとし、攻撃対象のコンピュータの処理能力をＣとすると、
ΔＣ＝Ｃ／Ｎ  ・・・  （式１）
からなる値を算出する手段を備える。また、トークン分配量算出部５０５は、ＤＤｏＳ被攻撃サーバ３０３の処理能力をＣとすると、帯域制御装置＃０（３０５−０）に送信するトークン分配量をＣと算出する手段を備える。
【００５９】
（第二の実施形態）
本発明の帯域制御を実施する第二の実施形態として、第３の発明のトークン分配量算出手段を用いた帯域制御を、図６、８、９のフローチャートを用いて説明する。当該実施形態では、第一の実施形態について図６と８で説明した処理が同様に必要となり、図７に代わり図９の処理で実現される。従って、図９に示すフローチャートを特に説明する。
【００６０】
尚、具体的に第一の実施形態と異なる点としては、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置された特定の帯域制御装置にトークンを分配する契機において、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置された他の帯域制御装置についてもトークン量を同時に再計算し、トークンの分配を行うことである。この際、制御中の全ての帯域制御装置のトークン消費量の大小に応じて、トークンの総計がＣとなるように最適なトークン量が算出される。
【００６１】
第二の実施形態では、一斉にトークンの送受信と更新処理を要する為、処理負荷が増加することとなるが、一方で、帯域制御装置毎にトークン消費量に応じた適切なトークン量の分配なされる。これによりＤＤｏＳ被攻撃サーバのサービスを停止することなく、Ｓフローパケット中に含まれる正規パケットを最大限救済することが可能となる。
【００６２】
ＤＤｏＳ攻撃が発生若しくは終了し、図６に示すフローチャートにより制御を行う帯域制御装置が追加若しくは削除される場合、図６のＳ６４の処理の後、図９のＳ９０１に遷移する。次に、制御処理中の全ての帯域制御装置からその時点でのトークン消費情報を取得する（Ｓ９０１）。これらをトークン情報ＤＢに登録し、同時に制御中の帯域制御装置の装置数ｎを取得する（Ｓ９０２）。
【００６３】
次に、帯域制御装置を追加か削除するかに応じて、ｎを±１ずつ増減し（Ｓ９０３、Ｓ９０４、Ｓ９０５）、式２により各帯域制御装置に分配するトークン量を決定する（Ｓ９０６、Ｓ９０７）。その後、各帯域制御装置に当該トークン量を分配し、分配結果をトークン情報ＤＢに登録する（Ｓ９０８、Ｓ９０９）。
【００６４】
特定の帯域制御装置のトークン消費量が分配済みのトークン量と一定値以上の差がある場合の処理は、図８に記載のフローチャートにより開始される。この場合、制御を行う帯域制御装置の数量は増減しないため、図８のＳ８５の処理の後、図９のＳ９１０に遷移する。その後、Ｓ９０６〜Ｓ９０９において、制御を行っている全ての帯域制御装置に対して分配すべきトークン量を再計算し、それらに対して送信処理を行う。
【００６５】
以上により、第３の発明のトークン分配量算出手段を用いた帯域制御を実施することが可能となる。
【００６６】
結局、本実施形態においては、トークン分配判定部５０４は、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置された特定の帯域制御装置のトークン消費量がトークン分配量よりも一定値以上大きい場合、および一定値以上小さい場合に、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置されたトークンを分配済みの帯域制御装置に対してトークンの再分配を行うと判定する手段を備える。また、トークン分配量算出手段５０５は、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置された帯域制御装置を識別する番号をｉとし、ＩＳＰネットワーク３０１と外部ネットワーク（図示していない）の接続点に配置されたトークン分配済みの帯域制御装置数をｎとし、ｉで識別される帯域制御装置のトークン消費量をＴＣｉ、分配するトークン量をＴｉとし、攻撃対象のコンピュータの処理能力をＣとすると、
【００６７】
【数５】
0004697968.tif 000004
からなる値を算出する手段を備える。また、トークン送信部５０６は、ｉで識別されるｎ台の帯域制御装置に対して前記Ｔｉを分配する手段を備える。また、トークン分配量算出部５０５は、ＤＤｏＳ被攻撃サーバ３０３の処理能力をＣとすると、帯域制御装置＃０（３０５−０）に送信するトークン分配量をＣと算出する手段を備える。
【００６８】
以上説明した第一および第二の実施形態の共通する点をまとめると次のとおりである。帯域制御装置３０５は、一定レートで発行されるトークンの有無と、指定されたパケット識別子に基づきパケットの伝送許可を判断する装置であり、トークンの発行レートを伝送帯域制御値に基づいて指定することにより、攻撃対象のコンピュータを送信先とする正規パケットと攻撃容疑パケットの合計伝送帯域を前記伝送帯域制御値に基づいて制限する処理を行う装置である。また、トークン分配装置３０６は、帯域制御装置３０５に対して分配するトークンの量を制御する装置であり、分散型サービス不能攻撃が検出されたことを示す攻撃検出情報を受信する攻撃検出情報受信部５０２と、帯域制御装置３０５のトークン消費情報を受信するトークン消費情報受信部５０３と、攻撃検出情報とトークン消費情報に基づきトークンを分配する帯域制御装置を決定し、トークンを増減するか否かを判定するトークン分配判定部５０４と、ＩＳＰネットワーク３０１内に流入される正規パケットと攻撃容疑パケットの総量が攻撃対象のコンピュータのパケット処理能力以下に制限されるように前記帯域制御装置に分配するトークンの量であるトークン分配量を決定するトークン分配量算出部５０５と、トークン分配量を伝送帯域制御値として帯域制御装置に送信するトークン送信部と、を備える装置である。
【００６９】
なお、前記実施形態のＤＤｏＳ被攻撃サーバの処理能力Ｃを実際のＤＤｏＳ被攻撃サーバの処理能力とは異なる値、例えば実際のＤＤｏＳ被攻撃サーバの処理能力以下の値としてもよい。また、通常のサーバの処理能力あるいはそれ以下の処理能力をＤＤｏＳ被攻撃サーバの処理能力Ｃとしてもよい。また、ＤＤｏＳ被攻撃サーバを特定することができなくても、攻撃パケットや攻撃容疑パケットが流出する位置に配置された帯域制御装置が特定できれば、同様に処理を行うことができる。また、攻撃パケットや攻撃容疑パケットが流出する位置に配置された帯域制御装置が特定できなくても、攻撃パケットや攻撃容疑パケットが流入する位置に配置された帯域制御装置が特定できれば、その帯域制御装置にトークン分配量を送信することができる。
【００７０】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００７１】
【図１】出願１に記載の帯域制御装置を配備したネットワーク環境を示す図である。
【図２】出願１に記載の帯域制御装置における帯域制御方法を示す図である。
【図３】本発明の実施形態のネットワーク環境を示す図である。
【図４】本発明の実施形態の帯域制御装置を示す図である。
【図５】本発明の実施形態のトークン分配装置を示す図である。
【図６】制御を行う帯域制御装置の追加若しくは削除を行うケースのフローチャートである。
【図７】第一の実施形態のトークン分配処理のフローチャートを示す図である。
【図８】一つの帯域制御装置においてトークン消費量が分配済みのトークン量と一定値以上、差があるケースのフローチャートを示す図である。
【図９】第二の実施形態のトークン分配処理のフローチャートを示す図である。
【図１０】トークン情報ＤＢテーブルの例である。
【符号の説明】
【００７２】
３０１…ＩＳＰネットワーク、３０２…中継装置、３０３…ＤＤｏＳ被攻撃サーバ、３０４…ＬＡＮ、３０５…帯域制御装置、３０６…トークン分配装置、３０７…運用センター、４０１…トークン消費量監視部、４０２…トークン制御情報通信部、４５１…パケット受信部、４５２…パケット種別識別部、４５３…トークン発行部、４５４…トークン蓄積部、４５５…トークン残量計算部、４５６…非優先パケット送出判断部、４５７…非優先パケット用蓄積部、４５８…パケット送出部、５０１…通信インターフェース、５０２…攻撃検出情報受信部、５０３…トークン消費情報受信部、５０４…トークン分配判定部、５０５…トークン分配量算出部、５０６…トークン送信部、５０７…網構成情報ＤＢ、５０８…トークン情報ＤＢ
【図１】
0004697968.tif 000007
【図２】
0004697968.tif 000008
【図３】
0004697968.tif 000009
【図４】
0004697968.tif 000010
【図５】
0004697968.tif 000011
【図６】
0004697968.tif 000012
【図７】
0004697968.tif 000013
【図８】
0004697968.tif 000014
【図９】
0004697968.tif 000015
【図１０】
0004697968.tif 000016