JP3609382B2 - 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム - Google Patents
分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム Download PDFInfo
- Publication number
- JP3609382B2 JP3609382B2 JP2002081906A JP2002081906A JP3609382B2 JP 3609382 B2 JP3609382 B2 JP 3609382B2 JP 2002081906 A JP2002081906 A JP 2002081906A JP 2002081906 A JP2002081906 A JP 2002081906A JP 3609382 B2 JP3609382 B2 JP 3609382B2
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- upstream
- attack
- value
- 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
- Computer And Data Communications (AREA)
- 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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記上流の通信装置を介さずに当該通信装置に入力される攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した合計入力伝送帯域値とを合計した、当該通信装置における前記攻撃容疑トラヒックの合計入力伝送帯域値を前記下流のゲート装置又は通信装置に送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置を介さずに当該通信装置に入力される前記攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの合計入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記上流の通信装置を介さずに当該通信装置に入力される攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した合計入力伝送帯域値とを合計した、当該通信装置における前記攻撃容疑トラヒックの合計入力伝送帯域値を前記下流のゲート装置又は通信装置に送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置を介さずに当該通信装置に入力される前記攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの合計入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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〜2011は端末装置、2012はこの発明の技術を適用したものではない一般通信装置(ルータ)である。DDoS攻撃の被攻撃者のサーバ2000が収容されているLAN(ローカルエリアネットワーク)は、ゲート装置2001によって外部のネットワークに接続されている。そして、ネットワークは通信装置2002、2003、2004、2005、2006及び一般通信装置2012を有している。DDoS攻撃者によって操作された端末装置2007、2008、2009、2010が、攻撃パケットを被攻撃者のサーバ2000に向かって送信すると、攻撃パケットが被攻撃者収容LANに集中して混雑が発生することにより、ゲート装置2001の資源を消費してしまい、DDoS攻撃者とは無関係な正規利用者の端末2011からサーバ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はゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【0036】
ステップS3041において、最上流の通信装置2004〜2006は、攻撃容疑パケットの伝送帯域制限開始後一定時間、攻撃容疑パケットの入力トラヒックを計測する。次に、ステップS3042に進み、通信装置2004〜2006は、この計測した攻撃容疑パケットの入力トラヒックである入力伝送帯域値を1つ上流の通信装置へ、すなわち、通信装置2004は通信装置2002へ、通信装置2005、2006は通信装置2003へ通知する。例えば、図11の図1の構成における伝送帯域調整値の算出の例を用いて説明すると、端末装置2007、2008から併せて2000kbpsの攻撃容疑パケットの入力トラヒックがあった場合は、通信装置2004は通信装置2002に入力伝送帯域値2000kbpsを、端末装置2010から2000kbps、端末装置2011から3000kbpsの攻撃容疑パケットの入力トラヒックがあった場合は、通信装置2005は入力伝送帯域値2000kbpsを、通信装置2006は入力伝送帯域値3000kbpsを通信装置2003に通知する。
【0037】
次に、図10のステップS3051において、通信装置2002、2003は、1つ上流の全ての通信装置から攻撃容疑パケットの入力伝送帯域値の通知を受信する。すると、ステップS3052に進み、通信装置2002は上流の通信装置2004以外から、通信装置2003は上流の通信装置2005、2006以外から当該通信装置に直接入力される攻撃容疑トラヒックがあればこれを計測する。例えば、通信装置2002は、一般通信装置2012からの攻撃容疑トラヒックを計測する。そしてステップS3053において、通信装置2002、2003は、ステップS3051で全ての上流の通信装置から受信した攻撃容疑パケットの入力伝送帯域値と、ステップS3052で計測した当該通信装置における攻撃容疑パケットの直接入力伝送帯域値とを加算して、当該通信装置における攻撃容疑パケットの合計入力伝送帯域値を1つ下流の通信装置、すなわちゲート装置2001に通知する。図11の例を用いて説明する。端末装置2009は、一般ルータ2012に1000kbpsの攻撃容疑パケットを送信しており、一般ルータ2012は、この攻撃容疑パケットを通信装置2002に送出している。通信装置2002は、上流の通信装置2004から受信した攻撃容疑パケットの入力伝送帯域値2000kbpsと一般通信装置2012から直接入力される攻撃容疑トラヒック1000kbpsを合計した3000kbpsをゲート装置2001に通知し、通信装置2003は、上流の通信装置2005、2006から受信した攻撃容疑パケットの入力伝送帯域値を合計した5000kbpsをゲート装置2001に通知する。
【0038】
すると、図10のステップS3061において、ゲート装置2001は、1つ上流の全ての通信装置、すなわち、通信装置2002、2003から攻撃容疑パケットの合計入力伝送帯域値の通知を受ける。すると、ステップS3062に進み、ゲート装置2001は上流の通信装置2002、2003以外から直接入力される攻撃容疑トラヒックがあればこれを計測する。ステップS3063において、ステップS3061で全ての上流の通信装置2002、2003から受信した攻撃容疑パケットの合計入力伝送帯域値と、ステップS3062で計測した当該通信装置における攻撃容疑パケットの直接入力トラヒックとを加算し、ゲート装置2001における攻撃容疑パケットの合計入力伝送帯域値を算出する。そして、この算出した合計入力伝送帯域値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を、上流の通信装置2002、2003に送信する。ここで、伝送帯域制限調整値の算出方法を説明する。なお、本明細書においては、ゲート装置あるいは通信装置を識別するための添え字を持つ
【数23】
などの変数を便宜上Ss’(d+1,i,k)、B(d+1,i,k)、T(d,i)、Ss’(d,i)のように記述する。ネットワークにおいて、ゲート装置2001の存在する階層を初期値0として通信装置がゲート装置2001から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいて通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にあるkで識別される通信装置から通知された攻撃容疑トラヒックの合計入力伝送帯域値をB(d+1,i,k)、そして、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とする。このとき、伝送帯域制限調整値は、以下の式で算出される。
【数24】
よって、ゲート装置2001は、上記の式により、通信装置2002、2003に指示する伝送帯域制限調整値を算出する。これは、当該通信装置における合計攻撃容疑トラヒック量に占める1つ上流の通信装置における合計攻撃容疑トラヒック量の比率に従って、その1つ上流の通信装置の攻撃容疑トラヒックの伝送帯域を調整することを示している。ただし、ゲート装置2001の伝送帯域制限調整値の初期値Ss’(0,1)は伝送帯域制限値の初期値Ss(0,1)と同じである。図11の送帯域制限調整調整値の算出の例を用いて説明する。ゲート装置2001の合計入力伝送帯域値T(0,1)は、通信装置2002の合計入力伝送帯域値B(1,1,1)=3000kbpsと通信装置2003の合計入力伝送帯域値B(1,1,2)=5000kbpsとの合計値8000kbpsである。また、伝送帯域制限調整値の初期値Ss’(0,1)=Ss(0,1)であるため、図7の例より、Ss’(0,1)は800bkpsとなる。よって、通信装置2002伝送帯域制限調整値Ss’(1,1,1)は、通信装置2002の合計入力伝送帯域値B(1,1,1)=3000kbpsをゲート装置2001の合計入力伝送帯域値T(0,1)=8000kbpsで除算し、ゲート装置2001の伝送帯域制限調整値Ss’(0,1)=800kbpsを乗算した300kbpsとなり、一方、通信装置2003の伝送帯域制限調整値Ss’(1,1,2)は、通信装置2003の合計入力伝送帯域値B(1,1,2)=5000kbpsをゲート装置2001の合計入力伝送帯域値T(0,1)=8000kbpsで除算し、ゲート装置2001の伝送帯域制限調整値Ss’(0,1)=800kbpsを乗算した500kbpsとなる。
【0039】
図10のステップS3054において、通信装置2002、2003は、ゲート装置2001から伝送帯域制限調整指示を受信する。すると、ステップS3055において、通信装置2002、2003は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限調整指示に含まれる伝送帯域制限調整値に変更し、攻撃容疑パケットの伝送帯域を制限する。次いで、ステップS3056に進み、ステップS3051で通信装置2002は通信装置2004から、通信装置2003は通信装置2005、2006から受信した入力伝送帯域値、ステップS3052で計測した当該通信装置に直接入力される伝送帯域値及びステップS3053でゲート装置2001から受信した伝送帯域制限調整値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を算出する。そして、この算出した伝送帯域制限値を含んだ伝送帯域調整指示を通信装置2002は通信装置2004に、通信装置2003は通信装置2005、2006に送信する。このときの算出方法は、ゲート装置2001のステップS3063と同様である。
【0040】
例えば、図11の例を用いて説明すると、通信装置2002の伝送帯域制限調整値Ss’(1,1)は、ゲート装置2001から受信した伝送帯域制限調整値Ss’(1,1,1)である300kbps、同様に通信装置2003の伝送帯域制限調整値Ss’(1,2)は、ゲート装置2001から受信した伝送帯域制限調整値Ss’(1,1,2)である500kbpsとなる。そして、通信装置2002における合計入力伝送帯域値T(1,1)は、通信装置2004の合計入力伝送帯域値B(2,1,1)=2000kbpsと直接入力の1000kbpsとの合計値3000kbpsである。よって、通信装置2004の伝送帯域制限調整値Ss’(2,1,1)は、通信装置2004の合計入力伝送帯域値B(2,1,1)=2000kbpsを通信装置2002における合計入力伝送帯域値T(1,1)=3000kbpsで除算し、通信装置2002の伝送帯域制限調整値Ss’(1,1)=300kbpsを乗算した、200kbpsとなる。また、通信装置2003における合計入力伝送帯域値T(1,2)は、通信装置2005の合計入力伝送帯域値B(2,2,1)=2000kbpsと通信装置2006の合計入力伝送帯域値B(2,2,2)=3000kbpsとの合計値5000kbpsであるため、2005の伝送帯域制限調整値Ss’(2,2,1)は、通信装置2004の伝送帯域制限調整値はB(2,2,1)=2000kbpsを合計入力伝送帯域値T(1,2)=5000kbpsで除算し、通信装置2003の伝送帯域制限調整値Ss’(1,2)=500kbpsを乗算した200kbpsとなり、2006の伝送帯域制限調整値Ss’(2,2,2)は、通信装置2006の伝送帯域制限調整値はB(2,2,2)=3000kbpsを通信装置2003における合計入力伝送帯域値T(1,2)=5000kbpsで除算し、通信装置2003の伝送帯域制限調整値Ss’(1,2)=500kbpsを乗算した、300kbpsとなる。
【0041】
通信装置2004〜2006は、ステップS3043において通信装置2002、2003から伝送帯域制限調整指示を受信する。すると、ステップS3044において、通信装置2002、2003は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限調整値に変更し、攻撃容疑パケットの伝送帯域を制限する。
【0042】
この後、通信装置2002、2003はステップS3057において、あるいは、通信装置2004〜2006は、ステップS3045において、上記の伝送帯域制限調整から一定時間した、あるいは、受信する攻撃容疑パケットの伝送帯域が伝送帯域調整前と調整後である一定の割合変化した、などのトリガを監視し、これを検出すると、当該通信装置に直接入力される攻撃容疑トラヒックを計測し(ステップS3041、S3052)、下流の通信装置へ合計入力伝送帯域値を送信して(ステップS3042、S3053)、再び伝送帯域調整の処理の起動を繰り返す。ここでは、このトリガ条件に合致した通信装置だけが最下流の通信装置まで攻撃容疑パケットの入力伝送帯域値を通知し、トリガ条件に合致しなかった通信装置については、最初の伝送帯域調整手順で通知された入力伝送帯域値を使用する。なお、トリガ条件に合致した通信装置がその上流に位置する通信装置に再調整の開始を要求することで、トリガ条件に合致した通信装置の最上流の通信装置までの全ての通信装置が一斉に再調整を開始する第二の方法をとってもよい。
【0043】
ところで、以上説明した動作は、以下に記述するアクティブネットワーク上で実行される。
【0044】
以下、図面を参照しこの発明の一実施形態を実行できるアクティブネットワークについて説明する。
図12は、本実施形態が前提とするネットワークの構成である。図12に示すように、通信ネットワークは、複数の通信装置7001によって接続されている。そして、通信装置7001には1台または複数台のユーザのコンピュータ7000を接続することができるようになっている。ユーザのコンピュータ7000相互間で通信データのやりとりを行う際には、送信元のユーザのコンピュータ7000が送信したパケットを通信ネットワーク上の各ノードに位置する通信装置7001が順次転送することにより、そのパケットを宛先のユーザのコンピュータ7000に届けるようにする。
【0045】
次に、通信装置の構成について説明する。図13は、通信装置7001の内部の構成を示すブロック図である。図13に示すように、通信装置7001には通信線7024a、7024b、7024c、7024dが接続されており、通信装置7001はこれらの通信線を介して隣接する他の通信装置との間でパケットを交換することができるようになっている。また、通信装置7001には、上記の各通信線7024a〜7024dに対応したインタフェース部7023a〜7023dと、パケットを転送する処理を行うための転送処理部7021と、パケットの転送の際の転送先の情報を記憶する転送先テーブル7022と、アクティブパケットに対する処理を行うためのアクティブネットワーク実行環境(Active Network Execution Environment)7010とが設けられている。なお、アクティブネットワーク実行環境7010は、内部に、アクティブコード(プログラム)を実行するためのコード実行部7011と、アクティブコードを記憶しておくためのコード記憶部7012とを備えている。なお、ここでアクティブコードとは、アクティブネットワークにおいてパケットに対する作用を行うコンピュータプログラムのコードである。
【0046】
ここで、図13を参照しながら、この通信装置7001の動作例の概要を説明する。隣接する他の通信装置から通信線7024dを介してパケットが到着すると、インタフェース部7023dがそのパケットを受信し転送処理部7021に渡す。転送処理部7021は、渡されたパケットのヘッダ部分に格納されている送信元(source)アドレスと宛先(destination)アドレスとを読み取り、さらにそれらのアドレスをキーとして転送先テーブル記憶部7022に記憶されている転送先テーブルを参照することによって、そのパケットにどう対処するかを決定する。
【0047】
パケットへの対処は大きく2通りに分けられる。そのパケットに対してアクティブコードを適用する場合と、そのパケットをそのまま他の通信装置に転送する場合とである。
転送先テーブルを参照した結果、そのパケットに対してアクティブコードを適用すべきものである場合には、転送処理部7021は、そのパケットをアクティブネットワーク実行環境7010に渡す。アクティブネットワーク実行環境7010においては、コード実行部7011がそのパケットを受け取り、そのパケットに対して適用すべきアクティブコードをコード記憶部7012から読み出して実行する。なお、コード実行部7011は、アクティブコードを実行した結果、必要な場合には処理対象となったパケットを再び転送処理部7021に渡して他の通信装置に対して転送することもある。
転送先テーブルを参照した結果、そのパケットにアクティブコードを適用せずそのまま他の転送装置に転送するべきものである場合には、転送処理部7021は、適切な転送先に対応したインタフェース部(7023aや7023bや7023cなど)に渡し、そのインタフェース部が通信線(7024aや7024bや7024cなど)を介してパケットを他の通信装置に転送する。
【0048】
なお、ここでは通信線7024dを介して他の通信装置からパケットが到着した場合を例として説明したが、他の通信線を介してパケットが到着した場合の処理も同様である。
【0049】
次に、通信装置7001内の転送処理部7021がいかにしてパケットに対する処置(アクティブコードを適用するか、単純に他の通信装置に転送するか)を決定するかを具体的に説明する。
【0050】
本実施形態が基礎とするフレームワークでは、アクティブネットワーク実行環境はパケットの中において指定されているIPアドレスに基づいて起動される。ここで、全ての(グローバル)IPアドレスの集合をIと表わすものとする。また、送信元IPアドレスがsであり宛先IPアドレスがdであるようなパケットを(s,d)と表わすものとする。また、通信装置のアクティブネットワーク実行環境に格納されているすべてのアクティブコードはそれぞれ特定のユーザに属するものとし、ある特定のユーザの所有するIPアドレスの集合をOと表わすものとする。
【0051】
本フレームワークでは、上記特定のユーザに属する個々のアクティブコードは、次に示す式による集合Aで表されるパケットであって、かつ当該アクティブネットワーク実行環境を備えた通信装置(ノード)によって受信されたパケットに対してアクセスする権限を持つ。すなわち、
A={(s,d)∈[(O×I)∪(I×O)]|s≠d}
である。つまり、この式が意味するところの概略は、特定のユーザに属するアクティブコードは、当該ユーザが所有する全てのIPアドレスのいずれかを送信元または宛先のアドレスとするようなパケットに対してアクセス権を有するということである。
【0052】
当該ユーザに属するn個のアクティブコードがある通信装置(ノード)に格納されているとき、i番目(1≦i≦n)のアクティブコードは、集合C(i)(C(i)⊆A)に属するパケットをキャプチャーして処理することをアクティブネットワーク実行環境に対して予め要求しておく。つまり、当該ユーザに関して、アクティブネットワーク実行環境は、c(1)∪c(2)∪・・・・・・∪c(n)なる和集合の要素であるパケット(s,d)によって起動されるものであり、このようなパケットを「アクティブパケット」と呼ぶことができる。
【0053】
図14は、図13に示した転送先テーブル記憶部7022に記憶されている転送先テーブルの一例を示す概略図である。上記のフレームワークを実現するために必要な情報は、このような転送先テーブルに格納することが可能である。
【0054】
図14に示すように、転送先テーブルは、タイプ(Type)と宛先アドレス(Destination)と送信元アドレス(Source)と転送先(Send to)の各項目を含んでいる。タイプの項目は、テーブルのエントリーのタイプを表わすものであり、「アクティブ(Active)」あるいは「通常(Regular)」のいずれかの値をとる。宛先アドレスおよび送信元アドレスの項目は、転送対象のパケットの宛先IPアドレスおよび送信元IPアドレスにそれぞれ対応するものである。転送先の項目はは、宛先アドレスと送信元アドレスの組み合せがマッチしたパケットに関して、適用すべきアクティブコードの識別情報あるいは転送先の通信装置のIPアドレスを表わすものである。
【0055】
タイプの値が「アクティブ」であるエントリーは、対象のパケットに適用するアクティブコードを指定するものであり、その転送先の項目にはアクティブコードを識別する情報が書かれている。
タイプの値が「通常」であるエントリーは、対象のパケットの転送先の通信装置のアドレスを指定するものであり、その転送先の項目には転送先の通信装置のIPアドレスが書かれている。
【0056】
図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が実行されることを表している。
【0057】
なお、図14に示すように、転送先テーブルにおいては、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも上に存在している。そして、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも優先的に適用される。また、各エントリーは、通信装置へ到着したパケットのみに対して適用され、転送のために送出されるパケットに対しては適用されない。
【0058】
以上説明した通信装置の構成をまとめる。
図13に示したインタフェース部は、通信線毎に設けられており、当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行う。
また、転送先テーブル記憶部は、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラム(アクティブコード)の情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する。
また、アクティブネットワーク実行環境は、前記プログラムを予め記憶しているとともに、このプログラムを実行する。
また、転送処理部は、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す。
【0059】
次に、本実施形態におけるアクティブコードのセキュリティに関するモデルについて説明する。このセキュリティのモデルは、各々のアクティブコードが、アクティブコードの所有者に関わるパケットのみに対して作用することを保証するためのものである。そのために、このセキュリティのモデルは、公開鍵のインフラストラクチャの存在を前提として、それを利用することとする。
【0060】
図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に登録するものでも良い。
【0061】
まず(1)で示すように、ユーザAのユーザ端末装置7051は、周知技術を用いて鍵のペアすなわち公開鍵と秘密鍵とを生成する。
そして(2)で示すように、ユーザ端末装置7051は、上で生成された公開鍵を認証局装置7061に登録する。このとき、認証局装置7061は、ユーザ端末装置7051のIPアドレスを検証する。この検証が正しく行なわれると、公開鍵そのものと、ユーザAを識別するための情報と、ユーザ端末装置7051のIPアドレス「1.2.3.4」が認証局装置7061に記憶される。
【0062】
次に(3)で示すように、ユーザ端末装置7051は、上で生成された秘密鍵を用いてアクティブコードAに電子署名する処理を行う。
そして(4)で示すように、ユーザ端末装置7051は、秘密鍵で署名されたアクティブコードAを通信装置7001に登録する処理を行う。
【0063】
これを受けて通信装置7001は、(5)で示すように、アクティブコードAの登録を行ったユーザAの電子証明書を認証局装置7061から取得する。この電子証明書には、ユーザAを識別する情報と、そのIPアドレス「1.2.3.4」と、上の(2)において登録された公開鍵そのものとが含まれている。
そして(6)で示すように、通信装置7001は、上記の電子証明書から取り出したユーザAの公開鍵を用いて、上の(4)において登録されたアクティブコードAの電子署名を検証する。そして、これが正しく検証された場合には、通信装置7001は、アクティブコードAをアクティブネットワーク実行環境に導入する処理を行う。また、これに応じて、転送先テーブルに必要なエントリーが追加される。
【0064】
なお、この(1)および(2)の処理が行われて一旦ユーザAの公開鍵が認証局装置7061に登録されると、ユーザ端末装置7051はその公開鍵に対応する秘密鍵を用いてアクティブモジュールをいくつでも通信装置7001に登録することも可能である。
【0065】
つまり、通信装置7001は登録部(図示せず)を備えており、この登録部は、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするものである。
【0066】
なお、上で説明した通信装置へのアクティブコードの登録の手順が有効に機能するためには、次の2点が前提となる。
第1の前提として、ユーザがどの通信装置(ノード)にアクティブコードを登録すれば良いかは事前にわかっている。あるいは、どの通信装置(ノード)にアクティブコードを登録すればよいかがわかるためのディレクトリサービスが提供されている。
第2の前提として、通信装置(ノード)は、目的の認証局の公開鍵を事前にオフラインで取得しているか、他の認証局から取得するか、あるいは他の何らかの手段で取得できる。
【0067】
次に、矛盾の解消のための制御について説明する。
ある通信装置(ノード)において、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通りのシナリオのいずれかによって解消することとする。
【0068】
第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)が到着した場合である。このような場合には、宛先のユーザのアクティブコードを優先的に適用することが望ましいと考えられる。
【0069】
つまり、転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するようにする。
【0070】
このように、送信元のユーザのアクティブコードよりも宛先のユーザのアクティブコードを優先させることは、アクティブネットワークの機能を用いてDDoS(分散型DoS,Distributed Denial of Service )攻撃を防御するメカニズムを構築する場合に特に重要となる。そのようにすることによって、宛先のユーザつまり被攻撃者となり得る者のアクティブコードが、攻撃者となる可能性があるもののアクティブコードよりも優先されるためである。
【0071】
第2の矛盾の解消のシナリオは、あるパケット(s,d)に関して適用されるべき2つ以上のアクティブコードが同一のユーザによって登録されている場合に関するものである。このような場合には、該当するアクティブコードのうちの最も古く登録されたものが、他のものよりも優先的に適用されるようにすることが望ましいと考えられる。こうすることにより、ユーザが新しいアクティブコードを登録しようとする際には、新しいアクティブコードを有効にするために事前に古いアクティブコードを削除することが保証されるからである。
【0072】
次に、これまでに述べたようなアクティブネットワークのノードとして機能する通信装置のインプリメンテーションの例について説明する。図16は、Linux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行う通信装置を実現した場合の概略図である。
【0073】
図16に示す例では、専用のIPスタックを処理(process)の一部として構築している。これによって、図14に示したような転送先テーブルを実現し、実行環境(アクティブネットワーク実行環境)からこの転送先テーブルにエントリーの追加や削除を行えるようにしている。また、これに伴い、カーネル(kernel)内のIPスタックは不要となるため、カーネルにおけるルーティングを不活性化している。そして、到着パケットのコピーがデータリンク部分から作成され、そのパケットがライブラリlibpcapを通してJava(登録商標)仮想マシンで補足できるようにしている。
【0074】
処理の一部として構築した専用のIPスタックは、アクティブパケット、つまり転送先テーブル上での所定の定義にマッチするIPアドレス(宛先IPアドレス、送信元IPアドレス、あるいはそれらの組み合せ)を有するパケットは、実行環境上で起動されるアクティブコードに対して渡される。一方、アクティブパケット以外の通常のパケットは、カーネルにおけるIPスタックと同様の方法で隣接する通信装置等へ向けた転送が行われる。アクティブパケットであれ通常パケットであれ、この通信装置から送出されるすべてのパケットは、ライブラリlibnetを通して送出される。こうすることにより、各々処理されたパケットのヘッダに記録された送信元アドレスは、元々の送信元アドレスのままの状態で、ネットワークに送出されることとなる。
【0075】
また、標準のJava(登録商標)のAPI(アプリケーションプログラムインタフェース)である「java.security 」を用いることによってセキュリティモデルをインプリメンテーションすることが可能である。この標準APIは、セキュリティモデルを構築するために必要な機能のほとんどを提供している。また、証明書のための形式としては「X.509」証明書形式を用いることが可能であり、アクティブコードの所有者のIPアドレスを「X.509」の識別名(DN, distinguished name)の一部に含めることにより、本実施形態のセキュリティモデルを実現することができる。
【0076】
なお、言うまでもなく、上記インプリメンテーションではコンピュータシステムを用いることによってアクティブネットワーク実行環境を備えた通信装置を構築している。そして、上述した一連の処理、すなわち到着パケットの複製の作成とその捕捉や、転送先テーブルを参照しながらのアクティブパケットおよび通常パケットの転送の処理や、アクティブネットワーク実行環境上でのアクティブコードの起動とその処理の実行や、処理されたパケットのネットワークへの送出などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【0077】
なお、上述した各コンピュータプログラムは、コンピュータ読取可能な記録媒体に記録されており、通信装置等に搭載されたCPU(中央処理装置)がこの記録媒体からコンピュータプログラムを読み取って、攻撃防御あるいはサービスモジュール提供等のための各処理を実行する。また、「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0078】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0079】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0080】
また、下流のゲート装置または通信装置から上流の通信装置へのデータの送信は、アクティブネットワークの使用に限定するものではなく、任意の通信プロトコルの使用が可能である。
【0081】
また、ゲート装置及び通信装置はゲートウェイやルータに限られるものではなく、ブリッジ、イーサネット(登録商標)、インタフェース変換装置など、IPアドレスを持つ任意の通信ノードであっても良い。
【0082】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0083】
【発明の効果】
以上説明したように、DDoS攻撃の被攻撃者の通信装置がDDoS攻撃の攻撃の容疑トラヒックを検出すると、初期の伝送帯域制御により、その上流の各通信装置で攻撃容疑トラヒックの伝送帯域を制限することが可能になるため、早期にネットワークの輻輳を改善することが可能となり、DDoS被攻撃者のサービスの停止を抑止することが可能になるとともに、正規利用者からの通信パケットの割合を増加させることが可能になる。
【0084】
また、初期の伝送帯域制御による攻撃容疑パケットの帯域制限後は、各通信装置の攻撃容疑パケットの入力伝送帯域に応じて伝送帯域制限値が調整することが可能になるため、伝送帯域をネットワーク上の各通信装置に有効に分配することが可能となり、攻撃容疑パケットとして分類された正規パケットの伝送帯域を増加させ、正規ユーザのサービス性の低下を段階的に改善することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態を適用できるネットワークの構成図である。
【図2】同実施の形態による攻撃容疑検出条件の設定の例である。
【図3】同実施の形態による不正トラヒック検出条件の設定の例である。
【図4】同実施の形態によるゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルである。
【図5】同実施の形態によるフィルタ2021における分類アルゴリズムである。
【図6】同実施の形態によるゲート装置2001の攻撃容疑パケット検出時の動作を示すフローチャートである。
【図7】同実施の形態による図1の構成における伝送帯域制限値の算出の例である。
【図8】同実施の形態による通信装置2002、2003の伝送帯域制限指示受信時の動作を示すフローチャートである。
【図9】同実施の形態によるゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を示すフローチャートである。
【図10】同実施の形態によるゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【図11】同実施の形態による図1の構成における伝送帯域制限調整値の算出の例である。
【図12】同実施の形態を実行できるアクティブネットワークが前提とするネットワークの構成である。
【図13】同実施の形態を実行できるアクティブネットワークによる通信装置内部の構成を示すブロック図である。
【図14】同実施の形態を実行できるアクティブネットワークによる転送先テーブル記憶部に記憶されている転送先テーブルの一例を示す概略図である。
【図15】同実施の形態を実行できるアクティブネットワークによるセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。
【図16】同実施の形態を実行できるアクティブネットワークの通信装置をLinux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行うように実現した場合の概略図である。
【符号の説明】
2000…サーバ
2001…ゲート装置
2002〜2006…通信装置
2007〜2011…端末装置
2012…一般通信装置
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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記上流の通信装置を介さずに当該通信装置に入力される攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した合計入力伝送帯域値とを合計した、当該通信装置における前記攻撃容疑トラヒックの合計入力伝送帯域値を前記下流のゲート装置又は通信装置に送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置を介さずに当該通信装置に入力される前記攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの合計入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、前記上流の通信装置を介さずに当該通信装置に入力される攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した合計入力伝送帯域値とを合計した、当該通信装置における前記攻撃容疑トラヒックの合計入力伝送帯域値を前記下流のゲート装置又は通信装置に送信するステップと、前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置を介さずに当該通信装置に入力される前記攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの合計入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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〜2011は端末装置、2012はこの発明の技術を適用したものではない一般通信装置(ルータ)である。DDoS攻撃の被攻撃者のサーバ2000が収容されているLAN(ローカルエリアネットワーク)は、ゲート装置2001によって外部のネットワークに接続されている。そして、ネットワークは通信装置2002、2003、2004、2005、2006及び一般通信装置2012を有している。DDoS攻撃者によって操作された端末装置2007、2008、2009、2010が、攻撃パケットを被攻撃者のサーバ2000に向かって送信すると、攻撃パケットが被攻撃者収容LANに集中して混雑が発生することにより、ゲート装置2001の資源を消費してしまい、DDoS攻撃者とは無関係な正規利用者の端末2011からサーバ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はゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【0036】
ステップS3041において、最上流の通信装置2004〜2006は、攻撃容疑パケットの伝送帯域制限開始後一定時間、攻撃容疑パケットの入力トラヒックを計測する。次に、ステップS3042に進み、通信装置2004〜2006は、この計測した攻撃容疑パケットの入力トラヒックである入力伝送帯域値を1つ上流の通信装置へ、すなわち、通信装置2004は通信装置2002へ、通信装置2005、2006は通信装置2003へ通知する。例えば、図11の図1の構成における伝送帯域調整値の算出の例を用いて説明すると、端末装置2007、2008から併せて2000kbpsの攻撃容疑パケットの入力トラヒックがあった場合は、通信装置2004は通信装置2002に入力伝送帯域値2000kbpsを、端末装置2010から2000kbps、端末装置2011から3000kbpsの攻撃容疑パケットの入力トラヒックがあった場合は、通信装置2005は入力伝送帯域値2000kbpsを、通信装置2006は入力伝送帯域値3000kbpsを通信装置2003に通知する。
【0037】
次に、図10のステップS3051において、通信装置2002、2003は、1つ上流の全ての通信装置から攻撃容疑パケットの入力伝送帯域値の通知を受信する。すると、ステップS3052に進み、通信装置2002は上流の通信装置2004以外から、通信装置2003は上流の通信装置2005、2006以外から当該通信装置に直接入力される攻撃容疑トラヒックがあればこれを計測する。例えば、通信装置2002は、一般通信装置2012からの攻撃容疑トラヒックを計測する。そしてステップS3053において、通信装置2002、2003は、ステップS3051で全ての上流の通信装置から受信した攻撃容疑パケットの入力伝送帯域値と、ステップS3052で計測した当該通信装置における攻撃容疑パケットの直接入力伝送帯域値とを加算して、当該通信装置における攻撃容疑パケットの合計入力伝送帯域値を1つ下流の通信装置、すなわちゲート装置2001に通知する。図11の例を用いて説明する。端末装置2009は、一般ルータ2012に1000kbpsの攻撃容疑パケットを送信しており、一般ルータ2012は、この攻撃容疑パケットを通信装置2002に送出している。通信装置2002は、上流の通信装置2004から受信した攻撃容疑パケットの入力伝送帯域値2000kbpsと一般通信装置2012から直接入力される攻撃容疑トラヒック1000kbpsを合計した3000kbpsをゲート装置2001に通知し、通信装置2003は、上流の通信装置2005、2006から受信した攻撃容疑パケットの入力伝送帯域値を合計した5000kbpsをゲート装置2001に通知する。
【0038】
すると、図10のステップS3061において、ゲート装置2001は、1つ上流の全ての通信装置、すなわち、通信装置2002、2003から攻撃容疑パケットの合計入力伝送帯域値の通知を受ける。すると、ステップS3062に進み、ゲート装置2001は上流の通信装置2002、2003以外から直接入力される攻撃容疑トラヒックがあればこれを計測する。ステップS3063において、ステップS3061で全ての上流の通信装置2002、2003から受信した攻撃容疑パケットの合計入力伝送帯域値と、ステップS3062で計測した当該通信装置における攻撃容疑パケットの直接入力トラヒックとを加算し、ゲート装置2001における攻撃容疑パケットの合計入力伝送帯域値を算出する。そして、この算出した合計入力伝送帯域値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を、上流の通信装置2002、2003に送信する。ここで、伝送帯域制限調整値の算出方法を説明する。なお、本明細書においては、ゲート装置あるいは通信装置を識別するための添え字を持つ
【数23】
などの変数を便宜上Ss’(d+1,i,k)、B(d+1,i,k)、T(d,i)、Ss’(d,i)のように記述する。ネットワークにおいて、ゲート装置2001の存在する階層を初期値0として通信装置がゲート装置2001から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいて通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にあるkで識別される通信装置から通知された攻撃容疑トラヒックの合計入力伝送帯域値をB(d+1,i,k)、そして、深さdにあるiで識別されるゲート装置または通信装置の1つ上流(深さd+1)にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とする。このとき、伝送帯域制限調整値は、以下の式で算出される。
【数24】
よって、ゲート装置2001は、上記の式により、通信装置2002、2003に指示する伝送帯域制限調整値を算出する。これは、当該通信装置における合計攻撃容疑トラヒック量に占める1つ上流の通信装置における合計攻撃容疑トラヒック量の比率に従って、その1つ上流の通信装置の攻撃容疑トラヒックの伝送帯域を調整することを示している。ただし、ゲート装置2001の伝送帯域制限調整値の初期値Ss’(0,1)は伝送帯域制限値の初期値Ss(0,1)と同じである。図11の送帯域制限調整調整値の算出の例を用いて説明する。ゲート装置2001の合計入力伝送帯域値T(0,1)は、通信装置2002の合計入力伝送帯域値B(1,1,1)=3000kbpsと通信装置2003の合計入力伝送帯域値B(1,1,2)=5000kbpsとの合計値8000kbpsである。また、伝送帯域制限調整値の初期値Ss’(0,1)=Ss(0,1)であるため、図7の例より、Ss’(0,1)は800bkpsとなる。よって、通信装置2002伝送帯域制限調整値Ss’(1,1,1)は、通信装置2002の合計入力伝送帯域値B(1,1,1)=3000kbpsをゲート装置2001の合計入力伝送帯域値T(0,1)=8000kbpsで除算し、ゲート装置2001の伝送帯域制限調整値Ss’(0,1)=800kbpsを乗算した300kbpsとなり、一方、通信装置2003の伝送帯域制限調整値Ss’(1,1,2)は、通信装置2003の合計入力伝送帯域値B(1,1,2)=5000kbpsをゲート装置2001の合計入力伝送帯域値T(0,1)=8000kbpsで除算し、ゲート装置2001の伝送帯域制限調整値Ss’(0,1)=800kbpsを乗算した500kbpsとなる。
【0039】
図10のステップS3054において、通信装置2002、2003は、ゲート装置2001から伝送帯域制限調整指示を受信する。すると、ステップS3055において、通信装置2002、2003は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限調整指示に含まれる伝送帯域制限調整値に変更し、攻撃容疑パケットの伝送帯域を制限する。次いで、ステップS3056に進み、ステップS3051で通信装置2002は通信装置2004から、通信装置2003は通信装置2005、2006から受信した入力伝送帯域値、ステップS3052で計測した当該通信装置に直接入力される伝送帯域値及びステップS3053でゲート装置2001から受信した伝送帯域制限調整値を基に算出した攻撃容疑パケットの伝送帯域制限調整値を含んだ伝送帯域制限調整指示を算出する。そして、この算出した伝送帯域制限値を含んだ伝送帯域調整指示を通信装置2002は通信装置2004に、通信装置2003は通信装置2005、2006に送信する。このときの算出方法は、ゲート装置2001のステップS3063と同様である。
【0040】
例えば、図11の例を用いて説明すると、通信装置2002の伝送帯域制限調整値Ss’(1,1)は、ゲート装置2001から受信した伝送帯域制限調整値Ss’(1,1,1)である300kbps、同様に通信装置2003の伝送帯域制限調整値Ss’(1,2)は、ゲート装置2001から受信した伝送帯域制限調整値Ss’(1,1,2)である500kbpsとなる。そして、通信装置2002における合計入力伝送帯域値T(1,1)は、通信装置2004の合計入力伝送帯域値B(2,1,1)=2000kbpsと直接入力の1000kbpsとの合計値3000kbpsである。よって、通信装置2004の伝送帯域制限調整値Ss’(2,1,1)は、通信装置2004の合計入力伝送帯域値B(2,1,1)=2000kbpsを通信装置2002における合計入力伝送帯域値T(1,1)=3000kbpsで除算し、通信装置2002の伝送帯域制限調整値Ss’(1,1)=300kbpsを乗算した、200kbpsとなる。また、通信装置2003における合計入力伝送帯域値T(1,2)は、通信装置2005の合計入力伝送帯域値B(2,2,1)=2000kbpsと通信装置2006の合計入力伝送帯域値B(2,2,2)=3000kbpsとの合計値5000kbpsであるため、2005の伝送帯域制限調整値Ss’(2,2,1)は、通信装置2004の伝送帯域制限調整値はB(2,2,1)=2000kbpsを合計入力伝送帯域値T(1,2)=5000kbpsで除算し、通信装置2003の伝送帯域制限調整値Ss’(1,2)=500kbpsを乗算した200kbpsとなり、2006の伝送帯域制限調整値Ss’(2,2,2)は、通信装置2006の伝送帯域制限調整値はB(2,2,2)=3000kbpsを通信装置2003における合計入力伝送帯域値T(1,2)=5000kbpsで除算し、通信装置2003の伝送帯域制限調整値Ss’(1,2)=500kbpsを乗算した、300kbpsとなる。
【0041】
通信装置2004〜2006は、ステップS3043において通信装置2002、2003から伝送帯域制限調整指示を受信する。すると、ステップS3044において、通信装置2002、2003は、容疑キュー2027の伝送帯域制限値を受信した伝送帯域制限調整値に変更し、攻撃容疑パケットの伝送帯域を制限する。
【0042】
この後、通信装置2002、2003はステップS3057において、あるいは、通信装置2004〜2006は、ステップS3045において、上記の伝送帯域制限調整から一定時間した、あるいは、受信する攻撃容疑パケットの伝送帯域が伝送帯域調整前と調整後である一定の割合変化した、などのトリガを監視し、これを検出すると、当該通信装置に直接入力される攻撃容疑トラヒックを計測し(ステップS3041、S3052)、下流の通信装置へ合計入力伝送帯域値を送信して(ステップS3042、S3053)、再び伝送帯域調整の処理の起動を繰り返す。ここでは、このトリガ条件に合致した通信装置だけが最下流の通信装置まで攻撃容疑パケットの入力伝送帯域値を通知し、トリガ条件に合致しなかった通信装置については、最初の伝送帯域調整手順で通知された入力伝送帯域値を使用する。なお、トリガ条件に合致した通信装置がその上流に位置する通信装置に再調整の開始を要求することで、トリガ条件に合致した通信装置の最上流の通信装置までの全ての通信装置が一斉に再調整を開始する第二の方法をとってもよい。
【0043】
ところで、以上説明した動作は、以下に記述するアクティブネットワーク上で実行される。
【0044】
以下、図面を参照しこの発明の一実施形態を実行できるアクティブネットワークについて説明する。
図12は、本実施形態が前提とするネットワークの構成である。図12に示すように、通信ネットワークは、複数の通信装置7001によって接続されている。そして、通信装置7001には1台または複数台のユーザのコンピュータ7000を接続することができるようになっている。ユーザのコンピュータ7000相互間で通信データのやりとりを行う際には、送信元のユーザのコンピュータ7000が送信したパケットを通信ネットワーク上の各ノードに位置する通信装置7001が順次転送することにより、そのパケットを宛先のユーザのコンピュータ7000に届けるようにする。
【0045】
次に、通信装置の構成について説明する。図13は、通信装置7001の内部の構成を示すブロック図である。図13に示すように、通信装置7001には通信線7024a、7024b、7024c、7024dが接続されており、通信装置7001はこれらの通信線を介して隣接する他の通信装置との間でパケットを交換することができるようになっている。また、通信装置7001には、上記の各通信線7024a〜7024dに対応したインタフェース部7023a〜7023dと、パケットを転送する処理を行うための転送処理部7021と、パケットの転送の際の転送先の情報を記憶する転送先テーブル7022と、アクティブパケットに対する処理を行うためのアクティブネットワーク実行環境(Active Network Execution Environment)7010とが設けられている。なお、アクティブネットワーク実行環境7010は、内部に、アクティブコード(プログラム)を実行するためのコード実行部7011と、アクティブコードを記憶しておくためのコード記憶部7012とを備えている。なお、ここでアクティブコードとは、アクティブネットワークにおいてパケットに対する作用を行うコンピュータプログラムのコードである。
【0046】
ここで、図13を参照しながら、この通信装置7001の動作例の概要を説明する。隣接する他の通信装置から通信線7024dを介してパケットが到着すると、インタフェース部7023dがそのパケットを受信し転送処理部7021に渡す。転送処理部7021は、渡されたパケットのヘッダ部分に格納されている送信元(source)アドレスと宛先(destination)アドレスとを読み取り、さらにそれらのアドレスをキーとして転送先テーブル記憶部7022に記憶されている転送先テーブルを参照することによって、そのパケットにどう対処するかを決定する。
【0047】
パケットへの対処は大きく2通りに分けられる。そのパケットに対してアクティブコードを適用する場合と、そのパケットをそのまま他の通信装置に転送する場合とである。
転送先テーブルを参照した結果、そのパケットに対してアクティブコードを適用すべきものである場合には、転送処理部7021は、そのパケットをアクティブネットワーク実行環境7010に渡す。アクティブネットワーク実行環境7010においては、コード実行部7011がそのパケットを受け取り、そのパケットに対して適用すべきアクティブコードをコード記憶部7012から読み出して実行する。なお、コード実行部7011は、アクティブコードを実行した結果、必要な場合には処理対象となったパケットを再び転送処理部7021に渡して他の通信装置に対して転送することもある。
転送先テーブルを参照した結果、そのパケットにアクティブコードを適用せずそのまま他の転送装置に転送するべきものである場合には、転送処理部7021は、適切な転送先に対応したインタフェース部(7023aや7023bや7023cなど)に渡し、そのインタフェース部が通信線(7024aや7024bや7024cなど)を介してパケットを他の通信装置に転送する。
【0048】
なお、ここでは通信線7024dを介して他の通信装置からパケットが到着した場合を例として説明したが、他の通信線を介してパケットが到着した場合の処理も同様である。
【0049】
次に、通信装置7001内の転送処理部7021がいかにしてパケットに対する処置(アクティブコードを適用するか、単純に他の通信装置に転送するか)を決定するかを具体的に説明する。
【0050】
本実施形態が基礎とするフレームワークでは、アクティブネットワーク実行環境はパケットの中において指定されているIPアドレスに基づいて起動される。ここで、全ての(グローバル)IPアドレスの集合をIと表わすものとする。また、送信元IPアドレスがsであり宛先IPアドレスがdであるようなパケットを(s,d)と表わすものとする。また、通信装置のアクティブネットワーク実行環境に格納されているすべてのアクティブコードはそれぞれ特定のユーザに属するものとし、ある特定のユーザの所有するIPアドレスの集合をOと表わすものとする。
【0051】
本フレームワークでは、上記特定のユーザに属する個々のアクティブコードは、次に示す式による集合Aで表されるパケットであって、かつ当該アクティブネットワーク実行環境を備えた通信装置(ノード)によって受信されたパケットに対してアクセスする権限を持つ。すなわち、
A={(s,d)∈[(O×I)∪(I×O)]|s≠d}
である。つまり、この式が意味するところの概略は、特定のユーザに属するアクティブコードは、当該ユーザが所有する全てのIPアドレスのいずれかを送信元または宛先のアドレスとするようなパケットに対してアクセス権を有するということである。
【0052】
当該ユーザに属するn個のアクティブコードがある通信装置(ノード)に格納されているとき、i番目(1≦i≦n)のアクティブコードは、集合C(i)(C(i)⊆A)に属するパケットをキャプチャーして処理することをアクティブネットワーク実行環境に対して予め要求しておく。つまり、当該ユーザに関して、アクティブネットワーク実行環境は、c(1)∪c(2)∪・・・・・・∪c(n)なる和集合の要素であるパケット(s,d)によって起動されるものであり、このようなパケットを「アクティブパケット」と呼ぶことができる。
【0053】
図14は、図13に示した転送先テーブル記憶部7022に記憶されている転送先テーブルの一例を示す概略図である。上記のフレームワークを実現するために必要な情報は、このような転送先テーブルに格納することが可能である。
【0054】
図14に示すように、転送先テーブルは、タイプ(Type)と宛先アドレス(Destination)と送信元アドレス(Source)と転送先(Send to)の各項目を含んでいる。タイプの項目は、テーブルのエントリーのタイプを表わすものであり、「アクティブ(Active)」あるいは「通常(Regular)」のいずれかの値をとる。宛先アドレスおよび送信元アドレスの項目は、転送対象のパケットの宛先IPアドレスおよび送信元IPアドレスにそれぞれ対応するものである。転送先の項目はは、宛先アドレスと送信元アドレスの組み合せがマッチしたパケットに関して、適用すべきアクティブコードの識別情報あるいは転送先の通信装置のIPアドレスを表わすものである。
【0055】
タイプの値が「アクティブ」であるエントリーは、対象のパケットに適用するアクティブコードを指定するものであり、その転送先の項目にはアクティブコードを識別する情報が書かれている。
タイプの値が「通常」であるエントリーは、対象のパケットの転送先の通信装置のアドレスを指定するものであり、その転送先の項目には転送先の通信装置のIPアドレスが書かれている。
【0056】
図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が実行されることを表している。
【0057】
なお、図14に示すように、転送先テーブルにおいては、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも上に存在している。そして、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも優先的に適用される。また、各エントリーは、通信装置へ到着したパケットのみに対して適用され、転送のために送出されるパケットに対しては適用されない。
【0058】
以上説明した通信装置の構成をまとめる。
図13に示したインタフェース部は、通信線毎に設けられており、当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行う。
また、転送先テーブル記憶部は、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラム(アクティブコード)の情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する。
また、アクティブネットワーク実行環境は、前記プログラムを予め記憶しているとともに、このプログラムを実行する。
また、転送処理部は、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す。
【0059】
次に、本実施形態におけるアクティブコードのセキュリティに関するモデルについて説明する。このセキュリティのモデルは、各々のアクティブコードが、アクティブコードの所有者に関わるパケットのみに対して作用することを保証するためのものである。そのために、このセキュリティのモデルは、公開鍵のインフラストラクチャの存在を前提として、それを利用することとする。
【0060】
図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に登録するものでも良い。
【0061】
まず(1)で示すように、ユーザAのユーザ端末装置7051は、周知技術を用いて鍵のペアすなわち公開鍵と秘密鍵とを生成する。
そして(2)で示すように、ユーザ端末装置7051は、上で生成された公開鍵を認証局装置7061に登録する。このとき、認証局装置7061は、ユーザ端末装置7051のIPアドレスを検証する。この検証が正しく行なわれると、公開鍵そのものと、ユーザAを識別するための情報と、ユーザ端末装置7051のIPアドレス「1.2.3.4」が認証局装置7061に記憶される。
【0062】
次に(3)で示すように、ユーザ端末装置7051は、上で生成された秘密鍵を用いてアクティブコードAに電子署名する処理を行う。
そして(4)で示すように、ユーザ端末装置7051は、秘密鍵で署名されたアクティブコードAを通信装置7001に登録する処理を行う。
【0063】
これを受けて通信装置7001は、(5)で示すように、アクティブコードAの登録を行ったユーザAの電子証明書を認証局装置7061から取得する。この電子証明書には、ユーザAを識別する情報と、そのIPアドレス「1.2.3.4」と、上の(2)において登録された公開鍵そのものとが含まれている。
そして(6)で示すように、通信装置7001は、上記の電子証明書から取り出したユーザAの公開鍵を用いて、上の(4)において登録されたアクティブコードAの電子署名を検証する。そして、これが正しく検証された場合には、通信装置7001は、アクティブコードAをアクティブネットワーク実行環境に導入する処理を行う。また、これに応じて、転送先テーブルに必要なエントリーが追加される。
【0064】
なお、この(1)および(2)の処理が行われて一旦ユーザAの公開鍵が認証局装置7061に登録されると、ユーザ端末装置7051はその公開鍵に対応する秘密鍵を用いてアクティブモジュールをいくつでも通信装置7001に登録することも可能である。
【0065】
つまり、通信装置7001は登録部(図示せず)を備えており、この登録部は、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするものである。
【0066】
なお、上で説明した通信装置へのアクティブコードの登録の手順が有効に機能するためには、次の2点が前提となる。
第1の前提として、ユーザがどの通信装置(ノード)にアクティブコードを登録すれば良いかは事前にわかっている。あるいは、どの通信装置(ノード)にアクティブコードを登録すればよいかがわかるためのディレクトリサービスが提供されている。
第2の前提として、通信装置(ノード)は、目的の認証局の公開鍵を事前にオフラインで取得しているか、他の認証局から取得するか、あるいは他の何らかの手段で取得できる。
【0067】
次に、矛盾の解消のための制御について説明する。
ある通信装置(ノード)において、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通りのシナリオのいずれかによって解消することとする。
【0068】
第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)が到着した場合である。このような場合には、宛先のユーザのアクティブコードを優先的に適用することが望ましいと考えられる。
【0069】
つまり、転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するようにする。
【0070】
このように、送信元のユーザのアクティブコードよりも宛先のユーザのアクティブコードを優先させることは、アクティブネットワークの機能を用いてDDoS(分散型DoS,Distributed Denial of Service )攻撃を防御するメカニズムを構築する場合に特に重要となる。そのようにすることによって、宛先のユーザつまり被攻撃者となり得る者のアクティブコードが、攻撃者となる可能性があるもののアクティブコードよりも優先されるためである。
【0071】
第2の矛盾の解消のシナリオは、あるパケット(s,d)に関して適用されるべき2つ以上のアクティブコードが同一のユーザによって登録されている場合に関するものである。このような場合には、該当するアクティブコードのうちの最も古く登録されたものが、他のものよりも優先的に適用されるようにすることが望ましいと考えられる。こうすることにより、ユーザが新しいアクティブコードを登録しようとする際には、新しいアクティブコードを有効にするために事前に古いアクティブコードを削除することが保証されるからである。
【0072】
次に、これまでに述べたようなアクティブネットワークのノードとして機能する通信装置のインプリメンテーションの例について説明する。図16は、Linux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行う通信装置を実現した場合の概略図である。
【0073】
図16に示す例では、専用のIPスタックを処理(process)の一部として構築している。これによって、図14に示したような転送先テーブルを実現し、実行環境(アクティブネットワーク実行環境)からこの転送先テーブルにエントリーの追加や削除を行えるようにしている。また、これに伴い、カーネル(kernel)内のIPスタックは不要となるため、カーネルにおけるルーティングを不活性化している。そして、到着パケットのコピーがデータリンク部分から作成され、そのパケットがライブラリlibpcapを通してJava(登録商標)仮想マシンで補足できるようにしている。
【0074】
処理の一部として構築した専用のIPスタックは、アクティブパケット、つまり転送先テーブル上での所定の定義にマッチするIPアドレス(宛先IPアドレス、送信元IPアドレス、あるいはそれらの組み合せ)を有するパケットは、実行環境上で起動されるアクティブコードに対して渡される。一方、アクティブパケット以外の通常のパケットは、カーネルにおけるIPスタックと同様の方法で隣接する通信装置等へ向けた転送が行われる。アクティブパケットであれ通常パケットであれ、この通信装置から送出されるすべてのパケットは、ライブラリlibnetを通して送出される。こうすることにより、各々処理されたパケットのヘッダに記録された送信元アドレスは、元々の送信元アドレスのままの状態で、ネットワークに送出されることとなる。
【0075】
また、標準のJava(登録商標)のAPI(アプリケーションプログラムインタフェース)である「java.security 」を用いることによってセキュリティモデルをインプリメンテーションすることが可能である。この標準APIは、セキュリティモデルを構築するために必要な機能のほとんどを提供している。また、証明書のための形式としては「X.509」証明書形式を用いることが可能であり、アクティブコードの所有者のIPアドレスを「X.509」の識別名(DN, distinguished name)の一部に含めることにより、本実施形態のセキュリティモデルを実現することができる。
【0076】
なお、言うまでもなく、上記インプリメンテーションではコンピュータシステムを用いることによってアクティブネットワーク実行環境を備えた通信装置を構築している。そして、上述した一連の処理、すなわち到着パケットの複製の作成とその捕捉や、転送先テーブルを参照しながらのアクティブパケットおよび通常パケットの転送の処理や、アクティブネットワーク実行環境上でのアクティブコードの起動とその処理の実行や、処理されたパケットのネットワークへの送出などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
【0077】
なお、上述した各コンピュータプログラムは、コンピュータ読取可能な記録媒体に記録されており、通信装置等に搭載されたCPU(中央処理装置)がこの記録媒体からコンピュータプログラムを読み取って、攻撃防御あるいはサービスモジュール提供等のための各処理を実行する。また、「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0078】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0079】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0080】
また、下流のゲート装置または通信装置から上流の通信装置へのデータの送信は、アクティブネットワークの使用に限定するものではなく、任意の通信プロトコルの使用が可能である。
【0081】
また、ゲート装置及び通信装置はゲートウェイやルータに限られるものではなく、ブリッジ、イーサネット(登録商標)、インタフェース変換装置など、IPアドレスを持つ任意の通信ノードであっても良い。
【0082】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0083】
【発明の効果】
以上説明したように、DDoS攻撃の被攻撃者の通信装置がDDoS攻撃の攻撃の容疑トラヒックを検出すると、初期の伝送帯域制御により、その上流の各通信装置で攻撃容疑トラヒックの伝送帯域を制限することが可能になるため、早期にネットワークの輻輳を改善することが可能となり、DDoS被攻撃者のサービスの停止を抑止することが可能になるとともに、正規利用者からの通信パケットの割合を増加させることが可能になる。
【0084】
また、初期の伝送帯域制御による攻撃容疑パケットの帯域制限後は、各通信装置の攻撃容疑パケットの入力伝送帯域に応じて伝送帯域制限値が調整することが可能になるため、伝送帯域をネットワーク上の各通信装置に有効に分配することが可能となり、攻撃容疑パケットとして分類された正規パケットの伝送帯域を増加させ、正規ユーザのサービス性の低下を段階的に改善することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態を適用できるネットワークの構成図である。
【図2】同実施の形態による攻撃容疑検出条件の設定の例である。
【図3】同実施の形態による不正トラヒック検出条件の設定の例である。
【図4】同実施の形態によるゲート装置2001及び通信装置2002〜2006が備える帯域制御モデルである。
【図5】同実施の形態によるフィルタ2021における分類アルゴリズムである。
【図6】同実施の形態によるゲート装置2001の攻撃容疑パケット検出時の動作を示すフローチャートである。
【図7】同実施の形態による図1の構成における伝送帯域制限値の算出の例である。
【図8】同実施の形態による通信装置2002、2003の伝送帯域制限指示受信時の動作を示すフローチャートである。
【図9】同実施の形態によるゲート装置2001及び通信装置2002〜2006の不正トラヒック検出時の動作を示すフローチャートである。
【図10】同実施の形態によるゲート装置2001及び通信装置2002〜2006の伝送帯域制限値の調整の動作を示すフローチャートである。
【図11】同実施の形態による図1の構成における伝送帯域制限調整値の算出の例である。
【図12】同実施の形態を実行できるアクティブネットワークが前提とするネットワークの構成である。
【図13】同実施の形態を実行できるアクティブネットワークによる通信装置内部の構成を示すブロック図である。
【図14】同実施の形態を実行できるアクティブネットワークによる転送先テーブル記憶部に記憶されている転送先テーブルの一例を示す概略図である。
【図15】同実施の形態を実行できるアクティブネットワークによるセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。
【図16】同実施の形態を実行できるアクティブネットワークの通信装置をLinux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行うように実現した場合の概略図である。
【符号の説明】
2000…サーバ
2001…ゲート装置
2002〜2006…通信装置
2007〜2011…端末装置
2012…一般通信装置
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)とすると、
- 前記伝送帯域制限調整値は、ゲート装置または通信装置がゲート装置から何ホップ目に存在するかを示す階層の深さをd、同一の深さdにおいてゲート装置または通信装置を識別する番号をi、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑パケットの伝送帯域調整値をSs’(d,i)、深さdにあるiで識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(d,i)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にある通信装置を識別するための番号をk、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置から通知された攻撃容疑トラヒックの合計入力伝送帯域値をB(d+1,i,k)、深さdにあるiで識別されるゲート装置または通信装置の1つ上流にあるkで識別される通信装置の攻撃容疑トラヒックの伝送帯域制限調整値をSs’(d+1,i,k)とすると、
- 複数の通信装置を網目状に接続してなるネットワークと、防御対象であるコンピュータおよび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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、
前記上流の通信装置を介さずに当該通信装置に入力される攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した合計入力伝送帯域値とを合計した、当該通信装置における前記攻撃容疑トラヒックの合計入力伝送帯域値を前記下流のゲート装置又は通信装置に送信するステップと、
前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、前記受信した伝送帯域制限調整値と、前記上流の通信装置を介さずに当該通信装置に入力される前記攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの合計入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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つ上流にある通信装置数とを基に、上流の前記通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限値を算出して、上流の通信装置へ送信するステップと、
前記上流の通信装置を介さずに当該通信装置に入力される攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した合計入力伝送帯域値とを合計した、当該通信装置における前記攻撃容疑トラヒックの合計入力伝送帯域値を前記下流のゲート装置又は通信装置に送信するステップと、
前記下流のゲート装置又は通信装置から伝送帯域制限調整値を受信し、前記攻撃容疑トラヒックの伝送帯域を前記伝送帯域制限調整値に制限するステップと、
前記受信した伝送帯域制限調整値と、前記上流の通信装置を介さずに当該通信装置に入力される前記攻撃容疑トラヒックの伝送帯域値と、前記上流の通信装置から受信した前記攻撃容疑トラヒックの合計入力伝送帯域値とを基に、上流の通信装置へ通知する前記攻撃容疑トラヒックの伝送帯域制限調整値を算出して、前記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で識別されるゲート装置または通信装置の攻撃容疑トラヒックの合計入力伝送帯域値をT(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 |
---|---|---|---|
JP2002081906A JP3609382B2 (ja) | 2002-03-22 | 2002-03-22 | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002081906A JP3609382B2 (ja) | 2002-03-22 | 2002-03-22 | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003283572A JP2003283572A (ja) | 2003-10-03 |
JP3609382B2 true JP3609382B2 (ja) | 2005-01-12 |
Family
ID=29230353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002081906A Expired - Fee Related JP3609382B2 (ja) | 2002-03-22 | 2002-03-22 | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3609382B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659585A (zh) * | 2017-11-03 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种分级管理全网安全的方法及*** |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005184792A (ja) | 2003-11-27 | 2005-07-07 | Nec Corp | 帯域制御装置、帯域制御方法及び帯域制御プログラム |
US7406606B2 (en) * | 2004-04-08 | 2008-07-29 | International Business Machines Corporation | Method and system for distinguishing relevant network security threats using comparison of refined intrusion detection audits and intelligent security analysis |
US7966661B2 (en) * | 2004-04-29 | 2011-06-21 | Microsoft Corporation | Network amplification attack mitigation |
JP2006080582A (ja) * | 2004-09-07 | 2006-03-23 | Kddi Corp | 有害トラフィックを制限する方法及び装置 |
WO2006040880A1 (ja) | 2004-10-12 | 2006-04-20 | Nippon Telegraph And Telephone Corporation | サービス不能攻撃防御システム、サービス不能攻撃防御方法およびサービス不能攻撃防御プログラム |
KR20070030170A (ko) * | 2004-10-12 | 2007-03-15 | 니폰덴신뎅와 가부시키가이샤 | 중계장치, 중계 방법, 중계 프로그램 및 네트워크 공격방어 시스템 |
JP4697968B2 (ja) * | 2006-03-07 | 2011-06-08 | 日本電信電話株式会社 | 分散型サービス不能攻撃防止システム、方法、およびその帯域管理装置 |
JP5752020B2 (ja) * | 2011-12-06 | 2015-07-22 | 株式会社Kddi研究所 | 攻撃対策装置、攻撃対策方法及び攻撃対策プログラム |
JP5752021B2 (ja) * | 2011-12-06 | 2015-07-22 | 株式会社Kddi研究所 | 攻撃対策装置、攻撃対策方法及び攻撃対策プログラム |
JP5792654B2 (ja) * | 2012-02-15 | 2015-10-14 | 株式会社日立製作所 | セキュリティ監視システムおよびセキュリティ監視方法 |
JP7097242B2 (ja) * | 2018-06-25 | 2022-07-07 | 株式会社アマダ | 鋸刃 |
-
2002
- 2002-03-22 JP JP2002081906A patent/JP3609382B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659585A (zh) * | 2017-11-03 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种分级管理全网安全的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
JP2003283572A (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 | |
US7076803B2 (en) | Integrated intrusion detection services | |
Schnackengerg et al. | Cooperative intrusion traceback and response architecture (CITRA) | |
US7222366B2 (en) | Intrusion event filtering | |
US7409714B2 (en) | Virtual intrusion detection system and method of using same | |
US7757283B2 (en) | System and method for detecting abnormal traffic based on early notification | |
US8230505B1 (en) | Method for cooperative intrusion prevention through collaborative inference | |
US8356349B2 (en) | Method and system for intrusion prevention and deflection | |
Gonzalez et al. | A trust-based approach against IP-spoofing attacks | |
CN109327426A (zh) | 一种防火墙攻击防御方法 | |
JP3609382B2 (ja) | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム | |
US20070166051A1 (en) | Repeater, repeating method, repeating program, and network attack defending system | |
JP3699941B2 (ja) | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置、分散型サービス不能攻撃防止プログラム及び記録媒体 | |
JP3652661B2 (ja) | サービス不能攻撃の防御方法および装置ならびにそのコンピュータプログラム | |
Hatzivasilis et al. | WARDOG: Awareness detection watchdog for Botnet infection on the host device | |
JP3609381B2 (ja) | 分散型サービス不能攻撃防止方法及びゲート装置、通信装置ならびにプログラム | |
JP2000354034A (ja) | 事業:ハッカー監視室 | |
Strayer et al. | Architecture for multi-stage network attack traceback | |
Singh | Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS) For Network Security: A Critical Analysis | |
JP3790486B2 (ja) | パケット中継装置、パケット中継システムおよびオトリ誘導システム | |
KR100422807B1 (ko) | 정책기반 네트워크 보안제어를 위한 보안 게이트웨이 장치및 그 동작 방법 | |
Haeberlen et al. | Pretty Good Packet Authentication. | |
JP3657569B2 (ja) | パケット処理方法および通信装置 | |
Jouravlev | Mitigating Denial-Of-Service Attacks On VoIP Environment |
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 |