(57)【要約】【課題】パケットの監視に係る負荷を低減することができるパケット監視システムを提供する。【解決手段】端末３は、インターネット７から不要なパケットを受信した場合に、受信したパケットの種類毎に固定された内容の応答パケットをインターネット７へ送信する。パケット監視装置６は、注目ネットワーク２からインターネット７へ送信されるパケットを収集し、収集したパケットのうち、上記の応答パケットに基づくカウントを行う。【選択図】図１
2012029144.tif 000002
【特許請求の範囲】
【請求項１】
監視対象のネットワーク内の複数の通信端末と、前記監視対象のネットワークから外部へ送信されるパケットを監視するパケット監視装置とを有するパケット監視システムであって、
前記複数の通信端末は、
パケットを受信する受信部と、
前記監視対象のネットワークの外部から特定種類のパケットを受信した場合に、受信したパケットの種類毎に固定された内容の応答パケットを前記監視対象のネットワークの外部へ送信する送信部と、
を有し、
前記パケット監視装置は、
前記監視対象のネットワークから外部へ送信されるパケットを収集する収集部と、
収集されたパケットのうち前記応答パケットに基づくカウントを行うカウント部と、
を有し、
前記監視対象のネットワーク内の各装置において、前記特定種類のパケットを棄却する設定がなされていない
ことを特徴とするパケット監視システム。
【請求項２】
前記収集部によるパケットの収集と、前記カウント部によるカウントとが交互に行われることを特徴とする請求項１に記載のパケット監視システム。
【請求項３】
前記カウント部は、前記応答パケットであるTCP-RST-ACKパケットの発信元IPアドレス毎に前記TCP-RST-ACKパケットの数をカウントすることを特徴とする請求項１または請求項２に記載のパケット監視システム。
【請求項４】
前記カウント部は、前記応答パケットであるTCPのICMP unreachableパケットの発信元TCPポート番号毎に前記TCPのICMP unreachableパケットの数をカウントすることを特徴とする請求項１〜請求項３のいずれか一項に記載のパケット監視システム。
【請求項５】
前記カウント部は、前記応答パケットであるUDPのICMP unreachableパケットの発信元UDPポート番号毎に前記UDPのICMP unreachableパケットの数をカウントすることを特徴とする請求項１〜請求項３のいずれか一項に記載のパケット監視システム。
【請求項６】
前記カウント部は、前記応答パケットであるICMP echo replyパケットの数をカウントすることを特徴とする請求項１〜請求項４のいずれか一項に記載のパケット監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信経路上でパケットを監視するパケット監視システムに関する。
【背景技術】
【０００２】
インターネット上の未使用のIPアドレス空間はダークネットと呼ばれる。ダークネットに到来するパケットを観測することで、インターネットを経由して感染を広めるマルウェアの活動傾向などを把握することができる。これまで、ダークネットに対するパケットの監視と解析に関する技術が提案されている（例えば、非特許文献１，２参照）。ダークネットには端末が存在せず、外部からダークネットに到来するInbound方向のパケットに対して、ダークネットから外部へ送信されるOutbound方向の応答パケットがない。このため、Inbound方向のパケットを監視することによって、マルウェアによる攻撃を受けやすいIPアドレスやポート番号を容易に知ることができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】山形昌也，村田康裕，井上大介，衛藤将史，中尾康二，“変化点検出システムにおける全ポートアクセス観測機構の実装とダークネットの観測事例に関する考察”，電子情報通信学会，SICS2009，2E1-2，2009年1月
【非特許文献２】中里純二，島村隼平，衛藤将史，井上大介，中尾康二，“パケットヘッダの特徴に基づいたダークネットトラフィックのパケット生成手法の分類”，信学技報，vol. 109，no. 285，ICSS2009-61，pp.43-48，2009年11月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
端末が存在しないダークネットに到来するパケットは、攻撃による不要なパケットであることが分かるが、端末が存在する実ネットワークに到来するパケットが不要なパケットであるか否かは、端末上で起動しているアプリケーションに依存する。また、実ネットワークでは、外部から監視対象のネットワークに到来するInbound方向のパケットだけでなく、監視対象のネットワークから外部へ送信されるOutbound方向のパケットもある。このため、以下で説明するように、Inbound方向およびOutbound方向のパケットの監視が必要である。多数の端末が収容されたネットワークにおいてInbound方向およびOutbound方向のパケットを監視する場合、監視対象のネットワークと外部とが接続する位置等の１箇所にパケット監視装置を設け、効率的にパケットの監視を行うことが望ましい。
【０００５】
端末が、自身で起動しているアプリケーションにとって不要なパケットに対する応答パケットを送信すれば、Outbound方向の応答パケットを監視することによって、不要なパケットが監視対象のネットワークに到来していたことを検知することは可能である。しかし、特定のサービスに係るパケット以外のパケットを棄却するファイアウォールが監視対象のネットワーク内に設置されている場合、または端末上で起動しているアプリケーションが提供するサービスに係るパケット以外のパケットを棄却する設定が端末上でなされている場合、応答パケットが送信されないため、Outbound方向のパケットを監視するだけでは、不要なパケットが監視対象のネットワークに到来していたことを検知することができない。
【０００６】
このため、パケット監視装置では、送受信のIPアドレスをペアとした通信セッション単位でInbound方向およびOutbound方向のパケットを監視することが必要になる。このような監視により、Inbound方向のパケットに対応するOutbound方向の応答パケットが存在しなかった場合に、不要なパケットが監視対象のネットワークに到来していたことを検知することができる。しかし、送受信のIPアドレスの数が膨大であるため、この方法では、通信セッション単位でInbound方向およびOutbound方向のパケットを監視するためのCPUやメモリの負荷が増大する。
【０００７】
本発明は、上述した課題に鑑みてなされたものであって、パケットの監視に係る負荷を低減することができるパケット監視システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するためになされたもので、監視対象のネットワーク内の複数の通信端末と、前記監視対象のネットワークから外部へ送信されるパケットを監視するパケット監視装置とを有するパケット監視システムであって、前記複数の通信端末は、パケットを受信する受信部と、前記監視対象のネットワークの外部から特定種類のパケットを受信した場合に、受信したパケットの種類毎に固定された内容の応答パケットを前記監視対象のネットワークの外部へ送信する送信部と、を有し、前記パケット監視装置は、前記監視対象のネットワークから外部へ送信されるパケットを収集する収集部と、収集されたパケットのうち前記応答パケットに基づくカウントを行うカウント部と、を有し、前記監視対象のネットワーク内の各装置において、前記特定種類のパケットを棄却する設定がなされていないことを特徴とするパケット監視システムである。
【０００９】
また、本発明のパケット監視システムにおいて、前記収集部によるパケットの収集と、前記カウント部によるカウントとが交互に行われることを特徴とする。
【００１０】
また、本発明のパケット監視システムにおいて、前記カウント部は、前記応答パケットであるTCP-RST-ACKパケットの発信元IPアドレス毎に前記TCP-RST-ACKパケットの数をカウントすることを特徴とする。
【００１１】
また、本発明のパケット監視システムにおいて、前記カウント部は、前記応答パケットであるTCPのICMP unreachableパケットの発信元TCPポート番号毎に前記TCPのICMP unreachableパケットの数をカウントすることを特徴とする。
【００１２】
また、本発明のパケット監視システムにおいて、前記カウント部は、前記応答パケットであるUDPのICMP unreachableパケットの発信元UDPポート番号毎に前記UDPのICMP unreachableパケットの数をカウントすることを特徴とする。
【００１３】
また、本発明のパケット監視システムにおいて、前記カウント部は、前記応答パケットであるICMP echo replyパケットの数をカウントすることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、外部から監視対象のネットワークに特定種類のパケットが到来すると、そのパケットの種類毎に固定された内容の応答パケットが監視対象のネットワークから外部へ送信され、パケット監視装置は、その応答パケットに基づくカウントを行う。これによって、パケット監視装置は監視対象のネットワークから外部へのパケットのみを監視すればよくなるので、パケットの監視に係る負荷を低減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるパケット監視システムの構成を示す構成図である。
【図２】本発明の一実施形態によるパケット監視システムが備える端末の構成を示すブロック図である。
【図３】本発明の一実施形態によるパケット監視システムが備えるパケット監視装置の構成を示すブロック図である。
【図４】本発明の一実施形態によるパケット監視システムが備えるパケット監視装置の動作の手順を示すフローチャートである。
【図５】本発明の一実施形態によるパケット監視システムが備えるパケット監視装置の動作のシーケンスを示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本発明の一実施形態によるパケット監視システムの構成を示している。図１に示すパケット監視システム１は、監視対象である注目ネットワーク２内の複数の端末３と、ゲートウェイ４と、光タップ５と、パケット監視装置６とを有する。
【００１７】
端末３は、パケットの送受信を行う通信端末である。ゲートウェイ４は、注目ネットワーク２とインターネット７とを接続する。光タップ５は、通信トラフィックを分岐（ミラーリング）して出力することが可能である。光タップ５に入力された通信トラフィックは光信号として光ファイバ内を伝送し、伝送経路の途中に設けられたハーフミラーで２つの経路に分岐する。本実施形態では、注目ネットワーク２からインターネット７へのOutbound方向の通信トラフィックが分岐され、一方の通信トラフィックはインターネット７へ出力され、他方の通信トラフィック（インターネット７への通信トラフィックと同一）はパケット監視装置６へ出力される。パケット監視装置６は、光タップ５から出力されたOutbound方向のパケットを監視する。
【００１８】
本実施形態の注目ネットワーク２内では、パケットの棄却を行うファイアウォールが設置されていない（あるいはファイアウォール機能がOFFに設定されていてもよい）。したがって、注目ネットワーク２に到来したパケットはいずれかの端末３で受信される。
【００１９】
次に、端末３の構成および動作を説明する。図２は端末３の構成を示している。図２に示すように、端末３は、アプリケーション３０と、制御部３１と、通信インタフェース部３２とを有する。
【００２０】
アプリケーション３０は、アプリケーションの処理として規定された各種処理を実行する。図２では、複数種類のアプリケーション３０が端末３上で起動している状態を示しているが、起動しているアプリケーションは端末３毎に異なる。
【００２１】
制御部３１は端末３内の各部を制御する。本実施形態では、制御部３１が有する各種制御機能のうち、パケット制御機能についてのみ説明する。制御部３１は、アプリケーションインタフェース部３１ａとパケットフィルタリング部３１ｂとを有する。アプリケーションインタフェース部３１ａは、アプリケーション３０との間でパケットの受け渡しを行う。パケットフィルタリング部３１ｂは、パケット制御用のiptablesを備えており、端末３で受信されたパケットのフィルタリングを行う。アプリケーションインタフェース部３１ａとパケットフィルタリング部３１ｂの設定は全ての端末３で同一である。通信インタフェース部３２は、例えばネットワークインタフェースカード（NIC）で構成され、外部と通信を行う。端末３は、情報を表示する表示部や、ユーザによる操作を受け付ける操作部等を有していてもよい。
【００２２】
パケット受信時の端末３の動作を説明する。通信インタフェース部３２は、パケットを受信すると、受信したパケットを制御部３１へ出力する。パケットフィルタリング部３１ｂは、iptablesの設定内容に基づいて、通信インタフェース部３２から出力されたパケットのフィルタリングを行う。iptablesの設定によって、特定のサービスに係るパケット（すなわち、特定のポート番号をDestination Portとするパケット）を棄却することが可能である。しかし、本実施形態では、iptablesによるパケットの棄却設定が予め全て解除されており、通信インタフェース部３２から出力されたパケットはパケットフィルタリング部３１ｂでは棄却されないものとする。
【００２３】
上記のように、通信インタフェース部３２から出力された全てのパケットはパケットフィルタリング部３１ｂを通過する。アプリケーションインタフェース部３１ａは、パケットフィルタリング部３１ｂを通過したパケットの振り分けを行う。具体的には、パケットのDestination Portによって指定されるポート番号が、いずれかのアプリケーション３０が使用しているポート番号と一致する場合、アプリケーションインタフェース部３１ａはそのアプリケーション３０にパケットの内容を通知する。また、パケットのDestination Portによって指定されるポート番号が、どのアプリケーション３０が使用しているポート番号とも一致しない場合、アプリケーションインタフェース部３１ａは、端末３で受信されたパケットが不要なパケットであると判断する。
【００２４】
アプリケーションインタフェース部３１ａは、端末３で受信されたパケットが不要なパケットであると判断した場合、パケットの種類に応じた内容の応答パケットを生成する。本実施形態では、以下の４種類の応答パケットが生成される。
【００２５】
（１）Inbound Port／TCP-SYNパケットに対するOutbound Port／TCP-RST-ACKパケット
TCPのポート番号を指定したTCP-SYNパケットが不要なパケットであると判断された場合、TCP-SYNパケットが指定するTCPのポート番号と同一のポート番号を指定したTCP-RST-ACKパケットが生成される。
【００２６】
（２）Inbound Port／TCP-RST-ACKパケットに対するOutbound ICMP unreachable（Port／TCP）パケット
インターネット７側の端末が、送信元のIPアドレスを注目ネットワーク２内の端末３のIPアドレスに詐称してインターネット７側の他の端末へ攻撃のためのTCP-SYNパケットを送信することがある。このTCP-SYNパケットを受信した端末は、注目ネットワーク２内の端末３のIPアドレス宛てにTCP-RST-ACKパケットを送信する。このTCP-RST-ACKパケットを受信した端末３では、TCP-RST-ACKパケットが不要なパケットであると判断され、TCP-RST-ACKパケットが指定するTCPのポート番号を指定したICMP unreachableパケットが生成される。
【００２７】
（３）Inbound Port／UDPパケットに対するOutbound ICMP unreachable（Port／UDP）パケット
UDPのポート番号を指定したUDPパケットが不要なパケットであると判断された場合、UDPパケットが指定するUDPのポート番号と同一のポート番号を指定したICMP unreachableパケットが生成される。
【００２８】
（４）Inbound ICMPパケットに対するOutbound ICMP echo replyパケット
ネットワーク上の端末の存在を確かめるpingコマンド等の実行時に送信されたICMPパケットは端末３では不要なパケットであると判断され、ICMP echo replyパケットが生成される。
【００２９】
アプリケーションインタフェース部３１ａは、生成した応答パケットを通信インタフェース部３２へ出力する。通信インタフェース部３２は応答パケットを送信する。本実施形態では、全ての端末３のアプリケーションインタフェース部３１ａが同一の動作を行うように予め設定されているため、不要なパケットに対する応答パケットは上記の４種類のパケットのいずれかとなる。
【００３０】
次に、パケット監視装置６の構成および動作を説明する。図３はパケット監視装置６の構成を示している。図３に示すように、パケット監視装置６は、パケット収集部６０と、記憶部６１と、パケット解析部６２と、制御部６３とを有する。
【００３１】
パケット収集部６０は、光タップ５から出力されたパケットを収集し、記憶部６１に格納する。記憶部６１はハードディスクドライブ等の記録媒体である。パケット解析部６２は、記憶部６１からパケットを読み出し、パケットの内容を解析する。制御部６３はパケット監視装置６内の各部を制御する。
【００３２】
パケット監視装置６の動作を説明する。図４はパケット監視装置６の動作の手順を示している。パケット監視装置６が動作を開始すると、制御部６３は、パケットの収集時間を計測するためのタイマをクリア（初期化）する（ステップＳ１００）。続いて、パケット収集部６０は、光タップ５から出力されたパケットを受信し、記憶部６１に格納する（ステップＳ１０５）。
【００３３】
続いて、制御部６３は、タイマが計測した時間が所定時間を超えたか否かを判定する（ステップＳ１１０）。計測時間が所定時間を超えていない場合、処理はステップＳ１０５に戻り、パケットの収集が継続される。
【００３４】
計測時間が所定時間を超えた場合、パケット解析部６２は記憶部６１から未解析のパケットを読み出し、パケットを解析する（ステップＳ１１５）。具体的には、まず、パケット解析部６２はパケットの種類を判定する。パケットが、前述した（１）〜（４）のいずれかの応答パケットである場合、パケット解析部６２は、応答パケットに基づくカウントを行う。
【００３５】
パケット解析部６２は、発信元のIPアドレスであるSource IPアドレス毎のPort／TCP-RST-ACKパケット数、発信元のTCPポート番号であるSource Port／TCP毎のICMP unreachable（Port／TCP）パケット数、発信元のUDPポート番号であるSource Port／UDP毎のICMP unreachable（Port／UDP）パケット数、およびICMP echo replyパケット数をカウントする。パケット解析部６２は、これら４種類の数のカウントを個別に行うためのテーブルを有している。
【００３６】
Source IPアドレス毎のPort／TCP-RST-ACKパケット数をカウントするためのテーブルは、Source IPアドレスとカウント値が関連付けられたエントリ（行）を複数個有している。パケットから検出されるSource IPアドレスの数は数百万オーダであることを想定しており、エントリ数もこれと同等となる。パケット解析部６２は、記憶部６１から読み出したパケットがPort／TCP-RST-ACKパケットであり、そのSource IPアドレスが既にテーブルに登録されている場合、そのSource IPアドレスのカウント値を１増加する。また、パケット解析部６２は、記憶部６１から読み出したパケットがPort／TCP-RST-ACKパケットであり、そのSource IPアドレスがテーブルに登録されていない場合、テーブルにそのSource IPアドレスのエントリ（行）を追加し、そのSource IPアドレスのカウント値を１とする。このようなカウントを行うことによって、Port／TCP-SYNパケットによる攻撃を受けやすいIPアドレスを知るための情報を生成することができる。
【００３７】
Source Port／TCP毎のICMP unreachable（Port／TCP）パケット数をカウントするためのテーブルは、Source Port／TCPとカウント値が関連付けられたエントリ（行）を複数個有している。Source Port／TCPの数は約６万５千個であり、エントリ数もこれと同等となる。パケット解析部６２は、記憶部６１から読み出したパケットがICMP unreachable（Port／TCP）パケットであり、そのSource Port／TCPが既にテーブルに登録されている場合、そのSource Port／TCPのカウント値を１増加する。また、パケット解析部６２は、記憶部６１から読み出したパケットがICMP unreachable（Port／TCP）パケットであり、そのSource Port／TCPがテーブルに登録されていない場合、テーブルにそのSource Port／TCPのエントリ（行）を追加し、そのSource Port／TCPのカウント値を１とする。このようなカウントを行うことによって、Port／TCP-RST-ACKパケットによる攻撃を受けやすいTCPのポート番号を知るための情報を生成することができる。
【００３８】
Source Port／UDP毎のICMP unreachable（Port／UDP）パケット数をカウントするためのテーブルは、Source Port／TCP毎のICMP unreachable（Port／TCP）パケットをカウントするためのテーブルと同様であり、カウントの方法も同様である。Source Port／UDP毎のICMP unreachable（Port／UDP）パケット数をカウントすることによって、Port／UDPパケットによる攻撃を受けやすいUDPのポート番号を知るための情報を生成することができる。
【００３９】
ICMP echo replyパケット数をカウントするためのテーブルは、カウント値のみを有する１つのエントリ（行）を有している。パケット解析部６２は、ICMP echo replyパケットを検出した場合、カウント値を１増加する。このようなカウントを行うことによって、ping攻撃等の発生の状況を知るための情報を生成することができる。
【００４０】
上記のカウントを行ったパケット解析部６２は、カウント結果を記憶部６１に格納する。記憶部６１に格納されたカウント結果は、適宜、表示装置等に出力することが可能である。
【００４１】
ステップＳ１１５に続いて、制御部６３は、記憶部６１に格納されているパケットの解析が終了したか否かを判定する（ステップＳ１２０）。解析を行っていないパケットが記憶部６１に残っている場合、処理はステップＳ１１５に戻り、パケットの解析が継続される。また、記憶部６１に格納されている全てのパケットの解析が終了している場合、処理はステップＳ１００に戻り、パケットの収集が再開される。
【００４２】
本実施形態では、注目ネットワーク２内にファイアウォールが設置されておらず、また、全ての端末３において、iptablesによるパケットの棄却設定が解除されている。このため、注目ネットワーク２に到来した不要なパケットは端末３によって受信され、端末３は、不要なパケットの種類毎に固定された内容の応答パケットを必ず送信することになる。したがって、Inbound方向の不要なパケットとOutbound方向の応答パケットとが一対一で対応することになる。よって、パケット監視装置６はOutbound方向についてのみパケットの監視を行えばよいので、パケットの監視に係る負荷を低減することができる。
【００４３】
図５は、図４に示した手順に従った動作のシーケンスを示している。図５に示すように、所定の長さの期間Ｔ１でパケットの収集が行われた後、期間Ｔ２でパケットの解析が行われる。期間Ｔ１で収集されたパケットの解析が終了すると、所定の長さの期間Ｔ３で再度パケットの収集が行われた後、期間Ｔ４でパケットの解析が行われる。以降はこの繰り返しとなる。
【００４４】
光回線のように高速な通信回線上の１箇所で大量のパケットを収集する場合、収集したパケットを記憶装置に保存するためのバスアクセスが頻繁に行われるため、このバスアクセスと、解析用のパケットを記憶装置から読み出すためのバスアクセスとが競合してしまう。このため、高速な通信回線を伝送するパケットの一部を収集できなかったり、パケットの解析処理が遅延したりする。
【００４５】
しかし、本実施形態では、上記のように、パケットの収集とパケットの解析とが同一のタイミングでは行われず、排他的に（交互に）行われるので、収集したパケットを記憶部６１に保存するためのバスアクセスと、解析用のパケットを記憶部６１から読み出すためのバスアクセスとが競合しなくなる。これによって、所定期間内に高速な通信回線を伝送する全てのパケットを収集し、その解析を行うことができる。
【００４６】
上述したように、本実施形態によれば、パケット監視装置６がOutbound方向のパケットのみを監視することによって、Inbound方向およびOutbound方向のパケットを監視する手法よりも、パケットの監視に係る負荷を低減することができる。また、パケットの収集とパケットの解析とを排他的に（交互に）行うことによって、所定期間内に高速な通信回線を伝送する全てのパケットを収集し、解析を行うことができる。さらに、パラメータ毎にパケット数をカウントすることによって、攻撃の状況を把握するための情報を生成することができる。
【００４７】
なお、パケットの解析結果に基づいてパケットフィルタリングを行ってもよい。例えば、ファイアウォール機能を有する装置において、解析結果を得るまではファイアウォール機能をOFFにし、解析結果を得た後は解析結果に基づいてパケットフィルタリングを行うようにファイアウォール機能をONにしてもよい。
【００４８】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００４９】
１・・・パケット監視システム、２・・・注目ネットワーク、３・・・端末、４・・・ゲートウェイ、５・・・光タップ、６・・・パケット監視装置、７・・・インターネット、３０・・・アプリケーション、３１・・・制御部、３１ａ・・・アプリケーションインタフェース部、３１ｂ・・・パケットフィルタリング部、３２・・・通信インタフェース部、６０・・・パケット収集部、６１・・・記憶部、６２・・・パケット解析部、６３・・・制御部
【図１】
2012029144.tif 000003
【図２】
2012029144.tif 000004
【図３】
2012029144.tif 000005
【図４】
2012029144.tif 000006
【図５】
2012029144.tif 000007