(57)【要約】【課題】不正アクセスを検知する場合に、時系列データの動向を反映した異常の検知を可能とする。【解決手段】不正アクセス検知装置１００は、ログを取得するデータ取得部１０１と、ログから時系列データを生成する集計部１０２と、主成分分析により、前記時系列データから定常状態特徴量を複数抽出し、かつ、定常状態特徴量が複数抽出された時系列データよりも後の時刻の新規データの新規データ特徴量を抽出する分析部１０３と、定常状態特徴量領域を定義する定常状態定義部１０７と、定常状態特徴量領域と新規データ特徴量とのマハラノビス距離が閾値を越えるかを判定する異常検知部１０４と、閾値を越えると判定された場合に、定常状態特徴量領域に対応する時系列データに対して新規データ特徴量に対応する新規データが上昇傾向にあるかどうかを判定して上昇傾向にある場合に異常が発生したと判定する傾向判定部１０５とを備えた。【選択図】図２
2009217555.tif 000002
【特許請求の範囲】
【請求項１】
数値を示す時系列データのうち所定期間の定常状態の時系列データに対して主成分分析を行って定常状態の時系列データの特徴量である定常状態特徴量を複数抽出し、定常状態の時系列データよりも後の時刻の時系列データである新規データに対して主成分分析を行って新規データの特徴量である新規データ特徴量を抽出する分析部と、
前記分析部が抽出した複数の定常状態特徴量に基づいて、複数の定常状態特徴量が分布する定常状態特徴量領域を定義する定常状態定義部と、
前記定常状態定義部が定義した定常状態特徴量領域と、新規データ特徴量とのマハラノビス距離が予め設定された閾値を越えるかどうかを判定する距離判定部と、
前記距離判定部が定常状態特徴量領域と新規データ特徴量とのマハラノビス距離が予め設定された閾値を越えると判定した場合に、定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定し、上昇傾向にあると判定した場合に、異常が発生したと判定する傾向判定部とを備え、
前記傾向判定部は、
定常状態の時系列データにおける平均値μ及び標準偏差σを導出し、定常状態の時系列データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルであるかどうかで異なる判定基準を選択し、選択した判定基準を用いて定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定することを特徴とするネットワーク異常判定装置。
【請求項２】
前記傾向判定部は、
定常状態の時系列データにおけるμ±ｎσの値がゼロレベルである場合に、定常状態の時系列データにおける最大値と新規データの数値とを用いて、定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定することを特徴とする請求項１に記載のネットワーク異常判定装置。
【請求項３】
前記傾向判定部は、
定常状態の時系列データにおけるμ±ｎσの値がゼロレベルである場合に、定常状態の時系列データにおける最大値と新規データの数値とを比較し、新規データの数値が定常状態の時系列データにおける最大値を超える場合に、定常状態の時系列データに対して新規データが上昇傾向にあると判断することを特徴とする請求項１又は２に記載のネットワーク異常判定装置。
【請求項４】
前記傾向判定部は、
定常状態の時系列データにおけるμ±ｎσの値がゼロレベルである場合に、定常状態の時系列データにおける最大値と最小値との平均値と新規データの数値とを比較し、新規データの数値が定常状態の時系列データにおける最大値と最小値との平均値を超える場合に、定常状態の時系列データに対して新規データが上昇傾向にあると判断することを特徴とする請求項１〜３のいずれかに記載のネットワーク異常判定装置。
【請求項５】
前記傾向判定部は、
定常状態の時系列データにおけるμ±ｎσの値がゼロレベルである場合に、定常状態の時系列データにおける特定の区間に含まれるデータの数値を解析して、定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定することを特徴とする請求項１〜４のいずれかに記載のネットワーク異常判定装置。
【請求項６】
前記傾向判定部は、
前記特定の区間の最初のデータの数値と最後のデータの数値を抽出し、最後のデータの数値が最初のデータの数値を超える場合に、定常状態の時系列データに対して新規データが上昇傾向にあると判断することを特徴とする請求項５に記載のネットワーク異常判定装置。
【請求項７】
前記傾向判定部は、
前記特定の区間の最初のデータの数値を超えるデータが前記特定の区間においてｋ個以上（ｋ≧１）ある場合に、定常状態の時系列データに対して新規データが上昇傾向にあると判断することを特徴とする請求項５又は６に記載のネットワーク異常判定装置。
【請求項８】
前記傾向判定部は、
前記特定の区間の最初のｍ個（ｍ≧２）のデータの数値の平均値μｆと最後のｍ個のデータの数値の平均値μｌを導出し、平均値μｌが平均値μｆを超える場合に、定常状態の時系列データに対して新規データが上昇傾向にあると判断することを特徴とする請求項５〜７のいずれかに記載のネットワーク異常判定装置。
【請求項９】
定常状態の数値範囲及びデータパターンをもつ定常データを用いて、時系列データが定常状態を逸脱して異常状態になったことを検知する異常検知部と、
前記異常検知部により検知された異常状態が収束したか否かを判定する収束判定部と、
前記収束判定部により異常状態が収束したと判定された場合に、異常状態の収束が判定された際の時系列データの数値と定常データとを用いて擬似定常データを生成し、生成した擬似定常データに対して主成分分析を行って擬似定常データの特徴量である擬似定常状態特徴量を複数生成し、生成した複数の擬似定常状態特徴量に基づいて、複数の擬似定常状態特徴量が分布する擬似定常状態特徴量領域を定義する擬似データ生成部とを備えることを特徴とするネットワーク異常判定装置。
【請求項１０】
前記擬似データ生成部は、
前記収束判定部により定常データの数値範囲とは異なる数値範囲において異常状態が収束したと判定された場合に、異常状態の収束が判定された際の時系列データの数値に対応させて、定常データの数値範囲を上方向又は下方向にシフトさせて擬似定常データを生成することを特徴とする請求項９に記載のネットワーク異常判定装置。
【請求項１１】
前記ネットワーク異常判定装置は、更に、
異常状態が収束した後の時刻の時系列データである新規データに対して主成分分析を行って新規データの特徴量である新規データ特徴量を抽出する分析部と、
前記擬似データ生成部が定義した擬似定常状態特徴量領域と、新規データ特徴量とのマハラノビス距離が予め設定された閾値を越えるかどうかを判定する距離判定部とを備えることを特徴とする請求項９又は１０に記載のネットワーク異常判定装置。
【請求項１２】
前記ネットワーク異常判定装置は、
定常状態であると判断された時系列データを定常データとして、その日時とともに管理し、
前記擬似データ生成部は、
前記異常検知部により異常状態が検知された後に前記収束判定部により異常状態が収束したと判定された場合に、異常状態が収束したと判定された日時を判断し、判断した日時と共通する日時属性を有する定常データであって前記異常検知部による異常状態の検知前の定常データを抽出し、異常状態の収束が判定された際の時系列データの数値と、抽出した定常データとを用いて擬似定常データを生成することを特徴とする請求項９〜１１のいずれかに記載のネットワーク異常判定装置。
【請求項１３】
前記ネットワーク異常判定装置は、
スライディングウィンドウ方式により時系列データ上でウィンドウをスライドさせながら、ウィンドウ内の時系列データに対して異常検知のための解析を行い、
前記擬似データ生成部は、
前記異常検知部により異常状態が検知された後に前記収束判定部により異常状態が収束したと判定された場合に、異常状態が収束したと判定された日時を判断し、判断した日時と共通する日時属性を有する定常データであって前記異常検知部による異常状態の検知から１ウィンドウサイズ以上遡った定常データを抽出することを特徴とする請求項１２に記載のネットワーク異常判定装置。
【請求項１４】
前記ネットワーク異常判定装置は、
スライディングウィンドウ方式により時系列データ上でウィンドウをスライドさせながら、ウィンドウ内の時系列データに対して異常検知のための解析を行い、
前記擬似データ生成部は、
前記異常検知部により異常状態が検知された後に前記収束判定部により異常状態が収束したと判定された場合に、異常状態の収束が判定された際の時系列データの数値と前記異常検知部による異常状態の検知から１ウィンドウサイズ以上遡った定常データとを用いて擬似定常データを生成することを特徴とする請求項９に記載のネットワーク異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不正アクセスに基づくネットワークの異常を判定するネットワーク異常判定装置に関する。
【背景技術】
【０００２】
従来の主成分分析による不正アクセスの時系列データ分析として、例えば、非特許文献１に記載されている、ネットワーク監視データのある一定の長さの変化を１単位時間ずつシフトしながら切り出し、行列化し主成分分析を行い、特徴量を用いて異常を検知する方法がある。この方法では、主成分分析を行った結果、定常状態に該当する特徴量から乖離した特徴量をもつネットワーク監視データを異常と判断する。
ここでの「定常状態」とは、不正アクセスを受けていない状態のネットワーク監視データの状態を示し、ある周期性を持ったデータ、或いは、規則性が無くともある上限、下限の大きさに収まるデータなどを意味する（以下、本明細書では、定常状態をこの意味で使用する）。この場合、例えばワームの拡散などの不正アクセスを受けた場合は、この周期性が乱れたり、上限を超えたデータが発生すると仮定している。
【０００３】
また、この様な分析手法においては定常状態のデータの定義がその後の異常の検知の精度を左右するが、異常検知後の収束を自動的に判断し、定常状態のデータを再定義する従来技術は見当たらない。
なお、時系列データの変動を分析する技術として特許文献１に記載の技術がある。
【０００４】
恐らく、従来は、定常状態のデータの値の範囲はいつも同じであるような用途が多かったためと思われる。
すなわち、異常発生後は、予め設定された管理目標値に向けてデータが収束するように制御するか、或いは自然に管理目標値に戻った時点をもって収束と判断され、定常状態のデータはその管理目標値の範囲のデータを使用する、という用途が多かったからと予測される。すなわち、プラントのタンク容量などが対象であり、定常状態のデータを更新する必要性がなく、定常状態のデータは固定でよかった。
【特許文献１】特開２００２−２６８９２２号公報
【非特許文献１】「平井他：定点観測による不正アクセス対策システムの提案〜ワーム攻撃による異常検出のためのネットワークログ分析手法〜、ＩＰＳＪ６８回全国大会」
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１の分析技術では、異常検知後のデータの制御の目標値として、予め知られている収束目標値に収束するように制御したり、或いは自然に収束することを検知し、異常検知の監視を再開していた。
しかし、ネットワークの不正アクセスの分析に主成分分析を用いた場合、必ずしも収束目標値が予め分かっているとは限らない。例えば、単純に不正アクセスデータの動きを観測・分析するような場合で、その不正アクセスデータの動きに対して能動的に制御を行えない場合である。つまり、収束する値が予め分からない場合である。
また、収束後、分析に必要な定常状態のデータが十分蓄積されていないため、検知開始までに遅延が発生する課題があった。
【０００６】
本発明は、不正アクセスを検知する場合に、時系列データの動向を反映した異常の検知を可能とするとともに、不正アクセス発生後の定常状態への収束を自動的に判定することを可能とする。また、収束判定後の検知の再開において、定常状態のデータを擬似的に生成し再検知の開始を早めることを目的の一つとする。
更に、異常検知前の定常状態の水準（数値がゼロレベルか否か）、収束した日時、曜日、時間帯等の日時属性、異常検知前の定常状態の数値範囲と収束判定時の数値範囲との差等に基づいて、現状に則した異常検知、擬似的な定常状態の定義を行うことを目的の一つとする。
【課題を解決するための手段】
【０００７】
本発明に係るネットワーク異常判定装置は、
数値を示す時系列データのうち所定期間の定常状態の時系列データに対して主成分分析を行って定常状態の時系列データの特徴量である定常状態特徴量を複数抽出し、定常状態の時系列データよりも後の時刻の時系列データである新規データに対して主成分分析を行って新規データの特徴量である新規データ特徴量を抽出する分析部と、
前記分析部が抽出した複数の定常状態特徴量に基づいて、複数の定常状態特徴量が分布する定常状態特徴量領域を定義する定常状態定義部と、
前記定常状態定義部が定義した定常状態特徴量領域と、新規データ特徴量とのマハラノビス距離が予め設定された閾値を越えるかどうかを判定する距離判定部と、
前記距離判定部が定常状態特徴量領域と新規データ特徴量とのマハラノビス距離が予め設定された閾値を越えると判定した場合に、定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定し、上昇傾向にあると判定した場合に、異常が発生したと判定する傾向判定部とを備え、
前記傾向判定部は、
定常状態の時系列データにおける平均値μ及び標準偏差σを導出し、定常状態の時系列データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルであるかどうかで異なる判定基準を選択し、選択した判定基準を用いて定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定することを特徴とする。
【発明の効果】
【０００８】
本発明は、不正アクセスを検知する場合に、時系列データの動向を反映した異常の検知を行なうので、異常判定の精度を高めることができる。
また、異常検知前の定常状態の水準（数値がゼロレベルか否か）、収束した日時、曜日、時間帯等の日時属性、異常検知前の定常状態の数値範囲と収束判定時の数値範囲との差等に基づいて、現状に則した異常検知、定常状態の再定義を行うことができるので、異常判定の精度を高めることができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
実施の形態１〜３は、特願２００６−３２９５７４号に記載の技術に関連する技術を説明する。
以下にて、特願２００６−３２９５７４号の内容を説明しながら、実施の形態１〜３の内容を説明する。
特願２００６−３２９５７４号は、異常検知後の収束を自動的に判断し、速やかに再検知を実現するための定常状態のデータを再定義する技術である。特願２００６−３２９５７４号の方法では、定常データを乱数とみなし、以前の定常データの分散を収束後のデータに反映させた乱数を生成する方法である。
実施の形態１〜３に示す内容は、以下の１〜３を契機とするものである。
【００１０】
契機１
分析対象の時系列データを正規乱数とみなすことができる場合は特願２００６−３２９５７４号の方法で定常データを再定義してもその後の再検知の精度は保たれる。
しかし、周期性のあるデータの場合、乱数による定常データの再定義が適さない場合がある。
スライディングウィンドウによる時系列データの異常分析において、異常を検知した後に定常状態の時系列データを再定義する必要がある。
これは、図２３に示す様に異常検知後の時系列データの収束で、高止まり、下げ止まりなどが発生した場合、異常検知前の定常データを使用した場合に誤検知や取りこぼしが発生するためである。特願２００６−３２９５７４号では、検知直前の時系列データと収束時のアクセス数を元に正規乱数を生成し新しい定常データとして使用していた（図２４、図２５、これを定常データの再定義と呼ぶ）。
しかし、実際の分析対象のデータが、周期性を持つ場合、正規乱数による再生成では適切に検知が再開できない場合がある。例えば、朝、昼、夕、深夜、曜日による変動が規則的な場合は、高止まり、下げ止まりにおいても図２６のように周期性のあるデータとなることがあり、その場合は、正規乱数による再定義が適さない。
【００１１】
契機２
スライディングウィンドウ方式では異常検知直前の定常データをそのまま再定義に利用すると誤検知が発生する可能性がある。
例として、異常発生後、元の定常データの範囲に収束する場合（非高止まり、非下げ止まり）で、再定義の方法として異常検知直前のデータに収束後のアクセス数を連結する方式を挙げる。
定常データの再定義において、図２７の様に、検知時のアクセス数がスパイクの様に一瞬高くなる場合は、異常検知の直前（スパイクの直前）の定常データに収束後のアクセス数を単純に連結しても、誤検知されることは少ない。
しかし、図２８の様に、異常検知直前に徐々にデータが増加している場合は、異常検知の直前のデータに収束後の集計値を連結した場合、パターンとして過去に無く、誤検知されることがある。この場合、検知直前の定常データにも、既に今までと異なるデータの傾向が現れているため、特願２００６−３２９５７４号の様に、検知直前のデータをそのまま定常データとして再利用すると、このような異常性を含んだデータを使用して定常データを再定義するため、検知精度が悪くなる可能性がある。
【００１２】
契機３
特願２００６−３２９５７４号の方法では、検知時のパターンが定常データに含まれない場合に、一旦異常として扱い、その後でアクセス数が上昇している場合に不正アクセスの検知として確定していた。これは、スライディングウィンドウによるパターン識別の場合、時系列データが上昇していても下降していても、パターンとして定常データに含まれなければ「今までにないパターンデータ＝異常」と判定されるためである。
その際に、上昇、下降の判定を、定常データの平均μ、分散σ２を元に、μ±ｎσの幅を超えた場合に、上昇、下降を判定していた。
しかし、普段のアクセスが少ないデータについては、長期の定常データを観測した場合、μ、σは０に近い値となることがある。この場合、μ±ｎσ≒０であり、過去の定常データに含まれている、（アクセス数の少ない）アクセスが再度発生しても、上昇として判断する場合があり、適切な判断が出来ない可能性がある（図２９）。
【００１３】
このため、実施の形態１〜３では、異常検知前の定常状態の水準（数値がゼロレベルか否か）、収束した日時、曜日、時間帯等の日時属性、異常検知前の定常状態の数値範囲と収束判定時の数値範囲との差等に基づいて、現状に則した異常検知、定常状態の再定義を行うことを目的の一つとしている。
以下、前提技術として特願２００６−３２９５７４号の内容を説明しながら、実施の形態１〜３の内容を説明する。
【００１４】
説明を始める前に、まず、用語を定義する。
（１）「定常状態ＮＷ（Ｎｅｔ  Ｗｏｒｋ）データ１１」とは、定常状態のネットワーク監視データから集計されたデータを意味する。定常状態ＮＷデータ１１は、定常データともいう。
（２）「定常状態ＮＷデータ領域１２」とは、定常状態ＮＷデータの分布範囲を意味する。
（３）「定常状態特徴量２１」とは、定常状態ＮＷデータ１１から算出された特徴量を意味する。
（４）「定常状態特徴量領域２２」とは、定常状態特徴量２１の分布範囲を意味する。
なお、これらの（１）〜（４）の用語は、図によって後述する。
（５）また、以下の実施の形態で述べる主成分分析において、「特徴量」とは、主成分得点を意味する。「ＰＣ１」とは、第１主成分を意味し、「ＰＣ２」とは、第２主成分を意味する。なお、主成分得点とは、ＰＣ１、ＰＣ２などの主成分に対して実際のデータを射影した値をいい、例えば、ＰＣ１に元のデータを射影した場合に得られる値が、そのデータのＰＣ１上の主成分得点である。
【００１５】
図１は、実施の形態１における不正アクセス検知装置１００（ネットワーク異常判定装置）のハードウェア資源の一例を示す図である。図１において、不正アクセス検知装置１００は、プログラムを実行するＣＰＵ８１０（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、通信ボード８１６、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【００１６】
ＲＡＭ８１２は、揮発性メモリの一例であり、ＲＯＭ８１１、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。通信ボード８１６は、入力部、入力装置、出力部、出力装置の一例である。
【００１７】
磁気ディスク装置８２０には、ＯＳ（オペレーティングシステム）８２１、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＯＳ８２１及びＣＰＵ８１０により実行される。
【００１８】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１９】
ファイル群８２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、後述する「集計データ１５１（時系列データ）」や「特徴量」、及びデータや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００２０】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２１】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００２２】
図２は、実施の形態１における不正アクセス検知装置１００（ネットワーク異常判定装置）のブロック構成図である。
【００２３】
図２に示すように、不正アクセス検知装置１００は、データ取得部１０１（ログ取得部）、集計部１０２（時系列データ生成部）、分析部１０３、異常検知部１０４（距離判定部）、傾向判定部１０５、収束判定部１０６、定常状態定義部１０７、定常状態再定義部１０８を備える。
なお、図２に示す構成のうち傾向判定部１０５以外の構成要素は、特願２００６−３２９５７４号に示すものと同様であり、本実施の形態１では傾向判定部１０５の動作が特願２００６−３２９５７４号と異なっている。
【００２４】
図２において、
（１）データ取得部１０１は、ネットワーク機器のログ１５０を取り込む。
（２）集計部１０２は、ネットワーク機器のログ１５０から、分析視点に基づく時系列データである集計データ１５１を生成する。
（３）分析部１０３は、集計部１０２から集計データ１５１を受け取り、主成分分析（ＰＣＡ：Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を行い、特徴量（主成分得点）１５２を算出する。
（４）異常検知部１０４は、分析部１０３の結果において、マハラノビス距離に基づき、現在の集計データの特徴量が、定常状態特徴量領域２２から逸脱（異常）しているか否か（定常）を検知する。
（５）傾向判定部１０５は、現在の集計データが、定常状態の集計データに対して上昇傾向にあるか下降傾向にあるかを判定する。
（６）収束判定部１０６は、時系列データが収束したかどうかを、ＰＣＡ（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：主成分分析）の結果のマハラノビス距離の収束状態から判定する。
（７）定常状態定義部１０７は、定常状態の集計データを入力とし、集計部１０２、分析部１０３と連携しＰＣＡを行った結果得られる特徴量を保持するとともに、定常状態ＮＷデータ領域１２、定常状態特徴量領域２２を定義する。
（８）定常状態再定義部１０８は、収束判定部１０６が、マハラノビス距離の収束を判定した後、新しい擬似的な定常状態ＮＷデータ１１を定義する。
【００２５】
また、本実施の形態では、傾向判定部１０５は、上記の契機３に対応し、定常状態の集計データ（時系列データ）における平均値μ及び標準偏差σを導出し、定常状態の集計データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルであるかどうかで異なる判定基準を選択し、選択した判定基準を用いて定常状態の集計データに対して現在の集計データ（新規データ）が上昇傾向にあるかどうかを判定する。
なお、ゼロレベルか否かは、不正アクセス検知装置１００が扱う時系列データの属性、過去のデータ値の傾向等により決められる。ユーザが予めゼロレベルの範囲を設定していてもよいし、不正アクセス検知装置１００が過去の一定期間の時系列データのデータ値の傾向を考慮して決定してもよい。
【００２６】
傾向判定部１０５は、例えば、定常状態の集計データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルである場合に、定常状態の集計データにおける最大値と現在の集計データの数値とを比較し、現在の集計データの数値が定常状態の集計データにおける最大値を超える場合に、定常状態の集計データに対して現在の集計データが上昇傾向にあると判断する。
【００２７】
また、例えば、傾向判定部１０５は、定常状態の集計データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルである場合に、定常状態の集計データにおける最大値と最小値との平均値と現在の集計データの数値とを比較し、現在の集計データの数値が定常状態の集計データにおける最大値と最小値との平均値を超える場合に、定常状態の集計データに対して現在の集計データが上昇傾向にあると判断する。
【００２８】
また、例えば、傾向判定部１０５は、定常状態の集計データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルである場合に、定常状態の集計データにおける特定の区間の最初のデータの数値と最後のデータの数値を抽出し、最後のデータの数値が最初のデータの数値を超える場合に、定常状態の集計データに対して現在の集計データが上昇傾向にあると判断する。
【００２９】
また、例えば、傾向判定部１０５は、前記特定の区間の最初のデータの数値を超えるデータが前記特定の区間においてｋ個以上（ｋ≧１）ある場合に、定常状態の集計データに対して現在の集計データが上昇傾向にあると判断する。
【００３０】
また、例えば、傾向判定部１０５は、前記特定の区間の最初のｍ個（ｍ≧２）のデータの数値の平均値μｆと最後のｍ個のデータの数値の平均値μｌを導出し、平均値μｌが平均値μｆを超える場合に、定常状態の集計データに対して現在の集計データが上昇傾向にあると判断する。
【００３１】
次に、図３を参照して、データ取得部１０１、集計部１０２、分析部１０３の動作を説明する。図３は、データ取得部１０１、集計部１０２、及び分析部１０３のシーケンス図である。なお、本実施の形態１の説明では、収束判定部１０６及び定常状態再定義部１０８は、登場しない。収束判定部１０６及び定常状態再定義部１０８は実施の形態２以降で説明する。
また、本実施の形態の説明において、傾向判定部１０５の動作以外は、特願２００６−３２９５７４号に示したものと同様である。
【００３２】
（データ取得部１０１）
まず、データ取得部１０１は、ネットワーク監視データ（例えば、ネットワーク機器のログ１５０）を受信し、集計部１０２にデータを渡す（Ｓ１０１）。ネットワーク監視データとして例えば、後述する図５の様な、ログファイルを定期的に取り込む。
【００３３】
（集計部１０２）
次に集計部１０２は、データ取得部１０１から受け取ったネットワーク監視データから、分析視点に基づく時系列データを生成する（Ｓ１０２）。
例えば、図４は、ＤｓｔＰｏｒｔ４４５番宛の５分集計のＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）のＡｌｅｒｔ数の時系列データである。この様な時系列データは、ネットワークログデータから、集計時間内の該当する項目を数え上げることで得られる。
例えば、図５は、ＩＤＳのＡｌｅｒｔログの例であり、様々なＡｌｅｒｔの発生が記録されている。ＤｓｔＰｏｒｔ４４５番宛のＡｌｅｒｔを５分ごとに集計して数え上げる場合、０６／０４／１８：１２：００：００〜０６／０４／１８：１２：０４：５９までの５分間の集計は、３つ該当するログが記録されているので、「３」となる。このような数え上げを５分毎に行うことで、図４の様な時系列のグラフが得られる。
【００３４】
図４は、分析に利用する時系列データのイメージを説明するものであるが、実際に集計部１０２が出力するのは、図６のような集計データ１５１である。Ｔｉｍｅと記述されている列は、集計開始時点から集計時間が経過した時刻を示す。
【００３５】
例えば、
０６／０４／１８：１２：００：００
から集計を開始し、５分単位で集計を行うのであれば、
Ｔ１は、０６／０４／１８：１２：０５：００、
Ｔ２は、０６／０４／１８：１２：１０：００となる。
【００３６】
Ｃｏｕｎｔは、その時刻までに集計時間で数え上げた該当項目の数を示す。
０６／０４／１８：１２：００：００から０６／０４／１８：１２：０４：４９
までの集計結果をＴ１の横に記述する。図５によればこの期間であるＴ１は、「３」である。
同様に、
０６／０４／１８：１２：０５：００から０６／０４／１８：１２：０９：５９
までの集計結果をＴ２の横に記述する。以降、繰り返す。
【００３７】
集計部１０２は、この様に集計を行った結果である集計データ１５１を分析部１０３出力する。
【００３８】
データ取得部１０１には最新のログデータが随時取り込まれ、集計部１０２に渡される。集計部１０２では、そのログデータに対し集計時間に基づく数え上げを行い、図６の集計データ１５１を出力する。例えば、集計部１０２は、集計時間が経過する毎に最新のログデータをデータ取得部１０１から取り込む。
その結果、例えば、図６のように、０６／０４／１８：１２：００：００から５分経過すると「ＴｉｍｅＴ１，Ｃｏｕｎｔ３」という集計データが得られる。さらに５分経過すると「ＴｉｍｅＴ２，Ｃｏｕｎｔ４」という集計結果が得られる。集計部１０２は、これら集計データが得られる度に分析部１０３へ出力する。
【００３９】
（分析部１０３）
分析部１０３では、集計部１０２から得られた集計データ（時系列データ）の変化を分析する（Ｓ１０３）。実装例として、ＰＣＡによる特徴量の抽出を利用した方法を説明する。
【００４０】
分析部１０３は、集計部１０２から定期的に出力される集計データ１５１に対してＰＣＡを行う。図７はＰＣＡを説明する図である。
図７を参照して、ＰＣＡを説明する。ＰＣＡの実施の方法は、図７に示す様に、大きさｍのウィンドウを設け、ウィンドウを「集計時間（例えば５分）×１」ずつずらしながらデータを切り出し、そのデータを行として順次並べることで、行列を作成する。最新の集計データが一番下の行に含まれる行列が生成されたれた時点で、分析部１０３は、行列に対してＰＣＡを実施する。その結果、各行に対する特徴量が得られる。
【００４１】
この方式では、ある時刻からウィンドウサイズ分遡った時系列データの波形は、行列の行で示される。各行は集計時間ごとにずらして生成されるので、この様にＰＣＡを実施することで、「各行＝集計時間毎にウィンドウサイズ分遡った波形」の特徴量を得ることができる。
このように、ＰＣＡを利用することで、ある集計時間でのデータの大きさだけでなく、それまでのデータの形も含めて時系列でどのように変化しているか捉えることができる。
【００４２】
図７の例では、ＰＣＡは、７次元で表現される波形データを特徴量という２次元の変量に変換する。この特徴量は、ＰＣＡの第１主成分の主成分得点（ＰＣ１）、及び第２主成分の主成分得点（ＰＣ２）のことであり、２次元の座標でデータの変化を観察するために利用される。
【００４３】
なお、通常、ＰＣＡの結果として使用する特徴量の数は、累積寄与率が８割程度に達するものを選ぶことが多いとされる。その場合に使用する特徴量の数は２つとは限らないが、ここでは説明を簡単にするため、データの傾向を捉える上位２つのＰＣ（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ：主成分）を用いて説明する。
【００４４】
上記では、データ取得部１０１、集計部１０２及び分析部１０３の動作を説明した。以下では、データ取得部１０１、集計部１０２、分析部１０３の動作をもとに定常状態定義部１０７による定常状態ＮＷデータ領域１２、定常状態特徴量領域２２の定義について説明する。
【００４５】
（定常状態定義部１０７）
図３、図８、図９等を用いて、定常状態定義部１０７の動作を説明する。まず、ネットワーク機器のログ１５０として、図８のステップＳ１に示すように、不正アクセスの被害を受けていない状態（定常状態）のログデータを不正アクセス検知装置１００のデータ取得部１０１が入力する。
【００４６】
（ステップＳ１：定常状態特徴量領域２２の定義のためのデータ取得）
ログに記録された期間を「Ｔｉ〜Ｔｉ＋ｎ」とする。データ取得部１０１は、これを入力とし、集計部１０２へ渡す。
集計部１０２は、「Ｔｉ〜Ｔｉ＋ｎ」のログデータに対し、集計時間ごとに分析視点に基づき図６の様な集計データ１５１を分析部１０３に出力する。定常状態のネットワーク監視データから集計されたデータは、冒頭で定義したように、定常状態ＮＷデータ１１であり、その分布範囲は定常状態ＮＷデータ領域１２である。
分析部１０３は、集計データ１５１を用いて図７の様に行列を生成し、ＰＣＡを実施し、各行の特徴量を定常状態定義部１０７に出力する。
分析部１０３は、これに加えて定常状態ＮＷデータ１１も定常状態定義部１０７に出力する。
【００４７】
（ステップＳ２：定常状態定義部１０７による定常状態特徴量領域２２の定義）
図８のステップＳ２において、定常状態定義部１０７は、分析部１０３から分析の結果得られた特徴量を受け取る。この特徴量が、冒頭で定義した定常状態特徴量２１である。
また、定常状態定義部１０７は、定常状態特徴量２１の分布範囲を、冒頭で定義した定常状態特徴量領域２２として定める。ここでは、特徴量として第１主成分得点（ＰＣ１）と第２主成分得点（ＰＣ２）とを扱う例を示しているので、ＰＣ１、ＰＣ２の２次元の表現になっている。
また、定常状態定義部１０７は、受け取った定常状態ＮＷデータ１１に対して定常状態ＮＷデータ領域１２を定義する。
【００４８】
なお、定常状態定義部１０７における、情報の保持の仕方として、図６の表を拡張し、「Ｔｉｍｅ：Ｃｏｕｎｔ：ＰＣ１：ＰＣ２」
として、その時刻の特徴量も横に並べる。
この様に、定常状態定義部１０７は、定常状態ＮＷデータ領域１２と定常状態特徴量領域２２とを定義する。
【００４９】
次に、図９、図１０を参照して、時系列データの変化を捉えるための動作を示す。
時系列データ（ログデータ）の入力、集計、ＰＣＡによる分析は、前述したようにデータ取得部１０１、集計部１０２、分析部１０３が同様の方法で処理する。
【００５０】
（図９のステップＳ３、Ｓ４）
図８から５分経過した後を示す図９のステップＳ３において、分析部１０３が図８のステップＳ１における定常状態ＮＷデータ１１と、さらに５分後のＴｉ＋ｎ＋１の集計データを併せ、図９のステップＳ４のＰＣＡを実施する。
この結果、最新の５分の集計データであるＴｉ＋ｎ＋１の集計データに該当する特徴量が、定常状態ＮＷデータ領域１２に含まれる定常状態に該当する特徴量の領域（定常状態特徴量領域２２）に含まれる場合は、異常検知部１０４は定常状態と判定する。
この判定は、異常検知部１０４が行う。なお厳密には、“Ｔｉ＋ｎ＋１の集計データ”に該当する特徴量ではなく、図７の行列において、“Ｔｉ＋ｎ＋１の集計データを最後の列に含んだ行”に該当する特徴量である。この様な行は、図７の行列の作り方から、一番下の行が該当する。
【００５１】
この様に、図４のような時系列データが定常か異常かを、特徴量に変換して判定する。
【００５２】
（図９のステップＳ５）
図９のステップＳ４の様に、異常検知部１０４により定常状態と判定された場合は、分析部１０３は、図９のステップＳ５において、定常状態定義部１０７における定常状態ＮＷデータ領域１２の最も古い集計データ（Ｔｉに該当する集計データ）を１つ削除し、最も新しい集計データ（Ｔｉ＋ｎ＋１に該当する集計データ）を含め、定常状態ＮＷデータ領域１２を更新する。
さらに、定常状態ＮＷデータ領域１２に含まれる定常状態ＮＷデータ１１に対してＰＣＡを再実施し、そして定常状態定義部１０７が定常状態特徴量領域２２を更新する。
このように、定常状態ＮＷデータ領域１２と定常状態特徴量領域２２との更新は、定常状態定義部１０７が分析部１０３と連携して行う。
図７にて説明した行列で示すのであれば、図７において、一番上の行（最も古い集計データが含まれる行）を削除した残りの行列にＰＣＡを実施することに等しい。
【００５３】
（図１０のステップＳ６）
図１０のステップＳ６は、図９のステップＳ３〜Ｓ５を繰り返す過程で、最新の特徴量が定常状態特徴量領域２２から逸脱した場合を示したものである。
すなわち、最新の特徴量が定常状態特徴量領域２２から逸脱するまで、ステップＳ３〜Ｓ５が繰り返される。この時点で、定常状態から状態が何かしら変化したことを示している。
定常状態特徴量領域２２から逸脱した時点で、定常状態定義部１０７は、定常状態ＮＷデータ領域１２を現在の定常状態ＮＷデータ領域１２に固定する。
【００５４】
（図１１のステップＳ７）
図１１のステップＳ７以後、固定された定常状態特徴量領域２２に含まれる定常状態ＮＷデータ１１に、集計時刻ごとに集計データ積み上げ、都度ＰＣＡに掛ける。
ステップＳ５における処理との違いは、過去の定常状態ＮＷデータ１１を削除せずに含める点である。
図７のように行列で示すのであれば、図７において、集計時刻ごとに、一番上の行を削除せずに、新しい集計データが一番左の列に位置する新しい行を追加し、ＰＣＡを実施することを繰り返すことに等しい。
【００５５】
この方法により乖離の開始後の各集計時点での特徴量の軌跡を把握できる。不正アクセスが継続され、アクセスが増加している場合は、特徴量は定常域から乖離した状態が続く。
図１２は、ステップＳ３〜Ｓ５の繰り返えすとともに、乖離する特徴量が出現した場合を模式的に表した図である。
【００５６】
（図１３のステップＳ８）
時間が進み、図１３のステップＳ８において不正アクセスが収束した場合、特徴量は固定された定常状態ＮＷデータ領域１２に含まれる定常状態ＮＷデータ１１に該当する定常状態特徴量領域２２に戻る。
或いは、図１４のステップＳ９に示す様に、固定された定常状態ＮＷデータ領域１２に含まれる定常状態ＮＷデータ１１に該当する定常状態特徴量領域２２ではないが、新しい定常状態に遷移する。
ここでは、分かりやすく、群を、小さな○で表現しているが、大きな楕円などである可能性もある。すなわち、特徴量は一定の範囲内に分布する。
【００５７】
さて、新しい定常状態に遷移した場合に、その遷移が完了した時点を把握し、定常状態ＮＷデータ領域１２を再定義し、不正アクセスの検知を再開する必要がある。
何故ならば、以前の定常状態ＮＷデータ領域１２を使用したのでは、収束した後の時系列データは、特徴量に変換して判断した場合、定常状態にも関わらず乖離と判断されてしまうからである。収束判定については実施の形態２で述べる。
【００５８】
以下の実施の形態では、ＰＣＡを利用した異常検知から収束判定までの動作を説明する。このうち実施の形態１では異常検知について説明し、収束判定については実施の形態２で説明する。
本実施の形態１における異常検知は、「異常検知＝マハラノビス距離による定常域からの乖離＋集計データの動向を併せた判定」により異常を検知する。すなわち、「マハラノビス距離による定常からの乖離」に加え、「集計データの動向」を加味して異常を検知することが特徴である。
【００５９】
以下に、異常検知について説明する。
【００６０】
図８〜図１１、図１３では、特徴量の乖離の概念を分かりやすく説明するために、２次元グラフで特徴量の分布で示した。これは、人間が目視で乖離を確認するには適している方法である。しかし、不正アクセスの検知を自動化する場合は、目視では無い別の方法により特徴量の乖離を判定する必要がある。
【００６１】
異常検知部１０４は、定常状態特徴量領域２２からの逸脱を判断する方法として、マハラノビス距離を使う。ここでの「マハラノビス距離」とは、定常状態特徴量領域２２に存在する特徴量（定常状態特徴量２１）の重心に対して、ある特徴量がどれくらい離れているかを、分散を考慮し計算した距離である。
異常検知部１０４は、定常状態特徴量領域の重心に対し、この領域に含まれている定常状態特徴量のマハラノビス距離を元に決めた、マハラノビス距離の「閾値」に対して、最新の特徴量のマハラノビス距離がこの「閾値」を越えるかどうかを判定する。
【００６２】
なお、ＰＣＡの結果として評価に用いる主成分の数は変わることがある。上記の例では、ＰＣ１，ＰＣ２のみであるが、ＰＣ１のみであったり、ＰＣ５まで使用することもある。これは、どの主成分まで使用すれば、元のデータの何割（通常は７、８割とされる）を表す情報量を含むかという判断に依存する。また、マハラノビス距離は、使用する主成分（１つ、２つ、さらに複数）に対して計算される。すなわち、ＰＣ１のみで分析したり、ＰＣ１〜ＰＣ２で分析したり、あるいはＰＣ１〜ＰＣｎで分析する。好適な次元で分析する。
【００６３】
図１５（ａ）は、定常状態特徴量領域２２の重心（×印）に対して各特徴量のマハラノビス距離を求めた場合を示し、図１５（ｂ）は、マハラノビス距離を時系列表現した図である。
【００６４】
ここでのマハラノビス距離とは、各特徴量の定常状態特徴量領域２２の重心からの離れを示すものである。
図１６（ａ）は、時系列データが上昇する場合を示し、図１６（ｂ）は（ａ）に対応する特徴量の遷移を示し、図１６（ｃ）は、（ａ）に対応するマハラノビス距離の時系列表現を示す図である。同様に、図１６（ｄ）は、時系列データが下降する場合を示し、図１６（ｅ）は（ｄ）に対応する特徴量の遷移を示し、図１６（ｆ）は、（ｄ）に対応するマハラノビス距離の時系列表現を示す図である。集計データが上昇傾向（図１６（ａ））でも下降傾向（図１６（ｄ））でも、特徴量で見たときに重心から離れていれば乖離として現われる（図１６（ｂ），（ｅ））。これは、マハラノビス距離の時系列グラフでは、両方とも上昇傾向として見える（図１６（ｃ），（ｆ））。
【００６５】
しかし、不正アクセスの“検知”においては、上昇傾向時を捉えることが必要であり、マハラノビス距離の上昇が発生した場合に、それが不正アクセス数（この場合では、集計データを意味する。）が増加傾向にあることで初めて、危険な状態であると判断する必要がある。
【００６６】
本実施の形態１では、集計データの上昇／下降の傾向を判断するために、異常検知部１０４によりマハラノビス距離の上昇が判定された時点で、傾向判定部１０５は、その時点に該当する集計データが、定常状態の集計データに対して、上昇傾向と下降傾向とのいずれの傾向にあるのかを判定する。
すなわち、傾向判定部１０５は、異常検知部１０４が定常状態特徴量領域と新規データに対応する特徴量（新規データ特徴量）とのマハラノビス距離が予め設定された閾値を越えると判定した場合に、定常域に対応する所定期間の定常状態の時系列データに対して新規データが上昇傾向にあるかどうかを判定し、上昇傾向にあると判定した場合に、異常が発生したと判定する。
例えば、閾値を、定常状態特徴量領域に含まれる各特徴量のマハラノビス距離の最大値に設定しても良い。
つまり、定常状態に含まれる特徴量のうちで最も重心から離れている特徴量のマハラノビス距離を閾値とするのである。
新規データが上昇傾向にあるかどうかの判定は、具体的には、傾向判定部１０５は、異常検知部１０４によりマハラノビス距離の上昇が判定された時点における集計データが定常状態の集計データと比較して大きい値を取っていることで、「集計データが増加傾向にある」、と判定する。
逆に、傾向判定部１０５は、異常検知部１０４によりマハラノビス距離の上昇が判定された時点における集計データが定常状態の集計データと比較して小さい値を取っていることで、「集計データが下降傾向にある」と判定する。
【００６７】
「大きい／小さい」の判断の方法として、定常状態の集計データの平均値をμ、分散をσ２とすれば、
傾向判定部１０５は、
「マハラノビス距離の上昇の判定時点の集計データ＞μ」
であれば集計データは上昇と判定し、
「マハラノビス距離の上昇の判定時点の集計データ＜μ」
であれば集計データは下降と判定する。
或いは、傾向判定部１０５は、
「マハラノビス距離の上昇の判定時点の集計データ＞μ＋２σ」
であれば集計データは上昇と判定し、
「マハラノビス距離の上昇の判定時点の集計データ＜μ−２σ」
であれば集計データは下降というように、ばらつきを考慮しても良い。
ここで示している判定基準を第１の判定基準と呼ぶ。
また、傾向判定部１０５は、異常検知部１０４がマハラノビス距離の乖離を検知した場合に、集計データが上昇傾向であると判断した時点で、不正アクセスの増加を検知した、すなわち、異常と判定する。
以上が、特願２００６−３２９５７４号で示している内容である。
【００６８】
このように、ＰＣＡの特徴量の乖離にマハラノビス距離を導入した際に自動判定できなかった集計データの増減傾向を、定常状態ＮＷデータ１１の平均値・分散と、乖離の判定時の集計データを比較することにより、自動判定することができる。これにより、マハラノビス距離に集計データの上昇傾向を加味して異常の判定をすることができるので、判定精度を向上することができる。
【００６９】
ところが、アクセスがまばらで小さい時系列データの場合、長期間のμ、σ２が小さくなり、μ±ｎσ≒０（ｎ≧１）となる場合がある。その場合は、μ±ｎσで判断すると常に上昇として判断され、適切に判断ができない場合がある。
そこで、本実施の形態に係る傾向判定部１０５は、定常状態の時系列データにおけるμ±ｎσの値がゼロレベルである場合に、上昇、下降の傾向判断を以下のようにする。
μ、σが０に近い場合は、現在集計された値が、以下の条件を満たす場合に上昇と判断する。
なお、以下に示す判定基準を第２の判定基準と呼ぶ。
１）過去の定常データに含まれた最大値を超えた場合、或いは、
２）過去の定常データに含まれた（最大値＋最小値）／２を超えた場合、或いは、
３）検知した時点のスライディングウィンドウの最初、最後のアクセス数を比較し、最初＜最後の場合、或いは、
４）ウィンドウの最初の値を越える値が、ウィンドウ内で、ｋ回（ｋ≧１）超えていた場合、或いは、
５）ウィンドウの最初のｍ（ｍ≧２）個の値の平均μｆと、ウィンドウの最後のｍ個の平均μｌを比較し、μｆ＜μｌであれば上昇。
当判定は、傾向判定部１０５が行う。
つまり、異常検知部１０４がマハラノビス距離の乖離を検知し、傾向判定部１０５が集計データが上昇傾向であると判断した時点で、不正アクセスの増加を検知したと判定する。
【００７０】
なお、本実施の形態では、図９において、定常と判断された集計値を定常データに追加し、最古の定常データを１つ削除している。しかし、あらかじめ、定常データ数の上限を定め、上限に達するまでは最古の定常データを削除せずに、単純に定常データを増やしていっても良い。上限に達した場合は、図９に示すように最古のデータを１つ削除し、最新のデータを定常データに加える。或いは、最新の定常データからシステムの初期の定常データ数を遡った分を定常データとして定義しなおしても良い。
【００７１】
図１７は、実施の形態１で説明した動作をまとめたフローチャートである。
図１８は、図１７のステップＳ１００の処理の詳細を示したフローチャートである。
【００７２】
図１８において、傾向判定部１０５は、異常検知前の定常状態の集計データの平均値μ及び標準偏差σを導出し、定常状態の時系列データにおけるμ±ｎσ（ｎ≧１）の値がゼロレベルであるかを判断する（Ｓ１０１）。
ゼロレベルである場合（Ｓ１０１でＹＥＳ）は、傾向判定部１０５は、第２の判定基準のいずれかを用いて（Ｓ１０２）、現在の集計データが上昇傾向にあるか下降傾向にあるかを判定する（Ｓ１０４）。
一方、ゼロレベルでない場合（Ｓ１０１でＮＯ）は、傾向判定部１０５は、第１の判定基準のいずれかを用いて（Ｓ１０３）、現在の集計データが上昇傾向にあるか下降傾向にあるかを判定する（Ｓ１０４）。
【００７３】
このように、本実施の形態では、ＰＣＡの特徴量の乖離にマハラノビス距離を導入した際に自動判定できなかった集計データの増減傾向について、定常データの平均値・分散を考慮し、乖離の判定時の集計データを比較することにより、自動判定することができる。
また、異常検知前の定常状態における数値がゼロレベルか否かにより異なる判定基準を用いて上昇傾向か下降傾向かを判定するため、データ値の現状に則して高精度に異常検知を行うことができる。
【００７４】
以上、本実施の形態では、スライディングウィンドウを利用した検知において、アクセス数の少ないデータに関するデータの上昇の判定を以下で行う方式について説明した。
１）過去の定常データに含まれた最大値を超えた場合、或いは、
２）過去の定常データに含まれた（最大値＋最小値）／２を超えた場合、或いは、
３）検知した時点のスライディングウィンドウの最初、最後のアクセス数を比較し、最初＜最後の場合、或いは、
４）ウィンドウの最初の値を越える値が、ウィンドウ内で、ｋ回超えていた場合、或いは、
５）ウィンドウの最初のｍ個の値の平均μｆ  と、ウィンドウの最後のｍ個の平均μｌを比較し、μｆ＜μｌを満たす場合。
【００７５】
実施の形態２．
本実施の形態では、収束判定後の不正アクセスの検知の再開において、新しく定常データを定義する際の動作について説明する。
より具体的には、本実施の形態では、過去の定常データの周期的な傾向を、収束時点付近の集計データに反映させ、新しい定常データを必要な分生成する。
本実施の形態は、上記の契機１に対応するものである。
【００７６】
異常検知部１０４により異常が検知され、傾向判定部１０５が上昇として判断した場合は、収束の判定に入る。また、異常検知部１０４により異常が検知され、傾向判定部１０５が下降として判断した場合も収束の判定に入る。
収束の判定は、収束判定部１０６により実現される。その方法は、特願２００６−３２９５７４号に記載のように、ＡＲＭＡ（Ａｕｔｏ  Ｒｅｇｒｅｓｓｉｖｅ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）モデルによる時系列データの予想的中の回数が増えたことをもって、収束の判断としても良い。本明細書では収束判定部１０６の具体的実装は問わない。
【００７７】
収束判定部１０６により収束が判定され、新しい定常状態ＮＷデータ領域１２の開始時点が定義された後、次の不正アクセスの検知のために、新しい定常状態ＮＷデータ領域１２のデータ（定常状態ＮＷデータ１１）を用意する必要がある。
図１３のステップＳ８の様に、傾向判定部１０５による異常検知後の特徴量が元の定常状態特徴量領域２２の特徴量の群（領域１）に戻った場合は、直前の定常状態ＮＷデータ領域１２のデータ（定常状態ＮＷデータ１１）をそのまま使用する。
元の定常状態特徴量領域２２の特徴量の群（領域１）に戻ったかどうかは、例えば、次のように判定する。異常検知部１０４（距離判定部）は、収束判定部１０６が定常状態特徴量領域２２に対応する所定期間の定常状態の時系列データにおける定常状態から新たな定常状態に収束したと判定した場合に、収束判定部１０６により収束したと判定された新たな定常状態に含まれる時系列データに対応する特徴量と元の定常状態特徴量領域２２とのマハラノビス距離を算出し、算出したマハラノビス距離が予め定められた所定の閾値を越えるかどうかを判定する。これにより、元の定常状態特徴量領域２２の特徴量の群（領域１）に戻ったかどうかを判定する。そして、定常状態再定義部１０８は、異常検知部１０４がマハラノビス距離が予め定められた所定の閾値を越えると判定した場合に、擬似的な定常状態ＮＷデータ１１（擬似定常状態データ）を生成し、生成した擬似的な定常状態ＮＷデータ１１に対して主成分分析を用いることにより擬似的な定常状態特徴量を生成し、生成した擬似的な定常状態特徴量から擬似的な定常状態特徴量領域を生成する。そして、異常検知部１０４部は、定常状態再定義部１０８が擬似的な定常状態特徴量領域を生成した場合に、この擬似的な定常状態特徴量領域を定常状態特徴領域に代えて、処理を継続する。
【００７８】
しかし、図１４の様に特徴量が別の群（領域２）を形成した場合は元の定常域のデータはそのままでは使用できない。新しい定常状態ＮＷデータ領域１２のデータが必要である。何故ならば、元の定常状態特徴量領域２２（領域１）に該当する定常状態ＮＷデータ領域１２のデータをそのまま使用して分析してしまうと、領域２の特徴量は全て領域１から乖離しているため、常にマハラノビス距離が乖離していると判定されてしまうためである。
【００７９】
しかし、収束が判定されてから以降、図８のステップＳ１で示した一定期間（ｎ時間）のデータを定常状態ＮＷデータ領域１２のデータとして集めなおしたのでは、集めている間に新しい不正アクセスが発生しても検知できない。そこで、定常状態再定義部１０８が、以下の手法により擬似的な定常状態ＮＷデータ１１（擬似定常状態データ）を生成し、そして、領域２に相当する擬似的な定常状態特徴量領域２２を再定義する。上記のように、定常状態ＮＷデータ１１、定常状態ＮＷデータ領域１２及び定常状態特徴量２１、定常状態特徴量領域２２の生成・再定義は、定常状態再定義部１０８が実行する。
【００８０】
定常状態再定義部１０８が再定義を行った後は、実施の形態１において説明したように、定常状態ＮＷデータ領域１２と定常状態特徴量領域２２とが、定常状態定義部１０７により定義された後の処理に同じとなる。
【００８１】
以下に、定常状態再定義部１０８による再定義の方法として方法（ａ）及び方法（ｂ）を示す。
なお、これら方法（ａ）及び方法（ｂ）は、特願２００６−３２９５７４号で示している内容である。
【００８２】
（方法（ａ））
定常状態再定義部１０８は、「新しい定常状態ＮＷデータ領域１２の開始付近の集計データ」と「過去の定常状態ＮＷデータ１１の傾向」を加味し擬似的な定常状態ＮＷデータ１１をｎ時間（図１９の定常域の期間）ぶん生成し、新しい定常状態ＮＷデータ１１として利用する。ここでの、定常状態ＮＷデータ１１とは、定常状態ＮＷデータ領域１２における“集計データ”のことである。
具体的には、図１９において、定常状態再定義部１０８は、定常状態ＮＷデータ１１の平均μと分散σ２を計算する。また、定常状態再定義部１０８は、収束時点からｍ時間遡った集計データの平均値μ’を計算する。そして、定常状態再定義部１０８は、平均μ’、分散σ２の正規分布データをｎ時間分生成する。そして、不正アクセス検知装置１００は、定常状態再定義部１０８が生成したデータを新しい定常状態ＮＷデータ１１として検知を再開する。
但し、ｍ＜ｎとする。ｍは大きく取りすぎると収束途中の集計データも捉えてしまうため、短時間とする。この方法に基づけば、収束が判定されてから即、検知を再開可能である。
或いは、以下の方法でも良い。
定常状態再定義部１０８は、定常状態ＮＷデータ１１の平均μと分散σ２を計算する。そして、定常状態再定義部１０８は、収束時点からｍ時間、集計データを蓄え、平均値μ’を計算する。定常状態再定義部１０８は、平均μ’、分散σ２の正規分布データをｎ時間分生成する。そして、不正アクセス検知装置１００は、定常状態再定義部１０８が生成したデータを新しい定常状態ＮＷデータ１１として検知を再開する。この場合は、収束判定後のデータを使用するため、収束途中の集計データを使用することは無い。但し、ｍを大きく取りすぎると、検知の開始が遅れるため、短時間とする。
或いは、上記２つの方法を併せ、収束時点を基点に、ｍ’時間遡ったデータとｍ’時間待機し蓄えたデータの平均値を元に、分散σ２の正規分布データをｎ時間分生成する方法でも良い。
この場合、ｍ’＜ｍであり、例えば、ｍ’＝ｍ／２とする。
【００８３】
（方法（ｂ））
「新しい定常状態ＮＷデータ領域１２の開始付近の集計データ」と同じ傾向の擬似的な定常状態ＮＷデータ１１をｎ時間分生成し、新しい定常状態ＮＷデータ１１として利用する。具体的には、図２０において、定常状態再定義部１０８は、収束時点からｍ時間遡った集計データの平均値μ’と分散σ’２を計算し、平均μ’、分散σ’２の正規分布データをｎ時間分生成する。
そして、不正アクセス検知装置１００は、定常状態再定義部１０８が生成したデータを新しい定常状態ＮＷデータ１１として検知を再開する。
方法（ａ）と同様に、収束時点からｍ時間のデータを蓄え、このデータと同じ平均と分散を持つｎ時間ぶんのデータを生成する方法でもよい。あるいは、収束時点の前後ｍ’時間のデータを蓄え、このデータと同じ平均と分散を持つｎ時間ぶんのデータを生成する方法でも良い。この方法の場合、収束時点付近のデータに基づいた擬似的な定常状態ＮＷデータ１１であるため、方式（ａ）よりは実際のデータに近い擬似データが生成できる可能性がある。
【００８４】
次に、本実施の形態に係る定常状態再定義部１０８（擬似データ生成部）の動作を説明する。
本実施の形態では、収束判定部１０６により異常状態が収束したと判定された場合に、定常状態再定義部１０８は、異常状態の収束が判定された際の時系列データの数値と定常データとを用いて擬似定常データを生成し、生成した擬似定常データに対して主成分分析を行って擬似定常データの特徴量である擬似定常状態特徴量を複数生成し、生成した複数の擬似定常状態特徴量に基づいて、複数の擬似定常状態特徴量が分布する擬似定常状態特徴量領域を定義する。
また、定常状態再定義部１０８は、収束判定部１０６により定常データの数値範囲とは異なる数値範囲において異常状態が収束したと判定された場合に、異常状態の収束が判定された際の時系列データの数値に対応させて、定常データの数値範囲を上方向又は下方向にシフトさせて擬似定常データを生成する。
また、本実施の形態では、不正アクセス検知装置１００は、定常状態であると判断された時系列データを定常データとして、その日時とともに管理し、定常状態再定義部１０８は、異常検知部１０４により異常状態が検知された後に収束判定部１０６により異常状態が収束したと判定された場合に、異常状態が収束したと判定された日時を判断し、判断した日時と共通する日時属性を有する定常データであって異常検知部１０４による異常状態の検知前の定常データを抽出し、異常状態の収束が判定された際の時系列データの数値と、抽出した定常データとを用いて擬似定常データを生成する。
【００８５】
つまり、本実施の形態では、収束判定部１０６により収束が判定された結果、図２１の（２）の様に、収束後もとの定常状態の値付近に戻った場合は、異常検知前の定常データを使用し、収束後のアクセス数を連結する。
また、図２１の（１）の様に高止まりの場合は、高くなった分、定常のデータを上に平行移動し、収束後のアクセス数を連結して検知を再開する。
また、図２１の（３）の様に下げ止まりの場合は、低くなった分、定常データを下に平行移動し、収束後のアクセス数を連結する。
平行移動は以下のように行う。
【００８６】
異常検知前の定常データの平均μと収束判定時のアクセス数の差分を平行移動する。
つまり、高止まりの場合は高止まりにおいて収束された時点のアクセス数をＶｃとすると、Ｖｃ−μは正の値となり、異常検知前の定常データに（Ｖｃ−μ）を足すことで実現する。
下げ止まりの場合は、下げ止まりにおいて収束された時点のアクセス数をＶｃとすると、μ−Ｖｃは正の値となり、異常検知前の定常データに（μ−Ｖｃ）を減ずることで実現する。
【００８７】
或いは、異常検知前の定常データの最大値と最小値を足して２で割った値と収束判定時のアクセス数の差分を平行移動する。
【００８８】
このように、平行移動したデータを新しい定常データ（擬似定常データ）として使用する。定常データの点数は、異常検知直前に使用していた数と同じでも良いし、システムで定めた初期の数でも良い。
【００８９】
また、単純に異常検知直前のデータに収束後の集計値を連結するのではなく、収束時の日時に合わせた異常検知前の定常データを新しい定常データの生成に使用する方法でも良い。平日、休日、時間帯などを考慮して異常検知前の定常データを使用する。
その場合、異常検知直前の定常データにおいて、日時の情報を付与しておく。
異常の異常検知後、収束が判定された日時が、平日であれば、異常検知直前の定常データの平日のデータを新しい定常データの終端とする。例えば、以下のように処理する。
【００９０】
異常検知前の定常データ：（ｘ１、ｘ２・・・ｘｎ）、但し、ｘｉ〜ｘｎは休日。
収束が判定された日時：平日
この場合は、新しい定常データは、（ｘ１、ｘ２・・・ｘｉ−１）を平行移動したものとする。
平行移動した後、その末尾に収束後の集計値を連結し異常検知を再開する。
収束が判定された日が休日であれば、上記の平日／休日を入れ替えた処理とする。
また、平日、休日ではなく、収束した日時に合わせて定常データを決定しても良い。
【００９１】
異常検知前の定常データ：（ｘ１、ｘ２・・・ｘｎ）
収束が判定された日時：０７年１２月２１日  １３：３０  金曜日
（ｘ１、ｘ２・・・ｘｎ）に含まれる、最も最近の“金曜日１３：３０”のｘを探す。
ｘｊ（０７年１２月１４日  １３：３０  金曜日の集計データ）が該当する場合、（ｘ１、ｘ２・・・ｘｊ）を平行移動したものを新しい定常データ（擬似定常データ）とする。
平行移動した後、その末尾に収束後の集計値を連結し異常検知を再開する。
【００９２】
なお、定常データの再定義後は、図８及び図９の処理に従う。つまり、新しい定常データ（擬似定常データ）に対して、特徴量（擬似定常状態特徴量）を複数生成し、生成した複数の特徴量に基づいて、定常状態特徴量領域２２（擬似定常状態特徴量領域）を定義する。
従って、集計時間がくる度に、定常域のデータは、新しい実際の集計データが取り込まれ、最古の擬似定常データは削除される。ｎ時間の間に新しい異常検知が起こらなかった場合は、ｎ時間が経過した時点で全て実際の集計データに置き換わる。
【００９３】
なお、実施の形態１に示したように、異常が検知されない限り、最古の定常データを削除しない方法でも良い。
【００９４】
ｎ時間が経過する前に、改めて異常検知が発生する場合がある。その場合の処理は、図１０、図１１、図１３及び該当する実施の形態１の処理に従う。
【００９５】
つまり、収束後、定常域のデータを再定義した後の処理は、図８〜図１１及び図１３（実施の形態１）と同じである。
【００９６】
このように、本実施の形態によれば、不正アクセスの収束の判定後、異常検知前の定常データの周期性を考慮した新しい定常データの再定義を行う。また、収束した日時を考慮した定常データの再利用を行うため、高止まり、下げ止まり（或いは元に戻る）においても、精度の良い異常検知が実施できる。
【００９７】
以上、本実施の形態では、異常検知前の時系列データの平均と、収束後のアクセス数の差分を求め、その差分の値を異常検知前の時系列データにプラス／マイナスすることで平行移動し、定常データを再定義する方式について説明した。
また、本実施の形態では、収束後の再検知において、収束後のアクセス数を定常データに連結する際、収束した日時を考慮し、同じ曜日、時間帯、平日／休日の過去の定常データを検索し、その日時を終端とする過去の定常データに対して、収束後のアクセス数を連結し、異常検知を再開する方式について説明した。
【００９８】
実施の形態３．
実施の形態２では、異常検知前の定常データをそのまま利用した。
しかし、上記の契機２に示したように、異常検知直前のデータまで含めてしまうと精度が悪くなる可能性がある。
そこで、本実施の形態では、図２２のように、異常検知直前の定常データの最新の１ウィンドウ分のデータを削除した上で、実施の形態２の処理を行う。
【００９９】
つまり、異常の検知の直前のウィンドウ（直前の定常域）のパターン（図２２の破線で囲んだパターン）を除外し、その１つ前のウィンドウのパターン（図２２の実線で囲んだパターン）に収束判定後の最新の集計値を追加して擬似定常データとする。
図２２では、異常検知の直前の１つのウィンドウのパターンを除外することとしているが、２以上のウィンドウのパターンを除外するようにしてもよい。
【０１００】
また、実施の形態２に示した、収束判定における日時属性を考慮した処理の場合、以下のように処理する。
【０１０１】
異常検知前の定常データ：（ｘ１、ｘ２・・・ｘｎ）  
収束が判定された日時：０７年１２月２１日  １３：３０  金曜日
この場合は、（ｘ１、ｘ２・・・ｘｎ）から、最新の金曜日１３：３０のｘを探す。
ｘｊ（０７年１２月１４日  １３：３０  金曜日の集計データ）が該当する場合、ｘｊが異常検知日時から１ウィンドウサイズ内に含まれるか確認する。
例えば、１ウィンドウを２４単位とすると、（ｘｊ−２４〜ｘｊ）の一部或いは全部が、異常検知日時から１ウィンドウサイズ遡ったデータ（ｘｎ−２４，  ｘｎ）に含まれるか調べる。
含まれる場合は、その１週間前の金曜日の１３：３０のデータを探す。ｘｋが該当する場合は、（ｘ１、ｘ２・・・ｘｋ）、ｋ＜ｊを平行移動したものを擬似定常データとして使用する。
この例においては、異常検知日時が、０７年１２月１４日  １５：３０  金曜日であり、１単位を３０分（１ウィンドウが１２時間）とした場合、収束判定日時から１週間前であるｘｊ（０７年１２月１４日  １３：３０  金曜日の集計データ）は異常検知日時から１ウィンドウに含まれている。
よって、その１週間前の０７年１２月０７日  １３：３０  金曜日の集計データを定常データの末尾として利用する。
【０１０２】
以上、本実施の形態では、スライディングウィンドウを用いた異常検知において、異常検知直前のデータを１スライディングウィンドウ以上削除することで、異常検知直前のゆらぎのあるデータを削除し、その上で定常データを再定義する方式について説明した。
【図面の簡単な説明】
【０１０３】
【図１】実施の形態１における不正アクセス検知装置１００のハードウェア構成を示す図。
【図２】実施の形態１における不正アクセス検知装置１００のブロック構成図。
【図３】実施の形態１におけるデータ取得部１０１〜分析部１０３のシーケンス図。
【図４】実施の形態１における時系列データを示す図。
【図５】実施の形態１におけるログファイルを示す図。
【図６】実施の形態１における集計データ１５１を示す図。
【図７】実施の形態１における行列を用いた主成分分析の手法を説明する図。
【図８】実施の形態１における分析開始前の準備を説明する図。
【図９】実施の形態１における分析開始後を説明する図。
【図１０】実施の形態１における分析開始後を説明する別の図。
【図１１】実施の形態１における分析開始後を説明する別の図。
【図１２】実施の形態１における分析開始後を模式的に説明する図。
【図１３】実施の形態１における定常状態特徴量領域２２に戻る場合を示す図。
【図１４】実施の形態１における新たな定常状態特徴量領域２２に遷移する場合を示す図。
【図１５】実施の形態１におけるマハラノビス距離を説明する図。
【図１６】実施の形態１における時系列データの上昇／下降とマハラノビス距離との関係を説明する図。
【図１７】実施の形態１における動作をまとめたフローチャート。
【図１８】実施の形態１における傾向判定部の動作例を示す図。
【図１９】実施の形態２における定常状態ＮＷデータ１１の生成を説明する図。
【図２０】実施の形態２における定常状態ＮＷデータ１１の生成を説明する別の図。
【図２１】実施の形態２における定常状態ＮＷデータ１１の平行移動を説明する図。
【図２２】実施の形態３における１ウィンドウサイズ分除外して擬似定常データを生成する例を説明する図。
【図２３】擬似的な定常域の再定義が必要なことを説明する図。
【図２４】異常検知前の定常データが正規乱数に近い場合に収束後に定常データをそのまま利用する例を説明する図。
【図２５】収束時のアクセス数と異常検知前のデータの傾向を考慮して定常データを再定義することを説明する図。
【図２６】異常検知前の定常データと収束後の定常データに周期性がある例を説明する図。
【図２７】スパイクが発生した場合に異常検知前の定常データを収束時のアクセス数と連結する例を説明する図。
【図２８】アクセス数が徐々に増加している場合に異常検知前の定常データを収束時のアクセス数と連結する例を説明する図。
【図２９】アクセス数がゼロに近いデータの例を説明する図。
【符号の説明】
【０１０４】
１１  定常状態ＮＷデータ、１２  定常状態ＮＷデータ領域、２１  定常状態特徴量、２２  定常状態特徴量領域、１００  不正アクセス検知装置、１０１  データ取得部、１０２  集計部、１０３  分析部、１０４  異常検知部、１０５  傾向判定部、１０６  収束判定部、１０７  定常状態定義部、１０８  定常状態再定義部、１５０  ログ、１５１  集計データ、８１０  ＣＰＵ、８１１  ＲＯＭ、８１２  ＲＡＭ、８１６  通信ボード、８２０  磁気ディスク装置、８２１  ＯＳ、８２３  プログラム群、８２４  ファイル群、８２５  バス。
【図１】
2009217555.tif 000003
【図２】
2009217555.tif 000004
【図３】
2009217555.tif 000005
【図４】
2009217555.tif 000006
【図５】
2009217555.tif 000007
【図６】
2009217555.tif 000008
【図７】
2009217555.tif 000009
【図８】
2009217555.tif 000010
【図９】
2009217555.tif 000011
【図１０】
2009217555.tif 000012
【図１１】
2009217555.tif 000013
【図１２】
2009217555.tif 000014
【図１３】
2009217555.tif 000015
【図１４】
2009217555.tif 000016
【図１５】
2009217555.tif 000017
【図１６】
2009217555.tif 000018
【図１７】
2009217555.tif 000019
【図１８】
2009217555.tif 000020
【図１９】
2009217555.tif 000021
【図２０】
2009217555.tif 000022
【図２１】
2009217555.tif 000023
【図２２】
2009217555.tif 000024
【図２３】
2009217555.tif 000025
【図２４】
2009217555.tif 000026
【図２５】
2009217555.tif 000027
【図２６】
2009217555.tif 000028
【図２７】
2009217555.tif 000029
【図２８】
2009217555.tif 000030
【図２９】
2009217555.tif 000031