(57)【要約】【課題】ネットワークの実際のトラフィックの状態を十分に反映しつつ、少ない計算量でネットワーク上で使用されているアプリケーションの種類を分類する。【解決手段】ＩＰネットワークを流れるパケットを受信する受信ステップと、受信ステップで受信したパケットの、少なくともＴＣＰフラグとＴＣＰパケットサイズに関する統計情報を記憶手段に蓄積するデータ収集ステップと、記憶手段に蓄積されたＴＣＰフラグの統計情報に基づき、所定の演算式を用いて、ネットワーク上で使用されているアプリケーションを２種類に分類する第１分類ステップと、記憶手段に蓄積されたＴＣＰパケットサイズの統計情報に基づき、所定の演算式を用いて、ネットワーク上で使用されているアプリケーションを２種類に分類する第２分類ステップと、を有する。【選択図】図１
2008193221.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークを流れるパケットに基づきそのネットワーク上で使用されているアプリケーションの種類を分類してその構成割合を得る方法であって、
前記パケットの統計情報を蓄積する記憶手段を設け、
前記ＩＰネットワークを流れるパケットを受信する受信ステップと、
前記受信ステップで受信したパケットの、少なくともＴＣＰフラグとＴＣＰパケットサイズに関する統計情報を前記記憶手段に蓄積するデータ収集ステップと、
前記記憶手段に蓄積されたＴＣＰフラグの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションを２種類に分類する第１分類ステップと、
前記記憶手段に蓄積されたＴＣＰパケットサイズの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションを２種類に分類する第２分類ステップと、
前記第１分類ステップ及び前記第２分類ステップの結果に基づき、前記ネットワーク上で使用されているアプリケーションを４種類に分類する第３分類ステップと、
を有することを特徴とするアプリケーション分類方法。
【請求項２】
前記第１分類ステップでは、
前記記憶手段に蓄積されたＴＣＰフラグの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションをＰ２Ｐ型とＣ／Ｓ型の２種類に分類する
ことを特徴とする請求項１に記載のアプリケーション分類方法。
【請求項３】
前記第２分類ステップでは、
前記記憶手段に蓄積されたＴＣＰパケットサイズの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションをブロードバンド型とナローバンド型の２種類に分類する
ことを特徴とする請求項１又は請求項２に記載のアプリケーション分類方法。
【請求項４】
前記ＩＰネットワークを流れるパケットの、少なくともＴＣＰフラグとＴＣＰパケットサイズをあらかじめモニタリングし、その結果を学習データとして前記記憶手段に格納しておき、
前記第１分類ステップ若しくは前記第２分類ステップ、又はその双方において、
前記記憶手段に格納された学習データと、
前記記憶手段に蓄積された統計情報とを比較し、
その結果に基づき、前記ネットワーク上で使用されているアプリケーションを分類する
ことを特徴とする請求項１ないし請求項３のいずれかに記載のアプリケーション分類方法。
【請求項５】
請求項１ないし請求項４のいずれかに記載のアプリケーション分類方法を実行してその分類結果を前記記憶手段に蓄積する分類結果蓄積ステップと、
前記記憶手段に蓄積されている分類結果のうち、異常検知対象とするものを決定し、その他の分類結果と比較する異常検知ステップと、
を有し、
前記異常検知ステップでは、
異常検知対象とする前記分類結果と、その他の前記分類結果とを比較し、両者の乖離度が所定の閾値を上回っていた際に、前記ＩＰネットワークにおいて異常が発生したものと判断する
ことを特徴とするネットワーク異常検知方法。
【請求項６】
請求項１ないし請求項４のいずれかに記載のアプリケーション分類方法をコンピュータに実行させることを特徴とするアプリケーション分類プログラム。
【請求項７】
請求項５に記載のネットワーク異常検知方法をコンピュータに実行させることを特徴とするネットワーク異常検知プログラム。
【請求項８】
ＩＰネットワークを流れるパケットに基づきそのネットワーク上で使用されているアプリケーションの種類を分類してその構成割合を得る装置であって、
前記パケットの統計情報を蓄積する記憶手段と、
前記ＩＰネットワークを流れるパケットを受信する受信部と、
前記受信部が受信したパケットの、少なくともＴＣＰフラグとＴＣＰパケットサイズに関する統計情報を前記記憶手段に蓄積するデータ収集部と、
前記記憶手段に蓄積されたＴＣＰフラグの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションを２種類に分類する第１分類部と、
前記記憶手段に蓄積されたＴＣＰパケットサイズの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションを２種類に分類する第２分類部と、
前記第１分類部及び前記第２分類部の処理結果に基づき、前記ネットワーク上で使用されているアプリケーションを４種類に分類する第３分類部と、
を備えることを特徴とするアプリケーション分類装置。
【請求項９】
前記第１分類部は、
前記記憶手段に蓄積されたＴＣＰフラグの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションをＰ２Ｐ型とＣ／Ｓ型の２種類に分類する
ことを特徴とする請求項８に記載のアプリケーション分類装置。
【請求項１０】
前記第２分類部は、
前記記憶手段に蓄積されたＴＣＰパケットサイズの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションをブロードバンド型とナローバンド型の２種類に分類する
ことを特徴とする請求項８又は請求項９に記載のアプリケーション分類装置。
【請求項１１】
前記記憶手段は、
前記ＩＰネットワークを流れるパケットの、少なくともＴＣＰフラグとパケットサイズをあらかじめモニタリングした結果を学習データとして格納しており、
前記第１分類部若しくは前記第２分類部、又はその双方は、
前記記憶手段に格納された学習データと、
前記記憶手段に蓄積された統計情報とを比較し、
その結果に基づき、前記ネットワーク上で使用されているアプリケーションを分類する
ことを特徴とする請求項８ないし請求項１０のいずれかに記載のアプリケーション分類装置。
【請求項１２】
請求項８ないし請求項１１のいずれかに記載のアプリケーション分類装置と、
前記アプリケーション分類装置の分類結果を前記記憶手段に蓄積する分類結果蓄積部と、
前記記憶手段に蓄積されている分類結果のうち、異常検知対象とするものを決定し、その他の分類結果と比較する異常検知部と、
を備え、
前記異常検知部は、
異常検知対象とする前記分類結果と、その他の前記分類結果とを比較し、両者の乖離度が所定の閾値を上回っていた際に、前記ＩＰネットワークにおいて異常が発生したものと判断する
ことを特徴とするネットワーク異常検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワーク上で使用されているアプリケーションの種類を分類してその構成割合を求め、さらにはその分類結果に基づきネットワークの異常を検知する技術に関するものである。
【背景技術】
【０００２】
従来、『ネットワーク異常検出の信頼性が高いプローブ装置を安価に提供する。』ことを目的とした技術として、『トラフィック測定部１２０は、解析区切指定部１４０が定めた測定周期で、ネットワークインタフェース部１１０のトラフィックを測定する。統計計算部１５０は、パケット解析部１３０が解析したヘッダ情報を測定周期毎に統計処理する。特徴情報保持部１６０は、トラフィック測定部１２０および統計計算部１５０の出力データを特徴項目として含む特徴情報を、測定周期毎に作成・保持する。データベース部１７０は、古い特徴情報を順次蓄積する。異常検出部１８０は、新しい特徴情報が作成されるたびに、所定の特徴項目が当該新しい特徴情報と同一性の範囲内にある特徴情報をデータベース部１７０から読み出し、読み出された特徴情報の他の特徴項目についての正常範囲を統計的に算出し、新しい特徴情報の当該他の特徴項目と比較することによって、異常を検出する。』というものが提案されている（特許文献１）。
また、通信のフロー毎の特徴を見てアプリケーションを識別する技術が提案されている（非特許文献１）。
【０００３】
【特許文献１】特開２００６−１４８６８６号公報（要約）
【非特許文献１】”フロー挙動分析によるアグリゲーションフローのアプリケーション識別手法”、電子情報通信学会  信学技報、ＮＳ２００５−１６０、２００６年３月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の技術のように、Ｌａｙｅｒ４（ＴＣＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌに相当）以下のヘッダ情報を用いてトラフィック異常を検知する場合には、ＴＣＰやＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のＰｏｒｔ番号を利用していた。これは、従来はＰｏｒｔ番号毎に特定のアプリケーションが紐付けされていたからである。例えば、ＴＣＰ８０番ＰｏｒｔにはＨＴＴＰプロトコルが割り当てられているため、当該Ｐｏｒｔ番号を使用するのがＷｅｂアプリケーションが多いであろうことは、容易に推測できる。
一方、昨今では、パケットフィルタリングルールを回避するためなどの理由により、正しいＰｏｒｔ番号が利用されないことがある。また、特定のアプリケーションが紐付けされていない空きＰｏｒｔ番号を用いて、Ｐ２Ｐ（Ｐｏｉｎｔ  Ｔｏ  Ｐｏｉｎｔ）アプリケーション等の比較的新しいタイプのアプリケーションが利用される機会が増えてきている。
そのため、昨今においては、Ｐｏｒｔ番号を用いてアプリケーションを分類し、又はその分類結果を利用するシステムは、実際のトラフィックの状態を十分に反映できなくなっているという課題がある。
【０００５】
また、上記非特許文献１に記載の技術のように、フロー毎にアプリケーションを分類する方法では、アプリケーションの種類を大まかに判別したいような場合には計算負荷が大きすぎる。さらには、全てのアプリケーションの種類を網羅することはできないという課題もある。
【０００６】
また、仮にアプリケーションを正しく特定することができたとしても、例えばトンネリング通信のように、そのプロトコルが従来想定していた利用方法に則った利用がなされていないことがある。
このような場合には、アプリケーションを特定できたとしても、結局のところ、実質的な利用のされ方までは特定できていないことになり、アプリケーションを特定する意義が薄らいでしまうという課題もある。
【０００７】
そのため、ネットワークの実際のトラフィックの状態を十分に反映しつつ、少ない計算量で、ネットワーク上で使用されているアプリケーションの種類を分類することのできる、アプリケーション分類方法、アプリケーション分類プログラム、アプリケーション分類装置、及びこれらを用いたネットワーク異常検知方法、ネットワーク異常検知プログラム、ネットワーク異常検知装置が望まれていた。
【課題を解決するための手段】
【０００８】
本発明に係るアプリケーション分類方法は、
ＩＰネットワークを流れるパケットに基づきそのネットワーク上で使用されているアプリケーションの種類を分類してその構成割合を得る方法であって、
前記パケットの統計情報を蓄積する記憶手段を設け、
前記ＩＰネットワークを流れるパケットを受信する受信ステップと、
前記受信ステップで受信したパケットの、少なくともＴＣＰフラグとＴＣＰパケットサイズに関する統計情報を前記記憶手段に蓄積するデータ収集ステップと、
前記記憶手段に蓄積されたＴＣＰフラグの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションを２種類に分類する第１分類ステップと、
前記記憶手段に蓄積されたＴＣＰパケットサイズの統計情報に基づき、所定の演算式を用いて、前記ネットワーク上で使用されているアプリケーションを２種類に分類する第２分類ステップと、
前記第１分類ステップ及び前記第２分類ステップの結果に基づき、前記ネットワーク上で使用されているアプリケーションを４種類に分類する第３分類ステップと、
を有することを特徴とするものである。
【発明の効果】
【０００９】
本発明に係るアプリケーション分類方法によれば、ネットワークの実際のトラフィックの状態を十分に反映しつつ、少ない計算量で、ネットワーク上で使用されているアプリケーションの種類を、少ない計算量で容易に分類することができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１は、本発明の実施の形態１に係るアプリケーション分類装置１００の機能ブロック図である。
アプリケーション分類装置１００は、インタフェース部１０１、トラフィックデータ収集部１０２、アプリケーション分類部１０３、記憶手段１０４を備える。
インタフェース部１０１は、ネットワークを流れるＩＰパケットを受信し、トラフィックデータ収集部１０２に出力する。
トラフィックデータ収集部１０２は、インタフェース部１０１より受け取ったＩＰパケットの、少なくともＴＣＰフラグとＴＣＰパケットサイズに関する統計情報を生成し、記憶手段１０４に蓄積する。統計情報の詳細は後述する。
アプリケーション分類部１０３は、記憶手段１０４に蓄積された統計情報に基づき、ネットワーク上で使用されているアプリケーションの種類を分類する。分類処理の詳細は後述する。
記憶手段１０４は、上述の統計情報を格納する。
図１において、アプリケーション分類装置１００は、インタフェース部１０１を介して第１ネットワーク２００と第２ネットワーク３００に接続されている。これらのネットワークはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークであるものとする。
【００１１】
インタフェース部１０１は、ＬＡＮインターフェース等のネットワークインターフェースにより構成することができる。
トラフィックデータ収集部１０２、アプリケーション分類部１０３は、これらの機能を実現する回路デバイス等のハードウェアで実現することもできるし、マイコンやＣＰＵ等の演算装置上で実行されるソフトウェアとして実現することもできる。
記憶手段１０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）のような書込み可能な記憶装置で構成することができる。
【００１２】
本実施の形態１における「受信部」は、インタフェース部１０１がこれに相当する。
また、「データ収集部」はトラフィックデータ収集部１０２がこれに相当する。
また、「第１分類部」「第２分類部」「第３分類部」は、アプリケーション分類部１０３がこれに相当する。
【００１３】
図２は、本実施の形態１におけるアプリケーションの分類を示すものである。分類方法は後述するとして、まずは図２に示すアプリケーションの各分類について説明する。
本実施の形態１においては、ネットワーク上で使用されるアプリケーションを、通信量と通信モデルの２つの視点から分類している。
【００１４】
（１）通信量による分類
通信量に関しては、「Ｂｒｏａｄ  Ｂａｎｄ  Ｔｒａｆｆｉｃ」型（以下、「ブロードバンド型」）のアプリケーションと「Ｎａｒｒｏｗ  Ｂａｎｄ  Ｔｒａｆｆｉｃ」型（以下、「ナローバンド型」）のアプリケーションに分類した。これは、データ転送量の面からの分類である。
動画像配信アプリケーションやファイル転送アプリケーション等が前者に該当し、制御パケットやテキスト・静止画像の配信アプリケーションが後者に該当する。
【００１５】
（２）通信モデルによる分類
通信モデルに関しては、「Ｐ２Ｐ（Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒ）」型のアプリケーションと「Ｃｌｉｅｎｔ／Ｓｅｒｖｅｒ（Ｃ／Ｓ）」型のアプリケーションに分類した。
【００１６】
上記（１）（２）の分類により、２×２のマトリクスでアプリケーションを４分類することができる。
図２のＡ型には、例えばＰ２Ｐファイル交換アプリケーション等が該当する。
Ｂ型には、例えばＰ２Ｐ音声アプリケーション等が該当する。
Ｃ型には、例えばマルチメディアコンテンツ配信アプリケーションが該当する。
Ｄ型には、シグナリングプロトコルや、従来のテキストベースアプリケーション等、様々なアプリケーションが該当する。
アプリケーション分類部１０３は、ネットワーク上で使用されているアプリケーションを、上述の４分類のいずれかに分類する。分類方法は後述する。
【００１７】
図３は、トラフィックデータ収集部１０２が収集する統計情報のデータ例を示すものである。
トラフィックデータ収集部１０２は、インタフェース部１０１から受け取ったパケットのヘッダ部を解析し、ＴＣＰパラメータを収集して、記憶手段１０４にその統計情報を格納する。パラメータを収集する時間（サンプリング期間）は、あらかじめ定めておくこととする。
記憶手段１０４に格納する統計情報は、例えば以下のようなものである。
（１）ＴＣＰパケットの総サイズ
（２）ＴＣＰパケットの総数
（３）ＴＣＰ  ｓｙｎフラグの立ったパケットの総数
（４）ＴＣＰ  ｓｙｎフラグとａｃｋフラグの双方が立ったパケットの総数
【００１８】
次に、アプリケーション分類部１０３の動作について説明する。
アプリケーション分類部１０３は、記憶手段１０４に格納されている上述の統計情報を読み取り、以下の処理を行う。
【００１９】
（１）ＴＣＰ  ｓｙｎフラグとａｃｋフラグの双方が立ったパケットの総数を、そのサンプリング期間において成立したセッション総数（以下、「ＳＡ」と略す）とみなす。
（２）ＴＣＰ  ｓｙｎフラグとａｃｋフラグの双方が立ったパケットの総数（ＳＡ）をＴＣＰ  ｓｙｎフラグの立ったパケットの総数（以下「Ｓ」）で割った数値を求め、そのサンプリング期間におけるセッションの成立割合、即ち接続の安定度合いとする。
（３）アプリケーションの種類全体に対するＰ２Ｐアプリケーションの割合を「Ｐ」、Ｃ／Ｓアプリケーションの割合を「Ｃ」とすると、次式（１）が成り立つ。
Ｐ＋Ｃ＝１．０  ・・・（１）
（４）Ｐ２Ｐアプリケーションにおけるセッションの成立割合を０．８、Ｃ／Ｓアプリケーションにおけるセッションの成立割合を０．２と定義する。これにより、次式（２）が成り立つ。
ＳＡ／Ｓ＝０．８Ｐ＋０．２Ｃ  ・・・（２）
（５）式（１）と式（２）より、ＰとＣの値を求めることができる。
【００２０】
なお、ＳＡ／Ｓの値が０．８より大きい場合は、Ｐ＝１．０、Ｃ＝０．０とし、
ＳＡ／Ｓの値が０．２より小さい場合は、Ｐ＝０．０、Ｃ＝１．０とする。
また、これらの係数「０．８」「０．２」は、事前のシミュレーション結果により定義したものであり、必ずしもこの値に限る必要はないことを付言しておく。
【００２１】
以上の処理により、アプリケーションの種類をＰ２Ｐ型とＣ／Ｓ型の２種類に分類することができた。次は、ブロードバンド型とナローバンド型の２種類に分類する手順を説明する。
【００２２】
（６）アプリケーションの種類全体に対するブロードバンド型アプリケーションの割合を「ＢＢ」、ナローバンド型アプリケーションの割合を「ＮＢ」とすると、次式（３）が成り立つ。
ＢＢ＋ＮＢ＝１．０  ・・・（３）
（７）ブロードバンド型アプリケーションの平均的なデータ転送レートを３００ｋｂｐｓ、ナローバンド型アプリケーションの平均的なデータ転送レートを３ｋｂｐｓとする。
ＴＣＰ  ｓｉｚｅの総数（以下、「ＴＳ」と略す）との関係から、次式（４）が成り立つ。
ＳＡ×ＢＢ×３００（ｋｂｐｓ）＋ＳＡ×ＮＢ×３（ｋｂｐｓ）
＝ＴＳ×８／サンプリング期間  ・・・（４）
なお、式（４）の右辺は、ＴＳに８を乗じて単位をバイトからビットに変換し、サンプリング期間で割ることにより、単位を転送レート（ｋｂｐｓ）に揃える処理を行っているものである。
また、これらの転送レート「３００ｋｂｐｓ」「３ｋｂｐｓ」は、現在のインターネットトラフィックを鑑みたものであり、必ずしもこの値に限る必要はなく、また検知対象によって変更することもあるということを付言しておく。
（８）式（３）と式（４）より、ＢＢとＮＢの値を求めることができる。
【００２３】
なお、当該ネットワークにおける平均的なＴＣＰデータ転送レートが３００ｋｂｐｓ以上である場合には、ＢＢ＝１．０、ＮＢ＝０．０とする。
【００２４】
以上の処理により、アプリケーションの種類をブロードバンド型とナローバンド型の２種類に分類することができた。
【００２５】
アプリケーション分類部１０３は、以上の分類結果に基づき、ネットワーク上で使用されているアプリケーションを、図２のＡ型〜Ｄ型の４種類に分類する。各型の割合は、次式で求められる。
Ａ型の割合＝Ｐ×ＢＢ
Ｂ型の割合＝Ｐ×ＮＢ
Ｃ型の割合＝Ｃ×ＢＢ
Ｄ型の割合＝１．０−（Ａ＋Ｂ＋Ｃ）
【００２６】
以上のように、本実施の形態１によれば、Ｌａｙｅｒ５以上の上位層のプロトコル解析のような計算量の多い処理をすることなく、ネットワーク上で使用されているアプリケーションを４種類に分類することができる。
これにより、どのような特性を持つアプリケーションがネットワーク上で用いられているかを容易に把握できるので、ネットワーク状況の概括的な把握がしやすいという効果がある。
【００２７】
実施の形態２．
実施の形態１では、上述の式（２）や（４）において、収集したＴＣＰフラグとＴＣＰパケットサイズに基づき、あらかじめ設定された係数を用いて、アプリケーションの構成割合を算出することとした。
本発明の実施の形態２では、アプリケーション分類部１０３に機械学習機能を持たせ、あらかじめ教師データを与えて正解データを学習させておくことにより、より複雑なパケット構成についても分類可能とする構成について説明する。
【００２８】
本実施の形態２においては、図２の４種類のアプリケーションそれぞれに該当する典型的なアプリケーション若しくはプロトコルのパケットを擬似的に生成してトラフィックデータを作り、あらかじめアプリケーション分類部１０３に学習させておく。
例えば、Ａ型：Ｐ２Ｐファイル交換アプリケーション、Ｂ型：Ｐ２Ｐ音声アプリケーション、Ｃ型：ＦＴＰ−ｄａｔａ、Ｄ型：ｈｔｔｐ、とし、擬似トラフィックを発生させてＴＣＰフラグやＴＣＰパケットサイズ等についての統計情報を収集する。
【００２９】
図４は、本実施の形態２において、トラフィックデータ収集部１０２が統計情報を生成するＴＣＰパラメータの一覧（統計処理済み）である。
同図に示すように、実施の形態１で説明したＴＣＰパラメータと比較して、多くのパラメータを収集して統計情報を生成していることが分かる。パラメータが増えているため、実施の形態１で説明した式（１）〜（４）のような簡易な式ではアプリケーションの構成割合を求めることができないが、これに代えて機械学習器の学習結果によりアプリケーションを分類することを図る。
【００３０】
図５は、本実施の形態２におけるアプリケーション分類部１０３の動作フローである。以下、各ステップについて説明する。
【００３１】
（Ｓ５０１）
アプリケーション分類部１０３は、トラフィックデータ収集部１０２が生成した統計情報を、記憶手段１０４より読み取る。
（Ｓ５０２）
ステップＳ５０１と同時に教師データを受け取り、もしくは別に入力された場合にはステップＳ５０３へ進み、それ以外の場合はステップＳ５０４へ進む。
なお、ここでいう教師データとは、擬似トラフィックを生成した際のアプリケーション構成割合（Ａ型〜Ｄ型）のことである。擬似トラフィックを生成する際に、各型のアプリケーションの構成割合は判明しているため、その数値を教師データとして与えればよい。
（Ｓ５０３）
アプリケーション分類部１０３は、読み取った統計情報と教師データを用いて機械学習を行い、その学習結果を記憶手段１０４に格納する。機械学習により、アプリケーション分類を実施する際の計算式の各係数などの閾値が決定される。
（Ｓ５０４）
アプリケーション分類部１０３は、記憶手段１０４が格納している学習結果データを用いて、読み取った統計情報に基づき、ネットワーク上で使用されているアプリケーションの構成割合を求める。
【００３２】
なお、本実施の形態２において、アプリケーションを４分類する方法を説明したが、分類数は４つに限られるものではない。特に、本実施の形態２においてアプリケーション分類部１０３は機械学習機能を備えるため、複雑な分類であっても、教師データが適切であれば学習することが可能である。
【００３３】
以上のように、本実施の形態２によれば、実施の形態１と異なり多くのＴＣＰフラグを利用してアプリケーション分類を行うため、暗号化プロトコル、独自プロトコル等の特殊プロトコル、トンネリングプロトコルなど、ネットワーク管理者にとってどのようなアプリケーションが用いられているかの把握が困難であったプロトコルに関しても、４分類のトラフィック量を求めることが可能となる。
【００３４】
実施の形態３．
図６は、本発明の実施の形態３に係るネットワーク異常検知装置４００の機能ブロック図である。
ネットワーク異常検知装置４００は、実施の形態１〜２で説明したインタフェース部１０１、トラフィックデータ収集部１０２、アプリケーション分類部１０３、記憶手段１０４に加えて、新たに異常検知部１０５を備える。また、記憶手段１０４は、後述の図７で説明する分類データを格納する。
異常検知部１０５は、記憶手段１０４に蓄積されている後述の図７に示す分類データのうち、異常検知対象とするものを決定し、その他の分類データと比較することにより、その分類データに異常があるか否かを判断する。詳細は後述する。
【００３５】
なお、図６の機能ブロック図では、実施の形態１〜２で説明したアプリケーション分類装置１００の構成がネットワーク異常検知装置４００と一体化して構成されているが、これらを分離して、システムとして構成してもよい。
また、異常検知部１０５は、その機能を実現する回路デバイス等のハードウェアで実現することもできるし、マイコンやＣＰＵ等の演算装置上で実行されるソフトウェアとして実現することもできる。
【００３６】
図７は、記憶手段１０４が格納する分類データの構成とデータ例を示すものである。
アプリケーション分類部１０３は、分類結果を時系列に沿って記憶手段１０４に格納する。図７のデータ例は１分毎に分類結果を格納した例である。
例えば、１行目のデータには、「２００７年ｘｘ月ｘｘ日  ００時００分」から１分間の間に収集したＴＣＰフラグ等のデータに基づく分類結果が格納されている。
【００３７】
次に、異常検知部１０５の動作について説明する。
異常検知部１０５は、記憶手段１０４に新たな分類データが格納された際や、外部より指示コマンドを受け付けた際などに、これをトリガーとして以下の手順により異常検知処理を実施する。
【００３８】
（１）異常検知部１０５は、記憶手段１０４に格納されている分類データのうち、異常検知の対象とする分類データを決定する。
例えば、記憶手段１０４に新たな分類データが格納されたことをトリガーとして異常検知を行う場合には、その新たな分類データを異常検知の対象として以下の解析を行う。また、異常検知指示を受け付けたことをトリガーとする場合には、指示された期間の分類データを異常検知の対象として以下の解析を行う。
【００３９】
（２）異常検知部１０５は、ステップ（１）で決定した異常検知対象の分類データと比較するための分類データを決定する。比較対象とする分類データは、異常検知対象の分類データよりも過去に格納された分類データとする。
図７のデータ例に即して説明すると、４行目の分類データを異常検知対象とする場合には、１行目〜３行目のいずれかの分類データと、４行目の分類データとを比較する。比較対象の分類データの範囲は、例えば過去５件分の分類データ、などとしてもよいし、過去２４時間以内の分類データ全てを比較対象とする、などとしてもよい。
【００４０】
（３）異常検知部１０５は、ステップ（２）で決定した比較対象の分類データと、ステップ（２）で決定した比較対象の分類データを、記憶手段１０４より読み取る。
【００４１】
（４）異常検知部１０５は、ステップ（１）で決定した異常検知対象の分類データと、ステップ（２）で決定した比較対象の分類データとを比較し、両者の乖離度を計算する。乖離度が所定の閾値以上であれば、その異常検知対象の分類データには異常があるものと判断することができる。
乖離の度合いは、例えば分類した各比率に関して比較対象の分類データの中で平均値や分散値を計算し、一定値以上異常検知対象の分類データが乖離していることを計算して足し合わせたものとしてもよい。
即ち、その異常検知対象の分類データを取得した際に、ネットワークにおいて何らかの理由により異常パケットが発生していることが分かる。
また、単純に乖離の度合いを計算するだけでなく、忘却型学習器などのストリームマイニング技術を用いて比較対象の分類データを学習し、学習結果を元に異常検知対象の分類データの異常判定をするとしても良い。
【００４２】
以上のように、本実施の形態３によれば、実施の形態１〜２で説明した方法によりアプリケーションの構成割合を求めておき、その割合の変化を検知することによりネットワークトラフィックの異常を検知するので、いち早く異常発生を検知することができるという効果がある。
また、Ａ型〜Ｄ型のいずれのアプリケーション分類のトラフィックが異常であるかも即座に判断できるため、状況や対処方法が推定しやすいという効果もある。
【００４３】
実施の形態４．
図８は、本発明の実施の形態４に係るネットワークシステムの構成図である。
図８において、５０１はインターネットで、ルータ５０２と接続されている。
ルータ５０２は、背後のネットワークとインターネット５０１の境界に位置し、これらを接続するとともに、パケットルーティング機能を提供する。
５０３はファイアウォールで、所定のパケットフィルタリングルールにより、ルータ５０２を通過してきたパケットをフィルタリングする機能を有する。ファイアウォール５０３を通過したパケットは、その背後のネットワークに到達する。
５０４はＰＣ等のクライアント端末、５０５はサーバで、業務機能を提供する。
４００は実施の形態３で説明したネットワーク異常検知装置で、ファイアウォール５０３の背後に接続され、これを通過してきたパケットを収集して、先に説明したようなアプリケーション分類と異常検知処理を実施する。
【００４４】
図８において、ネットワーク異常検知装置４００は、一種のＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）として機能する。
即ち、ファイアウォール５０３を通過してきたパケットを監視し、Ｐｏｒｔ番号偽装などによりファイアウォール５０３を不正に通過したパケット等による異常なトラフィックが発生している場合には、その旨を検知して、ネットワーク攻撃の被害が拡大する前にこれを未然に防ぐことができる。
【００４５】
また、異常検知部１０５が異常を検知した際には、例えば以下のいずれかの方法でシステム管理者等に通知することにより、速やかな対応が可能となる。
（１）異常検知部１０５よりシステム管理者へ宛てて、電子メール等の方法により異常発生の旨を通知する。
（２）アラーム等を発する警報装置を異常検知部１０５と接続し、異常発生時に音声・光等による物理的な手段でその旨を通知する。
（３）異常検知部１０５よりＳＮＴＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）トラップを発し、別の監視システムに異常発生の旨を通知する。
【図面の簡単な説明】
【００４６】
【図１】実施の形態１に係るアプリケーション分類装置１００の機能ブロック図である。
【図２】実施の形態１におけるアプリケーションの分類を示すものである。
【図３】トラフィックデータ収集部１０２が収集する統計情報のデータ例を示すものである。
【図４】実施の形態２において、トラフィックデータ収集部１０２が統計情報を生成するＴＣＰパラメータの一覧（統計済み）である。
【図５】実施の形態２におけるアプリケーション分類部１０３の動作フローである。
【図６】実施の形態３に係るネットワーク異常検知装置４００の機能ブロック図である。
【図７】記憶手段１０４が格納する分類データの構成とデータ例を示すものである。
【図８】実施の形態４に係るネットワークシステムの構成図である。
【符号の説明】
【００４７】
１００  アプリケーション分類装置、１０１  インタフェース部、１０２  トラフィックデータ収集部、１０３  アプリケーション分類部、１０４  記憶手段、１０５  異常検知部、２００  第１ネットワーク、３００  第２ネットワーク、４００  ネットワーク異常検知装置、５０１  インターネット、５０２  ルータ、５０３  ファイアウォール、５０４  クライアント端末、５０５  サーバ。
【図１】
2008193221.tif 000003
【図２】
2008193221.tif 000004
【図３】
2008193221.tif 000005
【図４】
2008193221.tif 000006
【図５】
2008193221.tif 000007
【図６】
2008193221.tif 000008
【図７】
2008193221.tif 000009
【図８】
2008193221.tif 000010