以下、図面に基づいて本発明の実施の形態を説明する。
以下の実施例では、インターネットを構成するネットワークを保有・管理する自律システム(以降、AS:Autonomous System)に配備されるDDoS連携対処装置が開示される。後述される実施例を概略すると、DDoS連携対処装置は、AS間でのDDoS攻撃情報の共有及び各攻撃に対する各ASの防御機能リソースの割当を調整する。また、DDoS連携対処装置間のアーキテクチャとして、近隣ASのDDoS連携対処装置とのみ直接通信を行う分散型のアーキテクチャを適用することでスケーラビリティを向上させ、局所的な調整を繰り返すことで、インターネット全体で統一的なリソース割り当てを実現する。さらに、DDoS攻撃の宛先IPアドレスを参照し、同一AS宛のものを1つの攻撃としてまとめて各防御機能のリソース割り当て量を調整することによって、DDoS攻撃の宛先IPアドレス単位で調整する場合と比較して、AS間で必要な調整回数を削減でき、スケーラビリティの向上が可能となる。
まず、図1を参照して、本発明の一実施形態によるネットワーク(インターネット)を説明する。図1は、本発明の一実施形態によるネットワークの構成図を示す。本実施形態では、ネットワーク(インターネット)を構成する複数の組織ネットワーク(AS)の内、一部のASが本発明のDDoS連携対処装置を保有する状況を想定している。また、一例として、AS1(ISP網等)内の複数のシステムが、他のAS内に存在する攻撃者の端末からのDDoS攻撃の標的(標的システム)となった場合を想定し、他のASとの間で、DDoS攻撃情報の共有と連携対処時のパラメータ調整(パラメータは、ある標的への攻撃に対して、各ASの防御機能のリソースをどれだけ割り当てて対処するかの量)等に必要な情報とを共有し、それらの情報を用いて、他ASとの間で対処パラメータを調整する方法を説明する。
図1に示されるように、ネットワーク10は、任意数のAS(AS1~AS8など)を有し、これらのASが相互接続されることによって、インターネットを模したネットワーク10のネットワークトポロジが構成される。これらのASは、mitigation装置50及びDDoS連携対処装置100を有するAS(AS1, AS2, AS3, AS5, AS8)と、mitigation装置50及びDDoS連携対処装置100を有さないAS(AS4, AS6, AS7)とに大別される。
DDoS連携対処装置100は、後述されるように、各AS間でDDoS攻撃情報等をやり取りし、やり取りしたDDoS攻撃情報に基づき、DDoS攻撃に対処するための対処パラメータを調整すると共に、他のASに対してDDoS攻撃の対処を要求する。ここでは、各ASは、どのASのDDoS連携対処装置100と通信すればよいかを示す連携先AS情報を予め保有している。連携先ASには、各ASから見てネットワーク的に近い任意数のASが設定される。また、DDoS攻撃に対処するための対処パラメータとは、例えば、AS1, AS2及びAS3で分担してある標的宛の攻撃に対処する場合、各ASで標的宛通信量を何Gbpsずつmitigation装置50に引き込んで対処するかを示す量、フィルタリングする場合に各ASで何Gbpsまで標的宛通信を減らすかを示す量(フィルタリングの閾値)などである。これらの対処パラメータは、各ASを流れる標的宛通信量や各ASが保有するmitigation装置50の容量(リソース量)などの情報に基づき計算することによって調整される。ここで、mitigation装置50に引き込んで対処する通信量を調整する際の情報の取得の流れや計算式を含むより詳細な説明を以下でより詳細に説明する。
AS1内の任意のシステムが攻撃の被害に遭っている場合、AS1は、連携先AS(AS2、AS5とする)のDDoS連携対処装置100に対して、DDoS攻撃情報(自AS番号や標的システムのIPアドレスの一覧)やパラメータ調整に必要な情報の要求、攻撃への対処要求等を送信する。また、連携先AS(例えば、AS2)では、AS1のDDoS連携対処装置100から受信した情報に基づき、標的宛通信への対処を実施したり、要求された情報を要求元AS(AS1)に応答したりする。さらに、連携先AS(AS2)は、より上流の連携先AS(AS2の場合は、AS3、AS5、AS8とする)に、DDoS攻撃情報やパラメータ調整に必要な情報の要求や攻撃への対処要求等を送信する。これを上流側AS方向に繰り返していくことで、攻撃元近くのASまでDDoS攻撃情報等が伝搬される。
本実施例では、自AS内のシステムが標的となっているAS(以降、標的AS)から連携先ASにDDoS攻撃情報等を通知する際に、標的となっているシステムが複数存在する場合には、標的のIPアドレスをまとめて通知することで、標的IPアドレス単位で攻撃情報通知を行う場合と比較して必要な通信回数を削減する。また、パラメータの調整も、同一ASに属するIPアドレス宛の攻撃を1つの攻撃としてまとめて宛先AS単位で調整をすることで、標的IPアドレス単位でパラメータ調整を実施する場合と比較して調整回数を削減する。なお、あるASから連携先ASに攻撃情報や対処要求等を送信するタイミングは任意であり、例えば、自AS内のシステムに対する新たな攻撃を検知した場合、まずは自AS内の防御機能のみで対処を行い自AS内の防御機能のリソースが逼迫した場合、自AS内のシステムへの攻撃を検知してから一定時間毎等に実施することが想定される。
mitigation装置50は、例えば、非特許文献2に記載される装置であり、受信したDDoS攻撃情報等に基づき標的宛通信に対する対処を実施する。なお、DDoS攻撃に対処する技術としては、mitigation装置50の利用のほかに、ルータ等の転送装置によるACL(Access Control List)等を利用した攻撃通信のフィルタリング、攻撃の標的宛通信の帯域制限(レートリミット等)等も想定され、本発明は、これらの対処技術との組み合わせも可能である。後述の本実施形態における動作手順では、mitigation装置50を利用して連携対処する場合の具体的な動作手順を説明する。
次に、図2を参照して、本発明の一実施形態によるDDoS連携対処装置を有するASの構成を説明する。以下において、AS1に着目して本実施形態を説明するが、本実施形態が他のASに適用可能であることは当業者に容易に理解されるであろう。
図2に示されるように、当該ASは、mitigation装置50、DDoS連携対処装置100、トラヒック情報収集・DDoS攻撃検知装置200、ネットワーク制御装置300及びパケット転送装置400を有する。
トラヒック情報収集・DDoS攻撃検知装置200は、ルータ等のパケット転送装置400から定期的にフロー情報(送受信IPアドレス、送受信ポート番号、プロトコル番号等の組からなるフロー毎の通信量等)を収集し、収集したフロー情報を分析することで特定の宛先へのDDoS攻撃の発生を検知する。また、攻撃を検知した場合、トラヒック情報収集・DDoS攻撃検知装置200は、自ASのDDoS連携対処装置100に対して、標的システムのIPアドレスを含む攻撃検知メッセージを送信する。攻撃検知メッセージに含まれる標的IPアドレスは、標的のシステムが複数存在する場合には、複数個通知されてもよい。なお、トラヒック情報収集・DDoS攻撃検知装置200は、例えば、非特許文献4に記載されるSAMURAI等によって実現されてもよい。さらに、トラヒック情報収集・DDoS攻撃検知装置200は、DDoS攻撃が発生した際、又は任意のタイミングで、標的のIPアドレス宛通信量、mitigation装置50の最大リソース量、mitigation装置50の利用可能なリソース量等を測定し、自ASのDDoS連携対処装置100に通知する機能を有する。
mitigation装置50は、非特許文献2に説明される装置のように、DDoS攻撃対処に特化した装置であり、ある宛先に対する通信の中から攻撃通信と正常通信とを区別して、攻撃通信のみを遮断するといった対処を行うことができる。前述の通り、DDoS攻撃対処の手段はこの他にも想定できるが、本実施形態では、DDoS攻撃対処のための手段の一例として、ASがmitigation装置50を保有する場合について記載している。
ネットワーク制御装置300は、ルータ等のパケット転送装置400を制御する機能を有する。ネットワーク制御装置300は、例えば、SDN(Software-Defined Networking)コントローラであってもよい。また、ネットワーク制御装置300は、DDoS連携対処装置100と通信し、DDoS連携対処装置100から通知された情報(標的のIPアドレスの一覧、対処方式、対処のためのパラメータ等)に基づき、パケット転送装置400を制御することで、mitigation装置50に標的宛の通信を迂回させたり、各パケット転送装置400にフィルタリングを設定したりといった制御を行う。mitigation装置50を利用して対処する場合の具体例を説明すると、ネットワーク制御装置300は、BGP(Border Gateway Protocol)又はOpenFlow等を利用し、各パケット転送装置400の保有する標的宛パケットの転送に関わるルーティング情報を一時的に書き換える(転送先をmitigation装置50のIPアドレスに変更する)ことで、標的宛パケットのみをmitigation装置50に迂回させて検査・対処することができる。
DDoS連携対処装置100は、ネットワーク制御装置300と通信し、標的のIPアドレスの一覧を含むDDoS攻撃情報、DDoS攻撃の対処方式(例えば、mitigation装置50を利用)、対処する通信量(mitigation装置50に引き込む標的宛通信量)等を通知する。また、DDoS連携対処装置100は、トラヒック情報収集・DDoS攻撃検知装置200と通信し、標的のIPアドレス宛の通信量、mitigation装置50の最大リソース量や利用可能なリソース量等を取得する。また、攻撃検知メッセージを受信した場合、DDoS連携対処装置100は、攻撃検知メッセージに含まれる標的IPアドレスを後述される標的IPアドレステーブルに蓄積していく。さらに、DDoS連携対処装置100は、連携先ASのDDoS連携対処装置100と通信し、DDoS攻撃情報(標的ASを識別可能な番号(ID)、標的IPアドレスの一覧等)や連携対処に必要な情報(各ASを流れる標的IPアドレス宛通信量を宛先AS単位で合算した値、利用可能なmitigation装置50のリソース量、各ASのmitigation装置50で対処する標的宛通信量といった対処パラメータ等)をやり取りする。ここで、DDoS攻撃情報は、上記情報のみに限定されず、連携対処する際のやり方に応じて、攻撃タイプ、攻撃元のIPアドレス情報等を含むものであってもよい。
DDoS連携対処装置100は、典型的には、サーバにより実現されてもよく、例えば、バスを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、プロセッサ、インタフェース装置及び通信装置から構成される。DDoS連携対処装置100における後述される各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、CD−ROM(Compact Disk−Read Only Memory)、DVD(Digital Versatile Disk)、フラッシュメモリなどの記録媒体によって提供されてもよい。プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなDDoS連携対処装置100の各種機能及び処理を実行する。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置は、インターネットなどのネットワークと通信するための各種通信処理を実行する。
しかしながら、DDoS連携対処装置100は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。なお、本実施例で示す構成は一例であり、例えば、トラヒック情報収集・DDoS攻撃検知装置200やネットワーク制御装置300は、DDoS連携対処装置100に組み込まれてもよい。
次に、図3を参照して、本発明の一実施形態によるDDoS連携対処装置を詳細に説明する。図3は、本発明の一実施形態によるDDoS連携対処装置の構成を示すブロック図である。
図3に示されるように、DDoS連携対処装置100は、処理部110、記憶部120及び通信部130を有する。
処理部110は、以下で詳細に説明されるように、DDoS攻撃の標的IPアドレス宛の通信量を取得し、標的AS毎に標的IPアドレス宛の通信量の合計通信量を算出し、算出した標的AS宛の合計通信量に対してmitigation装置50などのASの防御機能のリソース割当量を決定する。具体的には、処理部110は、以下で詳細に説明されるメッセージ受付部111、攻撃検知メッセージ処理部112、情報要求メッセージ処理部113、情報応答メッセージ処理部114、対処要求メッセージ処理部115、再調整メッセージ処理部116、パラメータ調整部117及び攻撃対処設定部118を有する。
記憶部120は、自AS及び連携ASのDDoS攻撃に関する情報を記憶し、具体的には、標的IPアドレス情報テーブル、攻撃情報テーブル、連携先AS情報テーブル及びmitigation装置情報テーブルを有する。
通信部130は、他のASのDDoS連携対処装置100、自ASのトラヒック情報収集・DDoS攻撃検知装置200及び自ASのネットワーク制御装置300と通信する。また、パケット転送装置400やmitigation装置50から直接情報を取得したり、制御したりする場合には、通信部130はこれらの装置とも通信する。
メッセージ受付部111は、トラヒック情報収集・DDoS攻撃検知装置200や他のDDoS連携対処装置100からの各種メッセージを待ち受け、受信したメッセージの種類に応じて対応するメッセージ処理部に振り分ける機能を有する。図4に示されるように、ステップS101において、メッセージ受付部111は、受信したメッセージをキューに格納し、例えば、FIFO方式で対応するメッセージ処理部に転送する。メッセージは、攻撃検知メッセージ、情報要求メッセージ、情報応答メッセージ、対処要求メッセージ、再調整メッセージの5種類存在する。各メッセージの内容等の詳細は後述する。
攻撃検知メッセージ処理部112は、トラヒック情報収集・DDoS攻撃検知装置200からの攻撃検知メッセージに応答して処理を行う。攻撃検知メッセージを受信した場合(S110)、攻撃検知メッセージ処理部112は、図5に示されるような自ASの標的IPアドレス情報テーブルに、攻撃検知メッセージに含まれる標的IPアドレスを追加する(S111)。ここで、標的IPアドレス情報テーブルは、自ASで標的となっているシステムのIPアドレスを管理するためのテーブルであり、図5に示されるようなテーブル形式を有してもよい。図5に示される例では、標的IPアドレス情報テーブルは、攻撃の被害に遭っているASのID(「標的AS番号」)及び標的IPアドレスで構成される。本テーブルの標的IPアドレスの情報は、新規のIPアドレス宛攻撃の検知の都度、または、一定時間毎等の任意のタイミングで、トラヒック情報収集・DDoS攻撃検知装置200から通知され、蓄積される。
また、攻撃検知メッセージ処理部112は、トラヒック情報収集・DDoS攻撃検知装置200を介して標的IPアドレス情報テーブルに含まれる各IPアドレス宛の通信量を取得し、図6に示されるような攻撃情報テーブルに当該IPアドレス宛通信量の和(「標的AS単位の攻撃通信量の合計値」)を格納する(S112)。ここで、攻撃情報テーブルは、各ASで対処中の攻撃を管理するためのテーブルであり、図6に示されるようなテーブル形式を有してもよい。図6に示される例では、攻撃情報テーブルは、攻撃の被害に遭っているASのID(「標的AS番号」)、後述される対処要求メッセージの直接の送信元ASのID(「要求元AS番号」)、「標的IPアドレス」、当該攻撃に対する自AS(AS2)及び他AS(AS3など)の対処ステータス情報等から構成される。攻撃情報テーブルでは、「標的AS番号」を主キーとしてレコードが用意され、他ASに関する情報は連携先ASの個数分存在する。また、対処ステータス情報は、対処を実施しているASのID(「AS番号」)、実施している対処方式(「対処方式」)、「標的AS単位の攻撃通信量の合計値」、対処している通信量(「対処中の通信量」)等の情報から構成される。特に、対処ステータスの情報は、例えば、対処方式がレートリミット等の場合には、どのくらいの量まで制限をかけるかの閾値等が登録されてもよく、上記の情報に限定されるものでない。また、同じ標的AS宛への攻撃であっても、例えば、攻撃に利用されるプロトコル等によって細かく制御を分けたい場合は、「標的AS+攻撃プロトコル等」を主キーとしてレコードを用意することも想定され、ある攻撃を管理するための情報も図示された情報に限定されない。
本処理及び以降の同様の処理においては、個々の宛先IPアドレス単位で指定して通信量を取得する場合、トラヒック情報収集・DDoS攻撃検知装置200の負荷が大きくなったり、取得に時間がかかったりする可能性がある。このため、例えば、ISPで平常時から取得していることが想定されるレベルのフローの情報(通信量の多い上位いくつかのフローの情報のみが保存)を参照し、その中に受信した標的IPアドレスの一覧に含まれるIPアドレス宛の通信量情報があれば、その情報のみを利用することも想定される。攻撃検知メッセージ処理部112は、標的AS単位の攻撃通信量の合計値が事前に設定された閾値以上の量かを判定し(S112)、閾値以上の場合は、次の2つの処理を実施する。
第1に、攻撃検知メッセージ処理部112は、図7に示されるような予め保持されている自身の連携先AS情報テーブルを参照し、各連携先ASのDDoS連携対処装置100に対して、標的IPアドレス情報テーブルにおける標的AS番号及び標的IPアドレスの一覧と自身のAS番号とを含む情報要求メッセージを送信する(S113)。なお、上記の閾値の設定方法は任意であるが、例えば、各ASの管理者による事前設定が想定される。また、標的IPアドレスの一覧は、前回送信時の差分のみを送信することで、送信するデータサイズを削減してもよい。ここで、連携先AS情報テーブルは、各ASにおいて、連携先ASの情報を管理するためのテーブルであり、図7に示されるようなテーブル形式を有する。図7に示される例では、連携先AS情報テーブルは、「連携先ASのID」と「DDoS連携対処装置のIPアドレス」、「mitigation装置の利用可能リソース量」で構成されているが、連携先ASのDDoS連携対処装置100との通信形態によって、DDoS連携対処装置100のMACアドレスやポート番号等の他の情報が登録されてもよい。
第2に、攻撃検知メッセージ処理部112は、トラヒック情報収集・DDoS攻撃検知装置200を介して、後述するパラメータ調整に用いる自ASのmitigation装置50の利用可能リソース量を取得し、図8に示されるような自身のmitigation装置情報テーブルの値に登録する(S114)。ここで、mitigation装置情報テーブルは、各ASにおいてmitigation装置50の情報を管理するためのテーブルであり、図8に示されるようなテーブル形式を有してもよい。図8に示される実施例では、mitigation装置情報テーブルは、「最大リソース量」、最大リソース量から攻撃対処に利用中のリソース量を減算した値である「利用可能リソース量」等の情報から構成される。これらの情報は、トラヒック情報収集・DDoS攻撃検知装置200を介してmitigation装置50等から定期的または任意のタイミングで収集され、更新される。また、最大リソース量は、mitigation装置50を導入する際に管理者によって登録されてもよい。ここでは、mitigation装置50が1つのAS内に複数存在する場合は、その合計値を登録することを想定しているが、mitigation装置単位で管理してもよい。また、すでにその標的AS宛の攻撃に対処中の場合は、攻撃検知メッセージ処理部112は、自ASの攻撃情報テーブルに基づき対処中の標的AS宛通信量を取得してもよい。なお、攻撃検知メッセージを受信した時点で、後述する攻撃対処設定部118による攻撃対処を実施してもよい。
情報要求メッセージ処理部113は、他のASのDDoS連携対処装置100からの情報要求メッセージに応答して処理を行う。情報要求メッセージを受信した場合(S120)、情報要求メッセージ処理部113は、当該情報要求メッセージに含まれる標的AS番号、標的IPアドレスの一覧及びメッセージの送信元のAS番号を自身の攻撃情報テーブルに登録する(S121)。また、情報要求メッセージ処理部113は、トラヒック情報収集・DDoS攻撃検知装置200を介して受信した標的IPアドレスの一覧に含まれる各IPアドレス宛の通信量を取得し、その合計値を攻撃情報テーブルの標的AS単位の攻撃通信量の合計値として登録する(S122)。この際、情報要求メッセージ処理部113は、例えば、BGP (Border Gateway Protocol)の経路情報等を用いて、自ASからメッセージの送信元ASまで標的宛通信が流れているかの判断を行い、流れていない場合は、標的宛通信量を0として登録する。また、情報要求メッセージ処理部113は、標的AS単位の攻撃通信量の合計値が事前に設定された閾値以上かを判定し(S122)、閾値以上の場合は次の3つの処理を実施する。
第1に、情報要求メッセージ処理部113は、自ASの連携先AS情報テーブルに含まれる連携先AS(メッセージの送信元を除く)のDDoS連携対処装置100に対して、受信したメッセージに含まれる標的AS番号、標的IPアドレスの一覧及び自身のAS番号を含む情報要求メッセージを送信する(S123)。
第2に、情報要求メッセージ処理部113は、トラヒック情報収集・DDoS攻撃検知装置200を介して防御機能(mitigation装置50等)の利用可能リソース量を取得し、自身のmitigation装置情報テーブルの値に登録する。また、すでにその標的AS宛の攻撃に対処中の場合は、情報要求メッセージ処理部113は、自ASの攻撃情報テーブルに基づき対処中の標的AS宛通信量を取得する。第3に、情報要求メッセージ処理部113は、情報要求メッセージの送信元ASに、受信した情報要求メッセージに含まれるものと同じ標的AS番号、自身のAS番号、自AS内を流れる標的AS単位の攻撃通信量の合計値、mitigation装置50の利用可能リソース量及び対処中の標的AS宛通信量を含む情報応答メッセージを送信する(S124)。
情報応答メッセージ処理部114は、他のASのDDoS連携対処装置100からの情報応答メッセージに応答して処理を行う。情報応答メッセージを受信した場合(S130)、情報応答メッセージ処理部114は、そのメッセージに含まれる標的AS番号を参照して、攻撃情報テーブル内の対応する行の他ASに関する情報部分を受信した情報で更新する(S131)。具体的には、情報応答メッセージ処理部114は、メッセージ送信元AS番号(新規登録の場合)、標的AS単位の攻撃通信量の合計値及び対処中の標的AS宛通信量を更新する。また、情報応答メッセージ処理部114は、連携先AS情報テーブルのmitigation装置50の利用可能リソース量(メッセージの送信元ASの値)を更新する。
さらに、"メッセージに含まれる標的AS番号と自身のAS番号が同じ場合であって、その標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合(S132)"、または、"メッセージに含まれる標的AS番号と自身のAS番号が異なる場合であって、その標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合で、その標的AS番号を含む対処要求メッセージを下流ASから受信済みの場合(S136)"は、連携先ASとの間で後述されるパラメータ調整部117によるパラメータ調整処理を実施する。
情報応答メッセージ処理部114は、パラメータ調整処理の結果得られた「その標的AS宛通信に対して各ASで対処する通信量」を用いて、mitigation装置情報テーブルの利用可能リソース量の値(自ASで対処する通信量分減算)、攻撃情報テーブルの自ASに関する情報の標的AS単位の攻撃通信量の合計値(他ASで対処する通信量分減算)と自ASと他ASの情報内の対処中の通信量の値(それぞれのASで対処する通信量の値を設定)を更新する(S133,S134,S137,S138)。また、後述される攻撃対処設定部118による標的宛通信への対処を実施する。
また、情報応答メッセージ処理部114は、対処要求メッセージの送信元AS(下流AS)のDDoS連携対処装置100に対して、再調整メッセージを送信する(S139)(本処理はメッセージに含まれる標的AS番号と自身のAS番号が異なる場合のみ実施)。再調整メッセージには、標的AS番号(受信メッセージに含まれるものと同じ値を設定)、自身のAS番号、標的AS単位の攻撃通信量の合計値、mitigation装置50の利用可能リソース量、対処中の標的AS宛通信量が含まれる。
また、情報応答メッセージ処理部114は、連携先AS(メッセージの送信元を除く)のDDoS連携対処装置100に対して、対処要求メッセージを送信する(S135,S140)。対処要求メッセージには、標的AS番号(受信メッセージの標的AS番号と同じ値を設定)、自身のAS番号、メッセージの宛先ASで対処する標的AS宛通信量(調整の結果得られた値)、メッセージの宛先ASで対処する標的AS宛通信量(調整の結果得られた値)から調整に用いたメッセージの宛先ASで対処中の標的AS宛通信量を減算した値(以降、標的AS宛通信に対する対処量の差分値)が含まれる。なお、標的AS宛通信に対する対処量の差分値は、異なるASを標的とする複数の攻撃に並列的に対処する際の情報のズレを補正するために利用する。
対処要求メッセージ処理部115は、他のDDoS連携対処装置100からの対処要求メッセージに応答して処理を行う。対処要求メッセージを受信した場合(S150)、対処要求メッセージ処理部115は、標的AS宛通信に対する対処量の差分値を用いて、mitigation装置情報テーブルの利用可能リソース量(差分値分減算)及び攻撃情報テーブルの自ASで対処中の標的AS宛通信量(差分値分加算)を更新する。また、後述の攻撃対処設定部118による標的宛通信への対処を実施する(S151)。"メッセージに含まれる標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合(S152)"、連携先ASとの間で後述のパラメータ調整部117によるパラメータ調整処理を実施する(S153)。パラメータ調整後の処理は、前述の情報応答メッセージ処理部のパラメータ調整後の処理と同様である(S154〜S156)。
再調整メッセージ処理部116は、他のASのDDoS連携対処装置100からの再調整メッセージに応答して処理を行う。再調整メッセージを受信した場合(S160)、再調整メッセージ処理部116は、受信メッセージに含まれる標的AS番号を参照して、攻撃情報テーブル内の対応する行の他ASに関する情報(メッセージ送信元AS番号に対応する部分)を受信した情報で更新する(S161)。具体的には、再調整メッセージ処理部116は、標的AS単位の攻撃通信量の合計値及び対処中の標的AS宛通信量を更新する。また、再調整メッセージ処理部116は、連携先AS情報テーブルのmitigation装置50の利用可能リソース量(メッセージの送信元ASの値)を更新する。その後、連携先ASとの間で後述のパラメータ調整部によるパラメータ調整処理を実施する(S162)。パラメータ調整後の処理は、前述の情報応答メッセージ処理部のパラメータ調整後の処理と同様である(S163〜S165)。
パラメータ調整部117は、他の処理部によって呼び出され、攻撃情報テーブル、連携先AS情報テーブル及びmitigation装置情報テーブルに格納された情報(自AS及び連携先ASの標的AS単位の攻撃通信量の合計値、対処中の通信量、利用可能リソース量)に基づき、任意のAS宛の攻撃に対して自ASと連携先AS間で対処する通信量を算出する機能を有する。ここでは、標的AS単位で攻撃をまとめて各ASで対処する通信量を調整することで、標的IPアドレス単位で1つずつ調整する場合と比較して、必要な調整回数を削減できる。なお、後述の実施例では、各ASがmitigation装置50を利用して対処する際に、各ASのmitigation装置50の使用率ができるだけ均一になるように、各ASで対処する通信量を調整する方法について説明する。しかしながら、調整のためのポリシ(目的関数)は上記に限定されるものではない。
攻撃対処設定部118は、他の処理部によって呼び出され、標的IPアドレス情報テーブル及び攻撃情報テーブルを参照することで、標的IPアドレスの一覧、対処方式及び自ASで対処する標的AS宛通信量を取得し、これらの情報をネットワーク制御装置300に通知する機能を有する。前述のとおり、ネットワーク制御装置300は、受信した上記の情報に基づき、標的AS宛通信(の内、標的IPアドレスの一覧に含まれるIPアドレス宛通信)を、通知された通信量分だけmitigation装置50に引き込んで対処する。また、他の処理部による攻撃対処設定部118の呼び出しのタイミングも任意であり、例えば、各種メッセージを受信したタイミング、メッセージ処理部によるパラメータ調整処理が終了したタイミングで呼び出されることが想定される。
次に、図9〜10を参照して、本発明の一実施形態によるDDoS連携対処装置の間の動作手順及び各ASがmitigation装置50を保有している場合に、複数AS間で連携対処を行う際の対処ロジックの一例を説明する。図9及び図10は、本発明の一実施形態によるDDoS連携対処装置間の動作手順を示すシーケンス図である。本対処ロジックでは、複数箇所が同時に攻撃される場合にも対処不能にならないように、可能な限り各ASのmitigation装置50の使用率が均一になるように、各mitigation装置50で処理する通信量を調整しながら対処を実施する。本対処ロジックは一例であり、例えば、攻撃元に最も近いASから順に、mitigation装置50のリソース上限まで各標的AS宛攻撃に対処する等、任意の対処ロジックを適用できる。
ここでは、下流ASが、上流ASのmitigation装置50で検査済みのパケットと未検査のパケットとを区別可能であることを前提とし、各ASでは、標的宛かつ未検査のパケットのみを対象に、指定された通信量分をmitigation装置50に引き込んで対処する。なお、検査済みのパケットと未検査のパケットとを区別可能にする方法としては、例えば、OpenFlow等を利用して、上流ASにおいて、mitigation装置50で検査済みの標的宛パケットの宛先IPアドレスを、被害AS内の平常時は使用していない任意のIPアドレスに書き換え、被害ASに到達後に、元のIPアドレスに戻すといった方法や、GRE(Generic Routing Encapsulation)等のトンネリング技術を利用して、被害ASの任意のルータ等までカプセル化して転送するといった方法が考えられるが、これらの方法に限定するものではない(どちらの方法でも、上流ASのmitigation装置50で検査済みの場合は、途中のASでは、標的とは異なる宛先IPアドレスのパケットに見えるため、mitigation装置50への二重引き込みを回避できる)。この場合、被害ASのDDoS連携対処装置100と対処を実施するASのDDoS連携対処装置100との間で、書き換えに利用するIPアドレス情報、トンネルの始点、終点となるノードのIPアドレスを追加で共有する必要があり、例えば、対処要求メッセージに含めて共有することが考えられる。
以降では、AS1のトラヒック情報収集・DDoS攻撃検知装置200による標的システム1及び標的システム2への攻撃の検知をトリガーとして、自動的にAS間での連携対処が行われる際の動作手順を説明する。ここでは、各ASのDDoS連携対処装置100は、トラヒック情報収集・DDoS攻撃検知装置200や他のASのDDoS連携対処装置100からのメッセージを常に待ち受け、メッセージを受信した際には、上述したように当該メッセージに対する処理を実施する。また、あるメッセージの処理中に他のメッセージを受信した場合は、受信したメッセージをキューに貯めていき、最も古いメッセージから1つずつ処理を実施する場合を記載している。また、以下の実施例では、1つのAS(AS1)が標的となっている場合について記載しているが、複数のASが同時に攻撃される場合にも、それぞれの攻撃に並列で対処することができる。
図9に示されるように、ステップS201において、AS1のトラヒック情報収集・DDoS攻撃検知装置200は、攻撃の発生を検知し、AS1のDDoS連携対処装置100に標的システム1と標的システム2とのIPアドレスを含む攻撃検知メッセージを送信する。
ステップS202において、AS1のDDoS連携対処装置100は、自ASの標的IPアドレス情報テーブルに攻撃検知メッセージに含まれる標的IPアドレスを追加する。
ステップS203において、AS1のDDoS連携対処装置100は、トラヒック情報収集・DDoS攻撃検知装置200を介して標的IPアドレス情報テーブルに含まれるIPアドレス宛通信量を取得し、その通信量の合計値を自身の攻撃情報テーブルに格納する。
ステップS204において、AS1のDDoS連携対処装置100は、標的AS単位の攻撃通信量の合計値が事前に設定された閾値以上の量かを判定し、閾値以上の場合は、自身の連携先AS情報テーブルを参照し、各連携先AS(AS2, AS5)のDDoS連携対処装置100に対して、標的AS番号、標的IPアドレスの一覧及び自身のAS番号を含む情報要求メッセージを送信する。さらに、AS1のDDoS連携対処装置100は、トラヒック情報収集・DDoS攻撃検知装置200を介して後述するパラメータ調整に用いる自ASのmitigation装置50の利用可能リソース量を取得し、自身のmitigation装置情報テーブルに登録する。また、すでにその標的AS宛の攻撃に対処中の場合は、AS1のDDoS連携対処装置100は、自ASの攻撃情報テーブルに基づき対処中の標的AS宛通信量を取得する。ここでは、対処中の標的AS宛通信量は0とする。
ステップS205において、AS2及びAS5のDDoS連携対処装置100は、AS1からの情報要求メッセージに含まれる標的AS番号、標的IPアドレスの一覧及びメッセージの送信元のAS番号を自身の攻撃情報テーブルに登録する。
ステップS206において、AS2及びAS5のDDoS連携対処装置100は、自ASのトラヒック情報収集・DDoS攻撃検知装置200を介して標的IPアドレスの一覧に含まれるIPアドレス宛通信量を取得し、その合計値を攻撃情報テーブルの標的AS単位の攻撃通信量の合計値として登録する。この際、AS2及びAS5のDDoS連携対処装置100は、例えば、BGPの経路情報等を用いて、自ASからメッセージの送信元ASまで標的宛通信が流れているかの判断を行い、流れていない場合は、標的宛通信量を0として登録する。
ステップS207において、AS2及びAS5のDDoS連携対処装置100は、標的AS単位の攻撃通信量の合計値が事前に設定された閾値以上の量かを判定し、閾値以上の場合は、自ASの連携先AS情報テーブルに含まれる連携先AS(メッセージの送信元を除く)のDDoS連携対処装置100に対して、受信したメッセージに含まれる標的AS番号、標的IPアドレスの一覧及び自身のAS番号を含む情報要求メッセージを送信する。ここでは、AS2の連携先はAS1、AS3、AS8であり、AS5の連携先はAS1とする。つまり、AS2はAS3とAS8に情報要求メッセージを送信し、AS5は他のASに情報要求メッセージを送信しない。また、AS2からの情報要求メッセージを受信したAS3とAS8は、上述したステップS205の情報要求メッセージ受信処理を同様に実施する。本手順のように、情報要求メッセージを先に上流AS方向に送信しておくことで、各ASは、他のASでの調整を待たずに標的宛通信量の取得処理を開始でき、インターネット全体として迅速な調整を行うことができる。また、AS2及びAS5のDDoS連携対処装置100は、トラヒック情報収集・DDoS攻撃検知装置200を介してmitigation装置50の利用可能リソース量を取得し、自身のmitigation装置情報テーブルに登録する。また、すでにその標的AS宛の攻撃に対処中の場合は、AS2及びAS5のDDoS連携対処装置100は、自ASの攻撃情報テーブルに基づき対処中の標的AS宛通信量を取得する。ここでは、対処中の標的AS宛通信量は0とする。さらに、AS2及びAS5のDDoS連携対処装置100は、情報要求メッセージの送信元ASに、受信した情報要求メッセージに含まれるものと同じ標的AS番号、自身のAS番号、自AS内を流れる標的AS単位の攻撃通信量の合計値、mitigation装置の利用可能リソース量及び対処中の標的AS宛通信量を含む情報応答メッセージを送信する。ここでは、AS1が、AS2からの情報応答メッセージを先に受信し、その後、AS5からの情報応答メッセージを受信した場合について記載する。
ステップS208において、AS1のDDoS連携対処装置100は、AS2からの情報応答メッセージを受信した場合、そのメッセージに含まれる標的AS番号を参照して、攻撃情報テーブル内の対応する行の他ASに関する情報部分を、受信した情報で更新する。具体的には、AS1のDDoS連携対処装置100は、メッセージ送信元のAS2の情報として、受信した標的AS単位の攻撃通信量の合計値及び対処中の標的AS宛通信量を登録する。
ステップS209において、AS1のDDoS連携対処装置100は、連携先AS情報テーブルのmitigation装置50の利用可能リソース量(メッセージの送信元ASの値)を登録する。
ステップS210において、AS1のDDoS連携対処装置100は、AS2からの情報応答メッセージに対して、"メッセージに含まれる標的AS番号と自身のAS番号が同じ場合であって、その標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合"、または、"メッセージに含まれる標的AS番号と自身のAS番号が異なる場合であって、その標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合であって、その標的AS番号を含む対処要求メッセージを下流ASから受信済みの場合"の条件に合致するかの判定を行い、合致しないため処理を終了する。
ステップS211において、AS1のDDoS連携対処装置100は、AS5からの情報応答メッセージを受信した場合、そのメッセージに含まれる標的AS番号を見て、攻撃情報テーブル内の対応する行の他ASに関する情報部分を、受信した情報で更新する。具体的には、AS1のDDoS連携対処装置100は、メッセージ送信元のAS5の情報として、受信した標的AS単位の攻撃通信量の合計値及び対処中の標的AS宛通信量を登録する。
ステップS212において、AS1のDDoS連携対処装置100は、連携先AS情報テーブルのmitigation装置50の利用可能リソース量(メッセージの送信元ASの値)を登録する。
ステップS213において、AS1のDDoS連携対処装置100は、AS5からの情報応答メッセージに対して、ステップS210と同様の条件による判定を行い、"メッセージに含まれる標的AS番号と自身のAS番号が同じ場合であって、その標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合"に合致するため、下記の最適化問題を解くことで、各AS(AS1、AS2、AS5)で対処する標的AS宛通信量を算出する。一般化した表現では、当該最適化問題は以下とすることができる。
AS1、AS2、AS5で調整する場合には、以下の最適化問題を解くことになる。
ステップS214において、AS1のDDoS連携対処装置100は、パラメータ調整処理の結果得られた、「その標的AS宛通信に対して各ASで対処する標的AS宛通信量」を用いて、mitigation装置情報テーブルの利用可能リソース量の値(自ASで対処する通信量分減算)、攻撃情報テーブルの自ASに関する情報の標的AS単位の攻撃通信量の合計値(他ASで対処する通信量分減算)と自ASと他ASの情報内の対処中の通信量の値(それぞれのASで対処する通信量の値を設定)を更新する。
ステップS215において、AS1のDDoS連携対処装置100は、ネットワーク制御装置300に対して、標的IPアドレス、自ASで対処する標的AS宛通信量を通知する。
ステップS216において、ネットワーク制御装置300は、攻撃情報テーブルに記載の標的IPアドレス宛通信を標的AS宛通信量分だけmitigation装置50に引き込んで対処する。
ステップS217において、AS1のDDoS連携対処装置100は、連携先AS(AS2、AS5)のDDoS連携対処装置100に対して、対処要求メッセージを送信する。対処要求メッセージには、標的AS番号(受信メッセージの標的AS番号と同じ値であるAS1を設定)、自身のAS番号(AS1を設定)、メッセージの宛先ASで対処する標的AS宛通信量(調整の結果得られたxAS及び標的AS宛通信に対する対処量の差分値(xAS−XAS)が含まれる。
図10に示されるように、ステップS218において、AS2及びAS5のDDoS連携対処装置100は、受信メッセージに含まれる標的AS宛通信に対する対処量の差分値を用いて、mitigation装置情報テーブルの利用可能リソース量(差分値分減算)及び攻撃情報テーブルの自ASで対処中の標的AS宛通信量(差分値分加算)を更新する。
ステップS219において、AS2及びAS5のDDoS連携対処装置100は、ネットワーク制御装置300を介して、標的IPアドレス宛通信を要求分だけmitigation装置50に引き込んで対処する。
ステップS220において、AS2のDDoS連携対処装置100は、"メッセージに含まれる標的AS番号を含む情報要求メッセージを送信した全てのASからその標的AS番号を含む情報応答メッセージを受信済みの場合"は、連携先AS(AS3, AS8)との間でステップS205と同様のパラメータ調整処理を実施する。なお、AS5は情報要求メッセージを送信していないため(さらに上流で対処可能なASが存在しないため)、テーブルの更新と要求分対処のみ実施して対処要求メッセージ処理を終了する。
ステップS221において、AS2のDDoS連携対処装置100は、パラメータ調整処理の結果得られた、その標的AS宛通信に対して各ASで対処する標的AS宛通信量を用いて、ステップ5と同様にテーブルの値を更新する。
ステップS222において、AS2のDDoS連携対処装置100は、ネットワーク制御装置を介して、標的IPアドレス宛通信を標的AS宛通信量分だけmitigation装置50に引き込んで対処する。
ステップS223において、メッセージに含まれる標的AS番号と自身のAS番号が異なるため、AS2のDDoS連携対処装置100は、対処要求メッセージの送信元AS(AS1)のDDoS連携対処装置100に対して、再調整メッセージを送信する。再調整メッセージには、標的AS番号(受信メッセージに含まれるものと同じ値AS1を設定)、自身のAS番号(AS2を設定)、標的AS単位の攻撃通信量の合計値、mitigation装置50の利用可能リソース量及び対処中の標的AS宛通信量が含まれる。
ステップS224において、AS2のDDoS連携対処装置100は、連携先AS(AS3、AS8)のDDoS連携対処装置に対して、対処要求メッセージを送信する。対処要求メッセージには、標的AS番号(受信メッセージの標的AS番号と同じ値であるAS1を設定)、自身のAS番号(AS2を設定)、メッセージの宛先ASで対処する標的AS宛通信量(調整の結果得られたxAS)及び標的AS宛通信に対する対処量の差分値(xAS−XAS)が含まれる。対処要求メッセージを受信したAS3、AS8は対処要求メッセージ処理を実行する。
ステップS225において、AS1のDDoS連携対処装置100は、受信メッセージに含まれる標的AS番号を参照して、攻撃情報テーブル内の対応する行の他ASに関する情報(メッセージ送信元AS2に対応する部分)を、受信した情報で更新する。具体的には、AS1のDDoS連携対処装置100は、標的AS単位の攻撃通信量の合計値及び対処中の標的AS宛通信量を更新する。また、AS1のDDoS連携対処装置100は、連携先AS情報テーブルのmitigation装置50の利用可能リソース量(メッセージの送信元AS2の値)を更新する。
ステップS226において、AS1のDDoS連携対処装置100は、更新した値を用いて、再度上述した最適化問題を解き、各AS(AS1、AS2、AS5)で対処する標的AS宛通信量を算出する。
ステップS227において、AS1のDDoS連携対処装置100は、結果として得られた、標的AS宛通信量を用いて、mitigation装置情報テーブルの利用可能リソース量の値(自ASで対処する通信量分減算)、攻撃情報テーブルの自ASに関する情報の標的AS単位の攻撃通信量の合計値(他ASで対処する通信量分減算)と自ASと他ASの情報内の対処中の通信量の値(それぞれのASで対処する通信量の値を設定)を更新する。
ステップS228において、AS1のDDoS連携対処装置100は、ネットワーク制御装置300に標的IPアドレス及び自ASで対処する標的AS宛通信量を通知する。
ステップS229において、ネットワーク制御装置は、標的IPアドレス宛通信を標的AS宛通信量分だけmitigation装置50に引き込んで対処する。
ステップS230において、AS1のDDoS連携対処装置100は、連携先AS(AS2、AS5)のDDoS連携対処装置100に対して、対処要求メッセージを送信する。対処要求メッセージを受信したAS2、AS5は、対処要求メッセージ処理を実施する。
各ASでは、各種メッセージを受信する都度、受信したメッセージに対応する処理が実施される。これが繰り返されることで、ある標的AS宛通信に対して、インターネット全体でのパラメータ調整が実施される(各ASで対処する通信量が最適化される)。
なお、無限にパラメータ調整が実施されるのを防ぐための収束条件としては、例えば、各ASにおいて、ある標的宛通信に対する1つ前の調整処理の結果得られたFの値と現在の調整の結果得られたFの値を比較して、事前設定した閾値以上改善していない場合は、そのパラメータ調整を実施せず、当該メッセージ処理を終了されてもよい。収束条件については任意であり、この方法に限定されない。
また、攻撃量の変化等に追従するために、標的ASのDDoS連携対処装置100は、攻撃検知メッセージの受信、1回目の対処要求メッセージの送信等を契機とし、例えば一定時間経過毎に連携先ASに対して情報要求を再送信することで、その時点で最新の通信量情報等を用いて、パラメータ調整を再実施してもよい。
なお、上述したDDoS連携対処装置100の各機能部及び各ステップは、コンピュータのメモリ装置に記憶されたプログラムをプロセッサが実行することによって実現されてもよい。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。