(57)【要約】【課題】ログ分析に要する処理負荷を抑えつつ、異常発生の検出及び異常発生源の特定が可能なログ分析システムを提供する。【解決手段】周波数変換手段１２は、詳細ログ情報を統合した概要ログ情報の時間軸分布を周波数軸分布に変換する。周波数帯強度算出手段１３は、概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における周波数帯強度を算出する。周波数帯強度監視手段１４は、周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出する。異常特定手段１５は、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定する。【選択図】図１
2010134862.tif 000002
【特許請求の範囲】
【請求項１】
詳細ログ情報と、複数の詳細ログ情報を統合した概要ログ情報とを記憶するログ情報記憶手段を参照し、前記概要ログ情報の時間軸分布を周波数軸分布に変換する周波数変換手段と、
前記周波数変換手段が変換した概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における強度の和である周波数帯強度を算出する周波数帯強度算出手段と、
前記算出された周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出する周波数帯強度監視手段と、
前記周波数帯強度監視手段が異常発生を検出すると、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定する異常特定手段とを備えるログ分析システム。
【請求項２】
前記異常特定手段は、前記異常発生時刻から少なくとも前記監視対象の周波数帯の下限周波数の周期時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定する、請求項１に記載のログ分析システム。
【請求項３】
前記異常特定手段は、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布からピークを検出し、検出したピークの数に基づいて、異常の発生源を特定する、請求項１又は２に記載のログ分析システム。
【請求項４】
前記異常特定手段は、監視対象の周波数帯の下限周波数をｆＡ、上限周波数をｆＢとして、前記検出したピーク数が１〜（ｆＢ／ｆＡ）の間にあるとき、当該詳細ログ情報の生成元を異常発生源として特定する、請求項３に記載のログ分析システム。
【請求項５】
前記周波数帯強度監視手段が異常発生を検出する前後の周波数帯強度の変化量に基づいて、前記ピークを検出する際のピーク検出条件を決定するピーク条件決定手段を更に有する、請求項３又は４に記載のログ分析システム。
【請求項６】
前記ピーク条件決定手段は、前記異常発生の検出前における周波数帯強度と、前記異常発生の検出後の周波数帯強度との比である変動率を求め、前記異常特定手段は、前記詳細ログ情報の時間軸分布が、前記変動率に応じたピーク判定しきい値以上変動する時点を、ピークとして検出する、請求項５に記載のログ分析システム。
【請求項７】
管理対象の装置の数に応じて、前記周波数帯強度監視手段が異常発生を検出する際のしきい値である異常検出用しきい値を決定する異常検出用しきい値決定手段を更に備える、請求項１乃至６の何れか一に記載のログ分析システム。
【請求項８】
前記周波数帯強度算出手段が算出した周波数帯強度を、算出元の管理対象装置と対応付けて出力する周波数帯強度分布出力手段を更に有する、請求項１乃至７の何れか一に記載のログ分析システム。
【請求項９】
前記管理対象装置からログ情報を取得し、取得したログ情報を、前記ログ情報記憶手段に記録するログ情報収集手段を更に有する、請求項１乃至８の何れか一に記載のログ分析システム。
【請求項１０】
コンピュータが、詳細ログ情報と、複数の詳細ログ情報を統合した概要ログ情報とを記憶するログ情報記憶手段を参照し、前記概要ログ情報の時間軸分布を周波数軸分布に変換するステップと、
前記コンピュータが、前記変換された概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における強度の和である周波数帯強度を算出するステップと、
前記コンピュータが、前記算出された周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出するステップと、
前記コンピュータが、前記異常発生が検出されると、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定するステップとを有するログ分析方法。
【請求項１１】
前記コンピュータは、前記異常発生源を特定するステップでは、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布からピークを検出し、検出したピークの数に基づいて、異常の発生源を特定する、請求項１０に記載のログ分析方法。
【請求項１２】
前記コンピュータが、前記異常発生を検出する前後の周波数帯強度の変化量に基づいて、前記ピークを検出する際のピーク検出条件を決定するステップを更に有する、請求項１１に記載のログ分析方法。
【請求項１３】
詳細ログ情報と、複数の詳細ログ情報を統合した概要ログ情報とを記憶するログ情報記憶手段を参照し、前記概要ログ情報の時間軸分布を周波数軸分布に変換する処理と、
前記変換された概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における強度の和である周波数帯強度を算出する処理と、
前記算出された周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出する処理と、
前記異常発生が検出されると、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定する処理とを、コンピュータに実行させるプログラム。
【請求項１４】
前記異常発生源を特定する処理が、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布からピークを検出する処理と、検出したピークの数に基づいて異常の発生源を特定する処理とを含む、請求項１３に記載のプログラム。
【請求項１５】
前記コンピュータに、前記異常発生を検出する前後の周波数帯強度の変化量に基づいて、前記ピークを検出する際のピーク検出条件を決定する処理を更に実行させる、請求項１４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ分析システム、方法、及び、プログラムに関し、更に詳しくは、ログ情報に基づいて異常発生の検出を行うログ分析システム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
異常発生時の原因究明や不正アクセスの検出、将来のリソース使用量の予測のために、システムの運用状態をログ情報として記録し、分析するログ分析システムが導入されている。コンピュータシステム内での異常発生の原因には、ウィルスやワームによるものがある。ウィルスやワームには、潜伏期間や発症期間があり、ある周期で発現するものがある。このような攻撃の周期性に着目して、未知のウィルスやワームの攻撃の兆候を検出する手法が提案されている。
【０００３】
特許文献１には、ログ情報の周期性に着目したログ分析システムの一例が記載されている。特許文献１では、ログ情報の時間軸上での分布をフーリエ変換を用いて周波数軸上の分布へ変換し、周波数軸上での分布の変化を用いて異常を検出している。特許文献１では、周波数成分の強度が、過去の強度に対してある比率を超えると、異常と判断している。
【特許文献１】特開２００５−１５１２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１では、未知のウィルスやワームに感染したプログラム（アプリケーションソフトウェア）を特定するためには、常に、全てのプログラムについて、個別にリソース使用率やイベント発生量を周波数分析する必要がある。このため、特許文献１では、ログ分析に要する負荷が大きくなるという問題がある。
【０００５】
本発明は、ログ分析に要する処理負荷を抑えつつ、異常発生の検出及び異常発生源の特定が可能なログ分析システム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明のログ分析システムは、詳細ログ情報と、複数の詳細ログ情報を統合した概要ログ情報とを記憶するログ情報記憶手段を参照し、前記概要ログ情報の時間軸分布を周波数軸分布に変換する周波数変換手段と、前記周波数変換手段が変換した概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における強度の和である周波数帯強度を算出する周波数帯強度算出手段と、前記算出された周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出する周波数帯強度監視手段と、前記周波数帯強度監視手段が異常発生を検出すると、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定する異常特定手段とを備えることを特徴とする。
【０００７】
本発明のログ分析方法は、コンピュータが、詳細ログ情報と、複数の詳細ログ情報を統合した概要ログ情報とを記憶するログ情報記憶手段を参照し、前記概要ログ情報の時間軸分布を周波数軸分布に変換するステップと、前記コンピュータが、前記変換された概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における強度の和である周波数帯強度を算出するステップと、前記コンピュータが、前記算出された周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出するステップと、前記コンピュータが、前記異常発生が検出されると、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定するステップとを有することを特徴とする。
【０００８】
本発明のプログラムは、詳細ログ情報と、複数の詳細ログ情報を統合した概要ログ情報とを記憶するログ情報記憶手段を参照し、前記概要ログ情報の時間軸分布を周波数軸分布に変換する処理と、前記変換された概要ログ情報の周波数軸分布を参照し、監視対象の周波数帯における強度の和である周波数帯強度を算出する処理と、前記算出された周波数帯強度の時間変化を監視し、周波数帯強度の変動が所定のしきい値以上になると異常発生を検出する処理と、前記異常発生が検出されると、前記ログ情報記憶手段を参照し、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布に基づいて、異常発生源を特定する処理とを、コンピュータに実行させることを特徴とする。
【発明の効果】
【０００９】
本発明のログ分析システム、方法、及び、プログラムは、ログ分析に要する処理負荷を抑えつつ、異常発生の検出及び異常発生源の特定が可能である。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態のログ分析システムを示している。ログ分析システム１０は、ログ情報収集手段１１、周波数変換手段１２、周波数帯強度算出手段１３、周波数帯強度監視手段１４、異常特定手段１５、及び、ログ情報記憶手段２１を有する。ログ分析システム１０内の各部の機能は、コンピュータ上で所定のプログラムを実行することで実現できる。
【００１１】
ログ分析システム１０は、管理対象の装置と通信路を介して接続し、管理対象装置との間で情報交換が可能である。管理対象の装置は、コンピュータ、ネットワーク装置や、その他の装置である。図１では、管理対象の装置として、管理対象コンピュータ３１を１つ図示している。管理対象コンピュータ３１は、１台に限定されず、複数の管理対象コンピュータ３１があってもよい。ログ分析システム１０と管理対象コンピュータ３１との間の通信路は、有線通信、無線通信、或いは、これらの混在などで実現できる。
【００１２】
ログ情報収集手段１１は、管理対象コンピュータ３１から運用状態のログ情報を収集する。ログ情報収集手段１１は、収集したログ情報を、ログ情報記憶手段２１に保存する。ログ情報は、イベントの発生時刻、コンピュータの使用率、コンピュータ内におけるＣＰＵ、メモリ、動作しているプログラム（アプリケーション）の名前などを含む。管理対象装置がネットワーク装置であれば、ログ情報は、パケット数、帯域などのネットワーク装置の運用状態を示す情報を含んでいてよい。
【００１３】
ログ情報収集手段１１は、例えば、定期的に、管理対象コンピュータ３１からログ情報を取得する。或いは、ログ情報収集手段１１は、管理対象コンピュータ３１でイベントが発生した際に、ログ情報を取得してもよい。ログ情報収集手段１１は、取得したログ情報を、詳細ログ情報と、複数の詳細ログ情報を統合した概要的なログ情報である概要ログ情報とに分けて、ログ情報記憶手段２１に記録する。
【００１４】
図２に、ログ情報記憶手段２１を示す。概要ログ情報２５は、概要的なログであり、詳細ログ情報２６は、詳細ログである。ログ情報収集手段１１は、収集したログ情報を詳細ログ情報２６に記録する。ログ情報収集手段１１は、複数の詳細ログ情報２６を統合した統計値を、概要ログ情報２５に記録する。
【００１５】
図３に、概要ログ情報２５と詳細ログ情報２６との具体例を示す。図３は、ＣＰＵ使用率のログ情報を示している。詳細ログ情報２６におけるＣＰＵ使用率は、コンピュータ内で実行されている各プログラムのＣＰＵ使用率である。概要ログ情報２５におけるＣＰＵ使用率は、各プログラムのＣＰＵ使用率を統合したコンピュータ全体としてのＣＰＵ使用率である。ログ情報の取得元がネットワーク装置である場合は、ポートごとのパケット数を概要ログ情報とし、各ポート内での宛先アドレスごとのパケット数を詳細ログ情報とすることができる。ログ情報記憶手段２１が記憶するログ情報は、記憶領域の有効活用のために、一定期間を経過したときに破棄してもよい。或いは、一定期間の経過後に、他の記憶手段に移動させてもよい。
【００１６】
周波数変換手段１２は、ログ情報記憶手段２１を参照し、概要ログ情報２５から、概要ログ情報の時間軸上での分布を生成する。周波数変換手段１２は、概要ログ情報がＣＰＵ使用率のように数値で表される情報であるときは、その数値を時間上にプロットして、概要ログ情報の時間軸分布を生成する。概要ログ情報がイベントの発生通知のように数値で表されない情報であるときは、各時間でのイベント発生数や発生頻度を求め、それを時間軸上にプロットすればよい。周波数変換手段１２は、生成した概要ログ情報の時間軸分布を、周波数軸分布へ変換する。時間軸分布から周波数軸分布への変換には、フーリエ変換を用いることができる。
【００１７】
図４に、管理対象コンピュータ３１の負荷の時間変化の様子（時間軸分布）を示す。横軸は時刻を示し、縦軸は各時刻における負荷を示している。周波数変換手段１２は、ログ情報記憶手段２１から、各時刻における管理対象コンピュータ３１の負荷を取得し、時間軸上にプロットする。負荷としては、ＣＰＵの使用率を用いることができる。
【００１８】
図５に、管理対象コンピュータ３１の負荷の周波数軸分布を示す。横軸は周波数であり、縦軸は周波数成分の強度を表している。図５では、横軸を周波数として示しているが、周波数と繰り返し周期とは逆数で１対１の関係にあるので、横軸の周波数は繰り返しの時間周期ととることもできる。
【００１９】
周波数変換手段１２は、図４に示すＣＰＵ使用率の時間軸分布を周波数変換することで、図５に示すような周波数軸上の分布を求める。周波数変換手段１２は、例えば所定時間経過ごとに、所定時間における概要ログ情報の時間軸分布を周波数軸分布に変換する。時間軸分布のどの時間帯を周波数変換するかによって周波数軸分布は異なるので、時間の経過と共に、周波数軸分布は変化することになる。
【００２０】
周波数帯強度算出手段１３は、概要ログ情報の周波数軸分布を参照し、周波数軸分布における監視対象の周波数帯の強度の和である周波数帯強度を算出する。周波数帯強度算出手段１３は、例えば図５に示す周波数帯Ｂ（ｆ１＜ｆ＜ｆ２）を監視対象の周波数帯として、周波数ｆ１からｆ２までの範囲で強度を積分し、周波数帯Ｂの周波数帯強度を算出する。監視対象の周波数帯は１つには限られず、複数あってもよい。例えば、図５において、周波数帯Ａ（ｆ＜ｆ１）、周波数帯Ｂ（ｆ１＜ｆ＜ｆ２）、周波数帯Ｃ（ｆ＞ｆ２）の３つを監視対象とし、３つの周波数帯について、周波数帯強度を算出してもよい。
【００２１】
周波数帯の分割方法には、種々の方法が考えられる。例えば、周波数軸上で等間隔に分割する方法が考えられる。或いは、周波数帯の分割では、周波数帯の幅は不均一でもよい。周波数帯の幅が不均一になるような分割方法としては、各周波数帯の強度がほぼ均等になるように分割する方法などが考えられる。具体的には、例えば周波数帯の分割数を３つと決めておき、各周波数帯強度がほぼ同じ値になるように、３つの周波数帯強度の上限及び下限を調整する方法などが考えられる。或いは、全周波数の強度の総和を周波数帯の分割数で割った値を求めておき、周波数が低い側から強度を足していき、その値が強度の総和を分割数で割った値になる周波数を、周波数帯の境界周波数と決定していってもよい。
【００２２】
周波数帯強度算出手段１３がどの周波数帯を監視対象として周波数帯強度を算出するかは、管理者が指定する。或いは、あらかじめ監視対象の周波数帯を固定的に決めておいてもよい。監視対象周波数帯の指定では、周波数帯が不均一に分割されているような場合などでは、複数の周波数帯のうちの周波数が高い側からｉ番目（ｉは、１から周波数帯の分割数までの間の何れかの整数）というように指定してもよい。
【００２３】
周波数帯強度算出手段１３は、算出した周波数帯の強度を周波数帯強度監視手段１４に出力する。周波数帯強度監視手段１４は、周波数帯強度算出手段１３が算出した周波数帯強度の時間変化を監視し、周波数帯強度の変動に基づいて、監視対象周波数帯に異常が発生しているか否かを監視する。周波数帯強度監視手段１４は、周波数帯強度の変動が所定のしきい値以上であると判断すると、異常発生を検出する。周波数帯強度監視手段１４は、周波数帯強度算出手段１３が複数の周波数帯の周波数帯強度を算出するときは、それら複数の周波数帯にて異常が発生しているか否かを監視してもよい。このとき、異常発生の判断に用いるしきい値は、周波数帯ごとに異なっていてもよく、或いは、各周波数帯で同じ値であってもよい。
【００２４】
図６に、周波数帯強度の時間変化の様子を示す。図６に示すグラフは、図５における周波数帯Ｂにおける周波数帯強度の時間変化に相当する。周波数帯強度監視手段１４は、現在よりも所定時間前の周波数帯強度の平均を、通常時レベルとして保持する。周波数帯強度監視手段１４は、通常時レベルと周波数帯強度との差が、所定のしきい値以上であると、つまり、周波数帯強度が、通常時レベルからしきい値以上変動すると、異常発生を検出する。周波数帯強度監視手段１４は、異常発生を検出すると、異常発生と判断した周波数帯と、異常発生時刻（ｔ０）とを、異常特定手段１５に通知する。
【００２５】
異常特定手段１５は、異常発生の通知を受けると、ログ情報記憶手段２１に保存された詳細ログ情報を分析し、周期性を有する異常の発生源を特定（推定）する。より詳細には、異常特定手段１５は、異常発生時刻ｔ０から、異常発生時刻ｔ０よりも所定時間さかのぼった時刻までの時間範囲の詳細ログ情報を分析対象とし、その時間範囲の詳細ログ情報の時間軸分布を求める。その後、異常特定手段１５は、詳細ログ情報の時間軸分布におけるピークを検出する。異常特定手段１５は、ピークの検出では、分析対象の時間範囲よりも前の時間における詳細ログ情報の平均を通常時の値とし、分析対象の時間範囲において、詳細ログ情報が通常時よりも所定のしきい値以上変動する時点をピークとして検出する。異常特定手段１５は、検出したピーク数に応じて、異常の発生源を特定する。
【００２６】
図７に、詳細ログ情報におけるＣＰＵ使用率の時間軸分布を示す。周波数帯強度監視手段１４は、時刻ｔ０で、監視対象の周波数帯における周波数帯強度の変動がしきい値を超えたことを検出し、異常発生を検出する。異常特定手段１５は、異常発生検出の通知を受けると、ログ情報記憶手段２１を参照し、異常発生時刻ｔ０から、異常発生時刻ｔ０よりも一定の時間さかのぼった時刻までの時間範囲の詳細ログ情報２６の時間軸分布を分析する。異常特定手段１５は、その時間範囲での詳細ログ情報のピーク、例えばプログラムごとのＣＰＵ使用率のピーク数をカウントし、そのピーク数から、当該詳細ログ情報の生成元が異常の発生源であるか否かを判断する。
【００２７】
異常特定手段１５が異常の発生源の特定の際に分析する詳細ログ情報の時間範囲は、異常発生時刻より異常発生が検出された周波数帯の下限周波数の逆数よりも長い時間前の時刻から、異常発生時刻までとする。つまり、異常特定手段１５は、異常発生時刻ｔ０から監視対象の周波数帯の下限周波数の周期時間以上さかのぼった時間における詳細ログ情報を分析する。例えば、異常発生が検出された周波数帯が図５に示す周波数帯Ｂ（上限周波数ｆ２、下限周波数ｆ１）であったとき、異常特定手段１５は、時刻ｔ０−（１／ｆ１）よりも前の時刻から、時刻ｔ０までの間の詳細ログ情報を分析する。
【００２８】
異常特定手段１５は、上記時間範囲の詳細ログ情報の時間軸分布におけるピーク数をカウントし、ピーク数が１から周波数帯の上限周波数（ｆＢ）と下限周波数（ｆＡ）との比（ｆＢ／ｆＡ）との間にあれば、その詳細ログ情報の生成元、つまりは、その詳細ログ情報を出力したプログラムを異常の発生源と特定する。これは、例えば周波数帯Ｂの場合、（１／ｆ１）の時間に異常を生じた周波数帯の下限である周波数ｆ１のピーク数は１個となり、上限周波数であるｆ２のピーク数は（ｆ２／ｆ１）個となり、ｆ１とｆ２との間にある周波数でのピーク数は１個から（ｆ２／ｆ１）個の間となるからである。このような理由から、さかのぼる時間と異常原因と判断するピーク数の上限・下限の比率は、（１／ｆ１）：１：（ｆ２／ｆ１）であることが望ましい。
【００２９】
さかのぼる時間、つまり、詳細ログ情報を分析する時間範囲については、下限周波数でのピークが１回は観測されるべきであるので、下限周波数の１周期時間よりも長い時間とすることが望ましい。また、異常発生の時間間隔は若干のばらつきを含むことがあるため、分析対象時間を上記比率よりも長く設定し、或いは、異常と判断するピーク数の幅を広くするなどしてもよい。
【００３０】
図８に、全体的な動作手順を示す。ログ情報収集手段１１は、ログ分析システム１０と接続する管理対象コンピュータ３１から、運用状態のログ情報を収集する（ステップＡ１）。ログ情報収集手段１１は、収集したログ情報をログ情報記憶手段２１に記録する。ログ情報収集手段１１は、ログ情報を概要的なログ情報と詳細なログ情報とに分け、概要的なログ情報を概要ログ情報２５（図２）に記録し、詳細なログ情報を詳細ログ情報２６に記録する。
【００３１】
周波数変換手段１２は、ログ情報記憶手段２１から概要ログ情報を取得し、概要ログ情報の時間軸分布を周波数軸分布に変換する（ステップＡ２）。ステップＡ２では、周波数変換手段１２は、例えば図４に示す管理対象コンピュータの負荷の時間軸分布をフーリエ変換し、図５に示す周波数軸分布を生成する。周波数帯強度算出手段１３は、周波数軸分布内の監視対象周波数帯に含まれる周波数帯強度の合計を算出する（ステップＡ３）。周波数帯強度算出手段１３は、監視対象の周波数帯が複数あるときは、そのそれぞれについて、周波数帯強度を算出する。
【００３２】
周波数帯強度監視手段１４は、監視対象周波数帯における周波数帯強度の時間変化を監視し、周波数帯強度の変動がしきい値を超えると、異常発生を検出する（ステップＡ４）。周波数帯強度監視手段１４は、異常発生を検出すると、異常が発生した周波数帯、つまりは、どの監視対象周波数帯で異常が発生したかを示す情報と、異常発生時刻とを、異常特定手段１５に通知する。異常特定手段１５は、ログ情報記憶手段２１を参照し、詳細ログ情報を分析することで、周期性を有する異常の発生源を特定する（ステップＡ５）。
【００３３】
図９に、ステップＡ５の異常の発生源特定の手順を示す。ここでは、異常発生が検出された周波数帯が図５の周波数帯Ｂであるとし、ログ情報としては、ＣＰＵ使用率を考える。異常特定手段１５は、周波数帯強度監視手段１４から、異常発生が検出された時刻ｔ０と、異常発生周波数帯Ｂとが通知される（ステップＢ１、Ｂ２）。周波数帯強度監視手段１４は、例えば異常発生周波数帯Ｂの下限周波数ｆ１と上限周波数ｆ２とを、異常特定手段１５に通知する。或いは、異常発生周波数帯Ｂの識別情報を異常特定手段１５に通知し、異常特定手段１５が、監視対象の周波数帯の上限周波数と下限周波数とを管理するテーブルなどを参照して、下限周波数ｆ１と上限周波数ｆ２とを特定してもよい。
【００３４】
異常特定手段１５は、異常発生時刻ｔ０よりも（１／ｆ１）前の時刻（ｔ０−（１／ｆ１）から異常発生時刻ｔ０までの時間範囲を、詳細ログ情報を分析する時間範囲とする。異常特定手段１５は、詳細ログ情報２６を参照し、分析時間範囲における各プログラムのＣＰＵ使用率の時間軸分布から、ＣＰＵ使用率の時間変化のピーク数をカウントする（ステップＢ３）。異常特定手段１５は、ステップＢ３では、管理対象コンピュータ３１上で実行されているプログラムごとに、ピーク数をカウントする。
【００３５】
異常特定手段１５は、ステップＢ３でカウントしたピーク数が１〜（ｆ２／ｆ１）の間にあるか否かを判断する（ステップＢ４）。異常特定手段１５は、ピーク数が１〜（ｆ２／ｆ１）の間にあるときは、当該詳細ログ情報を出力したプログラムを、異常の発生源と特定する（ステップＢ５）。異常特定手段１５は、特定した異常発生源のプログラムを、ディスプレイ等の出力装置に出力する。ピーク数が１〜（ｆ２／ｆ１）の間にないときは、処理を終了する。
【００３６】
本実施形態では、周波数変換手段１２は、概要ログ情報の時間軸分布を周波数軸分布に変換する。周波数帯強度算出手段１３は、概要ログ情報の周波数軸分布から、監視対象の周波数帯の周波数帯強度を算出する。周波数帯強度監視手段１４は、周波数帯強度の時間変化を監視し、周波数帯強度の変動がしきい値以上であると、異常発生を検出する。異常特定手段１５は、異常発生が検出されると、異常発生時刻から所定時間さかのぼった時間における詳細ログ情報の時間軸分布を分析し、異常発生源を特定する。
【００３７】
本実施形態では、異常発生の検出の際には、概要ログ情報の周波数軸分布を用いている。周波数変化の対象となるログ情報を、概要ログ情報とすることで、詳細ログ情報を含む全てのログ情報に対して周波数変換を行う場合に比して、周波数変換に要する処理負担を軽減することができる。つまり、少ない処理負荷で、異常発生を検出できる。また、本実施形態では、異常発生源の特定に、詳細ログ情報の時間軸分布を用いる。異常が検出されれば、その時刻近辺の詳細ログ情報の時間軸分布を調べることで、異常な振る舞いをしているプログラムを発見することができ、異常発生源を特定することができる。本実施形態では、異常発生源の特定では、詳細ログ情報の周波数軸分布への変換は不要であるので、ログ分析に要する処理負荷を抑えつつ、異常発生源の特定が可能である。
【００３８】
図１０は、本発明の第２実施形態のログ分析システムを示している。本実施形態のログ分析システム２０は、図１に示す第１実施形態のログ分析システム１０に、ピーク条件決定手段１６が追加された構成である。ピーク条件決定手段１６は、周波数帯強度監視手段１４が異常発生を検出する前後の周波数帯強度の変化に基づいて、異常特定手段１５が詳細ログ情報の時間軸分布からピークを検出する際のピーク検出条件を決定する。より詳細には、ピーク条件決定手段１６は、異常発生検出前後の周波数帯強度の変動率を求め、その変動率に基づいて、ピーク検出条件となる基準値（ピーク判定用しきい値）を決定する。
【００３９】
図１１に、周波数帯強度の時間変化を示す。ピーク条件決定手段１６は、周波数帯強度監視手段１４が異常発生を検出すると、異常発生前の周波数帯強度と、異常発生後の周波数帯強度との変動率ｐを求める。異常発生前の周波数帯強度は、例えば異常発生時刻ｔ０よりも所定時間前の時刻から異常発生時刻ｔ０までの周波数帯強度の平均として定義する。また、異常発生後の周波数帯強度は、例えば異常発生時刻ｔ０から、異常発生時刻ｔ０に所定時間を加えた時刻ｔ１までの周波数帯強度の平均として定義する。
【００４０】
ピーク条件決定手段１６は、変動率ｐに基づいて、ピーク判定用しきい値を決定する。ピーク条件決定手段１６は、例えば変動率ｐに比例する値を、ピーク判定用しきい値として決定する。ピーク条件決定手段１６が変動率ｐに比例する値をピーク判定用しきい値とする場合、その比例係数をａとすれば、ａの値としては、“０．８”や“１”、“１．４”などが考えられる。つまり、ピーク判定用しきい値として、ｐよりも小さい値や、ｐと同じ値、ｐより大きい値などが考えられる。これは、時間軸分布と周波数軸分布とは、同じログ情報を基に生成されるものであり、同じ傾向を示すことに起因している。
【００４１】
ピーク判定用しきい値は、上記した変動率ｐに比例するものに限られない。ピーク条件決定手段１６は、変動率ｐを変数とする所定の関数を用いて、変動率ｐから、ピーク判定用しきい値を決定してもよい。変動率ｐと、ピーク判定用しきい値とは、正の相関関係を有することが好ましい。つまり、ピーク判定用しきい値の決定に用いる関数は、変動率ｐが大きいほど、ピーク判定用しきい値が大きくなる関数とすることが好ましい。ピーク判定用しきい値の決定に用いる関数は、ステップ状の関数でも構わない。
【００４２】
ピーク条件決定手段１６は、ピーク判定用しきい値を決定すると、決定したピーク判定用しきい値を異常特定手段１５に通知する。異常特定手段１５は、詳細ログ情報の時間軸分布が、ピーク判定用しきい値以上変動する時点を、ピークとして検出する。より詳細には、異常特定手段１５は、分析対象の時間範囲よりも前の時間における詳細ログ情報の平均を通常時の値とし、分析対象の時間範囲において、詳細ログ情報が通常時よりもピーク判定用しきい値以上変動する時点をピークとして検出する。
【００４３】
図１２に、詳細ログ情報の時間軸分布を示す。異常特定手段１５は、ピーク条件決定手段１６から、ピーク判定用しきい値を受け取る。或いは、ピーク条件決定手段１６から変動率ｐを受け取り、異常特定手段１５内で変動率ｐからピーク判定用しきい値を求めてもよい。異常特定手段１５は、詳細ログ情報がピーク判定用しきい値以上変動する時点をピークとして検出する。ピーク判定用しきい値は、変動率ｐが大きいほど大きくなるので、概要ログ情報の周波数軸分布の変動が大きいときは、詳細ログ情報の時間軸分布が大きく変動する部分がピークとして検出されることになる。
【００４４】
なお、変動率ｐは、異常発生の検出から所定時間経過後（図１１では時刻ｔ１）に判明することになるので、異常特定手段１５は、異常発生の検出時刻ｔ０よりも遅い時刻ｔ１以後にピーク判定用しきい値の通知を受けることになる。本実施形態では、異常特定手段１５が詳細ログ情報を分析する時間範囲は、変動率ｐが求められた時刻（ピーク判定用しきい値が決定した時刻）から所定時間さかのぼった時間としてもよい。すなわち、図１２に示すように、監視対象の周波数帯の下限周波数をｆＡとして、変動率ｐが求まった時刻ｔ１から、時刻（ｔ１−（１／ｆＡ））までの時間範囲を、詳細ログ情報を分析する時間範囲としてもよい。
【００４５】
続いて、動作手順について説明する。全体的な動作手順は、図８に示す第１実施形態における手順と同様である。周波数帯強度監視手段１４は、ステップＡ４で監視対象の周波数帯における周波数帯強度の変動がしきい値を超えたことを検出すると、その検出前後での周波数帯強度の変動率を求める。周波数帯強度監視手段１４は、求めた変動率に応じて、ピーク判定用しきい値を決定し、異常特定手段１５に通知する。異常特定手段１５は、ステップＡ５では、詳細ログ情報の時間軸分布が通知されたピーク判定用しきい値以上変動する時点をピークとして検出し、異常の発生源を特定する。
【００４６】
本実施形態では、異常発生検出前後の周波数帯強度の変動に基づいて、ピーク検出の際のピーク検出条件を決定するピーク決定手段を用いる。ピーク検出条件を異常発生検出前後の周波数帯強度の変動に基づいて決定することで、周波数帯強度の変動の大きさに合わせて、ピークと判定される詳細ログ情報の時間軸分布の変動の大きさを変化させることができる。例えば、ピーク検出条件となるピーク判定しきい値を、異常発生検出前後の周波数帯強度の変動率に比例した値とする場合、概要ログ情報の周波数軸分布の変動が大きくなるにつれて、ピーク判定用しきい値も大きくなる。この場合、異常特定手段１５は、詳細ログ情報の時間軸分布の変動が小さい時点をピークとして検出せず、変動が大きい時点をピークとして検出することになる。このようにすることで、異常特定手段１５は、詳細ログ情報の時間軸分布に小さな変動が含まれる場合でも、それをピークとして検出せず、ピークを正しく検出できる。その他の効果は、第１実施形態と同様である。
【００４７】
図１３は、本発明の第３実施形態のログ分析システムを示している。本実施形態のログ分析システム３０は、図１に示す第１実施形態のログ分析システム１０に、異常検出用しきい値決定手段１７が追加された構成である。異常検出用しきい値決定手段１７は、周波数帯強度監視手段１４が周波数帯強度を監視する管理対象コンピュータ３１の数に応じて、周波数帯強度監視手段１４が異常発生を検出する際の概要ログ情報の周波数軸分布の変動のしきい値である異常検出用しきい値を決定する。ログ分析システム３０は、ピーク条件決定手段１６（図１０）を有していてもよい。
【００４８】
ログ情報収集手段１１は、複数の管理対象コンピュータ３１（図１３では、３台の管理対象コンピュータ３１ａ〜３１ｃ）から、ログ情報を収集する。周波数帯強度監視手段１４は、同じ監視対象周波数について、３台の管理対象コンピュータ３１における周波数帯強度の変化をそれぞれ監視する。例えば、図５に示す周波数帯Ｂを監視対象の周波数帯とする場合、周波数帯強度監視手段１４は、管理対象コンピュータ３１ａにおける周波数帯Ｂの周波数帯強度の変化、管理対象コンピュータ３１ｂにおける周波数帯Ｂの周波数帯強度の変化、及び、管理対象コンピュータ３１ｃにおける周波数帯Ｂの周波数帯強度の変化を監視する。
【００４９】
異常検出用しきい値決定手段１７は、管理対象コンピュータ３１の数に応じて、異常検出用しきい値を低下させる。より詳細には、管理対象コンピュータ３１が１台のときのしきい値を基本しきい値として、管理対象コンピュータ３１が増えるほど、異常検出用しきい値を基本しきい値から低下させる。異常検出用しきい値決定手段１７は、決定した異常検出用しきい値を周波数帯強度監視手段１４に通知する。周波数帯強度監視手段１４は、周波数帯強度の変動が、通知された異常検出用しきい値以上であると、異常発生を検出する。
【００５０】
異常検出用しきい値決定手段１７は、例えば、基本しきい値を、管理対象コンピュータ数に反比例して低下させる。或いは、基本しきい値から、管理対象コンピュータ数に応じて、線形に低下させてもよい。異常検出用しきい値決定手段１７は、異常検出用しきい値に下限を設け、管理対象コンピュータ数が増えたときでも、その下限よりも小さくならないようにしておくことが好ましい。これは、異常検出用しきい値を低くし過ぎると、周波数帯強度の少しの変動で異常発生が検出されることになるためである。
【００５１】
図１４（ａ）〜（ｃ）に、各管理対象コンピュータ３１の周波数帯強度の時間変化を示す。異常検出用しきい値決定手段１７は、管理対象コンピュータ数が１台のときは、図６に示すしきい値に相当する値を、異常判定検出用しきい値として決定する。異常検出用しきい値決定手段１７は、管理対象コンピュータ数が３台のときは、上記基本しきい値よりも低い値を異常判定用しきい値とし、３台の管理対象コンピュータ３１から同じような周波数帯強度の変動が観察されたときに、異常発生検出をより早く行う。これは、各管理対象コンピュータ３１は、同じセキュリティポリシーで管理されていることが多く、同時に同じ攻撃を受ける可能があるためである。
【００５２】
本実施形態では、管理対象コンピュータ３１の数に応じて、周波数帯強度監視手段１４が異常発生を検出する際のしきい値である異常検出用しきい値を決定する異常検出用しきい値決定手段１７を用いる。管理対象コンピュータ数に応じて、異常検出用しきい値を低下させることで、同時に攻撃を受ける可能性がある管理対象コンピュータ群について、異常発生の検出時刻を早めることができる。その他の効果については、第１実施形態と同様である。
【００５３】
図１５は、本発明の第４実施形態のログ分析システムを示している。本実施形態のログ分析システム５０は、図１に示す第１実施形態のログ分析システム１０に、周波数入力手段５１と周波数帯強度分布出力手段５２とが追加された構成である。周波数入力手段５１及び周波数帯強度分布出力手段５２は、オペレータに対する入出力機能を実現する手段である。ログ分析システム５０は、ピーク条件決定手段１６（図１０）及び異常検出用しきい値決定手段１７（図１３）のいずれか一方、又は、双方を有していてもよい。
【００５４】
周波数入力手段５１は、周波数帯強度の監視状態を出力する監視対象の周波数帯を指定する。周波数帯の指定方法としては、種々の方法が考えられる。例えば、周波数帯の上限及び下限を指定する方法や、表示された周波数帯の中から出力対象の周波数帯を指定する方法などが考えられる。周波数帯強度分布出力手段５２は、各管理対象コンピュータ３１について、周波数入力手段５１を用いて指定された周波数帯の周波数帯強度を、周波数帯強度生成元の管理対象コンピュータ３１と対応付けて、ディスプレイなどの画面上に表示する。また、周波数帯強度分布出力手段５２は、周波数帯強度の表示に加えて、周波数帯強度監視手段１４が異常発生を検出した管理対象装置の色を、赤色などの目立つ色で表示してもよい。この場合、異常がどの装置で発生したかを、視覚的に視認しやすくなる。
【００５５】
図１６に、表示画面例を示す。表示画面は、出力対象の周波数帯を指定する周波数帯指定エリア２２０と、周波数帯強度の高低を表示する強度分布出力エリア２３０とを有する。ここでは、管理対象装置として、コンピュータ２０１（２０１ａ〜２０１ｃ）やネットワーク装置２０２（２０２ａ〜２０２ｃ）を考える。周波数帯指定エリア２２０には、周波数入力手段５１が周波数帯を指定する際に用いる入力バーが表示される。強度分布出力エリア２３０には、管理対象のコンピュータ２０１やネットワーク装置２０２が、それらの接続関係を示すネットワークトポロジ上に表示されている。
【００５６】
オペレータは、マウスなどを用いて、周波数帯指定エリア２２０内の入力バーにおけるつまみ２２１の位置を移動し、所望の周波数帯を指定する。周波数入力手段５１は、オペレータが指定した、つまみ２２１が位置する周波数帯を、周波数帯強度算出手段１３に通知する。周波数帯強度算出手段１３は、管理対象のコンピュータ２０１やネットワーク装置２０２について、通知された周波数帯の周波数帯強度を算出する。
【００５７】
周波数帯強度分布出力手段５２は、管理対象のコンピュータ２０１やネットワーク装置２０２の周波数帯強度を、グラフィカルに表示する。周波数帯強度分布出力手段５２は、例えば、周波数帯強度が高いほど、管理対象のコンピュータ２０１やネットワーク装置２０２の図形の塗りつぶしの色を濃くすることで、各装置の周波数帯強度の強弱を表示する。塗りつぶしの色の濃淡に代えて、周波数帯強度に応じて、赤・青・黄・緑などの色を使い分けることで強度の強弱を表わしてもよい。また、色に代えて、管理対象のコンピュータ２０１やネットワーク装置２０２の図形の中、或いは、その周囲に、周波数帯強度の数値を表示してもよい。
【００５８】
図１７（ａ）〜（ｃ）に、概要ログ情報の周波数軸分布を示す。図１７（ａ）は、コンピュータ２０１ａの概要ログ情報の周波数軸分布を示している。また、図１７（ｂ）は、コンピュータ２０１ｂの概要ログ情報の周波数軸分布を示し、図１７（ｃ）は、コンピュータ２０１ｃの概要ログ情報の周波数軸分布を示している。周波数入力手段５１が、周波数帯Ｂ（ｆ１＜ｆ＜ｆ２）を指定したとする。周波数帯強度算出手段１３は、コンピュータ２０１ａ〜２０１ｃについて、周波数軸分布における周波数ｆ１からｆ２までの強度の和を算出する。
【００５９】
コンピュータ２０１ａ〜２０１ｃにおける周波数帯強度を比較すると、コンピュータ２０１ａにおける周波数帯強度とコンピュータ２０１ｃにおける周波数帯強度は同程度であり、コンピュータ２０１ｂにおける周波数帯強度は、他のコンピュータにおける周波数帯強度よりも低い。周波数帯強度分布出力手段５２は、コンピュータ２０１ａ及び２０１ｃを、コンピュータ２０１ｂよりも濃い色で表示する。オペレータは、表示画面を見ることで、コンピュータ２０１ａ及び２０１ｃの周波数帯Ｂの周波数帯強度が高いことを把握することができる。
【００６０】
本実施形態では、周波数帯強度算出手段１３が算出した周波数帯強度を、算出元の管理対象コンピュータと対応付けて出力する周波数帯強度分布出力手段５２を用いる。各管理対象装置の周波数帯強度は、時々刻々と変化する。周波数帯強度分布出力手段５２が、各管理対象装置の周波数帯強度を、算出元の管理対象装置と対応付けて出力することで、オペレータは、各管理対象装置の周波数帯強度がどのように変化するかを把握することができる。特に、周波数帯強度分布出力手段５２が、各管理対象装置の周波数帯強度を色や濃度で表す場合は、オペレータは、色や濃度の変化をみることで、どの装置で周波数帯強度に変動があるかを、容易に把握することができる。
【００６１】
本実施形態では、管理対象装置をネットワークトポロジ上に表示し、管理対象装置の周波数帯強度をネットワーク構成と共に表示している。このようにする場合、ネットワーク上のどの装置で周波数帯強度が高くなっているかを、容易に把握することができる。複数の装置で連携して実行するサービスでは、関連する装置が同じような周期性を持つことが多い。管理対象装置をネットワークトポロジ上に表示することで、オペレータは、装置間の関連性をトポロジー情報と共に見ることができ、表示された情報を、装置間の関連性を見つけるのに役立てることができる。
【００６２】
なお、上記各実施形態では、ログ分析システムがログ情報収集手段１１を有する例について説明したが、ログ情報記憶手段２１に既に概要ログ情報と詳細ログ情報とが記録されている状態であれば、ログ情報収集手段１１は省略することができる。すなわち、あらかじめ収集しておいたログ情報を用いて、オフラインで異常発生を検出する場合は、ログ情報収集手段１１、及び、図８のステップＡ１のログ情報収集の動作は省略してもよい。
【００６３】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のログ分析システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１実施形態のログ分析システムを示すブロック図。
【図２】ログ情報記憶手段を示すブロック図。
【図３】概要ログ情報と詳細ログ情報のデータ例を示すブロック図。
【図４】概要ログ情報の時間軸分布を示すグラフ。
【図５】概要ログ情報の周波数軸分布を示すグラフ。
【図６】周波数帯強度の時間変化を示すグラフ。
【図７】詳細ログ情報の時間軸分布を示すグラフ。
【図８】全体的な処理手順を示すフローチャート。
【図９】異常発生源特定の手順を示すフローチャート。
【図１０】本発明の第２実施形態のログ分析システムを示すブロック図。
【図１１】周波数帯強度の時間変化を示すグラフ。
【図１２】詳細ログ情報の時間軸分布を示すグラフ。
【図１３】本発明の第３実施形態のログ分析システムを示すブロック図。
【図１４】（ａ）〜（ｃ）は、各管理対象コンピュータにおける周波数帯強度の時間変化を示すグラフ。
【図１５】本発明の第４実施形態のログ分析システムを示すブロック図。
【図１６】表示画面例を示す図。
【図１７】（ａ）〜（ｃ）は、各管理対象コンピュータにおける概要ログ情報の周波数軸分布を示すグラフ。
【符号の説明】
【００６５】
１０、２０、３０、５０：ログ分析システム
１１：ログ情報収集手段
１２：周波数変換手段
１３：周波数帯強度算出手段
１４：周波数帯強度監視手段
１５：異常特定手段
１６：ピーク条件決定手段
１７：異常検出用しきい値決定手段
２１：ログ情報記憶手段
２５：概要ログ情報
２６：詳細ログ情報
３１：管理対象コンピュータ
５１：周波数入力手段
５２：周波数帯強度分布出力手段
２０１：コンピュータ
２０２：ネットワーク装置
２２０：周波数帯指定エリア
２２１：つまみ
２３０：強度分布出力エリア
【図１】
2010134862.tif 000003
【図２】
2010134862.tif 000004
【図３】
2010134862.tif 000005
【図４】
2010134862.tif 000006
【図５】
2010134862.tif 000007
【図６】
2010134862.tif 000008
【図７】
2010134862.tif 000009
【図８】
2010134862.tif 000010
【図９】
2010134862.tif 000011
【図１０】
2010134862.tif 000012
【図１１】
2010134862.tif 000013
【図１２】
2010134862.tif 000014
【図１３】
2010134862.tif 000015
【図１４】
2010134862.tif 000016
【図１５】
2010134862.tif 000017
【図１６】
2010134862.tif 000018
【図１７】
2010134862.tif 000019