(57)【要約】【課題】ネットワークの異常検出を簡易な手段で、定量的に行うこと。【解決手段】ネットワークの状態の異常を検出するネットワーク異常検出装置であって、ネットワークに流れるパケット情報に基づいて当該ネットワークの通常状態からの逸脱の程度を表す逸脱度を出力する少なくとも一つの逸脱度出力生成部１０ａ，１０ｂ，１０ｃと、逸脱度出力生成部１０ａ，１０ｂ，１０ｃから出力された少なくとも一つの逸脱度を統合的に処理してネットワークの異常の有無を判断する制御部５とが備えられ、制御部５は、逸脱度と所定のしきい値との比較処理を行う逸脱度判定処理部６と、所定の時間的判断要素と所定のタイムアウト値との比較処理を行うタイムアウト判定処理部７とを備える。【選択図】      図１
2005223847.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの状態の異常を検出するネットワーク異常検出装置であって、
ネットワークに流れるパケット情報に基づいて当該ネットワークの通常状態からの逸脱の程度を表す逸脱度を出力する少なくとも一つの逸脱度出力生成部と、
前記逸脱度出力生成部から出力された少なくとも一つの逸脱度を統合的に処理してネットワークの異常の有無を判断する制御部と、
を備え、
前記制御部は、
前記逸脱度と所定のしきい値との比較処理を行う逸脱度判定処理部と、
所定の時間的判断要素と所定のタイムアウト値との比較処理を行うタイムアウト判定処理部と、
を備えたことを特徴とするネットワーク異常検出装置。
【請求項２】
通常状態に加えてネットワークの異常検出を行う条件の異なる第１の状態および第２の状態の２つの判定状態がさらに定義されるとともに、前記所定のしきい値の一つとして第１のしきい値が設定され、前記逸脱度と前記第１のしきい値との比較処理の結果に基づいて前記判定状態が通常状態、第１の状態または第２の状態のいずれか一つの状態に設定されるとき、
前記制御部は、
前記判定状態が第１の状態のときには、アラートを発出するか否かの判断を行い、
前記判定状態が第２の状態のときには、アラートを発出するか否かの判断を保留することを特徴とする請求項１に記載のネットワーク異常検出装置。
【請求項３】
前記所定のタイムアウト値の一つとして第１のタイムアウト値が設定され、前記所定の時間的判断要素の一つとしてアラート発生間隔が設定されるとき、
前記タイムアウト判定処理部は、
前記判定状態が第１の状態のときに、前記アラート発生間隔と前記第１のタイムアウト値との比較処理の結果に基づいてアラートを発出するか否かを判断することを特徴とする請求項２に記載のネットワーク異常検出装置。
【請求項４】
前記所定のしきい値の一つとして第２のしきい値が設定され、前記所定のタイムアウト値の一つとして第２のタイムアウト値が設定され、前記所定の時間的判断要素の一つとして判定処理間隔が設定されるとともに、前記判定状態が第２の状態のとき、
前記タイムアウト判定処理部は、
前記判定処理間隔と前記第２のタイムアウト値との比較処理の結果に基づいて判定を継続するか否か判断し、
前記逸脱度判定処理部は、
当該判定を継続すると判断したときに前記逸脱度を累積加算した累積逸脱度を算出するとともに、当該累積逸脱度と前記第２のしきい値との比較処理の結果に基づいて前記第１の状態に遷移するか否かを判断することを特徴とする請求項３に記載のネットワーク異常検出装置。
【請求項５】
前記逸脱度出力生成部は、前記パケット情報から抽出される所定の特徴量の確率分布に基づいて生成される逸脱度を出力することを特徴とする請求項１〜４のいずれか一つに記載のネットワーク異常検出装置。
【請求項６】
前記逸脱度出力生成部は、前記パケット情報のペイロードから抽出されたペイロード文字の文字出現確率分布に基づいて生成される逸脱度を出力することを特徴とする請求項１〜４のいずれか一つに記載のネットワーク異常検出装置。
【請求項７】
前記逸脱度出力生成部は、
前記パケット情報から抽出される所定の特徴量の確率分布に基づいて生成される逸脱度と、
前記パケット情報のペイロードから抽出されたペイロード文字の文字出現確率分布に基づいて生成される逸脱度と、
を出力することを特徴とする請求項１〜５のいずれか一つに記載のネットワーク異常検出装置。
【請求項８】
前記逸脱度出力生成部は、所定のサーバが所定のサービスにおいてサーバとなる確率を表すサービス提供率に基づいて生成される逸脱度をさらに出力することを特徴とする請求項７に記載のネットワーク異常検出装置。
【請求項９】
ネットワークの通常状態からの逸脱の程度を表すものとして当該ネットワークに流れるパケット情報に基づいて生成される逸脱度に基づいてネットワークの状態の異常を検出するネットワーク異常検出方法であって、
ネットワークの状態が異常か否かの判断が行われる第１の状態と、ネットワークの状態が異常か否かの判断が保留される第２の状態とが定義され、
前記第１の状態のときに、
前記逸脱度と所定の第１のしきい値との比較処理を行う逸脱度判定処理ステップと、
アラート発生間隔と所定の第１のタイムアウト値との比較処理を行う第１のタイムアウト判定処理ステップと、
を含むことを特徴とするネットワーク異常検出方法。
【請求項１０】
前記逸脱度が前記第１のしきい値よりも小さいときに前記判定状態を通常状態から第２の状態に遷移させることを特徴とする請求項９に記載のネットワーク異常検出方法。
【請求項１１】
前記第２の状態のときに、
自身の判定処理間隔と所定の第２のタイムアウト値との比較処理を行う第２のタイムアウト判定処理ステップと、
前記第２のタイムアウト判定処理ステップの判定結果に基づいて前記逸脱度が累積加算された累積逸脱度がと所定の第２のしきい値との比較処理を行う累積逸脱度判定処理ステップと、
を含むことを特徴とする請求項１０に記載のネットワーク異常検出方法。
【請求項１２】
前記累積逸脱度が前記所定の第２のしきい値よりも大きいときに前記第２の状態から前記第１の状態に遷移させることを特徴とする請求項１１に記載のネットワーク異常検出方法。
【請求項１３】
請求項９〜１２のいずれか一つに記載の方法を電子計算機に実行させることを特徴とするネットワーク異常検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク回線の異常検出に関するものであり、特に簡易な構成で未知の異常をも検出可能なネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラムに関するものである。
【背景技術】
【０００２】
今や世界的規模にまで拡大したインターネットは、人類の社会的、経済的な基盤となり、その重要性は増すばかりである。重要性の増加に伴って、益々頻発する被害拡大が見られるのが、以前からも問題となっているネットワークに対する不正アクセスである。
【０００３】
ネットワーク管理者は、管理下のネットワークを常に安全かつ正常な状態に保つことが要求される。そこで広く用いられているのがファイアウォール（Ｆｉｒｅ  Ｗａｌｌ）や侵入検知装置（ＩＤＳ：Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）である。
【０００４】
ファイアウォールは、あらかじめ設定されたルールに基づいてネットワークの入口において、異常なパケットを遮断することによって安全を確保するための手段である。このファイアウォールによって行われる処理は、不必要なトラヒックを侵入させないという概念であるため、ルールによっては、ある程度の安全を確保できるという確立された方式である。しかし、それだけでは完全な安全確保を期待することができないため、ＩＤＳを併用することになる。ＩＤＳには既知の不正トラヒックの特徴（シグネチャ）を利用した不正アクセスの検出機能があり、この検出機能を用いることによって、既知の不正アクセスに対しては、ほぼ完全な検出が可能である（例えば、非特許文献１を参照）。
【０００５】
【非特許文献１】武田圭史、磯崎宏「ネットワーク侵入検知」、ソフトバンクパブリッシング株式会社、２０００
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近時、ＤｏＳ攻撃などに代表される未知の不正アクセス、ネットワークに対する妨害、あるいは突発的に起こるネットワーク障害などを検出するネットワークの異常検出が問題となっている。これらのネットワーク異常検出の分野においても多数の研究がなされているが、必ずといっていいほど問題になる点は、「通常状態をいかに定義するか」という点にある。そもそも、ネットワーク状態を通常状態と異常状態の２者択一に定義することはきわめて困難である。また、通常状態の定義が複雑な場合には、通常状態そのものを定義するのに多大な時間を要し、ネットワークの異常検出を迅速に行うことができないという問題点も存在する。
【０００７】
この発明は、上述した従来の欠点に鑑みてなされたものであり、簡易な手段にて定量的に定義されたネットワークの通常状態に基づいてネットワークの異常検出を行うネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１にかかるネットワーク異常検出装置は、ネットワークの状態の異常を検出するネットワーク異常検出装置であって、ネットワークに流れるパケット情報に基づいて当該ネットワークの通常状態からの逸脱の程度を表す逸脱度を出力する少なくとも一つの逸脱度出力生成部と、前記逸脱度出力生成部から出力された少なくとも一つの逸脱度を統合的に処理してネットワークの異常の有無を判断する制御部とを備え、前記制御部は、前記逸脱度と所定のしきい値との比較処理を行う逸脱度判定処理部と、所定の時間的判断要素と所定のタイムアウト値との比較処理を行うタイムアウト判定処理部とを備えたことを特徴とする。
【０００９】
この請求項１の発明によれば、ネットワークの通常状態からの逸脱の程度を表す少なくとも一つの逸脱度に対して所定のしきい値、あるいは所定のタイムアウト値との比較処理を行ってネットワークの異常の有無を判断するようにしているので、ネットワークの異常検出を簡易な手段で、定量的に行うことができる。
【００１０】
また、請求項２にかかるネットワーク異常検出装置は、上記の発明において、通常状態に加えてネットワークの異常検出を行う条件の異なる第１の状態および第２の状態の２つの判定状態がさらに定義されるとともに、前記所定のしきい値の一つとして第１のしきい値が設定され、前記逸脱度と前記第１のしきい値との比較処理の結果に基づいて前記判定状態が通常状態、第１の状態または第２の状態のいずれか一つの状態に設定されるとき、前記制御部は、前記判定状態が第１の状態のときには、アラートを発出するか否かの判断を行い、前記判定状態が第２の状態のときには、アラートを発出するか否かの判断を保留することを特徴とする。
【００１１】
また、請求項３にかかるネットワーク異常検出装置は、上記の発明において、前記所定のタイムアウト値の一つとして第１のタイムアウト値が設定され、前記所定の時間的判断要素の一つとしてアラート発生間隔が設定されるとき、前記タイムアウト判定処理部は、前記判定状態が第１の状態のときに、前記アラート発生間隔と前記第１のタイムアウト値との比較処理の結果に基づいてアラートを発出するか否かを判断することを特徴とする。
【００１２】
また、請求項４にかかるネットワーク異常検出装置は、上記の発明において、前記所定のしきい値の一つとして第２のしきい値が設定され、前記所定のタイムアウト値の一つとして第２のタイムアウト値が設定され、前記所定の時間的判断要素の一つとして判定処理間隔が設定されるとともに、前記判定状態が第２の状態のとき、前記タイムアウト判定処理部は、前記判定処理間隔と前記第２のタイムアウト値との比較処理の結果に基づいて判定を継続するか否か判断し、前記逸脱度判定処理部は、当該判定を継続すると判断したときに前記逸脱度を累積加算した累積逸脱度を算出するとともに、当該累積逸脱度と前記第２のしきい値との比較処理の結果に基づいて前記第１の状態に遷移するか否かを判断することを特徴とする。
【００１３】
また、請求項５にかかるネットワーク異常検出装置は、上記の発明において、前記逸脱度出力生成部は、前記パケット情報から抽出される所定の特徴量の確率分布に基づいて生成される逸脱度を出力することを特徴とする。
【００１４】
また、請求項６にかかるネットワーク異常検出装置は、上記の発明において、前記逸脱度出力生成部は、前記パケット情報のペイロードから抽出されたペイロード文字の文字出現確率分布に基づいて生成される逸脱度を出力することを特徴とする。
【００１５】
また、請求項７にかかるネットワーク異常検出装置は、上記の発明において、前記逸脱度出力生成部は、前記パケット情報から抽出される所定の特徴量の確率分布に基づいて生成される逸脱度と、前記パケット情報のペイロードから抽出されたペイロード文字の文字出現確率分布に基づいて生成される逸脱度とを出力することを特徴とする。
【００１６】
また、請求項８にかかるネットワーク異常検出装置は、上記の発明において、前記逸脱度出力生成部は、所定のサーバが所定のサービスにおいてサーバとなる確率を表すサービス提供率に基づいて生成される逸脱度をさらに出力することを特徴とする。
【００１７】
また、請求項９にかかるネットワーク異常検出方法は、ネットワークの通常状態からの逸脱の程度を表すものとして当該ネットワークに流れるパケット情報に基づいて生成される逸脱度に基づいてネットワークの状態の異常を検出するネットワーク異常検出方法であって、ネットワークの状態が異常か否かの判断が行われる第１の状態と、ネットワークの状態が異常か否かの判断が保留される第２の状態とが定義され、前記第１の状態のときに、前記逸脱度と所定の第１のしきい値との比較処理を行う逸脱度判定処理ステップと、アラート発生間隔と所定の第１のタイムアウト値との比較処理を行う第１のタイムアウト判定処理ステップとを含むことを特徴とする。
【００１８】
また、請求項１０にかかるネットワーク異常検出方法は、上記の発明において、前記逸脱度が前記第１のしきい値よりも小さいときに前記判定状態を通常状態から第２の状態に遷移させることを特徴とする。
【００１９】
また、請求項１１にかかるネットワーク異常検出方法は、上記の発明において、前記第２の状態のときに、自身の判定処理間隔と所定の第２のタイムアウト値との比較処理を行う第２のタイムアウト判定処理ステップと、前記第２のタイムアウト判定処理ステップの判定結果に基づいて前記逸脱度が累積加算された累積逸脱度がと所定の第２のしきい値との比較処理を行う累積逸脱度判定処理ステップとを含むことを特徴とする。
【００２０】
また、請求項１２にかかるネットワーク異常検出方法は、上記の発明において、前記累積逸脱度が前記所定の第２のしきい値よりも大きいときに前記第２の状態から前記第１の状態に遷移させることを特徴とする。
【００２１】
また、請求項１３にかかるネットワーク異常検出プログラムは、請求項９〜１２のいずれか一つに記載の方法を電子計算機に実行させることを特徴とする。
【発明の効果】
【００２２】
この発明にかかるネットワーク異常検出装置によれば、ネットワークの通常状態からの逸脱の程度を表す少なくとも一つの逸脱度に対して所定のしきい値、あるいは所定のタイムアウト値との比較処理を行ってネットワークの異常の有無を判断するようにしているので、ネットワークの異常検出を簡易な手段で、定量的に行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して、この発明の実施の形態であるネットワーク異常検出装置およびネットワーク異常検出方法について説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２４】
（装置の構成）
図１は、この実施の形態にかかるネットワーク異常検出装置の構成を示すブロック図である。同図に示すこの実施の形態にかかるネットワーク異常検出装置１は、タッピング装置１１によって収集された監視対象ネットワークに流れるパケット情報がそれぞれ入力され、この入力されたパケット情報に基づいて監視対象ネットワークが通常状態からどの程度懸け離れた状態にあるか否かの指標となる逸脱度を算出して出力する、第１の逸脱度出力生成部１０ａ、第２の逸脱度出力生成部１０ｂおよび第３の逸脱度出力生成部１０ｃの３つの逸脱度出力生成部を備えている。また、これらの３つの逸脱度出力生成部からのそれぞれの逸脱度出力が入力される制御部５と、逸脱していると判定された場合に、制御部５の判定出力に基づいてアラート（警報）を出力するアラート出力部８とを備えている。
【００２５】
さらに、制御部５は、逸脱度判定処理部６と、タイムアウト判定処理部７とを備えている。逸脱度判定処理部６は、上記３つの逸脱度出力生成部からそれぞれ出力される少なくとも一つの逸脱度出力を用いて所定のしきい値との比較処理を行って監視対象ネットワークの異常の有無を判断する。一方、タイムアウト判定処理部７は、時間的な要素に基づいて監視対象ネットワークの異常の有無を判断する。これらの逸脱度判定処理部６およびタイムアウト判定処理部７が行う処理は、ネットワークの状態に応じて両者が密接な関連を保持した処理が行われるが、これらの詳細については後述する。なお、この実施の形態では、３つの逸脱度出力生成部を備えた実施の形態を示しているが、必ずしもこの形態に限定されるものではなく、１以上の逸脱度出力生成部で構成されていればよい。
【００２６】
つぎに、この実施の形態にかかるネットワーク異常検出装置で行われる処理に対する理解を容易にするため、上記３つの逸脱度出力生成部（第１の逸脱度出力生成部１０ａ、第２の逸脱度出力生成部１０ｂ、第３の逸脱度出力生成部１０ｃ）の構成および動作について先に説明する。
【００２７】
（第１の逸脱度出力生成部の構成）
図２は、図１に示す第１の逸脱度出力生成部１０ａの構成を示すブロック図である。同図に示す第１の逸脱度出力生成部１０ａは、タッピング装置１１によって収集された監視対象ネットワークに流れるパケットを記憶（保持）する記憶部１２と、収集されたパケット情報から所定の特徴量を抽出する特徴量抽出部１３と、抽出された特徴量に基づいてネットワークの通常状態を定義する通常状態定義部１４と、ネットワークの通常状態からの逸脱度、すなわちネットワーク通常状態からどの程度懸け離れた状態にあるか否かの指標となる逸脱度（Ｃ）を算出して出力する逸脱度算出部１５と、を備えている。
【００２８】
特徴量抽出部１３は、ＴＣＰストリームなどから所定の特徴量を抽出する特徴量抽出部１８1〜１８pを備えている。通常状態定義部１４は、所定の特徴量を確率分布として構築する確率分布生成部２１1〜２１pを備えている。これらの確率分布生成部２１1〜２１pの添字は、特徴量抽出部１８1〜１８pの添字にそれぞれ対応している。
【００２９】
逸脱度算出部１５は、通常状態を定義するものとして確率分布生成部２１1〜２１pで定義された確率分布に基づいて、任意の時間帯に特徴量抽出部１８1〜１８pからそれぞれ伝達された特徴量が、通常状態と比較してどの程度逸脱した状態にあるのかを示す指標となる異常度を算出する異常度算出部２２1〜２２pと、異常度算出部２２1〜２２pにおいて算出された異常度の値を合成して出力する合成部２３と、を備えている。
【００３０】
なお、図２において、逸脱度算出部１５から通常状態定義部１４に対して情報の流れを示す矢印の向きが示されている。この矢印は、確率分布をダイナミックに更新する場合に、異常状態を検出したときの特徴量データを通常状態を定義するデータとして用いるかどうかの判断を行うためのしきい値情報の伝達を示すものである。
【００３１】
（ネットワークの通常状態の定義）
ここで、ネットワークの通常状態の定義について説明する。上述したように、ネットワークの異常状態を検出するためには、初めに、ネットワークの通常状態を定義しなければならない。ネットワークには様々な特徴を持ったトラヒックが混在しているため、全体を捉えようとすると通常状態を定義付けることができる情報のみを抽出することができない。つまり、トラヒックの観測単位が重要となる。トラヒックをどのような基準で観測し、そこからどのような情報を抽出するかには様々な手法がある。本願においては、フロー単位の観測を用いることにした。
【００３２】
ここでいうところのフローとは、ＲＴＦＭ（Ｒｅａｌｔｉｍｅ  Ｔｒａｆｆｉｃ  Ｆｌｏｗ  Ｍｅａｓｕｒｅｍｅｎｔ）で定義されたものであり、一般的なトラヒックモデルとして定義されたものである。また、このＲＴＦＭは、ネットワークを流れるパケットを通信の両端末によって集約したものであり、プロトコル、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号の５要素の同一組によって一つのフローが特定される。ＩＰトラヒックの場合、ＩＣＭＰトラヒックではポート番号の情報がないため、他の３要素による集約になるが、その際はタイムアウトを設けることでフローの終了を決定することができる。
【００３３】
フロー単位の観測を用いる理由は２つある。１つ目の理由は、タイムスロットによる集約方法等のように観測時間帯に依存することなく、２点間通信の独立した情報を抽出することができることにある。２つ目の理由は、状態を判別した際に原因となるホストの情報を迅速に得ることができることにある。特に、フロー単位で観測することで必然的に通信サービスの区別が明確になることは重要な点である。また、個々のサービスを独立させることで、そのサービスごとの特徴が際だち、適切なモデルを構築することができる。本願で提案するネットワーク異常検出装置、異常検出方法は、後述するようなサービスごとに独立した通常状態モデルを構築することで高精度の状態判別を可能としている。
【００３４】
つぎに実行しなければならないのが、トラヒック中のフローからネットワークの通常状態を定義する情報を抽出することにある。一方、異常状態とは定常状態とは懸け離れており、統計的に稀な状態にあることを意味する。つまり、ネットワークから抽出されたあるパラメータがトラヒックを構成する他のフローのパラメータと比べて稀な値をとる場合にそのパラメータの値を異常とすることができる。したがって、トラヒックの大部分を占める通常状態のモデルを構築するためには各フローから通常状態を定義付ける特徴量（統計量）を抽出する必要がある。
【００３５】
上述した事項に鑑み、第１の逸脱度出力生成部１０ａでは、ＩＰトラヒックの中でも特に重要なＴＣＰトラフィックに着目し、クライアント・サーバ間における一対の通信ポートによる通信単位であるＴＣＰストリームから所定の特徴量を抽出するようにしている。
【００３６】
（第１の逸脱度出力生成部で取り扱う特徴量の一例）
図３は、第１の逸脱度出力生成部１０ａで取り扱う特徴量の一例を示す図表である。同図に示すように、第１の逸脱度出力生成部１０ａでは、１３の特徴量を扱うようにしている。すなわち、具体的には、フロー継続時間、パケット時間間隔平均、パケット時間間隔標準偏差、パケット時間間隔変動係数、総パケット数、受信パケット数、送信パケット数、総バイト数、受信バイト数、送信バイト数、パケットあたりの総バイト数、パケットあたりの受信バイト数、およびパケットあたりの送信バイト数、の１３の特徴量である。なお、ここに示す特徴量は代表的な特徴量を示したものであり、この１３の特徴量に限定されるものではない。また、特徴量の数に関しても、この１３という数は、一例を示したものであり、算出時間や検出精度などとの関係を考慮して、１以上の任意の数とすることができる。
【００３７】
（第１の逸脱度出力生成部で行われる処理）
つぎに、第１の逸脱度出力生成部１０ａで行われる処理について説明する。図４は、第１の逸脱度出力生成部１０ａで行われる処理を示すフローチャートである。図４において、図２に示す通常状態定義部１４の確率分布生成部２１1〜２１pによって確率分布の生成処理が行われる（ステップＳ１０１）。ここでいう確率分布とは、例えば、各特徴量の値を確率変数とする正規分布などが用いられる。なお、後述する動作説明では、確率変数の変換処理によって正規分布を標準正規分布に変換する処理を行っているが、異常度を求めるという本質的な点において両者の差異はない。
【００３８】
ステップＳ１０１の処理の後、逸脱度算出部１５の異常度算出部２２1〜２２pによって個々（特徴量ごと）の異常度が算出される。（ステップＳ１０２）。この個々の異常度は、観測時点で得られた特徴量（確率変数）の存在確率を用いて算出される。なお、異常度の算出処理の詳細については後述する。ステップＳ１０２の処理で算出された各異常度は、合成部２３で出力合成される（ステップＳ１０３）。また、この合成出力は、逸脱度（Ｃ）として出力され（ステップＳ１０４）、ステップＳ１０２の処理に戻り、上記の各処理が繰り返される。なお、ステップ１０４で行われる逸脱度出力（Ｃ）の出力制御は、図１に示すネットワーク異常検出装置１の制御部５によって行われる。
【００３９】
なお、上記の処理では、確率分布の生成処理は最初に１度だけ行う処理としているが、逸脱度の判定の都度、確率分布の更新処理を行うようにしてもよい。また、逸脱度の判定処理に用いた特徴量を、確率分布の更新処理に用いるか否かを判定するような処理を含ませることもできる。
【００４０】
つぎに、通常状態定義部１４によって行われる確率分布の生成処理（ステップＳ１０１）の詳細について説明する。なお、ここに示す例では、取り扱う確率分布として正規分布を例にとり説明する。
【００４１】
特徴量抽出部１３によって抽出される特徴量は、フローを構成するパケット群のパケットヘッダから抽出される情報、あるいは、その一部から算出される情報である。これらの各特徴量をｃiで（ｉ＝１,２,・・・,１３）で表すとき、ｃiの値ｘは０付近に集まる傾向がある。そのため、次式で示される補正式によって自然対数に変換された値を用いた確率分布を定義する。
【００４２】
ｘ'＝ｌｎ（ｘ＋０．００００１）                ・・・（１）
【００４３】
つぎに、ｘ’の平均をμ、分散をσ2としたときの確率分布を正規分布によって近似する。各特徴量間の偏りをなくすために、次式で示される標準変換を行う。
【００４４】
【数１】
2005223847.tif 000003
【００４５】
このとき、特徴量ｃiに関する確率密度関数ｇi(ｚ)は、次式で表される。
【００４６】
【数２】
2005223847.tif 000004
【００４７】
いずれの特徴量においても、このｚの絶対値が平均値（標準正規分布の場合には“０”）から離れる度合いによって異常度を表現することができる。いま、特徴量ｃiに関する確率密度関数ｇi(ｚ)が定義されているとき、観測フローの特徴量ｃiの変換後の値がｚ’であることの希少性を次式にて示される確率Ｐiで表現する。
【００４８】
【数３】
2005223847.tif 000005
【００４９】
また、逸脱度の算出に際しては、シャノンによって定義された情報量（−ｌｏｇＰi）を個々の逸脱度として定義し、また、次式にて示される各特徴量の情報量（異常度）の合計値（Ｃ）をネットワークの逸脱度として定義する。
【００５０】
【数４】
2005223847.tif 000006
【００５１】
逸脱度算出部１５は、この式（５）にて算出された逸脱度（Ｃ）を出力する。図１に示すネットワーク異常検出装置は、監視対象のネットワークが正常状態にあるのか、異常状態にあるのかをこの逸脱度（Ｃ）を用いて判定する。
【００５２】
なお、図２に示す構成では、異常度算出部２２1〜２２pの出力を合成部２３にてそのまま加算しているが、特徴量の種類に応じた重み付け処理を施した後に加算してもよい。
【００５３】
（第２の逸脱度出力生成部の構成）
図５は、図１に示す第２の逸脱度出力生成部１０ｂの構成を示すブロック図である。同図に示す第２の逸脱度出力生成部１０ｂは、第１の逸脱度出力生成部１０ａの構成と基本的な構成は同一である。すなわち、第２の逸脱度出力生成部１０ｂは、タッピング装置１１によって収集された監視対象ネットワークに流れるパケットを記憶（保持）する記憶部１２と、収集されたパケット情報に基づいて所定の特徴量を抽出（算出）する特徴量抽出部１３と、抽出（算出）された特徴量に基づいてネットワークの通常状態を定義する通常状態定義部１４と、ネットワークの通常状態からの逸脱度、すなわちネットワーク通常状態からどの程度懸け離れた状態にあるか否かの指標となる逸脱度（Ｈ）を算出して出力する逸脱度算出部１５と、を備えている。
【００５４】
特徴量抽出部１３は、サーバホストに対するアクセス回数を算出するアクセス回数算出部３１と、サーバホストがサービスを提供した回数を算出するサービス回数算出部３２と、を備えている。通常状態定義部１４は、アクセス回数算出部３１から伝達されたアクセス回数と、サービス回数算出部３２から伝達されたサービス回数とに基づいて通常状態を定義するものとしてのサービス提供率を算出するサービス提供率算出部３４を備えている。
【００５５】
一方、逸脱度算出部１５は、通常状態を定義するものとしてサービス提供率算出部３４で定義されたサービス提供率に基づいて、任意の時間帯にアクセス回数算出部３１およびサービス回数算出部３２からそれぞれ伝達されたアクセス回数およびサービス回数に基づき、通常状態と比較してどの程度逸脱した状態にあるのかを示す指標となる異常度を算出する異常度算出部３５を備えている。
【００５６】
また、図５において、逸脱度算出部１５から通常状態定義部１４に対して情報の流れを示す矢印の向きが示されている。この矢印は、異常状態が検出されたときのアクセス回数およびサービス回数の情報をサービス提供率算出部で算出されるサービス提供率に反映させるか否かの判断を行うための情報の伝達を示すものである。
【００５７】
なお、第２の逸脱度出力生成部１０ｂにおけるネットワークの通常状態の定義は、第１の逸脱度出力生成部１０ａの場合のときと同様に、フロー単位ごとのアクセス回数、あるいはサービス回数の観測を行うようにしている。このようなフロー単位の観測を行うことで、アクセス回数やサービス回数のカウントを容易になるという利点を有する。
【００５８】
（第２の逸脱度出力生成部で行われる処理）
つぎに、第２の逸脱度出力生成部１０ｂで行われる処理について説明する。図６は、第２の逸脱度出力生成部１０ｂで行われる処理を示すフローチャートである。図６において、図５に示す特徴量抽出部１３のアクセス回数算出部３１によってアクセス回数の算出処理が行われる（ステップＳ２０１）。同様に、サービス回数算出部３２によってサービス回数の算出処理が行われる（ステップＳ２０２）。つぎに、逸脱度算出部１５の出力処理のタイミングか否かの判断が行われる（ステップＳ２０３）。逸脱度の出力処理が要求されていない場合には（ステップＳ２０３、Ｎｏ）、ステップＳ２０１の処理に戻り、逸脱度の出力処理が要求されている場合には（ステップＳ２０３、Ｙｅｓ）、ステップＳ２０４以下の処理を実行する。この処理以降、サービス提供率算出部によってサービス提供率の算出処理（ステップＳ２０４）が行われ、一方、異常度算出部によって異常度の算出処理（ステップＳ２０５）が行われ、図１に示すネットワーク異常検出装置１の制御部５によって逸脱度出力（Ｈ）の出力処理の制御が行われる（ステップＳ２０６）。なお、上述のステップＳ２０３の処理において、逸脱度の出力処理のタイミングは、第１の逸脱度出力生成部１０ａの場合と同様に、ネットワーク異常検出装置１の制御部５によって行われる。
【００５９】
つぎに、上述の処理の詳細について説明する。例えば、管理対象のネットワークにおいて、ネットワークの外部からのアクセスを許可しているＷｅｂサーバホストは所定の装置が割り当てられており、固定的な運用がなされるのがほとんどである。このような場合、ある一定期間においてすべてのサービスへのアクセス回数Ｎを測定（算出）し、さらにホストｓがサービスを提供した回数（サービス回数）ＡSを測定（算出）する。ある程度の期間の測定の後、あるサービスにおいてホストｓがサーバとなる確率（サービス提供率）をＰ（ｓ）とすると、このＰ（ｓ）は次式にて算出される。
【００６０】
Ｐ（ｓ）＝ＡS／Ｎ                              ・・・（６）
【００６１】
式（６）で表されるサービス提供率が正常状態のモデルとなる。あるサービスにおいてサーバホストとなる確率が低いホストがサーバホストとなることは単純に統計的に稀であるという点で異常状態である。その異常の程度を数値的に表現する際にはシャノンの定義する情報量を用いるのが好適である。すなわち、あるサービスにおいてホストｓがサーバとなるときの異常度をＨですると、このＨは次式にて算出される。
【００６２】
Ｈ＝−ｌｏｇＰ（ｈ）                            ・・・（７）
【００６３】
式（７）で与えられる情報量は、その事象が起こることで得られる情報の大きさであり、その事象が稀であることは得られる情報量が大きいということである。つまり、上記モデルで与えられた確率Ｐ（ｓ）によって異常度を数値化することができている。
【００６４】
逸脱度算出部１５は、この式（７）にて算出された異常度を逸脱度（Ｈ）として出力する。図１に示すネットワーク異常検出装置は、監視対象のネットワークが正常状態にあるのか、異常状態にあるのかをこの逸脱度（Ｈ）を用いて判定する。
【００６５】
（第３の逸脱度出力生成部の構成）
図７は、図１に示す第３の逸脱度出力生成部１０ｃの構成を示すブロック図である。同図に示す第３の逸脱度出力生成部１０ｃは、第１の逸脱度出力生成部１０ａおよび第２の逸脱度出力生成部１０ｂの構成と基本的な構成は同一である。すなわち、同図に示す第３の逸脱度出力生成部１０ｃは、タッピング装置１１によって収集された監視対象ネットワークに流れるパケットを記憶（保持）する記憶部１２と、収集されたパケット情報から所定の特徴量を抽出する特徴量抽出部１３と、抽出された特徴量に基づいてネットワークの異常検出の基準となる状態、すなわち、ネットワーク通常状態を定義する通常状態定義部１４と、ネットワーク通常状態からの逸脱度、すなわちネットワーク通常状態からどの程度懸け離れた状態にあるか否かの指標を算出して出力する逸脱度算出部１５と、を備えている。
【００６６】
特徴量抽出部１３は、例えば、ＳｅｎｄｍａｉｌやＰｏｒｔＳｗｅｅｐのような特定の攻撃（別な見方をすれば通信サービス）が行われる際に、この通信サービスのフローの中の所定の部分（例えばペイロード）に着目し、このペイロードに記述されている文字を抽出するペイロード文字抽出部４１1〜４１hを備えている。これらのペイロード文字抽出部４１1〜４１hの添字ｈは、抽出対称の通信サービスの数（あるいは種類）を表しており、通信サービスごとにペイロードの文字が抽出される。通常状態定義部１４は、ペイロードの部分に記述されている文字列から各文字の出現確率分布を構築する文字出現確率分布生成部４２1〜４２hを備えている。なお、これらの文字出現確率分布生成部４２1〜４２hの添字ｈは、ペイロード文字抽出部４１1〜４１hの添字にそれぞれ対応する。すなわち、文字出現確率分布生成部４２1〜４２hでは、ペイロード文字抽出部４１1〜４１hで取り扱われた通信サービスごとに、この通信サービスに対応した文字出現確率分布（ヒストグラム）が生成されることになる。
【００６７】
一方、逸脱度算出部１５は、通常状態を定義するものとして文字出現確率分布生成部４２1〜４２hで定義された文字出現確率分布に基づいて、任意の時間帯にペイロード文字抽出部４１1〜４１pからそれぞれ伝達された特徴量に基づき、更新予定の文字出現確率分布が通常状態と比較してどの程度逸脱した状態にあるのかを示す指標となる適合度検定量を算出する適合度検定量算出部４３1〜４３hを備えている。
【００６８】
また、図７において、逸脱度算出部１５から通常状態定義部１４に対して情報の流れを示す矢印の向きが示されている。この矢印は、異常状態が検出されたときのペイロード文字情報を文字出現確率分布に反映させるか否かの判断を行うための情報の伝達を示すものである。
【００６９】
なお、第３の逸脱度出力生成部１０ｃにおけるネットワークの通常状態の定義は、第１の逸脱度出力生成部１０ａおよび第２の逸脱度出力生成部１０ｂの場合と同様に、フロー単位の観測を行うようにしている。具体的には、フロー単位を構成するパケットのペイロードの部分に着目し、通常状態を定義する情報としてペイロードの部分に書き込まれた文字の出現確率を用いるようにしている。なお、フロー単位で観測することで必然的に通信サービスの区別が明確になり、また、後述するようなサービスごとに独立した通常状態モデルを構築することで高精度の状態判別が可能となる。
【００７０】
（第３の逸脱度出力生成部で行われる処理）
つぎに、第３の逸脱度出力生成部１０ｃで行われる処理について説明する。図８は、第３の逸脱度出力生成部１０ｃで行われる処理を示すフローチャートである。同図において、図７に示す通常状態定義部１４の文字出現確率分布生成部４２1〜４２hによって文字出現確率分布の生成処理が行われる（ステップＳ３０１）。つぎに、逸脱度算出部１５の適合度検定量算出部４３1〜４３hによって通信サービスごとに適合度検定が行われる。この適合度検定では、特徴量抽出手段から伝達されたペイロード文字と文字出現確率分布生成部４２1〜４２hで定義（生成）された文字出現確率分布の分布情報とに基づいて生成される通信サービスごとの所定の統計量に対して所定の修正を加えて算出した適合度検定量の算出処理が行われ（ステップＳ３０２）、図１に示すネットワーク異常検出装置１の制御部５によって適合度検定量そのものである逸脱度出力（Ｔ）の出力処理の制御が行われる（ステップＳ３０３）。
【００７１】
なお、上記の適合度検定における所定の統計量として、例えば、χ2検定（カイ２乗検定）に基づくカイ２乗値などを用いることができる。また、これらのχ2検定に基づく適合度検定量の算出処理の詳細については後述する。
【００７２】
なお、図８に示すフローチャートでは、文字出現確率分布の生成処理は最初に１度だけ行う処理としているが、逸脱度と所定のしきい値との比較処理の都度、文字出現確率分布の更新処理を行うようにしてもよい。また、逸脱度の比較処理に用いた文字情報を、文字出現確率分布の更新処理に用いるか否かを判定するような処理を含ませてもよい。
【００７３】
つぎに、通常状態定義部１４によって行われる文字出現確率分布の生成処理の詳細について説明する。この生成処理では、各通信サービスのペイロード部分を１バイトの文字（２8＝２５６種類）から構成される文字列として捉え、各文字の出現確率をモデル化する。このモデル化によって、サービスごとに２５６クラスを持つ文字コードのヒストグラムが構築される。このとき、文字種に関わらず相対頻度（出現確率）の値の大小によって降順にソートする。このように降順にソートされた順位によって変換された出現確率に基づいて単調減少のヒストグラムが生成される。このヒストグラムが、上記でいうところの文字出現確率分布である。
【００７４】
つぎに、逸脱度算出部１５によって行われる適合度検定および適合度検定量の算出処理について説明する。まず、適合度検定は、上述したχ2検定を用いて行われる。なお、このχ2検定では、ペイロードを構成する文字種を２５６種としているため、検定統計量は、自由度２５５のχ2分布に従うことになる。いま、文字出現確率分布の生成処理で生成された文字出現確率分布において、ある文字ｋの理論出現度数をＥkとし、所定のサービスでのこの文字ｋの実測出現度数をＯkとするとき、このフローにおける適合度検定量は、次式で表すことができる。
【００７５】
【数５】
2005223847.tif 000007
【００７６】
一般的に、式（８）におけるＸの値は、合計実測度数でもある観測されたフローのペイロードを構成する全文字数Ｌに伴って増加する傾向がある。すなわち、データサイズが大きいだけで適合度検定量そのものの値が大きくなってしまう。そこで、ここでは、以下の観点を考慮した、新たな指標を算出する。
【００７７】
すなわち、式（８）に示す適合度検定量をデータサイズで平均化した値を新たな指標とする。また、各フローにおいて、文字の偏りが文字出現確率分布の上位数クラスにのみ顕著に見られるという特性を利用し、上位の２０クラスのみを検定対象とするようにする。このような条件にて算出される（修正される）適合度検定量を逸脱度（Ｔ）として定義すれば、この逸脱度（Ｔ）は、次式で表されることになる。
【００７８】
【数６】
2005223847.tif 000008
【００７９】
なお、この逸脱度（Ｔ）は、式（９）に示されるように各フローの通信量と等価なデータサイズで除算しているので、各フローの通信量に依存することのない指標としての性質を有するとともに、算出時間を大幅に短縮（２５６文字種→２０文字種）することもできる。また、この逸脱度（すなわち適合度検定量）の算出では、算出クラス数を２０文字種としているが、この２０文字種に限定されるものではなく、サービスの種類や算出時間を考慮して１以上２５６以下の任意の整数値を選択することができる。
【００８０】
逸脱度算出部１５は、この式（９）にて算出された逸脱度（Ｔ）を出力する。図１に示すネットワーク異常検出装置は、監視対象のネットワークが正常状態にあるのか、異常状態にあるのかをこの逸脱度（Ｈ）を用いて判定する。
【００８１】
（この実施の形態で行われる処理）
つぎに、この実施の形態にかかるネットワーク異常検出装置で行われる処理について説明する。図９は、この実施の形態のネットワーク異常検出装置で行われる段階的状態判別手法を示すフローチャートである。より詳細には、ネットワーク異常検出装置で行われる処理フローを状態遷移図上に表した図である。同図に示すように、この実施の形態のネットワーク異常検出装置では、「ｄａｎｇｅｒ（危険な状態）」と、「ｓｕｓｐｉｃｉｏｕｓ（疑わしい状態）」との、２つの状態を定義している。これらの２つの状態を定義するのは、より的確な判定を行うこと、すなわち、検出確率を増大させ、同時に誤警報率を低下させること目的とする段階的状態判別手法を適用するためである。
【００８２】
この実施の形態でいうところの段階的状態判別手法とは、以下の特徴を有している。
（１）  検出確率を増加させ、あるいは誤警報を抑制するため、状態を「ｄａｎｇｅｒ」と「ｓｕｓｐｉｃｉｏｕｓ」との２段階に分けて判定を行う。
（２）  しきい値を超えない程度の逸脱度を持つフローについても状態判別を保留する段階を設ける。
（３）  誤検出数や同じ事象に対する複数の警告を抑制するためにタイムアウトを設けた判定を行う。
【００８３】
なお、段階的状態判別手法の簡便な手法として、例えば、「ｄａｎｇｅｒ」が１回、「ｓｕｓｐｉｃｉｏｕｓ」が５回観測された場合にアラートを発生するような簡単な判定手法を用いることも可能である。
【００８４】
つぎに、図９において、３つの逸脱度出力生成部（第１の逸脱度出力生成部１０ａ、第２の逸脱度出力生成部１０ｂおよび第３の逸脱度出力生成部１０ｃ）のそれぞれは、制御部５からの出力指示、あるいは独自に自身が生成した上述の逸脱度出力（逸脱度出力（Ｃ）、逸脱度出力（Ｈ）、逸脱度出力（Ｔ））を算出して制御部５に出力し（ステップＳ４００）、ステップＳ４０１の処理に移行する（遷移Ｊ１）。制御部５の逸脱度判定処理部６では、上記３つの逸脱度出力に基づいた逸脱度（ＡＳ）が生成され、所定のしきい値（Ｑ1）との比較処理が行われる（ステップＳ４０１）。逸脱度（ＡＳ）が所定のしきい値（Ｑ1）より大きい場合（ステップＳ４０１、Ｙｅｓ）には、ステップＳ４０２の処理に移行し（遷移Ｋ１）、状態が「ｄａｎｇｅｒ」に設定される。一方、逸脱度（ＡＳ）が所定のしきい値（Ｑ1）以下の場合（ステップＳ４０１、Ｎｏ）には、ステップＳ４０３の処理に移行し（遷移Ｋ２）、状態が「ｓｕｓｐｉｃｉｏｕｓ」に設定される。
【００８５】
状態が「ｄａｎｇｅｒ」に設定されているとき、タイムアウト判定処理部７では、誤検出を抑制し、あるいは同じ事象に対する複数の警告を回避することを目的としたタイムアウトの判定処理が行われる（ステップＳ４０２）。より詳細には、前回、アラート（警告）の出力対象となったサーバホストと同一サーバホストに対してアラートが出力される場合、これらのアラートの発出間隔であるアラート発出間隔（Ｉｎｔ１）と所定のタイムアウト値（Ｔ1）との比較処理が行われる。アラート発出間隔（Ｉｎｔ１）が所定のタイムアウト値（Ｔ1）より大きい場合（ステップＳ４０２、Ｙｅｓ）には、アラートが出力され（遷移Ｌ１）、一方、アラート発出間隔（Ｉｎｔ１）が所定のタイムアウト値（Ｔ1）以下の場合（ステップＳ４０２、Ｎｏ）には、ステップＳ４００の処理に戻る（遷移Ｌ２）。また、このステップＳ４０２の処理が行われた場合、状態「ｄａｎｇｅｒ」が解除される。
【００８６】
他方、ステップＳ４０１の処理の後、状態が「ｓｕｓｐｉｃｉｏｕｓ」に設定されたとき（遷移Ｋ２）、タイムアウト判定処理部７では、個々のフローではしきい値を超えないが、短時間に同事象と捉えられる大量のフローが生成される場合などの事象の検出を目的としたタイムアウトの判定処理が行われる（ステップＳ４０３〜Ｓ４０５）。すなわち、判定処理間隔（Ｉｎｔ２）と所定のタイムアウト値（Ｔ2）との比較処理が行われ（ステップＳ４０３）、判定処理間隔（Ｉｎｔ２）が所定のタイムアウト値（Ｔ2）より大きい場合（ステップＳ４０３、Ｙｅｓ）には、同一事象として捉えることのできない時間間隔であるものとしてステップＳ４００の処理に戻り（遷移Ｍ１）、状態「ｓｕｓｐｉｃｉｏｕｓ」が解除される。一方、判定処理間隔（Ｉｎｔ２）が所定のタイムアウト値（Ｔ2）以下の場合（ステップＳ４０３、Ｎｏ）には、同一事象として捉えることのできる時間間隔であるものとしてステップＳ４０４の処理に移行する（遷移Ｍ２）。
【００８７】
つぎに、逸脱度判定処理部６では、逸脱度の累積処理が行われ（ステップＳ４０４）、ステップＳ４０５の処理に移行する（遷移Ｎ１）。さらに、逸脱度判定処理部６では、ステップＳ４０４で生成された累積逸脱度（ＣＡＳ）の判定処理が行われる（ステップＳ４０５）。累積逸脱度（ＣＡＳ）が所定のしきい値（Ｑ2）より大きい場合（ステップＳ４０５、Ｙｅｓ）には、ステップＳ４０２の処理に移行し（遷移Ｐ１）、状態が「ｄａｎｇｅｒ」に変更される。一方、累積逸脱度（ＣＡＳ）が所定のしきい値（Ｑ2）以下の場合（ステップＳ４０５、Ｎｏ）には、ステップＳ４００の処理に戻り（遷移Ｐ２）、状態「ｓｕｓｐｉｃｉｏｕｓ」が解除される。
【００８８】
以上説明してきた内容は、この実施の形態のネットワーク異常検出装置で行われる処理に関する定性的な内容であった。つぎに、この実施の形態のネットワーク異常検出装置で行われる処理の詳細について数式や具体的な数値例を用いて説明する。
【００８９】
上記では、第１〜第３の逸脱度出力生成部が出力する３種の統計量についてのモデル（確率分布、サービス提供率および文字出現確率分布）の構築と逸脱度の数値化について説明してきた。本願発明は、これら３種の統計量の逸脱度について統合的判断を行うものであり、着目するフローの逸脱度を３種の統計量の逸脱度の和として捉えることができる。
【００９０】
すなわち、上記で説明した３つの逸脱度出力（逸脱度出力（Ｃ）、逸脱度出力（Ｈ）、逸脱度出力（Ｔ））に基づいた逸脱度（ＡＳ）は、次式で表すことができる。
【００９１】
ＡＳ＝Ｃ＋Ｈ＋Ｔ                                ・・・（１０）
【００９２】
式（１０）は、３者を単純に加算したものであるが、この段階で、次式のように所定の係数を用いて重み付けを行ってもよい。
【００９３】
ＡＳ＝ｕＣ＋ｖＨ＋ｗＴ                          ・・・（１１）
【００９４】
これらの重み付け値の最適値を決定するのは難しい一面があるが、本願発明によるネットワークの評価を通じて蓄積されたデータに基づいて、経験的に決定することは可能であると考える。
【００９５】
つぎに、着目しているフローにおいて、上記の式（１０）または式（１１）にて算出された逸脱度によって、そのフローの状態判別の基準を定める。この状態判別では、異常状態は稀であるという統計的根拠が用いられる。すなわち、算出された逸脱度の値にしきい値を設け、このしきい値を超える逸脱度を持つフローは異常と判断される。ここで、このしきい値の設定にはチェビチェフの不等式を用いることが好適である。より具体的に説明すると、あらかじめ通常状態における逸脱度、つまりモデル構築の際に用いたデータに含まれるフロー群自身の逸脱度を算出しておき、その逸脱度の分布から通常状態と判断されるべき逸脱度の許容範囲を設定する。
【００９６】
チェビシェフの不等式は、確率変数Ｘが平均値μから標準偏差σのａ倍以上離れている確率Ｐ（｜Ｘ−μ｜≧ａσ）が、全体の１／ａ2以下であることを示す次式で表される。
【００９７】
Ｐ（｜Ｘ−μ｜≧ａσ）≦１／ａ2                ・・・（１２）
【００９８】
式（１２）を用いれば、通常状態のフローにおける逸脱度ＡＳを確率変数として、その平均値μと標準偏差σを求め、式（１２）を満足するａを設定することによって全体の１／ａ2以下の稀少性で異常と判断することができるしきい値ａσを設定することができる。
【００９９】
ここで、図９のフローチャートの処理フローについて具体的な数字を用いて説明する。あるサービスに関する新たなフローの生成直後にそのフローの逸脱度ＡＳが算出される（ステップＳ４００）。その逸脱度（ＡＳ）が、しきい値（Ｑ1）より大きい場合（ステップＳ４０１、Ｙｅｓ）には、状態「ｄａｎｇｅｒ」に移行し、管理者にアラートが発出される。このとき、同事象とみなされる事象、すなわち同じクライアントまたは同じサーバに関するアラートがタイムアウト時間（例えば６０［ｓｅｃ］；図９に示すところのタイムアウト値（Ｔ1））以内に発生していた場合には、そのアラート出力を抑制する（ステップＳ４０２）。
【０１００】
一方、逸脱度（ＡＳ）が、しきい値（Ｑ1）以下（ステップＳ４０１、Ｎｏ）である場合には、状態を「ｓｕｓｐｉｃｉｏｕｓ」に遷移させ（遷移Ｋ２）、サービス、ホストごとに逸脱度（ＡＳ）を累積した累積逸脱度（ＣＡＳ）を生成する（ステップＳ４０４）。この累積逸脱度（ＣＡＳ）がタイムアウト時間（例えば３００［ｓｅｃ］；図９に示すところのタイムアウト値（Ｔ2））以内に（ステップＳ４０３、Ｎｏ）、しきい値（Ｑ1）の１０倍の値（すなわち、図９に示すところのしきい値（Ｑ2＝Ｑ1×１０））を超えた場合には（ステップＳ４０５、Ｙｅｓ）、状態を「ｄａｎｇｅｒ」に遷移させる（遷移Ｐ１）。このように、状態「ｓｕｓｐｉｃｉｏｕｓ」を設けることによって、個々のフローでは、しきい値を超えない程度の逸脱度であっても短時間に同事象として捉えられるような大量のフローが生成される場合にアラートを出力することができ、例えば、ｆｌｏｏｄ系ＤｏＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）などの異常に対してアラートが出力されないという事象の発生を抑制することができるという効果を呈する。
【０１０１】
（この実施の形態の装置の評価）
この実施の形態のネットワーク異常検出装置の評価として、以下に示すデータセットを用いた実験を行った。
「１９９９  ＤＡＲＰＡ  ｏｆｆ−ｌｉｎｅ  ｉｎｔｒｕｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ  ｅｖａｌｕａｔｉｏｎ  ｔｅｓｔ  ｓｅｔ，ｈｔｔｐ：／／ｗｗｗ．ｌｌ．ｍｉｔ．ｅｄｕ／ＩＳＴ／ｉｄｅｖａｌ／ｉｎｄｅｘ．ｈｔｍｌ」
【０１０２】
このデータセットには、Ｗｅｅｋ１〜Ｗｅｅｋ５までの合計５週間分のトラヒックデータがあり、週ごとに用途が異なっている。これらのデータの中で、Ｗｅｅｋ１およびＷｅｅｋ３は攻撃が全く含まれていないと保証された通常状態のデータであり、Ｗｅｅｋ２は数回の攻撃が含まれていることが既知である攻撃用のデータである。また、Ｗｅｅｋ４とＷｅｅｋ５は同様に数回の攻撃が含まれており、性能評価を測定するための評価用データである。今回の実験においては、通常状態モデル構築用データとしてＷｅｅｋ１とＷｅｅｋ３のデータを用い、これらのデータによって上述のモデル（確率分布、サービス提供率および文字出現確率分布）を構築し、Ｗｅｅｋ４とＷｅｅｋ５のデータに含まれる既知攻撃を検出することを試みた。
【０１０３】
使用するデータは、以下に示すサイトにて収集されたパケットダンプデータを用いている。
ｔｃｐｄｕｍｐ／ｌｉｂｐｃａｐ，ｈｔｔｐ：／／ｗｗｗ．ｔｃｐｄｕｍｐ．ｏｒｇ／
【０１０４】
また、本願手法は、ネットワーク内のサーバホストに関して通信サービス別に上述のモデルを構築する手法であるため、検出対象となるトラヒックはネットワーク内のホストがサーバとなるＩＰトラヒックであり、データセット内には１６５個の検出対象攻撃が含まれることになる。この攻撃は複数のサービスにまたがっている場合や、同一サービスだとしても複数のフローによって構成されている場合がある。今回の評価実験においては既知攻撃を構成するフローの少なくとも一つのフローに対してアラートを発生することができれば、その攻撃の検出が成功したものとした。
【０１０５】
また、既知攻撃以外のフローに対してアラートが発出された場合を誤検出とした。その際、既知攻撃以外でも異常が自明であるフロー（例えば、すべてのＴＣＰ／ＳＹＮパケットで構成されているようなフロー）については、誤検出数には含めなかった。さらに、逸脱度の数値化の際には、学習時に一度も出現しなかったサービスや、サーバホストに関する逸脱度はあらかじめ設定された大きな値とした。さらには、しきい値設定の際はａ＝６とし、全体の１／ａ2＝１／６2以下となるような、逸脱度を状態判別の基準とした。
【０１０６】
（実験結果）
検出率などの性能評価は、以下に示す文献に記載された評価結果を参照した。
「Ｄｅｔｅｃｔｉｎｇ  Ｎｏｖｅｌ  Ａｔｔａｃｋｓ  ｂｙ  Ｉｄｅｎｔｙｆｙｉｎｇ  Ａｎｏｒｍａｌｏｕｓ  Ｎｅｔｗｏｒｋ  Ｐａｃｋｅｔ  Ｈｅａｄｅｒｓ，Ｖ．Ｍａｈｏｎｅｙ  ａｎｄ  Ｐｈｉｌｉｐ  Ｋ．Ｃｈａｎ，Ｆｌｏｒｉｄａ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｔｅｃｈｎｏｌｏｇｙ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＣＳ−２００１−２」
【０１０７】
上記文献では、代表的なＩＤＳである「ＰＨＡＤ」の検出精度について、種々のＩＤＳ、例えば、「Ｅｘｐｅｒｔ−１」、「Ｅｘｐｅｒｔ−２」、「ＤＭｉｎｅ」、「Ｆｏｒｅｎｓｉｃｓ」の検出精度との比較が行われ、「ＰＨＡＤ」の優位性を示すデータが紹介されている。
【０１０８】
そこで、この実施の形態のネットワーク異常検出装置と上記文献に示されたＰＨＡＤとの比較を行った。比較に際し、上記文献で用いられた同一データセットを用い、また、１日に１０個の誤検出を許容するという条件も同一とした。また、検出対象とする攻撃の種類として、シグネチャ方式による検出を無力化することができ、豊富な攻撃のバリエーションが可能なＰｒｏｂｅ攻撃、ＤｏＳ攻撃、Ｒ２Ｌ攻撃、あるいはこれらの複合攻撃に限定した。
【０１０９】
図１０は、この実施の形態のネットワーク異常検出装置と代表的なＩＤＳとの検出精度の比較結果を示す図表である。なお、ＰＨＡＤに関しては、Ｐｒｏｂｅ＆ＤｏＳ＆Ｒ２Ｌによる複合攻撃に関する検出精度のデータはない。同図に示すように、この実施の形態のネットワーク異常検出装置は、ＰＨＡＤよりも優れた性能値を示している。また、本願装置のＰｒｏｂｅ＆ＤｏＳ＆Ｒ２Ｌによる複合攻撃に対する検出精度が７４％であり、一方、ＤｏＳ攻撃単独による検出精度において、本願装置が７２％であり、ＰＨＡＤが４８％であることを鑑みれば、Ｐｒｏｂｅ＆ＤｏＳ＆Ｒ２Ｌによる複合攻撃に関して類推すれば、あらゆる複合攻撃に関しても本願装置のＰＨＡＤに対する優位性が保証される。
【０１１０】
図１１は、採用する統計量（モデル）の数を単独あるいは２種にした場合の検出精度の比較結果を示す図表である。同図に示す結果は、対象トラヒックをＴＣＰトラヒックのみに限定しており、検出対象攻撃数は１４５個である。Ｂ（逸脱度(Ｈ)）のみの場合は誤検出数が多数となっているが、Ａ（逸脱度(Ｃ)）のみ、あるいはＣ（逸脱度(Ｔ)）のみの場合は、誤検出数が大幅に減少している。また、採用する統計量の数の増加に伴って検出精度が向上していることが明らかであり、３種の統計量の逸脱度を統合的に捉えた場合には許容誤検出数（１００）の範囲内において最大の検出率を示している。この結果により、統計量を統合的に用いることの有効性が結論できる。
【０１１１】
以上説明したように、この実施の形態のネットワーク異常検出装置によれば、３種の統計量の逸脱度を統合的に捉えるようにしているので、ネットワークの異常検出を迅速に行うことができ、検出精度を増加させることができる。
【０１１２】
なお、この実施の形態では、専用の装置を用いた構造について説明したが、本発明の適用対象は、必ずしも実施の形態に限定して解釈する必要はない。また、具体的構造についても、図１および図９のブロック図に示されるものに限定して解釈する必要はなく、上記の手法を用いてネットワークの異常を検出するのであればよい。さらには、上記の手法をアルゴリズムとして記載したプログラムを用いてコンピュータ等の電子計算機に実行させる構造としてもよい。
【産業上の利用可能性】
【０１１３】
以上のように、この発明にかかるネットワーク異常検出装置は、ネットワーク回線の異常検出に有用であり、特に、未知のネットワーク異常の検出に適している。
【図面の簡単な説明】
【０１１４】
【図１】この実施の形態にかかるネットワーク異常検出装置の構成を示すブロック図である。
【図２】第１の逸脱度出力生成部１０ａの構成を示すブロック図である。
【図３】第１の逸脱度出力生成部１０ａで取り扱う特徴量の一例を示す図表である。
【図４】第１の逸脱度出力生成部１０ａで行われる処理を示すフローチャートである。
【図５】第２の逸脱度出力生成部１０ｂの構成を示すブロック図である。
【図６】第２の逸脱度出力生成部１０ｂで行われる処理を示すフローチャートである。
【図７】第３の逸脱度出力生成部１０ｃの構成を示すブロック図である。
【図８】第３の逸脱度出力生成部１０ｃで行われる処理を示すフローチャートである。
【図９】この実施の形態のネットワーク異常検出装置で行われる段階的状態判別手法を示すフローチャートである。
【図１０】この実施の形態のネットワーク異常検出装置と代表的なＩＤＳとの検出精度の比較結果を示す図表である。
【図１１】採用する統計量（モデル）の数を単独あるいは２種にした場合の検出精度の比較結果を示す図表である。
【符号の説明】
【０１１５】
１  ネットワーク異常検出装置
５  制御部
６  逸脱度判定処理部
７  タイムアウト判定処理部
８  アラート出力部
１０ａ  第１の逸脱度出力生成部
１０ｂ  第２の逸脱度出力生成部
１０ｃ  第３の逸脱度出力生成部
１１  タッピング装置
１２  記憶部
１３  特徴量抽出部
１４  通常状態定義部
１５  逸脱度算出部
１８1〜１８p  特徴量抽出部
２０  ネットワーク異常検出装置
２１1〜２１p  確率分布生成部
２２1〜２２p  異常度算出部
２３  合成部
３１  アクセス回数算出部
３２  サービス回数算出部
３４  サービス提供率算出部
３５  異常度算出部
４１1〜４１h  ペイロード文字抽出部
４２1〜４２h  文字出現確率分布生成部
４３1〜４３h  適合度検定量算出部
【図１】
2005223847.tif 000009
【図２】
2005223847.tif 000010
【図３】
2005223847.tif 000011
【図４】
2005223847.tif 000012
【図５】
2005223847.tif 000013
【図６】
2005223847.tif 000014
【図７】
2005223847.tif 000015
【図８】
2005223847.tif 000016
【図９】
2005223847.tif 000017
【図１０】
2005223847.tif 000018
【図１１】
2005223847.tif 000019