JP3549861B2 - Distributed denial of service attack prevention method and apparatus, and computer program therefor - Google Patents

Distributed denial of service attack prevention method and apparatus, and computer program therefor Download PDF

Info

Publication number
JP3549861B2
JP3549861B2 JP2001274016A JP2001274016A JP3549861B2 JP 3549861 B2 JP3549861 B2 JP 3549861B2 JP 2001274016 A JP2001274016 A JP 2001274016A JP 2001274016 A JP2001274016 A JP 2001274016A JP 3549861 B2 JP3549861 B2 JP 3549861B2
Authority
JP
Japan
Prior art keywords
attack
communication device
module
service
packet
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
JP2001274016A
Other languages
Japanese (ja)
Other versions
JP2002164938A (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 JP2001274016A priority Critical patent/JP3549861B2/en
Publication of JP2002164938A publication Critical patent/JP2002164938A/en
Application granted granted Critical
Publication of JP3549861B2 publication Critical patent/JP3549861B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークに接続された機器をネットワーク経由での攻撃から防御するための、サービス不能攻撃の防止方法およびその装置ならびにそのコンピュータプログラムに関するものである。
【0002】
【従来の技術】
従来、TCP/IP(Transmission control protocol/internet protocol)などのネットワークプロトコルは、オープンとなっており、互いに信用されるグループで使われるように設計されている。このため、コンピュータのオペレーティングシステムでは、大量の通信トラフィック(データ等)をサーバに送信することによって、ネットワークの帯域やサーバの資源を消費して正当な利用者の利用を妨げようとするサービス不能攻撃(以下、「DoS(Denial of Service)攻撃」と記す)を防ぐことは考慮されていない。このようなDoS攻撃に対する防御の方法は増えてきているが、複数箇所から同時に連携してDoS攻撃を行う分散型サービス不能攻撃(DDoS攻撃)に対する防御の方法は未だ効果的ではない。
【0003】
この分散型DoS攻撃に対する防御の方法としては、シスコ社が提案したIngress Filter(RFC2267)とUUNET社のCenter Trackがある。前者は、分散型DoS攻撃の際に良く使われる送信元アドレスの詐称をチェックする機構であり、ローカルエリアネットワークがインターネットに接続されている境界であるルータにインストールされ、ローカルエリアネットワークからインターネットに向かって送信されるパケットの送信元アドレスの正統性をチェックし、ローカルエリアネットワークに割り当てられたアドレスと整合していない場合には、そのパケットをインターネットに送信せずに破棄する。
【0004】
【発明が解決しようとする課題】
この技術は、送信元アドレスを詐称して分散型DoS攻撃をすることを禁止するための技術であり、攻撃を受ける側が防御するために使う技術ではない。また後者は、インターネットのルータに診断機能を付加し、分散型DoS攻撃の送信元を追跡する技術である。この技術は、攻撃を受けた被害者が攻撃者を特定することを助ける技術ではあるが、実際に攻撃を受けているときにその攻撃を防御することはできない。
【0005】
上述したRFC2267に記載されているIngress Filterは、正しいIP(internet protocol)アドレスが送信元になっているIPパケットによる攻撃にはまったく対処できない、攻撃元になっているローカルエリアネットワークとインターネットとの境界であるルータにIngress Filterが具備されていない場合はまったく攻撃の防御に役に立たないという問題点がある。また、上述したCenter Trackは、攻撃者が送信元アドレスを詐称した場合には追跡が困難になる上に、複数箇所に分散された分散型DoSの攻撃元になっているコンピュータやそのコンピュータが接続されているネットワークの管理者に連絡をしないと、攻撃そのものを止めることはできないため、実質的には攻撃を止めるまでに何時間、あるいは何日もの時間がかかってしまうという問題点がある。
【0006】
本発明は、上記事情を考慮してなされたものであり、その目的は、送信元アドレスを詐称したパケットによる分散型DoS攻撃を防御する際に、送信元アドレスの詐称の如何に関わらず、攻撃を防御できる分散サービス不能攻撃の防止装置および防止方法ならびにそのコンピュータプログラムを提供することである。
【0007】
また、本発明の目的は、上記の分散サービス不能攻撃の防止方法を実現するために、通信装置に対して送信するためのプログラムモジュールを管理するとともに、プログラムモジュールの開発者や利用者らの認証を行い、通信システム全体の信頼性を向上させることのできるモジュールサーバを提供することである。
【0008】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、分散型サービス不能攻撃を防止するための通信装置であって、当該通信装置を通過する通信パケットを監視し分散型サービス不能攻撃を検出するトラフィック監視機能部と、分散型サービス不能攻撃が検出された際に当該分散型サービス不能攻撃の通信パケットを破棄する攻撃防御モジュールと、攻撃元に近い上位側の通信装置のアドレスを検索する処理を行う攻撃元検索モジュールと、上位側の防御位置の通信装置に対して前記攻撃元検索モジュールを送信するモジュール送信部と、前記攻撃元検索モジュールによって検索された攻撃元に近い上位側の通信装置の候補中から上位側の防御位置とする通信装置を抽出する攻撃元判断機能部とを備え、前記モジュール送信部は、前記攻撃元判断機能部によって抽出された上位側の防御位置の通信装置に対して前記攻撃防御モジュールを送信するものであることを特徴とする通信装置を要旨とする。
【0009】
また、本発明の通信装置においては、前記モジュール送信部は、前記攻撃元検索モジュールとともに前記トラフィック監視機能部によって分散型サービス不能攻撃であると検知された通信パケットに関する攻撃パケット情報を前記上位側の通信装置に対して送信するものであり、前記攻撃元検索モジュールには、前記モジュール送信部から受信した前記攻撃パケット情報と当該通信装置を通過する通信パケットとを比較して、当該攻撃パケット情報に該当する通信パケットが当該通信装置を通過していることを検知した場合には、当該通信装置自身が防御位置の通信装置の候補であることを攻撃元検索モジュールの送信元の通信装置に対して通知するトラフィック検査機能部が含まれることを特徴とする。
【0010】
また、本発明の通信装置においては、前記攻撃防御モジュールには、攻撃が継続中か否かを監視する攻撃トラフィック監視機能部と、前記攻撃トラフィック監視機能部が攻撃は中断したと判断した場合には、当該攻撃防御モジュール自身を、処理実行中の通信装置から消滅させる自己消滅機能部とが含まれることを特徴とする。
【0011】
また、本発明の通信システムは、上記の通信装置と、前記通信装置に対してプログラムモジュールを送信するモジュールサーバであって、前記通信装置にインストールされるプログラムモジュールを保存するプログラムモジュールデータベースと、前記プログラムモジュールの保存を依頼できるプログラムモジュールの開発者を管理する開発者データベースと、前記プログラムモジュールを前記通信装置にインストールする要求ができる利用者を管理するユーザデータベースと、保存されている前記プログラムモジュールを前記利用者にメニューで表示するサービスメニューと、前記サービスメニューに表示されている前記プログラムモジュールをインストールする要求が前記利用者からあれば前記利用者の権限を認証するサービスマネージャと、前記認証を確認できた場合には前記プログラムモジュールを前記通信装置に対して送信するサービスモジュールインジェクタとを備えるモジュールサーバと、からなることを特徴とするものである。
【0012】
また、本発明の通信装置は、当該通信装置を通過する通信パケットを監視し分散型サービス不能攻撃を検出するトラフィック監視機能部と、分散型サービス不能攻撃が検出された際に当該分散型サービス不能攻撃の通信パケットを破棄するとともに、攻撃元に近い上位側の通信装置のアドレスを検索する処理を行う攻撃防御モジュールと、上位側の通信装置に対して前記攻撃防御モジュールを送信するモジュール送信部とを備えることを特徴とするものである。
【0013】
また、本発明の通信装置においては、前記モジュール送信部は、前記攻撃防御モジュールとともに前記トラフィック監視機能部によって分散型サービス不能攻撃であると検知された通信パケットに関する攻撃パケット情報を前記上位側の通信装置に対して送信するものであり、前記攻撃防御モジュールには、前記モジュール送信部から受信した前記攻撃パケット情報と当該通信装置を通過する通信パケットとを比較して、当該攻撃パケット情報に該当する通信パケットが当該通信装置を通過していることを検知するトラフィック検査機能部が含まれることを特徴とする。
【0014】
また、本発明の通信装置においては、前記攻撃防御モジュールには、攻撃が継続中か否かを監視する攻撃トラフィック監視機能部と、前記攻撃トラフィック監視機能部が攻撃は中断したと判断した場合には、当該攻撃防御モジュール自身を、処理実行中の通信装置から消滅させる自己消滅機能部とが含まれることを特徴とする。
【0015】
また、本発明の通信システムは、上記の通信装置と、前記通信装置に対してプログラムモジュールを送信するモジュールサーバであって、前記通信装置にインストールされるプログラムモジュールを保存するプログラムモジュールデータベースと、前記プログラムモジュールの保存を依頼できるプログラムモジュールの開発者を管理する開発者データベースと、前記プログラムモジュールを前記通信装置にインストールする要求ができる利用者を管理するユーザデータベースと、保存されている前記プログラムモジュールを前記利用者にメニューで表示するサービスメニューと、前記サービスメニューに表示されている前記プログラムモジュールをインストールする要求が前記利用者からあれば前記利用者の権限を認証するサービスマネージャと、前記認証を確認できた場合には前記プログラムモジュールを前記通信装置に対して送信するサービスモジュールインジェクタとを備えるモジュールサーバと、からなることを特徴とするものである。
【0016】
また、本発明のサービス不能攻撃防止方法は、通信装置において分散型サービス不能攻撃を検知すると、当該分散型サービス不能攻撃の通信パケットを当該通信装置において破棄しながら、検知された前記分散型サービス不能攻撃の攻撃元に近い上位側の通信装置を検索し、検索の結果得られた前記上位側の通信装置に対してプログラムモジュールを送信し、前記プログラムモジュールを受信した側の通信装置において、当該プログラムモジュールを実行することにより、上記の分散型サービス不能攻撃の通信パケットを破棄する処理と、上記の上位側の通信サービスを検索する処理と、上記の上位側の通信装置に対してプログラムモジュールを送信する処理を行うことによって、攻撃元に最も近い最上位の通信装置に達するまで再帰的に検索を行い、当該最上位の通信装置において前記分散型サービス不能攻撃の通信パケットを破棄することを特徴とするものである。
【0017】
また、本発明のサービス不能攻撃防止方法では、前記プログラムモジュールを上位側の通信装置に対して送信する際には、前記プログラムモジュールとともに、分散型サービス不能攻撃であると検知された前記通信パケットに関する攻撃パケット情報を前記上位側の通信装置に対して送信し、前記プログラムモジュールと前記攻撃パケット情報を受信した側の通信装置では、当該プログラムモジュールを実行することによって、前記攻撃パケット情報と当該通信装置を通過する通信パケットとを比較して、当該攻撃パケット情報に該当する通信パケットが当該通信装置を通過していることを検知した場合には、当該通信装置自身が防御位置の通信装置の候補であることを攻撃元検索モジュールの送信元の通信装置に対して通知することを特徴とする。
【0018】
また、本発明のサービス不能攻撃防止方法では、前記プログラムモジュールを受信した前記上位側の通信装置においては、当該プログラムモジュールを実行することによって、攻撃が継続中か否かを監視するとともに、この攻撃が中断された判断した場合には、当該プログラムモジュール自身を当該通信装置から消滅させる処理を行うことを特徴とする。
【0019】
また、本発明の記録媒体は、分散型サービス不能攻撃を防止するために通信装置上で実行されるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体は、前記通信装置を通過する通信パケットを監視するステップと、この監視によってサービス不能攻撃の通信パケットを検知した場合には、当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、前記サービス不能攻撃が分散型のサービス不能攻撃であるか否かを判断するステップと、分散型のサービス不能攻撃であった場合には、データベースを参照することによって攻撃元に近い上位側の通信装置を抽出し、これらの上位側の通信装置に対して攻撃元を検索するための攻撃元検索モジュールを送信し、送信先の通信装置から防御位置の情報を受信し、この防御位置の情報に基づいて上位側の通信装置に対して攻撃を防御するための攻撃防御モジュールを送信するステップとの各処理をコンピュータに実行させるコンピュータプログラムを記録したものである。
【0020】
また、本発明の記録媒体は、分散型サービス不能攻撃を防止するために下位の通信装置から上位の通信装置へ送信され、この上位の通信装置上で実行される攻撃元検索のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果を前記下位の通信装置に通知するステップと、この検査の結果、当該サービス不能攻撃の通信パケットが当該通信装置を通過している場合には、
a)自通信装置自身よりも攻撃元に近い上位の通信装置がない場合には当該通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
b)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個も来ない場合には、自通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
c)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個以上来た場合には、自通信装置自身を最上位の通信装置としない、
のa)〜c)のいずれかを行うステップとの各処理をコンピュータに実行させるコンピュータプログラムを記録したものである。
【0021】
また、本発明の記録媒体は、分散型サービス不能攻撃を防止するために通信装置上で実行される攻撃防御のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果、通過していた場合には、
a)当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、
b)データベースを参照することによって攻撃元に近い上位側の通信装置を抽出するステップと、
c)抽出された前記上位側の通信装置に対して当該攻撃防御のコンピュータプログラム自身を送信するステップと、
のa)〜c)の各処理をコンピュータに実行させるコンピュータプログラムを記録したものである。
【0022】
また、本発明は、分散型サービス不能攻撃を防止するために通信装置上で実行されるコンピュータプログラムであって、前記通信装置を通過する通信パケットを監視するステップと、この監視によってサービス不能攻撃の通信パケットを検知した場合には、当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、前記サービス不能攻撃が分散型のサービス不能攻撃であるか否かを判断するステップと、分散型のサービス不能攻撃であった場合には、データベースを参照することによって攻撃元に近い上位側の通信装置を抽出し、これらの上位側の通信装置に対して攻撃元を検索するための攻撃元検索モジュールを送信し、送信先の通信装置から防御位置の情報を受信し、この防御位置の情報に基づいて上位側の通信装置に対して攻撃を防御するための攻撃防御モジュールを送信するステップとの各処理をコンピュータに実行させるものである。
【0023】
また、本発明は、分散型サービス不能攻撃を防止するために下位の通信装置から上位の通信装置へ送信され、この上位の通信装置上で実行される攻撃元検索のコンピュータプログラムであって、当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果を前記下位の通信装置に通知するステップと、この検査の結果、当該サービス不能攻撃の通信パケットが当該通信装置を通過している場合には、
a)自通信装置自身よりも攻撃元に近い上位の通信装置がない場合には当該通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
b)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個も来ない場合には、自通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
c)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個以上来た場合には、自通信装置自身を最上位の通信装置としない、
のa)〜c)のいずれかを行うステップとの各処理をコンピュータに実行させるものである。
【0024】
また、本発明は、分散型サービス不能攻撃を防止するために通信装置上で実行される攻撃防御のコンピュータプログラムであって、当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果、通過していた場合には、
a)当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、
b)データベースを参照することによって攻撃元に近い上位側の通信装置を抽出するステップと、
c)抽出された前記上位側の通信装置に対して当該攻撃防御のコンピュータプログラム自身を送信するステップと、
のa)〜c)の各処理をコンピュータに実行させるものである。
【0029】
【発明の実施の形態】
以下、図面を参照しこの発明の実施形態について説明する。なお、以下の実施形態は本発明の請求範囲の解釈を限定するものではない。また、前記の目的を達成するために、以下の実施形態において説明されるすべての特徴を組み合わせることが常に不可欠であるわけではない。
【0030】
<第1の実施形態>
以下、本発明の実施の形態について図を用いて詳細に説明する。図1は、本発明を適用できるネットワークの構成図である。分散型DoS攻撃者によって操作されたホスト113、114、116、117は、攻撃パケットを被攻撃者のサーバ101に向かって送信している。この被攻撃者のサーバ101が収容されているローカルエリアネットワーク(LAN)は、境界ルータ(通信装置)102によって外部のネットワークに接続されており、この境界ルータ102には、本発明の移動型パケットフィルタリングがインストールされている。また、ルータ(通信装置)103、104、106、107、108、109、110、111もまた本発明の技術を適用したルータであり、これらはネットワーク経由で送られてきたプログラムを受信し実行できる機能が備わっている。なお、ルータ105は本発明の技術を適用したものではない通常のルータである。
【0031】
図1に示すネットワークにおいて、分散型DoS攻撃によって、前記攻撃パケットが被攻撃者収容LANに集中して混雑が発生し、これにより、前記境界ルータ102の資源を消費してしまい、この混雑によって、分散型DoS攻撃者とは無関係な正規の利用者のコンピュータ112、115、118からサーバ101に接続できなくなるということが起こる。
【0032】
次に、図2は、図1に示したネットワークにおいて行われている分散型DoS攻撃に対しての防御方法を示している。図2の態様では、境界ルータ102にインストールされている本発明の移動型パケットフィルタリングプログラムは、自らのプログラムの複製を作成し、その複製を後述する方法によってルータ106、107、109、110へ移動させる。各ルータへ移動してきた移動型パケットフィルタリングプログラムは、それぞれ分散型DoS攻撃者のホスト113、114、116、117からサーバ101に向けて送られているトラフィック全てを通過させないようにする。その結果、境界ルータ102の負荷が軽減されると共に被攻撃者収容LANの混雑が解消され、分散型DoS攻撃者以外の正規利用者のコンピュータ112、115、118からサーバ101にアクセスできるようになる。その後、分散型DoS攻撃者のホスト113、114、116、117からサーバ101への攻撃が終了すると、ルータ106、107、109、110にインストールされている移動型パケットフィルタリングのプログラムは、攻撃された履歴を前記境界ルータ102にインストールされている複製元の移動型パケットフィルタリングのプログラムに送信し、自分自身をルータ106、107、109、110から消去する。また本発明の移動型パケットフィルタリングのプログラムは、様々なネットワークの形態や通信内容に対して適用することが可能である。
【0033】
次に、図3および図4のフローチャートを参照しながら、移動型パケットフィルタリングの処理手順を説明する。この移動型パケットフィルタリングは、初期状態においては、防御対象のネットワークがその他のネットワークと接続されている接点に位置する境界ルータ(例えば、図1および図2に示すネットワークにおいてはルータ102)にインストールされている。
【0034】
この状態で、図3に示すステップS001において、移動型パケットフィルタリングは、転送されてくるパケット(トラフィック)の監視を行っている。そして、S002で監視結果がDoS攻撃であるか否かを判断する。この判断の結果として、DoS攻撃が検出されなかった場合にはステップS002からステップS001へ戻る。つまり、DoS攻撃が検出されないときはステップS001の監視とステップS002の判断を繰り返す。なお、ステップS002においては、周知技術であるDoS攻撃の検出アルゴリズムを用いることによってDoS攻撃のデータのパターンを検出することができる。
【0035】
ステップS002においてDoS攻撃が検出された場合には、ステップS003に進み、ステップS003において新しいプロセスを生成する。元のプロセスと新しく生成されるプロセスとは並行して処理を進めることができる。この元のプロセスは、ステップS001に戻って受信トラフィックの監視を継続する。
【0036】
ステップS003において新しく生成される第1のプロセスは、ステップS004〜S006に記載されているように、当該ルータにおいて、検出した攻撃パケットを破棄する処理を行い、攻撃パケットが継続している間はパケットの破棄を継続する。攻撃パケットが停止した場合にはパケットの破棄処理を終了する。
【0037】
ステップS003において新しく生成される第2のプロセスは、ステップS007〜S014に記載されている通り、上位のルータに防御位置を移動するための処理を行う。まず、ステップS007においては、分散型DoS攻撃か否かを判断する。なお、この分散型DoS攻撃か否かの判断は周知技術によって行うことができる。この判断の結果、分散型DoS攻撃でなかった場合にはそのまま処理を終了し、分散型DoS攻撃であった場合には、図4のステップS008に進む。
【0038】
ステップS008においては、当該ルータが具備する隣接ルータデータベースを参照することにより、上位ルータとなり得るルータを検索する。ここで、上位ルータとなり得るルータとは、当該ルータに隣接するルータであって、かつ本発明が適用された移動型パケットフィルタリングの機能を果たすことのできるルータである。図2に示したネットワークを例にとると、境界ルータ102が具備する隣接ルータデータベースには、上位ルータとなり得るルータとして、ルータ103、104、111が格納されている。ルータ103および104は、境界ルータ102に隣接しているルータでありかつ本発明の移動型パケットフィルタリングの機能を果たすものである。また、ルータ105は本発明が適用されてない通常ルータであるため、境界ルータ102からルータ105に向かう経路上のさらにひとつ先に存在しているルータ111が境界ルータ102の上位ルータとなる。すなわち、本発明の技術を装備するルータの中で、ネットワークトポロジーとして隣接しているルータの情報が隣接ルータデータベースに格納されている。
【0039】
ステップS008での検索の結果をステップS009において判断し、上位ルータが検索されなかった場合(NOの場合)には、処理を終了する。また、上位ルータが検索された場合(YESの場合)には、次のステップS010へ進む。図2に示した例では、境界ルータ102の隣接ルータとして上位ルータ103、104、111が検索されるため、S010の処理へ進む。
【0040】
ステップS010では、上で検出された上位ルータ103、104、111に対して、現在検索対象となっている分散型DoS攻撃のパケットの情報を保持した攻撃元検索モジュールを送信する。
【0041】
ステップS011においては、上記の攻撃元検索モジュールを受信した上位ルータ上でこの攻撃元検索モジュールを実行することによって攻撃元検索モジュールが攻撃の防御に最適な位置を検索し、その結果が送信元の下位ルータに返送されてくる。なお、上記上位ルータのさらに上位ルータが存在する場合には、再帰的に攻撃元検索モジュールが送信され防御位置の検索が行われる。
【0042】
ステップS012においては、元のルータが上位ルータから検索結果を受信し、受信したアドレスの冗長情報を整理する。この冗長情報の整理については後で詳細に説明する。この冗長情報の整理が終了すると、ステップS013において、受信したアドレスが存在したか否かをチェックする。存在しなかった場合(NOの場合)にはそのまま処理を終了し、存在した場合(YESの場合)にはステップS014において冗長情報の整理後に残ったアドレスに対して攻撃防御モジュールを転送してから処理を終了する。
【0043】
次に、図4のステップS011で呼び出される攻撃元検索モジュールの処理内容について、図5および図6のフローチャートを参照しながら説明する。図5のステップS101において、送信された攻撃元検索モジュールが上位ルータヘ到着する。図2に示したネットワークの例では、境界ルータ102から上位ルータ103、104、111にそれぞれこのモジュールが到着するが、ここでは、ルータ103へ到着したモジュールの実行を例として説明する。
【0044】
ステップS102では、攻撃元検索モジュールが保持している攻撃パケット情報を使い、ルータ103を攻撃パケットが通過しているか否かを検査し、その結果を送信元のルータへ報告する。ステップS103で検査結果をチェックし、攻撃パケットが通過していなかった場合(NOの場合)にはそのままステップS112へ進む。攻撃パケットが通過していた場合(YESの場合)には図6のステップS104へ進む。
【0045】
ステップS104においては、攻撃防御モジュールがインストール可能か否かを検査する。この検査は、例えば、当該ルータ上でのモジュール稼動のための各種資源が充分かどうかを調べるといった検査である。そして、ステップS105で上記検査結果を判断し、インストール可能な場合(YESの場合)には、ステップS114で自分自身(ルータ103)のアドレスを最上位ルータアドレスの候補として保持して、ステップS106へ進む。インストール不可能な場合(NOの場合)にはそのままステップS106へ進む。
【0046】
ステップS106では、自分自身(ルータ103)が具備する隣接ルータデータベースを参照して、上位ルータとなり得る隣接ルータを検索する。ルータ103にとっては、ルータ102、106、107、108が隣接ルータとして抽出される。
【0047】
そして、ステップS107では、上で抽出されたルータの中にさらなる上位ルータがあるか否かを検査する。ここでは、ルータ102は、攻撃元検索モジュールの送信元であるため、ルータ103のさらなる上位ルータではなく、ルータ106、107、108がさらなる上位ルータである。さらなる上位ルータがなかった場合(NOの場合)には、S108に進み、保持している最上位ルータ候補を攻撃元検索モジュールの送信元へ送信する。さらなる上位ルータがあった場合(YESの場合)には、ステップS109へ進む。
【0048】
ステップS109では、検出した全上位ルータに対して、DoS攻撃の情報を保持した攻撃元検索モジュールを複製して送信し、全ての複製した攻撃元検索モジュールからの返事を待つ。
【0049】
ステップS110では、S109で送信された攻撃元検索モジュールを受信した上位ルータが当該モジュールを実行することにより最適防衛位置の検索の処理を行う。つまり、再帰的に上位ルータを検索することになる。
【0050】
ステップS111では、複製して送信した攻撃元検索モジュールからの返事を検査し、一個以上の検索モジュールからの返事に攻撃が通過しているという返事があった場合(YESの場合)、そのままステップS112で自分自身を消滅させて処理を終了する。また、検索モジュールからの全ての返事が攻撃は通過していないという内容であった場合(NOの場合)には、S108に進み、保持している最上位ルータ候補を攻撃元検索モジュールの送信元へ送信する。
【0051】
図4のステップS012で説明した検索結果のアドレスの冗長情報を整理する方法の詳細について説明する。図7は、アドレスの冗長情報を整理する手順を示す概略図である。前述した手順により、移動型パケットフィルタリングプログラムは、識別された攻撃毎に最も攻撃元に近いルータを検出する。
【0052】
図7に示す表T001は、検索の結果収集された情報を表している。この例の場合、同表の第1行目から第3行目までで表わされる各攻撃(攻撃元アドレスが「111.111.111.111」と「111.111.111.222」と「111.111.111.333」)については、攻撃元に一番近いルータ(アドレスが「111.111.111.1」)が同じになる可能性がある。このような冗長な情報は編集され、表T002においてはひとつに集約される。
そして、複製される移動型パケットフィルタリングプログラムは、表T001から検出できる攻撃の数だけ複製されるのではなく、T002から検出されたルータの数だけ複製され、同じ物を無駄に複製して同一の上位ルータに送らないようになっている。また、全ての複製された移動型パケットフィルタリングプログラムが、表T002のような収集された情報全てを保持するのではなく、複製されて移動する先で移動型パケットフィルタリングが攻撃を防御するために利用する情報だけを取り出し、T003に示すような効率の良い形式で保存される。
【0053】
次に、上述した複製された移動型パケットフィルタリングプログラムの処理手順について説明する。図8は、前記移動型パケットフィルタリングプログラムの処理手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【0054】
まず、ステップS021で、複製され攻撃の防御に必要な情報を受け取ると、当該プログラムは、インストールされるべきルータに向かって移動(送信)される。次に、ステップS022に進み、インストールされたルータで、攻撃元から攻撃先への全てのパケットを破棄する処理を行う。次に、ステップS023に進み、最後の攻撃が止まった時点からの時間を計測し、計測した時間が一定の時間に達する前に攻撃が再開されればステップS022に戻って防御を続け、計測した時間が一定の時間に達した場合には、ステップS024に進む。
【0055】
ステップS024では、攻撃に関する履歴情報(ログ)を複製元の移動型パケットフィルタリングプログラムへ送信する。最後にステップS025に進み、自分自身のプログラムをルータから消去し、処理を終了する。
【0056】
次に、上で説明した処理手順を実行するための構成について説明する。図9は、本実施形態によるルータの構成を示す構成図である。図示するように、このルータのハードウェア上ではオペレーティングシステム(OS)が稼動し、このオペレーティングシステム上で、本発明のモジュールが稼動する。なお、上記オペレーティングシステムは、システム全体の起動および終了を制御し、パケットフィルタリングの機能や、トラフィックスケジュール管理の機能や、ソケット機能や、ルーティングテーブル管理の機能や、中継パケット振り分け機能などを提供する。
【0057】
図10は、本実施形態によって分散型DoS攻撃を防止するための機能構成を示す構成図である。図示するように、本発明を実現する各機能は、ルータミドルウェア上の環境で動作する。なお、ルータミドルウェア環境は、前記オペレーティングシステムがバーチャルマシンとして提供する環境である。以下、図10に示された各機能について個別に説明する。
【0058】
攻撃元判断機能部は、攻撃元検索モジュールが検索した攻撃元候補から攻撃防御モジュール(移動型パケットフィルタリングモジュール)を送り込むルータを抽出する機能を有する。この攻撃元判断機能部は、図4に示したステップS012の処理を行う。
【0059】
攻撃元検索モジュールは、攻撃元に最も近いルータのアドレスを検索するために、他のルータに送り込まれるプログラムモジュールである。この攻撃元検索モジュールは、図5および図6に示した処理を行う。
【0060】
攻撃防御モジュール(移動型パケットフィルタリングモジュール)は、攻撃を止めるために攻撃元に近いルータに送り込まれるプログラムモジュールである。この攻撃防御モジュールは、図8に示した処理を行う。
【0061】
攻撃元ルータ情報受信部は、上位ルータ上で稼動する攻撃元検索モジュールから検索結果の攻撃元ルータの情報を受信する機能を有する。この攻撃元ルータの情報は、図6のステップS114の処理において上位側のルータから送信されてくる情報である。
【0062】
攻撃元アドレス管理部は、上記攻撃元ルータ情報受信部が攻撃元検索モジュールから受信したアドレス、つまり攻撃防御モジュールの送信先ルータのアドレスを保存し管理する機能を有する。
【0063】
攻撃情報管理部は、分散型DoS攻撃の情報を管理する機能である。
【0064】
トラフィック監視機能部は、ルータを通過するトラフィックを監視し、分散型DoS攻撃を検出する機能を有する。このトラフィック監視機能部は、図3に示したステップS002およびS007の判断を行う。
【0065】
モジュール複製機能部は、攻撃元検索モジュールや攻撃防御モジュールを複製する機能を有する。
【0066】
隣接ルータデータベースは、本発明の技術を適用したルータであってネットワークトポロジーの上で当該ルータに隣接するルータの情報を格納するデータベースである。
【0067】
攻撃元ルータ情報受信部は、上位ルータ上で稼動する攻撃元検索モジュールから検索結果の攻撃元ルータの情報を受信する機能を有する。
【0068】
モジュール送信部は、攻撃元検索モジュールや攻撃防御モジュールを他のルータへ送信する機能を有する。
【0069】
攻撃防御機能部は、攻撃パケットを破棄する機能を有する。
【0070】
攻撃元アドレス整理部は、上位のルータから受信した最適防衛位置に関するアドレス情報を整理する機能を有する。つまり、この攻撃元アドレス整理部が、図7に示したようにアドレスの冗長性を整理する処理を行う。
【0071】
図11は、攻撃元検索モジュールのさらに詳細な構成を示す構成図である。図示するように、攻撃元検索モジュールは、隣接ルータ検査機能部と、トラフィック検査機能部と、攻撃通知機能部と、自己消滅機能部の各機能部を備え、攻撃パケット情報と最上位ルータ候補の情報を保持することができる。
【0072】
隣接ルータ検査機能部は、ルータが具備する隣接ルータデータベースから、上位ルータとしての検査対象を抽出する機能を有する。
【0073】
トラフィック検査機能部は、ルータを通過中のトラフィックと攻撃パケット情報とを比較して、攻撃パケットがルータを通過中であることを検知した場合には、上位ルータを最上位ルータ候補として記録する機能を有する。
【0074】
攻撃通知機能部は、攻撃元の検索を終わった後に複製元の攻撃検索モジュールへ最上位ルータ候補のアドレスを通知する機能と、攻撃元の検索中に攻撃が行われていなかった場合には攻撃が行われていない旨を通知する機能を有する。
【0075】
自己消滅機能部は、攻撃元検索モジュールが不必要になった時点で攻撃元検索モジュール自身をルータ上から消去する機能を有する。
【0076】
攻撃パケット情報は、分散型DoS攻撃の攻撃元候補の一つを保持している。また、最上位ルータ候補は、攻撃元の最上位ルータの候補の情報を保持している。
【0077】
図12は、攻撃防御モジュールのさらに詳細な構成を示す構成図である。図示するように、攻撃防御モジュールは、攻撃防御機能部と、攻撃トラフィック監視機能部と、自己消滅機能部の各機能部を備え、攻撃パケット情報を保持することができる。
【0078】
攻撃防御機能部は、攻撃パケットを破棄する機能を有する。攻撃トラフィック監視機能部は、攻撃が継続中か否かを監視する。自己消滅機能部は、攻撃が中断した場合には攻撃防御モジュール自身をルータ上から消滅させる機能を有する。
【0079】
以上、本実施形態の理解を助けるために要約すると、パケットフィルタリングを行う装置が一つのルータやルータ設置箇所に限定されず、前記パケットフィルタリングのプログラムは、分散型DoS攻撃を防ぐのに最適な位置に存在するルータに移動する。この移動先になる最適な位置を検出するために、パケットフィルタリングのプログラムは、公知技術であるCenter Trackなどの既存の追跡技術を利用し、分散型DoS攻撃の攻撃元に向かって自分自身のプログラムを移動させる。
【0080】
本発明では、パケットフィルタリングのプログラムの複製を作成し、その複製を様々な位置に存在するルータに移動させることもできる仕組みも含まれる。この仕組みは、複数箇所から同時に攻撃してくる分散型DoS攻撃の各攻撃元でパケットフィルタリングを動作させることによって、分散型DoS攻撃を防御することに利用する。本発明に基づくシステムでは、パケットフィルタリング機能は、最初は防御対象であるローカルエリアネットワークがインターネットに接続される境界に存在するルータにインストールされ、分散型DoS攻撃を検知した時に、分散型DoS攻撃の複数の攻撃元各々に近いルータに複製を移動させる。移動先は、できるだけ攻撃元に近いルータを目指すため、攻撃元の端末が接続されているローカルエリアネットワークがインターネットに接続されている境界に存在するルータが一番効果的ではあるが、必ずしもその境界に存在するルータである必要はない。
【0081】
また、複製されたパケットフィルタリング機能には、自分自身の移動履歴、フィルタリングしたパケットの履歴を保存し、それを複製元に送信する機能を有する。
【0082】
さらに、複製されたパケットフィルタリング機能には、自分自身を消去する機能も有する。これは、複製されたパケットフィルタリングが防御していた攻撃が終了してからある一定の時間が過ぎた場合にルータから自分自身の機能を消去するという動作や、複製されたパケットフィルタリングがインストールされているルータの方針によって消去されるという動作になる。
【0083】
以上、本実施形態によれば、送信元アドレスを詐称したパケットによる分散型DoS攻撃を防御する際に、送信元アドレスの詐称の如何に関わらず、攻撃を防御できる分散サービス不能攻撃の防止方法および装置を提供できる。
【0084】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。前記の第1の実施形態は攻撃元検索モジュールが全ての攻撃情報を保持して移動する形態であったが、この第2の実施形態では、攻撃元検索モジュールはひとつの攻撃元情報だけを保持して移動するという特徴がある。
【0085】
図13および図14は、本実施形態による移動型パケットフィルタリングの処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【0086】
図13のステップS201からS203までの処理は、図3に示したステップS001からS003までの処理と同様である。また、ステップS204からS206までの処理およびステップS207の処理も、図3に示したステップS004からS006までの処理およびステップS007の処理とそれぞれ同様である。
【0087】
図14のステップS208からS209までの処理は、図4に示したステップS008からS009までの処理と同様である。ステップS210では、攻撃元アドレス管理部から新たな攻撃元のアドレスを1つ抽出する。そして、ステップS211において、全てのアドレスの処理を終了したと判断した場合は、全体の処理を終了する。また、ステップS212からS216までにおいては、ステップS210で抽出した攻撃元アドレスに関して、図4に示したステップS010からS014までと同様の処理を実行する。そして、ステップS210に戻って次の攻撃元アドレスの処理を抽出する。
【0088】
なお、この第2の実施形態において、上位ルータに対して送信される攻撃元検索モジュールと攻撃防御モジュールの処理の手順は、前述の第1の実施形態におけるそれらと同様のものである。
【0089】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。前記の第1および第2の実施形態は、攻撃元検索モジュールと攻撃防御モジュールとが別個のモジュールであったが、この第3の実施形態では、攻撃元検索モジュールの機能と攻撃防御モジュールの機能とが一体となったモジュール(以下では、便宜上「攻撃防御モジュールB」と呼ぶ)を用いるという特徴がある。
【0090】
図15および図16は、本実施形態による移動型パケットフィルタリングの処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【0091】
図15のステップS301からS303までの処理は、図3に示したステップS001からS003までの処理と同様である。また、ステップS304からS306までの処理およびステップS307の処理も、図3に示したステップS004からS006までの処理およびステップS007の処理とそれぞれ同様である。
【0092】
図16のステップS308からS309までの処理は、図4に示したステップS008からS009までの処理と同様である。ステップS310では、ステップS309で得られた全ての上位ルータに対して、攻撃パケットの情報を保持した前記攻撃防御モジュールBを送信する。そして、ステップS311においては、送信先の上位ルータにおいて前記攻撃防御モジュールBの処理が実行される。つまり、上位ルータにおいて攻撃防御が行われるとともに、さらに上位のルータの検索が行われ、再帰的にさらに上位のルータに対して当該モジュールが送信される。
【0093】
図17は、本実施形態による攻撃防御モジュールBの処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【0094】
図17のステップS401において、送信された攻撃防御モジュールBが上位ルータヘ到着する。ステップS402では、攻撃防御モジュールBが保持している攻撃パケット情報を使い、当該ルータを攻撃パケットが通過しているか否かを検査し、その検査結果に応じて、通過していた場合にはステップS403へ進み、通過していなかった場合にはステップS411で攻撃防御モジュールB自身を当該ルータから消滅させて処理を終了する。
【0095】
ステップS403では、新しいプロセスを生成し、攻撃パケットの破棄と上位ルータの検索とを並行して行えるようにする。
【0096】
ステップS403において分岐(fork)した第1のプロセスは、ステップS404からS406までにおいて、攻撃が停止されるまで攻撃パケットを破棄し、自プロセスを消滅させて処理を終了する。なお、ステップS404からS406までの処理は、図3に示したステップS004からS006までの処理と同様である。
【0097】
ステップS403において分岐(fork)した第2のプロセスは、ステップS407からS410までの処理を行う。なお、ステップS407からS410までの処理は、図16に示したステップS308からS311までの処理と同様である。その後、ステップS411において自プロセスを消滅させて処理を終了する。
【0098】
つまり、攻撃防御モジュールBは、再帰的に上位ルータを検索し、その上位ルータに対して攻撃防御モジュールB自身を送信し、送信先の上位ルータにおいてさらに攻撃防御モジュールBの処理が実行される。そして、攻撃元に最も近い最上位ルータにおいてこの再帰が停止し、この最上位ルータでは攻撃が停止されるまで攻撃パケットの破棄が続けられることとなる。
【0099】
図18は、攻撃元を検索する機能と攻撃を防御する機能の両方を有する前記攻撃防御モジュールBの構成を示す構成図である。図示するように、攻撃防御モジュールBは、隣接ルータ検査機能部と、トラフィック検査機能部と、攻撃防御機能部と、攻撃トラフィック監視機能部と、自己消滅機能部の各機能部を備え、攻撃パケット情報を記憶できるようになっている。
【0100】
これらのうち、隣接ルータ検査機能部と、トラフィック検査機能部と、自己消滅機能部とは、第1の実施形態における攻撃元検索モジュールの構成として図11に示した同一名称の各機能部と同様のものである。また、攻撃防御機能部は、同じく図12に示した攻撃防御機能部と同様のものである。
【0101】
<ネットワークの中継ノード(ルータ)上での各種機能の実行方法>
前記第1から第3までの実施形態においては、ルータからルータへプログラムモジュールを転送し、受信側のルータでそのプログラムモジュールを実行し、中継ノードを通過する通信データに対する処理を行うことができることを前提としていた。ここでは、そのようなプログラムモジュールの転送および実行の方法について説明する。
【0102】
近年、インターネットの利用が様々な方面に拡大するにしたがって、ネットワークノードがパケットを転送するだけでは、利用者の様々なニーズに応えることは既にできなくなってきている。また、各種のネットワーク機器製造者は、例えばマルチキャストやRSVP(Resource Reservation Protocol)といった新しいサービスを、ネットワーク機器のファームウェアをアップグレードすることによって実現してきた。
【0103】
一方、アクティブネットワーク技術とよばれるものは、ネットワークの中継ノードにプログラムの実行環境を提供することと、その実行環境の上で標準化された機能モジュールを実行させることによって、新しいネットワークサービスを迅速に開発できるようにすることを目標としている。従来のネットワークでは、通信端末はIPパケットの送信元、あるいは送信先アドレス以外には、ほとんどオプションを指定することはできないが、このアクティブネットワークでは、送信元の通信端末から送出されたパケットが、送信先の通信端末に到達する前にどのような処理をするのかという指定ができる。アクティブネットワークの方式は以下の3点に分けられる。
【0104】
第1にアクティブパケット方式がある。このアクティブパケット方式は、パケットに小規模なプログラムを埋め込む方式である。このプログラムは、中継ノードにて取り出され実行される。第2は、アクティブノード方式である。このアクティブノード方式は、中継ノードにプログラムを事前にインストールしておく方法である。事前に定義したサービスを識別するIDをパケットに付加することによって、中継ノードで実行されるプログラムを指定する。第3のアクティブパケット・ノードは、前記第1と第2の方式を組み合わせた方式で、両者の利点が組み合わさっている。これら3種類の方式は、ANEP(Active Network Encapsulation Protocol)ヘッダのような新しいヘッダ方式を利用することが求められる。
【0105】
上述した、マルチキャストやRSVPといった新しいサービスは、ネットワーク機器のファームウェアをアップグレードすることによって実現してきたが、この方法には、コストがかさむ上にサービス開発に期間を要する、さらに、異なるハードウェア毎にソフトウェアを開発しなければならない、といった問題点がある。
【0106】
また、上述のアクティブネットワークの3方式は、いずれもデータを送信する端末からパケットが送出される前に、パケットにプログラムを埋め込む、または予め定義したサービスIDを付加するなど、従来のIPパケットには無かった送信データに対して処理を行う指示を与えるための情報を付加することが必要である。これらを実現するためには、データを送出する端末のアプリケーション、またはIPパケットの処理プログラムなどで、情報をパケットに付加する処理を行う。このため、通信端末上のアプリケーションやIPパケットの処理プログラムを変更しなければならないという問題があり、コスト的にも負担が強いられるものであった。
【0107】
本発明においては、中継ノードの機種に制限されることなくサービスモジュールが移動することができるようになり、また、中継ノードにインストールされているサービスモジュールを利用するために、コンピュータなどの通信端末にインストールされているソフトウェアを変更する必要がなくない、ネットワーク通信機器でプログラムを動作させることができるように、以下に述べるような手段を提供している。
【0108】
すなわち、この発明で用いるのネットワーク通信機器でプログラムを動作させる方法及び装置は、ネットワークに配置された中継ノードに動的にプログラムをインストールするためのプラットフォーム手段と、前記インストールされたプログラムに対してアプリケーションインターフェイスを提供する手段と、前記プログラムが動作する際には、前記中継ノードに送られてきたパケットが前記プログラムの処理対象であればプログラムに対してパケットを引き渡す手段と、前記処理が終わった後にパケットを送出する手段とを具備する。
【0109】
このネットワーク通信機器でプログラムを動作させる技術について、図面を用いてさらに詳細な実施方法を用いて説明する。
【0110】
図19は、システムの概略構成を示す構成図である。図19に示すように、通信端末1と7が、通信ネットワーク5にて接続されており、ルータ、ATM(Asynchronous Transfer Mode)スイッチおよびIPパケットを転送する能力を持つコンピュータの3種類の機能を統合して備えているネットワークの中継ノード2、4および6によって接続されている。モジュールサーバ3は、サービスモジュールの開発者(図示せず)から送られてくる新しいモジュールを受信し、このモジュールと一緒に送られてくる電子署名によって開発者の認証を行う。このようにコンピュータシステムが使うハードウェアシステムとシステムソフトウェア(プラットフォーム)が配置されている。
【0111】
次に、図20は、上述したモジュールサーバ3の構成を示す構成図である。サービスモジュール受信部11は、あらかじめ登録されている認定開発者のデータベース12の情報を使い、受信したサービスモジュールに付加されている電子署名を検査することによって、開発者の認証を行う。その後に、サービスモジュール受信部11は、受信したサービスモジュールが、インターフェイスとセキュリティの要求条件を満たしていることを検査する。そして、検査が済んだモジュールは、サービスモジュールデータベース13に保存される。この保存されたサービスモジュールの名称およびサービス概要は、サービスメニュー14に表示されるようになる。このプライベートサービスメニュー14は、ネットワークの利用者がネットワーク経由で見ることができ、エンドユーザはメニューの内容を見てサービスを要求する。要求を受け取るとユーザデータベース17の内容を検査し、要求を送信してきたネットワーク利用者が要求する権限があることが確認されると、サービスモジュールインジェクタ15は、ネットワーク利用者から要求されたサービスモジュールをネットワーク中継ノードに転送する。このとき、サービスマネージャ16は、サービスモジュールを転送した先を記録し、その後にサービスモジュールが他の中継ノードに移動した場合は移動先の情報をサービスモジュールから受け取り、サービスモジュールが動作中かといった状態の情報もサービスモジュールから受け取り管理する。
【0112】
次に、図21は、本発明を実装したネットワーク中継ノード(ルータ)の概要を表しており、また図22は、前記中継ノード内のノードカーネルおよび実行エンジンの機能を示す表図である。なお、このノードカーネルと実行エンジンとは、図9に示したOSを構成する機能である。
【0113】
図21に示すように、ノードカーネル20は、前記中継ノードに実装された本システムの起動/終了、また、中継ノードに実装されている機器と本システムとの入出力管理、パケットフィルタリングやトラフィックデータのスケジュール管理やソケット処理やルーティングテーブルの操作といった中継ノードのメーカ毎に異なる処理に対するインターフェイスを提供し、実行エンジン21やサービスモジュール22は、前記ノードカーネル20に対してパケットフィルタリングなどの処理を要求すると、このノードカーネル20がその処理を仲介する。さらに、ノードカーネル20は、IPパケットが中継ノードに転送されてきた時に、この中継ノードにインストールされているサービスモジュール22が処理するべきパケットであれば、実行エンジン21を経由してサービスモジュール22にパケットを振り分ける。一方、前記中継ノードにインストールされているサービスモジュール22が処理するべきパケットでなければ、そのまま通常のIPパケットとして処理し転送する。このときのどのパケットを処理するかという情報は、モジュールサーバ3(図19参照)からサービスモジュール22と共に送られてくる。
【0114】
また、実行エンジン21は、新規のサービスモジュール22がモジュールサーバ3から送られていることを常時待機しており、サービスモジュール22の処理を開始すると処理の状態を監視し、必要に応じてその状態の情報を前記モジュールサーバ3に送信する。
【0115】
次に、図23は、前記中継ノードが受信したパケットを、本発明に基づいてどのように処理するのかを表したフローチャートである。まず、ステップS1001で、ある中継ノードが隣接する中継ノードなどからIPパケットを受信する。次に、S1002に進み、この受信したパケットの送信元アドレスまたは送信先アドレスが、前記中継ノードにインストールされているサービスモジュールのいずれかが処理すべき対象になっているか否かを調べる。送信元アドレスまたは送信先アドレスがサービスモジュールの処理すべき対象アドレスとして指定されている場合は、S1003に進み、処理すべき対象として指定しているサービスモジュール22(図21参照)にパケットを引渡し、前記サービスモジュール22が処理を行う。また、処理すべき対象となっていないパケットの場合は、S1004に進み、通常のIPパケットとして、送信先アドレスにIPパケットが到達するように、ルーティングテーブルなどを参照して転送処理を行う。なお、前記S1002の判断条件は、IPパケットの送信先または送信元アドレスという態様を示したが、その条件だけに限らず、サービスモジュール22が条件を自由に設定することができる。
【0116】
次に、図24は、前記サービスモジュール22(図21参照)をモジュールサーバ3(図19参照)に送信する手順を示しているフローチャートである。まずS1011では、前記サービスモジュール22の開発者からサービスモジュール22の送信要求と共にサービスモジュール22のプログラム、開発者の電子署名を受信する。次に、S1012に進み、前記電子署名の有無を検査し、付加されている場合はさらにS1013に進み、前記開発者が事前に登録されているか否かを検査し、登録されている場合はS1014に進み、前記サービスモジュール22のプログラムが要求条件を満たしているか否かの検査を行う。また、S1012,S1013およびS1014の条件は、どれか一つでもが満たされない場合には、S1015に進み、サービスモジュール22の受信を拒否し処理を終了する。全ての条件が満たされた場合は、S1016に進み、サービスモジュール22をデータベースに登録し、サービスメニューの内容を更新する。
【0117】
次に、図25は、ネットワーク利用者からサービスモジュールの要求を受信する手順を示したフローチャートである。まずS1021では、前記ネットワーク利用者からのサービスモジュール22(図21参照)の要求を受信する。そして、S1022に進み、前記要求と共に送られてきたネットワーク利用者の情報から、要求を送信してきたネットワーク利用者が正規の利用者であることを確認する。もし正規の利用者であれば、S1023に進み、前記ネットワーク利用者から受信した要求に含まれるサービスモジュール22がモジュールサーバ3(図19参照)に保存されているか、ネットワーク利用者が要求できる権限を持っているサービスモジュール22なのかといったネットワーク利用者の要求したサービスモジュール22に対する正当性の検査を行う。前記S1022またはS1023でいずれか一方の条件が満たされない場合、S1024に進みエラーメッセージを表示して処理を終了する。
【0118】
次にS1025に進み、前記ネットワーク利用者の情報をモジュールサーバ3に保存されているユーザデータベースから収集する。続いてS1026に進み、前記利用者の情報に含まれるサービスモジュール22を要求してきたネットワーク利用者の接続しているネットワークに関する情報から、要求されたサービスモジュール22が処理できるパケットを定義する。さらに、S1027に進み、前記S1025で収集したサービスモジュール22を要求してきたネットワーク利用者が接続するネットワークに関する情報から、前記ネットワークがインターネットに接続している境界に存在する中継ノードを導き出し、その導き出した境界に存在する中継ノードにサービスモジュール22を転送して、終了する。
【0119】
次に、図26は、サービスモジュール22の論理構造を示している。プライベートサービスモジュールの行動を管理するために、ここでは、中継ノードにサービスモジュール22をインストールする前に7種類の属性を付加する。この7種類の属性とは、サービスID、オーナID、インストール時間、開発者ID、モジュールサーバIPアドレス、複製情報、処理対象である。前記複製情報と処理対象は、以下で詳しく説明する。
【0120】
前記サービスモジュールは、元々インストールされている中継ノードから移動することができ、場合によっては、前記サービスモジュールが複製を作成して複数の中継ノードで処理を行うことも可能である。このように複製したサービスモジュールを見分けるために、モジュールサーバから中継ノードにインストールされたサービスモジュールをオリジナルとし、このインストールされたサービスモジュール以外の複製が他の中継ノードに作成されたときには、複製されたサービスモジュールとし、それぞれを区別する情報を複製情報としてサービスモジュールは保持する。この処理対象は、ネットワーク利用者がモジュールサーバに、サービスモジュールを要求した時点で生成される。また、前記モジュールサーバは、ユーザ情報のデータベースを調べ、サービスモジュールが処理対象として良いパケットをIPアドレスなどによって決定する。そして、処理対象として許可するのは、サービスモジュールを要求したエンドユーザが送信元または送信先になっているデータであり、IPアドレス以外の情報を用いて識別することもできる。
【0121】
前記ネットワーク利用者は、サービスモジュールをメニューから選んで要求する。この際に、要求するサービスモジュールを指定するサービスIDの他に、前記サービスモジュールの初期状態を指定するパラメータも同時にモジュールサーバに送信することができる。この場合、初期設定が終了すると、サービスモジュールは中継ノードにインストールされる。このインストールされる中継ノードは、特に指定が無い場合は、前記サービスモジュールを要求したネットワーク利用者が属しているネットワークに一番近いノードになる。そして、前記サービスモジュールは、中継ノードにインストールされると、他の条件を待たずに、パケットの処理、他の中継ノードへの移動、複製の作成などを開始できるが、どのような処理を行うのかは、サービスモジュールにサービスモジュールの開発者がプログラムしてあるアルゴリズムとネットワーク利用者が初期値として指定したパラメータに依存する。
【0122】
前記サービスモジュールには、セキュリティの観点から実行に関する以下の制限を加える。第1は、使用制限である。この使用制限は、ある特定の時点で使用できるサービスの数であり、サービスモジュールは処理を終了すると直ちに中継ノードから消え去るようにもできる。また、利用中のサービスモジュールの数が制限に達すると、それ以上は新規のサービスを実行することはできず、モジュールサーバ内のサービスモジュールマネージャが、全てのユーザの使用中のサービス数を監視するものである。
【0123】
第2は、複製モジュールである。この複製モジュールは、複製元のモジュールが存在しなくなると、自動的に存在できなくなる。そして、複製元のモジュールが無くなると、モジュールサーバによって複製モジュールも消去される。また、複製モジュールが一定時間以上パケットの処理を行わないと、実行エンジンによって消去される。すなわち、複製モジュールが処理を続けるためには、パケットを受信しつづける必要がある。
【0124】
第3は、サービスモジュールである。このサービスモジュールは、自分自身に設定されている終了条件に達したとき、またはそのサービスモジュールを要求したネットワーク利用者がモジュールサーバを経由して明示的に終了の指示を伝えてきたときにだけ終了する。この条件は全てのサービスモジュールに適用される。
【0125】
第4は、処理対象パケットである。サービスモジュールが処理できるパケットには制限があり、前記サービスモジュールは、そのサービスモジュールを要求したネットワーク利用者が属するネットワークに所属する通信端末が送信元、あるいは送信先になっているデータしか処理をすることができないことによる。
【0126】
第5は、処理対象の競合である。上記第4で述べたようにサービスモジュールが処理できるパケットには制限があるが、あるパケットに着目すると、必ず送信元の利用者と送信先の利用者がいることになる。このため、ある中継ノードで、転送されてきたIPパケットの送信元および送信先の両者のネットワーク利用者からサービスモジュールがインストールされていることがありうる。このときは、送信先のサービスモジュールだけがパケットに対して処理をできる権限を与える。
【0127】
第6は、モジュールの競合である。ある中継ノードに同じネットワーク利用者から複数のサービスモジュールがインストールされている場合、最初にインストールされたサービスモジュールだけがIPパケットに対して処理を行うことができる。
【0128】
第7は、パケットの入出力である。前記サービスモジュールは、それ自身が新しいIPパケットを生成することはできない。すなわち、転送されてきたパケット一つに対して、転送するパケットも一つになる。
【0129】
第8は、ロケーション管理である。前記サービスモジュールは複製モジュールも含めて全て中継ノード間を移動することができるため、移動する場合には、新しい中継ノードの場所もモジュールサーバ内のモジュールマネージャに通知する。
このように、前記サービスモジュールには、セキュリティの観点から実行に関する制限を加えている。
【0130】
以上、説明した技術を用いることによって、製造業者が異なる中継ノードで仕様の異なるプログラムインターフェイスを統一した形でサービスモジュールへ提供する実行環境を提供することになり、サービスモジュールがインストールできる中継ノードであれば、その機種に制限されることなくサービスモジュールが移動することができるようになる。また、従来のIPパケットのままでサービスモジュールの処理対象を特定する方法によって、アクティブネットワークなどの従来技術ではパケット自体を改変する必要があったものを不要とした。これによって、中継ノードにインストールされているサービスモジュールを利用するために、コンピュータなどの通信端末にインストールされているソフトウェアを変更する必要がなくなる。
【0131】
なお、上述した各コンピュータプログラムは、コンピュータ読取可能な記録媒体に記録されており、通信装置等に搭載されたCPU(中央処理装置)がこの記録媒体からコンピュータプログラムを読み取って、攻撃防御あるいはサービスモジュール提供等のためも各処理を実行する。また、「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0132】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0133】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0134】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0135】
【発明の効果】
以上説明したように、本発明によれば、通信装置が、分散型サービス不能攻撃を防止するための通信装置であって、当該通信装置を通過する通信パケットを監視し分散型サービス不能攻撃を検出するトラフィック監視機能部と、分散型サービス不能攻撃が検出された際に当該分散型サービス不能攻撃の通信パケットを破棄する攻撃防御モジュールと、攻撃元に近い上位側の通信装置のアドレスを検索する処理を行う攻撃元検索モジュールと、上位側の防御位置の通信装置に対して前記攻撃元検索モジュールを送信するモジュール送信部と、前記攻撃元検索モジュールによって検索された攻撃元に近い上位側の通信装置の候補中から上位側の防御位置とする通信装置を抽出する攻撃元判断機能部とを備え、前記モジュール送信部は、前記攻撃元判断機能部によって抽出された上位側の防御位置の通信装置に対して前記攻撃防御モジュールを送信するため、分散型サービス不能攻撃を検出した際には、検出した通信装置において攻撃の通信パケットを破棄するとともに、より攻撃元に近い上位の通信装置を検索し、その検索の結果得られた上位の通信装置に対して攻撃元検索モジュールを送信し、この上位の通信装置においてこのモジュールを実行することによって当該上位のモジュールを当該攻撃の通信パケットが通過しているかどうかを判断し、通過している場合には、再帰的にさらに上位の通信装置を検索していくことができるので、攻撃元に最も近い最上位の通信装置において攻撃を防御する、すなわち攻撃の通信パケットを破棄することが可能となる。これにより、攻撃の通信パケットによる影響を攻撃元に近い局所に限定することが可能となり、ネットワーク全体への悪影響を抑制することができる。
【0136】
また、例えばインターネットのように、本来攻撃防御の機能を備えていないネットワークであっても、本発明を適用することによって攻撃に対する効果的な防御が可能になる。また本発明を用いた場合、攻撃者が直接接続されているネットワークの管理者が何らかの対処をする必要がなく、攻撃を受けている装置が接続されているネットワーク側の対処によって自動的に防御機能が起動され攻撃を防ぐことができるようになる。
【0137】
また本発明によれば、通信装置が、当該通信装置を通過する通信パケットを監視し分散型サービス不能攻撃を検出するトラフィック監視機能部と、分散型サービス不能攻撃が検出された際に当該分散型サービス不能攻撃の通信パケットを破棄するとともに、攻撃元に近い上位側の通信装置のアドレスを検索する処理を行う攻撃防御モジュールと、上位側の通信装置に対して前記攻撃防御モジュールを送信するモジュール送信部とを備えるため、攻撃元を検索する機能と攻撃を防御する機能とを単一のプログラムモジュールで実現できるとともに、防御のアルゴリズムを単純化することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用できるネットワークの構成図である。
【図2】図1に示したネットワークにおいて行われている分散型DoS攻撃に対する防御方法を示す概略図である。
【図3】本発明の第1の実施形態による移動型パケットフィルタリングの処理手順を示すフローチャートの一部分である。
【図4】本発明の第1の実施形態による移動型パケットフィルタリングの処理手順を示すフローチャートの一部分である。
【図5】本発明の第1の実施形態による攻撃元検索モジュールの処理の手順を示すフローチャートの一部分である。
【図6】本発明の第1の実施形態による攻撃元検索モジュールの処理の手順を示すフローチャートの一部分である。
【図7】本発明の第1の実施形態により攻撃元に近い上位ルータのアドレスの冗長情報を整理する手順を示す概略図である。
【図8】本発明の第1の実施形態による移動型パケットフィルタリングプログラムの処理手順を示すフローチャートである。
【図9】本発明の第1の実施形態によるルータの構成を示す構成図である。
【図10】本発明の第1の実施形態によって分散型DoS攻撃を防止するための機能構成を示す構成図である。
【図11】本発明の第1の実施形態による攻撃元検索モジュールの詳細な構成を示す構成図である。
【図12】本発明の第1の実施形態による攻撃防御モジュールの詳細な構成を示す構成図である。
【図13】本発明の第2の実施形態による移動型パケットフィルタリングの処理の手順を示すフローチャートの一部分である。
【図14】本発明の第2の実施形態による移動型パケットフィルタリングの処理の手順を示すフローチャートの一部分である。
【図15】本発明の第3の実施形態による移動型パケットフィルタリングの処理の手順を示すフローチャートの一部分である。
【図16】本発明の第3の実施形態による移動型パケットフィルタリングの処理の手順を示すフローチャートの一部分である。
【図17】本発明の第3の実施形態による攻撃防御モジュールBの処理の手順を示すフローチャートである。
【図18】本発明の第3の実施形態による攻撃防御モジュールBの構成を示す構成図である。
【図19】本発明の適用対象であるネットワーク通信機器上でプログラムを動作させるためのシステムの概略構成を示す構成図である。
【図20】モジュールサーバの構成を示す構成図である。
【図21】ネットワーク中継ノード(ルータ)の概要を表す概略図である。
【図22】中継ノード内のノードカーネルおよび実行エンジンの機能を示す表図である。
【図23】前記中継ノードが受信したパケットを処理する手順を示すフローチャートである。
【図24】サービスモジュールをモジュールサーバに送信する手順を示すフローチャートである。
【図25】ネットワーク利用者からサービスモジュールの要求を受信する手順を示すフローチャートである。
【図26】サービスモジュールの論理構造を示す概略図である。
【符号の説明】
1 通信端末
2 中継ノード
3 モジュールサーバ
4 中継ノード
5 通信ネットワーク
6 中継ノード
7 通信端末
11 サービスモジュール受信部
12 認定開発者データベース
13 サービスモジュールデータベース
14 サービスメニュー
15 サービスモジュールインジェクタ
16 サービスマネージャ
17 ユーザデータベース
20 ノードカーネル
21 実行エンジン
22 サービスモジュール
101 被攻撃者のサーバ
102 境界ルータ
103,104,106〜111 ルータ(本発明を適用したルータ)
105 ルータ(本発明を適用しないルータ)
112,115,118 正規利用者のコンピュータ
113,114,116,117 DoS攻撃者のホスト
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for preventing a denial of service attack, a device therefor, and a computer program for protecting devices connected to a network from attacks via the network.
[0002]
[Prior art]
Conventionally, network protocols such as Transmission Control Protocol / Internet Protocol (TCP / IP) are open and are designed to be used by mutually trusted groups. For this reason, the computer operating system sends a large amount of communication traffic (data, etc.) to the server, thereby consuming network bandwidth and server resources, thereby preventing a legitimate user from using the service. (Hereinafter referred to as "DoS (Denial of Service) attack") is not considered. Although methods of defense against such DoS attacks are increasing, methods of defense against distributed denial-of-service attacks (DDoS attacks) in which DoS attacks are simultaneously performed from a plurality of locations are not effective yet.
[0003]
As a method of defense against this distributed DoS attack, there are Ingress Filter (RFC2267) proposed by Cisco and Center Track of UUNET. The former is a mechanism for checking for spoofing of a source address, which is often used in a distributed DoS attack. The local area network is installed on a router that is a boundary connected to the Internet, and is transmitted from the local area network to the Internet. Check the legitimacy of the source address of the transmitted packet, and if it does not match the address assigned to the local area network, discard the packet without sending it to the Internet.
[0004]
[Problems to be solved by the invention]
This technology is a technology for prohibiting a distributed DoS attack by spoofing a source address, and is not a technology used by an attacked party to defend. The latter is a technology in which a diagnostic function is added to an Internet router to track the source of a distributed DoS attack. While this technique helps victims to identify the attacker, it does not protect them when they are actually under attack.
[0005]
The Ingress Filter described in the above-mentioned RFC2267 cannot deal with an attack by an IP packet whose source is a correct IP (Internet protocol) address. However, if the router does not have an ingress filter, there is a problem that it is not useful for attack defense at all. In addition, the above-mentioned Center Track makes it difficult to trace when an attacker misrepresents a source address, and furthermore, a computer that is an attack source of distributed DoS distributed in a plurality of locations and a computer connected to the computer. Without contacting the administrator of the network being attacked, the attack itself cannot be stopped, so there is a problem that it takes hours or even days to actually stop the attack.
[0006]
The present invention has been made in view of the above circumstances, and has as its object to protect a distributed DoS attack by a packet whose source address has been spoofed, regardless of whether the source address is spoofed. The present invention provides a distributed denial of service attack prevention apparatus and method capable of protecting a computer, and a computer program therefor.
[0007]
Further, an object of the present invention is to manage a program module to be transmitted to a communication device and realize authentication of a developer or a user of the program module in order to realize the above-mentioned method of preventing a distributed denial of service attack. And a module server capable of improving the reliability of the entire communication system.
[0008]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the present invention relates to a communication device for preventing a distributed denial of service attack, which monitors a communication packet passing through the communication device and detects a distributed denial of service attack. A functional unit, an attack defense module that discards a communication packet of the distributed denial of service attack when the distributed denial of service attack is detected, and an attack that searches for an address of a higher-level communication device close to the attack source. A source search module, a module transmission unit that transmits the attack source search module to the communication device at the upper defense position, and a candidate of a higher communication device close to the attack source searched by the attack source search module. An attack source determining function unit that extracts a communication device to be a higher defense position from the attack source determining unit; and the module transmitting unit includes the attack source determining function unit. Thus the gist of the communication device, characterized in that on the extracted communication apparatus defense position of the upper side is to transmit the attack protection module.
[0009]
Further, in the communication device of the present invention, the module transmitting unit, together with the attack source search module, transmits attack packet information relating to a communication packet detected as a distributed denial of service attack by the traffic monitoring function unit to the upper side. The attack source search module compares the attack packet information received from the module transmission unit with a communication packet passing through the communication device, and transmits the attack packet information to the attack source search module. If it is detected that the corresponding communication packet is passing through the communication device, it is determined that the communication device itself is a candidate for the communication device at the defense position. Attack source search module It is characterized in that a traffic inspection function unit for notifying the communication device of the transmission source is included.
[0010]
Further, in the communication device of the present invention, the attack defense module includes an attack traffic monitoring function unit that monitors whether the attack is ongoing, and an attack traffic monitoring function unit that determines that the attack is interrupted. Is characterized by including a self-destruction function unit that deactivates the attack defense module itself from the communication device that is executing the process.
[0011]
Further, the communication system of the present invention is the communication device described above, a module server that transmits a program module to the communication device, a program module database that stores a program module installed in the communication device, A developer database that manages developers of program modules that can request storage of program modules; a user database that manages users who can request to install the program modules in the communication device; and the stored program modules. A service menu displayed to the user as a menu, and a service manager for authenticating the authority of the user if the user requests to install the program module displayed in the service menu. If, when it is confirmed the authentication is characterized in that consisting of a module server and a service module injector to be transmitted to the communication device the program modules.
[0012]
The communication device of the present invention further includes a traffic monitoring function unit that monitors a communication packet passing through the communication device and detects a distributed denial of service attack, and includes a distributed denial of service when the distributed denial of service attack is detected. An attack defense module for discarding the communication packet of the attack and searching for an address of a higher-level communication device close to the attack source; and a module transmission unit for transmitting the attack protection module to the higher-level communication device. It is characterized by having.
[0013]
Further, in the communication device of the present invention, the module transmitting unit transmits the attack packet information on the communication packet detected by the traffic monitoring function unit as a distributed denial of service attack together with the attack defense module to the upper-layer communication. The attack defense module compares the attack packet information received from the module transmission unit with a communication packet passing through the communication device, and corresponds to the attack packet information. A traffic inspection function unit for detecting that a communication packet is passing through the communication device is included.
[0014]
Further, in the communication device of the present invention, the attack defense module includes an attack traffic monitoring function unit that monitors whether the attack is ongoing, and an attack traffic monitoring function unit that determines that the attack is interrupted. Is characterized by including a self-destruction function unit that deactivates the attack defense module itself from the communication device that is executing the process.
[0015]
Further, the communication system of the present invention is the communication device described above, a module server that transmits a program module to the communication device, a program module database that stores a program module installed in the communication device, A developer database that manages developers of program modules that can request storage of program modules; a user database that manages users who can request to install the program modules in the communication device; and the stored program modules. A service menu displayed to the user as a menu, and a service manager for authenticating the authority of the user if the user requests to install the program module displayed in the service menu. If, when it is confirmed the authentication is characterized in that consisting of a module server and a service module injector to be transmitted to the communication device the program modules.
[0016]
Further, the method for preventing a denial of service attack of the present invention, when detecting a distributed denial of service attack in the communication device, discards the communication packet of the distributed denial of service attack in the communication device, and detects the detected distributed denial of service attack. A search is performed for a higher-level communication device that is closer to the attack source of the attack, a program module is transmitted to the higher-level communication device obtained as a result of the search, and the program is transmitted to the higher-level communication device that has received the program module. By executing the module, the process of discarding the communication packet of the distributed denial of service attack, the process of searching for the communication service of the upper side, and transmitting the program module to the communication device of the upper side Recursively until it reaches the highest communication device closest to the attack source. It was carried out, and is characterized in that to discard the communication packet of the distributed denial of service in a communication device of the highest level.
[0017]
Further, in the method for preventing a denial of service attack of the present invention, when transmitting the program module to a higher-level communication device, the program module and the communication module related to the communication packet detected as a distributed denial of service attack are transmitted together with the program module. The communication device that transmits the attack packet information to the upper communication device, and the communication device that receives the program module and the attack packet information executes the program module to execute the attack packet information and the communication device. If it is detected that the communication packet corresponding to the attack packet information is passing through the communication device by comparing the communication packet passing through the communication device, the communication device itself is determined as a candidate for the communication device at the defense position. That there is Attack source search module The transmission source communication device is notified.
[0018]
In the method for preventing a denial of service attack according to the present invention, the higher-level communication device that has received the program module executes the program module to monitor whether the attack is ongoing and to determine whether the attack is ongoing. If it is determined that the program module has been interrupted, the program module itself is deleted from the communication device.
[0019]
Further, the recording medium of the present invention is a computer readable recording medium which records a computer program executed on a communication device to prevent a distributed denial of service attack, and monitors a communication packet passing through the communication device. Performing a process of continuously discarding the communication packet of the denial of service attack when the communication packet of the denial of service attack is detected by this monitoring; and A step of determining whether or not there is, and in the case of a distributed denial-of-service attack, a higher-level communication device close to the attack source is extracted by referring to the database, and these higher-level communication devices are Sends an attack source search module to search for the attack source, and sends information on the defense position from the destination communication device. And Shin is a record of the computer program for executing the processes of the step of transmitting the attack protection module for protecting an attack on the upper side of the communication device to the computer based on the information of the protection position.
[0020]
Further, the recording medium of the present invention records a computer program for attack source search transmitted from a lower communication device to a higher communication device and executed on the higher communication device in order to prevent a distributed denial of service attack. A computer-readable recording medium that compares a communication packet passing through the communication device with attack packet information related to a denial of service attack, and determines whether the communication packet of the denial of service attack passes through the communication device. Inspecting whether or not the communication result of the denial-of-service attack has passed through the communication device; and
a) when there is no higher-level communication device closer to the attack source than the own communication device itself, the communication device itself is notified to the lower-level communication device as the highest-order communication device;
b) The case where there is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If no notification that the communication packet of the denial of service attack has passed does not come, the self communication device itself is notified to the lower communication device as the highest communication device,
c) There is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If at least one notification that a communication packet of a denial of service attack has passed is received, the own communication device itself is not set as the highest communication device,
And a computer program for causing a computer to execute each of the steps a) to c).
[0021]
Further, the recording medium of the present invention is a computer-readable recording medium recording a computer program for attack prevention executed on a communication device in order to prevent a distributed denial of service attack, which passes through the communication device. The communication packet is compared with the attack packet information on the denial of service attack to check whether the communication packet of the denial of service attack has passed through the communication device. ,
a) performing a process of continuously discarding communication packets of the denial of service attack;
b) extracting a higher-level communication device closer to the attack source by referring to the database;
c) transmitting the attack defense computer program itself to the extracted upper communication device;
A) recording a computer program for causing a computer to execute each of the processes a) to c).
[0022]
The present invention is also a computer program executed on a communication device to prevent a distributed denial of service attack, comprising the steps of: monitoring a communication packet passing through the communication device; When detecting a communication packet, performing a process of continuously discarding the communication packet of the denial of service attack; and determining whether the denial of service attack is a distributed denial of service attack, In the case of a distributed denial of service attack, an attack for extracting higher-level communication devices close to the attack source by referring to the database and searching for the higher-level communication devices for these higher-level communication devices The source search module is transmitted, the information of the defense position is received from the communication device of the transmission destination, and the upper-layer communication is performed based on the information of the defense position. It is intended to execute the process in the step of transmitting the attack protection module for protecting an attack on location to the computer.
[0023]
Further, the present invention is a computer program for attack source search transmitted from a lower communication device to a higher communication device and executed on the higher communication device in order to prevent a distributed denial of service attack, A communication packet passing through the communication device is compared with attack packet information related to the denial of service attack to check whether a communication packet of the denial of service attack is passing through the communication device. Notifying the communication device of the above, and as a result of this inspection, if the communication packet of the denial of service attack has passed through the communication device,
a) when there is no higher-level communication device closer to the attack source than the own communication device itself, the communication device itself is notified to the lower-level communication device as the highest-order communication device;
b) The case where there is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If no notification that the communication packet of the denial of service attack has passed does not come, the self communication device itself is notified to the lower communication device as the highest communication device,
c) There is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If at least one notification that a communication packet of a denial of service attack has passed is received, the own communication device itself is not set as the highest communication device,
A) to execute any one of the steps a) to c).
[0024]
Further, the present invention is an attack defense computer program executed on a communication device to prevent a distributed denial of service attack, comprising: a communication packet passing through the communication device; attack packet information on a denial of service attack; To determine whether the communication packet of the denial of service attack has passed through the communication device. If the check result indicates that the communication packet has passed,
a) performing a process of continuously discarding communication packets of the denial of service attack;
b) extracting a higher-level communication device closer to the attack source by referring to the database;
c) transmitting the attack defense computer program itself to the extracted upper communication device;
A) to c) are executed by a computer.
[0029]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. The following embodiments do not limit the interpretation of the claims of the present invention. In addition, it is not always essential to combine all the features described in the following embodiments to achieve the above object.
[0030]
<First embodiment>
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a configuration diagram of a network to which the present invention can be applied. The hosts 113, 114, 116, and 117 operated by the distributed DoS attacker are transmitting attack packets to the attacked server 101. The local area network (LAN) in which the attacker's server 101 is housed is connected to an external network by a border router (communication device) 102. Filtering is installed. Routers (communication devices) 103, 104, 106, 107, 108, 109, 110, and 111 are also routers to which the technology of the present invention is applied, and can receive and execute programs transmitted via a network. Features are provided. Note that the router 105 is a normal router to which the technology of the present invention is not applied.
[0031]
In the network shown in FIG. 1, the distributed DoS attack causes the attack packets to concentrate on the victim-accommodating LAN, causing congestion, thereby consuming the resources of the border router 102. In some cases, it becomes impossible to connect to the server 101 from computers 112, 115, and 118 of legitimate users unrelated to the distributed DoS attacker.
[0032]
Next, FIG. 2 shows a method of defending against a distributed DoS attack performed in the network shown in FIG. In the embodiment of FIG. 2, the mobile packet filtering program of the present invention installed in the border router 102 creates a copy of its own program and moves the copy to the routers 106, 107, 109, 110 by a method described later. Let it. The mobile packet filtering program that has moved to each router prevents all the traffic sent from the distributed DoS attacker's host 113, 114, 116, 117 to the server 101 from passing. As a result, the load on the border router 102 is reduced, the congestion of the LAN accommodating the victim is eliminated, and the server 101 can be accessed from the computers 112, 115, and 118 of regular users other than the distributed DoS attacker. . Thereafter, when an attack on the server 101 from the host 113, 114, 116, 117 of the distributed DoS attacker is completed, the mobile packet filtering program installed in the routers 106, 107, 109, 110 is attacked. The history is transmitted to the copy source mobile packet filtering program installed in the border router 102, and the router itself is deleted from the routers 106, 107, 109, and 110. Further, the mobile packet filtering program of the present invention can be applied to various network forms and communication contents.
[0033]
Next, the processing procedure of mobile packet filtering will be described with reference to the flowcharts of FIGS. In the initial state, this mobile packet filtering is installed in a boundary router (for example, the router 102 in the networks shown in FIGS. 1 and 2) located at a contact point where the network to be protected is connected to another network. ing.
[0034]
In this state, in step S001 shown in FIG. 3, the mobile packet filtering monitors the transferred packet (traffic). Then, in S002, it is determined whether or not the monitoring result is a DoS attack. If a DoS attack is not detected as a result of this determination, the process returns from step S002 to step S001. That is, when a DoS attack is not detected, the monitoring in step S001 and the determination in step S002 are repeated. In step S002, a pattern of DoS attack data can be detected by using a well-known DoS attack detection algorithm.
[0035]
If a DoS attack is detected in step S002, the process proceeds to step S003, and a new process is generated in step S003. The original process and the newly created process can proceed in parallel. The original process returns to step S001 and continues to monitor the received traffic.
[0036]
As described in steps S004 to S006, the first process newly generated in step S003 performs a process of discarding the detected attack packet in the router, and performs packet processing while the attack packet continues. Continue to destroy. If the attack packet has stopped, the packet discarding process ends.
[0037]
In the second process newly generated in step S003, as described in steps S007 to S014, a process for moving the defense position to the upper router is performed. First, in step S007, it is determined whether or not a distributed DoS attack has occurred. The determination as to whether or not this is a distributed DoS attack can be made by a known technique. If the result of this determination is not a distributed DoS attack, the process is terminated as is, and if it is a distributed DoS attack, the flow proceeds to step S008 in FIG.
[0038]
In step S008, a router that can be an upper router is searched for by referring to an adjacent router database included in the router. Here, a router that can be an upper router is a router that is adjacent to the router and that can perform the function of mobile packet filtering to which the present invention is applied. Taking the network shown in FIG. 2 as an example, the neighboring router database provided in the border router 102 stores routers 103, 104, and 111 as possible routers. The routers 103 and 104 are routers adjacent to the border router 102 and perform the function of the mobile packet filtering of the present invention. In addition, since the router 105 is a normal router to which the present invention is not applied, the router 111 that is further ahead on the route from the border router 102 to the router 105 is an upper router of the border router 102. That is, among the routers equipped with the technology of the present invention, information on adjacent routers is stored in the adjacent router database as a network topology.
[0039]
The result of the search in step S008 is determined in step S009, and if no upper router has been searched (NO), the process ends. If the upper router has been found (in the case of YES), the process proceeds to the next step S010. In the example shown in FIG. 2, the upper routers 103, 104, and 111 are searched as neighbor routers of the border router 102, and thus the process proceeds to S010.
[0040]
In step S010, the attack source search module holding the information of the packet of the distributed DoS attack that is the current search target is transmitted to the upper routers 103, 104, and 111 detected above.
[0041]
In step S011, the attack source search module executes the attack source search module on the upper router that has received the above attack source search module, thereby searching the optimum position for defense of the attack. Returned to lower router. If there is an upper router further than the upper router, the attack source search module is transmitted recursively to search for a defense position.
[0042]
In step S012, the original router receives the search result from the upper router, and sorts out the redundant information of the received address. The arrangement of the redundant information will be described later in detail. When the arrangement of the redundant information is completed, in step S013, it is checked whether the received address exists. If it does not exist (in the case of NO), the process ends as it is. If it does exist (in the case of YES), the attack defense module is transferred to the address remaining after the arrangement of the redundant information in step S014, and then The process ends.
[0043]
Next, the processing contents of the attack source search module called in step S011 of FIG. 4 will be described with reference to the flowcharts of FIGS. In step S101 in FIG. 5, the transmitted attack source search module arrives at the upper router. In the example of the network shown in FIG. 2, the modules arrive at the upper routers 103, 104, and 111 from the boundary router 102, respectively. Here, execution of the module that arrives at the router 103 will be described as an example.
[0044]
In step S102, it is checked whether or not the attack packet has passed through the router 103 by using the attack packet information held by the attack source search module, and the result is reported to the transmission source router. In step S103, the inspection result is checked. If the attack packet has not passed (NO), the process proceeds directly to step S112. If the attack packet has passed (YES), the process proceeds to step S104 in FIG.
[0045]
In step S104, it is checked whether the attack defense module can be installed. This check is, for example, a check to check whether various resources for operating the module on the router are sufficient. Then, in step S105, the above-described inspection result is determined. If the installation is possible (in the case of YES), the own address (router 103) is held as a candidate for the highest router address in step S114, and the process proceeds to step S106. move on. If installation is not possible (NO), the process directly proceeds to step S106.
[0046]
In step S106, the adjacent router which can be an upper router is searched for by referring to the adjacent router database included in the own (router 103). For the router 103, the routers 102, 106, 107, and 108 are extracted as adjacent routers.
[0047]
Then, in step S107, it is checked whether or not there is a further upper router among the routers extracted above. Here, since the router 102 is the transmission source of the attack source search module, the routers 106, 107, and 108 are not higher routers of the router 103 but are higher routers. If there is no further upper router (in the case of NO), the process proceeds to S108, and the held highest router candidate is transmitted to the transmission source of the attack source search module. If there is another upper router (in the case of YES), the process proceeds to step S109.
[0048]
In step S109, the attack source search module holding the DoS attack information is duplicated and transmitted to all the detected upper routers, and a response from all of the duplicated attack source search modules is waited for.
[0049]
In step S110, the upper router that has received the attack source search module transmitted in step S109 executes the module to perform the process of searching for the optimal defense position. That is, the upper router is searched recursively.
[0050]
In step S111, the response from the attack source search module that has been duplicated and transmitted is checked. If there is a reply that the attack has passed in one or more search modules (in the case of YES), the process proceeds to step S112. To end the process. On the other hand, if all the replies from the search module indicate that the attack has not passed (NO), the process proceeds to S108, and the held highest-level router candidate is sent to the sender of the attack source search module. Send to
[0051]
The method of organizing the redundant information of the address of the search result described in step S012 in FIG. 4 will be described in detail. FIG. 7 is a schematic diagram showing a procedure for organizing address redundancy information. According to the procedure described above, the mobile packet filtering program detects the router closest to the attack source for each identified attack.
[0052]
A table T001 illustrated in FIG. 7 indicates information collected as a result of the search. In the case of this example, each attack (attack source addresses are “111.11.11.111”, “111.11.11.122”, and “111”) represented in the first to third rows of the table. .111.11.333 "), there is a possibility that the router closest to the attack source (address is" 111.11.111.1 ") may be the same. Such redundant information is edited and consolidated into one in the table T002.
The duplicated mobile packet filtering program is not duplicated by the number of attacks that can be detected from the table T001, but is duplicated by the number of routers detected from T002. It is not sent to the upper router. Also, not all the copied mobile packet filtering programs retain all the collected information as shown in Table T002, but use the mobile packet filtering at the destination where the copy is made to protect against attacks. Only the information to be processed is extracted and stored in an efficient format as shown in T003.
[0053]
Next, a processing procedure of the above-described copied mobile packet filtering program will be described. FIG. 8 is a flowchart showing a processing procedure of the mobile packet filtering program. Hereinafter, description will be given along this flowchart.
[0054]
First, in step S021, upon receiving information that is copied and necessary for defense against an attack, the program is moved (transmitted) toward a router to be installed. Next, the process proceeds to step S022, in which the installed router performs a process of discarding all packets from the attack source to the attack destination. Next, the process proceeds to step S023 to measure the time from the time when the last attack stopped, and if the attack is restarted before the measured time reaches a certain time, the process returns to step S022 to continue the defense and measure. If the time has reached a certain time, the process proceeds to step S024.
[0055]
In step S024, history information (log) on the attack is transmitted to the copy source mobile packet filtering program. Finally, the process proceeds to step S025 to delete its own program from the router, and ends the processing.
[0056]
Next, a configuration for executing the processing procedure described above will be described. FIG. 9 is a configuration diagram illustrating a configuration of the router according to the present embodiment. As shown in the figure, an operating system (OS) runs on the hardware of this router, and the module of the present invention runs on this operating system. The operating system controls activation and termination of the entire system, and provides a packet filtering function, a traffic schedule management function, a socket function, a routing table management function, a relay packet distribution function, and the like.
[0057]
FIG. 10 is a configuration diagram illustrating a functional configuration for preventing a distributed DoS attack according to the present embodiment. As shown in the figure, each function for realizing the present invention operates in an environment on router middleware. The router middleware environment is an environment provided by the operating system as a virtual machine. Hereinafter, each function shown in FIG. 10 will be individually described.
[0058]
The attack source determination function unit has a function of extracting a router to which an attack defense module (mobile packet filtering module) is sent from the attack source candidates searched by the attack source search module. This attack source determining function unit performs the process of step S012 shown in FIG.
[0059]
The attack source search module is a program module sent to another router in order to search for the address of the router closest to the attack source. This attack source search module performs the processing shown in FIGS.
[0060]
The attack defense module (mobile packet filtering module) is a program module sent to a router close to the attack source to stop the attack. This attack defense module performs the processing shown in FIG.
[0061]
The attacking router information receiving unit has a function of receiving information on the attacking router as a search result from the attacking source search module operating on the upper router. The information of the attacking router is information transmitted from the upper router in the process of step S114 in FIG.
[0062]
The attack source address management unit has a function of storing and managing the address received by the attack source router information receiving unit from the attack source search module, that is, the address of the destination router of the attack defense module.
[0063]
The attack information management unit has a function of managing information on distributed DoS attacks.
[0064]
The traffic monitoring function unit has a function of monitoring traffic passing through the router and detecting a distributed DoS attack. The traffic monitoring function unit makes the determination in steps S002 and S007 shown in FIG.
[0065]
The module duplication function unit has a function of duplicating the attack source search module and the attack defense module.
[0066]
The adjacent router database is a database to which the technology of the present invention is applied, and stores information of a router adjacent to the router on a network topology.
[0067]
The attacking router information receiving unit has a function of receiving information on the attacking router as a search result from the attacking source search module operating on the upper router.
[0068]
The module transmission unit has a function of transmitting the attack source search module and the attack defense module to another router.
[0069]
The attack defense function unit has a function of discarding an attack packet.
[0070]
The attack source address organizing unit has a function of organizing the address information on the optimal defense position received from the upper router. That is, the attack source address organizing unit performs a process of organizing the redundancy of the address as shown in FIG.
[0071]
FIG. 11 is a configuration diagram showing a more detailed configuration of the attack source search module. As shown in the figure, the attack source search module includes an adjacent router inspection function unit, a traffic inspection function unit, an attack notification function unit, and a self-destruction function unit. Information can be retained.
[0072]
The adjacent router inspection function unit has a function of extracting an inspection target as an upper router from an adjacent router database provided in the router.
[0073]
The traffic inspection function compares the traffic passing through the router with the attack packet information, and records the upper router as the top router candidate when it detects that the attack packet is passing the router. Having.
[0074]
The attack notification function unit notifies the duplicated attack search module of the address of the top router candidate after the search of the attack source is completed, and the attack is performed if no attack was performed during the search of the attack source. Has the function of notifying that the operation has not been performed.
[0075]
The self-destruction function unit has a function of deleting the attack source search module from the router when the attack source search module becomes unnecessary.
[0076]
The attack packet information holds one of the attack source candidates of the distributed DoS attack. The top router candidate holds information of the top router candidate of the attack source.
[0077]
FIG. 12 is a configuration diagram showing a more detailed configuration of the attack defense module. As shown in the figure, the attack defense module includes each of an attack defense function unit, an attack traffic monitoring function unit, and a self-destruction function unit, and can hold attack packet information.
[0078]
The attack defense function unit has a function of discarding an attack packet. The attack traffic monitoring function unit monitors whether the attack is ongoing. The self-extinguishing function unit has a function of extinguishing the attack defense module itself from the router when the attack is interrupted.
[0079]
In summary, in order to facilitate understanding of the present embodiment, the apparatus for performing packet filtering is not limited to one router or a router installation location, and the packet filtering program is located at an optimal position for preventing a distributed DoS attack. Move to a router that exists. In order to detect the optimal position to be the destination, the packet filtering program uses an existing tracking technology such as a known technology, such as Center Track, and sends its own program to the source of the distributed DoS attack. To move.
[0080]
The present invention also includes a mechanism that can make a copy of a packet filtering program and move the copy to routers located at various locations. This mechanism is used to protect against a distributed DoS attack by operating packet filtering at each source of the distributed DoS attack that simultaneously attacks from a plurality of locations. In the system according to the present invention, the packet filtering function is installed in a router located at the boundary where the local area network to be protected is initially connected to the Internet, and detects a distributed DoS attack when a distributed DoS attack is detected. Move replicas to routers near each of the multiple attack sources. Since the destination is the router that is as close as possible to the attack source, the router that exists on the boundary where the local area network to which the attacking terminal is connected is connected to the Internet is the most effective, but it is not necessarily the boundary It does not need to be a router that exists in
[0081]
The duplicated packet filtering function has a function of storing its own movement history and history of filtered packets and transmitting the same to the duplication source.
[0082]
Further, the copied packet filtering function has a function of deleting itself. This can be done by removing itself from the router after a certain amount of time has passed since the end of the attack that duplicated packet filtering prevented, or by installing duplicated packet filtering. This operation is deleted according to the policy of the existing router.
[0083]
As described above, according to the present embodiment, when defending a distributed DoS attack by a packet whose source address has been spoofed, regardless of whether the source address is spoofed, a method of preventing a distributed denial of service attack that can defend the attack and Equipment can be provided.
[0084]
<Second embodiment>
Next, a second embodiment of the present invention will be described. In the first embodiment described above, the attack source search module moves while holding all the attack information. In the second embodiment, the attack source search module holds only one attack source information. There is a feature that it moves.
[0085]
FIGS. 13 and 14 are flowcharts showing the procedure of the mobile packet filtering process according to the present embodiment. Hereinafter, description will be given along this flowchart.
[0086]
The processing from steps S201 to S203 in FIG. 13 is the same as the processing from steps S001 to S003 shown in FIG. Further, the processing from steps S204 to S206 and the processing in step S207 are also the same as the processing from steps S004 to S006 and the processing in step S007 shown in FIG. 3, respectively.
[0087]
The processing from steps S208 to S209 in FIG. 14 is the same as the processing from steps S008 to S009 shown in FIG. In step S210, one new attack source address is extracted from the attack source address management unit. If it is determined in step S211 that the processing for all addresses has been completed, the entire processing ends. Further, in steps S212 to S216, the same processing as in steps S010 to S014 shown in FIG. 4 is executed for the attack source address extracted in step S210. Then, the process returns to step S210, and the process of the next attack source address is extracted.
[0088]
Note that, in the second embodiment, the processing procedures of the attack source search module and the attack defense module transmitted to the upper router are the same as those in the first embodiment.
[0089]
<Third embodiment>
Next, a third embodiment of the present invention will be described. In the first and second embodiments, the attack source search module and the attack defense module are separate modules. However, in the third embodiment, the function of the attack source search module and the function of the attack defense module are different. (Hereinafter referred to as “attack defense module B” for the sake of convenience).
[0090]
FIGS. 15 and 16 are flowcharts illustrating the procedure of the mobile packet filtering process according to the present embodiment. Hereinafter, description will be given along this flowchart.
[0091]
The processing from steps S301 to S303 in FIG. 15 is the same as the processing from steps S001 to S003 shown in FIG. Further, the processing from steps S304 to S306 and the processing in step S307 are also the same as the processing from steps S004 to S006 and the processing in step S007 shown in FIG. 3, respectively.
[0092]
The processing from steps S308 to S309 in FIG. 16 is the same as the processing from steps S008 to S009 shown in FIG. In step S310, the attack defense module B holding the information of the attack packet is transmitted to all the upper routers obtained in step S309. Then, in step S311, the process of the attack defense module B is executed in the destination upper router. In other words, the attack defense is performed in the upper router, the higher router is searched, and the module is recursively transmitted to the higher router.
[0093]
FIG. 17 is a flowchart illustrating a procedure of processing of the attack defense module B according to the present embodiment. Hereinafter, description will be given along this flowchart.
[0094]
In step S401 in FIG. 17, the transmitted attack defense module B arrives at the upper router. In step S402, it is checked whether or not the attack packet has passed through the router using the attack packet information held by the attack defense module B. If the attack packet has passed, the process proceeds to step S402. Proceeding to S403, if it has not passed, the attack defense module B itself disappears from the router in step S411, and the process ends.
[0095]
In step S403, a new process is generated so that the discard of the attack packet and the search for the upper router can be performed in parallel.
[0096]
The first process forked in step S403 discards the attack packet until the attack is stopped in steps S404 to S406, deletes the own process, and ends the process. The processing from steps S404 to S406 is the same as the processing from steps S004 to S006 shown in FIG.
[0097]
The second process branched (forked) in step S403 performs the processing from steps S407 to S410. Note that the processing from steps S407 to S410 is the same as the processing from steps S308 to S311 shown in FIG. Thereafter, in step S411, the own process is deleted, and the process ends.
[0098]
That is, the attack defense module B recursively searches for the upper router, transmits the attack defense module B itself to the upper router, and further executes the processing of the attack defense module B in the destination upper router. Then, the recursion stops at the highest router closest to the attack source, and the highest router continues to discard the attack packet until the attack is stopped.
[0099]
FIG. 18 is a configuration diagram showing a configuration of the attack defense module B having both a function of searching for an attack source and a function of defending an attack. As shown in the figure, the attack defense module B includes the adjacent router inspection function unit, the traffic inspection function unit, the attack protection function unit, the attack traffic monitoring function unit, and the self-destruction function unit. Information can be stored.
[0100]
Among these, the adjacent router inspection function unit, the traffic inspection function unit, and the self-destruction function unit are the same as the respective function units having the same names shown in FIG. 11 as the configuration of the attack source search module in the first embodiment. belongs to. The attack defense function unit is the same as the attack defense function unit also shown in FIG.
[0101]
<How to execute various functions on a network relay node (router)>
In the first to third embodiments, it is possible to transfer a program module from a router to a router, execute the program module on a receiving router, and perform processing on communication data passing through a relay node. Was assumed. Here, a method of transferring and executing such a program module will be described.
[0102]
In recent years, as the use of the Internet has expanded in various fields, it is no longer possible to meet various needs of users simply by transferring packets by network nodes. In addition, various network device manufacturers have realized new services such as multicasting and Resource Reservation Protocol (RSVP) by upgrading the firmware of network devices.
[0103]
On the other hand, what is called active network technology is to rapidly develop new network services by providing a program execution environment to network relay nodes and executing standardized function modules on the execution environment. The goal is to be able to. In a conventional network, a communication terminal can hardly specify any options other than the source or destination address of an IP packet. However, in this active network, a packet transmitted from a communication terminal of a transmission source is transmitted. It is possible to specify what kind of processing should be performed before reaching the communication terminal. The active network system can be divided into the following three points.
[0104]
First, there is an active packet method. The active packet method is a method of embedding a small program in a packet. This program is taken out and executed by the relay node. The second is an active node method. The active node method is a method in which a program is installed in a relay node in advance. A program to be executed in the relay node is specified by adding an ID for identifying a service defined in advance to the packet. The third active packet node is a combination of the first and second schemes, combining the advantages of both. These three types of systems are required to use a new header system such as an ANEP (Active Network Encapsulation Protocol) header.
[0105]
The above-mentioned new services such as multicast and RSVP have been realized by upgrading the firmware of the network equipment. However, this method is costly and requires time for service development, and requires software for different hardware. Have to be developed.
[0106]
In addition, the above three methods of the active network use conventional IP packets, such as embedding a program in a packet or adding a predefined service ID before the packet is transmitted from a terminal that transmits data. It is necessary to add information for giving an instruction to perform processing on the transmission data that did not exist. In order to realize these, a process of adding information to a packet is performed by an application of a terminal that sends out data or a processing program of an IP packet. For this reason, there is a problem that an application on a communication terminal and a processing program of an IP packet need to be changed, and a burden is imposed on cost.
[0107]
In the present invention, the service module can be moved without being limited to the type of the relay node, and the communication module such as a computer is used to use the service module installed in the relay node. The following means are provided so that the program can be operated on a network communication device without changing the installed software.
[0108]
That is, a method and an apparatus for operating a program on a network communication device used in the present invention are a platform means for dynamically installing a program on a relay node arranged on a network, and an application for the installed program. Means for providing an interface, when the program operates, means for delivering a packet to the program if the packet sent to the relay node is a processing target of the program, and after the processing is completed. Means for transmitting a packet.
[0109]
A technique for operating a program in this network communication device will be described using a more detailed implementation method with reference to the drawings.
[0110]
FIG. 19 is a configuration diagram showing a schematic configuration of the system. As shown in FIG. 19, communication terminals 1 and 7 are connected by a communication network 5, and integrate three types of functions of a router, an ATM (Asynchronous Transfer Mode) switch, and a computer capable of transferring IP packets. Are connected by the relay nodes 2, 4 and 6 of the provided network. The module server 3 receives a new module sent from a service module developer (not shown), and authenticates the developer by an electronic signature sent together with the module. Thus, the hardware system and the system software (platform) used by the computer system are arranged.
[0111]
Next, FIG. 20 is a configuration diagram showing the configuration of the module server 3 described above. The service module receiving unit 11 authenticates the developer by checking the electronic signature added to the received service module using information of the database 12 of the authorized developer registered in advance. Thereafter, the service module receiving unit 11 checks that the received service module satisfies the interface and security requirements. Then, the inspected module is stored in the service module database 13. The stored service module name and service outline are displayed on the service menu 14. The private service menu 14 can be viewed by the network user via the network, and the end user views the contents of the menu and requests a service. Upon receiving the request, the contents of the user database 17 are checked, and if it is confirmed that the network user who sent the request has the right to request, the service module injector 15 determines the service module requested by the network user. Transfer to network relay node. At this time, the service manager 16 records the transfer destination of the service module. If the service module subsequently moves to another relay node, the service manager 16 receives information on the transfer destination from the service module, and determines whether the service module is operating. Is received from the service module and managed.
[0112]
Next, FIG. 21 shows an outline of a network relay node (router) implementing the present invention, and FIG. 22 is a table showing functions of a node kernel and an execution engine in the relay node. The node kernel and the execution engine are functions of the OS shown in FIG.
[0113]
As shown in FIG. 21, the node kernel 20 starts / stops the system mounted on the relay node, manages input / output between the system mounted on the relay node and the system, performs packet filtering and traffic data. Provides an interface for processes different for each relay node maker such as schedule management, socket processing, and routing table operation, and when the execution engine 21 or the service module 22 requests the node kernel 20 for processing such as packet filtering. , This node kernel 20 mediates the processing. Further, when the IP packet is transferred to the relay node, if the packet is to be processed by the service module 22 installed in the relay node, the node kernel 20 sends the packet to the service module 22 via the execution engine 21. Distribute packets. On the other hand, if the packet is not to be processed by the service module 22 installed in the relay node, the packet is processed and transferred as a normal IP packet as it is. Information on which packet to process at this time is sent together with the service module 22 from the module server 3 (see FIG. 19).
[0114]
Further, the execution engine 21 always waits for a new service module 22 to be sent from the module server 3, and when the processing of the service module 22 is started, monitors the state of the processing. Is transmitted to the module server 3.
[0115]
Next, FIG. 23 is a flowchart showing how the packet received by the relay node is processed according to the present invention. First, in step S1001, a certain relay node receives an IP packet from an adjacent relay node or the like. Next, the process proceeds to S1002, and it is checked whether the source address or the destination address of the received packet is to be processed by any of the service modules installed in the relay node. If the source address or the destination address is specified as a target address to be processed by the service module, the process advances to step S1003 to deliver the packet to the service module 22 (see FIG. 21) specified as a target to be processed. The service module 22 performs the processing. If the packet is not a packet to be processed, the process advances to step S1004 to perform a transfer process as a normal IP packet by referring to a routing table or the like so that the IP packet reaches the destination address. Although the determination condition in S1002 has been described in terms of the destination or source address of the IP packet, the present invention is not limited to this condition, and the service module 22 can freely set the condition.
[0116]
Next, FIG. 24 is a flowchart showing a procedure for transmitting the service module 22 (see FIG. 21) to the module server 3 (see FIG. 19). First, in S1011, the program of the service module 22 and the electronic signature of the developer are received together with the transmission request of the service module 22 from the developer of the service module 22. Next, the process proceeds to S1012, where the presence or absence of the electronic signature is checked. If added, the process proceeds to S1013 to check whether the developer has been registered in advance. To check whether the program of the service module 22 satisfies the required conditions. If at least one of the conditions in S1012, S1013, and S1014 is not satisfied, the process proceeds to S1015, where the reception of the service module 22 is rejected, and the process ends. If all the conditions are satisfied, the process proceeds to S1016, where the service module 22 is registered in the database, and the contents of the service menu are updated.
[0117]
Next, FIG. 25 is a flowchart showing a procedure for receiving a request for a service module from a network user. First, in S1021, a request for the service module 22 (see FIG. 21) from the network user is received. Then, the process proceeds to S1022, and it is confirmed from the information of the network user sent together with the request that the network user who transmitted the request is an authorized user. If the user is a legitimate user, the process proceeds to S1023, and the service module 22 included in the request received from the network user is stored in the module server 3 (see FIG. 19), or the authority that the network user can request is determined. The validity of the service module 22 requested by the network user such as whether the service module 22 is possessed is checked. If either of the conditions is not satisfied in S1022 or S1023, the process proceeds to S1024, where an error message is displayed and the process ends.
[0118]
Next, in S1025, the information of the network user is collected from the user database stored in the module server 3. Then, the process proceeds to S1026, where a packet that can be processed by the requested service module 22 is defined from the information on the network connected to the network user who has requested the service module 22 included in the user information. Further, the process proceeds to S1027, and from the information on the network to which the network user who has requested the service module 22 collected in S1025 is connected, a relay node existing at the boundary where the network is connected to the Internet is derived and derived. The service module 22 is transferred to the relay node existing at the boundary, and the processing ends.
[0119]
Next, FIG. 26 shows the logical structure of the service module 22. Here, in order to manage the behavior of the private service module, seven types of attributes are added before the service module 22 is installed in the relay node. The seven types of attributes are a service ID, an owner ID, an installation time, a developer ID, a module server IP address, copy information, and a processing target. The duplication information and the processing target will be described in detail below.
[0120]
The service module can be moved from an originally installed relay node, and in some cases, the service module can create a copy and perform processing at a plurality of relay nodes. In order to identify the service module copied in this manner, the service module installed on the relay node from the module server is used as an original, and when a copy other than the installed service module is created on another relay node, the copied service module is copied. The service module is a service module, and the service module holds information for distinguishing the service modules as copy information. This processing target is generated when the network user requests a service module from the module server. Further, the module server checks a database of user information, and determines a packet that can be processed by the service module based on an IP address or the like. What is permitted as a processing target is data whose transmission source or destination is the end user who has requested the service module, and can be identified using information other than the IP address.
[0121]
The network user makes a request by selecting a service module from a menu. At this time, in addition to the service ID specifying the service module to be requested, a parameter specifying the initial state of the service module can be transmitted to the module server at the same time. In this case, when the initialization is completed, the service module is installed in the relay node. The relay node to be installed is the node closest to the network to which the network user who has requested the service module belongs, unless otherwise specified. When the service module is installed in the relay node, it can start processing a packet, move to another relay node, create a copy, etc. without waiting for other conditions. This depends on the algorithm programmed in the service module by the service module developer and the parameters specified as initial values by the network user.
[0122]
The following restrictions on execution are added to the service module from the viewpoint of security. The first is usage restrictions. This usage limit is the number of services available at a particular point in time, and the service module can also disappear from the relay node as soon as it has finished processing. When the number of used service modules reaches the limit, no new service can be executed any more, and the service module manager in the module server monitors the number of used services of all users. Things.
[0123]
Second is the duplication module. When the copy source module no longer exists, the copy module cannot automatically exist. When there is no longer a copy source module, the copy module is also deleted by the module server. If the duplication module does not process the packet for a certain period of time or more, the packet is deleted by the execution engine. That is, in order for the duplication module to continue processing, it is necessary to continue receiving packets.
[0124]
Third is a service module. This service module terminates only when the termination condition set for itself is reached, or when the network user who has requested the service module explicitly sends a termination instruction via the module server. I do. This condition applies to all service modules.
[0125]
Fourth is a packet to be processed. There is a limit on the packets that can be processed by the service module, and the service module processes only data that is transmitted or transmitted by a communication terminal belonging to the network to which the network user who has requested the service module belongs. Because you can't do that.
[0126]
Fifth, there is contention for processing. As described in the fourth section, there are restrictions on the packets that can be processed by the service module. However, when focusing on a certain packet, there is always a transmission source user and a transmission destination user. For this reason, a certain relay node may have installed a service module from both the network user of the source and the destination of the transferred IP packet. At this time, only the service module of the transmission destination is authorized to process the packet.
[0127]
Sixth is module conflict. When a plurality of service modules from the same network user are installed in a certain relay node, only the service module that is installed first can process IP packets.
[0128]
Seventh is packet input / output. The service module cannot generate new IP packets by itself. That is, one packet is transferred for each packet transferred.
[0129]
Eighth is location management. Since all the service modules including the copy module can move between the relay nodes, when they move, the location of the new relay node is also notified to the module manager in the module server.
As described above, the service module is restricted in execution from the viewpoint of security.
[0130]
By using the technology described above, a manufacturer provides an execution environment in which program interfaces with different specifications are provided to service modules in a unified manner at different relay nodes, and any relay node on which a service module can be installed is provided. If this is the case, the service module can be moved without being limited to that model. Further, the conventional method of specifying the processing target of the service module without changing the IP packet eliminates the need for modifying the packet itself in the conventional technology such as an active network. This eliminates the need to change software installed in a communication terminal such as a computer in order to use the service module installed in the relay node.
[0131]
Each of the above-described computer programs is recorded on a computer-readable recording medium, and a CPU (central processing unit) mounted on a communication device or the like reads the computer program from this recording medium to prevent an attack or a service module. Each process is also executed for providing. The “computer-readable recording medium” refers to a portable medium such as a magnetic disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, programs that hold programs for a certain period of time are also included.
[0132]
Further, the above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
[0133]
Further, the program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
[0134]
As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to these embodiments, and includes a design and the like without departing from the gist of the present invention.
[0135]
【The invention's effect】
As described above, according to the present invention, a communication device is a communication device for preventing a distributed denial of service attack, and monitors a communication packet passing through the communication device to detect the distributed denial of service attack. A traffic monitoring function unit, an attack protection module for discarding a communication packet of the distributed denial of service attack when the distributed denial of service attack is detected, and a process of searching for an address of a higher-level communication device close to the attack source Source search module that performs the attack, a module transmission unit that transmits the attack source search module to the communication device at the upper defense position, and a higher-level communication device closer to the attack source searched by the attack source search module And an attack source determination function unit that extracts a communication device to be a higher defense position from the candidates of the attack source. When the distributed denial of service attack is detected, the communication packet of the attack is discarded when the distributed denial of service attack is detected because the attack protection module is transmitted to the communication device at the upper defense position extracted by the disconnection function unit. And searching for a higher-level communication device closer to the attack source, transmitting an attack source search module to the higher-level communication device obtained as a result of the search, and executing this module in the higher-level communication device. Determines whether the communication packet of the attack has passed through the higher-level module, and if so, it can recursively search for a higher-level communication device. It is possible to defend against an attack in the nearest uppermost communication device, that is, to discard a communication packet of the attack. As a result, it is possible to limit the influence of the communication packet of the attack to a local area close to the attack source, and it is possible to suppress the adverse effect on the entire network.
[0136]
Also, for example, even in a network such as the Internet that does not originally have an attack defense function, effective defense against an attack can be achieved by applying the present invention. Also, when the present invention is used, the administrator of the network to which the attacker is directly connected does not need to take any action, and the defense function is automatically performed by the action of the network to which the attacked device is connected. Will be activated to prevent attacks.
[0137]
Further, according to the present invention, the communication device monitors a communication packet passing through the communication device and detects a distributed denial of service attack, and the distributed monitoring function unit detects the distributed denial of service attack when the distributed denial of service attack is detected. An attack defense module for discarding a communication packet of a denial of service attack and searching for an address of a higher-level communication device close to the attack source, and a module transmission for transmitting the attack protection module to the higher-level communication device With this configuration, the function of searching for an attack source and the function of defending an attack can be realized by a single program module, and the defense algorithm can be simplified.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a network to which the present invention can be applied.
FIG. 2 is a schematic diagram showing a method for defending against a distributed DoS attack performed in the network shown in FIG. 1;
FIG. 3 is a part of a flowchart showing a processing procedure of mobile packet filtering according to the first embodiment of the present invention.
FIG. 4 is a part of a flowchart showing a processing procedure of mobile packet filtering according to the first embodiment of the present invention.
FIG. 5 is a part of a flowchart showing a procedure of a process of an attack source search module according to the first embodiment of the present invention.
FIG. 6 is a part of a flowchart showing a procedure of a process of an attack source search module according to the first embodiment of the present invention.
FIG. 7 is a schematic diagram showing a procedure for organizing redundant information of an address of an upper router close to an attack source according to the first embodiment of the present invention.
FIG. 8 is a flowchart showing a processing procedure of a mobile packet filtering program according to the first embodiment of the present invention.
FIG. 9 is a configuration diagram showing a configuration of a router according to the first embodiment of the present invention.
FIG. 10 is a configuration diagram showing a functional configuration for preventing a distributed DoS attack according to the first embodiment of the present invention.
FIG. 11 is a configuration diagram showing a detailed configuration of an attack source search module according to the first embodiment of the present invention.
FIG. 12 is a configuration diagram showing a detailed configuration of an attack defense module according to the first embodiment of the present invention.
FIG. 13 is a part of a flowchart showing a procedure of a mobile packet filtering process according to the second embodiment of the present invention.
FIG. 14 is a part of a flowchart showing a procedure of a mobile packet filtering process according to the second embodiment of the present invention.
FIG. 15 is a part of a flowchart showing a procedure of a mobile packet filtering process according to the third embodiment of the present invention.
FIG. 16 is a part of a flowchart showing a procedure of a mobile packet filtering process according to the third embodiment of the present invention.
FIG. 17 is a flowchart illustrating a processing procedure of the attack defense module B according to the third embodiment of the present invention.
FIG. 18 is a configuration diagram showing a configuration of an attack defense module B according to a third embodiment of the present invention.
FIG. 19 is a configuration diagram showing a schematic configuration of a system for operating a program on a network communication device to which the present invention is applied;
FIG. 20 is a configuration diagram illustrating a configuration of a module server.
FIG. 21 is a schematic diagram illustrating an outline of a network relay node (router).
FIG. 22 is a table showing functions of a node kernel and an execution engine in a relay node.
FIG. 23 is a flowchart showing a procedure for processing a packet received by the relay node.
FIG. 24 is a flowchart showing a procedure for transmitting a service module to a module server.
FIG. 25 is a flowchart showing a procedure for receiving a service module request from a network user.
FIG. 26 is a schematic diagram showing a logical structure of a service module.
[Explanation of symbols]
1 communication terminal
2 Relay node
3 Module server
4 Relay node
5 Communication network
6 Relay nodes
7 Communication terminal
11 Service module receiver
12 Certified Developer Database
13 Service Module Database
14 Service Menu
15 Service module injector
16 Service Manager
17 User database
20 node kernel
21 Execution Engine
22 Service Module
101 Attacker's server
102 Border router
103, 104, 106 to 111 router (router to which the present invention is applied)
105 router (router to which the present invention is not applied)
112,115,118 Computer of authorized user
113,114,116,117 DoS attacker host

Claims (17)

分散型サービス不能攻撃を防止するための通信装置であって、
当該通信装置を通過する通信パケットを監視し分散型サービス不能攻撃を検出するトラフィック監視機能部と、
分散型サービス不能攻撃が検出された際に当該分散型サービス不能攻撃の通信パケットを破棄する攻撃防御モジュールと、
攻撃元に近い上位側の通信装置のアドレスを検索する処理を行う攻撃元検索モジュールと、
上位側の防御位置の通信装置に対して前記攻撃元検索モジュールを送信するモジュール送信部と、
前記攻撃元検索モジュールによって検索された攻撃元に近い上位側の通信装置の候補中から上位側の防御位置とする通信装置を抽出する攻撃元判断機能部と
を備え、
前記モジュール送信部は、前記攻撃元判断機能部によって抽出された上位側の防御位置の通信装置に対して前記攻撃防御モジュールを送信するものである
ことを特徴とする通信装置。
A communication device for preventing a distributed denial of service attack,
A traffic monitoring function unit that monitors communication packets passing through the communication device and detects a distributed denial of service attack;
An attack defense module for discarding a communication packet of the distributed denial of service attack when the distributed denial of service attack is detected;
An attack source search module for searching for an address of a higher-level communication device close to the attack source;
A module transmitting unit that transmits the attack source search module to the communication device at the upper defense position;
An attack source determination function unit that extracts a communication device to be a higher defense position from candidates of upper communication devices close to the attack source searched by the attack source search module,
The communication device, wherein the module transmission unit transmits the attack defense module to the communication device at the upper defense position extracted by the attack source determination function unit.
請求項1に記載の通信装置であって、
前記モジュール送信部は、前記攻撃元検索モジュールとともに前記トラフィック監視機能部によって分散型サービス不能攻撃であると検知された通信パケットに関する攻撃パケット情報を前記上位側の通信装置に対して送信するものであり、
前記攻撃元検索モジュールには、前記モジュール送信部から受信した前記攻撃パケット情報と当該通信装置を通過する通信パケットとを比較して、当該攻撃パケット情報に該当する通信パケットが当該通信装置を通過していることを検知した場合には、当該通信装置自身が防御位置の通信装置の候補であることを攻撃元検索モジュールの送信元の通信装置に対して通知するトラフィック検査機能部が含まれる
ことを特徴とする通信装置。
The communication device according to claim 1, wherein
The module transmission unit transmits, to the higher-level communication device, attack packet information on a communication packet detected as a distributed denial of service attack by the traffic monitoring function unit together with the attack source search module. ,
The attack source search module compares the attack packet information received from the module transmission unit with a communication packet passing through the communication device, and determines that a communication packet corresponding to the attack packet information passes through the communication device. If it is detected that the communication device itself is a candidate for the communication device at the defense position, the traffic inspection function unit that notifies the communication device of the transmission source of the attack source search module is included. Characteristic communication device.
請求項1に記載の通信装置であって、
前記攻撃防御モジュールには、
攻撃が継続中か否かを監視する攻撃トラフィック監視機能部と、
前記攻撃トラフィック監視機能部が攻撃は中断したと判断した場合には、当該攻撃防御モジュール自身を、処理実行中の通信装置から消滅させる自己消滅機能部とが含まれる
ことを特徴とする通信装置。
The communication device according to claim 1, wherein
The attack defense module includes:
An attack traffic monitoring function that monitors whether the attack is ongoing;
A communication device comprising: a self-destruction function unit that, when the attack traffic monitoring function unit determines that the attack is interrupted, deletes the attack protection module itself from the communication device that is performing the process.
請求項1から3までのいずれかに記載の通信装置と、
前記通信装置に対してプログラムモジュールを送信するモジュールサーバであって、
前記通信装置にインストールされるプログラムモジュールを保存するプログラムモジュールデータベースと、
前記プログラムモジュールの保存を依頼できるプログラムモジュールの開発者を管理する開発者データベースと、
前記プログラムモジュールを前記通信装置にインストールする要求ができる利用者を管理するユーザデータベースと、
保存されている前記プログラムモジュールを前記利用者にメニューで表示するサービスメニューと、
前記サービスメニューに表示されている前記プログラムモジュールをインストールする要求が前記利用者からあれば前記利用者の権限を認証するサービスマネージャと、
前記認証を確認できた場合には前記プログラムモジュールを前記通信装置に対して送信するサービスモジュールインジェクタと、
を備えるモジュールサーバと、
からなることを特徴とする通信システム。
A communication device according to any one of claims 1 to 3,
A module server for transmitting a program module to the communication device,
A program module database for storing program modules installed in the communication device;
A developer database that manages the developers of the program modules that can request the storage of the program modules,
A user database that manages users who can request to install the program module in the communication device;
A service menu for displaying the stored program module to the user in a menu,
A service manager that authenticates the authority of the user if there is a request from the user to install the program module displayed in the service menu;
A service module injector for transmitting the program module to the communication device if the authentication can be confirmed;
A module server comprising:
A communication system comprising:
分散型サービス不能攻撃を防止するための通信装置であって、
当該通信装置を通過する通信パケットを監視し分散型サービス不能攻撃を検出するトラフィック監視機能部と、
分散型サービス不能攻撃が検出された際に当該分散型サービス不能攻撃の通信パケットを破棄するとともに、攻撃元に近い上位側の通信装置のアドレスを検索する処理を行う攻撃防御モジュールと、
上位側の通信装置に対して前記攻撃防御モジュールを送信するモジュール送信部と、
を備えることを特徴とする通信装置。
A communication device for preventing a distributed denial of service attack,
A traffic monitoring function unit that monitors communication packets passing through the communication device and detects a distributed denial of service attack;
An attack defense module that, when a distributed denial of service attack is detected, discards the communication packet of the distributed denial of service attack and performs a process of searching for an address of a higher-level communication device close to the attack source;
A module transmitting unit that transmits the attack defense module to a higher-level communication device;
A communication device comprising:
請求項5に記載の通信装置であって、
前記モジュール送信部は、前記攻撃防御モジュールとともに前記トラフィック監視機能部によって分散型サービス不能攻撃であると検知された通信パケットに関する攻撃パケット情報を前記上位側の通信装置に対して送信するものであり、
前記攻撃防御モジュールには、前記モジュール送信部から受信した前記攻撃パケット情報と当該通信装置を通過する通信パケットとを比較して、当該攻撃パケット情報に該当する通信パケットが当該通信装置を通過していることを検知するトラフィック検査機能部が含まれる
ことを特徴とする通信装置。
The communication device according to claim 5, wherein
The module transmitting unit transmits, to the upper communication device, attack packet information on a communication packet detected as a distributed denial of service attack by the traffic monitoring function unit together with the attack defense module,
The attack defense module compares the attack packet information received from the module transmission unit with a communication packet passing through the communication device, and determines that a communication packet corresponding to the attack packet information passes through the communication device. A communication device, comprising: a traffic inspection function unit for detecting the presence of the communication device.
請求項5に記載の通信装置であって、
前記攻撃防御モジュールには、
攻撃が継続中か否かを監視する攻撃トラフィック監視機能部と、
前記攻撃トラフィック監視機能部が攻撃は中断したと判断した場合には、当該攻撃防御モジュール自身を、処理実行中の通信装置から消滅させる自己消滅機能部とが含まれる
ことを特徴とする通信装置。
The communication device according to claim 5, wherein
The attack defense module includes:
An attack traffic monitoring function that monitors whether the attack is ongoing;
A communication device comprising: a self-destruction function unit that, when the attack traffic monitoring function unit determines that the attack is interrupted, deletes the attack protection module itself from the communication device that is performing the process.
請求項5から7までのいずれかに記載の通信装置と、
前記通信装置に対してプログラムモジュールを送信するモジュールサーバであって、
前記通信装置にインストールされるプログラムモジュールを保存するプログラムモジュールデータベースと、
前記プログラムモジュールの保存を依頼できるプログラムモジュールの開発者を管理する開発者データベースと、
前記プログラムモジュールを前記通信装置にインストールする要求ができる利用者を管理するユーザデータベースと、
保存されている前記プログラムモジュールを前記利用者にメニューで表示するサービスメニューと、
前記サービスメニューに表示されている前記プログラムモジュールをインストールする要求が前記利用者からあれば前記利用者の権限を認証するサービスマネージャと、
前記認証を確認できた場合には前記プログラムモジュールを前記通信装置に対して送信するサービスモジュールインジェクタと、
を備えるモジュールサーバと、
からなることを特徴とする通信システム。
A communication device according to any one of claims 5 to 7,
A module server for transmitting a program module to the communication device,
A program module database for storing program modules installed in the communication device;
A developer database that manages the developers of the program modules that can request the storage of the program modules,
A user database that manages users who can request to install the program module in the communication device;
A service menu for displaying the stored program module to the user in a menu,
A service manager that authenticates the authority of the user if there is a request from the user to install the program module displayed in the service menu;
A service module injector for transmitting the program module to the communication device if the authentication can be confirmed;
A module server comprising:
A communication system comprising:
分散型サービス不能攻撃を防止するためのサービス不能攻撃防止方法であって、
通信装置において分散型サービス不能攻撃を検知すると、当該分散型サービス不能攻撃の通信パケットを当該通信装置において破棄しながら、
検知された前記分散型サービス不能攻撃の攻撃元に近い上位側の通信装置を検索し、
検索の結果得られた前記上位側の通信装置に対してプログラムモジュールを送信し、
前記プログラムモジュールを受信した側の通信装置において、当該プログラムモジュールを実行することにより、上記の分散型サービス不能攻撃の通信パケットを破棄する処理と、上記の上位側の通信サービスを検索する処理と、上記の上位側の通信装置に対してプログラムモジュールを送信する処理を行うことによって、
攻撃元に最も近い最上位の通信装置に達するまで再帰的に検索を行い、当該最上位の通信装置において前記分散型サービス不能攻撃の通信パケットを破棄する
ことを特徴とするサービス不能攻撃防止方法。
A denial of service prevention method for preventing a distributed denial of service attack,
When the distributed denial of service attack is detected in the communication device, while the communication packet of the distributed denial of service attack is discarded in the communication device,
Search for a higher-level communication device closer to the source of the detected distributed denial of service attack,
Transmitting a program module to the upper communication device obtained as a result of the search,
In the communication device on the side receiving the program module, by executing the program module, a process of discarding the communication packet of the distributed denial of service attack, and a process of searching for the communication service of the upper side, By performing the process of transmitting the program module to the upper communication device,
A method for preventing a denial of service attack, wherein a search is performed recursively until the communication device reaches the highest communication device closest to the attack source, and the communication packet of the distributed denial of service attack is discarded in the highest communication device.
請求項9に記載のサービス不能攻撃防止方法であって、
前記プログラムモジュールを上位側の通信装置に対して送信する際には、前記プログラムモジュールとともに、分散型サービス不能攻撃であると検知された前記通信パケットに関する攻撃パケット情報を前記上位側の通信装置に対して送信し、
前記プログラムモジュールと前記攻撃パケット情報を受信した側の通信装置では、当該プログラムモジュールを実行することによって、前記攻撃パケット情報と当該通信装置を通過する通信パケットとを比較して、当該攻撃パケット情報に該当する通信パケットが当該通信装置を通過していることを検知した場合には、当該通信装置自身が防御位置の通信装置の候補であることを攻撃元検索モジュールの送信元の通信装置に対して通知する
ことを特徴とするサービス不能攻撃防止方法。
A method for preventing a denial of service attack according to claim 9,
When transmitting the program module to the upper communication device, together with the program module, attack packet information on the communication packet detected as a distributed denial of service attack to the upper communication device Send
The communication device on the side receiving the program module and the attack packet information compares the attack packet information with a communication packet passing through the communication device by executing the program module, and If the communication device detects that the communication packet is passing through the communication device, the communication device determines that the communication device itself is a candidate for the communication device at the defense position with respect to the communication device of the transmission source of the attack source search module . A denial-of-service attack prevention method characterized by notifying.
請求項9に記載のサービス不能攻撃防止方法であって、
前記プログラムモジュールを受信した前記上位側の通信装置においては、当該プログラムモジュールを実行することによって、攻撃が継続中か否かを監視するとともに、この攻撃が中断された判断した場合には、当該プログラムモジュール自身を当該通信装置から消滅させる処理を行う
ことを特徴とするサービス不能攻撃防止方法。
A method for preventing a denial of service attack according to claim 9,
The upper communication device that has received the program module executes the program module to monitor whether or not the attack is ongoing, and when it is determined that the attack has been interrupted, A method of preventing a denial-of-service attack, comprising performing a process of deleting a module itself from the communication device.
分散型サービス不能攻撃を防止するために通信装置上で実行されるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記通信装置を通過する通信パケットを監視するステップと、
この監視によってサービス不能攻撃の通信パケットを検知した場合には、当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、
前記サービス不能攻撃が分散型のサービス不能攻撃であるか否かを判断するステップと、
分散型のサービス不能攻撃であった場合には、データベースを参照することによって攻撃元に近い上位側の通信装置を抽出し、これらの上位側の通信装置に対して攻撃元を検索するための攻撃元検索モジュールを送信し、送信先の通信装置から防御位置の情報を受信し、この防御位置の情報に基づいて上位側の通信装置に対して攻撃を防御するための攻撃防御モジュールを送信するステップと、
の各処理をコンピュータに実行させるコンピュータプログラムを記録した記録媒体。
A computer-readable recording medium recording a computer program executed on a communication device to prevent a distributed denial of service attack,
Monitoring communication packets passing through the communication device;
If a communication packet of the denial of service attack is detected by this monitoring, a step of continuously discarding the communication packet of the denial of service attack;
Determining whether the denial of service attack is a distributed denial of service attack;
In the case of a distributed denial of service attack, an attack for extracting higher-level communication devices close to the attack source by referring to the database and searching the higher-level communication devices for the source of the attack Transmitting a source search module, receiving defense position information from a destination communication device, and transmitting an attack defense module for preventing an attack on an upper communication device based on the defense position information; When,
Recording medium on which a computer program for causing a computer to execute each of the processes is recorded.
分散型サービス不能攻撃を防止するために下位の通信装置から上位の通信装置へ送信され、この上位の通信装置上で実行される攻撃元検索のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果を前記下位の通信装置に通知するステップと、
この検査の結果、当該サービス不能攻撃の通信パケットが当該通信装置を通過している場合には、
a)自通信装置自身よりも攻撃元に近い上位の通信装置がない場合には当該通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
b)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個も来ない場合には、自通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
c)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個以上来た場合には、自通信装置自身を最上位の通信装置としない、
のa)〜c)のいずれかを行うステップと、
の各処理をコンピュータに実行させるコンピュータプログラムを記録した記録媒体。
A computer-readable recording medium that records a computer program for attack source search transmitted from a lower communication device to a higher communication device to prevent a distributed denial of service attack and executed on the higher communication device. hand,
A communication packet passing through the communication device is compared with attack packet information relating to a denial of service attack, and it is checked whether the communication packet of the denial of service attack is passing through the communication device. Notifying a lower-level communication device;
As a result of this inspection, if the communication packet of the denial of service attack passes through the communication device,
a) when there is no higher-level communication device closer to the attack source than the own communication device itself, the communication device itself is notified to the lower-level communication device as the highest-order communication device;
b) The case where there is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If no notification that the communication packet of the denial of service attack has passed does not come, the self communication device itself is notified to the lower communication device as the highest communication device,
c) There is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If at least one notification that a communication packet of a denial of service attack has passed is received, the own communication device itself is not set as the highest communication device,
A) performing any of a) to c);
Recording medium on which a computer program for causing a computer to execute each of the processes is recorded.
分散型サービス不能攻撃を防止するために通信装置上で実行される攻撃防御のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果、通過していた場合には、
a)当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、
b)データベースを参照することによって攻撃元に近い上位側の通信装置を抽出するステップと、
c)抽出された前記上位側の通信装置に対して当該攻撃防御のコンピュータプログラム自身を送信するステップと、
のa)〜c)の各処理をコンピュータに実行させるコンピュータプログラムを記録した記録媒体。
A computer-readable recording medium recording an attack defense computer program executed on a communication device to prevent a distributed denial of service attack,
A communication packet passing through the communication device is compared with attack packet information relating to a denial of service attack to check whether a communication packet of the denial of service attack is passing through the communication device. If you have
a) performing a process of continuously discarding communication packets of the denial of service attack;
b) extracting a higher-level communication device closer to the attack source by referring to the database;
c) transmitting the attack defense computer program itself to the extracted upper communication device;
A) a recording medium on which a computer program for causing a computer to execute each of the processes a) to c) is recorded.
分散型サービス不能攻撃を防止するために通信装置上で実行されるコンピュータプログラムであって、
前記通信装置を通過する通信パケットを監視するステップと、
この監視によってサービス不能攻撃の通信パケットを検知した場合には、当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、
前記サービス不能攻撃が分散型のサービス不能攻撃であるか否かを判断するステップと、
分散型のサービス不能攻撃であった場合には、データベースを参照することによって攻撃元に近い上位側の通信装置を抽出し、これらの上位側の通信装置に対して攻撃元を検索するための攻撃元検索モジュールを送信し、送信先の通信装置から防御位置の情報を受信し、この防御位置の情報に基づいて上位側の通信装置に対して攻撃を防御するための攻撃防御モジュールを送信するステップと、
の各処理をコンピュータに実行させるコンピュータプログラム。
A computer program executed on a communication device to prevent a distributed denial of service attack,
Monitoring communication packets passing through the communication device;
If a communication packet of the denial of service attack is detected by this monitoring, a step of continuously discarding the communication packet of the denial of service attack;
Determining whether the denial of service attack is a distributed denial of service attack;
In the case of a distributed denial of service attack, an attack for extracting higher-level communication devices close to the attack source by referring to the database and searching the higher-level communication devices for the source of the attack Transmitting a source search module, receiving defense position information from a destination communication device, and transmitting an attack defense module for preventing an attack on an upper communication device based on the defense position information; When,
Computer program that causes a computer to execute each of the above processes.
分散型サービス不能攻撃を防止するために下位の通信装置から上位の通信装置へ送信され、この上位の通信装置上で実行される攻撃元検索のコンピュータプログラムであって、
当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果を前記下位の通信装置に通知するステップと、
この検査の結果、当該サービス不能攻撃の通信パケットが当該通信装置を通過している場合には、
a)自通信装置自身よりも攻撃元に近い上位の通信装置がない場合には当該通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
b)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個も来ない場合には、自通信装置自身を最上位の通信装置として前記下位の通信装置に通知する、
c)自該通信装置自身よりも攻撃元に近い上位の通信装置がある場合であり、この上位の通信装置に対して当該攻撃元検索のコンピュータプログラムを送信した結果、この上位の通信装置から当該サービス不能攻撃の通信パケットが通過しているという通知が一個以上来た場合には、自通信装置自身を最上位の通信装置としない、
のa)〜c)のいずれかを行うステップと、
の各処理をコンピュータに実行させるコンピュータプログラム。
A computer program for attack source search transmitted from a lower communication device to a higher communication device to prevent a distributed denial of service attack, and executed on the higher communication device,
A communication packet passing through the communication device is compared with attack packet information relating to a denial of service attack, and it is checked whether the communication packet of the denial of service attack is passing through the communication device. Notifying a lower-level communication device;
As a result of this inspection, if the communication packet of the denial of service attack passes through the communication device,
a) when there is no higher-level communication device closer to the attack source than the own communication device itself, the communication device itself is notified to the lower-level communication device as the highest-order communication device;
b) The case where there is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If no notification that the communication packet of the denial of service attack has passed does not come, the self communication device itself is notified to the lower communication device as the highest communication device,
c) There is a higher-level communication device closer to the attack source than the communication device itself, and as a result of transmitting the attack source search computer program to the higher-level communication device, If at least one notification that a communication packet of a denial of service attack has passed is received, the own communication device itself is not set as the highest communication device,
A) performing any of a) to c);
Computer program that causes a computer to execute each of the above processes.
分散型サービス不能攻撃を防止するために通信装置上で実行される攻撃防御のコンピュータプログラムであって、
当該通信装置を通過する通信パケットと、サービス不能攻撃に関する攻撃パケット情報とを比較して、当該サービス不能攻撃の通信パケットが当該通信装置を通過しているか否かを検査し、この検査結果、通過していた場合には、
a)当該サービス不能攻撃の通信パケットを継続的に破棄する処理を行うステップと、
b)データベースを参照することによって攻撃元に近い上位側の通信装置を抽出するステップと、
c)抽出された前記上位側の通信装置に対して当該攻撃防御のコンピュータプログラム自身を送信するステップと、
のa)〜c)の各処理をコンピュータに実行させるコンピュータプログラム。
An attack defense computer program executed on a communication device to prevent a distributed denial of service attack,
A communication packet passing through the communication device is compared with attack packet information relating to a denial of service attack to check whether a communication packet of the denial of service attack is passing through the communication device. If you have
a) performing a process of continuously discarding communication packets of the denial of service attack;
b) extracting a higher-level communication device closer to the attack source by referring to the database;
c) transmitting the attack defense computer program itself to the extracted upper communication device;
A) a computer program for causing a computer to execute each of the processes a) to c).
JP2001274016A 2000-09-12 2001-09-10 Distributed denial of service attack prevention method and apparatus, and computer program therefor Expired - Fee Related JP3549861B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001274016A JP3549861B2 (en) 2000-09-12 2001-09-10 Distributed denial of service attack prevention method and apparatus, and computer program therefor

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2000-276920 2000-09-12
JP2000-276919 2000-09-12
JP2000276920 2000-09-12
JP2000276919 2000-09-12
JP2001274016A JP3549861B2 (en) 2000-09-12 2001-09-10 Distributed denial of service attack prevention method and apparatus, and computer program therefor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004032507A Division JP2004158044A (en) 2000-09-12 2004-02-09 Module server, module provision method, and its computer program

Publications (2)

Publication Number Publication Date
JP2002164938A JP2002164938A (en) 2002-06-07
JP3549861B2 true JP3549861B2 (en) 2004-08-04

Family

ID=27344601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001274016A Expired - Fee Related JP3549861B2 (en) 2000-09-12 2001-09-10 Distributed denial of service attack prevention method and apparatus, and computer program therefor

Country Status (1)

Country Link
JP (1) JP3549861B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4354201B2 (en) 2003-03-18 2009-10-28 富士通株式会社 Unauthorized access countermeasure system and unauthorized access countermeasure processing program
JP4520703B2 (en) 2003-03-31 2010-08-11 富士通株式会社 Unauthorized access countermeasure system and unauthorized access countermeasure processing program
US7474656B2 (en) 2004-02-25 2009-01-06 Alcatel-Lucent Usa Inc. Data transfer to nodes of a communication network using self-replicating code
US20070118896A1 (en) * 2004-05-12 2007-05-24 Nippon Telegraph And Telephone Corporation Network attack combating method, network attack combating device and network attack combating program
KR101060959B1 (en) 2009-08-28 2011-08-31 (주)엔스퍼트 System and Method for Blocking DVD Attacks Using Ap
CN101924764B (en) * 2010-08-09 2013-04-10 中国电信股份有限公司 Large-scale DDoS (Distributed Denial of Service) attack defense system and method based on two-level linkage mechanism
EP3255839A4 (en) * 2015-02-03 2019-05-22 Nec Corporation Virtual network system, virtual network control method, virtual network function database, integrated control device, control device, and control method and control program therefor

Also Published As

Publication number Publication date
JP2002164938A (en) 2002-06-07

Similar Documents

Publication Publication Date Title
US7188366B2 (en) Distributed denial of service attack defense method and device
US7360242B2 (en) Personal firewall with location detection
KR101263329B1 (en) Method and apparatus for preventing network attacks, method and apparatus for processing transmission and receipt of packet comprising the same
Belenky et al. On IP traceback
US7464407B2 (en) Attack defending system and attack defending method
US7325248B2 (en) Personal firewall with location dependent functionality
US10491561B2 (en) Equipment for offering domain-name resolution services
KR20000054538A (en) System and method for intrusion detection in network and it&#39;s readable record medium by computer
US8990573B2 (en) System and method for using variable security tag location in network communications
JP2010508760A (en) Method and apparatus for delivering control messages during a malicious attack in one or more packet networks
KR20060030037A (en) Network attack combating method, network attack combating device and network attack combating program
JP3549861B2 (en) Distributed denial of service attack prevention method and apparatus, and computer program therefor
KR100856918B1 (en) Method for IP address authentication in IPv6 network, and IPv6 network system
JP2004158044A (en) Module server, module provision method, and its computer program
JP3892322B2 (en) Unauthorized access route analysis system and unauthorized access route analysis method
KR101977612B1 (en) Apparatus and method for network management
US20060225141A1 (en) Unauthorized access searching method and device
JP4302004B2 (en) Packet filter setting method and packet filter setting system
CN115065548A (en) Enhanced network security access area data management and control system and method
Zhong et al. Research on DDoS Attacks in IPv6
JP2006099590A (en) Access controller, access control method and access control program
US11509565B2 (en) Network link verification
JP2004240819A (en) Packet communication device with authentication function, network authentication access control server, application authentication access control server and distributed authentication access control system
KR102218079B1 (en) Method for excluding sites not accessible from secure socket layer decryption apparatus
JP2008028720A (en) Ip network apparatus capable of controlling send side ip address arrogating ip packet, and send side ip address arrogating ip packet control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040209

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040421

LAPS Cancellation because of no payment of annual fees