(57)【要約】【課題】迅速に、高精度な異常検知を行うことを課題とする。【解決手段】異常検知システム１００では、正常モデル統合装置１０は、複数の端末２０のそれぞれから、正常モデルを収集し、収集された複数の正常モデルを統合して統合正常モデルを生成する。そして、正常モデル統合装置１０は、統合された統合正常モデルを複数の端末２０のそれぞれに対して送信する。また、複数の端末２０のそれぞれは、ユーザが行った動作をログとして取得し、取得されたログと、正常モデル統合装置１０から受信した統合正常モデルを用いて、動作の異常度合いを示す異常度を算出し、該異常度が所定の閾値を下回っているか否かを判定する。この結果、端末２０は、異常度が閾値を下回っていると判定された場合には、異常な動作が行われている旨の出力、または、動作を強制終了することを行う。【選択図】        図８
2015108898.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末と、統合装置とを有する異常検知システムにおいて、
前記統合装置は、
前記複数の端末のそれぞれから、正常モデルを収集する収集部と、
前記収集部によって収集された複数の正常モデルを統合して統合正常モデルを生成する統合部と、
前記統合部によって統合された統合正常モデルを前記複数の端末のそれぞれに対して送信する送信部と、
を備え、
前記複数の端末のそれぞれは、
ユーザが行った動作をログとして取得する取得部と、
前記取得部によって取得されたログと、前記統合装置から受信した統合正常モデルを用いて、前記動作の異常度合いを示す異常度を算出し、該異常度が所定の閾値を下回っているか否かを判定する判定部と、
前記判定部によって異常度が閾値を下回っていると判定された場合には、異常な動作が行われている旨の出力、または、前記動作を強制終了することを行う出力部と、
を備えることを特徴とする異常検知システム。
【請求項２】
前記収集部は、各端末から正常モデルとともに、各正常モデルの信頼度を示す値を収集し、
前記統合部は、前記値が大きい正常モデルほど影響が大きくなるように、前記各端末の正常モデルを統合することを特徴とする請求項１に記載の異常検知システム。
【請求項３】
前記端末が、前記取得部によって取得されたログを特徴ベクトルに変換する変換部をさらに備え、
前記判定部は、前記変換部によって変換された特徴ベクトルを前記正常モデルに入力して、前記異常度を算出し、該異常度が所定の閾値を下回っているか否かを判定することを特徴とする請求項１または２に記載の異常検知システム。
【請求項４】
統合装置で実行される異常検知方法であって、
複数の端末のそれぞれから、正常モデルを収集する収集ステップと、
前記収集ステップによって収集された複数の正常モデルを統合して統合正常モデルを生成する統合ステップと、
前記統合ステップによって統合された統合正常モデルを前記複数の端末のそれぞれに対して送信する送信ステップと、
を含んだことを特徴とする異常検知方法。
【請求項５】
前記収集ステップは、前記各端末から正常モデルとともに、各正常モデルの信頼度を示す値を収集し、
前記統合ステップは、前記値が大きい正常モデルほど影響が大きくなるように、前記各端末の正常モデルを統合することを特徴とする請求項５に記載の異常検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検知システム及び異常検知方法に関する。
【背景技術】
【０００２】
従来、ユーザが有するＰＣ（Personal  Computer）、スマートフォン、タブレット等の端末が、端末上での動作をログとして取得し、該当ログと正常モデルとを用いて、端末の異常を検知することが行われている。
【０００３】
このような異常を検知する技術として、例えば、各端末の検知結果を統合的に比較して、端末の異常動作を検知する技術が知られている。また、例えば、新規に追加された端末に対しては、端末の情報が少なく、正しい異常検知が困難であるため、異常判定の閾値を緩めることで、正常動作を異常と誤判定することを少なくする技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４９４０２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来技術では、迅速に、高精度な異常検知を行うことができないという課題があった。つまり、例えば、各端末の検知結果を統合的に比較する技術では、各端末の結果をすべて比較するので、端末数が多い環境においては、異常検知に長時間を要してしまうという課題があった。また、例えば、異常動作の閾値を緩めることで正常動作を異常と誤判定することを防ぐ技術では、ログが少ない端末において精度の高い異常検知を行うことが困難な場合があるという問題があった。
【０００６】
そこで、この発明は、迅速に、高精度な異常検知を行うことを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、開示の異常検知システムは、複数の端末と、統合装置とを有する異常検知システムにおいて、前記統合装置は、前記複数の端末のそれぞれから、正常モデルを収集する収集部と、前記収集部によって収集された複数の正常モデルを統合して統合正常モデルを生成する統合部と、前記統合部によって統合された統合正常モデルを前記複数の端末のそれぞれに対して送信する送信部と、を備え、前記複数の端末のそれぞれは、ユーザが行った動作をログとして取得する取得部と、前記取得部によって取得されたログと、前記統合装置から受信した統合正常モデルを用いて、前記動作の異常度合いを示す異常度を算出し、該異常度が所定の閾値を下回っているか否かを判定する判定部と、前記判定部によって異常度が閾値を下回っていると判定された場合には、異常な動作が行われている旨の出力、または、前記動作を強制終了することを行う出力部と、を備えることを特徴とする。
【０００８】
また、開示の異常検知方法は、統合装置で実行される異常検知方法であって、複数の端末のそれぞれから、正常モデルを収集する収集ステップと、前記収集ステップによって収集された複数の正常モデルを統合して統合正常モデルを生成する統合ステップと、前記統合ステップによって統合された統合正常モデルを前記複数の端末のそれぞれに対して送信する送信ステップと、を含んだことを特徴とする。
【発明の効果】
【０００９】
本願に開示する異常検知システム及び異常検知方法は、迅速に、高精度な異常検知を行うことが可能である。
【図面の簡単な説明】
【００１０】
【図１】図１は、第一の実施形態に係る異常検知システムの構成の一例を示す図である。
【図２】図２は、第一の実施形態に係る正常モデル統合装置の構成を示すブロック図である。
【図３】図３は、第一の実施形態に係る正常モデル・スコア記憶部に記憶される情報の一例を示す図である。
【図４】図４は、第一の実施形態に係る正常モデル統合装置における全体の処理の流れを説明する図である。
【図５】図５は、第一の実施形態に係る端末の構成を示すブロック図である。
【図６】図６は、第一の実施形態に係る端末の正常モデル作成処理を説明する図である。
【図７】図７は、第一の実施形態に係る端末の異常検知処理を説明する図である。
【図８】図８は、第一の実施形態に係る異常検知システムの全体の処理を説明する図である。
【図９】図９は、第一の実施形態に係る正常モデル統合装置における正常モデル統合処理の流れを説明するためのフローチャートである。
【図１０】図１０は、第一の実施形態に係る端末における正常モデル送信処理の流れを説明するためのフローチャートである。
【図１１】図１１は、第一の実施形態に係る端末における異常検知処理の流れを説明するためのフローチャートである。
【図１２】図１２は、従来の異常検知システムを説明する図である。
【図１３】図１３は、従来の異常検知システムを説明する図である。
【図１４】図１４は、第一の実施形態に係る異常検知システムの概要を説明する図である。
【図１５】図１５は、一つの端末に正常モデル統合処理を行わせる場合の異常検知システムの構成の一例を示す図である。
【図１６】図１６は、各端末に正常モデル統合処理を行わせる場合の異常検知システムの構成の一例を示す図である。
【図１７】図１７は、モデル統合プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、この発明に係る異常検知システム及び異常検知方法の実施形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１２】
［第一の実施形態］
以下の実施形態では、第一の実施形態に係る異常検知システムの構成、正常モデル統合装置の構成、端末の構成、正常モデル統合装置における処理の流れ及び端末における処理の流れを順に説明し、最後に第一の実施形態による効果を説明する。
【００１３】
［システムの構成］
まず、第一の実施形態に係る異常検知システム１００の構成の一例を説明する。図１は、第一の実施形態に係る異常検知システムの構成の一例を示す図である。図１に示すように、異常検知システム１００は、正常モデル統合装置１０と、複数の端末２０Ａ〜２０Ｎとを有する。正常モデル統合装置１０と、複数の端末２０Ａ〜２０Ｎとは、ネットワーク３０を介して接続されている。なお、複数の端末２０Ａ〜２０Ｎについて、特に区別することなく説明する場合には、「端末２０」と記載する。また、図１に例示した各装置の設置数は、あくまで一例であり、これに限定されるものではない。
【００１４】
正常モデル統合装置１０は、各端末２０Ａ〜２０Ｎから正常モデル・スコアを収集し、収集した各端末２０Ａ〜２０Ｎの正常モデルを統合する。そして、正常モデル統合装置１０は、統合した正常モデルを各端末２０Ａ〜２０Ｎに対して送信する。ここで、正常モデルとは、ユーザの正常動作の傾向・特徴を表したものであり、動作ログを正常モデルに入力することで、その動作の異常度が出力される。
【００１５】
このように、正常モデル統合装置１０は、作成された端末毎の正常モデルを統合することで、そのユーザ固有の正常モデルを作成する。統合の方法としては、例えば、端末毎の正常モデルの信頼度を示すスコアによる重み付平均・スコアが最大となる端末の正常モデルを選択等があるが、それらに限定されるものではない。正常モデル統合装置１０は、正常モデルを統合した後には各端末２０Ａ〜２０Ｎに送信する。なお、送信のタイミングで、スコアはリセットされる。また、各端末２０Ａ〜２０Ｎの正常モデルの収集・送信方法としては、ＬＡＮ内での共有、クラウドサービスの利用、ＵＳＢメモリ等の外部記憶媒体経由等が考えられるが、これらに限定されない。
【００１６】
複数の端末２０Ａ〜２０Ｎは、あるユーザが所有するＰＣ、スマートフォン、タブレットなどの端末機器である。各端末２０Ａ〜２０Ｎは、ユーザが行った動作をログとして取得し、取得されたログと、正常モデル統合装置１０から受信した正常モデルを用いて、動作の異常度を算出する。そして、各端末２０Ａ〜２０Ｎは、算出した異常度が閾値を下回っているか否かを判定し、異常度が閾値を下回っていると判定した場合には、異常な動作が行われている旨の出力、または、動作を強制終了することを行う。
【００１７】
また、端末２０Ａ〜２０Ｎは、正常動作をログとして記録し、そのログを基にして端末毎の正常モデルを作成する。正常モデルの作成方法としては、例えば、ログの特徴から求められた特徴ベクトルの分布を正規分布や混合正規分布といった確率分布で近似する方法があるが、それらに限定されるものではない。また、端末２０Ａ〜２０Ｎは、正常モデルの作成に用いたログ数を基に、その正常モデルがどれだけ正しいのかという信頼度を表すスコアを算出し記録する。なお、この正常モデル・スコアは、新たな動作のログが記録されるたびに、更新されるものである。
【００１８】
また、端末２０Ａ〜２０Ｎは、端末で動作が起こった際、正常モデルとその動作のログを比較することで、動作の異常度を算出する。そして、端末２０Ａ〜２０Ｎは、異常度が予め定められた閾値を下回っていた場合に、その動作は異常であると検知する。
【００１９】
このように、正常モデル統合装置１０が、各端末２０Ａ〜２０Ｎの正常モデルを効果的に統合することで、より検知精度が高い異常検知処理を行うことが可能となる。また、端末数が多い環境であっても、特定の装置に集中的な負荷をかけることなく、迅速に異常検知処理を行うことが可能である。
【００２０】
［正常モデル統合装置の構成］
次に、図２を用いて、図１に示した正常モデル統合装置１０の構成を説明する。図２は、第一の実施形態に係る正常モデル統合装置の構成を示すブロック図である。図２に示すように、正常モデル統合装置１０は、通信処理部１１、制御部１２および記憶部１３を有する。
【００２１】
通信処理部１１は、接続される複数の端末２０Ａ〜２０Ｎとの間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部１１は、正常モデル及び正常モデルの信頼度を示すスコアを各端末２０Ａ〜２０Ｎから受信し、統合した正常モデルを各端末２０Ａ〜２０Ｎに対して送信する。
【００２２】
記憶部１３は、図２に示すように、正常モデル・スコア記憶部１３ａを有する。記憶部１３は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００２３】
正常モデル・スコア記憶部１３ａは、各端末２０Ａ〜２０Ｎの正常モデルと、各正常モデルの信頼度を示すスコアとを記憶する。ここで、図３を用いて、正常モデル・スコア記憶部１３ａに記憶される情報の一例について説明する。図３は、第一の実施形態に係る正常モデル・スコア記憶部に記憶される情報の一例を示す図である。
【００２４】
図３に例示するように、正常モデル・スコア記憶部１３ａは、端末２０を一意に識別する「端末ＩＤ」と、各端末２０に設定された正常モデルである「正常モデル」と、正常モデルの信頼度を示す値である「スコア」とを対応付けて記憶する。具体的な例を挙げて説明すると、例えば、正常モデル・スコア記憶部１３ａは、端末ＩＤ「Ａ」と、正常モデル「ω１」と、スコア「２０」とを対応付けて記憶する。
【００２５】
図２に戻って、制御部１２は、収集部１２ａ、統合部１２ｂおよび送信部１２ｃを有する。ここで、制御部１２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００２６】
収集部１２ａは、各端末２０から正常モデルを収集する。また、収集部１２ａは、各端末２０から正常モデルとともに、各正常モデルの信頼度を示すスコアを収集する。例えば、収集部１２ａは、各端末２０で求められた正常モデルとスコアを収集し、正常モデル・スコア記憶部１３ａに格納する。なお、すべての端末２０のスコアが「０」であった場合には、以下で説明する正常モデルを統合する処理を行わないものとする。
【００２７】
統合部１２ｂは、収集部１２ａによって収集された各端末２０の正常モデルを統合する。また、統合部１２ｂは、スコアが大きい正常モデルほど影響が大きくなるように、各端末２０の正常モデルを統合する。
【００２８】
例えば、統合部１２ｂは、収取された各端末の正常モデルを下記（１）式に従って、統合する。「ω」は、統合された正常モデルであり、「ωｋ」は、端末ｋの正常モデルであり、「αｋ」は、端末ｋのスコアであり、「Ｎ」は、ユーザが所有する端末数である。このような正常モデルを統合する方法として、各端末２０の正常モデルのスコアによる重み付平均を行うことで、スコアが高い端末２０ほど統合の際に強い影響を持つこととなる。
【００２９】
【数１】
2015108898.tif 000003
【００３０】
送信部１２ｃは、統合部１２ｂによって統合された正常モデルを各端末２０に対して送信する。このように、統合した正常モデルを各端末２０に送信することで、各端末２０に設定された正常モデルを入れ替えさせる。また、送信部１２ｃが正常モデルを各端末２０に送信した後は、正常モデル・スコア記憶部１３ａに記憶されたスコアをすべて「０」にリセットする。
【００３１】
ここで、正常モデル統合装置１０における全体の処理の流れを説明する。図４は、第一の実施形態に係る正常モデル統合装置における全体の処理の流れを説明する図である。図４に示すように、正常モデル統合装置１０は、各端末の正常モデル「ωｋ」・スコアを収集する（図４の（１）参照）。そして、正常モデル統合装置１０は、統合された正常モデルを作成する（図４の（２）参照）。
【００３２】
続いて、正常モデル統合装置１０は、統合された正常モデルの各端末２０への分配を行う（図４の（３）参照）。これにより、作成された正常モデルは、各端末２０に分配され、既存の正常モデルと入れ替えられて、各端末２０上で機能することとなる。
【００３３】
［端末の構成］
次に、図５を用いて、図１に示した端末２０の構成を説明する。図５は、第一の実施形態に係る端末の構成を示すブロック図である。図５に示すように、端末２０は、通信処理部２１、制御部２２および記憶部２３を有する。
【００３４】
通信処理部２１は、接続される正常モデル統合装置１０との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部２１は、正常モデル及び正常モデルの信頼度を示すスコアを正常モデル統合装置１０に送信し、統合した正常モデルを正常モデル統合装置１０から受信する。
【００３５】
記憶部２３は、図５に示すように、正常モデル・スコア記憶部２３ａを有する。記憶部２３は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００３６】
正常モデル・スコア記憶部２３ａは、自端末に設定された正常モデルと、正常モデルの信頼度を示すスコアとを記憶する。具体的には、正常モデル・スコア記憶部２３ａは、自端末に設定された正常モデルである「正常モデル」と、正常モデルの信頼度を示す値である「スコア」とを対応付けて記憶する。
【００３７】
制御部２２は、取得部２２ａ、変換部２２ｂ、算出部２２ｃ、判定部２２ｄおよび出力部２２ｅを有する。ここで、制御部２２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００３８】
取得部２２ａは、ユーザが行った動作をログとして取得する。具体的には、取得部２２ａは、自端末２０上での動作（例えば、端末２０を介したユーザのＷｅｂアクセスの操作等）をログとして取得する。
【００３９】
変換部２２ｂは、取得部２２ａによって取得されたログを特徴ベクトルに変換する。具体的には、取得部２２ａによって取得されたログを、後述する算出部２２ｃの処理に利用するために、特徴ベクトルへの変換を行う。ここで、特徴ベクトルとは、ログの特徴ｎ次元の数ベクトルで表現したものである。
【００４０】
例えば、端末上での動作がＷｅｂアクセスである場合の特徴ベクトルの例について説明する。Ｗｅｂアクセスのログの場合には、そのログの特徴は、例えば「アクセス先のＵＲＬの文字列」に現れるため、変換部２２ｂは、ＵＲＬの文字列から特徴ベクトルを生成する。文字列から特徴ベクトルへ変換する方式としては、例えばＮ−ｇｒａｍによるものがある。Ｎ−ｇｒａｍとは、文字列の先頭から１文字ずつずらしながらｎ文字の組を作る方式である。
【００４１】
例えば、ＵＲＬが「http://www.AAABBBCCC.co.jp」であって、Ｎ＝７である場合には、「http://」、「ttp://w」、「tp://ww」、「p://www」・・・というように、１文字ずつずらしながら作成する。そして、要素に分割されたＵＲＬを特徴ベクトルに変換する。変換には、各要素の出現回数をそのまま特徴ベクトル方式や、回数によらず出現するかしないかに応じて「１」、「０」に対応させる方式がある。
【００４２】
算出部２２ｃは、変換部２２ｂによって変換された特徴ベクトルを基に、正常モデルを作成する。具体的には、算出部２２ｃは、ユーザが所有する端末毎に、ユーザが行う正常な動作（Ｗｅｂアクセス等）をログとして収集し、そのログを用いて、その端末上でのユーザの正常動作の傾向・特徴を表す「正常モデル」を作成する。ここで、正常モデルの作成方法としては、特徴ベクトルの分布を正規分布や混合正規分布といった確率分布で近似する方法等があるが、それらに限定されるものではない。
【００４３】
ここで、図６の例を用いて、正常モデル作成処理を説明する。図６は、第一の実施形態に係る端末の正常モデル作成処理を説明する図である。図６に例示するように、端末１における正常動作ログＡ〜Ｃを正常モデルを作成する算出部２２ｃに入力し、端末１の正常モデル「ω」を作成する。正常モデルとしては、正常で動作の起こりやすさを表す確率分布等があるが、これに限定されるものではない。
【００４４】
ここで、正常モデルとして正規分布Ｎ（ｘ;ｍ,Σ）とする場合について説明する。ｘは特徴ベクトル、ｍは平均、Σは分散を表すものとする。この正常モデルは、特徴ベクトルｘが表す動作を入力としたとき、その動作がどれだけ起こりやすいかという確率を出力として返す。この確率が、予め定めた閾値よりも小さい場合は、その動作を異常であると判定する。
【００４５】
そして、正常動作を表す特徴ベクトルｘ’が与えられるたびに、正規分布の平均ｍ、分散Σを更新する。更新の方法としては、  ベイズの法則を用いた方法が考えられる。ベイズの法則とは、Ｐ（Ａ）をＡが起こる確率、Ｐ（Ｂ｜Ａ）をＡが起こったと既知の場合にＢが起こる確率としたとき、「P(A|B）＝P(B|A)P(A)/P(B)」の関係式が成り立つというものである。
【００４６】
ここで、Ｂを特徴ベクトルｘ、Ａを（ｍ，Σ）、Ｐを正規分布Ｎとすると、左辺は正規分布Nから特徴ベクトルｘが発生したと分かったときの、正規分布Ｎの平均・分散がｍ,Σである確率を表す。ベイズの法則を用いた更新方法としては、特徴ベクトルｘが与えられた時に、上記の左辺を最大にするようなｍ,Σを選択するというものである。なお、ここでは、ベイズの法則による更新方法を説明したが、更新方法はこれに限るものではない。
【００４７】
また、正常モデルの作成に用いた特徴ベクトルは正常モデルの信頼度を表すスコアの算出に用いられ、ここでは特に、「スコア＝正常モデルの作成に用いた特徴ベクトルの総数」と定める。これは、正常モデル作成に用いた特徴ベクトルの数が多いほど、それを用いた異常検知精度は一般に高くなるという特徴を利用しているものである。
【００４８】
判定部２２ｄは、取得部２２ａによって取得されたログと正常モデル統合装置１０から受信した統合正常モデルを用いて、動作の異常度合いを示す異常度を算出し、該異常度が所定の閾値を下回っているか否かを判定する。具体的には、判定部２２ｄは、変換部２２ｂによって変換された特徴ベクトルを正常モデルに入力して、異常度を算出し、該異常度が所定の閾値を超えるか否かを判定する。
【００４９】
ここで、図７を用いて、端末２０の異常検知処理を説明する。図７は、第一の実施形態に係る端末の異常検知処理を説明する図である。端末２０で動作した際に、正常モデルに動作のログを入力することで、動作の異常度が出力される。異常度が予め設定された閾値を下回った場合には、その動作が異常であると検知する。
【００５０】
図７の例を用いて説明すると、判定部２２ｄは、正常モデルωに動作ログＤを入力し、異常度０．１が出力されたものとする。そして、異常度「０．１」が予め設定された閾値「０．２」を下回っているので、動作ログＤの動作は異常であるものとして検知する。一方、異常度が閾値以上であり、正常と判定された場合には、その特徴ベクトルは前述の算出部２２ｃに送られ、正常モデルの作成（更新）に利用される。
【００５１】
出力部２２ｅは、判定部２２ｄによって異常度が閾値を下回っていると判定された場合には、異常な動作が行われている旨の出力、または、動作を強制終了することを行う。例えば、出力部２２ｅは、ユーザや管理者に対して異常な動作が行われている旨を報知するために異常動作が行われていることをメッセージとして通知する処理や、動作の強制停止する処理を行う。
【００５２】
ここで、図８を用いて、異常検知システム１００の全体の処理を説明する。図８は、第一の実施形態に係る異常検知システムの全体の処理を説明する図である。図８に示すように、正常モデル統合装置１０は、各端末２０Ａ〜２０Ｎから正常モデルおよびスコアを収集し、収集した各端末２０Ａ〜２０Ｎの正常モデルを統合する。そして、正常モデル統合装置１０は、統合した正常モデルを各端末２０Ａ〜２０Ｎに対して送信する。
【００５３】
そして、各端末２０Ａ〜２０Ｎは、ユーザが行った動作をログとして取得し、取得されたログと、正常モデル統合装置１０から受信した正常モデルを用いて、動作の異常度を算出する。そして、各端末２０Ａ〜２０Ｎは、算出した異常度が閾値を下回っているか否かを判定し、異常度が閾値を下回っていると判定した場合には、異常な動作が行われている旨を出力する。
【００５４】
このように、第一の実施形態に係る異常検知システム１００では、正常モデル統合装置１０が、各端末２０Ａ〜２０Ｎの正常モデルを効果的に統合することで、より検知精度が高い異常検知処理を行うことが可能となる。また、端末数が多い環境であっても、特定の装置に集中的な負荷をかけることなく、迅速に異常検知処理を行うことが可能である。
【００５５】
［正常モデル統合装置による処理］
次に、図９を用いて、第一の実施形態に係る正常モデル統合装置１０による処理を説明する。図９は、第一の実施形態に係る正常モデル統合装置における正常モデル統合処理の流れを説明するためのフローチャートである。
【００５６】
図９に示すように、正常モデル統合装置１０の収集部１２ａは、正常モデルを統合する旨の指示を受け付けると（ステップ１０１肯定）、各端末２０の正常モデル・スコアを収集する（ステップ１０２）。例えば、収集部１２ａは、各端末２０で求められた正常モデルとスコアを収集し、正常モデル・スコア記憶部１３ａに格納する。
【００５７】
そして、統合部１２ｂは、各端末２０の正常モデルを統合する（ステップ１０３）。例えば、統合部１２ｂは、収取された各端末の正常モデルを上記（１）式に従って、統合する。そして、送信部１２ｃは、統合された正常モデルを各端末２０へ分配する（ステップ１０４）。このように、統合した正常モデルを各端末２０に送信することで、各端末２０に設定された正常モデルを入れ替えさせる。また、送信部１２ｃが正常モデルを各端末２０に送信した後は、正常モデル・スコア記憶部１３ａに記憶されたスコアをすべて「０」にリセットする。
【００５８】
［端末による処理］
次に、図１０、図１１を用いて、第一の実施形態に係る端末２０による処理を説明する。図１０は、第一の実施形態に係る端末における正常モデル送信処理の流れを説明するためのフローチャートである。図１１は、第一の実施形態に係る端末における異常検知処理の流れを説明するためのフローチャートである。
【００５９】
まず、図１０を用いて、正常モデル送信処理の流れを説明する。図１０に示すように、端末２０の変換部２２ｂは、所定の時間が経過すると（ステップ２０１肯定）、取得部２２aによって取得されたログを特徴ベクトルに変換する（ステップ２０２）。例えば、変換部２２ｂは、予め定められた所定の周期で、取得部２２ａによって取得されたログを、後述する算出部２２ｃの処理に利用するために、特徴ベクトルへの変換を行う。
【００６０】
そして、算出部２２ｃは、特徴ベクトルを基に、正常モデルを作成する（ステップ２０３）。具体的には、算出部２２ｃは、ユーザが所有する端末毎に、ユーザが行う正常な動作（Ｗｅｂアクセス等）をログとして収集し、そのログを用いて、その端末上でのユーザの正常動作の傾向・特徴を表す「正常モデル」を作成する。その後、通信処理部２１は、正常モデル統合装置１０から要求があった場合等に、作成した正常モデルを正常モデル統合装置１０へ送信する（ステップ２０４）。
【００６１】
次に、図１１を用いて、異常検知処理の流れを説明する。図１１に示すように、端末２０の取得部２２ａが端末上での動作をログとして取得すると（ステップ３０１肯定）、変換部２２ｂは、取得したログを特徴ベクトルに変換する（ステップ３０２）。
【００６２】
そして、判定部２２ｄは、特徴ベクトルを用いて異常判定処理を行う（ステップ３０３）。具体的には、判定部２２ｄは、変換部２２ｂによって変換された特徴ベクトルを正常モデルに入力して、異常度を算出し、該異常度が所定の閾値を超えるか否かを判定する。
この結果、判定部２２ｄは、異常度が閾値より小さいか否かを判定する（ステップ３０４）。
【００６３】
この結果、判定部２２ｄが、異常度が閾値より小さいと判定した場合には、出力部２２ｅは、ユーザ・管理者への警告を行い、動作を強制停止する（ステップ３０５）。一方、判定部２２ｄが、異常度が閾値以上であると判定した場合には、そのまま処理を終了する。なお、異常を検知した場合に、ユーザ・管理者への警告を行うことと、動作を強制停止することとを必ずしも両方する必要はなく、ユーザ・管理者への警告を行うこと、または、動作を強制停止することのいずれか一方を行うようにしてもよい。
【００６４】
[第一の実施形態の効果]
上述してきたように、第一の実施形態に係る異常検知システム１００では、正常モデル統合装置１０は、複数の端末２０のそれぞれから、正常モデル・スコアを収集し、収集された複数の正常モデルを統合して統合正常モデルを生成する。そして、正常モデル統合装置１０は、統合された統合正常モデルを複数の端末２０のそれぞれに対して送信する。また、複数の端末２０のそれぞれは、ユーザが行った動作をログとして取得し、取得されたログと、正常モデル統合装置１０から受信した統合正常モデルを用いて、動作の異常度合いを示す異常度を算出し、該異常度が所定の閾値を下回っているか否かを判定する。この結果、端末２０は、異常度が閾値を下回っていると判定された場合には、異常な動作が行われている旨の出力、または、動作を強制終了することを行う。
【００６５】
これにより、第一の実施形態に係る異常検知システム１００では、すべての端末の検知結果を比較することなく、各端末上で異常検知を行うことにより迅速な検知を可能とし、かつログが少ない端末に置いても高精度な異常検知を行うことが可能となる。ここで、図１２および図１３を用いて、従来の異常検知システムについて説明する。図１２および図１３は、従来の異常検知システムを説明する図である。つまり、図１２に例示するように、従来の異常検知システムの一つでは、各端末の異常検知システムで算出された異常度を統合する。そして、ある端末における動作の異常判定のためには、すべての異常検知システムに、その動作ログを入力として与える必要がある。そして、各異常検知システムで判定した異常度を集約し、それらを統合して最終的に判定する。このため、端末数が多い環境においては異常検知に時間的コストを要する。
【００６６】
また、図１３に例示するように、従来の異常検知システムの一つでは、各端末の動作ログが一つの異常検知システムに入力される。そして、一つの異常検知システムにおいて、すべての端末の動作ログを処理するため、異常検知システムへの負荷が大きくなる。
【００６７】
これに対して、第一の実施形態に係る異常検知システム１００では、図１４に示すように、正常モデル統合装置１０が、各端末の異常検知システムの正常モデルを統合し、新たな正常モデルを作成する。作成された正常モデルは、各端末２０に再分配され異常検知に利用される。このように、各端末２０上で異常検知が行われるため、１つの装置に負荷が集中することはなく、また、正常モデルの統合を行うことで、すべての端末２０において、迅速に高精度な異常検知を行うことが可能となる。
【００６８】
また、第一の実施形態に係る異常検知システム１００では、スコアを考慮した正常モデルの統合を行うことで、スコアが低い正常モデルの影響を小さく、スコアが高い正常モデルの影響を大きく受けた新たな正常モデルを自動的に作成することができる。また、ログや特徴ベクトル自身ではなく正常モデルを統合するため、膨大なログの転送、膨大なログからの正常モデル作成にかかるコストを軽減できる。また、異常検知は各端末２０毎に行うため、正常モデル統合装置１０には判定結果の統合等に係るコストはない。
【００６９】
［システム構成等］
上記した第一の実施形態に係る異常検知システム１００では、正常モデル統合装置１０が各端末の正常モデルおよびスコアを収集して正常モデルを統合し、各端末に統合した正常モデルを送信する場合を説明したが、ユーザ所有の端末に正常モデル統合装置１０の機能を具備させてもよい。例えば、図１５に例示するように、異常検知システム１００Ａでは、複数の端末のうちの一つの端末２０Ａに、上述した正常モデル統合装置１０の機能である正常モデル統合機能として、収集部１２ａ、統合部１２ｂおよび送信部１２ｃを具備させる。そして、端末２０Ａは、各端末２０Ｂ〜２０Ｎの正常モデルおよびスコアを収集して正常モデルを統合し、各端末２０Ｂ〜２０Ｎに統合した正常モデルを送信する。
【００７０】
また、図１６に例示するように、複数の端末２００Ａ〜２００Ｎに、上述した正常モデル統合装置１０の機能である正常モデル統合機能として、収集部１２ａ、統合部１２ｂおよび送信部１２ｃを具備させてもよい。この場合には、各端末２００Ａ〜２００Ｎは、自装置以外の端末から正常モデルおよびスコアを収集して正常モデルを統合し、自装置以外の端末に統合した正常モデルを送信する。
【００７１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、収集部１２ａと統合部１２ｂとを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７２】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７３】
［プログラム］
また、上記実施形態において説明した正常モデル統合装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第一の実施形態に係る正常モデル統合装置１０が実行する処理をコンピュータが実行可能な言語で記述したモデル統合プログラムを作成することもできる。この場合、コンピュータがモデル統合プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるモデル統合プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されモデル統合プログラムをコンピュータに読み込ませて実行することにより上記第一の実施形態と同様の処理を実現してもよい。以下に、図２に示した正常モデル統合装置１０と同様の機能を実現するモデル統合プログラムを実行するコンピュータの一例を説明する。
【００７４】
図１７は、モデル統合プログラムを実行するコンピュータ１０００を示す図である。図１７に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００７５】
メモリ１０１０は、図１７に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１７に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図１７に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図１７に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図１７に例示するように、例えばディスプレイ１１３０に接続される。
【００７６】
ここで、図１７に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記のモデル統合プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【００７７】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００７８】
なお、モデル統合プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、モデル統合プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７９】
１０  正常モデル統合装置
１１、２１  通信処理部
１２、２２  制御部
１２ａ  収集部
１２ｂ  統合部
１２ｃ  送信部
１３、２３  記憶部
１３ａ、２３ａ  正常モデル・スコア記憶部
２０、２０Ａ〜２０Ｎ、２００Ａ〜２００Ｎ  端末
２２ａ  取得部
２２ｂ  変換部
２２ｃ  算出部
２２ｄ  判定部
２２ｅ  出力部
３０  ネットワーク
１００、１００Ａ、１００Ｂ  異常検知システム
【図１】
2015108898.tif 000004
【図２】
2015108898.tif 000005
【図３】
2015108898.tif 000006
【図４】
2015108898.tif 000007
【図５】
2015108898.tif 000008
【図６】
2015108898.tif 000009
【図７】
2015108898.tif 000010
【図８】
2015108898.tif 000011
【図９】
2015108898.tif 000012
【図１０】
2015108898.tif 000013
【図１１】
2015108898.tif 000014
【図１２】
2015108898.tif 000015
【図１３】
2015108898.tif 000016
【図１４】
2015108898.tif 000017
【図１５】
2015108898.tif 000018
【図１６】
2015108898.tif 000019
【図１７】
2015108898.tif 000020