(57)【特許請求の範囲】
【請求項１】
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する正常モデルベースの異常検知部と、
前記正常モデルベースの異常検知部と並行して動作し、ルールに基づいて、前記イベント信号の異常の有無を検知するルールベースの異常検知部と、
前記正常モデルベースの異常検知部で異常であると検知された前記イベント信号を異常なイベント信号として最終的な異常検知結果に含め、且つ、前記正常モデルベースの異常検知部で異常であると検知された前記イベント信号が前記ルールベースの異常検知部で異常であると検知されている場合には異常として検知したルールを前記異常検知結果に含める異常検知集約部と、を備え、
前記イベント信号は、前記計算機システムのリソースの活動に係るイベントの発生時刻および活動内容を含んで構成され、
前記ルールは、前記リソースの活動に関係し、さらに、
前記正常モデルベースの異常検知部によって異常であると検知された前記イベント信号に関係する前記リソースを特定し、該特定した前記リソースに関係するか否かに基づいて前記ルールの有効度を決定するルール調整部を含む、
異常検知装置。
【請求項２】
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する正常モデルベースの異常検知部と、
前記正常モデルベースの異常検知部と並行して動作し、ルールに基づいて、前記イベント信号の異常の有無を検知するルールベースの異常検知部と、
前記正常モデルベースの異常検知部で異常であると検知された前記イベント信号を異常なイベント信号として最終的な異常検知結果に含め、且つ、前記正常モデルベースの異常検知部で異常であると検知された前記イベント信号が前記ルールベースの異常検知部で異常であると検知されている場合には異常として検知したルールを前記異常検知結果に含める異常検知集約部と、を備える、
異常検知装置。
【請求項３】
前記最終的な異常検知結果を画面に表示する検知結果提示部を、更に含む、
請求項１または２に記載の異常検知装置。
【請求項４】
前記最終的な異常検知結果に基づいて、検知された異常に対する対処を自動で行う異常対処部を、更に含む、
請求項１乃至３の何れかに記載の異常検知装置。
【請求項５】
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知と並行して、ルールに基づいて、前記イベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号を異常なイベント信号として最終的な異常検知結果に含め、且つ、前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号が前記ルールに基づく前記異常の検知で異常であると検知されている場合には異常として検知したルールを前記異常検知結果に含め、
前記イベント信号は、前記計算機システムのリソースの活動に係るイベントの発生時刻および活動内容を含み、
前記ルールは、前記リソースの活動に関係し、さらに、
前記正常モデルに基づく異常の有無の検知によって異常であると検知された前記イベント信号に関係する前記リソースを特定し、該特定した前記リソースに関係するか否かに基づいて前記ルールの有効度を決定する、
異常検知方法。
【請求項６】
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知と並行して、ルールに基づいて、前記イベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号を異常なイベント信号として最終的な異常検知結果に含め、且つ、前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号が前記ルールに基づく前記異常の検知で異常であると検知されている場合には異常として検知したルールを前記異常検知結果に含める、
異常検知方法。
【請求項７】
コンピュータに、
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する処理と、
前記正常モデルに基づく前記異常の検知と並行して、ルールに基づいて、前記イベント信号の異常の有無を検知する処理と、
前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号を異常なイベント信号として最終的な異常検知結果に含め、且つ、前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号が前記ルールに基づく前記異常の検知で異常であると検知されている場合には異常として検知したルールを前記異常検知結果に含める処理と、
を行わせ、
前記イベント信号は、前記計算機システムのリソースの活動に係るイベントの発生時刻および活動内容を含み、
前記ルールは、前記リソースの活動に関係し、さらに、前記コンピュータに、
前記正常モデルに基づく異常の有無の検知によって異常であると検知された前記イベント信号に関係する前記リソースを特定し、該特定した前記リソースに関係するか否かに基づいて前記ルールの有効度を決定する処理、
を行わせるためのプログラム。
【請求項８】
コンピュータに、
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する処理と、
前記正常モデルに基づく前記異常の検知と並行して、ルールに基づいて、前記イベント信号の異常の有無を検知する処理と、
前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号を異常なイベント信号として最終的な異常検知結果に含め、且つ、前記正常モデルに基づく前記異常の検知で異常であると検知された前記イベント信号が前記ルールに基づく前記異常の検知で異常であると検知されている場合には異常として検知したルールを前記異常検知結果に含める、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検知装置、異常検知方法、および記録媒体に関する。
【背景技術】
【０００２】
各種の設備やシステムで異常が発生した場合、それを迅速に検知することが重要である。そのための異常検知方法が各種提案されている。その代表的な手法に、正常モデルに基づく異常検知方法と、ルールに基づく異常検知方法とがある。【０００３】
正常モデルに基づく異常検知方法は、システムの正常な状態を正常モデルとして学習し記憶しておく。システムの正常な状態はシステムの平常の状態であってよい。また正常モデルは、平常モデルとも呼ぶ。そして、正常モデルを記憶した後にシステムから得られる状態が正常モデルから逸脱する場合、異常であると判定する。【０００４】
一方、ルールに基づく異常検知方法は、個々の異常を検知するための条件を定めたルールを作成して記憶しておく。そして、記憶したルールを使用して、システムから得られる状態が異常か否かを判定する。【０００５】
上記の２つの異常検知方法には、それぞれ一長一短がある。正常モデルに基づく異常検知方法は、正しい状態は不変という考えに基づいている。そのため、既知の異常のみならず未知の異常の検知が可能である。しかし、異常判定の根拠が統計的に外れているということである。そのため、どのような現象が起こっているのかの説明ができない。一方、ルールに基づく異常検知方法は、異常判定の根拠が理解し易い。しかし、未知の異常を検知するようなルールを事前に定義することは困難である。また既知の異常であっても、異常の確実な検知と誤検知のバランスのとれた適切なルールを定義するのは困難である。そのため、検知漏れを防止すると過検知な傾向が強くなる。また過検知を防止すると検知漏れが増大する傾向が強くなる。【０００６】
そこで、正常モデルに基づく異常検知方法とルールに基づく異常検知方法とを組み合わせた異常検知方法が、本発明に関連する異常検知方法として提案されている（例えば特許文献１）。【０００７】
本発明に関連する異常検知方法では、まずオフライン処理によって、正常モデルに基づく統計的な異常検知を行う。そして、その異常検知により得られた結果を用いて、ルールベースの異常検知に使用するルールを生成する。次に、オンライン処理によって、上記ルールを用いて実際に異常検知を行う。これにより、異常を高感度に検知することができ、また、検知のみでなく異常の説明が可能であるとしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許５３３１７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、正常モデルベースの異常検知方法とルールベースの異常検知方法を組み合わせた異常検知方法が本発明に関連する異常検知方法として提案されている。しかしながら、本発明に関連する異常検知方法では、正常モデルに基づく異常検知方法によって検知した異常は、ルールに基づく異常検知方法によって検知可能であることを前提としている。しかし、正常モデルに基づいて検知した異常を、漏れなく確実に検知するためのルールを常に作成できる保証はない。若し、必要なルールが作成できなかった場合、本発明に関連する異常検知方法では検知精度が低下する。その理由は、本発明に関連する異常検知方法では、実際の異常検知はルールベースの異常検知方法によってのみ実施しているためである。【００１０】
本発明の目的は、上述した課題を解決する異常検知装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一形態に係る異常検知装置は、
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する正常モデルベースの異常検知部と、
前記正常モデルベースの異常検知部と並行して動作し、ルールに基づいて、前記イベント信号の異常の有無を検知するルールベースの異常検知部と、
前記正常モデルベースの異常検知部と前記ルールベースの異常検知部の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する異常検知集約部と、を備える。【００１２】
また本発明の他の形態に係る異常検知方法は、
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知と並行して、ルールに基づいて、前記イベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知と前記ルールに基づく前記異常の検知の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する。【００１３】
また本発明の他の形態に係るコンピュータ読み取り可能な記録媒体は、
コンピュータを、
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する正常モデルベースの異常検知部と、
前記正常モデルベースの異常検知部と並行して動作し、ルールに基づいて、前記イベント信号の異常の有無を検知するルールベースの異常検知部と、
前記正常モデルベースの異常検知部と前記ルールベースの異常検知部の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する異常検知集約部と、して機能させるためのプログラムを記録する。
【発明の効果】
【００１４】
本発明は上述した構成を有することにより、検知精度を向上させることができる。その理由は、正常モデルベースの異常検知とルールベースの異常検知とを並行して行い、双方の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成するためである。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る異常検知装置を適用した計算機システムの一例を示すハードウェア構成図である。
【図２】本発明の第１の実施形態に係る異常検知装置の一例を示すブロック図である。
【図３】本発明の第１の実施形態における有効度の一例を示すテーブルを示す図である。
【図４】本発明の第１の実施形態における異常検知結果の表示例を示す図である。
【図５】本発明の第１の実施形態に係る異常検知装置における正常モデルの作成動作の一例を示す図である。
【図６】本発明の第１の実施形態に係る異常検知装置における異常検知動作の一例を示す図である。
【図７】本発明の第２の実施形態に係る異常検知装置における異常検知動作の一例を示す図である。
【図８】本発明の第３の実施形態に係る異常検知装置のブロック図である。
【発明を実施するための形態】
【００１６】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１は本発明の第１の実施形態に係る異常検知装置１００を適用した計算機システムの一例を示すハードウェア構成図である。この例の計算機システムは、異常検知装置１００と、インターネット１０１に接続されたファイアウォール１０２と、このファイアウォール１０２に接続されたプロキシサーバ１０３と、ホストコンピュータ１０４と、複数のＰＣ（パーソナルコンピュータ）１０５、１０６と、プロキシサーバ１０３とホストコンピュータ１０４とＰＣ１０５、１０６との間を相互に接続するＳＤＮ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ）１０７とを含んで構成されている。
【００１７】
異常検知装置１００は、計算機システムの各部からイベント信号を収集するように構成されている。イベント信号は、計算機システムのリソースの活動に係るイベントの発生時刻および活動内容を含んで構成されている。リソースとは、コンピュータ、プログラム、プロセス、ファイルなどのことである。リソースの活動とは、プロセスの起動、ファイルの読み書き、プロセス間通信、ネットワークへのアクセスなどのことである。
【００１８】
また異常検知装置１００は、収集したイベント信号に基づいて異常の有無を検知するように構成されている。異常検知装置１００は、正常モデルベースの異常検知方法とルールベースの異常検知方法との２通りの異常検知方法を並行して実施し、計算機システムで発生する異常なイベント信号を検知するように構成されている。
【００１９】
また異常検知装置１００は、検知した異常を計算機システムの管理者に提示するように構成されている。また異常検知装置１００は、検知した異常による被害を最小限に抑えるために必要な対処を自動で実施するように構成されている。
【００２０】
以下、異常検知装置１００を詳細に説明する。
【００２１】
図２は異常検知装置１００の一例を示すブロック図である。図２を参照すると、異常検知装置１００は、通信インターフェース（Ｉ／Ｆ）部１１１、操作入力部１１２、画面表示部１１３、記憶部１２０、および演算処理部１３０から構成されている。
【００２２】
通信インターフェース部１１１は、専用のデータ通信回路から構成され、無線または有線の通信回線を介して接続されたコンピュータなどの各種装置との間でデータ通信を行うように構成されている。
【００２３】
操作入力部１１２は、キーボードやマウスなどの操作入力装置から構成され、オペレータの操作を検知して演算処理部１３０に出力するように構成されている。
【００２４】
画面表示部１１３は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）などの画面表示装置から構成され、演算処理部１３０からの指示に応じて、異常検知結果などの各種情報を画面に表示するように構成されている。
【００２５】
記憶部１２０は、ハードディスクやメモリなどの記憶装置から構成され、演算処理部１３０で実行される各種処理に必要な処理情報およびプログラム１２１を記憶するように構成されている。プログラム１２１は、演算処理部１３０に読み込まれて実行されることにより、各種処理部を実現するプログラムである。プログラム１２１は、通信インターフェース部１１１などのデータ入出力機能を介して外部の装置やコンピュータ可読記録媒体から予め読み込まれて記憶部１２０に保存される。
【００２６】
記憶部１２０で記憶される主な処理情報として、イベントバッファ１２２、正常モデル１２３、ルール１２４、有効度１２５、正常モデルベースの異常検知結果１２６、ルールベースの異常検知結果１２７、および最終的な異常検知結果１２８がある。
【００２７】
イベントバッファ１２２は、異常検知対象である計算機システムのイベント信号を一定数または一定期間にわたって蓄積するように構成されている。イベントバッファ１２２は、所定容量のＦＩＦＯ（ファーストインファーストアウト）レジスタであってよい。
【００２８】
正常モデル１２３は、計算機システムの正常状態（平常状態）をモデル化したものである。正常モデル１２３は、正常モデルベースの異常検知方法で使用される。正常モデル１２３は１つまたは複数存在する。
【００２９】
ルール１２４は、異常なイベント信号を識別するためのルールである。ルール１２４は一般に複数存在する。ルール１２４は、ルールベースに基づく異常検知方法で使用される。前述したように、イベント信号は計算機システムのリソースの活動に関係している。そのため、ルール１２４には、異常なリソースの活動を識別するための閾値や条件などが定義されている。例えば、イベント信号に含まれるリソースの活動に関するデータや物理量が、或るルールに定義された閾値や条件などに適合する場合、当該イベント信号は異常であるとみなされる。ルール１２４は、リソース毎に存在する。或いはルール１２４は、リソースの活動の種類毎に存在する。例えば、図１のホストコンピュータ１０４の異常な活動を検知するルールがある。また図１のＰＣ１０５、１０６の異常な活動を検知するルールがある。このようにルールは、特定のリソースに関係している。個々のルールには、他のルールと区別するためのルール識別情報が付与されている。また、個々のルールには、そのルールで異常であると検知したイベント信号に付与するスコアが付与されている。
【００３０】
有効度１２５は、ルール１２４の有効の度合いを表す。有効度１２５は、ルール毎、すなわちルール識別情報毎に存在する。本実施形態では、有効度１２５は、値０または値１の何れかをとる。有効度１２５の初期値は値０である。値０の有効度１２５は、完全に無効であることを表す。値１の有効度１２５は、完全に有効であることを表す。但し、他の実施形態では、有効度１２５は、上記した２つの値だけでなく、その中間値をとるものであってもよい。また、或るルールで異常であると検知したイベント信号に付与するスコアを、当該ルールに付与されたスコアに当該ルールの有効度を乗じた値として算出してよい。有効度１２５の値は、後述するように正常モデルによる異常判定の結果に応じて動的に変更される。
【００３１】
図３は、有効度１２５の一例を示すテーブルである。各行は各ルールを示す。この例では、Ｎ個のルールＲ１〜ＲＮがある。各列は異常判定の対象となるイベント信号を示す。この例では、イベント信号Ｖ１、イベント信号Ｖ２、イベント信号Ｖ３、…の順に異常の有無が判定されている。行と列の交点に記載された値０または値１が、有効度である。例えば図３のイベント信号Ｖ１およびイベント信号Ｖ２に対応する２つの列では、全てのルールＲ１〜ＲＮの有効度は値０になっている。これに対して、イベント信号Ｖ３に対応する列では、ルールＲ１とルールＲ３に対応する２つの有効度は値１になっており、それ以外のルールの有効度は値０になっている。
【００３２】
正常モデルベースの異常検知結果１２６は、正常モデルベースに基づく異常検知方法によって検知された結果を表す。異常検知結果１２６は、異常であると検知したイベント信号と、その異常検知の確からしさの程度を表すスコアとから構成される。スコアの値域は０〜１であり、最悪値は値０、最良値は値１である。但し、スコアの値域はこれに限定されない。
【００３３】
ルールベースの異常検知結果１２７は、ルールベースに基づく異常検知方法によって検知された結果を表す。ルールベースの異常検知結果１２７は、異常であると検知したイベント信号と、その異常検知の確からしさの程度を表すスコアと、その異常検知で使用したルールとから構成される。スコアの値域は０〜１であり、最悪値は値０、最良値は値１である。但し、スコアの値域はこれに限定されない。
【００３４】
最終的な異常検知結果１２８は、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７とに基づいて、総合的な判断を行うことにより生成された最終的な異常検知結果を表す。
【００３５】
演算処理部１３０は、マイクロプロセッサ等のプロセッサとその周辺回路から構成される。演算処理部１３０は、記憶部１２０からプログラム１２１を読み込んで実行することにより、上記ハードウェアとプログラム１２１とを協働させて各種処理部を実現するように構成されている。演算処理部１３０で実現される処理部には、イベント信号収集部１３１、正常モデルベースの異常検知部１３２、ルール調整部１３３、ルールベースの異常検知部１３４、異常検知集約部１３５、検知結果提示部１３６、および異常対処部１３７がある。
【００３６】
イベント信号収集部１３１は、計算機システムのイベント信号を収集するように構成されている。例えば図１の計算機システムには、ファイアウォール１０２、プロキシサーバ１０３、ホストコンピュータ１０４、ＰＣ１０５、１０６にエージェント１０８が配備されている。このエージェント１０８は、プロセスの起動、ファイルの読み書き、プロセス間通信、ネットワークへのアクセスなどのイベントを監視するソフトウェアである。イベント信号収集部１３１は、エージェント１０８によって監視されたイベント信号を受信することによって、計算機システムのイベント信号を収集する。イベント信号収集部１３１は、収集したイベント信号をコピーし、イベントバッファ１２２と正常モデルベースの異常検知部１３２のそれぞれに出力するように構成されている。
【００３７】
正常モデルベースの異常検知部１３２は、イベント信号収集部１３１から受け取ったイベント信号およびその時系列を平常の状態（正常な状態）として機械学習し、正常モデル１２３を作成するように構成されている。正常モデル１２３は、単一のモデルであってもよいし、異なる観点で機械学習した複数のモデルであってもよい。また正常モデルベースの異常検知部１３２は、正常モデル１２３を記憶部１２０に保存した後、実際の異常の検知を行うように構成されている。即ち、正常モデルベースの異常検知部１３２は、イベント信号収集部１３１から受け取ったイベント信号を正常モデル１２３と照合し、平常の状態との相違の度合いが高いほど大きな値になるスコアと当該イベント信号とから構成される検知結果を生成する。正常モデルベースの異常検知部１３２は、正常モデル１２３が複数存在する場合、正常モデル毎にスコアを付与し、それら複数のスコアを何らかの基準で正規化して最終的なスコアを算出してよい。正常モデルベースの異常検知部１３２は、生成した検知結果をルール調整部１３３に出力し、また正常モデルベースの異常検知結果１２６として記憶部１２０に保存する。
【００３８】
ルール調整部１３３は、正常モデルベースの異常検知部１３２から受け取った検知結果に基づいて、ルールの有効度を決定するように構成されている。またルール調整部１３３は、決定した有効度を記憶部１２０に記憶されている有効度１２５に保存するように構成されている。より詳細には、ルール調整部１３３は、受け取った検知結果毎に、以下のような処理を行うように構成されている。
【００３９】
先ず、ルール調整部１３３は、検知結果からイベント信号とスコアとを抽出する。次に、ルール調整部１３３は、図３で説明した有効度１２５のテーブルに、上記抽出したイベント信号に対応する新たな列を追加する。次にルール調整部１３３は、抽出したスコアが予め設定された閾値以上か否かを判定する。次にルール調整部１３３は、スコアが閾値未満であれば、上記追加した列の各行のルールの有効度を値０に設定する。またルール調整部１３３は、スコアが閾値以上であれば、上記抽出したイベント信号に関係するリソースを特定する。前述したように、イベント信号は、計算機システムのリソースの活動に係るものであるため、何らかのリソースに関係している。次にルール調整部１３３は、上記追加した列の各行のルールの有効度のうち、特定したリソースに関係するルールの有効度を値１に設定し、特定したリソースに関係しないルールの有効度を値０に設定する。そして、ルール調整部１３３は、当該検知結果に関する処理を終える。
【００４０】
ルールベースの異常検知部１３４は、イベントバッファ１２２からイベント信号を時刻順に読み出し、ルール１２４に基づいて、イベント信号の異常の検知を行うように構成されている。このようにルールベースの異常検知部１３４には、イベントバッファ１２２を介してイベント信号が遅延して入力される。そのため、同一のイベント信号について、ルールベースの異常検知部１３４は正常モデルベースの異常検知部１３２より時間的に遅れて異常の有無の検知を開始することになる。
【００４１】
ルールベースの異常検知部１３４は、入力したイベント信号とルール１２４とを照合することにより、入力したイベント信号の異常の有無を検知する。異常であると検知したイベント信号には適合したルールに付与されていたスコアが付与される。実際の照合に使用するルールは、図３の有効度のテーブルにおける上記入力したイベント信号に対応する列に記載された有効度１２５の値が１であるルールである。有効度１２５の値が０であるルールは照合に使用されない。ルールベースの異常検知部１３４は、同じイベント信号に対して複数のルールが適合した場合、各ルールに付与されたスコアを何らかの基準で加算して最終的なスコアを算出する。ルールベースの異常検知部１３４は、生成したルールベースの異常検知結果１２７を記憶部１２０に保存する。
【００４２】
異常検知集約部１３５は、記憶部１２０から正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７を読み出し、それらの異常検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果１２８を生成するように構成されている。より詳細には、異常検知集約部１３５は、以下のような処理を行うように構成されている。
【００４３】
異常検知集約部１３５は、正常モデルベースの異常検知結果１２６に含まれる異常検知結果のうち、スコアが予め設定された閾値以上の異常検知結果に含まれるイベント信号を異常なイベント信号として検知する。次に、異常検知集約部１３５は、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７とを比較することにより、正常モデルベースで異常として検知されたイベント信号が、ルールベースで異常として検知されているか否かを調査する。そして、異常検知集約部１３５は、正常モデルベースで異常として検知されたイベント信号を、ルールベースで異常として検知されている第１のグループと、ルールベースで異常として検知されていない第２のグループとに分類し、グループ毎に最終的な異常検知結果１２８を生成する。第１のグループは、正常モデルベースで異常として検知されたイベント信号と、そのスコアと、ルールベースで異常として検知したルールと、そのスコアとを含んで構成される。また第２のグループは、正常モデルベースで異常として検知されたイベント信号と、そのスコアとを含んで構成される。異常検知集約部１３５は、最終的な異常検知結果１２８を記憶部１２０に保存する。
【００４４】
検知結果提示部１３６は、記憶部１２０から最終的な異常検知結果１２８を読み出し、この読み出した最終的な異常検知結果１２８に基づいて、画面表示部１１３に異常検知結果を表示し、または／および、通信インターフェース部１１１を通じて図示しない端末等に異常検知結果を送信するように構成されている。
【００４５】
図４は、画面表示部１１３に表示された異常検知結果の一例を示す。この例では、１つの異常検知結果を１行でテキスト表示している。各行は、通し番号、日時、異常と判定されたイベント信号、正常モデルベースの異常検知スコア、適合したルール、ルールベースの異常検知スコアの欄から構成される。例えばナンバー１の異常検知結果は、検知日時が２０１８年１月５日の１６時１１分４５秒、異常なイベント信号がＶ３、正常モデルベースの異常検知スコアが０．９、適合したルールがＲ１、Ｒ３、ルールベースの異常検知スコアが０．８であることを表している。また、ナンバー２の異常検知結果は、検知日時が２０１８年１月５日の１６時３０分３０秒、異常なイベント信号がＶ３３、正常モデルベースの異常検知スコアが０．６であり、ルールベースの異常検知方法では適合したルールが無いことを表している。
【００４６】
異常対処部１３７は、記憶部１２０から最終的な異常検知結果１２８を読み出し、この読み出した最終的な異常検知結果１２８に基づいて、検知された異常に対する対処を自動で行うように構成されている。例えば、異常対処部１３７は、異常が検知されたコンピュータをネットワークから切り離す。或いは異常対処部１３７は、各コンピュータで動作するファイアウォール機能（例えばＷｉｎｄｏｗｓファイアウォール）の設定を変更する。或いは、異常が検知されたコンピュータからの通信をＳＤＮで遮断する。或いは異常対処部１３７は、各コンピュータのルーティングテーブルを変更し、或いはＳＤＮを制御して、異常が検知されたコンピュータを検疫ネットワークに隔離する。或いは異常対処部１３７は、異常が検知されたプロセスを、それが動作していたコンピュータから切り離す。或いは異常対処部１３７は、異常が検知されたプロセスからの通信ができないようにファイアウォールの設定を変更し、或いはＳＤＮを制御する。或いは異常対処部１３７は、異常が検知されたプロセスを強制終了させる。或いは異常対処部１３７は、上記の措置を行った上で、異常が検知されたプロセスに係るプログラムファイルを検疫下に置き、または／および、分析のために管理サーバ側にコピーする。
【００４７】
次に、異常検知装置１００の動作を説明する。
【００４８】
図５は、異常検知装置１００が正常モデル１２３を作成する動作の一例を示す。図５を参照すると、先ずイベント信号収集部１３１は、計算機システムの各所に配置されたエージェント１０８からイベント信号を収集する。次に正常モデルベースの異常検知部１３２は、収集されたイベント信号の時系列を平常の状態（正常な状態）として機械学習し、正常モデル１２３を作成する。正常モデルを作成する手法は任意である。例えば、投影距離法（ＰＤＭ：Ｐｒｏｊｅｃｔｉｏｎ  Ｄｉｓｔａｎｃｅ  Ｍｅｔｈｏｄ）や、局所部分空間法（ＬＳＣ：Ｌｏｃａｌ  Ｓｕｂ−ｓｐａｃｅ  Ｃｌａｓｓｉｆｉｅｒ）等が利用できる。ユーザの変化、業務の変化、使用するソフトウェアの変化、などにより平常状態は変化していくものと考え、常時学習を続けるようにしてもよい。
【００４９】
図６は、異常検知装置１００が異常を検知する動作の流れの一例を示す。図６を参照すると、先ずイベント信号収集部１３１は、計算機システムの各所に配置されたエージェント１０８からイベント信号を収集する。次にイベント信号収集部１３１は、収集したイベント信号毎に、そのコピーを生成し、２つの同一のイベント信号の一方をイベントバッファ１２２に出力し、他方を正常モデルベースの異常検知部１３２に出力する。
【００５０】
正常モデルベースの異常検知部１３２は、正常モデル１２３に基づいて、入力されたイベント信号の異常の有無を検知し、検知結果を正常モデルベースの異常検知結果１２６に保存し、またルール調整部１３３に出力する。ルール調整部１３３は、入力された検知結果に基づいて、異常として検知されたイベント信号に関連するリソースに関連するルールの有効度を値１にし、それ以外のルールの有効度を値０にする。
【００５１】
一方、ルールベースの異常検知部１３４は、イベントバッファ１２２に保存されたイベント信号を読み出す。またルールベースの異常検知部１３４は、図３に示した有効度１２５のテーブル中の上記読み出したイベント信号の列に対応する各ルールの有効度を読み出す。次にルールベースの異常検知部１３４は、上記読み出した有効度が値１であるルールを読み出す。次にルールベースの異常検知部１３４は、上記読み出したイベント信号の異常の有無を上記読み出したルールに基づいて検知し、検知結果をルールベースの異常検知結果１２７に保存する。
【００５２】
異常検知集約部１３５は、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７とに基づいて、総合的な判断を行い、最終的な異常検知結果１２８を生成する。検知結果提示部１３６は、最終的な異常検知結果１２８を例えば図４に示すように画面表示部１１３に表示し、または／および通信インターフェース部１１１を通じて外部端末へ送信する。また異常対処部１３７は、最終的な異常検知結果１２８に基づいて、検知された異常に対する対処を自動で行う。
【００５３】
このように本実施形態によれば、以下のような効果が得られる。
【００５４】
計算機システムの同じイベント信号に対して、正常モデルベースによる異常検知方法を実施した後に、ルールベースによる異常検知方法を実施することができる。その理由は、イベント信号収集部１３１が、計算機システムから収集したイベント信号をコピーして、正常モデルベースの異常検知部１３２に入力すると共に、イベントバッファ１２２を通じてルールベースの異常検知部１３４に入力するようにしているためである。
【００５５】
ルールベースの異常検知部１３４がイベント信号の異常の有無を検知するために使用するルールの有効度を、当該イベント信号に対する正常モデルベースの異常検知部１３２による異常検知結果に応じて制御することができる。その理由は、ルール調整部１３３が、正常モデルベースの異常検知部１３２の検知結果に基づいて、ルールベースの異常検知部１３４が使用するルールの有効度をイベント信号毎に調整しているためである。
【００５６】
正常モデルベースの異常検知部１３２で異常であると検知されたイベント信号を異常だと理由付ける根拠を、ルールベースの異常検知部１３４のルールで提示することができる。その理由は、異常検知集約部１３５が、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７とを比較することにより、正常モデルベースで異常として検知されたイベント信号が、ルールベースで異常として検知されているか否かを調査し、正常モデルベースで異常として検知されたイベント信号とルールベースで異常として検知したルールとを含む最終的な異常検知結果１２８を生成するためである。
【００５７】
ルールベースの異常検知部１３４が検知漏れを示す傾向があっても、最終的な異常検知結果１２８における検知漏れを抑えることができる。その理由は、異常検知集約部１３５は、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７とに基づいて総合的な判断を行うことにより、ルールベースの異常検知部１３４で異常と検知されるか否かにかかわらず、正常モデルベースの異常検知部１３２で異常と検知されれば、最終的に異常と検知するためである。
【００５８】
ルールベースの異常検知部１３４が過検知な傾向を示すものであっても、最終的な異常検知結果１２８がその影響を受けて過検知になるのを抑えることができる。その理由は、異常検知集約部１３５は、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７とに基づいて総合的な判断を行うことにより、ルールベースの異常検知部１３４で異常と検知されるか否かにかかわらず、正常モデルベースの異常検知部１３２で異常と検知されれば、最終的に異常と検知されるためである。このように過検知を抑えることができるため、最終的な異常検知結果１２８のデータ量が削減される。その結果、異常検知結果を表示画面に転送するデータ量を削減でき、また表示する画面の表示領域を削減できる。
【００５９】
以上のように本実施形態に係る異常検知装置１００は、正常モデルベースによる異常検知方法とルールベースによる異常検知方法とを並行して実施し、その両者の異常検知結果に基づいて総合的な判断を行うことにより、最終的な異常を検知するため、高精度な検知が可能になる。
【００６０】
また、正常モデルベースによる異常検知で異常でないと判定されたイベント信号の異常の有無を検知するためのルールの有効度を値０としたことにより、正常モデルベースによる異常検知で異常でないと判定されたイベント信号に対してルールベースによる異常検知は実質的に行われなくなる。そのため、異常検知のための計算量を削減することができる。
【００６１】
[第２の実施形態]
次に、本発明の第２の実施形態に係る異常検知装置について説明する。
【００６２】
第２の実施形態に係る異常検知装置は、第１の実施形態に係る異常検知装置１００と比較して、以下の点が相違し、それ以外は第１の実施形態に係る異常検知装置１００と同様に構成されている。
【００６３】
イベント信号収集部１３１は、計算機システムのイベント信号を収集し、正常モデルベースの異常検知部１３２に出力するように構成されている。イベント信号収集部１３１は、イベント信号をコピーしてイベントバッファ１２２に出力するようには構成されていない。
【００６４】
正常モデルベースの異常検知部１３２は、入力されたイベント信号について異常の有無を検知し、検知結果をルール調整部１３３に出力し、また正常モデルベースの異常検知結果１２６に保存した後、異常の有無の検知を終えたイベント信号をイベントバッファ１２２に伝達するように構成されている。
【００６５】
図７は、本実施形態に係る異常検知装置２００における異常検知動作の流れの一例を示す。図７を参照すると、先ずイベント信号収集部１３１は、計算機システムの各所に配置されたエージェント１０８からイベント信号を収集する。次にイベント信号収集部１３１は、収集したイベント信号を正常モデルベースの異常検知部１３２に出力する。
【００６６】
正常モデルベースの異常検知部１３２は、入力されたイベント信号の異常の有無を検知し、検知結果を正常モデルベースの異常検知結果１２６に保存し、またルール調整部１３３に出力する。さらも正常モデルベースの異常検知部１３２は、異常の有無の検知を終えたイベント信号をイベントバッファ１２２に出力する。以降の動作は、第１の実施形態に係る異常検知装置１００の動作と同じである。
【００６７】
本実施形態によれば、第１の実施形態と同様の効果が得られる。
【００６８】
また本実施形態によれば、イベント信号収集部１３１が計算機システムのイベント信号をコピーする処理を省くことができる。
【００６９】
[第３の実施形態]
次に、本発明の第３の実施形態に係る異常検知装置について説明する。
【００７０】
図８を参照すると、本発明の第３の実施形態に係る異常検知装置３００は、正常モデルベースの異常検知部３０２と、ルールベースの異常検知部３０３と、異常検知集約部３０４とで構成されている。
【００７１】
正常モデルベースの異常検知部３０２は、正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知するように構成されている。正常モデルベースの異常検知部３０２は、図２の正常モデルベースの異常検知部１３２と同様に構成することができるが、それに限定されない。
【００７２】
ルールベースの異常検知部３０３は、正常モデルベースの異常検知部３０２と並行して動作し、ルールに基づいて、上記イベント信号の異常の有無を検知するように構成されている。ルールベースの異常検知部３０３は、図２のルールベースの異常検知部１３４と同様に構成することができるが、それに限定されない。
【００７３】
異常検知集約部３０４は、正常モデルベースの異常検知部３０２とルールベースの異常検知部３０３の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成するように構成されている。異常検知集約部３０４は、図２の異常検知集約部１３５と同様に構成することができるが、それに限定されない。
【００７４】
このように構成された本実施形態に係る異常検知装置３００は以下のように動作する。即ち、正常モデルベースの異常検知部３０２は、正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する。また、ルールベースの異常検知部３０３は、正常モデルベースの異常検知部３０２と並行して、ルールに基づいて、上記イベント信号の異常の有無を検知する。次に、異常検知集約部３０４は、正常モデルベースの異常検知部３０２とルールベースの異常検知部３０３の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する。
【００７５】
本実施形態に係る異常検知装置３００は、以上のように構成され動作することにより、検知精度を向上させることができる。その理由は、正常モデルベースの異常検知とルールベースの異常検知とを並行して行い、双方の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成するためである。
【００７６】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【００７７】
例えば、他の実施形態として、異常検知集約部１３５は、正常モデルベースの異常検知結果１２６とルールベースの異常検知結果１２７との両方で異常であると検知されたイベントのみ異常とする最終的な異常検知結果１２８を生成するようにしてもよい。
【００７８】
なお、本発明は、日本国にて２０１８年１月２２日に特許出願された特願２０１８−００７８４０の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【産業上の利用可能性】
【００７９】
本発明は、異常の検知を行う分野に適用でき、特に計算機システムの異常を検知する分野に好適である。【００８０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する正常モデルベースの異常検知部と、
前記正常モデルベースの異常検知部と並行して動作し、ルールに基づいて、前記イベント信号の異常の有無を検知するルールベースの異常検知部と、
前記正常モデルベースの異常検知部と前記ルールベースの異常検知部の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する異常検知集約部と、を備える、
異常検知装置。
［付記２］
前記イベント信号を収集するイベント信号収集部をさらに含む、
付記１に記載の異常検知装置。
［付記３］
前記イベント信号は、前記計算機システムのリソースの活動に係るイベントの発生時刻および活動内容を含んで構成されている、
付記１または２に記載の異常検知装置。
［付記４］
前記ルールは、前記リソースの活動に関係する、
付記３に記載の異常検知装置。
［付記５］
前記正常モデルベースの異常検知部によって異常であると検知された前記イベント信号に関係する前記リソースを特定し、該特定した前記リソースに関係するか否かに基づいて前記ルールの有効度を決定するルール調整部を、更に含む、
付記４に記載の異常検知装置。
［付記６］
前記ルール調整部は、前記イベント信号毎かつ前記ルール毎に前記有効度を決定する、
付記５に記載の異常検知装置。
［付記７］
前記ルールベースの異常検知部は、前記イベント信号に対応する前記ルール毎の前記有効度を参照し、前記有効度が閾値以上の前記ルールを使用して前記イベント信号の異常の有無を検知する、
付記６に記載の異常検知装置。
［付記８］
前記正常モデルベースの異常検知部に入力された前記イベント信号と同一の前記イベント信号が前記ルールベースの異常検知部に遅延して入力されるように構成されている、
付記１乃至７の何れかに記載の異常検知装置。
［付記９］
前記イベント信号収集部は、前記イベント信号をコピーし、同一の２つの前記イベント信号の一方を前記正常モデルベースの異常検知部に送出し、他方を前記正常モデルベースの異常検知部の前段に設けられたイベントバッファに送出する、
付記１乃至８の何れかに記載の異常検知装置。
［付記１０］
前記正常モデルベースの異常検知部は、異常の有無の検知を行った前記イベント信号を前記正常モデルベースの異常検知部の前段に設けられたイベントバッファに送出するように構成されている、
付記１乃至８の何れかに記載の異常検知装置。
［付記１１］
前記異常検知集約部は、前記正常モデルベースの異常検知部で異常であると検知された前記イベント信号を異常なイベント信号として前記最終的な異常検知結果に含める、
付記１乃至１０の何れかに記載の異常検知装置。
［付記１２］
前記異常検知集約部は、前記正常モデルベースの異常検知部と前記モデルベースの異常検知部の双方で異常であると検知された前記イベント信号のみを異常なイベント信号として前記最終的な異常検知結果に含める、
付記１乃至１０の何れかに記載の異常検知装置。
［付記１３］
前記異常検知集約部は、前記正常モデルベースの異常検知部で異常であると検知された前記イベント信号が前記ルールベースの異常検知部で異常であると検知されているか否かを決定し、該決定の結果を前記最終的な異常検知結果に含める、
付記１乃至１２の何れかに記載の異常検知装置。
［付記１４］
前記最終的な異常検知結果を画面に表示する検知結果提示部を、更に含む、
付記１乃至１３の何れかに記載の異常検知装置。
［付記１５］
前記最終的な異常検知結果に基づいて、検知された異常に対する対処を自動で行う異常対処部を、更に含む、
付記１乃至１４の何れかに記載の異常検知装置。
［付記１６］
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知と並行して、ルールに基づいて、前記イベント信号の異常の有無を検知し、
前記正常モデルに基づく前記異常の検知と前記ルールに基づく前記異常の検知の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する、
異常検知方法。
［付記１７］
前記イベント信号を収集するイベント信号収集部をさらに含む、
付記１６に記載の異常検知方法。
［付記１８］
前記イベント信号は、前記計算機システムのリソースの活動に係るイベントの発生時刻および活動内容を含んで構成されている、
付記１６または１７に記載の異常検知方法。
［付記１９］
前記ルールは、前記リソースの活動に関係する、
付記１８に記載の異常検知方法。
［付記２０］
前記正常モデルに基づく前記異常の有無の検知によって異常であると検知された前記イベント信号に関係する前記リソースを特定し、該特定した前記リソースに関係するか否かに基づいて前記ルールの有効度を決定する、
付記１９に記載の異常検知方法。
［付記２１］
前記ルールの有効度の決定では、前記イベント信号毎かつ前記ルール毎に前記有効度を決定する、
付記２０に記載の異常検知方法。
［付記２２］
前記ルールに基づく前記異常の有無の検知では、前記イベント信号に対応する前記ルール毎の前記有効度を参照し、前記有効度が閾値以上の前記ルールを使用して前記イベント信号の異常の有無を検知する、
付記２１に記載の異常検知方法。
［付記２３］
前記正常モデルに基づく前記異常の有無の検知を行った前記イベント信号について、その後に前記ルールに基づく前記異常の有無の検知を行う、
付記１６乃至２２の何れかに記載の異常検知方法。
［付記２４］
前記イベント信号の収集では、前記イベント信号をコピーし、同一の２つの前記イベント信号の一方を前記正常モデルに基づく前記異常の有無の検知に利用し、他方を時間的に遅れて前記ルールに基づく前記異常の有無の検知に利用するためにイベントバッファに蓄積する、
付記１６乃至２３の何れかに記載の異常検知方法。
［付記２５］
前記正常モデルに基づく前記異常の有無の検知を行った前記イベント信号を、その後に前記ルールに基づく前記異常の有無の検知に利用するためにイベントバッファに蓄積する、
付記１６乃至２３の何れかに記載の異常検知方法。
［付記２６］
前記最終的な異常検知結果の生成では、前記正常モデルに基づく前記異常の有無の検知で異常であると検知された前記イベント信号を異常なイベント信号として前記最終的な異常検知結果に含める、
付記１６乃至２５の何れかに記載の異常検知方法。
［付記２７］
前記最終的な異常検知結果の生成では、前記正常モデルに基づく前記異常の有無の検知と前記ルールに基づく前記異常の有無の検知の双方で異常であると検知された前記イベント信号のみを異常なイベント信号として前記最終的な異常検知結果に含める、
付記１６乃至２５の何れかに記載の異常検知方法。
［付記２８］
前記最終的な異常検知結果の生成では、前記正常モデルに基づく前記異常の有無の検知で異常であると検知された前記イベント信号が前記ルールに基づく前記異常の有無の検知で異常であると検知されているか否かを決定し、該決定の結果を前記最終的な異常検知結果に含める、
付記１６乃至２７の何れかに記載の異常検知方法。
［付記２９］
更に、前記最終的な異常検知結果を画面に表示する、
付記１６乃至２８の何れかに記載の異常検知方法。
［付記３０］
更に、前記最終的な異常検知結果に基づいて、検知された異常に対する対処を自動で行う、
付記１６乃至２９の何れかに記載の異常検知方法。
［付記３１］
コンピュータを、
正常モデルに基づいて、計算機システムのイベント信号の異常の有無を検知する正常モデルベースの異常検知部と、
前記正常モデルベースの異常検知部と並行して動作し、ルールに基づいて、前記イベント信号の異常の有無を検知するルールベースの異常検知部と、
前記正常モデルベースの異常検知部と前記ルールベースの異常検知部の検知結果に基づいて総合的な判断を行うことにより、最終的な異常検知結果を生成する異常検知集約部と、して機能させるためのプログラムを記録するコンピュータ読み取り可能な記録媒体。
【符号の説明】
【００８１】
１００…異常検知装置
１０１…インターネット
１０２…ファイアウォール
１０３…プロキシサーバ
１０４…ホストコンピュータ
１０５…ＰＣ
１０６…ＰＣ
１０７…ＳＤＮ
１０８…エージェント
１１１…通信インターフェース部
１１２…操作入力部
１１３…画面表示部
１２０…記憶部
１２１…プログラム
１２２…イベントバッファ
１２３…正常モデル
１２４…ルールベース
１２５…有効度
１２６…正常モデルベースの異常検知結果
１２７…ルールベースの異常検知結果
１２８…最終的な異常検知結果
１３０…演算処理部
１３１…イベント信号収集部
１３２…正常モデルベースの異常検知部
１３３…ルール調整部
１３４…ルールベースの異常検知部
１３５…異常検知集約部
１３６…検知結果提示部
１３７…異常対処部
２００…異常検知装置
３００…異常検知装置
３０２…正常モデルベースの異常検知部
３０３…ルールベースの異常検知部
３０４…異常検知集約部
【図１】
0006939906.tif 000002
【図２】
0006939906.tif 000003
【図３】
0006939906.tif 000004
【図４】
0006939906.tif 000005
【図５】
0006939906.tif 000006
【図６】
0006939906.tif 000007
【図７】
0006939906.tif 000008
【図８】
0006939906.tif 000009