(57)【特許請求の範囲】
【請求項１】
標準装置においてプロセスが発生させたイベントに関する情報を示す第１イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第２イベント情報とを取得する取得部と、
前記第１イベント情報を利用して、前記第２イベント情報に示される各イベントを、標準装置でも発生した第１類のイベントと、前記標準装置では発生しなかった第２類のイベントとに分類する分類部と、
前記第１類に分類されるイベントが警告対象のイベントであるか否かを判定する第１モデルを、前記第１類に分類されたイベントに関する前記第２イベント情報を用いて学習させる第１学習部と、
前記第２類に分類されるイベントが警告対象のイベントであるか否かを判定する第２モデルを、前記第２類に分類されたイベントに関する前記第２イベント情報を用いて学習させる第２学習部と、を有する情報処理装置。
【請求項２】
警告対象のイベントは、マルウエアが介在するイベントである、請求項１に記載の情報処理装置。
【請求項３】
前記第１モデルは、
前記第１類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
判定対象のイベントのスコアが第１閾値以上である場合に、そのイベントが警告対象であると判定し、
前記第２モデルは、
前記第２類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
判定対象のイベントのスコアが第２閾値以上である場合に、そのイベントが警告対象であると判定し、
前記第１学習部は、前記第２イベント情報に示されるイベントのうち、前記第１類に分類されたイベントについて、前記第１モデルにおけるそのイベントのスコアを増加させることで、前記第１モデルの学習を行い、
前記第２学習部は、前記第２イベント情報に示されるイベントのうち、前記第２類に分類されたイベントについて、前記第２モデルにおけるそのイベントのスコアを増加させることで、前記第２モデルの学習を行う、請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１閾値は前記第２閾値よりも大きい、請求項３に記載の情報処理装置。
【請求項５】
前記第１学習部が増加させるスコアの大きさは、前記第２学習部が増加させるスコアの増加量よりも大きい、請求項３に記載の情報処理装置。
【請求項６】
前記第１学習部は、前記標準装置において発生した各イベントに基づいて生成された前記第１モデルを取得し、前記取得した第１モデルの学習を、前記第２イベント情報に基づいて行う、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項７】
前記取得部は、判定対象のイベントに関する情報を取得し、
前記分類部は、前記判定対象のイベントが前記第１類と前記第２類のいずれに分類されるかを判定し、
前記判定対象のイベントが前記第１類に分類される場合には、前記第１モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定し、前記判定対象のイベントが前記第２類に分類される場合には、前記第２モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定する判定部と、
前記判定対象のイベントが警告対象のイベントであると判定された場合に所定の警告情報を出力する警告部と、を有する請求項１乃至６いずれか一項に記載の情報処理装置。
【請求項８】
前記判定対象のイベントは、前記第２イベント情報に示されているイベントである、請求項７に記載の情報処理装置。
【請求項９】
コンピュータによって実行される制御方法であって、
標準装置においてプロセスが発生させたイベントに関する情報を示す第１イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第２イベント情報とを取得する取得ステップと、
前記第１イベント情報を利用して、前記第２イベント情報に示される各イベントを、標準装置でも発生した第１類のイベントと、前記標準装置では発生しなかった第２類のイベントとに分類する分類ステップと、
前記第１類に分類されるイベントが警告対象のイベントであるか否かを判定する第１モデルを、前記第１類に分類されたイベントに関する前記第２イベント情報を用いて学習させる第１学習ステップと、
前記第２類に分類されるイベントが警告対象のイベントであるか否かを判定する第２モデルを、前記第２類に分類されたイベントに関する前記第２イベント情報を用いて学習させる第２学習ステップと、を有する制御方法。
【請求項１０】
警告対象のイベントは、マルウエアが介在するイベントである、請求項９に記載の制御方法。
【請求項１１】
前記第１モデルは、
前記第１類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
判定対象のイベントのスコアが第１閾値以上である場合に、そのイベントが警告対象であると判定し、
前記第２モデルは、
前記第２類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
判定対象のイベントのスコアが第２閾値以上である場合に、そのイベントが警告対象であると判定し、
前記第１学習ステップにおいて、前記第２イベント情報に示されるイベントのうち、前記第１類に分類されたイベントについて、前記第１モデルにおけるそのイベントのスコアを増加させることで、前記第１モデルの学習を行い、
前記第２学習ステップにおいて、前記第２イベント情報に示されるイベントのうち、前記第２類に分類されたイベントについて、前記第２モデルにおけるそのイベントのスコアを増加させることで、前記第２モデルの学習を行う、請求項９又は１０に記載の制御方法。
【請求項１２】
前記第１閾値は前記第２閾値よりも大きい、請求項１１に記載の制御方法。
【請求項１３】
前記第１学習ステップが増加させるスコアの大きさは、前記第２学習ステップが増加させるスコアの増加量よりも大きい、請求項１１に記載の制御方法。
【請求項１４】
前記第１イベント情報は、前記標準装置において発生した各イベントに基づいて生成された前記第１モデルであり、
前記第１学習ステップは、前記第１イベント情報として取得された前記第１モデルの学習を、前記第２イベント情報に基づいて行う、請求項９乃至１３いずれか一項に記載の制御方法。
【請求項１５】
前記取得ステップにおいて、判定対象のイベントに関する情報を取得し、
前記分類ステップにおいて、前記判定対象のイベントが前記第１類と前記第２類のいずれに分類されるかを判定し、
前記判定対象のイベントが前記第１類に分類される場合には、前記第１モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定し、前記判定対象のイベントが前記第２類に分類される場合には、前記第２モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定する判定ステップと、
前記判定対象のイベントが警告対象のイベントであると判定された場合に所定の警告情報を出力する警告ステップと、を有する請求項９乃至１４いずれか一項に記載の制御方法。
【請求項１６】
前記判定対象のイベントは、前記第２イベント情報に示されているイベントである、請求項１５に記載の制御方法。
【請求項１７】
請求項９乃至１６いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は異常検知に関する。
【背景技術】
【０００２】
コンピュータシステムが正常に動作しているかどうかを監視するシステムが開発されている。例えば特許文献１には、観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習しておき、観察対象ソフトウエアの動作をそのモデルと比較することで、監視対象ソフトウエアへの不正侵入による異常の発生を検知するシステムを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１２９７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の手法では、監視したいシステムが正常な動作をしているときに、そのシステムのモデルを作成しておかなければならない。すなわち、モデルを作成する段階では、監視したいシステムが正常である必要がある。【０００５】
本発明は、上記の課題に鑑みてなされたものである。本発明の目的の一つは、監視対象のシステムの動作が正常であるか否かの監視を、そのシステムの動作が正常であるか否かが不明な状況から開始することができる技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、１）標準装置においてプロセスが発生させたイベントに関する情報を示す第１イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第２イベント情報とを取得する取得部と、２）第１イベント情報を利用して、第２イベント情報に示される各イベントを、標準装置でも発生した第１類のイベントと、標準装置では発生しなかった第２類のイベントとに分類する分類部と、３）第１類に分類されるイベントが警告対象のイベントであるか否かを判定する第１モデルを、第１類に分類されたイベントに関する第２イベント情報を用いて学習させる第１学習部と、４）第２類に分類されるイベントが警告対象のイベントであるか否かを判定する第２モデルを、第２類に分類されたイベントに関する第２イベント情報を用いて学習させる第２学習部と、を有する。【０００７】
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、１）標準装置においてプロセスが発生させたイベントに関する情報を示す第１イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第２イベント情報とを取得する取得ステップと、２）第１イベント情報を利用して、第２イベント情報に示される各イベントを、標準装置でも発生した第１類のイベントと、標準装置では発生しなかった第２類のイベントとに分類する分類ステップと、３）第１類に分類されるイベントが警告対象のイベントであるか否かを判定する第１モデルを、第１類に分類されたイベントに関する第２イベント情報を用いて学習させる第１学習ステップと、４）第２類に分類されるイベントが警告対象のイベントであるか否かを判定する第２モデルを、第２類に分類されたイベントに関する第２イベント情報を用いて学習させる第２学習ステップと、を有する。【０００８】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【０００９】
本発明によれば、監視対象のシステムの動作が正常であるか否かの監視を、そのシステムの動作が正常であるか否かが不明な状況から開始することができる技術が提供される。
【図面の簡単な説明】
【００１０】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１１】
【図１】実施形態１の情報処理装置の動作の概要を表す図である。
【図２】実施形態１の情報処理装置の構成を例示する図である。
【図３】情報処理装置を実現するための計算機を例示する図である。
【図４】実施形態１の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図５】イベントを定義する情報をテーブル形式で例示する図である。
【図６】実施形態３の情報処理装置の機能構成を例示するブロック図である。
【図７】実施形態３の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１３】
［実施形態１］
＜概要＞
図１は、実施形態１の情報処理装置の動作の概要を表す図である。図１は情報処理装置２０００の動作についての理解を容易にするための概念的な図であり、情報処理装置２０００の動作を具体的に限定するものではない。
【００１４】
情報処理装置２０００は、判定対象装置１０においてプロセスが発生させたイベントについて、そのイベントが警告対象のイベントであるか否かを判定するモデルの学習（更新）を行う。ここでいう「プロセス」とは、実行中のプログラムのことである。また、「イベント」とは、プロセスが何らかの客体（他のプロセスやファイルなど）に対して行った活動である。例えば或るプロセスが発生させるイベントは、他のプロセスの起動、他のプロセスとの通信、又はファイルへのアクセスなどである。
【００１５】
警告対象のイベントとしては、種々のイベントを採用できる。例えば警告対象のイベントは、マルウエアが関与している蓋然性が高いイベントなど、セキュリティ面での危険度が高いと推測されるイベントである。警告対象のイベントのその他の例については後述する。
【００１６】
ここで上記モデルとして、第１モデルと第２モデルという２つのモデルが利用される。第１モデルは、判定対象のイベントが標準装置２０でも発生したイベントである場合に利用される。一方、第２モデルは、判定対象のイベントが標準装置２０では発生しなかったイベントである場合に利用される。以下、判定対象装置１０で発生したイベントのうち、標準装置２０でも発生したイベントを第１類のイベントと呼び、標準装置２０では発生しなかったイベントを第２類のイベントと呼ぶ。
【００１７】
ここで、標準装置２０は、正常に動作する蓋然性が高い（不具合が生じている可能性が低い）と考えられるコンピュータである。例えば、マルウエアが関与している蓋然性が高いイベントを警告対象とする場合、マルウエアに感染している蓋然性が低いコンピュータが標準装置２０として利用される。
【００１８】
情報処理装置２０００は、モデルの学習を行うために、標準装置２０で発生したイベントに関する情報（以下、第１イベント情報）と、判定対象装置１０において発生したイベントに関する情報（以下、第２イベント情報）を取得する。情報処理装置２０００は、第１イベント情報を用いて、第２イベント情報に示されるイベント（すなわち、判定対象装置１０において発生したイベント）を、第１類のイベントと第２類のイベントとに分類する。情報処理装置２０００は、第１類に分類されたイベントの第２イベント情報を利用して、第１モデルの学習を行う。また、情報処理装置２０００は、第２類に分類されたイベントの第２イベント情報を利用して、第２モデルの学習を行う。
【００１９】
＜作用効果＞
標準装置２０は正常に動作する蓋然性が高いコンピュータであるため、標準装置２０でも発生するイベントは、標準装置２０では発生しないイベントと比較して、正常なイベントである蓋然性が高いと考えられる。そのため、判定対象装置１０で発生したイベントが警告対象であるか否かを判定する際に、そのイベントが標準装置２０でも発生したものであるか否かを考慮することで、警告対象であるか否かを高精度に判定することができる。
【００２０】
そこで情報処理装置２０００では、判定対象装置１０において発生したイベントが警告対象イベントであるか否かを判定するためのモデルとして、標準装置２０でも発生したイベント（第１類のイベント）についての判定を行う第１モデルと、標準装置２０では発生しなかったイベント（第２類のイベント）についての判定を行う第２モデルという２種類のモデルとが用意される。そして、第１モデルについては、第１類に分類されるイベントを用いて学習が行われ、第２モデルについては、第２類に分類されるイベントを用いて学習が行われる。このようにすることで、判定対象装置１０で発生したイベントが警告対象であるか否かを判定する際に、標準装置２０でも発生したイベントと標準装置２０では発生しなかったイベントとを区別して判定できるようになるため、判定対象装置１０で発生したイベントが警告対象であるか否かを高精度に判定することができる。
【００２１】
さらに本実施形態の情報処理装置２０００では、モデルの作成において、正常な動作を行う装置として、判定対象装置１０ではなく標準装置２０を利用する。そのため、モデルの学習を始めるタイミングで既に判定対象装置１０が異常な状態になっていたとしても、高精度なモデルを得ることができる。よって、監視対象の装置（判定対象装置１０）が正常であるか否かが不明な状況から情報処理装置２０００の運用を開始することができる。
【００２２】
以下、本実施形態の情報処理装置２０００についてさらに詳細に説明する。
【００２３】
＜情報処理装置２０００の機能構成の例＞
図２は、実施形態１の情報処理装置２０００の構成を例示する図である。情報処理装置２０００は、取得部２０２０、分類部２０４０、第１学習部２０６０、及び第２学習部２０８０を有する。取得部２０２０は、第１イベント情報と第２イベント情報を取得する。第１イベント情報は、標準装置２０においてプロセスが発生させたイベントに関する情報である。第２イベント情報は、判定対象装置１０においてプロセスが発生させたイベントに関する情報である。
【００２４】
分類部２０４０は、第１イベント情報を利用して、第２イベント情報に示される各イベントを、第１類のイベントと第２類のイベントとに分類する。前述したように、第１類のイベントは、標準装置２０でも発生したイベントである。また、第２類のイベントは、標準装置２０では発生しなかったイベントである。
【００２５】
第１学習部２０６０は、第１類に分類されたイベントに関する第２イベント情報を用いて、第１モデルの学習を行う。第２学習部２０８０は、第２類に分類されたイベントに関する第２イベント情報を用いて、第２モデルの学習を行う。
【００２６】
＜情報処理装置２０００のハードウエア構成＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００２７】
図３は、情報処理装置２０００を実現するための計算機１０００を例示する図である。計算機１０００は任意の計算機である。例えば計算機１０００は、Personal Computer（PC）、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機１０００は、情報処理装置２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００２８】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、CPU（Central Processing Unit）、GPU（Graphics Processing Unit）、又は FPGA（Field-Programmable Gate Array）などのプロセッサである。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスクドライブ、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。ただし、ストレージデバイス１０８０は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
【００２９】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース１１２０は、計算機１０００を通信網に接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００３０】
ストレージデバイス１０８０は、情報処理装置２０００の機能構成部を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００３１】
＜判定対象装置１０について＞
判定対象装置１０は、PC、サーバマシン、タブレット端末、又はスマートフォンなどといった任意のコンピュータである。判定対象装置１０は、１つであってもよいし、複数であってもよい。
【００３２】
ここで、第１モデルと第２モデルは、複数の判定対象装置１０で共有されてもよい。この場合、情報処理装置２０００は、第１モデルと第２モデルが共有される複数の判定対象装置１０それぞれから第２イベント情報を取得して、モデルの学習を行う。
【００３３】
＜標準装置２０について＞
標準装置２０は、PC、サーバマシン、タブレット端末、又はスマートフォンなどといった任意のコンピュータである。前述したように、標準装置２０は、正常に動作する蓋然性が高いコンピュータである。
【００３４】
例えば標準装置２０は、OS（Operating System）をクリーンインストールした後であって運用が開始される前のコンピュータである。ただし、標準装置２０は必ずしも運用前のコンピュータである必要はなく、不具合が生じる蓋然性が低い状況で運用されているコンピュータであってもよい。例えばこのようなコンピュータは、ネットワークへの接続が一般ユーザのコンピュータと比較して厳しく制限されているコンピュータや、セキュリティのエキスパートによって運用されているコンピュータなど、マルウエアに感染する蓋然性が低い状況で運用されているコンピュータである。
【００３５】
＜処理の流れ＞
図４は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。取得部２０２０は第１イベント情報を取得する（Ｓ１０２）。取得部２０２０は、第２イベント情報を取得する（Ｓ１０４）。分類部２０４０は、第２イベント情報に示される各イベントを、第１類と第２類に分類する（Ｓ１０６）。第１学習部２０６０は、第１類に分類されたイベントに関する第２イベント情報を用いて第１モデルの学習を行う（Ｓ１０８）。第２学習部２０８０は、第２類に分類されたイベントに関する第２イベント情報を用いて、第２モデルの学習を行う（Ｓ１１０）。
【００３６】
ここで、判定対象装置１０で発生したイベントを利用したモデルの学習は、判定対象装置１０の運用中に繰り返し行われることが好適である。そのため、例えば情報処理装置２０００は、第２イベント情報の取得を繰り返し行い、第２イベント情報を取得する度にその第２イベント情報を用いたモデルの学習（Ｓ１０６からＳ１１０）を行うようにする。
【００３７】
＜イベントについて＞
前述したように、イベントとは、プロセスが何らかの客体に対して行った活動である。或るプロセスが他のプロセスを客体として活動する場合、これらのプロセスは互いに同一の OS（Operating System）上で動作するものであってもよいし、互いに異なる OS 上で動作するものであってもよい。後者の例としては、例えば、ソケットインタフェースを利用することで、或るプロセスが他の OS 上で動作する別のプロセスと通信を行うことが考えられる。
【００３８】
例えばイベントは、主体、客体、及び活動内容という３つの要素を表す情報によって識別される。例えば主体を表す情報（以下、主体情報）は、そのイベントを発生させたプロセスを識別する情報である。以下、プロセスを識別する情報をプロセス識別情報と呼ぶ。プロセス識別情報は、例えば、プロセスの名称を示す。その他にも例えば、プロセス識別情報は、プロセスに対応するプログラムの実行ファイルの名称やパスなどである。
【００３９】
客体を表す情報（以下、客体情報）は、例えば、その客体の種別及び識別情報である。客体の種別は、例えば、プロセス、ファイル、又は他の装置などである。客体がプロセスである場合、客体情報にはそのプロセスのプロセス識別情報が含まれる。
【００４０】
客体がファイルである場合、客体情報には、そのファイルを識別する情報（以下、ファイル識別情報）が含まれる。ファイル識別情報は、例えばそのファイルの名称やパスなどである。また、客体がファイルである場合、客体情報にはそのファイルのハッシュ値が含まれていてもよい。
【００４１】
客体が他の装置である場合、例えば客体情報には、当該他の装置の識別情報（以下、装置識別情報）が含まれる。装置識別情報は、例えば、IP（Internet Protocol）や MAC（Media Access Control）アドレスなどのネットワークアドレスである。なお、ここでいう他の装置とは、物理的な装置だけでなく、仮想的な装置（仮想マシンなど）も含まれる。また、客体が他の装置である場合、客体情報には、装置識別情報と共に、又は装置識別情報に代えて、客体の数（すなわち、イベントの主体であるプロセスが通信を行った他の装置の数）が示されてもよい。
【００４２】
活動内容を表す情報（以下、内容情報）は、例えば、種々ある活動内容に予め割り当てておいた識別子である。例えば、「プロセスを起動する」、「プロセスを停止する」、「ファイルをオープンする」、「ファイルからデータを読み込む」、「ファイルにデータを書き込む」、「ソケットをオープンする」、「ソケットからデータを読み込む」、又は「ソケットにデータを書き込む」などといった活動の内容に、互いに異なる識別子を割り当てておく。なお、ソケットに対するアクセスは、そのソケットに対応づけられた他の装置へのアクセスを意味する。
【００４３】
図５は、イベントを定義する情報をテーブル形式で例示する図である。図５のテーブルを、テーブル２００と呼ぶ。テーブル２００は、主体情報２０２、客体情報２０４、及び内容情報２０６を含む。主体情報２０２は、プロセス名２０８及びパス２１０が含まれている。客体情報２０４には、種別２１２及び識別情報２１４が含まれている。
【００４４】
＜第１イベント情報について＞
第１イベント情報は、標準装置２０で発生したイベントに関する情報である。第１イベント情報は、標準装置２０で発生した各イベントについて、前述したイベントを識別できる情報（主体情報、客体情報、及び内容情報）を示す。
【００４５】
ここで、プロセスが発生させるイベントは、OS の種類やバージョンなどといった実行環境によって異なる。そこで第１イベント情報は、実行環境ごとに用意しておくことが好適である。そこで、実行環境がそれぞれ異なる複数の標準装置２０を用意し、それぞれの標準装置２０について第１イベント情報を生成しておく。この場合、第１イベント情報は、実行環境を表す情報（以下、実行環境情報）も含む。実行環境情報は、例えば、OS の種類、バージョン番号、ビルド番号、及び対象の CPU アーキテクチャを示す。
【００４６】
取得部２０２０は、判定対象装置１０の実行環境と一致する実行環境の標準装置２０について生成された第１イベント情報を取得することが好適である。ただし、判定対象装置１０の実行環境と一致する実行環境の標準装置２０について生成された第１イベント情報がないことも考えられる。この場合、例えば取得部２０２０は、判定対象装置１０の実行環境との一致度合いが最も高い標準装置２０について生成された第１イベント情報を取得する。
【００４７】
実行環境の一致度合いは、例えば、実行環境情報に示される各情報（前述した OS の種類やバージョンなど）の一致度合いの加重平均として算出される。各要素の一致度合いは、例えば、一致する場合には１とし、一致しない場合には０とする。重みについては、重要な要素ほど大きな重みが付されるように、予め設定しておく。例えば、OS の種類は OS のバージョンよりも重要であると考えられるため、OS の種類の一致度合いに対して付す重みは、OS のバージョンの一致度合いに対して付す重みよりも大きくしておく。
【００４８】
＜第２イベント情報について＞
第２イベント情報は、判定対象装置１０で発生したイベントに関する情報である。第２イベント情報の形式には、第１イベント情報の形式と同様のものを採用できる。ただし、第１イベント情報と第２イベント情報は、それぞれイベントの識別ができる情報であればよく、必ずしも同じ形式の情報である必要はない。
【００４９】
＜第１イベント情報の取得：Ｓ１０２＞
取得部２０２０は第１イベント情報を取得する（Ｓ１０２）。取得部２０２０が第１イベント情報を取得する方法は様々である。例えば取得部２０２０は、第１イベント情報が記憶されている記憶装置から、第１イベント情報を取得する。この記憶装置は、情報処理装置２０００の外部（例えば標準装置２０）に設けられていてもよいし、内部に設けられていてもよい。その他にも例えば、取得部２０２０は、他の装置（例えば標準装置２０）から送信される第１イベント情報を受信してもよい。
【００５０】
＜第２イベント情報の取得：Ｓ１０４＞
取得部２０２０は第２イベント情報を取得する（Ｓ１０４）。例えば取得部２０２０は、第２イベント情報が記憶されている記憶装置から、第２イベント情報を取得する。この記憶装置は、情報処理装置２０００の外部（例えば判定対象装置１０）に設けられていてもよいし、内部に設けられていてもよい。その他にも例えば、取得部２０２０は、他の装置（例えば判定対象装置１０）から送信される第２イベント情報を受信してもよい。
【００５１】
＜イベントの分類：Ｓ１０６＞
分類部２０４０は、第１イベント情報を用いて、第２イベント情報に示される各イベントを、第１類と第２類とに分類する（Ｓ１０６）。ここで、第１イベント情報には、標準装置２０において発生したイベントの情報が示されている。そこで、分類部２０４０は、第２イベント情報に示されている各イベントを、第１イベント情報に示されているイベントと比較することで、各イベントが標準装置２０で発生したいずれかのイベントと一致しているか否かを判定する。分類部２０４０は、第２イベント情報に示されるイベントのうち、標準装置２０で発生したいずれかのイベントと一致すると判定されたイベントを、第１類に分類する。一方で、分類部２０４０は、第２イベント情報に示されるイベントのうち、標準装置２０で発生したいずれのイベントとも一致しないと判定されたイベントを、第２類に分類する。
【００５２】
＜＜イベントの比較について＞＞
判定対象装置１０で発生したイベントと標準装置２０で発生したイベントとが一致しているか否かを判定する方法について説明する。前述したように、イベントは、主体、客体、及び活動内容という３つの要素で識別できる。そこで分類部２０４０は、判定対象装置１０で発生したイベントと、標準装置２０で発生したイベントを、これらの３つの要素について比較することで、イベント同士が一致しているか否かを判定する。分類部２０４０は、対比する両イベントがこれら３つの要素のいずれについても一致する場合に、これらのイベントが一致すると判定する。一方、対比する両イベントがいずれかの要素において一致しない場合、分類部２０４０は、これらのイベントが一致しないと判定する。
【００５３】
＜＜＜主体の一致＞＞＞
分類部２０４０は、第１イベント情報が示すイベントの主体情報と、第２イベント情報が示すイベントの主体情報とを比較する。ここで前述したように、イベントの主体は、イベントを発生させたプロセスのプロセス名、実行ファイルの名称、実行ファイルのパスなどである。これらの情報が一致するか否かは、例えば、文字列の類似度を判定するアルゴリズムを利用して判定することができる。
【００５４】
例えば分類部２０４０は、これらのイベントの主体情報が互いに一致する場合、これらのイベントの主体が互いに一致すると判定する。一方、これらのイベントの主体情報が互いに一致しない場合、分類部２０４０は、これらのイベントの主体が互いに一致しないと判定する。
【００５５】
ただし、実質的には同じイベントであっても、主体情報に差異があることもある。例えば、同内容の実行ファイルのパスは、判定対象装置１０と標準装置２０とで異なることがある。より具体的には、fileA.exe という実行ファイルのパスが、判定対象装置１０では「C:\dir1\fileA.exe」である一方で、標準装置２０では「D:\dir2\fileA.exe」であるといったケースである。そこで例えば、主体情報が実行ファイルのパスを示す場合、分類部２０４０は、実行ファイルのパスのうち、ファイル名の部分のみを比較することで、イベントの主体の一致を判定してもよい。
【００５６】
＜＜＜客体の一致＞＞＞
分類部２０４０は、第１イベント情報が示すイベントの客体情報と、第２イベント情報が示すイベントの客体情報とを比較する。これらのイベントの客体情報が互いに一致する場合、分類部２０４０は、これらのイベントの客体が互いに一致すると判定する。一方、これらのイベントの客体情報が互いに一致しない場合、分類部２０４０は、これらのイベントの客体が互いに一致しないと判定する。ただし、客体情報が実行ファイルのパスを示す場合、前述したように、ファイル名の部分のみを比較してもよい。
【００５７】
＜＜＜活動内容の一致＞＞＞
分類部２０４０は、第１イベント情報が示すイベントの内容情報と、第２イベント情報が示すイベントの内容情報とを比較する。これらのイベントの内容情報が互いに一致する場合、分類部２０４０は、これらのイベントの活動内容が互いに一致すると判定する。一方、これらのイベントの内容情報が互いに一致しない場合、分類部２０４０は、これらのイベントの活動内容が互いに一致しないと判定する。
【００５８】
＜モデルについての概要＞
第１モデルと第２モデルについて説明する。例えば第１モデルは、１）第１類に分類される各イベントの発生数又は発生頻度に基づくスコア、及び２）第１閾値で構成される。ここで、スコアはイベントごとに定められている。判定対象イベントが警告対象であるか否かの判定は、そのイベントのスコアと第１閾値とを比較することで行われる。判定対象イベントのスコアが第１閾値以下である場合、第１モデルは、そのイベントが警告対象であると判定する。一方、判定対象イベントのスコアが第１閾値より大きい場合、第１モデルは、そのイベントが警告対象でないと判定する。
【００５９】
同様に、第２モデルは、１）第２類に分類される各イベントの発生数又は発生頻度に基づくスコア、及び２）第２閾値で構成される。ここでも、スコアはイベントごとに定められている。判定対象イベントが警告対象であるか否かの判定は、そのイベントのスコアと第２閾値とを比較することで行われる。判定対象イベントのスコアが第２閾値以下である場合、第２モデルは、そのイベントが警告対象であると判定する。一方、判定対象イベントのスコアが第２閾値より大きい場合、第２モデルは、そのイベントが警告対象でないと判定する。
【００６０】
ここで、イベントのスコアがイベントの発生数に基づいて定まるものであるとする。この場合、第１モデルと第２モデルにおいて、イベントのスコアは、そのイベントの発生数が多いほど大きくなるようにする。例えば、イベントの発生数をそのままそのイベントのスコアとして用いる。その他にも例えば、任意の単調非減少関数にイベントの発生数を入力し、その出力をスコアとしてもよい。この関数は、予め第１学習部２０６０からアクセス可能な記憶装置に記憶させておく。
【００６１】
一方、イベントのスコアがイベントの発生頻度に基づいて定まるものであるとする。この場合、第１モデルと第２モデルにおいて、イベントのスコアは、そのイベントの発生頻度が高いほど大きくなるようにする。例えば、イベントの発生頻度をそのままそのイベントのスコアとして用いる。その他にも例えば、任意の単調非減少関数にイベントの発生頻度を入力し、その出力をスコアとしてもよい。この関数は、予め第１学習部２０６０からアクセス可能な記憶装置に記憶させておく。
【００６２】
以上のようなモデルを利用することで、発生数が少ないイベントや発生頻度が低いイベントを、警告対象とすることができる。
【００６３】
＜第１モデルの学習：Ｓ１０８＞
第１学習部２０６０は第１モデルの学習を行う（Ｓ１０８）。具体的には、第１学習部２０６０は、第２イベント情報に示されるイベントのうち、第１類に分類された各イベントについて、第１モデルが示すスコアを増加させる。
【００６４】
ここで、イベントの発生数をスコアとして用いるとする。この場合、例えば第１学習部２０６０は、第２イベント情報に示されるイベントのうち、第１類に分類される各イベントについて、そのイベントの発生数に基づくスコアを算出し、算出後のスコアを示すように第１モデルの学習を行う。ここで、各イベントの発生回数は記憶装置に記憶させておく。
【００６５】
また、イベントの発生頻度をスコアとして用いるとする。この場合、例えば第１学習部２０６０は、第２イベント情報に示されるイベントのうち、第１類に分類される各イベントについて、そのイベントの発生頻度を算出する。そして、各イベントについて算出した発生頻度に基づくスコアで、そのイベントのスコアを更新する。
【００６６】
なお、イベントの発生頻度は、判定対象装置１０が動作を開始してからの全期間における発生頻度であってもよいし、一部の期間における発生頻度であってもよい。後者の場合、例えば第１学習部２０６０は、第２イベント情報に示されるイベントのうち、第１類に分類される各イベントについて、直近所定期間における発生回数をその所定期間の長さで割ることで、そのイベントの発生頻度を算出する。なお、直近所定期間におけるイベントの発生回数は、例えば、各イベントの発生日時を記憶装置に記憶させておくことで特定することができる。
【００６７】
＜第２モデルの学習：Ｓ１１０＞
第２学習部２０８０は第２モデルの学習を行う（Ｓ１１０）。具体的には、第２学習部２０８０は、第２イベント情報に示されるイベントのうち、第２類に分類された各イベントについて、第２モデルにおけるスコアを増加させる。なお、スコアの更新方法については、第１モデルの場合と同様である。
【００６８】
＜第１モデルと第２モデルの違い＞
第１モデルと第２モデルはいずれも、判定対象のイベントが警告対象であるか否かを判定するために利用されるという点で共通する。一方で、第１モデルは、第１類に分類されるイベントについての判定に利用され、第２モデルは、第２類に分類されるイベントについての判定に利用されるという点で相違する。
【００６９】
ここで前述したように、第１類のイベントは正常なイベントである可能性が高い。よって、第１類のイベントは、第２類のイベントと比較し、警告対象としなくてもよいイベントである可能性が高い。そこで、第１類のイベントの方が第２類のイベントよりも警告対象となりにくいように、第１モデルと第２モデルを構成する必要がある。以下、このようにモデルを構成する方法として、２つの方法を例示する。
【００７０】
＜＜第１の方法＞＞
第１モデルにおいて判定の基準となる第１閾値の大きさを、第２モデルにおいて判定の基準となる第２閾値の大きさよりも小さくする。例えば、第１モデルにおける第１閾値が Th1 であり、第２モデルにおける第２閾値が Th2 であるとする。この場合、Th1 < Th2 となるように Th1 と Th2 を定める。こうすると、スコアが Th1 以下であるイベントは、第１類と第２類のどちらに分類されたとしても警告対象となる。一方で、スコアが Th1 より大きく Th2 未満であるイベントは、第１類に分類されれば警告対象とならないが、第２類に分類されれば警告対象となる。このことから、第１類のイベントの方が第２類のイベントよりも警告対象になりにくいといえる。
【００７１】
このケースにおいて、第１閾値と第２閾値は、第１閾値が第２閾値よりも小さいという条件の下、任意に設定しておくことができる。これらの閾値は、予め情報処理装置２０００からアクセス可能な記憶装置に記憶させておく。
【００７２】
＜＜第２の方法＞＞
第１モデルと第２モデルにおける学習の度合いに差をつけることで、第１類のイベントの方が第２類のイベントよりも警告対象となりにくいようにする。具体的には、第１モデルの学習において第１類のイベントのスコアが増加する量を、第２モデルの学習において第２類のイベントのスコアが増加する量よりも大きくする。例えば、第１モデルと第２モデルのそれぞれにおいて、イベントのスコアを以下のように定義する。
【数１】
0006892005.tif 000002
【００７３】
S1iは、第１類のイベントｉのスコアを表し、ni はイベントｉの発生回数を表す。S2j は、第２類のイベントｊのスコアを表し、nj はイベントｊの発生回数を表す。αとβはそれぞれ正の実数である。f(ni) は第１類のイベントｉの発生回数 ni をスコア S1i に変換する関数であり、g(nj) は第２類のイベントｊの発生回数 nj をスコア S2j に変換する関数である。これらはいずれも、前述した単調非減少関数に相当する。
【００７４】
上記の数式（１）において、第１類のイベントについてのスコアは、イベントの発生回数にαを乗算した値である。よって、第１類のイベントについてのスコアは、発生回数が１増えることに応じてα増加する。一方、第２類のイベントについてのスコアは、イベントの発生回数にβを乗算した値である。よって、第２類のイベントについてのスコアは、発生回数が１増えることに応じてβ増加する。α＞βであるため、第１類のイベントのスコアの増加量は、第２類のイベントのスコアの増加量よりも大きくなる。
【００７５】
なお、数式（１）において発生回数を発生頻度に置き換えれば、発生頻度に基づいて算出されるスコアを定義することができる。
【００７６】
ここで、このように第１モデルと第２モデルにおける学習の度合いに差をつけるケースでは、第１閾値と第２閾値は同じ値でよい。ただし、このケースにおいもて、第１閾値を第２閾値よりも小さい値にしてもよい。
【００７７】
＜モデルの生成について＞
第１モデルと第２モデルは、予め生成しておいて記憶装置に記憶させておいてもよいし、情報処理装置２０００によって生成されてもよい。後者の場合、例えば第１学習部２０６０は、第１モデルの学習を実行する際、まだ第１モデルが生成されていなければ（第１モデルが記憶装置に記憶されていなければ）、第１モデルの生成を行う。同様に、例えば第２学習部２０８０は、第２モデルの学習を実行する際、まだ第２モデルが生成されていなければ（第２モデルが記憶装置に記憶されていなければ）、第２モデルの生成を行う。
【００７８】
［実施形態２］
実施形態２の情報処理装置２０００の機能構成は、実施形態１の情報処理装置２０００と同様に、図２によって表される。以下で説明する事項を除き、実施形態２の情報処理装置２０００は、実施形態１の情報処理装置２０００と同様の機能を有する。
【００７９】
本実施形態では、標準装置２０において発生したイベントに基づいて第１モデルを生成しておく。第１学習部２０６０はこの第１モデルについて学習を行う。そのために、実施形態２の取得部２０２０は第１モデルを取得する。そして、実施形態２の第１学習部２０６０は、取得した第１モデルの学習を行っていく。
【００８０】
なお、標準装置２０において発生したイベントに基づいて第１モデルを生成する方法は、実施形態１において第１学習部２０６０が第１モデルを生成する方法と同様である。例えば、前述した数式（１）を利用して第１モデルを生成する。
【００８１】
なお、第１モデルの生成は、情報処理装置２０００で行われてもよいし、情報処理装置２０００以外の装置で行われてもよい。情報処理装置２０００が第１モデルを生成する場合、情報処理装置２０００は、図５で示したテーブル２００のように、標準装置２０で発生したイベントを表す情報を取得し、その情報を用いて第１モデルを生成する。
【００８２】
＜作用効果＞
本実施形態の情報処理装置２０００によれば、標準装置２０で発生したイベントを利用して第１モデルの学習が或る程度行われた状態で、情報処理装置２０００の運用が開始される。そのため、第１モデルの学習を予め行っておかない場合と比較し、第１類のイベントについて早期に高い精度で判定が行えるようになる。また、標準装置２０で発生したイベントについての情報を、判定対象装置１０で発生したイベントの分類だけでなく、第１モデルの学習にも利用できるため、標準装置２０をより有効活用することができる。
【００８３】
＜ハードウエア構成の例＞
実施形態２の情報処理装置２０００を実現する計算機のハードウエア構成は、実施形態１と同様に、例えば図３によって表される。ただし、本実施形態の情報処理装置２０００を実現する計算機１０００のストレージデバイス１０８０には、本実施形態の情報処理装置２０００の機能を実現するプログラムモジュールがさらに記憶される。
【００８４】
［実施形態３］
図６は、実施形態３の情報処理装置２０００の機能構成を例示するブロック図である。以下で説明する事項を除き、実施形態３の情報処理装置２０００は、実施形態１又は２の情報処理装置２０００と同様の機能を有する。
【００８５】
実施形態３の情報処理装置２０００は、判定対象イベントに関する情報を取得し、判定対象イベントが警告対象であるか否かを判定する。そして、判定対象イベントが警告対象であった場合に、所定の警告情報を出力する。
【００８６】
そのために、実施形態３の情報処理装置２０００は、判定部２１２０及び警告部２１４０を有する。また、実施形態３の取得部２０２０は、判定対象イベントに関する情報を取得する。分類部２０４０は、第１イベント情報を用いて、上記判定対象イベントが第１類と第２類のいずれに分類されるかを判定する。具体的には、判定対象イベントが標準装置２０で発生したイベントのいずれかに一致していれば、判定対象イベントは第１類に分類され、判定対象イベントが標準装置２０で発生したいずれのイベントにも一致していなければ、判定対象イベントは第２類に分類される。
【００８７】
判定部２１２０は、判定対象イベントが第１類に分類される場合には、第１モデルを用いて、判定対象イベントが警告対象のイベントであるか否かを判定する。また、判定部２１２０は、判定対象イベントが第２類に分類される場合には、第２モデルを用いて、判定対象イベントが警告対象のイベントであるか否かを判定する。なお、第１類のイベントが警告対象であるか否かを第１モデルによって判定する方法、及び第２類のイベントが警告対象であるか否かを第２モデルによって判定する方法については、実施形態１で説明した通りである。
【００８８】
警告部２１４０は、判定対象イベントが警告対象のイベントであると判定された場合に、所定の警告情報を出力する。
【００８９】
＜作用効果＞
本実施形態の情報処理装置２０００によれば、判定対象イベントが標準装置２０でも発生したイベントであるか否かを分類し、その分類に応じたモデルを利用して、判定対象イベントが警告対象であるか否かが判定される。そのため、このような分類を考慮しないケースと比較し、判定対象イベントを警告対象とすべきか否かを高い精度で判定することができる。また、判定対象イベントが警告対象であると判定された場合に警告情報が出力されるため、判定対象装置１０において異常が発生している可能性があることを、判定対象装置１０の管理者等が適切に把握することができる。
【００９０】
＜ハードウエア構成の例＞
実施形態３の情報処理装置２０００を実現する計算機のハードウエア構成は、実施形態１と同様に、例えば図３によって表される。ただし、本実施形態の情報処理装置２０００を実現する計算機１０００のストレージデバイス１０８０には、本実施形態の情報処理装置２０００の機能を実現するプログラムモジュールがさらに記憶される。
【００９１】
＜処理の流れ＞
図７は、実施形態３の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。取得部２０２０は、第１イベント情報を取得する（Ｓ２０１）。取得部２０２０は、判定対象イベントについての情報を取得する（Ｓ２０２）。分類部２０４０は、判定対象イベントが第１類と第２類のいずれに分類されるかを判定する（Ｓ２０４）。判定対象イベントが第１類に分類される場合（Ｓ２０４：第１類）、判定部２１２０は、第１モデルを用いて、判定対象イベントが警告対象であるか否かを判定する（Ｓ２０６）。判定対象イベントが警告対象である場合（Ｓ２０６：警告対象である）、警告部２１４０は警告情報を出力する（Ｓ２０８）。判定対象イベントが警告対象でない場合（Ｓ２０６：警告対象でない）、図７の処理は終了する。
【００９２】
判定対象イベントが第２類に分類される場合（Ｓ２０４：第２類）、判定部２１２０は、第２モデルを用いて、判定対象イベントが警告対象であるか否かを判定する（Ｓ２１０。判定対象イベントが警告対象である場合（Ｓ２１０：ＹＥＳ）、警告部２１４０は警告情報を出力する（Ｓ２０８）。判定対象イベントが警告対象でない場合（Ｓ２１０：ＮＯ）、図７の処理は終了する。
【００９３】
＜警告について＞
警告部２１４０が出力する警告情報としては、様々なものを採用できる。例えば警告情報は、警告対象のイベントが発生したことを通知する文字列、画像、又は音声などである。なお、警告情報には、警告対象であると判定された判定対象イベントを特定する情報（主体情報、客体情報、及び内容情報）を含めることが好適である。
【００９４】
警告情報の出力先としては、様々な出力先を採用できる。例えば警告情報は、判定対象装置１０の管理者等が利用するコンピュータに対して出力される。このコンピュータは、据え置き型のコンピュータ（デスクトップ PC など）であってもよいし、可搬型のコンピュータ（携帯端末など）であってもよい。また、警告情報は、判定対象装置１０の管理者等に対して送信されてもよい。この場合、例えば警告情報は、判定対象装置１０の管理者等に対してメールなどで送信される。
【００９５】
その他にも例えば、警告情報は、判定対象装置１０の管理者等が利用するコンピュータからアクセス可能な記憶装置に記憶されてもよい。より具体的には、この記憶装置には、警告対象のイベントが発生した場合に、そのイベントに関する情報を記憶するログファイルを用意しておく。警告部２１４０は、判定対象イベントが警告対象であると判定された場合に、このログファイルに対して、その判定対象イベントに関する情報を追記する。判定対象装置１０の管理者等が利用するコンピュータは、このログファイルを参照することで、判定対象装置１０で発生した警告対象のイベントに関する情報を取得することができる。
【００９６】
＜判定対象イベントについて＞
判定対象イベントは、モデルの学習に利用されるイベントと同じであってもよいし、異なっていてもよい。前者の場合、情報処理装置２０００は、第２イベント情報に示されるイベントについて、そのイベントが警告対象であるか否かを判定すると共に、そのイベントを利用したモデルの学習を行う。そのため、判定対象装置１０についてモデルの学習を始めた初期の段階では、第２イベント情報に示される多くのイベントが警告対象となりうる。しかしながら、判定対象装置１０の運用を継続していくことによってモデルの学習が進み、判定対象装置１０において多く発生するイベントについては警告対象にならなくなっていく。一方で、判定対象装置１０で発生することが少ないイベントについては、依然として警告対象のままとなる。このように判定対象イベントをモデルの学習のためにも利用することで、判定対象装置１０を運用しながらモデルを成熟させていくことができる。
【００９７】
なお、判定対象イベントをモデルの学習にも利用する場合、判定部２１２０による判定とモデルの学習のどちらを先に行ってもよい。
【００９８】
ここで、判定対象イベントをモデルの学習にも利用する場合、前述したように、判定対象装置１０の運用を開始した初期の段階では、多くのイベントが警告対象となりうる。そのため、判定対象装置１０の運用を開始してから所定期間が経過するといった所定の条件が満たされるまでは警告情報が出力されないようにしてもよい。情報処理装置２０００から警告情報が出力されないようにする方法の１つには、上記所定の条件が満たされるまで、警告部２１４０を動作させないという方法がある。その他の方法としては、警告部２１４０を「判定対象イベントが警告対象として判定され、なおかつ上記所定の条件が満たされている場合のみ、警告情報を出力する」という構成にするという方法である。
【００９９】
また、上記所定の条件が満たされているか否かで、警告情報の出力方法を変えてもよい。例えば、所定の条件が満たされている場合には、判定対象装置１０の管理者等が早期に認識できる形態の警告情報を出力する。例えば警告部２１４０は、判定対象イベントが警告対象であると判定された際、所定の条件が満たされている場合には警告情報を判定対象装置１０の管理者等が利用する端末へ送信し、所定の条件が満たされていない場合には警告情報をログファイルに出力する。
【０１００】
このようにすることで、モデルが成熟していないために警告情報が多く出力される状況において、判定対象装置１０の管理者等に警告情報を提供しつつも、管理者等が感じる煩わしさを軽減することができる。また一般に、判定対象装置１０の管理者等が早期に認識できる形態の警告情報は、その出力に要する計算機資源の量が多くなる。そのため、モデルが成熟していないために警告情報が多く出力される状況において消費される計算機資源を削減できるという効果もある。
【０１０１】
上記所定の条件は、判定対象装置１０の運用を開始してから所定期間が経過するという条件に限定されない。例えばこの条件には、学習に利用されたイベントの数が所定数以上となるという条件なども採用できる。
【０１０２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【図１】
0006892005.tif 000003
【図２】
0006892005.tif 000004
【図３】
0006892005.tif 000005
【図４】
0006892005.tif 000006
【図５】
0006892005.tif 000007
【図６】
0006892005.tif 000008
【図７】
0006892005.tif 000009