以下、図面を参照し、本発明の通信制限範囲特定装置、通信制御装置、通信装置、通信システム、通信制限範囲特定方法、及びプログラムの実施形態について説明する。
図1は、本実施形態の通信システム1の構成を示す図である。通信システム1は、ネットワークNW1を形成する。ネットワークNW1は、互いに通信を可能とする1又は複数の他のネットワークに接続されている。ネットワークNW2とネットワークNW3とネットワークNW4は、他のネットワークの一例である。以下の説明において、ネットワークNW1、ネットワークNW2、ネットワークNW3、ネットワークNW4等を総称してネットワークNWということがある。例えば、各ネットワークNWは、異なるISP(Internet Service Provider)等によって独立して管理されており、管理者が定める通信規則(ポリシー等)はそれぞれ異なるものとする。例えば、各ネットワークNWは、互いに接続されており、例えば、それぞれがインターネットの一部を構成する。
本実施形態の各通信システムにおいて、それぞれの通信規則を次の4つの規則に分けて規定する。
第1規則は、自通信システムにおいて通信することを許可しないものを、制限対象の通信として定める。例えば、通信システム1は、制限対象として定められた通信のパケットを、廃棄対象のパケットとして選択するための条件(「廃棄対象条件」)を、「廃棄対象情報」として管理する。通信システム1は、廃棄対象情報をリスト化したブラックリスト(「廃棄対象ブラックリスト」)又はテーブル化した「廃棄テーブル」を利用することにより、制限対象とする通信を規制する。通信システム1は、廃棄対象ブラックリスト、又は、廃棄テーブルを各装置の廃棄対象記憶部等にそれぞれ格納してもよい。制限対象には、各装置に共通するもの、装置毎に固有のものが含まれていてもよい。なお、上記及び以下の説明における「廃棄」には、第1規則に該当するパケットの転送を制限する、又はパケットを特定のポートに出力するなどのケースも含まれるものとし、これらを纏めて単に「廃棄」又は「制限」という。
第2規則は、自通信システムにおいて通信することを許可する条件を定めるものである。例えば、通信システム1は、許可する通信によるパケットを選択する条件(「通信許可条件」)を、「通信許可情報」に纏めて管理する。通信システム1は、通信許可情報をリスト化したホワイトリスト(「通信許可ホワイトリスト」)又はテーブル化した「MLBテーブル」を利用することにより、許可する通信を抽出する。MLBテーブルの詳細については後述する。なお、「通信許可ホワイトリスト」はホワイトリストの一例である。
第3規則は、自通信システムにおける通信のパケットの転送先を決定する「ルーティング条件」を定めるものである。例えば、通信システム1は、ルーティング条件を、「ルーティング情報」として管理する。通信システム1は、「ルーティング情報」をテーブル化した「ルーティングテーブル」を利用して、通信を制御する。
第4規則は、自通信システムにおいて、通信相手として許可するものを限定する条件を定めるものである。例えば、通信システム1は、限定した通信相手からのパケットを選択する条件(「通信相手許可条件」)を、「通信相手許可情報」に纏めて管理してもよい。通信システム1は、通信相手許可情報をリスト化したホワイトリスト(「通信相手許可ホワイトリスト」)又はテーブル化した「QoSテーブル」を利用することにより、限定した通信相手を抽出する。QoSテーブルの詳細については後述する。なお、「通信相手許可ホワイトリスト」はホワイトリストの一例である。
通信システム1は、上記の規則の一部又は全部を利用して、その通信を制御する。
なお、本実施形態の以下の説明において、通信システム1において通信相手を限定して通信する特定の装置を対象装置と呼び、対象装置又は対象装置による通信の何れかを特定する情報を特定情報と呼ぶことがある。
通信システム1は、eMLBR(egress Multi Layer Binding Router)11と、iMLBR(ingress MLBR)12と、bMLBR(border MLBR)13と、中継装置14と、管理装置15とを含む。以下の説明において、eMLBR11と、iMLBR12と、bMLBR13とを総称してMLBR10ということがある。各MLBR10は、通信システム1の通信ノードとして機能する。通信システム1は、複数のMLBR10によってネットワークNW1を構成する。ネットワークNW1内の各MLBR10間は、互いに直接的に接続されていてもよく、中継装置14等を介して接続されていてもよい。
通信システム1には、ユーザが操作する一又は複数の端末装置17、IoT(Internet of Things)と総称される各種データ端末18などの端末が通信可能に接続される。例えば、端末装置17とデータ端末18は、eMLBR11等を介して、各端末からの要求等に起因する所望の通信を実施する。なお、端末装置17は、IDS(Intrusion Detection System)/IPS(Intrusion Prevention System)として機能するプログラムを実行して、IDS/IPSとして機能してもよい。以下の説明では、IDS/IPSとして機能する端末装置17を端末装置17Aと呼び、端末装置17と端末装置17Aを総称する場合には単に端末装置17という。
本実施形態の通信システム1は、端末装置17Aと、通信制限範囲特定装置19とを備える。端末装置17Aには、通信制限範囲特定装置19が接続される場合がある。通信制限範囲特定装置19は、IDS/IPSとして機能する端末装置17Aからの情報に基づいて、パケットの転送を制限する制限アドレス範囲を決定する。その詳細については後述する。
管理装置15は、通信システム1における基本設定を行うとともに、各MLBR10の状態を監視させてもよい。さらに管理装置15は、連携サーバとして機能し、端末装置17などの認証と検疫を担うHRS(Home RADIUS Server)として機能させてもよい。また、管理装置15は、IDS/IPS等により検出した通信履歴を記憶するように構成してもよい。
通信システム1と同様に、通信システム2は、ネットワークNW2を形成する。通信システム2は、eMLBR21と、iMLBR22と、bMLBR23と、管理装置25とを含む。また、通信システム3は、ネットワークNW3を形成する。通信システム3は、eMLBR31と、iMLBR32と、bMLBR33と、管理装置35とを含む。通信システム2におけるeMLBR21と、iMLBR22と、bMLBR23と、管理装置25、及び、通信システム3におけるeMLBR31と、iMLBR32と、bMLBR33と、管理装置35は、通信システム1のeMLBR11と、iMLBR12と、bMLBR13と、管理装置15にそれぞれ対応する。
通信システム4は、ネットワークNW4を形成する。通信システム4は、通信システム1とは異なり、MLBR10を含まずに、MLBR10とは異なるルータ等により構成される。
ところで、通信システム1において、端末装置17及びデータ端末18に到来するパケットの個数又は頻度が異常に高くなることがある。例えば、その原因がDDoS攻撃の場合には、ネットワークNW上に分散して配置された多数のコンピュータから端末装置17及びデータ端末18に対するパケットが到来する。通信システム1は、DDoS攻撃に参加しているコンピュータ等からのパケットを選択的に遮断して、通信の安全性を確保する。
なお、上記のように悪意を持って送られた攻撃パケットを遮断するように構成したシステムであっても、悪用されることが考えられる。通信システム1では、下記の点に留意してその完全性を確保する。
通信システム1は、端末装置17とデータ端末18などの端末について、真正性と健全性を検査して、その結果に応じて制限なしや、帯域制限や通信相手の限定等を課すサービス品質(QoS)を決定する。
通信システム1は、MLBR10が保持管理する物理ポート又は(セキュア)チャネルをキーにMACアドレスとIPアドレスとの対応関係を管理する。通信システム1は、上記の対応関係を満足しないパケットをアドレス詐称パケットとみなして廃棄する。
通信システム1は、真正性と健全性が確認された端末装置17等の端末から、正当な攻撃パケットの廃棄要請を受ける。通信システム1は、その廃棄要請に基づいて、MLBR10における転送を制限するための規則を更新し、以降、該当するアドレス非詐称及びアドレス詐称の攻撃パケット等を廃棄する。
(MLBR10)
通信システム1を構成するMLBR10には、複数のタイプがあり、互いに構成と用途が異なる。利用者ネットワーク側の出口(egress)に設置するeMLBR11と、ネットワークNW1の利用者側入口(ingress)端部(エッジ)に設置するiMLBR12と、他のネットワークとの境界(border)に配置するbMLBR13は、MLBR10の一例である。MLBR10の各タイプを上記のように配置することにより、例えば、外部のネットワークから大量の送信元IPアドレスを詐称するパケットが送り付けられても、bMLBR13等が経路表の逆行経路から外れた当該攻撃パケットを遮断する。さらに、bMLBR13等は、その処理を実施するに当たり送信元IPアドレス以外の情報を組み合わせて利用して、より正確に処理をする。例えば、送信元IPアドレス以外の情報には、攻撃パケットの廃棄を要請した端末装置17もしくは実際に攻撃された通信端末等のIPアドレス、TCP等のレイヤ4(L4)のポート番号、制御フラグ等が含まれていてもよい。
図2を参照して、通信システム1における各MLBR10について説明する。図2は、通信システム1の構成例を示す図である。通信システム1における各MLBR10の詳細について順に説明する。
(eMLBR11)
eMLBR11(通信装置)は、コントローラ111(制御部)と、IF部113と、IF部114と、スイッチ部112(転送部)と、記憶部115とを含む。コントローラ111と記憶部115の組み合わせは通信制御装置の一例である。
IF部113は、端末装置17又はデータ端末18とのインタフェースである。例えば、端末装置17又はデータ端末18と有線で通信する場合、IF部113は、通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部112に出力し、スイッチ部112により転送されたパケットを、物理ポートに接続される通信回線に出力する。また、例えば、端末装置17又はデータ端末18と無線で通信する場合、IF部113は、無線通信の(セキュア)チャネルに対応させて設けられ、特定の(セキュア)チャネルから取得したパケットをスイッチ部112に出力し、スイッチ部112により転送されたパケットを、特定の(セキュア)チャネルまたは有線の物理ポートに出力する。以下、物理ポートと(セキュア)チャネルを接続ポートと総称する。
IF部114は、他のMLBR10等と通信する際のインタフェースである。例えば、IF部114は、通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部112に出力する。また、スイッチ部112から転送されたパケットを、物理ポートに接続される通信回線に出力する。
スイッチ部112は、コントローラ111により設定された条件に基づいて、IF部113とIF部114とコントローラ111等の間でパケットを転送する。例えば、スイッチ部112は、プロトコルスタックのレイヤ2(L2)からレイヤ4(L4)までの各ヘッダ情報に基づいて、当該パケットの転送を制御する。パケットを転送する処理の詳細は後述する。
記憶部115は、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、HDD(Hard Disk Drive)等の不揮発性の記憶装置と、RAM(Random Access Memory)レジスタ等の揮発性の記憶装置によって実現される。記憶部115は、eMLBR11を機能させるためのプログラム、スイッチ部112を制御するための複数のテーブル、通信履歴情報等を格納する。
例えば、第1記憶部1151と第2記憶部1152と第3記憶部1153は、上記の複数のテーブルの一例である。第1記憶部1151は、eMLBR11が受信した受信パケット(受信データ)の転送を制限する条件(制限条件)を定めた第1規則(廃棄対象ブラックリスト)を記憶する。受信パケットは、ヘッダ情報とデータ(受信データ)とを含んで構成される。第2記憶部1152は、受信パケットの転送を許可する条件を定めた第2規則(通信許可ホワイトリスト)を記憶する。第3記憶部1153は、パケットの転送先を決定するルーティング条件を定めた第3規則(ルーテイングテーブル)を記憶する。
コントローラ111は、例えば、CPU(Central Processing Unit)等のプロセッサを有する。コントローラ111は、記憶部115に記憶されているプログラムにより、記憶部115に記憶されている複数のテーブルに基づいて、スイッチ部112を制御する。例えば、コントローラ111は、管理装置15から取得した各種情報、端末装置17からの要請などに基づいて、第1記憶部1151と第2記憶部1152と第3記憶部1153とを更新し、スイッチ部112の転送処理を変更する。より具体的には、後述するように、第1記憶部1151に格納された第1規則は、スイッチ部112内の廃棄テーブル1121に、また第2記憶部1152に格納された第2規則は、スイッチ部112内のMLBテーブル1124に、第3記憶部1153に格納された第3規則はスイッチ部112内のルーティングテーブル1125に登録され、パケットの転送を制御する。
(iMLBR12)
iMLBR12は、コントローラ121と、IF部123と、IF部124と、スイッチ部122と、記憶部125とを含む。
IF部123は、eMLBR11と通信する際のインタフェースである。IF部123は、eMLBR11に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部122に出力する。また、スイッチ部122から転送されたパケットを、物理ポートに接続される通信回線を介してeMLBR11に対し出力する。
IF部124は、他のMLBR10等と通信する際のインタフェースである。例えば、IF部124は、他のMLBR10等に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部122に出力する。また、スイッチ部122から転送されたパケットを、物理ポートに接続される通信回線を介して他のMLBR10等に対し出力する。
スイッチ部122は、コントローラ121により設定された条件に基づいて、IF部123とIF部124とコントローラ121等の間でパケットを転送する。例えば、スイッチ部122は、L2からL4までのヘッダ情報に基づいて、当該パケットの転送を制御する。パケットを転送する処理の詳細は後述する。
記憶部125は、ROM、EEPROM、HDD等の不揮発性の記憶装置と、RAM、レジスタ等の揮発性の記憶装置によって実現される。記憶部125は、iMLBR12を機能させるためのプログラム、スイッチ部122を制御するための複数のテーブル、通信履歴情報等を格納する。例えば、第1記憶部1251と第2記憶部1252と第3記憶部1253とは、上記の複数のテーブルの一例である。第1記憶部1251は、iMLBR12が受信した受信パケット(受信データ)の転送を制限する条件を定めた第1規則(廃棄対象ブラックリスト)を記憶する。第2記憶部1252は、受信パケットの転送を許可する条件を定めた第2規則(通信許可ホワイトリスト)を記憶する。第3記憶部1253は、パケットの転送先を決定するルーティング条件を定めた第3規則(ルーテイングテーブル)を記憶する。
コントローラ121は、例えば、CPU等のプロセッサを有する。コントローラ121は、記憶部125に記憶されているプログラムにより、記憶部125に記憶されている複数のテーブルに基づいて、スイッチ部122を制御する。例えば、コントローラ121は、管理装置15から取得した各種情報、端末装置17からの要請などに基づいて、第1記憶部1251と第2記憶部1252と第3記憶部1253とに格納された各情報を更新し、スイッチ部122の転送処理を変更する。より具体的には、後述するように、第1記憶部1251に格納された第1規則は、スイッチ部122内の廃棄テーブル1221に、また第2記憶部1252に格納された第2規則は、スイッチ部122内でuRPF strict mode又はloose modeとして機能するMLBテーブル1224に、第3記憶部1253に格納された第3規則はスイッチ部122内のルーティングテーブル1225に登録され、パケットの転送を制御する。
(bMLBR13)
bMLBR13は、コントローラ131と、IF部133と、IF部134と、スイッチ部132と、記憶部135とを含む。
IF部133は、他のMLBR10等と通信する際のインタフェースである。IF部133は、他のMLBR10等に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部132に出力する。また、スイッチ部132から転送されたパケットを、物理ポートに接続される通信回線を介してeMLBR11に対し出力する。
IF部134は、他のネットワークNW等と通信する際のインタフェースである。例えば、IF部134は、ネットワークNW2に対する通信回線が接続される物理ポートに対応させて設けられ、物理ポートを介して通信回線から取得したパケットをスイッチ部132に出力する。また、スイッチ部132から転送されたパケットを、物理ポートに接続される通信回線を介して、ネットワークNW2などの他のネットワークNWに対し出力する。
スイッチ部132は、コントローラ131により設定された条件に基づいて、IF部133とIF部134とコントローラ131等の間でパケットを転送する。例えば、スイッチ部122は、L2からL4までのヘッダ情報に基づいて、当該パケットの転送を制御する。パケットを転送する処理の詳細は後述する。
記憶部135は、ROM、EEPROM、HDD等の不揮発性の記憶装置と、RAM、レジスタ等の揮発性の記憶装置によって実現される。記憶部135は、bMLBR13を機能させるためのプログラム、スイッチ部132を制御するための複数のテーブル、通信履歴情報等を格納する。例えば、第1記憶部1351と第2記憶部1352と第3記憶部1353とは、上記の複数のテーブルの一例である。第1記憶部1351は、bMLBR13が受信した受信パケット(受信データ)の転送を制限する条件を定めた第1規則(廃棄対象ブラックリスト)を記憶する。第2記憶部1352は、受信パケットの転送を許可する条件(許可条件)を定めた第2規則(通信許可ホワイトリスト)を記憶する。第3記憶部1353は、パケットの転送先を決定するルーティング条件を定めた第3規則(ルーテイングテーブル)を記憶する。
コントローラ131は、例えば、CPU等のプロセッサを有する。コントローラ131は、記憶部135に記憶されているプログラムによりスイッチ部132を制御する。例えば、コントローラ131は、管理装置15から取得した各種情報、端末装置17からの要請などに基づいて、第1記憶部1351と第2記憶部1352と第3記憶部1353とに格納された各情報を更新し、スイッチ部132の転送処理を変更する。より具体的には、後述するように、第1記憶部1351に格納された第1規則は、スイッチ部132内の廃棄テーブル1321に、また第2記憶部1352に格納された第2規則は、スイッチ部132内でuRPF loose mode又はstrict modeとして機能するMLBテーブル1324に、第3記憶部1353に格納された第3規則はスイッチ部132内のルーティングテーブル1325に登録され、パケットの転送を制御する。
上記のとおり、各MLBR10は、それぞれコントローラとスイッチ部とを含む。MLBR10のコントローラは、他のMLBR10のコントローラから取得した情報等に基づいて、自装置のコントローラ及びスイッチ部をそれぞれ制御する。
(端末装置17)
端末装置17は、CPUと、ROM、EEPROM、HDD、RAM、レジスタ等の記憶装置と、を含むコンピュータであり、実行するプログラムにより端末或いはサーバとして機能する。例えば、端末装置17のCPUは、プログラムの実行により、端末装置17を、snort(登録商標)などを実装しIDS/IPSとして機能する。端末装置17は、端末装置17に実装した、もしくは端末装置17が接続しているローカルエリアネットワークに接続されたIDS/IPSにより、所定の通信量又は頻度を超えて到来するパケットや、その振る舞いの異常さもしくは既知の攻撃パターン(シグネチャ)や既知の攻撃パターンから予測される未知の攻撃パターン、もしくは既知のマルウェアや既知のマルウェア等から予想されるマルウェア、既知のエクスプロイトコード(プログラムのセキュリティ上の脆弱性(セキュリティホール)を攻撃するために作成されたプログラムの総称)もしくは既知のエクスプロイトコードから予測される未知のエクスプロイトコードなどからの攻撃パケットとして検出する。なお、上記の検出に当たり、ハニーポットを設置してもよい。ハニーポットとは、不正アクセスを行う攻撃パケットをおびき寄せ、攻撃をそらすためのおとりであり、ウイルスやワームの検体の入手、記録された操作ログ・通信ログなどから不正アクセスの手法や傾向の調査などに用いられるものである。
端末装置17は、攻撃パケットを検出した場合に、ネットワークNW1における攻撃パケットの転送を中断させることを要求するメッセージをeMLBR11に対して送信する。例えば、eMLBR11が攻撃パケットの転送を中断させることを要求するメッセージを、攻撃パケットを廃棄することを要求する廃棄要請メッセージとして受け付けて、攻撃パケットを廃棄してもよい。以下の説明では、攻撃パケットの転送を中断させることを要求するメッセージをDRM(Dropping Request Message)と呼ぶ。後述するように、DRMは、攻撃パケットの送信元アドレスに接近するようMLBR10間でバケツリレーされる。DRMを受信した各MLBR10は、前述の第1規則としてそれぞれの第1記憶部に登録する。
例えば、端末装置17は、自装置の正当性と完全性を示す検証用データもしくは認証コードをDRMに付加してeMLBR11へ送信する。eMLBR11は、受信した検証用データもしくは認証コードを検証し,その正当性(IDS/IPSが改ざんされたり、マルウェアに感染していたりしないことなど)と、完全性(データが改ざんされていないこと)とを確認する。なお、端末装置17とeMLBR11は、共通の検証用データもしくは認証コードを生成するTPM(Trusted Platform Module)やHSM(Hardware Security Module)などハードウェアを備えて構成する。これにより、端末装置17とeMLBR11は、TPMやHSMにより生成された検証用データもしくは認証コードに基づいて、プラットホームの正当性やハードウェア、ソフトウェア、DRMなどの完全性を検証してもよい。
(攻撃パケットの転送を制限する処理)
図3から図5を参照して、攻撃パケットの転送を制限する処理について説明する。攻撃パケットの転送を制限する処理として、端末装置17によるDRMの生成から、ネットワークNW1におけるMLBR10のうち攻撃パケットの送信元アドレスに最も接近しているbMLBR13に、DRMによる要求が伝搬されて、bMLBR13が攻撃パケットを遮断するまでの処理を例示する。図3は、eMLBR11における処理の手順を示すフローチャートである。図4は、iMLBR12における処理の手順を示すフローチャートである。図5は、bMLBR13における処理の手順を示すフローチャートである。
まず、端末装置17は、自装置に備える、もしくは接続しているローカルエリアネットワークに接続されたIDS/IPSが所定の通信量又は頻度を超えて到来するパケットや、設置されたハニーポットなどを利用して、到来するパケットの振る舞いの異常さもしくは既知の攻撃パターンや既知の攻撃パターンから予測される未知の攻撃パターン、もしくは既知のマルウェアや既知のマルウェア等から予想されるマルウェア、既知のエクスプロイトコードもしくは既知のエクスプロイトコードから予測される未知のエクスプロイトコードなどから、攻撃パケットの到来を検知する。その検知結果は、端末装置17などの記憶領域に通信履歴情報(ログ)として書き込まれる。端末装置17、このログに基づいて攻撃パケットに付与されている送信元アドレスを特定する。上記により特定された送信元アドレスは、攻撃パケットを実際に送信した攻撃ノードの実際のアドレスと一致しないこともある。端末装置17は、特定された送信元アドレスと、宛先アドレスや宛先/送信元ポート番号などを組み合せた制限条件を含むDRMを自動もしくは一部ネットワーク管理者やセキュリティ技術者が介在して生成し、DRMに検証用データもしくは認証コードを付与してeMLBR11に送信する。なお、DRMには、DRMに記載された攻撃先IPアドレスなどが正規に割り当てられたものかを検証するためにRPKI(Resource Public-Key Infrastructure)を付加してもよい。
図3に示すように、eMLBR11のコントローラ111は、検証用データもしくは認証コードが付与されたDRMを端末装置17から取得する(S11)。コントローラ111は、検証用データもしくは認証コードに基づいて、取得したDRMが正当なものか否かを判定する(S12)。DRMが正当なものでないと判定した場合、コントローラ111は、そのDRMを破棄して、S19の処理に進む。
一方、DRMが正当なものであると判定した場合、コントローラ111は、DRMを送信した端末装置の識別情報が正当か否かの判定(認証処理)を実施する(S13)。これにより、コントローラ111は、検証用データもしくは認証コードが付与されているDRMのみを処理の対象にすることで、虚偽の要求を処理の対象から削除してシステムの完全性を確保する。
次に、コントローラ111は、端末装置がDRMのパケットに付与したRPKIの認証コードに基づいて、パケットに付与された送信元アドレス(端末装置17のアドレス等)が正当なものであることについて判定する。DRMを送信した端末装置の識別情報が正当でないと判定した場合、コントローラ111は、そのDRMを破棄して、S19の処理に進む。
一方、端末装置の識別情報が正当であると判定した場合、コントローラ111は、そのDRMに基づいて制限条件を生成する(S14)。制限条件の生成についての詳細は後述する。
次に、コントローラ111は、抽出した制限条件が、第1記憶部1151に第1規則(廃棄対象ブラックリスト)として登録されているか否かを判定する(S15)。抽出した制限条件が第1記憶部1151に登録されていないと判定した場合、コントローラ111は、抽出した制限条件を第1記憶部1151に追加して更新する(S16)。eMLBR11は、更新された第1記憶部1151の情報を用いて、パケットの転送処理を実施する。
一方、抽出した制限条件が第1記憶部1151に既に登録されていると判定した場合、又はS16の処理を終えた場合、コントローラ111は、抽出したDRMに、そのDRMに基づいて生成した制限条件を含めて転送用のDRMを生成する。その転送用のDRMに、予め接続先のiMLBR12との間で交換した共有鍵を用いて生成したAH(Authentication Header)を付加して転送DRMを生成する(S17)。転送DRMは、eMLBR11の接続先のiMLBR12に送られるものである。このAHにより、転送DRMにおけるデータの完全性が保証される。なお、転送DRMでは、AHによりデータの完全性を保証できることから、端末装置17により付与された検証用データもしくは認証コードに代えることができる。
次に、コントローラ111は、転送DRMを当該iMLBR12宛に送信する(S18)。
なお、DRMを送信した端末装置17の識別情報が正当でないと判定した場合、又はS18の処理を終えた場合、コントローラ111は、第1記憶部1151に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する(S19)。
上記の処理により、通信システム1は、ネットワークNW1の端部に設けられたeMLBR11(図1)を介して送られる端末装置17等を標的とする攻撃パケットを、通信システム1単独で遮断することができる。上記のeMLBR11は、例えば、アクセス系のルータとして構成されるスイッチであり、更には、目的のトラフィックを遮断するIPSとしての機能を有している。
図4に示すように、iMLBR12のコントローラ121は、図3のS18においてeMLBR11から送信された転送DRMを取得する(S21)。iMLBR12は、AHに基づいて、取得した転送DRMが正当なものか否かを判定する(S22)。転送DRMが正当なものでないと判定した場合、iMLBR12は、その転送DRMを破棄して、S29の処理に進む。
一方、転送DRMが正当なものであると判定した場合、コントローラ121は、その転送DRMにより指定される制限条件を抽出する(S24)。
次に、コントローラ121は、抽出した制限条件が、第1記憶部1251に第1規則(廃棄対象ブラックリスト)として登録されているか否かを判定する(S25)。抽出した制限条件が第1記憶部1251に登録されていないと判定した場合、コントローラ121は、抽出した制限条件を第1記憶部1251に追加して更新する(S26)。iMLBR12は、更新された第1記憶部1251の情報を用いて転送処理を実施する。
一方、抽出した制限条件が第1記憶部1251に既に登録されていると判定した場合、又はS26の処理を終えた場合、コントローラ121は、抽出した制限条件に基づいて、転送先のbMLBR13等を自己の経路表等をもとに決定する。転送先のbMLBR13等には、同じISPに属する他のiMLBR11を含めてもよい。コントローラ121は、転送先のbMLBR13等との間で予め交換した共有鍵を用いて生成したAHを付加して、iMLBR12の接続先のbMLBR13に送る転送DRMを生成する。このAHにより、転送DRMにおけるデータの完全性が保証される(S27)。
次に、コントローラ121は、転送DRMを当該bMLBR13等に送信する(S28)。
なお、DRMを送信した端末装置17の識別情報が正当でないと判定した場合、又はS28の処理を終えた場合、eMLBR11は、第1記憶部1251に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する(S29)。
上記の処理により、通信システム1は、ネットワークNW1の端部に設けられたiMLBR12−1(図1)を介して送られる端末装置17等を標的とする攻撃パケットを、通信システム1単独で遮断することができる。上記のiMLBR12−1は、例えば、ブロードバンドルータとして構成されるスイッチであり、更には、目的のトラフィックを遮断するIPSとしての機能を有している。
図5に示すように、bMLBR13は、図4のS28においてiMLBR12から送信された転送DRMを取得する(S31)。bMLBR13は、AHに基づいて、取得した転送DRMが正当なものか否かを判定する(S32)。転送DRMが正当なものでないと判定した場合、bMLBR13は、その転送DRMを破棄して、S39の処理に進む。
一方、転送DRMが正当なものであると判定した場合、コントローラ131は、その転送DRMにより指定される制限条件を抽出する(S34)。
次に、コントローラ131は、抽出した制限条件が、第1記憶部1351に第1規則として登録されているか否かを判定する(S35)。抽出した制限条件が第1記憶部1351に登録されていないと判定した場合、コントローラ131は、抽出した制限条件を第1記憶部1351に追加して更新する(S36)。bMLBR13は、更新された第1記憶部1351の情報(廃棄対象ブラックリスト)を用いて転送処理を実施する。
なお、DRMを送信した端末装置17の識別情報が正当でないと判定した場合、又はS36の処理を終えた場合、コントローラ131は、自装置に接続されているネットワークNWの通信システムが、契約先ISPなど連携可能なものであるか否かを判定する(S40)。連携可能な通信システムがないと判定した場合には、S39の処理に進む。
一方、連携可能な通信システムがあると判定した場合には、コントローラ131は、抽出した転送DRMに基づいて、その転送DRMに、予め交換した共有鍵を用いてAHを付加して、bMLBR13の接続先のネットワークNW2に送る転送DRMを生成する。このAHにより、転送DRMにおけるデータの完全性が保証される(S47)。
次に、コントローラ131は、転送DRMを当該ネットワークNW宛に送信する(S48)。
なお、DRMを送信した端末装置17の識別情報が正当でないと判定した場合、連携可能な通信システムがないと判定した場合、又はS48の処理を終えた場合、コントローラ131は、第1記憶部1351に登録されている制限条件のうち、攻撃パケットが到来しない状態になった後、或いは、到来しなくなって所定期間が経過した後、その制限条件を削除する(S39)。
上記の処理により、通信システム1は、ネットワークNW1の端部に設けられたbMLBR13−1(図1)を介してネットワークNW1に流入する攻撃パケットを、通信システム1単独で遮断することができる。例えば、上記のbMLBR13−1は、ブロードバンドルータとして構成されるスイッチであり、更には、制限条件に該当するトラフィックを遮断するIPS(図1)としての機能を有している。上記の処理により、制限条件の通知を受けたbMLBR13−1は、ネットワークNW1に流入する攻撃パケットを、通信システム1単独で遮断する。
さらに、MLBR10を導入しているネットワークNW2やネットワークNW3を経由して攻撃パケットがネットワークNW1に送られている場合には、ネットワークNW1内の転送と同様にして、ネットワークNW2やネットワークNW3内で該当するbMLBR13等に、各MLBR10によって転送DRMがバケツリレーされる。このバケツリレーにより転送DRMが通知されて、例えば、攻撃パケットの送信元アドレスに最も接近したMLBR10で攻撃が遮断されるようになる。
(より具体的な一実施例)
以下の説明では、OpenFlow(登録商標)の技術を適用してMLBR10を構成する場合を例示する。
(分散型のコントローラ)
OpenFlowの各ノードは、OpenFlowコントローラにより制御されるOpenFlowスイッチ部を備える。一般的なOpenFlowの技術では、1つのOpenFlowコントローラが複数のOpenFlowスイッチを一元管理する。
これに代えて、本実施形態のMLBR10は、コントローラ111とスイッチ部112とを備えており、MLBR10毎に設けられたコントローラ111がスイッチ部112を管理する。この点が一般的なOpenFlowの構成と異なる。以下、上記の相違点を中心に説明する。
MLBR10のコントローラは、互いに通信することにより、分散型のコントローラとして機能して、例えばDRMを順に転送する。上記のとおり、DRMは、各MLBR10における転送を制限するための情報(廃棄対象ブラックリスト)である。MLBR10は、DRMが通知されるまでに構成されていた転送情報を変更することなく、転送を制限する制限条件を追加し、また、制限条件を単位にして個々に削除する。これにより、通信システム1は、ネットワークNW内の転送規則を維持したまま、転送を制限する制限条件のみを変更する。例えば、スイッチ部112を下記するように構成して、スイッチ部112において上記の処理を実施する。
(スイッチ部の一例)
図6から図9を参照して、スイッチ部のより具体的な一例について説明する。図6は、スイッチ部112を示す図である。スイッチ部112は、各段のフローテーブルとして、廃棄テーブル1121、パケットタイプテーブル1122、SCOPEテーブル1123、MLBテーブル1124、ルーティングテーブル1125を備える。図7から図9のそれぞれは、廃棄テーブル1121、パケットタイプテーブル1122、SCOPEテーブル1123の一例を示す図である。
(スイッチ部における各種テーブルの一例)
スイッチ部112において、廃棄テーブル1121には、廃棄するパケットのフローエントリが必要数格納される。廃棄するパケットのフローエントリは、前述のパケットの転送を制限する条件である第1規則(廃棄対象ブラックリスト)に対応する。例えば図7に示すように、廃棄テーブル1121は、格納されたフローエントリにマッチしたパケットを廃棄(drop)する。格納されたフローエントリにマッチしなかったパケットは、パケットタイプテーブル1122による選択処理の対象にする。フローエントリに規定する制限情報は、1つの送信元IPアドレスであってもよく、或いは、複数の送信元IPアドレスを含む送信元ネットワークアドレスであってもよい。さらに、宛先IPアドレスや宛先ポート番号、送信元ポート番号、パケット長、パケットタイプ、TCP制御フラグ等を適宜組み合わせて規定することによって、攻撃パケットと同じ宛先IPアドレスに送信しようとしている他の一般ユーザの通信を妨げることを抑制することができる。例えば、廃棄テーブル1121のフローエントリとして、転送を制限する領域に対応するネットワークアドレスをマッチ条件として規定すると、廃棄テーブル1121は、そのネットワークアドレスが示すアドレス空間に含まれた送信元IPアドレスが付与されているパケットの転送を制限する。図7に示す「129.168.3.0/24」は、IPv4で記述した場合のネットワークアドレスの一例である。
パケットタイプテーブル1122は、廃棄テーブル1121により廃棄されなかったパケットと、コントローラから取得したパケットを処理対象のパケットとし、パケットのタイプ毎のフローエントリを格納する。例えば図8に示すように、パケットタイプテーブル1122に格納するフローエントリには、IPv4のパケットであることを特定するものと、IPv6のパケットであることを特定するものと、コントローラ宛に送信するパケットであることを特定するものが含まれる。例えば、パケットタイプテーブル1122として、各パケットのタイプに対応するアクションを下記のように定義する。パケットタイプテーブル1122は、自MLBR10宛のICMPv6(Internet Control Message Protocol for IPv6)又はARP(Address Resolution Protocol)、ICMP(Internet Control Message Protocol)、DHCP(Dynamic Host Configuration Protocol)、DRP(Dropping Request Message Protocol)、RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)などの通信制御パケットをコントローラ111宛のパケット(Packet−In)とし、上記を除くIPv4のパケットをMLBテーブル1124による処理の対象にし、上記を除くIPv6のパケットをSCOPEテーブル1123による処理の対象にする。上記のDRPは、DRMに検証データもしくは認証コードを付加した規格である。DRPの詳細については後述する。パケットタイプテーブル1122は、コントローラ111宛のパケットのうち、コントローラ111による判定結果に基づいて、必要であればFlow−Modにて各テーブルを更新するとともに、他のMLBRに転送が必要なパケットは、スイッチ部112に戻す(Packet−Out)。
SCOPEテーブル1123は、パケットタイプテーブル1122によりIPv6のパケットであると特定されたパケットに対し、スコープ(SCOPE)の逸脱有無を判定して当該パケットのルーティングを許可するか否かを特定する。例えば図9に示すように、当該パケットの送信元IPアドレスと宛先IPアドレスが同じスコープ(グローバルアドレス、ユニークローカルアドレス、リンクローカルアドレスなど)に属し、ルーティングを許可すると判定した場合には、SCOPEテーブル1123は、当該パケットをMLBテーブル1124による処理の対象にする。一方、当該パケットのスコープに逸脱がありルーティングを許可しないと判定した場合には、SCOPEテーブル1123は、対象のパケットを廃棄する。
MLBテーブル1124は、パケットタイプテーブル1122によりIPv4のパケットであると特定されたパケット、又は、SCOPEテーブル1123によりルーティングを許可するIPv6のパケットであると特定されたパケットに対し、当該パケットが転送を許可すべきパケットであるか否かを特定する。MLBテーブル1124は、端末装置17等のMACアドレスとIPアドレス及びeMLBR11の接続ポートの識別情報を組み合わせて、端末装置17等を検証するための通信許可ホワイトリストとして機能して、アドレス詐称のチェックを実施する。例えば、当該パケットが転送を許可すべきパケットであると特定した場合、当該パケットをルーティングテーブル1125による転送処理の対象にする。当該パケットが転送すべきパケットでないと特定された場合、当該パケットをルーティングテーブル1125に従って、廃棄処理の対象にする。
ルーティングテーブル1125は、MLBテーブル1124により当該パケットが転送すべきパケットであると特定された場合、当該パケットをルーティングテーブル1125により規定される物理ポートに出力する。ルーティングテーブル1125は、当該パケットが転送すべきパケットでないと特定された場合、当該パケットをルーティングテーブル1125に従って、廃棄処理の対象にしてもよい。
上記の図2に示すように、iMLBR12のスイッチ部122は、各段のフローテーブルとして、廃棄テーブル1221、パケットタイプテーブル1222、SCOPEテーブル1223、MLBテーブル1224、ルーティングテーブル1225を備える。bMLBR13のスイッチ部132は、各段のフローテーブルとして、廃棄テーブル1321、パケットタイプテーブル1322、SCOPEテーブル1323、MLBテーブル1324、ルーティングテーブル1325を備える。iMLBR12のスイッチ部122と、bMLBR13のスイッチ部132は、下記を除き、スイッチ部112と同様の構成を備える。
iMLBR12では、eMLBR11が利用される形態に応じて、MLBテーブル1224に格納するデータを変える。例えば、eMLBR11が家庭用に用いられている場合には、iMLBR12は、グローバルIPアドレス(IPv6の場合では、これに代えて、グローバルルーティングプリフィックスとサブネットIDである。以下の説明では、グローバルIPアドレス等という。)を、eMLBR11に割り当てる。この場合、iMLBR12のコントローラ121は、eMLBR11に割り当てたグローバルIPアドレス等とeMLBR11のMACアドレス及びiMLBR12の接続ポートの識別情報を組み合わせて生成したフローエントリを、MLBテーブル1224に登録して管理する。
また、例えば、グローバルアドレス空間のアドレスが割当てられている組織ユーザ、又は、グローバルアドレス空間のアドレスを保有している組織ユーザの場合には、組織ユーザのグローバルアドレス空間のネットワークアドレスとeMLBR11のMACアドレス及びiMLBR12の接続ポートの識別情報を組み合わせて生成したフローエントリを、MLBテーブル1224に登録して管理する。
なお、iMLBR12のMLBテーブル1224は、主に、受信したパケットの入力ポートと送信元であるeMLBR11のMACアドレス、及び送信元IPアドレスが経路表に存在するか否かを組み合わせて判定し、これらの組み合わせに合致するものを転送するuRPFのストリクトモード(strictモード)又はルースモード(looseモード)相当の機能を実現するように構成される。例えば、MLBR10を導入する過程などで、eMLBR11が未導入のユーザからネットワークアドレス空間内のアドレス詐称パケットが送信された場合に、uRPFのストリクトモード又はルースモード相当の機能では、当該アドレス詐称パケットを廃棄することができないが、eMLBR11を併せて導入することで、アドレス詐称パケットの発生自体が制限される。また、iMLBR12宛にeMLBR11を偽装する偽装パケットが送られたとしても、iMLBR12は、AHの検証によりそれを検出することができ、同パケットを廃棄する。
bMLBR13は、主に、受信したパケットの送信元IPアドレスが経路表に存在するか否かを判定し、経路表に存在するものを転送する。上記の転送処理は、uRPFのルースモード(looseモード)又はスクリクトモード(strictモード)相当のフィルタリングと同様の処理をする。そのため、bMLBR13と他のネットワークNWのbMLBRとの間のリンクの接続ポートの識別情報や、リンクに接続されたbMLBR13のMACアドレスとを組み合わせたフローエントリを、MLBテーブル1324に登録する必要はない。
bMLBR13のMLBテーブル1324は、逆行経路から外れた送信元IPアドレスのパケットを廃棄する。これに加えて、MLBテーブル1324は、送信元IPアドレスを詐称する攻撃パケットを大量に送り込まれても、bMLBR13のMLBテーブル1324の転送経路情報に基づいたuRPFの機能により、パケットを逆行経路内に閉じ込めることができる。すなわち、攻撃の被害を受けた端末装置17から見れば攻撃パケットの送信元への経路(攻撃送信元経路)を特定できる。端末装置17は、攻撃送信元経路に向けて廃棄要請を送信することで,その攻撃送信元経路からの攻撃をMLBR10の機能により遮断する。
(eMLBR11における端末装置17等から送信されたパケットの転送処理)
認証・検疫に成功した端末装置17は、MLBテーブル1124に登録・管理される。
eMLBR11は、パケットを受信すると、受信したパケットのフローエントリがMLBテーブル1124に存在するか調べ、存在する場合には、受信したパケットのアドレスがプライベートIPアドレスであればグローバルIPアドレス等に変換してからAHを付加し、さらにMACアドレスを書き替えて、指定されたQoSでiMLBR12へ転送する。指定されたQoSには、例えば、帯域制限なし、AHを付加しての転送、帯域制限、通信相手限定などの項目を含めてもよい。
一方、存在しない場合には、eMLBR11は、偽装パケットと見なして受信したパケットを廃棄する。eMLBR11は、接続ポートを介して、端末装置17等の実在確認を適宜行い、MLBテーブル1124に登録された経路情報の有効期間を延長する。
(DRMの構成)
図10を参照して、DRMの一例とその通信手順(DRP)について説明する。図10は、DRMの一例を説明するための図である。同図にDRMを送信するパケットのフレーム構成の一例を示す。同フレームは、MACヘッダ、IPヘッダ、TCPヘッダ、ペイロードを含む。ペイロードにはDRMが割り付けられる。DRMを送受信する端末装置17及びMLBR10等は、DRMの通信手順を規定するDRPを共有し、DRPに基づいて通信する。
例えば、DRMは、DRMの通信手順を定めるプロトコル(DRP)のバージョン、DRMのメッセージ長、DRMを送信する端末装置の識別情報、有効期間、監視規定時間、廃棄対象情報、RPKIや攻撃の履歴情報の付加、さらに将来の機能拡張のための拡張情報、検証用データもしくは認証コードなどの情報を含む。有効期間は、MLBR10が転送の制限を継続する期間を示す。監視規定時間は、攻撃パケットの有無を含む通信状態の監視を実施する周期を規定する。廃棄対象情報は、攻撃パケットの転送を制限するための攻撃パケットの送信元アドレス等を含む。なお、廃棄対象情報は、例えば、特定した送信元アドレスと宛先IPアドレス,送信元/宛先ポート番号,さらにTCP制御フラグやパケット長,パケットタイプなどの属性データを適宜組み合せてもよい。このような組み合わせにより,廃棄対象とした送信元ネットワークアドレス空間内から、一般ユーザが同じ宛先にパケットを送っても,誤廃棄する確率を減らすことができる。検証用コードもしくは認証コードは、前述の端末装置17が自装置の正当性と完全性を示す情報を付与するものである。
端末装置17とeMLBR11との間にファイアウォールが設けられている場合には、通信可能なプロトコルが制限される。この場合、端末装置17は、ICMPなどを用いてMLBR10に発見要求メッセージを送り、eMLBR11からの応答を取得して、eMLBR11を特定するとともに、先に応答したeMLBR11の真正を確認する手順を実施する。その後、端末装置17は、上記のフレームを用いてDRMをeMLBR11に送信する。
なお、MLBR10間の通信において、相手先を認証する必要が無い場合には、DRMの検証が行えればよいため、MLBR10は、検証用コードもしくは認証コードに代えて、上記のフレームのIPヘッダとUDPヘッダの間にAHを付与したフレームを用いてもよく、DRMにAHを付与して上記のペイロードに収納してもよい。
図11と図12とを参照して、DoS攻撃遮断実験の結果について説明する。
図11は、DoS攻撃遮断実験の構成を示す図である。図11のbMLBR13をuRPF相当機能として機能させて、同図に示す範囲でランダムに送信元IPアドレスを変えながら、ホストEから攻撃パケットに見立てたICMPパケットを1ppsの頻度で端末装置17−1宛に送信する。端末装置17−1は、受信したパケットの累計が10パケットに達するとログに書き出す。端末装置17−1は、攻撃パケットから抽出した攻撃元IPアドレスと、送信先IPアドレスと、パケットタイプとを組み合せてDRMを生成して、eMLBR11宛に送信する。各MLBR10は、前述の手順に従ってDRMを転送して、廃棄テーブル1121等の廃棄テーブルに、DRMに基づいて生成した廃棄エントリを登録する。各MLBR10は、上記の廃棄エントリを登録した後、該当するパケットを受信すると廃棄する。以上のモデルに基づいて実験を行う。
図12は、各ノードで観測した累積パケット数の継時変化を示す図である。
同図におけるG1が、ホストEが送信したパケットの累計(累積パケット数)を示し、G2が、bMLBR13をuRPFとして機能させたことにより廃棄したパケット数の累計を示し、G3が、端末装置17−1が受信したパケット数の累計を示す。
G2に示すように、bMLBR13をuRPFとして機能させたことにより、bMLBR13は、約2/3のパケットを遮断している。
端末装置17−1は、時刻t1において、受信したパケット数の累計が10パケットに達したことにより、DRMを送信する。G3に示すように、端末装置17−1がDRMを送信した後、端末装置17−1が受信したパケット数の累計値に変化がなく、端末装置17−1にパケットが到達しなくなったことが確認できる。
本実験では攻撃ホストEが1台で、送信元IPアドレスを詐称するDoS攻撃を模したものであるが、DDoS攻撃などの多重攻撃を受けた場合も、同様に攻撃パケットを廃棄する。
上記のとおり、本実施形態に示す通信システム1は、IPトレースバックのような攻撃の発信源のアドレスを特定することなく、攻撃パケットの送信元アドレスに基づいて、同アドレスに接近するようDRMを転送することで、攻撃パケットの経路に存在するMLBR10における攻撃パケットの転送を遮断する。
次に、図1から図15までを参照して、DoS/DDoSとして知られる多重攻撃による攻撃パケットに対する対策の一例について説明する。
(端末装置17Aと通信制限範囲特定装置19)
図13は、端末装置17Aと通信制限範囲特定装置19の構成を説明するための図である。図13に示す通信制限範囲特定装置19は、前述の図1、図2等に示されているように端末装置17Aと接続される。
端末装置17Aは、CPUと、ROM、EEPROM、HDD、RAM、レジスタ等の記憶装置と、を含むコンピュータであり、実行するプログラムにより、MLBR10を制御することで、通信システム1等における通信を制御する。端末装置17Aは、通信制御装置の一例である。
図13に示す端末装置17Aは、IDS/IPS部171と、制限アドレス範囲取得部172と、状況判定部173と、転送制御部174と、記憶部177と、通信部178とを備える。端末装置17Aは、IDS/IPS部171と、制限アドレス範囲取得部172と、状況判定部173と、転送制御部174とを含む端末制御部170を形成する。
IDS/IPS部171は、端末装置17AをIDS/IPSとして機能させる。IDS/IPS部171は、IDS/IPSとして機能させて検出した結果を通信制限範囲特定装置19に送る。制限アドレス範囲取得部172は、通信制限範囲特定装置19により決定された制限アドレス範囲を取得する。状況判定部173は、制限アドレス範囲取得部172によって所得された結果(制限アドレス範囲)に基づいて、規制対象パケットとして送信されている状況にあるか否かを判定する。転送制御部174は、制限アドレス範囲に基づいてDRMを送信し、当該アドレス範囲の送信元アドレスが付与されたパケットの転送を制限するように、MLBR10を制御する。
通信制限範囲特定装置19は、CPUと、ROM、EEPROM、HDD、RAM、レジスタ等の記憶装置と、を含むコンピュータであり、実行するプログラムにより、パケットの転送を制限する制限アドレス範囲を決定する。通信制限範囲特定装置19は、例えば、IDS/IPSとして機能する端末装置17Aからの情報に基づいて、上記の制限アドレス範囲を決定する。
図13に示す通信制限範囲特定装置19は、情報取得部191(取得部)と、制限範囲特定部192と、制限範囲出力部193と、記憶部197とを備える。通信制限範囲特定装置19は、情報取得部191と、制限範囲特定部192と、制限範囲出力部193とが通信制限範囲特定制御部190を形成する。
本実施形態における端末装置17Aは、通信制限範囲特定装置19からの情報に基づいてMLBR10へDRMを送信することで、通信システム1等における通信を制御する。以下、その詳細について説明する。
(多重攻撃による攻撃パケットのツリー分析)
図14を参照して、多重攻撃による攻撃パケットのツリー分析の一例について説明する。図14は、多重攻撃による攻撃パケットのツリー分析の一例を示す図である。
なお、以下に示す手順により通信制限範囲特定装置19は、ネットマスクの深さを変えながら、各ネットワークアドレス(アドレス範囲)で計数したパケット数をもとに、攻撃パケットの送信元アドレスを特定する。
図14において、各ネットワークアドレスを節Sc(図15では、○で示す)と呼ぶ。攻撃パケットの送信元アドレスの分布により、節Scは幹Trまたは枝Brを介してツリー状をなして連結される。幹Trは図15に示す配置において、その上下に位置する各節Scに該当する攻撃パケットの個数が同じ場合に用いる。一方、枝Brは図15に示す配置において、下に位置する節Scに該当する攻撃パケット数が、図15に示す配置における上の節Scより少なくなる場合に、すなわち送信元アドレスが枝分かれする場合に用いる。そして、幹Trで連結された節Scの中で最も下位に位置する節Scを節ScBと呼ぶ。通信制限範囲特定装置19は、節ScBに基づいて、制限すべき送信元ネットワークアドレスもしくは送信元IPアドレスとして特定する。これを「制限アドレス範囲」と呼ぶ。なお、幹Trで連結された各節Scのパケット数は、同じ値になる。
情報取得部191は、MLBR10に送信する第1規則(廃棄対象ブラックリスト)となる制限範囲の生成に必要な各種情報を取得する。取得する情報には、IDS/IPSによって攻撃パケットと判定されたパケットの直近及び過去のログ情報、通信制限範囲特定装置19の制限範囲の履歴情報、DRMの履歴情報などが含まれる。
制限範囲特定部192は、情報取得部191によって取得された各種情報に基づいて、通信を制限するアドレス空間を決定する。制限範囲特定部192は、図15に示すように、ネットマスクの深さを変えながら、各ネットワークアドレス(アドレス範囲)で計数されたパケット数をもとに、攻撃パケットの送信元アドレスを特定する。各ネットワークアドレスを節(図15では○で表す)と呼び、攻撃パケットの送信元アドレスの分布により節は幹Trまたは枝Brを介してツリー状をなして連結する。幹Trはその上下に位置する各節に該当する攻撃パケットの個数が同じ場合、枝Brは下に位置する節に該当する攻撃パケット数が上の節より少なくなる場合、すなわち送信元アドレスが枝分かれする場合に用いる。そして、幹Trで連結された節(パケット数が一致)の中で最も下位に位置する節を、制限すべき送信元ネットワークアドレスもしくは送信IPアドレスとして特定する。これを「制限アドレス範囲」と呼ぶ。
制限範囲出力部193は、制限範囲特定部192により決定した制限アドレス範囲をIDS/IPSに出力する。IDS/IPSは、前述した図10に示したDRMのフォーマットに必要情報を付加してDRMを生成し、さらに使用するプロトコルのヘッダ情報を付加して、eMLBR11に送信する。
(ツリー分析による攻撃パケットの送信元アドレスの特定)
DoS/DDoSとして知られる多重攻撃が実施されると、ネットワークNWに設けられたIDS/IPSは、その多重攻撃を検出し、その多重攻撃の履歴情報をログとして記録する。通信制限範囲特定装置19は、ログに記録された履歴情報に基づいてツリー分析を実施して、攻撃パケットを送信した攻撃者が利用した送信元アドレスを特定する。以下の説明では、IPv4タイプのパケットを例示して説明するが、これに限定するものではない。
図15は、受信パケットの転送を制限するアドレス範囲を定める処理の手順を示すフローチャートである。
(初期条件の設定)
まず、通信制限範囲特定装置19は、IDS/IPSが前述の方法により攻撃パケットと判定したパケットのログ情報が、所定の個数、例えば1000個より多ければ、無作為に所定の個数の範囲内で一部又はすべてを選択し、所定の個数以下であればすべてを、選択し(S131)、選択した解析対象の送信元アドレスを、アドレス値の順に並べて整理する(S132)。
(解析対象範囲の決定)
次に、通信制限範囲特定装置19は、解析対象の送信元アドレス(src addr)から、解析対象範囲を規定するネットワークアドレス(nw addr)を生成する(S133)。例えば、攻撃パケットがすり抜けてきたbMLBR13のMLBテーブル(uRPF)のネットワークアドレスの最浅ネットマスクをクラスAに相当する「/8」と仮定し、ネットマスク初期値とする。通信制限範囲特定装置19は、前記ネットマスク初期値とログに記録された攻撃パケットの送信元アドレスから、ネットワークアドレスの初期値とを設定する。例えば、図15の例では、133.0.0.0/8と147.0.0.0/8それぞれを、ネットワークアドレスの初期値として分析対象範囲nw_addrに設定する。これを分析起点節と呼ぶ。上記のようにして設定されたネットワークアドレスnw_addrは、解析対象範囲を段階的に狭めて、すなわちネットマスクを深めながら分析を行う。
図14に示す例では、2つ分析起点節が存在し、2つの経路から攻撃パケットが到来する場合が示されている。
その第1の経路から到来する場合として、例えば、特定のbMLBR13において、そのMLBテーブル(uRPF)で規制されているネットワークアドレスを通り抜けた攻撃パケットが、端末装置17に到来する状況を示す。さらに、所定の期間内に、第1の経路から端末装置17に到来する攻撃パケットには、送信元アドレスが互いに異なる攻撃パケットが存在していることが示されている。
その第2の経路は、上記の第1の経路と異なるものである。第2の経路から到来する攻撃パケットには、上記の第1の経路から到来する攻撃パケットとは異なる送信元アドレスが付与されているものである。この例では、所定の期間内に、第2の経路から端末装置17に到来する攻撃パケットには、同じ送信元IPアドレスが付与されたものしか存在しなかったことが示されている。
この第1の場合と第2の場合は、独立しており、そのうち何れか一方又は両方が発生することがある。通信制限範囲特定装置19は、それぞれの経路を解析対象とする。
(パケット数の計数)
次に、通信制限範囲特定装置19は、解析対象範囲として規定したネットワークアドレス(nw_addr)毎に、ログ情報に記録されている攻撃パケットのネットワークアドレス(nw_addr)が一致したパケット数を計数する(S134)。例えば、第2の経路について解析する場合には、通信制限範囲特定装置19は、147.0.0.0/8を分析起点節として、検出対象のネットワークアドレスのネットマスクを「/32」まで順に深めながら、検出対象のネットワークアドレスについての各ネットマスクにおける検出パケット数を集計する。
次に、通信制限範囲特定装置19は、解析対象範囲を段階的に狭めるように設定された各ネットワークアドレスnw_addrについて、上記の全ての計数値が一致するか否かを判定する(S135)。解析対象範囲に対応させて設定された複数のネットワークアドレスnw_addrについて、上記の全ての計数値が一致する場合には、通信制限範囲特定装置19は、単独のIPアドレスを利用する攻撃と判定する(S136)。例えば、その集計結果に基づいて、ネットマスク長を「/8」から「/32」まで段階的に定めた各ネットワークアドレスでのパケット数が同じ値をとる場合には、通信制限範囲特定装置19は、単独の送信元IPアドレス(図15の場合、147.203.17.28/32)を用いて攻撃パケットを送信する状態にあると判定する。つまり、この場合には、通信制限範囲特定装置19は、特定の固定IPアドレスが付与されたパケットのみが到来している状況にあると特定できる。上記の場合は、上位の節のパケット数と下位の節のパケット数とが、「/8」から「/32」を通して一致する場合に当たる。通信制限範囲特定装置19の制限範囲特定部192は、この場合、最下位の節のネットワークアドレス内のアドレスを送信元IPアドレスとして付与されたパケットが規制対象パケットとして送信されていると判定し、制限アドレス範囲として制限範囲出力部193は、端末装置17A(IDS/IPS)にその結果を出力する。
一方で、その集計結果に基づいて、ネットマスク長を「/8」から「/32」までの各ネットワークアドレス(節)でのパケットの計数値が一致しない場合には、通信制限範囲特定装置19は、単独の送信元IPアドレスを利用した攻撃のみを受けている状況にないと判定する(S137)。つまり、第1の経路のように、ネットマスク長に応じてパケット数が変化する節には、通信制限範囲特定装置19は、各ネットワークアドレスで規定されるアドレスに対応する位置に分岐節(123.80.0.0/16,123.80.36.0/22他)が存在すると判定する。上記の場合は、上位の節のパケット数より下位の節のパケット数が少なくなる場合に当たる。通信制限範囲特定装置19の制限範囲特定部192は、この場合、上位の節のネットワークアドレス内の複数のアドレスを送信元IPアドレスとして付与されたパケットが規制対象パケットとして送信されていると判定する。
次に、通信制限範囲特定装置19は、その分岐節より下位のネットワークアドレスにおける複数のアドレスの利用状況について判定する(S138)。例えば、その分岐節のネットマスク長から「/32」までの各ネットワークアドレスから送信されたパケット数がそれぞれ同じであれば、この場合も、上記と同様に固定IPアドレス(例えば、123.80.100.25/32)が利用されている状況にあると判定する。
一方,その分岐節より下位に行くほどパケット数が少なくなる状況にあれば、通信制限範囲特定装置19は、その分岐節のネットマスク長から「/32」までの間に、別の分岐節があると判定する。その場合には、通信制限範囲特定装置19は、一連の分岐節の中の最上位の分岐節(同分岐節と連結する幹Trの最下位の節)を送信元ネットワークアドレス(例えば、123.80.36.0/22)として特定する。
通信制限範囲特定装置19は、上記の結果に基づいて、パケット数が所定数以上の分岐節に基づいて、経路毎の制限アドレス範囲を決定する。前述のとおり、通信制限範囲特定装置19は、上記判定の所定数を、例えば10にすることで、所望の確率(例えば、99.8%)で送信元ネットワークアドレスを特定でき、攻撃パケットを制限することが可能になる。
また、今回特定した制限アドレス範囲を、前回特定した制限アドレス範囲やDRM履歴情報などと比較し、今回特定した制限アドレス範囲が前回までのものと一部重複している場合には、これらを包含するように新たな制限アドレス範囲を特定し、前回までの制限アドレス範囲を置き換える制限アドレス範囲として、IDS/IPSとして機能する端末装置17Aなどに出力する。これを受け取った端末装置17Aは、前述した端末装置17と同じ方法でDRMを生成するとともに、送信済のDRMを置き換える指示をDRMの拡張情報フィールド(図10)に記述してMLBR10に送信すれば、MLBR10では第1記憶部1151に登録済の該当廃棄対象ブラックリストに上書きすることによって、第1記憶部1151のメモリ空間を無駄に消費することを抑制できる。
さらに、通信制限範囲特定装置19は、分析対象としたパケットの属性情報について、宛先IPアドレスや宛先ポート番号、送信元ポート番号、パケット長、パケットタイプ、TCP制御フラグなどに共通するものを抽出して、制限アドレス範囲とともにIDS/IPSに出力してもよい。端末装置17A(IDS/IPS)では、これらの属性情報を適宜組み合わせてDRMを生成し、MLBR10に送信することによって、攻撃パケットと同じ宛先IPアドレスに送信しようとしている他の一般ユーザの通信を妨げることを抑制することができる。
以上に説明した、実施形態によれば、通信制限範囲特定装置19は、一つ又は複数のアドレスを含むアドレス範囲ごとに測定点を通過するパケットの個数を取得して、制限対象に該当する規制対象パケットの個数が一致する複数のアドレス範囲の中で、最も狭いアドレス範囲を含むように定めたアドレス範囲を、パケットの転送を制限する制限アドレス範囲として決定する制限範囲特定部192を備えることにより、攻撃等により発生した不正や過度のトラフィックの要因となるパケットの送信元アドレスの範囲をより速やかに特定することができる。
また、制限範囲特定部192は、制限アドレス範囲を、規制対象パケットの送信元アドレスに対応するネットワークアドレスまたはIPアドレスとして規定してもよい。
また、端末装置17Aは、上記の通信制限範囲特定装置19により決定された制限アドレス範囲を取得する制限アドレス範囲取得部172と、制限アドレス範囲内のアドレスを送信元アドレスとして付与したパケットが規制対象パケットとして送信されている状況にあるかを判定する状況判定部173と、を備えるようにしてもよい。
また、状況判定部173は、制限アドレス範囲に該当する規制対象パケット数より、制限アドレス範囲を包含する包含アドレス範囲に該当する規制対象パケット数が多い場合、包含アドレス範囲内の複数のアドレスを送信元アドレスとして付与したパケットが規制対象パケットとして送信されている状況にあると判定するようにしてもよい。
また、端末装置17Aは、制限アドレス範囲に基づいて、当該アドレス範囲の送信元アドレスが付与されたパケットの転送を制限する転送制御部174を備えていてもよい。
なお、IDS/IPSを備えた端末装置17AからDRMパケットがeMLBR11に送信されると、eMLBR11のコントローラ111は、受信パケットの転送先から取得したDRM(第1制限要求)に基づいた転送DRM(第2制限要求)を、受信パケットの送信元であるiMLBR12(第1送信ノード)に対して送信するように制御する。端末装置17は、受信パケットの転送先の一例である。これにより、通信システム1は、実際に被害を受けた端末装置17からのDRMによる申告に基づいて、攻撃パケットの転送を制限することができる。
また、eMLBR11の第1記憶部1151は、受信パケットの転送を制限する条件を列挙した廃棄対象ブラックリストを第1規則として記憶する。廃棄対象ブラックリストとは、例えば、受信パケットの転送を制限して、スイッチ部112において当該パケットを廃棄処理するなどのためのフローリストを記憶するものである。第2記憶部1152は、受信パケットの転送を許可する条件を列挙した通信許可ホワイトリストを第2規則として記憶する。通信許可ホワイトリストとは、例えば、受信パケットの転送をスイッチ部112に実施させるためのフローリストを記憶するものである。コントローラ111は、廃棄対象ブラックリストに基づいた制限を通信許可ホワイトリストに基づいた許可より優先させて、受信パケットの転送を制御する。これにより、コントローラ111は、廃棄対象ブラックリストに基づいて転送するパケットを抽出して、その結果に基づいて通信許可ホワイトリストに基づいて転送するように制御することができる。通信システム1は、上記のように廃棄対象ブラックリストを優先させたことにより、MLBR10に対する攻撃をMACフレームや接続ポートベースでの制限ができるなど、制御装置や転送処理の負荷を軽減することができる。
また、受信パケットの転送を許可する条件に転送を許可する通信元の経路を示す逆行経路情報が含まれ、一部又は全部の該経路情報が示す経路の送信元情報に、前記受信データを含む受信パケットに付与された送信元情報が該当する場合、スイッチ部112は、その受信パケットを転送する。これにより、スイッチ部112は、逆行経路情報が示す経路の送信元情報に、受信パケットに付与された送信元情報が該当する場合に、その受信パケットを転送することができる。
また、MLBR10は、第2規則として規定される該当経路情報に基づき、逆行経路から外れる送信元アドレスが付与された受信パケットの転送を制限する。MLBR10は、通信許可ホワイトリストに登録されている逆行経路情報に基づいてuRPF相当の機能の処理をする。bMLBR13は、uRPFによる通信制御を実施することにより、通信許可ホワイトリストに登録された逆行経路情報の経路以外のパケットをブロックする。これにより、送信元IPアドレス32ビットすべてを変化させながら攻撃パケットを送り込まれても,bMLBR13の通信許可ホワイトリストに書き込まれた逆行経路情報から、攻撃パケットを送り込んだ送信元への逆行経路を特定できる。
また、iMLBR12(第1通信装置)は、複数のMLBR10を含むネットワークNW1における通信利用者側の端部(エッジ)に設けられる。bMLBR13(第2通信装置)は、ネットワークNW1における他のネットワークNW側との境界に設けられる。bMLBR13のスイッチ部132は、iMLBR12を介して通知される転送DRM(第1規則)に基づいて受信パケットの転送を制限することにより、bMLBR13は、転送DRM(第1規則)に基づいて他のネットワークNW側からのパケットの転送を制御することができる。
また、MLBR10は、iMLBR12又はbMLBR13などの他のMLBR10宛の転送DRMを、自MLBR10内の経路情報に基づき、転送DRMに記述された送信元アドレスに向かう方向に送信する。これにより、MLBR10は、MLBR10間の通信により、転送DRMを中継することができ、一元管理するコントローラによる介在を得ることなく、速やかに転送DRMを転送することができる。
また、iMLBR12のスイッチ部122は、iMLBR12における転送DRMに基づいてuRPFのストリクトモード又はルースモード相当機能により通信する。スイッチ部122は、特にuRPFのストリクトモード相当機能では、送信元IPアドレスに対する戻りのルートがルーティングテーブル1125に存在していることと、パケットを受信したインタフェースと経路情報が示すルートの出力インタフェースとが一致していることとについて判定する。bMLBR13のスイッチ部132は、bMLBR13における転送DRMに基づいて生成した廃棄対象ブラックリスト(第1規則)とuRPFのルースモード又はストリクトモード相当機能(第2規則)とにより通信する。スイッチ部132は、特にuRPFのルースモード相当機能では、送信元IPアドレスに対する戻りのルートがルーティングテーブル1125に存在していることについて判定する。これにより、通信システム1は、通信許可ホワイトリストに登録された逆行経路情報に基づいた逆行経路に通信の範囲を制限することができ、送信元アドレスを詐称した攻撃パケットによる影響を低減することができる。
また、ネットワークNW1は、複数の他のネットワークNWに接続され、他のネットワークNWに対応させて設けられたbMLBR13を複数含む。複数のbMLBR13は、他のネットワークNWに対応させて設けられたbMLBR13にそれぞれ規定される通信逆行経路情報を共有する。これにより、通信システム1は、他のネットワークNWを含めて複数の経路が設定される場合においても、必要な対策を講じることができる。
なお、コントローラ121は、bMLBR13に対して転送DRMを通知した後、受信パケットの送信元である他のbMLBR13(第2送信ノード)に対して、端末装置17から取得したDRMに基づいて生成した転送DRM(第3制限要求)を送信するもしくは同じネットワーク上の複数のbMLBR13に対して一斉に送信するように制御してもよい。これにより、上記のように、他のネットワークNWを含めて複数の経路が設定される場合においても、第1の経路の対策を講じた後に第2の経路に対しても必要な対策を講じることができる。コントローラ121は、第1の経路に対する処理を実施した後、一定時間経過しても攻撃パケットが止まらないときに、上記の第2の経路に対する対策を実施するようにしてもよい。
また、eMLBR11(第3通信装置)は、iMLBR12に接続される。eMLBR11は、eMLBR11におけるMLBテーブル1124として、端末装置17の接続ポートとMACアドレスとIPアドレスの対応関係を記憶する。eMLBR11のスイッチ部112は、MLBテーブル1124に対応関係が存在するパケットの通信を許可する。これにより、eMLBR11のスイッチ部112は、MLBテーブル1124に対応関係が管理されている接続ポートとMACアドレスとIPアドレスに基づいて通信することができ、通信経路の途中でアドレスを詐称する攻撃に対して、必要な対策を講じることができる。
なお、通信制限範囲特定装置19は、被害ノードとなった端末装置17の被害を検出できるように、端末装置17Aとともにその端末装置17(被害ノード)の近傍に設けるとよい。
以上説明した少なくともひとつの実施形態によれば、一つ又は複数のアドレスを含むアドレス範囲ごとに測定点を通過するパケットの個数を取得して、制限対象に該当する規制対象パケットの個数が一致する前記複数のアドレス範囲の中で、最も狭いアドレス範囲を含むように定めたアドレス範囲を、パケットの転送を制限する制限アドレス範囲として決定するようにしたことにより、攻撃等により発生した不正や過度のトラフィックの要因となるパケットの送信元アドレスの範囲をより速やかに特定することができる。
なお、上記の実施形態によれば、上記のように攻撃等により発生した不正や過度のトラフィックの要因となるパケットの送信元アドレスの範囲をより速やかに特定することを通して、攻撃等により発生した過度のトラフィックをより速やかに制限することが可能になる。
(第1の変形例)
第1の変形例について説明する。上記の実施形態の通信システム1についての説明では、通信制限範囲特定装置19は、端末装置17Aに接続され、被害ノードとなった端末装置17の被害を検出できるように、端末装置17Aとともにその端末装置17(被害ノード)の近傍に設けられているものとして説明した。本変形例の通信システム1においては、これに代えて、通信制限範囲特定装置19と端末装置17Aの各機能部を統合して端末装置17Bとして一体のものとしてもよい。例えば、端末装置17Bは、少なくとも、IDS/IPS部171と、制限範囲特定部192を備える。IDS/IPS部171は、一つ又は複数のアドレスを含むアドレス範囲ごとに測定点を通過するパケットの個数を計数する。制限範囲特定部192は、制限対象に該当する規制対象パケットの個数が一致する前記複数のアドレス範囲の中で、最も狭いアドレス範囲を含むように定めたアドレス範囲を、パケットの転送を制限する制限アドレス範囲として決定する。本実施形態の端末装置17Bは、通信制御装置の一例である。
上記の第1の変形例によれば、実施形態と同様の効果を奏するものである。なお、上記の複数のアドレス範囲は互いに包含関係になるような範囲を対象にして、アドレス範囲を決定するための処理を実施してもよい。
(第2の変形例)
第2の変形例について説明する。本変形例の通信システム1においては、上記の実施形態の端末装置17Aと通信制限範囲特定装置19との組み合わせ、或いは、端末装置17Bに代えて、符号17Cとして示すIDS/IPSを備える。IDS/IPS17Cは、制限範囲特定部192を含む。IDS/IPS17Cは、端末装置17(被害ノード)もしくは端末装置17の近傍に設置される。端末装置17の近傍とは、同一物理ネットワーク内のことである。例えば、同一物理ネットワークは、eMLBR11において、端末装置17が接続されたポートのミラーリングにより実現して、仮想的に、IDS/IPS17Cを端末装置17と同一物理ネットワーク内に配置してもよい。
上記の第2の変形例によれば、実施形態と同様の効果を奏するものである。
(第3の変形例)
図16を参照して第3の変形例について説明する。図16は、第3の変形例に係る通信システムの構成例を示す図である。上記の実施形態の説明では、端末装置17の近傍に、他の端末装置17、或いは、IDS/IPS部171(端末装置17A)及び通信制限範囲特定装置19を備えるものとして説明したが、第3の変形例に係る通信システム1は、IDS/IPS部171A及び通信制限範囲特定装置19に関する機能部の一部又は全部を、eMLBR11又はiMLBR12又はbMLBR13が備えるように構成したものである。図16に示すeMLBR11又はiMLBR12又はbMLBR13は、IDS/IPS部171A及び通信制限範囲特定装置19Aを備える。
IDS/IPS部171Aは、前述のIDS/IPS部171に対応する。通信制限範囲特定装置19Aは、通信制限範囲特定装置19に関する機能部の一部又は全部に対応する。この場合、eMLBR11又はiMLBR12又はbMLBR13は、端末装置17A及び通信制限範囲特定装置19の組み合わせによる検出結果に代えて、IDS/IPS部171A及び通信制限範囲特定装置19Aの検出結果を取得するように構成する。
なお上記の場合、eMLBR11又はiMLBR12又はbMLBR13のコントローラは、eMLBR11又はiMLBR12又はbMLBR13が備えるIDS/IPS及び通信制限範囲特定装置の検出結果を取得するように構成してもよく、自コントローラ又は自コントローラの周辺装置としてIDS/IPSの機能を備えていてもよい。eMLBR11又はiMLBR12又はbMLBR13の各コントローラ又は周辺装置は、通信制御装置の一例である。
上記の第3の変形例によれば、通信システム1が、上述までの実施形態と同様の効果を奏するものである。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
例えば、通信システム1では、到来する各攻撃パケットの送信元IPアドレスの範囲を、攻撃パケットと異なる通信のパケットの存在を評価して決定してもよい。通信制限範囲特定装置19は、IDS/IPSから取得したDRMにより、廃棄パケットの属性データとパケット数をもとに評価する。上記のように廃棄パケットの属性データを評価の条件に加えることにより、パケットの属性データに基づいて攻撃パケットと他のパケットとを分離することが可能になる。通信制限範囲特定装置19は、特定の分岐節(上位の節)、すなわち上位のネットワークアドレスより下位のネットワークアドレス内から到来したパケットの属性データを取得して、攻撃パケットの送信元IPアドレス(attckrAddr)同士のアドレス空間における包含関係を評価して、その評価の結果に基づいて、廃棄要請を生成してもよい。
例えば、分岐節で求めたパケット数の合計値と、該分岐節より下位の節で求めたパケット数の合計値が同じであっても、上位の節のネットワークアドレスの範囲の方が下位の範囲を纏めた範囲よりも広いことがあり得る。そのため、正規のパケットを廃棄しないように、上位の節のネットワークアドレスは廃棄要請の対象から除き、下位の節のネットワークアドレスを対象範囲とする廃棄要請を生成する。
また、上記の図14において、ネットワークアドレス0/8を起点とすることにより2つ分析起点節が存在すものとして説明したが、ネットワークアドレスの初期値はこれに限らない。例えば、IPv4の場合、ルートアドレスは、0.0.0.0/0である。ネットワークアドレスを、ルートアドレスに遡れば、上述した2つ分析起点節も同じネットワーク範囲に含まれるネットワークアドレスが存在することになる。換言すれば、ルートアドレス、又は、ルートアドレスに比較的近いネットワークアドレスを起点とすることにより、1つ分析起点節を含むネットワークアドレスを抽出することができる。
また、通信制限範囲特定装置19は、過去の同種攻撃の廃棄要請に基づいて、アドレスの変え方の法則性を検定し、ランダム性や一方向性などの検定結果を得る。コントローラ111は、その検定結果に基づいてアドレス詐称の範囲を示すネットワークアドレスを集約してもよい。通信制限範囲特定装置19は、過去の廃棄要請の破棄指示を含む廃棄要請(集約廃棄要請)を生成してもよい。
なお、上記の実施形態の説明では、MLBR10等のスイッチ部が攻撃パケットを“廃棄する”こととして説明したが、MLBR10等は、当該パケットを、各スイッチ部内で廃棄せずに、特定のポートから外部記憶装置に出力して格納させてもよい。
なお、ネットワークNW間でDRM(転送DRM)を転送する場合には、既存の経路制御プロトコルとの整合性をとって、BGP Flow Specification(RFC 5575)を拡張して適用してもよい。