[go: up one dir, main page]

JP3652661B2 - Method and apparatus for preventing denial of service attack and computer program therefor - Google Patents

Method and apparatus for preventing denial of service attack and computer program therefor Download PDF

Info

Publication number
JP3652661B2
JP3652661B2 JP2002079728A JP2002079728A JP3652661B2 JP 3652661 B2 JP3652661 B2 JP 3652661B2 JP 2002079728 A JP2002079728 A JP 2002079728A JP 2002079728 A JP2002079728 A JP 2002079728A JP 3652661 B2 JP3652661 B2 JP 3652661B2
Authority
JP
Japan
Prior art keywords
communication
packet
attack
communication packet
address
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
Application number
JP2002079728A
Other languages
Japanese (ja)
Other versions
JP2003283571A (en
Inventor
エリック・チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002079728A priority Critical patent/JP3652661B2/en
Publication of JP2003283571A publication Critical patent/JP2003283571A/en
Application granted granted Critical
Publication of JP3652661B2 publication Critical patent/JP3652661B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、通信ネットワークにおいて大量の通信パケット(通信トラフィック)を被攻撃者に向けて送りつけることによって機能障害を引き起こすことを狙った攻撃を防御するための防御方法、およびその防御方法を実現する通信装置ならびにコンピュータプログラムに関する。
特に、通信ネットワークにおけるサービス不能(DoS,Denial of Service )攻撃、とりわけ分散型サービス不能(DDoS,Distributed Denial of Service )攻撃を防御するための技術に関する。
【0002】
【従来の技術】
近年、通信ネットワーク(具体的にはインターネット)において、しばしば著名なウェブサイトに対するDDoS攻撃が行われ、深刻な問題となっている。なお、DDoS攻撃とは、その名が示す通り分散型のDoS攻撃である。DoS攻撃とは、ネットワークに接続されたコンピュータ(ウェブサーバなど)に対して大量の通信トラフィックを送りつけるものである。DoS攻撃には様々なタイプのものがあるが、大きく次の2つのタイプに分類される。第1のタイプは攻撃対象のコンピュータの資源を浪費することによって機能障害を引き起こすことを狙うものであり、第2のタイプはより単純に大量の通信トラフィックによって攻撃対象の通信ネットワークの帯域を浪費することを狙うものである。
【0003】
第1の従来技術として、ファイアウォール装置を用いてDDoS攻撃を防御することが考えられる。これは、何らかの手段によって悪意のある攻撃の通信パケットの送信元アドレス(具体的にはIPアドレスなど)を特定できたことを前提として、ファイアウォールの外側から到着する通信パケットのうち該当する送信元アドレスを有するものをファイアウォール装置において破棄し、ファイアウォールの内側のコンピュータの資源に悪影響を及ぼさないようにするという防御方法である。
【0004】
また、第2の従来技術としては、本願発明者らが既に特許出願済の防御方法も存在する。これは、ネットワーク上で通信パケットを転送するための通信装置(具体的にはルータやスイッチなど)上に、DDoS攻撃を検知したり検知したDDoS攻撃を防御したりするためのコンピュータプログラムを実行することのできる環境を設け、次のような手順で被攻撃者のコンピュータを攻撃から防御するものである。
その手順とは、まず、被攻撃者のコンピュータに最も近い通信装置(境界通信装置,境界ルータ)において当該通信装置を通過する通信パケットを監視し、DDoS攻撃を検出するプログラムモジュールを作動させる。DDoS攻撃が検出されると、当該DDoS攻撃の通信パケットを破棄するモジュールを作動させる。そして、上位の通信装置、すなわち攻撃元に近い側の通信装置を検索するモジュールを作動させる。次に、検索された上位の通信装置に対して当該検索モジュールを送信する。そして、上位の通信装置においてさらに上位の通信装置を検索する。そのようにして、順次上位の通信装置を検索し、攻撃元に最も近い通信装置を防御位置と定める。その定められた防御位置の通信装置に対して、DDoS攻撃の通信パケットを破棄するモジュールを送信し、当該防御位置の通信装置においてこのモジュールを作動させることにより防御を行う。
【0005】
【発明が解決しようとする課題】
前記の第1の従来技術では、攻撃の通信パケットはファイアウォールの位置まで届いているため、たとえ防御対象のコンピュータの資源を防御することができても、ファイアウォールに至るまでの部分での攻撃による通信トラフィックを減らすことはできず、防御対象のコンピュータにとって必要な通信帯域が浪費されてしまうという問題があった。
【0006】
また、前記の第2の従来技術でも、検知できないタイプの攻撃があるという問題があった。また、攻撃のトラフィックであることが確実に判別できない状況においては、そのような疑わしいトラフィックの存在によって、使用可能な通信帯域が狭められてしまうという問題があった。
【0007】
本願発明はこのような事情を考慮してなされたものであり、より多くの種類の攻撃を検知して防御することのできる防御方法および装置ならびにそのコンピュータプログラムを提供することを目的とする。
また、さらに、単に防御対象コンピュータの資源を守るだけでなく、攻撃のトラフィックあるいは攻撃であると疑われるトラフィックによってネットワークの通信帯域が浪費されないような防御方法等を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法であって、前記防御対象コンピュータに最も近い通信装置であるところの境界通信装置からの指令情報に基づいて、当該境界通信装置から所定の段数分の範囲内に接続されているシールド通信装置が、当該シールド通信装置に到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するとともに、前記分析処理の結果当該通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合には当該通信パケットを破棄するシールド過程を有することを特徴とするサービス不能攻撃の防御方法を要旨とする。
【0009】
また、本発明のサービス不能攻撃の防御方法は、前記境界通信装置から最も遠い位置にある前記シールド通信装置との間の接続の段数として2以上を許容するとともに、当該段数を動的に変更できるようにしたことを特徴とする。
【0010】
また、本発明のサービス不能攻撃の防御方法は、前記シールド過程において前記通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合に、前記シールド通信装置がより攻撃元に近い側の隣接する通信装置に対してプローブプログラムコードを送信するプローブプログラムコード送信過程と、前記プローブプログラムコードを受信したプローブ通信装置が、当該プローブプログラムコードを実行することによって、当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程とをさらに有することを特徴とする。
【0011】
また、本発明のサービス不能攻撃の防御方法は、前記プローブ過程においては、宛先アドレスが前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定し、その他の場合には当該通信パケットは攻撃のパケットではないと判定することを特徴とする。
【0012】
また、本発明のサービス不能攻撃の防御方法は、前記プローブ過程においては、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、a)当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合、又は、b)当該通信パケットの送信元アドレスが前記防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合、には、当該通信パケットが攻撃のパケットであると判定し、上記a)あるいは上記b)のいずれにも該当しない場合には当該通信パケットは攻撃のパケットではないと判定することを特徴とする。
【0013】
また、本発明のサービス不能攻撃の防御方法は、前記シールド過程内の前記分析処理においては、予め正常時に得ておいたパラメータの値を含んだログ情報を用いて、検査時のパラメータの値と前記ログ情報とを比較することによる動的検査の処理を行うことを特徴とする。
【0014】
また、本発明は、防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行するシールド通信装置であって、前記防御対象コンピュータに最も近い通信装置であるところの境界通信装置からの指令情報に基づいて、当該シールド通信装置に到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するとともに、前記分析処理の結果当該通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合には当該通信パケットを破棄する処理を実行することを特徴とするものである。
【0015】
また、本発明のシールド通信装置は、前記分析処理においては、予め正常時に得ておいたパラメータの値を含んだログ情報を用いて、検査時のパラメータの値と前記ログ情報とを比較することによる動的検査の処理を実行することを特徴とする。
【0016】
また、本発明は、防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行するプローブ通信装置であって、シールド通信装置によって防御対象コンピュータに対する攻撃の通信パケットが検出されたとき、当該シールド通信装置からプローブプログラムコードを受信し、当該プローブプログラムコードを実行することによって、当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程の処理を実行し、前記プローブ過程の処理においては、宛先アドレスが前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定し、その他の場合には当該通信パケットは攻撃のパケットではないと判定することを特徴とするものである。
【0018】
また、本発明は防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行するプローブ通信装置であって、シールド通信装置によって防御対象コンピュータに対する攻撃の通信パケットが検出されたとき、当該シールド通信装置からプローブプログラムコードを受信し、当該プローブプログラムコードを実行することによって、当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程の処理を実行し、前記プローブ過程の処理においては、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、a)当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合、又は、b)当該通信パケットの送信元アドレスが前記防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合、には、当該通信パケットが攻撃のパケットであると判定し、上記a)あるいは上記b)のいずれにも該当しない場合には当該通信パケットは攻撃のパケットではないと判定することを特徴とするものである。
【0019】
また、本発明は、防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行する通信装置であって、ネットワーク側から到着する通信パケットを捕捉する到着パケット捕捉部と、前記通信パケットに対して作用を及ぼすコンピュータプログラムの処理を行うアクティブネットワーク実行環境部と、複数のクラスにそれぞれ対応した待ち行列を備えるとともに、前記アクティブネットワーク実行環境部における前記コンピュータプログラムの処理の結果として決定されるクラスに応じて、前記通信パケットをそのクラスに対応する前記待ち行列に入れる処理を行うクラスベースの待ち行列処理部と、前記クラスベースの待ち行列処理部が備える各々の待ち行列から順次通信パケットを取り出してネットワーク側に送出するパケット送出部と、前記アクティブネットワーク実行環境部で実行するためのコンピュータプログラムを他の通信装置との間で転送する処理を行うプログラム転送処理部とを備えており、前記アクティブネットワーク実行環境部は、コンピュータプログラムを記憶するコード記憶部と、このコード記憶部に記憶されたコンピュータプログラムを読み出して実行するコード実行部とを備えており、前記コード記憶部には、到着する通信パケットの分析を行い、この分析の結果、前記通信パケットが攻撃の通信パケットである可能性に応じて前記通信パケットのクラスを決定するとともに、当該通信パケットが確実に攻撃の通信パケットである場合には当該通信パケットを破棄する処理をコンピュータに実行させるシールドモジュールと、到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄する処理をコンピュータに実行させるプローブモジュールと、前記プローブモジュールの処理をコンピュータが実行した結果、攻撃の通信パケットが見つかった場合に、自己のプログラムコードの複製をさらに攻撃元に近い側の隣接する通信装置に対して送信する処理をコンピュータに実行させる自己複製送信モジュールと、前記プローブモジュールの処理をコンピュータが実行した結果、攻撃の通信パケットが所定時間継続して見つからなかった場合に、自己のプログラムコードを消滅させる処理をコンピュータに実行させる自己消滅モジュールとが少なくとも記憶されていることを特徴とする通信装置である。
【0020】
また、本発明は、複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理をコンピュータに実行させるコンピュータプログラムであって、前記防御対象コンピュータに最も近い通信装置であるところの境界通信装置からの指令情報に基づいて、当該境界通信装置から所定の段数分の範囲内に接続されているシールド通信装置が、当該シールド通信装置に到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するとともに、前記分析処理の結果当該通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合には当該通信パケットを破棄するシールド過程の処理をコンピュータに実行させるものである。
【0021】
また、本発明は、複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理をコンピュータに実行させるコンピュータプログラムであって、到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して当該コンピュータプログラム自身を送信し、分析の結果一定時間攻撃のパケットが検知されない場合には当該コンピュータプログラムを終了させるプローブ過程の処理をコンピュータに実行させ、前記プローブ過程においては、宛先アドレスが前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定し、その他の場合には当該通信パケットは攻撃のパケットではないと判定する処理をコンピュータに実行させるものである。
【0023】
また、本発明は複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理をコンピュータに実行させるコンピュータプログラムであって、到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して当該コンピュータプログラム自身を送信し、分析の結果一定時間攻撃のパケットが検知されない場合には当該コンピュータプログラムを終了させるプローブ過程の処理をコンピュータに実行させ、前記プローブ過程においては、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、a)当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合、又は、b)当該通信パケットの送信元アドレスが前記防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合、には、当該通信パケットが攻撃のパケットであると判定し、上記a)あるいは上記b)のいずれにも該当しない場合には当該通信パケットは攻撃のパケットではないと判定する処理をコンピュータに実行させるものである。
【0024】
【発明の実施の形態】
以下、図面を参照しこの発明の一実施形態について説明する。
図1は、本実施形態が前提とするネットワークの構成である。図1に示すように、通信ネットワークは、複数の通信装置7001によって接続されている。そして、通信装置7001には1台または複数台のユーザのコンピュータ7000を接続することができるようになっている。ユーザのコンピュータ7000相互間で通信データのやりとりを行う際には、送信元のユーザのコンピュータ7000が送信したパケットを通信ネットワーク上の各ノードに位置する通信装置7001が順次転送することにより、そのパケットを宛先のユーザのコンピュータ7000に届けるようにする。
【0025】
次に、通信装置の構成について説明する。図2は、本実施形態による通信装置7001の内部の構成を示すブロック図である。
図2に示すように、通信装置7001は、ネットワーク(通信線)を経由して他の通信装置あるいはコンピュータから到着した通信パケットを捕捉する到着パケット捕捉部7531と、到着パケット捕捉部7521によって捕捉された通信パケットを転送するための処理を行う転送処理部7521と、優先度の異なる複数のクラスに対応した待ち行列(キュー)を用いることによってクラス毎の通信帯域を制御するクラスベースの待ち行列処理部7532と、このクラスベースの待ち行列処理部7532から出力されたパケットを他の通信装置あるいはコンピュータに転送するためにネットワークに送出するパケット送出部7533とを備えている。
【0026】
さらに、通信装置7001は、アクティブネットワーク実行環境7510と、プログラム転送処理部7540とを備えている。
アクティブネットワーク実行環境7510は、転送対象のパケットに対して作用するプログラムコードを実行するものであり、その内部には、プログラムコードを記憶するコード記憶部7512とこのコード記憶部7512から読み出したプログラムコードを実行するコード実行部7511とを有している。
プログラム転送処理部7540は、ネットワークを介して、アクティブネットワーク実行環境7510で実行するためのプログラムコードを他の通信装置から受信したり、逆に他の通信装置上で実行させるためのプログラムコードを他の通信装置に対して送信したりするものである。
【0027】
アクティブネットワーク実行環境7510内のコード記憶部7512には、DDoS攻撃を防御するためのDDoS攻撃防御プログラムを記憶することができるようになっている。このDDoS攻撃防御プログラムは、センサーモジュールとシールドモジュールとプローブモジュールと自己複製送信モジュールと自己消滅モジュールとを含んでいる。センサーモジュールは当該通信装置に到着する通信パケットを継続的に分析することにより、DDoS攻撃の通信トラフィックが起こっているかどうかを検知する機能を有する。シールドモジュールは、センサーモジュールによる分析結果に基づき、DDoS攻撃の通信パケットを破棄したり、通信パケットの特徴に応じて出力のクラスを決定し当該通信パケットがこのクラスに対応した待ち行列に入るようにクラスベースの待ち行列処理部7532に渡したりする機能を有する。プローブモジュールは、DDoS攻撃が検知されたときに、より上位の通信装置において、つまりより攻撃元に近い側の通信装置において防御のための処理を行う機能を有する。自己複製送信モジュールは、より上流の通信装置に、プログラム転送処理部7540経由でDDoS攻撃プログラムコード自身あるいはその一部分を転送する機能を有する。自己消滅モジュールは、DDoS攻撃のトラフィックが継続されない状態が所定時間以上継続した場合に、DDoS攻撃防御プログラム自身の実行を終了したり、当該通信装置のコード記憶部上から消去したりする機能を有する。なお、防御対象のコンピュータに直接に隣接する通信装置等においては、DDoS攻撃防御プログラムの自己消滅を行わずに、常に少なくともセンサーモジュールだけは稼動させるようにしても良い。
【0028】
次に、この通信装置7001が通信パケットを転送する際の処理の流れを説明する。ネットワーク側から到着した通信パケットは到着パケット捕捉部7531によって捕捉され、転送処理部7531に渡される。転送処理部7531は、通信パケットの宛先アドレス等に応じて、当該通信パケットをそのままクラスベースの待ち行列処理部7532に渡すか、あるいは当該通信パケットをアクティブネットワーク実行環境7510上で稼動するプログラムに渡す。このプログラムは、所定の処理を行い、通常は通信パケットをクラスベースの待ち行列処理部7532に渡すが、前記のようにそれがDDoS攻撃の通信パケットであると認識された場合などはその通信パケットをそのまま破棄する場合もあり得る。クラスベースの待ち行列処理部7532に渡された通信パケットは、指定されたクラスの待ち行列に一旦入れられ、クラス毎に待ち行列から通信パケットが順次取り出され、パケット送出部7533に渡される。パケット送出部7533は、通信パケットをネットワーク上の所定の転送先に向けて送出する。
【0029】
次に、上述した通信装置同士が協調的に動作することによりネットワーク全体を通してDDoS攻撃を防御する方法の概略を説明する。図3は、本実施形態による防御のしくみを示す論理的概略図である。
図3において、符号7000aは被攻撃者のコンピュータである。被攻撃者のコンピュータ7001aとなる可能性があるのは、例えば、著名なウェブサイトのサーバコンピュータなどであり、このコンピュータ7000aがDDoS攻撃を受けたときに防御のしくみが働く。また、7001a〜7001eは、それぞれネットワークを構成する通信装置(具体的にはルータやスイッチなど)であり、図2を用いて説明した通信装置7001に相当するものである。
【0030】
これらの通信装置(7001a〜7001e)のうち、通信装置7001aは、被攻撃者のコンピュータ7000aに直接に隣接するものであり、つまり被攻撃者のコンピュータ7000a側から見てネットワークへの接点となるものであり、このような位置付けの通信装置を「境界(edge)通信装置」と呼ぶことにする。そして、この境界通信装置が防御指令元としての役割、つまりこの防御のしくみ全体を制御する中心としての役割を果たす。
また、通信装置7001bおよび7001c(シールド通信装置)は、防御指令元からの指令に基づき通信トラフィックを検査するとともに、DDoS攻撃の通信パケットを破棄するなど、シールドとしての役割を果たす。
また、通信装置7001e(プローブ通信装置)は、シールドからさらに上位において防御を行うためのプローブとしての役割を果たす。
【0031】
各通信装置の、防御指令元、シールド、およびプローブとしての、それぞれの具体的な処理内容を以下に記載する。
防御指令元が行う処理のひとつはシールドレベルの設定である。ここで、シールドレベルとは、防御指令元から見て、ネットワークの外側への通信装置の接続の段数(深さ)である。図3に示している構成では、シールドレベルは「2」に設定されているため、防御指令元の通信装置7001aから見て1段目の通信装置7001bおよび2段目の通信装置7001cがシールドの役割を果たす。図3ではシールドレベルが「2」に設定されている例を示しているが、他のレベルに設定することも可能であり、また動的にレベルを変更することも可能である。例えば、被攻撃者のコンピュータ7000aへの攻撃の度合いが大きい場合にはシールドレベルが高くなるように動的に変更することができる。
また、防御指令元は、防御指令元から転送され他の通信装置上で稼動する全てのシールドモジュールに対する制御を行う。また、防御指令元は、必要に応じて稼動中のシールドモジュールの動作を停止させることもできる。
【0032】
後述するように、シールドモジュールは各通信装置(7001b,7001c)上で、局所静的検査と局所動的検査の2つのタイプの検査を行うため、ある種の攻撃はシールドモジュールによって効果的に防御することができる。しかしながら、他の攻撃の中には、ネットワーク全体の状況のデータを分析することによってはじめて検出され得るものもある。そこで、防御指令元は、大域的動的検査の処理を行う。
【0033】
本実施形態による防御をネットワークに適用した場合、最初は、防御指令元は学習段階の処理を行う。この学習段階の処理では、定期的に到着パケット(通信トラフィック)のスナップショットデータを取得し、このスナップショットデータに統計的処理を施すことによって、正常状態におけるネットワークの特徴データを取得する。この特徴データは、防御対象のコンピュータの使用目的等に応じてネットワーク毎に異なる特徴のパターンを表わすものである。この正常状態における特徴データを便宜的に「指紋データ」と呼ぶことにする。
【0034】
学習段階で指紋データが得られると、次の段階では、防御指令元は、この指紋データを使うことによって異常を検出することができる。ここで検出可能な異常とは、例えば、到着パケットのヘッダ部分に格納されている送信元アドレスの分布が異常にばらついている(ランダム性が高い)といったものであり、このような異常が検出されるということは、ランダムに選択されたアドレスによって送信元アドレスを偽装したパケットを用いた攻撃が行われていることを示唆している。一旦ある異常が検出されると、防御指令元は、新しいパケットフィルタリングのルールを全てのシールドに対して発行することができる。
【0035】
次に、シールド(図3における通信装置7001bおよび7001cが果たす役割)の具体的な処理内容について説明する。
シールドは、DDoS攻撃に対処するための「第一段階」の対応の役割を果たすように設計されている。
各通信装置上において、シールドモジュールは、防御対象となっているコンピュータに向けて転送されてくる通信パケットをモニタする。これは、後述するアクティブネットワークのしくみにおいて、特定の通信アドレス(IPアドレス)を有するパケットをトリガーとしてアクティブネットワーク実行環境上の特定のプログラムコードを呼び出すことによって可能となる。従って、シールドモジュールの制御は、本モジュールの所有者に関するすべての通信パケットに及ぶこととなる。
【0036】
図4は、シールドモジュールによる通信パケットのクラス分けの処理の概要を示す概略図である。図示するように、シールドモジュールの処理対象となる通信パケットは、ネットワーク側から入力インタフェースを介して到着すると、一旦入力待ち行列に入れられ、順次シールドモジュールに渡される。また、クラスベースの待ち行列処理部7532は、出力(ネットワークへの送出)の優先度がそれぞれ「高」、「中」、「低」の3つの待ち行列を有している。そして、クラスベースの待ち行列処理部7532は、アクティブネットワーク実行環境7510上で稼動するシールドモジュールによって決定されたクラスに応じた待ち行列に通信パケットを格納し、各待ち行列から順次通信パケットを取り出して出力する。
【0037】
各通信装置上で稼動するシールドモジュールは、通信トラフィックをクラス別に分類するクラス分け機能を有しており、このクラス分け機能は、到着した通信パケットがDDoS攻撃の洪水トラフィックをなすものである確率を求めることができるようになっている。そして、DDoS攻撃である可能性が最も高い部類に属する通信パケット、つまり最も疑わしいクラスの通信パケットは、最も優先度の低い待ち行列(「低」)に入るように指定され、クラスベースの待ち行列処理部7532に渡される。逆に、DDoS攻撃である可能性が最も低い部類に属する正常な通信パケットは、最も優先度の高い待ち行列(「高」)に入るように指定される。疑わしさの度合いが中間のクラスの通信パケットは、優先度が「中」の待ち行列に入るように指定される。
【0038】
シールドモジュールが、上記のようにクラスベースの待ち行列を用いた出力の処理を行うことにより、次の2つの効果が得られる。
第1の効果は、防御対象のコンピュータが攻撃を受けている途中、疑わしい通信トラフィックが防御対象のコンピュータに到達しにくくする一方で、正常である可能性の高い通信トラフィックが防御対象のコンピュータに到達する可能性を高めることができる点である。つまり、疑わしい通信トラフィックの帯域を抑え、正常な通信トラフィックの帯域を確保することができる。
第2の効果は、DDoS攻撃を検出するためのアルゴリズムにより柔軟性と正確性を与えることができる点である。
【0039】
従来技術においてDDoS攻撃の通信パケットであるか否かを二値的に判断して処理していたのに比べると、上記の2つの効果は防御の方法を大幅に改善するものであると言える。何故ならば、通常時の通信トラフィックよりも広い帯域を占める通信トラフィックが流れているときに、その通信トラフィックがDDoS攻撃によって引き起こされているものであるのか、正常な通信の量がたまたまピークをむかえているものであるのかを判別するのは、単純に行える問題ではないからである。また、たとえDDoS攻撃であることが確認された状況下であっても、DDoS攻撃による洪水パケットと正当な通信パケットとを高い信頼性で分別することは困難だからである。つまり、正常な通信パケットまでもが届きにくくなるというダメージを最小化するためには、検知アルゴリズムは、二値的な真か偽かの判断を行うものであるよりも、攻撃の通信パケットである可能性(確率)算出するものであるほうが望ましいといえる。そして、攻撃の通信パケットである可能性が非常に高い通信パケットだけを破棄するようにすべきである。
【0040】
シールドモジュール内の前記クラス分け機能は、以下に述べるように、局所静的検査と局所動的検査との2つのタイプの検査を行う。
局所静的検査は、状態に基づかずに行われる検査であり、それぞれの多くの静的なパラメータに基づいて各々の到着パケットに対して行われる検査である。ここで、静的なパラメータとは、通信パケットの送信元アドレスや宛先アドレス、ヘッダ(具体的にはIPヘッダなど)に含まれる通信プロトコル上のパラメータ、通信パケット長、宛先ポート番号、ICMP(インターネット・コントロール・メッセージ・プロトコル)タイプなどである。
【0041】
例えば、防御対象のコンピュータがウェブサイトのサーバである場合には、その防御対象のコンピュータが他のコンピュータに対して「ping」要求を送信することはないため、シールドは、その防御対象のコンピュータに向けたタイプ0のICMPパケット(エコー応答)や送信元のポート番号が7であるUDP(ユーザ・データグラム・プロトコル)を、検出次第すぐに破棄することができる。
また、静的検査によって検出可能な他の異常の例としては、送信元アドレスと宛先アドレスが同一である通信パケットである。このような通信パケットは、そのアドレスを有するコンピュータが通信パケットの送受信のループに陥ることを狙った攻撃であるので、シールドはこのような通信パケットを全て破棄すべきである。
【0042】
局所動的検査は、状態に基づいて行われる検査であり、シールドによって記録されたログファイル(ログ情報)を用いて行われる検査である。このログファイルは、異常を検出するために用いられるデータとして、ある種のパラメータの値を所定期間にわたって記録し保持するものである。
【0043】
ここで、動的検査の具体例について説明する。第1の具体例は、異常なパケットあるいは疑わしいパケットが継続的に流入してくるときに、その継続時間を検査するものである。例えば、突然、同じ送信元から規定の最大サイズの通信パケットが5分間に渡って継続的に流入してきた場合になどには、シールドはその送信元アドレスからの通信パケットの疑わしさの度合いを上げ、その送信元アドレスからの通信パケットを「低」優先度の出力待ち行列に入れるようにする。
第2の具体例は、特定のコンピュータへの到着パケットとそのコンピュータからの送出パケットと間の量(パケット数、データ量など)の比率を用いて検査を行うものである。一般にこの到着・送出間の比率は、コンピュータ(システム、例えばウェブサイトのシステム)毎に異なるが、あるコンピュータについて見た場合、その比率はほぼ一定している。そこで、予め通常時に長期的な到着・送出間の平均比率を算出しておく。そして、その平均比率に基づいて、異常を検知するための到着・送出間の比率の閾値を決定しておく。そして、検査中に到着・送出間の比率がこの閾値をこえた場合に異常とみなすことができる。なお、上限値と下限値を予め決定しておき、到着・送出間の比率が上限値を上回った場合あるいは下限値を下回った場合に異常とみなすようにしても良い。
【0044】
第3の具体例は、通信パケットの送信元アドレスの分布を利用して検査を行うものである。正常な状況においてある程度の長い期間にわたって見た場合、通信パケットの送信元アドレスの分布はほぼ一定しているはずである。ところがDDoS攻撃が行われる際には、ランダムに選ばれたアドレスを用いて送信元アドレスの偽装が行われるため、送信元アドレスのばらつき度合いが異常に高い場合、言い換えればランダム性が高い場合に、攻撃を検出することができる。
図5(a)および(b)は、それぞれ送信元IPアドレスの分布状況を示すグラフである。図5(a)は正常時の分布例を示しており、同(b)はDDoS攻撃を受けているときの分布例を示しており、それぞれ横軸はIPアドレス、縦軸は通信パケットの出現回数(あるいは出現頻度でも良い)を表している。図5(a)に示すように、正常時には、特定の少数の送信元アドレスの通信パケットのみの出現回数が多く、他の送信元アドレスの通信パケットの出現回数は少なかったりゼロであったりするなど、特定のアドレスに出現回数が集中する傾向がある。それに対して図5(b)に示すように、DDoS攻撃が行われているときには、偽装のためのアドレスがランダムに選択されるために、すべての送信元アドレスについて一様に出現回数が多い。つまり、出現回数の分布がIPアドレスの空間にばらついている度合いが大きい。
【0045】
このようなランダム性を数値化に扱う方法を説明する。存在するすべてのIPアドレスの数をkとする。i番目(1≦i≦k)のIPアドレスの出現頻度を長期間にわたって測定しておくことによって、所定期間中に期待されるi番目の出現回数e(i)を予め得ておく。そして、検査時に所定期間中に実際にi番目のIPアドレスが出現した回数o(i)を得ておく。そして、すべてのIPアドレスについて、
d(i)=((o(i)−e(i))^2)/e(i)
を計算し、1≦i≦kであるすべてのiについてのd(i)の総和を計算する。この総和が予め定めた閾値を上回った場合に、異常とみなすことができる。
【0046】
以上説明した3種類の具体例の他にも、通信パケット長や、TTL(Time-To-Live )値など様々なパラメータを用いた検査が可能であり、これらのパラメータ値のランダム性が異常に高い場合や、逆に一定している度合いが異常に高い場合などを検出することによって、DDoS攻撃が行われているかどうかを検査することができる。
【0047】
図3に示したように、シールドを複数の通信装置に分散させることにより、次の2つの効果が得られる。
第1の効果は、DDoS攻撃を吸収しやすくなり、異常な通信トラフィックの増加を起こりにくくすることができる点である。
第2の効果は、通信トラフィックの検査を異なった複数の場所で行える点である。
【0048】
次に、プローブ(図3における通信装置7001eが果たす役割)の具体的な処理内容について説明する。
本実施形態の防御方法は、DDoS攻撃によって引き起こされるダメージを最小化することを目的として、シールドを用いた防御のほかに、さらにプローブを用いる。前述のようにシールドが「第一段階」の対応の役割を果たすように設計されていたのに対して、プローブは、トレースバックおよび「第二段階」の対応の役割を果たすように設計されている。
つまり、シールド過程において通信パケットが確実に防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合に、シールド通信装置がより攻撃元に近い側の隣接する通信装置に対してプローブプログラムコードを送信するプローブプログラムコード送信過程の処理が行われる。
また、前記プローブプログラムコードを受信したプローブ通信装置が、当該プローブプログラムコードを実行することによって、当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程の処理が行われる。
【0049】
本実施形態の防御のしくみがDDoS攻撃を確認して、攻撃による洪水トラフィックを完璧に阻止することを決定した場合には、プローブが洪水トラフィックの元に向かって送り込まれる。その目的は次の2つである。
第1の目的は、洪水トラフィックを可能な限り上流で阻止することによって、ネットワークの帯域を少しでも多く確保することである。また、第2の目的は、法的に使用する目的の攻撃の証拠を収集することである。
このプローブもまた、アクティブネットワークのアクティブコードとして実現されている。つまり、プローブモジュールは、下流から上流に向かって通信装置から通信装置を段階的に移動していくエージェントのようなふるまいをする。
なお、本実施形態では、次に述べるA型とB型との2つのモデルのDDoS攻撃に対応できるように、プローブモジュールのアルゴリズムを設計している。
【0050】
まず、A型のDDoS攻撃について説明する。
図6は、A型のDDoS攻撃を示す概略図である。このA型のモデルでは、マスター(攻撃元のコンピュータ)と、このマスターによって侵入されたスレーブ(コンピュータ)とによって攻撃が行われる。マスターコンピュータはDDoS攻撃のプログラムをスレーブコンピュータにアップロードする。このマスターとスレーブとの間の通信をコントロールトラフィックと呼ぶ。そして、それぞれのスレーブコンピュータは、被攻撃者のコンピュータに対して膨大な量のパケットを送りつける。このとき、被攻撃者が攻撃元を特定できないようにすることを目的として、スレーブコンピュータから被攻撃者のコンピュータに対して送られる通信パケットの送信元アドレスの偽装が行われることもしばしばある。
【0051】
次に、B型のDDoS攻撃について説明する。
図7は、B型のDDoS攻撃を示す概略図である。例えば「Smurf」や「Fraggle」を用いたDDoS攻撃はこのB型に含まれる。B型の攻撃の特徴は被攻撃者のコンピュータのダメージを大きくするために、ネットワークを用いて通信トラフィックの増幅を行う点にある。マスター(攻撃元のコンピュータ)がスレーブコンピュータに対して指令を行うことにより、スレーブコンピュータはICMPエコー要求パケットやUDPの7番ポート(エコー)のパケットをいくつかのネットワークに対してブロードキャストする。このとき各々のエコー要求のパケットの送信元アドレスは偽装されており、被攻撃者のコンピュータのアドレスが送信元アドレスとして格納されている。従って、エコー要求パケットのブロードキャスト先のネットワークに接続されたすべてのコンピュータ(正当なユーザのコンピュータ)は、被攻撃者のコンピュータに対してエコー応答のパケットを送信しようとする。このようにして、ネットワークによって増幅された洪水トラフィックが被攻撃者のコンピュータに向かうこととなる。
【0052】
次に、プローブによる前記A型のDDoS攻撃への対応の処理について説明する。
一般に、あるひとつの通信パケットの送信元アドレスが偽装されているか偽装されていないかを見分けることはできない。そこで、初期的には、全ての通信パケットの送信元アドレスが偽装されているものという仮定を置くことにする。
【0053】
図8は、A型のDDoS攻撃に対応するためのプローブのアルゴリズムを記述した擬似プログラムコードである。以下、図8を参照しながら説明する。
シールドモジュールによって検出された攻撃トラフィックの送信元アドレスが変数「attSrc」に格納されている。
本実施形態においては、アクティブネットワーク実行環境で実行される各アクティブコードは特定の所有者によって所有され、当該所有者に関するすべての通信パケットをフルに制御することができるようにオーソライズされていることを前提としている。従って、各通信装置上では、プローブモジュールは当該プローブモジュールの所有者に関するパケットをすべて捕捉し処理対象とすることができる。
【0054】
図3に示したように、シールドの通信装置からスタートして、順次自己複製送信モジュールの機能によって、攻撃元の方向に向かって隣接する通信装置に段階的にプローブモジュールの複製が転送されていく。
図8に示すプローブモジュールのコードは、新たなノード(通信装置)uに到着して実行が開始される。
【0055】
まず図8に示す擬似コードの1行目において、変数「explored」に値「false(偽)」が格納される。
次に同擬似コードの2行目から11行目までのループ(do−while)が実行される。
同擬似コードの3行目において、関数「capturePacketByDest()」の機能によって、被攻撃者のコンピュータのアドレス(IPアドレス)を宛先アドレスとする通信パケットを捕捉し、その通信パケットのデータを変数(構造体)「p」に格納する。
同擬似コードの4行目において、変数「p」に格納された通信パケットの送信元アドレス(p.src)が前記変数「attSrc」の値に等しいならば、つまり攻撃トラフィックの送信元アドレスに等しいならば、5行目から9行目までの処理が実行される。そうでない場合には、10行目の関数「releasePacket(p)」の機能によって当該通信パケットがリリースされる、つまり転送先の通信装置に向けて送出される。
4行目の処理において攻撃トラフィックの通信パケットであると判別された場合は、同擬似コードの5行目において、関数「discard(p)」の機能により、変数「p」に格納された通信パケットは破棄される。つまり、攻撃のトラフィックがここで阻止される。また、同擬似コードの7行目から9行目の処理においては、当該ノードuに隣接するノードであって当該ノードuに対してプローブモジュールを送信した元のノードではないもの、つまりすべての上流のノードv(通信装置、複数の場合もある)に対してプローブモジュール自身の自己複製を転送する。
【0056】
同擬似コードの11行目の条件式において、攻撃のトラフィックが見つからない状態が所定時間続いた場合には、2行目から11行目までのループを抜け出し、12行目において自己消滅モジュールの機能によって自己を消滅させる。つまり、一旦プローブとして動作を始めたもののその通信装置が攻撃の上流の位置にない場合には、プローブとしての役割を終える。
【0057】
以上説明したように、図8に示したアルゴリズムの目的は攻撃元に最も近い位置の通信装置を見つけ出し、その位置において不必要なトラフィックを阻止することである。これによって、下流に攻撃の通信パケットが流れることを防ぎ、途中の通信装置に不要な負荷がかからないようにすることができる。
また、攻撃元に最も近い通信装置に到達すると、プローブはその位置情報(IPアドレスなど、証拠情報)を防御指令元に報告する処理を行う。
【0058】
次に、プローブによる前記B型のDDoS攻撃への対応の処理について説明する。
前述したように、B型のDDoS攻撃においては、攻撃元(スレーブ)から増幅のために用いられるネットワークに対して送られる通信パケットは偽装された送信元アドレスを有している。ところが、増幅のために用いられたネットワークに属しているコンピュータから被攻撃者のコンピュータに送られる洪水トラフィックの通信パケットのヘッダには、各コンピュータの正規の送信元アドレスが格納されている。シールドは、初期的には、増幅のために用いられたネットワークに属するコンピュータのアドレスを変数「attSrc」に格納してしまうため、図8で示したアルゴリズムを使っている限りにおいては、プローブは増幅のために用いられたネットワークまでしか到達することはできず、その先、つまり真の攻撃者にさらに近い通信装置へプローブを送り込むことはできない。そこで、B型のDDoS攻撃に対応するためのプローブとして新たなアルゴリズムを用いることにする。
【0059】
図9は、B型のDDoS攻撃に対応するためのプローブのアルゴリズムを記述した擬似プログラムコードである。以下、図9を参照しながら説明する。
図9に示す擬似プログラムコードの特徴は、その3行目と4行目の処理にある。同コードの3行目では、関数「capturePacketAssociatedWith()」の機能によって、被攻撃者のコンピュータのアドレスに関する通信パケットを捕捉する。つまり、例えば、送信元アドレスあるいは宛先アドレスのいずれかが被攻撃者のコンピュータのアドレスと同一である通信パケットを捕捉する。また、同コードの4行目のif文による判断のための条件式は、捕捉された通信パケットの送信元アドレスが変数「attSrc」に等しい場合だけでなく、送信元アドレスが被攻撃者のコンピュータのアドレスであって且つ宛先アドレスが変数「attSrc」に格納されているアドレスのブロードキャストアドレスである場合にも、その値が「真」となるように記述されている。例えば、変数「attSrc」に格納されている攻撃元のIPアドレスが「101.102.103.104」であったとき、「101.102.103.255」はそのブロードキャストアドレスである。4行目のif文の条件式をこのようなものにすることにより、被攻撃者のコンピュータのアドレスが送信元アドレスであって且つ増幅に用いられているネットワークのブロードキャストアドレスが宛先アドレスであるような通信パケット、すなわち攻撃元(図7におけるスレーブ)から増幅のためのネットワークに対して送られている偽装の通信パケットを破棄できる(同コード5行目の処理)ようになるとともに、さらに攻撃元に近い通信装置にプローブモジュールを送り込むことができる(同コードの6行目〜9行目の処理)ようになる。
【0060】
なお、変数「attSrc」に格納される攻撃元のIPアドレスは複数のアドレスであっても良い。また、通信装置から通信装置へプローブが移動するのに伴って、この攻撃元IPアドレスの情報も渡されるようにする。
【0061】
なお、上述した防御のしくみが機能するためには、必ずしもネットワークを構成するすべての通信装置がアクティブネットワーク実行環境を備えていることが要求されるわけではない。
つまり、ネットワークがアクティブノードのみから構成されるのではなく、アクティブノードと非アクティブノード(アクティブネットワーク実行環境を備えず通信パケットの転送のみを行う通信装置のノード)とが混在していても良い。この場合には、DDoS攻撃防御プログラムコードは、アクティブノード相互間で転送され、アクティブノードにおいてのみ実行される。そして、非アクティブノードは、単に通信パケットを転送する役割を果たす。
【0062】
次に、図10〜図13を参照しながら、本実施形態が前提としているアクティブネットワークの実現方式の一例について説明する。
【0063】
図10は、通信装置7001の内部の構成を示すブロック図である。図10に示すように、通信装置7001には通信線7024a、7024b、7024c、7024dが接続されており、通信装置7001はこれらの通信線を介して隣接する他の通信装置との間でパケットを交換することができるようになっている。また、通信装置7001には、上記の各通信線7024a〜7024dに対応したインタフェース部7023a〜7023dと、パケットを転送する処理を行うための転送処理部7021と、パケットの転送の際の転送先の情報を記憶する転送先テーブル7022と、アクティブパケットに対する処理を行うためのアクティブネットワーク実行環境(Active Network Execution Environment)7010とが設けられている。なお、アクティブネットワーク実行環境7010は、内部に、アクティブコード(プログラム)を実行するためのコード実行部7011と、アクティブコードを記憶しておくためのコード記憶部7012とを備えている。なお、ここでアクティブコードとは、アクティブネットワークにおいてパケットに対する作用を行うコンピュータプログラムのコードである。
【0064】
ここで、図10を参照しながら、この通信装置7001の動作例の概要を説明する。隣接する他の通信装置から通信線7024dを介してパケットが到着すると、インタフェース部7023dがそのパケットを受信し転送処理部7021に渡す。転送処理部7021は、渡されたパケットのヘッダ部分に格納されている送信元(source)アドレスと宛先(destination )アドレスとを読み取り、さらにそれらのアドレスをキーとして転送先テーブル記憶部7022に記憶されている転送先テーブルを参照することによって、そのパケットにどう対処するかを決定する。
【0065】
パケットへの対処は大きく2通りに分けられる。そのパケットに対してアクティブコードを適用する場合と、そのパケットをそのまま他の通信装置に転送する場合とである。
転送先テーブルを参照した結果、そのパケットに対してアクティブコードを適用すべきものである場合には、転送処理部7021は、そのパケットをアクティブネットワーク実行環境7010に渡す。アクティブネットワーク実行環境7010においては、コード実行部7011がそのパケットを受け取り、そのパケットに対して適用すべきアクティブコードをコード記憶部7012から読み出して実行する。なお、コード実行部7011は、アクティブコードを実行した結果、必要な場合には処理対象となったパケットを再び転送処理部7021に渡して他の通信装置に対して転送することもある。
転送先テーブルを参照した結果、そのパケットにアクティブコードを適用せずそのまま他の転送装置に転送するべきものである場合には、転送処理部7021は、適切な転送先に対応したインタフェース部(7023aや7023bや7023cなど)に渡し、そのインタフェース部が通信線(7024aや7024bや7024cなど)を介してパケットを他の通信装置に転送する。
【0066】
なお、ここでは通信線7024dを介して他の通信装置からパケットが到着した場合を例として説明したが、他の通信線を介してパケットが到着した場合の処理も同様である。
【0067】
次に、通信装置7001内の転送処理部7021がいかにしてパケットに対する処置(アクティブコードを適用するか、単純に他の通信装置に転送するか)を決定するかを具体的に説明する。
【0068】
本実施形態が基礎とするフレームワークでは、アクティブネットワーク実行環境はパケットの中において指定されているIPアドレスに基づいて起動される。ここで、全ての(グローバル)IPアドレスの集合をIと表わすものとする。また、送信元IPアドレスがsであり宛先IPアドレスがdであるようなパケットを(s,d)と表わすものとする。また、通信装置のアクティブネットワーク実行環境に格納されているすべてのアクティブコードはそれぞれ特定のユーザに属するものとし、ある特定のユーザの所有するIPアドレスの集合をOと表わすものとする。
【0069】
本フレームワークでは、上記特定のユーザに属する個々のアクティブコードは、次に示す式による集合Aで表されるパケットであって、かつ当該アクティブネットワーク実行環境を備えた通信装置(ノード)によって受信されたパケットに対してアクセスする権限を持つ。すなわち、
A={(s,d)∈[(O×I)∪(I×O)]|s≠d}
である。つまり、この式が意味するところの概略は、特定のユーザに属するアクティブコードは、当該ユーザが所有する全てのIPアドレスのいずれかを送信元または宛先のアドレスとするようなパケットに対してアクセス権を有するということである。
【0070】
当該ユーザに属するn個のアクティブコードがある通信装置(ノード)に格納されているとき、i番目(1≦i≦n)のアクティブコードは、集合C(i)(C(i)⊆A)に属するパケットをキャプチャーして処理することをアクティブネットワーク実行環境に対して予め要求しておく。つまり、当該ユーザに関して、アクティブネットワーク実行環境は、c(1)∪c(2)∪・・・・・・∪c(n)なる和集合の要素であるパケット(s,d)によって起動されるものであり、このようなパケットを「アクティブパケット」と呼ぶことができる。
【0071】
図11は、図10に示した転送先テーブル記憶部7022に記憶されている転送先テーブルの一例を示す概略図である。上記のフレームワークを実現するために必要な情報は、このような転送先テーブルに格納することが可能である。
【0072】
図11に示すように、転送先テーブルは、タイプ(Type)と宛先アドレス(Destination )と送信元アドレス(Source)と転送先(Send to )の各項目を含んでいる。タイプの項目は、テーブルのエントリーのタイプを表わすものであり、「アクティブ(Active)」あるいは「通常(Regular )」のいずれかの値をとる。宛先アドレスおよび送信元アドレスの項目は、転送対象のパケットの宛先IPアドレスおよび送信元IPアドレスにそれぞれ対応するものである。転送先の項目はは、宛先アドレスと送信元アドレスの組み合せがマッチしたパケットに関して、適用すべきアクティブコードの識別情報あるいは転送先の通信装置のIPアドレスを表わすものである。
【0073】
タイプの値が「アクティブ」であるエントリーは、対象のパケットに適用するアクティブコードを指定するものであり、その転送先の項目にはアクティブコードを識別する情報が書かれている。
タイプの値が「通常」であるエントリーは、対象のパケットの転送先の通信装置のアドレスを指定するものであり、その転送先の項目には転送先の通信装置のIPアドレスが書かれている。
【0074】
図11に示す転送先テーブルの例において、第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が実行されることを表している。
【0075】
なお、図11に示すように、転送先テーブルにおいては、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも上に存在している。そして、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも優先的に適用される。また、各エントリーは、通信装置へ到着したパケットのみに対して適用され、転送のために送出されるパケットに対しては適用されない。
【0076】
以上説明した通信装置の構成をまとめる。
図10に示したインタフェース部は、通信線毎に設けられており、当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行う。
また、転送先テーブル記憶部は、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラム(アクティブコード)の情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する。
また、アクティブネットワーク実行環境は、前記プログラムを予め記憶しているとともに、このプログラムを実行する。
また、転送処理部は、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す。
【0077】
次に、本実施形態におけるアクティブコードのセキュリティに関するモデルについて説明する。このセキュリティのモデルは、各々のアクティブコードが、アクティブコードの所有者に関わるパケットのみに対して作用することを保証するためのものである。そのために、このセキュリティのモデルは、公開鍵のインフラストラクチャの存在を前提として、それを利用することとする。
【0078】
図12は、上記のセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。図12において、符号7051はユーザAのユーザ端末装置、7061は認証局(Certification Authority )装置である。この認証局の機能は、公の機関によって提供されるものであっても良いし、あるいはISP(Internet Service Provider,インターネット接続サービス提供者)などによって提供されるものであっても良い。
なお、図12に示す例では、ユーザ端末装置7051のIPアドレスは「1.2.3.4」である。以下では、ユーザAが、アクティブコードAを通信装置7001に登録するための処理の手順を説明する。なお、以下において、ユーザAはアクティブコードAの開発者であっても良いが、その必然性はなく、他の開発者が開発したアクティブコードAをユーザAが入手し、それを通信装置7001に登録するものでも良い。
【0079】
まず(1)で示すように、ユーザAのユーザ端末装置7051は、周知技術を用いて鍵のペアすなわち公開鍵と秘密鍵とを生成する。
そして(2)で示すように、ユーザ端末装置7051は、上で生成された公開鍵を認証局装置7061に登録する。このとき、認証局装置7061は、ユーザ端末装置7051のIPアドレスを検証する。この検証が正しく行なわれると、公開鍵そのものと、ユーザAを識別するための情報と、ユーザ端末装置7051のIPアドレス「1.2.3.4」が認証局装置7061に記憶される。
【0080】
次に(3)で示すように、ユーザ端末装置7051は、上で生成された秘密鍵を用いてアクティブコードAに電子署名する処理を行う。
そして(4)で示すように、ユーザ端末装置7051は、秘密鍵で署名されたアクティブコードAを通信装置7001に登録する処理を行う。
【0081】
これを受けて通信装置7001は、(5)で示すように、アクティブコードAの登録を行ったユーザAの電子証明書を認証局装置7061から取得する。この電子証明書には、ユーザAを識別する情報と、そのIPアドレス「1.2.3.4」と、上の(2)において登録された公開鍵そのものとが含まれている。
そして(6)で示すように、通信装置7001は、上記の電子証明書から取り出したユーザAの公開鍵を用いて、上の(4)において登録されたアクティブコードAの電子署名を検証する。そして、これが正しく検証された場合には、通信装置7001は、アクティブコードAをアクティブネットワーク実行環境に導入する処理を行う。また、これに応じて、転送先テーブルに必要なエントリーが追加される。
【0082】
なお、この(1)および(2)の処理が行われて一旦ユーザAの公開鍵が認証局装置7061に登録されると、ユーザ端末装置7051はその公開鍵に対応する秘密鍵を用いてアクティブモジュールをいくつでも通信装置7001に登録することも可能である。
【0083】
つまり、通信装置7001は登録部(図示せず)を備えており、この登録部は、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするものである。
【0084】
なお、上で説明した通信装置へのアクティブコードの登録の手順が有効に機能するためには、次の2点が前提となる。
第1の前提として、ユーザがどの通信装置(ノード)にアクティブコードを登録すれば良いかは事前にわかっている。あるいは、どの通信装置(ノード)にアクティブコードを登録すればよいかがわかるためのディレクトリサービスが提供されている。
第2の前提として、通信装置(ノード)は、目的の認証局の公開鍵を事前にオフラインで取得しているか、他の認証局から取得するか、あるいは他の何らかの手段で取得できる。
【0085】
次に、矛盾の解消のための制御について説明する。
ある通信装置(ノード)において、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通りのシナリオのいずれかによって解消することとする。
【0086】
第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)が到着した場合である。このような場合には、宛先のユーザのアクティブコードを優先的に適用することが望ましいと考えられる。
【0087】
つまり、転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するようにする。
【0088】
このように、送信元のユーザのアクティブコードよりも宛先のユーザのアクティブコードを優先させることは、アクティブネットワークの機能を用いてDDoS(分散型DoS,Distributed Denial of Service )攻撃を防御するメカニズムを構築する場合に特に重要となる。そのようにすることによって、宛先のユーザつまり被攻撃者となり得る者のアクティブコードが、攻撃者となる可能性があるもののアクティブコードよりも優先されるためである。
【0089】
第2の矛盾の解消のシナリオは、あるパケット(s,d)に関して適用されるべき2つ以上のアクティブコードが同一のユーザによって登録されている場合に関するものである。このような場合には、該当するアクティブコードのうちの最も古く登録されたものが、他のものよりも優先的に適用されるようにすることが望ましいと考えられる。こうすることにより、ユーザが新しいアクティブコードを登録しようとする際には、新しいアクティブコードを有効にするために事前に古いアクティブコードを削除することが保証されるからである。
【0090】
次に、これまでに述べたようなアクティブネットワークのノードとして機能する通信装置のインプリメンテーションの例について説明する。図13は、Linux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行う通信装置を実現した場合の概略図である。
【0091】
図13に示す例では、専用のIPスタックを処理(process )の一部として構築している。これによって、図11に示したような転送先テーブルを実現し、実行環境(アクティブネットワーク実行環境)からこの転送先テーブルにエントリーの追加や削除を行えるようにしている。また、これに伴い、カーネル(kernel)内のIPスタックは不要となるため、カーネルにおけるルーティングを不活性化している。そして、到着パケットのコピーがデータリンク部分から作成され、そのパケットがライブラリlibpcapを通してJava(登録商標)仮想マシンで補足できるようにしている。
【0092】
処理の一部として構築した専用のIPスタックは、アクティブパケット、つまり転送先テーブル上での所定の定義にマッチするIPアドレス(宛先IPアドレス、送信元IPアドレス、あるいはそれらの組み合せ)を有するパケットは、実行環境上で起動されるアクティブコードに対して渡される。一方、アクティブパケット以外の通常のパケットは、カーネルにおけるIPスタックと同様の方法で隣接する通信装置等へ向けた転送が行われる。アクティブパケットであれ通常パケットであれ、この通信装置から送出されるすべてのパケットは、ライブラリlibnetを通して送出される。こうすることにより、各々処理されたパケットのヘッダに記録された送信元アドレスは、元々の送信元アドレスのままの状態で、ネットワークに送出されることとなる。
【0093】
また、標準のJava(登録商標)のAPI(アプリケーションプログラムインタフェース)である「java.security 」を用いることによってセキュリティモデルをインプリメンテーションすることが可能である。この標準APIは、セキュリティモデルを構築するために必要な機能のほとんどを提供している。また、証明書のための形式としては「X.509」証明書形式を用いることが可能であり、アクティブコードの所有者のIPアドレスを「X.509」の識別名(DN, distinguished name)の一部に含めることにより、本実施形態のセキュリティモデルを実現することができる。
【0094】
なお、言うまでもなく、上記インプリメンテーションではコンピュータシステムを用いることによってアクティブネットワーク実行環境を備えた通信装置を構築している。そして、上述した一連の処理、すなわち到着パケットの複製の作成とその捕捉や、転送先テーブルを参照しながらのアクティブパケットおよび通常パケットの転送の処理や、アクティブネットワーク実行環境上でのアクティブコードの起動とその処理の実行や、処理されたパケットのネットワークへの送出などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0095】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、上記実施形態ではインターネットプロトコルの使用を前提として通信アドレスを4バイトのIPアドレスとして書き表したが、より多いバイト数のアドレスを用いる次世代のIPや、まったく異なる他のプロトコルを用いる通信ネットワークにも本発明を適用することができる。
【0096】
【発明の効果】
以上説明したように、この発明によれば、シールド通信装置が、到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するようにしている。このため、従来技術において攻撃のパケットであるか否かを二値的に判断して処理していたのに比べると、攻撃下において正常な通信パケットが届きにくくなるというダメージを最小化することができる。また、攻撃のパケットであるかどうかを確定できない段階においても、疑わしい通信パケットが占めるの帯域を段階的に絞っていくことができる。
【0097】
また、この発明によれば、境界通信装置から最も遠い位置にあるシールド通信装置との間の接続の段数として2以上を許容しているため、つまりシールド通信装置の段数(深さ)を2以上にできるため、防御の処理の負荷を分散させることができるとともに、より攻撃元に近い位置で防御を行うため、下流側の通信線の帯域を浪費せずに有効に使うことができる。
【0098】
また、この発明によれば、攻撃が検出されたときに、シールド通信装置からより上流へプローブの機能を段階的に移動させていくため、より攻撃元に近い場所での防御が可能となる。これにより、下流側の通信線の帯域を有効に使うことができるとともに、攻撃元に関する証拠情報を収集する処理を行うことができる。
【0099】
また、この発明によれば、プローブの処理として、宛先アドレスが防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定するようにしているため、実施形態の説明に記載したA型のDDoS攻撃を防御することができる。
【0100】
また、この発明によれば、プローブの処理として、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合にもこの通信パケットが攻撃のパケットであると判定するため、実施形態の説明に記載したB型のDDoS攻撃を防御することができる。
【0101】
また、この発明によれば、動的検査を導入したことにより、従来技術では検知できなかった攻撃も検知して防御できるようになった。
【図面の簡単な説明】
【図1】 この発明の一実施形態が前提とするネットワークの構成である。
【図2】 同実施形態による通信装置の内部の構成を示すブロック図である。
【図3】 同実施形態による防御のしくみを示す論理的概略図である。
【図4】 同実施形態のシールドモジュールによる通信パケットのクラス分けの処理の概要を示す概略図である。
【図5】 同実施形態によるシールドモジュールが動的検査を行う場合に用いる送信元IPアドレスの分布状況を示すグラフであり、(a)は正常時の分布、(b)は攻撃を受けているときの分布の一例を示す。
【図6】 A型のDDoS攻撃を示す概略図である。
【図7】 B型のDDoS攻撃を示す概略図である。
【図8】 本発明の一実施形態により、A型のDDoS攻撃に対応するためのプローブのアルゴリズムを記述した擬似プログラムコードである。
【図9】 同実施形態により、B型のDDoS攻撃に対応するためのプローブのアルゴリズムを記述した擬似プログラムコードである。
【図10】 同実施形態による通信装置内部の構成を示すブロック図である。
【図11】 同実施形態による転送先テーブル記憶部に記憶されている転送先テーブルの一例を示す概略図である。
【図12】 同実施形態によるセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。
【図13】 同実施形態の通信装置をLinux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行うように実現した場合の概略図である。
【符号の説明】
7000 ユーザのコンピュータ
7001 通信装置
7010 アクティブネットワーク実行環境
7011 コード実行部
7012 コード記憶部
7021 転送処理部
7022 転送先テーブル記憶部
7023a、7023b、・・・・・・ インタフェース部
7024a、7024b、・・・・・・ 通信線
7051 ユーザ端末装置
7061 認証局装置
7510 アクティブネットワーク実行環境
7511 コード実行部
7512 コード記憶部
7521 転送処理部
7531 到着パケット捕捉部
7532 クラスベースの待ち行列処理部
7533 パケット送出部
7540 プログラム転送処理部
[0001]
BACKGROUND OF THE INVENTION
The present invention realizes a defense method for preventing an attack aimed at causing a functional failure by sending a large amount of communication packets (communication traffic) toward an attacked person in a communication network, and a defense method thereof. The present invention relates to a communication device and a computer program.
In particular, the present invention relates to a technology for preventing a denial of service (DoS) attack, particularly a distributed denial of service (DDoS) attack in a communication network.
[0002]
[Prior art]
In recent years, DDoS attacks on well-known websites are often performed in communication networks (specifically, the Internet), which is a serious problem. The DDoS attack is a distributed DoS attack as the name indicates. A DoS attack sends a large amount of communication traffic to a computer (such as a web server) connected to a network. There are various types of DoS attacks, but they are roughly classified into the following two types. The first type aims to cause a malfunction by wasting resources of the attacked computer, and the second type simply consumes the bandwidth of the attacked communication network by a large amount of communication traffic. It aims to.
[0003]
As a first conventional technique, it is conceivable to protect a DDoS attack using a firewall device. This is based on the assumption that the source address (specifically, IP address, etc.) of a malicious attack communication packet can be specified by some means, and the corresponding source address of communication packets arriving from outside the firewall. This is a defense method in which a firewall device is discarded in a firewall apparatus so as not to adversely affect the resources of the computer inside the firewall.
[0004]
Further, as a second conventional technique, there is a defense method for which the inventors have already applied for a patent. This executes a computer program for detecting a DDoS attack or preventing a detected DDoS attack on a communication device (specifically, a router or a switch) for transferring a communication packet on a network. The environment that can be used is established, and the attacker's computer is protected from attacks by the following procedure.
The procedure is as follows. First, a communication module (border communication device, border router) closest to the attacked person's computer monitors a communication packet passing through the communication device and activates a program module for detecting a DDoS attack. When a DDoS attack is detected, a module for discarding the communication packet of the DDoS attack is activated. Then, a module for searching for a higher-level communication device, that is, a communication device closer to the attack source is activated. Next, the search module is transmitted to the searched upper communication apparatus. Then, a higher-level communication device is searched for in the higher-level communication device. In this manner, the higher order communication devices are sequentially searched, and the communication device closest to the attack source is determined as the defense position. The module that discards the communication packet of the DDoS attack is transmitted to the communication device at the defined defense position, and the defense is performed by operating this module in the communication device at the defense position.
[0005]
[Problems to be solved by the invention]
In the first prior art, since the attack communication packet reaches the position of the firewall, even if the resources of the defense target computer can be protected, communication by the attack up to the firewall is performed. There was a problem that the traffic could not be reduced and the communication bandwidth necessary for the protected computer was wasted.
[0006]
The second prior art also has a problem that there is a type of attack that cannot be detected. Further, in a situation where it is not possible to reliably determine that the traffic is an attack traffic, there is a problem that the usable communication bandwidth is narrowed due to the existence of such suspicious traffic.
[0007]
The present invention has been made in view of such circumstances, and an object thereof is to provide a defense method and apparatus capable of detecting and preventing more types of attacks, and a computer program therefor.
It is another object of the present invention to provide a protection method that not only protects the resources of the protection target computer but also prevents the communication bandwidth of the network from being wasted due to attack traffic or traffic suspected of being an attack.
[0008]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a defense method for protecting a defense target computer connected to a network composed of a plurality of communication devices from a denial-of-service attack. Based on the command information from the boundary communication device that is a nearby communication device, the shield communication device connected within the range of a predetermined number of stages from the boundary communication device transmits a communication packet that arrives at the shield communication device. Perform analysis processing to analyze, according to the result of this analysis processing, determine the priority of the communication packet according to the possibility that the communication packet is a communication packet of attack against the defense target computer, and according to this priority The communication packet is forwarded to the transfer destination, and as a result of the analysis process, the communication packet is reliably If it is a communication packet attacks against elephants computer has turned out to gist defense denial of service attacks, characterized in that it comprises discarding shielding process of the communication packet.
[0009]
Further, the denial-of-service attack protection method of the present invention allows two or more stages of connection with the shielded communication apparatus located farthest from the boundary communication apparatus, and can dynamically change the number of stages. It is characterized by doing so.
[0010]
Further, the denial-of-service attack protection method according to the present invention is such that when the communication packet is surely an attack communication packet against the defense target computer in the shielding process, the shield communication device is more attacked. A probe program code transmission process for transmitting a probe program code to an adjacent communication device on the near side, and the probe communication device that has received the probe program code executes the probe program code to Analyzing the arriving communication packet, and as a result, if the communication packet is an attack communication packet against the defense target computer, the communication packet is discarded and the adjacent communication device closer to the attack source Probe program code Transmitted, when the packet results certain time attack analysis is not detected, characterized by further comprising a probe process to terminate the processing of the probe program code.
[0011]
Further, the denial-of-service attack protection method of the present invention captures a communication packet whose destination address is the address of the defense target computer in the probing process, and obtains the source address of the communication packet in advance. If the address is the same as the address, the communication packet is determined to be an attack packet. In other cases, the communication packet is determined not to be an attack packet.
[0012]
Further, the denial-of-service attack prevention method of the present invention captures a communication packet in which at least one of a destination address and a source address is the address of the defense target computer in the probe process, and a) the communication packet Or b) the source address of the communication packet is the address of the defense target computer and the destination address of the communication packet is the attack address. If it is the broadcast address of the original address, it is determined that the communication packet is an attack packet, and if it does not fall under either a) or b), the communication packet is not an attack packet. It is characterized by determining.
[0013]
Further, the denial-of-service attack prevention method of the present invention uses the log information including the parameter value obtained in the normal state in advance in the analysis process in the shield process, A dynamic inspection process is performed by comparing the log information.
[0014]
Further, the present invention is a shield communication device that executes processing of a defense method for protecting a defense target computer from a denial of service attack, from a boundary communication device that is a communication device closest to the defense target computer. Based on the command information, an analysis process for analyzing the communication packet arriving at the shield communication device is performed, and depending on the possibility that the communication packet is an attack communication packet against the defense target computer according to the result of the analysis process The priority of the communication packet is determined, and the communication packet is transferred to the transfer destination according to the priority. The result of the analysis processing is that the communication packet is definitely an attack communication packet against the defense target computer. If it is found that the communication packet is discarded, Is shall.
[0015]
In the shield communication device of the present invention, in the analysis process, the log information including the parameter value obtained in advance at normal time is used to compare the parameter value at the time of inspection with the log information. It is characterized in that a dynamic inspection process is executed.
[0016]
Further, the present invention is a probe communication device that executes a defense method process for protecting a defense target computer from a denial of service attack, and when a communication packet of an attack against the protection target computer is detected by the shield communication device, By receiving the probe program code from the shield communication device and executing the probe program code, the communication packet arriving at the probe communication device is analyzed, and as a result, the communication packet is an attack communication packet against the defense target computer. If it is, the communication packet is discarded and the probe program code is transmitted to the adjacent communication device closer to the attack source. Program code processing Executing the processing of the probe process to terminate In the process of the probe process, when the communication packet whose destination address is the address of the defense target computer is captured, and the transmission source address of the communication packet is the same as the attack source address obtained in advance, Determines that the communication packet is an attack packet, otherwise determines that the communication packet is not an attack packet It is characterized by doing.
[0018]
In addition, this departure Tomorrow , A probe communication apparatus that executes processing of a defense method for protecting a protection target computer from a denial-of-service attack, and when a communication packet of an attack against the protection target computer is detected by the shield communication apparatus, a probe is transmitted from the shield communication apparatus By receiving the program code and executing the probe program code, the communication packet arriving at the probe communication device is analyzed. As a result, if the communication packet is an attack communication packet against the defense target computer, the communication packet Discards the communication packet and transmits the probe program code to the adjacent communication device closer to the attack source. If the attack packet is not detected for a certain time as a result of the analysis, the processing of the probe program code is terminated. To make Executing the processing of over blanking process, In the process of the probing process, a communication packet in which at least one of a destination address and a transmission source address is the address of the defense target computer is captured, and a) an attack source from which the transmission source address of the communication packet is obtained in advance Or b) when the source address of the communication packet is the address of the defense target computer and the destination address of the communication packet is the broadcast address of the attack source address, The communication packet is determined to be an attack packet, and if the communication packet does not fall under either a) or b), it is determined that the communication packet is not an attack packet. .
[0019]
The present invention also relates to a communication apparatus that executes processing of a defense method for protecting a defense target computer from a denial of service attack, the arrival packet capturing unit capturing a communication packet arriving from the network side, and the communication packet An active network execution environment unit for processing a computer program that has an effect on the system, and a queue corresponding to each of a plurality of classes, and determined as a result of the processing of the computer program in the active network execution environment unit Depending on the class, a class-based queue processing unit that performs processing for placing the communication packet in the queue corresponding to the class, and communication packets sequentially from each queue provided in the class-based queue processing unit. Take out and send to the network side A packet transmission unit, and a program transfer processing unit that performs a process of transferring a computer program to be executed by the active network execution environment unit to another communication device, and the active network execution environment unit includes: A code storage unit that stores the computer program; and a code execution unit that reads and executes the computer program stored in the code storage unit. The code storage unit analyzes an incoming communication packet. As a result of this analysis, the class of the communication packet is determined according to the possibility that the communication packet is an attack communication packet, and if the communication packet is definitely an attack communication packet, the communication packet is A shield module that causes the computer to execute the discarding process, and A probe module that analyzes a communication packet to be executed, and if the communication packet is a communication packet of an attack against the defense target computer, causes the computer to execute a process of discarding the communication packet; and a process of the probe module As a result of the execution, when a communication packet of the attack is found, a self-replicating transmission module that causes the computer to execute a process of transmitting a copy of its own program code to an adjacent communication device closer to the attack source, and As a result of the processing of the probe module being executed by the computer, when a communication packet of an attack is not continuously found for a predetermined time, at least a self-annihilation module that causes the computer to execute processing for extinguishing its own program code is stored. Specially Communication device.
[0020]
Further, the present invention is a computer program for causing a computer to execute processing of a defense method for protecting a defense target computer connected to a network constituted by a plurality of communication devices from a denial of service attack, wherein the protection target computer Communication where a shield communication device connected within a predetermined number of stages from the boundary communication device arrives at the shield communication device based on command information from the boundary communication device that is the closest communication device to Analyzing the packet, and determining the priority of the communication packet according to the possibility that the communication packet is an attack communication packet against the protection target computer according to the result of the analysis process The communication packet is transferred to the transfer destination according to the result of the analysis process If it the communication packet is a communication packet attacks on reliably the protection target computer it is found is one which executes a process of discarding the shield process the communication packets to the computer.
[0021]
Further, the present invention is a computer program for causing a computer to execute processing of a defense method for protecting a defense target computer connected to a network constituted by a plurality of communication devices from a denial of service attack, and an incoming communication packet As a result, if the communication packet is a communication packet of an attack against the defense target computer, the communication packet is discarded and the computer program itself is sent to an adjacent communication device closer to the attack source. If the attack packet is not detected for a certain time as a result of the analysis, the computer is caused to execute a probe process that terminates the computer program. In the probing process, a communication packet whose destination address is the address of the defense target computer is captured, and when the transmission source address of the communication packet is the same as the address of the attack source obtained in advance, the communication packet Is determined to be an attack packet, and in other cases, the communication packet is determined not to be an attack packet. Is.
[0023]
In addition, this departure Tomorrow , A computer program for causing a computer to execute a defense method for protecting a defense target computer connected to a network composed of a plurality of communication devices from a denial of service attack, analyzing an incoming communication packet, and the result If the communication packet is an attack communication packet against the protection target computer, the communication packet is discarded and the computer program itself is transmitted to an adjacent communication device closer to the attack source, and the result of the analysis If the attack packet is not detected for a certain period of time, let the computer execute the probe process that terminates the computer program, In the probing process, a communication packet in which at least one of a destination address and a source address is the address of the defense target computer is captured, and a) an attack source address from which the source address of the communication packet is obtained in advance Or b) if the source address of the communication packet is the address of the protection target computer and the destination address of the communication packet is the broadcast address of the attack source address, If the communication packet is determined to be an attack packet and if it does not fall under either a) or b), the computer is caused to execute a process for determining that the communication packet is not an attack packet.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 shows a network configuration premised on the present embodiment. As shown in FIG. 1, the communication network is connected by a plurality of communication devices 7001. The communication device 7001 can be connected to one or a plurality of user computers 7000. When communication data is exchanged between user computers 7000, packets transmitted by the user computer 7000 of the transmission source are sequentially transferred by the communication device 7001 located at each node on the communication network, so that the packets are transmitted. To the destination user's computer 7000.
[0025]
Next, the configuration of the communication device will be described. FIG. 2 is a block diagram showing an internal configuration of the communication apparatus 7001 according to the present embodiment.
As shown in FIG. 2, the communication device 7001 is captured by an arrival packet capturing unit 7531 that captures a communication packet that has arrived from another communication device or a computer via a network (communication line), and an arrival packet capturing unit 7521. Class-based queue processing for controlling the communication bandwidth for each class by using a transfer processing unit 7521 that performs processing for transferring the communication packet and a queue (queue) corresponding to a plurality of classes having different priorities Unit 7532 and a packet sending unit 7533 for sending the packet output from the class-based queue processing unit 7532 to the network in order to transfer the packet to another communication device or computer.
[0026]
Further, the communication device 7001 includes an active network execution environment 7510 and a program transfer processing unit 7540.
The active network execution environment 7510 executes a program code that operates on a packet to be transferred, and includes therein a code storage unit 7512 that stores the program code and a program code read from the code storage unit 7512 A code execution unit 7511 for executing
The program transfer processing unit 7540 receives a program code to be executed in the active network execution environment 7510 from another communication device via the network, or conversely, receives another program code to be executed on the other communication device. To the other communication device.
[0027]
The code storage unit 7512 in the active network execution environment 7510 can store a DDoS attack defense program for defending against a DDoS attack. This DDoS attack defense program includes a sensor module, a shield module, a probe module, a self-replicating transmission module, and a self-extinguishing module. The sensor module has a function of detecting whether communication traffic of a DDoS attack is occurring by continuously analyzing communication packets arriving at the communication device. Based on the analysis result of the sensor module, the shield module discards the communication packet of the DDoS attack or determines the output class according to the characteristics of the communication packet so that the communication packet enters the queue corresponding to this class. A class-based queue processing unit 7532. When a DDoS attack is detected, the probe module has a function of performing protection processing in a higher-level communication device, that is, in a communication device closer to the attack source. The self-replicating transmission module has a function of transferring the DDoS attack program code itself or a part thereof via a program transfer processing unit 7540 to the upstream communication device. The self-extinguishing module has a function of ending the execution of the DDoS attack defense program itself or erasing it from the code storage unit of the communication apparatus when the DDoS attack traffic is not continued for a predetermined time or longer. . Note that in a communication device or the like that is directly adjacent to the computer to be protected, at least only the sensor module may always be operated without self-extinguishing the DDoS attack defense program.
[0028]
Next, a processing flow when the communication device 7001 transfers a communication packet will be described. A communication packet arriving from the network side is captured by the arrival packet capturing unit 7531 and transferred to the transfer processing unit 7531. The transfer processing unit 7531 passes the communication packet as it is to the class-based queue processing unit 7532 or passes the communication packet to a program running on the active network execution environment 7510 according to the destination address of the communication packet. . This program performs predetermined processing, and normally passes the communication packet to the class-based queue processing unit 7532. If the communication packet is recognized as a DDoS attack communication packet as described above, the communication packet May be discarded as is. The communication packet passed to the class-based queue processing unit 7532 is temporarily placed in the queue of the designated class, and the communication packets are sequentially extracted from the queue for each class and passed to the packet sending unit 7533. The packet sending unit 7533 sends the communication packet toward a predetermined transfer destination on the network.
[0029]
Next, an outline of a method for preventing a DDoS attack throughout the entire network by the above-described communication apparatuses operating in a cooperative manner will be described. FIG. 3 is a logical schematic diagram showing a defense mechanism according to this embodiment.
In FIG. 3, reference numeral 7000a denotes an attacked person's computer. There is a possibility that the computer 7001a of the attacked person is a server computer of a famous website, for example, and a defense mechanism works when this computer 7000a is subjected to a DDoS attack. Reference numerals 7001a to 7001e denote communication apparatuses (specifically, routers, switches, and the like) constituting the network, and correspond to the communication apparatus 7001 described with reference to FIG.
[0030]
Among these communication devices (7001a to 7001e), the communication device 7001a is directly adjacent to the attacker's computer 7000a, that is, a point of contact with the network when viewed from the attacker's computer 7000a side. Therefore, the communication device having such a position is referred to as an “edge communication device”. The boundary communication device plays a role as a defense command source, that is, a center that controls the entire defense mechanism.
Further, the communication devices 7001b and 7001c (shielded communication devices) play a role as shields such as inspecting communication traffic based on a command from the defense command source and discarding communication packets of the DDoS attack.
Further, the communication device 7001e (probe communication device) plays a role as a probe for performing defense at a higher level than the shield.
[0031]
The specific processing contents of each communication device as a defense command source, shield, and probe will be described below.
One of the processes performed by the defense command source is setting a shield level. Here, the shield level is the number of steps (depth) of connection of the communication device to the outside of the network as seen from the defense command source. In the configuration shown in FIG. 3, since the shield level is set to “2”, the first-stage communication device 7001b and the second-stage communication device 7001c are shielded when viewed from the defense command source communication device 7001a. Play a role. Although FIG. 3 shows an example in which the shield level is set to “2”, it can be set to other levels, and the level can be changed dynamically. For example, when the degree of attack of the attacked person on the computer 7000a is large, the attack level can be dynamically changed so as to increase the shield level.
The defense command source controls all shield modules that are transferred from the defense command source and operate on other communication devices. Further, the defense command source can also stop the operation of the shield module in operation as necessary.
[0032]
As will be described later, since the shield module performs two types of inspection, local static inspection and local dynamic inspection, on each communication device (7001b, 7001c), certain attacks are effectively prevented by the shield module. can do. However, some other attacks can only be detected by analyzing the status data of the entire network. Therefore, the defense command source performs a global dynamic inspection process.
[0033]
When the defense according to the present embodiment is applied to the network, the defense command source initially performs a learning stage process. In the process of this learning stage, snapshot data of arrival packets (communication traffic) is periodically acquired, and the characteristic data of the network in a normal state is acquired by performing statistical processing on the snapshot data. This feature data represents a feature pattern that differs for each network according to the purpose of use of the computer to be protected. The feature data in the normal state is referred to as “fingerprint data” for convenience.
[0034]
When fingerprint data is obtained in the learning stage, in the next stage, the defense command source can detect an abnormality by using the fingerprint data. The abnormality that can be detected here is, for example, that the distribution of the source address stored in the header portion of the arrival packet varies abnormally (high randomness), and such an abnormality is detected. This means that an attack using a packet in which the source address is spoofed by a randomly selected address is being carried out. Once an anomaly is detected, the defense command source can issue a new packet filtering rule to all shields.
[0035]
Next, specific processing contents of the shield (the role played by the communication devices 7001b and 7001c in FIG. 3) will be described.
The shield is designed to serve as a “first stage” response to combat DDoS attacks.
On each communication device, the shield module monitors a communication packet transferred to the computer that is the defense target. This can be achieved by calling a specific program code on the active network execution environment using a packet having a specific communication address (IP address) as a trigger in the mechanism of the active network described later. Therefore, the control of the shield module covers all communication packets related to the owner of the module.
[0036]
FIG. 4 is a schematic diagram showing an overview of the processing of classifying communication packets by the shield module. As shown in the figure, when a communication packet to be processed by the shield module arrives from the network side via the input interface, it is temporarily placed in the input queue and sequentially passed to the shield module. The class-based queue processing unit 7532 has three queues whose output (sending to the network) priority is “high”, “medium”, and “low”, respectively. Then, the class-based queue processor 7532 stores communication packets in a queue corresponding to the class determined by the shield module operating on the active network execution environment 7510, and sequentially extracts the communication packets from each queue. Output.
[0037]
The shield module that operates on each communication device has a classification function for classifying communication traffic by class. This classification function is used to determine the probability that an incoming communication packet constitutes flood traffic of a DDoS attack. You can ask for it. Then, communication packets belonging to the class most likely to be a DDoS attack, that is, communication packets of the most suspicious class are designated to enter the lowest priority queue ("low"), and the class-based queue It is passed to the processing unit 7532. Conversely, normal communication packets belonging to the class that is least likely to be a DDoS attack are designated to enter the highest priority queue (“high”). A communication packet of an intermediate class of suspiciousness is designated to enter a queue having a priority of “medium”.
[0038]
The shield module performs output processing using a class-based queue as described above, thereby obtaining the following two effects.
The first effect is that while the protected computer is under attack, suspicious communication traffic is difficult to reach the protected computer, while highly likely communication traffic reaches the protected computer. It is a point that can increase the possibility of doing. That is, the bandwidth of suspicious communication traffic can be suppressed and the bandwidth of normal communication traffic can be secured.
The second effect is that flexibility and accuracy can be provided by an algorithm for detecting a DDoS attack.
[0039]
It can be said that the above two effects greatly improve the defense method as compared with the conventional technique in which whether or not the communication packet is a DDoS attack communication packet is determined in a binary manner. This is because when communication traffic occupying a wider bandwidth than normal communication traffic flows, whether the communication traffic is caused by a DDoS attack, or the amount of normal communication happens to peak. This is because it is not a problem that can be simply determined. Moreover, even if it is confirmed that it is a DDoS attack, it is difficult to separate flood packets and legitimate communication packets caused by a DDoS attack with high reliability. In other words, in order to minimize damage that makes it difficult to reach even normal communication packets, the detection algorithm is an attack communication packet rather than a binary true / false judgment. It can be said that it is desirable to calculate the possibility (probability). Then, only communication packets that are very likely to be attack communication packets should be discarded.
[0040]
The classification function in the shield module performs two types of inspection, local static inspection and local dynamic inspection, as described below.
A local static check is a check that is performed without being based on a state, and is a check that is performed on each incoming packet based on a number of static parameters. Here, the static parameters are the source address and destination address of the communication packet, the parameters on the communication protocol included in the header (specifically, the IP header), the communication packet length, the destination port number, ICMP (Internet) -Control message protocol) type.
[0041]
For example, if the protected computer is a website server, the shielded computer will not send a “ping” request to the other computers, so the shield will send to the protected computer. Directed type 0 ICMP packets (echo responses) and UDP (User Datagram Protocol) with a source port number of 7 can be discarded as soon as they are detected.
Another example of an abnormality that can be detected by static inspection is a communication packet having the same source address and destination address. Since such a communication packet is an attack aimed at the computer having the address falling into a communication packet transmission / reception loop, the shield should discard all such communication packets.
[0042]
The local dynamic inspection is an inspection performed based on a state, and is an inspection performed using a log file (log information) recorded by the shield. This log file records and holds values of certain parameters as data used for detecting an abnormality over a predetermined period.
[0043]
Here, a specific example of the dynamic inspection will be described. In the first specific example, when an abnormal packet or a suspicious packet continuously flows in, the duration time is inspected. For example, if a communication packet of the specified maximum size suddenly flows from the same source for 5 minutes, the shield increases the degree of suspicion of the communication packet from the source address. The communication packet from the transmission source address is put into the output queue of “low” priority.
In the second specific example, the inspection is performed using the ratio of the amount (the number of packets, the amount of data, etc.) between the arrival packet to the specific computer and the transmission packet from the computer. In general, the ratio between arrival and transmission differs for each computer (system, for example, a website system). However, when a certain computer is viewed, the ratio is substantially constant. Therefore, an average ratio between arrival and transmission over a long period of time is calculated in advance. Based on the average ratio, a threshold value of the ratio between arrival and transmission for detecting an abnormality is determined. If the ratio between arrival and transmission exceeds this threshold during the inspection, it can be regarded as abnormal. Note that an upper limit value and a lower limit value may be determined in advance, and may be regarded as abnormal when the ratio between arrival and transmission exceeds the upper limit value or falls below the lower limit value.
[0044]
In the third specific example, the inspection is performed using the distribution of the transmission source address of the communication packet. When viewed over a long period of time in a normal situation, the distribution of source addresses of communication packets should be almost constant. However, when a DDoS attack is performed, since the source address is camouflaged using a randomly selected address, when the degree of variation of the source address is abnormally high, in other words, when the randomness is high, Attacks can be detected.
FIGS. 5A and 5B are graphs showing the distribution status of the source IP addresses, respectively. FIG. 5 (a) shows an example of normal distribution, and FIG. 5 (b) shows an example of distribution when receiving a DDoS attack. The horizontal axis represents an IP address, and the vertical axis represents the appearance of a communication packet. It represents the number of times (or the frequency of appearance). As shown in FIG. 5A, in normal times, only a small number of communication packets with a specific small number of source addresses appear, and the number of appearances of communication packets with other source addresses is small or zero. The number of appearances tends to concentrate on a specific address. On the other hand, as shown in FIG. 5B, when a DDoS attack is being performed, addresses for impersonation are selected at random, so that the number of appearances is uniform for all transmission source addresses. In other words, the degree of the distribution of the number of appearances varies greatly in the IP address space.
[0045]
A method of handling such randomness in numerical values will be described. Let k be the number of all existing IP addresses. By measuring the appearance frequency of the i-th (1 ≦ i ≦ k) IP address over a long period of time, the i-th appearance frequency e (i) expected during a predetermined period is obtained in advance. Then, the number o (i) of the actual appearance of the i-th IP address during a predetermined period is obtained at the time of inspection. And for all IP addresses
d (i) = ((o (i) -e (i)) ^ 2) / e (i)
And the sum of d (i) for all i where 1 ≦ i ≦ k is calculated. When this sum exceeds a predetermined threshold, it can be regarded as abnormal.
[0046]
In addition to the three types of specific examples described above, inspections using various parameters such as communication packet length and TTL (Time-To-Live) values are possible, and the randomness of these parameter values is abnormal. It is possible to check whether a DDoS attack is being performed by detecting a case where the DDoS attack is high or a case where the degree of constantness is abnormally high.
[0047]
As shown in FIG. 3, the following two effects can be obtained by distributing the shield to a plurality of communication devices.
The first effect is that a DDoS attack can be easily absorbed, and abnormal communication traffic can be hardly increased.
The second effect is that communication traffic can be inspected at a plurality of different locations.
[0048]
Next, specific processing contents of the probe (the role played by the communication device 7001e in FIG. 3) will be described.
The defense method of the present embodiment further uses a probe in addition to defense using a shield for the purpose of minimizing damage caused by the DDoS attack. Whereas the shield was designed to act as a “first stage” response as described above, the probe was designed to serve as a traceback and “second stage” response. Yes.
In other words, when it is determined that the communication packet is definitely an attack communication packet against the defense target computer during the shielding process, the shield communication device transmits the probe program code to the adjacent communication device closer to the attack source. The probe program code transmission process is performed.
In addition, the probe communication device that has received the probe program code executes the probe program code to analyze a communication packet that arrives at the probe communication device, and as a result, the communication packet is used for attack communication against the defense target computer. If the packet is a packet, the communication packet is discarded and the probe program code is transmitted to an adjacent communication device closer to the attack source. A probe process for ending the probe program code process is performed.
[0049]
If the defense mechanism of this embodiment confirms a DDoS attack and decides to completely block flood traffic due to the attack, a probe is sent toward the source of the flood traffic. There are two purposes.
The first objective is to secure as much network bandwidth as possible by blocking flood traffic as upstream as possible. A second purpose is to collect evidence of an attack intended for legal use.
This probe is also implemented as an active network active code. That is, the probe module behaves like an agent that moves the communication device from the communication device in stages from downstream to upstream.
In this embodiment, the algorithm of the probe module is designed so as to cope with the DDoS attack of two models of A type and B type described below.
[0050]
First, the A type DDoS attack will be described.
FIG. 6 is a schematic diagram showing an A-type DDoS attack. In this A type model, an attack is performed by a master (an attacking computer) and a slave (computer) invaded by the master. The master computer uploads the DDoS attack program to the slave computer. This communication between the master and the slave is called control traffic. Each slave computer sends a huge amount of packets to the attacked computer. At this time, the source address of the communication packet sent from the slave computer to the victim computer is often camouflaged for the purpose of preventing the attacker from specifying the attack source.
[0051]
Next, a B-type DDoS attack will be described.
FIG. 7 is a schematic diagram showing a B-type DDoS attack. For example, a DDoS attack using “Smurf” or “Fraggle” is included in this B type. A feature of the B-type attack is that communication traffic is amplified using a network in order to increase damage to the computer of the attacked person. When the master (attacking source computer) commands the slave computer, the slave computer broadcasts an ICMP echo request packet and a UDP port 7 (echo) packet to several networks. At this time, the source address of each echo request packet is camouflaged, and the address of the attacker's computer is stored as the source address. Therefore, all the computers connected to the network to which the echo request packet is broadcast (the computer of the legitimate user) try to transmit an echo response packet to the attacked computer. In this way, the flood traffic amplified by the network goes to the attacker's computer.
[0052]
Next, processing for responding to the A-type DDoS attack by the probe will be described.
In general, it is impossible to tell whether the source address of a certain communication packet is spoofed or not. Therefore, initially, an assumption is made that the source addresses of all communication packets are forged.
[0053]
FIG. 8 shows pseudo program code describing a probe algorithm for coping with an A-type DDoS attack. Hereinafter, a description will be given with reference to FIG.
The source address of the attack traffic detected by the shield module is stored in the variable “attSrc”.
In this embodiment, each active code executed in an active network execution environment is owned by a specific owner, and is authorized so that all communication packets related to the owner can be fully controlled. It is assumed. Therefore, on each communication device, the probe module can capture all packets relating to the owner of the probe module and make them a processing target.
[0054]
As shown in FIG. 3, starting from the shield communication device, the replica of the probe module is sequentially transferred to adjacent communication devices in the direction of the attack source by the function of the self-replicating transmission module. .
The code of the probe module shown in FIG. 8 arrives at a new node (communication device) u and starts executing.
[0055]
First, in the first line of the pseudo code illustrated in FIG. 8, the value “false” is stored in the variable “exploded”.
Next, a loop (do-while) from the second line to the eleventh line of the pseudo code is executed.
In the third line of the pseudo code, the function “capturePacketByDest ()” is used to capture a communication packet whose destination address is the address (IP address) of the attacked computer, and the data of the communication packet is changed to a variable (structure). Field) Store in “p”.
In the fourth line of the pseudo code, if the source address (p.src) of the communication packet stored in the variable “p” is equal to the value of the variable “attSrc”, that is, the source address of the attack traffic is equal. Then, the process from the 5th line to the 9th line is executed. Otherwise, the communication packet is released by the function of the function “releasePacket (p)” on the 10th line, that is, sent to the destination communication device.
If it is determined in the process on the fourth line that the packet is an attack traffic communication packet, the communication packet stored in the variable “p” on the fifth line of the pseudo code by the function “discard (p)”. Is destroyed. In other words, attack traffic is stopped here. Further, in the processing from the seventh line to the ninth line of the pseudo code, the node adjacent to the node u and not the original node that transmitted the probe module to the node u, that is, all upstream The self-replication of the probe module itself is transferred to the node v (communication device, which may be plural).
[0056]
In the conditional expression of the 11th line of the pseudo code, if the attack traffic is not found for a predetermined time, the loop from the 2nd line to the 11th line is exited, and the function of the self-extinguishing module is performed on the 12th line. To make self disappear. In other words, if the communication apparatus once started operating as a probe but is not in a position upstream of the attack, the role as a probe is terminated.
[0057]
As described above, the purpose of the algorithm shown in FIG. 8 is to find a communication device located closest to the attack source and block unnecessary traffic at that location. As a result, it is possible to prevent an attack communication packet from flowing downstream, and to prevent an unnecessary load from being applied to an intermediate communication device.
When the probe reaches the communication device closest to the attack source, the probe performs processing for reporting the position information (evidence information such as an IP address) to the defense command source.
[0058]
Next, processing for responding to the B-type DDoS attack by the probe will be described.
As described above, in a B-type DDoS attack, a communication packet sent from an attack source (slave) to a network used for amplification has a spoofed source address. However, the legitimate source address of each computer is stored in the header of the communication packet of the flood traffic sent from the computer belonging to the network used for amplification to the attacked computer. Since the shield initially stores the address of the computer belonging to the network used for amplification in the variable “attSrc”, the probe is amplified as long as the algorithm shown in FIG. 8 is used. Can only reach the network used for the purpose, and cannot send the probe to a communication device that is closer to the true attacker. Therefore, a new algorithm is used as a probe for coping with the B-type DDoS attack.
[0059]
FIG. 9 shows pseudo program code describing a probe algorithm for coping with a B-type DDoS attack. Hereinafter, a description will be given with reference to FIG.
The feature of the pseudo program code shown in FIG. 9 is the processing of the third and fourth lines. In the third line of the same code, a communication packet related to the address of the attacked person's computer is captured by the function of the function “capturePacketAssociatedWith ()”. That is, for example, a communication packet in which either the transmission source address or the destination address is the same as the address of the attacked person's computer is captured. Moreover, the conditional expression for the determination by the “if” statement on the fourth line of the same code is not only the case where the transmission source address of the captured communication packet is equal to the variable “attSrc”, but the transmission source address is the computer of the attacked person Even if the destination address is a broadcast address of the address stored in the variable “attSrc”, the value is described as “true”. For example, when the IP address of the attack source stored in the variable “attSrc” is “101.102.103.104”, “101.102.103.255” is the broadcast address. By making the conditional expression of the “if” statement on the fourth line like this, the address of the attacked computer is the source address, and the broadcast address of the network used for amplification is the destination address. Communication packets, that is, spoofed communication packets sent from the attack source (slave in FIG. 7) to the network for amplification can be discarded (the process of the fifth line of the same code), and further the attack source The probe module can be sent to a communication device close to (processing of the sixth to ninth lines of the same code).
[0060]
The attack source IP address stored in the variable “attSrc” may be a plurality of addresses. Further, as the probe moves from the communication device to the communication device, the information on the attack source IP address is also passed.
[0061]
Note that in order for the above-described defense mechanism to function, it is not always necessary that all communication devices constituting the network have an active network execution environment.
That is, the network is not composed of only active nodes, but may be a mixture of active nodes and inactive nodes (nodes of communication devices that do not have an active network execution environment and only transfer communication packets). In this case, the DDoS attack defense program code is transferred between the active nodes and executed only at the active nodes. The inactive node simply serves to transfer communication packets.
[0062]
Next, with reference to FIGS. 10 to 13, an example of an active network realization method assumed in the present embodiment will be described.
[0063]
FIG. 10 is a block diagram illustrating an internal configuration of the communication apparatus 7001. As shown in FIG. 10, communication lines 7004a, 7024b, 7024c, and 7024d are connected to the communication apparatus 7001, and the communication apparatus 7001 transmits packets to other adjacent communication apparatuses via these communication lines. It can be exchanged. The communication device 7001 also includes interface units 7023a to 7023d corresponding to the communication lines 7024a to 7024d, a transfer processing unit 7021 for performing packet transfer processing, and a transfer destination at the time of packet transfer. A transfer destination table 7022 for storing information and an active network execution environment 7010 for performing processing on active packets are provided. The active network execution environment 7010 includes therein a code execution unit 7011 for executing an active code (program) and a code storage unit 7012 for storing the active code. Here, the active code is a code of a computer program that operates on a packet in an active network.
[0064]
Here, an outline of an operation example of the communication apparatus 7001 will be described with reference to FIG. When a packet arrives from another adjacent communication device via the communication line 7024d, the interface unit 7023d receives the packet and passes it to the transfer processing unit 7021. The transfer processing unit 7021 reads the source address and the destination address stored in the header portion of the passed packet, and further stores them in the transfer destination table storage unit 7022 using these addresses as keys. By referring to the transfer destination table, it is determined how to deal with the packet.
[0065]
Handling of packets can be roughly divided into two types. There are a case where an active code is applied to the packet and a case where the packet is directly transferred to another communication apparatus.
If the active code is to be applied to the packet as a result of referring to the transfer destination table, the transfer processing unit 7021 passes the packet to the active network execution environment 7010. In the active network execution environment 7010, the code execution unit 7011 receives the packet, reads the active code to be applied to the packet from the code storage unit 7012, and executes it. Note that the code execution unit 7011 may transfer the packet that has been processed as a result of executing the active code to the transfer processing unit 7021 and transfer it to another communication device if necessary.
As a result of referring to the transfer destination table, when the active code is not applied to the packet and the packet should be transferred to another transfer device as it is, the transfer processing unit 7021 displays the interface unit (7023a) corresponding to the appropriate transfer destination. And the interface unit transfers the packet to another communication device via a communication line (7024a, 7024b, 7024c, etc.).
[0066]
Here, the case where a packet arrives from another communication device via the communication line 7024d has been described as an example, but the processing when the packet arrives via another communication line is the same.
[0067]
Next, how the transfer processing unit 7021 in the communication device 7001 determines the action on the packet (whether to apply the active code or simply transfer it to another communication device) will be specifically described.
[0068]
In the framework on which this embodiment is based, the active network execution environment is activated based on the IP address specified in the packet. Here, a set of all (global) IP addresses is represented by I. A packet having a source IP address of s and a destination IP address of d is represented as (s, d). It is assumed that all active codes stored in the active network execution environment of the communication device belong to a specific user, and a set of IP addresses owned by a specific user is represented as O.
[0069]
In this framework, each active code belonging to the specific user is a packet represented by a set A according to the following expression, and is received by a communication device (node) having the active network execution environment. Has access to any packet. That is,
A = {(s, d) ε [(O × I) ∪ (I × O)] | s ≠ d}
It is. In other words, the meaning of this expression is that an active code belonging to a specific user has access rights to a packet whose source or destination address is any of all IP addresses owned by that user. It is to have.
[0070]
When n active codes belonging to the user are stored in a communication device (node), the i-th (1 ≦ i ≦ n) active code is a set C (i) (C (i) ⊆A). The active network execution environment is requested in advance to capture and process the packets belonging to. That is, for the user, the active network execution environment is activated by a packet (s, d) that is an element of the union of c (1) ∪c (2) ∪... ∪c (n). Such a packet can be called an “active packet”.
[0071]
FIG. 11 is a schematic diagram illustrating an example of a transfer destination table stored in the transfer destination table storage unit 7022 illustrated in FIG. Information necessary for realizing the above framework can be stored in such a transfer destination table.
[0072]
As shown in FIG. 11, the transfer destination table includes items of type, destination address (Destination), source address (Source), and transfer destination (Send to). The type item represents the type of entry in the table and takes a value of either “Active” or “Regular”. The items of destination address and source address correspond to the destination IP address and source IP address of the packet to be transferred, respectively. The item of transfer destination represents the identification information of the active code to be applied or the IP address of the communication device of the transfer destination to be applied to the packet whose combination of the destination address and the source address matches.
[0073]
An entry whose type value is “active” designates an active code to be applied to the target packet, and information for identifying the active code is written in the transfer destination item.
The entry whose type value is “normal” specifies the address of the communication device that is the transfer destination of the target packet, and the IP address of the communication device that is the transfer destination is written in the item of the transfer destination. .
[0074]
In the example of the transfer destination table shown in FIG. 11, in the first entry, the type is “active”, the destination address is “1.2.3.4”, and the source address is “Any” (anything is possible). "And the transfer destination is" active code A ". This is because, regardless of the source address, if the destination address matches “1.2.3.4”, the active network execution environment is activated with the corresponding packet as a trigger, and the active code A Is executed.
In the second entry, the type is “active”, the destination address is “10.50.0.0”, the source address is “11.12.13.14”, and the transfer destination is “Active code B”. This indicates that when both the destination address and the transmission source address match the above values, the active network execution environment is activated with the corresponding packet as a trigger, and the active code B is executed.
In the third entry, the type is “active”, the destination address is “Any”, the source address is “157.2.3.0”, and the transfer destination is “active”. Code C ". This is because, regardless of the destination address, if the source address matches “157.2.3.0”, the active network execution environment is started with the corresponding packet as a trigger, and the active code C is Indicates that it will be executed.
[0075]
As shown in FIG. 11, in the transfer destination table, an entry whose type is “active” exists above an entry whose type is “normal”. An entry whose type is “active” is applied with priority over an entry whose type is “normal”. Each entry is applied only to a packet arriving at the communication apparatus, and is not applied to a packet transmitted for transfer.
[0076]
The configuration of the communication apparatus described above will be summarized.
The interface unit illustrated in FIG. 10 is provided for each communication line, and receives a packet arriving from the communication line and performs a process of transmitting the packet to the communication line.
Further, the transfer destination table storage unit includes a packet source address and / or destination address pattern, a program (active code) information corresponding to the pattern, or a transfer destination address information corresponding to the pattern. Is stored in the transfer destination table.
The active network execution environment stores the program in advance and executes the program.
The transfer processing unit refers to the transfer destination table based on a source address or a destination address of the received packet when the received packet arriving from the communication line is transferred from the interface unit, and the transfer destination table If the destination address information corresponding to the address pattern of the received packet is registered in the interface unit corresponding to the destination address so that the received packet is sent to the predetermined destination address. When the information of the program corresponding to the address pattern of the received packet is registered in the transfer destination table, the active network execution environment unit starts the program and passes the received packet to the program .
[0077]
Next, a model related to active code security in this embodiment will be described. This security model is to ensure that each active code only works on packets that involve the owner of the active code. For this purpose, this security model is based on the existence of a public key infrastructure.
[0078]
FIG. 12 is a schematic diagram showing the security model and the processing procedure in the model. In FIG. 12, reference numeral 7051 denotes a user terminal device of the user A, and 7061 denotes a certification authority device. The function of the certificate authority may be provided by a public institution, or may be provided by an ISP (Internet Service Provider).
In the example shown in FIG. 12, the IP address of the user terminal device 7051 is “1.2.3.4”. Hereinafter, a procedure of processing for user A to register active code A in communication apparatus 7001 will be described. In the following, the user A may be a developer of the active code A, but there is no necessity, and the user A obtains the active code A developed by another developer and registers it in the communication device 7001. You can do it.
[0079]
First, as shown in (1), the user terminal device 7051 of the user A generates a key pair, that is, a public key and a secret key, using a known technique.
Then, as shown in (2), the user terminal device 7051 registers the public key generated above in the certificate authority device 7061. At this time, the certificate authority device 7061 verifies the IP address of the user terminal device 7051. If this verification is performed correctly, the public key itself, information for identifying the user A, and the IP address “1.2.3.4” of the user terminal device 7051 are stored in the certificate authority device 7061.
[0080]
Next, as shown in (3), the user terminal device 7051 performs processing for digitally signing the active code A using the secret key generated above.
Then, as shown in (4), the user terminal device 7051 performs a process of registering the active code A signed with the secret key in the communication device 7001.
[0081]
In response to this, the communication device 7001 obtains the electronic certificate of the user A who registered the active code A from the certificate authority device 7061 as shown in (5). This electronic certificate includes information for identifying the user A, the IP address “1.2.3.4”, and the public key registered in (2) above.
Then, as shown in (6), the communication device 7001 verifies the electronic signature of the active code A registered in (4) above using the public key of the user A extracted from the electronic certificate. If this is correctly verified, the communication device 7001 performs processing for introducing the active code A into the active network execution environment. Accordingly, necessary entries are added to the transfer destination table.
[0082]
Once the processes of (1) and (2) are performed and the public key of user A is registered in the certificate authority apparatus 7061, the user terminal apparatus 7051 is activated using the secret key corresponding to the public key. Any number of modules can be registered in the communication apparatus 7001.
[0083]
In other words, the communication device 7001 includes a registration unit (not shown), which receives a program electronically signed with the user's private key from the user's terminal device and receives the user's electronic certificate. The digital signature program is verified using the public key of the user included in the received digital certificate received from the certificate authority device. If this verification is successful, the address pattern corresponding to the program is verified. And the program information are registered in the transfer destination table, and if this verification fails, the program information is not registered in the transfer destination table.
[0084]
In order for the above-described procedure for registering the active code to the communication device to function effectively, the following two points are assumed.
As a first premise, it is known in advance to which communication device (node) the user should register the active code. Alternatively, a directory service is provided for identifying which communication device (node) should register the active code.
As a second premise, the communication device (node) can acquire the public key of the target certificate authority offline beforehand, acquire it from another certificate authority, or acquire it by some other means.
[0085]
Next, control for resolving the contradiction will be described.
In a certain communication apparatus (node), n active codes are registered, and the i-th (1 ≦ i ≦ n) and j-th (1 ≦ j ≦ n) active codes are respectively set C (i) ( Set (c (i) ∩c (j)) is an empty set when it is defined to be for packets belonging to C (i) ⊆A) and set C (j) (C (j) ⊆A) There may be a combination of i and j, where i ≠ j. That is, the definition is such that a certain packet is applied to both the i-th active code and the j-th active code. Such a contradiction is resolved by one of the following two scenarios.
[0086]
The first conflict resolution scenario is for packet (s, d):
(SεO (k) ΛdεO (l)) Λ (k ≠ l)
To be
(S, d) εc (i) ∩c (j)
It is about the case that becomes. However, O (k) and O (l) are sets of IP addresses owned by users k and l, respectively.
That is, for a certain packet, both the active code for the source user and the active code for the destination user are registered in the communication device, and this packet (s, d) has arrived at such a communication device. Is the case. In such a case, it may be desirable to preferentially apply the destination user's active code.
[0087]
That is, in the pattern registered in the transfer destination table, the first entry in which only the source address is specified and the destination address can be anything, and only the destination address is specified and the source address is whatever A second entry that is considered good, and when a received packet matches both the first entry and the second entry, the second entry takes precedence over the first entry. Thus, the program corresponding to the pattern of the second entry is started.
[0088]
In this way, prioritizing the active code of the destination user over the active code of the source user establishes a mechanism that protects against a DDoS (Distributed DoS, Distributed Denial of Service) attack using the active network function. This is especially important when doing so. By doing so, the active code of the destination user, who can be an attacked person, is given priority over the active code of the potential attacker.
[0089]
The second conflict resolution scenario relates to the case where two or more active codes to be applied for a packet (s, d) are registered by the same user. In such a case, it may be desirable that the oldest registered one of the corresponding active codes is applied with priority over the other. This is because when the user tries to register a new active code, it is guaranteed that the old active code is deleted in advance in order to make the new active code effective.
[0090]
Next, an example of implementation of a communication device that functions as a node of an active network as described above will be described. FIG. 13 is a schematic diagram when a communication apparatus that processes an active packet by using a Java (registered trademark) virtual machine (JVM) on Linux is realized.
[0091]
In the example shown in FIG. 13, a dedicated IP stack is constructed as part of the process. Thus, a transfer destination table as shown in FIG. 11 is realized, and an entry can be added to or deleted from the transfer destination table from the execution environment (active network execution environment). As a result, the IP stack in the kernel becomes unnecessary, and routing in the kernel is inactivated. Then, a copy of the arrival packet is created from the data link portion, and the packet can be supplemented by the Java (registered trademark) virtual machine through the library libcap.
[0092]
The dedicated IP stack constructed as part of the processing is an active packet, that is, a packet having an IP address (destination IP address, source IP address, or a combination thereof) that matches a predetermined definition on the forwarding destination table. Passed to the active code that is run on the execution environment. On the other hand, normal packets other than active packets are transferred to adjacent communication devices or the like in the same manner as the IP stack in the kernel. All packets sent from this communication device, whether active packets or normal packets, are sent through the library library. By doing so, the transmission source address recorded in the header of each processed packet is sent to the network in the state where the original transmission source address remains unchanged.
[0093]
Further, it is possible to implement a security model by using “java.security” which is a standard Java (registered trademark) API (application program interface). This standard API provides most of the functions necessary to build a security model. Also, as the format for the certificate, the “X.509” certificate format can be used, and the IP address of the owner of the active code is set to the distinguished name (DN, distinguished name) of “X.509”. By including in part, the security model of the present embodiment can be realized.
[0094]
Needless to say, in the above implementation, a communication apparatus having an active network execution environment is constructed by using a computer system. Then, the above-described series of processing, that is, creation and capture of a copy of an incoming packet, processing of transfer of an active packet and a normal packet while referring to a transfer destination table, and activation of an active code in an active network execution environment Each process such as execution of the process and transmission of the processed packet to the network is stored in a computer-readable recording medium in the form of a program, and the computer reads and executes the program Thus, the above processing is performed. Here, the computer-readable recording medium means a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.
[0095]
The embodiments of the present invention have been described in detail above with reference to the drawings. However, the specific configuration is not limited to these embodiments, and includes a design and the like within a scope not departing from the gist of the present invention.
For example, in the above embodiment, the communication address is written as a 4-byte IP address on the premise that the Internet protocol is used. However, in the next generation IP using an address having a larger number of bytes or a communication network using another completely different protocol. The present invention can also be applied.
[0096]
【The invention's effect】
As described above, according to the present invention, the shield communication device performs an analysis process for analyzing an incoming communication packet, and the communication packet is an attack communication packet against the defense target computer according to a result of the analysis process. The priority of the communication packet is determined according to the possibility, and the communication packet is transferred to the transfer destination according to the priority. For this reason, it is possible to minimize the damage that makes it difficult for normal communication packets to reach under attack, compared to the case where the prior art was used to determine whether or not the packet was an attack binary. it can. Even in a stage where it is not possible to determine whether or not the packet is an attack packet, the bandwidth occupied by the suspicious communication packet can be narrowed down in stages.
[0097]
In addition, according to the present invention, two or more stages are allowed as the number of connection stages with the shield communication apparatus located farthest from the boundary communication apparatus, that is, the number (depth) of the shield communication apparatus is two or more. Therefore, the load of the defense process can be distributed, and the defense is performed at a position closer to the attack source, so that it is possible to effectively use the bandwidth of the downstream communication line without wasting it.
[0098]
Further, according to the present invention, when an attack is detected, the function of the probe is moved stepwise from the shield communication device to the upstream, so that it is possible to defend at a location closer to the attack source. As a result, the bandwidth of the downstream communication line can be used effectively, and the process of collecting evidence information about the attack source can be performed.
[0099]
Further, according to the present invention, as a probe process, when a communication packet whose destination address is the address of the defense target computer is captured, and the source address of the communication packet is the same as the address of the attack source obtained in advance Since it is determined that the communication packet is an attack packet, the A-type DDoS attack described in the description of the embodiment can be prevented.
[0100]
Further, according to the present invention, as a probe process, a communication packet in which at least one of a destination address and a transmission source address is the address of the defense target computer is captured, and the transmission source address of the communication packet is the protection target computer Even when the destination address of the communication packet is the broadcast address of the attack source address, it is determined that the communication packet is an attack packet. Therefore, the B-type DDoS described in the description of the embodiment is used. Can defend attacks.
[0101]
In addition, according to the present invention, the introduction of the dynamic inspection makes it possible to detect and defend against attacks that could not be detected by the prior art.
[Brief description of the drawings]
FIG. 1 shows a network configuration premised on an embodiment of the present invention.
FIG. 2 is a block diagram showing an internal configuration of the communication apparatus according to the embodiment.
FIG. 3 is a logical schematic diagram showing a defense mechanism according to the embodiment;
FIG. 4 is a schematic diagram illustrating an overview of processing for classifying communication packets by the shield module according to the embodiment;
FIGS. 5A and 5B are graphs showing a distribution state of transmission source IP addresses used when the shield module according to the embodiment performs a dynamic inspection, in which FIG. 5A is a normal distribution and FIG. 5B is under attack. An example of the distribution of time is shown.
FIG. 6 is a schematic diagram showing an A-type DDoS attack.
FIG. 7 is a schematic diagram showing a B-type DDoS attack.
FIG. 8 is pseudo program code describing a probe algorithm for responding to an A-type DDoS attack, in accordance with one embodiment of the present invention.
FIG. 9 is a pseudo program code describing a probe algorithm for coping with a B-type DDoS attack according to the embodiment;
FIG. 10 is a block diagram showing an internal configuration of a communication apparatus according to the embodiment.
FIG. 11 is a schematic diagram illustrating an example of a transfer destination table stored in a transfer destination table storage unit according to the embodiment;
FIG. 12 is a schematic diagram showing a security model and processing procedures in the model according to the embodiment;
FIG. 13 is a schematic diagram when the communication apparatus according to the embodiment is realized so as to process an active packet using a Java (registered trademark) virtual machine (JVM) on Linux;
[Explanation of symbols]
7000 user's computer
7001 Communication device
7010 Active network execution environment
7011 Code execution part
7012 Code storage unit
7021 Transfer processing unit
7022 Transfer destination table storage unit
7023a, 7023b, ... interface section
7024a, 7024b, ... Communication line
7051 User terminal device
7061 Certificate Authority equipment
7510 Active network execution environment
7511 Code execution part
7512 code storage unit
7521 Transfer processing unit
7531 Arrival packet capture unit
7532 Class-based queue processor
7533 Packet sending part
7540 Program transfer processor

Claims (14)

複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法であって、
前記防御対象コンピュータに最も近い通信装置であるところの境界通信装置からの指令情報に基づいて、当該境界通信装置から所定の段数分の範囲内に接続されているシールド通信装置が、当該シールド通信装置に到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するとともに、前記分析処理の結果当該通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合には当該通信パケットを破棄するシールド過程
を有することを特徴とするサービス不能攻撃の防御方法。
A defense method for protecting a defense target computer connected to a network composed of a plurality of communication devices from a denial of service attack,
Based on the command information from the boundary communication device that is the communication device closest to the defense target computer, the shield communication device connected within a predetermined number of stages from the boundary communication device is the shield communication device. An analysis process is performed to analyze a communication packet arriving at the network, and the priority of the communication packet is determined according to a possibility that the communication packet is an attack communication packet against the defense target computer according to a result of the analysis process. The communication packet is forwarded to the transfer destination according to the priority, and the communication packet is determined when the analysis process has determined that the communication packet is definitely an attack communication packet against the defense target computer. A method of protecting against denial of service attacks, characterized by having a shield process of destroying.
請求項1に記載のサービス不能攻撃の防御方法であって、
前記境界通信装置から最も遠い位置にある前記シールド通信装置との間の接続の段数として2以上を許容するとともに、当該段数を動的に変更できるようにしたことを特徴とするサービス不能攻撃の防御方法。
A method of preventing denial of service attacks according to claim 1,
Protection against denial of service attacks characterized by allowing two or more stages to be connected to the shielded communication apparatus located farthest from the boundary communication apparatus and dynamically changing the number of stages. Method.
請求項1に記載のサービス不能攻撃の防御方法であって、
前記シールド過程において前記通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合に、前記シールド通信装置がより攻撃元に近い側の隣接する通信装置に対してプローブプログラムコードを送信するプローブプログラムコード送信過程と、
前記プローブプログラムコードを受信したプローブ通信装置が、当該プローブプログラムコードを実行することによって、当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程と
をさらに有することを特徴とするサービス不能攻撃の防御方法。
A method of preventing denial of service attacks according to claim 1,
When it is determined that the communication packet is an attack communication packet against the defense target computer in the shield process, the probe program code is used for an adjacent communication device closer to the attack source. Probe program code transmission process,
The probe communication device that has received the probe program code analyzes the communication packet that arrives at the probe communication device by executing the probe program code, and as a result, the communication packet is an attack communication packet against the defense target computer. If it is, the communication packet is discarded and the probe program code is transmitted to the adjacent communication device closer to the attack source. A denial-of-service attack defense method, further comprising: a probe process for terminating the processing of the program code.
請求項3に記載のサービス不能攻撃の防御方法であって、
前記プローブ過程においては、宛先アドレスが前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定し、その他の場合には当該通信パケットは攻撃のパケットではないと判定する
ことを特徴とするサービス不能攻撃の防御方法。
A method of preventing denial of service attacks according to claim 3,
In the probing process, a communication packet whose destination address is the address of the defense target computer is captured, and when the transmission source address of the communication packet is the same as the address of the attack source obtained in advance, the communication packet is A denial-of-service attack prevention method, characterized in that it is determined to be an attack packet, and in other cases, the communication packet is determined not to be an attack packet.
請求項3に記載のサービス不能攻撃の防御方法であって、
前記プローブ過程においては、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、
a)当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合、又は、
b)当該通信パケットの送信元アドレスが前記防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合、
には、当該通信パケットが攻撃のパケットであると判定し、
上記a)あるいは上記b)のいずれにも該当しない場合には当該通信パケットは攻撃のパケットではないと判定する
ことを特徴とするサービス不能攻撃の防御方法。
A method of preventing denial of service attacks according to claim 3,
In the probe process, a communication packet in which at least one of a destination address or a source address is the address of the defense target computer is captured,
a) When the source address of the communication packet is the same as the address of the attack source obtained in advance, or
b) When the source address of the communication packet is the address of the defense target computer and the destination address of the communication packet is the broadcast address of the attack source address,
Determines that the communication packet is an attack packet,
A method of preventing a denial-of-service attack, characterized in that if neither of the above-mentioned a) or b) applies, the communication packet is determined not to be an attack packet.
請求項1に記載のサービス不能攻撃の防御方法であって、
前記シールド過程内の前記分析処理においては、予め正常時に得ておいたパラメータの値を含んだログ情報を用いて、検査時のパラメータの値と前記ログ情報とを比較することによる動的検査の処理を行うことを特徴とするサービス不能攻撃の防止方法。
A method of preventing denial of service attacks according to claim 1,
In the analysis process in the shielding process, the dynamic inspection is performed by comparing the log information with the parameter value at the time of inspection, using the log information including the parameter value obtained in advance at the normal time. A method of preventing denial-of-service attacks characterized by performing processing.
防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行するシールド通信装置であって、
前記防御対象コンピュータに最も近い通信装置であるところの境界通信装置からの指令情報に基づいて、当該シールド通信装置に到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するとともに、前記分析処理の結果当該通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合には当該通信パケットを破棄する処理を実行することを特徴とするシールド通信装置。
A shielded communication device that executes processing of a defense method for protecting a defense target computer from a denial of service attack,
Based on the command information from the boundary communication device that is the communication device closest to the defense target computer, an analysis process for analyzing the communication packet arriving at the shield communication device is performed, and according to the result of the analysis process, The priority of the communication packet is determined according to the possibility that the communication packet is an attack communication packet against the protection target computer, and the communication packet is transferred to the transfer destination according to the priority. As a result, a shielded communication apparatus, which executes a process of discarding the communication packet when it is determined that the communication packet is definitely an attack communication packet against the defense target computer.
請求項7に記載のシールド通信装置であって、
前記分析処理においては、予め正常時に得ておいたパラメータの値を含んだログ情報を用いて、検査時のパラメータの値と前記ログ情報とを比較することによる動的検査の処理を実行することを特徴とするシールド通信装置。
The shield communication device according to claim 7,
In the analysis process, a dynamic inspection process is performed by comparing the log information with a parameter value at the time of inspection using log information including a parameter value obtained in advance at the normal time. A shield communication device characterized by the above.
防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行するプローブ通信装置であって、
シールド通信装置によって防御対象コンピュータに対する攻撃の通信パケットが検出されたとき、当該シールド通信装置からプローブプログラムコードを受信し、当該プローブプログラムコードを実行することによって、
当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程の処理を実行し、
前記プローブ過程の処理においては、宛先アドレスが前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定し、その他の場合には当該通信パケットは攻撃のパケットではないと判定する
ことを特徴とするプローブ通信装置。
A probe communication device that executes processing of a defense method for protecting a defense target computer from a denial of service attack,
When a communication packet of an attack against the protection target computer is detected by the shield communication device, by receiving the probe program code from the shield communication device and executing the probe program code,
When a communication packet arriving at the probe communication device is analyzed, and the communication packet is an attack communication packet against the defense target computer as a result, the communication packet is discarded and the communication closer to the attack source is further adjacent. The probe program code is transmitted to the apparatus, and when a packet of an attack is not detected for a certain period of time as a result of analysis, a probe process is executed to end the probe program code .
In the process of the probing process, a communication packet whose destination address is the address of the defense target computer is captured, and when the transmission source address of the communication packet is the same as the attack source address obtained in advance, the communication packet A probe communication apparatus, characterized in that a packet is determined to be an attack packet, and otherwise determined that the communication packet is not an attack packet .
防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行するプローブ通信装置であって、
シールド通信装置によって防御対象コンピュータに対する攻撃の通信パケットが検出されたとき、当該シールド通信装置からプローブプログラムコードを受信し、当該プローブプログラムコードを実行することによって、
当該プローブ通信装置に到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して前記プローブプログラムコードを送信し、分析の結果一定時間攻撃のパケットが検知されない場合には前記プローブプログラムコードの処理を終了させるプローブ過程の処理を実行し、
前記プローブ過程の処理においては、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、
a)当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合、又は、
b)当該通信パケットの送信元アドレスが前記防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合、
には、当該通信パケットが攻撃のパケットであると判定し、
上記a)あるいは上記b)のいずれにも該当しない場合には当該通信パケットは攻撃のパケットではないと判定する
ことを特徴とするプローブ通信装置。
A probe communication device that executes processing of a defense method for protecting a defense target computer from a denial of service attack,
When a communication packet of an attack against the protection target computer is detected by the shield communication device, by receiving the probe program code from the shield communication device and executing the probe program code,
When a communication packet arriving at the probe communication device is analyzed, and the communication packet is an attack communication packet against the defense target computer as a result, the communication packet is discarded and the communication closer to the attack source is further adjacent. The probe program code is transmitted to the apparatus, and when a packet of an attack is not detected for a certain period of time as a result of analysis, a probe process is executed to end the probe program code.
In the processing of the probe process, a communication packet in which at least one of a destination address or a source address is the address of the defense target computer is captured,
a) When the source address of the communication packet is the same as the address of the attack source obtained in advance, or
b) When the source address of the communication packet is the address of the defense target computer and the destination address of the communication packet is the broadcast address of the attack source address,
Determines that the communication packet is an attack packet,
A probe communication device, wherein if neither of the above a) or b) corresponds, the communication packet is determined not to be an attack packet.
防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理を実行する通信装置であって、
ネットワーク側から到着する通信パケットを捕捉する到着パケット捕捉部と、
前記通信パケットに対して作用を及ぼすコンピュータプログラムの処理を行うアクティブネットワーク実行環境部と、
複数のクラスにそれぞれ対応した待ち行列を備えるとともに、前記アクティブネットワーク実行環境部における前記コンピュータプログラムの処理の結果として決定されるクラスに応じて、前記通信パケットをそのクラスに対応する前記待ち行列に入れる処理を行うクラスベースの待ち行列処理部と、
前記クラスベースの待ち行列処理部が備える各々の待ち行列から順次通信パケットを取り出してネットワーク側に送出するパケット送出部と、
前記アクティブネットワーク実行環境部で実行するためのコンピュータプログラムを他の通信装置との間で転送する処理を行うプログラム転送処理部とを備えており、
前記アクティブネットワーク実行環境部は、コンピュータプログラムを記憶するコード記憶部と、このコード記憶部に記憶されたコンピュータプログラムを読み出して実行するコード実行部とを備えており、
前記コード記憶部には、
到着する通信パケットの分析を行い、この分析の結果、前記通信パケットが攻撃の通信パケットである可能性に応じて前記通信パケットのクラスを決定するとともに、当該通信パケットが確実に攻撃の通信パケットである場合には当該通信パケットを破棄する処理をコンピュータに実行させるシールドモジュールと、
到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄する処理をコンピュータに実行させるプローブモジュールと、
前記プローブモジュールの処理をコンピュータが実行した結果、攻撃の通信パケットが見つかった場合に、自己のプログラムコードの複製をさらに攻撃元に近い側の隣接する通信装置に対して送信する処理をコンピュータに実行させる自己複製送信モジュールと、
前記プローブモジュールの処理をコンピュータが実行した結果、攻撃の通信パケットが所定時間継続して見つからなかった場合に、自己のプログラムコードを消滅させる処理をコンピュータに実行させる自己消滅モジュールと
が少なくとも記憶されている
ことを特徴とする通信装置。
A communication device that executes processing of a defense method for protecting a defense target computer from a denial of service attack,
An arrival packet capturing unit that captures a communication packet arriving from the network side;
An active network execution environment unit for processing a computer program that acts on the communication packet;
A queue corresponding to each of a plurality of classes is provided, and according to a class determined as a result of processing of the computer program in the active network execution environment unit, the communication packet is placed in the queue corresponding to the class. A class-based queue processor for processing;
A packet sending unit that sequentially extracts communication packets from each queue included in the class-based queue processing unit and sends them to the network side;
A program transfer processing unit that performs a process of transferring a computer program for execution in the active network execution environment unit to and from another communication device;
The active network execution environment unit includes a code storage unit that stores a computer program, and a code execution unit that reads and executes the computer program stored in the code storage unit,
In the code storage unit,
The communication packet that arrives is analyzed, and as a result of the analysis, the class of the communication packet is determined according to the possibility that the communication packet is an attack communication packet, and the communication packet is surely an attack communication packet. If there is a shield module that causes the computer to execute processing to discard the communication packet,
A probe module that analyzes a communication packet that arrives, and, as a result, causes the computer to execute processing for discarding the communication packet when the communication packet is a communication packet of an attack on the defense target computer;
If the attack module is found as a result of the computer executing the probe module process, a copy of its own program code is further transmitted to the adjacent communication device closer to the attack source. A self-replicating transmission module,
As a result of the computer executing the processing of the probe module, at least a self-annihilation module for causing the computer to execute processing for extinguishing its own program code when an attack communication packet is not continuously found for a predetermined time is stored. A communication device characterized by comprising:
複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理をコンピュータに実行させるコンピュータプログラムであって、
前記防御対象コンピュータに最も近い通信装置であるところの境界通信装置からの指令情報に基づいて、当該境界通信装置から所定の段数分の範囲内に接続されているシールド通信装置が、当該シールド通信装置に到着する通信パケットを分析する分析処理を行い、この分析処理の結果に応じて当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである可能性に応じて当該通信パケットの優先度を決定してこの優先度に応じて当該通信パケットを転送先に転送するとともに、前記分析処理の結果当該通信パケットが確実に前記防御対象コンピュータに対する攻撃の通信パケットであることが判明した場合には当該通信パケットを破棄するシールド過程の処理をコンピュータに実行させるコンピュータプログラム。
A computer program for causing a computer to execute a process of a defense method for protecting a defense target computer connected to a network constituted by a plurality of communication devices from a denial of service attack,
Based on the command information from the boundary communication device that is the communication device closest to the defense target computer, the shield communication device connected within a predetermined number of stages from the boundary communication device is the shield communication device. An analysis process is performed to analyze a communication packet arriving at the network, and the priority of the communication packet is determined according to a possibility that the communication packet is an attack communication packet against the defense target computer according to a result of the analysis process. The communication packet is forwarded to the transfer destination according to the priority, and the communication packet is determined when the analysis process has determined that the communication packet is definitely an attack communication packet against the defense target computer. A computer program that causes a computer to execute a shield process that destroys the process.
複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理をコンピュータに実行させるコンピュータプログラムであって、
到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して当該コンピュータプログラム自身を送信し、分析の結果一定時間攻撃のパケットが検知されない場合には当該コンピュータプログラムを終了させるプローブ過程の処理をコンピュータに実行させ
前記プローブ過程においては、宛先アドレスが前記防御対象コンピュータのアドレスである通信パケットを捕捉し、当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合には当該通信パケットが攻撃のパケットであると判定し、その他の場合には当該通信パケットは攻撃のパケットではないと判定する処理をコンピュータに実行させるコンピュータプログラム。
A computer program for causing a computer to execute a process of a defense method for protecting a defense target computer connected to a network constituted by a plurality of communication devices from a denial of service attack,
Analyzing the arriving communication packet, and as a result, when the communication packet is an attack communication packet against the defense target computer, the communication packet is discarded and the adjacent communication device closer to the attack source When the computer program itself is transmitted and the packet of the attack is not detected for a certain period of time as a result of the analysis, the computer is caused to execute a probe process that terminates the computer program ,
In the probing process, a communication packet whose destination address is the address of the defense target computer is captured, and when the transmission source address of the communication packet is the same as the address of the attack source obtained in advance, the communication packet is determines that the packet attack, other computer programs the communication packet Ru to execute the process of determining not to be the packet of attack computer in the case of.
複数の通信装置によって構成されるネットワークに接続された防御対象コンピュータをサービス不能攻撃から防御するための防御方法の処理をコンピュータに実行させるコンピュータプログラムであって、
到着する通信パケットを分析し、その結果当該通信パケットが前記防御対象コンピュータに対する攻撃の通信パケットである場合には当該通信パケットを破棄するとともにさらに攻撃元に近い側の隣接する通信装置に対して当該コンピュータプログラム自身を送信し、分析の結果一定時間攻撃のパケットが検知されない場合には当該コンピュータプログラムを終了させるプローブ過程の処理をコンピュータに実行させ、
前記プローブ過程においては、宛先アドレスあるいは送信元アドレスの少なくともいずれか一方が前記防御対象コンピュータのアドレスである通信パケットを捕捉し、
a)当該通信パケットの送信元アドレスが予め得られた攻撃元のアドレスと同一である場合、又は、
b)当該通信パケットの送信元アドレスが前記防御対象コンピュータのアドレスであって且つ当該通信パケットの宛先アドレスが前記攻撃元アドレスのブロードキャストアドレスである場合、
には、当該通信パケットが攻撃のパケットであると判定し、
上記a)あるいは上記b)のいずれにも該当しない場合には当該通信パケットは攻撃のパケットではないと判定する
処理をコンピュータに実行させるコンピュータプログラム。
A computer program for causing a computer to execute a process of a defense method for protecting a defense target computer connected to a network constituted by a plurality of communication devices from a denial of service attack,
Analyzing the arriving communication packet, and as a result, when the communication packet is an attack communication packet against the protection target computer, the communication packet is discarded and the communication device closer to the attack source When the computer program itself is transmitted and the packet of the attack is not detected for a certain period of time as a result of the analysis, the computer is caused to execute a probe process that terminates the computer program,
In the probe process, a communication packet in which at least one of a destination address or a source address is the address of the defense target computer is captured,
a) When the source address of the communication packet is the same as the address of the attack source obtained in advance, or
b) When the source address of the communication packet is the address of the defense target computer and the destination address of the communication packet is the broadcast address of the attack source address,
Determines that the communication packet is an attack packet,
A computer program that causes a computer to execute a process of determining that the communication packet is not an attack packet when neither of the above a) or b) applies.
JP2002079728A 2002-03-20 2002-03-20 Method and apparatus for preventing denial of service attack and computer program therefor Expired - Fee Related JP3652661B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002079728A JP3652661B2 (en) 2002-03-20 2002-03-20 Method and apparatus for preventing denial of service attack and computer program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002079728A JP3652661B2 (en) 2002-03-20 2002-03-20 Method and apparatus for preventing denial of service attack and computer program therefor

Publications (2)

Publication Number Publication Date
JP2003283571A JP2003283571A (en) 2003-10-03
JP3652661B2 true JP3652661B2 (en) 2005-05-25

Family

ID=29229055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002079728A Expired - Fee Related JP3652661B2 (en) 2002-03-20 2002-03-20 Method and apparatus for preventing denial of service attack and computer program therefor

Country Status (1)

Country Link
JP (1) JP3652661B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2863128A1 (en) * 2003-11-28 2005-06-03 France Telecom Signaling protocols e.g. internet protocol, unlawful usage detection and prevention method for e.g. Internet, involves applying delay insufficient and sufficient for blocking lawful and unlawful usage, respectively
JP4484663B2 (en) 2004-02-02 2010-06-16 株式会社サイバー・ソリューションズ Unauthorized information detection system and unauthorized attack source search system
US7966661B2 (en) * 2004-04-29 2011-06-21 Microsoft Corporation Network amplification attack mitigation
JP4028532B2 (en) * 2004-08-11 2007-12-26 日本電信電話株式会社 Communication network traffic analysis apparatus, system, and analysis method
EP1804446B1 (en) 2004-10-12 2014-10-22 Nippon Telegraph And Telephone Corporation Denial-of-service attack protecting system, method, and program
JP4704729B2 (en) 2004-10-20 2011-06-22 株式会社日立製作所 Packet data processing node equipment
EP2191612B1 (en) 2007-08-21 2018-10-31 Nec Corporation Method for detecting attacks to multimedia systems and multimedia system with attack detection functionality
JP4825767B2 (en) * 2007-10-02 2011-11-30 Kddi株式会社 Abnormality detection device, program, and recording medium
KR100870871B1 (en) * 2008-05-29 2008-11-27 (주)한드림넷 Harmful Traffic Blocker and Security System at Access Level
US8966622B2 (en) 2010-12-29 2015-02-24 Amazon Technologies, Inc. Techniques for protecting against denial of service attacks near the source
JP2016163180A (en) * 2015-03-02 2016-09-05 日本電気株式会社 COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP2019092039A (en) * 2017-11-14 2019-06-13 日本電信電話株式会社 Attack detection method, attack detection device, and communication system

Also Published As

Publication number Publication date
JP2003283571A (en) 2003-10-03

Similar Documents

Publication Publication Date Title
US7797749B2 (en) Defending against worm or virus attacks on networks
Weaver et al. Very fast containment of scanning worms, revisited
US8006302B2 (en) Method and system for detecting unauthorized use of a communication network
US8689333B2 (en) Malware defense system and method
KR100800370B1 (en) Attack signature generation method, signature generation application application method, computer readable recording medium and attack signature generation device
Berk et al. Using sensor networks and data fusion for early detection of active worms
Hussein et al. SDN security plane: An architecture for resilient security services
JP2005517349A (en) Network security system and method based on multi-method gateway
KR101042291B1 (en) DDoS detection / blocking system for DDoS attack and its method
JP3652661B2 (en) Method and apparatus for preventing denial of service attack and computer program therefor
Costa et al. Can we contain Internet worms
Qin et al. Worm detection using local networks
Xiao et al. A novel approach to detecting DDoS attacks at an early stage
JP3609382B2 (en) Distributed denial of service attack prevention method, gate device, communication device, and program
Subbulakshmi et al. A unified approach for detection and prevention of DDoS attacks using enhanced support vector machines and filtering mechanisms
JP4159814B2 (en) Interactive network intrusion detection system and interactive intrusion detection program
Irum et al. DDoS detection and prevention in internet of things
EP1866725B1 (en) Network attack detection
JP3609381B2 (en) Distributed denial of service attack prevention method, gate device, communication device, and program
Bojjagani et al. Early DDoS Detection and Prevention with Traced-Back Blocking in SDN Environment.
Pimpalkar et al. Detection and Mitigation Techniques for Defending DDoS Attacks in Cloud Environment
Stojanović et al. Intrusion Detection Against Denial Of Service Attacks In Manet Environment
Berger-Sabbatel et al. Architecture of a platform for malware analysis and confinement
Akano et al. Mitigating Insider Threat’s IP Spoofing through Enhanced Dynamic Cluster Algorithm (EDPU Based HCF)
Tymchenko et al. Method of construction of fuzzy tree of solutions for network protection against DoS-attacks.

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20041005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041203

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: 20050215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080304

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120304

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees