(57)【要約】  端末装置と、端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおいて、端末装置は、イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連のイベント情報を圧縮するグループ化部と、イベント情報を監視サーバに送信するイベント送信部とを備える。
2019022207.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムであって、
前記端末装置は、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とするイベント監視システム。
【請求項２】
前記イベント情報を一時的に蓄積するイベントバッファを備え、
前記グループ化部は、前記イベントバッファに蓄積された複数のイベント情報の中から前記一連のイベント情報を発見することを特徴とする請求項１に記載のイベント監視システム。
【請求項３】
前記監視サーバは、前記端末装置から受信された複数の前記イベント情報に基づいて前記イベントパターンを抽出するパターン抽出部と、前記イベントパターンを前記端末装置に送信するパターン送信部とを備えることを特徴とする請求項１または２に記載のイベント監視システム。
【請求項４】
前記一連のイベント情報が示すパターンは、前記イベントパターンと合致することを特徴とする請求項１乃至３のいずれか１項に記載のイベント監視システム。
【請求項５】
前記グループ化部は、前記一連のイベント情報が示すパターンが前記イベントパターンと合致するように、前記一連のイベント情報の中で欠落したイベント情報を補完することを特徴とする請求項１乃至３のいずれか１項に記載のイベント監視システム。
【請求項６】
前記イベントパターンはイベント対を含み、前記グループ化部は、前記イベント対の一方に基づいて前記イベント対の他方に関するイベント情報を補完することを特徴とする請求項５に記載のイベント監視システム。
【請求項７】
前記一連のイベント情報は、前記端末装置のＯＳ（Operating  System）により生成される一のプロセスに関連することを特徴とする請求項１乃至６のいずれか１項に記載のイベント監視システム。
【請求項８】
前記イベント情報は、少なくとも動作の主体、動作の客体、動作の内容、および動作が行われた時刻を用いて記述されることを特徴とする請求項１乃至７のいずれか１項に記載のイベント監視システム。
【請求項９】
前記主体はプロセスであり、前記客体はプロセス、ファイルおよびソケットのいずれかであることを特徴とする請求項８に記載のイベント監視システム。
【請求項１０】
前記グループ化部は、前記主体および前記客体がそれぞれ共通する複数の前記イベント情報を１つの前記イベント情報で置き換えることを特徴とする請求項８または９に記載のイベント監視システム。
【請求項１１】
前記監視サーバは、前記圧縮された一連のイベント情報を復元することを特徴とする請求項１乃至１０のいずれか１項に記載のイベント監視システム。
【請求項１２】
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムに用いられる端末装置であって、
前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とする端末装置。
【請求項１３】
端末装置で発生するイベントを監視するための監視サーバであって、
前記端末装置は、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とする監視サーバ。
【請求項１４】
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおけるイベント監視方法であって、
前記端末装置が前記イベントに関するイベント情報を収集するステップと、前記端末装置がイベントパターンに基づく一連の前記イベント情報を圧縮するステップと、前記端末装置が前記イベント情報を前記監視サーバに送信するステップとを備えることを特徴とするイベント監視方法。
【請求項１５】
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおいてイベント監視を行うためのプログラムが記録された記録媒体であって、
コンピュータを、
前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備える前記端末装置として機能させることを特徴とするプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント監視システム、端末装置、監視サーバ、イベント監視方法および記録媒体に関する。
【背景技術】
【０００２】
端末装置で発生するイベントを監視して、端末装置の異常を検知する監視サーバが知られている。監視サーバにはネットワークを介して複数の端末装置が接続され、各端末装置にはイベント情報を収集するための機能が設けられる。各端末装置はイベント情報を監視サーバに送信し、監視サーバは各端末装置からのイベント情報をログ情報として記録する。【０００３】
特許文献１には、新たなログ情報を記録する際に、新たなログ情報の内容が直近に記録したログ情報の内容と同一性を有する場合、所定の省略形式で新たなログ情報を記録する技術が開示されている。これにより、記録されるログ情報のデータ量を抑制することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２５７７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１においては、直近のログ情報との比較に基づいて新たなログ情報の記録形式を決定しているため、同一または類似のログ情報が連続していない場合には、データ量を抑制することは困難となる。【０００６】
本発明は、上述の課題に鑑みてなされたものであって、イベント情報のデータ量を効率良く抑制することが可能なイベント監視システム、端末装置、監視サーバ、イベント監視方法および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムであって、前記端末装置は、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とするイベント監視システムが提供される。【０００８】
本発明の他の観点によれば、端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムに用いられる端末装置であって、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とする端末装置が提供される。【０００９】
本発明の他の観点によれば、端末装置で発生するイベントを監視するための監視サーバであって、前記端末装置は、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とする監視サーバが提供される。【００１０】
本発明の他の観点によれば、端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおけるイベント監視方法であって、前記端末装置が前記イベントに関するイベント情報を収集するステップと、前記端末装置がイベントパターンに基づく一連の前記イベント情報を圧縮するステップと、前記端末装置が前記イベント情報を前記監視サーバに送信するステップとを備えることを特徴とするイベント監視方法が提供される。【００１１】
本発明の他の観点によれば、端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおいてイベント監視を行うためのプログラムが記録された記録媒体であって、コンピュータを、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備える前記端末装置として機能させることを特徴とするプログラムが記録された記録媒体が提供される。
【発明の効果】
【００１２】
本発明によれば、イベント情報のデータ量を効率良く抑制することが可能なイベント監視システム、端末装置、監視サーバ、イベント監視方法および記録媒体が提供される。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係るイベント監視システムのブロック図である。
【図２】第１実施形態に係る端末装置と監視サーバのハードウェア構成を示すブロック図である。
【図３】第１実施形態に係るプロセスの動作を示す概念図である。
【図４】第１実施形態に係るイベント情報を説明するための図である。
【図５】第１実施形態に係るイベント情報の圧縮の一例である。
【図６】第１実施形態に係るイベント情報の補完の一例である。
【図７】第１実施形態に係る端末装置の処理を示すフローチャートである。
【図８】第１実施形態に係る監視サーバの処理を示すフローチャートである。
【図９】第２実施形態に係る監視サーバのブロック図である。
【図１０】第２実施形態に係る監視サーバの処理を示すフローチャートである。
【図１１】第３実施形態に係るイベント監視システムの概略構成図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施の形態を説明する。
［第１実施形態］
図１は、第１実施形態に係るイベント監視システムのブロック図である。イベント監視システム１は、端末装置１０と、監視サーバ２０とを含む。端末装置１０は、監視サーバ２０による監視の対象となる監視対象システム１１を構成する。端末装置１０は、例えばユーザが使用するパーソナルコンピュータ、監視対象システム１１のホストコンピュータなどであって、ネットワーク３０を介して監視サーバ２０および他の端末装置１０と通信を行う。なお、端末装置１０は、監視対象システム１１内のローカルネットワークを介して他の端末装置１０と通信を行ってもよい。また、端末装置１０の数は限定されない。
【００１５】
端末装置１０には、プロセスレベルのイベント情報を収集可能なエージェントプログラムが予めインストールされている。エージェントプログラムは、端末装置１０で発生したイベントに関する情報（イベント情報）を収集し、イベント情報４０を監視サーバ２０に送信する。監視サーバ２０は、エージェントプログラムからのイベント情報４０に基づいて、端末装置１０の異常を検知する。例えば、監視サーバ２０は、サイバー攻撃、コンピュータウイルスなどにより端末装置１０で悪意のあるプログラムが実行されたことを検知することができる。ネットワーク３０は、社内ＬＡＮ（Local  Area  Network）などの通信ネットワークであって、端末装置１０と監視サーバ２０を相互に接続する。
【００１６】
端末装置１０は、イベント収集部１０１、イベントバッファ１０２、グループ化部１０３、イベント送信部１０４、パターン受信部１０５、パターン格納部１０６を含む。イベント収集部１０１は、端末装置１０のＯＳ（Operating  System）により生成されたプロセスの動作を検出し、動作毎の情報をイベント情報としてイベントバッファ１０２に出力する。イベントバッファ１０２は、イベント収集部１０１からのイベント情報を一時的に蓄積する。
【００１７】
グループ化部１０３は、パターン格納部１０６に予め格納されたイベントパターンに基づいて、収集されたイベント情報をグループ化する。具体的には、グループ化部１０３は、イベントバッファ１０２に蓄積された複数のイベント情報の中から一連のイベント情報を抽出し、抽出されたイベント情報のパターンをイベントパターンと照合する。ここで一連のイベント情報とは、例えば一のプロセスに関連する複数のイベント情報のことである。グループ化部１０３は、一連のイベント情報のパターンがイベントパターンと合致する場合、当該一連のイベント情報をグループ化する。さらに、グループ化部１０３は、イベントパターンに対応する圧縮ルールに従って、グループ化されたイベント情報を圧縮する。例えば、グループ化部１０３は、複数のイベント情報を１つのイベント情報で置き換えることができる。
【００１８】
また、グループ化部１０３は、イベント収集部１０１が収集に失敗したイベント情報を、イベントパターンに基づいて補完することができる。例えば、グループ化部１０３は、一連のイベント情報が示すパターンとイベントパターンとが合致するように、一連のイベント情報の中で欠落したイベント情報を生成することができる。
【００１９】
イベント送信部１０４は、グループ化部１０３によりグループ化されたイベント情報を監視サーバ２０に送信する。また、イベント送信部１０４は、グループ化部１０３によりグループ化されなかったイベント情報も監視サーバ２０に送信する。パターン受信部１０５は、イベントパターンと圧縮ルールを監視サーバ２０から受信する。イベントパターンと圧縮ルールは、パターン格納部１０６に格納される。
【００２０】
監視サーバ２０は、イベント受信部２０１、イベント格納部２０２、異常検知部２０３、パターン抽出部２０４、パターン登録部２０５、パターン送信部２０６を含む。イベント受信部２０１は、端末装置１０からイベント情報を受信する。イベント情報は、イベント格納部２０２に格納される。
【００２１】
異常検知部２０３は、イベント格納部２０２に格納された複数のイベント情報に基づいて、端末装置１０の異常を検知する。異常検知部２０３は、通常時における端末装置１０の動作をモデル化した動作モデルを有し、イベント情報から把握される端末装置１０の現在の動作と動作モデルとを比較することにより、端末装置１０の現在の動作に異常があるか否かを判断することができる。
【００２２】
例えば、電子メール用のアプリケーションプログラムにより起動されるプロセス（以下、メールプロセス）は、通常、メールボックス、メールファイルなどのように、アクセス先となるフォルダ、ファイルの種類が限定されている。異常検知部２０３は、メールプロセスが、パスワードファイルの読み取りなどの通常とは異なる動作を行ったときに、当該動作を異常として検知する。動作モデルは、機械学習などにより予め構築しておくことができる。なお、異常検知部２０３による異常検知の手法は特に限定されない。
【００２３】
パターン抽出部２０４は、イベント格納部２０２に蓄積されたイベント情報からイベントパターンを抽出する。イベントパターンは、例えばファイルオープン、ファイルリード、・・・、ファイルリード、ファイルクローズなどのように、プロセスの一連の動作として表される。パターン抽出部２０４は、パターン登録部２０５に登録されていない新たなイベントパターンを発見した場合、当該新たなイベントパターンをパターン登録部２０５に登録する。
【００２４】
さらに、パターン抽出部２０４は、各イベントパターンに対応した圧縮ルールを生成する。圧縮ルールは、グループ化したイベント情報を圧縮するために使用される。イベントパターンの抽出と圧縮ルールの生成は、定期的または任意のタイミングで行われ、新たなイベントパターンと圧縮ルールがパターン登録部２０５に追加される。
【００２５】
パターン登録部２０５は、パターン抽出部２０４により抽出された各種イベントパターンと圧縮ルールを格納する。パターン送信部２０６は、新たなイベントパターンと圧縮ルールがパターン登録部２０５に登録された場合、当該新たなイベントパターンと圧縮ルールを端末装置１０に送信する。
【００２６】
図２は、本実施形態に係る端末装置と監視サーバのハードウェア構成を示すブロック図である。端末装置１０と監視サーバ２０は同様のハードウェア構成を有し得るため、ここでは端末装置１０を例に挙げて説明する。
【００２７】
端末装置１０は、ＣＰＵ（Central  Processing  Unit）１１１、ＲＯＭ（Read  Only  Memory）１１２、ＲＡＭ（Random  Access  Memory）１１３、通信Ｉ／Ｆ（Interface）１１４、記憶装置１１５、入力装置１１６、ディスプレイ１１７、記憶Ｉ／Ｆ１１８を備える。ＣＰＵ１１１は、ＲＯＭ１１２からエージェントプログラムなどの所定のプログラムを読み出し、実行することにより、端末装置１０の各部の機能を実現する。ＲＯＭ１１２は、不揮発性メモリから構成され、ＯＳなどの基本プログラム、アプリケーションプログラム（以下、アプリケーション）などを記憶する。ＲＡＭ１１３は揮発性メモリから構成され、ＣＰＵ１１１の動作に必要なメモリ領域を提供する。
【００２８】
通信Ｉ／Ｆ１１４は、例えばイーサネット（登録商標）規格に基づく通信インターフェースであって、通信ケーブルを介してネットワーク３０に接続される。記憶装置１１５は、ハードディスクなどの大容量記憶装置であって、イベント情報、イベントパターン、圧縮ルールなどを記憶する。入力装置１１６は、キーボード、マウスなどの入力デバイスであってユーザにより操作される。ディスプレイ１１７は、例えば液晶ディスプレイであって、ＯＳ、アプリケーションにより提供されるＧＵＩ（Graphical  User  Interface）などを表示する。記憶Ｉ／Ｆ１１８は、光ディスク、ＵＳＢ（Universal  Serial  Bus）メモリなどの可搬記憶媒体と着脱可能に接続される。
【００２９】
図３は、本実施形態に係るプロセスの動作を示す概念図である。端末装置１０において、ユーザアカウントによりアプリケーションが起動されると、ＯＳは複数のプロセスを生成する。これらのプロセスは、ユーザアカウントとアプリケーションに関連付けられる。各プロセスは、１または複数のプロセスを起動する。また、各プロセスは、１または複数のファイルにアクセスする。また、各プロセスは、１または複数のソケットにアクセスする。ソケットにアクセスしたプロセスは、他の端末装置１０との通信を行う。
【００３０】
図４は、本実施形態に係るイベント情報を説明するための図である。図４の上部に示すように、イベント情報４０は、少なくとも動作の主体、動作の客体、動作（の内容）、および動作が行われた時刻を用いて記述される。イベント情報４０は、（ａ）プロセスイベント、（ｂ）ファイルイベント、（ｃ）ＩＰチャネルイベント、（ｄ）パスイベントの４種類に分類される。
【００３１】
プロセスイベントは、プロセスが他のプロセスを起動するイベントであって、主体および客体はプロセス、動作の内容はスタートまたはエンドである。ファイルイベントは、プロセスがファイルにアクセスするイベントであって、主体はプロセス、客体はファイル、動作の内容はオープン、クローズ、リードまたはライトである。ファイルイベントに関するイベント情報４０には、読み出し量、書き込み量などが含まれ得る。ＩＰチャネルイベントは、プロセスがソケットを介して通信を行うイベントであって、主体はプロセス、客体はソケット、動作の内容はオープン、クローズ、センドまたはレシーブである。ＩＰチャネルイベントに関するイベント情報４０には、送信量、受信量、宛先アドレスなどが含まれ得る。パスイベントは、プロセスがファイルにアクセスするイベントであって、主体はプロセス、客体はファイル、動作の内容はムーブまたはデリートである。パスイベントに関するイベント情報４０には、イベント発生前のファイルパス、イベント発生後のファイルパスなどが含まれ得る。
【００３２】
図５は、本実施形態に係るイベント情報の圧縮の一例である。図５の（Ａ）には、ファイルオープン、ファイルリード、ファイルクローズからなるイベントパターンに合致した一連のイベント情報４０ａ〜４０ｄが示されている。イベント情報４０ａ〜４０ｄはファイルイベントであって、動作４０１、主体４０２、客体４０３、時刻４０４を含む。イベント情報４０ｂ、４０ｃは、さらに読み出し量４０５を含む。なお、図５において時刻４０４は時分で表されているが、時刻４０４は時分秒で表されてもよく、また日付を含んでいてもよい。
【００３３】
イベント情報４０ａ〜４０ｄは、主体４０２および客体４０３がそれぞれ共通しているため、１つのイベント情報４０ｇで置き換えることができる。例えば、イベント情報４０ｇの動作４０１は、ファイルオープン、ファイルリード、ファイルクローズの一連の動作をまとめたファイルオープン・リード・クローズで表される。イベント情報４０ｇの時刻４０４は、一連のイベント情報４０ａ〜４０ｄのうちの最初のイベント情報４０ａと最後のイベント情報４０ｄの時刻４０４で表される。イベント情報４０ｇの読み出し量４０５は、一連のイベント情報４０ａ〜４０ｄのうちのファイルリードに関するイベント情報４０ｂ、４０ｃの読み出し量４０５の合計で表される。
【００３４】
イベント情報４０ｇの時刻４０４は、最初のイベント情報４０ａの時刻４０４を基準として表されてもよい。イベント情報４０ａ〜４０ｄ、４０ｇの時刻をそれぞれ時刻４０４ａ〜４０４ｄ、４０４ｇとすると、時刻４０４ｇは、時刻４０４ａ、時刻４０４ａと時刻４０４ｂの差分、時刻４０４ａと時刻４０４ｃの差分、時刻４０４ａと時刻４０４ｄの差分で表され得る。
【００３５】
図６は、本実施形態に係るイベント情報の補完の一例である。図６の（Ａ）には、ファイルオープン、ファイルリード、ファイルクローズからなるイベントパターンに類似した一連のイベント情報４０ａ〜４０ｃが示されている。一連のイベント情報４０ａ〜４０ｃは、イベントパターンのうちのファイルオープン、ファイルリードの部分と合致するものの、イベントパターンのうちのファイルクローズに対応するイベント情報４０ｄが欠落している。このような場合、欠落したイベント情報４０ｄをイベントパターンと合致するように補完することができる。すなわち、イベントパターンを構成する要素のうち欠落した要素を補完することができる。イベントパターンの要素の数および補完される要素の数は限定されない。
【００３６】
イベントパターンは、対になる２つの要素（イベント対）を含み得る。例えば、ファイルイベントに関するイベントパターンでは、ファイルオープンとファイルクローズがイベント対となる。また、プロセスイベントに関するイベントパターンでは、プロセススタートとプロセスエンドがイベント対となる。同様に、ＩＰチャネルイベントに関するイベントパターンでは、ソケットオープンとソケットクローズがイベント対となる。
【００３７】
図６の例では、イベント対の一方（ファイルオープン）に基づいて、イベント対の他方（ファイルクローズ）に関するイベント情報４０ｄが補完されている。補完されたイベント情報４０ｄの主体４０２および客体４０３は、イベント情報４０ａ〜４０ｃの主体４０２および客体４０３と同一である。イベント情報４０ｄの時刻４０４を、一連のイベント情報４０ａ〜４０ｃのうちの最後のイベント情報４０ｃの時刻４０４に基づいて補完してもよい。
【００３８】
図７は、本実施形態に係る端末装置の処理を示すフローチャートである。このフローチャートの処理は、端末装置１０において繰り返し実行される。まず、パターン受信部１０５は、監視サーバ２０からイベントパターンを受信したか否かを判断する（ステップＳ１０１）。イベントパターンが受信された場合（ステップＳ１０１でＹＥＳ）、パターン受信部１０５は、受信されたイベントパターンをパターン格納部１０６に格納する（ステップＳ１０２）。パターン受信部１０５は、イベントパターンとともに受信された圧縮ルールもパターン格納部１０６に格納する。イベントパターンが受信されない場合（ステップＳ１０１でＮＯ）、処理はステップＳ１０３に移行する。
【００３９】
イベント収集部１０１は、端末装置１０においてイベントが検知されたか否かを判断する（ステップＳ１０３）。イベントが検知された場合（ステップＳ１０３でＹＥＳ）、イベント収集部１０１は、検知されたイベントのイベント情報を生成してイベントバッファ１０２に記憶する（ステップＳ１０４）。イベントが検知されない場合（ステップＳ１０３でＮＯ）、処理はステップＳ１０５に移行する。
【００４０】
グループ化部１０３は、イベントバッファ１０２に蓄積されたイベント情報に基づいて、一連のイベント情報の収集が完了したか否かを判断する（ステップＳ１０５）。例えば、グループ化部１０３は、イベントバッファ１０２から主体４０２および客体４０３が共通するイベント情報を時刻４０４の順で抽出し、抽出された一連のイベント情報をグループ化する。グループ化部１０３は、グループ内で最遅のイベント情報が収集されてから、新たなイベント情報が収集されることなく所定時間（例えば２、３分）が経過したときに、当該一連のイベント情報の収集が完了したと判断する。図５の（Ａ）に示した例では、イベント情報４０ｄが収集された時刻が計時の基準となる。一方、図６の（Ａ）に示した例では、イベント情報４０ｃが収集された時刻が計時の基準となる。
【００４１】
一連のイベント情報の収集が完了していない場合（ステップＳ１０５でＮＯ）、イベント収集処理（ステップＳ１０３、Ｓ１０４）が繰り返される。なお、イベント収集処理は、ステップＳ１０５の判断結果に関わらず、常時実行されていてよい。また、ステップＳ１０５において、グループ化部１０３は複数のグループ化を並行して行う。
【００４２】
一連のイベント情報の収集が完了した場合（ステップＳ１０５でＹＥＳ）、グループ化されたイベント情報のパターンがイベントパターンに合致しているか否かを判断する（ステップＳ１０６）。すなわち、グループ化部１０３は、パターン格納部１０６に格納されているすべてのイベントパターンを用いて、グループ化されたイベント情報のパターンを照合する。
【００４３】
イベントパターンの例として、ファイルオープン、ファイルリード、ファイルクローズからなるイベントパターン、ファイルオープン、ファイルライト、ファイルクローズからなるイベントパターンが挙げられる。ここで、ファイルリードおよびファイルライトの数は、複数であり得る。すなわち、ファイルオープンとファイルクローズとの間に、複数のファイルリード（またはファイルライト）があってもよい。また、他のイベントパターンの例として、プロセススタート、プロセスエンドからなるイベントパターン、ソケットオープン、センド（またはレシーブ）、ソケットクローズからなるイベントパターンなどが挙げられる。プロセスイベントに関するイベントパターンは、親プロセスと子プロセスに対応する階層的なイベントパターンであってもよい。
【００４４】
イベント情報のパターンがイベントパターンに合致した場合（ステップＳ１０６でＹＥＳ）、グループ化部１０３は、グループ化された一連のイベント情報を圧縮ルールに従って圧縮する（ステップＳ１０９）。例えば、図５に示したように、グループ化部１０３は、４つのイベント情報４０ａ〜４０ｄを１つのイベント情報４０ｇで置き換える。イベント情報４０ｇのデータ量は、イベント情報４０ａ〜４０ｄの合計のデータ量よりも小さい。イベント送信部１０４は、圧縮されたイベント情報を監視サーバ２０に送信する（ステップＳ１１０）。
【００４５】
イベント情報のパターンがイベントパターンに合致しない場合（ステップＳ１０６でＮＯ）、グループ化部１０３は、グループ化されたイベント情報のパターンがイベントパターンに類似しているか否かを判断する（ステップＳ１０７）。イベント情報のパターンがイベントパターンに類似している場合（ステップＳ１０７でＹＥＳ）、グループ化部１０３は、グループ化された一連のイベント情報の中で欠落したイベント情報を補完する（ステップＳ１０８）。
【００４６】
例えば、図６に示したように、グループ化部１０３は、イベントパターンに含まれるイベント対に基づき、一連のイベント情報４０ａ〜４０ｃに対して、欠落したイベント情報４０ｄを補完する。すなわち、ファイルオープンに関するイベント情報４０ａと対になるように、ファイルクローズに関するイベント情報４０ｄがグループ化部１０３により生成される。なお、補完されたイベント情報に対応するイベント情報が、イベント情報補完処理（ステップＳ１０８）後に収集された場合には、当該遅れて収集されたイベント情報を破棄してよい。
【００４７】
続いて、グループ化部１０３は、補完された一連のイベント情報を圧縮する（ステップＳ１０９）。イベント送信部１０４は、圧縮されたイベント情報を監視サーバ２０に送信する（ステップＳ１１０）。
【００４８】
イベント情報のパターンがイベントパターンに類似していない場合（ステップＳ１０７でＮＯ）、イベント送信部１０４は、グループ化されたイベント情報を監視サーバ２０に送信する（ステップＳ１１０）。さらに、イベント送信部１０４は、グループ化されなかったイベント情報も監視サーバ２０に送信する。イベント送信部１０４から送信されたイベント情報は、イベントバッファ１０２から削除される。
【００４９】
図８は、本実施形態に係る監視サーバの処理を示すフローチャートである。このフローチャートの処理は、監視サーバ２０において繰り返し実行される。まず、イベント受信部２０１は、端末装置１０からイベント情報を受信したか否かを判断する（ステップＳ２０１）。イベント情報が受信されない場合（ステップＳ２０１でＮＯ）、イベント受信部２０１は、イベント情報が受信されるまで待機する。イベント情報が受信された場合（ステップＳ２０１でＹＥＳ）、イベント受信部２０１は、受信されたイベント情報をイベント格納部２０２に格納する（ステップＳ２０２）。
【００５０】
異常検知部２０３は、イベント格納部２０２に蓄積されたイベント情報に基づいて端末装置１０の異常を検知する（ステップＳ２０３）。異常検知部２０３は、端末装置１０の異常を検知した場合には、端末装置１０を隔離するなどの処置を行う。パターン抽出部２０４は、イベント格納部２０２に蓄積されたイベント情報のパターンを学習し、パターン登録部２０５に登録されていない新規のイベントパターンの抽出を試みる。新規のイベントパターンが抽出されない場合（ステップＳ２０４でＮＯ）、処理はステップＳ２０１に戻る。新規のイベントパターンが抽出された場合（ステップＳ２０４でＹＥＳ）、パターン抽出部２０４は、新規のイベントパターンをパターン登録部２０５に登録する（ステップＳ２０５）。また、パターン抽出部２０４は、イベントパターンに対応した圧縮ルールを生成し、パターン登録部２０５に登録する。パターン送信部２０６は、パターン登録部２０５に登録された新規のイベントパターンを圧縮ルールとともに端末装置１０に送信する（ステップＳ２０６）。
【００５１】
本実施形態によれば、イベントパターンに基づく一連のイベント情報を単位として情報の圧縮が行われるため、イベント情報のデータ量を効率良く抑制することができる。また、端末装置１０においてイベント情報の圧縮を行うことにより、イベント情報を監視サーバ２０に送信する際の通信量が削減されるため、通信路の圧迫を回避することができる。さらに、欠落したイベント情報をイベントパターンに基づいて補完することができるため、端末装置１０におけるイベント情報の収集能力を向上させることができる。
【００５２】
［第２実施形態］
続いて、第２実施形態に係るイベント監視システムを説明する。本実施形態の監視サーバ２０は、圧縮された一連のイベント情報を復元することが可能である。以下、第１実施形態と異なる点を中心に説明する。
【００５３】
図９は、本実施形態に係る監視サーバのブロック図である。監視サーバ２０は、イベント受信部２０１、イベント格納部２０２、異常検知部２０３、パターン抽出部２０４、パターン登録部２０５、パターン送信部２０６、イベント復元部２０７を含む。イベント復元部２０７は、パターン登録部２０５に登録された圧縮ルールに基づいて、イベント格納部２０２から圧縮されたイベント情報を取得し、一連のイベント情報の復元を行う。イベント復元部２０７は、復元された一連のイベント情報をイベント格納部２０２に格納する。
【００５４】
図１０は、本実施形態に係る監視サーバの処理を示すフローチャートである。イベント情報受信処理とイベント情報格納処理（ステップＳ３０１、Ｓ３０２）は、第１実施形態のステップＳ２０１、Ｓ２０２と同様であるため、その説明を省略する。ステップＳ３０３において、まず、イベント復元部２０７は、パターン登録部２０５から圧縮ルールを取得する。すべての圧縮ルールが取得されてもよく、例えば異常検知部２０３またはユーザなどにより指定された圧縮ルールが取得されてもよい。次に、イベント復元部２０７は、圧縮ルールに基づいて、イベント格納部２０２から圧縮されたイベント情報を取得する。例えば、イベント復元部２０７は、図５の（Ｂ）に示したように、動作４０１としてファイルオープン・リード・クローズを用いて記述されたイベント情報４０ｇを取得する。
【００５５】
イベント復元部２０７は、圧縮されたイベント情報に対して圧縮ルールと逆の処理を行うことにより圧縮前の一連のイベント情報を復元する。例えば、動作４０１としてファイルオープン・リード・クローズを用いて記述された１つのイベント情報から、動作４０１としてファイルオープン、ファイルリード、ファイルクローズをそれぞれ用いて記述された３つのイベント情報を復元することができる。図５に示した例では、イベント情報４０ｇには、イベント情報４０ｂ、４０ｃの情報がすべて含まれていないため、イベント情報４０ｂ、４０ｃを正確に復元することができないが、可逆的な圧縮ルールを用いることにより、正確な復元を行うことも可能である。
【００５６】
イベント復元部２０７は、復元した一連のイベント情報をイベント格納部２０２に格納する。復元元のイベント情報は、イベント格納部２０２から削除されてもよい。以降の異常検知からイベントパターン送信までの処理（ステップＳ３０４〜Ｓ３０７）は、第１実施形態のステップＳ２０３〜Ｓ２０６と同様であるため、その説明を省略する。
【００５７】
本実施形態によれば、端末装置１０において圧縮されたイベント情報を、監視サーバ２０において復元することができるため、通信量を低減しつつ異常検知の精度を向上させることができる。
【００５８】
［第３実施形態］
図１１は、本実施形態に係るイベント監視システムの概略構成図である。イベント監視システム１は、端末装置１０と、端末装置１０で発生するイベントを監視する監視サーバ２０とを含む。端末装置１０は、イベントに関するイベント情報を収集するイベント収集部１０１と、イベントパターンに基づく一連のイベント情報を圧縮するグループ化部１０３と、イベント情報を監視サーバ２０に送信するイベント送信部１０４とを備える。
【００５９】
［他の実施形態］
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。例えば、上述の実施形態では、イベントパターンの抽出が監視サーバ２０側で行われていたが、端末装置１０がイベントパターンの抽出を行うように構成されてもよい。また、アプリケーションの動作に関するイベントの監視に本発明を適用することも可能である。
【００６０】
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム（より具体的には、図７、図８、図１０のフローチャートの処理をコンピュータに実行させるプログラム）を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
【００６１】
該記録媒体としては例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【００６２】
上述の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００６３】
（付記１）
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムであって、
前記端末装置は、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とするイベント監視システム。
【００６４】
（付記２）
前記イベント情報を一時的に蓄積するイベントバッファを備え、
前記グループ化部は、前記イベントバッファに蓄積された複数のイベント情報の中から前記一連のイベント情報を発見することを特徴とする付記１に記載のイベント監視システム。
【００６５】
（付記３）
前記監視サーバは、前記端末装置から受信された複数の前記イベント情報に基づいて前記イベントパターンを抽出するパターン抽出部と、前記イベントパターンを前記端末装置に送信するパターン送信部とを備えることを特徴とする付記１または２に記載のイベント監視システム。
【００６６】
（付記４）
前記一連のイベント情報が示すパターンは、前記イベントパターンと合致することを特徴とする付記１乃至３のいずれかに記載のイベント監視システム。
【００６７】
（付記５）
前記グループ化部は、前記一連のイベント情報が示すパターンが前記イベントパターンと合致するように、前記一連のイベント情報の中で欠落したイベント情報を補完することを特徴とする付記１乃至３のいずれかに記載のイベント監視システム。
【００６８】
（付記６）
前記イベントパターンはイベント対を含み、前記グループ化部は、前記イベント対の一方に基づいて前記イベント対の他方に関するイベント情報を補完することを特徴とする付記５に記載のイベント監視システム。
【００６９】
（付記７）
前記一連のイベント情報は、前記端末装置のＯＳ（Operating  System）により生成される一のプロセスに関連することを特徴とする付記１乃至６のいずれかに記載のイベント監視システム。
【００７０】
（付記８）
前記イベント情報は、少なくとも動作の主体、動作の客体、動作の内容、および動作が行われた時刻を用いて記述されることを特徴とする付記１乃至７のいずれかに記載のイベント監視システム。
【００７１】
（付記９）
前記主体はプロセスであり、前記客体はプロセス、ファイルおよびソケットのいずれかであることを特徴とする付記８に記載のイベント監視システム。
【００７２】
（付記１０）
前記グループ化部は、前記主体および前記客体がそれぞれ共通する複数の前記イベント情報を１つの前記イベント情報で置き換えることを特徴とする付記８または９に記載のイベント監視システム。
【００７３】
（付記１１）
前記監視サーバは、前記圧縮された一連のイベント情報を復元することを特徴とする付記１乃至１０のいずれかに記載のイベント監視システム。
【００７４】
（付記１２）
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムに用いられる端末装置であって、
前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とする端末装置。
【００７５】
（付記１３）
端末装置で発生するイベントを監視するための監視サーバであって、
前記端末装置は、前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備えることを特徴とする監視サーバ。
【００７６】
（付記１４）
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおけるイベント監視方法であって、
前記端末装置が前記イベントに関するイベント情報を収集するステップと、前記端末装置がイベントパターンに基づく一連の前記イベント情報を圧縮するステップと、前記端末装置が前記イベント情報を前記監視サーバに送信するステップとを備えることを特徴とするイベント監視方法。
【００７７】
（付記１５）
端末装置と、前記端末装置で発生するイベントを監視する監視サーバとを含むイベント監視システムにおいてイベント監視を行うためのプログラムが記録された記録媒体であって、
コンピュータを、
前記イベントに関するイベント情報を収集するイベント収集部と、イベントパターンに基づく一連の前記イベント情報を圧縮するグループ化部と、前記イベント情報を前記監視サーバに送信するイベント送信部とを備える前記端末装置として機能させることを特徴とするプログラムが記録された記録媒体。
【００７８】
この出願は、２０１７年７月２８日に出願された日本出願特願２０１７−１４６７４８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００７９】
１  イベント監視システム
１０  端末装置
１１  監視対象システム
２０  監視サーバ
３０  ネットワーク
４０  イベント情報
１０１  イベント収集部
１０２  イベントバッファ
１０３  グループ化部
１０４  イベント送信部
１０５  パターン受信部
１０６  パターン格納部
１１１  ＣＰＵ
１１２  ＲＯＭ
１１３  ＲＡＭ
１１４  通信Ｉ／Ｆ
１１５  記憶装置
１１６  入力装置
１１７  ディスプレイ
１１８  記憶Ｉ／Ｆ
２０１  イベント受信部
２０２  イベント格納部
２０３  異常検知部
２０４  パターン抽出部
２０５  パターン登録部
２０６  パターン送信部
２０７  イベント復元部
４０１  動作
４０２  主体
４０３  客体
４０４  時刻
４０５  読み出し量
【図１】
2019022207.tif 000003
【図２】
2019022207.tif 000004
【図３】
2019022207.tif 000005
【図４】
2019022207.tif 000006
【図５】
2019022207.tif 000007
【図６】
2019022207.tif 000008
【図７】
2019022207.tif 000009
【図８】
2019022207.tif 000010
【図９】
2019022207.tif 000011
【図１０】
2019022207.tif 000012
【図１１】
2019022207.tif 000013
【国際調査報告】
2019022207.tif 000014
2019022207.tif 000015
2019022207.tif 000016