JP2008219525A - ネットワーク異常検知方法およびネットワーク異常検知システム - Google Patents

ネットワーク異常検知方法およびネットワーク異常検知システム Download PDF

Info

Publication number
JP2008219525A
JP2008219525A JP2007054898A JP2007054898A JP2008219525A JP 2008219525 A JP2008219525 A JP 2008219525A JP 2007054898 A JP2007054898 A JP 2007054898A JP 2007054898 A JP2007054898 A JP 2007054898A JP 2008219525 A JP2008219525 A JP 2008219525A
Authority
JP
Japan
Prior art keywords
host
abnormality
correlation coefficient
degree
cause
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007054898A
Other languages
English (en)
Inventor
Hideki Saga
秀樹 嵯峨
Yuji Izumi
勇治 和泉
Yutaka Tsunoda
裕 角田
Yoshiaki Nemoto
義章 根元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tohoku University NUC
Original Assignee
Tohoku University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tohoku University NUC filed Critical Tohoku University NUC
Priority to JP2007054898A priority Critical patent/JP2008219525A/ja
Publication of JP2008219525A publication Critical patent/JP2008219525A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】
ネットワークトラヒックの異常原因となっている観測種別(パケット)を特定するとともに、真の異常原因ホストを特定するシステムを提供する。
【解決手段】
タイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部101と、観測パケットを保存するパケットダンプ部102と、前記特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部103と、前記相関係数を用いてヒストグラムを生成するヒストグラム生成部104と、前記ヒストグラムを用いて異常度ASを算出する異常度算出部105と、異常原因候補のパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部106と、異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部107とを有する。
【選択図】図1

Description

本発明は、ネットワークに対するセキュリティ侵害を行う不正アクセスを検知する技術に関するものである。
現在のインターネットにおいては、攻撃者による侵入やDenial of Service(DoS) 攻撃の手口が巧妙化するとともに、新種のワーム、ウィルスが次々と出現して、 帯域の浪費によるネットワーク通信障害、情報漏洩などのセキュリティ面で大きな問題となっている。
そのため近年、このような新たな攻撃を検知するために異常検知型のIntrusion Detection System(IDS) が注目されている。異常検知型IDS では、あらかじめネットワークの通常状態を定義しておき、現在のネットワークの状態が通常状態からどの程度逸脱しているかを評価することにより、ネットワーク内の異常の有無を判断する。つまり、異常検知型IDS は、Snort [非特許文献1] に代表されるような不正検知型IDS とは異なり、検知の際に攻撃に関するルール、シグネチャなどを必要としないため、新種の攻撃を検知する能力を有している点で優れている。また、 不正アクセスだけでなく、ネットワーク機器の不調やサーバ自体のダウンなどの障害による異常も検出できるために、異常検知技術はネットワーク管理において重要な技術となっている。
異常検知を行うためには適切にネットワークの通常状態を定義することが必要であり、そのために定量的な状態評価方式が必要となる。DoS 攻撃に特化した異常検知手法である非特許文献2では、過去の状態に基づいて予測した単位時間あたりのパケット数を特徴量とし、通常状態を定義している。しかし、このようにパケット数という単一の特徴量の絶対的な量に基づいた状態定義では、通常時のトラヒック流量の急変に対応できないという問題がある。この問題に対処するために、非特許文献4では、種別毎に観測したパケット数を特徴量とし、複数の特徴量の比率によって通常状態を定義している。また、非特許文献3では、同様に種別毎のパケット数の相関関係を主成分分析により評価し、得られた主成分軸によって通常状態を定義している。ネットワークを流れる各種トラヒックは各種プロトコルの制約を受けるため、通常状態ではその流量と変化の仕方に何らかの関係性が保たれていると考えられることから、相関関係を考慮した通常状態の定義は異常検知に有効であるといえる。
しかし非特許文献3では、複数の特徴量間の相関関係を単一の主成分軸で評価してしまうため、検出した異常の原因の特定が困難であるという問題があった。そこで特許文献1では、異常検出後の原因特定を考慮した通常状態の定義のために、特徴量の組合せ毎に算出した複数の相関係数によってネットワーク状態を評価する方法を提供している。この方法では、通常状態に関する情報の損失を抑えるために、相関係数の平均値や分散などによるモデル化は行わず、相関係数の出現確率を表すヒストグラムによって通常状態を定義し、各特徴量間の相関係数と、対応する前記ヒストグラムのクラスの出現確率とを比較して異常の程度を評価する。
特願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 月
しかしながら特許文献1では、全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出し異常の程度を評価することとしたため、個々の異常を検知し、異常原因に該当するパケットを特定できても、異常なパケットを送受信しているホストを特定することができず、速やかに適切な対処(例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと)を施すことが困難であるという問題があった。
本発明は、上記問題を解決するため、観測するパケットをダンプデータとして保存するとともに、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出し、前記ダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定する。これにより異常なパケットを送受信しているホストを自動的に特定し、速やかに適切な対処(例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと)を施すことが可能となる。
上記目的を達成するため、請求項1に記載のネットワーク異常検知方法は、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程と、前記特徴量生成工程で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程と、前記相関係数算出工程で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程と、前記ヒストグラム生成工程で生成されたヒストグラムを用いて異常度ASを算出する異常度算出工程とを有するとともに、前記特徴量生成工程で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ工程と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出工程と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定工程と、を有することを特徴とする。
請求項2に記載のネットワーク異常検知方法は、前記特徴量生成工程が、パケットをプロトコル種別やフラグ等によりk通り(k:2以上の自然数)に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成することを特徴とする。
請求項3に記載のネットワーク異常検知方法は、前記相関係数算出工程が、前記特徴量生成工程で生成したk種類の特徴量の中から任意の2要素について、幅Wタイムスロット(W:2以上の自然数)のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット(S:自然数)毎にスライドさせその都度相関係数を算出する手順を有すること、および前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出することを特徴とする。
請求項4に記載のネットワーク異常検知方法は、前記相関係数算出工程において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することを特徴とする。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値(-1〜+1の範囲外の値)として定義する。この例外値は、後のヒストグラム生成工程において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
請求項5に記載のネットワーク異常検知方法は、前記ヒストグラム生成工程が、前記相関係数算出工程でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することを特徴とする。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅(例えば0.1)を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け、その出現確率を含めてヒストグラムを生成することにする。
請求項6に記載のネットワーク異常検知方法は、前記異常度算出工程が、前記ヒストグラム生成工程で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出工程で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする。
請求項7に記載のネットワーク異常検知方法は、前記ホスト抽出工程が、前記異常度算出工程で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN(N:1以上の自然数)のIPアドレスとして抽出することを特徴とする。
請求項8に記載のネットワーク異常検知方法は、前記ホスト特定工程が、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする。
請求項9に記載のネットワーク異常検知方法は、前記ホスト特定工程が、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する工程と、前記工程で再算出した異常度ASjを用いて、異常度の差分(ASj−AS)が最小となる異常原因懐疑ホストHn(1≦n≦N)を真の異常原因ホストとして特定する工程と、を有することを特徴とする。
請求項10に記載のネットワーク異常検知システムは、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部と、前記特徴量生成部で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部と、前記相関係数算出部で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部と、前記ヒストグラム生成部で生成されたヒストグラムを用いて異常度ASを算出する異常度算出部とを有するとともに、前記特徴量生成部で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ部と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部と、を有することを特徴とする。
請求項11に記載のネットワーク異常検知システムは、前記特徴量生成部が、パケットをプロトコル種別やフラグ等によりk通り(k:2以上の自然数)に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する手段を有することを特徴とする。
請求項12に記載のネットワーク異常検知システムは、前記相関係数算出部が、前記特徴量生成部で生成したk種類の特徴量の中から任意の2要素について、幅Wタイムスロット(W:2以上の自然数)のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット(S:自然数)毎にスライドさせその都度相関係数を算出する手段を有すること、および前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する手段を有することを特徴とする。
請求項13に記載のネットワーク異常検知システムは、前記相関係数算出部において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する手段を有することを特徴とする。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値(-1〜+1の範囲外の値)として定義する。この例外値は、後のヒストグラム生成部において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
請求項14に記載のネットワーク異常検知システムは、前記ヒストグラム生成部が、前記相関係数算出部でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する手段を有することを特徴とする。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅(例えば0.1)を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け,その出現確率を含めてヒストグラムを生成することにする。
請求項15に記載のネットワーク異常検知システムは、前記異常度算出部が、前記ヒストグラム生成部で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出部で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする。
請求項16に記載のネットワーク異常検知システムは、前記ホスト抽出部が、前記異常度算出部で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN(N:1以上の自然数)のIPアドレスとして抽出することを特徴とする。
請求項17に記載のネットワーク異常検知システムは、前記ホスト特定部が、前記ホスト抽出部で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする。
請求項18に記載のネットワーク異常検知システムは、前記ホスト特定部が、前記ホスト抽出部で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する手段と、前記手段で再算出した異常度ASjを用いて、異常度の差分(ASj−AS)が最小となる異常原因懐疑ホストHn(1≦n≦N)を真の異常原因ホストとして特定する手段と、を有することを特徴とする。
請求項1または請求項10に係る発明によれば、特徴量の組合せ毎に算出した複数の相関係数を用いて相関係数の出現確率をヒストグラムで表し、異常検出後の原因特定を考慮した状態定義を行うとともに、全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出し異常の程度を評価することとしたため、個々の異常を検知し、異常原因となっている観測種別(パケット)を特定することが可能になる。さらに、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出し、パケットダンプデータを用いて異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定することとしたため、異常なパケットを送受信しているホストを自動的に特定し、速やかに適切な対処(例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと)を施すことが可能となる。
請求項2および請求項3、または請求項11および請求項12に係る発明によれば、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として、特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出することとしたため、相関係数を用いてネットワーク状態を定量的に定義することができる。ネットワークを流れる各種トラヒックは各種プロトコルの制約を受けるため、通常状態ではその流量と変化の仕方に何らかの関係性が保たれていることから、相関関係を用いた通常状態の定義は異常検知に有効である。
請求項4または請求項13に係る発明によれば、相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することとしたため、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などの相関係数が算出できない場合でも、相関係数が算出不可というクラスを含めたヒストグラムによってネットワーク状態をモデル化することが可能となり、ネットワーク状態を評価する上で有効である。
請求項5または請求項14に係る発明によれば、k種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することとしたため、通常状態を定義する際に、他の手法(例えば、主成分軸による評価法、相関係数の平均値や分散によるモデル化法)と比較して、情報の損失を抑えることができる。
請求項6または請求項15に係る発明によれば、異常と判断された特徴量の組合せに着目して各組合せの異常の程度を個別に評価することとしたため、他の手法(例えば、全ての特徴量間の相関関係を一つの主成分軸を用いて表す主成分分析法)と比較して、異常発生時の原因の特定に有効である。
請求項7または請求項16に係る発明によれば、異常度算出工程で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを抽出することとしたため、自動的に異常原因懐疑ホストのIPアドレスを抽出することが可能になる。
請求項8または請求項17に係る発明によれば、異常原因懐疑ホストHj(1≦j≦N)毎に、異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを真の異常原因ホストとして特定することとしたため、異常なパケットを送受信しているホストを自動的に特定することが可能になる。これにより速やかに適切な対処(例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと)を施すことが可能となる。
請求項9または請求項18に係る発明によれば、異常原因懐疑ホストHj(1≦j≦N)毎に、異常度ASjを再算出するとともに、異常度の差分(ASj−AS)が最小となる異常原因懐疑ホストHn(1≦n≦N)を真の異常原因ホストとして特定することとしたため、異常なパケットを送受信しているホストを自動的に特定することが可能になる。これにより速やかに適切な対処(例えば、異常原因ホストをネットワークから遮断してシステムの保全を行うこと)を施すことが可能となる。
次に、本発明の実施の形態に係るネットワーク異常検知方法およびネットワーク異常検知システムについて図面に基づいて説明する。なお、この実施の形態により本発明が限定されるものではない。
図7は、本発明の実施の形態に係るネットワーク異常検知方法のプロセスを示す図である。図7に示すように、ネットワーク異常検知方法は、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程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種類の特徴量の中から任意の2要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手順を実行する。前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出する。ここでWは2以上の自然数であり、Sは自然数である。
相関係数rは、2要素x, y を

x=(x,x,・・・・,x

y=(y,y,・・・・,y

とした場合に次式で定義される。
Figure 2008219525
相関係数rの値は-1≦r≦1の範囲の値をとり、1に近い程2つの要素間には強い相関があるといえる。
また相関係数算出工程703において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する。ここで相関係数が算出できない場合として、観測ウィンドウ内である種類のパケットが全く観測されない場合やパケット数に変動の無い状態が続いた場合などがある。このような状態の出現確率もネットワーク状態を評価する上で重要な情報となるため、この場合の相関係数を例外値(-1〜+1の範囲外の値)として定義する。この例外値は、ヒストグラム生成工程704において、相関係数が算出不可というクラスをヒストグラムとしてモデル化するために必要となる。
ヒストグラム生成工程704は、相関係数算出工程703でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する。ここで、相関係数の値が -1〜+1の範囲に分布している特性を利用して、前記範囲に階級幅(例えば0.1)を設定し、一連の相関係数が属するクラスの出現確率を表すヒストグラムを、前記全ての組合せ毎に生成する。また相関係数が前記例外値の場合、-1〜+1の範囲外となるが、相関係数が算出不可というクラスを設け,その出現確率を含めてヒストグラムを生成することにする。これらのヒストグラムを相関係数ヒストグラムと呼び、この相関係数ヒストグラムを通常状態の定義に用いる。また相関係数は全ての特徴量の組合せに対して生成されるため, N 個の特徴量に対して全部で{N*(N-1)}/2個のヒストグラムが生成されることになる。ネットワークの通常状態はこの相関係数ヒストグラム全てを用いて定義される。
異常度算出工程705は、ヒストグラム生成工程704で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、相関係数算出工程703で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価する。
具体的には、異常度算出工程705においては、まず評価を行いたい時間における各種組合せの相関係数の算出を行う。算出された相関係数の値はそのまま評価に使用するのではなく、図5で示すように事前に生成されている相関係数ヒストグラムを用いて算出された相関係数の発生確率を求めて、この発生確率を評価指標として使用する。これは算出された相関係数で示される相関関係そのものを評価するのではなく、対象ネットワークにおいて相関係数で示されるような事象がどれほどの確率で発生するかを評価の指標とするためである。求めた発生確率がその組合せの異常の程度を示しており、相関係数の発生確率が高い場合にはその組合せは頻繁に発生する事象であり通常の相関関係にあると言え、相関係数の発生確率が低い場合にはその組合せは異常な相関関係にあると言える。本発明ではここで得られる発生確率を異常程度の指標としてネットワークの状態評価を行う。
また異常度ASの算出は、各組合せの相関係数の発生確率を基準とする値と比較し、その値に満たない組合せを異常と判別することによって行う。すなわち、あるウィンドウについて異常と判断された組合せの総数を、そのウィンドウの異常の程度を表す指標となる異常得点(異常度AS)として用いる。異常得点の高い時間帯では、多くの相関係数の組合せが通常あまり取りえない相関係数を算出していることから、多くの特徴量間において通常とりえない関係性をとっており何らかの異常な事象が発生していると考えられる。本発明では、全ての特徴量間の相関関係を1つの主成分軸を用いて表す主成分分析とは異なり、各組合せの異常の程度を個別に評価することになる。そのため異常得点が高いなどの理由から異常原因の特定を行う場合には、異常が発生している時間の相関係数の1つ1つを調査することにより異常な相関係数をとる組合せを特定し、その組合せの特徴量に注目することにより異常の原因を推察することができると考えられる(図6)。
ホスト抽出工程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は、
Figure 2008219525
で表すことができる。またホスト抽出工程706において抽出された異常原因懐疑ホストのIPアドレスIPxによって送受信されるパケットを除去したパケットダンプデータをD(IPx,t)とすると、異常原因懐疑ホストの一つであるIPxの通信が存在しなかった場合のパケットダンプデータが作成されることになる。このダンプデータから再度異常度ASxを計算する。
Figure 2008219525
この(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が最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。
Figure 2008219525
ここで、Ts、Teはそれぞれ異常の発生時刻と終了時刻である。
次に、前記で説明したネットワーク異常検知方法を用いて異常を検出するネットワーク異常検知システムについて説明する。
図1は、本発明の実施の形態に係るネットワーク異常検知システムの構成を示すブロック図である。図1に示すように、観測点には、ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を測定して特徴量として生成する特徴量生成部(トラヒック測定部)101と、特徴量生成部101で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ部102とを有する。またパケットダンプ部102に格納された特徴量の情報を入力としてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部103と、相関係数算出部103で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部104と、ヒストグラム生成部104で生成されたヒストグラムを用いて異常度ASを算出する異常度算出部105と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部106と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部107とを有する。
特徴量生成部(トラヒック測定部)101は、ネットワークトラヒックを観測し、タイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する。すなわち、パケットをプロトコル種別やフラグ等によりk通りに分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する。ここでkは2以上の自然数である。
相関係数算出部103は、パケットダンプ部102に格納された特徴量の情報を入力として、生成された特徴量の列に対してウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。すなわちトラヒック測定部(特徴量生成部)101で生成したk種類の特徴量の中から任意の2要素について、幅Wタイムスロットのウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット毎にスライドさせその都度相関係数を算出する手段を有する。前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する。ここでWは2以上の自然数であり、Sは自然数である。
相関係数rは、2要素x, y を
x=(x,x,・・・・,x

y=(y,y,・・・・,y
とした場合に次式で定義される。
Figure 2008219525
相関係数rの値は-1≦r≦1の範囲の値をとり、1に近い程2つの要素間には強い相関があるといえる。
また相関係数算出部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)を真の異常原因ホストとして特定する手段と、を有する。
図2は、特徴量生成部101、相関係数算出部103、およびヒストグラム生成部104において、全パケット数(ALL)、IP パケット数(IP)、TCP パケット数(TCP) を特徴量として、各特徴量間の相関係数ヒストグラムが生成される流れを示している。
(1)特徴量生成部においてネットワークトラヒックを観測し、あらかじめ定められたトラヒック種別毎にタイムスロット内のパケット数をカウントし特徴量として生成する。得られた各特徴量は時系列データとして相関係数算出部へと渡す。
(2)相関係数算出部では特徴量生成部から渡された特徴量の時系列データを受け取り、スライディングウィンドウ方式を用いて時間毎に相関係数の値を算出し相関係数の時系列データを生成する。相関係数は特徴量生成部で生成された特徴量の全ての組合せにおいてそれぞれ算出し、ヒストグラム生成部へと渡す。
(3)ヒストグラム生成部では,全ての組合せについて算出された相関係数の時系列データを決められたクラス幅に従ってヒストグラム化する。得られたヒストグラムは頻度の合計で割ることにより確率分布へと変換する。得られた確率分布を相関係数ヒストグラムとする。
(4)評価したい時間の相関係数を算出し、相関係数ヒストグラムを用いて状態評価を行う。
相関係数は全ての特徴量の組合せに対して生成されるため, N 個の特徴量に対して全部で{N*(N-1)}/2個のヒストグラムが生成されることになる。
相関係数r は2 変量をx, y とした場合に式(1) で定義され,-1から1の間の値をとる。相関係数はネットワークを流れる各種トラヒック流量から算出されるため、対象ネットワークの利用状況や組合せにより様々に変化する。図3にトラヒック流量の変化と対応する相関係数の値の例を示す。図3(a) のように正の相関関係は一方が増加した場合にもう一方が増加、一方が減少した場合にもう一方が減少する様な関係性である。TCP のコネクションの開始と終了に用いられるSYN パケットの数とFIN パケットの数はそれぞれ1対1に対応し強い正の相関を示す。また無相関は図3(b)に示される通りで、一方の変化に対してもう一方の変化が影響しない場合である。TCP とUDP はそれぞれIP 上の独立なプロトコルであるためそのパケットの総数はそれぞれ影響を及ぼさず図3(b) 左図の様な波形をとる。さらに負の相関の例を図3(c) に示す。負の相関は正の相関とは逆に一方が増加した合にもう一方が減少、一方が減少した場合にもう一方が増加する様な関係性である。図3(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においては、ネットワークの状態が時間により変化することを考慮に入れスライディングウィンドウ方式を用いて相関係数を算出する(図4)。まず生成された特徴量の列に対して幅Wタイムスロットのウィンドウを設定し、ウィンドウ内の各種特徴量間の相関係数を算出する。このウィンドウをS タイムスロットずつスライドさせその都度相関係数を算出し、算出された一連の相関係数をヒストグラム生成部に入力、指定されたクラス幅に従い各組合せ毎に相関係数のヒストグラムを作成する。最終的に出力されるこの相関係数の発生確率のヒストグラムを相関係数ヒストグラムと呼び、本評価手法ではこの相関係数ヒストグラムを用いて通常状態を定義し、相関係数ヒストグラムと算出された相関係数を対応させることで状態の評価を行う。相関係数は全ての特徴量の組合せに対して生成されるため、N 個の特徴量に対して全部で{N*(N-1)}/2個のヒストグラムが生成されることになる。ネットワークの通常状態はこの個の相関係数ヒストグラム全てを用いて定義される。本発明では,全ての特徴量間の相関関係を一つの主成分軸を用いて表す主成分分析と異なり、各組合せの異常の程度を個別に評価するため個々の評価結果は異常発生時の原因の特定に有効な情報になると考える。
次に、異常度算出部105における異常の評価方法について説明する。異常度算出部105においては、まず評価を行いたい時間における各種組合せの相関係数の算出を行う。算出された相関係数の値はそのまま評価に使用するのではなく、図5で示すように事前に生成されている相関係数ヒストグラムを用いて算出された相関係数の発生確率を求めて、この発生確率を評価指標として使用する。これは算出された相関係数で示される相関関係そのものを評価するのではなく、対象ネットワークにおいて相関係数で示されるような事象がどれほどの確率で発生するかを評価の指標とするためである。求めた発生確率がその組合せの異常の程度を示しており、相関係数の発生確率が高い場合にはその組合せは頻繁に発生する事象であり通常の相関関係にあると言え、相関係数の発生確率が低い場合にはその組合せは異常な相関関係にあると言える。本発明ではここで得られる発生確率を異常程度の指標としてネットワークの状態評価を行う。
また異常度ASの算出は、各組合せの相関係数の発生確率を基準とする値と比較し、その値に満たない組合せを異常と判別することによって行う。すなわち、あるウィンドウについて異常と判断された組合せの総数を、そのウィンドウの異常の程度を表す指標となる異常得点(異常度AS)として用いる。異常得点の高い時間帯では、多くの相関係数の組合せが通常あまり取りえない相関係数を算出していることから、多くの特徴量間において通常とりえない関係性をとっており何らかの異常な事象が発生していると考えられる。本発明では、全ての特徴量間の相関関係を1つの主成分軸を用いて表す主成分分析とは異なり、各組合せの異常の程度を個別に評価することになる。そのため異常得点が高いなどの理由から異常原因の特定を行う場合には、異常が発生している時間の相関係数の1つ1つを調査することにより異常な相関係数をとる組合せを特定し、その組合せの特徴量に注目することにより異常の原因を推察することができると考えられる(図6)。
次に、ホスト抽出部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は、
Figure 2008219525
で表すことができる。またホスト抽出部106において抽出された異常原因懐疑ホストのIPアドレスIPxによって送受信されるパケットを除去したパケットダンプデータをD(IPx,t)とすると、異常原因懐疑ホストの一つであるIPxの通信が存在しなかった場合のパケットダンプデータが作成されることになる。このダンプデータから再度異常度ASxを計算する。
Figure 2008219525
この(3)式で再計算された異常度ASxが、(2)式の異常度ASより小さくなっていた場合、つまり異常の程度が低くなっていた場合、異常原因懐疑ホストIPxが異常原因のパケットを送受信していたと判断できる。
さらに、ホスト特定部107において、ホスト抽出部106で抽出された異常原因懐疑ホストHx(x = 1,2,3,・・・,N)毎に、前記パケットダンプデータから異常原因懐疑ホストHxのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASxを再算出する。再算出した異常度ASxを用いて、異常度の差分ΔASxが最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。すなわち、(3)式で計算される異常度の差分ΔASxを全ての異常原因懐疑ホストHxに関して算出し、異常度の差分ΔASxが最小となる異常原因懐疑ホストを真の異常原因ホストとして特定する。
Figure 2008219525
ここで、Ts、Teはそれぞれ異常の発生時刻と終了時刻である。
(実験1)
次に、本発明に係る異常の検知および評価方法に関して、実運用ネットワークのトラヒックを用いた実験を通して検証した結果について説明する。評価対象としたネットワークは、図8 に示す様な構成の約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)
Figure 2008219525
TCP とUDP については、それぞれ主要なアプリケーションについてのみ個別のポート毎(表1)にパケットをカウントし、他のポートについては異常検知時の原因特定を考慮し、TCP では9 分割,UDP では6 分割して範囲毎にカウントした。ポート番号の領域の分割は、一般に良く使われるとされ予約されている1024 番までのwell known port では区間を小さく、その他の番号では区間を大きくとってある。本手法ではパケットが観測されない様な状態も前述した通り例外クラスとして扱うため特徴量としてそのまま用いる。またこれは対象とするネットワークによりトラヒックの内容が変化することを考えると汎用性の点で長所となると考える。さらに個別に観測するポート番号に関しては、事前調査としてポート毎のパケット到着数をあらかじめ調べておくことが望ましい。対象とするネットワークである特定のサービスを提供する場合には、そのサービスの脆弱性を狙う不正アクセスの対象になる可能性は高いため、個別のポート番号を1つの特徴量として加えることが望まれる。ポート番号はそれぞれsource とdestination を区別する。図8に示した通り対象ネットワークから流出するパケットをIN,対象ネットワークへ流入するパケットをOUT として区別して扱う。以上より総計132 種の特徴量を用いることになり、結果として全{132*(132-1)}/2 = 8646種類の相関係数ヒストグラムによって通常状態を定義することになる。
なお、相関係数の出現確率に基づく異常検知という手法の性質を考え、大半の時間帯で相関係数が算出できないような特徴量の組合せは異常状態の判断材料から除外した。具体的には、各特徴量において関連する全てのヒストグラムを調査し、1.1 の階級値をとる確率の平均値を算出する。そして,平均値が80%以上をとる場合には、該当特徴量とそれが関連する全てのヒストグラムを異常判定から除外した。
1ヶ月間のトラヒックデータから作成された相関係数ヒストグラムの例を図9に示す。図9の各グラフはネットワークに流入したトラヒック中のTCP SYN、FIN、PSH やUDP、宛先ポート番号が22 番のTCP パケットの組合せにおける相関係数ヒストグラムを示している。以降ではこれらの特徴量を
Figure 2008219525
という表記によって表す。方向の部分では、流入するパケット(IN) であるか流出するパケット(OUT) であるかを示し、種別の部分ではTCPのフラグの種類またはポート番号を示す。ポート番号については送信元(src) であるか宛先(dst) であるかを合わせて記述し、SSH やHTTP など対応するアプリケーションやプロトコルがある場合には、ポート番号ではなくその文字列で表す。なお、種別がALL の場合は、そのプロトコルの全パケット数であることを意味する。
図9より
Figure 2008219525
間には正の強い相関があることがわかる(図9左上)。コネクションの開始を示すSYN と終了を示すFIN の役割より、このヒストグラムが通常状態を表しているといえる。また、
Figure 2008219525
の相関係数は、多くの場合に正の値を取りその出現確率はほぼ均等であるといえる。このヒストグラムは基本的に通信量がコネクション数に依存するというTCP の特性を表したものとなっている(図9右上)。
また
Figure 2008219525
には正負どちらにも大きな相関係数の偏りは見られない(図9左下)。TCP とUDP にはプロトコルで規定された関係が存在しないため、ヒストグラムからわかるように基本的に無相関な状態にある。
また
Figure 2008219525
の相関係数は大半の場合に前記で述べた階級値1.1 を多くとっている(図9右下)。これは外部ネットワークから内部のホストへのSSH通信の要求が非常に少ないことを示しており、対象ネットワークの利用状況から見ても妥当な結果であるといえる。ただし前記で述べた理由によりこのようなヒストグラムは異常状態の判断材料から除外される可能性が高い。
以上により、各特徴量間の相関係数ヒストグラムは通常時のネットワークの利用状況を反映した形状をとっているといえる。多くの組合せの相関係数が相関係数ヒストグラムに基づいて出現確率が低いと判断された場合に、ネットワークが通常と異なる異常な状態をとった可能性を示すと考えられる。
次に、異常検知の事例について説明する。今回の行う異常状態の検出実験においては、相関係数の発生確率が低いと評価する異常判定閾値を1%とし、相関係数の発生確率がこの値を下回った場合にその組合せを異常であると判断する。前記で述べた通りウィンドウ中の異常な組合せの総数をそのウィンドウの異常得点とする。
図10 はある1 日の異常得点の変化を例として示したものであり、1日を通して異常得点が常に変化をしており、ネットワークの状態が常に変化していることがわかる。また、いくつかの時間において高い異常得点をとっていることも見られる。今回は解析対象期間内においてこの様な高い異常得点を示したウィンドウで異常な状態をとっているとして、該当ウィンドウ内のトラヒックデータを詳細に調査した。
[例1:大規模なスキャン]
あるウィンドウにおいては、全てのホストの特定ポートに対するスキャンおよび一部のホストの様々なポートに対するスキャンが発見された。このウィンドウでは様々な組合せの相関係数が異常な値を取っていたが、異常な相関係数を取った組合せの多くには次の3つの特徴量
Figure 2008219525
のいずれかが含まれていた。
例えば、図11の相関係数ヒストグラムからわかるように、
Figure 2008219525
は通常時に非常に強い相関を示すことは稀であるが、このウィンドウでの相関係数は約0.98という値をとった。そのためこの2つの特徴量に注目してトラヒックを調査したところ、上述したようなSYN パケットによる大規模なスキャンが検出された。スキャンの内容に関しても相関係数が異常と示された特徴量とスキャンが行われたポート番号とが対応しており、相関係数の組合せに着目することにより異常原因の特定が可能であることがわかる。
[例2:SSH(TCP22)へのlogin試行]
別のウィンドウにおいては、全てのホストのSSH(22 番port) へのlogin 試行が観測された。このウィンドウでは通常ごく強い正の相関を示す
Figure 2008219525
が弱い正の相関を示している。さらに通常算出されない
Figure 2008219525
の相関係数が算出され強い正の相関を示し、その発生確率は非常に小さいものとなっている(図12)。
[例3:スパムメールの到着]
別のウィンドウでは外部から内部へのスパムメール送信が確認された。このときには
Figure 2008219525
の相関係数が異常な値をとっていた(図13)。この組合せは通常時にはほぼ無相関であるが、このウィンドウにおいては相関係数が約0.8 と通常時には起こり得ない強い相関が見られた。そこで、SMTP ポートに注目してネットワークトラヒックを調査した結果、複数のスパムメールがほぼ同時刻にメールサーバで送受信されていることがわかった。さらに詳細な調査により、これはスパムメールの宛先となったメールアドレスから外部のメールアドレスへの転送設定が行われていたためであることが確認された。
以下に異常得点が高くなった場合において発見された事象と異常に関する相関係数の発生確率の特徴との関係を対応表(表2)に示す。
Figure 2008219525
以上の実験1の検証結果から、個々の異常を検知し異常原因に該当するパケットを特定することが可能であることが証明され、本発明に係る異常の検知および評価方法に関しての有効性が示せた。
(実験2)
次に、本発明に係る異常原因ホストの特定方法に関して、実運用ネットワークのトラヒックを用いた実験を通して検証した結果について説明する。評価対象としたネットワークは、約60台のホストが接続する構成のLAN であり、インターネットとの通信の全パケットを対象とする。観測期間は2005 年4月の1ヶ月分とし、この期間のトラヒックを対象とする。
本発明に係る異常原因ホストの特定方法は、複数の異常原因懐疑ホストから真の異常原因ホストを絞り込むものであるため、複数のホストが異常原因懐疑ホストとして抽出された異常を対象とした。該当するものは、2005 年4月の1ヶ月分で62件であった。これらの異常に対して、本方法を適用すると約8割の53個の異常に対して異常原因ホストのIPアドレスを特定することが可能であった(表3)。しかし9個の異常では異常原因ホストのIPアドレスを特定することができなかった。特定不能の原因は、異常原因ホストのIPアドレスを特定する指標である異常度の差分ΔASxが0となっていたためである。この原因は、異常検出段階の誤検知によるものであると考えられる。
Figure 2008219525
以上の実験2の検証結果から、異常なパケットを送受信しているホストを特定することが可能であることが証明され、本発明に係る異常原因ホストの特定方法の有効性が示せた。
本発明の実施の形態に係るネットワーク異常検知システムの構成を示すブロック図である。 各特徴量間の相関係数ヒストグラムが生成される流れを示した図である。 トラヒック流量の変化と対応する相関係数の値の例を示した図である。 スライディングウィンドウを用いて相関係数を算出しヒストグラムを生成する方法を示した図である。 相関係数ヒストグラムを用いて相関係数発生確率を算出する方法を示した図である。 相関係数発生確率に基づいて異常得点を算出する方法と異常原因を特定する方法を示した図である。 本発明の実施の形態に係るネットワーク異常検知方法のプロセスを示すフローチャートである。 実験ネットワークの構成を示した図である。 実験によって得られた相関係数ヒストグラムを示した図であり、各特徴量の組合せによる確率分布を示している。 実験期間中の異常得点の例を示した図である。 実験によって得られた相関係数ヒストグラムを示した図である。 実験によって得られた相関係数ヒストグラムを示した図である。 実験によって得られた相関係数ヒストグラムを示した図である。
符号の説明
101 特徴量生成部(トラヒック測定部)
102 パケットダンプ部
103 相関係数算出部
104 ヒストグラム生成部
105 異常度算出部
106 ホスト抽出部
107 ホスト特定部
701 特徴量生成工程
702 パケットダンプ工程
703 相関係数算出工程
704 ヒストグラム生成工程
705 異常度算出工程
706 ホスト抽出工程
707 ホスト特定工程

Claims (18)

  1. ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成工程と、前記特徴量生成工程で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出工程と、前記相関係数算出工程で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成工程と、前記ヒストグラム生成工程で生成されたヒストグラムを用いて異常度ASを算出する異常度算出工程とを有するとともに、前記特徴量生成工程で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ工程と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出工程と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定工程と、を有することを特徴とするネットワーク異常検知方法。
  2. 前記特徴量生成工程は、パケットをプロトコル種別やフラグ等によりk通り(k:2以上の自然数)に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成することを特徴とする請求項1に記載のネットワーク異常検知方法。
  3. 前記相関係数算出工程は、前記特徴量生成工程で生成したk種類の特徴量の中から任意の2要素について、幅Wタイムスロット(W:2以上の自然数)のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット(S:自然数)毎にスライドさせその都度相関係数を算出する手順を有すること、および前記手順を用いてk種類の特徴量から全ての組合せの相関係数を算出することを特徴とする請求項1に記載のネットワーク異常検知方法。
  4. 前記相関係数算出工程において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義することを特徴とする請求項3に記載のネットワーク異常検知方法。
  5. 前記ヒストグラム生成工程は、前記相関係数算出工程でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成することを特徴とする請求項1に記載のネットワーク異常検知方法。
  6. 前記異常度算出工程は、前記ヒストグラム生成工程で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出工程で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする請求項1に記載のネットワーク異常検知方法。
  7. 前記ホスト抽出工程は、前記異常度算出工程で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN(N:1以上の自然数)のIPアドレスとして抽出することを特徴とする請求項1に記載のネットワーク異常検知方法。
  8. 前記ホスト特定工程は、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする請求項1に記載のネットワーク異常検知方法。
  9. 前記ホスト特定工程は、前記ホスト抽出工程で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する工程と、前記工程で再算出した異常度ASjを用いて、異常度の差分(ASj−AS)が最小となる異常原因懐疑ホストHn(1≦n≦N)を真の異常原因ホストとして特定する工程と、を有することを特徴とする請求項1に記載のネットワーク異常検知方法。
  10. ネットワークトラヒックからタイムスロット毎にカウントしたトラヒック種別毎のパケット数を特徴量として生成する特徴量生成部と、前記特徴量生成部で生成された特徴量を用いてトラヒック種別を要素とする各要素間の相関係数を算出する相関係数算出部と、前記相関係数算出部で算出された相関係数を用いてヒストグラムを生成するヒストグラム生成部と、前記ヒストグラム生成部で生成されたヒストグラムを用いて異常度ASを算出する異常度算出部とを有するとともに、前記特徴量生成部で扱う全てのパケットをパケットダンプデータとして保存するパケットダンプ部と、異常原因の候補となるパケットを送受信しているホストを異常原因懐疑ホストとして抽出するホスト抽出部と、前記パケットダンプデータを用いて前記異常原因懐疑ホストに係る送受信パケットが存在しない場合の異常度AS’を再算出し、異常度AS’と異常度ASとを比較評価することで真の異常原因ホストを特定するホスト特定部と、を有することを特徴とするネットワーク異常検知システム。
  11. 前記特徴量生成部は、パケットをプロトコル種別やフラグ等によりk通り(k:2以上の自然数)に分類したものをトラヒック種別とし、k通りの分類ごとにタイムスロット毎のパケット数を測定したものを特徴量として生成する手段を有することを特徴とする請求項10に記載のネットワーク異常検知システム。
  12. 前記相関係数算出部は、前記特徴量生成部で生成したk種類の特徴量の中から任意の2要素について、幅Wタイムスロット(W:2以上の自然数)のウィンドウ内における相関係数を算出すると共に、該ウィンドウをSタイムスロット(S:自然数)毎にスライドさせその都度相関係数を算出する手段を有すること、および前記手段を用いてk種類の特徴量から全ての組合せの相関係数を算出する手段を有することを特徴とする請求項10に記載のネットワーク異常検知システム。
  13. 前記相関係数算出部において相関係数が算出できない組合せが存在する場合、該組合せに関する相関係数を例外値として定義する手段を有することを特徴とする請求項12に記載のネットワーク異常検知システム。
  14. 前記ヒストグラム生成部は、前記相関係数算出部でk種類の特徴量から全ての組合せに対してそれぞれ算出された相関係数を用いて、前記全ての組合せに対してクラスの出現確率を表すヒストグラムをそれぞれ生成する手段を有することを特徴とする請求項10に記載のネットワーク異常検知システム。
  15. 前記異常度算出部は、前記ヒストグラム生成部で生成されたヒストグラムを通常状態のモデルとして予め定義しておくと共に、前記相関係数算出部で算出された全ての組合せの相関係数について、対応する前記ヒストグラムを用いて出現確率を導出し、該出現確率が予め設定された基準値よりも低い組合せの総数を異常度ASとして算出して異常の程度を評価することを特徴とする請求項10に記載のネットワーク異常検知システム。
  16. 前記ホスト抽出部は、前記異常度算出部で導出された出現確率が予め設定された基準値よりも低い組合せの相関係数に対応する特徴量を特定し、該特徴量に相当するパケットを送受信しているホストのIPアドレスを、前記パケットダンプデータから異常原因懐疑ホストH1〜HN(N:1以上の自然数)のIPアドレスとして抽出することを特徴とする請求項1に記載のネットワーク異常検知システム。
  17. 前記ホスト特定部は、前記ホスト抽出部で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出するとともに、異常度ASjが異常度ASよりも低くなった場合に異常原因懐疑ホストHjを異常原因ホストとして特定することを特徴とする請求項1に記載のネットワーク異常検知システム。
  18. 前記ホスト特定部は、前記ホスト抽出部で抽出された異常原因懐疑ホストHj(1≦j≦N)毎に、前記パケットダンプデータから異常原因懐疑ホストHjのIPアドレスのパケットデータを除外したものを再生成し、これを用いて異常度ASjを再算出する手段と、前記手段で再算出した異常度ASjを用いて、異常度の差分(ASj−AS)が最小となる異常原因懐疑ホストHn(1≦n≦N)を真の異常原因ホストとして特定する手段と、を有することを特徴とする請求項1に記載のネットワーク異常検知システム。
JP2007054898A 2007-03-05 2007-03-05 ネットワーク異常検知方法およびネットワーク異常検知システム Pending JP2008219525A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007054898A JP2008219525A (ja) 2007-03-05 2007-03-05 ネットワーク異常検知方法およびネットワーク異常検知システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007054898A JP2008219525A (ja) 2007-03-05 2007-03-05 ネットワーク異常検知方法およびネットワーク異常検知システム

Publications (1)

Publication Number Publication Date
JP2008219525A true JP2008219525A (ja) 2008-09-18

Family

ID=39839022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007054898A Pending JP2008219525A (ja) 2007-03-05 2007-03-05 ネットワーク異常検知方法およびネットワーク異常検知システム

Country Status (1)

Country Link
JP (1) JP2008219525A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092235A (ja) * 2008-10-07 2010-04-22 Kddi Corp 情報処理装置、プログラム、および記録媒体
JP2010092236A (ja) * 2008-10-07 2010-04-22 Kddi Corp 情報処理装置、プログラム、および記録媒体
JP2011091678A (ja) * 2009-10-23 2011-05-06 Ntt Docomo Inc 故障検出装置
KR101433194B1 (ko) * 2014-02-25 2014-08-22 주식회사 한화건설 이상 증후 감지를 위한 보안 시각화 방법
JP2016144153A (ja) * 2015-02-04 2016-08-08 日本電信電話株式会社 サービス監視装置、および、サービス監視方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092235A (ja) * 2008-10-07 2010-04-22 Kddi Corp 情報処理装置、プログラム、および記録媒体
JP2010092236A (ja) * 2008-10-07 2010-04-22 Kddi Corp 情報処理装置、プログラム、および記録媒体
JP2011091678A (ja) * 2009-10-23 2011-05-06 Ntt Docomo Inc 故障検出装置
KR101433194B1 (ko) * 2014-02-25 2014-08-22 주식회사 한화건설 이상 증후 감지를 위한 보안 시각화 방법
JP2016144153A (ja) * 2015-02-04 2016-08-08 日本電信電話株式会社 サービス監視装置、および、サービス監視方法

Similar Documents

Publication Publication Date Title
JP4677569B2 (ja) ネットワーク異常検知方法およびネットワーク異常検知システム
Janarthanan et al. Feature selection in UNSW-NB15 and KDDCUP'99 datasets
Robinson et al. Ranking of machine learning algorithms based on the performance in classifying DDoS attacks
EP2241072B1 (en) Method of detecting anomalies in a communication system using numerical packet features
Lee et al. Effective value of decision tree with KDD 99 intrusion detection datasets for intrusion detection system
US11700269B2 (en) Analyzing user behavior patterns to detect compromised nodes in an enterprise network
Feng et al. Feature selection for machine learning-based early detection of distributed cyber attacks
JP2008306706A (ja) シグナリングフローの異常を検知する方法及び装置
Abdullah et al. Performance evaluation of a genetic algorithm based approach to network intrusion detection system
Sun et al. Detection and classification of malicious patterns in network traffic using Benford's law
Gadelrab et al. BotCap: Machine learning approach for botnet detection based on statistical features
Ehrlich et al. Detection of Spam Hosts and Spam Bots Using Network Flow Traffic Modeling.
Fallahi et al. Automated flow-based rule generation for network intrusion detection systems
Furutani et al. Detection of DDoS backscatter based on traffic features of darknet TCP packets
Ippoliti et al. Online adaptive anomaly detection for augmented network flows
Bou-Harb et al. A statistical approach for fingerprinting probing activities
JP2008219525A (ja) ネットワーク異常検知方法およびネットワーク異常検知システム
Blaise et al. Botfp: Fingerprints clustering for bot detection
Sawaya et al. Detection of attackers in services using anomalous host behavior based on traffic flow statistics
Lin et al. Creditability-based weighted voting for reducing false positives and negatives in intrusion detection
McLaren et al. Mining malware command and control traces
US8284764B1 (en) VoIP traffic behavior profiling method
JP2006115129A (ja) ネットワーク異常検出システム
Dixit et al. Naive Bayes and SVM based NIDS
Patil et al. Network intrusion detection and prevention techniques for DoS attacks