(57)【特許請求の範囲】
【請求項１】
ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程と、前記特徴量生成工程で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程と、前記相関係数算出工程で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程と、前記ヒストグラム生成工程で生成されたヒストグラムを用いて異常度を算出する異常度算出工程とを有するネットワーク異常検知方法であって、前記ヒストグラムから算出される相関係数の発生確率を用いて類似性を評価する状態類似性評価工程と、前記状態類似性評価工程で算出された相関係数の発生確率をマトリックスとして表し、発生確率の値に割り当てた色を用いて画像化を行う可視化工程とを有することを特徴とするネットワーク異常検知方法。
【請求項２】
前記特徴量生成工程は、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項３】
前記相関係数算出工程は、前記特徴量生成工程で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手順を有すること、および前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項４】
前記相関係数算出工程において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することを特徴とする請求項３に記載のネットワーク異常検知方法。
【請求項５】
前記ヒストグラム生成工程は、前記相関係数算出工程でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項６】
前記異常度算出工程は、前記ヒストグラム生成工程で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出工程で算出された各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項７】
前記異常度算出工程は、前記相関係数算出工程で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する工程と、前記相関係数発生確率行列で発生確率が閾値以下の要素の総数、または前記相関係数発生確率行列の各行、各列の発生確率が閾値以下となる要素の総数に基づき、異常度を定量的に算出する工程と、を有することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項８】
前記状態類似性評価工程は、前記相関係数算出工程で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を確率分布ベクトルに変換すると共に、幾つかの類似した異常状態での複数の確率分布ベクトルを、平均値の算出やクラスタリングなどの手法により一つにまとめてプロファイルとして定義し、該プロファイルと任意の確率分布ベクトルとの類似性を評価する方法により異常の原因を推定することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項９】
前記類似性を評価する方法は、前記プロファイルとして定義された確率分布ベクトルと任意の確率分布ベクトルとの間のユークリッド距離を算出して、該ユークリッド距離を状態類似性の評価指標とすることを特徴とする請求項８に記載のネットワーク異常検知方法。
【請求項１０】
前記状態類似性評価工程は、前記相関係数算出工程で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する工程と、二つの相関係数発生確率行列A、Bで発生確率が閾値以下の要素が一致している場合の総数に基づき、相関係数発生確率行列A、Bの類似度を定量的に算出する工程と、を有することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項１１】
前記可視化工程は、前記状態類似性評価工程で算出された相関係数の確率分布ベクトル（n×n次元ベクトル）を用いて、特徴量間の組合せを１ピクセルとして表し、１ピクセル毎に発生確率の値に割り当てた色を用いてn×n次元の画像化を行うと共に、時間の経過とともに変化する発生確率の値に対応した色を割り当てることにより、表示色の変化によりネットワークの状態変化を可視化することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項１２】
ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部と、前記特徴量生成部で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部と、前記相関係数算出部で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部と、前記ヒストグラム生成部で生成されたヒストグラムを用いて異常度を算出する異常度算出部とを有するネットワーク異常検知システムであって、前記ヒストグラムから算出される相関係数の発生確率を用いて類似性を評価する状態類似性評価部と、前記状態類似性評価部で算出された相関係数の発生確率をマトリックスとして表し、発生確率の値に割り当てた色を用いて画像化を行う可視化部とを有することを特徴とするネットワーク異常検知システム。
【請求項１３】
前記特徴量生成部は、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する手段を有することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項１４】
前記相関係数算出部は、前記特徴量生成部で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手段を有すること、および前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する手段を有することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項１５】
前記相関係数算出部において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する手段を有することを特徴とする請求項１４に記載のネットワーク異常検知システム。
【請求項１６】
前記ヒストグラム生成部は、前記相関係数算出部でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する手段を有することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項１７】
前記異常度算出部は、前記ヒストグラム生成部で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出部で算出された各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価する手段を有することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項１８】
前記異常度算出部は、前記相関係数算出部で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する手段と、前記相関係数発生確率行列で発生確率が閾値以下の要素の総数、または前記相関係数発生確率行列の各行、各列の発生確率が閾値以下となる要素の総数に基づき、異常度を定量的に算出する手段と、を有することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項１９】
前記状態類似性評価部は、前記相関係数算出部で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を確率分布ベクトルに変換すると共に、幾つかの類似した異常状態での複数の確率分布ベクトルを、平均値の算出やクラスタリングなどの手法により一つにまとめてプロファイルとして定義し、該プロファイルと任意の確率分布ベクトルとの類似性を評価する手段により異常の原因を推定することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項２０】
前記類似性を評価する手段は、前記プロファイルとして定義された確率分布ベクトルと任意の確率分布ベクトルとの間のユークリッド距離を算出して、該ユークリッド距離を状態類似性の評価指標とすることを特徴とする請求項１９に記載のネットワーク異常検知システム。
【請求項２１】
前記状態類似性評価部は、前記相関係数算出部で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する手段と、二つの相関係数発生確率行列A、Bで発生確率が閾値以下の要素が一致している場合の総数に基づき、相関係数発生確率行列A、Bの類似度を定量的に算出する手段と、を有することを特徴とする請求項１２に記載のネットワーク異常検知方法。
【請求項２２】
前記可視化部は、前記状態類似性評価部で算出された相関係数の確率分布ベクトル（n×n次元ベクトル）を用いて、特徴量間の組合せを１ピクセルとして表し、１ピクセル毎に発生確率の値に割り当てた色を用いてn×n次元の画像化を行うと共に、時間の経過とともに変化する発生確率の値に対応した色を割り当てることにより、表示色の変化によりネットワークの状態変化を可視化することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに対するセキュリティ侵害を行う不正アクセスを検知する技術に関するものである。
【背景技術】
【０００２】
現在のインターネットにおいては、攻撃者による侵入やDenial of Service(DoS) 攻撃の手口が巧妙化するとともに、新種のワーム、ウィルスが次々と出現して、 帯域の浪費によるネットワーク通信障害、情報漏洩などのセキュリティ面で大きな問題となっている。
そのため近年、このような新たな攻撃を検知するために異常検知型のIntrusion Detection System(IDS) が注目されている。異常検知型IDS では、あらかじめネットワークの通常状態を定義しておき、現在のネットワークの状態が通常状態からどの程度逸脱しているかを評価することにより、ネットワーク内の異常の有無を判断する。つまり、異常検知型IDS は、Snort [非特許文献１] に代表されるような不正検知型IDS とは異なり、検知の際に攻撃に関するルール、シグネチャなどを必要としないため、新種の攻撃を検知する能力を有している点で優れている。また、 不正アクセスだけでなく、ネットワーク機器の不調やサーバ自体のダウンなどの障害による異常も検出できるために、異常検知技術はネットワーク管理において重要な技術となっている。【０００３】
異常検知を行うためには適切にネットワークの通常状態を定義することが必要であり、そのために定量的な状態評価方式が必要となる。DoS 攻撃に特化した異常検知手法である非特許文献２では、過去の状態に基づいて予測した単位時間あたりのパケット数を特徴量とし、通常状態を定義している。しかし、このようにパケット数という単一の特徴量の絶対的な量に基づいた状態定義では、通常時のトラヒック流量の急変に対応できないという問題がある。この問題に対処するために、非特許文献４では、種別毎に観測したパケット数を特徴量とし、複数の特徴量の比率によって通常状態を定義している。また、非特許文献３では、同様に種別毎のパケット数の相関関係を主成分分析により評価し、得られた主成分軸によって通常状態を定義している。ネットワークを流れる各種トラヒックは各種プロトコルの制約を受けるため、通常状態ではその流量と変化の仕方に何らかの関係性が保たれていると考えられることから、相関関係を考慮した通常状態の定義は異常検知に有効であるといえる。【０００４】
しかし非特許文献３では、複数の特徴量間の相関関係を単一の主成分軸で評価してしまうため、検出した異常の原因の特定が困難であるという問題があった。そこで特許文献１では、異常検出後の原因特定を考慮した通常状態の定義のために、特徴量の組合せ毎に算出した複数の相関係数によってネットワーク状態を評価する方法を提供している。この方法では、通常状態に関する情報の損失を抑えるために、相関係数の平均値や分散などによるモデル化は行わず、相関係数の出現確率を表すヒストグラムによって通常状態を定義し、各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価する。【０００５】
【特許文献１】特願2005-323007『ネットワーク異常検知方法およびネットワーク異常検知システム』
【非特許文献１】M. Roesch,"Snort-Lightweight Intrusion Detection for Networks", Proc.Usenix LISA '99Conf., Novemver 1999
【非特許文献２】Yuichi Uchiyama, Yuji Waizumi, Nei Kato, Yoshiaki Nemoto, "Detecting and Tracing DDoS Attacks in the Traffic Analysis Using Auto Regressive Model",IEICE Transactions on Traffic Measurement and Analysis, Vol.E87-D No.12 p.2635,December 2004
【非特許文献３】及川達也、和泉勇治、太田耕平、加藤寧、根元義章、”統計的クラスタリング手法によるネットワーク異常状態の検出”、電子情報技術学会技術研究報告書NS2002-143 2002 年10 月
【非特許文献４】中村信之、中井敏久、”トラフィック内部状態変化を利用したネットワーク異常検知”、電子情報技術学会技術研究報告書NS2005-5 2005 年4 月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献１では、各特徴量間の相関係数と、対応するヒストグラムのクラスの出現確率とを比較して異常の程度を評価することとしたため、個々の異常を検知できてもトラヒック全体の様子を把握することができず、ネットワーク全体に何が起きているのかを瞬時に判断することが困難であるという問題があった。【０００７】
本発明は、上記問題を解決するため、相関係数の発生確率を相関係数の算出元となった任意の二つの観測量に基づいたマトリックスとして表し、発生確率の値に割り当てた色を用いて画像化を行う。これによりネットワークトラヒックの複数の観測量の関係を一枚の画像で表現することが可能となり、トラヒック全体の様子を直感的に把握することが可能になる。またネットワークで起きている異常や不正に対応した画像が生成されるため、異常発生時の画像をデータベース化することにより、画像を一見しただけで、ネットワーク全体に何が起きているのかを瞬時に判断することが可能となり、ネットワーク管理の効率化を実現することができる。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載のネットワーク異常検知方法は、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程と、前記特徴量生成工程で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程と、前記相関係数算出工程で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程と、前記ヒストグラム生成工程で生成されたヒストグラムを用いて異常度を算出する異常度算出工程とを有するネットワーク異常検知方法であって、前記ヒストグラムから算出される相関係数の発生確率を用いて類似性を評価する状態類似性評価工程と、前記状態類似性評価工程で算出された相関係数の発生確率をマトリックスとして表し、発生確率の値に割り当てた色を用いて画像化を行う可視化工程とを有することを特徴とする。【０００９】
請求項２に記載の特徴量生成工程は、パケットをプロトコル種別やフラグ等によりk通りに分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成することを特徴とする。ここでkは2以上の自然数である。【００１０】
請求項３に記載の相関係数算出工程は、前記特徴量生成工程で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手順を有すること、および前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出することを特徴とする。ここでWは2以上の自然数であり、Sは自然数である。【００１１】
請求項４に記載の相関係数算出工程において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することを特徴とする。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、後のヒストグラム生成工程において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。【００１２】
請求項５に記載のヒストグラム生成工程は、前記相関係数算出工程でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することを特徴とする。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け、その出現確率を含めてヒストグラムを生成することにする。【００１３】
請求項６に記載の異常度算出工程は、前記ヒストグラム生成工程で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出工程で算出された各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価することを特徴とする。【００１４】
請求項７に記載の異常度算出工程は、前記相関係数算出工程で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する工程と、前記相関係数発生確率行列で発生確率が閾値以下の要素の総数、または前記相関係数発生確率行列の各行、各列の発生確率が閾値以下となる要素の総数に基づき、異常度を定量的に算出する工程と、を有することを特徴とする。【００１５】
請求項８に記載の状態類似性評価工程は、前記相関係数算出工程で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を確率分布ベクトルに変換すると共に、幾つかの類似した異常状態での複数の確率分布ベクトルを、平均値の算出やクラスタリングなどの手法により一つにまとめてプロファイルとして定義し、該プロファイルと任意の確率分布ベクトルとの類似性を評価する方法により異常の原因を推定することを特徴とする。【００１６】
請求項９に記載の類似性を評価する方法は、前記プロファイルとして定義された確率分布ベクトルと任意の確率分布ベクトルとの間のユークリッド距離を算出して、該ユークリッド距離を状態類似性の評価指標とすることを特徴とする。【００１７】
請求項１０に記載の状態類似性評価工程は、前記相関係数算出工程で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する工程と、二つの相関係数発生確率行列A、Bで発生確率が閾値以下の要素が一致している場合の総数に基づき、相関係数発生確率行列A、Bの類似度を定量的に算出する工程と、を有することを特徴とする。【００１８】
請求項１１に記載の可視化工程は、前記状態類似性評価工程で算出された相関係数の確率分布ベクトル（n×n次元ベクトル）を用いて、特徴量間の組合せを１ピクセルとして表し、１ピクセル毎に発生確率の値に割り当てた色を用いてn×n次元の画像化を行うと共に、時間の経過とともに変化する発生確率の値に対応した色を割り当てることにより、表示色の変化によりネットワークの状態変化を可視化することを特徴とする。ここでnは2以上の自然数である。【００１９】
請求項１２に記載のネットワーク異常検知システムは、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部と、前記特徴量生成部で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部と、前記相関係数算出部で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部と、前記ヒストグラム生成部で生成されたヒストグラムを用いて異常度を算出する異常度算出部とを有するネットワーク異常検知システムであって、前記ヒストグラムから算出される相関係数の発生確率を用いて類似性を評価する状態類似性評価部と、前記状態類似性評価部で算出された相関係数の発生確率をマトリックスとして表し、発生確率の値に割り当てた色を用いて画像化を行う可視化部とを有することを特徴とする。【００２０】
請求項１３に記載の特徴量生成部は、パケットをプロトコル種別やフラグ等によりk通りに分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する手段を有することを特徴とする。ここでkは2以上の自然数である。【００２１】
請求項１４に記載の相関係数算出部は、前記特徴量生成部で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手段を有すること、および前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する手段を有することを特徴とする。ここでWは2以上の自然数であり、Sは自然数である。【００２２】
請求項１５に記載の相関係数算出部において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する手段を有することを特徴とする。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、後のヒストグラム生成部において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。【００２３】
請求項１６に記載のヒストグラム生成部は、前記相関係数算出部でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する手段を有することを特徴とする。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け，その出現確率を含めてヒストグラムを生成することにする。【００２４】
請求項１７に記載の異常度算出部は、前記ヒストグラム生成部で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出部で算出された各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価する手段を備えたことを特徴とする。【００２５】
請求項１８に記載の異常度算出部は、前記相関係数算出部で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する手段と、前記相関係数発生確率行列で発生確率が閾値以下の要素の総数、または前記相関係数発生確率行列の各行、各列の発生確率が閾値以下となる要素の総数に基づき、異常度を定量的に算出する手段と、を有することを特徴とする。【００２６】
請求項１９に記載の状態類似性評価部は、前記相関係数算出部で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を確率分布ベクトルに変換すると共に、幾つかの類似した異常状態での複数の確率分布ベクトルを、平均値の算出やクラスタリングなどの手法により一つにまとめてプロファイルとして定義し、該プロファイルと任意の確率分布ベクトルとの類似性を評価する手段により異常の原因を推定することを特徴とする。【００２７】
請求項２０に記載の類似性を評価する手段は、前記プロファイルとして定義された確率分布ベクトルと任意の確率分布ベクトルとの間のユークリッド距離を算出して、該ユークリッド距離を状態類似性の評価指標とすることを特徴とする。【００２８】
請求項２１に記載の状態類似性評価部は、前記相関係数算出部で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する手段と、二つの相関係数発生確率行列A、Bで発生確率が閾値以下の要素が一致している場合の総数に基づき、相関係数発生確率行列A、Bの類似度を定量的に算出する手段と、を有することを特徴とする。【００２９】
請求項２２に記載の可視化部は、前記状態類似性評価部で算出された相関係数の確率分布ベクトル（n×n次元ベクトル）を用いて、特徴量間の組合せを１ピクセルとして表し、１ピクセル毎に発生確率の値に割り当てた色を用いてn×n次元の画像化を行うと共に、時間の経過とともに変化する発生確率の値に対応した色を割り当てることにより、表示色の変化によりネットワークの状態変化を可視化することを特徴とする。
【発明の効果】
【００３０】
請求項１または請求項１２に係る発明によれば、特徴量の組合せ毎に算出した複数の相関係数を用いて相関係数の出現確率をヒストグラムで表し、異常検出後の原因特定を考慮した状態定義を行うこととしたため、定量的にネットワーク状態を評価し異常の原因を特定することが可能になる。さらにネットワークの状態変化を表示色の変化によって可視化することで、ネットワークの状態変化を一見して容易に把握することができるようになり、異常発生時に即時の対応をとることが可能になる。またネットワークで起きている異常や不正に対応した画像が生成されるため、異常発生時の画像をデータベース化することで、画像を一見しただけで、ネットワーク全体に何が起きているのかを瞬時に判断することが可能となり、ネットワーク管理の効率化を実現することができる。【００３１】
請求項２および請求項３、または請求項１３および請求項１４に係る発明によれば、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として、特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出することとしたため、相関係数を用いてネットワーク状態を定量的に定義することができる。ネットワークを流れる各種トラヒックは各種プロトコルの制約を受けるため、通常状態ではその流量と変化の仕方に何らかの関係性が保たれていることから、相関関係を用いた通常状態の定義は異常検知に有効である。【００３２】
請求項４または請求項１５に係る発明によれば、相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することとしたため、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などの相関係数が算出できない場合でも、相関係数が算出不可というクラスを含めたヒストグラムによってネットワーク状態をモデル化することが可能となり、ネットワーク状態を評価する上で有効である。【００３３】
請求項５または請求項１６に係る発明によれば、k種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することとしたため、通常状態を定義する際に、他の手法（例えば、主成分軸による評価法、相関係数の平均値や分散によるモデル化法）と比較して、情報の損失を抑えることができる。【００３４】
請求項６または請求項１７に係る発明によれば、異常と判断された特徴量の組合せに着目して各組合せの異常の程度を個別に評価することとしたため、他の手法（例えば、全ての特徴量間の相関係数を一つの主成分軸を用いる主成分分析法）と比較して、異常発生時の原因の特定に有効である。【００３５】
請求項７または請求項１８に係る発明によれば、相関係数発生確率行列で発生確率が閾値以下の要素の総数、または前記相関係数発生確率行列の各行、各列の発生確率が閾値以下となる要素の総数に基づき、異常度を定量的に算出する際に、各行、各列の異常度を強調するような算出方式を用いることで、従来よりも異常原因の特定が容易になる。【００３６】
請求項８および請求項９、または請求項１９および請求項２０に係る発明によれば、幾つかの類似した異常状態での複数の確率分布ベクトルをプロファイルとして定義しておき、該プロファイルと任意の確率分布ベクトルとの類似性を評価することで、異常の原因を容易に推定することが可能になるとともに、異常の原因の調査にかかる時間を短縮するメリットがある。【００３７】
請求項１０または請求項２１に係る発明によれば、二つの相関係数発生確率行列A、Bで発生確率が閾値以下の要素が一致している場合の総数に基づき、相関係数発生確率行列A、Bの類似度を定量的に算出することで、異常の原因を容易に推定することが可能になるとともに、異常の原因の調査にかかる時間を短縮するメリットがある。【００３８】
請求項１１または請求項２２に係る発明によれば、ネットワークの状態変化を表示色の変化によって可視化することで、ネットワークの状態変化を一見して容易に把握することができるようになり、異常発生時に即時の対応をとることが可能になる。またネットワークで起きている異常や不正に対応した画像が生成されるため、異常発生時の画像をデータベース化することで、画像を一見しただけで、ネットワーク全体に何が起きているのかを瞬時に判断することが可能となり、ネットワーク管理の効率化を実現することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態に係るネットワーク異常検知システムの構成を示すブロック図である。
【図２】各特徴量間の相関係数ヒストグラムが生成される流れを示した図である。
【図３】トラヒック流量の変化と対応する相関係数の値の例を示した図である。
【図４】スライディングウィンドウを用いて相関係数を算出しヒストグラムを生成する方法を示した図である。
【図５】相関係数ヒストグラムを用いて相関係数発生確率を算出する方法を示した図である。
【図６】相関係数発生確率に基づいて異常得点を算出する方法と異常原因を特定する方法を示した図である。
【図７】確率分布ベクトルを示した図である。
【図８】実験ネットワークの構成を示した図である。
【図９】実験によって得られた相関係数ヒストグラムを示した図であり、各特徴量の組合せによる確率分布を示している。
【図１０】実験期間中の異常得点の例を示した図である。
【図１１】実験によって得られたＴＣＰIN,SYN−ＴＣＰIN,dst:144-1023間の相関係数ヒストグラムを示した図である。
【図１２】実験によって得られたＴＣＰIN,SYN−ＴＣＰIN,dst:SSH  間の相関係数ヒストグラムを示した図である。
【図１３】実験によって得られたＴＣＰIN,dst:SMTP−ＴＣＰOUT,dst:SMTP  間の相関係数ヒストグラムを示した図である。
【図１４】確率分布ベクトルのユークリッド距離を算出し、ユークリッド距離の近い順に並べた画像（確率分布ベクトルを可視化した画像）である。
【図１５】複数のSSH login try profileから新しいprofileを作成する例を示す図である。
【図１６】ネットワークの状態変化の表示例を示した図である。
【図１７】異常発生時の相関係数発生確率行列の表示例を示した図である。
【図１８】異常発生時の相関係数発生確率行列の表示例を示した図である。
【図１９】一つの観測種別が原因となった異常の検知の例を示した図である。
【図２０】s=2の場合に検知されたパケットを送信したホストに関するトラヒックダンプデータの例を示した図である。
【図２１】s=1の場合にのみ生じた誤検知の例を示した図である。
【図２２】類似事象の発生日時と相関係数発生確率行列を示した図である。
【図２３】類似事象のトラヒックダンプデータを示した図である。
【符号の説明】
【００４０】
１０１  トラヒック測定部（特徴量生成部）
１０２  記憶部
１０３  相関係数算出部
１０４  ヒストグラム生成部
１０５  異常度算出部
１０６  状態類似性評価部
１０７  可視化部
【発明を実施するための最良の形態】
【００４１】
次に、本発明の実施の形態に係るネットワーク異常検知システムについて図面に基づいて説明する。なお、この実施の形態により本発明が限定されるものではない。【００４２】
図１は、本発明の実施の形態に係るネットワーク異常検知システムの構成を示すブロック図である。図１に示すように、観測点には、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を測定して特徴量として生成するトラヒック測定部（特徴量生成部）101と、特徴量の情報を格納する記憶部102とを有する。また記憶部102に格納された特徴量の情報を入力としてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部103と、相関係数算出部103で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部104と、ヒストグラム生成部104で生成されたヒストグラムを用いて異常度を算出する異常度算出部105と、相関係数算出部103で算出された各特徴量間の相関係数を相関係数行列（確率分布ベクトル）で表し、異常状態での確率分布ベクトルとの類似性を評価する状態類似性評価部106と、状態類似性評価部106で算出された相関係数の確率分布ベクトル（n×n次元ベクトル）を用いて、１ピクセル毎に発生確率の値に割り当てた色を用いてn×n次元の画像化を行う可視化部107とを有する。【００４３】
トラヒック測定部（特徴量生成部）101は、ネットワークトラヒックを観測し、タイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する。すなわち、パケットをプロトコル種別やフラグ等によりk通りに分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する。ここでkは2以上の自然数である。【００４４】
相関係数算出部103は、記憶部102に格納された特徴量の情報を入力として、生成された特徴量の列に対してウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。すなわちトラヒック測定部（特徴量生成部）101で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手段を有する。前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する。ここでWは2以上の自然数であり、Sは自然数である。
相関係数rは、２要素x, y を
0004677569.tif 000002
とした場合に次式で定義される。
0004677569.tif 000003
ここで
0004677569.tif 000004
は各データの平均値を示す。相関係数rの値は-1≦r≦1の範囲の値をとり、１に近い程２つの要素間には強い相関があるといえる。【００４５】
また相関係数算出部103において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、ヒストグラム生成部104において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。【００４６】
ヒストグラム生成部104は、相関係数算出部103でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け，その出現確率を含めてヒストグラムを生成することにする。これらのヒストグラムを相関係数ヒストグラムと呼び、この相関係数ヒストグラムを通常状態の定義に用いる。【００４７】
異常度算出部105は、第1の機能として、ヒストグラム生成部104で生成された相関係数ヒストグラムを通常状態のモデルとして予め定義しておくと共に、相関係数算出部103で算出された各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価する。【００４８】
また、異常度算出部105は、第2の機能として、相関係数算出部103で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する手段と、前記相関係数発生確率行列で発生確率が閾値以下の要素の総数、または前記相関係数発生確率行列の各行、各列の発生確率が閾値以下となる要素の総数に基づき、異常度を定量的に算出する手段と、を有する。異常度を定量的に算出する手段については後述する。【００４９】
状態類似性評価部106は、第1の機能として、相関係数算出部103で算出された各特徴量間の相関係数を相関係数行列で表し、通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を確率分布ベクトルに変換すると共に、幾つかの類似した異常状態での複数の確率分布ベクトルを、平均値の算出やクラスタリングなどの手法により一つにまとめてプロファイルとして定義し、該プロファイルと任意の確率分布ベクトルとの類似性を評価する手段により異常の原因を推定する。ここで類似性を評価する手段には、前記プロファイルとして定義された確率分布ベクトルと任意の確率分布ベクトルとの間のユークリッド距離を算出して、該ユークリッド距離を状態類似性の評価指標として用いると共に、ユークリッド距離が小さい場合は類似した異常が発生していると判別する。【００５０】
また、状態類似性評価部106は、第2の機能として、相関係数算出部103で算出された各特徴量間の相関係数を相関係数行列で表し、前記通常状態のモデルとして予め定義されたヒストグラムのクラスの出現確率を用いて、前記相関係数行列を相関係数発生確率行列に変換する手段と、二つの相関係数発生確率行列A、Bで発生確率が閾値以下の要素が一致している場合の総数に基づき、相関係数発生確率行列A、Bの類似度を定量的に算出する手段と、を有する。【００５１】
可視化部107は、状態類似性評価部106で算出された相関係数の確率分布ベクトル（n×n次元ベクトル）を用いて、特徴量間の組合せを１ピクセルとして表し、１ピクセル毎に発生確率の値に割り当てた色を用いてn×n次元の画像化を行うと共に、時間の経過とともに変化する発生確率の値に対応した色を割り当てることにより、表示色の変化によりネットワークの状態変化を可視化する。【００５２】
図２は、全パケット数(ALL)、IP パケット数(IP)、TCP パケット数(TCP) を特徴量として、各特徴量間の相関係数ヒストグラムが生成される流れを示している。
（１）特徴量生成部においてネットワークトラヒックを観測し、あらかじめ定められたトラヒック種別毎にタイムスロット内のパケット数をカウントし特徴量として生成する。得られた各特徴量は時系列データとして相関係数算出部へと渡す。
（２）相関係数算出部では特徴量生成部から渡された特徴量の時系列データを受け取り、スライディングウィンドウ方式を用いて時間毎に相関係数の値を算出し相関係数の時系列データを生成する。相関係数は特徴量生成部で生成された特徴量の全ての組合せにおいてそれぞれ算出し、ヒストグラム生成部へと渡す。
（３）ヒストグラム生成部では，全ての組合せについて算出された相関係数の時系列データを決められたクラス幅に従ってヒストグラム化する。得られたヒストグラムは頻度の合計で割ることにより確率分布へと変換する。得られた確率分布を相関係数ヒストグラムする。
（４）評価したい時間の相関係数を算出し、相関係数ヒストグラムを用いて状態評価を行う。
相関係数は全ての特徴量の組合せに対して生成されるため, N 個の特徴量に対して全部で{N＊(N-1)}/2個のヒストグラムが生成されることになる。【００５３】
相関係数r は2 変量をx, y とした場合に式(1) で定義され，-1から1の間の値をとる。相関係数はネットワークを流れる各種トラヒック流量から算出されるため、対象ネットワークの利用状況や組合せにより様々に変化する。図３にトラヒック流量の変化と対応する相関係数の値の例を示す。図３(a) のように正の相関関係は一方が増加した場合にもう一方が増加、一方が減少した場合にもう一方が減少する様な関係性である。TCP のコネクションの開始と終了に用いられるSYN パケットの数とFIN パケットの数はそれぞれ１対１に対応し強い正の相関を示す。また無相関は図３(b)に示される通りで、一方の変化に対してもう一方の変化が影響しない場合である。TCP とUDP はそれぞれIP 上の独立なプロトコルであるためそのパケットの総数はそれぞれ影響を及ぼさず図３(b) 左図の様な波形をとる。さらに負の相関の例を図３(c) に示す。負の相関は正の相関とは逆に一方が増加した合にもう一方が減少、一方が減少した場合にもう一方が増加する様な関係性である。図３(c)左図はSYN フラグの立っているパケットとPSH フラグの立っているパケットの増減を示したものであり負の相関を示している。それぞれの縦軸が大きく違うがSYN パケットの減少とPSH パケットの増加が同時に起きているために負の相関となっている。【００５４】
なお、トラヒックに含まれるパケットの種別はユーザの挙動に依存するために、観測ウィンドウ内である種類のパケットがまったく観測されない場合やパケット数に変動の無い状態が考えられる。この場合は相関係数が算出できなくなるが、このような状態の出現確率も個々のネットワークの特性やユーザの挙動を表した異常検出における重要な情報である。そのためこのようなネットワーク状態も評価するために、このネットワーク状態を相関係数ヒストグラムに1.1 以上の階級として反映させる。標準偏差σ= 0 となり相関係数が算出不可能となった場合の相関係数を例外クラスとして、例えば次式のように定義する。
r = 1.1 ( σ(x)=0 and σ(y)= 0 )
r = 1.2 ( σ(x)=0 and σ(y)≠0 )
r = 1.3 ( σ(x)≠0 and σ(y) = 0 )【００５５】
次に、相関係数の算出方法について説明する。相関係数算出部103においては、ネットワークの状態が時間により変化することを考慮に入れスライディングウィンドウ方式を用いて相関係数を算出する(図４)。まず生成された特徴量の列に対して幅Wタイムスロットのウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。このウィンドウをS タイムスロットずつスライドさせその都度相関係数を算出し、算出された一連の相関係数をヒストグラム生成部に入力、指定されたクラス幅に従い各組合せ毎に相関係数のヒストグラムを作成する。最終的に出力されるこの相関係数の発生確率のヒストグラムを相関係数ヒストグラムと呼び、本評価手法ではこの相関係数ヒストグラムを用いて通常状態を定義し、相関係数ヒストグラムと算出された相関係数を対応させることで状態の評価を行う。相関係数は全ての特徴量の組合せに対して生成されるため、N 個の特徴量に対して全部で{N＊(N-1)}/2個のヒストグラムが生成されることになる。ネットワークの通常状態はこの個の相関係数ヒストグラム全てを用いて定義される。本評価手法では，全ての特徴量間の相関関係を一つの主成分軸を用いて表す主成分分析と異なり、各組合せの異常の程度を個別に評価するため個々の評価結果は異常発生時の原因の特定に有効な情報になると考える。【００５６】
次に、ネットワーク状態を評価する手法について説明する。本評価手法は、ネットワークの異常検知と状態類似性評価の２種類あり、ネットワークの異常検知，状態類似性評価いずれもまず評価を行いたい時間における各種組合せの相関係数の算出を行う。算出された相関係数の値はそのまま評価に使用するのではなく、図５で示すように事前に生成されている相関係数ヒストグラムを用いて算出された相関係数の発生確率を求めて、この発生確率を評価指標として使用する。これは算出された相関係数で示される相関関係そのものを評価するのではなく、対象ネットワークにおいて相関係数で示されるような事象がどれほどの確率で発生するかを評価の指標とするためである。求めた発生確率がその組合せの異常の程度を示しており、相関係数の発生確率が高い場合にはその組合せは頻繁に発生する事象であり通常の相関関係にあると言え、相関係数の発生確率が低い場合にはその組合せは異常な相関関係にあると言える。本評価手法ではここで得られる発生確率を異常程度の指標としてネットワークの状態評価を行う。【００５７】
まず、図１の異常度算出部105で行うネットワークの異常検知について説明する。前記で述べた定量的に異常度を算出する手法には２つある。第1の手法として、異常検知における状態評価をするために、各組合せの相関係数の発生確率を基準とする値と比較し、その値に満たない組合せを異常と判別することによって行う。本手法ではあるウィンドウについて異常と判断された組合せの総数を、そのウィンドウの異常の程度を表す指標となる異常得点として用いる。異常得点の高い時間帯では、多くの相関係数の組合せが通常あまり取りえない相関係数を算出していることから、多くの特徴量間において通常とりえない関係性をとっており何らかの異常な事象が発生していると考えられる。本手法では、全ての特徴量間の相関関係を1つの主成分軸を用いて表す主成分分析とは異なり、各組合せの異常の程度を個別に評価することになる。そのため異常得点が高いなどの理由から異常原因の特定を行う場合には、異常が発生している時間の相関係数の１つ１つを調査することにより異常な相関係数をとる組合せを特定し、その組合せの特徴量に注目することにより異常の原因を推察することができると考えられる(図６)。【００５８】
次に、異常検知における状態評価をするための第2の手法について説明する。評価対象のWindow内の観測量の全ての組合せに関する相関係数の値の発生確率を通常状態のモデルとして予め定義されたヒストグラムに基づき算出し、その発生確率を要素とした行列（相関係数発生確率行列）を生成する。任意の二つの観測種別iとjの該当Window内の観測量の相関係数をrijとしたとき、相関係数発生確率行列Pの要素pijは、
0004677569.tif 000005
となる。ここでhijは、観測種別iとjの相関係数ヒストグラムである。上記で定義した相関係数発生確率行列から異常の程度を表す異常度(AS)を算出する。異常度は、任意の観測種別iに関する組合せの相関係数の発生確率が閾値以下となったものの総数に基づき式(3)のように算出される。
0004677569.tif 000006
ここでθは異常を表すためのpijに対する閾値とすると、asijは、
0004677569.tif 000007
と定義され、式(3)はある観測種別iに関する相関係数の発生確率が異常に低いものの個数のs乗の総和を表すことになる。ここで、sは感度を表し、観測種別iに対する異常な相関係数の値の個数を強調する機能であると解釈できる。また、異常度(AS)は、ある観測量とその他の観測量との間の異常な相関係数が多い程、高い値をとることになる。高い異常度を算出する原因となった観測量が、その異常の原因と判断することが可能である。【００５９】
次に、図１の状態類似性評価部106で行うネットワークの状態類似性評価について説明する。前記で述べたように、ネットワークの状態類似性を評価する手法には２つある。第1の手法として、ネットワークの状態類似性評価をするために、各組合せの相関係数の発生確率を独立な成分とする確率分布を用いる。これを確率分布ベクトルとして定義し確率分布ベクトルを用いてウィンドウの状態の評価を行う。ネットワーク上で類似した状態をとっている場合には、該当時間における相関係数の確率分布も類似していると考えられることから、ベクトル空間上でも類似した事象は近い位置に分布すると考えられる。以上のことからネットワークの状態を比較したい時間の相関係数確率分布ベクトル間のユークリッド距離を算出することにより、状態の類似性が評価できると考える。ユークリッド距離が近い場合にはネットワークは類似した状態にあると考えられ、ユークリッド距離が離れている場合にはネットワークは異なった状態にあると考えられる(図７)。
ここで幾つかの類似した異常状態での複数の確率分布ベクトルを、平均値の算出やクラスタリングなどの手法により１つにまとめることで確率分布ベクトルによるプロファイルの作成ができると考えられる。作成された確率分布ベクトルのプロファイルと比較する時間の確率分布ベクトルのユークリッド距離が近い場合には状態が類似していると言え、確率ベクトル間のユークリッド距離を指標とした異常の検出も可能となる。また逆に、異常の無い時間における複数の確率分布ベクトルに対しプロファイルを作成することはネットワークの通常状態のプロファイル作成し、通常状態を定義することと同意であるとも考えられる。【００６０】
なお上記の説明ではベクトル間のユークリッド距離を状態類似性の評価指標とする方法を用いているが、他の方法として重み付きユークリッド距離、シティブロック距離、マハラノビス距離、内積などを評価指標に用いる方法がある。【００６１】
次に、ネットワークの状態類似性評価をするための第2の手法について説明する。任意の二つの相関係数発生確率行列A、Bの類似度Sを式(5)で定義し、定量的に評価する。
0004677569.tif 000008
0004677569.tif 000009
ここでθは、式(4)で用いた異常を判断するための閾値である。式(5)は、行列A、Bの異常な発生確率となる要素が一致している場合、つまり、行列A、B間で同一の観測量が異常原因となっている場合に高い類似度を示すことになる。【００６２】
（検証実験１）
次に、図１の異常度算出部105について、実運用ネットワークのトラヒックを用いた実験を通して検証した結果について説明する。【００６３】
まず、前記で述べた異常検知における状態評価をするための第1の手法を用いて検証した結果について説明する。評価対象としたネットワークは、図８ に示す様な構成の約50 台のホストを有するLAN である。
相関係数を求める際のタイムスロットは10 秒、スライディングウィンドウのウィンドウ幅は30 スロット、スライド幅は5 スロットとする。観測期間は2005 年の5 月とし、相関係数ヒストグラムは1 日単位で生成する。相関係数ヒストグラムの階級幅は0.1 とする。特徴量はトラヒックを下記に示す種別毎に分類し、各タイムスロットにおける種別毎のパケット数を扱う。異常状態の検出実験においては、相関係数の発生確率が低いために異常状態であるとして判断するための異常判定閾値を1%とする。
使用する特徴量は基本的に細かい分類を用いる程、異常検出後の異常原因の特定が容易となる。
● 全体(All)
● プロトコル毎
Layer3 (IP, ARP, other Etherフレーム)
Layer4 ( TCP, UDP, ICMP, other IPパケット)
● TCP フラグ (URG, ACK, PSH, RST, SYN, FIN)
● ポート毎
・TCP (20, 21, 22, 25, 80, 143, 443)
上記を除くその他の範囲を9分割( 0  79, 81  109, 111  142, 144  442, 444  1023, 1024  2999, 3000  5999, 6000  9999, 10000  65535)
・UDP (53, 123, 520)
上記を除くその他の範囲を6分割( 0  52, 54  122, 124  519, 521  1023, 1024  9999, 10000  65535)
【表１】
0004677569.tif 000010
TCP とUDP については、それぞれ主要なアプリケーションについてのみ個別のポート毎（表1）にパケットをカウントし、他のポートについては異常検知時の原因特定を考慮し、TCP では9 分割，UDP では6 分割して範囲毎にカウントした。ポート番号の領域の分割は、一般に良く使われるとされ予約されている1024 番までのwell known port では区間を小さく、その他の番号では区間を大きくとってある。本手法ではパケットが観測されない様な状態も前述した通り例外クラスとして扱うため特徴量としてそのまま用いる。またこれは対象とするネットワークによりトラヒックの内容が変化することを考えると汎用性の点で長所となると考える。さらに個別に観測するポート番号に関しては、事前調査としてポート毎のパケット到着数をあらかじめ調べておくことが望ましい。対象とするネットワークである特定のサービスを提供する場合には、そのサービスの脆弱性を狙う不正アクセスの対象になる可能性は高いため、個別のポート番号を１つの特徴量として加えることが望まれる。ポート番号はそれぞれsource とdestination を区別する。図８に示した通り対象ネットワークから流出するパケットをIN，対象ネットワークへ流入するパケットをOUT として区別して扱う。以上より総計132 種の特徴量を用いることになり、結果として全{132＊(132-1)}/2 = 8646種類の相関係数ヒストグラムによって通常状態を定義することになる。【００６４】
なお、相関係数の出現確率に基づく異常検知という手法の性質を考え、大半の時間帯で相関係数が算出できないような特徴量の組合せは異常状態の判断材料から除外した。具体的には、各特徴量において関連する全てのヒストグラムを調査し、1.1 の階級値をとる確率の平均値を算出する。そして，平均値が80%以上をとる場合には、該当特徴量とそれが関連する全てのヒストグラムを異常判定から除外した。【００６５】
１ヶ月間のトラヒックデータから作成された相関係数ヒストグラムの例を図９に示す。図９の各グラフはネットワークに流入したトラヒック中のTCP SYN、FIN、PSH やUDP、宛先ポート番号が22 番のTCP パケットの組合せにおける相関係数ヒストグラムを示している。以降ではこれらの特徴量を
0004677569.tif 000011
という表記によって表す。方向の部分では、流入するパケット(IN) であるか流出するパケット(OUT) であるかを示し、種別の部分ではTCPのフラグの種類またはポート番号を示す。ポート番号については送信元(src) であるか宛先(dst) であるかを合わせて記述し、SSH やHTTP など対応するアプリケーションやプロトコルがある場合には、ポート番号ではなくその文字列で表す。なお、種別がALL の場合は、そのプロトコルの全パケット数であることを意味する。【００６６】
図９より
0004677569.tif 000012
間には正の強い相関があることがわかる(図９左上)。コネクションの開始を示すSYN と終了を示すFIN の役割より、このヒストグラムが通常状態を表しているといえる。また、
0004677569.tif 000013
の相関係数は、多くの場合に正の値を取りその出現確率はほぼ均等であるといえる。このヒストグラムは基本的に通信量がコネクション数に依存するというTCP の特性を表したものとなっている(図９右上)。【００６７】
また
0004677569.tif 000014
には正負どちらにも大きな相関係数の偏りは見られない(図９左下)。TCP とUDP にはプロトコルで規定された関係が存在しないため、ヒストグラムからわかるように基本的に無相関な状態にある。【００６８】
また
0004677569.tif 000015
の相関係数は大半の場合に前記で述べた階級値1.1 を多くとっている(図９右下)。これは外部ネットワークから内部のホストへのSSH通信の要求が非常に少ないことを示しており、対象ネットワークの利用状況から見ても妥当な結果であるといえる。ただし前記で述べた理由によりこのようなヒストグラムは異常状態の判断材料から除外される可能性が高い。【００６９】
以上により、各特徴量間の相関係数ヒストグラムは通常時のネットワークの利用状況を反映した形状をとっているといえる。多くの組合せの相関係数が相関係数ヒストグラムに基づいて出現確率が低いと判断された場合に、ネットワークが通常と異なる異常な状態をとった可能性を示すと考えられる。【００７０】
次に、異常検知の事例について説明する。今回の行う異常状態の検出実験においては、相関係数の発生確率が低いと評価する異常判定閾値を1%とし、相関係数の発生確率がこの値を下回った場合にその組合せを異常であると判断する。前記で述べた通りウィンドウ中の異常な組合せの総数をそのウィンドウの異常得点とする。【００７１】
図10 はある1 日の異常得点の変化を例として示したものであり、１日を通して異常得点が常に変化をしており、ネットワークの状態が常に変化していることがわかる。また、いくつかの時間において高い異常得点をとっていることも見られる。今回は解析対象期間内においてこの様な高い異常得点を示したウィンドウで異常な状態をとっているとして、該当ウィンドウ内のトラヒックデータを詳細に調査した。【００７２】
[例1：大規模なスキャン]
あるウィンドウにおいては、全てのホストの特定ポートに対するスキャンおよび一部のホストの様々なポートに対するスキャンが発見された。このウィンドウでは様々な組合せの相関係数が異常な値を取っていたが、異常な相関係数を取った組合せの多くには次の３つの特徴量
0004677569.tif 000016
のいずれかが含まれていた。
例えば、図11の相関係数ヒストグラムからわかるように、
0004677569.tif 000017
は通常時に非常に強い相関を示すことは稀であるが、このウィンドウでの相関係数は約0.98という値をとった。そのためこの２つの特徴量に注目してトラヒックを調査したところ、上述したようなSYN パケットによる大規模なスキャンが検出された。スキャンの内容に関しても相関係数が異常と示された特徴量とスキャンが行われたポート番号とが対応しており、相関係数の組合せに着目することにより異常原因の特定が可能であることがわかる。【００７３】
[例２：SSH(TCP22)へのlogin試行]
別のウィンドウにおいては、全てのホストのSSH(22 番port) へのlogin 試行が観測された。このウィンドウでは通常ごく強い正の相関を示す
0004677569.tif 000018
が弱い正の相関を示している。さらに通常算出されない
0004677569.tif 000019
の相関係数が算出され強い正の相関を示し、その発生確率は非常に小さいものとなっている(図12)。【００７４】
[例３：スパムメールの到着]
別のウィンドウでは外部から内部へのスパムメール送信が確認された。このときには
0004677569.tif 000020
の相関係数が異常な値をとっていた(図13)。この組合せは通常時にはほぼ無相関であるが、このウィンドウにおいては相関係数が約0.8 と通常時には起こり得ない強い相関が見られた。そこで、SMTP ポートに注目してネットワークトラヒックを調査した結果、複数のスパムメールがほぼ同時刻にメールサーバで送受信されていることがわかった。さらに詳細な調査により、これはスパムメールの宛先となったメールアドレスから外部のメールアドレスへの転送設定が行われていたためであることが確認された。【００７５】
以下に異常得点が高くなった場合において発見された事象と異常に関する相関係数の発生確率の特徴との関係を対応表(表2) に示す。
【表２】
0004677569.tif 000021
【００７６】
（検証実験２）
次に、前記で述べた異常検知における状態評価をするための第2の手法を用いて検証した結果について説明する。【００７７】
実験で利用するネットワークトラヒックデータは、約50台のクライアントPCと外部に公開しているWebサーバ1台、SMTPサーバ1台からなるネットワークを対象とし、対象ネットワークとインターネットとの出入りのトラヒックを流入、流出として独立に観測する。観測種別は表3に示す66種類のトラヒックで、流入と流出を別に観測するため132種類のトラヒックを観測することになり、通常状態のモデルとして予め定義されるヒストグラムの総数は、その組合せ 132(132-1)/2=8646個になる。
【表３】
0004677569.tif 000022
【００７８】
実験では、該当種別のトラヒックを10秒のタイムスロットにより観測した。相関係数を求めるWindow幅は300秒(30スロット)、異常度算出の閾値はθ=0.01とした。実験期間は、2005年1月1日から2005年5月31日の5ヶ月間で、観測されたパケット総数は、1132900380個であった。相関係数ヒストグラムの作成と相関係数発生確率行列、異常度の算出は1日単位で行い、相関係数ヒストグラムの作成は相関係数発生確率行列と異常度の算出の前日のデータを用いる。つまり、1月2日の異常度を算出する場合は、1月1日のデータから作成した相関係数ヒストグラムを用いることになる。【００７９】
図17、図18に実験期間で最も高い異常度と2番目に高い異常度を示したWindowの相関係数発生確率行列を示す。異常度算出時の感度はs=1,2,3の3つの値を利用し、図17、図18は、そのいずれの場合においても、最も高い異常度と2番目に高い異常度を示したものである。図の画像は、発生確率が閾値θ以下となった要素に白画像、閾値θより大きい要素に黒画像を割り当て、相関係数発生確率行列を画像化したものである。【００８０】
図17、図18は、それぞれ異なる日時のものであるが、ネットワーク異常としては、複数のポートに対するスキャンが行われていた。画像中の直線は、スキャンに利用されたポート番号を含む観測種別に対応するもので、そのポートを利用したパケット数の通常時では起こり得ない増加が、他の観測量との通常時の相関関係を崩し、異常な相関係数が算出されたため生じたものである。つまり、相関係数発生確率行列中で発生確率の低い相関係数が直線上に並んでいるものを効率良く検知できれば、異常の原因を含めた形で異常状態の検知が可能になると考えられる。【００８１】
そこで、異常度ASに対する検知基準を画像中の縦横それぞれに一つの直線が存在する場合の大きさ程度に設定し、該当する異常状態の検知をした。観測種別は、66種類でネットワークの流入と流出を別に観測するため、合計で132種類となる。そのため、若干の誤差を許容するように、ｓ＝1の場合、検知対象の異常度の範囲を264(132×2)〜280(140×2)とした。ｓ＝2, 3の場合は、感度ｓによって強調されるのは行列の行のみであるため、横の直線状の異常な発生確率の個数のみｓ乗され、縦の異常な発生確率の個数はそのまま加算されるだけである。つまり、ｓ＝2, 3の場合の検知対象の異常度の範囲は、それぞれ、17556(1322+132)〜19740(1402+140)、2300100(1323+132)〜2744140(1403+140)となる。【００８２】
図19に検知結果の一例を示す。図から、異常度の検知範囲を適切に設定することによって、ある一つの観測量により生じた異常の検知が可能であることが分かる。表4に、検知された異常事象例を示す。
【表４】
0004677569.tif 000023
それぞれのパケットが観測された前後の12時間のデータを調査したが、s＝1,3の場合、該当パケットを送信したホストからの通信は発見されなかった。そのため、何らかの異常や不正によるパケットやそれらに伴うbackscatterが観測されたと考えられる。これは、5ヶ月の実験期間で記録された11億個のパケットから1〜3個の異常パケットを発見した結果であり、本提案手法の有効性を証明するものである。また図20には、ｓ＝2の場合に検知されたパケットを送信したホストに関するトラヒックダンプデータを示す。図中の下線部のパケットが異常原因として検知されたパケットである。このように検知されたパケットに関するホストの通信を解析することによっても、一連の異常な通信の抽出が可能となっていることが示されている。【００８３】
図21には、ｓ＝1の場合にのみ生じた誤検知の例を示す。ｓ＝1の場合、異常な発生確率が分散してしまっていても、その総数が検知の閾値以上になると誤検知を起こしてしまうことになる。一方、感度ｓを１より大きく設定した場合、直線上に並んだ異常確率を強調して全体の異常度を算出することになる。特に、感度ｓを2以上とし、直線上に異常発生確率が並んだ場合、その一行の異常度は発生確率行列の全要素数以上となり、行列内に分散して異常確立が生じた場合よりも優位に大きな異常度が算出されることになる。そのため、ｓ＝1では誤検知が生じたが、ｓ＝2,3の場合にはそのような現象が観測されなかったと考えられ、感度を導入した異常度の算出式（3）は有効なものであると言える。【００８４】
（検証実験３）
次に、図１の状態類似性評価部106について、実運用ネットワークのトラヒックを用いた実験を通して検証した結果について説明する。【００８５】
まず、前記で述べたネットワークの状態類似性評価をするための第１の手法を用いて検証した結果について説明する。なお実験環境は、前記の異常検知における状態評価をするための第1の手法で用いた実運用ネットワークのトラヒック（検証実験１）を用いる。【００８６】
状態類似性実験においては異常の観測された時間の確率分布ベクトルとその他の時間の確率分布ベクトルとのユークリッド距離を算出することにより状態類似性の評価を行う。まず例としてスキャン時の確率分布ベクトルとの例を挙げて説明する。図14は類似した他の時間のスキャン時、通常時、FTP 通信時の確率分布ベクトルのユークリッド距離を算出し、ユークリッド距離の近い順に並べたものである。白黒の濃淡画像は132 × 132 次元の確率分布ベクトルを可視化した画像であり、以下において確率分布ベクトル画像と呼ぶ。相関係数それぞれの発生確率がどのような分布をとっているかわかりやすくするため、各特徴量間の相関係数が異常判定閾値よりも下回る場合には異常として白、異常判定閾値以上であれば通常として黒としてある。【００８７】
図14においてユークリッド距離Dist=0 である基準とするスキャン時の確率分布ベクトル画像とユークリッド距離Dist=14.2 である(異なる時間の)スキャン時の確率分布ベクトル画像とが類似していることから、異なる２つの時間のネットワークの状態が類似していることがわかる。また、特にスキャン等の異常が発生していないDist=53.6 の場合では確率分布ベクトル画像が大きく異なっておりネットワークの状態が異なっていることがわかる。さらに，実験ネットワークでは通常あまり発生していないFTP通信発生時ではユークリッド距離はさらに大きくなっており、確率分布ベクトル画像も大きく異なっていることがわかる。このようにネットワークで類似した事象が発生している場合においてユークリッド距離が小さくなり、異なるネットワーク状態でユークリッド距離が大きくなることから確率分布ベクトル間のユークリッド距離を１つの指標としてネットワークの状態類似性評価が可能であると言える。【００８８】
次に一連の事象の確率分布画像の平均をとることで事象のプロファイルを作成する。図15は異なる時間に起きたSSH login try から共通な異常となっている相関係数の組合せをとることにより、より精度の高いプロファイルを作成している例である。個々の事象のプロファイルであるprofileA からprofileC はそれぞれその時間帯のSSH login try 以外の特徴も含まれている。ここで複数のプロファイルに共通な部分を各プロファイルの平均を求めることでSSH login tryそのものののみが強調された新しいプロファイルを作成する。図15のSSH login try profileの部分ではもともとのプロファイルであるprofileA〜 profileC 間のユークリッド距離をそれぞれ示しているが、いずれのユークリッド距離も新しいプロファイルとのユークリッド距離よりも大きくなっている。新しいプロファイルとのユークリッド距離が小さくなっているのは、新しいプロファイルがもともとのプロファイルからその他の事象により異常となっている組合せが除去され、よりSSH login try の事象そのものを表しているからと考えられる。このように異なる時間で発生した同じ事象のプロファイルの平均をとることでより事象そのものを表した精度の高いプロファイルの作成が可能であるといえる。ここではSSH login try を例に挙げたが各種スキャンの場合にも事象毎のプロファイルの作成が可能であることが実験により確認されている。【００８９】
次に、各相関係数の状態変化を独立な成分としてベクトル化した状態変化ベクトルを画像化したものが図16である。1pixel が１つの相関係数の状態変化に対応し色がそれぞれの状態変化の内容を表している。起きている状態変化と色の対応は表５に示す通りである。
【表５】
0004677569.tif 000024
【００９０】
図16では通常状態からスキャンの発生、スキャンの継続、スキャンの終了といった一連の流れを表しており、状態分布ベクトル画像でそれぞれのフェイズでのネットワークの状態が端的に表されていることがわかる。スキャンの発生時には通常状態から異常状態へと変化しているものが多く、緑色の要素が観察される。また、スキャンが継続している間は対応する相関係数も異常状態を継続しているために全体的に赤色の要素が画像中に多く見られる。赤で表される変化は異常状態の継続であり異常検知を行う上で注目されるべきものである。スキャン終了時には多くの相関係数の組合せで異常から通常状態への状態変化が起こるために青色が多く見られる。このように状態変化を色により表示することによりネットワーク管理者へネットワークの状態変化を効果的に提示することが可能であると考えられる。また、さらに画像で表示された状態変化の分布と確率分布ベクトルにより作成されたプロファイルとの比較をとることにより異常の原因の特定へと繋げることも期待できる。【００９１】
以上の状態類似性評価実験からは同様の事象が発生している時間帯の確率分布ベクトルのユークリッド距離が近いことがわかった。このため複数のユークリッド距離の近い事象を集め確率分布ベクトルの平均を取ることにより、発生している事象のプロファイルの作成が可能であることが示された。作成されたプロファイルは異常の特定に重要な情報を持つと考えられ、プロファイルとの類似性を評価することで、既知の異常な事象の検知が容易になり異常原因の特定につながると考えられる。また、それぞれのプロファイルは重ね合わせられるため複数の異常が同時に起こった場合でもそれぞれのプロファイルとのマッチングをとることでそれぞれ検知可能であると考えられる。このように発見された様々な異常のプロファイルの作成を行い、各時間の発生確率分布ベクトルとの距離を算出することによりネットワークベースの異常検知が可能になるといえる。【００９２】
（検証実験４）
次に、前記で述べたネットワークの状態類似性評価をするための第2の手法を用いて検証した結果について説明する。なお実験環境は、前記の異常検知における状態評価をするための第2の手法で用いた実運用ネットワークのトラヒック（検証実験２）を用いる。また類似事象の検索基準としては、図19においてs＝2場合の1個のＵＤＰパケットが検知された事象を用いる。【００９３】
表6と図22、23に、それぞれ、類似事象の発生日時と発生確率行列、ネットワークトラヒックダンプデータを示す。図22から類似した発生確率行列が適切に検索されていることが分かる。また、図23に示されるように、類似事象の検索によって、検索基準となった2005年5月15日のトラヒックと同様のＵＤＰパケットが原因となった異常を検索できている。表6とパケットの観測時刻に誤差があるが、これは、相関係数の算出ウィンドウが(10秒幅の観測スロット)×(30スロット)＝5分となっているからである。【００９４】
本実験から、相関係数発生確率行列の異常な確率を持つ要素の分布状態の類似性を適切に評価することにより、数ヵ月に渡る期間を討象に解析を行ったとしても、同様の異常パケットを発見可能であることが明らかとなった。
【産業上の利用可能性】
【００９５】
インターネットの普及に伴い、ネットワーク管理者はDoS/DDoS攻撃をはじめとするホストやネットワークデバイス等を狙った攻撃などのネットワークの異常を発見し迅速に対応する必要性が増している中で、本発明は、種別毎に観測したパケット数を特徴量とし、特徴量の組合せ毎に算出した複数の相関係数を用いて相関係数の出現確率をヒストグラムで表し、異常検出後の原因特定を考慮した状態定義を行うことにより定量的にネットワーク状態を評価し異常の原因を特定する技術を提供し、さらに相関係数の発生確率を相関係数の算出元となった任意の二つの観測量に基づいたマトリックスとして表し、発生確率の値に割り当てた色を用いて画像化を行うことによりトラヒック全体の様子を直感的に把握する技術を提供するものであり、ネットワーク管理ツールに本発明の技術を利用することにより、ネットワーク全体に何が起きているのかを瞬時に判断することが可能となり、ネットワークの管理支援および異常発見サイクルの効率化を図ることが可能となる。
【図１】
0004677569.tif 000025
【図２】
0004677569.tif 000026
【図３】
0004677569.tif 000027
【図４】
0004677569.tif 000028
【図５】
0004677569.tif 000029
【図６】
0004677569.tif 000030
【図７】
0004677569.tif 000031
【図８】
0004677569.tif 000032
【図９】
0004677569.tif 000033
【図１０】
0004677569.tif 000034
【図１１】
0004677569.tif 000035
【図１２】
0004677569.tif 000036
【図１３】
0004677569.tif 000037
【図１４】
0004677569.tif 000038
【図１５】
0004677569.tif 000039
【図１６】
0004677569.tif 000040
【図１７】
0004677569.tif 000041
【図１８】
0004677569.tif 000042
【図１９】
0004677569.tif 000043
【図２０】
0004677569.tif 000044
【図２１】
0004677569.tif 000045
【図２２】
0004677569.tif 000046
【図２３】
0004677569.tif 000047