(57)【要約】【課題】過去の統計的なデータを使用せずに、異常状態を含む複数の種別のトラヒックを含むトラヒックデータからトラヒック種別間の因果関係を考慮して正常なトラヒックを検出することを可能とする。【解決手段】トラヒック分離部２１は、ネットワーク回線１０からパケットを受信し、受信したパケットをトラヒック種別ごとに分離する。パケット数カウント部２２−１〜２２−ｎは、トラヒック種別ごとにカウントしてトラヒック種別ごとの総数を算出し、算出したトラヒック種別ごとの総数を記憶部２３に記録する。多次元ベクトル生成部２４は、記憶部２３から総数を読み出し、読み出した総数を要素とするベクトルを生成する。正常クラスタ抽出部２５は、ベクトルを空間の座標値に変換し、変換した座標値に基づいて、空間内でのベクトルの互いの距離を算出し、算出した互いの距離に基づいて、ベクトルをグループに分類し、正常なトラヒックとして検出する。【選択図】    図１
2006246067.tif 000002
【特許請求の範囲】
【請求項１】
トラヒック種別の異なるパケットが送信されるネットワーク回線に接続され、前記ネットワーク回線から前記パケットを受信し、受信した前記パケットを前記トラヒック種別ごとに分離するトラヒック分離手段と、
前記トラヒック分離手段が分離した前記パケットを受信順に一定の時間間隔で前記トラヒック種別ごとにカウントして前記トラヒック種別ごとの総数を算出し、算出した前記トラヒック種別ごとの前記総数に対して前記時間間隔ごとに付与する識別番号を対応付け、前記識別番号と前記トラヒック種別とに関連付けて前記総数を記憶手段に記録するパケット数カウント手段と、
前記記憶手段から同じ識別番号が付与された前記総数を読み出し、読み出した前記総数を予め定められた前記トラヒック種別の順に並べて構成されるベクトルを生成するベクトル生成手段と、
前記ベクトル生成手段によって生成された前記ベクトルに基づいて空間の座標値に変換し、変換した座標値に基づいて、前記空間内での前記ベクトルの互いの距離を算出し、算出した前記互いの距離に基づいて、前記ベクトルを２つのグループに分類し、２つのグループのうち多くのベクトルを含むグループを検出し、前記グループに含まれるベクトルの数が所定の値より少ないかを判定し、前記グループのベクトルの数が所定の値より少ないと判定された場合には、前記グループに残された前記ベクトルに対応する前記パケットを正常なトラヒックとして検出する検出手段と、
を備えたことを特徴とする正常トラヒック検出装置。
【請求項２】
前記検出部は、
前記グループに含まれる前記ベクトルの数が所定の値以上であると判定した場合には、前記グループに含まれない前記ベクトルに対応する情報を前記記憶手段から削除し、前記ベクトル生成手段に、削除後の前記記憶手段から前記ベクトルを生成させることを特徴とする請求項１に記載の正常トラヒック検出装置。
【請求項３】
トラヒック種別の異なるパケットが送信されるネットワーク回線に接続される正常トラヒック検出装置における正常トラヒック検出方法であって、
前記ネットワーク回線から前記パケットを受信し、受信した前記パケットを前記トラヒック種別ごとに分離するステップと、
分離した前記パケットを受信順に一定の時間間隔で前記トラヒック種別ごとにカウントして前記トラヒック種別ごとの総数を算出するステップと、
算出した前記トラヒック種別ごとの前記総数に対して前記時間間隔ごとに付与する識別番号を対応付け、前記識別番号と前記トラヒック種別とに関連付けて前記総数を記憶手段に記録するステップと、
前記記憶手段から同じ識別番号が付与された前記総数を読み出し、読み出した前記総数を予め定められた前記トラヒック種別の順に並べて構成されるベクトルを生成するステップと、
前記ベクトル生成手段によって生成された前記ベクトルに基づいて空間の座標値に変換するステップと、
変換した座標値に基づいて、前記空間内での前記ベクトルの互いの距離を算出するステップと、
算出した前記互いの距離に基づいて、前記ベクトルを２つのグループに分類するステップと、
２つのグループのうち多くのベクトルを含むグループを検出するステップと、
前記グループに含まれるベクトルの数が所定の値より少ないかを判定するステップと、
前記グループのベクトルの数が所定の値より少ないと判定された場合には、前記グループに残された前記ベクトルに対応する前記パケットを正常なトラヒックとして検出するステップと、
を有することを特徴とする正常トラヒック検出方法。
【請求項４】
トラヒック種別の異なるパケットが送信されるネットワーク回線に接続される正常トラヒック検出装置のコンピュータに、
前記ネットワーク回線から前記パケットを受信し、受信した前記パケットを前記トラヒック種別ごとに分離するステップと、
分離した前記パケットを受信順に一定の時間間隔で前記トラヒック種別ごとにカウントして前記トラヒック種別ごとの総数を算出するステップと、
算出した前記トラヒック種別ごとの前記総数に対して前記時間間隔ごとに付与する識別番号を対応付け、前記識別番号と前記トラヒック種別とに関連付けて前記総数を記憶手段に記録するステップと、
前記記憶手段から同じ識別番号が付与された前記総数を読み出し、読み出した前記総数を予め定められた前記トラヒック種別の順に並べて構成されるベクトルを生成するステップと、
前記ベクトル生成手段によって生成された前記ベクトルに基づいて空間の座標値に変換するステップと、
変換した座標値に基づいて、前記空間内での前記ベクトルの互いの距離を算出するステップと、
算出した前記互いの距離に基づいて、前記ベクトルを２つのグループに分類するステップと、
２つのグループのうち多くのベクトルを含むグループを検出するステップと、
前記グループに含まれるベクトルの数が所定の値より少ないかを判定するステップと、
前記グループのベクトルの数が所定の値より少ないと判定された場合には、前記グループに残された前記ベクトルに対応する前記パケットを正常なトラヒックとして検出するステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主にトラヒックにおける異常を検出するために利用される正常トラヒック検出装置及び正常トラヒック検出方法並びにそのコンピュータプログラム
に関する。
【背景技術】
【０００２】
ネットワークの運用管理において、不正アクセスや機器障害などによる異常検出は、ネットワークの安定性を確保する点からも重要であり、異常検出を自動化を実現するための技術がこれまでにも提案されてきた。
従来の技術としては、例えば、過去に観測されたトラヒック特性を数値として定義し、そのトラヒック特性を統計的に分析してトラヒックの正常状態を定量化して算出しておく。そして、算出した正常状態を基準とし、現在のトラヒックにおいて基準から逸脱した程度を評価して異常の検出を行う方式などがある（例えば、非特許文献１、非特許文献２参照）。
【非特許文献１】大下  裕一，阿多信吾，村田  正幸“観測トラヒックの統計的性質を利用したＤＤＯＳ  Ａｔｔａｃｋの検出方法”、電子情報通信学会技術研究報告（ＩＮ２００３−２０１），ｐｐ．２３−２８，Ｆｅｂｒｕａｒｙ，２００４．
【非特許文献２】内山  勇一、和泉  勇治、加藤  寧，根元  義章“自己回帰予測を用いたトラヒック解析によるＤｏＳ検知方法の提案”、電子情報通信学会技術研究報告，ＮＳ２００３−９８，ＩＮ２００３−６４，ＣＳ２００３−７３，ｐｐ．５５−６０，２００３．
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の従来の技術では、過去に観測されたトラヒックに基づいて、異常検出を行っているため、月日や時間帯によるトラヒック特性の大きな変動や、新サービスの開始や過去のトラヒックに異常な状態が含まれていると、適切な正常状態の定量化が困難であるという問題がある。また、上記の従来の技術では、観測対象のトラヒック種別を限定しており、トラヒック種別間の因果関係を考慮した総合的な正常状態の算出が行えていないという問題がある。
【０００４】
本発明は、上記問題を解決すべくなされたもので、その目的は、過去の統計的なデータを使用せずに、異常状態を含む複数の種別のトラヒックを含むトラヒックデータからトラヒック種別間の因果関係を考慮して正常なトラヒックを検出することを可能とする正常トラヒック検出装置及び正常トラヒック検出方法並びにそのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、トラヒック種別の異なるパケットが送信されるネットワーク回線に接続され、前記ネットワーク回線から前記パケットを受信し、受信した前記パケットを前記トラヒック種別ごとに分離するトラヒック分離手段と、前記トラヒック分離手段が分離した前記パケットを受信順に一定の時間間隔で前記トラヒック種別ごとにカウントして前記トラヒック種別ごとの総数を算出し、算出した前記トラヒック種別ごとの前記総数に対して前記時間間隔ごとに付与する識別番号を対応付け、前記識別番号と前記トラヒック種別とに関連付けて前記総数を記憶手段に記録するパケット数カウント手段と、前記記憶手段から同じ識別番号が付与された前記総数を読み出し、読み出した前記総数を予め定められた前記トラヒック種別の順に並べて構成されるベクトルを生成するベクトル生成手段と、前記ベクトル生成手段によって生成された前記ベクトルに基づいて空間の座標値に変換し、変換した座標値に基づいて、前記空間内での前記ベクトルの互いの距離を算出し、算出した前記互いの距離に基づいて、前記ベクトルを２つのグループに分類し、２つのグループのうち多くのベクトルを含むグループを検出し、前記グループに含まれるベクトルの数が所定の値より少ないかを判定し、前記グループのベクトルの数が所定の値より少ないと判定された場合には、前記グループに残された前記ベクトルに対応する前記パケットを正常なトラヒックとして検出する検出手段と、を備えたことを特徴とする正常トラヒック検出装置である。
【０００６】
本発明は、上記に記載の発明において、前記検出部は、前記グループに含まれる前記ベクトルの数が所定の値以上であると判定した場合には、前記グループに含まれない前記ベクトルに対応する情報を前記記憶手段から削除し、前記ベクトル生成手段に、削除後の前記記憶手段から前記ベクトルを生成させることを特徴とする。
【０００７】
本発明は、トラヒック種別の異なるパケットが送信されるネットワーク回線に接続される正常トラヒック検出装置における正常トラヒック検出方法であって、前記ネットワーク回線から前記パケットを受信し、受信した前記パケットを前記トラヒック種別ごとに分離するステップと、分離した前記パケットを受信順に一定の時間間隔で前記トラヒック種別ごとにカウントして前記トラヒック種別ごとの総数を算出するステップと、算出した前記トラヒック種別ごとの前記総数に対して前記時間間隔ごとに付与する識別番号を対応付け、前記識別番号と前記トラヒック種別とに関連付けて前記総数を記憶手段に記録するステップと、前記記憶手段から同じ識別番号が付与された前記総数を読み出し、読み出した前記総数を予め定められた前記トラヒック種別の順に並べて構成されるベクトルを生成するステップと、前記ベクトル生成手段によって生成された前記ベクトルに基づいて空間の座標値に変換するステップと、変換した座標値に基づいて、前記空間内での前記ベクトルの互いの距離を算出するステップと、算出した前記互いの距離に基づいて、前記ベクトルを２つのグループに分類するステップと、２つのグループのうち多くのベクトルを含むグループを検出するステップと、前記グループに含まれるベクトルの数が所定の値より少ないかを判定するステップと、前記グループのベクトルの数が所定の値より少ないと判定された場合には、前記グループに残された前記ベクトルに対応する前記パケットを正常なトラヒックとして検出するステップと、を有することを特徴とする正常トラヒック検出方法である。
【０００８】
本発明は、トラヒック種別の異なるパケットが送信されるネットワーク回線に接続される正常トラヒック検出装置のコンピュータに、前記ネットワーク回線から前記パケットを受信し、受信した前記パケットを前記トラヒック種別ごとに分離するステップと、分離した前記パケットを受信順に一定の時間間隔で前記トラヒック種別ごとにカウントして前記トラヒック種別ごとの総数を算出するステップと、算出した前記トラヒック種別ごとの前記総数に対して前記時間間隔ごとに付与する識別番号を対応付け、前記識別番号と前記トラヒック種別とに関連付けて前記総数を記憶手段に記録するステップと、前記記憶手段から同じ識別番号が付与された前記総数を読み出し、読み出した前記総数を予め定められた前記トラヒック種別の順に並べて構成されるベクトルを生成するステップと、前記ベクトル生成手段によって生成された前記ベクトルに基づいて空間の座標値に変換するステップと、変換した座標値に基づいて、前記空間内での前記ベクトルの互いの距離を算出するステップと、算出した前記互いの距離に基づいて、前記ベクトルを２つのグループに分類するステップと、２つのグループのうち多くのベクトルを含むグループを検出するステップと、前記グループに含まれるベクトルの数が所定の値より少ないかを判定するステップと、前記グループのベクトルの数が所定の値より少ないと判定された場合には、前記グループに残された前記ベクトルに対応する前記パケットを正常なトラヒックとして検出するステップと、を実行させるためのコンピュータプログラムである。
である。
【発明の効果】
【０００９】
この発明によれば、正常トラヒック検出装置は、ネットワーク回線から受信したパケットを受信順に一定の時間間隔でトラヒック種別ごとにカウントしてトラヒック種別ごとの総数を算出し、算出したトラヒック種別ごとの総数に対して時間間隔ごとに付与する識別番号を対応付け、識別番号ごとに予め定められたトラヒック種別の順で記憶手段に記録する。また、記憶手段から同じ識別番号が付与された総数を読み出し、読み出した総数を要素とするベクトルを生成し、生成したベクトルに基づいて空間の座標値に変換し、変換した座標値に基づいて、空間内での前記ベクトルの互いの距離を算出する。また、算出したベクトルの互いの距離に基づいて、ベクトルを２つのグループに分類し、２つのグループのうち多くのベクトルを含むグループを検出し、グループに含まれるベクトルの数が所定の値より少ないかを判定し、グループのベクトルの数が所定の値より少ないと判定された場合には、グループに残されたベクトルに対応するトラヒックを正常なトラヒックとして検出する構成とした。これにより、複数のトラヒック種別を含むトラヒックから異常のある箇所を除去して、正常なトラヒックを抽出することが可能となる。そして、抽出した正常なトラヒックを基準として、より精度の高い異常状態の検出を行うことが可能となる。
【００１０】
また、この発明によれば、正常トラヒック検出装置は、グループに含まれるベクトルの数が所定の値以上であると判定した場合には、グループに含まれないベクトルに対応する情報を記憶手段から削除し、削除後の記憶手段からベクトルを生成させる構成とした。これにより、異常なトラヒックの情報を繰り返し除去していくことが可能となり、精度の高い正常トラヒックの検出が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態による正常トラヒック検出装置を図面を参照して説明する。
図１は、本実施形態による正常トラヒック検出装置２０を示す概略ブロック図である。
【００１２】
正常トラヒック検出装置２０において、トラヒック分離部２１は、ネットワーク回線１０とネットワーク回線１１とに接続されており、ネットワーク回線１０からネットワーク回線１１に流れるパケットを受信し、受信したパケットを読み出した後に、受信したパケットをネットワーク回線１１に送出する。また、トラヒック分離部２１は、受信したパケットを読み出した後に、当該パケットのトラヒック種別、例えば、プロトコルの種別を検出し、検出したトラヒック種別に予め割り当てられているパケット数カウント部２２−１〜２２−ｎにパケットを分類して送出する。
【００１３】
パケット数カウント部２２−１〜２２−ｎは、解析を行うトラヒック種別数に従った数が備えられており、トラヒック分離部２１によって分類されたパケットを受信し、予め設定されている一定の時間期間でパケットの総数をカウントし、時間間隔ごとに割り当てられるタイムスロット番号と、トラヒック種別とに対応付けて総数を記憶部２３に記録する。
ここで、トラヒック種別としては、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｏｒｏｌ  Ｐｒｏｔｏｃｌ）などのプロトコル種別などがある。
【００１４】
多次元ベクトル生成部２４は、記憶部２３からパケットの総数をタイムスロット番号ごとに読み出し、同一のタイムスロット番号のトラヒック種別ごとの総数を要素とする多次元ベクトルを生成する。
【００１５】
正常クラスタ抽出部２５は、多次元ベクトル生成部２４によって生成された複数の多次元ベクトルに対して後述する主成分分析およびクラスタ分離を行い、これらの分析の結果に基づいて正常と判定されるトラヒックを抽出する。また、正常クラスタ抽出部２５は、クラスタ分離の際に、多次元ベクトルを２つのグループに分離し、多くのベクトルが含まれるグループのみを残して、他のグループに属するベクトルを記憶部２３から削除する。
【００１６】
なお、上述したトラヒック分離手段はトラヒック分離部２１に対応し、パケット数カウント手段は、パケット数カウント部２２−１〜２２−ｎに対応し、ベクトル生成手段は多次元ベクトル生成部２４に対応し、検出手段は正常クラスタ抽出部２５に対応する。また、上述した識別番号はタイムスロットごとに付与された番号に対応する。
【００１７】
図２は、記憶部２３のデータ構成を示した図である。図２に示すようにパケットカウント部２２−１〜２２−ｎによってカウントされたパケットの総数はタイムスロット番号とトラヒック種別に対応付けられて記録される。多次元ベクトル生成部２４によって生成される多次元ベクトルは、総数がトラヒック種別順に記憶されているためタイムスロット番号ごとの総数を読み出すことで生成することができる。
【００１８】
図３は、正常トラヒック検出装置２０の動作原理を説明するための図である。
まず最初に、正常トラヒック検出装置２０のトラヒック分離部２１がネットワーク回線１０からパケットを受信する。（図３（ａ））トラヒック分離部２１は分離したパケットをトラヒック種別ごとに対応するパケット数カウント部２２−１〜２２−ｎに出力する。パケットを受信したパケット数カウント部２２−１〜２２−ｎはカウントした総数をタイムスロット番号ごとに記憶部２３に記録する（図３（ｂ））。次に、多次元ベクトル生成部２４は、記録部２３から同一のタイムスロット番号のパケットの総数を要素とする多次元ベクトルを生成する。このとき、後の説明のために図３（ｂ）に示すように代表となる多次元ベクトルにＴｘ、Ｔｙ、Ｔｚの符号を付す。
【００１９】
正常クラスタ抽出部２５は、多次元ベクトル生成部２４によって生成された多次元ベクトルに対して主成分分析を行い、主成分分析によって算出された各主成分を座標軸の値とする特徴空間（図３（ｃ））に各多次元ベクトルをマッピングする。図３（ｃ）では説明のため第１主成分軸と第２主成分軸からなる２次元空間として表しているが、実際にはトラヒック種別数に対応する次元数を有する多次元空間となる。
【００２０】
次に、正常クラスタ抽出部２５は、特徴空間にマッピングされた多次元ベクトルを後述するクラスタ分離の手段により２つのクラスタ、すなわち２つのグループに分離する（図３（ｄ））。図３（ｄ）では、ＴｘとＴｙが同じグループに属しており、Ｔｚが他のグループに属しているものとして分離される。そして、正常クラスタ抽出部２５は、２つのグループのうち多くの多次元ベクトルが含まれるＴｘとＴｙが属するグループのみを残し、Ｔｚが属する他のグループに対応する情報を記憶部２３から削除する。当該除去により実際のトラヒック情報では、図３（ｅ）に示すように、トラヒックが急激に増加している異常と想定される部分のパケットが除去される。図３（ｆ）は、他のグループに対応する情報が削除された後の記憶部２３を示した図であり、他のグループに属するＴｚが削除されている。
【００２１】
次に、多次元ベクトル生成部２４は、再び記憶部２３から多次元ベクトルを生成する。正常クラスタ抽出部２５は、多次元ベクトル生成部２４によって生成された多次元ベクトルに対して主成分分析を行い、主成分分析によって算出された各主成分を座標軸の値とする特徴空間（図３（ｇ））に各多次元ベクトルをマッピングする。そして、正常クラスタ抽出部２５は、特徴空間にマッピングされた多次元ベクトルを２つのグループに分離する（図３（ｈ））。そして、正常クラスタ抽出部２５は、上記と同じく、２つのグループのうち多くの多次元ベクトルが含まれるＴｘが属するグループのみを残し、Ｔｙが属する他のグループを除去する。
【００２２】
正常クラスタ抽出部２５によって主成分分析とクラスタ分離が繰り返されることにより、実際のトラヒック情報では、図３（ｉ）に示すように、異常と想定される部分が次々に除去され、トラヒック種別間の相関関係の類似性が高いタイムスロットの部分が残り、最後に残ったタイムスロットによって構成されるトラヒックが正常トラヒックとして抽出されることになる。
【００２３】
図４は、正常トラヒック検出装置２０の全体の処理を示したフロチャートである。
まず、最初に、トラヒック分離部２１が、ネットワーク回線１０からトラヒックを受信して読み出し、当該トラヒックをトラヒック種別ごとに分類し、それぞれのトラヒック種別に対応するパケット数カウント部２２−１〜２２−ｎに出力する（ステップＳ１０１）。パケット数カウント部２２−１〜２２−ｎは一定の時間間隔で受信したパケットの総数をカウントして記憶部２３にトラヒック種別ごとに記録する（ステップＳ１０２）。次に、多次元ベクトル生成部２４は、記憶部２３からタイムスロットごとの各トラヒック種別のパケットの総数を要素とする多次元ベクトルを生成する（ステップＳ１０３）。
【００２４】
次に、正常クラスタ抽出部２５は、後述する主成分分析及びクラスタ分離処理により、多次元ベクトルに対して主成分分析を行って主成分を算出し、算出した主成分に基づいてクラスタ分離、すなわち２つのグループに分類し、それぞれのグループに属するベクトルを出力する（ステップＳ１０４）。次に、正常クラスタ抽出部２５は、２つのグループのうち、多くのベクトルが含まれるクラスタに属するベクトルの数をカウントし、当該ベクトルの数が予め設定されている所定の数以上であるか否かを判定する（ステップＳ１０５）。当該ベクトルの数が予め設定されている所定の数以上である場合には、正常クラスタ抽出部２５は、２つのグループのうちベクトルの数が少ない方のグループに属するベクトルの数に対応する情報を記憶部２３から削除し、多次元ベクトル生成部２４に再び多次元ベクトルの生成を実行させるためステップＳ１０３に戻る。一方、当該ベクトルの数が予め設定されている所定の数より少ない場合には、正常なトラヒックの情報が抽出できたとして処理を終了する。
【００２５】
図５は、上述した正常クラスタ抽出部２５により行われる主成分分析及びクラスタ分離処理を示したフロチャートである。
まず最初に、正常クラスタ抽出部２５は、多次元ベクトル生成部２４から出力された多次元ベクトルに対して主成分分析を行う（ステップＳ２０１）。ここで、主成分分析について式を参照しつつ説明する。例えば、トラヒック種別がｐ個存在した場合、多次元ベクトルの各要素は、変量ｘ１、ｘ２、・・・ｘｐとして表すことができる。また、タイムスロットがＮ個存在した場合には、多次元ベクトルの要素は、変量ｘ１ｉ、ｘ２ｉ、・・・ｘｐｉ（ｉ＝１，２，・・・Ｎ）として表すことができる。そして、変量ｘｉとｘｊの相関係数をｒｉｊとした場合に、ｒｉｊを要素とする相関行列Ａは次式（１）のように表すことができる。
【００２６】
【数１】
2006246067.tif 000003
【００２７】
このとき、ＡＸ＝λＸ（λ：実数）の固有方程式を解いて固有値λを算出することができる。算出したλをλ１≧λ２≧・・・≧λｐ≧０とすると、λの大きい方から順に、第１主成分、第２主成分、・・・、第ｐ主成分として主成分を抽出することができる。
ここで、Ｘ＝［ａ１，ａ２，・・・ａｐ］Ｔ（｜Ｘ｜＝１）とすると、ＡＸ＝λＸ（λ：実数）の右辺を左辺に移項すると次式（２）のようになり、式（２）から固有値λを算出することができる。。
【００２８】
【数２】
2006246067.tif 000004
【００２９】
第１主成分Ｚ１は、最大の固有値λ１に対応する固有ベクトル［ａ１（１），ａ２（１），・・・ａｐ（１）］Ｔを用いて以下の式（３）のように表すことができる。
【００３０】
【数３】
2006246067.tif 000005
【００３１】
ここで、ｘｉ’は、次式（４）として表される。
【００３２】
【数４】
2006246067.tif 000006
【００３３】
同様にして、大きい固有値に対応する順に、第２主成分Ｚ２，・・・・第ｐ主成分Ｚｐを算出することができる。
【００３４】
次に、図５に戻って、正常クラスタ抽出部２５は、多次元ベクトルの特徴空間を生成する（ステップＳ２０２）。ここで、多次元ベクトルの特徴空間とは、算出した主成分の数を次元数とする空間である。そして、正常クラスタ抽出部２５は、各多次元ベクトルの主成分の値に基づいて、生成した特徴空間に多次元ベクトルをマッピングする（ステップＳ２０３）。次に、正常クラスタ抽出部２５は、クラスタ分離、すなわち多次元ベクトルを２つのグループに分離するため、各多次元ベクトルの特徴空間における距離を算出する。ここで、ｐ個のトラヒック種別を有するＮ個のタイムスロットの各多次元ベクトルの主成分は、Ｚ１ｉ，Ｚ２ｉ，・・・Ｚｐｉとして表すことができる。そして、初期状態としてはＮ個のタイムスロットに対応してＮ個のクラスタを対応付けた場合に、各クラスタの特徴空間におけるユークリッド距離は次式（５）により算出することができる。
【００３５】
【数５】
2006246067.tif 000007
【００３６】
次に、正常クラスタ抽出部２５は、算出したユークリッド距離が最も近いクラスタを１つのクラスタに融合する。このとき、例えば、クラスタａとクラスタｂが最もユークリッド距離が近いクラスタとして融合されてクラスタｃが生成されたとした場合に、Ｄａｂ，Ｄｘａ，Ｄｘｂをクラスタａとクラスタｂが融合される前の各クラスタのユークリッド距離とした場合に、融合後のクラスタｃとクラスタｘとのユークリッド距離Ｄｘｃは次式（６）によって算出される。（ここで、ｘ≠ａ，ｘ≠ｂとする。）
【００３７】
【数６】
2006246067.tif 000008
【００３８】
２個のクラスタが１つのクラスタに融合されると、クラスタの総数が１つ減ることになる。そして、総クラスタ数が２つになるまでクラスタの融合を繰り返すことで多次元ベクトルを２つのクラスタに分離することができる。最後に、正常クラスタ抽出部２５は、２つのクラスタの各ベクトルの数を出力して処理を終了する（ステップＳ２０５）。
【００３９】
次に、図６から図８を参照して、上記の正常トラヒック検出装置２０による実際の実験結果に基づいた異常検出の性能について説明する。まず、異常状態として、あるＬＡＮにおいて一定期間に特定のプロトコル（ＴＣＰ−ＳＹＮ：ＴＣＰ通信の最初に送信されるパケット）のみを通常観測される量の数百倍を送信した。図６はその際の観測トラヒックを示したグラフである。このトラヒックに対してプロトコルをトラヒック種別として上記の正常トラヒック抽出の手段を適用した。このときの条件としては１タイムスロットは３０秒、観測時間は４時間とし、上述した所定の値としてはベクトル全体の過半数とした。すなわち、クラスタ分離の結果、ベクトルの数が多い方のグループに属するベクトルの数が過半数より少なくなった場合に正常なトラヒックの情報が抽出できたとして処理を終了することになる。
【００４０】
図７は、本実施形態における正常トラヒック抽出装置を用いて、正常トラヒックを抽出し、抽出した正常トラヒックに基づいて主成分軸を算出し、該主成分軸と上述した多次元ベクトルがなす距離を示したグラフである。このとき、主成分分析の繰り返しは５回となり、このとき、図７に示すように、図６で異常トラヒックを送信した時間帯において顕著にその異常トラヒックを示す波形を検出することができていることがわかる。
【００４１】
図８は、本実施形態における正常トラヒック検出装置２０を用いず、観測データから直接主成分を算出した結果を示したグラフであり、図７と比較すると明確に異常が現れておらず、誤検出をする可能性が高い波形しか得られていないことがわかる。
【００４２】
なお、上述した実施形態では、トラヒック種別ごとにパケット数カウント部２２−１〜２２−ｎを備えることとしたが、本発明はこれに限られず、１つのパケット数カウント部によって同様の機能を実現するようにしてもよく、また、トラヒック分離部２１がパケットを蓄積しておき、トラヒック種別順に１つのパケット数カウント部に出力して検出を行うようにしてもよい。
【００４３】
上述の正常トラヒック検出装置２０は内部に、コンピュータシステムを有している。そして、上述した正常トラヒック検出装置２０における主成分分析及びクラスタ分離などの処理は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００４４】
【図１】本実施形態による正常トラヒック検出装置を示すブロック図である。
【図２】同実施形態における正常トラヒック検出装置の記憶部のデータ構成を示す図である。
【図３】同実施形態における正常トラヒック検出方法の原理を説明するための図である。
【図４】同実施形態における正常トラヒック検出装置の処理を示したフローチャート（その１）である。
【図５】同実施形態における正常トラヒック検出装置の処理を示したフローチャート（その２）である。
【図６】同実施形態における正常トラヒック検出装置の実験に利用した観測トラヒックを示したグラフである。
【図７】同実施形態における正常トラヒック検出装置の実験の検出結果を示したグラフである。
【図８】従来の技術を適用した観測トラヒックの主成分分析結果を示したグラフである。
【符号の説明】
【００４５】
１０  ネットワーク回線
１１  ネットワーク回線
２０  正常トラヒック検出装置
２１  トラヒック分離部
２２−１〜２２−ｎ  パケット数カウント部
２３  記憶部
２４  多次元ベクトル生成部
２５  正常クラスタ抽出部
【図１】
2006246067.tif 000009
【図２】
2006246067.tif 000010
【図３】
2006246067.tif 000011
【図４】
2006246067.tif 000012
【図５】
2006246067.tif 000013
【図６】
2006246067.tif 000014
【図７】
2006246067.tif 000015
【図８】
2006246067.tif 000016