(57)【要約】【課題】送信の制限に対する措置が行われていないパケットがネットワークに到着した場合であっても、迅速にその制限を行う。【解決手段】監視装置２０が、制限パケットである攻撃パケットにマーキングを行うようエッジルータ３０ａ〜３０ｇに指示する。エッジルータ３０ａ〜３０ｇは、指示に従って、攻撃パケットに識別データを設定してマーキングを行う。そして、エッジルータ３０ａ〜３０ｇ及びルータ４０ａ〜４０ｃがマーキングパケットの送信を制限する。【選択図】図１
2005151341.tif 000002
【特許請求の範囲】
【請求項１】
送信を制限する制限パケットを特定する特定データを含む制限パケットに、該制限パケットであることを示す識別データを設定するようエッジルータに指示する制御手段と、
該制御手段の指示に従って、前記制限パケットに前記識別データを設定するエッジルータと、
前記識別データが設定された制限パケットの送信を制限するルータと
を備えることを特徴とする通信システム。
【請求項２】
前記特定データを検出する検出手段を備えることを特徴とする請求項１に記載の通信システム。
【請求項３】
送信を制限する制限パケットを特定する特定データを含む制限パケットに、該制限パケットであることを示す識別データを設定するようエッジルータに指示する制御手段を備えることを特徴とする監視装置。
【請求項４】
前記特定データを検出する検出手段を備えることを特徴とする請求項３に記載の監視装置。
【請求項５】
送信を制限する制限パケットを特定する特定データを含む制限パケットに、該制限パケットであることを示す識別データを設定する設定手段を備えることを特徴とするエッジルータ。
【請求項６】
送信を制限する制限パケットを特定する特定データを含む制限パケットに、該制限パケットであることを示す識別データを設定するようエッジルータに指示し、
該指示に従って、前記エッジルータが前記制限パケットに前記識別データを設定し、
前記識別データが設定された制限パケットの送信を制限することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、監視装置、エッジルータ及び通信方法に関する。
【背景技術】
【０００２】
サービス妨害攻撃（Denial  of  Service、以下「ＤｏＳ攻撃」と示す）は、攻撃対象のホストコンピュータに、そのＣＰＵやメモリを消費するパケットを大量に送り込むことにより、ホストコンピュータを動作不能に陥れ、正規の利用者へのサービス提供を不可能にするものである。又、他人のホストコンピュータを乗っ取ることなどにより、複数の装置からＤｏＳ攻撃を行うＤＤｏＳ攻撃（Distributed  ＤｏＳ）と呼ばれる攻撃もある。更に、パケット転送とフィルタリングを行うルータに、高い負荷を与えるパケットを大量に送り込むことにより、ルータの処理能力を枯渇させる攻撃もある。高い負荷を与えるパケットには、例えば、フィルタリングルールを設定する場合の弱点となる逐次処理の最終マッチングルールと一致するパケットなどがある。
【０００３】
これらの攻撃で使用される攻撃パケットは、ホストコンピュータのＣＰＵやメモリを消費させるために、特定のタイプであることが多い。よって、攻撃パケットのパターンを把握できれば、攻撃パケット以外のパケットに対して規制を行うことなく、攻撃パケットのみを規制できる可能性がある。そのため、攻撃に対する対策として、ＩｎＭｏｎ社が開発したｓＦｌｏｗ技術や、プッシュバックが提案されている。
【０００４】
ｓＦｌｏｗ技術は、ルータなどに搭載されるｓＦｌｏｗエージェントと、ｓＦｌｏｗコレクターとからなる。ｓＦｌｏｗエージェントは、ランダムに抽出したモニタリングデータをｓＦｌｏｗコレクターに送信する。ｓＦｌｏｗ技術は、モニタリングデータが全データの０．１％程度であり、ネットワークにかかる負荷が極めて小さい、ｓＦｌｏｗコレクターにモニタリングデータを送信する際に、パケット損失が発生してもサンプリングレートが多少低下するだけで障害とならないといった利点がある（例えば、非特許文献１参照）。
【０００５】
更に、ｓＦｌｏｗ技術では、セキュリティの驚異に対応する方法も提案されている。具体的には、ＩＣＭＰ（Internet  Control  Message  Protocol）エコー要求を、攻撃に利用するサブネットワークやノードに送り、多数のＩＣＭＰエコー応答を発生させて攻撃するＳｍｕｒｆ攻撃を防ぐ方法が提案されている。まず、ｓＦｌｏｗコレクターがトラヒック量を収集し、統計的に平常と異なることを検出する。次に、ｓＦｌｏｗコレクターが、エコー応答をサンプリングして最も多いエコー応答の宛先を探し、被害者を特定する。更に、ｓＦｌｏｗコレクターが、パケットを分析することにより、エコー応答がどのルータのどのインタフェースから来るかを特定する。エコー応答がどこから来るかについては、送信元アドレスにより特定できる。そして、特定したインタフェースにフィルターを設定し、特定した送信元アドレスからのＩＣＭＰトラヒックを遮断することにより、Ｓｍｕｒｆ攻撃を防ぐ（例えば、非特許文献２参照）。
【０００６】
プッシュバックでは、ルータがパケットの損失率を監視し、例外的で連続的な混雑を検出する。混雑を検出したルータは、パケットを分析し、混雑の原因となっているパケットのアドレスやアプリケーションタイプなどの特性を特定する。特定した特性を持つパケットは、アグリゲートと呼ばれる。そして、ルータは、アグリゲート以外のパケットの損失率が一定を越えないように、アグリゲートに割り当てる帯域を制限する。通常、帯域を制限すると、ＴＣＰフロー制御が働き、混雑が解消する。制限してもフロー制御が働かない場合や、明らかにＤＤｏＳ攻撃である場合に、ルータは攻撃の分析を行って、攻撃の上流のルータにアグリゲートに対する帯域制限を依頼して、攻撃対処を指示する。指示を受けた上流のルータは、パケットを分析し、攻撃がどこから来たかを特定して帯域制限を行う。このような動作をプッシュバックと呼び、上流ルータへの規制依頼として再帰的に実施される。アグリゲートの流入の多い経路で再帰的な依頼を重点的に行うことにより、アグリゲートが持つ特性を備えるパケットであっても、混雑の原因となっていないパケットに対する規制はほとんど行わないように工夫されている（例えば、非特許文献３参照）。
【０００７】
更に、ＤｏＳ攻撃に対する対策として、送信元側でパケットの安全性を確認して、パケットの安全性確認の度合いに応じて安全性識別子をパケットに付加し、送信先側で付加されている安全性識別子に応じた優先制御を行う技術も提案されている（例えば、特許文献１参照）。
【非特許文献１】P.Phaal，S.Panchen，N.Mckee，“InMon Corporation’s  sFlow：A  Method  for  Monitoring  Traffic  in  Switched  and  Routed  Networks”，RFC3176
【非特許文献２】J.Reves，Sonia  Panchen，“Traffic Monitoring  with  Packet−Based  Sampling  for  Defense  against  Security  Threats”，Passive  &  Active  Measurement  Workshop（PAM），2003
【非特許文献３】R.Mahajan，S.Bellovin，S.Floyd，J.Ioannidis，V.Paxon，S.Shenker，  “Controlling  High  Bandwidth  Aggregates  in  the  Network”，ACM  SIGCOMM  Computer  Communications  Review，vol.32，Issue  3，p.62−73
【特許文献１】特開２００２−１５８６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、プッシュバックのように、ＤＤｏＳ攻撃を検出したルータがトラヒックの上流に遡って攻撃を防ぐ場合、遡るために時間を要した。具体的には、パケットの分析には大きなＣＰＵ能力を必要とするが、ＤＤｏＳ攻撃が行われると、攻撃対象やその近隣のルータは、攻撃による多数のパケットを処理するために大きなＣＰＵ能力を費やしてしまう。そのため、これらのルータには、パケットの分析にＣＰＵ能力を割り当てる余裕がない。よって、攻撃に使用されている可能性があるパケットを転送しているルータが、攻撃の分析を行って、攻撃の上流のルータに攻撃対処を指示するまでに時間がかかった。更に、攻撃対処の指示を受けた上流のルータが、一定時間のモニタリングを行ってパケットを分析し、攻撃がどこから来たかを特定することにも時間がかかった。そのため、攻撃に対する防御が完了するまでには、かなりの時間を要していた。
【０００９】
又、送信元側で安全性確認、識別子付加を行う方法では、送信元側で安全性の確認及び識別子の付加が行われなかったＤｏＳ攻撃パケットがネットワークに到着した場合には、対応することができなかった。
【００１０】
そこで、本発明は、送信の制限に対する措置が行われていないパケットがネットワークに到着した場合であっても、迅速にその制限を行うことを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る通信システムは、送信を制限するパケット（以下「制限パケット」という）を特定する特定データを含む制限パケットに、その制限パケットであることを示す識別データを設定するようエッジルータに指示する制御手段と、制御手段の指示に従って、制限パケットに識別データを設定するエッジルータと、識別データが設定された制限パケットの送信を制限するルータとを備えることを特徴とする。エッジルータは、他のネットワークとの境界となるネットワークのエッジに位置するルータであり、他のネットワークとパケットを送受信する。
【００１２】
このような通信システムによれば、制御手段が制限パケットに識別データを設定するようエッジルータに指示し、エッジルータが指示に従って制限パケットに識別データを設定する。そして、ルータが、識別データが設定された制限パケットの送信を制限する。そのため、通信システムでは、上流に遡って制限パケットの制限を行う必要がなく、送信の制限に対する措置が行われていないパケットがネットワークに到着した場合であっても、迅速にその制限を行うことができる。更に、通信システムは、特定データを検出する検出手段を備えることが好ましい。これによれば、特定データが予め分かっていない場合にも対応できる。
【００１３】
本発明に係る監視装置は、制限パケットを特定する特定データを含む制限パケットに、制限パケットであることを示す識別データを設定するようエッジルータに指示する制御手段を備えることを特徴とする。このような監視装置によれば、制御手段が制限パケットに識別データを設定するようエッジルータに指示する。そのため、エッジルータは指示に従って、制限パケットに識別データを設定でき、ルータは識別データが設定された制限パケットの送信を制限できる。よって、このような監視装置を用いた場合には、上流に遡って制限パケットの制限を行う必要がなく、送信の制限に対する措置が行われていないパケットがネットワークに到着した場合であっても、素早くその制限を行うことができる。更に、監視装置は、特定データを検出する検出手段を備えることが好ましい。
【００１４】
しかも、監視装置が識別データの設定をエッジルータに指示したり、特定データを検出したりするため、エッジルータやルータが指示や検出を行う場合に比べて、エッジルータやルータの負荷を軽減できる。よって、エッジルータやルータは、パケットの送信に専念でき、制限パケットの制限をより迅速に行うことができる。
【００１５】
本発明に係るエッジルータは、制限パケットを特定する特定データを含む制限パケットに、制限パケットであることを示す識別データを設定する設定手段を備えることを特徴とする。このようなエッジルータによれば、設定手段が、制限パケットに識別データを設定できる。そのため、ルータが、識別データが設定された制限パケットの送信を制限できる。よって、このようなエッジルータを用いた場合には、上流に遡って制限パケットの制限を行う必要がなく、送信の制限に対する措置が行われていないパケットがネットワークに到着した場合であっても、迅速にその制限を行うことができる。
【００１６】
本発明に係る通信方法は、制限パケットを特定する特定データを含む制限パケットに、制限パケットであることを示す識別データを設定するようエッジルータに指示し、その指示に従って、エッジルータが制限パケットに識別データを設定し、識別データが設定された制限パケットの送信を制限することを特徴とする。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、送信の制限に対する措置が行われていないパケットがネットワークに到着した場合であっても、迅速にその制限を行うことができる。
【発明を実施するための最良の形態】
【００１８】
[第１の実施の形態]
〔通信システム〕
図１に示すように、通信システム１００はネットワーク１０内に設けられている。通信システム１００は、監視装置２０と、エッジルータ３０ａ〜３０ｇと、ルータ４０ａ〜４０ｃと、ホストコンピュータ５０ａ〜５０ｃとを備える。ネットワーク１０内において送信を制限したい制限パケットは、ホストコンピュータ５０ａ〜５０ｃに対してＤｏＳ攻撃やＤＤｏＳ攻撃を行う攻撃パケットである。攻撃パケットは、例えば、図１において実線の矢印で示されるように、ネットワーク１０以外のネットワークからエッジルータ３０ｃ，３０ｅ，３０ｆに到着し、エッジルータ３０ｃ，３０ｅ，３０ｆ、ルータ４０ｂ，４０ｃ、エッジルータ３０ａによって転送されことにより、ホストコンピュータ５０ａを攻撃する。
【００１９】
監視装置２０は、ネットワーク１０内のトラヒック量を監視し、ＤｏＳ攻撃やＤＤｏＳ攻撃を検出する。監視装置２０は、攻撃を検出すると、攻撃パケットに、制限パケットであることを示す識別データを設定するようエッジルータ３０ａ〜３０ｇに指示する。監視装置２０は、例えば、ネットワーク１０を監視するオペレーションセンタに設けられる。図２に示すように、監視装置２０は、インタフェース２１と、攻撃検出部２２と、パターン検出部２３と、制御部２４とを備える。
【００２０】
インタフェース２１は、エッジルータ３０ａ〜３０ｇ、ルータ４０ａ〜４０ｃとのインタフェースである。攻撃検出部２２は、ネットワーク１０内のトラヒック量を監視し、ＤｏＳ攻撃やＤＤｏＳ攻撃を検出する。攻撃検出部２２は、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃにおけるトラヒック量を収集する。攻撃検出部２２は、例えば、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃが備えるインタフェース毎のトラヒック量、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃのネットワーク１０内部側と接続するインタフェースのトラヒック量、又は、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃ全体のトラヒック量を収集する。又、攻撃検出部２２は、例えば、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃが送信するパケット、受信するパケット、又は、送信するパケット及び受信するパケットの両方についてトラヒック量を収集する。トラヒック量は、パケット数やバイト数を用いて表すことができる。
【００２１】
攻撃検出部２２は、ＳＮＭＰ（Simple  Network  Management  Protocol）などを用いて、定期的に又はランダムにトラヒック量を収集する。例えば、攻撃検出部２２は、インタフェース２１を介してget−requestを送信することにより、トラヒック量をエッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃに要求する。そして、攻撃検出部２２は、インタフェース２１を介してget−responseを受信することにより、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃからトラヒック量の提供を受ける。又、攻撃検出部２２は、インタフェース２１を介してtrapを受信することにより、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃからトラヒック量の提供を受ける。このようにして、攻撃検出部２２は、エッジルータ３０ａ〜３０ｇ、ルータ４０ａ〜４０ｃにおけるトラヒック量を収集する。
【００２２】
攻撃検出部２２は、収集したトラヒック量に基づいて、ＤｏＳ攻撃やＤＤｏＳ攻撃を検出する。攻撃検出部２２は、例えば、攻撃発生とみなすトラヒック量の閾値を定めておき、トラヒック量が閾値を超えると、ＤｏＳ攻撃やＤＤｏＳ攻撃が発生していると判断する。あるいは、攻撃検出部２２は、トラヒック量が増加し、ネットワーク１０内で輻輳が発生したことを検出すると、ＤｏＳ攻撃やＤＤｏＳ攻撃が発生していると判断してもよい。攻撃検出部２２は、攻撃を検出すると、パターン検出部２３に、制限パケットである攻撃パケットを特定する特定データの検出を指示する。
【００２３】
パターン検出部２３は、特定データを検出する検出手段である。パターン検出部２３は、攻撃パケットを特定する特定データとして、攻撃パターンを検出する。攻撃パターンは、攻撃パケットに共通に含まれている特定のビット列である。尚、特定データは、制限パケットを特定できればよく、制限パケットに含まれる特定のビット列以外に、制限パケットの送信元アドレスや宛先アドレスのようなヘッダのフィールドの値を用いることができる。
【００２４】
パターン検出部２３は、攻撃検出部２２から指示を受けると、インタフェース２１を介して、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃにパケットのサンプリングを要求する。パターン検出部２３は、インタフェース２１を介して、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃからサンプリングしたパケットを取得する。パターン検出部２３は、サンプリングしたパケットを分析し、複数のパケットに共通に含まれている攻撃パターンを検出する。パターン検出部２３は、検出した攻撃パターンを制御部２４に入力する。尚、パターン検出部２３は、分析の結果、サンプリングしたパケットから共通の攻撃パターンを検出できない場合には、トラヒック量の増加がＤｏＳ攻撃やＤＤｏＳ攻撃に起因するものではないと判断し、処理を終了する。
【００２５】
制御部２４は、制限パケットを特定する特定データを含む制限パケットに、制限パケットであることを示す識別データを設定するようエッジルータ３０ａ〜３０ｇに指示する制御手段である。以下、制限パケットに、識別データを設定することを「マーキング」という。制御部２４は、パターン検出部２３から攻撃パターンを取得すると、図１において点線の矢印で示されるように、ネットワーク１０内の全てのエッジルータ３０ａ〜３０ｇにマーキングを指示する。制御部２４は、インタフェース２１を介して、攻撃パターンをエッジルータ３０ａ〜３０ｇに転送し、攻撃パターンを含む攻撃パケットにマーキングするよう指示する。
【００２６】
制御部２４は、例えば、図３（ａ）に示すようなパケットの先頭からｎビットのビット列を、攻撃パターン１ａとしてエッジルータ３０ａ〜３０ｇに転送する。攻撃パターン１ａにおいて「０」、「１」が指定されている位置は、パケットの該当位置が「０」、「１」であることを示す。又、「＊」が指定されている位置は、パケットの該当位置が「０」であっても「１」であってもよいことを示す。
【００２７】
又、制御部２４は、攻撃パターンを、パターン値とマスクと呼ばれる２つのビット列の組み合わせで表現し、パターン値とマスクとの組み合わせを攻撃パターンとしてエッジルータ３０ａ〜３０ｇに転送してもよい。ＩＰプロトコルのＵＮＩＸ(登録商標）やルータの実装では、このようなパターン値とマスクの組み合わせを用いてビットパターンを表現することも多い。制御部２４は、例えば、図３（ｂ）に示すような攻撃パターン１ａを表すパターン値１ｂとマスク１ｃとの組み合わせを、エッジルータ３０ａ〜３０ｇに転送する。制御部２４は、攻撃パターン１ａの「１」の部分を、パターン値１ｂのパターン値ビットでは「１」、マスク１ｃのマスクビットでは「１」とする。制御部２４は、攻撃パターン１ａの「０」の部分を、パターン値１ｂのパターン値ビットでは「０」、マスク１ｃのマスクビットでは「１」とする。制御部２４は、攻撃パターン１ａの「＊」の部分を、パターン値１ｂのパターン値ビットでは「０」、マスク１ｃのマスクビットでは「０」とする。
【００２８】
尚、制御部２４は、特定データとして送信元アドレスや宛先アドレスのようなヘッダのフィールドの値を用いる場合には、フィールドの値を指定し、指定した値をフィールドに含む攻撃パケットにマーキングするようエッジルータ３０ａ〜３０ｇに指示する。このとき、ネットワーク１０内でＩＰトンネリングを行うことなどにより、ヘッダ形式がネットワーク１０内の場所によって異なる場合がある。そのため、その場合には、制御部２４は、各ヘッダ形式のフィールド毎に個別に値を指定する。
【００２９】
エッジルータ３０ｂ〜３０ｇは、ネットワーク１０以外の他のネットワークとの境界となるルータであり、ネットワーク１０のエッジに位置する。エッジルータ１０は、他のネットワークからのパケットのネットワーク１０への入口となり、ネットワーク１０から他のネットワークへのパケットの出口となる。エッジルータ３０ｂ〜３０ｇは、他のネットワークとパケットを送受信する。エッジルータ３０ａは、ホストコンピュータ５０ａ〜５０ｃとパケットを送受信する。エッジルータ３０ａ〜３０ｇは、トラヒック量を測定し、監視装置２０に提供する。又、エッジルータ３０ａ〜３０ｇは、パケットをサンプリングし、監視装置２０に提供する。更に、エッジルータ３０ａ〜３０ｇは、監視装置２０の指示に従って、制限パケットにマーキングを行う。又、エッジルータ３０ａ〜３０ｇは、マーキングされ、識別データが設定された制限パケットの送信を制限する。
【００３０】
図４に示すように、エッジルータ３０ｅは、インタフェース３１，３２と、監視部３３と、制御部３４と、バッファ３５とを備える。尚、エッジルータ３０ａ〜３０ｄ，３０ｆ，３０ｇも、エッジルータ３０ｅと同様の構成を備える。インタフェース３１は、ルータ４０ｂ，４０ｃや監視装置２０などのネットワーク１０内部側とのインタフェースである。インタフェース３２は、他のネットワークとのインタフェースである。
【００３１】
監視部３３は、トラヒック量を測定する。監視部３３は、例えば、インタフェース３１，３２毎のトラヒック量、ネットワーク１０内部側であるインタフェース３１のトラヒック量、又は、エッジルータ３０ｅ全体のトラヒック量を測定する。又、監視部３３は、例えば、インタフェース３１がルータ４０ｂ，４０ｃに送信するパケット、インタフェース３２が他のネットワークから受信するパケット、又は、インタフェース３１，３２が送信するパケット及び受信するパケットの両方について、パケット数やバイト数をカウントして、トラヒック量を測定する。監視部３３は、例えば、インタフェース３１を介して監視装置２０から、get−requestを受信することによりトラヒック量の要求を受ける。監視部３３は、インタフェース３１を介してget−responseを送信することにより、測定したトラヒック量を監視装置２０に提供する。又、監視部３３は、測定したトラヒック量が閾値を超えたときに、インタフェース３１を介してtrapを送信することにより、測定したトラヒック量を監視装置２０に提供してもよい。
【００３２】
更に、監視部３３は、監視装置２０からインタフェース３１を介して、パケットのサンプリングの要求を受ける。監視部３３は、例えば、インタフェース３１，３２毎、ネットワーク１０内部側であるインタフェース３２について、又は、エッジルータ３０ｅ全体について、パケットをサンプリングする。又、監視部３３は、例えば、インタフェース３１がルータ４０ａ〜４０ｃに送信するパケット、インタフェース３２が他のネットワークから受信するパケット、又は、インタフェース３１，３２が送信するパケット及び受信するパケットの両方をサンプリングする。監視部３３は、サンプリングしたパケットを、インタフェース３１を介して監視装置２０に提供する。尚、監視部３３は、定期的にパケットをサンプリングし、監視装置２０に提供してもよい。
【００３３】
制御部３４は、制限パケットに、制限パケットであることを示す識別データを設定する設定手段である。制御部３４は、インタフェース３１を介して監視装置２０から、攻撃パケットへのマーキングの指示を取得する。マーキングの指示には攻撃パターンが含まれる。制御部３４は、インタフェース３２が他のネットワークから受信した受信パケットを、インタフェース３２から取得する。制御部３４は、攻撃パターンとして、図３（ａ）に示すような攻撃パターン１ａのビット列を取得した場合には、受信パケットの先頭からｎビットのビット列と、攻撃パターン１ａとを比較して、パターンマッチングを行う。制御部３４は、受信パケットの先頭のビット列と攻撃パターン１ａとが一致する場合には、受信パケットが攻撃パターン１ａを含む攻撃パケットであると判断する。
【００３４】
又、制御部３４は、攻撃パターンとして、図３（ｂ）に示すようなパターン値１ｂとマスク１ｃとの組み合わせで表現された攻撃パターン１ａを取得した場合には、（１）式に示す演算を行うことにより、受信パケットと攻撃パターン１ａとの比較を行い、パターンマッチングを行う。
【００３５】
パケット  ＡＮＤ  マスク＝パターン値        （１）式
制御部３４は、受信パケットとマスク１ｃとを用いた演算の結果が、パターン値１ｂとなる場合には、受信パケットが攻撃パターン１ａを含む攻撃パケットであると判断する。尚、制御部３４は、特定データとして送信元アドレスや宛先アドレスのようなヘッダのフィールドの値を指定された場合には、受信パケットのヘッダのフィールドに指定した値が含まれるかを判断し、受信パケットが攻撃パケットであるか否かを判断する。
【００３６】
制御部３４は、受信パケットが攻撃パケットであると判断した場合には、受信パケットにマーキングを行う。制御部３４は、例えば、以下に示す第１〜第３の方法によりマーキングを行うことができる。
【００３７】
第１の方法は、ＲＦＣ（Request  For  Comment）２４７４で規定される６ビットのＤＳフィールドに識別データを設定する方法である。識別データは、制限パケットであることを示すデータであり、制限パケットであることを示す特定の値を用いることができる。ＤＳフィールドは、ＩＰｖ４のパケットでは、ＩＰヘッダの先頭から９ビット目〜１４ビット目であり、ＩＰｖ６のパケットでは、基本ヘッダの先頭から５ビット目〜１０ビット目である。ＤＳフィールドは、通常は、ＲＦＣ２４７５で規定されているＤｉｆｆＳｅｒｖに使用される。ＤＳフィールドの値は、各ネットワークで独自に定義でき、サービスクラスに応じて各ネットワークの入口で書き換えが行われる。ＤｉｆｆＳｅｒｖでは、ＤＳフィールドの値に応じてパケットの扱いを変える機能を提供している。そのため、第１の方法によりマーキングを行うと、マーキングされ、識別データが設定された制限パケットの送信の制限を容易に行うことができ、好ましい。以下、マーキングされた制限パケットを「マーキングパケット」という。
【００３８】
第２の方法は、ＩＰｖ４のＩＰヘッダのＩｄｅｎｔｉｆｉｃａｔｉｏｎフィールドに識別データを設定する方法である。Ｉｄｅｎｔｉｆｉｃａｔｉｏｎフィールドには、パケットが分割されたときに、各分割パケットに共通する値が設定される。そして、Ｉｄｅｎｔｉｆｉｃａｔｉｏｎフィールドは、分割パケットの組み立ての際に、分割パケットを探し出すために使用される。分割パケットやＲＦＣ２４０２で規定されているＡＨヘッダを使用しているパケットのＩｄｅｎｔｉｆｉｃａｔｉｏｎフィールドの値が転送の途中で変更されると、正常に転送されなくなってしまうが、それ以外の場合には問題がない。又、このフィールドはほとんど使用されていない。そのため、制限パケットが分割パケットではなく、ＡＨヘッダも使用していない場合には、第２の方法によりマーキングを行うことができる。第３の方法は、ＩＰｖ６の基本ヘッダのフローラベルフィールドに識別データを設定する方法である。
【００３９】
第２の方法、第３の方法では、送信側でパケットに設定した値が、偶然、識別データの値と一致する可能性がある。しかし、Ｉｄｅｎｔｉｆｉｃａｔｉｏｎフィールドは１６ビット、フローラベルフィールドは２０ビットであり、偶然一致する可能性はそれぞれ０．００１５％、０．００００１％と極めて小さい。更に、第２の方法を使用した場合に、マーキングパケットであるとして送信の制限を受け、破棄されたとしても、送信側がパケットの破棄を検出し、再送を行う。Ｉｄｅｎｔｉｆｉｃａｔｉｏｎフィールドは、パケットの送信毎に変更されるため、再送パケットのＩｄｅｎｔｉｆｉｃａｔｉｏｎフィールドは、識別データと異なり、マーキングパケットとして扱われない。又、第３の方法を使用した場合も、マーキングパケットであるとして送信の制限を受け、破棄されると、一定時間を経過してもパケットが送信先に到達できないため、送信側ではコネクションの維持を断念する。送信側は同じコネクションでは同じフローラベルフィールドの値を使用するが、コネクションの維持を断念した後、再度コネクションを確立する際には異なるフローラベルフィールドの値を使用する。そのため、新たに確立されたコネクションではフローラベルフィールドの値が異なり、マーキングパケットとして扱われない。以上のことから、第２の方法、第３の方法によれば、制限パケット以外のパケットにほとんど影響を与えずにマーキングを行うことができる。
【００４０】
制御部３４は、識別データが設定された制限パケット、即ち、マーキングパケットの送信の制限を行う送信制御手段としても機能する。マーキングパケットの送信の制限には、例えば、送信の優先度をマーキングパケット以外のパケットよりも低くする、マーキングパケットを送信する総量を規制するといった方法がある。総量を規制する場合、例えば、単位時間当たりに送信するマーキングパケットの上限値を定め、上限値以下になるようにマーキングパケットを送信する量を規制する。例えば、制御部３４は、マーキングパケットをバッファ３５に格納し、マーキングパケット以外のパケットを優先して送信した後に、マーキングパケットをバッファ３５から取り出して送信する。又、制御部３４は、マーキングパケットの送信量が上限値に達した場合、マーキングパケットを破棄する。制御部３４は、マーキングパケットの送信を制限するよう予め設定しておく。尚、制御部３４は、パケットのＤＳフィールドやＩｄｅｎｔｉｆｉｃａｔｉｏｎフィールド、フローラベルフィールドを参照することにより、マーキングパケットであるか否かを判断できる。
【００４１】
ルータ４０ａ〜４０ｃは、トラヒック量を測定し、監視装置２０に提供する。又、ルータ４０ａ〜４０ｃは、パケットをサンプリングし、監視装置２０に提供する。更に、ルータ４０ａ〜３０ｃは、識別データが設定された制限パケット、即ち、マーキングパケットの送信を制限する。ルータ４０ａ〜４０ｃは、図４に示したエッジルータ３０ｅと同様の構成を備える。そして、制御部が、マーキングを行わない以外は、ルータ４０ａ〜４０ｃは、エッジルータ３０ｅと同様の処理を行う。尚、ルータ４０ａ〜４０ｃは、インタフェースが他のルータ４０ａ〜４０ｃやエッジルータ３０ａ〜３０ｇに送信するパケット、他のルータ４０ａ〜４０ｃやエッジルータ３０ａ〜３０ｇから受信するパケット、又は、送信するパケット及び受信するパケットの両方について、トラヒック量を測定したり、サンプリングしたりする。又、ルータ４０ａ〜４０ｃでも、マーキングパケットの送信を制限するよう予め設定しておく。
【００４２】
〔通信方法〕
次に、通信システム１００を用いた通信方法を図５を用いて説明する。図５では、図１に示すように、攻撃パケットが、ネットワーク１０以外のネットワークからエッジルータ３０ｅに到着し、ルータ４０ｂ、エッジルータ３０ａによって転送されることにより行われるホストコンピュータ５０ａへの攻撃を抑制する通信方法を例にとって説明する。説明を簡単にするために、複数あるエッジルータ及びルータについては、エッジルータ３０ａ，３０ｅ、ルータ４０ｂ以外の説明を省略する。
【００４３】
まず、エッジルータ３０ｅ、ルータ４０ｂ、エッジルータ３０ａは、トラヒック量を測定して監視装置２０に提供するように設定しておく（Ｓ１０１）〜（Ｓ１０３）。これにより、エッジルータ３０ｅ、ルータ４０ｂ、エッジルータ３０ａは、トラヒック量の測定を開始する。更に、エッジルータ３０ｅ、ルータ４０ｂ、エッジルータ３０ａは、マーキングパケットの送信を制限するように設定しておく（Ｓ１０４）〜（Ｓ１０６）。監視装置２０は、例えば、エッジルータ３０ａにトラヒック量を要求する（Ｓ１０７）。要求を受けたエッジルータ３０ａは、測定したトラヒック量を監視装置２０に提供する（Ｓ１０８）。このようにして、監視装置２０はトラヒック量を収集する。
【００４４】
攻撃パケットがネットワーク１０以外のネットワークからエッジルータ３０ｅに到着し、エッジルータ３０ａ、ルータ４０ｂ、エッジルータ３０ａによって転送されることにより、ホストコンピュータ５０ａに攻撃パケットが大量に送り込まれる（Ｓ１０９）。攻撃発生の後、監視装置２０が、エッジルータ３０ａにトラヒック量を要求して（Ｓ１１０）、エッジルータ３０ａが測定したトラヒック量を監視装置２０に提供する（Ｓ１１１）と、監視装置２０は、収集したトラヒック量からＤｏＳ攻撃やＤＤｏＳ攻撃のような攻撃を検出する（Ｓ１１２）。
【００４５】
攻撃を検出した監視装置２０は、エッジルータ３０ａにパケットのサンプリングを要求する（Ｓ１１３）。要求を受けたエッジルータ３０ａは、パケットをサンプリングし、サンプリングしたパケットを監視装置２０に提供する（Ｓ１１４）。監視装置２０は、サンプリングしたパケットを分析し、攻撃パターンを検出する（Ｓ１１５）。そして、監視装置２０は、検出した攻撃パターンをエッジルータ３０ａ，３０ｅに転送し、攻撃パターンを含む攻撃パケットにマーキングするよう指示する（Ｓ１１６）、（Ｓ１１７）。
【００４６】
マーキングの指示を受けたエッジルータ３０ａ，３０ｅは、他のネットワークから受信した受信パケットと攻撃パターンとを比較し、攻撃パケットであると判断した受信パケットにマーキングを行う（Ｓ１１８）、（Ｓ１１９）。そして、エッジルータ３０ｅ、ルータ４０ｂ、エッジルータ３０ａは、マーキングパケットの送信の優先度をマーキングパケット以外のパケットよりも低くしたり、マーキングパケットを送信する総量を規制したりすることにより、マーキングパケットの送信を制限する（Ｓ１２０）。
【００４７】
〔効果〕
このような通信システム１００、監視装置２０、エッジルータ３０ａ〜３０ｇ、ルータ４０ａ〜４０ｃ及び通信方法によれば、監視装置２０の制御部２４が、制限パケットである攻撃パケットにマーキングを行うようエッジルータ３０ａ〜３０ｇに指示する。エッジルータ３０ａ〜３０ｇは、指示に従って、攻撃パケットに識別データを設定してマーキングを行う。そして、エッジルータ３０ａ〜３０ｇ及びルータ４０ａ〜４０ｃがマーキングパケットの送信を制限する。そのため、通信システム１００では、上流に遡って攻撃パケットの制限を行う必要がなく、送信の制限に対する措置が行われていない攻撃パケットがネットワーク１０に到着した場合であっても、迅速にその制限を行うことができる。よって、ＤｏＳ攻撃やＤＤｏＳ攻撃を迅速に抑制することができる。特に、通信システム１００では、ルータ４０ａ〜４０ｃだけでなく、エッジルータ３０ａ〜３０ｇもマーキングパケットの送信を制限するため、より迅速に攻撃パケットを制限して、より迅速に攻撃を抑制できる。
【００４８】
更に、監視装置２０のパターン検出部２３が、攻撃パターンのような特定データを検出する。そのため、特定データが分かっていない場合にも対応できる。特に、特定データとして攻撃パターンを用いる場合には、送信元アドレスの詐称の有無に関わらず、ＤｏＳ攻撃やＤＤｏＳ攻撃を抑制することができる。
【００４９】
加えて、通信システム１００では、監視装置２０がマーキングをエッジルータ３０ａ〜３０ｇに指示したり、特定データを検出したりするため、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃが指示や検出を行う場合に比べて、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃの負荷を軽減できる。よって、エッジルータ３０ａ〜３０ｇやルータ４０ａ〜４０ｃは、パケットの送信に専念でき、攻撃パケットの制限をより迅速に行うことができる。
【００５０】
［第２の実施の形態］
〔通信システム〕
図６に示すように、通信システム２００は、ネットワーク２１０内に設けられている。通信システム２００は、監視装置２２０と、エッジルータ２３０ａ〜２３０ｄと、ルータ４０ａ，４０ｂと、ホストコンピュータ５０ａ〜５０ｃとを備える。ルータ４０ａ，４０ｂと、ホストコンピュータ５０ａ〜５０ｃは、図１に示したルータ４０ａ，４０ｂ、ホストコンピュータ５０ａ〜５０ｃと同様である。ネットワーク２１０内において送信を制限したい制限パケットは、ホストコンピュータ５０ａ〜５０ｃに対してＤｏＳ攻撃やＤＤｏＳ攻撃を行う攻撃パケットである。攻撃パケットは、例えば、図６において実線の矢印で示されるように、ネットワーク２１０以外のネットワークからエッジルータ２３０ｂ，２３０ｃに到着し、エッジルータ２３０ｂ，２３０ｃ、ルータ４０ｂ、エッジルータ２３０ａによって転送されことにより、ホストコンピュータ５０ａを攻撃する。
【００５１】
通信システム２００では、エッジルータ２３０ａ〜２３０ｄが、ＤｏＳ攻撃やＤＤｏＳ攻撃のような攻撃を検出し、攻撃パターンのような特定データを検出する。例えば、エッジルータ２３０ａが特定データを検出した場合、エッジルータ２３０ａは、図６において一点鎖線で示されるように、検出した特定データを監視装置２２０に転送する。監視装置２２０は、エッジルータ２３０ａから特定データを取得すると、図６において点線で示されるように、特定データを転送してきたエッジルータ２３０ａを除くネットワーク２１０内の全てのエッジルータ２３０ｂ〜２３０ｄに、攻撃パケットにマーキングするよう指示する。
【００５２】
エッジルータ２３０ａ〜２３０ｄは、トラヒック量を測定し、測定したトラヒック量に基づいて攻撃を検出する。又、エッジルータ２３０ａ〜２３０ｄは、パケットをサンプリングし、サンプリングしたパケットに基づいて特定データを検出する。これらの点以外は、エッジルータ２３０ａ〜２３０ｄは、図１に示したエッジルータ３０ａ〜３０ｇと同様である。
【００５３】
図７に示すように、エッジルータ２３０ａは、インタフェース２３１，２３２と、監視部２３３と、制御部２３４と、バッファ２３５と、攻撃検出部２３６と、パターン検出部２３７とを備える。尚、エッジルータ２３０ｂ〜２３０ｄも、エッジルータ２３０ａとほぼ同様の構成を備える。インタフェース２３１は、ホストコンピュータ５０ａ〜５０ｃとのインタフェースである。インタフェース２３２は、ルータ４０ａ，４０ｂや監視装置２２０とのインタフェースである。尚、エッジルータ２３０ｂ〜２３０ｄでは、一方のインタフェースがルータ４０ａ，４０ｂや監視装置２２０などのネットワーク１０内部側とのインタフェースであり、他方のインタフェースが、他のネットワークとのインタフェースである。
【００５４】
監視部２３３は、図４に示した監視部３３と同様にしてトラヒック量を測定し、トラヒック量を攻撃検出部２３６に入力する。攻撃検出部２３６は、監視部２３３が測定するトラヒック量を監視し、ＤｏＳ攻撃やＤＤｏＳ攻撃を検出する。攻撃検出部２３６は、監視部２３３からトラヒック量を取得し、図２に示した攻撃検出部２２と同様にして攻撃を検出する。攻撃検出部２３６は、攻撃を検出すると、パターン検出部２３７に特定データの検出を指示する。
【００５５】
パターン検出部２３７は、攻撃検出部２３６から指示を受けると、パケットをサンプリングする。パターン検出部２３７は、図２に示したパターン検出部２３と同様にして、サンプリングしたパケットを分析し、攻撃パターンのような特定データを検出する。パターン検出部２３７は、検出した特定データをインタフェース２３２を介して監視装置２２０に転送する。又、パターン検出部２３７は、検出した特定データを制御部２３４に入力する。
【００５６】
制御部２３４は、図４に示した制御部３４と同様にして、攻撃パケットに対するマーキングや、マーキングパケットの送信の制限を行う。尚、制御部２３４は、パターン分析部２３７が特定データを検出した場合には、パターン分析部２３７から特定データを取得し、マーキングを行う。バッファ２３５は、図４に示したバッファ３５と同様である。
【００５７】
監視装置２２０は、図２に示したインタフェースと、制御部とを備える。そして、制御部が、インタフェースを介して、エッジルータ２３０ａ〜２３０ｄから特定データを取得する。制御部は、取得した特定データを用いて、制御部２４と同様にして、エッジルータ２３０ａ〜２３０ｄにマーキングを指示する。
【００５８】
〔通信方法〕
次に、通信システム２００を用いた通信方法を図８を用いて説明する。図８では、図６に示すように、攻撃パケットがネットワーク２１０以外のネットワークからエッジルータ２３０ｂに到着し、エッジルータ２３０ｂ、ルータ４０ｂ、エッジルータ２３０ａによって転送されることにより行われるホストコンピュータ５０ａへの攻撃を抑制する通信方法を例にとって説明する。説明を簡単にするために、複数あるエッジルータ及びルータについては、エッジルータ２３０ａ，２３０ｂ、ルータ４０ｂ以外の説明を省略する。
【００５９】
まず、エッジルータ２３０ａは、トラヒック量を測定して監視するように設定しておく（Ｓ２０１）。これにより、エッジルータ２３０ａはトラヒック量の測定を開始する。このように、ネットワーク２１０に存在する複数のエッジルータやルータのうち、一部のエッジルータやルータがトラヒック量を測定するようにしてもよい。更に、エッジルータ２３０ｂ、ルータ４０ｂ、エッジルータ２３０ａは、マーキングパケットの送信を制限するように設定しておく（Ｓ２０２）〜（Ｓ２０４）。
【００６０】
攻撃パケットがネットワーク２１０以外のネットワークからエッジルータ２３０ｂに到着し、エッジルータ２３０ｂ、ルータ４０ｂ、エッジルータ２３０ａによって転送されることにより、ホストコンピュータ５０ａに攻撃パケットが大量に送り込まれる（Ｓ２０５）。トラヒック量を測定しているエッジルータ２３０ａは、攻撃発生により変化したトラヒック量から、ＤｏＳ攻撃やＤＤｏＳ攻撃のような攻撃を検出する（Ｓ２０６）。
【００６１】
攻撃を検出したエッジルータ２３０ａは、パケットをサンプリングし、サンプリングしたパケットを分析して、攻撃パターンを検出する（Ｓ２０７）。エッジルータ２３０ａは、検出した攻撃パターンを監視装置２２０に転送する（Ｓ２０８）。更に、エッジルータ２３０ａは、他のネットワークから受信した受信パケットと攻撃パターンとを比較し、攻撃パケットであると判断した受信パケットへのマーキングを開始する（Ｓ２０９）。これにより、既にエッジルータ２３０ａまで転送されてきている攻撃パケットについても送信を制限し、攻撃を抑制することができる。
【００６２】
監視装置２２０は、取得した攻撃パターンをエッジルータ２３０ｂに転送し、攻撃パケットにマーキングするよう指示する（Ｓ２１０）。マーキングの指示を受けたエッジルータ２３０ｂは、受信パケットと攻撃パターンとを比較し、攻撃パケットであると判断した受信パケットにマーキングを行う（Ｓ２１１）。そして、エッジルータ２３０ｂ、ルータ４０ｂ、エッジルータ２３０ａは、マーキングパケットの送信を制限する（Ｓ２１２）。
【００６３】
〔効果〕
このような通信システム２００、監視装置２２０、エッジルータ２３０ａ〜２３０ｄ、ルータ４０ａ，４０ｂ及び通信方法によれば、第１の実施の形態とほぼ同様の効果を得ることができる。
【００６４】
尚、本発明は、上記実施の形態に限定されるものではなく、種々の変更が可能である。例えば、図６において特定データを検出したエッジルータ２３０ａは、監視装置２２０に特定データを転送せずに、他のエッジルータ２３０ｂ〜２３０ｄにマーキングを指示するようにしてもよい。この場合、図７に示した制御部２３４が、図２に示した制御部２４と同様にしてマーキングを指示する。このように監視装置２２０を経由せずにエッジルータ２３０ａ〜２３０ｄが特定データを検出し、お互いにマーキングを指示することができる。この場合、監視装置２２０は省略することができる。同様に、ルータ４０ａ〜４０ｃが、攻撃の検出、特定データの検出、マーキングの指示を行ってもよい。又、制限パケットは攻撃パケットに限られず、ＱｏＳ制御などにおいて送信を制限したいパケットに対しても本発明を適用できる。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施の形態に係る通信システムの構成を示す図である。
【図２】本発明の第１の実施の形態に係る監視装置の構成を示すブロック図である。
【図３】本発明の第１の実施の形態に係る攻撃パターンを示す図である。
【図４】本発明の第１の実施の形態に係るエッジルータの構成を示すブロック図である。
【図５】本発明の第１の実施の形態に係る通信方法の手順を示すフロー図である。
【図６】本発明の第２の実施の形態に係る通信システムの構成を示す図である。
【図７】本発明の第２の実施の形態に係るエッジルータの構成を示すブロック図である。
【図８】本発明の第２の実施の形態に係る通信方法の手順を示すフロー図である。
【符号の説明】
【００６６】
１００，２００  通信システム
１０，２１０  ネットワーク
２０，２２０  監視装置
２１，３１，３２，２３１，２３２  インタフェース
２２，２３６  攻撃検出部
２３，２３７  パターン検出部
２４，３４，２３４  制御部
３０ａ〜３０ｇ，２３０ａ〜２３０ｄ  エッジルータ
３３，２３３  監視部
３５，２３５  バッファ
４０ａ〜４０ｃ  ルータ
５０ａ〜５０ｃ  ホストコンピュータ
【図１】
2005151341.tif 000003
【図２】
2005151341.tif 000004
【図３】
2005151341.tif 000005
【図４】
2005151341.tif 000006
【図５】
2005151341.tif 000007
【図６】
2005151341.tif 000008
【図７】
2005151341.tif 000009
【図８】
2005151341.tif 000010