JP3609381B2 - 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム - Google Patents
分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム Download PDFInfo
- Publication number
- JP3609381B2 JP3609381B2 JP2002081905A JP2002081905A JP3609381B2 JP 3609381 B2 JP3609381 B2 JP 3609381B2 JP 2002081905 A JP2002081905 A JP 2002081905A JP 2002081905 A JP2002081905 A JP 2002081905A JP 3609381 B2 JP3609381 B2 JP 3609381B2
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- upstream
- attack
- gate
- traffic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワークに接続された機器をネットワーク経由での攻撃から防御するための、サービス不能攻撃の防止方法およびその装置ならびにそのコンピュータプログラムに関するものである。
【0002】
【従来の技術】
従来、TCP/IP(Transmission control protocol/internet protocol)などのネットワークプロトコルは、オープンとなっており、互いに信用されるグループで使われるように設計されている。このため、コンピュータのオペレーティングシステムでは、大量の通信トラフィック(データ等)を攻撃目標のサーバに送信することによって、ネットワークの伝送帯域やサーバの資源を消費して正当な利用者の利用を妨げようとするサービス不能攻撃(以下、「DoS(Denial of Service)攻撃」と記す)を防ぐことは考慮されていない。このようなDoS攻撃に対する防御の方法は増えてきているが、複数箇所から同時に連携してDoS攻撃を行う「DDoS(Distributed Denial of Service)攻撃」に対する防御の方法は未だ効果的な方法が開発されていない。
【0003】
このDDoS攻撃に対する一防御の方法として、UUNET社のCenterTrackがある。これは、インターネットのルータに診断機能を付加し、DDoS攻撃の送信元を追跡する技術である。
【0004】
また、DDoS攻撃を検出したノードより攻撃元に近い上流ノードで攻撃トラヒックを制限するための技術としては、本出願の発明者等が出願済みの分散型サービス不能攻撃の防止方法(特願2001−274016)、AT&T社論文(R.Mahajan, S.M.Bellovin, S.Floyd, J.Ioannidis, V.Paxson and S.Shenker: “Controlling high bandwidth aggregates in the network − extended version”(2001))、IDIP(Intruder Detection and Isolation Protocol)(D.Schnackenberg, K.Djahandari and D.Sterne: “Infrastructure for intrusion detection and response”, Proceedings of the DARPA Information Survivability Conference and Exposition(DISCEX), South Carolina(2000))などがある。AT&T社論文及びIDIPは、攻撃検出イベントを攻撃経路の上流ノードへ伝達し、上流ノードで伝送帯域制限を行うための方式やプロトコルである。本出願の発明者等が出願済みの分散型サービス不能攻撃の防止方法は、ルータにインストールされている移動型パケットフィルタリングプログラムが、自らのプログラムの複製を作成し、その複製を上流ルータ移動させ、各上流ルータへ移動してきた移動型パケットフィルタリングプログラムは、それぞれDDoS攻撃者のホストからサーバに向けて送られているトラフィック全てを通過させないようする技術である。
【0005】
【発明が解決しようとする課題】
Center Trackは、攻撃を受けた被害者が攻撃者を特定することを助ける技術ではあるが、実際に攻撃を受けているときにその攻撃を防御することはできない。加えて、複数箇所に分散された分散型DoSの攻撃元になっているコンピュータやそのコンピュータが接続されているネットワークの管理者に連絡をしないと、攻撃そのものを止めることはできないため、実質的には攻撃を止めるまでに何時間、あるいは何日もの時間がかかってしまうという問題点がある。
【0006】
また、この出願の同発明者等が出願済みの分散型サービス不能攻撃の防止方法、AT&T論文及びIDIPにおては、攻撃パケットと特定されたパケットを次ノードへ送出せず、全て破棄してまう。よって、標的となるサーバのダウンやルータ装置の過負荷等によりサービスが停止する一次被害を防止することはできるが、正規利用者からのパケットを攻撃パケットと識別する方法がないため、誤って正規利用者からの正規パケットも攻撃パケットとして破棄してしまう可能性があり、正規利用者の利用性が低下するといった二次被害を引き起こしてしまうという問題がある。
【0007】
本発明は、上記事情を考慮してなされたものであり、その目的は、正規利用者へのサービス性を低下させる被害を軽減しながらDDoS攻撃を防御できる、分散型サービス不能攻撃防止方法及び装置ならびにプログラムを提供することにある。
【0008】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項1に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANと、前記LANおよびネットワークの間に介挿されたゲート装置とを有するネットワークシステムにおいて、前記ゲート装置は、入力される通信トラヒックから攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の前記通信装置へ送信する処理を行い、前記通信装置は、前記攻撃容疑トラヒックの伝送帯域を下流のゲート装置または通信装置から受信した前記伝送帯域制限値に制限すると共に、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する処理を行い、前記攻撃容疑パケット送出元の最上流の前記通信装置に達するまで再帰的に、前記攻撃容疑パケットの伝送帯域の制限と、前記攻撃容疑トラヒックの伝送帯域制限値送信との処理を行い、前記ゲート装置は、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信する処理を行い、前記上流の通信装置は、前記下流のゲート装置または通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域問合せを受信して、当該通信装置における前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置または通信装置へ送信する処理を行い、前記ゲート装置は、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する処理を行い、前記通信装置は、前記攻撃容疑トラヒックの伝送帯域を下流のゲート装置または通信装置から受信した前記伝送帯域制限調整値に制限すると共に、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信する処理と、前記下流の通信装置から受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する処理とを行い、前記攻撃容疑パケット送出元の最上流の前記通信装置に達するまで再帰的に、伝送帯域制限調整値に前記攻撃容疑パケットの伝送帯域の制限と共に、前記攻撃容疑トラヒックの伝送帯域制限調整値の送信との処理を行う、ことを特徴とする分散型サービス不能攻撃防止方法である。
【0009】
請求項2に記載の発明は、請求項1に記載の分散型サービス不能攻撃防止方法であって、前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数11】
により算出されることを特徴とする。
【0010】
請求項3に記載の発明は、請求項1または請求項2に記載の分散型サービス不能攻撃防止方法であって、前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数12】
により算出されることを特徴とする。
【0011】
請求項4に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置において、入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出するトラヒック監視手段と、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記トラヒック監視手段によって検出された攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する帯域制限指示手段と、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せ手段と、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信する伝送帯域値受信手段と、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する帯域制限調整手段と、を備えることを特徴とするゲート装置である。
【0012】
請求項5に記載の発明は、請求項4に記載のゲート装置であって、前記帯域制限指示手段は、前記伝送帯域制限値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数13】
により算出し、前記帯域制限調整手段は、前記伝送帯域調整値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数14】
により算出することを特徴とする。
【0013】
請求項6に記載の発明は、防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置において、下流のゲート装置あるいは通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限する帯域制御手段と、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する帯域制限指示手段と、前記下流のゲート装置あるいは通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域問い合わせを受信し、当該通信装置における前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置あるいは通信装置へ送信する帯域通知手段と、前記下流のゲート装置あるいは通信装置から攻撃容疑トラヒックの伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限する帯域制御調整手段と、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せ手段と、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信する伝送帯域値受信手段と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値と前記受信した伝送帯域制限調整値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記上流の通信装置へ送信する帯域制限調整手段と、を備えることを特徴とする通信装置である。
【0014】
請求項7に記載の発明は、請求項6に記載の通信装置であって、前記帯域制限指示手段は、前記伝送帯域制限値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数15】
により算出し、前記帯域制限調整手段は、前記伝送帯域調整値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数16】
により算出することを特徴とする。
【0015】
請求項8に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置上で実行されるコンピュータプログラムであって、入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、をコンピュータに実行させることを特徴とする分散型サービス不能攻撃防止プログラムである。
【0016】
請求項9に記載の発明は、防御対象であるコンピュータおよびLANを防御するゲート装置が接続されるたネットワークのノードを構成する通信装置上で実行されるコンピュータプログラムであって、下流のゲート装置又は通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限するステップと、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せを受信し、前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置又は通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、をコンピュータに実行させることを特徴とする分散型サービス不能攻撃防止プログラムである。
【0017】
請求項10に記載の発明は、請求項8または請求項9に記載の分散型サービス不能攻撃防止プログラムであって、前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数17】
により算出され、前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数18】
により算出されることを特徴とする。
【0018】
請求項11に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、の各処理をコンピュータに実行させる分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体である。
【0019】
請求項12に記載の発明は、防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、下流のゲート装置又は通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限するステップと、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せを受信し、前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置又は通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、の各処理をコンピュータに実行させる分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体である。
【0020】
請求項13に記載の発明は、請求項11または請求項12に記載の分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体であって、前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数19】
により算出され、
前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数20】
により算出されることを特徴とする。
【0021】
【発明の実施の形態】
以下図面を参照し、この発明の一実施の形態について説明する。図1は、同実施の形態を適用したネットワークの構成図である。この図において、2000はサーバ、2001はこの発明の一実施形態によるゲート装置(ゲートウェイ)、2002〜2006はこの発明の一実施形態による通信装置(ルータ)、2007〜2010は端末装置である。DDoS攻撃の被攻撃者のサーバ2000が収容されているLAN(ローカルエリアネットワーク)は、ゲート装置2001によって外部のネットワークに接続されている。そして、ネットワークは通信装置2002、2003、2004、2005、2006を有している。DDoS攻撃者によって操作された端末装置2007、2008が、攻撃パケットを被攻撃者のサーバ2000に向かって送信すると、攻撃パケットが被攻撃者収容LANに集中して混雑が発生することにより、ゲート装置2001の資源を消費してしまい、DDoS攻撃者とは無関係な正規利用者の端末2009、2010からサーバ2000に接続できなくなるという現象が起こる。
【0022】
ゲート装置2001は、予めサーバ2000を保有する利用者が設定した攻撃容疑検出条件を記憶している。図2に攻撃容疑検出条件の設定の例を示す。さらに、ゲート装置2001は、防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値を記憶している。
【0023】
図2における攻撃容疑検出条件は、検出属性、検出閾値及び検出間隔の組からなる3組のレコードで構成される。ここでは、番号はレコードを特定するために便宜上使用される。攻撃容疑検出条件は、受信パケットが攻撃パケットである可能性がある攻撃容疑パケットを検出するために使用され、3組のレコードの内のいずれかのレコードの条件にトラヒックが一致した場合、このトラヒックの通信パケットは攻撃容疑パケットであると認識される。検出属性は、IPパケットの第3/4層属性種別とそれら属性値の組を指定するが、第3層属性であるIPの「Destination IP Address(宛先IPアドレス)」という属性種別は必ず指定される。図2において、番号1のレコードの検出属性は、「Destination IP Address(宛先IPアドレス)」が「192.168.1.1/32」であり(dst=192.168.1.1/32)、IPの上位層(第4層)のプロトコル種別を示す「Protocol(プロトコル)」が「TCP」であり(Protocol=TCP)、かつ、第4層プロトコルがどのアプリケーションの情報かを示す「Destination Port(宛先ポート番号)」が「80」である(Port=80)という属性種別とそれら属性値の組で指定される。番号2のレコード検出属性は、「Destination IP Address(宛先IPアドレス)」が「192.168.1.2/32」であり(dst=192.168.1.2/32)、かつ、「Protocol(プロトコル)」が「UDP(User Datagram protocol)」である(Protocol=UDP)という属性種別とそれら属性値の組で指定される。また、番号3のレコード検出属性は、「Destination IP Address(宛先IPアドレス)」が「192.168.1.0/24」である属性種別とその属性値で指定される。検出閾値は、同じレコードで指定される検出属性を持つ受信パケットのトラヒックを攻撃容疑トラヒックとして検出するための最低の伝送帯域を、検出間隔は同じく最低の連続時間を示している。
【0024】
また、ゲート装置2001及び通信装置2002〜2006は、攻撃容疑パケットのトラヒックを分析し、不正トラヒックを検出するための不正トラヒック検出条件を保有する。図3に不正トラヒック検出条件の設定の例を示す。ここでは、番号はレコードを特定するために便宜上使用される。不正トラヒック条件は、既知のDDoS攻撃の複数のトラヒックパターンから構成され、攻撃容疑パケットのトラヒックがいずれかのトラヒックパターンに合致した場合に、不正トラヒックであると認識される。図3の番号1の不正トラヒック条件は、「伝送帯域T1Kbps以上のパケットがS1秒以上連続送信されている」というトラヒックパターンを示している。また、番号2の不正トラヒック条件は、「伝送帯域T2Kbps以上、第3層プロトコルであるICMP(Internet Control Message Protocol)上のエコー応答(Echo Reply)メッセージのパケットがS2秒以上連続送信されている」というトラヒックパターンを示している。番号3の不正トラヒック条件は、「伝送帯域T3Kbps以上、データが長すぎるためパケットに含まれるデータは複数IPパケットに分割して送信していることを示すフラグメントパケットがS3秒以上連続送信されている」というトラヒックパターンを示している。
【0025】
ここで、ゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルを説明する。図4は本実施の形態におけるゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルを示す。帯域制御モデルは、入力パケットをクラス別に分類し、このクラスに従ってパケットの出力帯域制御を実現するためのモデルを示す。フィルタ2021は、入力されたパケットを正規クラス2022、容疑クラス2026、不正クラス2024の3つのクラスに分類する。なお、このフィルタ2021の分類アルゴリズムは後述する。正規クラス2022はデフォルトクラスであり、正規クラス2022に分類されたパケットは正規キュー2023につながれ、伝送帯域を制限せずに出力される。容疑クラス2026に分類されたパケットは、容疑パケットか否かを判断するための防御対象のサーバ2000及びサーバ2000が収容されているLAN毎に発生する容疑キュー2027につながれ、防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値に出力伝送帯域が制限される。なお、容疑シグネチャの生成については後述する。サーバ2000を収容しているゲート装置2001の容疑キューの伝送帯域制限値は防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値を使用するが、上流の通信装置2002〜2006では、下流の通信装置から受信した伝送帯域制限値を使用する。不正クラス2024に分類されたパケットは、不正キュー2025につながれ、サーバ所有者やネットワークのポリシーに関わらず、0または0に近い伝送帯域に制限される。
【0026】
続いて、ゲート装置2001及び通信装置2002〜2006が伝送帯域制限を実行するための、フィルタ2021の分類アルゴリズムについて説明する。ゲート装置2001及び通信装置2002〜2006は、当該通信装置に入力される全ての通信パケットをこの分類アルゴリズムで分類する。図5はフィルタ2021における分類アルゴリズムを示す。まず、ステップS3003において、フィルタ2021は、入力されたパケットが不正シグネチャと合致するか判断する。不正シグネチャに合致した場合、パケットは不正クラス2024に分類される(ステップS3004)。不正シグネチャに合致しなかった場合は、ステップS3005に進み、パケットが容疑シグネチャであるか判断し、容疑シグネチャに合致すれば容疑クラス2026へ分類され(ステップS3006)、合致しない場合には正規クラス2022へ分類される(ステップS3007)。このようにして各クラスに分類されたパケットは、正規キューであれば伝送帯域を制限せずに出力され、容疑キュー及び不正キューであればそれぞれの伝送帯域制限値に従って伝送帯域が制限されて出力される。なお、容疑シグネチャ及び不正シグネチャの生成については後述する。
【0027】
次に、DDoS攻撃に対する対策方式の処理手順を示す。まず、図6のゲート装置2001の攻撃容疑パケット検出時の動作を示すフローチャート、図8の通信装置2002、2003の伝送帯域制限指示受信時の動作を示すフローチャート及び図9のゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を示すフローチャートを用いてDDoS攻撃発生と同時に初期の伝送帯域制限を実施する処理手順を説明する。
【0028】
図6のステップS3011において、ゲート装置2001は、攻撃容疑検出条件(図2)に従って、検出間隔で指定されているより長い時間連続して、検出閾値で指定されている以上の伝送帯域を使用している、検出属性に合致するトラヒックをチェックし、3組のレコードの内のいずれかのレコードに合致した場合、このトラヒックを攻撃容疑トラヒックとして検出する。すると、ステップS3012において、この検出された攻撃容疑トラヒックが満たしている攻撃容疑検出条件のレコードの検出属性を、容疑シグネチャとして生成する。容疑シグネチャは、攻撃容疑トラヒックの通信パケット、すなわち攻撃容疑パケットを識別するために用いられる。例えば、図2の設定例を用いて説明すると、番号1のレコードの条件で検出されるパケットの容疑シグネチャは{dst=192.168.1.1/32, Protocol=TCP, Port=80}となる。
【0029】
次いで、ステップS3013において、ゲート装置2001は、ステップS3012において生成した容疑シグネチャをフィルタ2021に登録する。次に、防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値に攻撃容疑トラヒックの伝送帯域を制限するための容疑キュー2027を生成する。なお、同一防御対象に関する容疑キューが既に生成済みの場合は、新たな容疑キューの生成は行わない。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って、容疑シグネチャに合致する攻撃容疑パケットの伝送帯域の制限が実行される。
【0030】
そして、ゲート装置2001は、ステップS3014において、容疑シグネチャと算出した攻撃容疑パケットの伝送帯域制限値とを含んだ伝送帯域制限指示を1つ上流にある通信装置2002、2003に送信する。ここで、伝送帯域制限値の算出方法を説明する。なお、本明細書においては、ゲート装置あるいは通信装置を識別するための添え字を持つ
【数21】
などの変数を便宜上Ss(d+1,i,k)、Ss(d,i)、nu(d,i)のように記述する。ネットワークにおいて、ゲート装置2001の存在する階層を初期値0として通信装置がゲート装置2001から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別される通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(すなわち深さd+1)にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とする。このとき、伝送帯域制限値は、以下の式で算出される。
【数22】
よって、ゲート装置2001は、上記の式により、通信装置2002、2003に指示する伝送帯域制限値を算出する。これは、ゲート装置2001は、自身が持つ伝送帯域制限値を1つ上流の通信装置全てに均等に割り当てることを示す。図7は図1の構成における伝送帯域制限値の算出の例を示す図である。この図において、ゲート装置2001は深さd=0であり、この深さd=0には1つの装置のみが存在するためゲート装置2001のiは1である。ゲート装置2001の伝送帯域制限値の初期値Ss(0,1)は、攻撃容疑トラヒックを検出したときのレコードに対応した伝送帯域制限値である。ここでは例として、伝送帯域制限値が800kbpsであったとする。そして、ゲート装置2001には2つの1つ上流の通信装置2002、2003が存在するため、1つ上流の通信装置数nu(0,1)は2である。よって、ゲート装置2001には、1番目の1つ上流の通信装置2002の伝送帯域制限値Ss(1,1,1)及び2番目の1つ上流の通信装置2003の伝送帯域制限値Ss(1,1,2)は、Ss(0,1)=800kbpsをnu(0,1)=2で除算した400kbpsとなる。
【0031】
次に、伝送帯域制限指示受信時の通信装置2002、2003の動作を説明する。図8のステップS3021において、通信装置2002、2003は、ゲート装置2001が送信した(ステップS3014)伝送帯域制限指示を受信する。次に、ステップS3022に進み、通信装置2002、2003は、受信した伝送帯域制限指示に含まれる容疑シグネチャをフィルタ2021に登録し、容疑シグネチャ及び攻撃容疑パケットの伝送帯域制限値に対応した容疑キュー2027を生成する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って容疑シグネチャに合致する攻撃容疑パケットの伝送帯域の制限が実行される。
【0032】
通信装置2002はステップS3023において、その上流にある通信装置2004に、通信装置2003はその上流にある通信装置2005及び2006に、受信した容疑シグネチャと、受信した伝送帯域制限値から算出した伝送帯域制限値とを含んだ伝送帯域制限指示を送信する。このときの算出方法は、ゲート装置2001のステップS3003と同様である。すなわち、通信装置2002、2003は、ゲート装置2001から受信した伝送帯域制限値を1つ上流の通信装置全てに均等に割り当てる。図7を用いて説明すると、通信装置2002、2003の深さdは1であり、この深さd=1には2つの通信装置が存在し、その1番目の通信装置2002のiは1、2番目の通信装置2003のiは2である。通信装置2002の伝送帯域制限値Ss(1,1)及び通信装置2003の伝送帯域制限値Ss(1,2)は、それぞれゲート装置2001から受信した伝送帯域制限値Ss(1,1,1)、Ss(1,1,2)であり、すなわち400kbpsである。そして、通信装置2002には1つの上流の通信装置2004が存在するため、1つ上流の通信装置数nu(1,1)は1である。よって、通信装置2004の伝送帯域制限値Ss(2,1,1)は、Ss(1,1)=400kbpsをnu(1,1)=1で除算した400kbpsとなる。一方、通信装置2003には2つの上流の通信装置2005、2006が存在するため1つ上流の通信装置数nu(1,2)は2である。よって、通信装置2005の伝送帯域制限値Ss(2,2,1)及び通信装置2006の伝送帯域制限値Ss(2,2,2)は、Ss(1,2)=400kbpsをnu(1,2)=2で除算した200kbpsとなる。
【0033】
そして、通信装置2004は通信装置2002から、通信装置2005、2006は通信装置2003から伝送帯域制限指示を受信し、通信装置2002、2003におけるステップS3021〜S3022と同様に動作する。通信装置2004〜2006は、ルーチングテーブルなどにより上流に通信装置がないと判断できるため、ステップS3023は実行しない。
【0034】
次に、ゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を説明する。図9のステップS3031において、ゲート装置2001及び通信装置2002〜2006は、DDoS攻撃者がパケットを送出しているネットワークを特定するため入力パケットを分析して、不正トラヒック条件のいずれかのパターンに合致するトラヒックを検出する。すると、ゲート装置2001及び通信装置2002〜2006は、ステップS3032において、この検出された不正トラヒック条件を満たすパケットの送信元IPアドレスを不正アドレス範囲として特定し、この不正アドレス範囲であり、かつ、容疑シグネチャに合致するという条件を不正シグネチャとする。そして、ゲート装置2001及び通信装置2002〜2006は、ステップS3033においてこの不正シグネチャをフィルタ2021に登録する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って不正シグネチャで識別される攻撃パケットの伝送帯域はさらに制限される。すなわち、攻撃パケットは不正クラス2024に分類され、正規利用者からのパケットである正規パケットのみが攻撃容疑パケットとして容疑クラス2026に分類される。
【0035】
以上説明した初期の伝送帯域制限を実施することにより、早期にネットワークの伝送帯域の溢れを防いだ後、攻撃容疑パケットの入力トラヒックに応じて、伝送帯域制限値の調整を実施する処理手順を説明する。図10は伝送帯域制限調整値の算出の例、図11はゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【0036】
図10において、図7に示す初期の伝送帯域制限後、端末装置2007から2Mbps、端末装置2008から2Mbpsの攻撃パケットが送信されており、また、端末装置2009から600kbps、端末装置2010からは100kbpsの攻撃容疑パケットが送信されている。
【0037】
通信装置2004は、端末装置2007から入力される攻撃パケットを不正クラス2024に分類しており、当該通信装置2004に入力される全攻撃容疑トラヒックは端末装置2009から受信される600kbpsである。これは、初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(2,1,1)=400kbpsより大きいため、下流の通信装置2002には、攻撃容疑トラヒックを400kbpsに帯域制限して出力している。通信装置2002は、上流の通信装置2004から入力される攻撃容疑トラヒックの伝送帯域が400kbpsであり、初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(1,1,1)=400kbps以下であるため、下流のゲート装置2001には400kbpsの攻撃容疑トラヒックを出力している。
【0038】
一方、通信装置2005は、端末装置2008から入力される攻撃パケットを不正クラス2024に分類しているため、下流の通信装置2003に出力している攻撃容疑トラヒックは0kbpsである。また、通信装置2006に入力される攻撃容疑トラヒックは、端末装置2010から受信される100kbpsである。これは初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(2,2,2)=200kbps以下であるため、下流の通信装置2003には、そのまま100kbpsの攻撃容疑トラヒックを出力している。よって、通信装置2003は、上流の通信装置2005、2006から入力される攻撃容疑トラヒックの伝送帯域の合計が100kbpsと、初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(1,1,2)=400kbps以下であるため、下流のゲート装置2001には100kbpsの攻撃容疑トラヒックを出力している。
【0039】
図11のステップS3041において、ゲート装置2001は、初期伝送帯域制限実施から一定時間後、全上流の通信装置2002、2003に当該ゲート装置2001に入力される攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる。すると、ステップS3051において、通信装置2002、2003は、平均入力伝送帯域の問合せを受信する。そして、ステップS3052において、通信装置2002、2003は、自身の攻撃容疑トラヒックの平均入力伝送帯域値をゲート装置2001に通知する。
【0040】
次に、ステップS3042においてゲート装置2001は、通信装置2002,2003から攻撃容疑トラヒックの平均入力伝送帯域値を受信する。すると、ステップS3043において、ゲート装置2001は、受信した平均入力伝送帯域値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を、全上流の通信装置2002、2003に送信する。ここで、伝送帯域制限値の算出方法を説明する。なお、本明細書においては、ゲート装置あるいは通信装置を識別するための添え字を持つ
【数23】
などの変数を便宜上Ss’(d+1,i,k)、B(d+1,i,k)、Ss’(d,i)のように記述する。ネットワークにおいて、ゲート装置2001の存在する階層を初期値0として通信装置がゲート装置2001から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの平均入力伝送帯域値B(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(d+1,i,k) とする。このとき、伝送帯域制限調整値は、以下の式で算出される。
【数24】
よって、ゲート装置2001は、上記の式により、通信装置2002、2003に指示する伝送帯域制限調整値を算出する。これは、ゲート装置2001は、上流の通信装置の攻撃容疑トラヒックの平均入力伝送帯域の比率に従って、攻撃容疑トラヒックの伝送帯域値を調整することを示している。ただし、ゲート装置2001の伝送帯域制限調整値の初期値Ss’(0,1)は伝送帯域制限値の初期値Ss(0,1)と同じである。
【0041】
図10の送帯域制限調整値の算出の例を用いて説明する。ゲート装置2001の1番目の1つ上流の通信装置2002からゲート装置2001に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(1,1,1)は400kbps、2番目の1つ上流の通信装置2003からゲート装置2001に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(1,1,2)は100kbpsである。よって、(数24)の右辺の分母は、全上流の通信装置からの平均入力伝送帯域値の合計を示していることより、B(1,1,1)+B(1,1,2)=500kbpsと算出される。また、伝送帯域制限調整値の初期値Ss’(0,1)=Ss(0,1)であるため、図7の例より、Ss’(0,1)は800kbpsである。従って、1番目の1つ上流の通信装置2002の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(1,1,1)は、B(1,1,1)=400kbpsを分母500kbpsで除算し、伝送帯域制限調整値の初期値Ss’(0,1)=800kbpsを乗算した640kbpsとなる。一方、2番目の1つ上流の通信装置2003の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(1,1,2)は、B(1,1,2)=100kbpsを分母500kbpsで除算し、伝送帯域制限調整値の初期値Ss’(0,1)=800kbpsを乗算した160kbpsとなる。
【0042】
そして、図11のステップS3053において、通信装置2002、2003は、ゲート装置2001から伝送帯域制限調整指示を受信する。すると、ステップS3054に進み、通信装置2002、2003は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限調整指示に含まれる伝送帯域制限調整値に変更する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って容疑シグネチャに合致する攻撃容疑パケットの伝送帯域は伝送帯域制限調整値に制限される。
【0043】
次に、図11のステップ3055へ進み、通信装置2002はその上流にある通信装置2004に当該通信装置2002に入力される攻撃容疑トラヒックの平均入力伝送帯域を、通信装置2003はその上流にある通信装置2005及び2006に当該通信装置2003に入力される攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる。通信装置2004〜2006は、ステップS3061において、平均入力伝送帯域の問合せを受信する。するとステップS3062において、通信装置2004は、通信装置2002に、通信装置2005、2006は、通信装置2003に自身の攻撃容疑トラヒックの平均入力伝送帯域値を通知する。
【0044】
続いて、ステップS3056において、通信装置2002、2003は、通信装置2004〜2006から受信した平均入力伝送帯域値を受信する。すると、ステップS3057において、通信装置2002、2003は、受信した平均入力伝送帯域値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を、全上流の通信装置、すなわち、通信装置2002はその上流にある通信装置2004に、通信装置2003はその上流にある通信装置2005及び2006に送信する。このときの算出方法は、ゲート装置2001のステップS3043と同様である。
【0045】
図10の送帯域制限調整の算出の例を用いて説明する。通信装置2002の1番目の1つ上流の通信装置2004の平均入力伝送帯域値B(2,1,1)は400kbpsである。よって、(数24)の右辺の分母は、全上流の通信装置からの平均入力伝送帯域値の合計を示していることより、B(2,1,1)と同値になる。また、通信装置2002の伝送帯域制限調整値の初期値Ss’(1,1)=Ss’(1,1,1)であるため、ステップS3043より、Ss’(1,1)は640kbpsである。よって、通信装置2002の1番目の1つ上流の通信装置2004の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(2,1,1)は、B(2,1,1)=400kbpsを分母400kbpsで除算し、伝送帯域制限調整値の初期値Ss’(1,1)=640kbpsを乗算した640kbpsとなる。
【0046】
一方、通信装置2003の1番目の1つ上流の通信装置2005から通信装置2003に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(2,2,1)は0kbps、2番目の1つ上流の通信装置2006から通信装置2003に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(2,2,2)は100kbpsである。よって、(数24)の右辺の分母は、全上流の通信装置からの平均入力伝送帯域値の合計を示していることより、B(2,2,1)+B(2,2,2)=100kbpsと算出される。また、通信装置2003の伝送帯域制限調整値の初期値Ss’(1,2)=Ss’(1,1,2)であるため、ステップS3043より、Ss’(1,2)は160kbpsである。従って、通信装置2005の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(2,2,1)は、B(2,2,1)=0kbpsを分母100kbpsで除算し、伝送帯域制限調整値の初期値Ss’(1,2)=160kbpsを乗算した0kbpsとなり、通信装置2006の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(2,2,2)は、B(2,2,2)=100kbpsを分母100kbpsで除算し、伝送帯域制限調整値の初期値Ss’(1,2)=160kbpsを乗算した160kbpsとなる。
【0047】
そして、図11のステップ3063において、通信装置2004〜2006は、通信装置2002、2003から伝送帯域制限調整指示を受信する。ステップS3064に進み、通信装置2004〜2006は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限指示に含まれる伝送帯域制限調整値に変更する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って容疑シグネチャに合致する攻撃容疑パケットの伝送帯域は伝送帯域制限調整値に制限される。
【0048】
一方、ステップS3044において、ゲート装置2001は、上記の伝送帯域制限調整から一定時間後、あるいは、受信する攻撃容疑パケットの伝送帯域が伝送帯域調整前と調整後である一定の割合変化した場合などのトリガを検出すると、再び伝送帯域調整を実行するステップS3041から伝送帯域制限調整値の調整を繰り返す。
【0049】
ところで、以上説明した動作は、以下に記述するアクティブネットワーク上で実行される。
【0050】
以下、図面を参照しこの発明の一実施形態を実行できるアクティブネットワークについて説明する。
図12は、本実施形態が前提とするネットワークの構成である。図12に示すように、通信ネットワークは、複数の通信装置7001によって接続されている。そして、通信装置7001には1台または複数台のユーザのコンピュータ7000を接続することができるようになっている。ユーザのコンピュータ7000相互間で通信データのやりとりを行う際には、送信元のユーザのコンピュータ7000が送信したパケットを通信ネットワーク上の各ノードに位置する通信装置7001が順次転送することにより、そのパケットを宛先のユーザのコンピュータ7000に届けるようにする。
【0051】
次に、通信装置の構成について説明する。図13は、通信装置7001の内部の構成を示すブロック図である。図13に示すように、通信装置7001には通信線7024a、7024b、7024c、7024dが接続されており、通信装置7001はこれらの通信線を介して隣接する他の通信装置との間でパケットを交換することができるようになっている。また、通信装置7001には、上記の各通信線7024a〜7024dに対応したインタフェース部7023a〜7023dと、パケットを転送する処理を行うための転送処理部7021と、パケットの転送の際の転送先の情報を記憶する転送先テーブル7022と、アクティブパケットに対する処理を行うためのアクティブネットワーク実行環境(Active Network Execution Environment)7010とが設けられている。なお、アクティブネットワーク実行環境7010は、内部に、アクティブコード(プログラム)を実行するためのコード実行部7011と、アクティブコードを記憶しておくためのコード記憶部7012とを備えている。なお、ここでアクティブコードとは、アクティブネットワークにおいてパケットに対する作用を行うコンピュータプログラムのコードである。
【0052】
ここで、図13を参照しながら、この通信装置7001の動作例の概要を説明する。隣接する他の通信装置から通信線7024dを介してパケットが到着すると、インタフェース部7023dがそのパケットを受信し転送処理部7021に渡す。転送処理部7021は、渡されたパケットのヘッダ部分に格納されている送信元(source)アドレスと宛先(destination)アドレスとを読み取り、さらにそれらのアドレスをキーとして転送先テーブル記憶部7022に記憶されている転送先テーブルを参照することによって、そのパケットにどう対処するかを決定する。
【0053】
パケットへの対処は大きく2通りに分けられる。そのパケットに対してアクティブコードを適用する場合と、そのパケットをそのまま他の通信装置に転送する場合とである。
転送先テーブルを参照した結果、そのパケットに対してアクティブコードを適用すべきものである場合には、転送処理部7021は、そのパケットをアクティブネットワーク実行環境7010に渡す。アクティブネットワーク実行環境7010においては、コード実行部7011がそのパケットを受け取り、そのパケットに対して適用すべきアクティブコードをコード記憶部7012から読み出して実行する。なお、コード実行部7011は、アクティブコードを実行した結果、必要な場合には処理対象となったパケットを再び転送処理部7021に渡して他の通信装置に対して転送することもある。
転送先テーブルを参照した結果、そのパケットにアクティブコードを適用せずそのまま他の転送装置に転送するべきものである場合には、転送処理部7021は、適切な転送先に対応したインタフェース部(7023aや7023bや7023cなど)に渡し、そのインタフェース部が通信線(7024aや7024bや7024cなど)を介してパケットを他の通信装置に転送する。
【0054】
なお、ここでは通信線7024dを介して他の通信装置からパケットが到着した場合を例として説明したが、他の通信線を介してパケットが到着した場合の処理も同様である。
【0055】
次に、通信装置7001内の転送処理部7021がいかにしてパケットに対する処置(アクティブコードを適用するか、単純に他の通信装置に転送するか)を決定するかを具体的に説明する。
【0056】
本実施形態が基礎とするフレームワークでは、アクティブネットワーク実行環境はパケットの中において指定されているIPアドレスに基づいて起動される。ここで、全ての(グローバル)IPアドレスの集合をIと表わすものとする。また、送信元IPアドレスがsであり宛先IPアドレスがdであるようなパケットを(s,d)と表わすものとする。また、通信装置のアクティブネットワーク実行環境に格納されているすべてのアクティブコードはそれぞれ特定のユーザに属するものとし、ある特定のユーザの所有するIPアドレスの集合をOと表わすものとする。
【0057】
本フレームワークでは、上記特定のユーザに属する個々のアクティブコードは、次に示す式による集合Aで表されるパケットであって、かつ当該アクティブネットワーク実行環境を備えた通信装置(ノード)によって受信されたパケットに対してアクセスする権限を持つ。すなわち、
A={(s,d)∈[(O×I)∪(I×O)]|s≠d}
である。つまり、この式が意味するところの概略は、特定のユーザに属するアクティブコードは、当該ユーザが所有する全てのIPアドレスのいずれかを送信元または宛先のアドレスとするようなパケットに対してアクセス権を有するということである。
【0058】
当該ユーザに属するn個のアクティブコードがある通信装置(ノード)に格納されているとき、i番目(1≦i≦n)のアクティブコードは、集合C(i)(C(i)⊆A)に属するパケットをキャプチャーして処理することをアクティブネットワーク実行環境に対して予め要求しておく。つまり、当該ユーザに関して、アクティブネットワーク実行環境は、c(1)∪c(2)∪・・・・・・∪c(n)なる和集合の要素であるパケット(s,d)によって起動されるものであり、このようなパケットを「アクティブパケット」と呼ぶことができる。
【0059】
図14は、図13に示した転送先テーブル記憶部7022に記憶されている転送先テーブルの一例を示す概略図である。上記のフレームワークを実現するために必要な情報は、このような転送先テーブルに格納することが可能である。
【0060】
図14に示すように、転送先テーブルは、タイプ(Type)と宛先アドレス(Destination)と送信元アドレス(Source)と転送先(Send to)の各項目を含んでいる。タイプの項目は、テーブルのエントリーのタイプを表わすものであり、「アクティブ(Active)」あるいは「通常(Regular)」のいずれかの値をとる。宛先アドレスおよび送信元アドレスの項目は、転送対象のパケットの宛先IPアドレスおよび送信元IPアドレスにそれぞれ対応するものである。転送先の項目はは、宛先アドレスと送信元アドレスの組み合せがマッチしたパケットに関して、適用すべきアクティブコードの識別情報あるいは転送先の通信装置のIPアドレスを表わすものである。
【0061】
タイプの値が「アクティブ」であるエントリーは、対象のパケットに適用するアクティブコードを指定するものであり、その転送先の項目にはアクティブコードを識別する情報が書かれている。
タイプの値が「通常」であるエントリーは、対象のパケットの転送先の通信装置のアドレスを指定するものであり、その転送先の項目には転送先の通信装置のIPアドレスが書かれている。
【0062】
図14に示す転送先テーブルの例において、第1のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「1.2.3.4」であり、送信元アドレスが「Any(何でもよい)」であり、転送先が「アクティブコードA」となっている。これは、送信元アドレスがいかなるアドレスであっても、宛先アドレスが「1.2.3.4」にマッチする場合には、該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードAが実行されることを表わしている。
また、第2のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「10.50.0.0」であり、送信元アドレスが「11.12.13.14」であり、転送先が「アクティブコードB」となっている。これは、宛先アドレスと送信元アドレスの両方がそれぞれ上記の値にマッチした場合には、該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードBが実行されることを表わしている。
また、第3のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「Any(何でもよい)」であり、送信元アドレスが「157.2.3.0」であり、転送先が「アクティブコードC」となっている。これは、宛先アドレスがいかなるアドレスであっても、送信元アドレスが「157.2.3.0」にマッチする場合には該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードCが実行されることを表している。
【0063】
なお、図14に示すように、転送先テーブルにおいては、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも上に存在している。そして、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも優先的に適用される。また、各エントリーは、通信装置へ到着したパケットのみに対して適用され、転送のために送出されるパケットに対しては適用されない。
【0064】
以上説明した通信装置の構成をまとめる。
図13に示したインタフェース部は、通信線毎に設けられており、当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行う。
また、転送先テーブル記憶部は、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラム(アクティブコード)の情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する。
また、アクティブネットワーク実行環境は、前記プログラムを予め記憶しているとともに、このプログラムを実行する。
また、転送処理部は、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す。
【0065】
次に、本実施形態におけるアクティブコードのセキュリティに関するモデルについて説明する。このセキュリティのモデルは、各々のアクティブコードが、アクティブコードの所有者に関わるパケットのみに対して作用することを保証するためのものである。そのために、このセキュリティのモデルは、公開鍵のインフラストラクチャの存在を前提として、それを利用することとする。
【0066】
図15は、上記のセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。図15において、符号7051はユーザAのユーザ端末装置、7061は認証局(Certification Authority )装置である。この認証局の機能は、公の機関によって提供されるものであっても良いし、あるいはISP(Internet Service Provider,インターネット接続サービス提供者)などによって提供されるものであっても良い。
なお、図15に示す例では、ユーザ端末装置7051のIPアドレスは「1.2.3.4」である。以下では、ユーザAが、アクティブコードAを通信装置7001に登録するための処理の手順を説明する。なお、以下において、ユーザAはアクティブコードAの開発者であっても良いが、その必然性はなく、他の開発者が開発したアクティブコードAをユーザAが入手し、それを通信装置7001に登録するものでも良い。
【0067】
まず(1)で示すように、ユーザAのユーザ端末装置7051は、周知技術を用いて鍵のペアすなわち公開鍵と秘密鍵とを生成する。
そして(2)で示すように、ユーザ端末装置7051は、上で生成された公開鍵を認証局装置7061に登録する。このとき、認証局装置7061は、ユーザ端末装置7051のIPアドレスを検証する。この検証が正しく行なわれると、公開鍵そのものと、ユーザAを識別するための情報と、ユーザ端末装置7051のIPアドレス「1.2.3.4」が認証局装置7061に記憶される。
【0068】
次に(3)で示すように、ユーザ端末装置7051は、上で生成された秘密鍵を用いてアクティブコードAに電子署名する処理を行う。
そして(4)で示すように、ユーザ端末装置7051は、秘密鍵で署名されたアクティブコードAを通信装置7001に登録する処理を行う。
【0069】
これを受けて通信装置7001は、(5)で示すように、アクティブコードAの登録を行ったユーザAの電子証明書を認証局装置7061から取得する。この電子証明書には、ユーザAを識別する情報と、そのIPアドレス「1.2.3.4」と、上の(2)において登録された公開鍵そのものとが含まれている。
そして(6)で示すように、通信装置7001は、上記の電子証明書から取り出したユーザAの公開鍵を用いて、上の(4)において登録されたアクティブコードAの電子署名を検証する。そして、これが正しく検証された場合には、通信装置7001は、アクティブコードAをアクティブネットワーク実行環境に導入する処理を行う。また、これに応じて、転送先テーブルに必要なエントリーが追加される。
【0070】
なお、この(1)および(2)の処理が行われて一旦ユーザAの公開鍵が認証局装置7061に登録されると、ユーザ端末装置7051はその公開鍵に対応する秘密鍵を用いてアクティブモジュールをいくつでも通信装置7001に登録することも可能である。
【0071】
つまり、通信装置7001は登録部(図示せず)を備えており、この登録部は、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするものである。
【0072】
なお、上で説明した通信装置へのアクティブコードの登録の手順が有効に機能するためには、次の2点が前提となる。
第1の前提として、ユーザがどの通信装置(ノード)にアクティブコードを登録すれば良いかは事前にわかっている。あるいは、どの通信装置(ノード)にアクティブコードを登録すればよいかがわかるためのディレクトリサービスが提供されている。
第2の前提として、通信装置(ノード)は、目的の認証局の公開鍵を事前にオフラインで取得しているか、他の認証局から取得するか、あるいは他の何らかの手段で取得できる。
【0073】
次に、矛盾の解消のための制御について説明する。
ある通信装置(ノード)において、n個のアクティブコードが登録されており、i番目(1≦i≦n)とj番目(1≦j≦n)のアクティブコードが、それぞれ集合C(i)(C(i)⊆A)と集合C(j)(C(j)⊆A)に属するパケットに対するものであると定義されているとき、集合(c(i)∩c(j))が空集合ではないようなiおよびjの組み合せ(但しi≠j)が存在する場合があり得る。つまり、あるパケットがi番目のアクティブコードにもj番目のアクティブコードにも適用されるような定義が行われている場合である。このような矛盾は、次の2通りのシナリオのいずれかによって解消することとする。
【0074】
第1の矛盾の解消のシナリオは、パケット(s,d)に関して、
(s∈O(k)Λd∈O(l))Λ(k≠l)
であるために、
(s,d)∈c(i)∩c(j)
となる場合に関するものである。但し、O(k)およびO(l)は、それぞれユーザkおよびlによって所有されるIPアドレスの集合である。
つまり、あるパケットに関して、送信元のユーザ用のアクティブコードと宛先のユーザ用のアクティブコードとの両方が通信装置に登録されており、そのような通信装置にこのパケット(s,d)が到着した場合である。このような場合には、宛先のユーザのアクティブコードを優先的に適用することが望ましいと考えられる。
【0075】
つまり、転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するようにする。
【0076】
このように、送信元のユーザのアクティブコードよりも宛先のユーザのアクティブコードを優先させることは、アクティブネットワークの機能を用いてDDoS(分散型DoS,Distributed Denial of Service )攻撃を防御するメカニズムを構築する場合に特に重要となる。そのようにすることによって、宛先のユーザつまり被攻撃者となり得る者のアクティブコードが、攻撃者となる可能性があるもののアクティブコードよりも優先されるためである。
【0077】
第2の矛盾の解消のシナリオは、あるパケット(s,d)に関して適用されるべき2つ以上のアクティブコードが同一のユーザによって登録されている場合に関するものである。このような場合には、該当するアクティブコードのうちの最も古く登録されたものが、他のものよりも優先的に適用されるようにすることが望ましいと考えられる。こうすることにより、ユーザが新しいアクティブコードを登録しようとする際には、新しいアクティブコードを有効にするために事前に古いアクティブコードを削除することが保証されるからである。
【0078】
次に、これまでに述べたようなアクティブネットワークのノードとして機能する通信装置のインプリメンテーションの例について説明する。図16は、Linux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行う通信装置を実現した場合の概略図である。
【0079】
図16に示す例では、専用のIPスタックを処理(process)の一部として構築している。これによって、図14に示したような転送先テーブルを実現し、実行環境(アクティブネットワーク実行環境)からこの転送先テーブルにエントリーの追加や削除を行えるようにしている。また、これに伴い、カーネル(kernel)内のIPスタックは不要となるため、カーネルにおけるルーティングを不活性化している。そして、到着パケットのコピーがデータリンク部分から作成され、そのパケットがライブラリlibpcapを通してJava(登録商標)仮想マシンで補足できるようにしている。
【0080】
処理の一部として構築した専用のIPスタックは、アクティブパケット、つまり転送先テーブル上での所定の定義にマッチするIPアドレス(宛先IPアドレス、送信元IPアドレス、あるいはそれらの組み合せ)を有するパケットは、実行環境上で起動されるアクティブコードに対して渡される。一方、アクティブパケット以外の通常のパケットは、カーネルにおけるIPスタックと同様の方法で隣接する通信装置等へ向けた転送が行われる。アクティブパケットであれ通常パケットであれ、この通信装置から送出されるすべてのパケットは、ライブラリlibnetを通して送出される。こうすることにより、各々処理されたパケットのヘッダに記録された送信元アドレスは、元々の送信元アドレスのままの状態で、ネットワークに送出されることとなる。
【0081】
また、標準のJava(登録商標)のAPI(アプリケーションプログラムインタフェース)である「java.security 」を用いることによってセキュリティモデルをインプリメンテーションすることが可能である。この標準APIは、セキュリティモデルを構築するために必要な機能のほとんどを提供している。また、証明書のための形式としては「X.509」証明書形式を用いることが可能であり、アクティブコードの所有者のIPアドレスを「X.509」の識別名(DN, distinguished name)の一部に含めることにより、本実施形態のセキュリティモデルを実現することができる。
【0082】
なお、言うまでもなく、上記インプリメンテーションではコンピュータシステムを用いることによってアクティブネットワーク実行環境を備えた通信装置を構築している。そして、上述した一連の処理、すなわち到着パケットの複製の作成とその捕捉や、転送先テーブルを参照しながらのアクティブパケットおよび通常パケットの転送の処理や、アクティブネットワーク実行環境上でのアクティブコードの起動とその処理の実行や、処理されたパケットのネットワークへの送出などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【0083】
なお、上述した各コンピュータプログラムは、コンピュータ読取可能な記録媒体に記録されており、通信装置等に搭載されたCPU(中央処理装置)がこの記録媒体からコンピュータプログラムを読み取って、攻撃防御あるいはサービスモジュール提供等のための各処理を実行する。また、「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0084】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0085】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0086】
また、下流のゲート装置または通信装置から上流の通信装置へのデータの送信は、アクティブネットワークの使用に限定するものではなく、任意の通信プロトコルの使用が可能である。
【0087】
また、ゲート装置及び通信装置はゲートウェイやルータに限られるものではなく、ブリッジ、イーサネット(登録商標)、インタフェース変換装置など、IPアドレスを持つ任意の通信ノードであっても良い。
【0088】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0089】
【発明の効果】
以上説明したように、DDoS攻撃の被攻撃者の通信装置がDDoS攻撃の攻撃の容疑トラヒックを検出すると、初期の伝送帯域制御により、その上流の各通信装置で攻撃容疑トラヒックの伝送帯域を制限することが可能になるため、早期にネットワークの輻輳を改善することが可能となり、DDoS被攻撃者のサービスの停止を抑止することが可能になるとともに、正規利用者からの通信パケットの割合を増加させることが可能になる。
【0090】
また、初期の伝送帯域制御による攻撃容疑パケットの帯域制限後は、各通信装置の攻撃容疑パケットの入力伝送帯域に応じて伝送帯域制限値が調整することが可能になるため、伝送帯域をネットワーク上の各通信装置に有効に分配することが可能となり、攻撃容疑パケットとして分類された正規パケットの伝送帯域を増加させ、正規ユーザのサービス性の低下を段階的に改善することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態を適用できるネットワークの構成図である。
【図2】同実施の形態による攻撃容疑検出条件の設定の例である。
【図3】同実施の形態による不正トラヒック検出条件の設定の例である。
【図4】同実施の形態によるゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルである。
【図5】同実施の形態によるフィルタ2021における分類アルゴリズムである。
【図6】同実施の形態によるゲート装置2001の攻撃容疑パケット検出時の動作を示すフローチャートである。
【図7】同実施の形態による図1の構成における伝送帯域制限値の算出の例である。
【図8】同実施の形態による通信装置2002、2003の伝送帯域制限指示受信時の動作を示すフローチャートである。
【図9】同実施の形態によるゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を示すフローチャートである。
【図10】同実施の形態による図1の構成における伝送帯域制限調整値の算出の例である。
【図11】同実施の形態によるゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【図12】同実施の形態を実行できるアクティブネットワークが前提とするネットワークの構成である。
【図13】同実施の形態を実行できるアクティブネットワークによる通信装置内部の構成を示すブロック図である。
【図14】同実施の形態を実行できるアクティブネットワークによる転送先テーブル記憶部に記憶されている転送先テーブルの一例を示す概略図である。
【図15】同実施の形態を実行できるアクティブネットワークによるセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。
【図16】同実施の形態を実行できるアクティブネットワークの通信装置をLinux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行うように実現した場合の概略図である。
【符号の説明】
2000…サーバ
2001…ゲート装置
2002〜2006…通信装置
2007〜2010…端末装置
2021…フィルタ
2022…正規クラス
2023…正規キュー
2024…不正クラス
2025…不正キュー
2026…容疑クラス
2027…容疑キュー
7000…ユーザのコンピュータ
7001…通信装置
7010…アクティブネットワーク実行環境
7011…コード実行部
7012…コード記憶部
7021…転送処理部
7022…転送先テーブル記憶部
7023a、7023b…インタフェース部
7024a、7024b…通信線
7051…ユーザ端末装置
7061…認証局装置
【発明の属する技術分野】
本発明は、ネットワークに接続された機器をネットワーク経由での攻撃から防御するための、サービス不能攻撃の防止方法およびその装置ならびにそのコンピュータプログラムに関するものである。
【0002】
【従来の技術】
従来、TCP/IP(Transmission control protocol/internet protocol)などのネットワークプロトコルは、オープンとなっており、互いに信用されるグループで使われるように設計されている。このため、コンピュータのオペレーティングシステムでは、大量の通信トラフィック(データ等)を攻撃目標のサーバに送信することによって、ネットワークの伝送帯域やサーバの資源を消費して正当な利用者の利用を妨げようとするサービス不能攻撃(以下、「DoS(Denial of Service)攻撃」と記す)を防ぐことは考慮されていない。このようなDoS攻撃に対する防御の方法は増えてきているが、複数箇所から同時に連携してDoS攻撃を行う「DDoS(Distributed Denial of Service)攻撃」に対する防御の方法は未だ効果的な方法が開発されていない。
【0003】
このDDoS攻撃に対する一防御の方法として、UUNET社のCenterTrackがある。これは、インターネットのルータに診断機能を付加し、DDoS攻撃の送信元を追跡する技術である。
【0004】
また、DDoS攻撃を検出したノードより攻撃元に近い上流ノードで攻撃トラヒックを制限するための技術としては、本出願の発明者等が出願済みの分散型サービス不能攻撃の防止方法(特願2001−274016)、AT&T社論文(R.Mahajan, S.M.Bellovin, S.Floyd, J.Ioannidis, V.Paxson and S.Shenker: “Controlling high bandwidth aggregates in the network − extended version”(2001))、IDIP(Intruder Detection and Isolation Protocol)(D.Schnackenberg, K.Djahandari and D.Sterne: “Infrastructure for intrusion detection and response”, Proceedings of the DARPA Information Survivability Conference and Exposition(DISCEX), South Carolina(2000))などがある。AT&T社論文及びIDIPは、攻撃検出イベントを攻撃経路の上流ノードへ伝達し、上流ノードで伝送帯域制限を行うための方式やプロトコルである。本出願の発明者等が出願済みの分散型サービス不能攻撃の防止方法は、ルータにインストールされている移動型パケットフィルタリングプログラムが、自らのプログラムの複製を作成し、その複製を上流ルータ移動させ、各上流ルータへ移動してきた移動型パケットフィルタリングプログラムは、それぞれDDoS攻撃者のホストからサーバに向けて送られているトラフィック全てを通過させないようする技術である。
【0005】
【発明が解決しようとする課題】
Center Trackは、攻撃を受けた被害者が攻撃者を特定することを助ける技術ではあるが、実際に攻撃を受けているときにその攻撃を防御することはできない。加えて、複数箇所に分散された分散型DoSの攻撃元になっているコンピュータやそのコンピュータが接続されているネットワークの管理者に連絡をしないと、攻撃そのものを止めることはできないため、実質的には攻撃を止めるまでに何時間、あるいは何日もの時間がかかってしまうという問題点がある。
【0006】
また、この出願の同発明者等が出願済みの分散型サービス不能攻撃の防止方法、AT&T論文及びIDIPにおては、攻撃パケットと特定されたパケットを次ノードへ送出せず、全て破棄してまう。よって、標的となるサーバのダウンやルータ装置の過負荷等によりサービスが停止する一次被害を防止することはできるが、正規利用者からのパケットを攻撃パケットと識別する方法がないため、誤って正規利用者からの正規パケットも攻撃パケットとして破棄してしまう可能性があり、正規利用者の利用性が低下するといった二次被害を引き起こしてしまうという問題がある。
【0007】
本発明は、上記事情を考慮してなされたものであり、その目的は、正規利用者へのサービス性を低下させる被害を軽減しながらDDoS攻撃を防御できる、分散型サービス不能攻撃防止方法及び装置ならびにプログラムを提供することにある。
【0008】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項1に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANと、前記LANおよびネットワークの間に介挿されたゲート装置とを有するネットワークシステムにおいて、前記ゲート装置は、入力される通信トラヒックから攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の前記通信装置へ送信する処理を行い、前記通信装置は、前記攻撃容疑トラヒックの伝送帯域を下流のゲート装置または通信装置から受信した前記伝送帯域制限値に制限すると共に、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する処理を行い、前記攻撃容疑パケット送出元の最上流の前記通信装置に達するまで再帰的に、前記攻撃容疑パケットの伝送帯域の制限と、前記攻撃容疑トラヒックの伝送帯域制限値送信との処理を行い、前記ゲート装置は、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信する処理を行い、前記上流の通信装置は、前記下流のゲート装置または通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域問合せを受信して、当該通信装置における前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置または通信装置へ送信する処理を行い、前記ゲート装置は、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する処理を行い、前記通信装置は、前記攻撃容疑トラヒックの伝送帯域を下流のゲート装置または通信装置から受信した前記伝送帯域制限調整値に制限すると共に、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信する処理と、前記下流の通信装置から受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する処理とを行い、前記攻撃容疑パケット送出元の最上流の前記通信装置に達するまで再帰的に、伝送帯域制限調整値に前記攻撃容疑パケットの伝送帯域の制限と共に、前記攻撃容疑トラヒックの伝送帯域制限調整値の送信との処理を行う、ことを特徴とする分散型サービス不能攻撃防止方法である。
【0009】
請求項2に記載の発明は、請求項1に記載の分散型サービス不能攻撃防止方法であって、前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数11】
により算出されることを特徴とする。
【0010】
請求項3に記載の発明は、請求項1または請求項2に記載の分散型サービス不能攻撃防止方法であって、前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数12】
により算出されることを特徴とする。
【0011】
請求項4に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置において、入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出するトラヒック監視手段と、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記トラヒック監視手段によって検出された攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する帯域制限指示手段と、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せ手段と、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信する伝送帯域値受信手段と、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する帯域制限調整手段と、を備えることを特徴とするゲート装置である。
【0012】
請求項5に記載の発明は、請求項4に記載のゲート装置であって、前記帯域制限指示手段は、前記伝送帯域制限値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数13】
により算出し、前記帯域制限調整手段は、前記伝送帯域調整値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数14】
により算出することを特徴とする。
【0013】
請求項6に記載の発明は、防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置において、下流のゲート装置あるいは通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限する帯域制御手段と、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する帯域制限指示手段と、前記下流のゲート装置あるいは通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域問い合わせを受信し、当該通信装置における前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置あるいは通信装置へ送信する帯域通知手段と、前記下流のゲート装置あるいは通信装置から攻撃容疑トラヒックの伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限する帯域制御調整手段と、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せ手段と、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信する伝送帯域値受信手段と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値と前記受信した伝送帯域制限調整値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記上流の通信装置へ送信する帯域制限調整手段と、を備えることを特徴とする通信装置である。
【0014】
請求項7に記載の発明は、請求項6に記載の通信装置であって、前記帯域制限指示手段は、前記伝送帯域制限値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数15】
により算出し、前記帯域制限調整手段は、前記伝送帯域調整値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数16】
により算出することを特徴とする。
【0015】
請求項8に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置上で実行されるコンピュータプログラムであって、入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、をコンピュータに実行させることを特徴とする分散型サービス不能攻撃防止プログラムである。
【0016】
請求項9に記載の発明は、防御対象であるコンピュータおよびLANを防御するゲート装置が接続されるたネットワークのノードを構成する通信装置上で実行されるコンピュータプログラムであって、下流のゲート装置又は通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限するステップと、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せを受信し、前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置又は通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、をコンピュータに実行させることを特徴とする分散型サービス不能攻撃防止プログラムである。
【0017】
請求項10に記載の発明は、請求項8または請求項9に記載の分散型サービス不能攻撃防止プログラムであって、前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数17】
により算出され、前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数18】
により算出されることを特徴とする。
【0018】
請求項11に記載の発明は、複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、の各処理をコンピュータに実行させる分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体である。
【0019】
請求項12に記載の発明は、防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、下流のゲート装置又は通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限するステップと、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せを受信し、前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置又は通信装置へ送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、の各処理をコンピュータに実行させる分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体である。
【0020】
請求項13に記載の発明は、請求項11または請求項12に記載の分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体であって、前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
【数19】
により算出され、
前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
【数20】
により算出されることを特徴とする。
【0021】
【発明の実施の形態】
以下図面を参照し、この発明の一実施の形態について説明する。図1は、同実施の形態を適用したネットワークの構成図である。この図において、2000はサーバ、2001はこの発明の一実施形態によるゲート装置(ゲートウェイ)、2002〜2006はこの発明の一実施形態による通信装置(ルータ)、2007〜2010は端末装置である。DDoS攻撃の被攻撃者のサーバ2000が収容されているLAN(ローカルエリアネットワーク)は、ゲート装置2001によって外部のネットワークに接続されている。そして、ネットワークは通信装置2002、2003、2004、2005、2006を有している。DDoS攻撃者によって操作された端末装置2007、2008が、攻撃パケットを被攻撃者のサーバ2000に向かって送信すると、攻撃パケットが被攻撃者収容LANに集中して混雑が発生することにより、ゲート装置2001の資源を消費してしまい、DDoS攻撃者とは無関係な正規利用者の端末2009、2010からサーバ2000に接続できなくなるという現象が起こる。
【0022】
ゲート装置2001は、予めサーバ2000を保有する利用者が設定した攻撃容疑検出条件を記憶している。図2に攻撃容疑検出条件の設定の例を示す。さらに、ゲート装置2001は、防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値を記憶している。
【0023】
図2における攻撃容疑検出条件は、検出属性、検出閾値及び検出間隔の組からなる3組のレコードで構成される。ここでは、番号はレコードを特定するために便宜上使用される。攻撃容疑検出条件は、受信パケットが攻撃パケットである可能性がある攻撃容疑パケットを検出するために使用され、3組のレコードの内のいずれかのレコードの条件にトラヒックが一致した場合、このトラヒックの通信パケットは攻撃容疑パケットであると認識される。検出属性は、IPパケットの第3/4層属性種別とそれら属性値の組を指定するが、第3層属性であるIPの「Destination IP Address(宛先IPアドレス)」という属性種別は必ず指定される。図2において、番号1のレコードの検出属性は、「Destination IP Address(宛先IPアドレス)」が「192.168.1.1/32」であり(dst=192.168.1.1/32)、IPの上位層(第4層)のプロトコル種別を示す「Protocol(プロトコル)」が「TCP」であり(Protocol=TCP)、かつ、第4層プロトコルがどのアプリケーションの情報かを示す「Destination Port(宛先ポート番号)」が「80」である(Port=80)という属性種別とそれら属性値の組で指定される。番号2のレコード検出属性は、「Destination IP Address(宛先IPアドレス)」が「192.168.1.2/32」であり(dst=192.168.1.2/32)、かつ、「Protocol(プロトコル)」が「UDP(User Datagram protocol)」である(Protocol=UDP)という属性種別とそれら属性値の組で指定される。また、番号3のレコード検出属性は、「Destination IP Address(宛先IPアドレス)」が「192.168.1.0/24」である属性種別とその属性値で指定される。検出閾値は、同じレコードで指定される検出属性を持つ受信パケットのトラヒックを攻撃容疑トラヒックとして検出するための最低の伝送帯域を、検出間隔は同じく最低の連続時間を示している。
【0024】
また、ゲート装置2001及び通信装置2002〜2006は、攻撃容疑パケットのトラヒックを分析し、不正トラヒックを検出するための不正トラヒック検出条件を保有する。図3に不正トラヒック検出条件の設定の例を示す。ここでは、番号はレコードを特定するために便宜上使用される。不正トラヒック条件は、既知のDDoS攻撃の複数のトラヒックパターンから構成され、攻撃容疑パケットのトラヒックがいずれかのトラヒックパターンに合致した場合に、不正トラヒックであると認識される。図3の番号1の不正トラヒック条件は、「伝送帯域T1Kbps以上のパケットがS1秒以上連続送信されている」というトラヒックパターンを示している。また、番号2の不正トラヒック条件は、「伝送帯域T2Kbps以上、第3層プロトコルであるICMP(Internet Control Message Protocol)上のエコー応答(Echo Reply)メッセージのパケットがS2秒以上連続送信されている」というトラヒックパターンを示している。番号3の不正トラヒック条件は、「伝送帯域T3Kbps以上、データが長すぎるためパケットに含まれるデータは複数IPパケットに分割して送信していることを示すフラグメントパケットがS3秒以上連続送信されている」というトラヒックパターンを示している。
【0025】
ここで、ゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルを説明する。図4は本実施の形態におけるゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルを示す。帯域制御モデルは、入力パケットをクラス別に分類し、このクラスに従ってパケットの出力帯域制御を実現するためのモデルを示す。フィルタ2021は、入力されたパケットを正規クラス2022、容疑クラス2026、不正クラス2024の3つのクラスに分類する。なお、このフィルタ2021の分類アルゴリズムは後述する。正規クラス2022はデフォルトクラスであり、正規クラス2022に分類されたパケットは正規キュー2023につながれ、伝送帯域を制限せずに出力される。容疑クラス2026に分類されたパケットは、容疑パケットか否かを判断するための防御対象のサーバ2000及びサーバ2000が収容されているLAN毎に発生する容疑キュー2027につながれ、防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値に出力伝送帯域が制限される。なお、容疑シグネチャの生成については後述する。サーバ2000を収容しているゲート装置2001の容疑キューの伝送帯域制限値は防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値を使用するが、上流の通信装置2002〜2006では、下流の通信装置から受信した伝送帯域制限値を使用する。不正クラス2024に分類されたパケットは、不正キュー2025につながれ、サーバ所有者やネットワークのポリシーに関わらず、0または0に近い伝送帯域に制限される。
【0026】
続いて、ゲート装置2001及び通信装置2002〜2006が伝送帯域制限を実行するための、フィルタ2021の分類アルゴリズムについて説明する。ゲート装置2001及び通信装置2002〜2006は、当該通信装置に入力される全ての通信パケットをこの分類アルゴリズムで分類する。図5はフィルタ2021における分類アルゴリズムを示す。まず、ステップS3003において、フィルタ2021は、入力されたパケットが不正シグネチャと合致するか判断する。不正シグネチャに合致した場合、パケットは不正クラス2024に分類される(ステップS3004)。不正シグネチャに合致しなかった場合は、ステップS3005に進み、パケットが容疑シグネチャであるか判断し、容疑シグネチャに合致すれば容疑クラス2026へ分類され(ステップS3006)、合致しない場合には正規クラス2022へ分類される(ステップS3007)。このようにして各クラスに分類されたパケットは、正規キューであれば伝送帯域を制限せずに出力され、容疑キュー及び不正キューであればそれぞれの伝送帯域制限値に従って伝送帯域が制限されて出力される。なお、容疑シグネチャ及び不正シグネチャの生成については後述する。
【0027】
次に、DDoS攻撃に対する対策方式の処理手順を示す。まず、図6のゲート装置2001の攻撃容疑パケット検出時の動作を示すフローチャート、図8の通信装置2002、2003の伝送帯域制限指示受信時の動作を示すフローチャート及び図9のゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を示すフローチャートを用いてDDoS攻撃発生と同時に初期の伝送帯域制限を実施する処理手順を説明する。
【0028】
図6のステップS3011において、ゲート装置2001は、攻撃容疑検出条件(図2)に従って、検出間隔で指定されているより長い時間連続して、検出閾値で指定されている以上の伝送帯域を使用している、検出属性に合致するトラヒックをチェックし、3組のレコードの内のいずれかのレコードに合致した場合、このトラヒックを攻撃容疑トラヒックとして検出する。すると、ステップS3012において、この検出された攻撃容疑トラヒックが満たしている攻撃容疑検出条件のレコードの検出属性を、容疑シグネチャとして生成する。容疑シグネチャは、攻撃容疑トラヒックの通信パケット、すなわち攻撃容疑パケットを識別するために用いられる。例えば、図2の設定例を用いて説明すると、番号1のレコードの条件で検出されるパケットの容疑シグネチャは{dst=192.168.1.1/32, Protocol=TCP, Port=80}となる。
【0029】
次いで、ステップS3013において、ゲート装置2001は、ステップS3012において生成した容疑シグネチャをフィルタ2021に登録する。次に、防御対象のサーバ2000及びサーバ2000が収容されているLANの所有者によって予め設定された伝送帯域制限値に攻撃容疑トラヒックの伝送帯域を制限するための容疑キュー2027を生成する。なお、同一防御対象に関する容疑キューが既に生成済みの場合は、新たな容疑キューの生成は行わない。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って、容疑シグネチャに合致する攻撃容疑パケットの伝送帯域の制限が実行される。
【0030】
そして、ゲート装置2001は、ステップS3014において、容疑シグネチャと算出した攻撃容疑パケットの伝送帯域制限値とを含んだ伝送帯域制限指示を1つ上流にある通信装置2002、2003に送信する。ここで、伝送帯域制限値の算出方法を説明する。なお、本明細書においては、ゲート装置あるいは通信装置を識別するための添え字を持つ
【数21】
などの変数を便宜上Ss(d+1,i,k)、Ss(d,i)、nu(d,i)のように記述する。ネットワークにおいて、ゲート装置2001の存在する階層を初期値0として通信装置がゲート装置2001から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別される通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(すなわち深さd+1)にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とする。このとき、伝送帯域制限値は、以下の式で算出される。
【数22】
よって、ゲート装置2001は、上記の式により、通信装置2002、2003に指示する伝送帯域制限値を算出する。これは、ゲート装置2001は、自身が持つ伝送帯域制限値を1つ上流の通信装置全てに均等に割り当てることを示す。図7は図1の構成における伝送帯域制限値の算出の例を示す図である。この図において、ゲート装置2001は深さd=0であり、この深さd=0には1つの装置のみが存在するためゲート装置2001のiは1である。ゲート装置2001の伝送帯域制限値の初期値Ss(0,1)は、攻撃容疑トラヒックを検出したときのレコードに対応した伝送帯域制限値である。ここでは例として、伝送帯域制限値が800kbpsであったとする。そして、ゲート装置2001には2つの1つ上流の通信装置2002、2003が存在するため、1つ上流の通信装置数nu(0,1)は2である。よって、ゲート装置2001には、1番目の1つ上流の通信装置2002の伝送帯域制限値Ss(1,1,1)及び2番目の1つ上流の通信装置2003の伝送帯域制限値Ss(1,1,2)は、Ss(0,1)=800kbpsをnu(0,1)=2で除算した400kbpsとなる。
【0031】
次に、伝送帯域制限指示受信時の通信装置2002、2003の動作を説明する。図8のステップS3021において、通信装置2002、2003は、ゲート装置2001が送信した(ステップS3014)伝送帯域制限指示を受信する。次に、ステップS3022に進み、通信装置2002、2003は、受信した伝送帯域制限指示に含まれる容疑シグネチャをフィルタ2021に登録し、容疑シグネチャ及び攻撃容疑パケットの伝送帯域制限値に対応した容疑キュー2027を生成する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って容疑シグネチャに合致する攻撃容疑パケットの伝送帯域の制限が実行される。
【0032】
通信装置2002はステップS3023において、その上流にある通信装置2004に、通信装置2003はその上流にある通信装置2005及び2006に、受信した容疑シグネチャと、受信した伝送帯域制限値から算出した伝送帯域制限値とを含んだ伝送帯域制限指示を送信する。このときの算出方法は、ゲート装置2001のステップS3003と同様である。すなわち、通信装置2002、2003は、ゲート装置2001から受信した伝送帯域制限値を1つ上流の通信装置全てに均等に割り当てる。図7を用いて説明すると、通信装置2002、2003の深さdは1であり、この深さd=1には2つの通信装置が存在し、その1番目の通信装置2002のiは1、2番目の通信装置2003のiは2である。通信装置2002の伝送帯域制限値Ss(1,1)及び通信装置2003の伝送帯域制限値Ss(1,2)は、それぞれゲート装置2001から受信した伝送帯域制限値Ss(1,1,1)、Ss(1,1,2)であり、すなわち400kbpsである。そして、通信装置2002には1つの上流の通信装置2004が存在するため、1つ上流の通信装置数nu(1,1)は1である。よって、通信装置2004の伝送帯域制限値Ss(2,1,1)は、Ss(1,1)=400kbpsをnu(1,1)=1で除算した400kbpsとなる。一方、通信装置2003には2つの上流の通信装置2005、2006が存在するため1つ上流の通信装置数nu(1,2)は2である。よって、通信装置2005の伝送帯域制限値Ss(2,2,1)及び通信装置2006の伝送帯域制限値Ss(2,2,2)は、Ss(1,2)=400kbpsをnu(1,2)=2で除算した200kbpsとなる。
【0033】
そして、通信装置2004は通信装置2002から、通信装置2005、2006は通信装置2003から伝送帯域制限指示を受信し、通信装置2002、2003におけるステップS3021〜S3022と同様に動作する。通信装置2004〜2006は、ルーチングテーブルなどにより上流に通信装置がないと判断できるため、ステップS3023は実行しない。
【0034】
次に、ゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を説明する。図9のステップS3031において、ゲート装置2001及び通信装置2002〜2006は、DDoS攻撃者がパケットを送出しているネットワークを特定するため入力パケットを分析して、不正トラヒック条件のいずれかのパターンに合致するトラヒックを検出する。すると、ゲート装置2001及び通信装置2002〜2006は、ステップS3032において、この検出された不正トラヒック条件を満たすパケットの送信元IPアドレスを不正アドレス範囲として特定し、この不正アドレス範囲であり、かつ、容疑シグネチャに合致するという条件を不正シグネチャとする。そして、ゲート装置2001及び通信装置2002〜2006は、ステップS3033においてこの不正シグネチャをフィルタ2021に登録する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って不正シグネチャで識別される攻撃パケットの伝送帯域はさらに制限される。すなわち、攻撃パケットは不正クラス2024に分類され、正規利用者からのパケットである正規パケットのみが攻撃容疑パケットとして容疑クラス2026に分類される。
【0035】
以上説明した初期の伝送帯域制限を実施することにより、早期にネットワークの伝送帯域の溢れを防いだ後、攻撃容疑パケットの入力トラヒックに応じて、伝送帯域制限値の調整を実施する処理手順を説明する。図10は伝送帯域制限調整値の算出の例、図11はゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【0036】
図10において、図7に示す初期の伝送帯域制限後、端末装置2007から2Mbps、端末装置2008から2Mbpsの攻撃パケットが送信されており、また、端末装置2009から600kbps、端末装置2010からは100kbpsの攻撃容疑パケットが送信されている。
【0037】
通信装置2004は、端末装置2007から入力される攻撃パケットを不正クラス2024に分類しており、当該通信装置2004に入力される全攻撃容疑トラヒックは端末装置2009から受信される600kbpsである。これは、初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(2,1,1)=400kbpsより大きいため、下流の通信装置2002には、攻撃容疑トラヒックを400kbpsに帯域制限して出力している。通信装置2002は、上流の通信装置2004から入力される攻撃容疑トラヒックの伝送帯域が400kbpsであり、初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(1,1,1)=400kbps以下であるため、下流のゲート装置2001には400kbpsの攻撃容疑トラヒックを出力している。
【0038】
一方、通信装置2005は、端末装置2008から入力される攻撃パケットを不正クラス2024に分類しているため、下流の通信装置2003に出力している攻撃容疑トラヒックは0kbpsである。また、通信装置2006に入力される攻撃容疑トラヒックは、端末装置2010から受信される100kbpsである。これは初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(2,2,2)=200kbps以下であるため、下流の通信装置2003には、そのまま100kbpsの攻撃容疑トラヒックを出力している。よって、通信装置2003は、上流の通信装置2005、2006から入力される攻撃容疑トラヒックの伝送帯域の合計が100kbpsと、初期の伝送帯域制限の手順で受信した伝送帯域制限値Ss(1,1,2)=400kbps以下であるため、下流のゲート装置2001には100kbpsの攻撃容疑トラヒックを出力している。
【0039】
図11のステップS3041において、ゲート装置2001は、初期伝送帯域制限実施から一定時間後、全上流の通信装置2002、2003に当該ゲート装置2001に入力される攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる。すると、ステップS3051において、通信装置2002、2003は、平均入力伝送帯域の問合せを受信する。そして、ステップS3052において、通信装置2002、2003は、自身の攻撃容疑トラヒックの平均入力伝送帯域値をゲート装置2001に通知する。
【0040】
次に、ステップS3042においてゲート装置2001は、通信装置2002,2003から攻撃容疑トラヒックの平均入力伝送帯域値を受信する。すると、ステップS3043において、ゲート装置2001は、受信した平均入力伝送帯域値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を、全上流の通信装置2002、2003に送信する。ここで、伝送帯域制限値の算出方法を説明する。なお、本明細書においては、ゲート装置あるいは通信装置を識別するための添え字を持つ
【数23】
などの変数を便宜上Ss’(d+1,i,k)、B(d+1,i,k)、Ss’(d,i)のように記述する。ネットワークにおいて、ゲート装置2001の存在する階層を初期値0として通信装置がゲート装置2001から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの平均入力伝送帯域値B(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(d+1,i,k) とする。このとき、伝送帯域制限調整値は、以下の式で算出される。
【数24】
よって、ゲート装置2001は、上記の式により、通信装置2002、2003に指示する伝送帯域制限調整値を算出する。これは、ゲート装置2001は、上流の通信装置の攻撃容疑トラヒックの平均入力伝送帯域の比率に従って、攻撃容疑トラヒックの伝送帯域値を調整することを示している。ただし、ゲート装置2001の伝送帯域制限調整値の初期値Ss’(0,1)は伝送帯域制限値の初期値Ss(0,1)と同じである。
【0041】
図10の送帯域制限調整値の算出の例を用いて説明する。ゲート装置2001の1番目の1つ上流の通信装置2002からゲート装置2001に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(1,1,1)は400kbps、2番目の1つ上流の通信装置2003からゲート装置2001に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(1,1,2)は100kbpsである。よって、(数24)の右辺の分母は、全上流の通信装置からの平均入力伝送帯域値の合計を示していることより、B(1,1,1)+B(1,1,2)=500kbpsと算出される。また、伝送帯域制限調整値の初期値Ss’(0,1)=Ss(0,1)であるため、図7の例より、Ss’(0,1)は800kbpsである。従って、1番目の1つ上流の通信装置2002の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(1,1,1)は、B(1,1,1)=400kbpsを分母500kbpsで除算し、伝送帯域制限調整値の初期値Ss’(0,1)=800kbpsを乗算した640kbpsとなる。一方、2番目の1つ上流の通信装置2003の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(1,1,2)は、B(1,1,2)=100kbpsを分母500kbpsで除算し、伝送帯域制限調整値の初期値Ss’(0,1)=800kbpsを乗算した160kbpsとなる。
【0042】
そして、図11のステップS3053において、通信装置2002、2003は、ゲート装置2001から伝送帯域制限調整指示を受信する。すると、ステップS3054に進み、通信装置2002、2003は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限調整指示に含まれる伝送帯域制限調整値に変更する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って容疑シグネチャに合致する攻撃容疑パケットの伝送帯域は伝送帯域制限調整値に制限される。
【0043】
次に、図11のステップ3055へ進み、通信装置2002はその上流にある通信装置2004に当該通信装置2002に入力される攻撃容疑トラヒックの平均入力伝送帯域を、通信装置2003はその上流にある通信装置2005及び2006に当該通信装置2003に入力される攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる。通信装置2004〜2006は、ステップS3061において、平均入力伝送帯域の問合せを受信する。するとステップS3062において、通信装置2004は、通信装置2002に、通信装置2005、2006は、通信装置2003に自身の攻撃容疑トラヒックの平均入力伝送帯域値を通知する。
【0044】
続いて、ステップS3056において、通信装置2002、2003は、通信装置2004〜2006から受信した平均入力伝送帯域値を受信する。すると、ステップS3057において、通信装置2002、2003は、受信した平均入力伝送帯域値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を、全上流の通信装置、すなわち、通信装置2002はその上流にある通信装置2004に、通信装置2003はその上流にある通信装置2005及び2006に送信する。このときの算出方法は、ゲート装置2001のステップS3043と同様である。
【0045】
図10の送帯域制限調整の算出の例を用いて説明する。通信装置2002の1番目の1つ上流の通信装置2004の平均入力伝送帯域値B(2,1,1)は400kbpsである。よって、(数24)の右辺の分母は、全上流の通信装置からの平均入力伝送帯域値の合計を示していることより、B(2,1,1)と同値になる。また、通信装置2002の伝送帯域制限調整値の初期値Ss’(1,1)=Ss’(1,1,1)であるため、ステップS3043より、Ss’(1,1)は640kbpsである。よって、通信装置2002の1番目の1つ上流の通信装置2004の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(2,1,1)は、B(2,1,1)=400kbpsを分母400kbpsで除算し、伝送帯域制限調整値の初期値Ss’(1,1)=640kbpsを乗算した640kbpsとなる。
【0046】
一方、通信装置2003の1番目の1つ上流の通信装置2005から通信装置2003に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(2,2,1)は0kbps、2番目の1つ上流の通信装置2006から通信装置2003に入力される攻撃容疑トラヒックの平均入力伝送帯域値B(2,2,2)は100kbpsである。よって、(数24)の右辺の分母は、全上流の通信装置からの平均入力伝送帯域値の合計を示していることより、B(2,2,1)+B(2,2,2)=100kbpsと算出される。また、通信装置2003の伝送帯域制限調整値の初期値Ss’(1,2)=Ss’(1,1,2)であるため、ステップS3043より、Ss’(1,2)は160kbpsである。従って、通信装置2005の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(2,2,1)は、B(2,2,1)=0kbpsを分母100kbpsで除算し、伝送帯域制限調整値の初期値Ss’(1,2)=160kbpsを乗算した0kbpsとなり、通信装置2006の攻撃容疑トラヒックの伝送帯域制限調整値Ss’(2,2,2)は、B(2,2,2)=100kbpsを分母100kbpsで除算し、伝送帯域制限調整値の初期値Ss’(1,2)=160kbpsを乗算した160kbpsとなる。
【0047】
そして、図11のステップ3063において、通信装置2004〜2006は、通信装置2002、2003から伝送帯域制限調整指示を受信する。ステップS3064に進み、通信装置2004〜2006は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限指示に含まれる伝送帯域制限調整値に変更する。これにより、以後、図4に示す帯域制御モデルと図5に示すフィルタ2021の分類アルゴリズムに従って容疑シグネチャに合致する攻撃容疑パケットの伝送帯域は伝送帯域制限調整値に制限される。
【0048】
一方、ステップS3044において、ゲート装置2001は、上記の伝送帯域制限調整から一定時間後、あるいは、受信する攻撃容疑パケットの伝送帯域が伝送帯域調整前と調整後である一定の割合変化した場合などのトリガを検出すると、再び伝送帯域調整を実行するステップS3041から伝送帯域制限調整値の調整を繰り返す。
【0049】
ところで、以上説明した動作は、以下に記述するアクティブネットワーク上で実行される。
【0050】
以下、図面を参照しこの発明の一実施形態を実行できるアクティブネットワークについて説明する。
図12は、本実施形態が前提とするネットワークの構成である。図12に示すように、通信ネットワークは、複数の通信装置7001によって接続されている。そして、通信装置7001には1台または複数台のユーザのコンピュータ7000を接続することができるようになっている。ユーザのコンピュータ7000相互間で通信データのやりとりを行う際には、送信元のユーザのコンピュータ7000が送信したパケットを通信ネットワーク上の各ノードに位置する通信装置7001が順次転送することにより、そのパケットを宛先のユーザのコンピュータ7000に届けるようにする。
【0051】
次に、通信装置の構成について説明する。図13は、通信装置7001の内部の構成を示すブロック図である。図13に示すように、通信装置7001には通信線7024a、7024b、7024c、7024dが接続されており、通信装置7001はこれらの通信線を介して隣接する他の通信装置との間でパケットを交換することができるようになっている。また、通信装置7001には、上記の各通信線7024a〜7024dに対応したインタフェース部7023a〜7023dと、パケットを転送する処理を行うための転送処理部7021と、パケットの転送の際の転送先の情報を記憶する転送先テーブル7022と、アクティブパケットに対する処理を行うためのアクティブネットワーク実行環境(Active Network Execution Environment)7010とが設けられている。なお、アクティブネットワーク実行環境7010は、内部に、アクティブコード(プログラム)を実行するためのコード実行部7011と、アクティブコードを記憶しておくためのコード記憶部7012とを備えている。なお、ここでアクティブコードとは、アクティブネットワークにおいてパケットに対する作用を行うコンピュータプログラムのコードである。
【0052】
ここで、図13を参照しながら、この通信装置7001の動作例の概要を説明する。隣接する他の通信装置から通信線7024dを介してパケットが到着すると、インタフェース部7023dがそのパケットを受信し転送処理部7021に渡す。転送処理部7021は、渡されたパケットのヘッダ部分に格納されている送信元(source)アドレスと宛先(destination)アドレスとを読み取り、さらにそれらのアドレスをキーとして転送先テーブル記憶部7022に記憶されている転送先テーブルを参照することによって、そのパケットにどう対処するかを決定する。
【0053】
パケットへの対処は大きく2通りに分けられる。そのパケットに対してアクティブコードを適用する場合と、そのパケットをそのまま他の通信装置に転送する場合とである。
転送先テーブルを参照した結果、そのパケットに対してアクティブコードを適用すべきものである場合には、転送処理部7021は、そのパケットをアクティブネットワーク実行環境7010に渡す。アクティブネットワーク実行環境7010においては、コード実行部7011がそのパケットを受け取り、そのパケットに対して適用すべきアクティブコードをコード記憶部7012から読み出して実行する。なお、コード実行部7011は、アクティブコードを実行した結果、必要な場合には処理対象となったパケットを再び転送処理部7021に渡して他の通信装置に対して転送することもある。
転送先テーブルを参照した結果、そのパケットにアクティブコードを適用せずそのまま他の転送装置に転送するべきものである場合には、転送処理部7021は、適切な転送先に対応したインタフェース部(7023aや7023bや7023cなど)に渡し、そのインタフェース部が通信線(7024aや7024bや7024cなど)を介してパケットを他の通信装置に転送する。
【0054】
なお、ここでは通信線7024dを介して他の通信装置からパケットが到着した場合を例として説明したが、他の通信線を介してパケットが到着した場合の処理も同様である。
【0055】
次に、通信装置7001内の転送処理部7021がいかにしてパケットに対する処置(アクティブコードを適用するか、単純に他の通信装置に転送するか)を決定するかを具体的に説明する。
【0056】
本実施形態が基礎とするフレームワークでは、アクティブネットワーク実行環境はパケットの中において指定されているIPアドレスに基づいて起動される。ここで、全ての(グローバル)IPアドレスの集合をIと表わすものとする。また、送信元IPアドレスがsであり宛先IPアドレスがdであるようなパケットを(s,d)と表わすものとする。また、通信装置のアクティブネットワーク実行環境に格納されているすべてのアクティブコードはそれぞれ特定のユーザに属するものとし、ある特定のユーザの所有するIPアドレスの集合をOと表わすものとする。
【0057】
本フレームワークでは、上記特定のユーザに属する個々のアクティブコードは、次に示す式による集合Aで表されるパケットであって、かつ当該アクティブネットワーク実行環境を備えた通信装置(ノード)によって受信されたパケットに対してアクセスする権限を持つ。すなわち、
A={(s,d)∈[(O×I)∪(I×O)]|s≠d}
である。つまり、この式が意味するところの概略は、特定のユーザに属するアクティブコードは、当該ユーザが所有する全てのIPアドレスのいずれかを送信元または宛先のアドレスとするようなパケットに対してアクセス権を有するということである。
【0058】
当該ユーザに属するn個のアクティブコードがある通信装置(ノード)に格納されているとき、i番目(1≦i≦n)のアクティブコードは、集合C(i)(C(i)⊆A)に属するパケットをキャプチャーして処理することをアクティブネットワーク実行環境に対して予め要求しておく。つまり、当該ユーザに関して、アクティブネットワーク実行環境は、c(1)∪c(2)∪・・・・・・∪c(n)なる和集合の要素であるパケット(s,d)によって起動されるものであり、このようなパケットを「アクティブパケット」と呼ぶことができる。
【0059】
図14は、図13に示した転送先テーブル記憶部7022に記憶されている転送先テーブルの一例を示す概略図である。上記のフレームワークを実現するために必要な情報は、このような転送先テーブルに格納することが可能である。
【0060】
図14に示すように、転送先テーブルは、タイプ(Type)と宛先アドレス(Destination)と送信元アドレス(Source)と転送先(Send to)の各項目を含んでいる。タイプの項目は、テーブルのエントリーのタイプを表わすものであり、「アクティブ(Active)」あるいは「通常(Regular)」のいずれかの値をとる。宛先アドレスおよび送信元アドレスの項目は、転送対象のパケットの宛先IPアドレスおよび送信元IPアドレスにそれぞれ対応するものである。転送先の項目はは、宛先アドレスと送信元アドレスの組み合せがマッチしたパケットに関して、適用すべきアクティブコードの識別情報あるいは転送先の通信装置のIPアドレスを表わすものである。
【0061】
タイプの値が「アクティブ」であるエントリーは、対象のパケットに適用するアクティブコードを指定するものであり、その転送先の項目にはアクティブコードを識別する情報が書かれている。
タイプの値が「通常」であるエントリーは、対象のパケットの転送先の通信装置のアドレスを指定するものであり、その転送先の項目には転送先の通信装置のIPアドレスが書かれている。
【0062】
図14に示す転送先テーブルの例において、第1のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「1.2.3.4」であり、送信元アドレスが「Any(何でもよい)」であり、転送先が「アクティブコードA」となっている。これは、送信元アドレスがいかなるアドレスであっても、宛先アドレスが「1.2.3.4」にマッチする場合には、該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードAが実行されることを表わしている。
また、第2のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「10.50.0.0」であり、送信元アドレスが「11.12.13.14」であり、転送先が「アクティブコードB」となっている。これは、宛先アドレスと送信元アドレスの両方がそれぞれ上記の値にマッチした場合には、該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードBが実行されることを表わしている。
また、第3のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「Any(何でもよい)」であり、送信元アドレスが「157.2.3.0」であり、転送先が「アクティブコードC」となっている。これは、宛先アドレスがいかなるアドレスであっても、送信元アドレスが「157.2.3.0」にマッチする場合には該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードCが実行されることを表している。
【0063】
なお、図14に示すように、転送先テーブルにおいては、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも上に存在している。そして、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも優先的に適用される。また、各エントリーは、通信装置へ到着したパケットのみに対して適用され、転送のために送出されるパケットに対しては適用されない。
【0064】
以上説明した通信装置の構成をまとめる。
図13に示したインタフェース部は、通信線毎に設けられており、当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行う。
また、転送先テーブル記憶部は、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラム(アクティブコード)の情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する。
また、アクティブネットワーク実行環境は、前記プログラムを予め記憶しているとともに、このプログラムを実行する。
また、転送処理部は、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す。
【0065】
次に、本実施形態におけるアクティブコードのセキュリティに関するモデルについて説明する。このセキュリティのモデルは、各々のアクティブコードが、アクティブコードの所有者に関わるパケットのみに対して作用することを保証するためのものである。そのために、このセキュリティのモデルは、公開鍵のインフラストラクチャの存在を前提として、それを利用することとする。
【0066】
図15は、上記のセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。図15において、符号7051はユーザAのユーザ端末装置、7061は認証局(Certification Authority )装置である。この認証局の機能は、公の機関によって提供されるものであっても良いし、あるいはISP(Internet Service Provider,インターネット接続サービス提供者)などによって提供されるものであっても良い。
なお、図15に示す例では、ユーザ端末装置7051のIPアドレスは「1.2.3.4」である。以下では、ユーザAが、アクティブコードAを通信装置7001に登録するための処理の手順を説明する。なお、以下において、ユーザAはアクティブコードAの開発者であっても良いが、その必然性はなく、他の開発者が開発したアクティブコードAをユーザAが入手し、それを通信装置7001に登録するものでも良い。
【0067】
まず(1)で示すように、ユーザAのユーザ端末装置7051は、周知技術を用いて鍵のペアすなわち公開鍵と秘密鍵とを生成する。
そして(2)で示すように、ユーザ端末装置7051は、上で生成された公開鍵を認証局装置7061に登録する。このとき、認証局装置7061は、ユーザ端末装置7051のIPアドレスを検証する。この検証が正しく行なわれると、公開鍵そのものと、ユーザAを識別するための情報と、ユーザ端末装置7051のIPアドレス「1.2.3.4」が認証局装置7061に記憶される。
【0068】
次に(3)で示すように、ユーザ端末装置7051は、上で生成された秘密鍵を用いてアクティブコードAに電子署名する処理を行う。
そして(4)で示すように、ユーザ端末装置7051は、秘密鍵で署名されたアクティブコードAを通信装置7001に登録する処理を行う。
【0069】
これを受けて通信装置7001は、(5)で示すように、アクティブコードAの登録を行ったユーザAの電子証明書を認証局装置7061から取得する。この電子証明書には、ユーザAを識別する情報と、そのIPアドレス「1.2.3.4」と、上の(2)において登録された公開鍵そのものとが含まれている。
そして(6)で示すように、通信装置7001は、上記の電子証明書から取り出したユーザAの公開鍵を用いて、上の(4)において登録されたアクティブコードAの電子署名を検証する。そして、これが正しく検証された場合には、通信装置7001は、アクティブコードAをアクティブネットワーク実行環境に導入する処理を行う。また、これに応じて、転送先テーブルに必要なエントリーが追加される。
【0070】
なお、この(1)および(2)の処理が行われて一旦ユーザAの公開鍵が認証局装置7061に登録されると、ユーザ端末装置7051はその公開鍵に対応する秘密鍵を用いてアクティブモジュールをいくつでも通信装置7001に登録することも可能である。
【0071】
つまり、通信装置7001は登録部(図示せず)を備えており、この登録部は、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするものである。
【0072】
なお、上で説明した通信装置へのアクティブコードの登録の手順が有効に機能するためには、次の2点が前提となる。
第1の前提として、ユーザがどの通信装置(ノード)にアクティブコードを登録すれば良いかは事前にわかっている。あるいは、どの通信装置(ノード)にアクティブコードを登録すればよいかがわかるためのディレクトリサービスが提供されている。
第2の前提として、通信装置(ノード)は、目的の認証局の公開鍵を事前にオフラインで取得しているか、他の認証局から取得するか、あるいは他の何らかの手段で取得できる。
【0073】
次に、矛盾の解消のための制御について説明する。
ある通信装置(ノード)において、n個のアクティブコードが登録されており、i番目(1≦i≦n)とj番目(1≦j≦n)のアクティブコードが、それぞれ集合C(i)(C(i)⊆A)と集合C(j)(C(j)⊆A)に属するパケットに対するものであると定義されているとき、集合(c(i)∩c(j))が空集合ではないようなiおよびjの組み合せ(但しi≠j)が存在する場合があり得る。つまり、あるパケットがi番目のアクティブコードにもj番目のアクティブコードにも適用されるような定義が行われている場合である。このような矛盾は、次の2通りのシナリオのいずれかによって解消することとする。
【0074】
第1の矛盾の解消のシナリオは、パケット(s,d)に関して、
(s∈O(k)Λd∈O(l))Λ(k≠l)
であるために、
(s,d)∈c(i)∩c(j)
となる場合に関するものである。但し、O(k)およびO(l)は、それぞれユーザkおよびlによって所有されるIPアドレスの集合である。
つまり、あるパケットに関して、送信元のユーザ用のアクティブコードと宛先のユーザ用のアクティブコードとの両方が通信装置に登録されており、そのような通信装置にこのパケット(s,d)が到着した場合である。このような場合には、宛先のユーザのアクティブコードを優先的に適用することが望ましいと考えられる。
【0075】
つまり、転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するようにする。
【0076】
このように、送信元のユーザのアクティブコードよりも宛先のユーザのアクティブコードを優先させることは、アクティブネットワークの機能を用いてDDoS(分散型DoS,Distributed Denial of Service )攻撃を防御するメカニズムを構築する場合に特に重要となる。そのようにすることによって、宛先のユーザつまり被攻撃者となり得る者のアクティブコードが、攻撃者となる可能性があるもののアクティブコードよりも優先されるためである。
【0077】
第2の矛盾の解消のシナリオは、あるパケット(s,d)に関して適用されるべき2つ以上のアクティブコードが同一のユーザによって登録されている場合に関するものである。このような場合には、該当するアクティブコードのうちの最も古く登録されたものが、他のものよりも優先的に適用されるようにすることが望ましいと考えられる。こうすることにより、ユーザが新しいアクティブコードを登録しようとする際には、新しいアクティブコードを有効にするために事前に古いアクティブコードを削除することが保証されるからである。
【0078】
次に、これまでに述べたようなアクティブネットワークのノードとして機能する通信装置のインプリメンテーションの例について説明する。図16は、Linux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行う通信装置を実現した場合の概略図である。
【0079】
図16に示す例では、専用のIPスタックを処理(process)の一部として構築している。これによって、図14に示したような転送先テーブルを実現し、実行環境(アクティブネットワーク実行環境)からこの転送先テーブルにエントリーの追加や削除を行えるようにしている。また、これに伴い、カーネル(kernel)内のIPスタックは不要となるため、カーネルにおけるルーティングを不活性化している。そして、到着パケットのコピーがデータリンク部分から作成され、そのパケットがライブラリlibpcapを通してJava(登録商標)仮想マシンで補足できるようにしている。
【0080】
処理の一部として構築した専用のIPスタックは、アクティブパケット、つまり転送先テーブル上での所定の定義にマッチするIPアドレス(宛先IPアドレス、送信元IPアドレス、あるいはそれらの組み合せ)を有するパケットは、実行環境上で起動されるアクティブコードに対して渡される。一方、アクティブパケット以外の通常のパケットは、カーネルにおけるIPスタックと同様の方法で隣接する通信装置等へ向けた転送が行われる。アクティブパケットであれ通常パケットであれ、この通信装置から送出されるすべてのパケットは、ライブラリlibnetを通して送出される。こうすることにより、各々処理されたパケットのヘッダに記録された送信元アドレスは、元々の送信元アドレスのままの状態で、ネットワークに送出されることとなる。
【0081】
また、標準のJava(登録商標)のAPI(アプリケーションプログラムインタフェース)である「java.security 」を用いることによってセキュリティモデルをインプリメンテーションすることが可能である。この標準APIは、セキュリティモデルを構築するために必要な機能のほとんどを提供している。また、証明書のための形式としては「X.509」証明書形式を用いることが可能であり、アクティブコードの所有者のIPアドレスを「X.509」の識別名(DN, distinguished name)の一部に含めることにより、本実施形態のセキュリティモデルを実現することができる。
【0082】
なお、言うまでもなく、上記インプリメンテーションではコンピュータシステムを用いることによってアクティブネットワーク実行環境を備えた通信装置を構築している。そして、上述した一連の処理、すなわち到着パケットの複製の作成とその捕捉や、転送先テーブルを参照しながらのアクティブパケットおよび通常パケットの転送の処理や、アクティブネットワーク実行環境上でのアクティブコードの起動とその処理の実行や、処理されたパケットのネットワークへの送出などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【0083】
なお、上述した各コンピュータプログラムは、コンピュータ読取可能な記録媒体に記録されており、通信装置等に搭載されたCPU(中央処理装置)がこの記録媒体からコンピュータプログラムを読み取って、攻撃防御あるいはサービスモジュール提供等のための各処理を実行する。また、「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0084】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0085】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0086】
また、下流のゲート装置または通信装置から上流の通信装置へのデータの送信は、アクティブネットワークの使用に限定するものではなく、任意の通信プロトコルの使用が可能である。
【0087】
また、ゲート装置及び通信装置はゲートウェイやルータに限られるものではなく、ブリッジ、イーサネット(登録商標)、インタフェース変換装置など、IPアドレスを持つ任意の通信ノードであっても良い。
【0088】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0089】
【発明の効果】
以上説明したように、DDoS攻撃の被攻撃者の通信装置がDDoS攻撃の攻撃の容疑トラヒックを検出すると、初期の伝送帯域制御により、その上流の各通信装置で攻撃容疑トラヒックの伝送帯域を制限することが可能になるため、早期にネットワークの輻輳を改善することが可能となり、DDoS被攻撃者のサービスの停止を抑止することが可能になるとともに、正規利用者からの通信パケットの割合を増加させることが可能になる。
【0090】
また、初期の伝送帯域制御による攻撃容疑パケットの帯域制限後は、各通信装置の攻撃容疑パケットの入力伝送帯域に応じて伝送帯域制限値が調整することが可能になるため、伝送帯域をネットワーク上の各通信装置に有効に分配することが可能となり、攻撃容疑パケットとして分類された正規パケットの伝送帯域を増加させ、正規ユーザのサービス性の低下を段階的に改善することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態を適用できるネットワークの構成図である。
【図2】同実施の形態による攻撃容疑検出条件の設定の例である。
【図3】同実施の形態による不正トラヒック検出条件の設定の例である。
【図4】同実施の形態によるゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルである。
【図5】同実施の形態によるフィルタ2021における分類アルゴリズムである。
【図6】同実施の形態によるゲート装置2001の攻撃容疑パケット検出時の動作を示すフローチャートである。
【図7】同実施の形態による図1の構成における伝送帯域制限値の算出の例である。
【図8】同実施の形態による通信装置2002、2003の伝送帯域制限指示受信時の動作を示すフローチャートである。
【図9】同実施の形態によるゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を示すフローチャートである。
【図10】同実施の形態による図1の構成における伝送帯域制限調整値の算出の例である。
【図11】同実施の形態によるゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【図12】同実施の形態を実行できるアクティブネットワークが前提とするネットワークの構成である。
【図13】同実施の形態を実行できるアクティブネットワークによる通信装置内部の構成を示すブロック図である。
【図14】同実施の形態を実行できるアクティブネットワークによる転送先テーブル記憶部に記憶されている転送先テーブルの一例を示す概略図である。
【図15】同実施の形態を実行できるアクティブネットワークによるセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。
【図16】同実施の形態を実行できるアクティブネットワークの通信装置をLinux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行うように実現した場合の概略図である。
【符号の説明】
2000…サーバ
2001…ゲート装置
2002〜2006…通信装置
2007〜2010…端末装置
2021…フィルタ
2022…正規クラス
2023…正規キュー
2024…不正クラス
2025…不正キュー
2026…容疑クラス
2027…容疑キュー
7000…ユーザのコンピュータ
7001…通信装置
7010…アクティブネットワーク実行環境
7011…コード実行部
7012…コード記憶部
7021…転送処理部
7022…転送先テーブル記憶部
7023a、7023b…インタフェース部
7024a、7024b…通信線
7051…ユーザ端末装置
7061…認証局装置
Claims (13)
- 複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANと、前記LANおよびネットワークの間に介挿されたゲート装置とを有するネットワークシステムにおいて、
前記ゲート装置は、
入力される通信トラヒックから攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の前記通信装置へ送信する処理を行い、
前記通信装置は、
前記攻撃容疑トラヒックの伝送帯域を下流のゲート装置または通信装置から受信した前記伝送帯域制限値に制限すると共に、前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する処理を行い、
前記攻撃容疑パケット送出元の最上流の前記通信装置に達するまで再帰的に、前記攻撃容疑パケットの伝送帯域の制限と、前記攻撃容疑トラヒックの伝送帯域制限値送信との処理を行い、
前記ゲート装置は、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信する処理を行い、
前記上流の通信装置は、
前記下流のゲート装置または通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域問合せを受信して、当該通信装置における前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置または通信装置へ送信する処理を行い、
前記ゲート装置は、
当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する処理を行い、
前記通信装置は、
前記攻撃容疑トラヒックの伝送帯域を下流のゲート装置または通信装置から受信した前記伝送帯域制限調整値に制限すると共に、前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信する処理と、前記下流の通信装置から受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する処理とを行い、
前記攻撃容疑パケット送出元の最上流の前記通信装置に達するまで再帰的に、伝送帯域制限調整値に前記攻撃容疑パケットの伝送帯域の制限と共に、前記攻撃容疑トラヒックの伝送帯域制限調整値の送信との処理を行う、
ことを特徴とする分散型サービス不能攻撃防止方法。 - 前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
により算出されることを特徴とする請求項1に記載の分散型サービス不能攻撃防止方法。 - 前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
により算出されることを特徴とする請求項1または請求項2に記載の分散型サービス不能攻撃防止方法。 - 複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置において、
入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出するトラヒック監視手段と、
当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記トラヒック監視手段によって検出された攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する帯域制限指示手段と、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せ手段と、
前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信する伝送帯域値受信手段と、
当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信する帯域制限調整手段と、
を備えることを特徴とするゲート装置。 - 前記帯域制限指示手段は、前記伝送帯域制限値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
により算出し、
前記帯域制限調整手段は、前記伝送帯域調整値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
により算出する
ことを特徴とする請求項4に記載のゲート装置。 - 防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置において、
下流のゲート装置あるいは通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限する帯域制御手段と、
前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信する帯域制限指示手段と、
前記下流のゲート装置あるいは通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域問い合わせを受信し、当該通信装置における前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置あるいは通信装置へ送信する帯域通知手段と、
前記下流のゲート装置あるいは通信装置から攻撃容疑トラヒックの伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限する帯域制御調整手段と、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せ手段と、
前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信する伝送帯域値受信手段と、
前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値と前記受信した伝送帯域制限調整値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記上流の通信装置へ送信する帯域制限調整手段と、
を備えることを特徴とする通信装置。 - 前記帯域制限指示手段は、前記伝送帯域制限値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
により算出し、
前記帯域制限調整手段は、前記伝送帯域調整値を、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
により算出する
ことを特徴とする請求項6に記載の通信装置。 - 複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置上で実行されるコンピュータプログラムであって、
入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信するステップと、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、
前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、
当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、
をコンピュータに実行させることを特徴とする分散型サービス不能攻撃防止プログラム。 - 防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置上で実行されるコンピュータプログラムであって、
下流のゲート装置又は通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限するステップと、
前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、
前記下流のゲート装置又は通信装置から攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せを受信し、前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置又は通信装置へ送信するステップと、
前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、
前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、
前記受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、
をコンピュータに実行させることを特徴とする分散型サービス不能攻撃防止プログラム。 - 前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
により算出され、
前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
により算出される
ことを特徴とする請求項8または請求項9に記載の分散型サービス不能攻撃防止プログラム。 - 複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよびLANとの間に介挿されたゲート装置上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、
入力される通信トラヒックをチェックし、分散型サービス不能攻撃の攻撃容疑トラヒックを検出した場合に、当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限値と、当該ゲート装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して上流の通信装置へ送信するステップと、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、
前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、
当該ゲート装置における前記攻撃容疑トラヒックの伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、
の各処理をコンピュータに実行させる分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体。 - 防御対象であるコンピュータおよびLANを防御するゲート装置が接続されたネットワークのノードを構成する通信装置上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、
下流のゲート装置又は通信装置から攻撃容疑トラヒックの伝送帯域制限値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限値に制限するステップと、
前記受信した伝送帯域制限値と、当該通信装置の1つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、
前記下流のゲート装置又は通信装置から攻撃容疑トラヒックの平均入力伝送帯域を問い合わせる伝送帯域問合せを受信し、前記攻撃容疑トラヒックの平均入力伝送帯域値を前記下流のゲート装置又は通信装置へ送信するステップと、
前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、
前記上流の通信装置へ前記攻撃容疑トラヒックの平均入力伝送帯域を問合せを送信するステップと、
前記上流の通信装置から前記攻撃容疑トラヒックの平均入力伝送帯域値を受信するステップと、
前記受信した伝送帯域制限調整値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの平均入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して前記上流の通信装置へ送信するステップと、
の各処理をコンピュータに実行させる分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体。 - 前記伝送帯域制限値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域制限値をSs(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限値をSs(d+1,i,k)とすると、
により算出され、
前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置数をnu(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの平均入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
により算出される
ことを特徴とする請求項11または請求項12に記載の分散型サービス不能攻撃防止プログラムを記録することを特徴とする記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002081905A JP3609381B2 (ja) | 2002-03-22 | 2002-03-22 | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002081905A JP3609381B2 (ja) | 2002-03-22 | 2002-03-22 | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003283555A JP2003283555A (ja) | 2003-10-03 |
| JP3609381B2 true JP3609381B2 (ja) | 2005-01-12 |
Family
ID=29230352
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002081905A Expired - Fee Related JP3609381B2 (ja) | 2002-03-22 | 2002-03-22 | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3609381B2 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005184792A (ja) | 2003-11-27 | 2005-07-07 | Nec Corp | 帯域制御装置、帯域制御方法及び帯域制御プログラム |
| CN100370757C (zh) * | 2004-07-09 | 2008-02-20 | 国际商业机器公司 | 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统 |
| JP4292213B2 (ja) * | 2004-10-12 | 2009-07-08 | 日本電信電話株式会社 | サービス不能攻撃防御システム、サービス不能攻撃防御方法およびサービス不能攻撃防御プログラム |
| WO2006046345A1 (ja) * | 2004-10-28 | 2006-05-04 | Nippon Telegraph And Telephone Corporation | サービス不能攻撃検知システムおよびサービス不能攻撃検知方法 |
| JP2008199138A (ja) | 2007-02-09 | 2008-08-28 | Hitachi Industrial Equipment Systems Co Ltd | 情報処理装置及び情報処理システム |
| CN101060531B (zh) * | 2007-05-17 | 2010-10-13 | 华为技术有限公司 | 网络设备攻击防范的方法和装置 |
-
2002
- 2002-03-22 JP JP2002081905A patent/JP3609381B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003283555A (ja) | 2003-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Wheeler et al. | Techniques for cyber attack attribution | |
| US9094372B2 (en) | Multi-method gateway-based network security systems and methods | |
| Schnackengerg et al. | Cooperative intrusion traceback and response architecture (CITRA) | |
| US7409714B2 (en) | Virtual intrusion detection system and method of using same | |
| US8356349B2 (en) | Method and system for intrusion prevention and deflection | |
| US7222366B2 (en) | Intrusion event filtering | |
| US20030145226A1 (en) | Integrated intrusion detection services | |
| EP1775910B1 (en) | Application layer ingress filtering | |
| JP3609382B2 (ja) | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム | |
| JP3699941B2 (ja) | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置、分散型サービス不能攻撃防止プログラム及び記録媒体 | |
| JPWO2015174100A1 (ja) | パケット転送装置、パケット転送システム及びパケット転送方法 | |
| KR20080028381A (ko) | 타겟 희생자 자체-식별 및 제어에 의해 ip네트워크들에서 서비스 거부 공격들에 대한 방어 방법 | |
| Gonzalez et al. | A trust-based approach against IP-spoofing attacks | |
| JP3609381B2 (ja) | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム | |
| US20070166051A1 (en) | Repeater, repeating method, repeating program, and network attack defending system | |
| Singh | Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS) For Network Security: A Critical Analysis | |
| JP3790486B2 (ja) | パケット中継装置、パケット中継システムおよびオトリ誘導システム | |
| WO2025087143A1 (zh) | 告警方法、装置及系统 | |
| JP3657569B2 (ja) | パケット処理方法および通信装置 | |
| US20060225141A1 (en) | Unauthorized access searching method and device | |
| Pandey et al. | APTIKOM Journal on Computer Science and Information Technologies | |
| Sobh et al. | IP Tracing and Active Network Response | |
| Einstein et al. | Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040123 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040908 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041005 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041013 |
|
| LAPS | Cancellation because of no payment of annual fees |