(57)【要約】 【課題】  イベントの時間的特性に特徴を有する異常の検出を行うことができるログ分析装置、ログ分析プログラムおよび記録媒体を提供する。【解決手段】  ログ分析部１０３は、記憶部１０２からログを読み出し、過去の所定期間に記録されたイベントの到着間隔または継続時間を示す時間値に関する分布を生成する。ログ分析部１０３は、この分布の平均値および標準偏差に基づいて理論統計分布を生成し、分析対象の所定期間に記録されたイベントの時間値に関する分布と、理論統計分布との相関度を示す相関係数を算出する。ログ分析部１０３は、相関係数の値が所定値以下の場合に、分析対象のイベントが異常であると判断する。【選択図】    図１
2005236862.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機器から収集したログに基づいて分析処理を行うログ分析装置において、
前記ネットワーク機器から出力されるログを収集する収集手段と、
前記収集手段によって収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析する分析手段と、
を具備することを特徴とするログ分析装置。
【請求項２】
前記分析手段は、
過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成する第1の生成手段と、
前記第１の分布において、分析対象の前記イベントの前記時間値以上となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合または分析対象の前記イベントの前記時間値以下となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合を算出する算出手段と、
を具備することを特徴とする請求項１に記載のログ分析装置。
【請求項３】
前記分析手段は、
過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成する第1の生成手段と、
前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成する第２の生成手段と、
前記理論統計分布に基づいて、分析対象の前記イベントの前記時間値に基づいた上側稀率または下側稀率を算出する算出手段と、
を具備することを特徴とする請求項１に記載のログ分析装置。
【請求項４】
前記分析手段は、
過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成する第１の生成手段と、
前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成する第２の生成手段と、
分析対象の所定期間に前記ログに記録された前記イベントの前記時間値に関する第２の分布を生成する第３の生成手段と、
前記第２の分布と前記理論統計分布との相関度を示す第１の相関係数を算出する算出手段と、
を具備することを特徴とする請求項１に記載のログ分析装置。
【請求項５】
前記第２の生成手段はさらに、前記第１の分布の平均値および標準偏差に基づいて複数の理論統計分布を生成し、前記第１の分布と前記理論統計分布との相関度を示す第２の相関係数を算出し、該第２の相関係数が示す相関度に応じて前記理論統計分布を選択することを特徴とする請求項３または請求項４に記載のログ分析装置。
【請求項６】
前記分析手段はさらに、前記第１の相関係数が示す相関度が所定量以下の場合に、前記分析対象の所定期間に前記ログに記録された前記イベントが異常であると判定する判定手段を具備することを特徴とする請求項４に記載のログ分析装置。
【請求項７】
前記第１の生成手段はさらに、前記第１の分布の中で、異常な前記時間値を前記第１の分布から排除することを特徴とする請求項２〜請求項６のいずれかの項に記載のログ分析装置。
【請求項８】
前記分析手段はさらに、前記ログに記録された複数の前記イベントをグループに分割し、同一のグループに属する前記イベントを同一のイベントとして認識するための識別情報を生成するグループ化手段を具備することを特徴とする請求項２〜請求項７のいずれかの項に記載のログ分析装置。
【請求項９】
ネットワーク機器から収集したログに基づいた分析処理をコンピュータに実行させるためのログ分析プログラムにおいて、
前記ネットワーク機器から出力されるログを収集するステップと、
収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップと、
を具備することを特徴とするログ分析プログラム。
【請求項１０】
収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップは、
過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップと、
前記第１の分布において、分析対象の前記イベントの前記時間値以上となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合または分析対象の前記イベントの前記時間値以下となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合を算出するステップと、
を具備することを特徴とする請求項９に記載のログ分析プログラム。
【請求項１１】
収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップは、
過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップと、
前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成するステップと、
前記理論統計分布に基づいて、分析対象の前記イベントの前記時間値に基づいた上側稀率または下側稀率を算出するステップと、
を具備することを特徴とする請求項９に記載のログ分析プログラム。
【請求項１２】
収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップにおいては、
過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップと、
前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成するステップと、
分析対象の所定期間に前記ログに記録された前記イベントの前記時間値に関する第２の分布を生成するステップと、
前記第２の分布と前記理論統計分布との相関度を示す第１の相関係数を算出するステップと、
を具備することを特徴とする請求項９に記載のログ分析プログラム。
【請求項１３】
前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成するステップは、
前記第１の分布の平均値および標準偏差に基づいて複数の理論統計分布を生成するステップと、
前記第１の分布と前記理論統計分布との相関度を示す第２の相関係数を算出し、該第２の相関係数が示す相関度に応じて前記理論統計分布を選択するステップと、
を具備することを特徴とする請求項１１または請求項１２に記載のログ分析プログラム。
【請求項１４】
収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップはさらに、前記第１の相関係数が示す相関度が所定量以下の場合に、前記分析対象の所定期間に前記ログに記録された前記イベントが異常であると判定するステップを具備することを特徴とする請求項１２に記載のログ分析プログラム。
【請求項１５】
前記過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップにおいてはさらに、前記第１の分布の中で、異常な前記時間値を前記第１の分布から排除することを特徴とする請求項１０〜請求項１４のいずれかの項に記載のログ分析プログラム。
【請求項１６】
前記ログに記録された複数の前記イベントをグループに分割し、同一のグループに属する前記イベントを同一のイベントとして認識するための識別情報を生成するステップをさらに具備することを特徴とする請求項１０〜請求項１５のいずれかの項に記載のログ分析プログラム。
【請求項１７】
請求項９〜請求項１６のいずれかの項に記載のログ分析プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ：侵入検知システム）、Ｒｏｕｔｅｒ、およびＦｉｒｅｗａｌｌなどのネットワーク機器から出力されるログの分析を行うログ分析装置、ログ分析プログラムおよび記録媒体に関する。。
【背景技術】
【０００２】
従来、ＩＤＳや、Ｒｏｕｔｅｒ、Ｆｉｒｅｗａｌｌ等のネットワーク機器から出力されるログの異常性を評価する手法が提案されてきた。例えば、非特許文献１および非特許文献２には、ログに含まれるイベント数に関する比率分析および稀率分析が提案されている。比率分析および稀率分析により、客観的な数値を用いて異常を評価することができる。比率分析においては、ログに記録されている、過去の長期間に検知されたイベント数の単位時間当たりの平均値に対する、注目する単位時間のイベント数の比率を求める。この比率に基づいて、分析対象の単位時間に記録されたイベントの異常性が客観的に評価される。
【０００３】
また、稀率分析においては、ログに記録されている、過去の長期間に検知されたイベントの平均数と標準偏差とを用いて、分析対象の単位時間にログに記録されたイベントの異常性を評価する。稀率分析においては、過去の長期間に検知されたイベントの平均数と標準偏差に基づいて作成された、単位時間当たりのイベント数の発生確率に関する統計分布（例えば正規分布）を用い、分析対象の単位時間に記録されたイベントのイベント数がこの統計分布のどこに位置するのかを、信頼区間の補集合として算出する。この補集合が全体集合に占める割合に基づいて、分析対象の単位時間の異常性が客観的に評価される。
【非特許文献１】竹森敬祐、外２名，「ログ分析支援システムの提案」，情報処理学会研究報告，社団法人情報処理学会，２００３年５月，ｐ．６５−７０
【非特許文献２】竹森敬祐、外４名，「セキュリティデバイスログ分析支援システムの広域監視への適用」，Ｃｏｍｐｕｔｅｒ  Ｓｅｃｕｒｉｔｙ  Ｓｙｍｐｏｓｉｕｍ（ＣＳＳ２００３），２００３年１０月，ｐ．３９７−４０２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のログ分析においては、ログに記録されたイベントの単位時間（例えば１日）当たりのイベント数に基づいて分析が行われていた。しかし、イベントごとの時間的特性（例えばイベントの検知間隔やイベントの継続時間）に基づいた分析を行う手法はなく、イベントの時間的特性に特徴を有する異常の検出を行うことが困難であった。
【０００５】
本発明は、上述した問題点に鑑みてなされたものであって、イベントの時間的特性に特徴を有する異常の検出を行うことができるログ分析装置、ログ分析プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたもので、請求項１に記載の発明は、ネットワーク機器から収集したログに基づいて分析処理を行うログ分析装置において、前記ネットワーク機器から出力されるログを収集する収集手段と、前記収集手段によって収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析する分析手段とを具備することを特徴とするログ分析装置である。
【０００７】
イベントとは、ＩＤＳ等の機器による検知の単位である。イベントの識別は、Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅ、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ、およびＳｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ等によって行うことができる。
【０００８】
一連のイベントの開始時刻と終了時刻とがログに記録されている場合、ある時刻に検知されたイベントの開始時刻と、次に検知された同種のイベントの開始時刻との差が到着間隔である。また、ある時刻に検知されたイベントの終了時刻と、次に検知された同種のイベントの終了時刻との差を到着間隔として用いてもよい。また、イベントが検知されるごとに１行ずつイベントがログに記録される場合は、例えば、同種のイベントの検知時刻の差が所定時間以内ならば同じイベントが継続していると判断し、同種のイベントの検知時刻の差が所定時間を超えたならば、前のイベントが終了したと判断する。そして、一続きのイベント群の先頭のイベントの検知時刻の差によって、到着間隔を求める。また、一続きのイベント群の検知時刻の差に替えて、単一のイベント同士の検知時刻の差を到着間隔としてもよい。
【０００９】
継続時間とは、イベントが初めて検知された時点から同じイベントが終了する時点までの時間である。一連のイベントの開始時刻と終了時刻とがログに記録されている場合、ある時刻に検知されたイベントの開始時刻とそのイベントの終了時刻との差が継続時間である。また、この間に検知されたイベントの数が記録されている場合、それを継続時間として用いてもよい。イベントが検知されるごとに１行ずつイベントがログに記録される場合は、例えば、同じ種類のイベントの検知時刻の差が所定時間以内ならば同じイベントが継続していると判断し、同じ種類のイベントの検知時刻の差が所定時間を超えたならば、前のイベントが終了したと判断する。そして、一続きのイベント群の先頭のイベントの検知時刻と最後尾のイベントの検知時刻との差によって、継続時間を求める。
【００１０】
請求項２に記載の発明は、請求項１に記載のログ分析装置において、前記分析手段は、過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成する第1の生成手段と、前記第１の分布において、分析対象の前記イベントの前記時間値以上となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合または分析対象の前記イベントの前記時間値以下となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合を算出する算出手段とを具備することを特徴とする。
【００１１】
第１の分布は、イベントの時間値とその時間値の出現頻度（記録数）とが対応付けられた分布である。算出手段は、第１の分布と分析対象のイベントの時間値とに基づいて、分析対象のイベントの時間値以上となる時間値の記録数が第１の分布中の時間値の総記録数に占める割合または分析対象のイベントの時間値以下となる時間値の記録数が第１の分布中の前記時間値の総記録数に占める割合を算出する。
【００１２】
請求項３に記載の発明は、請求項１に記載のログ分析装置において、前記分析手段は、過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成する第1の生成手段と、前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成する第２の生成手段と、前記理論統計分布に基づいて、分析対象の前記イベントの前記時間値に基づいた上側稀率または下側稀率を算出する算出手段とを具備することを特徴とする。
【００１３】
第２の生成手段は、第１の分布における頻度の平均値および標準偏差に基づいて、正規分布、ポアソン分布、あるいはΓ分布等の理論統計分布を生成する。算出手段は、この理論統計分布に基づいて、出現頻度が分析対象の期間に検知された特定の時間値の頻度以上となる確率（上側稀率）または出現頻度が分析対象の期間に検知された特定の時間値の頻度以下となる確率（上側稀率）を算出する。
【００１４】
請求項４に記載の発明は、請求項１に記載のログ分析装置において、前記分析手段は、過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成する第１の生成手段と、前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成する第２の生成手段と、分析対象の所定期間に記録された前記イベントの前記時間値に関する第２の分布を生成する第３の生成手段と、前記第２の分布と前記理論統計分布との相関度を示す第１の相関係数を算出する算出手段とを具備することを特徴とする。
【００１５】
第２の生成手段によって生成される理論統計分布は、分析対象の所定期間に出現する時間値の理論的な頻度を示す分布である。相関係数は、統計学における相関分析に用いられる係数である。相関係数の値は−１から１までのいずれかの値であり、１に近づくほど相関度は高くなる。算出手段によって算出された相関係数の値によって、分析対象の第２の分布と理論統計分布との相関度が示され、その値に応じて異常度の判断を行うことができる。
【００１６】
請求項５に記載の発明は、請求項３または請求項４に記載のログ分析装置において、前記第２の生成手段はさらに、前記第１の分布の平均値および標準偏差に基づいて複数の理論統計分布を生成し、前記第１の分布と前記理論統計分布との相関度を示す第２の相関係数を算出し、該第２の相関係数が示す相関度に応じて前記理論統計分布を選択することを特徴とする。
【００１７】
第２の生成手段は、複数の理論統計分布を生成し、各理論統計分布と第１の分布とのそれぞれの相関係数を算出する。続いて、第２の生成手段は、相関係数の値に応じて理論統計分布を選択する。例えば、相関係数が最も１に近い理論統計分布を選択すれば、最適な理論統計分布を選択することができる。
【００１８】
請求項６に記載の発明は、請求項４に記載のログ分析装置において、前記分析手段はさらに、前記第１の相関係数が示す相関度が所定量以下の場合に、前記分析対象の所定期間に前記ログに記録された前記イベントが異常であると判定する判定手段を具備することを特徴とする。
【００１９】
請求項７に記載の発明は、請求項２〜請求項６のいずれかの項に記載のログ分析装置において、前記第１の生成手段はさらに、前記第１の分布の中で、異常な前記時間値を前記第１の分布から排除することを特徴とする。
【００２０】
異常な時間値とは、通常検知される時間値の頻度から外れる頻度の時間値である。第１の生成手段は、例えば、過去のデータに基づいて、記録された時間値の頻度の最大値の９５％以上の頻度の時間値に関するデータを異常時のデータとして排除する。あるいは、記録された時間値の頻度の最大値の９７．５％以上および２．５％以下の頻度に関するデータを排除するなどしてもよい。これにより、異常検出の精度を高めることができる。
【００２１】
請求項８に記載の発明は、請求項２〜請求項７のいずれかの項に記載のログ分析装置において、前記分析手段はさらに、前記ログに記録された複数の前記イベントをグループに分割し、同一のグループに属する前記イベントを同一のイベントとして認識するための識別情報を生成するグループ化手段を具備することを特徴とする。
【００２２】
グループ化手段によって識別情報が生成された同一グループ内のイベントは同一のイベントとして認識される。
【００２３】
請求項９に記載の発明は、ネットワーク機器から収集したログに基づいた分析処理をコンピュータに実行させるためのログ分析プログラムにおいて、前記ネットワーク機器から出力されるログを収集するステップと、収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップとを具備することを特徴とするログ分析プログラム。
【００２４】
請求項１０に記載の発明は、請求項９に記載のログ分析プログラムにおいて、収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップは、過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップと、前記第１の分布において、分析対象の前記イベントの前記時間値以上となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合または分析対象の前記イベントの前記時間値以下となる前記時間値の記録数が前記第１の分布中の前記時間値の総記録数に占める割合を算出するステップとを具備することを特徴とする。
【００２５】
請求項１１に記載の発明は、請求項９に記載のログ分析プログラムにおいて、収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップは、過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップと、前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成するステップと、前記理論統計分布に基づいて、分析対象の前記イベントの前記時間値に基づいた上側稀率または下側稀率を算出するステップとを具備することを特徴とする。
【００２６】
請求項１２に記載の発明は、請求項９に記載のログ分析プログラムにおいて、収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップにおいては、過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップと、前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成するステップと、分析対象の所定期間に前記ログに記録された前記イベントの前記時間値に関する第２の分布を生成するステップと、前記第２の分布と前記理論統計分布との相関度を示す第１の相関係数を算出するステップとを具備することを特徴とする。
【００２７】
請求項１３に記載の発明は、請求項１１または請求項１２に記載のログ分析プログラムにおいて、前記第１の分布の平均値および標準偏差に基づいて理論統計分布を生成するステップは、前記第１の分布の平均値および標準偏差に基づいて複数の理論統計分布を生成するステップと、前記第１の分布と前記理論統計分布との相関度を示す第２の相関係数を算出し、該第２の相関係数が示す相関度に応じて前記理論統計分布を選択するステップとを具備することを特徴とする。
【００２８】
請求項１４に記載の発明は、請求項１２に記載のログ分析プログラムにおいて、収集された前記ログに記録されたイベントの到着間隔または継続時間を示す時間値に基づいて、ネットワークの異常度を分析するステップはさらに、前記第１の相関係数が示す相関度が所定量以下の場合に、前記分析対象の所定期間に前記ログに記録された前記イベントが異常であると判定するステップを具備することを特徴とする。
【００２９】
請求項１５に記載の発明は、請求項１０〜請求項１４のいずれかの項に記載のログ分析プログラムにおいて、前記過去の所定期間に前記ログに記録された前記イベントの前記時間値に関する第１の分布を生成するステップにおいてはさらに、前記第１の分布の中で、異常な前記時間値を前記第１の分布から排除することを特徴とする。
【００３０】
請求項１６に記載の発明は、請求項１０〜請求項１５のいずれかの項に記載のログ分析プログラムにおいて、前記ログに記録された複数の前記イベントをグループに分割し、同一のグループに属する前記イベントを同一のイベントとして認識するための識別情報を生成するステップをさらに具備することを特徴とする。
【００３１】
請求項１７に記載の発明は、請求項９〜請求項１６のいずれかの項に記載のログ分析プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００３２】
本発明によれば、イベントの到着間隔および継続時間に基づいた分析処理を行うようにしたので、時間的特性に特徴があるイベントの異常を検出することができるという効果が得られる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照し、本発明を実施するための最良の形態について説明する。図１は、本発明の一実施形態によるログ分析装置を備えたネットワークの概略構成を示す概略構成図である。図において、１０はログ分析装置である。ログ分析装置１０はＩＤＳ２０〜２２から出力されるログを収集・分析し、分析結果をＷｅｂブラウザ３０へ出力する。ログ分析装置１０およびＷｅｂブラウザ３０は、ネットワーク監視用のセキュリティオペレーションセンター内に配置されている。
【００３４】
ログ分析装置１０は、表示部を有する他の機器へ分析結果を出力してもよいし、ログ分析装置１０に表示部が備えられている場合には、ログ分析装置１０が分析結果を表示してもよい。また、ログ分析装置１０はＷｅｂブラウザ３０を備えたセキュリティオペレーションセンターの外部に存在していてもよいし、セキュリティオペレーションセンター内のＷｅｂブラウザ３０を具備するパーソナルコンピュータ等の機器がログ分析装置１０の機能を有していてもよい。
【００３５】
ＩＤＳ２０〜２２はネットワークを通過するパケットを監視してログを生成し、ｓｙｓｌｏｇｄ等の通信方式により、ログ分析装置１０にログを出力する。セキュリティオペレーションセンターにおいて、ユーザはＷｅｂブラウザ３０に表示される分析結果に基づいて、ネットワークの異常度を判断することができる。なお、ＩＤＳ２０〜２２は、ＲｏｕｔｅｒおよびＦｉｒｅｗａｌｌ等であってもよい。
【００３６】
ログ分析装置１０において、１０１はログ収集部であり、ＩＤＳ２０〜２２から出力されたログを定期的に収集し、ログを記憶部１０２に保存する。ユーザがＷｅｂブラウザ３０を介して、ログ分析装置１０に対して分析を指示すると、分析の指示を示す指示情報がインタフェース部１０４を介してログ分析部１０３へ入力される。ログ分析部１０３はこの指示情報に従って、記憶部１０２からログを読み出し、このログの分析を行い（詳細は後述する）、分析結果を記憶部１０２に保存すると共に、インタフェース部１０４へ出力する。インタフェース部１０４は、ログ分析部１０３から出力された分析結果を、通信回線を介してＷｅｂブラウザ３０へ出力する。ユーザはＷｅｂブラウザ３０に表示される分析結果に基づいて、ネットワークに対する攻撃の状況を判断する。
【００３７】
次に、本実施形態において分析対象となるパラメータについて説明する。図２はＩＤＳから出力されたログの例を示す参考図である。図においてＥｖｅｎｔは、ＩＤＳによる検知の単位を示すイベントのイベント名を示しており、ＩＤＳの場合はＡｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅと呼ばれる。ＩＤＳはネットワークを通過するパケットと、Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅと呼ばれる攻撃パターンファイルとを単純に比較して、マッチングするものがあればログとして出力する。
【００３８】
Ｓｔａｒｔ  ｔｉｍｅはイベント検知の開始日時を示しており、Ｅｎｄ  ｔｉｍｅはイベント検知の終了日時を示している。Ｓｏｕｒｃｅ  ＩＰ：Ｐｏｒｔは、パケットの送信元の機器のＩＰアドレスとＰｏｒｔ番号とをそれぞれ示している。Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ：Ｐｏｒｔは、パケットの送信先の機器のＩＰアドレスとＰｏｒｔ番号とをそれぞれ示している。Ｃｏｕｎｔは、Ｓｔａｒｔ  ｔｉｍｅとＥｎｄ  ｔｉｍｅとの間に検知された同一イベントの数を示している。なお、ＩＤＳの中には、イベントが検知されるごとに１行ずつイベントを出力するものもある。例えば、そのようなＩＤＳにおいては、図２のＰｉｎｇ  ｓｗｅｅｐは２５４個のイベントとして出力され、各イベントの検知時刻が記録される。なお、Ｐｉｎｇ  ｓｗｅｅｐはレイヤが低く、Ｐｏｒｔの概念がないため、Ｐｏｒｔが記載されていない。
【００３９】
本実施形態においては、ＩＤＳから出力されるログに含まれるパラメータとして、Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅ、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ、およびＳｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰを分析対象とする。Ａｔｔａｃｋ  ＳｉｇｎａｔｕｒｅはＩＤＳから出力されるログに含まれるパラメータである。Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅを分析することにより、分析対象のネットワークに対して行われている攻撃の種類を特定することができる。なお、全てのネットワーク型ＩＤＳおよび一部のホスト型ＩＤＳがＡｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅを出力可能である。
【００４０】
Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔは送信元／送信先の機器のポート番号を示す。Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰは送信元／送信先の機器のＩＰアドレスを示す。なおＳｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＰｏｒｔはＳｏｕｒｃｅ  ＰｏｒｔおよびＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔの２つのパラメータのうちのいずれか１つを示しており、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰに関しても同様である。Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔを分析することにより、攻撃元／攻撃対象のポート番号を特定することができる。また、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰを分析することにより、攻撃元／攻撃対象のＩＰアドレスを特定することができる。なお、後述するように、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰは国名を示す識別子に変換することができる。
【００４１】
また、ＲｏｕｔｅｒおよびＦｉｒｅｗａｌｌから出力されるログに含まれるパラメータとして、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ、およびパケット数（またはトラヒック量）を分析対象とする。また、サーバ等のネットワーク機器から出力されるログに含まれるパラメータとして、パケット数（またはトラヒック量）および通信トランザクション量（ＴＣＰ  ＳＹＮパケット等のパケット数またはトラヒック量）を分析対象とする。
【００４２】
次に、本実施形態によるログ分析装置１０の動作を説明する。図３は、ログ分析装置１０の動作を示すフローチャートである。ログ収集部１０１はＩＤＳ２０〜２２から出力されるログを収集し（ステップＳ３０１）、記憶部１０２へ格納する（ステップＳ３０２）。ユーザからログの分析の要求がＷｅｂブラウザ３０を介してなされると、Ｗｅｂブラウザ３０から出力された指示情報がインタフェース部１０４を介してログ分析部１０３へ入力される。続いて、ログ分析部１０３は指示情報に基づいて記憶部１０２からログを読み出す（ステップＳ３０３）。
【００４３】
ログ分析部１０３は、後述する分析処理を行い（ステップＳ３０４）、分析結果を記憶部１０２に保存すると共に、インタフェース部１０４を介して、分析結果をＷｅｂブラウザ３０へ出力する（ステップＳ３０５）。Ｗｅｂブラウザ３０には、分析結果がグラフなどとして表示される。ユーザはこの分析結果に基づいて、ネットワークに対して攻撃が行われているかどうか等を判断する。
【００４４】
次に、図３のステップＳ３０４における分析処理の詳細について説明する。まず、頻度に関してログ分析部１０３が行う稀率分析について説明する。頻度とは、単位時間当たりに検知されたイベントの数である。ログ分析部１０３は、過去の複数の単位時間に検知された特定のイベント（例えば、特定のＡｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅに関するイベント）の頻度（長期プロファイル）に基づいて理論統計分布を生成し、分析対象の単位時間に検知されたイベントの頻度（短期プロファイル）の異常判定を行う。
【００４５】
図４は、ログ分析部１０３による分析処理を説明するための参考図である。図において、４０１は長期プロファイルの分布を示すグラフである。グラフ４０１は、単位時間を１日とし、過去の１０日間にログに記録されたイベントの頻度を表している。１０日間の頻度の１日当たりの平均がμである。また、分析対象である１１日目の頻度がＸｓである。
【００４６】
ログ分析部１０３は、分布４０１に基づいて、１０日間の頻度の平均μおよび標準偏差σを算出する。続いて、ログ分析部１０３は、平均μおよび標準偏差σに基づいて理論統計分布を生成する。本実施形態における理論統計分布は、正規分布、ポアソン分布、およびΓ（ガンマ）分布（λ＝１，２，３）である。［数１］は正規分布の確率密度関数を表す式である。また、［数２］は正規分布における標準偏差σを算出する式である。［数２］において、Ｅｉは過去の単位時間ｉにおけるイベントの頻度であり、ｋは過去の単位時間数である。
【００４７】
【数１】
2005236862.tif 000003
【００４８】
【数２】
2005236862.tif 000004
【００４９】
［数３］はポアソン分布の確率密度関数を表す式である。ポアソン分布において、平均μと分散σの関係は［数４］のように表される。［数５］はΓ分布の確率密度関数を表す式である。［数５］におけるΓ（λ）は［数６］のように表され、Γ分布における平均μと分散σの関係は［数７］のように表される。なお、Γ分布においてλ＝１の場合は指数分布となる。
【００５０】
【数３】
2005236862.tif 000005
【００５１】
【数４】
2005236862.tif 000006
【００５２】
【数５】
2005236862.tif 000007
【００５３】
【数６】
2005236862.tif 000008
【００５４】
【数７】
2005236862.tif 000009
【００５５】
ログ分析部１０３は、上記の正規分布、ポアソン分布、Γ（ガンマ）分布（λ＝１，２，３）の中から、予め設定された理論統計分布を一つ生成する。図４の４０２は、長期プロファイルに基づいて求められた正規分布のグラフを表している。グラフの横軸は平均値μからの距離を、標準偏差σを単位として表している。縦軸は、過去の複数の単位時間において、注目するイベントのイベント数が横軸で示される値となる単位時間の出現確率を表している。グラフ４０２により、１日当たりのイベントの頻度が横軸で表される値となる日の出現確率を求めることができる。
【００５６】
ログ分析部１０３はこの理論統計分布に基づいて稀率分析を行う。稀率分析においてログ分析部１０３は、出現頻度が分析対象の単位時間に検知された頻度以上となる確率（上側稀率Ｒｕ）および出現頻度が分析対象の単位時間に検知された頻度以下となる確率（下側稀率Ｒｌ）を算出する。［数８］および［数９］はそれぞれ上側稀率Ｒｕおよび下側稀率Ｒｌを表す式である。図４の４０３は、上側稀率Ｒｕを図示したものである。
【００５７】
【数８】
2005236862.tif 000010
【００５８】
【数９】
2005236862.tif 000011
【００５９】
上側稀率Ｒｕおよび下側稀率Ｒｌは、異常度を客観的に表す指標である。Ｒｕ≒０．０％の場合は、インターネット上に新たな攻撃が出回り始めたとき、内部ホストがワームに感染したとき、ＤＤｏＳ（Ｄｅｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃（攻撃者がインターネット上のセキュリティに弱い複数のＷｅｂサイトに侵入して攻撃拠点とし、複数の攻撃拠点に仕込んだプログラムを同時に動作させて、攻撃ターゲットのサーバに大量のパケットを送りつけ、サーバの機能を停止してしまう攻撃）を受けたときなど、短期のイベント量が急増したことを示している。攻撃が活発な段階であり、警戒する必要がある。
【００６０】
また、Ｒｌ≒０．０％の場合は、普段から出力され続けていたアラームが急に減少した、もしくは無くなってしまったことを示している。これは、攻撃が収束に向かっている段階、もしくはシステムが停止した状態である。また、Ｒｕ、Ｒｌ≒５０．０％の場合は、普段から検知され続けているログを見分けることができる。これは、既に対策が施されている攻撃、もしくは誤検知されやすいイベントであり、特に注意する必要はない。ユーザは、ログ分析装置１０から出力されるＲｕおよびＲｌの値に基づいて、上述した評価を行えばよい。上記の判断は、正規分布以外の理論統計分布を用いた場合も同様である。この手法は、普段から検知されており、信頼性のある理論統計分布を得ることができるイベントに対する稀率分析を行う場合に有効である。
【００６１】
なお、上述したような理論統計分布を用いずに、直接観測値から上側稀率または下側稀率を求めてもよい。ログ分析部１０３は、過去の長期間にわたる複数の単位時間に検知されたイベントの頻度に基づいて、頻度分布を生成する。この頻度分布は、頻度と、その頻度が発生した単位時間の数とが対応付けられた分布である。ログ分析部１０３は、この頻度分布において、分析対象の単位時間に検知されたイベントの頻度以上の頻度が発生した単位時間の合計数が頻度分布中の全単位時間数に占める割合を上側稀率として算出する。また、ログ分析部１０３は、頻度分布において、分析対象の単位時間に検知されたイベントの頻度以下の頻度が発生した単位時間の合計数が頻度分布中の全単位時間数に占める割合を下側稀率として算出する。この手法は、過去にあまり検知されていないイベントに対する稀率分析を行う場合に有効である。
【００６２】
図５は上述した稀率分析を行う場合の図３のステップＳ３０４における分析処理の動作を示すフローチャートである。図５（ａ）は理論統計分布を用いて稀率分析を行う場合のフローチャートである。ログ分析部１０３は、記憶部１０２から読み出したログから、過去の所定期間における特定のイベントに関するデータを抽出し、その単位時間当たりの頻度に基づいた分布を生成する（ステップＳ５０１）。続いて、ログ分析部１０３はこの分布の平均および標準偏差に基づいて、理論統計分布を生成する（ステップＳ５０２）。ログ分析部１０３は、理論統計分布と、分析対象の単位時間に検知されたイベントの頻度とに基づいて、上側稀率または下側稀率を算出する（ステップＳ５０３）。
【００６３】
図５（ｂ）は観測値から直接上側稀率または下側稀率を算出する場合のフローチャートである。ログ分析部１０３は、記憶部１０２から読み出したログから、過去の所定期間における特定のイベントに関するデータを抽出し、その単位時間当たりの頻度に基づいた分布を生成する（ステップＳ５０４）。続いて、ログ分析部１０３はこの分布と、分析対象の単位時間に検知されたイベントの頻度とに基づいて、上側稀率または下側稀率を算出する（ステップＳ５０５）。
【００６４】
次に、頻度に関してログ分析部１０３が行う異常検出について説明する。異常検出においては、ログ分析部１０３は、過去の長期間のデータに基づいて生成した理論統計分布と、分析対象の短期間のデータに基づいて生成した分布との相関度が低い場合に、分析対象の短期間において異常が発生したと判断する。ログ分析部１０３は、上述した処理と同様に過去の長期間にわたる複数の単位時間に検知された特定のイベントの頻度に基づいて、予め設定された種類の理論統計分布を生成する。この理論統計分布においては、前述した出現確率と分析対象となる短期間に検知された全イベント総数とを掛け合わせ、理論的な単位時間の出現頻度を算出したものを理論統計分布としている。続いて、ログ分析部１０３は分析対象の短期間の複数の単位時間に検知された特定のイベントの頻度に基づいて、頻度分布を生成する。この頻度分布は、頻度と、その頻度が発生した単位時間の数とが対応付けられた分布である。
【００６５】
続いて、ログ分析部１０３は、理論統計分布と頻度分布との相関度を示す相関係数ｒを算出する。相関係数ｒは統計学における相関分析に用いられる係数である。以下の［数１０］〜［数１２］は相関係数ｒを求める式である。ｘは分析対象となる短期間に検知されたイベントの頻度分布のある頻度に対応した単位時間数であり、ｙはその頻度に対応した理論統計分布中の理論的出現数である。
【００６６】
【数１０】
2005236862.tif 000012
【００６７】
【数１１】
2005236862.tif 000013
【００６８】
【数１２】
2005236862.tif 000014
【００６９】
相関係数ｒの値は−１から１までのいずれかの値である。ｒが１に近づくほど理論統計分布と頻度分布との相関度が高い。理論統計分布は、過去の長期間にわたって検知された頻度に基づいた分布であり、平常時の分布であるとみなすことができる。ログ分析部１０３は、相関係数の値が低い場合に、分析対象の短期間に検知されたイベントが異常であると判断する。例えば、相関係数の値が０．５未満の場合に異常であると判断する。
【００７０】
図６は、上述した異常検出を行う場合の図３のステップＳ３０４における動作を示すフローチャートである。ログ分析部１０３は、記憶部１０２から読み出したログから、過去の所定期間における特定のイベントに関するデータを抽出し、その単位時間当たりの頻度に基づいた分布を生成する（ステップＳ６０１）。続いて、ログ分析部１０３はこの分布の平均および標準偏差に基づいて、理論統計分布を生成し（ステップＳ６０２）、分析対象の短期間におけるイベントの頻度に基づいた頻度分布を生成する（ステップＳ６０３）。ログ分析部１０３は理論統計分布と頻度分布との相関係数を算出し、相関係数の値に応じて、検知されたイベントが正常であるか異常であるかの判断を行う（ステップＳ６０４）。なお、ステップＳ６０１〜ステップＳ６０３においては、ステップＳ６０３、ステップＳ６０１、ステップＳ６０２の順に行われてもよい。
【００７１】
なお、上述した異常検出においては、理論統計分布の生成に用いられる過去の長期間にわたる複数の単位時間に検知されたイベントの頻度に関するデータは、ネットワークに攻撃が発生していない正常時のデータであることが望ましい。そこで、過去の長期間のデータから異常なデータを排除する手法について説明する。ログ分析部１０３は過去の長期間のデータに基づいて、記録された単位時間当たりの頻度の最大値の９５％以上の頻度に関するデータを異常時のデータとして排除する。ログ分析部１０３は残りのデータを用いて、上述した処理を行う。これにより、異常検出の精度を高めることができる。データの排除に関しては、単位時間当たりの頻度の最大値の９７．５％以上および２．５％以下の頻度に関するデータを排除するなどしてもよい。
【００７２】
図７は、上記の異常時のデータを排除するための設定例を示す参考図である。この図は、Ｗｅｂブラウザ３０に表示される画面の例である。７０１〜７０４はユーザが設定を入力する入力欄である。ユーザは入力欄７０１において、ログの調査期間を入力する。また、ユーザは入力欄７０２において分析対象のイベントの種類を入力し、入力欄７０３においてグラフ化するときのプロット数を入力する。入力欄７０４は、上述した異常時のデータを排除するための数値を設定する欄である。例えば、入力欄７０４に「９５」と入力されると、ログ分析部１０３は単位時間当たりの頻度の最大値の９５％以上の頻度に関するデータを異常時のデータとして排除する。
【００７３】
次に、頻度に関してログ分析部１０３が行う不正検出について説明する。不正検出においては、ログ分析部１０３は、過去の攻撃時のデータに基づいて生成した理論統計分布と、分析対象の短期間のデータに基づいて生成した分布との相関度が高い場合に、分析対象の短期間において不正が発生したと判断する。例えば、相関係数の値が０．５以上の場合に不正であると判断する。ログ分析部１０３は、過去の長期間にわたる複数の単位時間に検知された特定のイベントの頻度に基づいて、予め設定された種類の理論統計分布を生成する。ただし、対象となる過去の長期間にわたる複数の単位時間に検知されたイベントは、ネットワークに攻撃が蔓延している攻撃時のイベントである。
【００７４】
このような攻撃時のイベントに関するデータは、過去の長期間におけるデータの中から攻撃と思われるデータを抽出することにより作成されたデータまたは予め作成された攻撃データである。予め作成された攻撃データを用いる場合、ログ収集部１０１は、コンピュータウィルスに事前に感染させたネットワークにおけるＩＤＳから出力されたログを収集し、記憶部１０２へ格納する。ログ分析部１０３は、記憶部１０２からこのログを読み出し、理論統計分布を生成する。なお、コンピュータウィルスの種類ごとに、上記の攻撃データを作成するようにしてもよい。
【００７５】
また、過去の長期間におけるデータの中から攻撃データを抽出する場合、ログ分析部１０３は過去の長期間のデータに基づいて、記録された単位時間当たりの頻度の最大値の例えば９５％以上の頻度に関するデータを攻撃時のデータとして使用する。
【００７６】
図８は、上述した不正検出を行う場合の図３のステップＳ３０４における動作を示すフローチャートである。ログ分析部１０３は、記憶部１０２から読み出したログから、過去の所定期間における特定のイベントに関する攻撃データを抽出し、その単位時間当たりの頻度に基づいた攻撃時の分布を生成する（ステップＳ８０１）。続いて、ログ分析部１０３はこの分布の平均および標準偏差に基づいて、理論統計分布を生成し（ステップＳ８０２）、分析対象の短期間におけるイベントの頻度に基づいた頻度分布を生成する（ステップＳ８０３）。ログ分析部１０３は理論統計分布と頻度分布との相関係数を算出し、相関係数の値に応じて、検知されたイベントが不正であるかどうかの判断を行う（ステップＳ８０４）。なお、ステップＳ８０１〜ステップＳ８０３においては、ステップＳ８０３、ステップＳ８０１、ステップＳ８０２の順に行われてもよい。
【００７７】
なお、上述した理論統計分布は予め設定された一つの理論統計分布であり、必ずしも観測された値を正確にモデル化したものとは限らない。そこで、ログ分析部１０３が、最適な理論統計分布を生成するようにしてもよい。ログ分析部１０３は、過去の長期間にわたる複数の単位時間に検知された特定のイベントの頻度に基づいて、複数の理論統計分布を生成する。
【００７８】
図９は過去の長期間に検知されたイベントの頻度に関する頻度分布と複数の理論統計分布とのグラフを示す参考図である。図において、横軸は１日当たりに検知されたイベントの頻度を表している。なお、頻度に関しては、複数の区間が設定され、各区間の代表値が横軸に表示されている。縦軸は各区間の頻度が発生した日数を表している。棒グラフは、過去の長期間に検知されたイベントの頻度分布であり、折れ線グラフは、５種類の理論統計分布のグラフである。５種類の理論統計分布は、正規分布（Ｎｏｒｍａｌ）、ポアソン分布（Ｐｏｉｓｓｏｎ）、Γ分布（Γ（λ＝１）〜Γ（λ＝３））である。なお、図９においては、前述したように、出現確率と過去の長期間における単位時間の総数とを掛け合わせ、理論的な単位時間の出現数を算出したものを理論統計分布に用いている。
【００７９】
ログ分析部１０３は、上記の複数の理論統計分布と分析対象の頻度分布との相関係数を算出する。図９には、各理論統計分布と分析対象の頻度分布との相関係数が記載されている。図９においては、ポアソン分布との相関係数が最も１に近く、理論統計分布と分析対象の頻度分布との形状が非常に似ていることがわかる。ログ分析部１０３は、ポアソン分布が最適な理論統計分布であると判断し、このポアソン分布の確率密度関数を用いて、前述した稀率分析、異常検出、および不正検出を行う。
【００８０】
次に、イベントの到着間隔または継続時間に基づいて稀率分析、異常検出、および不正検出を行う手法について述べる。図１０はイベントの到着間隔を示す参考図である。図において、図面右方向が時間の流れを示している。ＥｖｅｎｔαおよびＥｖｅｎｔβは特定のイベントを指している。例えば、分析対象のパラメータがＡｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅである場合、ＥｖｅｎｔαはＰｏｒｔ  ｐｒｏｂｅであり、ＥｖｅｎｔβはＰｉｎｇ  ｓｗｅｅｐである。
【００８１】
ＸαはＥｖｅｎｔαの到着間隔を示しており、ＸβはＥｖｅｎｔβの到着間隔を示している。また、ＸＡｌｌはＥｖｅｎｔαおよびＥｖｅｎｔβの区別をせず、全てのイベントを同種のイベントとみなした場合の到着間隔を示している。ログが図２のようなフォーマットの場合、ログ分析部１０３は、ある時刻に検知された特定の種類のイベントに関するＳｔａｒｔ  Ｔｉｍｅと、次に検知された同じ種類のイベントのＳｔａｒｔ  Ｔｉｍｅとの差を到着間隔とする。なお、ある時刻に検知された特定の種類のイベントに関するＥｎｄ  Ｔｉｍｅと、次に検知された同じ種類のイベントのＥｎｄ  Ｔｉｍｅとの差を到着間隔として用いてもよい。
【００８２】
また、イベントが検知されるごとに１行ずつイベントがログに記録される場合、ログ分析部１０３は同じ種類のイベントの検知時刻の差が所定時間以内ならば同じイベントが継続していると判断し、同じ種類のイベントの検知時刻の差が所定時間を超えたならば、前のイベントが終了したと判断する。そして、ログ分析部１０３は一続きのイベント群の先頭のイベントの検知時刻の差によって、到着間隔を求める。なお、一続きのイベント群の検知時刻の差に替えて、単一のイベント同士の検知時刻の差を到着間隔としてもよい。
【００８３】
図１１はイベントの継続時間を示す参考図である。継続時間とは、イベントが初めて検知された時点から同じイベントが終了する時点までの時間である。図において、ＸαはＥｖｅｎｔαの継続時間を示しており、ＸβはＥｖｅｎｔβの継続時間を示している。到着間隔の場合と同様に、全てのイベントを同種のイベントとみなして継続時間を求めてもよい。ログが図２のようなフォーマットの場合、ログ分析部１０３は、ある時刻に検知された特定の種類のイベントに関するＳｔａｒｔ  ＴｉｍｅとＥｎｄ  Ｔｉｍｅとの差を継続時間とする。
【００８４】
また、イベントが検知されるごとに１行ずつイベントがログに記録される場合、ログ分析部１０３は同じ種類のイベントの検知時刻の差が所定時間以内ならば同じイベントが継続していると判断し、同じ種類のイベントの検知時刻の差が所定時間を超えたならば、前のイベントが終了したと判断する。そして、ログ分析部１０３は一続きのイベント群の先頭のイベントの検知時刻と最後尾のイベントの検知時刻との差によって、継続時間を求める。なお、継続時間として、図２におけるＣｏｕｎｔの値を用いてもよい。すなわち、一続きのイベント群に属するイベントの数（Ｃｏｕｎｔ）を擬似的な継続時間とする。
【００８５】
ログ分析部１０３は、単位時間あたりに検知されたイベントの頻度に基づいた分析処理と同様に、上記の到着間隔および継続時間（Ｃｏｕｎｔを含む）に基づいた分析処理を行う。稀率分析を行う場合、ログ分析部１０３は、記憶部１０２から読み出したログに基づいて、過去の複数の単位時間に検知されたイベントの到着間隔を算出し、到着間隔とその頻度（同一の到着間隔の数）とが対応付けられた分布を生成する。続いて、ログ分析部１０３はこの分布における頻度の平均と標準偏差とに基づいて理論統計分布を生成する。ログ分析部１０３は、理論統計分布に基づいて、到着間隔の値が分析対象のイベントの到着間隔として検知された値以上となる確率（上側稀率）および到着間隔の値が分析対象のイベントの到着間隔として検知された値以下となる確率（下側稀率）を算出する。
【００８６】
異常検出を行う場合、ログ分析部１０３は、上記と同様に理論統計分布を生成する。また、ログ分析部１０３は、分析対象の短期間におけるイベントの到着間隔（または継続時間）とその頻度とが対応付けられた頻度分布を生成する。ログ分析部１０３は理論統計分布と頻度分布との相関係数を算出し、相関係数の値に応じて、検知されたイベントが正常であるか異常であるかの判断を行う。
【００８７】
不正検出を行う場合、ログ分析部１０３は、記憶部１０２から読み出したログに基づいて、過去の複数の単位時間に検知されたイベントの到着間隔（または継続時間）を算出し、到着間隔とその頻度（同一の到着間隔の数）とが対応付けられた分布を生成する。この場合に用いられるイベントのデータは、攻撃時のイベントのデータである。ログ分析部１０３はこの分布における頻度の平均と標準偏差とに基づいて理論統計分布を生成すると共に、分析対象の短期間におけるイベントの到着間隔とその頻度とが対応付けられた頻度分布を生成する。ログ分析部１０３は理論統計分布と頻度分布との相関係数を算出し、相関係数の値に応じて、検知されたイベントが不正であるかどうかの判断を行う。
【００８８】
なお、稀率分析を行う場合に、理論統計分布を生成するのに替えて、観測値から直接上側稀率および下側稀率を算出してもよい。この場合、ログ分析部１０３は、記憶部１０２から読み出したログに基づいて、過去の複数の単位時間に検知されたイベントの到着間隔（または継続時間）を算出し、到着間隔とその頻度とが対応付けられた分布を生成する。ログ分析部１０３は、この分布において、分析対象のイベントの到着間隔の値以上となる到着間隔の記録数がこの分布中の到着間隔の総記録数に占める割合（上側稀率）または分析対象のイベントの到着間隔の値以下となる到着間隔の記録数がこの分布中の到着間隔の総記録数に占める割合（下側稀率）を算出する。
【００８９】
なお、稀率分析を行う場合に、イベントの到着間隔に基づいて算出した稀率と、イベントの継続時間に基づいて算出した稀率とに基づいて一つの稀率を算出してもよい。例えば、上記の２つの稀率を掛け合わせたものを稀率とする。あるいは、イベントの到着間隔に関する理論統計分布と、イベントの継続時間に関する理論統計分布とをそれぞれ生成し、両者の２次元分布から立体的な３次元分布を生成し、この３次元分布から稀率に該当する一部の立体を切り出し、その体積を稀率としてもよい。
【００９０】
なお、異常検出を行う場合に、過去の長期間にわたるデータから異常なデータを排除するようにしてもよい。さらに、理論統計分布を生成する場合に、複数の理論統計分布を生成すると共に、各理論統計分布と分析対象の頻度分布との相関係数を算出し、相関係数が最も高い理論統計分布を最適な分布として使用するようにしてもよい。
【００９１】
図１２は過去の長期間に検知されたイベントの到着間隔の頻度に関する頻度分布と複数の理論統計分布とのグラフを示す参考図である。図において、横軸はイベントの到着間隔を表している。なお、到着間隔に関しては、複数の区間が設定され、各区間の代表値が横軸に表示されている。縦軸は各区間の到着間隔が発生した数を表している。棒グラフは、過去の長期間に検知されたイベントの到着間隔に関する頻度分布であり、折れ線グラフは、５種類の理論統計分布のグラフである。なお、図１２においては、図９と同様に、出現確率と過去の長期間にわたる単位時間の総数とを掛け合わせ、理論的な単位時間の出現数を算出したものを理論統計分布に用いている。また、図１２には、ログ分析部１０３によって算出された相関係数が示されている。図１２においては、Γ分布（Γ＝１）との相関係数が最も１に近く、理論統計分布と過去の長期間における到着間隔に関する頻度分布との形状が非常に似ていることがわかる。
【００９２】
次に、イベントの到着間隔または継続時間に基づいた不正検出の具体例について説明する。ログ分析部１０３は、コンピュータウィルスやワームによる自動攻撃時のデータに基づいて、理論統計分布を生成する。この理論統計分布は、相関係数を用いた比較によって選択された最適な理論統計分布である。ログ分析部１０３は、分析対象の短期間におけるイベントの到着間隔とその頻度とが対応付けられた頻度分布を生成し、理論統計分布と頻度分布との相関係数を算出する。ログ分析部１０３は、例えば相関係数の値が０．５以上の場合に、分析対象の短期間に検知されたイベントが自動攻撃による不正であると判断し、相関係数の値が０．５未満の場合にはその他であると判断する。また、分析対象の短期間が攻撃時のものであると予めわかっている場合には、相関係数の値が０．５以上の場合に、分析対象の短期間に検知されたイベントが自動攻撃による不正であると判断し、相関係数の値が０．５未満の場合には手動攻撃による不正であると判断する。
【００９３】
自動攻撃の場合には、連続的な攻撃が発生する。この攻撃によるイベントの到着間隔は一定に近く、継続時間は長くなるが一定に近いため、到着間隔および継続時間に関する頻度分布の分散は小さくなる。これに対し、手動攻撃の場合は、人為的に攻撃が発生するため、この攻撃によるイベントの到着間隔および継続時間は不揃いとなり、到着間隔および継続時間に関する頻度分布の分散は自動攻撃の場合よりも大きくなる。したがって、上述した手法により、イベントの到着間隔および継続時間に特徴を有する自動攻撃および手動攻撃を見分けることができる。
【００９４】
また、上述した手法により、コネクションレス型の通信とコネクション型の通信とによる攻撃を見分けることができる。ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）に係るパケットによる攻撃は、攻撃相手からの返信の有無に関係なく連続的に行うコネクションレス型の通信による攻撃である。これに対し、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に係るパケットによる攻撃は、送信元から送信先へのパケットに対して、送信先が接続確立の確認用のパケットを送信するという通信を利用したコネクション型の通信による攻撃である。
【００９５】
コネクションレス型通信の場合は、無制限にパケットが送信し続けられる。また、コネクション型通信の場合には、３ｗａｙハンドシェイクと呼ばれる通信が必要になり、ネットワーク上のホストがメモリ上でハンドシェイク処理を管理する。この場合、ある一定量（例えば１００コネクション）まで連続的にＳＹＮパケットが送信され、それに対するＳＹＮ−ＡＣＫパケットが返信されるまで、例えば６０秒の待機状態となる。この間はＩＤＳに記録されない。待機後も返信がない場合には、再びＳＹＮパケットが送信される。
【００９６】
分析を行う場合、ログ分析部１０３は、攻撃時のデータとしてコネクションレス型の通信による攻撃時のデータを用いて理論統計分布の生成を行う。ログ分析部１０３は理論統計分布と、分析対象の短期間に検知されたイベントの到着間隔または継続時間の頻度に関する頻度分布との相関係数を算出し、相関係数の値が０．５以上の場合に、分析対象の短期間に検知されたイベントがコネクションレス型の通信による攻撃による不正であると判断し、相関係数の値が０．５未満の場合にはその他であると判断する。コネクション型の通信による攻撃による不正を判断する手法も同様である。
【００９７】
次に、イベントのグループ化について説明する。上述したログの分析手法においては、分析対象のパラメータに属する１つ１つのイベントの種類を区別し、個別に分析を行う手法を中心に説明しているが、イベント単体では検知頻度が小さいため、分析が難しい場合がある。また、例えばＡｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅには約２０００種類のイベントがあり、それらのイベントの個々に対して分析を行っていたのでは、作業工数および時間が掛かり、分析をリアルタイムに行うことが困難である。
【００９８】
そこで、複数のイベントをグループ化することにより、検知頻度を高め、推定精度を向上させると共に、作業工数および算出時間の低減を図ることができる。以下、グループ化の具体的手法について説明する。
【００９９】
まず、Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅを、通信レイヤ、攻撃目的、サービスを考慮して意味内容ごとにグループ化する手法がある。各Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅには脆弱性に関するキーが元々割り当てられており、このキーに基づいて、各イベントを意味内容ごとにグループ化する。記憶部１０２には、そのキーとグループとが対応付けられたテーブルが予め格納されており、ログ分析部１０３は、そのテーブルを参照してイベントのグループ化を行う。
【０１００】
また、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰを国単位、もしくはドメイン単位でグループ化する手法がある。ログ分析部１０３は、記憶部１０２に予め格納された、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰと国の識別子とが対応付けられた変換テーブルに基づいて、各イベントをグループ化する。この変換テーブルは、ＩＡＮＡ（Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ）等で管理されているＩＰアドレスとドメイン表から作成することができる。
【０１０１】
以上のようなグループ化を行う場合、ログ分析部１０３は所定の単位ごとにイベントをグループ化し、各グループ内のイベントと、そのグループを識別する情報との対応関係を記憶部１０２に格納する。ログ分析部１０３は、過去の長期間におけるイベントおよび分析対象の短期間におけるイベントを上記の所定の単位ごとにグループ化する。続いて、ログ分析部１０３は、グループ化後の各グループ内に属するイベントを同一のイベントとみなし、前述した稀率分析や、異常検出、不正検出を行う。
【０１０２】
また、分析対象のパラメータに関して、各イベントをイベント数順に並べ替え、イベントの総数に基づいて、各グループ内の総イベント数がほぼ均等になるようにグループ化を行う手法がある。図１３は、この場合のグループ化の様子を示している。図において、棒グラフの１つ１つがイベント（ＨＴＴＰ  Ｐｏｒｔ  Ｐｒｏｂｅ、Ｓｍｕｒｆ  Ａｔｔａｃｋ・・・）を表しており、縦軸方向の棒の長さがイベント数を表している。図においては、一例として各イベントをイベント数の多い順に左から並べ、各グループ内の総イベント数がほぼ均等になるように左からＧ１、Ｇ２・・・とグループ名を付けた様子が示されている。
【０１０３】
この場合、ログ分析部１０３はイベントをグループ化し、各グループ内のイベントと、そのグループを識別する情報との対応関係を記憶部１０２に格納する。このグループ化においては、ログ分析部１０３は以下のようにグループ化を行う。例えば、イベントを６グループに分割し、各グループ内のイベント数が総イベント数の約６分の１となるようにグループ化することにする。図１３において、左のイベントからイベント数を順に加算していき、その総数が総イベント数の６分の１以上となったところで１つのグループとする。このとき、例えばイベント数の最下位の桁は四捨五入するなどの処理を行う。
【０１０４】
あるいは、左のイベントからイベント数を加算していき、その総数が総イベント数の６分の１を超えたところで１つのグループとする。以上の方法により、１つ目のグループ化を行い、次のグループに関してはイベント数が残りのイベント数の約５分の１となるように、上述した方法と同様に２つ目のグループ化を行う。さらに次のグループに関しても同様に、イベント数が残りのイベント数の約４分の１となるように、３つ目のグループ化を行う。これを繰り返し行うことにより、イベントを６グループに分割する。なお、上述した方法は一例であり、各グループ内のイベント数がほぼ均等となるようにグループ化できれば、その方法は問わない。
【０１０５】
また、分析対象のパラメータに関して、各イベントをイベントのＩＤ順に並べ替え、イベントの総数に基づいて、各グループ内の総イベント数がほぼ均等になるようにグループ化を行う手法がある。ここでＩＤとは、Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅの場合は製品ごとに決められたＡｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅ番号であり、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔの場合はＰｏｒｔ番号であり、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰの場合はＩＰアドレス順位である。図１４はこの場合のグループ化の様子を示している。各グループ内の総イベント数がほぼ均等になるようなグループ化の手法は図１３で示されるグループ化の手法と同様である。
【０１０６】
図において、棒グラフの１つ１つがパラメータ（ＨＴＴＰ  Ｐｏｒｔ  Ｐｒｏｂｅ、Ｓｍｕｒｆ  Ａｔｔａｃｋ・・・）を表している。図においては、各グループ内の総イベント数がほぼ均等になるように左からＧ１、Ｇ２・・・とグループ名を付けた様子が示されている。この場合のログ分析装置１０の動作等は動的グループ化１と同様である。この手法は、Ａｔｔａｃｋ  Ｓｉｇｎａｔｕｒｅ、Ｓｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ、およびＳｏｕｒｃｅ／Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰの分析への適用が好適である。
【０１０７】
なお、図１３および図１４で示されるグループ化の説明においては、単位時間当たりのイベントの頻度を用いて説明を行ったが、イベントの到着間隔および継続時間に基づいた分析を行う際のグループ化の手法も同様である。この場合、ログ分析部１０３は、記憶部１０２から読み出したログに基づいて、過去の複数の単位時間に検知されたイベントの到着間隔を算出し、到着間隔（または継続時間）とその頻度とが対応付けられた分布を生成する。続いて、ログ分析部１０３は頻度の順に到着間隔を並べ、上述した手法によりグループ化を行う。
【０１０８】
図１３および図１４で示されるグループ化を行う場合、ログ分析部１０３は、過去のある単位時間のデータに基づいてイベントのグループ化を行い、グループ化後の各グループを識別する情報と、そのグループに属するイベントを示す情報と、分割形態（分割数など）を示す情報とを記憶部１０２に格納する。そして、ログ分析部１０３は分割形態を示す情報に基づいて、残りの過去の長期間におけるイベントおよび分析対象の単位時間におけるイベントをグループ化する。続いて、ログ分析部１０３は、グループ化後の各グループに属するイベントを同一のイベントとみなし、前述した分析処理を行う。
【０１０９】
なお、上述した実施形態においては、分析対象のネットワークを固定し、分析対象の短期間に検知されたイベントが過去の長期間におけるイベントに対してどの程度異常であるか、あるいは不正であるかを評価する手法を示したが、以下のような分析処理を行うこともできる。すなわち、分析対象の期間を固定したときに、特定のネットワークで検知された特定のパラメータに関するイベントが、他の複数のネットワークで検知された同じ特定のパラメータに関するイベントに対してどの程度異常であるかまたは不正であるかを評価する手法である。
【０１１０】
以上説明したように、本実施形態によれば、理論統計分布と分析対象の分布との相関係数を算出し、相関係数が所定値以下である場合に異常であると判断することにより、異常検出を行うことができる。特に、未知の異常なイベントに対する異常検出を行うことができる。また、理論統計分布を生成する場合に、過去の長期間にわたるデータの中から異常なデータを排除することにより、異常検出の精度を高めることができる。
【０１１１】
また、攻撃時のデータに基づいた理論統計分布と分析対象の分布との相関係数を算出し、相関係数が所定値以上である場合に不正であると判断することにより、誤検知の少ない不正検出を行うことができる。さらに、攻撃時のデータとして、ログに記録された頻度（時間値に関する頻度も含む）の最大値の例えば９５％以上の頻度に関するイベントのデータを用いることにより、過去に検出されたイベントに基づいて、不正検出用の攻撃データを生成することができる。
【０１１２】
また、イベントの到着間隔および継続時間に基づいた分析処理を行うことにより、時間的特性に特徴があるイベントの異常検出や不正検出を行うことができる。さらに、理論統計分布を生成する場合に、過去の長期間にわたるイベントに関する分布に基づいて、複数の理論統計分布を生成し、過去の長期間にわたるイベントに関する分布と理論統計分布との相関係数を算出することにより、複数の理論統計分布の中で最適な理論統計分布を選択することができる。
【０１１３】
また、イベントのグループ化を行うことにより、個々のイベント種別ごとに分析を行う場合と比較して、分析を行う工数が低減し、管理が容易になる。また、グループ化によって分析単位が大きくなるので、より広範囲の異常度の概要を把握することができる。
【０１１４】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態におけるログ分析装置は、その動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることにより実現してもよい。
【０１１５】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１１６】
また、上述したログ分析プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上述したログ分析プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【図面の簡単な説明】
【０１１７】
【図１】本発明の一実施形態によるログ分析装置１０を備えたネットワークの概略構成を示す概略構成図である。
【図２】同実施形態におけるログの例を示す参考図である。
【図３】同実施形態によるログ分析装置１０の動作を示すフローチャートである。
【図４】同実施形態によるログ分析部１０３による分析処理を説明するための参考図である。
【図５】同実施形態における分析処理（稀率分析）の動作を示すフローチャートである。
【図６】同実施形態における分析処理（異常検出）の動作を示すフローチャートである。
【図７】同実施形態における異常時のデータを排除するための設定例を示す参考図である。
【図８】同実施形態における分析処理（不正検出）の動作を示すフローチャートである。
【図９】同実施形態における頻度分布と理論統計分布とのグラフを示す参考図である。
【図１０】同実施形態におけるイベントの到着間隔を説明するための参考図である。
【図１１】同実施形態におけるイベントの継続時間を説明するための参考図である。
【図１２】同実施形態における到着間隔に関する頻度分布と理論統計分布とのグラフを示す参考図である。
【図１３】同実施形態におけるイベントのグループ化を説明するための参考図である。
【図１４】同実施形態におけるイベントのグループ化を説明するための参考図である。
【符号の説明】
【０１１８】
１０・・・ログ分析装置、２０，２１，２２・・・ＩＤＳ、３０・・・Ｗｅｂブラウザ、１０１・・・ログ収集部、１０２・・・記憶部、１０３・・・ログ分析部、１０４・・・インタフェース部。
【図１】
2005236862.tif 000015
【図２】
2005236862.tif 000016
【図３】
2005236862.tif 000017
【図４】
2005236862.tif 000018
【図５】
2005236862.tif 000019
【図６】
2005236862.tif 000020
【図７】
2005236862.tif 000021
【図８】
2005236862.tif 000022
【図９】
2005236862.tif 000023
【図１０】
2005236862.tif 000024
【図１１】
2005236862.tif 000025
【図１２】
2005236862.tif 000026
【図１３】
2005236862.tif 000027
【図１４】
2005236862.tif 000028