(57)【要約】【課題】  ネットワークトラヒックの異常原因となっている観測種別（パケット）を特定するとともに、真の異常原因ホストを特定するシステムを提供する。【解決手段】  タイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部101と、観測パケットを保存するパケットダンプ部102と、前記特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部103と、前記相関係数を用いてヒストグラムを生成するヒストグラム生成部104と、前記ヒストグラムを用いて異常度ASを算出する異常度算出部105と、異常原因候補のパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部106と、異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部107とを有する。【選択図】図１
2008219525.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程と、前記特徴量生成工程で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程と、前記相関係数算出工程で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程と、前記ヒストグラム生成工程で生成されたヒストグラムを用いて異常度ASを算出する異常度算出工程とを有するとともに、前記特徴量生成工程で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ工程と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出工程と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定工程と、を有することを特徴とするネットワーク異常検知方法。
【請求項２】
前記特徴量生成工程は、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項３】
前記相関係数算出工程は、前記特徴量生成工程で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロット（W：2以上の自然数）のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット（S：自然数）毎にスライドさせその都度相関係数を算出する手順を有すること、および前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項４】
前記相関係数算出工程において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することを特徴とする請求項３に記載のネットワーク異常検知方法。
【請求項５】
前記ヒストグラム生成工程は、前記相関係数算出工程でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項６】
前記異常度算出工程は、前記ヒストグラム生成工程で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出工程で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項７】
前記ホスト抽出工程は、前記異常度算出工程で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスとして抽出することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項８】
前記ホスト特定工程は、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項９】
前記ホスト特定工程は、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する工程と、前記工程で再算出した異常度ASjを用いて、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦n≦N）を真の異常原因ホストとして特定する工程と、を有することを特徴とする請求項１に記載のネットワーク異常検知方法。
【請求項１０】
ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部と、前記特徴量生成部で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部と、前記相関係数算出部で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部と、前記ヒストグラム生成部で生成されたヒストグラムを用いて異常度ASを算出する異常度算出部とを有するとともに、前記特徴量生成部で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ部と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部と、を有することを特徴とするネットワーク異常検知システム。
【請求項１１】
前記特徴量生成部は、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する手段を有することを特徴とする請求項１０に記載のネットワーク異常検知システム。
【請求項１２】
前記相関係数算出部は、前記特徴量生成部で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロット（W：2以上の自然数）のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット（S：自然数）毎にスライドさせその都度相関係数を算出する手段を有すること、および前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する手段を有することを特徴とする請求項１０に記載のネットワーク異常検知システム。
【請求項１３】
前記相関係数算出部において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する手段を有することを特徴とする請求項１２に記載のネットワーク異常検知システム。
【請求項１４】
前記ヒストグラム生成部は、前記相関係数算出部でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する手段を有することを特徴とする請求項１０に記載のネットワーク異常検知システム。
【請求項１５】
前記異常度算出部は、前記ヒストグラム生成部で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出部で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする請求項１０に記載のネットワーク異常検知システム。
【請求項１６】
前記ホスト抽出部は、前記異常度算出部で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスとして抽出することを特徴とする請求項１に記載のネットワーク異常検知システム。
【請求項１７】
前記ホスト特定部は、前記ホスト抽出部で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする請求項１に記載のネットワーク異常検知システム。
【請求項１８】
前記ホスト特定部は、前記ホスト抽出部で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する手段と、前記手段で再算出した異常度ASjを用いて、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦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 月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献１では、全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出し異常の程度を評価することとしたため、個々の異常を検知し、異常原因に該当するパケットを特定できても、異常なパケットを送受信しているホストを特定することができず、速やかに適切な対処（例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと）を施すことが困難であるという問題があった。
【０００７】
本発明は、上記問題を解決するため、観測するパケットをダンプデータとして保存するとともに、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出し、前記ダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定する。これにより異常なパケットを送受信しているホストを自動的に特定し、速やかに適切な対処（例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと）を施すことが可能となる。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載のネットワーク異常検知方法は、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程と、前記特徴量生成工程で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程と、前記相関係数算出工程で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程と、前記ヒストグラム生成工程で生成されたヒストグラムを用いて異常度ASを算出する異常度算出工程とを有するとともに、前記特徴量生成工程で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ工程と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出工程と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定工程と、を有することを特徴とする。
【０００９】
請求項２に記載のネットワーク異常検知方法は、前記特徴量生成工程が、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成することを特徴とする。
【００１０】
請求項３に記載のネットワーク異常検知方法は、前記相関係数算出工程が、前記特徴量生成工程で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロット（W：2以上の自然数）のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット（S：自然数）毎にスライドさせその都度相関係数を算出する手順を有すること、および前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出することを特徴とする。
【００１１】
請求項４に記載のネットワーク異常検知方法は、前記相関係数算出工程において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することを特徴とする。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、後のヒストグラム生成工程において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
【００１２】
請求項５に記載のネットワーク異常検知方法は、前記ヒストグラム生成工程が、前記相関係数算出工程でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することを特徴とする。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け、その出現確率を含めてヒストグラムを生成することにする。
【００１３】
請求項６に記載のネットワーク異常検知方法は、前記異常度算出工程が、前記ヒストグラム生成工程で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出工程で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする。
【００１４】
請求項７に記載のネットワーク異常検知方法は、前記ホスト抽出工程が、前記異常度算出工程で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスとして抽出することを特徴とする。
【００１５】
請求項８に記載のネットワーク異常検知方法は、前記ホスト特定工程が、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする。
【００１６】
請求項９に記載のネットワーク異常検知方法は、前記ホスト特定工程が、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する工程と、前記工程で再算出した異常度ASjを用いて、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦n≦N）を真の異常原因ホストとして特定する工程と、を有することを特徴とする。
【００１７】
請求項１０に記載のネットワーク異常検知システムは、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部と、前記特徴量生成部で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部と、前記相関係数算出部で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部と、前記ヒストグラム生成部で生成されたヒストグラムを用いて異常度ASを算出する異常度算出部とを有するとともに、前記特徴量生成部で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ部と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部と、を有することを特徴とする。
【００１８】
請求項１１に記載のネットワーク異常検知システムは、前記特徴量生成部が、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する手段を有することを特徴とする。
【００１９】
請求項１２に記載のネットワーク異常検知システムは、前記相関係数算出部が、前記特徴量生成部で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロット（W：2以上の自然数）のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット（S：自然数）毎にスライドさせその都度相関係数を算出する手段を有すること、および前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する手段を有することを特徴とする。
【００２０】
請求項１３に記載のネットワーク異常検知システムは、前記相関係数算出部において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する手段を有することを特徴とする。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、後のヒストグラム生成部において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
【００２１】
請求項１４に記載のネットワーク異常検知システムは、前記ヒストグラム生成部が、前記相関係数算出部でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する手段を有することを特徴とする。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け，その出現確率を含めてヒストグラムを生成することにする。
【００２２】
請求項１５に記載のネットワーク異常検知システムは、前記異常度算出部が、前記ヒストグラム生成部で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出部で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする。
【００２３】
請求項１６に記載のネットワーク異常検知システムは、前記ホスト抽出部が、前記異常度算出部で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスとして抽出することを特徴とする。
【００２４】
請求項１７に記載のネットワーク異常検知システムは、前記ホスト特定部が、前記ホスト抽出部で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする。
【００２５】
請求項１８に記載のネットワーク異常検知システムは、前記ホスト特定部が、前記ホスト抽出部で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する手段と、前記手段で再算出した異常度ASjを用いて、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦n≦N）を真の異常原因ホストとして特定する手段と、を有することを特徴とする。
【発明の効果】
【００２６】
請求項１または請求項１０に係る発明によれば、特徴量の組合せ毎に算出した複数の相関係数を用いて相関係数の出現確率をヒストグラムで表し、異常検出後の原因特定を考慮した状態定義を行うとともに、全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出し異常の程度を評価することとしたため、個々の異常を検知し、異常原因となっている観測種別（パケット）を特定することが可能になる。さらに、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出し、パケットダンプデータを用いて異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定することとしたため、異常なパケットを送受信しているホストを自動的に特定し、速やかに適切な対処（例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと）を施すことが可能となる。
【００２７】
請求項２および請求項３、または請求項１１および請求項１２に係る発明によれば、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として、特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出することとしたため、相関係数を用いてネットワーク状態を定量的に定義することができる。ネットワークを流れる各種トラヒックは各種プロトコルの制約を受けるため、通常状態ではその流量と変化の仕方に何らかの関係性が保たれていることから、相関関係を用いた通常状態の定義は異常検知に有効である。
【００２８】
請求項４または請求項１３に係る発明によれば、相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することとしたため、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などの相関係数が算出できない場合でも、相関係数が算出不可というクラスを含めたヒストグラムによってネットワーク状態をモデル化することが可能となり、ネットワーク状態を評価する上で有効である。
【００２９】
請求項５または請求項１４に係る発明によれば、k種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することとしたため、通常状態を定義する際に、他の手法（例えば、主成分軸による評価法、相関係数の平均値や分散によるモデル化法）と比較して、情報の損失を抑えることができる。
【００３０】
請求項６または請求項１５に係る発明によれば、異常と判断された特徴量の組合せに着目して各組合せの異常の程度を個別に評価することとしたため、他の手法（例えば、全ての特徴量間の相関関係を一つの主成分軸を用いて表す主成分分析法）と比較して、異常発生時の原因の特定に有効である。
【００３１】
請求項７または請求項１６に係る発明によれば、異常度算出工程で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを抽出することとしたため、自動的に異常原因懐疑ホストのIPアドレスを抽出することが可能になる。
【００３２】
請求項８または請求項１７に係る発明によれば、異常原因懐疑ホストHj（1≦j≦N）毎に、異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを真の異常原因ホストとして特定することとしたため、異常なパケットを送受信しているホストを自動的に特定することが可能になる。これにより速やかに適切な対処（例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと）を施すことが可能となる。
【００３３】
請求項９または請求項１８に係る発明によれば、異常原因懐疑ホストHj（1≦j≦N）毎に、異常度ASjを再算出するとともに、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦n≦N）を真の異常原因ホストとして特定することとしたため、異常なパケットを送受信しているホストを自動的に特定することが可能になる。これにより速やかに適切な対処（例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと）を施すことが可能となる。
【発明を実施するための最良の形態】
【００３４】
次に、本発明の実施の形態に係るネットワーク異常検知方法およびネットワーク異常検知システムについて図面に基づいて説明する。なお、この実施の形態により本発明が限定されるものではない。
【００３５】
図７は、本発明の実施の形態に係るネットワーク異常検知方法のプロセスを示す図である。図７に示すように、ネットワーク異常検知方法は、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程701と、特徴量生成工程701で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ工程702と、特徴量生成工程701で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程703と、相関係数算出工程703で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程704と、ヒストグラム生成工程704で生成されたヒストグラムを用いて異常度ASを算出する異常度算出工程705と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出工程706と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定工程707とを有し、前記の各工程を順次実行することで、個々の異常を検知し、異常原因となっている観測種別（パケット）を特定するとともに、異常なパケットを送受信しているホストを自動的に特定する。
【００３６】
特徴量生成工程701は、パケットをプロトコル種別やフラグ等によりk通り（k：2以上の自然数）に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する。すなわち、パケットをプロトコル種別やフラグ等によりk通りに分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する。ここでkは2以上の自然数である。
【００３７】
相関係数算出工程703は、パケットダンプ工程702でパケットダンプデータとして格納された特徴量の情報を入力として、生成された特徴量の列に対してウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。すなわち特徴量生成工程701で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手順を実行する。前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出する。ここでWは2以上の自然数であり、Sは自然数である。
相関係数rは、２要素x, y を
ｘ＝（ｘ１，ｘ２，・・・・，ｘｎ）
ｙ＝（ｙ１，ｙ２，・・・・，ｙｎ）
とした場合に次式で定義される。
【数１】
2008219525.tif 000003
相関係数rの値は-1≦r≦1の範囲の値をとり、１に近い程２つの要素間には強い相関があるといえる。
【００３８】
また相関係数算出工程703において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、ヒストグラム生成工程704において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
【００３９】
ヒストグラム生成工程704は、相関係数算出工程703でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け，その出現確率を含めてヒストグラムを生成することにする。これらのヒストグラムを相関係数ヒストグラムと呼び、この相関係数ヒストグラムを通常状態の定義に用いる。また相関係数は全ての特徴量の組合せに対して生成されるため, N 個の特徴量に対して全部で{N＊(N-1)}/2個のヒストグラムが生成されることになる。ネットワークの通常状態はこの相関係数ヒストグラム全てを用いて定義される。
【００４０】
異常度算出工程705は、ヒストグラム生成工程704で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、相関係数算出工程703で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価する。
具体的には、異常度算出工程705においては、まず評価を行いたい時間における各種組合せの相関係数の算出を行う。算出された相関係数の値はそのまま評価に使用するのではなく、図５で示すように事前に生成されている相関係数ヒストグラムを用いて算出された相関係数の発生確率を求めて、この発生確率を評価指標として使用する。これは算出された相関係数で示される相関関係そのものを評価するのではなく、対象ネットワークにおいて相関係数で示されるような事象がどれほどの確率で発生するかを評価の指標とするためである。求めた発生確率がその組合せの異常の程度を示しており、相関係数の発生確率が高い場合にはその組合せは頻繁に発生する事象であり通常の相関関係にあると言え、相関係数の発生確率が低い場合にはその組合せは異常な相関関係にあると言える。本発明ではここで得られる発生確率を異常程度の指標としてネットワークの状態評価を行う。
【００４１】
また異常度ASの算出は、各組合せの相関係数の発生確率を基準とする値と比較し、その値に満たない組合せを異常と判別することによって行う。すなわち、あるウィンドウについて異常と判断された組合せの総数を、そのウィンドウの異常の程度を表す指標となる異常得点（異常度AS）として用いる。異常得点の高い時間帯では、多くの相関係数の組合せが通常あまり取りえない相関係数を算出していることから、多くの特徴量間において通常とりえない関係性をとっており何らかの異常な事象が発生していると考えられる。本発明では、全ての特徴量間の相関関係を1つの主成分軸を用いて表す主成分分析とは異なり、各組合せの異常の程度を個別に評価することになる。そのため異常得点が高いなどの理由から異常原因の特定を行う場合には、異常が発生している時間の相関係数の１つ１つを調査することにより異常な相関係数をとる組合せを特定し、その組合せの特徴量に注目することにより異常の原因を推察することができると考えられる(図６)。
【００４２】
ホスト抽出工程706は、異常度算出工程705で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスとして抽出する。
【００４３】
ホスト特定工程707は、ホスト抽出工程706で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定する。
具体的には、ホスト特定工程707においては、ホスト抽出工程706で抽出された異常原因懐疑ホストHx（x = 1,2,3,・・・,N）毎に、前記パケットダンプデータから異常原因懐疑ホストHxのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASxを再算出する。異常度ASxが異常度ASよりも低くなった場合に異常原因懐疑ホストHxを異常原因ホストとして特定する。例えば、パケットダンプ工程702で取得したパケットダンプデータをD(t)（t：相関係数を算出するウィンドウの時刻）とすると、異常度算出工程705で算出される異常度ASは、
【数２】
2008219525.tif 000004
で表すことができる。またホスト抽出工程706において抽出された異常原因懐疑ホストのIPアドレスIPxによって送受信されるパケットを除去したパケットダンプデータをD(IPx,t)とすると、異常原因懐疑ホストの一つであるIPxの通信が存在しなかった場合のパケットダンプデータが作成されることになる。このダンプデータから再度異常度ASxを計算する。
【数３】
2008219525.tif 000005
この(3)式で再計算された異常度ASxが、(2)式の異常度ASより小さくなっていた場合、つまり異常の程度が低くなっていた場合、異常原因懐疑ホストIPxが異常原因のパケットを送受信していたと判断できる。
【００４４】
また、ホスト特定工程707は、ホスト抽出工程706で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する工程と、前記工程で再算出した異常度ASjを用いて、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦n≦N）を真の異常原因ホストとして特定する工程と、を有する。
具体的には、ホスト特定工程707において、ホスト抽出工程706で抽出された異常原因懐疑ホストHx（x = 1,2,3,・・・,N）毎に、前記パケットダンプデータから異常原因懐疑ホストHxのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASxを再算出する。再算出した異常度ASxを用いて、異常度の差分ΔASxが最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。すなわち、(4)式で計算される異常度の差分ΔASxを全ての異常原因懐疑ホストHxに関して算出し、異常度の差分ΔASxが最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。
【数４】
2008219525.tif 000006
ここで、Ts、Teはそれぞれ異常の発生時刻と終了時刻である。
【００４５】
次に、前記で説明したネットワーク異常検知方法を用いて異常を検出するネットワーク異常検知システムについて説明する。
図１は、本発明の実施の形態に係るネットワーク異常検知システムの構成を示すブロック図である。図１に示すように、観測点には、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を測定して特徴量として生成する特徴量生成部（トラヒック測定部）101と、特徴量生成部101で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ部102とを有する。またパケットダンプ部102に格納された特徴量の情報を入力としてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部103と、相関係数算出部103で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部104と、ヒストグラム生成部104で生成されたヒストグラムを用いて異常度ASを算出する異常度算出部105と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部106と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部107とを有する。
【００４６】
特徴量生成部（トラヒック測定部）101は、ネットワークトラヒックを観測し、タイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する。すなわち、パケットをプロトコル種別やフラグ等によりk通りに分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する。ここでkは2以上の自然数である。
【００４７】
相関係数算出部103は、パケットダンプ部102に格納された特徴量の情報を入力として、生成された特徴量の列に対してウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。すなわちトラヒック測定部（特徴量生成部）101で生成したk種類の特徴量の中から任意の２要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手段を有する。前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する。ここでWは2以上の自然数であり、Sは自然数である。
相関係数rは、２要素x, y を
ｘ＝（ｘ１，ｘ２，・・・・，ｘｎ）
ｙ＝（ｙ１，ｙ２，・・・・，ｙｎ）
とした場合に次式で定義される。
【数５】
2008219525.tif 000007
相関係数rの値は-1≦r≦1の範囲の値をとり、１に近い程２つの要素間には強い相関があるといえる。
【００４８】
また相関係数算出部103において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値（-1〜+1の範囲外の値）として定義する。この例外値は、ヒストグラム生成部104において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
【００４９】
ヒストグラム生成部104は、相関係数算出部103でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅（例えば0.1）を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け，その出現確率を含めてヒストグラムを生成することにする。これらのヒストグラムを相関係数ヒストグラムと呼び、この相関係数ヒストグラムを通常状態の定義に用いる。
【００５０】
異常度算出部105は、ヒストグラム生成部104で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、相関係数算出部103で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価する。
【００５１】
ホスト抽出部106は、異常度算出部105で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスとして抽出する。
【００５２】
ホスト特定部107は、ホスト抽出部106で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定する。
【００５３】
また、ホスト特定部107は、ホスト抽出部106で抽出された異常原因懐疑ホストHj（1≦j≦N）毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する手段と、前記手段で再算出した異常度ASjを用いて、異常度の差分（ASj−AS）が最小となる異常原因懐疑ホストHn（1≦n≦N）を真の異常原因ホストとして特定する手段と、を有する。
【００５４】
図２は、特徴量生成部101、相関係数算出部103、およびヒストグラム生成部104において、全パケット数(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における相関係数の算出方法について説明する。相関係数算出部103においては、ネットワークの状態が時間により変化することを考慮に入れスライディングウィンドウ方式を用いて相関係数を算出する(図４)。まず生成された特徴量の列に対して幅Wタイムスロットのウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。このウィンドウをS タイムスロットずつスライドさせその都度相関係数を算出し、算出された一連の相関係数をヒストグラム生成部に入力、指定されたクラス幅に従い各組合せ毎に相関係数のヒストグラムを作成する。最終的に出力されるこの相関係数の発生確率のヒストグラムを相関係数ヒストグラムと呼び、本評価手法ではこの相関係数ヒストグラムを用いて通常状態を定義し、相関係数ヒストグラムと算出された相関係数を対応させることで状態の評価を行う。相関係数は全ての特徴量の組合せに対して生成されるため、N 個の特徴量に対して全部で{N＊(N-1)}/2個のヒストグラムが生成されることになる。ネットワークの通常状態はこの個の相関係数ヒストグラム全てを用いて定義される。本発明では，全ての特徴量間の相関関係を一つの主成分軸を用いて表す主成分分析と異なり、各組合せの異常の程度を個別に評価するため個々の評価結果は異常発生時の原因の特定に有効な情報になると考える。
【００５８】
次に、異常度算出部105における異常の評価方法について説明する。異常度算出部105においては、まず評価を行いたい時間における各種組合せの相関係数の算出を行う。算出された相関係数の値はそのまま評価に使用するのではなく、図５で示すように事前に生成されている相関係数ヒストグラムを用いて算出された相関係数の発生確率を求めて、この発生確率を評価指標として使用する。これは算出された相関係数で示される相関関係そのものを評価するのではなく、対象ネットワークにおいて相関係数で示されるような事象がどれほどの確率で発生するかを評価の指標とするためである。求めた発生確率がその組合せの異常の程度を示しており、相関係数の発生確率が高い場合にはその組合せは頻繁に発生する事象であり通常の相関関係にあると言え、相関係数の発生確率が低い場合にはその組合せは異常な相関関係にあると言える。本発明ではここで得られる発生確率を異常程度の指標としてネットワークの状態評価を行う。
【００５９】
また異常度ASの算出は、各組合せの相関係数の発生確率を基準とする値と比較し、その値に満たない組合せを異常と判別することによって行う。すなわち、あるウィンドウについて異常と判断された組合せの総数を、そのウィンドウの異常の程度を表す指標となる異常得点（異常度AS）として用いる。異常得点の高い時間帯では、多くの相関係数の組合せが通常あまり取りえない相関係数を算出していることから、多くの特徴量間において通常とりえない関係性をとっており何らかの異常な事象が発生していると考えられる。本発明では、全ての特徴量間の相関関係を1つの主成分軸を用いて表す主成分分析とは異なり、各組合せの異常の程度を個別に評価することになる。そのため異常得点が高いなどの理由から異常原因の特定を行う場合には、異常が発生している時間の相関係数の１つ１つを調査することにより異常な相関係数をとる組合せを特定し、その組合せの特徴量に注目することにより異常の原因を推察することができると考えられる(図６)。
【００６０】
次に、ホスト抽出部106における異常原因懐疑ホストの抽出方法について説明する。ホスト抽出部106においては、異常度算出部105で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを前記パケットダンプデータから抽出する。すなわち、異常原因懐疑ホストH1〜HN（N：1以上の自然数）のIPアドレスIPx（x = 1,2,3,・・・,N）を抽出する。
【００６１】
次に、ホスト特定部107における異常原因ホストの特定方法について説明する。ホスト特定部107においては、ホスト抽出部106で抽出された異常原因懐疑ホストHx（x = 1,2,3,・・・,N）毎に、前記パケットダンプデータから異常原因懐疑ホストHxのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASxを再算出する。異常度ASxが異常度ASよりも低くなった場合に異常原因懐疑ホストHxを異常原因ホストとして特定する。例えば、パケットダンプ部102で取得したパケットダンプデータをD(t)（t：相関係数を算出するウィンドウの時刻）とすると、異常度算出部105で算出される異常度ASは、
【数６】
2008219525.tif 000008
で表すことができる。またホスト抽出部106において抽出された異常原因懐疑ホストのIPアドレスIPxによって送受信されるパケットを除去したパケットダンプデータをD(IPx,t)とすると、異常原因懐疑ホストの一つであるIPxの通信が存在しなかった場合のパケットダンプデータが作成されることになる。このダンプデータから再度異常度ASxを計算する。
【数７】
2008219525.tif 000009
この(3)式で再計算された異常度ASxが、(2)式の異常度ASより小さくなっていた場合、つまり異常の程度が低くなっていた場合、異常原因懐疑ホストIPxが異常原因のパケットを送受信していたと判断できる。
【００６２】
さらに、ホスト特定部107において、ホスト抽出部106で抽出された異常原因懐疑ホストHx（x = 1,2,3,・・・,N）毎に、前記パケットダンプデータから異常原因懐疑ホストHxのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASxを再算出する。再算出した異常度ASxを用いて、異常度の差分ΔASxが最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。すなわち、(3)式で計算される異常度の差分ΔASxを全ての異常原因懐疑ホストHxに関して算出し、異常度の差分ΔASxが最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。
【数８】
2008219525.tif 000010
ここで、Ts、Teはそれぞれ異常の発生時刻と終了時刻である。
【００６３】
（実験１）
次に、本発明に係る異常の検知および評価方法に関して、実運用ネットワークのトラヒックを用いた実験を通して検証した結果について説明する。評価対象としたネットワークは、図８ に示す様な構成の約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)
【表１】
2008219525.tif 000011
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 パケットの組合せにおける相関係数ヒストグラムを示している。以降ではこれらの特徴量を
2008219525.tif 000012
という表記によって表す。方向の部分では、流入するパケット(IN) であるか流出するパケット(OUT) であるかを示し、種別の部分ではTCPのフラグの種類またはポート番号を示す。ポート番号については送信元(src) であるか宛先(dst) であるかを合わせて記述し、SSH やHTTP など対応するアプリケーションやプロトコルがある場合には、ポート番号ではなくその文字列で表す。なお、種別がALL の場合は、そのプロトコルの全パケット数であることを意味する。
【００６６】
図９より
2008219525.tif 000013
間には正の強い相関があることがわかる(図９左上)。コネクションの開始を示すSYN と終了を示すFIN の役割より、このヒストグラムが通常状態を表しているといえる。また、
2008219525.tif 000014
の相関係数は、多くの場合に正の値を取りその出現確率はほぼ均等であるといえる。このヒストグラムは基本的に通信量がコネクション数に依存するというTCP の特性を表したものとなっている(図９右上)。
【００６７】
また
2008219525.tif 000015
には正負どちらにも大きな相関係数の偏りは見られない(図９左下)。TCP とUDP にはプロトコルで規定された関係が存在しないため、ヒストグラムからわかるように基本的に無相関な状態にある。
【００６８】
また
2008219525.tif 000016
の相関係数は大半の場合に前記で述べた階級値1.1 を多くとっている(図９右下)。これは外部ネットワークから内部のホストへのSSH通信の要求が非常に少ないことを示しており、対象ネットワークの利用状況から見ても妥当な結果であるといえる。ただし前記で述べた理由によりこのようなヒストグラムは異常状態の判断材料から除外される可能性が高い。
【００６９】
以上により、各特徴量間の相関係数ヒストグラムは通常時のネットワークの利用状況を反映した形状をとっているといえる。多くの組合せの相関係数が相関係数ヒストグラムに基づいて出現確率が低いと判断された場合に、ネットワークが通常と異なる異常な状態をとった可能性を示すと考えられる。
【００７０】
次に、異常検知の事例について説明する。今回の行う異常状態の検出実験においては、相関係数の発生確率が低いと評価する異常判定閾値を1%とし、相関係数の発生確率がこの値を下回った場合にその組合せを異常であると判断する。前記で述べた通りウィンドウ中の異常な組合せの総数をそのウィンドウの異常得点とする。
【００７１】
図10 はある1 日の異常得点の変化を例として示したものであり、１日を通して異常得点が常に変化をしており、ネットワークの状態が常に変化していることがわかる。また、いくつかの時間において高い異常得点をとっていることも見られる。今回は解析対象期間内においてこの様な高い異常得点を示したウィンドウで異常な状態をとっているとして、該当ウィンドウ内のトラヒックデータを詳細に調査した。
【００７２】
[例1：大規模なスキャン]
あるウィンドウにおいては、全てのホストの特定ポートに対するスキャンおよび一部のホストの様々なポートに対するスキャンが発見された。このウィンドウでは様々な組合せの相関係数が異常な値を取っていたが、異常な相関係数を取った組合せの多くには次の３つの特徴量
2008219525.tif 000017
のいずれかが含まれていた。
例えば、図11の相関係数ヒストグラムからわかるように、
2008219525.tif 000018
は通常時に非常に強い相関を示すことは稀であるが、このウィンドウでの相関係数は約0.98という値をとった。そのためこの２つの特徴量に注目してトラヒックを調査したところ、上述したようなSYN パケットによる大規模なスキャンが検出された。スキャンの内容に関しても相関係数が異常と示された特徴量とスキャンが行われたポート番号とが対応しており、相関係数の組合せに着目することにより異常原因の特定が可能であることがわかる。
【００７３】
[例２：SSH(TCP22)へのlogin試行]
別のウィンドウにおいては、全てのホストのSSH(22 番port) へのlogin 試行が観測された。このウィンドウでは通常ごく強い正の相関を示す
2008219525.tif 000019
が弱い正の相関を示している。さらに通常算出されない
2008219525.tif 000020
の相関係数が算出され強い正の相関を示し、その発生確率は非常に小さいものとなっている(図12)。
【００７４】
[例３：スパムメールの到着]
別のウィンドウでは外部から内部へのスパムメール送信が確認された。このときには
2008219525.tif 000021
の相関係数が異常な値をとっていた(図13)。この組合せは通常時にはほぼ無相関であるが、このウィンドウにおいては相関係数が約0.8 と通常時には起こり得ない強い相関が見られた。そこで、SMTP ポートに注目してネットワークトラヒックを調査した結果、複数のスパムメールがほぼ同時刻にメールサーバで送受信されていることがわかった。さらに詳細な調査により、これはスパムメールの宛先となったメールアドレスから外部のメールアドレスへの転送設定が行われていたためであることが確認された。
【００７５】
以下に異常得点が高くなった場合において発見された事象と異常に関する相関係数の発生確率の特徴との関係を対応表（表２）に示す。
【表２】
2008219525.tif 000022
【００７６】
以上の実験１の検証結果から、個々の異常を検知し異常原因に該当するパケットを特定することが可能であることが証明され、本発明に係る異常の検知および評価方法に関しての有効性が示せた。
【００７７】
（実験２）
次に、本発明に係る異常原因ホストの特定方法に関して、実運用ネットワークのトラヒックを用いた実験を通して検証した結果について説明する。評価対象としたネットワークは、約60台のホストが接続する構成のLAN であり、インターネットとの通信の全パケットを対象とする。観測期間は2005 年4月の1ヶ月分とし、この期間のトラヒックを対象とする。
【００７８】
本発明に係る異常原因ホストの特定方法は、複数の異常原因懐疑ホストから真の異常原因ホストを絞り込むものであるため、複数のホストが異常原因懐疑ホストとして抽出された異常を対象とした。該当するものは、2005 年4月の1ヶ月分で62件であった。これらの異常に対して、本方法を適用すると約8割の53個の異常に対して異常原因ホストのIPアドレスを特定することが可能であった（表3）。しかし9個の異常では異常原因ホストのIPアドレスを特定することができなかった。特定不能の原因は、異常原因ホストのIPアドレスを特定する指標である異常度の差分ΔASxが0となっていたためである。この原因は、異常検出段階の誤検知によるものであると考えられる。
【表３】
2008219525.tif 000023
【００７９】
以上の実験２の検証結果から、異常なパケットを送受信しているホストを特定することが可能であることが証明され、本発明に係る異常原因ホストの特定方法の有効性が示せた。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態に係るネットワーク異常検知システムの構成を示すブロック図である。
【図２】各特徴量間の相関係数ヒストグラムが生成される流れを示した図である。
【図３】トラヒック流量の変化と対応する相関係数の値の例を示した図である。
【図４】スライディングウィンドウを用いて相関係数を算出しヒストグラムを生成する方法を示した図である。
【図５】相関係数ヒストグラムを用いて相関係数発生確率を算出する方法を示した図である。
【図６】相関係数発生確率に基づいて異常得点を算出する方法と異常原因を特定する方法を示した図である。
【図７】本発明の実施の形態に係るネットワーク異常検知方法のプロセスを示すフローチャートである。
【図８】実験ネットワークの構成を示した図である。
【図９】実験によって得られた相関係数ヒストグラムを示した図であり、各特徴量の組合せによる確率分布を示している。
【図１０】実験期間中の異常得点の例を示した図である。
【図１１】実験によって得られた相関係数ヒストグラムを示した図である。
【図１２】実験によって得られた相関係数ヒストグラムを示した図である。
【図１３】実験によって得られた相関係数ヒストグラムを示した図である。
【符号の説明】
【００８１】
１０１  特徴量生成部（トラヒック測定部）
１０２  パケットダンプ部
１０３  相関係数算出部
１０４  ヒストグラム生成部
１０５  異常度算出部
１０６  ホスト抽出部
１０７  ホスト特定部
７０１  特徴量生成工程
７０２  パケットダンプ工程
７０３  相関係数算出工程
７０４  ヒストグラム生成工程
７０５  異常度算出工程
７０６  ホスト抽出工程
７０７  ホスト特定工程
【図１】
2008219525.tif 000024
【図２】
2008219525.tif 000025
【図３】
2008219525.tif 000026
【図４】
2008219525.tif 000027
【図５】
2008219525.tif 000028
【図６】
2008219525.tif 000029
【図７】
2008219525.tif 000030
【図８】
2008219525.tif 000031
【図９】
2008219525.tif 000032
【図１０】
2008219525.tif 000033
【図１１】
2008219525.tif 000034
【図１２】
2008219525.tif 000035
【図１３】
2008219525.tif 000036