(57)【特許請求の範囲】
【請求項１】
特定クライアントから送信されたＳＹＮパケット及びＡＣＫパケットの合計個数を計数する第１のカウンタと、
前記特定クライアント宛に送信されたＳＹＮ−ＡＣＫパケットの個数を計数する第２のカウンタと、
前記第１及び第２のカウンタの各カウンタ値の比と、ネットワーク攻撃か否かを判定するための複数の判定方法にそれぞれ対応付けられた第１閾値及び該第１閾値より小さい第２閾値と、の比較結果に基づいて、ＳＹＮパケットとＡＣＫパケットの合計個数に対するＳＹＮ−ＡＣＫパケットの個数の比が前記第１閾値より大きい場合に、前記特定クライアントによるＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出し、ＳＹＮパケットとＡＣＫパケットの合計個数に対するＳＹＮ−ＡＣＫパケットの個数の比が前記第２閾値より小さい場合に、前記特定クライアントによるＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出する検出手段と、
を備えたことを特徴とするネットワーク攻撃検出装置。
【請求項２】
前記第１及び第２のカウンタは、パケット長によって制御パケットを識別することを特徴とする請求項１に記載のネットワーク攻撃検出装置。
【請求項３】
請求項１又は請求項２のいずれか１項に記載のネットワーク攻撃検出装置と、
ネットワーク攻撃が検出された特定のクライアントが送信元である制御パケットの帯域制限を行う帯域制限部と、
を備えたことを特徴とする防御装置。
【請求項４】
前記帯域制限対象は、ＴＣＰに係るＳＹＮパケットであることを特徴とする請求項３に記載の防御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク攻撃検出装置及び防御装置に関する。
【背景技術】
【０００２】
近年、インターネット上のサーバが提供するサービスを妨害するネットワーク攻撃が問題となっている。このネットワーク攻撃としては、例えば、悪意のある攻撃者がサーバの機能を麻痺させようとして大量のパケットを送信するＤＤｏＳ（Ｄｉｓｔｒｉｂｕｔｅｄ Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃がある。
【０００３】
図７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏl）の正常な接続確立手順を示すシーケンス図である。
ＴＣＰにおける正常な接続確立は以下に示す３ウェイハンドシェイクにより行われる。まず、クライアント２２がサーバ２３にアクセスする際に、クライアント２２は、サーバ２３へＳＹＮパケットを送信する。次に、サーバ２３は、クライアント２２へ受信したＳＹＮパケットに対する受信確認であるＳＹＮ−ＡＣＫパケットを返送する。最後に、ＳＹＮ−ＡＣＫパケットを受信したクライアントは、サーバ２３へＡＣＫパケットを送信する。これにより、クライアント２２とサーバ２３とは通信可能な状態となる。
【０００４】
図８は、ＤＤｏＳ攻撃の１つであるＳＹＮ  Ｆｌｏｏｄ攻撃の概要を示すシーケンス図である。
ＳＹＮ  Ｆｌｏｏｄ攻撃は、上記３ウェイハンドシェイクを悪用した攻撃である。悪意のあるクライアント２２は、サーバ２３へ送信元を詐称した多数のＳＹＮパケットを送信する。そのＳＹＮパケットを受信したサーバ２３は、ＳＹＮパケットを送信したクライアント２２ではなく、詐称された送信元に対してＳＹＮ−ＡＣＫパケットを送信する。しかし、当該送信元は詐称されたものであるため、送信元からはＡＣＫパケットがサーバ２３へ返送されることはない。やがて、サーバ２３ではＴＣＰ接続確立の要求数が許容量を超えて、ＴＣＰ接続確立の要求を受け付けることができなくなってしまう。このため、サーバ２３は、ＳＹＮパケットの応答としてこれ以上接続ができない事を示すＲＳＴパケットをＳＹＮパケットの送信元に送信する。このため、一般ユーザからのサーバ２３へのアクセスが妨害されてしまう。
【０００５】
図９は、図８で示した攻撃以外の攻撃パターンの概要を示すシーケンス図である。
この攻撃パターンでは、悪意のあるクライアント２２は、サーバ２３へＳＹＮパケットを送信するが、そのＳＹＮパケットに対するＳＹＮ−ＡＣＫパケットを受信しても、サーバ２３へＡＣＫパケットを返送しない。そのため、クライアント２２が大量にＳＹＮパケットを送信すると、やがて、サーバ２３ではＴＣＰ接続確立の要求数が許容量を超えて、ＴＣＰ接続確立の要求を受け付けることができなくなってしまう。
【０００６】
このような攻撃に対する従来の防御方法には、正常トラフィックの到着レート変動が正規分布によりモデル化できることを利用して、攻撃トラフィックを検出する方法（例えば、非特許文献１参照）や、トラフィックの統計的性質を利用し、Ｗａｖｅｌｅｔ変換を応用した攻撃トラフィック検出方法（例えば、非特許文献２参照）が提案されている。
また、特許文献１に記載された防御装置では、攻撃可能性のあるクライアントからのＳＹＮパケットを一旦防御装置に蓄積し、ＳＹＮパケットの送信元アドレス（クライアント）の存在を確認したうえで当該ＳＹＮパケットを宛先アドレス（サーバ）に送信する。また、特許文献２に記載された防御装置は、単位時間あたりの上り方向のパケット数と下り方向のパケット数の統計情報から攻撃を検知する。
【特許文献１】特開２００５−１２４０５５号公報
【特許文献２】特開２００７−１６６１５４号公報
【非特許文献１】大木裕一他、「観測トラヒックの統計的性質を利用したDDoS Attackの検出方法」信学技報IN2003-201、pp23-28、2004
【非特許文献２】P. Shinde, et al., “Early DoS Attack Detection using Smoothened Time-Series and Wavelet Analysis,” IEEE 3rd International Symposium on Information Assurance and Security, 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１、非特許文献２及び特許文献２に記載された技術では、通信トラヒックの統計的性質を計算する必要があるため、防御装置の処理が複雑になってしまう、という問題がある。また、特許文献１に記載された技術では、クライアントの存在をＳＹＮ−ＡＣＫパケットを送信することにより確認してから通信を開始するため、攻撃者ではない一般ユーザの通信開始に遅延増をもたらしてしまう、また、防御装置の構成が複雑になってしまう、という問題がある。
本発明は上記の点に鑑みてなされたものであり、その目的は、簡易な構成でネットワーク攻撃の検出を可能とし、かつ、通信開始までの遅延時間の増加を回避するネットワーク攻撃検出装置及び防御装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、特定クライアントから送信された制御パケットの個数を計数する第１のカウンタと、前記特定クライアント宛に送信された制御パケットの個数を計数する第２のカウンタと、前記第１及び第２のカウンタの各カウンタ値の比に基づいて、前記特定クライアントによるネットワーク攻撃を検出する検出手段と、を備えたことを特徴とするネットワーク攻撃検出装置である。
【０００９】
また、本発明の一態様は、上記のネットワーク攻撃検出装置において、前記第１及び第２のカウンタは、パケット長によって制御パケットを識別することを特徴とする。
【００１０】
また、本発明の一態様は、上記のネットワーク攻撃検出装置において、前記第１のカウンタは、ＳＹＮパケットとＡＣＫパケットの合計個数を計数し、前記第２のカウンタは、ＳＹＮ−ＡＣＫパケットの個数を計数し、前記検出手段は、ＳＹＮパケットとＡＣＫパケットの合計個数に対するＳＹＮ−ＡＣＫパケットの個数の比が所定の値より小さい場合にＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出することを特徴とする。
【００１１】
また、本発明の一態様は、上記のネットワーク攻撃検出装置において、前記第１のカウンタは、ＳＹＮパケットの個数を計数し、前記第２のカウンタは、ＳＹＮ−ＡＣＫパケットの個数を計数し、前記検出手段は、ＳＹＮパケットの個数に対するＳＹＮ−ＡＣＫパケットの個数の比が所定の値より小さい場合にＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出することを特徴とする。
【００１２】
また、本発明の一態様は、上記のネットワーク攻撃検出装置において、前記第１のカウンタは、ＳＹＮパケットの個数とＡＣＫパケットの個数を計数し、前記検出手段は、ＳＹＮパケットの個数に対するＡＣＫパケットの個数の比が所定の値より小さい場合にＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出することを特徴とする。
【００１３】
また、本発明の一態様は、上記のネットワーク攻撃検出装置において、前記第１のカウンタは、ＳＹＮパケットとＡＣＫパケットの合計個数を計数し、前記第２のカウンタは、ＳＹＮ−ＡＣＫパケットの個数を計数し、前記検出手段は、ＳＹＮパケットとＡＣＫパケットの合計個数に対するＳＹＮ−ＡＣＫパケットの個数の比が所定の値より大きい場合にＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出することを特徴とする。
【００１４】
また、本発明の一態様は、上記のネットワーク攻撃検出装置において、前記第１のカウンタは、ＡＣＫパケット個数を計数し、前記第２のカウンタは、ＳＹＮ−ＡＣＫパケットの個数を計数し、前記検出手段は、ＳＹＮ−ＡＣＫパケットの個数に対するＡＣＫパケットの個数の比が所定の値より小さい場合にＴＣＰに係る「ＳＹＮ  Ｆｌｏｏｄ攻撃」を検出することを特徴とする。
【００１５】
また、本発明の一態様は、上記のネットワーク攻撃検出装置と、ネットワーク攻撃が検出された特定のクライアントが送信元である制御パケットの帯域制限を行う帯域制限部と、を備えたことを特徴とする防御装置である。
【００１６】
また、本発明の一態様は、上記の防御装置において、前記帯域制限対象は、ＴＣＰに係るＳＹＮパケットであることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、特定クライアントから送信された制御パケットの個数と特定クライアント宛に送信された制御パケットの個数の比に基づいてネットワーク攻撃を検出するので、複雑な処理が必要なくなる。これにより、簡易な構成でネットワーク攻撃の検出が可能となる。また、クライアントを確認する必要がないので、通信開始までの遅延時間の増加を回避することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の実施形態による防衛装置１の配置位置を示す概略図である。
この図に示すように、クライアント２とサーバ３は、ネットワークを介して接続される。防御装置１は、クライアント２とネットワークの間に設けられる。この防御装置１は、例えば、通信事業者の局舎内に設けられ、クライアント２と加入者線（光ケーブル等）で１対１に接続されている。クライアント２と１対１で接続されることにより、防御装置１は、特定のクライアント２からのパケットのみ制限することができる。防御装置１は、ネットワークを介してサーバ３へ、クライアント２から受信したパケットを送信する。また、防御装置１は、ネットワークを介してサーバ３から受信したパケットをクライアント２へ送信する。
【００１９】
サーバ３は、防御対象となるサーバ装置である。クライアント２は、パーソナルコンピュータなどのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏl）に準拠した通信を行うことができる装置である。
【００２０】
なお、図１においては、クライアント２及びサーバ３を１台ずつ示しているが、複数台存在しても構わない。以下では、クライアント２からサーバ３へ向かう方向を「上り方向」、サーバ３からクライアント２へ向かう方向を「下り方向」として説明する。
【００２１】
本実施形態では、ＴＣＰに係るＳＹＮ  Ｆｌｏｏｄ攻撃を防御する。まず、本発明の原理を説明する。ＴＣＰにおける正常な接続確立手順では、図７のように、ＳＹＮパケット数：ＳＹＮ−ＡＣＫパケット数：ＡＣＫパケット数の比は、１：１：１になる。一方、図８の攻撃パターンでは、上り方向のＳＹＮパケットが多いのに比して、下り方向のＳＹＮ−ＡＣＫパケットは少なくなる。また、上り方向のＡＣＫパケットも少ない。この知見に基づき、いくつかのＳＹＮ  Ｆｌｏｏｄ攻撃の判定方法を着想した。以下では、上り方向のＳＹＮパケット数と下り方向のＳＹＮ−ＡＣＫパケット数の比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。又は、上り方向のＳＹＮパケット数と上り方向のＡＣＫパケット数の比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。
【００２２】
（判定方法１）この判定方法では、上り方向のＳＹＮパケットとＡＣＫパケットの合計数Ａと下り方向のＳＹＮ−ＡＣＫパケット数Ｂの比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。ＴＣＰにおける正常な接続確立手順では、ＳＹＮ−ＡＣＫパケット数Ｂの合計数Ａに対する比（Ｂ／Ａ）は０．５となり、極端に小さな値にはならない。一方、図８の攻撃パターンでは、Ｂ／Ａは小さな値になる。この場合の判定条件は、Ｂ／Ａが所定の閾値より小さくなる場合にＳＹＮ  Ｆｌｏｏｄ攻撃と判定する。所定の閾値は０．５より小さい値である。
【００２３】
（判定方法２）この判定方法では、上り方向のＳＹＮパケット数Ｃと下り方向のＳＹＮ−ＡＣＫパケット数Ｂの比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。ＴＣＰにおける正常な接続確立手順では、ＳＹＮ−ＡＣＫパケット数ＢのＳＹＮパケット数Ｃに対する比（Ｂ／Ｃ）は１となり、極端に小さな値にはならない。一方、図８の攻撃パターンでは、Ｂ／Ｃは小さな値になる。この場合の判定条件は、Ｂ／Ｃが所定の閾値より小さくなる場合にＳＹＮ  Ｆｌｏｏｄ攻撃と判定する。所定の閾値は１より小さい値である。
【００２４】
（判定方法３）この判定方法では、上り方向のＳＹＮパケット数Ｃと上り方向のＡＣＫパケット数Ｄの比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。ＴＣＰにおける正常な接続確立手順では、ＡＣＫパケット数ＤのＳＹＮパケット数Ｃに対する比（Ｄ／Ｃ）は１となり、極端に小さな値にはならない。一方、図８の攻撃パターンでは、Ｄ／Ｃは小さな値になる。この場合の判定条件は、Ｄ／Ｃが所定の閾値より小さくなる場合にＳＹＮ  Ｆｌｏｏｄ攻撃と判定する。所定の閾値は１より小さい値である。
【００２５】
図９のＡＣＫパケットを送信しない攻撃パターンでは、上り方向のＳＹＮパケットが多いが、上り方向のＡＣＫパケットは少ない。この知見に基づき、以下の方法でＳＹＮ  Ｆｌｏｏｄ攻撃を判定できる。
【００２６】
（判定方法４）この判定方法では、上り方向のＳＹＮパケット及びＡＣＫパケットの合計数Ａと下り方向のＳＹＮ−ＡＣＫパケット数Ｂの比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。図９の攻撃パターンでは、ＳＹＮ−ＡＣＫパケット数Ｂの合計数Ａに対する比（Ｂ／Ａ）は１となる。この場合の判定条件は、Ｂ／Ａが所定の閾値より大きくなる場合にＳＹＮ  Ｆｌｏｏｄ攻撃と判定する。所定の閾値は０．５より大きい値である。
【００２７】
（判定方法５）この判定方法では、上り方向のＡＣＫパケット数Ｄと下り方向のＳＹＮ−ＡＣＫパケット数Ｂの比からＳＹＮ  Ｆｌｏｏｄ攻撃を判定する。ＴＣＰにおける正常な接続確立手順では、ＡＣＫパケット数ＤのＳＹＮ−ＡＣＫパケット数Ｂに対する比（Ｄ／Ｂ）は１となり、極端に小さな値にはならない。一方、図９の攻撃パターンでは、Ｄ／Ｂは小さな値になる。この場合の判定条件は、Ｄ／Ｂが所定の閾値より小さくなる場合にＳＹＮ  Ｆｌｏｏｄ攻撃と判定する。所定の閾値は１より小さい値である。
また、上述した判定方法３でもこの攻撃パターンの判定をすることができる。以下、各実施形態を説明する。
【００２８】
［第１の実施形態］
本実施形態は、判定方法１又は４の実施形態である。また、本実施形態では、制御パケット（ＳＹＮパケット、ＡＣＫパケット及びＳＹＮ−ＡＣＫパケット等）をカウントする手段として短パケットをカウントする。短パケットとは、あらかじめ設定された所定の値よりサイズの小さいパケットのことである。これは、制御パケットのパケット長が比較的短いこと、及びデータトラヒックのパケット長が比較的長く、制御パケットのパケット長と同程度になる確率が極めて低いことを利用している。制御パケットは、ＳＹＮパケット、ＡＣＫパケット及びＳＹＮ−ＡＣＫパケット以外にも存在するが、ＳＹＮ  Ｆｌｏｏｄ攻撃がある場合には、判定方法１又は判定方法４の傾向が強くなるため上り方向の短パケットと下り方向の短パケットの比で判定できる。なお、制御パケットは、ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）タグ等がない状態で６４バイトである。
【００２９】
図２は、第１の実施形態における防御装置１の構成を示すブロック図である。
防御装置１は、第１のネットワークインタフェース部１１と、上り短パケットカウンタ部１２（第１のカウンタ）と、下り短パケットカウンタ部１３（第２のカウンタ）と、制御部１４（検出手段）と、振り分け部１５と、帯域制限部１６と、統合部１７と、第２のネットワークインタフェース部１８と、を含んで構成される。本実施形態における防御装置１は、上り方向の短パケット数と下り方向の短パケット数を算出し、それらの比に基づいてネットワーク攻撃であるか否かを判定する。
【００３０】
第１のネットワークインタフェース部１１は、クライアント２から送信されるパケットを受信し、受信したパケットを上り短パケットカウンタ部１２に出力する。また、クライアント２宛てのパケットをクライアント２へ送信する。
【００３１】
上り短パケットカウンタ部１２は、単位時間あたりに入力される短パケットの数をカウントし、カウントした値（Ｎ１）を制御部１４に出力する。また、上り短パケットカウンタ部１２は、入力されたパケットを振り分け部１５に出力する。
【００３２】
第２のネットワークインタフェース部１８は、サーバ３からクライアント２宛てのパケットを受信し、受信したパケットを下り短パケットカウンタ部１３に出力する。また、第２のネットワークインタフェース部１８は、統合部１７から入力された上り方向のパケットをサーバ３へネットワークを介して送信する。
【００３３】
下り短パケットカウンタ部１３は、単位時間あたりに入力される短パケットの数をカウントし、カウントした値（Ｎ２）を制御部１４に出力する。また、下り短パケットカウンタ部１３は、入力されたパケットを第１のネットワークインタフェース部１１に出力する。
【００３４】
制御部１４は、上り短パケットカウンタ部１２から入力されたカウンタ値Ｎ１及び下り短パケットカウンタ部１３から入力されたカウンタ値Ｎ２に基づいて、ネットワーク攻撃を検出する。また、制御部１４は、ネットワーク攻撃があると判定した場合、帯域制限部１６を制御して上り方向の短パケットに帯域制限をかける。その詳細については後述する。
【００３５】
振り分け部１５は上り短パケットカウンタ部１２から入力されたパケットをＳＹＮパケットとその他のパケットに分類する。また、振り分け部１５は、ＳＹＮパケットを帯域制限部１６に、その他のパケットを統合部１７に出力する。帯域制限部１６は、入力されたＳＹＮパケットを統合部１７へ出力する。その際、制御部１４からの制御信号に基づいて、ＳＹＮパケットの通過量を制限する。
【００３６】
統合部１７は、帯域制限部１６から入力されたＳＹＮパケットのトラヒックと振り分け部１５から入力されたその他のパケットのトラヒックを統合し、第２のネットワークインタフェース部１８に出力する。
【００３７】
図３は、本実施形態の制御部１４における防御処理の流れの一例を示すシーケンス図である。
制御部１４は、防御処理を開始する前に、ネットワーク攻撃検出のための閾値Ｘを設定する（ステップＳ１）。なお、閾値Ｘは、オペレータなどによって防御装置１に入力された値である。次に、制御部１４は、カウンタ値を取得する（ステップＳ２）。本実施形態では、制御部１４は、カウンタ値として、上り短パケットカウンタ部１２からＮ１を、下り短パケットカウンタ部１３からＮ２を取得する。Ｎ１はＳＹＮパケットとＡＣＫパケットの合計数Ａに対応する。Ｎ２はＳＹＮ−ＡＣＫパケット数Ｂに対応する。
【００３８】
続いて、制御部１４は、ネットワーク攻撃判定を行う（ステップＳ３）。本実施形態では、制御部１４は、Ｎ２のＮ１に対する比（Ｎ２／Ｎ１）を算出し、算出した値を閾値Ｘと比較する。判定方法１の場合は、閾値Ｘは、０．５−αである。この場合、制御部１４は、Ｎ２／Ｎ１が閾値Ｘより小さい場合にネットワーク攻撃であると判定する。また、判定方法４の場合は、閾値Ｘは０．５＋βである。この場合、制御部１４は、Ｎ２／Ｎ１が閾値Ｘより大きい場合にネットワーク攻撃であると判定する。α，βは予め決められた正の定数である。なお、判定方法は、判定方法１または判定方法４いずれを用いてもよい。あるいは、両方を用いて判定を行ってもよい。
【００３９】
ネットワーク攻撃であると判定した場合、制御部１４は、帯域制限部１６を制御してＳＹＮパケットに帯域制限をかける（ステップＳ４）。このとき、制御部１４は、最大パケット数を指定する。帯域制限部１６は、制御部１４からの制御信号に基づいて、単位時間あたり最大パケット数のＳＹＮパケットのみを統合部１７に通過させる。ここで、制御部１４は、例えば、最大パケット数をＮ２×ａとして帯域制限部１６に制御信号を出力する。ａは、１以上の定数である。最大パケット数はＮ２の値に基づいているため、単位時間毎に変化する。
【００４０】
一方、ネットワーク攻撃でないと判定した場合には、制御部１４は、帯域制限部１６が帯域制限設定済みか否かを判定する（ステップＳ５）。帯域制限設定済みでない場合には、ステップＳ２へ移行する。一方、帯域制限設定済みである場合には、制御部１４は、帯域制限部１６の帯域制限を解除して（ステップＳ６）、ステップＳ２へ移行する。
【００４１】
このように、本実施形態によれば、防御装置１は、単位時間あたりの上り方向の短パケット数と、下り方向の短パケット数の比に基づいて、ネットワーク攻撃を検出するため、複雑な処理を行う必要がない。これにより、簡易な装置構成により、ネットワーク攻撃を検出することができる。また、防御装置１は、クライアントの存在を確認する必要がないため、一般ユーザの通信開始に遅延増をもたらすことはない。また、防御装置１は、ネットワーク攻撃が検出された場合には、単位時間あたりの上り方向のＳＹＮパケットの数を制限することにより、サーバ３への攻撃を抑制することができる。
【００４２】
［第２の実施形態］
この発明の第２の実施形態は、判定方法１又は判定方法４の実施形態である。第１の実施形態では、単位時間あたりの上り方向の短パケット数と下り方向の短パケット数を用いてネットワーク攻撃の検出を行ったが、本実施形態では、単位時間あたりのＳＹＮパケットとＡＣＫパケットの合計数とＳＹＮ−ＡＣＫパケット数を算出し、算出した値を用いてネットワーク攻撃の検出を行う。
【００４３】
図４は、本実施形態における防御装置５の構成を示すブロック図である。
防御装置５は、第１のネットワークインタフェース部５１と、ＳＹＮ／ＡＣＫカウンタ部５２（第１のカウンタ）と、ＳＹＮ−ＡＣＫカウンタ部５３（第２のカウンタ）と、制御部５４（検出手段）と、振り分け部５５と、帯域制限部５６と、統合部５７と、第２のネットワークインタフェース部５８と、を含んで構成される。
【００４４】
ＳＹＮ／ＡＣＫカウンタ部５２は、第１のネットワークインタフェース部５１を介してクライアント２から受信したＳＹＮパケットとＡＣＫパケットの単位時間あたりの合計数をカウントし、カウントした値（Ｎ５１）を制御部５４に出力する。また、ＳＹＮ／ＡＣＫカウンタ部５２は、入力されたパケットを振り分け部５５に出力する。
【００４５】
ＳＹＮ−ＡＣＫカウンタ部５３は、第２のネットワークインタフェース部５８を介してネットワークから受信したＳＹＮ−ＡＣＫパケットの単位時間あたりの数をカウントし、カウントした値（Ｎ５２）を制御部５４に出力する。また、ＳＹＮ−ＡＣＫカウンタ部５３は、入力されたパケットを第１のネットワークインタフェース部５１に出力する。
【００４６】
制御部５４は、ＳＹＮ／ＡＣＫカウンタ部５２から入力されたカウンタ値Ｎ５１及びＳＹＮ−ＡＣＫカウンタ部５３から入力されたカウンタ値Ｎ５２に基づいて、ネットワーク攻撃を検出する。具体的には、制御部５４が、Ｎ５２のＮ５１に対する比（Ｎ５２／Ｎ５１）を算出する。Ｎ５１はＳＹＮパケットとＡＣＫパケットの合計数Ａに対応する。Ｎ５２はＳＹＮ−ＡＣＫパケット数Ｂに対応する。そして、制御部５４は、判定方法１では、Ｎ５２／Ｎ５１の値が「０．５−α」より小さい場合にネットワーク攻撃であると判定する。また、制御部５４は、判定方法４では、Ｎ５２／Ｎ５１の値が「０．５＋β」より大きい場合にネットワーク攻撃であると判定する。なお、判定方法は、判定方法１または判定方法４いずれを用いてもよい。あるいは、両方を用いて判定を行ってもよい。他の構成は第１の実施形態と同様なので説明を省略する。
【００４７】
このように、本実施形態によれば、単位時間あたりのＳＹＮパケット及びＡＣＫパケットの合計数とＳＹＮ−ＡＣＫパケット数の比に基づいてネットワーク攻撃を検出している。これにより、より正確なネットワーク攻撃の検知及び抑制が可能になる。
【００４８】
［第３の実施形態］
この発明の第３の実施形態は、判定方法２又は判定方法５の実施形態である。第２の実施形態では、ＳＹＮパケットとＡＣＫパケットの区別をせずカウントしたが、本実施形態では、ＳＹＮパケットとＡＣＫパケットを別々にカウントする。
【００４９】
図５は、本実施形態における防御装置６の構成を示すブロック図である。
防御装置６は、第１のネットワークインタフェース部６１と、ＳＹＮ／ＡＣＫ別カウンタ部６２（第１のカウンタ）と、ＳＹＮ−ＡＣＫカウンタ部６３（第２のカウンタ）と、制御部６４（検出手段）と、振り分け部６５と、帯域制限部６６と、統合部６７と、第２のネットワークインタフェース部６８と、を含んで構成される。
【００５０】
ＳＹＮ／ＡＣＫ別カウンタ部６２は、第１のネットワークインタフェース部６１を介してクライアント２から受信したＳＹＮパケットとＡＣＫパケットの単位時間あたりの数をそれぞれカウントし、ＳＹＮパケットをカウントした値（Ｎ６１）とＡＣＫパケットをカウントした値（Ｎ６３）を制御部６４に出力する。また、ＳＹＮ／ＡＣＫ別カウンタ部６２は、入力されたパケットを振り分け部６５に出力する。
【００５１】
制御部６４は、ＳＹＮ／ＡＣＫ別カウンタ部６２から入力されたカウンタ値Ｎ６１、カウンタ値Ｎ６３及びＳＹＮ−ＡＣＫカウンタ部６３から入力されたＳＹＮ−ＡＣＫパケットの単位時間あたりのカウント数であるカウンタ値Ｎ６２に基づいて、ネットワーク攻撃を検出する。具体的には、制御部６４が、Ｎ６２のＮ６１に対する比（Ｎ６２／Ｎ６１）と、Ｎ６３に対するＮ６２の比（Ｎ６３／Ｎ６２）を算出する。Ｎ６１はＳＹＮパケット数Ｃに対応する。Ｎ６２は、ＳＹＮ−ＡＣＫパケット数Ｂに対応する。Ｎ６３は、ＡＣＫパケット数Ｄに対応する。
【００５２】
そして、制御部６４は、判定方法２では、Ｎ６２／Ｎ６１の値が「１−γ」より小さい場合にネットワーク攻撃であると判定する。また、制御部６４は、判定方法５では、Ｎ６３／Ｎ６２の値が「１−γ」より小さい場合に、ネットワーク攻撃であると判定する。γは、予め決められた正の定数である。なお、判定方法は、判定方法２または判定方法５いずれを用いてもよい。あるいは、両方を用いて判定を行ってもよい。他の構成は第２の実施形態と同様なので説明を省略する。
【００５３】
このように、本実施形態によれば、ＳＹＮパケットとＡＣＫパケットの単位時間あたりの数を別々にカウントして、その値に基づいてネットワーク攻撃の検出をしている。これにより、より正確なネットワーク攻撃の検出が可能になる。
【００５４】
［第４の実施形態］
この発明の第４の実施形態は、判定方法３の実施形態である。本実施形態では、ＳＹＮパケット及びＡＣＫパケットのそれぞれの単位時間あたりの数に基づいてネットワーク攻撃の検出を行う。
【００５５】
図６は、本実施形態における防御装置７の構成を示すブロック図である。
防御装置７は、第１のネットワークインタフェース部７１と、ＳＹＮ／ＡＣＫ別カウンタ部７２（第１のカウンタ）と、制御部７４（検出手段）と、振り分け部７５と、帯域制限部７６と、統合部７７と、第２のネットワークインタフェース部７８と、を含んで構成される。
【００５６】
制御部７４は、ＳＹＮ／ＡＣＫ別カウンタ部７２から入力されたＳＹＮパケットの単位時間あたりの数であるカウンタ値Ｎ７１及びＡＣＫパケットの単位時間あたりの数であるカウンタ値Ｎ７２に基づいて、ネットワーク攻撃を検出する。具体的には、制御部７４が、Ｎ７２のＮ７１に対する比（Ｎ７２／Ｎ７１）を算出する。Ｎ７１はＳＹＮパケット数Ｃに対応する。Ｎ７２はＡＣＫパケット数Ｄに対応する。そして、制御部７４は、Ｎ７２／Ｎ７１の値が「１−γ」未満の場合に、ネットワーク攻撃であると判定する。他の構成は第３の実施形態と同様なので説明を省略する。
【００５７】
このように、本実施形態によれば、ＳＹＮパケットとＡＣＫパケットの単位時間あたりの数に基づいてネットワーク攻撃の検出をしている。これにより、より簡易な構成でネットワーク攻撃の検出が可能になる。
【００５８】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００５９】
例えば、本実施形態では、防御装置１，５，６，７をクライアント２と１対１になるように設けたが、複数のクライアント２に１台の防御装置１，５，６，７を設けてもよい。その場合、防御装置１，５，６，７は、各クライアント２について、ネットワーク攻撃を検出する。また、ネットワーク攻撃が検出された場合には、ネットワーク攻撃が検出されたクライアント２からのＳＹＮパケットにのみ帯域制限をかける。このとき、防御装置１，５，６，７には、制御部１４，５４，６４，７４以外の各部が接続されたクライアント２の数分設けられる。
【００６０】
また、上述した実施形態では、防御装置１，５，６，７をユーザ端末２とネットワークの間に設置したが、サーバ３とネットワークの間に設置してもよい。このとき、防御装置１，５，６，７は、サーバ３に送信されてくる全てのパケットについて防御処理を行う。
【図面の簡単な説明】
【００６１】
【図１】第１の実施形態による防衛装置の配置位置を示す概略図である。
【図２】本実施形態における防衛装置の構成を示すブロック図である。
【図３】本実施形態の制御部における処理の流れの一例を示すシーケンス図である。
【図４】第２の実施形態における防御装置の構成を示すブロック図である。
【図５】第３の実施形態における防御装置の構成を示すブロック図である。
【図６】第４の実施形態における防御装置の構成を示すブロック図である。
【図７】ＴＣＰの正常な接続確立手段を示すシーケンス図である。
【図８】ＤＤｏｓ攻撃の１つであるＳＹＮ  Ｆｌｏｏｄ攻撃の概要を示すシーケンス図である。
【図９】ＤＤｏｓ攻撃の１つであるＳＹＮ  Ｆｌｏｏｄ攻撃の概要を示すシーケンス図である。
【符号の説明】
【００６２】
１，５，６，７…防衛装置  ２，２２…クライアント  ３，２３…サーバ  １１，５１，６１，７１…第１のネットワークインタフェース部  １２…上り短パケットカウンタ部  １３…下り短パケットカウンタ部  １４，５４，６４，７４…制御部  １５，５５，５６，６６，７６…振り分け部  １６，５６，６６，７６…帯域制限部  １７，５７，６７，７７…統合部  １８，５８，６８，７８…第２のネットワークインタフェース部  ５２…ＳＹＮ／ＡＣＫカウンタ部  ５３，６３…ＳＹＮ−ＡＣＫカウンタ部  ６２，７２…ＳＹＮ／ＡＣＫ別カウンタ部
【図１】
0005009200.tif 000002
【図２】
0005009200.tif 000003
【図３】
0005009200.tif 000004
【図４】
0005009200.tif 000005
【図５】
0005009200.tif 000006
【図６】
0005009200.tif 000007
【図７】
0005009200.tif 000008
【図８】
0005009200.tif 000009
【図９】
0005009200.tif 000010