(57)【特許請求の範囲】
【請求項１】
管理対象システムの計算機に対するセキュリティ侵害行為を検出するために、前記計算機のログデータを分析するサーバを含むデータ分析システムであって、
前記サーバは、
複数の計算機を含む前記管理対象システムと、前記管理対象システムの前記計算機を監視してイベントを検出してイベントデータとして出力する、アンチウィルスシステム、プロキシシステム、ファイアウォールシステムまたは侵入検知システムの少なくとも１つを含むイベント検出システムとに接続され、
前記管理対象システムの前記計算機からリソース状態計測値の数値データおよびテキストデータを含むログデータを収集してログＤＢに格納し、前記イベント検出システムから前記イベントデータを収集して前記ログデータと関連付けて前記ログＤＢに格納するデータ収集部と、
前記ログデータのうちの前記数値データおよびテキストデータを、それぞれ、ルール情報に基づいて、分析することにより、分析対象として絞り込むログデータを判定する分析対象判定部と、
分析者の操作に基づいて、前記ログデータのうち前記分析対象として絞り込まれたログデータを、前記ログデータに関連付けられた前記イベントデータを加えて、前記セキュリティ侵害行為を検出するために分析処理し、分析結果である分析データを出力するデータ分析部と、
前記分析者の操作に基づいて、前記ルール情報のルールを設定する設定部と、を備え、
前記分析対象判定部は、
前記ログデータのうちの前記数値データおよびテキストデータを用いて、判定対象の計算機及び時間帯における特徴量を計算または設定する処理と、
前記ログデータのうちの前記数値データおよびテキストデータを用いて、比較対象の計算機及び時間帯における特徴量を基準値として計算または設定する処理と、
前記特徴量と前記基準値とを比較し、前記ルール情報の前記ルールを満たす場合、前記セキュリティ侵害行為が疑われる異常状態として判定する処理と、
前記異常状態に該当する前記計算機、時間帯、及びログデータを、前記分析対象として決定する処理と、
前記分析対象として絞り込んだ前記計算機、時間帯、及びログデータの識別情報を含む、分析対象情報を、分析ＤＢに格納し、前記分析対象情報を含む画面を前記分析者に対して表示する処理と、を行い、
前記リソース状態計測値の前記数値データは、ＣＰＵ使用率、メモリ使用量、ディスク使用量、またはサーバプロセス数、のうち少なくとも１つを含み、
前記ルール情報は、前記特徴量と前記基準値との偏差が閾値を超える場合に前記異常状態と判定する条件を含む前記ルールを有し、
前記データ分析部は、前記分析ＤＢの前記分析対象情報を参照して、前記分析対象として絞り込まれた前記ログデータを読み出して前記分析処理を行い、
前記サーバは、前記複数の計算機の各計算機間で、負荷またはリソース状態に偏りがある場合に、前記ルール情報の前記ルールに対し、前記各計算機の負荷またはリソース状態を平準化して比較可能にするための補正係数を設定する、
データ分析システム。
【請求項２】
請求項１記載のデータ分析システムにおいて、
前記分析対象判定部は、
前記判定対象の第１の計算機及び現在時間帯に対応する第１の時間帯における特徴量を計算または設定し、
前記比較対象の１台以上の第２の計算機及び前記第１の時間帯における特徴量の統計値を前記基準値として計算または設定する、
データ分析システム。
【請求項３】
請求項１記載のデータ分析システムにおいて、
前記分析対象判定部は、
前記判定対象の第１の計算機及び現在時間帯に対応する第１の時間帯における特徴量を計算または設定し、
前記比較対象の前記第１の計算機及び１つ以上の過去時間帯に対応する第２の時間帯における特徴量の統計値を前記基準値として計算または設定する、
データ分析システム。
【請求項４】
請求項１記載のデータ分析システムにおいて、
前記分析対象判定部は、前記判定対象の計算機及び時間帯における前記数値データをそのまま前記特徴量として設定し、前記比較対象の前記管理対象システムの１台以上の計算機及び時間帯における前記数値データの平均値を計算して前記基準値として設定する、
データ分析システム。
【請求項５】
請求項１記載のデータ分析システムにおいて、
前記分析対象判定部は、前記判定対象の計算機及び時間帯における前記数値データにおける時系列の複数の数値における変化量を計算し、当該変化量と閾値との比較に基づいて、当該変化量が大きい箇所を抽出し、当該箇所の数値を前記特徴量として設定する、
データ分析システム。
【請求項６】
請求項１記載のデータ分析システムにおいて、
前記管理対象システムの前記複数の計算機に、前記複数の計算機の負荷を分散して各計算機のリソース状態を平準化するための負荷分散装置が接続されており、
前記サーバは、前記負荷分散装置から、負荷分散状態を示す負荷分散情報を取得し、前記負荷分散情報を用いて前記補正係数を設定する、
データ分析システム。
【請求項７】
請求項１記載のデータ分析システムにおいて、
前記サーバは、前記分析対象として絞り込まれたログデータについて、前記異常状態の疑いに応じて、分析対象の順序または優先度を決定し、前記順序または優先度に応じて並び替えたログデータを前記画面に表示する、
データ分析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関する。また、本発明は、計算機システムのセキュリティ侵害対策のためのデータ分析技術に関する。
【背景技術】
【０００２】
ネットワーク上の犯罪行為とされるサイバー攻撃が増加している。サイバー攻撃によるセキュリティ侵害行為には、マルウェア等を用いた不正アクセスによる侵入行為や、サービス妨害攻撃等が存在する。セキュリティ侵害行為は、手法が洗練され、手口が巧妙になり、攻撃用ツールが配布されていること等から、完全な防止は非常に困難である。
【０００３】
セキュリティ侵害行為に対する一般的な対策技術としては、アンチウィルス・ソフトウェア、ファイアウォールサーバ、プロキシサーバ、侵入検知システム等、各種のセキュリティサービスやセキュリティ機器が挙げられる。このような技術は、計算機システムの入口対策であるが、入口対策だけでは限界がある。
【０００４】
現実的な対策としては、計算機システムへの攻撃等の侵入をある程度までは不可避として許容しつつも、実被害を最小限に抑えるように、計算機のログデータの分析等に基づいて攻撃等を検出して対策することが必要及び有効である。
【０００５】
計算機システムのセキュリティ侵害対策のためのデータ分析に関する先行技術例として、特許文献１（特開２００６−２８５９８３号公報）や非特許文献１が挙げられる。
【０００６】
特許文献１には、計算機をマルウェアから保護する方法として、イベント検出システムを用いて計算機から疑わしいイベントを観測し、そのイベントが閾値を満たす場合、制限的セキュリティポリシーを適用する旨が記載されている。
【０００７】
非特許文献１には、計算機のＣＰＵ使用率等のリソース状態をハードウェア及びソフトウェアのパフォーマンスカウンタにより測定し、測定した数値データを用いてマルウェアを検知する旨や、多数の数値データの中から検知のために有効性の高いパラメータを絞り込む旨が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２８５９８３号公報
【非特許文献】
【０００９】
【非特許文献１】The 17th International Symposium on Research in Attacks, Intrusions, and Defenses, 2014/11/18, "Unsupervised Anomaly-Based Malware Detection Using Hardware Features", Adrian Tang, Simha Sethumadhavan, and Salvatore J. Stolfo/Columbia University, New York, USA
【発明の概要】
【発明が解決しようとする課題】
【００１０】
計算機システムのセキュリティ侵害対策において、実被害を最小限に抑えるためには、迅速に攻撃やマルウェア等を検出する必要がある。しかし、データ分析に基づいて攻撃等を検出する従来技術は、検出速度等の点で課題がある。
【００１１】
特許文献１のような従来技術は、計算機及びセキュリティサービス等から得られる大量の多種多様なログデータを分析する。この分析には、分析者及び計算機を含め、多くの手間、時間、資源を必要とし、対象ログデータ量が多いほど、迅速な分析及び検出が難しい。
【００１２】
また、特許文献１のような従来技術は、予め、疑わしいイベントまたはそれに対応する閾値等を定義しておき、その定義に基づいて攻撃等を検出するので、未知の攻撃等に対策することが難しく、検出精度の点で課題がある。
【００１３】
また、非特許文献１のような従来技術は、リソース状態の計測値である数値データからマルウェア等に特有の特徴を求めることが難しいため、検出精度の点で課題がある。
【００１４】
本発明の目的は、計算機システムのセキュリティ侵害対策のためにデータ分析に基づいて攻撃等を検出する技術に関して、分析に必要な手間、時間、資源を少なくでき、迅速で効率的な分析及び検出ができ、未知の攻撃等を含め、検出精度を高めることができる技術を提供することである。
【課題を解決するための手段】
【００１５】
本発明のうち代表的な実施の形態は、データ分析システムであって、以下に示す構成を有することを特徴とする。
【００１６】
一実施の形態のデータ分析システムは、管理対象システムの計算機に対するセキュリティ侵害行為を検出するために、前記計算機から収集されるログデータを分析するデータ分析システムであって、前記管理対象システムの計算機から当該計算機のリソース状態計測値の数値データを含むログデータを収集してログＤＢに格納するデータ収集部と、前記ログデータのうちの前記数値データを、ルール情報に基づいて、分析することにより、分析対象として絞り込むログデータを判定する分析対象判定部と、分析者の操作に基づいて、前記ログデータのうち前記分析対象として絞り込まれたログデータを、前記セキュリティ侵害行為を検出するために分析処理し、分析結果である分析データを出力するデータ分析部と、を備え、前記分析対象判定部は、前記ログデータのうちの前記数値データを用いて、判定対象の計算機及び時間帯における特徴量を計算または設定する処理と、前記ログデータのうちの前記数値データを用いて、比較対象の計算機及び時間帯における特徴量を基準値として計算または設定する処理と、前記特徴量と前記基準値とを比較し、前記ルール情報のルールを満たす場合、前記セキュリティ侵害行為が疑われる異常状態として判定する処理と、前記異常状態に該当する前記計算機、時間帯、及びログデータを、前記分析対象として決定する処理と、を行う。
【発明の効果】
【００１７】
本発明のうち代表的な実施の形態によれば、計算機システムのセキュリティ侵害対策のためにデータ分析に基づいて攻撃等を検出する技術に関して、分析に必要な手間、時間、資源を少なくでき、迅速で効率的な分析及び検出ができ、未知の攻撃等を含め、検出精度を高めることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１のデータ分析システムを含む、セキュリティ侵害行為検出システムの構成を示す図である。
【図２】実施の形態１のデータ分析システムを含む、各システムの構成を示す図である。
【図３】実施の形態１のデータ分析システムにおける、処理フローを示す図である。
【図４】実施の形態１における、ルール情報の構成例を示す図である。
【図５】実施の形態１における、ログデータの数値データの例を示す図である。
【図６】数値データのグラフ表示の第１の例を示す図である。
【図７】数値データのグラフ表示の第２の例を示す図である。
【図８】数値データのグラフ表示の第３の例を示す図である。
【図９】数値データのグラフ表示の第４の例を示す図である。
【図１０】実施の形態１のデータ分析システムにおける、画面例を示す図である。
【図１１】実施の形態１における、複数の数値データの比較の例を示す図である。
【図１２】本発明の実施の形態２のデータ分析システムを含む、セキュリティ侵害行為検出システムの構成を示す図である。
【図１３】本発明の他の実施の形態のデータ分析システムにおける、ルール情報の構成例を示す図である。
【図１４】他の実施の形態における、ログデータのテキストデータの例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００２０】
（実施の形態１）
図１〜図１１を用いて、本発明の実施の形態１のデータ分析システムについて説明する。
【００２１】
［セキュリティ侵害行為検出システム］
図１は、実施の形態１のデータ分析システムを含むセキュリティ侵害行為検出システムの構成を示す。図１では、システム全体をセキュリティ侵害行為検出システムとした。セキュリティ侵害行為検出システムは、ネットワーク９に接続される、データ分析システム１、管理対象システム２、及びイベント検出システム３を有する。
【００２２】
ネットワーク９は、インターネットやＬＡＮを含む通信網である。データ分析システム１、管理対象システム２、及びイベント検出システム３は、ネットワーク９上の通信を介して相互接続される。
【００２３】
管理対象システム２は、管理対象計算機群として、複数の計算機２０を含む。管理対象システム２は、例えば企業ＬＡＮやＷｅｂサービス等のシステムが挙げられる。計算機２０は、一般的なＰＣやサーバが挙げられる。計算機２０は、管理対象システム２に応じた様々なシステムや機能を構成する。各計算機２０は、ネットワーク９に接続される。計算機２０は、データ分析システム１及びイベント検出システム３によりセキュリティ侵害行為の発生を監視してセキュリティ侵害行為を検出する対象である。
【００２４】
計算機２０は、グループを構成していてもよい。グループは、１つ以上の計算機２０を、同一用途等の特定の要件により１つにまとめた単位である。複数の計算機２０は、図１の例では、グループ４１を構成する複数（ｍ）の計算機２０である計算機２１１〜２１ｍと、グループ４２を構成する複数（ｎ）の計算機２０である計算機２２１〜２２ｎと、個別の計算機２０である計算機２３１等と、を有する。
【００２５】
グループ４１は、Ｗｅｂサーバグループであり、Ｗｅｂサーバの役割を持つ複数の計算機２０である計算機２１１〜２１ｍにより構成されている。グループ４２は、ＤＢサーバグループであり、ＤＢサーバの役割を持つ複数の計算機２０である計算機２２１〜２２ｎにより構成されている。
【００２６】
なお、計算機２０毎の管理上のＩＤとして、計算機２１１をＣ１１とし、計算機２１２をＣ１２等とする。グループの管理上のＩＤとして、グループ４１をＧ１とし、グループ４２をＧ２とする。
【００２７】
各計算機２０は、ＣＰＵ、メモリ、ディスク、通信インタフェース装置、入出力インタフェース装置、バス等のハードウェア、及び、ＯＳやサーバプログラム等のソフトウェアを備える。
【００２８】
イベント検出システム３は、管理対象システム２の計算機２０を対象として入口対策を行う、各種のセキュリティサービス及びセキュリティ機器等を含む。イベント検出システム３は、管理対象システム２の通信ログ等を監視してイベントを検出する機能を有する。図１の例では、イベント検出システム３は、アンチウイルスシステム３１、プロキシシステム３２、ファイアウォールシステム３３、及び侵入検知システム３４を含む。
【００２９】
アンチウイルスシステム３１は、サーバ装置やプログラム及び知識ＤＢ等の一般的なソフトウェア及びハードウェアにより構成されるシステムである。アンチウイルスシステム３１は、コンピュータウイルスやマルウェア等の悪意あるプログラムが計算機２０に侵入することを検知する処理や、計算機２０に侵入した悪意あるプログラムを駆除する処理等を行う。アンチウイルスシステム３１の構成要素は、計算機２０の内部に配置されてもよいし、外部に配置されてもよい。
【００３０】
プロキシシステム３２は、同様にサーバ装置やプログラム等により構成される。プロキシシステム３２は、企業等の内部ネットワークと、インターネット等の外部ネットワークとの境界に配置される。プロキシシステム３２は、内部ネットワークから外部ネットワークに接続する際、高速なアクセスや安全な通信を提供するための中継を行う。
【００３１】
ファイアウォールシステム３３は、同様にサーバ装置やプログラム等により構成される。ファイアウォールシステム３３は、内部ネットワークと外部ネットワークとの境界、または、企業内のネットワーク間の境界に配置される。ファイアウォールシステム３３は、内部から外部への通信、及び外部から内部への通信を制御し、不正な通信のブロックや、内部ネットワークの安全維持等を行う。
【００３２】
侵入検知システム３４は、同様にサーバ装置やプログラム等により構成される。侵入検知システム３４は、侵入検知システム（Intrusion Detection System）または侵入防止システム（Intrusion Prevention System）である。侵入検知システム３４は、ネットワーク上の通信等を監視し、悪意ある攻撃者によるネットワークへの不正侵入等を検知または防止する。
【００３３】
データ分析システム１は、イベント検出システム３と連係して、管理対象システム２に対するセキュリティ侵害行為をデータ分析に基づいて検出するシステムである。データ分析システム１は、サーバシステム１０等のハードウェア及びソフトウェアにより構成される。データ分析システム１であるサーバシステム１０は、データ収集部１１、分析対象判定部１２、データ分析部１３等を有し、ログＤＢ５０、分析ＤＢ６０、ルール情報７０等を有する。
【００３４】
データ収集部１１は、分析候補となるログデータを収集し、ログＤＢ５０に格納する。収集されるログデータは、分析対象判定部１２での処理対象となる数値データを含む。データ収集部１１は、管理対象システム２の管理対象計算機群から、ログデータ１０１を収集し、ログＤＢ５０に格納する。ログデータ１０１は、計算機２０のリソース状態の計測値である数値データや、テキストデータを含む。また、データ収集部１１は、イベント検出システム３から、ログデータ１０２を収集し、ログＤＢ５０に格納する。ログデータ１０２は、イベント検出システム３で検出したイベントのイベントデータを含む。
【００３５】
分析対象判定部１２は、分析候補から分析対象を判定して絞り込む処理を行う。分析対象判定部１２は、ログＤＢ５０のログデータのうちのリソース状態測定値に対応する数値データについて、ルール情報７０に基づいて、正常または異常を判定する処理を行う。分析対象判定部１２は、異常と判定した数値データに関係付けられた計算機２０及び時間帯を、分析対象として絞り込む。分析対象判定部１２は、数値データから特徴量や基準値を計算または設定し、ルール情報７０の閾値等と比較して、異常か否かを判定する。異常とは、攻撃やマルウェア等の侵入が疑われる状態を指す。分析対象判定部１２は、分析対象として絞り込む計算機２０、時間帯の情報、及びそれに関係付けられたログデータの識別情報を含む、分析対象情報を、分析ＤＢ６０に格納する。また、分析対象判定部１２は、分析対象情報を含む情報を画面に表示する。
【００３６】
データ分析部１３は、ユーザである分析者の操作に基づいて、ログＤＢ５０のログデータのうち、分析対象として絞り込まれたログデータを分析し、分析結果である分析データを分析ＤＢ６０に保存する。また、データ分析部１３は、分析データを含む情報を画面に表示する。
【００３７】
［データ分析システム］
図２は、データ分析システム１等の各システムの構成を示す。管理対象システム２の各計算機２０、例えばグループ４１の計算機２１１は、リソース状態計測部２００を有する。リソース状態計測部２００は、計算機２０のＣＰＵ使用率やメモリ使用量等のリソース状態を計測し、そのリソース状態計測値２０１を含むログデータ１０１を出力する。
【００３８】
リソース状態計測部２００、及びそのリソース状態計測値２０１を含むログデータ１０１の送受信手段としては、一般的な計算機やＯＳに備えている既存のパフォーマンスカウンタ、リソースモニタ、あるいは所定のコマンドシステム等を用いることができる。
【００３９】
イベント検出システム３の各セキュリティサービス、例えばアンチウィルスシステム３１は、イベント検出部３００を含む。イベント検出部３００は、管理対象システム２の計算機２０を監視してイベントを検出する。イベント検出部３００は、例えば、計算機２１１がネットワーク９へアクセスしたことや、ネットワーク９からプログラムをダウンロードしたこと等をイベントとして検出し、そのイベントのイベントデータ２０２を記録する。イベント検出部３００は、イベントデータ２０２を含むログデータ１０２を出力する。
【００４０】
データ分析システム１は、データ収集部１１、分析対象判定部１２、データ分析部１３、入出力部１４、設定部１５を有する。サーバシステム１０は、所定のハードウェアに基づいたソフトウェアプログラム処理により、データ収集部１１等の各処理部を実現する。ログＤＢ５０は、ログデータ５１及びログデータ５２を格納する。分析ＤＢ６０は、対象情報６１及び分析データ６２を格納する。
【００４１】
データ収集部１１は、管理対象システム２の各計算機２０から、ログデータ１０１を、ネットワーク９を通じて収集及び取得し、ログＤＢ５０にログデータ５１として格納する。また、データ収集部１１は、イベント検出システム３の各セキュリティサービスから、ログデータ１０２を、ネットワーク９を通じて収集及び取得し、ログＤＢ５０に、ログデータ５１と関連付けてログデータ５２として格納する。
【００４２】
分析対象判定部１２は、ログＤＢ５０のログデータ５１及びログデータ５２のうち、リソース状態計測値の数値データを対象に、ルール情報７０に記載のルールを用いて、異常に該当する計算機２０及び時間帯を判定する。分析対象判定部１２は、異常と判定した計算機２０及び時間帯を、分析対象とし、その分析対象の情報を、対象情報６１として、分析ＤＢ６０に格納する。対象情報６１は、分析対象の計算機２０の識別情報、時間帯の情報、及びそれらに関係付けられるログデータの識別情報、等を含む。
【００４３】
データ分析部１３は、分析者の操作に基づいて、ログＤＢ５０のログデータを分析する処理を行う。データ分析部１３は、ログＤＢ５０のログデータ５１及びログデータ５２の全体のうち、対象情報６１に従い、分析対象として絞り込まれたログデータを分析し、その分析結果である分析データ６２を、分析ＤＢ６０に格納する。分析対象のログデータは、ログデータ５１及びログデータ５２のうち、異常と判定された計算機２０及び時間帯に該当するログデータである。このうちログデータ５２には、疑わしいイベントのイベントデータを含む。
【００４４】
分析対象判定部１２により、ログＤＢ５０の全体のログデータのうち、対象情報６１で示す分析対象のログデータに絞り込まれている。分析対象のログデータは、全体のログデータ量に対してデータ量が少なくなっている。分析者は、分析対象である疑わしい計算機２０及び時間帯のログデータを分析することにより、攻撃やマルウェア等を効率的に検出することができる。
【００４５】
なお、分析者は、対象情報６１で示す分析対象のログデータだけでなく、必要に応じて、ログＤＢ５０内の他のログデータを参照して分析することもできる。この場合、参照するデータ量が増える分、分析に必要な時間等も増えるが、その代わり、より詳しい分析が可能である。
【００４６】
入出力部１４は、ユーザである分析者の操作に基づいて、データや情報の入力や出力の処理を行う。入出力部１４は、ユーザインタフェースとなる画面を提供する。分析者は、端末からサーバシステム１０にアクセスし、入出力部１４により提供される画面を端末で表示する。分析者は、その画面で、データ分析システム１に係わる各種の情報の確認や設定、データ分析作業、等が可能である。
【００４７】
設定部１５は、入出力部１４を通じたユーザの操作に基づいて、ルール情報７０を含む設定情報を設定する処理を行う。ユーザは、画面で、ルール情報７０の内容を確認し、個別のルールの設定が可能である。ルール情報７０は、分析対象判定部１２での分析対象判定処理の際に参照するルールであるデータ分析ルールを含む設定情報である。
【００４８】
［処理フロー］
図３は、実施の形態１のデータ分析システムにおける処理フローを示す。以下、図３のステップＳ１〜Ｓ９を順に説明する。
【００４９】
（Ｓ１）  Ｓ１では、予め、ルール情報７０等の設定が行われる。ユーザは、設定部１５を用いて、ルール情報７０の内容である各ルールの設定や確認を行う。Ｓ１の後、Ｓ２及びＳ３の処理が並列で所定のタイミング毎に実行される。
【００５０】
なお、ルール情報７０としては、予め事業者によりデフォルトのルール情報が設定され提供されてもよい。また、事業者のサービスとして、ネットワーク９を通じて、最新のルール情報が提供され、ルール情報７０が自動更新されるようにしてもよい。
【００５１】
（Ｓ２）  Ｓ２では、データ収集部１１により、ネットワーク９を通じて、管理対象システム２の管理対象計算機群の複数の各々の計算機２０から、ログデータ１０１を収集し、ログデータ５１としてログＤＢ５０に格納する。ログデータ１０１は、図２のリソース状態計測値２０１の数値データや、テキストデータを含む。
【００５２】
（Ｓ３）  また、データ収集部１１は、イベント検出システム３の各セキュリティサービスから、ログデータ１０２を収集し、ログデータ５２としてログＤＢ５０に格納する。ログデータ１０２は、図２のイベントデータ２０２を含む。
【００５３】
Ｓ２及びＳ３で、データ収集部１１は、収集タイミングに応じた日時、時間帯、及び計算機２０毎のログデータを、ログＤＢ５０に格納する。
【００５４】
（Ｓ４）  分析対象判定部１２は、Ｓ３まででログＤＢ５０に収集されたログデータのうち、判定対象として着目する計算機２０のログデータにおける現在の時間帯のリソース状態計測値に対応した数値データから、判定用の特徴量を計算または設定する。分析対象判定部１２は、判定対象の計算機２０の時系列の数値データのうち、現在データ、即ち最新の収集タイミングで取得した時間帯の数値データを、判定用の特徴量とする。
【００５５】
Ｓ４の特徴量の計算または設定の方式やその詳細は、各種可能である。実施の形態１では、第１の方式として、分析対象判定部１２は、判定対象として着目する計算機２０の時系列の数値データそのものを、その計算機２０の特徴量として設定する。分析対象判定部１２は、例えば、ＣＰＵ使用率、メモリ使用量、ディスク使用量、ｈｔｔｐｄプロセス数、といった数値データを、特徴量とする。
【００５６】
他の実施の形態で、第２の方式として、分析対象判定部１２は、数値データに所定の演算を適用して特徴量を算出してもよい。第２の方式の例は以下である。分析対象判定部１２は、判定対象として着目する計算機２０の時系列の数値データにおいて、時点毎に変化量を計算し、変化量が所定の閾値を超える箇所を抽出する。即ち、分析対象判定部１２は、数値データのグラフにおいて、数値が急に変化している箇所や、他の部分と比べて数値の変化が目立つ部分等を抽出する。分析対象判定部１２は、抽出した数値データを特徴量とする。
【００５７】
（Ｓ５）  また、分析対象判定部１２は、Ｓ３まででログＤＢ５０に収集されたログデータのうち、比較対象として着目する１つ以上の計算機２０のリソース状態計測値に対応した数値データから、判定用の基準値とする特徴量を計算または設定する。
【００５８】
Ｓ５の基準値の計算または設定の方式や詳細は、各種が可能である。実施の形態１では、第１の方式として、複数の計算機２０間で、現在の時間帯の数値データを比較し、第２の方式として、同一の計算機２０内で現在の時間帯と過去の時間帯とで数値データを比較する。
【００５９】
第１の方式の例は以下である。分析対象判定部１２は、判定対象として着目する計算機２０、例えば計算機２１１に対して、比較対象とする複数の計算機２０、例えばグループＧ１の計算機２１１〜２１ｍの各々における、現在の時間帯の数値データから、平均等の統計値を計算し、その統計値を、比較対象の計算機２０における基準値の特徴量とする。
【００６０】
分析対象判定部１２は、例えばＷｅｂサーバグループに対応したグループ４１の計算機２１１〜２１ｍについて、ＣＰＵ使用率の平均値、メモリ使用量の平均値、ディスク使用量の平均値、ｈｔｔｐｄプロセス数の平均値、といった数値データの平均値を計算し、それぞれを基準値とする。
【００６１】
なお、第１の方式で、比較対象とする複数の計算機２０は、管理対象の全ての計算機２０としてもよいし、特定のグループの計算機２０や、任意に指定した計算機２０としてもよい。この定義は、ルール情報７０で設定可能である。また、比較対象とする１つ以上の計算機２０については、判定対象の計算機２０を含める場合と含めない場合との両方が可能である。この定義は、ルール情報７０で設定可能である。実施の形態１では、ルールに応じて、前者のように、比較対象の計算機２０に判定対象の計算機２０を含める定義とする。例えば、判定対象が計算機２１１であり、比較対象がグループＧ１であり、比較対象のグループＧ１の計算機２１１〜２１ｍにおける平均値等が計算される。後者の定義とする場合、判定対象の計算機２１１を除く、比較対象のグループＧ１の計算機２１２〜２１ｍにおける平均値等が計算される。
【００６２】
第２の方式の例は以下である。分析対象判定部１２は、判定対象として着目する計算機２０のログデータにおける、判定対象とする現在の時間帯の数値データに対して、過去の時間帯の数値データを比較対象として参照する。分析対象判定部１２は、比較対象とする過去の１つ以上の時間帯の数値データから、平均等の統計値を計算し、その統計値を、基準値の特徴量とする。
【００６３】
分析対象判定部１２は、例えば判定対象の計算機２１１について、現在の時間帯の数値データとして、月曜８時０分から１０分までの時間帯のＣＰＵ使用率を、判定対象の特徴量とする。分析対象判定部１２は、これに対し、比較対象である過去の時間帯の数値データとして、過去１ヶ月における月曜８時０分から１０分までの時間帯のＣＰＵ使用率を参照し、それらの平均値を、基準値の特徴量とする。
【００６４】
なお、第２の方式で、判定対象とする時間帯のログデータを、比較対象とする時間帯のログデータの中に含める場合と含めない場合との両方が可能である。この定義は、ルール情報７０で設定可能である。実施の形態１では、ルールに応じて、後者のように、比較対象の時間帯に判定対象の時間帯を含めない定義とする。
【００６５】
基準値として平均値を用いる場合、平均値をμとし、ある時間帯の複数（ｋ）の各計算機２０の数値データをＸ１，Ｘ２，……，Ｘｋとすると、μ＝（Ｘ１＋Ｘ２＋……＋Ｘｋ）／ｋである。
【００６６】
特徴量の計算及び判定等の方式としては、上記例に限らず、各種の方式が適用可能である。例えば非特許文献１に記載のフィッシャースコアによる有効性の高いパラメータの絞り込み、線形補正による数値データの補正、等の方式も適用可能である。
【００６７】
（Ｓ６）  分析対象判定部１２は、分析対象判定処理のために、ルール情報７０から、１つ以上のルールを参照する。実施の形態１では、ルール情報７０に記載の全てのルールを適用する。ルール情報７０の内容例は後述の図４で示す。ルール情報７０のルールは、判定対象の特徴量や比較対象の基準値に合わせて、閾値等の条件が設定されている。ルールの例は、比較対象の基準値に対する、判定対象の特徴量の偏差をみて、その偏差が所定の閾値を超えるかどうか、が挙げられる。超える場合には異常と判定される。偏差は、母集団に属する数値と母集団の平均値との差である。閾値の例としては、比較対象の数値群における標準偏差が挙げられる。判定用の閾値等の条件は、ルール情報７０で設定可能であり、各種が適用可能である。
【００６８】
なお、特徴量である数値データをＸ、平均をμ、偏差を（Ｘ−μ）、分散をσ２、標準偏差をσとする。分散（σ２）は、偏差の２乗値の合計を数値データ個数（ｋ）で割った値であり、σ２＝Σ（Ｘ−μ）２／ｋである。
【００６９】
第１の方式の例として、判定対象の計算機２１１の現在の時間帯の特徴量であるＣＰＵ使用率をＸ１とする。比較対象のグループＧ１の計算機２１１〜２１ｍの同じ時間帯の基準値である、ＣＰＵ使用率の平均値をμ１とする。比較対象のグループＧ１におけるＣＰＵ使用率の標準偏差をσ１とする。条件は、偏差（Ｘ１−μ１）が、閾値である標準偏差（σ１）を超えるかどうか、即ち、（Ｘ１−μ１）＞σ１である。
【００７０】
第２の方式の例として、判定対象の計算機２１１の現在の時間帯（図１１のＴ１）の特徴量であるＣＰＵ使用率をＸ１とする。同じ計算機２１１の比較対象の基準値である、複数の過去の時間帯（図１１のＴ２〜Ｔｐ）のＣＰＵ使用率の平均値をμ２とする。比較対象における標準偏差をσ２とする。条件は、偏差（Ｘ１−μ２）が、閾値である標準偏差（σ２）を超えるかどうか、即ち、（Ｘ１−μ２）＞σ２である。
【００７１】
（Ｓ７）  分析対象判定部１２は、Ｓ４で得た判定対象の特徴量と、Ｓ５で得た比較対象の基準値である特徴量と、Ｓ６で得たルールにおける閾値等の条件と、を参照し、それらを比較して異常か否かを判定する。分析対象判定部１２は、判定対象の計算機２０及び時間帯の特徴量が、比較対象の計算機２０及び時間帯の基準値である特徴量に対して、条件を満たすかどうかにより、判定対象が異常か否かを判定する。分析対象判定部１２は、例えば、Ｓ４の特徴量とＳ５の基準値である平均値との偏差が、Ｓ６の閾値である標準偏差を超える場合、ルールの条件を満たすと判定する。その結果、分析対象判定部１２は、Ｓ４の判定対象の計算機２０及び時間帯のログデータを異常状態と判定する。
【００７２】
Ｓ７の判定の結果、ルール情報７０のうちのいずれかのルールを満たし、異常に該当するものがある場合（Ｓ７−Ｙ）、Ｓ８へ進み、いずれのルールも満たさず、異常に該当するものが無い場合（Ｓ７−Ｎ）、図３の処理を終了する。
【００７３】
（Ｓ８）  分析対象判定部１２は、Ｓ７で異常と判定した計算機２０及び時間帯、及びそれに関係付けられるログデータを、分析対象として決定し、その分析対象の情報を含む対象情報６１を分析ＤＢ６０に格納する。また、分析対象判定部１２は、その対象情報６１を含む情報を、入出力部１４の処理を通じて、ユーザが見る画面に表示させる。
【００７４】
（Ｓ９）  次に、データ分析部１３は、Ｓ８で決定した対象情報６１に従い、分析対象のログデータを決定する。データ分析部１３は、対象情報６１で指し示される分析対象のログデータを、ログＤＢ５０から読み出す。データ分析部１３は、画面での分析者の操作に基づいて、その分析対象のログデータの分析処理を行い、その分析結果である分析データ６２を分析ＤＢ６０に格納する。データ分析部１３は、分析結果を含む情報を、入出力部１４を通じて画面に表示する。
【００７５】
分析者は、分析対象として絞り込まれた特定の計算機及び時間帯のログデータと、それに対応したイベントデータを含むログデータとを併せて分析を行い、攻撃やマルウェア等、何らかのセキュリティ侵害行為の形跡が無いかどうか等を分析する。その結果、セキュリティ侵害行為を検出することができる。
【００７６】
なお、Ｓ９の分析の方式としては、公知の各種の分析の方式が適用可能である。例えば分析者が関連するログを直接参照する方式、一般的なルールベースの分析の方式、複数のセキュリティサービス等のログを用いた相関分析の方式、等が適用可能である。
【００７７】
Ｓ７及びＳ８の結果、例として、計算機２１１で、日時「2015/01/10 10:05:00」に対応した時間帯について、異常と判定され、即ち何らかの攻撃等が発生した疑いがあると判定される。よって、Ｓ９で、分析者は、管理対象計算機群やイベント検出システム３から取得した膨大な全てのログデータを分析するのではなく、Ｓ８で絞り込まれた特定の計算機２１１及び時間帯に対応した分析対象のログデータを分析する。このログデータは、特定の計算機２１１に関わるログやイベントを含む。これにより、分析者は、効率的にセキュリティ侵害行為を検出できる。Ｓ９の後、図３の処理を終了する。
【００７８】
［ルール情報］
図４は、実施の形態１のデータ分析システムにおける、ルール情報７０の構成例を示す。図４のルール情報の表は、列として、「ＩＤ」、「ルール名称」、「条件」、「判定対象及び期間」、「比較対象及び期間」を有する。「ＩＤ」は、ルールを識別する一意の番号を示す。「ルール名称」は、ルールの名称を示す。「条件」は、当該ルールでの判定用の条件を示し、条件として閾値等を含む。
【００７９】
「判定対象及び期間」は、判定対象の計算機２０及び時間帯を定義する情報を示す。「比較対象及び期間」は、比較対象の計算機２０及び時間帯を定義する情報を示す。それぞれの「期間」は、当該ルールで適用する、判定対象の特徴量、及び比較対象の基準値とする特徴量を計算または設定するための、数値データをサンプリングする期間等を定義する情報を示す。
【００８０】
ＩＤ＝１〜３で示す行は、想定されるマルウェアや攻撃毎に定義されるルールの例である。ＩＤ＝１の「マルウェアＡ」のルールは、判定対象の計算機２０として、管理対象システム２の全ての計算機２０における各々の計算機２０毎とする。また、判定対象の時間帯は、計算機２０毎に現在の時間帯である。現在の時間帯とは、最新の収集タイミングに対応した最新の時間帯である。
【００８１】
判定対象の特徴量は、判定対象の計算機２０及び時間帯における時系列の数値データである。比較対象の計算機２０は、判定対象と同一の計算機２０である。比較対象の時間帯は、同一の計算機２０における過去の時間帯である。過去の時間帯は、特に、直近１ヶ月の期間における、現在時間帯と同一曜日の同一時間帯である。比較対象の基準値とする特徴量は、比較対象の過去の時間帯の数値データの平均値である。
【００８２】
ＩＤ＝１の条件は、「＊￥ＣＵ＋１０％  ＡＮＤ  ＊￥ＭＵ＋１０％  ＡＮＤ  ＊￥ＤＵ＋１０％」である。“＊￥”は、任意の１台の計算機２０を示す。“ＣＵ”は、ＣＰＵ使用率を示す。“＊￥ＣＵ”は、任意の１台の計算機２０のＣＰＵ使用率を示す。「＋１０％」は閾値を示す。「＊￥ＣＵ＋１０％」は、判定対象の計算機２０の現在時間帯のＣＰＵ使用率が、比較対象の基準値である過去時間帯のＣＰＵ使用率の平均値に対して、プラス１０％の閾値を超える、という条件を示す。「＊￥ＭＵ＋１０％」は、同様に、メモリ使用量に関する条件を示す。「＊￥ＤＵ＋１０％」は、同様に、ディスク使用量に関する条件を示す。ＩＤ＝１の条件は、リソース状態計測値の種類毎の３つの条件のＡＮＤ（論理積）で定義されている。ＩＤ＝１の条件を満たす場合、判定対象の計算機２０及び時間帯は、異常と判定される。
【００８３】
ＩＤ＝２の「マルウェアＢ」のルールは、「マルウェアＡ」のルールと同様の判定対象や比較対象とし、条件の閾値が異なる例を示している。条件は、「＊￥ＣＵ＋５％  ＡＮＤ  ＊￥ＭＵ＋５％  ＡＮＤ  ＊￥ＤＵ＋２０％」である。
【００８４】
ＩＤ＝３の「DDoS攻撃」のルールは、判定対象の計算機２０として、グループＧ１であるＷｅｂサーバグループにおける、複数の計算機２０である計算機２１１〜２１ｍである。判定対象の時間帯は、現在の時間帯である。“ＷＧ”はＷｅｂサーバグループであるグループＧ１を示す。このルールは、グループ単位を判定対象とするものであり、比較対象の定義は無い。
【００８５】
ＩＤ＝３の条件は、「ＷＧ￥ＣＵ＞９０％  ＡＮＤ  ＷＧ￥ＭＵ＞９０％  ＡＮＤ  ＷＧ￥ＰＣＨ＞２００」である。“ＷＧ￥ＣＵ”は、グループＧ１のＣＰＵ使用率を示し、例えばいずれかの計算機２０のＣＰＵ使用率を示す。「ＷＧ￥ＣＵ＞９０％」は、グループＧ１のＣＰＵ使用率が、閾値である９０％を超える、という条件を示す。同様に、「ＷＧ￥ＭＵ＞９０％」は、グループＧ１のメモリ使用量が、９０％を超える、という条件を示す。「ＷＧ￥ＰＣＨ＞２００」は、グループＧ１のｈｔｔｐｄプロセス数が、２００を超えるという条件を示す。“ＰＣＨ”は、“process-count-httpd”、即ちｈｔｔｐｄプロセス数を示す。ＩＤ＝３の条件は、３つの条件のＡＮＤにより定義されている。
【００８６】
ＩＤ＝１１の「同一グループ異常動作（ＷＧ）」のルールは、同一グループに含まれる複数の計算機２０間で現在時間帯の数値データを比較して異常を判定する例である。このルールは、判定対象の計算機２０として、ＷｅｂサーバグループであるグループＧ１に含まれる計算機２１１〜２１ｍにおける各々の計算機２０である。判定対象の時間帯は、現在の時間帯である。判定対象の特徴量は、現在時間帯の時系列の数値データそのものである。
【００８７】
比較対象の計算機２０は、グループＧ１を構成する複数の計算機２０である計算機２１１〜２１ｍである。このルールの場合、比較対象のグループＧ１の複数の計算機２０は、判定対象の計算機２０、例えば計算機２１１を含む。比較対象の時間帯は、同じく現在の時間帯である。比較対象の基準値となる特徴量は、現在の時間帯のグループＧ１の数値データの平均値である。
【００８８】
ＩＤ＝１１の条件は、「ＷＧ￥ＣＵ＋２０％  ＯＲ  ＷＧ￥ＭＵ＋２０％  ＯＲ  ＷＧ￥ＤＵ＋２０％」である。この条件は、３つの条件のＯＲ（論理和）で定義されている。「ＷＧ￥ＣＵ＋２０％」は、判定対象の計算機２０の現在の時間帯のＣＰＵ使用率が、基準値である比較対象のグループＧ１のＣＰＵ使用率の平均値に対し、閾値であるプラス２０％を超えるか、という条件を示す。
【００８９】
ＩＤ＝１１のルールは、ＣＰＵ使用率が基準値プラス２０％を超える、または、メモリ使用量が基準値プラス２０％を超える、または、ディスク使用量が基準値プラス２０％を超える、というルールである。このルールを満たす場合、判定対象の計算機２０及び時間帯は、異常と判定される。
【００９０】
ＩＤ＝１１は、複数の計算機２０間で比較する例としてグループＧ１に関するルールの例である。これに限らず、グループＧ２等の他のグループや、任意に指定された複数の計算機についても、同様にルールを定義可能である。
【００９１】
ＩＤ＝１２の「同一マシン異常動作（ＣＰＵ）」のルールは、同一の計算機２０毎に、現在の時間帯の数値データと過去の時間帯の数値データとを比較して異常を判定する例である。判定対象の計算機２０は、管理対象計算機群の全ての計算機２０における各々の計算機２０である。判定対象の時間帯は、現在の時間帯である。判定対象の特徴量は、判定対象の計算機及び時間帯の時系列の数値データそのものである。
【００９２】
比較対象の計算機２０は、判定対象と同一の計算機２０である。比較対象の時間帯は、過去の時間帯である。過去の時間帯として、ＩＤ＝１のルールと同様に、直近１ヶ月の同一曜日の同一時間帯である。比較対象の基準値となる特徴量は、過去の時間帯の数値データにおける平均値である。
【００９３】
ＩＤ＝１２の条件は、「ＣＵ＋３０％」である。この条件は、判定対象の計算機２０の現在の時間帯のＣＰＵ使用率が、基準値である過去の時間帯のＣＰＵ使用率の平均値に対して、プラス３０％を超える、という条件である。この条件を満たす場合、判定対象の計算機２０及び時間帯は、異常と判定される。
【００９４】
ＩＤ＝１２は、リソース状態計測値の項目としてＣＰＵ使用率に関して、現在と過去とで比較するルールの例である。これに限らず、メモリ使用量、ｈｔｔｐｄプロセス数のようなサーバプロセス数、等の他の項目についても、同様に、ルールを定義可能である。また、比較対象とする過去の時間帯についても、所望の時間帯を設定可能である。
【００９５】
ルール情報７０の他の例として、ＩＤ＝１１のように複数の計算機２０間で比較するルールと、ＩＤ＝１２のように現在と過去で比較するルールと、を組み合わせて構成されるルールも可能である。例えばそれら２つのルールのＡＮＤ条件によるルールや、ＯＲ条件によるルールが可能である。もしくは、分析対象判定部１２は、ルール情報７０に記述されている複数のルールについて、所定のＡＮＤ条件やＯＲ条件を判定することにより、異常状態を判定してもよい。
【００９６】
なお、ルール情報７０に複数のルールが設定されている場合に、都度、いずれのルールを使用するかを、設定部１５を通じてユーザにより設定可能としてもよい。この場合、図４のルール情報７０の表は、使用するかどうかをＯＮ／ＯＦＦ等で設定するフラグの項目が設けられる。
【００９７】
［ログデータ］
図５は、管理対象システム２の計算機２０から得られたログデータにおける数値データの例を示す。図５のログデータの表は、列として、「日時」、「計算機Ｃ１１」、「グループＧ１（ＷＧ）」を有する。図示しないが、他の計算機やグループについても同様に情報が管理される。図５の上側の表は、図１の計算機２１１である計算機Ｃ１１に関する情報部分を示し、図５の下側の表は、続いて、図１のグループ４１であるグループＧ１に関する情報部分を示す。分析対象判定部１２で処理対象となる数値データは、収集されたログデータのうち、図５のように、ＣＰＵ使用率等の、数値で表される数値データである。
【００９８】
「日時」列は、収集タイミング及び時間帯を示す。例えば「2015/01/10 10:00:00」の行は、収集タイミングが2015年1月10日の10時0分0秒を示し、対応する時間帯としては、「2015/01/10 10:00:00」までの１分間を示す。
【００９９】
「計算機Ｃ１１」列及び「グループＧ１」列は、リソース状態計測値に関する詳しい項目として、「ＣＰＵ使用率」、「メモリ使用量」、「ディスク使用量」、「ｈｔｔｐｄプロセス数」を有する。「計算機Ｃ１１」列の各項目は、収集された各リソース状態計測値の数値を格納している。「グループＧ１」列の各項目は、収集された各計算機２０の数値に基づいて計算された平均値を格納している。
【０１００】
図５の例では、リソース状態計測値の数値データの計測間隔及び収集タイミングがいずれも１分毎であり、ログデータの表にも１分毎に１つの数値データを格納している。この単位時間は、１分に限らず、例えば１０秒や５分等、より短い時間やより長い時間が設定可能である。ユーザは、設定部１５を通じてこの単位時間を設定可能である。この単位時間は、リソース状態を計測及び収集可能な時間の制約範囲内で設定可能である。データ収集部１１は、設定された単位時間に応じた収集タイミングで数値データを含むログデータを収集し、単位時間毎の数値データとしてログデータの表に格納する。
【０１０１】
なお、データ収集部１１は、設定された単位時間に対応した収集タイミングで、計算機２０から複数回の計測分の複数の数値データを取得してもよいし、それら複数の数値データのうちの１つの数値データを取得してもよい。また、計算機２０のリソース状態計測部２００は、複数の数値データの平均値等を計算して、その平均値等の数値データをデータ収集部１１へ提供してもよい。
【０１０２】
また、分析対象判定部１２での判定対象や比較対象の時間帯について、ルール情報７０で設定可能である。この時間帯は、計測及び収集の時間単位に合わせて例えば１分等にしてもよいし、計測及び収集の時間単位よりも大きくして例えば１０分、１時間等としてもよい。ユーザは、設定部１５を通じてこの時間帯の大きさをルール情報７０に設定可能である。分析対象判定部１２は、設定された時間帯毎に、または設定で指定された日時に、分析対象判定処理を行う。
【０１０３】
［数値データグラフ］
図６〜図９は、図５のようなログデータに対応した、時系列の数値データに関するグラフ表示の例を示す。図６はＣＰＵ使用率、図７はメモリ使用量、図８はディスク使用量、図９はｈｔｔｐｄプロセス数に関するそれぞれのグラフを示す。データ分析システム１は、ログデータの各リソース状態計測値の数値データのグラフを作成し、入出力部１４を通じて画面に当該グラフを表示する機能を有する。
【０１０４】
図６で、（ａ）は、図１の計算機Ｃ１１に関するＣＰＵ使用率、（ｂ）は、図１の計算機Ｃ１２に関するＣＰＵ使用率、（ｃ）は、図示しない計算機Ｃ１３に関するＣＰＵ使用率を示す。（ａ）で、実線は、判定対象の計算機２０である計算機Ｃ１１の数値データを表し、破線は、比較対象の計算機２０であるグループＧ１における平均値を表す。例えば時点６０１に対応した時間帯のＣＰＵ使用率をみると、計算機Ｃ１１のＣＰＵ使用率は、グループＧ１の平均値に対し、２％程度大きい。他の時点では、計算機Ｃ１１のＣＰＵ使用率は、平均値に近い値である。
【０１０５】
例えば図４のＩＤ＝１１のルールのように、複数の計算機２０間での比較を行う場合、時点６０１に対応した時間帯の計算機Ｃ１１のＣＰＵ使用率について、基準値である平均値との偏差が、条件の閾値を越える場合、当該計算機Ｃ１１及び時間帯は、異常と判定される。
【０１０６】
図７で、（ａ）〜（ｃ）は、図６と同様に計算機Ｃ１１，Ｃ１２，Ｃ１３に関するメモリ使用量を示す。（ａ）で、例えば時点７０１に対応した時間帯をみると、計算機Ｃ１１のメモリ使用量は、グループＧ１の平均値に対し、０．５ＭＢ程度大きい。
【０１０７】
図８で、（ａ）〜（ｃ）は、図６と同様に計算機Ｃ１１，Ｃ１２，Ｃ１３に関するディスク使用量を示す。（ａ）で、例えば時点８０１に対応した時間帯をみると、計算機Ｃ１１のディスク使用量は、グループＧ１の平均値に対し、７００Ｋｂｐｓ程度大きい。
【０１０８】
図９で、（ａ）〜（ｃ）は、図６と同様に計算機Ｃ１１，Ｃ１２，Ｃ１３に関するｈｔｔｐｄプロセス数を示す。（ａ）で、例えば時点９０１に対応した時間帯をみると、計算機Ｃ１１のｈｔｔｐｄプロセス数は、グループＧ１の平均値に対し、８０個程度大きい。
【０１０９】
図７のメモリ使用量、図８のディスク使用量、図９のｈｔｔｐｄプロセス数についても、図６のＣＰＵ使用率と同様に、複数の計算機２０間での比較等が可能である。
【０１１０】
［分析対象判定処理の例］
図３のＳ７の分析対象判定処理の例は以下である。分析対象判定部１２は、図４のルール情報７０、図５のログデータの数値データに基づいて、分析対象を判定する。図５の表の「2015/01/10 10:05:00」時点の数値データにおいて、ＣＰＵ使用率等の項目毎に、計算機Ｃ１１の数値データを、判定対象の特徴量とし、グループＧ１の平均値を、比較対象の基準値である特徴量とする。分析対象判定部１２は、ルールとして、同一時間帯のグループＧ１の複数の計算機２０間で、計算機２０毎及び項目毎に、比較判定を行う。
【０１１１】
まず、ＣＰＵ使用率は、グループＧ１の平均値が4.0777であり、それに対し、計算機Ｃ１１の数値は5.9である。図４のＩＤ＝１１のルールである「同一グループ異常動作（ＷＧ）」を用いる場合、条件は「ＷＧ￥ＣＵ＋２０％  ＯＲ  ＷＧ￥ＭＵ＋２０％  ＯＲ  ＷＧ￥ＤＵ＋２０％」である。「ＷＧ￥ＣＵ＋２０％」については、平均値である4.0777のプラス２０％の値は4.893であり、計算機Ｃ１１の数値である5.9は、この値を超える。よって、「ＷＧ￥ＣＵ＋２０％」という条件を満たし、ＩＤ＝１１のルールの条件を満たすので、当該計算機Ｃ１１及び時間帯は、異常と判定される。メモリ使用量等についても同様に判定が行われる。他の計算機についても同様に判定が行われる。
【０１１２】
［画面例］
図１０は、データ分析システム１の入出力部１４により提供される画面例を示す。図１０の画面例は、「管理対象システム」の欄５０１、「ルール設定」の欄５０２、「分析対象情報」の欄５０３を有する。
【０１１３】
欄５０１は、管理対象システム２の情報を表示する。欄５０１では、例として、管理対象のグループや計算機２０の識別情報を含む情報を表示する。ユーザは、欄５０１で、設定変更ボタン等により、管理対象のグループや計算機２０を設定可能である。また、ユーザは、欄５０１で、ログデータ収集対象や絞り込み対象等を設定可能である。
【０１１４】
欄５０２は、ルール情報７０に対応したルールの内容を表示する。欄５０２は、例として、図４のようなルール情報７０の内容を表形式で表示する。ユーザは、欄５０２で、設定変更ボタン等により、ルールの内容を設定可能である。また、ユーザは、欄５０２で、適用するルール等を選択して設定可能である。
【０１１５】
欄５０３は、対象情報６１に対応した分析対象情報を表示する。欄５０３は、例として、分析対象判定の結果、異常と判定され、分析対象として絞り込まれた計算機２０の情報、時間帯の情報、及びそれに関係付けられたログデータの識別情報、等を表示する。ユーザは、欄５０３で、「分析する」ボタン等により、分析対象のログデータの分析用の画面に遷移して分析を行うことができる。また、ユーザは、欄５０３に表示された分析対象情報の中から、更に個別に分析対象を選択して、「分析する」ボタン等により、個別の分析対象のログデータの分析用の画面に遷移することもできる。
【０１１６】
本例では、欄５０３の表の第１行は、分析対象として、グループＧ１の計算機Ｃ１２、時間帯Ｔ１、ログデータＬ２１、となっている。同様に、第２行以下に順に、複数の各々の分析対象のログデータに関する情報が表示される。
【０１１７】
［複数の数値データの比較の例］
図１１は、補足として、分析対象判定処理やルールにおける、複数の数値データの比較の例について示す。縦方向は、例えばグループＧ１の複数の計算機２０を示す。横方向は、時間軸として左を現在、右を過去として、時間帯を示す。時間帯Ｔ１は最新の時間帯を示す。各枠は、該当する計算機及び時間帯におけるログデータを示す。Ｌ１１等はログデータの識別情報を示す。
【０１１８】
前述の図３のＳ５の第１の方式は、同一時間帯で複数の計算機２０間で数値データを比較する。例えば計算機Ｃ１１が判定対象であり、グループＧ１が比較対象である。
【０１１９】
前述の図３のＳ５の第２の方式は、同一計算機２０で現在時間帯と過去時間との間で数値データを比較する。例えば計算機Ｃ１１で時間帯Ｔ１が判定対象であり、時間帯Ｔ２，Ｔ３，……，Ｔｐが比較対象である。
【０１２０】
［効果等］
以上説明したように、実施の形態１のデータ分析システム１によれば、管理対象システム２の計算機２０のセキュリティ侵害対策のためにデータ分析に基づいて攻撃等を検出する際、分析に必要な手間、時間、資源を少なくでき、迅速で効率的な分析及び検出ができ、未知の攻撃等を含め、検出精度を高めることができる。
【０１２１】
一般に、マルウェアに感染した場合やサービス妨害攻撃を受けた場合等、セキュリティ侵害行為を受けた場合には、ＣＰＵ使用率等のリソース状態の数値またはその特徴量が変動することが分かっている。そこで、実施の形態１では、セキュリティ侵害行為の示唆や可能性を考慮して、リソース状態の数値データに関する条件をルールとして設定し、分析対象判定等を行う。これにより、セキュリティ侵害行為が疑われる計算機２０や時間帯に対応したログデータを分析対象として絞り込むことができる。これにより、分析者は、大量の様々なログデータを分析しなければならない従来技術に比べて、少ない手間、時間、資源で、迅速に効率的にログデータを分析し、攻撃等を検出することができる。
【０１２２】
また、特に、実施の形態１のデータ分析システム１は、複数の計算機２０間での比較判定や、現在と過去の時間帯の比較判定を、ルール設定に基づいて行うことができるので、未知のセキュリティ侵害行為に関しても対応しやすい。
【０１２３】
また、実施の形態１では、分析対象判定処理における処理対象を数値データに限定しているので、迅速な分析及び検出が可能である。
【０１２４】
（実施の形態２）
図１２を用いて、本発明の実施の形態２のデータ分析システムについて説明する。実施の形態２の基本的な構成は、実施の形態１の構成と同様である。以下、実施の形態２における実施の形態１とは異なる構成の部分について説明する。
【０１２５】
図１２は、実施の形態２のデータ分析システムを含む、セキュリティ侵害行為検出システムの構成を示す。実施の形態１のネットワーク９は、実施の形態２では、インターネット９１及びＬＡＮ９２として示す。管理対象システム２の管理対象計算機群である複数の計算機２０は、ＬＡＮ９２に接続されている。管理対象システム２は、負荷分散装置８０を有する。負荷分散装置８０は、ＬＡＮ９２に接続されている。負荷分散装置８０には、ＬＡＮ９２を通じて各計算機２０が接続されている。データ分析システム１は、管理対象システム２のＬＡＮ９２に接続されている。
【０１２６】
イベント検出システム３は、各セキュリティサービスのサーバ装置等で構成される。当該サーバ装置は、インターネット９１に接続されており、また、管理対象システム２のＬＡＮ９２に対して負荷分散装置８０を通じて接続されている。イベント検出システム３は、管理対象システム２のセキュリティ確保のための入口対策としての処理を行う。
【０１２７】
負荷分散装置８０は、管理対象システム２の複数の計算機２０に対する負荷を分散する処理を行う。負荷分散装置８０は、例えば、Ｗｅｂサーバグループであるグループ４１の計算機２１１〜２１ｍに対する外部からのアクセスを平準化することにより、それらの計算機２０の負荷を平準化する。これにより、それらの計算機２０は、リソース状態としてＣＰＵ使用率等が平準化される。計算機２１１〜２１ｍは、同様のハードウェア及びソフトウェアの性能を持つ。
【０１２８】
データ分析システム１は、負荷分散装置８０による負荷分散状態に応じて、ルール情報７０の内容を設定する。データ分析システム１は、負荷分散装置８０から、負荷分散状態を示す負荷分散情報８０１を参照する。データ分析システム１は、負荷分散情報８０１が示す負荷分散状態に応じて、ルール情報７０の内容として、補正係数８０２を設定する。あるいは、分析者は、負荷分散装置８０の負荷分散情報８０１を参照し、設定部１５を用いて、ルール情報７０の内容として、補正係数８０２を設定する。
【０１２９】
補正係数８０２は、分析対象判定処理用に、複数の計算機２０のリソース状態を平準化するために、計算機２０毎のリソース状態計測値を補正するための係数である。補正係数８０２は、ルール情報７０の条件に記述されているリソース状態計測値に対して乗算等で反映される。
【０１３０】
まず、負荷分散装置８０により複数の計算機２０の負荷及びリソース状態を平準化する場合は以下である。負荷分散装置８０は、管理対象の計算機２０群に対する負荷分散の設定状態に応じて、計算機２０群への通信を分散させ、負荷状況を平準化する。この負荷分散により、特定の計算機２０に負荷が集中してリソース状態計測値及びその特徴量において複数の計算機２０間で大きな差異が出ないようにする。
【０１３１】
この場合には、補正係数８０２を設定する必要は無く、言い換えると補正係数８０２として全ての計算機２０で“１”と設定すればよい。ルール情報７０は、実施の形態１と同様の設定でよい。分析対象判定部１２は、複数の計算機２０間での比較判定を含め、分析対象判定処理を好適に実現できる。
【０１３２】
また、負荷分散装置８０による負荷分散状態として、複数の計算機２０間で負荷及びリソース状態に偏りがある場合には以下である。負荷分散装置８０による負荷分散状態として、例えばグループ４１のうちの計算機２１１と計算機２１２との２台の計算機２０で、負荷が１：２の割合であるとする。この場合、２台の計算機２０のリソース状態計測値、例えばＣＰＵ使用率は、１：２の割合になる可能性が高い。
【０１３３】
この場合、データ分析システム１及び分析者は、分析対象判定処理で複数の計算機２０間での比較判定等が好適に実現できるように、以下のように、補正係数８０２を設定し、ルール情報７０の内容を補正する。データ分析システム１は、ルール情報７０における各ルールの条件の記述において、計算機２０間のリソース状態計測値の割合が１：１になるように、補正係数８０２を設定する。上記例の場合、計算機２１１の補正係数が“１”、計算機２１２の補正係数が“０．５”に設定される。
【０１３４】
分析対象判定部１２は、分析対象判定処理の際、ルール情報７０の補正後のルールを適用する。分析対象判定部１２は、当該ルールに従い、複数の計算機２０間で平準化されたリソース状態計測値の数値データを参照する。例えば図４のＩＤ＝１１のルールでは、「ＷＧ￥ＣＵ」として、グループＧ１の各計算機２０のＣＰＵ使用率の数値データを参照する。この場合に、計算機２１２のＣＰＵ使用率に“０．５”を乗算することで、計算機２１１のＣＰＵ使用率と同程度になるように平準化される。
【０１３５】
よって、負荷分散状態に応じて複数の各計算機２０の負荷が異なる場合にも、複数の計算機２０の負荷が平準化されている場合と同様に、複数の計算機２０間での比較判定等を好適に実現できる。分析者は、ルール情報７０の設定の手間が少ない。
【０１３６】
実施の形態２の変形例として、データ分析システム１は、インターネット９１に接続されていてもよい。また、イベント検出システム３とデータ分析システム１とが１つに統合されていてもよい。
【０１３７】
（他の実施の形態）
他の実施の形態のデータ分析システムとして、以下が挙げられる。
【０１３８】
管理対象システム２内に、イベント検出システム３の構成要素であるセキュリティサービスやセキュリティ機器が設けられていてもよい。また、イベント検出システム３は、管理対象システム２から、リソース状態計測値を収集し、データ分析システム１は、イベント検出システム３から、リソース状態計測値を含むログデータを収集してもよい。また、イベント検出システム３は、リソース状態計測部を備え、リソース状態計測部により、管理対象システム２の各計算機のリソース状態を計測してもよい。
【０１３９】
他の実施の形態として、データ分析部１３は、分析対象判定部１２と連携し、対象情報６１により絞り込まれた分析対象のログデータを自動的に分析者に提示し、分析者はそれに従い分析を行う。データ分析システム１は、分析対象判定部１２で得た対象情報６１に基づいて、分析対象の順序や優先度を決め、それに応じてログデータの内容を並び替え、分析者に提示してもよい。例えば、分析対象判定部１２は、異常と判定した複数の分析対象の情報を画面に出力する場合に、ルール情報７０やイベントデータ等の内容に基づいて、疑わしさ等に応じて、複数の分析対象を順位付けて出力する。例えば図１０の画面の欄５０３では、疑わしさ等に応じた順序で複数の分析対象の情報を表示する。これにより、分析者は、複数の分析対象のログデータに関して、疑わしさ等の順序で分析作業を行うことができ、攻撃等を検出しやすい。
【０１４０】
他の実施の形態として、データ分析システム１は、ログデータに含まれるテキストデータを用いて、分析対象判定処理を行ってもよい。データ分析システム１は、ログデータに含まれる数値データとテキストデータの組合せを用いて、分析対象判定処理を行ってもよい。
【０１４１】
以下、他の実施の形態のデータ分析システム１として、ログデータに含まれるテキストデータを用いて、分析対象判定処理を行う場合の構成例を説明する。以下、他の実施の形態における実施の形態１とは異なる構成の部分を説明する。
【０１４２】
図１３は、他の実施の形態におけるルール情報７０の構成例を示す。ＩＤ＝２１，２２で示す行は、テキストデータを用いて分析対象判定処理を行うルールの例を示す。ＩＤ＝２１の行は、ルール名称が「単位時間あたりの認証エラー」であり、条件は、「＊￥ＨＴＴＰ＿ＳＴＡＴＵＳ＝４０１  ＡＮＤ  ＩＮＴＥＲＶＡＬ＝１０ｍｉｎ  ＡＮＤ  ＣＯＵＮＴ＞３  ＡＮＤ  ＧＯＵＲＰＢＹ  ｕｓｅｒ」であり、判定対象及び時間帯は、全計算機、計算機毎、現在時間帯である。
【０１４３】
ＩＤ＝２１の条件において、"ＨＴＴＰ＿ＳＴＡＴＵＳ＝４０１"は、ＷｅｂサーバのＨＴＴＰステータスコードを示す。「＊￥ＨＴＴＰ＿ＳＴＡＴＵＳ＝４０１」は、ＨＴＴＰステータスコードが４０１、即ち認証が必要なＷｅｂページにアクセスした時に認証に失敗した、という条件を示す。「ＩＮＴＥＲＶＡＬ＝１０ｍｉｎ」は、直近１０分間の期間内、という条件を示す。「ＣＯＵＮＴ＞３」は、３回以上当該条件に合致する、という条件を示す。「ＡＮＤ  ＧＯＵＲＰＢＹ  ｕｓｅｒ」は、ユーザ毎に条件に合致するか判断する、という条件を示す。ＩＤ＝２１は、これらの条件のＡＮＤによる条件である。よって、ＩＤ＝２１の条件は、同一のユーザが直近１０分間に３回以上認証に失敗した場合、という条件を示す。このルールは、例えば外部の攻撃者が、暗号解読方法の一つとして、ユーザ名とパスワードの可能な組み合わせを全て試して不正ログインを試みる、総当たり攻撃と呼ばれる攻撃を検知することに対応したルールである。
【０１４４】
ＩＤ＝２２の行は、ルール名称が「データ送信」であり、条件は、「＊￥ＭＥＴＨＯＤ＝ＰＯＳＴ」であり、判定対象及び時間帯は、全計算機、計算機毎、現在時間帯である。この条件において、"ＭＥＴＨＯＤ"は、Ｗｅｂサーバへのリクエストの種別を示す。「＊￥ＭＥＴＨＯＤ＝ＰＯＳＴ」は、ＷｅｂサーバへのＰＯＳＴメソッドのリクエスト、即ち、クライアントからサーバへデータを送信する場合、という条件を示す。よって、ＩＤ＝２２の条件は、ＰＯＳＴメソッドを用いてデータを送信した場合、という条件を示す。このルールは、マルウェア等に感染した端末が攻撃者のサーバへ何らかのデータを送信していることを検知することに対応するルールである。
【０１４５】
上記例のように、他の実施の形態におけるルールは、文字列ないしテキストを含む論理により記述されている。
【０１４６】
図１４は、他の実施の形態における、管理対象システム２の計算機２０から得られたログデータにおけるテキストデータの例を示す。図１４のログデータの表は、列として「テキストログ」を有する。本例では「テキストログ」は、apacheログを用いる。apacheはＷｅｂサーバである。「テキストログ」列の値であるテキストは、空白文字で分割される複数の項目で構成されている。複数の項目は、順に、「リモートホスト名」、「クライアントの識別子」、「認証ユーザ名」、「時刻」、「リクエストの最初の行」、「レスポンスステータス」、「送信されたバイト数」から成る。本例は、計算機Ｃ１１のテキストログの例であり、１０時０分０秒から５秒のログでは、ＧＥＴメソッドによるアクセスでレスポンスステータスが４０１となっている。
【０１４７】
分析対象判定部１２は、図１４のログの場合、図１３のルール情報７０に基づいた分析対象判定処理を行う。これにより、例えばＩＤ＝２１の条件を満たすので、当該計算機Ｃ１１及び時間帯は、攻撃が疑われると判定され、対応するログデータが分析対象として決定される。他の実施の形態におけるテキストデータを用いた判定でも、実施の形態１の数値データを用いた判定と同様に、複数の計算機間での比較や、過去時間帯との比較が同様に適用可能である。
【０１４８】
なお、他の実施の形態では、図３のフローは、以下のようになる。Ｓ２やＳ３では、テキストデータを含むログデータが収集される。Ｓ４では、分析対象判定部１２は、ログデータのうちのテキストデータを用いて、判定対象の計算機及び時間帯におけるテキストデータを特徴量として設定する。Ｓ５では、分析対象判定部１２は、ログデータのうちのテキストデータを用いて、比較対象の計算機及び時間帯におけるテキストデータを基準値として設定する。Ｓ６では、分析対象判定部１２は、ルール情報７０から、テキストを含むルールを参照する。Ｓ７では、分析対象判定部１２は、Ｓ４の特徴量に相当するテキストとＳ５の基準値に相当するテキストとを比較し、Ｓ６のルールを満たす場合、セキュリティ侵害行為が疑われる異常状態として判定する。Ｓ８で、分析対象判定部１２は、異常状態に該当する計算機、時間帯、及びログデータを、分析対象として決定する。
【０１４９】
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。
【産業上の利用可能性】
【０１５０】
本発明は、計算機の監視や計測、ログデータの記録、収集、分析等を行うシステムに利用可能である。
【符号の説明】
【０１５１】
１…データ分析システム、２…管理対象システム、３…イベント検出システム、９…ネットワーク、１０…サーバシステム、１１…データ収集部、１２…分析対象判定部、１３…データ分析部、１４…入出力部、１５…設定部、２０，２１１〜２１ｍ，２２１〜２２ｎ，２３１…計算機、３１…アンチウイルスシステム、３２…プロキシシステム、３３…ファイアウォールシステム、３４…侵入検知システム、４１…グループ、４２…グループ、５０…ログＤＢ、５１…ログデータ、５２…ログデータ、６０…分析ＤＢ、６１…対象情報、６２…分析データ、７０…ルール情報、２００…リソース状態計測部、３００…イベント検出部。
【図１】
0006574332.tif 000002
【図２】
0006574332.tif 000003
【図３】
0006574332.tif 000004
【図４】
0006574332.tif 000005
【図５】
0006574332.tif 000006
【図６】
0006574332.tif 000007
【図７】
0006574332.tif 000008
【図８】
0006574332.tif 000009
【図９】
0006574332.tif 000010
【図１０】
0006574332.tif 000011
【図１１】
0006574332.tif 000012
【図１２】
0006574332.tif 000013
【図１３】
0006574332.tif 000014
【図１４】
0006574332.tif 000015