以下、図面に基づいて本発明の実施の形態を説明する。
以下の実施例では、分散処理的なアーキテクチャを利用して、高いスケーラビリティによって、インターネット全体でのDDoS攻撃情報(標的のIPアドレスなど)の共有や連携対処を実現するための技術が開示される。具体的には、インターネットを構成するネットワークを保有・管理する組織、すなわち、自律システム(以降、AS:Autonomous System)において、DOTSシステムのようなDDoS攻撃情報共有機能を保有するASが任意数存在する場合に、あるASのDDoS攻撃情報共有機能は、ネットワーク的に近い場所に存在するAS(複数可)のDDoS攻撃情報共有機能とのみ、DDoS攻撃情報や対策要求等をやり取りする。また、DDoS攻撃情報や対策要求等を受信したASは、同様に、ネットワーク的に近い場所に存在する情報送信元ASとは異なるAS(複数可)のDDoS攻撃情報共有機能と通信を行う。このようにして、受信したDDoS攻撃情報や対策要求等を順次伝搬していくことで、徐々に攻撃元に近いASに向かって情報が伝達されていく。
本仕組みにより、各ASが直接通信するASは近隣のいくつかのASに限定され、分散処理によって、適切な(攻撃元に近い)情報伝達先を決定して情報を伝達していくことで、インターネット全体に適用する際にも、高いスケーラビリティでのDDoS攻撃情報の共有・対処の連携が可能となる。
また、各ASで対処する攻撃量等のパラメータも、攻撃の被害側ASから攻撃元に近いAS方向に向かって、近隣AS間で随時、分散処理的に調整していくことで、インターネット全体で連携の取れた対処(対処パラメータの設定)が実現可能となる。
まず、図1を参照して、本発明の一実施形態によるネットワークを説明する。図1は、本発明の一実施形態によるネットワークの構成図を示す。本実施形態では、ネットワーク(インターネット)を構成する複数の組織ネットワーク(AS)の内、一部のASが本発明によるシステム(DDoS攻撃情報共有装置)を保有する。また、一例として、AS1(ISP網等)内にあるサーバが、他のAS内に存在する攻撃者の端末からのDDoS攻撃の標的(標的サーバ)となった場合を想定し、他のASとのDDoS攻撃情報の共有と連携対処時のパラメータ調整等に必要な情報とを共有する方法と、連携対処のための他ASへの対策要求・他ASとの対処パラメータを調整する方法とを説明する。
図1に示されるように、ネットワーク10は、任意数のAS(AS1~AS8など)を有し、これらのASが相互接続されることによって、ネットワーク10のネットワークトポロジが構成される。これらのASは、DDoS mitigation装置50(以降において、mitigation装置50として参照される)及びDDoS攻撃情報共有装置100を有するAS(AS1, AS2, AS3, AS5, AS8)と、mitigation装置50及びDDoS攻撃情報共有装置100を有さないAS(AS4, AS6, AS7)とに大別される。
DDoS攻撃情報共有装置100は、後述されるように、各AS間でDDoS攻撃情報等をやり取りし、やり取りした情報に基づき、DDoS攻撃に対処するためのパラメータを調整すると共に、他のASに対してDDoS攻撃の対処を要求する。ここでは、各ASは、任意の隣接AS方向から通信が流入している場合に、どのASのDDoS攻撃情報共有装置100と通信すればよいかを示す連携先AS情報を予め保有している。なお、任意の隣接AS方向に対して、複数のASを連携先ASとして設定することも可能である。ここで、DDoS攻撃に対処するためのパラメータとは、例えば、AS1, AS2及びAS3で分担してある標的サーバ宛ての攻撃に対処する場合、各ASで標的宛通信量を何Gbpsずつmitigation装置50に引き込んで対処するかを示す量、フィルタリングする場合に各ASで何Gbpsまで標的宛通信を減らすかを示す量(フィルタリングの閾値)などである。これらの対処パラメータは、各ASを流れる標的宛通信量や各ASが保有するmitigation装置50の容量などの情報に基づき計算することによって調整される。ここで、mitigation装置50に引き込んで対処する通信量を調整する際の情報の取得の流れや計算式を含むより詳細な説明は、以下でより詳細に説明する。なお、各ASにおいて、DDoS攻撃情報共有装置100を保有し、ネットワーク的に近い連携先ASを決定する方法は任意だが、例えば、インターネットトポロジに基づき適切なASを選択すること等が想定される。例えば、図1において、AS1がAS2の方向から攻撃される場合、AS2がDDoS攻撃情報共有装置100を保有していれば、AS2のみを連携先ASとして選択し、AS2がDDoS攻撃情報共有装置100を保有していなければ、AS2に隣接するASのうちDDoS攻撃情報共有装置を保有するASを探索して連携先ASとして選択する。
AS1が攻撃の被害に遭っている場合、AS1は、標的宛通信が流入している隣接ASに対応する連携先AS(AS2、AS5とする)のDDoS攻撃情報共有装置100のみと直接通信し、DDoS攻撃情報や対策要求等をやり取りする。また、連携先AS(例えばAS2)では、AS1のDDoS攻撃情報共有装置100から受信した情報に基づき標的宛通信に対処する。さらに、連携先ASは、次のAS(自ASに標的宛通信を流している上流側に位置し、連携先ASとして設定されたASであり、AS2の場合は、AS3、AS5、AS8とする)に、DDoS攻撃情報や対策要求等を送信する。これを上流側AS方向に繰り返していくことで、攻撃元近くのASまでDDoS攻撃情報等が伝搬される。
mitigation装置50は、受信したDDoS攻撃情報等に基づき標的宛通信に対する対処を実施する。具体的なDDoS攻撃の対処方法としては、例えば、ルータ等の転送装置によるACL(Access Control List)等を利用した攻撃通信のフィルタリング、攻撃の標的宛通信の帯域制限(レートリミット等)、非特許文献3に記載されるDDoS mitigation装置等の利用が想定される。後述される本実施形態における動作手順では、図8,9を参照して対処方式によらない動作手順を説明し、その後、図10,11を参照してmitigation装置50を利用して連携対処する場合の具体的な動作手順を説明する。
次に、図2を参照して、本発明の一実施形態によるDDoS攻撃共有装置100を有するASを説明する。図2は、本発明の一実施形態におけるDDoS攻撃情報共有装置を有するASの構成図を示す。
図2に示されるように、当該ASは、mitigation装置50、DDoS攻撃情報共有装置100、DDoS攻撃検知装置200、ネットワーク制御装置300及びパケット転送装置400を有する。
DDoS攻撃検知装置200は、ルータ等のパケット転送装置400から定期的に収集したフロー情報(IPアドレス・ポート番号・プロトコル番号・TCPフラグ情報とフロー毎の通信量等)等を分析することで特定の宛先へのDDoS攻撃の発生を検知する。DDoS攻撃検知装置200は、例えば、非特許文献4に記載されるSAMURAI等によって実現されてもよい。また、DDoS攻撃検知装置200は、DDoS攻撃が発生した際、又は任意のタイミングで、標的のIPアドレス、パケット転送装置400等のトラヒック情報、mitigation装置50の最大リソース量、利用可能なリソース量等をDDoS攻撃情報共有装置100に通知する。
上述したように、mitigation装置50は、非特許文献3に説明されるDDoS mitigation装置のように、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による対処を実施する)等を通知する。また、DDoS攻撃情報共有装置100は、DDoS攻撃検知装置200と通信し、標的のIPアドレス、パケット転送装置400等のトラヒック情報、mitigation装置50の最大リソース量、利用可能なリソース量等を取得する。また、DDoS攻撃情報共有装置100は、連携先ASのDDoS攻撃情報共有装置100と通信し、DDoS攻撃情報(標的のIPアドレス等)や連携対処に必要な情報(対処方式、対処パラメータ等)をやり取りする。ここで、DDoS攻撃情報は、標的のIPアドレスに限定されず、連携して対処する際のやり方に応じて、標的宛の通信量、攻撃元のIPアドレス情報等を含むものであってもよい。DDoS攻撃情報共有装置100とネットワーク制御装置300との間でやりとりされるDDoS攻撃情報は、自らのAS内で閉じているため、どのルータにどの程度の通信量が流れているか等の細かい粒度でやりとりされてもよい。一方、DDoS攻撃情報共有装置100と連携先ASのDDoS攻撃情報共有装置100との間でやりとりされるDDoS攻撃情報については、AS内の詳細情報を外部に公開することはプライバシ、セキュリティの観点から好ましくないと考えられるため、ネットワーク全体で流れている通信量など、ある程度抽象化された情報が提供されてもよい。
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攻撃情報共有装置100を説明する。図3は、本発明の一実施形態によるDDoS攻撃情報共有装置の構成を示す。
図3に示されるように、DDoS攻撃情報共有装置100は、処理部110、記憶部120及び通信部130を有する。また、処理部110は、トラヒック情報・mitigation装置情報取得部111、攻撃対処設定部112、連携先AS判断部113、支援要求・応答部114、連携対処情報要求・応答部115、連携対処部116及び対処終了判断部117を有する。また、記憶部120は、連携先AS情報テーブル121、攻撃情報テーブル122、トラヒック情報テーブル123及びmitigation装置情報テーブル124を有する。通信部130は、他のASのDDoS攻撃情報共有装置100、DDoS攻撃検知装置200及びネットワーク制御装置300と通信する。また、パケット転送装置400やmitigation装置50から直接情報を取得したり、制御したりする場合には、通信部130はこれらの装置とも通信する。
トラヒック情報・mitigation装置情報取得部111は、DDoS攻撃検知装置200を介して、又は、ネットワーク内に存在するパケット転送装置400やmitigation装置50等と直接通信をすることで、標的のIPアドレス、各装置で処理中のトラヒック情報、mitigation装置50の利用可能なリソース量等の情報を定期的に取得し、攻撃情報テーブル122とトラヒック情報テーブル123とに格納する。
攻撃情報テーブル122は、各ASで対処中の攻撃を管理するためのものであり、図4に示されるようなテーブル形式を有する。図4に示される例では、攻撃情報テーブル122は、各ASにおいて対処中の攻撃を識別するためのID(「攻撃ID」)、その攻撃の被害に遭っているASのID(「被害AS番号」)、支援要求・連携対処情報要求等の直接の要求元ASのID(「要求元AS番号」)、「標的のIPアドレス」、その攻撃に対する自AS(AS2)及び他AS(AS3など)の対処ステータス情報等から構成される。攻撃情報テーブルでは、1つの攻撃IDに対して1行のレコードが用意され、他ASに関する情報が連携先ASの個数分存在する。主キーは、「攻撃ID」、「被害AS番号」、「要求元AS番号」、「標的のIPアドレス」を複合したものとされてもよい。また、対処ステータス情報には、対処を実施しているASのID(「AS番号」)、実施している対処方式(「対処方式」)、対処をしている通信量(「対処する通信量」)、mitigation装置50のリソース使用率(「リソース使用率」)、対処ステータス(「対処中」、「対処不可」等)等の情報から構成される。特に、対処ステータスの情報は、例えば、対処方式がレートリミット等の場合には、どのくらいの量まで制限をかけるかの閾値等が登録されてもよく、前述の情報には限定されない。また、同じ標的IPアドレスへの攻撃であっても、例えば、攻撃に利用されるプロトコル等によって細かく管理したい場合は、プロトコル等の項目を列に追加することも想定され、ある攻撃を管理するための情報も、図示された情報に限定されない。
トラヒック情報テーブル123は、各AS内のパケット転送装置400(主に、他のネットワーク、ASとの境界に設置されるエッジルータ等)で処理中のトラヒック情報を管理するためのものであり、図5に示されるようなテーブル形式を有する。図5に示される例では、トラヒック情報テーブル123は、パケット転送装置400を一意に識別可能なID(「パケット転送装置ID」)、(エッジルータの場合は)当該パケット転送装置400に接続される隣接ASのID(「隣接AS番号」)、「パケットの宛先IPアドレス」、「ポート番号」、トラヒックの「流入量」及び「流出量」等の情報から構成される。これらの情報は、DDoS攻撃検知装置200やトラヒック情報・mitigation装置情報取得部111を介して、パケット転送装置400等から定期的に収集され、更新される。トラヒック情報テーブル123において、主キーは、「パケット転送装置ID」、「隣接AS番号」、「パケットの宛先IPアドレス」及び「ポート番号」を複合したものとされてもよい。
このように、トラヒック情報テーブル123は、各パケット転送装置400のどのポートが隣接ASに接続しているかの情報と、各ポート番号にある宛先IPアドレスの通信がどれだけ流入及び流出しているかの情報とを含む。図示された例では、「転送装置1」について、AS2と接続しているポートは1であり、ポート1から流入してきた(すなわち、AS2から流入してきた)192.0.2.2宛通信が2Gbpsであり、ポート2から2Gbpsを自AS内の他の転送装置400に流出しているという情報が管理されている。なお、図2では、一例として、DDoS攻撃検知装置200を介して当該情報を取得する場合が図示されている。
攻撃対処設定部112は、標的のIPアドレス、攻撃対処に利用する方式(mitigation装置50の利用、レートリミットの利用等)、対処のためのパラメータ(例えば、mitigation装置50にどれだけの通信量を引き込むかの情報)をネットワーク制御装置300に通知する。ここで、攻撃対処に利用する方式及び対処のためのパラメータは、連携対処部116によって決定され、攻撃対処設定部112に通知される。攻撃対処に利用する方式については、DDoS攻撃情報共有装置100を有するAS間で事前に共通の方式が設定されたり、被害に遭っているASの運用者によって任意の方式が事前に設定されたり、他のASへの支援要求を含めて通知することによって対処方式を実施させてもよい。他方、対処のためのパラメータは、連携先ASを流れる標的宛通信量、mitigation装置50の最大リソース量、利用可能リソース量等であってもよく、また、後述される所定の計算式により算出されてもよい。
また、ネットワーク制御装置300が当該情報に基づくパケット転送装置400の制御を完了した際に返送される実施した対処に関する情報(対処ステータス等)を受信した場合、攻撃対処設定部112は、攻撃情報テーブル122に当該情報を格納する。
連携先AS判断部113は、トラヒック情報テーブル123に基づき、どの隣接ASから攻撃が流入しているかを判断し、連携先AS情報テーブル121と照らし合わせることで、攻撃の流入元ASに対応する連携先AS情報を取得する。例えば、連携先AS情報テーブル121は、各ASにおける連携先AS情報を管理するためのものであり、図6に示されるテーブル形式を有してもよい。図6に示される実施例では、連携先AS情報テーブル121は、任意のASと隣接するASを一意に識別可能なID(「隣接AS番号」)、その隣接方向から標的宛通信が流入している場合に、対策要求等を送信する「連携先AS情報」(AS ID、DDoS攻撃情報共有装置100のIPアドレス等)から構成される。これらの情報の取得及び設定方法は任意だが、例えば、インターネットのトポロジに基づき、各ASの隣接AS毎に、近隣のASでDDoS攻撃情報共有装置100を導入済みのASを選択して、ネットワークの管理者が事前に登録する等が想定される。攻撃が発生した際、連携先AS判断部113は、例えば、トラヒック情報テーブル123の隣接AS番号に値が設定されている行を探索し、さらに、パケットの宛先IPアドレスが標的のIPアドレスに一致する行を探索し、流入量が0よりも大きい場合には、そのAS方向から標的宛通信が流入していると判断する。
支援要求・応答部114は、連携先AS判断部113で取得した各連携先ASの支援要求・応答に対して、DDoS攻撃対策の支援要求を通知する。支援要求には、最初の支援要求元AS(被害に遭っているAS)を一意に識別可能なIDと、標的のIPアドレスと対処方式と、必要に応じて、直接の支援要求元ASを一意に識別可能なID、対処に利用するパラメータ(各ASで処理する通信量の値等)等が含まれる。また、支援要求を受信した側の支援要求・応答部114では、トラヒック情報テーブル123を参照して、標的のIPアドレス宛の通信が自ASから直接の支援要求元AS(これは、必ずしも被害ASとは一致しない)方向に流れているかを判定する。例えば、当該判定は、支援要求を受信した側のASの連携先AS情報テーブル121とトラヒック情報テーブル123とを組み合わせて行われてもよい。すなわち、受信した直接の支援要求元のASのIDと連携先AS情報テーブル121の連携先AS情報のAS番号から、対応する隣接AS番号が取得される。次に、トラヒック情報テーブル123から、取得した隣接AS番号に一致する行を探索し、さらに受信した標的宛IPアドレスに一致する行を探索し、流出量が0より大きい場合は、"標的のIPアドレス宛ての通信が自ASから直接の支援要求元AS方向に流れている"と判定される。
さらに、流れていると判定された場合は、支援要求・応答部114は、攻撃対処設定部112に受信した情報を通知し、ネットワーク制御装置300を介してパケット転送装置400等を制御することで、要求された対処を適用する。その後、対処完了を知らせるための応答(応答を返すASのID、対処ステータス情報等を含む)を要求元の支援要求・応答部114に返送する。すなわち、受信した直接の支援要求元のASのIDと連携先AS情報121のAS番号から、対応する隣接AS番号が取得される。次に、トラヒック情報テーブル123から、取得した隣接AS番号に一致する行を探索し、さらに受信した標的宛IPアドレスに一致する行を探索し、流出量が0より大きい場合は、"標的のIPアドレス宛ての通信が自ASから直接の支援要求元AS方向に流れている"と判定される。
このように、攻撃対処設定部112は、支援要求・応答部114及び連携対処部116とネットワーク制御装置300とを仲介する。対処方式がmitigation装置50を利用する場合であって、且つ対処パラメータが「なし」の情報が通知され、管理者等が事前に「mitigation装置50を利用する場合はmitigation装置50のリソース上限まで利用する」という処理を設定している場合は、攻撃対処設定部112は、対処パラメータを生成してもよい。なお、前述の攻撃対処の設定処理のタイミングで、攻撃対処設定部112は、図7に示されるようなmitigation装置情報テーブル124から取得したmitigation装置50の利用可能リソース量と、トラヒック情報テーブル123から取得した標的宛通信量の合計値とを比較し、標的宛通信量の方が大きい場合は、mitigation装置50のリソース上限まで標的宛通信を引き込むように設定を行ってもよい。mitigation装置情報テーブル124は、各ASが保有するmitigation装置情報を管理するためのものであり、図7に示されるようなテーブル形式を有してもよい。図7に示される実施例では、mitigation装置情報テーブル124は、mitigation装置50を一意に識別可能なID(「mitigation装置ID」)、当該mitigation装置の「最大リソース量」、「現在利用可能なリソース量」、「リソース使用率」等の情報から構成される。これらの情報は、DDoS攻撃検知装置200やトラヒック情報・mitigation装置情報取得部111を介して、mitigation装置50等から定期的に収集され、更新される。また、最大リソース量は、mitigation装置50を導入する際に管理者によって登録されてもよい。
任意の支援要求・応答部114からの応答を受信した場合、攻撃対処設定部112は、攻撃情報テーブル122に当該ASにおける対処ステータスを登録する。流れていないと判定された場合は、応答を返すASのID及び対処不可を表す対処ステータス情報を含む応答を返送する。また、この応答を受信した場合、攻撃対処設定部112は、攻撃情報テーブル122に受信した情報を登録する。すなわち、攻撃情報テーブル122は、攻撃対処設定部112及び連携対処情報要求・応答部115によって適宜更新される。
なお、前述の攻撃対処の設定処理のタイミングで、攻撃対処設定部112は、mitigation装置情報テーブル124から取得したmitigation装置50の利用可能リソース量と、トラヒック情報テーブル123から取得した標的宛通信量の合計値とを比較し、標的宛通信量の方が大きい場合は、mitigation装置50のリソース上限まで標的宛通信を引き込むように設定を行うことも可能である。この実現方法は任意だが、例えば、パケット転送装置400において、mitigation装置50への引き込みを行うためのルーティング情報と、mitigation装置50への引き込みを行わない(元のまま転送するための)ルーティング情報とを用意して、各パケット等の転送時に参照するルーティング情報を確率的に切り替えることで、任意の通信量までmitigation装置50へ引き込んで対処するといった方法が想定される。
連携対処情報要求・応答部115は、連携先AS判断部113で取得した各連携先ASの連携対処情報要求・応答部115に対して、DDoS攻撃対処を連携して実施するために必要な情報(例えば、連携先AS内を流れる標的宛通信量、mitigation装置50の最大リソース量、利用可能リソース量等)を要求する。当該要求には、最初の連携対処情報要求元AS(被害に合っているAS)を一意に識別可能なIDと、標的のIPアドレスと対処方式等が含まれる。受信側の連携対処情報要求・応答部115は、通知された情報とトラヒック情報テーブル123に基づき、標的のIPアドレス宛の通信が、自ASから直接の連携対処情報要求元AS(これは、必ずしも被害ASとは一致しない)方向に流れているかを判定する。すなわち、受信した直接の支援要求元のASのIDと連携先AS情報のAS番号から、対応する隣接AS番号が取得される。次に、トラヒック情報テーブル123から、取得した隣接AS番号に一致する行が探索され、さらに受信した標的宛IPアドレスに一致する行が探索され、流出量が0より大きい場合は、"標的のIPアドレス宛ての通信が自ASから直接の支援要求元AS方向に流れている"と判定される。流れていると判定される場合は、連携対処情報要求・応答部115は、要求された情報を取得し、自身を識別するためのIDと併せて要求元の連携対処情報要求・応答部115に応答として返送する。また、連携対処情報要求を送信した全ての連携先ASから応答を受信した場合、連携対処情報要求・応答部115は、受信した情報を後述の連携対処部116に通知する。流れていないと判定された場合は、連携対処情報要求・応答部115は、応答を返すASのIDと対処不可を表す対処ステータス情報を含む応答を返送する。また、この応答を受信した場合、連携対処情報要求・応答部115は、攻撃情報テーブル122に受信した情報を登録する。
連携対処部116は、連携対処情報要求・応答部115を介して取得した連携先ASの情報(連携先ASを流れる標的宛通信量、mitigation装置50の最大リソース量、利用可能リソース量等)を用いて、連携している各ASで対処する通信量や各ASで利用するレートリミットの閾値といった対処パラメータを算出及び調整する。一例として、各ASがmitigation装置50を利用して対処する際に、各ASのmitigation装置50の使用率ができるだけ均一になるように、各ASで対処する通信量を調整する方法について後述する。しかしながら、本発明による調整を行うパラメータ及び調整のためのポリシ(目的関数)は上記に限定されるものではない。また、調整を行うパラメータに応じて、連携先ASとの間で共有が必要な情報は異なることが想定され、各AS間で共有する情報も、ASのID、mitigation装置50の最大リソース量、利用可能リソース量、各ASから被害AS方向へ流れる標的宛通信の合計値に限定されない。
対処終了判断部117は、トラヒック情報・mitigation装置情報取得部111によってトラヒック情報テーブル123が更新された際に、攻撃情報テーブル122に登録された各攻撃の標的IPアドレス宛の通信量の変化を監視し、例えば、設定された期間において設定された閾値未満の量が継続した場合、その攻撃が終了したと判断し、自身に支援要求を送信してきた下流AS(攻撃情報テーブル122の要求元AS IDから判断)に対して、対処終了要求を送信する。なお、この要求には、自身のAS ID、対処を終了する攻撃情報(要求元AS番号や標的のIPアドレス等)が含まれる。また、対処終了要求を受信した場合、下流ASのDDoS攻撃情報共有装置100は、攻撃情報テーブル122の中から要求元ASのID、標的のIPアドレスが一致する行を検索することによって対象となる攻撃の行を探索し、対処終了要求を送信してきたASに関する記載を初期化し、対処ステータスを終了に変更すると共に、対処終了要求の送信元の上流ASに応答を返す。さらに、この応答を受信した場合、対処終了判断部117は、ネットワーク制御装置300等を介して、実施中の対処を終了し、攻撃情報テーブル122の対象の攻撃に対する行を削除する。
上述した各構成要素を利用して、処理部110は、DDoS攻撃の標的アドレスを含む支援要求を他のシステムから受信すると、標的アドレス宛に流入する攻撃通信が上流のネットワークから流入しているか判断する。ここで、処理部110は、連携先ASにおける各mitigation装置50における攻撃通信に対処するため割り当てられるリソースを示す対処パラメータを調整することによって、攻撃通信に対する対処を実行してもよい。
一例として、処理部110は、mitigation装置情報124に保持される利用可能リソース量と、トラヒック情報テーブル123に保持される攻撃通信の通信量とを比較し、攻撃通信の通信量が利用可能リソース量より大きい場合、利用可能リソース量に相当する攻撃通信の通信量をmitigation装置50に割り当てることによって、攻撃通信に対する対処を実行してもよい。他の例として、処理部110は、連携先ASにおける各mitigation装置50の使用率が均一になるように対処パラメータを設定することによって、攻撃通信に対する対処を実行してもよい。
上述した実施例では、mitigation装置50を利用してDDoS攻撃に対処したが、本発明はこれに限定されず、例えば、処理部110は、ネットワーク制御装置300に攻撃通信に対してフィルタリング又は帯域制限を実行させることによって、攻撃通信に対する対処を実行してもよい。
次に、図8を参照して、本発明の一実施形態によるDDoS攻撃情報共有装置100の間の動作手順を説明する。図8A,Bは、本発明の一実施形態によるDDoS攻撃情報共有装置間の動作手順を示すシーケンス図である。
本動作手順では、DDoS攻撃の被害にあっているAS1から、直接の連携先AS2、AS5を介して、インターネット全体に支援要求を伝搬する際の動作手順を説明する。
図示されるように、ステップS101において、AS1のDDoS攻撃情報共有装置100は、連携先AS判断部113を利用して、トラヒック情報テーブル123と連携先AS情報テーブル121に基づき、標的宛通信の流入する隣接ASに対応する連携先AS情報としてAS2とAS5を取得する。ここで、各ASにおける連携先AS情報は事前設定されていることを前提とする。標的のIPアドレスは、例えば、攻撃発生時に、DDoS攻撃検知装置200からDDoS攻撃情報共有装置100に通知される。
ステップS102において、AS1のDDoS攻撃情報共有装置100は、取得したAS2, AS5のDDoS攻撃情報共有装置100に、AS1のID、標的のIPアドレス、対処方式等を含む支援要求を送信する。
ステップS103において、連携先のAS2, AS5の各DDoS攻撃情報共有装置100は、支援要求において通知された情報とトラヒック情報テーブル123とに基づき、標的のIPアドレス宛の通信が、自ASから直接の支援要求元AS(AS1)方向に流れているかを判定する。具体的には、隣接ASとしてAS1に値が設定されている行を探索し、さらに、パケットの宛先IPアドレスが標的のIPアドレスに一致する行を探索し、流入量が0よりも大きい場合には、AS1方向に標的宛通信が流入していると判断してもよい。
標的宛通信が流れている場合、ステップS104において、AS2, AS5の各DDoS攻撃情報共有装置100は、支援要求を受信したASと直接の支援要求元ASとが隣接していない場合(すなわち、中間に他のASが介在する場合)、一例として、インターネットのトポロジやAS間のBGP(Border Gateway Protocol)経路情報に基づき、自ASから各隣接ASに標的宛通信を転送した場合に、支援要求元ASへ通信を転送する隣接ASが存在するかを判定する。その後、DDoS攻撃情報共有装置100は、トラヒック情報テーブル123に従ってその隣接AS方向に標的宛通信が流れているかを判定する。流れている場合、DDoS攻撃情報共有装置100は、通知された情報に基づき任意の対処を実施し、支援要求元ASから通知された情報及び実施した対処に基づき、攻撃情報テーブル122に攻撃ID、被害AS番号、要求元AS番号、標的のIPアドレス、自ASに関する情報を登録する。実施される対処の具体例として、mitigation装置50に標的宛通信を引き込んで検査・攻撃通信の対処を行ったり、ルータ等の転送装置400で標的宛通信をレートリミットする等が想定される。
他方、標的宛通信が流れていない場合、DDoS攻撃情報共有装置100は、支援要求元AS(AS1)に対して、自ASのIDと対処不可を表すステータス情報を返送し、AS1のDDoS攻撃情報共有装置100は、(応答を送信してきたASに対応する)他ASに関する情報のAS番号とステータスの項目を攻撃情報テーブル122に登録する。
ステップS105において、AS2, AS5の各DDoS攻撃情報共有装置100は、支援要求元AS(AS1)のDDoS攻撃情報共有装置100に対して、連携先のASのIDと、対処中を表す対処ステータス情報を返送する。
ステップS106において、AS1のDDoS攻撃情報共有装置100は、(応答を送信してきたASに対応する)他ASに関する情報のAS番号とステータスの項目を攻撃情報テーブル122に登録する。
ステップS107において、AS2, AS5の各DDoS攻撃情報共有装置100は、さらに上流ASから標的宛通信が流入してきているかを判定し、流入している場合は、連携先AS情報テーブル121を参照して連携先AS情報を取得する。本実施例では、AS2はさらに上流側から標的宛通信が流入しているため、AS2のDDoS攻撃情報共有装置100は、連携先AS情報テーブル121を参照して、連携先ASとしてAS3、AS5、AS8を得る。また、AS5はさらに上流側から標的宛通信が流入していないため、AS5のDDoS攻撃情報共有装置100は、この後の処理を実施しない。
ステップS108において、AS2のDDoS攻撃情報共有装置100は、取得した連携先AS3、AS5、AS8の各DDoS攻撃情報共有装置100に、AS1のID、AS2のID、標的のIPアドレス、対処方式等の含まれる支援要求を送信する。
ステップS109において、AS3、AS5、AS8の各DDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、標的のIPアドレス宛の通信が自ASから直接の支援要求元AS(AS2)方向に流れているかを判定する。
流れている場合は(AS3, AS8)、ステップS110において、DDoS攻撃情報共有装置100は、支援要求において通知された情報に基づき対処を実施し、攻撃情報テーブル122に対処ステータス等を登録する。他方、流れていない場合は(AS5)、DDoS攻撃情報共有装置100は、対処を実施しない。
ステップS111において、AS3、AS5、AS8の各DDoS攻撃情報共有装置100は、支援要求を送信したAS2のDDoS攻撃情報共有装置100に対して、各ASのIDと対処ステータス情報を含む応答を返送する。
ステップS112において、AS2のDDoS攻撃情報共有装置100は、攻撃情報テーブル122に、応答に含まれる対処ステータス情報等を登録する。すなわち、各ASの攻撃情報テーブル122では、ある攻撃に対し、自ASと上流ASの対処ステータスのみが管理され、下流ASの対処ステータスは管理されない。このように、各ASの対処ステータスは一元管理されず、近隣ASとしか直接通信を行わず、近隣ASのステータス情報しか管理しないため、スケーラビリティに対する効果を奏することができる。
ステップS113において、以降、支援要求を受信した各ASにおいて、上述したように、さらに上流ASから標的宛通信が流れているかの判定と、流れている場合は、上流側の連携先ASに支援要求を送信することとが繰り返される。これにより、インターネット全体で攻撃元に最も近いASまで、支援要求を順次伝搬することができる。
なお、対処を終了する際の処理は、例えば、下記手順で実施される。ある標的宛の攻撃対処を実施中のASであり、自身よりもさらに上流(攻撃元に近い)ASではその標的宛の攻撃対処を実施していないAS(攻撃情報テーブル122の対処ステータス情報から判断可能)において、DDoS攻撃情報共有装置100は、定期的なトラヒック情報の取得の際に、攻撃情報テーブル122に登録された各攻撃の標的となっているIPアドレス宛の通信量を監視し、事前設定した閾値を下回る時間が一定期間(任意の時間を事前設定)続いた場合、攻撃が終了したと判断し、自身に支援要求を送信してきた下流AS(攻撃情報テーブル122から判断)に対して、対処終了要求を送信する。この要求には、自身のAS ID、対処を終了する攻撃情報(被害AS ID、要求元AS IDや標的のIPアドレス等)が含まれる。
対処終了要求を受信した下流ASのDDoS攻撃情報共有装置100は、攻撃情報テーブル122の中から対象となる攻撃の行を探索し、対処終了要求を送信してきたASに関する記載を初期化し、対処ステータスを終了に変更する。具体的には、DDoS攻撃情報共有装置100は、受信した被害AS番号、要求元AS番号、標的のIPアドレスを参照して、対応する攻撃の行を探索し、その後、他ASに関する情報のAS番号が、対処終了要求を送信してきたASに一致する記載を初期化する。その後、DDoS攻撃情報共有装置100は、対処終了要求の送信元の上流ASに応答を返す。
応答を受信した上流ASのDDoS攻撃情報共有装置100は、ネットワーク制御装置300等を介して、実施中の対処を終了し、攻撃情報テーブル122の対象の攻撃に対する行を削除する。
上記の手順において、対処終了要求を受信した下流ASのDDoS攻撃情報共有装置100において、攻撃情報テーブル122の任意の攻撃の他ASに関する情報の対処ステータスが全て終了したか、又は存在せず、トラヒック情報テーブル123の当該攻撃の標的IPアドレス宛の通信量が、定期的な取得・更新の際に一定期間閾値を下回った場合、DDoS攻撃情報共有装置100は、攻撃が終了したと判断し、自身に対処要求を送信してきた自身の下流ASに対して、対処終了要求を送信する。
上述した処理を最も攻撃元近くで攻撃に対処している上流ノードから開始し、被害に遭っている下流ノード方向に随時実施していくことで、特定の攻撃が終了した際に、その攻撃の対処を実施していたすべてのASでその攻撃への対処を終了することができる。
次に、図9を参照して、本発明の一実施形態によるDDoS攻撃情報共有装置100の間の動作手順を説明する。図9は、本発明の一実施形態によるDDoS攻撃情報共有装置間の動作手順を示すシーケンス図である。
本動作手順では、AS1と直接の連携先AS2、AS5間で連携してDDoS攻撃に対処するための情報の共有に加えて、対処パラメータの調整を行う際の動作手順を説明する。
図示されるように、ステップS201において、AS1のDDoS攻撃情報共有装置100は、トラヒック情報テーブル123と連携先AS情報テーブル121とに基づき、標的宛通信の流入する隣接ASに対応する連携先AS情報を取得する。
ステップS202において、AS1のDDoS攻撃情報共有装置100は、連携先ASに連携対処情報要求を送信する。当該連携対処情報要求には、AS1のID、標的のIPアドレスと対処方式等が含まれる。要求する情報の種類は、事前にDDoS攻撃情報共有装置100を保有する全AS間で共有しておくことや、本要求メッセージの中に取得したい情報を記載しておくこと等が想定される。
ステップS203において、連携対処情報要求を受信した各ASのDDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、標的のIPアドレス宛の通信が自ASから直接の支援要求元AS(AS1)方向に流れているかを判定する。
ステップS204において、通信が流れている場合は、各ASのDDoS攻撃情報共有装置100は、要求された情報を取得後、自ASのIDと共に、連携対処情報要求元AS1のDDoS攻撃情報共有装置100に応答する。
ステップS205において、AS1のDDoS攻撃情報共有装置100は、連携対処情報要求を送信した全ての連携先ASのDDoS攻撃情報共有装置100から応答を受信した後、任意の目的関数に従って対処パラメータ(例えば、各ASで処理する攻撃量)を算出する。例えば、当該目的関数(ポリシ)として、各ASのmitigation装置50の使用率ができるだけ均一になるようにする(すなわち、各ASの保有するmitigation装置50の使用率の中で、最大となるmitigation装置50の値を最小化する)、というものを設定し、各ASで対処する通信量を線形計画問題として計算することが考えられる。この際に必要な情報としては、各ASのmitigation装置50の最大リソース量、現在の利用可能リソース量、各ASからAS1方向に流れる標的宛通信量、AS1に流入する標的宛通信量が挙げられる。
ステップS206において、AS1のDDoS攻撃情報共有装置100は、連携先ASのDDoS攻撃情報共有装置100に対して、AS1のID、標的のIPアドレス、対処方式、算出したパラメータ等を含む支援要求を送信する。
ステップS207において、支援要求を受信した各ASのDDoS攻撃情報共有装置100は、通知された情報に基づき対処を実施し、攻撃ID、被害AS番号、要求元AS番号、標的のIPアドレス、自ASに関する情報(AS番号、対処方式、対処する通信量、リソース使用率、ステータス)を攻撃情報テーブル122に登録する。
ステップS208において、支援要求を受信した各ASのDDoS攻撃情報共有装置100は、支援要求元のAS1のDDoS攻撃情報共有装置100に対して、自ASのIDと対処ステータスを含む応答を返送する。
ステップS209において、AS1のDDoS攻撃情報共有装置100は、応答に含まれる対処ステータス情報等を攻撃情報テーブル122に登録する。
ステップS210において、支援要求を受信したAS2、AS5のDDoS攻撃情報共有装置100は、さらに上流ASから、標的宛通信が流入してきているかを判定し、流入している場合、連携先AS情報テーブル121を参照して、連携先AS情報を取得し、連携先AS間と対処パラメータを調整する。具体的には、AS1とAS2とAS5と間で対処する標的宛通信量を調整した後(例えば、各ASで10Gbpsずつ対処する)、AS1から通知されたAS2で対処する標的宛通信量(10Gbps)、AS3、AS8を流れる標的宛通信量、mitigation装置50の容量等の情報(利用情報はステップS205と同じ)に基づき、AS2とAS3とAS8とでそれぞれ、3Gbps、4Gbps、3Gbps対処するといったように、さらに上位方向で対処する通信量の分担を実施する。また、AS2のDDoS攻撃情報共有装置100は、連携先ASであるAS3、AS5、AS8のうち、標的宛通信がAS2方向に流れているAS3、AS8とさらに連携対処可能であり、AS2、AS3、AS8間で対処パラメータを調整する。
以降、支援要求を受信したASの各DDoS攻撃情報共有装置100は、さらに上流ASから標的宛通信が流れているか判定し、流れている場合は、上流側の連携先AS間とのパラメータを調整することを繰り返すことで、インターネット全体で連携した対処が可能になる。
次に、図10〜11を参照して、本発明の他の実施形態によるDDoS攻撃情報共有装置100の間の動作手順を説明する。本実施形態では、各ASがmitigation装置50を保有している場合に、複数AS間で連携対処を行う際の2つの対処ロジックをそれぞれ図10及び図11を参照して説明する。
図10は、本発明の他の実施形態によるDDoS攻撃情報共有装置間の動作手順を示すシーケンス図である。図示される第1の対処ロジックでは、攻撃の被害を受けているASから、標的宛通信の流れる上流AS方向に支援要求を伝達していき、支援要求を受信したASから随時mitigation装置50へ標的宛通信を引き込んで対処する。また、支援要求を受信したASのさらに上流側ASにも、必要に応じて攻撃情報や支援要求を伝達していくことで、インターネット全体での連携対処を実現する。以降、下流ASが、上流ASのmitigation装置50において検査済みのパケットと未検査のパケットとを区別可能であることを前提とし、各ASでは、標的宛かつ未検査のパケットのみ、mitigation装置50に引き込んで対処する。このような処理により、DDoS攻撃情報共有装置100を保有しているASの中から、攻撃に最も近いASのmitigation装置50で優先的に攻撃に対処することが可能になり、DDoS攻撃によるネットワーク帯域消費を軽減できる。
なお、検査済みのパケットと未検査のパケットとを区別可能にする方法としては、例えば、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アドレスを追加で共有する必要があり、例えば、後述するステップS307の支援要求時に共有することが考えられる。以降では、DDoS攻撃検知装置200による攻撃の検知をトリガーとして、自動的にmitigation装置50による対処が行われる際の動作手順を説明する。
ステップS301において、被害側AS(AS1)のDDoS攻撃検知装置200は、転送装置400等から定期的に収集したトラヒック情報やフロー情報を解析することで、特定の宛先IPアドレスに対するDDoS攻撃の発生を検知し、DDoS攻撃情報共有装置100に標的のIPアドレス及びトラヒック情報を通知する。なお、DDoS攻撃情報共有装置100が動作を開始するトリガーとしては、本実施例のように、DDoS攻撃検知装置200等との連携による自動開始のほかに、ネットワーク等の管理者・運用者が手動で開始することも想定される。
ステップS302において、AS1のDDoS攻撃情報共有装置100は、ネットワーク制御装置300に対して、標的のIPアドレス、対処方式(mitigation装置50を利用等)を含む、攻撃対処パラメータを通知する。
ステップS303において、ネットワーク制御装置300は、通知された情報に基づき、転送装置400を制御(例えば、ルーティング情報の書き換え)することで、標的宛の通信をmitigation装置50に引き込んで対処する。
ステップS304において、ネットワーク制御装置300は、DDoS攻撃情報共有装置100に対して、実施した対処の情報(対処中を表すステータス情報等)を通知する。
ステップS305において、DDoS攻撃情報共有装置100は、受信した情報に基づき、攻撃情報テーブル122に攻撃情報と実施した対処情報とを登録する。具体的には、DDoS攻撃情報共有装置100は、攻撃ID、被害AS番号、要求元AS番号、標的のIPアドレス、自ASに関する情報を攻撃情報テーブル122に登録する。
ステップS306において、DDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、どの隣接ASから攻撃が流入しているかを判断する。また、DDoS攻撃情報共有装置100は、連携先AS情報テーブル121を参照し、攻撃の流入元ASに対応する連携先ASを取得する。
ステップS307において、DDoS攻撃情報共有装置100は、AS1のID、標的のIPアドレス、対処方式等を含む支援要求を連携先ASに送信する。
ステップS308において、連携先AS(AS2, AS5)のDDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、標的のIPアドレス宛の通信が自ASから直接の支援要求元AS(AS1)方向に流れているかを判定する。
ステップS309において、連携先ASのDDoS攻撃情報共有装置100は、通知された情報に基づき、ネットワーク制御装置300等を介して転送装置400等を制御することで、mitigation装置50による対処を実施し、攻撃情報テーブル122に登録する。(当該手順はステップS302〜S304と同様)。この際、DDoS攻撃情報共有装置100は、mitigation装置情報テーブル124に基づきmitigation装置50の利用可能リソース量を取得し、標的宛通信量の方が大きい場合は、リソース上限まで引き込むように設定してもよい。なお、ステップS308において、標的宛通信が支援要求元AS方向に流れていない場合は、DDoS攻撃情報共有装置100は、支援要求元ASに、ASのIDと対処不可を表すステータス情報を返送する。
ステップS310において、連携先ASのDDoS攻撃情報共有装置100は、支援要求に対する応答(ASのIDと対処中を表すステータス情報)を返送する。
ステップS311において、支援要求元のAS(AS1)のDDoS攻撃情報共有装置100は、対処ステータス情報等を攻撃情報テーブル122に登録する。
ステップS312において、連携先ASのDDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、さらに上流ASから標的宛通信が流入してきているかを判定し、流入している場合は、連携先AS情報テーブル121を参照して連携先AS情報を取得する。
ステップS313において、連携先ASのDDoS攻撃情報共有装置100は、ステップS312で取得したASのDDoS攻撃情報共有装置100に、AS1のID、直接の支援要求元AS(AS2)のID、標的のIPアドレス、対処方式等を含む支援要求を送信する。
ステップS314において、支援要求を受け取ったASのDDoS攻撃情報共有装置100は、ステップS308〜S313と同様の処理を実施する。
以降、支援要求を受信した各AS(AS5、AS8)において、mitigation装置50による対処を随時適用し、さらに上流ASでも対処可能な場合、上流側の連携先ASに支援要求を送信することを繰り返すことで、インターネット全体で攻撃元に最も近いASまで支援要求を伝搬し、(mitigation装置50のリソースに余裕のあるASの中で)最も攻撃元に近いASのmitigation装置50による対処を実施することができる。
図11A,Bは、本発明の他の実施形態によるDDoS攻撃情報共有装置100の間の動作手順を示すシーケンス図である。図示される第2の対処ロジックでは、複数箇所が同時に攻撃される場合にも対処不能にならないように、可能な限り各ASのmitigation装置50の使用率が均一になるように、各mitigation装置50で処理する通信量を調整しながら対処を実施する。図10の実施例と同様に、下流ASが、上流ASのmitigation装置50で検査済みのパケットと未検査のパケットとを区別可能であることを前提とし、各ASでは、標的宛かつ未検査のパケットのみを対象に、指定された通信量分をmitigation装置50に引き込んで対処する。以降では、DDoS攻撃検知装置200による攻撃の検知をトリガーとして、自動的にmitigation装置50による対処が行われる際の動作手順を説明する。
ステップS401において、被害側AS(AS1)のDDoS攻撃検知装置200は、転送装置400等から定期的に収集したトラヒック情報やフロー情報を解析することで、特定の宛先IPアドレスに対するDDoS攻撃の発生を検知し、DDoS攻撃情報共有装置100に標的のIPアドレス及びトラヒック情報を通知する。
ステップS402において、AS1のDDoS攻撃情報共有装置100は、ネットワーク制御装置300に対して、標的のIPアドレス、対処方式(mitigation装置50を利用等)を含む攻撃対処パラメータを通知する。
ステップS403において、ネットワーク制御装置300は、通知された情報に基づき、パケット転送装置400を制御(例えば、ルーティング情報の書き換え)することで、標的宛の通信をmitigation装置50に引き込んで対処する。
ステップS404において、ネットワーク制御装置300は、DDoS攻撃情報共有装置100に対して、実施した対処の情報(対処中を表すステータス情報等)を通知する。
ステップS405において、DDoS攻撃情報共有装置100は、受信した情報に基づき、攻撃情報テーブル122に攻撃情報と実施した対処情報を登録する。
ステップS406において、DDoS攻撃情報共有装置は、トラヒック情報テーブルに基づき、どの隣接ASから攻撃が流入しているかを判断し、連携先AS情報テーブルを参照して、攻撃の流入元ASに対応する連携先AS(ここでは、AS2、AS5とする)を取得する。
ステップS407において、DDoS攻撃情報共有装置100は、AS1のID、標的のIPアドレス、対処方式等を含む連携対処情報要求を取得した連携先AS(AS2、AS5)に送信する。
ステップS408において、連携先AS(以降、AS2の場合を記載)のDDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、標的のIPアドレス宛の通信が、自ASから直接の支援要求元AS(AS1)方向に流れているかを判定する。なお、本手順では記載していないが、できるだけ迅速にDDoS攻撃に対処するため、図10と同様に、このタイミングで、連携先の各ASにおいて、mitigation装置50に未検査の標的宛通信を引き込む設定を暫定的に適用してもよい。
ステップS409において、連携先AS(AS2)のDDoS攻撃情報共有装置100は、連携対処情報要求に対する応答をAS1のDDoS攻撃情報共有装置100に返送する。当該応答には、連携先ASのID、トラヒック情報テーブル123から取得したAS1方向へ流れる標的宛通信量、mitigation装置情報テーブル124から取得したmitigation装置50の最大リソース量、現在の利用可能リソース量が含まれてもよい。なお、ステップS408において、連携対処要求元AS(AS1)方向へ標的宛通信が流れていない場合は、DDoS攻撃情報共有装置100は、AS1に連携先AS(AS2)のIDと対処不可を表すステータスを返送する。また、AS1のDDoS攻撃情報共有装置100は、攻撃情報テーブル122に応答に含まれる対処ステータス情報を登録する。
ステップS410において、連携対処情報要求を送信した全ての連携先AS(AS2、AS5)から応答を受信した後、DDoS攻撃情報共有装置100は、下記の最適化問題を解くことで、各AS(AS1、AS2、AS5)で対処する標的宛通信量を算出する。一般化した表現では、当該最適化問題は以下とすることができる。
AS1、AS2、AS5で調整する場合には、以下の最適化問題を解くことになる。
ステップS411において、AS1のDDoS攻撃情報共有装置100は、AS1のネットワーク制御装置300に対して、攻撃対処パラメータ(標的のIPアドレス、対処方式、ステップS410で算出したAS1で対処する通信量)を通知する。
ステップS412において、AS1のネットワーク制御装置300は、通知された情報に基づき転送装置400を制御することで、DDoS攻撃対処を実施する。ここで、未検査の標的宛パケットのうち、ステップS410で算出した通信量分をmitigation装置50に引き込んで対処する設定を適用する。通知された通信量までmitigation装置50に引き込む制御は、例えば割合ベースで参照するルーティングテーブルを切り替える等が想定される。
ステップS413において、AS1のDDoS攻撃情報共有装置100は、ネットワーク制御装置300から実施した対処の情報を受信した後、攻撃情報テーブル122に対処ステータス情報等を登録する。
ステップS414において、AS1のDDoS攻撃情報共有装置100は、連携先AS(AS2、AS5)に対して支援要求を送信する。当該支援要求には、最初の要求元(被害)ASのID、標的のIPアドレス、対処方式、ステップS410で算出した連携先ASで対処する標的宛通信量が含まれる。
ステップS415において、連携先AS(以降、AS2の場合を記載)のDDoS攻撃情報共有装置100は、通知された情報に基づき対処を実施し、攻撃情報テーブル122に登録する(対処の実施手順はステップS411〜S413と同様)。
ステップS416において、連携先AS(AS2)のDDoS攻撃情報共有装置100は、AS1に対して支援要求に対する応答を返送する。当該応答には、連携先AS(AS2)のIDと対処中を表すステータス情報が含まれる。
ステップS417において、AS1のDDoS攻撃情報共有装置100は、攻撃情報テーブル122に応答に含まれる対処ステータス情報等を登録する。
ステップS418において、支援要求を受信した連携先AS(AS2)のDDoS攻撃情報共有装置100は、トラヒック情報テーブル123に基づき、(AS2から見て)さらに上流ASから標的宛通信が流入してきているかを判定し、流入している場合は、連携先AS情報テーブル121を参照して、連携先AS情報(ここでは、AS3、AS5、AS8とする)を取得する。
ステップS419において、連携先AS(AS2)のDDoS攻撃情報共有装置100は、上流の連携先AS(AS3、AS5、AS8)の保有するDDoS攻撃情報共有装置100に、AS1のID、AS2のID、標的のIPアドレス、対処方式等を含む連携対処情報要求を送信する。
ステップS420において、ステップS408〜S419と同様の処理(対処パラメータ調整に必要な情報の共有と最下流AS(AS2)におけるパラメータの算出と上流の連携先ASへのパラメータの共有)をAS2とその上流に位置する連携先ASであるAS3、AS5、AS8との間で実施する。ステップS410の結果算出されたAS2で処理する通信量を最適化問題の入力として与え、AS2、AS3、AS8のmitigation装置50で対処する通信量を算出する。なお、AS5は、AS5方向からAS2方向に通信が流れていないため、AS2との連携対処は実施しない。(ステップS408に相当するステップで条件に合致しないため、以降の条件に合致した場合の処理は実施しない)
ステップS421において、AS2、AS3、AS8間でのパラメータ調整の結果、AS2のmitigation装置50のリソース使用率が、ステップS410で算出した値を用いた使用率と比較して改善している場合、AS2のDDoS攻撃情報共有装置100は、AS1のDDoS攻撃情報共有装置100に対して、AS2のID、mitigation装置50の最大リソース量、現在の利用可能リソース量、AS2からAS1方向に流れる未検査の標的宛通信量等を通知する。ここで、例えば、10%以上改善している場合のみAS1に通知するといったように、任意の閾値を設定して制御することで無限にパラメータ調整が実施されるのを防ぐようにしてもよい。
ステップS422において、AS1のDDoS攻撃情報共有装置100は、使用率が改善した場合に通知する変更情報を受信した場合、入力値を更新して、再度、最適化問題を解くことで、各ASで対処する標的宛通信量を再計算する。ここで、ステップS422の結果得られた目的関数の値と、ステップS410の結果得られた目的関数の値(例えば、各ASのmitigation装置のリソース使用率の中で最大となるものの値)を比較し、事前設定した閾値(10%等)よりも改善していない場合はネットワークに適用しない、連携先ASに通知しない等の制御を行うことで、無限にパラメータ調整が実施されるのを防ぐことが想定される
ステップS423において、例えば、事前設定した閾値以上、元の使用率よりも改善した場合、DDoS攻撃情報共有装置100は、自AS(AS1)のステップS411〜S413に相当する処理を実行し、連携先AS(AS2、AS5)に再計算した各ASで対処する通信量を通知する。すなわち、DDoS攻撃情報共有装置100は、ネットワーク制御装置300に標的のIPアドレス、対処方式、新しく算出した対処する通信量を通知する。ネットワーク制御装置300は、転送装置400を制御することでDDoS攻撃対処を実施し、その結果として、対処ステータス情報をDDoS攻撃情報共有装置100に応答として送信する。DDoS攻撃情報共有装置100は、対処ステータスを攻撃情報テーブル122に登録する。
ステップS424において、連携先AS(AS2、AS5)のDDoS攻撃情報共有装置100は、通知された情報に基づき対処を実施し、攻撃情報テーブル122に登録する(対処手順はステップS410〜S412と同様)。
ステップS425において、連携先AS(AS2、AS5)のDDoS攻撃情報共有装置100は、支援要求に対する応答(連携先ASのIDと対処中を表すステータス情報)を返送する。
ステップS426において、AS1のDDoS攻撃情報共有装置100は、攻撃情報テーブル122に対処ステータス情報等を登録する。
以降、AS1の連携先AS(例えば、AS2)では、さらに上流側ノードに連携先ASが存在する場合、上流側ノード(AS3、AS8)との間でパラメータ調整が実施される。この際に、無限にパラメータ調整が実施されるのを防ぐために、更新されたパラメータの値を入力として(AS2、AS3、AS5間での)最適化問題を計算した際の目的関数の値が、以前のパラメータの値を入力として最適化問題を計算した際の目的関数の値と比較される。事前設定した閾値以上改善していない場合は、パラメータ調整を実施しなくてもよい。
なお、図10の実施形態は、DDoS攻撃による帯域消費を少なくするために、できるだけ攻撃元近くのmitigation装置50で優先的に対処するというものである。パラメータ調整を伴わないため制御が簡単かつ、少数箇所への攻撃の場合はDDoS攻撃によるインターネット全体での帯域消費量を最小化できる。一方、ある標的への攻撃が発生した時点で、インターネット全体で見て利用できるmitigation装置50のリソースを最大限利用してその攻撃に対処するため、攻撃箇所が増えるに従い、攻撃に対処できない事態が発生する可能性がある。例えば、図1において、AS8→AS7→AS3への攻撃が追加で発生した際に、AS1への攻撃対処時点でAS3とAS8のmitigation装置50のリソースを使い切っていた場合、攻撃に対処できなくなる可能性がある。
他方、図11の実施形態は、複数箇所が同時に攻撃される場合にも対処不能にならないように、可能な限り各ASのmitigation装置50の使用率を平準化しておくというものである。DDoS攻撃によるインターネット全体での帯域消費量は、図10に比べて増えるかもしれないが、あるASのmitigation装置50のリソースだけが先に尽きてしまい、攻撃に対処できなくなるといった事態を回避することができる。実際には、どちらか一方のロジックだけを利用するというよりは、運用者のポリシや攻撃のパターン等に応じて使い分けてもよい。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。