(57)【特許請求の範囲】
【請求項１】
事前に定められた一定期間毎のトラフィックの始点と終点の情報から生成した通信関係構造の時系列上の変化から異常を検出しその異常原因を特定する通信関係構造異常検出装置における通信関係構造異常検出方法であって、
前記通信関係構造異常検出装置は、トラフィックデータ取得部と通信関係構造抽出部と通信関係構造間距離計算部と通信関係構造異常検出部と通信関係構造異常原因特定部とを備え、
前記トラフィックデータ取得部が、一定期間毎のトラフィックの始点と終点の情報を取得する第１のステップと、
前記通信関係構造抽出部が、前記一定期間毎のトラフィックの始点と終点の情報から通信関係構造を生成する第２のステップと、
前記通信関係構造間距離計算部が、前記通信関係構造間の距離を計算する第３のステップと、
前記通信関係構造異常検出部が、ある期間の通信関係構造と参照通信関係構造との前記距離の乖離に基づき異常を検出する第４のステップと、
前記通信関係構造異常原因特定部が、異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する第５のステップとを
含むことを特徴とする通信関係構造異常検出方法。
【請求項２】
前記始点と終点の情報としてトラフィックの送信ＩＰアドレスと宛先ＩＰアドレスを用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項３】
前記始点と終点の情報としてトラフィックの送信元ＡＳと宛先ＡＳを用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項４】
前記始点と終点の情報としてアプリケーションレイヤメッセージの送信元と宛先を用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項５】
前記第１のステップにおいて、パケットヘッダ情報および／またはパケットペイロード情報によりフィルタリングすることによって、検出対象トラフィックを限定することを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項６】
前記第２のステップにおいて、通信関係構造として、一定期間毎のトラフィックに出現する始点と終点をノードとし、トラフィックが存在した始点と終点間をエッジとするグラフを用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項７】
前記第２のステップにおいて、通信関係構造として、一定期間毎のトラフィックに出現する始点をノードとし、同一の終点に共通してトラフィックが存在した２始点間をエッジとするグラフを用いることを特徴とする請求項１に記載の通信関係構造異常検出方法。
【請求項８】
前記第２のステップにおいて、通信関係構造として、一定期間毎のトラフィックに出現する終点をノードとし、同一の始点に共通してトラフィックが存在した２終点間をエッジとするグラフを用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項９】
前記第３のステップにおいて、通信関係構造間の距離の計算において、グラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項１０】
前記第４のステップにおいて、参照通信関係構造として前記ある期間の直前の期間の通信関係構造を用いることを特徴とする請求項１記載の通信関係構造異常検出方法。
【請求項１１】
前記第４のステップにおいて、参照通信関係構造として、前記最大固有値に属する固有ベクトルに関する、時系列モデルによる予測ベクトルを用いることを特徴とする請求項９記載の通信関係構造異常検出方法。
【請求項１２】
前記第５のステップにおいて、前記固有ベクトルの内積値の差が基準値以上となるノードに対応する始点または終点を異常原因の始点または終点として特定することを特徴とする請求項９記載の通信関係構造異常検出方法。
【請求項１３】
事前に定められた一定期間毎のトラフィックの始点と終点の情報から生成した通信関係構造の時系列上の変化から異常を検出しその異常原因を特定する通信関係構造異常検出装置であって、
一定期間毎のトラフィックの始点と終点の情報を取得するトラフィックデータ取得部と、
前記一定期間毎のトラフィックの始点と終点の情報から通信関係構造を生成する通信関係構造抽出部と、
前記通信関係構造間の距離を計算する通信関係構造間距離計算部と、
ある期間の通信関係構造と参照通信関係構造との前記距離の乖離に基づき異常を検出する通信関係構造異常検出部と、
異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する通信関係構造異常原因特定部とを
備えることを特徴とする通信関係構造異常検出装置。
【請求項１４】
事前に定められた一定期間毎のトラフィックの始点と終点の情報から生成した通信関係構造の時系列上の変化から異常を検出しその異常原因を特定する通信関係構造異常検出装置のための通信関係構造異常検出プログラムであって、
コンピュータを、
一定期間毎のトラフィックの始点と終点の情報を取得するトラフィックデータ取得部、
前記一定期間毎のトラフィックの始点と終点の情報から通信関係構造を生成する通信関係構造抽出部、
前記通信関係構造間の距離を計算する通信関係構造間距離計算部、
ある期間の通信関係構造と参照通信関係構造との前記距離の乖離に基づき異常を検出する通信関係構造異常検出部、および
異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する通信関係構造異常原因特定部、
として機能させるための通信関係構造異常検出プログラム。
【請求項１５】
請求項１４記載の通信関係構造異常検出プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインターネット等のコンピュータネットワーク上を転送されるトラフィック等大容量データの分析技術に関する。
【背景技術】
【０００２】
インターネットにおける特定サーバに対する攻撃などの異常トラフィックの増加に伴い、異常トラフィックの検出に対する要求が高まっている。パケット数、バイト数などのトラフィック量に関する異常検出については、特許文献１を始め、種々の手法が提案されている。
【０００３】
一方、近年ＯＳ、アプリケーション等の脆弱性を攻撃するために、脆弱性の有無を検査する目的で、多数のホストに対して少数のパケットを送信するスキャン活動が報告されている。これらの活動はトラフィック量的には少ないものの、インターネットにあたえる脅威は大きい。これらの異常トラフィックについても近年盛んに研究されており、例えば特許文献２では、ホスト毎の通年フロー数や通信相手先数のランキングの変化によって、このようなトラフィック量としては現れない異常検出手法を提案している。
【０００４】
また非特許文献１では、ホスト毎の通信フロー数等の特定ホストへの集中度をトラフィックのエントロピーとして計算し、そのエントロピー値の時系列上の異常の検出手法を提案している。
【０００５】
【特許文献１】特開２００５−２２３８４７号公報
【特許文献２】特開２００７−１７３９０７号公報
【非特許文献１】Aunkool Lakhina，Mark Crovella and Christophe Diot(2005). Mining Anomalies Using Traffic Feature Distributinons, In: Proceedings of ACM SIGCOMM2005. pp.217-228.
【非特許文献２】H. Kashima，K. Tsuda and A. Inokuchi：Marginalized Kernels Between Labeled Graphs，In Proc. 20th International Conference on Machine Learning(ICML)，2003
【非特許文献３】T Gaertner, "A survey of kernels for structured date," SIGKDD Explorations，vol.5，no.1，pp.S268-S275，2003.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、これら手法で検出できる異常は、個別ホストの挙動の異常である。近年の異常トラフィックは、複数のホストが共同で攻撃を実施するケースも多い。個別ホストの挙動監視のみでは、それらホスト間通信関係構造を考慮しないために、ホスト群の挙動異常は検出できない可能性が高い。従って、これらホスト群の挙動異常を検出するためには、ホスト群の間の通信関係構造を監視し、その時系列上の異常として検出する必要がある。しかしながら、一般的に用いられる時系列解析による異常検出手法は、スカラー値、ベクトル値の時系列データを対象とするものであるが、通信関係構造はスカラー値、べクトル値でないため、これらの手法は適用できない。
【０００７】
また非特許文献２、３ではグラフ構造をもつデータ間の内積値（距離）計算手法を提案している。しかしながら同手法は、ラベル付グラフの分類を目的として提案されているため、そのままでは通信関係構造の異常検出に適用することは出来ない。
【０００８】
本発明の目的は、上記の課題を鑑みてなされたもので、トラフィックの始点と終点間の接続関係構造の時系列上の変化を検出することである。
【課題を解決するための手段】
【０００９】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１０】
事前に定められた一定期間毎のトラフィックの始点と終点の情報から生成した通信関係構造の時系列上の変化から異常を検出しその異常原因を特定する通信関係構造異常検出装置における通信関係構造異常検出方法であって、前記通信関係構造異常検出装置は、トラフィックデータ取得部と通信関係構造抽出部と通信関係構造間距離計算部と通信関係構造異常検出部と通信関係構造異常原因特定部とを備え、前記トラフィックデータ取得部が、一定期間毎のトラフィックの始点と終点の情報を取得する第１のステップと、前記通信関係構造抽出部が、前記一定期間毎のトラフィックの始点と終点の情報から通信関係構造を生成する第２のステップと、前記通信関係構造間距離計算部が、前記通信関係構造間の距離を計算する第３のステップと、前記通信関係構造異常検出部が、ある期間の通信関係構造と参照通信関係構造との前記距離の乖離に基づき異常を検出する第４のステップと、前記通信関係構造異常原因特定部が、異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する第５のステップとを含むことを特徴とする通信関係構造異常検出方法。
【００１１】
第２の発明は、第１の発明において、前記始点と終点の情報としてトラフィックの送信ＩＰアドレスと宛先ＩＰアドレスを用いることを特徴とする。
【００１３】
第３の発明は、第１の発明において、前記始点と終点の情報としてトラフィックの送信元ＡＳと宛先ＡＳを用いることを特徴とする。
【００１４】
第４の発明は、第１の発明において、前記始点と終点の情報としてアプリケーションレイヤメッセージの送信元と宛先を用いることを特徴とする。
【００１５】
第５の発明は、第１の発明において、前記第１のステップにおいて、パケットヘッダ情報および／またはパケットペイロード情報によりフィルタリングすることによって、検出対象トラフィックを限定することを特徴とする。
【００１７】
第６の発明は、第１の発明において、前記第２のステップにおいて、通信関係構造として、一定期間毎のトラフィックに出現する始点と終点をノードとし、トラフィックが存在した始点と終点間をエッジとするグラフを用いることを特徴とする。
【００２０】
第７の発明は、第１の発明において、前記第２のステップにおいて、通信関係構造として、一定期間毎のトラフィックに出現する始点をノードとし、同一の終点に共通してトラフィックが存在した２始点間をエッジとするグラフを用いることを特徴とする。
【００２１】
第８の発明は、第１の発明において、前記第２のステップにおいて、通信関係構造として、一定期間毎のトラフィックに出現する終点をノードとし、同一の始点に共通してトラフィックが存在した２終点間をエッジとするグラフを用いることを特徴とする。
【００２２】
第９の発明は、第１の発明において、前記第３のステップにおいて、通信関係構造間の距離の計算において、グラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いることを特徴とする。
【００２３】
第１０の発明は、第１の発明において、前記第４のステップにおいて、参照通信関係構造として前記ある期間の直前の期間の通信関係構造を用いることを特徴とする。
【００２４】
第１１の発明は、第９の発明において、前記第４のステップにおいて、参照通信関係構造として、前記最大固有値に属する固有ベクトルに関する、時系列モデルによる予測ベクトルを用いることを特徴とする。
【００２５】
第１２の発明は、第９の発明において、前記第５のステップにおいて、前記固有ベクトルの内積値の差が基準値以上となるノードに対応する始点または終点を異常原因の始点または終点として特定することを特徴とする。
【発明の効果】
【００２６】
本発明によれば従来困難であった通信関係構造の異常を検出することが出来る。
【発明を実施するための最良の形態】
【００２７】
以下、図面を用いて本発明の実施例を説明する。
【００２８】
図１は、コンピュータネットワーク（例えばインターネット）のトラフィックデータを対象とする本発明の実施例の通信関係構造異常検出装置の基本構成の一例を示す図である。図１において、１０１はコンピュータネットワーク（監視対象網）である。１０２はトラフィック送信端末であり、１０３はトラフィック受信端末である。１０４はトラフィック送信端末１０２からトラフィック受信端末１０３へ向かうトラフィックである。１０５−１〜１０５−４はトラフィック１０４が経由するルータである。１１０は本発明の実施例の通信関係構造異常検出装置である。
【００２９】
通信関係構造異常検出装置１１０は、一定期間毎のトラフィックの始点と終点の情報を取得するトラフィックデータ取得部１１１と、トラフィックデータ取得部１１１が取得した一定期間毎のトラフィックの始点と終点の情報から通信関係構造を生成する通信関係構造抽出部１１２と、通信関係構造抽出部１１２が生成した通信関係構造間の距離を計算する通信関係構造間距離計算部１１３と、通信関係構造間距離計算部１１３が計算した距離を用いて、ある期間の通信関係構造と参照通信関係構造との距離の乖離に基づき異常を検出する通信関係構造異常検出部１１４と、通信関係構造異常検出部１１４が異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する通信関係構造異常原因特定部１１５と、を備える。
【００３０】
トラフィックデータ取得部１１１では、リンク上に転送されるパケットデータもしくはルータから出力されるトラフィックフローデータから、一定期間毎のトラフィックの始点と終点の情報を抽出する。始点の情報、終点の情報として、送信端末ＩＰアドレス、受信端末ＩＰアドレスを抽出してもよいし、送信元経路、宛先経路を抽出してもよいし、送信元ＡＳ、宛先ＡＳを抽出してもよい。また、アプリケーションレイヤメッセージの送信元と宛先を抽出してもよい。これは例えばＥメールアプリケーションにおける送信元メールアドレス、宛先メールアドレスや、Ｐ２Ｐファイル共有アプリケーションにおけるファイルの供給元、配信先などが含まれる。また、異常検出対象の通信関係の始点、終点間トラフィックが監視対象トラフィックの一部である場合は、パケットヘッダおよび／またはペイロード情報によりフィルタリングしたトラフィック情報を対象に始点と終点情報を抽出してもよい。また大規模トラフィックデータを対象とする場合、始点数、終点数が膨大となり、対象通信関係構造が大きくなり、実時間処理が困難になる可能性がある。このような場合に対しては、単一または複数のハッシュ関数を用いて少数の始点数、終点数に集約する。
【００３１】
通信関係構造抽出部１１２では、トラフィック情報取得部１１１から、事前に定められた一定時間間隔内に観測された始点、終点間の通信関係構造を生成する。始点、終点をノードとし、通信が存在する始点、終点間をエッジとする無向二部グラフを通信関係構造とすることができる。また、始点（終点）をノードとし、二つの始点（終点）が共通する終点（始点）と通信が存在する場合にそれら二始点（終点）をエッジとする通信関係構造とすることもできる。エッジには始点終点間のトラフィック量に応じた重みを与えてもよい。またハッシュ関数を用いて始点、終点を集約した場合は、エッジに対して集約前の始点・終点ペア数に応じた重みを与えても良い。また、始点・終点ペア数として、始点・終点ペア情報のハッシュ値に基づくＢｌｏｏｍＦｉｌｔｅｒを用いたペア数推定値を用いてもよい。
【００３２】
通信関係構造間距離計算部１１３では、二つの上記通信関係構造間の距離を計算する。距離の計算は非特許文献２に記載されている方法を用いてもよいし、グラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いてもよい。後者の場合では、上記通信関係構造グラフを隣接行列表現し、その隣接行列の最大固有値に属する固有ベクトルをもとめ、この固有ベクトルの内積値を用いて距離を計算する。内積値を用いた固有ベクトル間の距離としては、固有ベクトル間の角度のコサイン値Ｖ・Ｖ’／（｜Ｖ｜｜Ｖ’｜）の逆数を用いてもよいし、ベクトル間のユークリッド距離（Ｖ・Ｖ＋Ｖ’・Ｖ−２Ｖ・Ｖ’）＾（１／２）を用いてもよい。なお、この固有ベクトルの物理的意味は、隣接行列をマルコフ遷移行列とみなした際に、定常状態における存在確率ベクトルである。グラフの隣接行列表現に当たっては、エッジが存在するノード間に対応する行列要素を定数にしてもよい。通信関係構造として、一定期間毎のトラフィックに出現する始点（終点）をノードとし、同一の終点（始点）に共通してトラフィックが存在した２始点間（２終点間）をエッジとするグラフを用いる場合は、ノード間の距離として、共通する始点数（終点数）に応じた距離を計算し、この距離に応じた数値を行列要素としてもよい。また固有ベクトルの一意性を担保するためには、グラフが強連結でなくてはならないが、このためには任意の二ノード間に一定値を足す、もしくは当該ノードの次数に比例した数を当該ノードに対応する行に足す等の手法が考えられる。
【００３３】
通信関係構造異常検出部１１４では、時々刻々生成される通信関係構造データに対して、通信関係構造間距離計算部１１３で計算される距離を用いて異常を検出する。すなわち、通信関係構造異常検出部１１４では、通信関係構造間距離計算部１１３が計算した距離を用いて、ある期間の通信関係構造と参照通信関係構造との距離の乖離に基づき異常を検出する。参照通信関係構造として直前期間の通信関係構造を用いることができる。この方法では、ある時刻の通信関係構造が異常か否かを、直近通信関係構造（これは正常と判定されたものとする）との距離を計算し、この距離が予め定められた閾値、もしくは移動平均等によって動的に生成された閾値を超過した際に異常と判定する。また、通信関係構造間距離計算部１１３が、通信関係構造間の距離の計算において、グラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いる場合は、時々刻々生成される通信関係構造から生成される固有ベクトルに関して、時系列モデルから予測ベクトルを生成し、この予測ベクトルとの対象時間の通信関係構造から生成される固有ベクトルとの距離を用いて、この距離が予め定められた閾値、もしくは移動平均等によって動的に生成された閾値を超過した際に異常と判定することができる。
【００３４】
通信関係構造異常原因特定部１１５では、検出した通信関係構造異常に対して原因を特定する。すなわち、通信関係構造異常原因特定部１１５は、通信関係構造異常検出部１１４が異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する。一般的には通信関係構造の異常を検出した場合異常原因を追究し、その原因を排除する等の対処が必要になるが、通信関係構造間距離計算部１１３が、通信関係構造間の距離の計算において、グラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いる場合は、異常と判定された通信関係構造において、固有ベクトル内積値の数値の差が基準値以上となるノードに対応する始点、もしくは終点を異常原因の始点、もしくは終点として特定する。
【００３５】
図２は、本実施例の通信関係構造異常検出方法の概要を示すフローチャートである。第１のステップ（Ｓ１）では、トラフィックデータ取得部１１１が、一定期間毎のトラフィックの始点と終点の情報を取得する。第２のステップ（Ｓ２）では、通信関係構造抽出部１１２が、トラフィックデータ取得部１１１が取得した一定期間毎のトラフィックの始点と終点の情報から通信関係構造を生成する。第３のステップ（Ｓ３）では、通信関係構造間距離計算部１１３が、通信関係構造抽出部１１２が生成した通信関係構造間の距離を計算する。第４のステップ（Ｓ４）では、通信関係構造異常検出部１１４が、通信関係構造間距離計算部１１３が計算した距離を用いて、ある期間の通信関係構造と参照通信関係構造との距離の乖離に基づき異常を検出する。第５のステップ（Ｓ５）では、通信関係構造異常原因特定部１１５が、通信関係構造異常検出部１１４が異常を検出した通信関係構造について、異常原因となる始点および／または終点を特定する。
【００３６】
第１のステップ（Ｓ１）において、取得する始点と終点の情報として、トラフィックの送信ＩＰアドレスと宛先ＩＰアドレスを用いてもよいし、トラフィックの送信元経路と宛先経路を用いてよいし、トラフィックの送信元ＡＳと宛先ＡＳを用いてもよいし、アプリケーションレイヤメッセージの送信元と宛先を用いてもよい。また、第１のステップ（Ｓ１）において、パケットヘッダ情報および／またはパケットペイロード情報によりフィルタリングすることによって、検出対象トラフィックを限定することができる。また、第１のステップ（Ｓ１）において、単一または複数のハッシュ関数を用いて通信関係の始点情報と終点情報の単一または複数のハッシュ値を用いることもできる。
【００３７】
第２のステップ（Ｓ２）において、生成する通信関係構造として、一定期間毎のトラフィックに出現する始点と終点をノードとし、トラフィックが存在した始点と終点間をエッジとするグラフを用いてもよい。また、生成する通信関係構造として、一定期間毎のトラフィックに出現する始点をノードとし、同一の終点に共通してトラフィックが存在した２始点間をエッジとするグラフを用いてもよい。また、生成する通信関係構造として、一定期間毎のトラフィックに出現する終点をノードとし、同一の始点に共通してトラフィックが存在した２終点間をエッジとするグラフを用いてもよい。
【００３８】
第３のステップ（Ｓ３）において、通信関係構造間の距離の計算において、グラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いてもよい。
【００３９】
第４のステップ（Ｓ４）において、参照通信関係構造として直前期間の通信関係構造を用いてもよい。また、第４のステップ（Ｓ４）において、第３のステップ（Ｓ３）においてグラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いた場合、参照通信関係構造として、最大固有値に属する固有ベクトルに関する、時系列モデルによる予測ベクトルを用いてもよい。
【００４０】
第５のステップ（Ｓ５）において、第３のステップ（Ｓ３）においてグラフの隣接行列の最大固有値に属する固有ベクトルの内積を用いた場合、固有ベクトルの内積値の差が基準値以上となるノードに対応する始点または終点を異常原因の始点または終点として特定してもよい。
【００４１】
以上説明した通信関係構造異常検出装置は、１または複数のコンピュータとプログラムを用いて構成することができる。また、そのプログラムの一部または全部の代わりにハードウェアを用いて構成してもよい。
【００４２】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施例における通信関係構造異常検出装置の構成例を示すブロック図である。
【図２】本発明の実施例の通信関係構造異常検出方法の概要を示すフローチャートである。
【符号の説明】
【００４４】
１０１…コンピュータネットワーク（監視対象網）、１０２…トラフィック送信端末、１０３…トラフィック受信端末、１０４…トラフィック、１０５−１〜１０５−４…ルータ、１１０…通信関係構造異常検出装置、１１１…トラフィックデータ取得部、１１２…通信関係構造抽出部、１１３…通信関係構造間距離計算部、１１４…通信関係構造異常検出部、１１５…通信関係構造異常原因特定部
【図１】
0004559462.tif 000002
【図２】
0004559462.tif 000003