(57)【要約】  ログの重要度を適切に判定可能な分析装置を提供する。分析装置は、ソフトウェア・プログラムの動作を表す情報が記録された１以上のログエントリからなるログに含まれる１つのログエントリである第１ログエントリから抽出した第１特徴量と、それぞれがログに含まれるログエントリである１以上の第２ログエントリから抽出した、第１特徴量とは異なる第２特徴量と、を用いて、一つの第１ログエントリに関する特徴情報を作成可能に構成された特徴抽出部と、第１ログエントリに関する特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他のログエントリに関する重要度を判定可能な分析モデルを作成する分析モデル作成部と、を備える。
2018235252.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成可能に構成された特徴抽出手段と、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する分析モデル作成手段と、を備える
分析装置。
【請求項２】
前記特徴抽出手段は、それぞれの前記第２ログエントリに記録された情報を計数することで作成される情報であるコンテキスト情報を、前記第２特徴量として抽出する
請求項１に記載の分析装置。
【請求項３】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、ある前記ソフトウェア・プログラムについて記録された全ての前記第２ログエントリに記録された情報を用いて、
前記ソフトウェア・プログラムの実行過程で実行されたプロセス毎の、前記第２ログエントリの数に関する情報と、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
それぞれの前記ログ種別について集計した、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの数に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
請求項２に記載の分析装置。
【請求項４】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、前記第１ログエントリが記録されたプロセスと同じプロセスについて記録された複数の前記第２ログエントリに記録された情報を用いて、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
それぞれの前記ログ種別について集計した、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの数に関する情報と、
前記ソフトウェア・プログラムの実行過程で記録された前記ログエントリの総数と、前記第１ログエントリが記録されたプロセスと同じプロセスについて記録された前記第２ログエントリの総数と、の割合に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
請求項２に記載の分析装置。
【請求項５】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、前記第１ログエントリが記録さえたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリに記録された情報を用いて、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリの総数と、前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリのうち、前記第１ログエントリと同じプロセスについて記録された前記第２ログエントリの総数と、の割合に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
請求項２に記載の分析装置。
【請求項６】
前記特徴抽出手段は、それぞれの前記第２ログエントリに記録された情報から抽出した特徴量を用いて作成される情報であるコンテキスト情報を、前記第２特徴量として抽出する
請求項１に記載の分析装置。
【請求項７】
前記特徴抽出手段は、前記第１ログエントリに対する前記第１特徴量と同様の特徴量を、各前記第２ログエントリから抽出し、各前記第２ログエントリから抽出した特徴量を用いて、前記第２特徴量を作成する
請求項１乃至請求項６のいずかれ一項に記載の分析装置。
【請求項８】
前記特徴抽出手段は、
前記第１ログエントリに記録された情報を文字列及び数値の少なくとも一方を用いて表すデータから、前記第１特徴量を抽出し、
前記第２ログエントリに記録された情報を文字列及び数値の少なくとも一方を用いて表するデータを、全ての前記第２ログエントリについて統合することで統合データを作成し、その統合データから前記第１ログエントリに対する前記第１特徴量と同様の特徴量を抽出することで、前記第２特徴量を作成する
請求項７に記載の分析装置。
【請求項９】
前記特徴抽出手段は、
前記ソフトウェア・プログラムの動作を解析可能な解析装置により前記ソフトウェア・プログラムの動作を解析した結果を表すサマリ情報から、前記第２特徴量を抽出する
請求項１に記載の分析装置。
【請求項１０】
前記特徴抽出手段は、
前記サマリ情報に含まれる、前記ソフトウェア・プログラムが１以上の特定の活動を実行したか否かを表す情報を、前記第２特徴量として抽出する
請求項９に記載の分析装置。
【請求項１１】
前記第１ログエントリに記録された情報に関連する情報を、情報源から外部コンテキスト情報として取得する情報収集手段を更に備え、
前記特徴抽出手段は、前記情報収集手段により取得された外部コンテキスト情報に基づいて、第３特徴量を抽出し、
前記第２特徴量及び第３特徴量の少なくとも一方と、前記第１特徴量と、を用いて前記第１ログエントリに関する前記特徴情報を作成する
請求項１乃至請求項１０のいずれか一項に記載の分析装置。
【請求項１２】
前記情報収集手段は、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの、セキュリティに関する評判を表す情報を、前記外部コンテキスト情報として前記情報源から収集する
請求項１１に記載の分析装置。
【請求項１３】
前記第１ログエントリに、あるファイルへのアクセスが記録されている場合、
前記情報収集手段は、
そのファイルがマルウェアとして検知されるファイルであるか否か、を表す情報と、
そのファイルが取得された数を表す情報と、
そのファイルの信頼度を表す情報と、
のいずれか１つ以上を、前記外部コンテキスト情報として前記情報源から取得する
請求項１１に記載の分析装置。
【請求項１４】
前記第１ログエントリに、あるレジストリへのアクセスが記録されている場合、
前記情報収集手段は、そのレジストリがマルウェアによりアクセスされるか否かを表す情報を、前記外部コンテキスト情報として前記情報源から取得する
請求項１１に記載の分析装置。
【請求項１５】
前記第１ログエントリに、ある通信先への通信が記録されている場合、
前記情報収集手段は、その通信先のセキュリティに関する評判を表す情報を、前記外部コンテキスト情報として前記情報源から取得する
請求項１１に記載の分析装置。
【請求項１６】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記分析モデル作成手段は、それぞれの前記ログ種別に該当する前記ログエントリに関して作成された前記特徴情報を用いて、それぞれの前記ログ種別について個別に前記分析モデルを作成する
請求項１又は２に記載の分析装置。
【請求項１７】
前記分析モデルを用いて、前記ログエントリに関する重要度を算出する重要度算出手段と、
前記ログエントリについて算出された重要度に応じて、当該ログエントリの表示方法を制御可能なユーザインタフェースを生成する表示制御手段と、を更に備える
請求項１乃至請求項１６のいずれかに記載の分析装置。
【請求項１８】
前記表示制御手段は、
表示される前記ログエントリの重要度を表す閾値を設定可能な制御要素を含む前記ユーザインタフェースを生成し、
前記ユーザインタフェースは、前記閾値以上の重要度が算出された前記ログエントリと、前記閾値未満の重要度が算出された前記ログエントリと、をそれぞれ異なる表示方法を用いて表示する
請求項１７に記載の分析装置。
【請求項１９】
前記表示制御手段は、
表示される前記ログエントリの重要度を表す閾値を設定可能な制御要素を含む前記ユーザインタフェースを生成し、
前記ユーザインタフェースは、前記閾値以上の重要度が算出された前記ログエントリを表示し、前記閾値未満の重要度が算出された前記ログエントリの表示を抑制する
請求項１８に記載の分析装置。
【請求項２０】
前記表示制御手段は、
表示される前記ログエントリの重要度を表す閾値を設定可能な制御要素を含む前記ユーザインタフェースを生成し、
前記ユーザインタフェースは、前記閾値の重要度が算出された前記ログエントリを、前記閾値未満の重要度が算出された前記ログエントリよりも強調して表示する
請求項１９に記載の分析装置。
【請求項２１】
前記分析モデルは、複数の層を有するニューラルネットワークであり、
前記特徴抽出手段は、前記重要度情報が付与されていない前記ログエントリについて、前記特徴情報を作成し、
前記分析モデル作成手段は、前記重要度情報が付与されていない前記ログエントリについて作成された前記特徴情報と、前記重要度情報が付与された前記第１ログエントリについて作成された前記特徴情報と、の両方を用いて、前記分析モデルに関する事前学習を実行する、
請求項１乃至請求項２０のいずれかに記載の分析装置。
【請求項２２】
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成し、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する
ログの分析方法。
【請求項２３】
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成する処理と、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する処理とを、コンピュータに、実行させる
分析プログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログを分析する技術に関する。
【背景技術】
【０００２】
ソフトウェア・プログラムの活動を検知して分析する技術として、ソフトウェア・プログラムが実行された際に記録されたログを分析する技術をもちいることができる。【０００３】
ログの分析に関連する技術として、例えば、以下の特許文献が知られている。【０００４】
特許文献１には、ある情報システムに関するログの記録をフィルタリング（制限）する条件を設定する操作画面を、ユーザに対して提示する技術が記載されている。【０００５】
特許文献２には、ユーザ毎に作成された、電子ファイルに対する操作の重要度を表すモデルと、ユーザにより実行された電子ファイルに対する操作を表す情報とから、当該電子ファイルの価値を算出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２１８３１３号公報
【特許文献２】特開２０１０−２０４８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ログを分析する技術は、例えば、悪意のあるソフトウェア・プログラム（マルウェア等）の分析にも適用可能である。この場合、あるソフトウェア・プログラムの活動に応じて記録されるログを分析することで、分析者は、そのソフトウェア・プログラムが悪意のある活動を実行するか否かを調査する。以下、分析対象のソフトウェア・プログラムを、検体（サンプル（ｓａｍｐｌｅ））と記載することがある。【０００８】
検体によっては、記録されるログが多くなることがある。また、セキュリティに関連する技術知識を習得することは必ずしも容易ではなく、分析者の経験、習熟度によって、ログを適切に分析することが困難なことがある。即ち、記録されたログのうち、着目すべき重要な部分を判断することは、分析者にとって困難なことがある、という問題がある。【０００９】
これに対して、上記特許文献１に記載された技術は、ユーザが手作業でログのフィルタリングを設定するための技術である。また、上記特許文献２に記載された技術は、電子ファイルに関するユーザの操作及び価値判断に応じて、ある電子ファイルの価値を判定する技術である。即ち、上記各特許文献に記載された技術は、上述した問題を解決可能な技術ではない。【００１０】
本開示に係る技術は、このような事情を鑑みて開発されたものである。即ち、本開示は、あるログの重要性を適切に判定可能な技術を提供することを、主たる目的の一つとする。
【課題を解決するための手段】
【００１１】
上記目的を達成すべく、本開示の一態様に係る分析装置は、以下のような構成を備える。即ち、本開示の一態様に係る分析装置は、ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、上記ログエントリである１以上の第２ログエントリから抽出した、上記第１特徴量とは異なる第２特徴量と、を用いて、上記第１ログエントリに関する特徴情報を作成可能に構成された特徴抽出部と、上記第１ログエントリに関する上記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の上記ログエントリに関する重要度を判定可能な分析モデルを作成する分析モデル作成部と、を備える。【００１２】
また、本開示の他の一態様に係る分析方法は、以下のような構成を備える。即ち、本開示の一態様に係る分析方法は、ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、上記ログエントリである１以上の第２ログエントリから抽出した、上記第１特徴量とは異なる第２特徴量と、を用いて、上記第１ログエントリに関する特徴情報を作成し、上記第１ログエントリに関する上記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の上記ログエントリに関する重要度を判定可能な分析モデルを作成することを含む。【００１３】
また、上記目的は、上記構成を有する分析装置、分析方法等をコンピュータによって実現するコンピュータ・プログラム（分析プログラム）、及び、そのコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記録媒体等によっても達成される。【００１４】
即ち、本開示の他の一態様に係る分析プログラムは、以下のような構成を備える。即ち、本開示の一態様に係る分析プログラムは、ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、上記ログエントリである１以上の第２ログエントリから抽出した、上記第１特徴量とは異なる第２特徴量と、を用いて、上記第１ログエントリに関する特徴情報を作成する処理と、上記第１ログエントリに関する上記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の上記ログエントリに関する重要度を判定可能な分析モデルを作成する処理とを、コンピュータに、実行させる。なお、本開示の一態様に係る記録媒体には、上記したコンピュータ・プログラムが記録されてもよい。
【発明の効果】
【００１５】
本開示によれば、あるログの重要性を適切に判定することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本開示の第１実施形態における分析装置の機能的な構成を例示するブロック図である。
【図２】図２は、ログの具体例を示す説明図である。
【図３】図３は、ログから特徴情報を生成する過程の概要を例示する説明図である。
【図４】図４は、教師データの具体例を示す説明図である。
【図５】図５は、教師ラベルが設定されたログの具体例を示す説明図である。
【図６】図６は、本開示の第１実施形態における分析装置の動作の一例を示すフローチャートである。
【図７】図７は、本開示の第２実施形態における分析装置の機能的な構成を例示するブロック図である。
【図８】図８は、本開示の第２実施形態における分析装置の、他の機能的な構成を例示するブロック図である。
【図９】図９は、本開示の第２実施形態における分析装置の、更に他の機能的な構成を例示するブロック図である。
【図１０】図１０は、本開示の第２実施形態におけるログの具体例を示す説明図である。
【図１１】図１１は、本開示の第２実施形態における教師データの具体例を示す説明図である。
【図１２】図１２は、本開示の第２実施形態における第１特徴量の具体例を示す説明図である。
【図１３】図１３は、本開示の第２実施形態における第２特徴量の具体例を示す説明図である。
【図１４】図１４は、本開示の第２実施形態における第２特徴量の他の具体例を示す説明図である。
【図１５】図１５は、本開示の第２実施形態における第２特徴量の更に他の具体例を示す説明図である。
【図１６】図１６は、本開示の第２実施形態における第２特徴量の更に他の具体例を示す説明図である。
【図１７】図１７は、本開示の第２実施形態における分析モデルの学習フェーズ及び評価フェーズの概要を示す説明図である。
【図１８】図１８は、本開示の第２実施形態における分析装置が生成するユーザインタフェースの具体例を示す説明図である。
【図１９】図１９は、本開示の第２実施形態における分析装置が生成するユーザインタフェースの他の具体例を示す説明図である。
【図２０】図２０は、本開示の第２実施形態における分析装置が生成するユーザインタフェースの更に他の具体例を示す説明図である。
【図２１】図２１は、本開示の第２実施形態における分析装置の動作の一例を示すフローチャートである。
【図２２】図２２は、本開示の第２実施形態の変形例１における分析装置の機能的な構成を例示するブロック図である。
【図２３】図２３は、本開示の第２実施形態の変形例１において、外部コンテキスト情報を用いて特徴情報を作成する過程の概要を示す説明図である。
【図２４】図２４は、本開示の第２実施形態の変形例１における分析装置の動作の一例を示すフローチャートである。
【図２５】図２５は、本開示の第２実施形態の変形例２における分析装置の機能的な構成を例示するブロック図である。
【図２６】図２６は、本開示の第２実施形態の変形例３における分析装置の機能的な構成を例示するブロック図である。
【図２７】図２７は、本開示の各実施形態に係る分析装置を実現可能なハードウェア装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
各実施形態の詳細な説明に先立って、本開示における技術的な検討事項等について説明する。以下、説明の便宜上、悪意のあるソフトウェア・プログラムを総称して、マルウェアと記載する。
【００１８】
マルウェアの活動を検知して分析する技術として、例えば、シグネチャ型の分析技術と、サンドボックス型の分析技術とが知られている。
【００１９】
シグネチャ型の分析技術においては、検出すべきデータや動作パターンが、予めシグネチャとして定義される。例えば、ある検体に関連するデータや、その検体の挙動が、シグネチャに合致する場合、その検体がマルウェアとして検知される。
【００２０】
シグネチャ型の分析技術では、多種多様なマルウェア（新種、亜種含む）に対処しきれないことがあることから、サンドボックス型の分析技術が用いられることがある。
【００２１】
サンドボックスは、分析対象の検体を実行可能な、保護された隔離環境である。サンドボックスは、例えば、仮想環境等を用いて実現することができる。サンドボックス内における検体の動作は、サンドボックス外に影響を与えることがない。このため、サンドボックス型の分析技術においては、例えば、サンドボックス内にて検体を実行し、その動作を監視することで、その検体に関する分析結果を生成することができる。
【００２２】
サンドボックス型の分析技術を用いて検体を分析した場合、例えば、分析結果として、その検体がマルウェアであるか否かの判定結果、検体の動作に関するサマリ、検体の動作のログ（動作ログ）、等が得られる。
【００２３】
一方、サンドボックス型の分析技術による分析結果の信頼性が、必ずしも十分ではないことがある。例えば、カスタマイズされた新種のマルウェア等、未知の検体については、必ずしも信頼性が高い分析結果が得られないことがある。
【００２４】
このような状況においては、分析者は、例えば、サンドボックス環境において検体を実行することで得られたログを詳しく確認することで、その検体の挙動を調査することになる。検体ごとに記録されるログの量、頻度が異なることから、分析者は、場合によっては、大量のログの中から重要なログを確認することを求められる。また、あるログの重要度を判定するために、分析者は、ログの間の関連性、ログの出力順序、特定の特徴を有するログの量及び頻度等、種々の要素を考慮することを求められる。分析に要する時間、分析者の経験（習熟度）等の制約から、ログの分析は、分析者にとって必ずしも容易ではない。
【００２５】
上記のような状況から、本出願人は、人手に依らずに、あるログの重要度を適切に判定可能な技術である、本開示に係る技術を着想するに至った。
【００２６】
以下において説明する本開示に係る技術は、例えば、ソフトウェア・プログラムの動作が記録されたログと、そのログの重要度を表す情報と、を学習データとして用いて、他のログの重要度を判定可能なモデルを学習する構成を含んでもよい。また、本開示に係る技術は、ログを構成する、ある一つのログエントリから取得した特徴量と、そのログのコンテキストを表す特徴量と、を用いて、当該一つのエントリに関する特徴情報を生成する構成を含んでもよい。ログエントリ及びログのコンテキストについては後述する。また、本開示に係る技術は、例えば、学習済みのモデルを用いて判定したログの重要度に応じて、あるログを分析者に方法を制御可能な構成を含んでもよい。
【００２７】
上記のような構成を含む本開示に係る技術によれば、例えば、学習されたモデルを用いてログの重要度を判定することで、分析者の人手によらずに、あるログの重要性を適切に判定可能である。
【００２８】
また、本開示に係る技術によれば、あるログの重要性に応じて、そのログを分析者に提示する方法を制御可能である。これにより、例えば、分析者は、大量のログの中から比較的重要性が高いログに着目して、検体の分析をすすめることができる。
【００２９】
以下、本開示に係る技術について、具体的な実施形態を用いて更に詳細に説明する。以下の具体的な実施形態（及びその変形例）の構成は例示であり、本開示に係る技術の技術範囲は、それらには限定されない。以下の各実施形態を構成する構成要素の分割（例えば、機能的な単位による分割）は、その実施形態を実現可能な一例である。各実施形態を実現可能な構成は、以下の例示に限定されず、様々な構成が想定され得る。以下の各実施形態を構成する構成要素は、更に分割されてもよく、また、以下の各実施形態を構成する１以上の構成要素が統合されてもよい。
【００３０】
以下に例示する各実施形態が１以上の物理的装置、仮想的装置、及びその組合せを用いて実現される場合、１以上の構成要素が１以上の装置により実現されてもよく、１つの構成要素が複数の装置を用いて実現されてもよい。
【００３１】
＜第１実施形態＞
以下、本開示に係る技術を実現可能な第１の実施形態（第１実施形態）について説明する。以下において説明する分析装置は、単体の装置（物理的又は仮想的な装置）として実装されてもよく、複数の離間した装置（物理的又は仮想的な装置）を用いたシステムとして実装されてもよい。分析装置が、複数の装置を用いて実装される場合、各装置の間は有線、無線、又はそれらを適切に組み合わせた通信ネットワークにより通信可能に接続されてもよい。以下において説明する分析装置を実現可能なハードウェア構成については、後述する。
【００３２】
図１は、本実施形態における分析装置１００の機能的な構成を概念的に示すブロック図である。
【００３３】
図１に例示するように、本実施形態における分析装置１００は、特徴抽出部１０１（特徴抽出手段）と、分析モデル作成部１０２（分析モデル作成手段）とを備える。分析装置１００を構成するこれらの構成要素の間は、適切な通信方法を用いて通信可能に接続されていてよい。
【００３４】
分析装置１００には、あるソフトウェア・プログラム（検体）の動作に関する情報が記録されたログが提供される。
【００３５】
ログには、例えば、あるソフトウェア・プログラムが実行した各種の処理（例えば、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）コール、ファイルアクセス、プロセス制御（起動及び終了等）、通信処理、レジストリアクセス、システムコール、等）を表す情報が含まれてもよい。
【００３６】
ログの一例を、図２に示す。なお、図２に示すログは、説明の便宜のための具体例であり、本開示に係る技術は、これに限定されない。
【００３７】
ログ２００には、レコード識別子２００ａと、ログエントリ２００ｂとを含む１以上のレコードが記録される。ログ２００に含まれる個々のレコードは、あるソフトウェア・プログラムを実行することで観察されたソフトウェア・プログラムの動作を表す動作情報である。図２に示す具体例の場合、６個のレコードが例示されている。
【００３８】
レコード識別子２００ａは、例えば、あるログに含まれるレコードを特定可能な識別情報である。レコード識別子２００ａには、ソフトウェア・プログラムの動作のシーケンス（順序）を特定可能な情報が記録されてもよい。レコード識別子２００ａには、例えば、各処理が実行されたタイミングを特定可能な情報（時刻又は、経過時間を表す情報等）が記録されてもよい。
【００３９】
ログエントリ２００ｂには、ソフトウェア・プログラムにより実行された処理の内容（ソフトウェア・プログラムの動作）を表す情報が記録される。ログエントリ２００ｂに記録される情報は特に限定されず、ソフトウェア・プログラムにより実行される処理に応じて、適切な情報が記録される。ログエントリ２００ｂには、例えば、ソフトウェア・プログラムにより実行された処理を特定可能な情報、その処理に用いられるデータを表す情報、その処理の対象を特定可能な情報、等が適宜含まれてよい。
【００４０】
以下、分析装置１００の各構成要素について説明する。
【００４１】
特徴抽出部１０１は、ソフトウェア・プログラムの動作が記録されたログ（例えば、ログ２００）に含まれる１以上のレコードから、そのレコード(特には、そのレコードに含まれるログエントリ)を表す特徴情報を作成する。具体的には、特徴抽出部１０１は、ログ２００のうち、学習データとして用いられるある一つのレコードを選択（特定）し、そのログエントリの特徴を表す特徴量を抽出する。以下、学習データとして用いられるレコードのログエントリを、「第１ログエントリ」と記載し、そのログエントリから抽出される特徴量を「第１特徴量」と記載する場合がある。
【００４２】
本実施形態における第１特徴量は、特に限定されず、第１ログエントリの形式、内容等に応じて適切な特徴量が選択されてよい。第１特徴量は、例えば、第１ログエントリに記録された情報を文字列表現した場合の、文字列から抽出可能な特徴量であってもよい。第１特徴量は、例えば、第１ログエントリに記録された情報を数値として表現した特徴量であってもよい。第１特徴量は、１以上の要素からなるベクトル（特徴ベクトル）として表されてもよい。
【００４３】
特徴抽出部１０１は、ログ（例えばログ２００）に含まれる１以上のレコードから、第１特徴量とは別の特徴量（「第２特徴量」と記載することがある）を抽出する。以下、第２特徴量の作成に用いられるレコードのログエントリを、「第２ログエントリ」と記載する。図２に示す具体例の場合、特徴抽出部１０１は、ログ２００に含まれる１以上のレコードを選択（特定）し、それらレコードのログエントリ（第２ログエントリ）に基づいて第２特徴量を抽出する。第２特徴量は、第１特徴量は異なる特徴量であってよい。
【００４４】
第２ログエントリは、例えば、記録された内容が、ある特定の基準を満たすようなログエントリであってもよい。係る基準の具体例として、以下に例示する基準のいずれか一つ以上が用いられてもよいが、これらには限定されない。
【００４５】
（１）同じソフトウェア・プログラムの実行過程で記録されたログエントリであること
【００４６】
（２）あるソフトウェア・プログラムの実行過程で実行された、同じプロセスに関するログエントリであること
【００４７】
（３）あるログエントリが記録されたタイミングと前後するタイミングで記録されたログエントリであること。
【００４８】
ある一つのレコードのログエントリが、第１ログエントリ及び第２ログエントリのいずれか一方にのみに用いられてもよく、両方に用いられてもよい。特徴抽出部１０１は、第１ログエントリを含むログ２００から、第２ログエントリを抽出してもよく、第１ログエントリを含まない他のログ２００から、第２ログエントリを特定してもよい。
【００４９】
第２特徴量は、例えば、あるログに含まれる１以上の第２ログエントリに基づいて抽出される、そのログのコンテキストを表す特徴量である。コンテキストは、例えば、あるログに関連する背景情報や、あるログの包括的な特徴を表す情報であってよい。なお、第２特徴量は、１以上の要素からなるベクトル（特徴ベクトル）として表されてもよい。
【００５０】
特徴抽出部１０１は、あるログに含まれる一つの第１ログエントリから抽出した第１特徴量と、そのログに含まれる１以上の第２ログエントリから抽出した第２特徴量と、を用いて、その第１ログエントリに関する特徴情報を生成する。即ち、第１ログエントリの特徴情報は、第１ログエントリから直接的に抽出される特徴量と、１以上の第２ログエントリに基づいて抽出される、ログのコンテキストを表す特徴量と、を含む。第１特徴量及び第２特徴量が特徴ベクトルとして表される場合、第１ログエントリの特徴情報は、それらの特徴ベクトルの要素をすべて含むベクトル（特徴ベクトル）として表されてもよい。
【００５１】
図２に示す具体例において、符号”Ｌ１”が付されたレコード２０１が、第１ログエントリ（以下「第１ログエントリＬ１」と記載する）を含むレコード、符号”Ｌ２＿１”〜”Ｌ２＿４”が付されたレコードが、第２ログエントリ（以下「第２ログエントリＬ２＿１」等と記載する）レコードであることを想定する。以下、図３を参照して、図２に示すログ２００から、第１ログエントリＬ１に関する特徴情報を生成する過程について説明する。
【００５２】
特徴抽出部１０１は、第１ログエントリＬ１から、当該第１ログエントリＬ１に関する第１特徴量を抽出する。図３においては、第１特徴量は、要素”ｘ１”〜”ｘＮ”を含む”Ｎ”次元（”Ｎ”は自然数）の特徴ベクトル（第１特徴ベクトル）として表される。
【００５３】
特徴抽出部１０１は、第２ログエントリＬ２＿１〜第２ログエントリＬ２＿４から、第１ログエントリＬ１に関する第２特徴量を抽出する。図３においては、第２特徴量は、要素”ｙ１”〜”ｙＭ”を含む”Ｍ”次元（”Ｍ”は自然数）の特徴ベクトル（第２特徴ベクトル）として表される。
【００５４】
特徴抽出部１０１は、抽出した第１特徴量、及び、第２特徴量を用いて、第１ログエントリＬ１に関する特徴情報を作成する。図３においては、第１ログエントリＬ１の特徴情報は、要素”ｘ１”〜”ｘＮ”及び”ｙ１”〜”ｙＭ”を含む（”Ｍ＋Ｎ”）次元の特徴ベクトルとして表される。なお、特徴ベクトルにおける要素の並び順は、特に限定されない。特徴抽出部１０１は、図３に例示するように、第１特徴ベクトルの要素と、第２特徴ベクトルの要素を直列的に並べてもよく、他の並び順で並べてもよい。
【００５５】
特徴抽出部１０１は、ログに含まれる１以上の第１ログエントリについて作成した特徴情報を、学習データとして分析モデル作成部１０２に提供してもよい。
【００５６】
分析モデル作成部１０２は、特徴抽出部１０１により作成された、あるログエントリに関する特徴情報と、そのログエントリの重要度を表す重要度情報とを用いて、他のログエントリに関する重要度を判定可能な分析モデルを作成する。具体的には、分析モデル作成部１０２は、例えば、複数の第１ログエントリに関する特徴情報と、重要度情報とを学習データ（訓練データ）として用いて、分析モデル（後述）を学習（訓練）する処理を実行する。
【００５７】
本実施形態においては、学習データとして用いられる各ログエントリに対して、予め重要度情報が教師データとして提供されることを想定する。例えば、学習データとして用いられる各ログエントリに対して、熟練した（習熟度が高い）分析者が重要度情報を設定することにより、各ログエントリに対して適切な重要度を付与することができる。このようにして作成された特徴情報を含む学習データと、重要度情報を含む教師データとには、分析者の知見が反映されているとも考えられる。そのような学習データ及び教師データを用いて訓練された分析モデルは、分析者の知見に基づいて、各ログエントリの重要度を判定可能であると考えられる。
【００５８】
ログエントリの重要度を表す重要度情報は、学習データとして用いられるログエントリに付与される教師ラベルに相当する。重要度情報の具体的な表現方法は、特に限定されない。重要度情報は、例えば、何らかのラベル（例えば「高」「中」「低」等）を用いて表されてもよく、数値を用いて表されてもよい。重要度情報は、例えば、離散値（例えば、「非重要：０」、「重要：１」等）を用いて表されてもよく、ある範囲内の連続値を用いて表されてもよい。
【００５９】
本実施形態においては、学習データとして用いられるログエントリに関連付けされた重要度情報を含む教師データが、分析装置１００（特には分析モデル作成部１０２）に提供されることを想定する。図４は、この場合の教師データの具体例を示す説明図である。図４に示す教師データは、図２に例示された各ログエントリを特定する情報（レコード識別子４００ａ）と、各ログエントリに付与された重要度情報（重要度情報４００ｂ）と、を含む。
【００６０】
上記に限定されず、例えば、第１ログエントリに関する重要度情報を含むログが、教師データを含む学習データとして提供されてもよい。図５は、この場合の具体例を示す説明図である。図５に示すログ５００は、重要度情報４００ｂを含むように、図２に示すログ２００から変更されている。
【００６１】
本実施形態においては、上記のような重要度情報を含む教師データが、予め（例えば、ログと共に）分析装置１００に与えられてもよい。また、分析装置１００は、他の装置に記憶された教師データを参照してもよい。
【００６２】
分析モデルは、あるログエントリに関する特徴情報を入力として受け付け、そのログエントリの重要度を判定可能なモデルである。分析モデルとして、例えば、教師有り機械学習及びパターン認識の分野で用いられる各種のモデル（例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、多層ニューラルネットワーク（ＮＮ：Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、勾配ブースト木、ランダムフォレスト、等）を採用可能である。なお、本実施形態は上記例示に限定されず、他のアルゴリズムを採用した分析モデルが採用されてもよい。
【００６３】
分析モデル作成部１０２は、特徴抽出部１０１から提供された第１ログエントリに関する特徴情報と、教師データとを用いて、分析モデルを学習するための適切な学習アルゴリズムを実行する。これにより、ログエントリに関する重要度を判定可能な分析モデルが学習される。
【００６４】
上記のように構成された分析装置１００の動作を、図６に例示するフローチャートを参照して説明する。
【００６５】
分析装置１００は、あるソフトウェア・プログラムの動作に関する情報が記録されたログを受け付ける（ステップＳ６０１）。
【００６６】
分析装置１００は、受け付けたログから、学習データとして用いられる各ログエントリに関する特徴情報を作成する（ステップＳ６０２）。この際、特徴抽出部１０１は、ある一つの第１ログエントリから第１特徴量を抽出し、１以上の第２ログエントリから第２特徴量を抽出する。特徴抽出部１０１は、第１及び第２特徴量を用いて、ある一つのログエントリに関する特徴情報を作成する。特徴抽出部１０１は、作成した特徴情報を、学習データとして分析モデル作成部１０２に提供してよい。
【００６７】
分析装置１００は、ログエントリの特徴情報を含む学習データと、そのログエントリに付与された重要度情報を含む教師データと、を用いて、分析モデルの学習処理を実行する。これにより、分析装置１００は、あるログエントリに関する重要度を判定可能な分析モデルを作成することができる。
【００６８】
上記のように構成された本実施形態における分析装置１００によれば、あるログの重要性を適切に判定することが可能である。その理由は、以下の通りである。
【００６９】
分析装置１００は、学習データとして用いられるログに含まれるログエントリの特徴情報を作成する。分析装置１００は、上記のように作成された特徴情報を含む学習データと、ログエントリに付与された重要度情報を含む教師データと、を用いて分析モデルを学習する。上記のようにして学習された分析モデルを用いることで、分析装置１００は、例えば、学習データに含まれないログエントリの重要度を判定することができる。
【００７０】
例えば、熟練した分析者が作成した教師データを用いて分析モデルを学習することにより、分析者の知見が反映された分析モデルを作成可能であると考えられる。このような分析モデルを用いることで、ログエントリの重要度を、より適切に判定可能であると考えられる。
【００７１】
また、本実施形態における分析装置１００は、ログに含まれる一つのログエントリから抽出される第１特徴量と、１以上のログエントリに基づいて抽出される、ログのコンテキストを表す第２特徴量と、を用いて、ある一つのログエントリに関する特徴情報を作成する。即ち、ある一つのログエントリに関する特徴情報には、ログのコンテキストが反映される。
【００７２】
分析者があるログエントリの重要性を判断する際、単独のログエントリだけではなく、ログに記録された情報の全体像、前後のログエントリの内容、そのログエントリに記録された情報に関連する他のログエントリの内容、等を確認することがある。このように、単独のログエントリだけではなく、ログのコンテキストを確認することで、あるログエントリの重要性を、より適切に判断することができると考えられる。
【００７３】
これに対して、本実施形態において、分析装置１００は、一つのログエントリから抽出した特徴量と、ログに関するコンテキストから抽出した特徴量と、を含む特徴情報を作成することができる。即ち、分析装置１００は、ログのコンテキストが反映された特徴情報を用いることで、ログエントリの重要性をより適切に判断可能な分析モデルを作成可能であると考えられる。
【００７４】
＜第２実施形態＞
以下、上記第１実施形態を基本とした、本開示に係る技術の第２の実施形態（第２実施形態）について説明する。
【００７５】
〔分析装置７００の構成〕
図７は、本実施形態における分析装置７００の機能的な構成を概念的に示すブロック図である。分析装置７００は、調査対象のソフトウェア・プログラム（後述する「検体」）の実行により生成されるログを分析する装置である。
【００７６】
検体検査装置８００は、サンドボックス型の技術を用いて隔離された環境において検体８０１を実行することにより、検体８０１を動的に解析することが可能な装置である。検体検査装置８００は、例えば、セキュリティアプライアンス製品等を用いて実現されてもよく、サンドボックス環境を実現するソフトウェア・プログラムが導入されたコンピュータ等の情報処理装置を用いて実現されてもよい。
【００７７】
検体検査装置８００は、検体８０１によって実行される処理（即ち、検体８０１の動作）を検知する機能を備えている。検体検査装置８００が検知可能な検体８０１の動作には、例えば、特定のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の呼び出し、システムコールの呼び出し、コードインジェクション、実行ファイルの作成、スクリプトファイルの実行、特定のサービスの停止、ファイルアクセス、レジストリアクセス、特定の通信先との通信等、が含まれてよい。
【００７８】
検体検査装置８００は、検体を解析する過程で検知した検体８０１の動作を、ログ（動作ログ）として記録し、分析装置７００に提供する。検体検査装置８００により提供されるログの具体的な内容については、後述する。
【００７９】
検体検査装置８００は、検体８０１を解析することで得られるログ以外の情報を、分析装置７００に提供してもよい。ログ以外の情報には、例えば、検体８０１がマルウェアか否かの一次的な判定結果が含まれてもよい。また、係る情報には、例えば、検体８０１の動作に関するサマリ（悪質な行動、プロセスの起動及び終了、ファイルアクセス、通信、レジストリアクセス、ＡＰＩコール等に関する概要）が含まれてもよい。
【００８０】
以下、本実施形態における分析装置７００の具体的な構成について説明する。分析装置７００は、基本的な構成として、特徴抽出部７０１（特徴抽出手段）と、分析モデル作成部７０２（分析モデル作成手段）と、を備える。分析装置７００は、例えば、図８に示すように、重要度算出部７０３（重要度算出手段）と、表示制御部７０４（表示制御手段）とを更に備えてもよい。分析装置７００は、例えば、図９に示すように、動作ログ提供部７０５（ログ提供手段）と、教師データ提供部７０６（教師データ提供手段）と、を更に備えてもよい。これらの構成要素の間は、適切な通信方法を用いて通信可能に接続されていてよい。以下、各構成要素について説明する。
【００８１】
特徴抽出部７０１は、検体検査装置８００から提供されるログに含まれる１以上のレコードのログエントリについて、そのログエントリを表す特徴情報を作成する。特徴抽出部７０１は、第１実施形態における特徴抽出部１０１と同様、第１ログエントリから抽出された第１特徴量と、複数の第２ログエントリから抽出された第２特徴量とを用いて、あるログエントリに関する特徴情報を作成する。各特徴量の具体例については後述する。
【００８２】
分析装置７００に、後述する動作ログ提供部７０５が含まれる場合、特徴抽出部７０１は、動作ログ提供部７０５からログを取得してもよい。
【００８３】
特徴抽出部７０１は、あるログの内、重要度の評価対象であるレコードのログエントリに関する特徴情報を作成し、評価対象データとして重要度算出部７０３に提供してもよい。
【００８４】
分析モデル作成部７０２は、特徴抽出部７０１により作成された、あるログエントリに関する特徴情報と、そのログエントリの重要度を表す重要度情報（教師データ）とを用いて、他のログエントリに関する重要度を判定可能な分析モデルを作成する。
【００８５】
具体的には、分析モデル作成部７０２は、例えば、第１実施形態における分析モデル作成部１０２と同様、複数の第１ログエントリに関する特徴情報を含む学習データと、重要度情報を含む教師データとを用いて、分析モデル（後述）を学習（訓練）する処理を実行する。本実施形態における分析モデルについては、後述する。
【００８６】
分析装置７００が、後述する教師データ提供部７０６を含む場合、分析モデル作成部７０２は、教師データ提供部７０６から、教師データを取得してもよい。また、分析モデル作成部７０２は、作成された分析モデルを、重要度算出部７０３に提供してもよい。
【００８７】
重要度算出部７０３は、分析モデル作成部７０２において作成された分析モデルを用いて、あるログに含まれるログエントリの重要度を算出する。具体的には、重要度算出部７０３は、あるログエントリについて作成された特徴情報を分析モデルに入力として与えることで、そのログエントリに関する重要度を算出する。重要度を算出するための具体的な方法については、後述する。重要度算出部７０３は、あるログエントリに関して算出された重要度を、表示制御部７０４に提供する。
【００８８】
表示制御部７０４は、重要度算出部７０３において算出された重要度に応じて、ある検体に関するログの表示方法を制御する。表示制御部７０４は、例えば、後述する動作ログ提供部７０５から、ある検体に関するログを取得し、重要度算出部７０３から、そのログに含まれるログエントリに関する重要度を受け付けてもよい。
【００８９】
具体的には、表示制御部７０４は、例えば、提供されたログに含まれる各ログエントリを表示するか否かを制御可能なユーザインタフェースの表示に用いられるデータ（以下「表示データ」と記載する）を生成する。係るユーザインタフェースは、例えば、あるログエントリの重要度に応じて、そのログエントリの表示方法を制御可能な制御要素を含んでもよい。表示制御部７０４は、適切な表示装置（各種モニタ画面、パネル等）に対して表示データを提供することで、係るユーザインタフェースを、分析装置１００のユーザに提示してもよい。表示装置の具体的な構成は特に限定されず、適宜選択されてよい。表示装置は、分析装置７００の内部に設けられてもよく、外部に設けられてもよい。
【００９０】
上記に限定されず、表示制御部７０４は、通信ネットワークを介して接続された外部デバイスに表示データを提供してもよい。表示制御部７０４により作成される表示データの具体例については、後述する。
【００９１】
動作ログ提供部７０５は、検体検査装置８００から、検体８０１を実行する過程で記録されたログを受け付け、そのログを保持(記憶）する。動作ログ提供部７０５は、特徴抽出部７０１及び表示制御部７０４からのリクエストに応じて、それらに対してログを提供してもよい。
【００９２】
教師データ提供部７０６は、あるログに含まれるログエントリに対して付与された重要度情報を保持（記憶）する。教師データ提供部７０６には、例えば、分析装置７００のユーザ等により、予め教師データが提供されてよい。係る教師データは、例えば、上記したように、あるログについて、分析者が人手により判定した重要度を表す情報が含まれてもよい。
【００９３】
教師データ提供部７０６は、例えば、学習データとして用いられるログエントリを特定可能な情報と、そのログエントリについて分析者等により予め設定された重要度情報とを、関連付けて記憶してもよい。
【００９４】
教師データ提供部７０６は、例えば、分析モデル作成部７０２からのリクエストに応じて、あるログエントリに関する重要度情報を、教師データとして提供してもよい。また、教師データ提供部７０６は、表示制御部７０４からのリクエストに応じて、あるログエントリに関する重要度情報を提供してもよい。
【００９５】
〔ログの内容〕
以下、検体検査装置８００において記録されたログについて説明する。図１０は、検体検査装置８００において記録されたログ（ログ１０００）の一例を示す説明図である。
【００９６】
図１０に例示するように、ログ１０００には、例えば、ソフトウェア・プログラムにより実行された処理を表す情報が記録された、１以上のレコード（行）が含まれる。ログ１０００のレコードには、例えば、ログエントリ毎に、検体ＩＤ１０００ａと、シーケンス番号１０００ｂと、ログエントリ１０００ｃとが含まれる。
【００９７】
検体ＩＤ１０００ａは、実行された検体を特定可能な識別情報（ＩＤ：Ｉｄｅｎｔｉｆｉｅｒ）である。シーケンス番号１０００ｂは、ログエントリが記録されたシーケンス（順序）を特定可能な情報である。シーケンス番号１０００ｂには、検体ＩＤ１０００ａにより識別される検体ごとに、重複しない値が設定されてよい。
【００９８】
ログエントリ１０００ｃには、検体により実行される処理に応じて、適切な情報が記録される。ログエントリ１０００ｃは、１以上のフィールドが含まれてもよい。ログエントリ１０００ｃを構成する各フィールドに記録される情報は特に限定されず、例えば、以下のような情報が記録されてもよい。
【００９９】
ログエントリ１０００ｃには、検体により実行された処理の種類（以下「ログ種別」と記載する）を特定可能な情報として、”ｔｙｐｅ”フィールドが記録されてもよい。ログ種別を表す”ｔｙｐｅ”フィールドには、一例として、ファイルアクセス（”ｔｙｐｅ：ｆｉｌｅ”）、プロセス制御(”ｔｙｐｅ：ｐｒｏｃｅｓｓ”）、レジストリアクセス（”ｔｙｐｅ：ｒｅｇｉｓｔｒｙ”）、通信処理（”ｔｙｐｅ：ｎｅｔｗｏｒｋ”）、等が含まれてもよい。ログ種別には、上記以外の情報が設定されてもよい。
【０１００】
ログエントリ１０００ｃには、ログ種別により特定された処理の具体的な実行内容を表す情報（”ｍｏｄｅ” フィールド）が記録されてよい。例えば、ログ種別がプロセス制御(”ｔｙｐｅ：ｐｒｏｃｅｓｓ”）である場合、”ｍｏｄｅ”フィールドにはプロセスの開始（”ｓｔａｒｔ”）、停止（”ｓｔｏｐ”）を表す情報が設定されてもよい。例えば、ログ種別がファイルアクセス（”ｔｙｐｅ：ｆｉｌｅ”）である場合、”ｍｏｄｅ”フィールドにはファイルオープン（”ｏｐｅｎ”）、クローズ（”ｃｌｏｓｅ”）を表す情報が設定されてもよい。例えば、ログ種別がレジストリアクセス（”ｔｙｐｅ：ｒｅｇｉｓｔｒｙ”）である場合、”ｍｏｄｅ”フィールドにはレジストリに対する値の設定（”ｓｅｔ−ｖａｌｕｅ”）を表す情報が設定されてもよい。例えば、ログ種別が通信処理（”ｔｙｐｅ：ｎｅｔｗｏｒｋ”）である場合、”ｍｏｄｅ”フィールドには通信処理に関するプロトコルを特定可能な情報（たとえば、”ｄｎｓ”、”ｈｔｔｐ”等）を表す情報が設定されてもよい。
【０１０１】
ログエントリ１０００ｃには、例えば、検体により実行された処理に関連するリソースや、処理において用いられたパラメータを表す情報が記録されてもよい。図１０に示す具体例の場合、”ｐａｔｈ”フィールドには、例えば、実行されるファイル、アクセスされるファイルのパスを表す情報が記録されている。”ｋｅｙ”フィールドには、レジストリキーを表す情報が記録されている。”ｖａｌｕｅ”フィールドには、レジストリに設定される値を表す情報が記録されている。”ｈｏｓｔ”フィールドには、通信先を特定可能な情報が記録されている。”ｉｐ”フィールドには、通信先のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを表す情報が記録されている。”ｈｅａｄｅｒｓ”フィールドには、ある通信プロトコルにより送受信されるデータに含まれるヘッダを表す情報が記録されている。
【０１０２】
ログエントリ１０００ｃには、例えば、あるログエントリが出力された処理を実行したプロセスを特定可能な情報（”ｐｉｄ”フィールド）が記録されてもよい。
【０１０３】
ログエントリ１０００ｃには、例えば、あるログエントリが記録されたタイミング（例えば、時刻や経過時間等）を特定可能な情報（”ｔｉｍｅｓｔａｍｐ”フィールド）が記録されてもよい。
【０１０４】
ログエントリ１０００ｃには、上記例示した各フィールドのうち、一部が記録されてもよく、上記例示したフィールド以外のフィールドが記録されてもよい。
【０１０５】
例えば、図１０に示すシーケンス番号が”１”であるレコードは、実行ファイル”￥ｔｅｍｐ￥ａｂｃｄｅ．ｅｘｅ”を実行するプロセスが開始されたことを示す。シーケンス番号が”９”であるレコードは、”￥ｔｅｍｐ￥ａｂｃｄｅ．ｅｘｅ”のプロセスが停止されたことを示す。また、シーケンス番号が”２”及び”３”のレコードは、”ｋｅｙ”により指定された特定のレジストリキーに対して”ｖａｌｕｅ”により指定された値を設定することを示す。また、シーケンス番号が”４”、”５”及び”８”のレコードは、それぞれファイルアクセス（ファイルオープン、クローズ、削除）を示す。また、シーケンス番号が”６”、”７”のレコードは、それぞれ特定の通信先との間の通信を示す。
【０１０６】
〔教師データ〕
以下、分析装置７００に提供される教師データについて説明する。上記したように、分析装置７００が教師データ提供部７０６を含む場合、教師データは教師データ提供部７０６に記憶されてよい。
【０１０７】
図１１は、本実施形態における教師データの具体例を示す説明図である。図１１に例示するように、教師データは、検体ＩＤ１１００ａと、シーケンス番号１１００ｂと、教師スコア１１００ｃと、を含む、１以上のレコード（行）を含む。検体ＩＤ１１００ａは、図１０に例示する検体ＩＤ１０００ａと同様、ある検体８０１を特定可能な識別情報である。また、シーケンス番号１１００ｂは、図１０に例示するシーケンス番号１０００ｂと同様、ログエントリが記録されたシーケンス（順序）を特定可能な情報である。
【０１０８】
教師スコア１１００ｃは、検体ＩＤ１１００ａ及びシーケンス番号１１００ｂにより特定されるログエントリに関する重要度を表す。教師スコア１１００ｃには、例えば、重要度に応じてある特定の範囲の連続値(例えば、”０．０”〜”１．０”の間の数値）が設定されてもよい。また、教師スコア１１００ｃには、重要、非重要を表す数値（例えば重要：”１”、非重要：”０”）や、ラベルが設定されてもよい。教師スコア１１００ｃは、後述する分析モデルの学習過程で、教師ラベルとして用いられる。
【０１０９】
〔第１特徴量〕
以下、特徴抽出部７０１が第１ログエントリから抽出する第１特徴量について説明する。以下においては、説明の便宜上、あるレコードのログエントリに記録されたデータを、文字列又は数値により表現可能なデータとして扱う事を想定する。なお、この場合、特徴抽出部７０１は、第１ログエントリに記録された情報を、適宜文字列及び数値に変換してもよい。
【０１１０】
一例として、第１特徴量は、ログエントリ１０００ｃの記録を文字列として表した場合の、Ｎ−グラム（Ｎ−ｇｒａｍ）の出現頻度を表してもよい。ここでは、Ｎ−グラムは、１文字以上の文字で構成される文字列の並びを表す。例えば、ユニグラムは１つの文字列の並び、２−グラム（バイグラム）は２つの文字列の並び、３−グラム（トライグラム）は、３つの文字列の並びを表す。
【０１１１】
例えば、ログエントリ１０００ｃが、ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ  Ｓｔａｎｄａｒｄ  Ｃｏｄｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）コードの印字可能文字（０ｘ２１〜０ｘ７Ｅ、９４個）により表現可能な文字列として表されることを想定する。特徴量として１文字単位のユニグラム（１文字の並び）の出現頻度（ヒストグラム）を用いる場合、図１２の（Ａ）部分に示すような、９４次元の特徴量（特徴ベクトル）が得られる。図１２の（Ａ）に示す特徴ベクトル（図１２の１２０１）における各要素は、一つのログエントリの中で、特定のＡＳＣＩＩコードで表される文字が出現する数を表す。２文字以上の並びについても、同様の方法で特徴量を抽出可能である。また、特徴抽出部７０１は、ログエントリに含まれるフィールドごとのＮ−グラムの出現頻度を、特徴量として用いてもよい。この場合、例えば、”ｍｏｄｅ”フィールドにおける出現頻度、”ｔｙｐｅ”フィールドにおける出現頻度、等が特徴量として用いられる。
【０１１２】
他の一例として、第１特徴量は、特定の区切り文字（セパレータ）によりログエントリを単語に分割した際の、各単語の出現頻度を表してもよい。
【０１１３】
一例として、特徴抽出部７０１は、あるログ１０００に出現する単語を含む辞書を用いて、その辞書に含まれる各単語が、ログエントリにおいて出現する頻度を計数してもよい。この場合、図１２の（Ｂ）部分に示すような”Ｎ”次元（”Ｎ”は自然数）の特徴ベクトル（図１２の１２０２）が得られる。ここで、Ｎは辞書に含まれる単語の数であり、特徴ベクトルの各要素は、辞書に含まれる各単語の出現頻度を表す。
【０１１４】
辞書は予め分析装置７００に提供されてもよい。また、特徴抽出部１０１が、１以上のログから、適切な基準を用いて単語を選択することで、辞書を作成してもよい。セパレータは適宜選択可能であり、例えば、”；”、”，”、”／”等の文字がセパレータとして用いられてもよい。
【０１１５】
図１２に示す具体例の場合、特徴ベクトル１２０２の第１要素は、単語”ｔｙｐｅ”の出現頻度を表し、第２要素は、単語”ｐｒｏｃｅｓｓ”の出現頻度を表す。同様にして、特徴ベクトル１２０２の各要素には、辞書に含まれる各単語の出現頻度が設定される。
【０１１６】
他の一例として、特徴抽出部７０１は、例えば、分割した単語からインデックスを算出してもよい。特徴抽出部７０１は、例えば、”Ｎ”次元の特徴ベクトル（初期値は全要素が”０”）を生成する。そして、特徴抽出部７０１は、例えば、分割した単語のハッシュ値を計算し、そのハッシュ値の”Ｎ”による剰余（”０”〜（”Ｎ−１”））を、その単語のインデックスとして算出する。特徴抽出部７０１は、”Ｎ”次元の特徴ベクトルの内、算出されたインデックス番目の要素の値をインクリメントする。ログエントリに含まれる全ての単語についてこのような処理を実行することで、特徴抽出部７０１は、ログエントリに含まれる各単語の出現頻度を表す特徴ベクトルを生成可能である。この場合、ハッシュ値を生成するアルゴリズムは、周知のアルゴリズムを採用してよい。また、特徴ベクトルの次元数（”Ｎ”の値）は、異なる単語が同じインデックスに割り当てられる衝突の影響を考慮して、適切な値を選択すればよい。
【０１１７】
他の一例として、ログエントリに含まれるフィールドごとの意味を表す値を用いて、第１特徴量が作成されてもよい。特徴抽出部７０１は、例えば、一つのログエントリをフィールドごとに分割し、各フィールドに記録された情報を表す値を要素として有する特徴ベクトルを生成する。この場合、例えば、図１２の（Ｃ）部分に示すようなＭ次元（Ｍは自然数）の特徴ベクトル（図１２の１２０３）が得られる。ここで、Ｍは、ログエントリに含まれ得るフィールドの総数である。一例として、”ｔｙｐｅ”フィールドに対応する特徴ベクトルの要素には、”ｔｙｐｅ”フィールドに記録された内容を表す値が設定される。また、”ｍｏｄｅ”フィールドに対応する特徴ベクトルの要素には、”ｍｏｄｅ”フィールドの内容を表す値が設定される。ログエントリにおいて数値が設定されるフィールド（例えば”ｐｉｄ”、”ｖａｌｕｅ”等）に対応する特徴ベクトルの要素には、その数値が設定されてもよい。また、例えば、ＡＰＩ呼び出しの引数等を表すビットフィールドについては、ビットごとに個別に特徴ベクトルの要素が割り当てられてもよい。
【０１１８】
特徴抽出部７０１は、上記に限定されず、ログエントリの内容を表現可能な他の特徴量を採用してもよい。ログエントリの内容を文字列として扱う場合、係る特徴量として、例えば、一般的な自然言語処理技術において用いられる各種特徴量が用いられてもよい。
【０１１９】
〔第２特徴量〕
以下、特徴抽出部７０１が抽出する第２特徴量について説明する。以下においては、説明の便宜上、第２ログエントリに記録されたデータを、文字列又は数値により表現可能なデータとして扱う事を想定する。なお、この場合、特徴抽出部７０１は、第２ログエントリに記録された情報を、適宜文字列及び数値に変換してもよい。
【０１２０】
上記したように、分析者がログを分析する際、ある一つのログエントリにのみ着目するのではなく、ログの全容や関連情報を参照することがある。分析者は、例えば、関連する複数のログエントリを確認することで、ある一つのログエントリからは得られない、あるログに特徴的なパターン（即ち、検体８０１の動作に関するパターン）を見出しているとも考えられる。このようなログに関するコンテキストから抽出した情報を特徴量として用いることにより、単一のログエントリから抽出した特徴量のみを用いる場合に比して、より適切にログエントリの重要度を判定可能な特徴量が得られると考えられる。
【０１２１】
特徴抽出部７０１は、例えば、それぞれの第２ログエントリに記録された情報から作成可能な、ログに関するコンテキストを表す情報を、第２特徴量として用いてもよい。特徴抽出部７０１は、例えば、それぞれの第２ログエントリに記載された情報を計数することで、第２特徴量を作成してもよく、それぞれの第２ログエントリに記載された情報から抽出した特徴量を用いて、第２特徴量を作成してもよい。具体的には、特徴抽出部７０１は、ログに関するコンテキストを表す第２特徴量として、以下のような特徴量を抽出してもよい。
【０１２２】
一例として、特徴抽出部７０１は、例えば、ある検体８０１を実行することで得られるログ全体のコンテキストを表す情報を、第２特徴量として抽出する。この場合の第２ログエントリは、第１ログエントリと同一の検体８０１に関するログエントリである、という基準を満たすログエントリであると言える。特徴抽出部７０１は、例えば、あるログの内、第１ログエントリを含むレコードと検体ＩＤ１０００ａが同一である他のレコードを選択することで、第２ログエントリを含むレコードを特定可能である。以下、この場合の第２特徴量の具体例について説明する。
【０１２３】
特徴抽出部７０１は、例えば、特定した全ての第２ログエントリから、プロセス毎（”ｐｉｄ”フィールドの値毎）に第２ログエントリの件数を集計し、上位”ｘ”件の件数を並べた情報を、第２特徴量として採用してよい。図１３は、この場合の第２特徴量の具体例を示す説明図である。この場合、特徴抽出部７０１は、あるログに含まれる各レコードのログエントリについて、”ｐｉｄ”フィールドの値毎に、ログエントリの件数を集計する。特徴抽出部７０１は、集計された上位Ｎ件（Ｎは自然数、図１３の例では”Ｎ＝３”）の件数（図１３の例では、”ｐｉｄ：１１１”の３０件、”ｐｉｄ：１１２”の２０件、”ｐｉｄ：１１０”の１０件）から、第２特徴量を作成する。この場合、第２特徴量は、３次元の特徴ベクトルとして表される。
【０１２４】
なお、集計された件数を全てのログエントリの件数で除算することで、第２特徴量の要素が正規化されてもよい。この場合、例えば、ある検体８０１の実行過程で実行されるプロセスの傾向（例えば、実行されるプロセスの多寡等）を、コンテキストとして第２特徴量に反映することができる。
【０１２５】
特徴抽出部７０１は、また、例えば、特定した第２ログエントリから算出した、ログ種別のヒストグラムを表す情報を、第２特徴量として採用してよい。図１４は、この場合の第２特徴量の具体例を示す説明図である。この場合、特徴抽出部７０１は、あるログに含まれる全ての第２ログエントリについて、”ｔｙｐｅ”フィールドに記録された情報を集計することでヒストグラムを作成する。特徴抽出部７０１は、そのヒストグラムの各要素（例えば、”ｆｉｌｅ”、”ｐｒｏｃｅｓｓ”、”ｒｅｇｉｓｔｒｙ”、及び、”ｎｅｔｗｏｒｋ”）について計数された度数を用いて、第２特徴量(４次元の特徴ベクトル）を作成する。この場合、例えば、ある検体８０１の実行過程で実行される処理内容の傾向を、コンテキストとして第２特徴量に反映することができる。
【０１２６】
特徴抽出部７０１は、例えば、特定した全ての第２ログエントリから抽出した、通信先の数、実行されたプロセスの数、アクセスされたファイルの数、アクセスされたレジストリの数、等の情報を、第２特徴量として採用してよい。図１５は、この場合の第２特徴量の具体例を示す説明図である。この場合、特徴抽出部７０１は、例えば、あるログから、”ｔｙｐｅ”フィールドに”ｎｅｔｗｏｒｋ”が記録された全ての第２ログエントリを選択し、そのログエントリの”ｈｏｓｔ”フィールド又は”ｉｐ”フィールドから、通信先の数を集計可能である。
【０１２７】
特徴抽出部７０１は、例えば、あるログから、”ｔｙｐｅ”フィールドに”ｆｉｌｅ”が記録された全ての第２ログエントリを選択し、そのログエントリの”ｐａｔｈ”フィールドから、アクセスされたファイル数を集計可能である。
【０１２８】
特徴抽出部７０１は、例えば、あるログから、”ｔｙｐｅ”フィールドに”ｒｅｇｉｓｔｒｙ”が記録された全ての第２ログエントリを選択し、そのログエントリの”ｋｅｙ”フィールドから、アクセスされたレジストリ数を集計可能である。
【０１２９】
特徴抽出部７０１は、例えば、ログ１０００から、”ｔｙｐｅ”フィールドに”ｐｒｏｃｅｓｓ”が記録された全ての第２ログエントリを選択し、そのログエントリの”ｐａｔｈ”フィールドから、実行されたプロセス数を集計可能である。
【０１３０】
図１５に示す具体例の場合、特徴抽出部７０１は、例えば、ログエントリの種別（”ｔｙｐｅ”）毎に、通信先の数、実行されたプロセスの数、アクセスされたファイルの数、アクセスされたレジストリの数を含む第２特徴量（４次元の特徴ベクトル）を作成する。この場合、例えば、ある検体８０１の実行過程で実行される処理によりアクセスされる、ログ種別毎のリソースの情報を、コンテキストとして第２特徴量に反映することができる。
【０１３１】
他の一例として、特徴抽出部７０１は、例えば、ある検体８０１を実行することで得られるログに含まれる、ある特定のプロセスに関するコンテキストを表す情報を、第２特徴量として抽出してもよい。
【０１３２】
具体的には、特徴抽出部７０１は、ある検体８０１を実行することで得られるログから第１ログエントリを選択し、第１ログエントリと同じプロセス（”ｐｉｄ”フィールドが同じ）に関する他のログエントリを、第２ログエントリとして特定する。この場合、第２ログエントリは、第１ログエントリと同じプロセス(”ｐｉｄ”フィールドが同じ）に関するログである、という基準を満たすと言える。
【０１３３】
この場合も上記と同様に、特徴抽出部７０１は、例えば、特定した第２ログエントリから算出したログ種別のヒストグラムを表す情報を、第２特徴量として採用してよい。また、特徴抽出部７０１は、例えば、特定した全ての第２ログエントリから抽出した、通信先の数、実行されたプロセスの数、アクセスされたファイルの数、アクセスされたレジストリの数、等の情報を、第２特徴量として採用してよい。
【０１３４】
特徴抽出部７０１は、また、あるログに含まれる、第１ログエントリと同じプロセスに関するログエントリの割合を、第２特徴量として採用してもよい。図１６は、この場合の第２特徴量の具体例を示す説明図である。この場合、特徴抽出部７０１は、あるログに含まれるログエントリの総数と、第１ログエントリと同じ”ｐｉｄ”フィールドを有する第２ログエントリの総数との割合を算出することで、第２特徴量（１次元ベクトル）を作成する。この場合、例えば、ある検体８０１の実行過程において、あるプロセスが実行された割合を、コンテキストとして第２特徴量に反映することができる。
【０１３５】
他の一例として、特徴抽出部７０１は、例えば、第１ログエントリを含むレコードが記録されたタイミングから、時系列において特定の範囲内に記録された１以上のレコードから得られるコンテキストを表す情報を、第２特徴量として抽出してもよい。
【０１３６】
より具体的には、特徴抽出部７０１は、ある検体８０１を実行することで得られるログから第１ログエントリを選択する。特徴抽出部７０１は、例えば、選択した第１ログエントリを含むレコードが記録されたタイミングから、時系列においてＮサンプル（Ｎは自然数）前のタイミングまでに記録された１以上のレコードを選択してよい。また、特徴抽出部７０１は、例えば、選択した第１ログエントリを含むレコードが記録されたタイミングから、時系列においてＭサンプル（Ｍは自然数）後のタイミングまでに記録された１以上のレコードを選択してよい。特徴抽出部７０１は、上記のように選択したレコードのうち、少なくとも１件以上のレコードに含まれるログエントリを、第２ログエントリとして特定してよい。この場合、第２ログエントリは、第１ログエントリが記録されたタイミングを含む、時系列における特定の時間範囲内に記録されたログエントリである、という基準を満たす。
【０１３７】
この場合も上記と同様に、特徴抽出部７０１は、例えば、特定した第２ログエントリから算出したログ種別のヒストグラムを表す情報を、第２特徴量として採用してよい。また、特徴抽出部７０１は、例えば、特定した全ての第２ログエントリのうち、第１ログエントリと同じプロセスに関するログの割合を、第２特徴量として採用してもよい。
【０１３８】
他の一例として、特徴抽出部７０１は、例えば、ある検体８０１を実行することで得られる、当該検体８０１の動作に関するサマリを表す情報（サマリ情報）を、第２特徴量として用いてもよい。例えば、ブラックボックス技術を採用した一般的なセキュリティ製品を用いて検体検査装置８００が構成された場合を想定する。この場合、検体検査装置８００は、典型的には、検体８０１の動作ログ以外に、検体８０１の動作を分析した結果をサマリとして提供することができる。なお、係る製品は特段限定されず、当業者であれば適宜選択可能である。
【０１３９】
上記のような製品から提供されるサマリには、典型的には、以下のような情報が含まれていることがある。
【０１４０】
（１）検体８０１がマルウェアであるか否かの一次的な判定結果
【０１４１】
（２）検体８０１が実行した悪質な活動（例えば、「特定プロセスの実行及び終了」、「特定のＡＰＩコール」、「特定のシステムコール」、「外部通信の試行」、「特定サービスの停止」、「セキュリティに関する設定の変更」、「アカウント情報へのアクセス」、「実行ファイルの作成」、「実行可能なデータ（スクリプト含む）のダウンロード」、「ファイルアクセス」、「レジストリアクセス」等）。
【０１４２】
サマリに含まれる情報は、上記に限定されない。サマリには、例えば、検体検査装置８００が、検体８０１の活動（振る舞い）をもとに、ルールベースである活動の有無を判定した結果を表す情報が含まれてもよい。
【０１４３】
提供されたサマリに、上記説明した検体８０１の活動を表す情報が含まれる場合、特徴抽出部７０１は、その情報に基づいて第２特徴量を作成してもよい。特徴抽出部７０１は、例えば、悪質な活動の種別毎に、検体８０１がその活動を実行したか否かを、２値データ（例えば０又は１）を用いて表す第２特徴量を作成してもよい。例えば、悪質な活動の種別の個数がＭ個である場合、第２特徴量は、Ｍ次元の２値ベクトルとして表される。上記したようなサマリから第２特徴量を作成する場合、例えば、検体８０１がマルウェアである否かを判定するための根拠となる情報が特徴量として含まれる。このような第２特徴量を用いることで、分析装置７００は、例えば、ある悪質な行動の有無が、ログエントリの重要度に影響するような場合であっても、そのログの重要度を適切に判定することが可能となる。
【０１４４】
上記に限定されず、例えば、上記説明した、第２ログエントリに記録された情報を計数することで得られる各種の第２特徴量（その少なくとも一部）が、提供されたサマリに含まれる場合、特徴抽出部７０１は、その特徴量を第２特徴量として用いて良い。  上記に限定されず、特徴抽出部７０１は、例えば、それぞれの第２ログエントリから上記第１特徴量と同様の特徴量を抽出し、その特徴量を用いて第２特徴量を作成してもよい。この場合、特徴抽出部７０１は、例えば、上記第１ログエントリから第１特徴量を抽出する方法と同様の方法を用いて、各第２ログエントリから特徴量を抽出することができる。特徴抽出部７０１は、例えば、それぞれの第２ログエントリから抽出した特徴量を適宜並べることで、第２特徴量を作成してもよい。また、特徴抽出部７０１は、例えば、それぞれの第２ログエントリから抽出した特徴量に関する統計量（例えば、最大値、最小値、中央値、平均値、分散、偏差等）を算出することで、第２特徴量を作成してもよい。特徴抽出部７０１は、また、複数の第２ログエントリを統合したデータ（統合データ）を作成してもよい。統合データは、例えば、各第２ログエントリに記録された情報を全て並べたデータであってもよい。特徴抽出部７０１は、統合データから、上記説明した第１特徴量と同様の特徴量を抽出し、抽出した特徴量を第２特徴量として用いてもよい。
【０１４５】
特徴抽出部７０１は、上記第１実施形態における特徴抽出部１０１と同様に、第１ログエントリから抽出した第１特徴量と、１以上の第２ログエントリから抽出した第２特徴量と、を用いて、第１ログエントリに関する特徴情報を生成する。
【０１４６】
〔分析モデル〕
以下、分析モデル作成部７０２が作成する分析モデルについて説明する。
【０１４７】
上記したように、分析モデルは、あるログエントリに関する特徴情報を入力として与えることで、そのログエントリに関する重要度を判定可能なモデルである。そのようなモデルとして、例えば、機械学習やパターン認識において用いられるモデルを用いることができる。分析モデルとして採用可能なモデルの具体例として、例えば、ＳＶＭ、多層ＮＮ、勾配ブースト木、ランダムフォレスト、等を採用可能である。以下、これらのモデルを採用する場合の、分析モデルの学習及び分析モデルを用いた重要度の評価について説明する。
【０１４８】
図１７は、分析モデルの学習、及び、分析モデルを用いた重要度評価の概要を示す説明図である。分析モデル作成部７０２は、特徴抽出部７０１により抽出された第１ログエントリに関する特徴情報を含む学習データと、教師データ提供部７０６から提供された教師データと、を用いて分析モデルに関する学習処理を実行する（図１７における「学習フェーズ」）。
【０１４９】
例えば、分析モデルとしてＳＶＭを用いる場合、分析モデル作成部７０２は、学習データと、教師データとを用いて、ＳＶＭの識別関数（識別平面）を学習する。ＳＶＭは回帰に適用することができる（ＳＶＲ：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ）。この場合、学習データとして与えられた特徴情報を識別関数に入力することで算出される値と、教師データとして与えられる値との間の許容誤差を最小化するように、識別関数のパラメータが学習される。ＳＶＲにおけるパラメータの学習方法は、周知技術を含め、適切な方法を採用可能である。
【０１５０】
例えば、分析モデルとして多層ＮＮを用いる場合、分析モデル作成部７０２は、学習データと、教師データとを用いて多層ＮＮを構成するノード（ニューロン）の結合パラメータを学習する。多層ＮＮの具体的なネットワーク構造（層の数、各層のノード数等）は、適宜定められてよい。なお、多層ＮＮの入力層は、例えば、特徴情報を表すベクトルの要素の数（次元数）と同じ数の入力ノードにより構成されてもよい。この場合、入力層の各ノードに、特徴情報を表すベクトルの各要素がそれぞれ入力される。また、多層ＮＮの出力層は１つの出力ノード（回帰用の出力ノード）により構成されてもよい。この場合、出力層のノードには、例えば、活性化関数として正規化線形関数等が設定されてもよい。多層ＮＮの学習方法は、周知技術を含め、適切な方法を採用可能である。
【０１５１】
例えば、分析モデルとして、勾配ブースト木又はランダムフォレストを用いる場合、分析モデル作成部７０２は、学習データと、教師データとを用いてこれらを構成する１以上の決定木を学習する。決定木の数、各決定木の構成は、適宜選択されてよい。勾配ブースト木及びランダムフォレストの学習方法は、周知技術を含め、適切な方法を採用可能である。
【０１５２】
重要度算出部７０３は、分析モデル作成部７０２により作成された分析モデルを用いて、評価対象であるログエントリに関する重要度を算出する。より具体的には、重要度算出部７０３は、あるログエントリについて、特徴抽出部７０１により作成された特徴情報を分析モデルに入力することで、当該特徴情報に関する重要度を算出する（図１７の評価フェーズ）。
【０１５３】
例えば、分析モデルとしてＳＶＭが用いられる場合、特徴情報をＳＶＭの識別関数に入力することで算出される値が、その特徴情報に関する重要度を表す値として用いられてよい。例えば、分析モデルとして多層ＮＮを用いられる場合、多層ＮＮの入力層に特徴情報の各要素を入力することで出力層から得られる値が、その特徴情報に関する重要度を表す値として用いられてよい。例えば、分析モデルとして、勾配ブースト木又はランダムフォレストが用いられる場合、ある特徴情報が入力として与えられた際の、各決定木の出力の加重和又は平均値が、その特徴情報に関する重要度を表す値として用いられてよい。
【０１５４】
なお、本実施形態における分析モデルの数は１つに限定されず、複数の分析モデルが用いられてよい。より具体的には、分析モデル作成部７０２は、ログエントリの内容や種別に応じて、複数の分析モデルを作成することができる。例えば、ログ種別（”ｔｙｐｅ”フィールドの情報）毎に、各ログエントリに含まれる他の情報（フィールド）が異なる場合、分析モデル作成部７０２は、ログ種別毎にそれぞれ分析モデルを作成してよい。一例として、ログ種別に４つのタイプ（例えば、”ｔｙｐｅ”フィールドの値が”ｆｉｌｅ”、”ｐｒｏｃｅｓｓ”、”ｒｅｇｉｓｔｒｙ”及び”ｎｅｔｗｏｒｋ”）が含まれる場合を想定する。この場合、分析モデル作成部７０２は、ログエントリの種別毎に４つの分析モデル（”ｔｙｐｅ”フィールドの値が”ｆｉｌｅ”のログエントリに関する分析モデル、”ｐｒｏｃｅｓｓ” のログエントリに関する分析モデル、”ｒｅｇｉｓｔｒｙ” のログエントリに関する分析モデル及び”ｎｅｔｗｏｒｋ” のログエントリに関する分析モデル）を作成する。この場合、分析モデル作成部７０２は、学習データに含まれる各ログ種別のログエントリを用いて、各ログ種別の分析モデルを学習する。また、重要度算出部は、評価対象のレコードのログエントリに記録されたログ種別に応じて、そのログ種別用の分析モデルを用いて、重要度を算出する。
【０１５５】
〔ログの表示〕
以下、表示制御部７０４によるログの表示について説明する。上記したように、表示制御部７０４は、重要度算出部７０３において算出された重要度に応じてある検体８０１に関するログの表示を制御可能なユーザインタフェースを表示する。より具体的には、表示制御部７０４は、係るユーザインタフェースの表示に用いられる表示データを生成してもよい。
【０１５６】
表示制御部７０４は、一例として、図１８に例示するようなユーザインタフェース１８００を表示する表示データを生成することができる。
【０１５７】
図１８に例示するユーザインタフェース１８００は、分析装置７００のユーザに対して表示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の少なくとも一部を構成する。
【０１５８】
ユーザインタフェース１８００には、例えば、ログエントリ表示領域（図１８の１８０１）、閾値設定領域（図１８の１８０２）、更新ボタン（図１８の１８０３）、及び、検体設定領域（図１８の１８０４）が含まれてもよい。
【０１５９】
ログエントリ表示領域１８０１は、動作ログ提供部７０５より提供されるログに含まれるレコードのログエントリを表示可能な領域である。ログエントリ表示領域１８０１には、検体設定領域１８０４（後述）において設定された検体ＩＤにより特定される検体８０１を実行した際のログが表示される。なお、表示制御部７０４は、検体設定領域１８０４に設定された検体ＩＤが変更されたタイミングで、動作ログ提供部７０５から、当該検体ＩＤにより特定される検体に関するログを取得してもよい。
【０１６０】
ログエントリ表示領域１８０１には、動作ログ提供部７０５から提供されたログのうち、閾値設定領域１８０２（後述）において設定された閾値以上の重要度を有するログエントリが表示される。即ち、ログエントリ表示領域１８０１に表示されるログエントリについて、重要度算出部７０３において算出された重要度は、閾値設定領域１８０２（後述）において設定された閾値以上である。
【０１６１】
動作ログ提供部７０５から提供されたログに、教師スコアが付与されたログエントリが含まれる場合（即ち、学習データとして用いられたログエントリが含まれる場合）、重要度１８０１ａには、教師スコアが表示されてもよい。
【０１６２】
閾値設定領域１８０２及び更新ボタン１８０３は、ログエントリ表示領域に表示されるログエントリの重要度を設定（調整）可能な、制御要素（コントロール）である。閾値設定領域１８０２は、ユーザインタフェース１８００を操作するユーザが閾値を設定可能な入力フィールドである。閾値設定領域１８０２は、一例として、テキストボックス、数値入力コントロール等を用いて実現可能であるが、これに限定されない。更新ボタン１８０３は、閾値設定領域１８０２に設定された閾値に応じて、ログエントリ表示領域１８０１の表示内容を更新するための制御要素である。例えば、ユーザが更新ボタン１８０３を押下することにより、閾値設定領域１８０２に設定された閾値以上のログエントリが表示されるように、ログエントリ表示領域１８０１の表示内容が更新される。
【０１６３】
具体的には、例えば、ユーザが更新ボタン１８０３を押下したことを表すイベントと、そのタイミングにおいて閾値設定領域１８０２に設定された閾値とが、ユーザインタフェース１８００を介して、表示制御部７０４に伝達される。表示制御部７０４は、通知された閾値以上の重要度を有するログエントリを特定し、そのログエントリを表示するよう表示データを生成する。ＧＵＩを介したイベントなどの送受信及び表示の更新は、周知技術を用いて実現されてよい。
【０１６４】
例えば、図１８に例示するユーザインタフェースにおいて、閾値設定領域１８０２に”０．３”が設定され、更新ボタン１８０３が押下されたことを想定する。この場合、表示制御部７０４は、例えば、図１９に例示するユーザインタフェース１８００が表示されるように、表示データを作成（更新）する。図１９において、ログエントリ表示領域１８０１には、重要度が”０．３”以上のログエントリのみが表示される。即ち、表示制御部７０４は、重要度が閾値未満のログエントリが表示されないように、表示内容を制御する。
【０１６５】
表示制御部７０４は、他の一例として、図２０に例示するようなユーザインタフェース２０００を表示する表示データを生成してもよい。ユーザインタフェース２０００は、ユーザインタフェース１８００における閾値設定領域１８０２及び更新ボタン１８０３に替えて、スライダー２００１を含む。ユーザインタフェース２０００を構成する他の要素は、ユーザインタフェース１８００と同様としてよい。
【０１６６】
スライダー２００１は、ログエントリ表示領域に表示されるログエントリの重要度を設定（調整）可能な、制御要素である。たとえば、スライダー２００１を操作することで、スライダーの位置に応じて閾値が更新される。表示制御部７０４は、例えば、スライダーの位置により表される閾値以上の重要度を有するログエントリを特定し、そのログエントリを表示するような表示データを生成する。
【０１６７】
更に他の一例として、表示制御部７０４は、各ログエントリの重要度に応じて、各ログエントリの表示方法を変更（調整）してもよい。図１８〜図２０に示す具体例の場合、表示制御部７０４は、閾値未満の重要度のログエントリを表示しないユーザインタフェースを作成する。これに限定されず、表示制御部７０４は、例えば、閾値以上の重要度を有するログエントリを強調表示するとともに、閾値未満の重要度を有するログエントリを抑制的に（目立たないように）表示してもよい。表示制御部７０４が、各ログエントリを強調表示する方法、及び、各ログエントリを抑制的に表示する方法は、特に限定されず、適宜選択可能である。例えば、表示制御部７０４は、閾値以上の重要度を有するログエントリをハイライトするともに、閾値未満の重要度を有するログエントリをグレーアウトするユーザインタフェースを作成してもよい。また、例えば、表示制御部７０４は、閾値以上の重要度を有するログエントリが、閾値未満の重要度を有するログエントリよりも大きく表示されるようなユーザインタフェースを作成してもよい。
【０１６８】
〔分析装置７００の動作〕
上記のように構成された分析装置７００の動作について説明する。図２１は、分析装置７００の動作の一例を示すフローチャートである。
【０１６９】
分析装置７００は、検体検査装置８００において検体８０１を実行した際に記録されたログを受け付ける（ステップＳ２１０１）。分析装置７００が動作ログ提供部７０５を含む場合、動作ログ提供部７０５が、検体検査装置８００から提供されたログを保持（記憶）してもよい。
【０１７０】
分析装置７００は、検体検査装置８００から提供されたログのうち、学習データとして用いられるレコードのログエントリについて、そのログエントリの特徴を表す特徴情報を作成する（ステップＳ２１０２）。
【０１７１】
具体的には、特徴抽出部７０１は、ある一つのレコードのログエントリ（第１ログエントリ）から、第１特徴量を抽出する。また、特徴抽出部は、ログに含まれる１以上のレコードのログエントリ（第２ログエントリ）から、第２特徴量を抽出する。特徴抽出部７０１は、第１特徴量と、第２特徴量と、を用いて、当該一つのレコードのログエントリに関する特徴情報を作成する。第１特徴量及び第２特徴量を抽出する方法の具体例は、上記説明した通りである。
【０１７２】
特徴抽出部７０１は、例えば、教師スコアが付与されたログエントリを含むレコードを、学習データとして用いられるレコードとして特定してよい。特徴抽出部７０１は、更に、ログに含まれる評価対象のレコードのログエントリについて、特徴情報を作成してもよい。なお、学習データとして用いられるレコードと、評価対象データとして用いられるレコードとは、同じログに含まれてもよく、異なるログに含まれてもよい。特徴抽出部７０１は、各ログエントリについて作成された特徴情報を含む学習データを、分析モデル作成部７０２に提供してよい。
【０１７３】
分析装置７００は、ステップＳ２１０２において作成された学習データと、教師データとを用いて、分析モデルを作成する（ステップＳ２１０３）。
【０１７４】
具体的には、分析モデル作成部７０２は、特徴抽出部７０１により作成された学習データと、教師データ提供部７０６に記憶された教師データとを用いて、分析モデルの学習処理を実行する。上記したように、分析モデル作成部７０２は、ログエントリの内容等に応じて複数の分析モデルを作成してよい。分析モデル及びその学習処理の具体例は、上記に記載した通りである。
【０１７５】
ステップＳ２１０１〜ステップＳ２１０３の処理により、分析装置７００は、あるレコードに含まれるログエントリの重要度を判定可能な分析モデルを作成することができる。
【０１７６】
分析装置７００は、ステップＳ２１０３において分析モデルを作成した際、処理を終了してもよく、ログの評価及び表示（ステップＳ２１０４以降の処理）を実行してもよい。
【０１７７】
以下、分析装置７００によるログの評価及び表示に関する動作を説明する。
【０１７８】
分析装置７００は、ステップＳ２１０１〜ステップＳ２１０３において作成された分析モデルを用いて、評価対象のレコードのログエントリについて、重要度を算出する（ステップＳ２１０４）。
【０１７９】
具体的には、特徴抽出部７０１が、評価対象のレコードのログエントリに関する特徴情報を生成する。評価対象のレコードは、あるログに含まれる全てのレコードであってもよく、学習データとして用いられていないレコードであってもよい。
【０１８０】
重要度算出部７０３は、特徴抽出部７０１において作成された、評価対象のレコードのログエントリに関する特徴情報を分析モデルに入力し、重要度を算出する。重要度算出部７０３は、算出した重要度を、表示制御部７０４に提供する。
【０１８１】
なお、ログの内容に応じて複数の分析モデルが作成されている場合、分析装置７００は、評価対象のレコードのログエントリの内容に応じて、適切な分析モデルを選択して重要度を算出してよい。
【０１８２】
分析装置７００は、ステップＳ２１０４において算出された評価対象のログエントリに関する重要度に応じて、そのログエントリを含むログ（より具体的には、そのログエントリを含むレコードが記録されたログ）の表示を制御する（ステップＳ２１０５）。
【０１８３】
具体的には、例えば、表示制御部７０４が、動作ログ提供部７０５からログを取得し、そのログに記録されたレコードのうち、評価対象のレコードのログエントリについて算出された重要度を、重要度算出部７０３から受け付ける。
【０１８４】
表示制御部７０４は、重要度算出部７０３において算出された重要度に応じてある検体８０１に関するログの表示を制御可能なユーザインタフェースを表示する。係るユーザインタフェースの具体例は、上記説明した通りである。
【０１８５】
ステップＳ２１０４〜ステップＳ２１０５の処理により、分析装置７００は、あるレコードに含まれる各ログエントリの重要度に応じて、各ログエントリを表示する方法を制御可能である。
【０１８６】
上記のように構成された本実施形態における分析装置７００により、例えば、以下のような現実的な効果が得られる。
【０１８７】
本実施形態における分析装置７００は、あるログの重要性を適切に判定することを可能とする。具体的には、分析装置７００は、学習データとして用いられるログエントリから、その特徴情報を作成し、作成した特徴情報を含む学習データと、ログエントリに付与された重要度情報を含む教師データと、を用いて分析モデルを学習する。上記のようして学習された分析モデルを用いることで、分析装置７００は、例えば、ログに含まれる各ログエントリの重要度を判定することができる。
【０１８８】
また、分析装置７００は、１以上の第２ログエントリから、ログのコンテキストを表す第２特徴量を抽出することができる。具体的には、分析装置７００は、例えば、ある検体８０１の実行過程で得られたログの全体的な特徴、ある検体８０１の実行過程で実行された特定のプロセスに関するログの特徴、及び、あるログエントリの前後に記録されたログエントリに関する特徴、等を第２特徴量として抽出する。これにより、分析装置７００は、あるログエントリから作成される特徴情報に、ログのコンテキストを表す情報を含めることができる。
【０１８９】
また、分析装置７００は、上記第１実施形態同様、あるログエントリの特徴を表す第１特徴量と、ログのコンテキストを表す第２特徴量と、を用いて、ある一つのログエントリに関する特徴情報を作成する。これにより、分析装置７００は、ある一つのログエントリに関する特徴情報に、ログのコンテキストを反映することができる。このような特徴情報を用いて分析モデルを学習することで、分析装置７００は、ログエントリの重要性をより適切に判断可能な分析モデルを作成可能である。
【０１９０】
また、分析装置７００は、あるログに含まれるログエントリの重要度に応じて、そのログエントリの表示態様を制御可能である。具体的には、分析装置７００は、作成された分析モデルを用いて、評価対象のログエントリに関する重要度を算出し、その重要度に応じて当該ログエントリの表示態様を制御することができる。分析装置７００は、例えば、ユーザにより指定された重要度以上の重要度のログエントリを表示し、ユーザにより指定された重要度よりも低い重要度のログエントリを抑制することができる。これにより、分析装置７００は、ユーザにより指定された重要度に応じて、着目すべきログエントリを提示することができることから、ユーザによる分析作業の効率を改善することができる。
【０１９１】
また、分析装置７００は、ログの内容等に応じて複数の分析モデルを作成することができる。例えば、ログ種別に応じてログエントリに記録されるフィールドの内容及びフィールドの個数が異なる場合を想定する。この場合、全てのログ種別を表現可能な特徴量（特徴ベクトル）を作成すると、次数が大きい（要素数が大きい）特徴量や、スパースな特徴量が作成される可能性がある。そのような特徴量を用いた学習処理には、比較的大きな記憶領域（メモリ領域）が必要となることがある。また、そのような特徴量を用いて分析モデルを学習した場合、例えば、ログ種別毎の特徴が希釈されてしまう可能性がある。これに対して、例えば、ログ種別毎に異なる分析モデルを作成する場合、不要に大きな次数の特徴量を作成する必要がないことから、処理効率を改善可能である。また、この場合、ログ種別毎に特有の特徴が反映された分析モデルが作成されると考えられる。このような分析モデルを用いることで、各エントリの重要度をより適切に算出可能である。
【０１９２】
＜第２実施形態の変形例１＞
以下、第２実施形態の第１の変形例（「変形例１」と記載する）について説明する。以下、上記各実施形態と同様の構成については、同様の参照符号を付し、詳細な説明を省略する。
【０１９３】
図２２は、本変形例１における分析装置２２００の機能的な構成を概念的に示すブロック図である。本変形例１における分析装置２２００は、第２実施形態における分析装置７００に対して、更に情報収集部２２０２を備える。また、分析装置２２００における特徴抽出部２２０１の機能が、第２実施形態の分析装置７００における特徴抽出部７０１から拡張されている。以下、係る相違点を中心に説明する。
【０１９４】
情報収集部２２０２（情報収集手段）は、ある検体８０１を実行することで得られたログに関連する情報等を、分析装置２２００の外部に存在する情報源３０００から取得する。具体的には、情報収集部２２０２は、第１ログエントリに記録された内容に関連する情報を、外部の情報源３０００から取得してもよい。以下、情報収集部２２０２が外部の情報源３０００から取得した情報を、外部コンテキスト情報と記載する。
【０１９５】
本変形例１において、情報源３０００の種類は特に限定されず、適宜選択可能である。情報源３０００には、例えば、各種セキュリティ製品等のベンダが提供する情報提供サービスが含まれてもよい。また、情報源３０００には、各種セキュリティ情報が蓄積されたデータベースが含まれてもよい。また、情報源３０００には、セキュリティ事象（インシデント）に対処する各種組織（例えば、各種ＣＳＩＲＴ（Ｃｏｍｐｕｔｅｒ  Ｓｅｃｕｒｉｔｙ  Ｉｎｃｉｄｅｎｔ  Ｒｅｓｐｏｎｓｅ  Ｔｅａｍ）等）が情報を発信するサイト等が含まれてもよい。また情報源３０００には、現在では一般的なインターネットにおける情報検索サービスや、ソーシャルネットワークサービスが含まれてもよい。また、情報源３０００には、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）、ＷＨＯＩＳ等、ネットワークに関連する情報を提供するサービスが含まれてもよい。
【０１９６】
情報収集部２２０２は、例えば、特徴抽出部２２０１（後述）からの依頼に応じて、第１ログエントリに記録された内容に関する適切な情報を提供する情報源３０００を選択し、外部コンテキスト情報を取得する。情報収集部２２０２が外部コンテキストを取得する具体的な方法は、情報源３０００の構成や仕様等に応じて、適切に選択されてよい。具体的には、情報収集部２２０２は、例えば、特定の通信プロトコルに従って、情報源３０００から外部コンテキスト情報を取得してもよい。情報収集部２２０２は、例えば、特定のクエリを情報源３０００に送信し、そのレスポンスを受信してもよい。情報収集部２２０２は、情報源３０００により提供される特定のＡＰＩを利用して、外部コンテキスト情報を取得してもよい。
【０１９７】
情報収集部２２０２は、情報源３０００から取得した外部コンテキスト情報を、特徴抽出部２２０１に提供する。
【０１９８】
本変形例１における特徴抽出部２２０１は、第２実施形態の分析装置７００における特徴抽出部７０１と同様の機能を備える。特徴抽出部２２０１は、更に、外部コンテキスト情報から特徴量を抽出するよう構成される。以下、外部コンテキスト情報から抽出される特徴量を、「第３特徴量」と記載する事がある。
【０１９９】
特徴抽出部２２０１は、例えば、情報収集部２２０２に対して、外部コンテキスト情報の取得を依頼してもよい。この際、特徴抽出部２２０１は、第１ログエントリに記録された内容を、情報収集部２２０２に提供してもよい。
【０２００】
特徴抽出部２２０１は、情報収集部２２０２が収集した外部コンテキスト情報から第３特徴量を抽出し、その第１ログエントリに関する特徴情報を作成する。具体的には、特徴抽出部２２０１は、第１特徴量と、第３特徴量とを用いて、ある第１ログエントリに関する特徴情報を作成してもよく、第１特徴量と、第２特徴量と、第３特徴量と、を用いて、ある第１ログエントリに関する特徴情報を作成してもよい。
【０２０１】
本変形例１における分析装置２２００の他の構成要素は、概略上記第２実施形態における分析装置７００の構成要素と同様としてよい。
【０２０２】
即ち、分析モデル作成部７０２は、特徴抽出部２２０１から提供される学習データと、教師データ提供部７０６に記憶される教師データとを用いて、分析モデルを作成する。  重要度算出部７０３は、上記第２実施形態と同様、分析モデル作成部７０２により作成された分析モデルを用いて、あるログエントリに関する重要度を算出し、表示制御部７０４に提供するよう構成される。
【０２０３】
表示制御部７０４は、上記第２実施形態と同様、重要度算出部７０３により算出された各ログエントリの重要度に応じて、当該ログエントリの表示を制御可能なインタフェースを生成するよう構成される。
【０２０４】
動作ログ提供部７０５は、上記第２実施形態と同様、ある検体８０１の実行に伴い記録されたログを保持（記憶）し、教師データ提供部７０６は、学習データとして用いられるログエントリに付与された教師スコアを含む教師データを保持（記憶）する。
【０２０５】
〔外部コンテキスト情報及び第３特徴量〕
以下、外部コンテキスト情報及び、外部コンテキストから抽出される第３特徴量について説明する。上記したように、情報収集部２２０２は、情報源３０００から、第１ログエントリの内容に関連する外部コンテキスト情報を取得する。一例として、情報収集部２２０２は、第１ログエントリのログ種別（”ｔｙｐｅ”フィールドの情報）に応じて、適切な情報源３０００を選択し、外部コンテキスト情報を取得する。この場合、情報収集部２２０２は、例えば、第１ログエントリのログ種別と、そのログ種別に関する外部コンテキスト情報を取得可能な情報源３０００と、を関連付けたテーブル等を予め保持（記憶）していてもよい。
【０２０６】
一例として、第１ログエントリのログ種別”ｔｙｐｅ”フィールドに”ｆｉｌｅ”が設定されている場合を想定する。この場合、例えば、第１ログコンテキストの”ｐａｔｈ”フィールドから、具体的なファイルを特定可能である。
【０２０７】
情報収集部２２０２は、例えば、特定されたファイルがウィルス対策製品に検知されるか否かを判定可能な情報を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。この場合、特徴抽出部２２０１は、例えば、第１ログエントリの”ｐａｔｈ”フィールドにより特定されるファイルがウィルス対策製品に検知されるか否かを表す値（例えばブール値）を、第３特徴量に含めてよい。
【０２０８】
また、情報収集部２２０２は、例えば、そのファイルが取得された数（例えば、そのファイルをダウンロードしたユーザ数）を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。この場合、特徴抽出部２２０１は、例えば、第１ログエントリの”ｐａｔｈ”フィールドにより特定されるファイルがダウンロードされた数を表す値を、第３特徴量に含めてよい。
【０２０９】
また、情報収集部２２０２は、例えば、ある情報源３０００から、そのファイルの信頼度を表す情報を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。この場合、特徴抽出部２２０１は、例えば、第１ログエントリの”ｐａｔｈ”フィールドにより特定されるファイルの信頼度を表す値を、第３特徴量に含めてよい。なお、ファイルの信頼度は、そのファイルが実行する処理の内容、ファイルの提供元、そのファイルに関するインシデントの有無等に応じて、情報源３０００において適宜設定されてよい。
【０２１０】
上記の場合、情報源３０００として、例えば、各種セキュリティ製品等のベンダ、セキュリティ事象に対処する各種組織が情報を発信するサイト等が含まれてよい。情報収集部２２０２は、例えば、情報源３０００において、そのファイルの名称（ファイル名）や、そのファイルのハッシュ値を含むコンテンツ、データ等を検索することで、上記したような外部コンテキスト情報を収集することが可能である。この場合、情報収集部２２０２は、例えば、あるファイルのセキュリティに関する評判（レピュテーション）を表す情報を、外部コンテキスト情報として取得すると考えられる。
【０２１１】
他の一例として、第１ログエントリのログ種別”ｔｙｐｅ”フィールドに”ｒｅｇｉｓｔｒｙ”が設定されている場合を想定する。この場合、例えば、第１ログコンテキストの”ｋｅｙ”フィールドから、具体的なレジストリキーを特定可能である。
【０２１２】
情報収集部２２０２は、例えば、特定されたレジストリキーにアクセスする既知のマルウェアが存在するか否かを判定可能な情報を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。更に、情報収集部２２０２は、特定されたレジストリキーにアクセスする既知のマルウェアが存在する場合、その名称、分類名、ハッシュ値等を取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。
【０２１３】
この場合、特徴抽出部２２０１は、例えば、第１ログエントリの”ｋｅｙ”フィールドにより特定されるレジストリにアクセスする既知のマルウェアが存在するか否かを表す値（例えば、ブール値）を、第３特徴量に含めてよい。なお、特定されたレジストリキーにアクセスする既知のマルウェアが存在する場合、特徴抽出部２２０１は、そのマルウェアの名称、分類名、ハッシュ値等を第３特徴量に含めてもよい。この際、マルウェアの名称、分類名等は適宜文字列表現や数値表現に変換されてもよい。この場合、情報収集部２２０２は、例えば、あるレジストリのキーのセキュリティに関連する評判（レピュテーション）を表す情報を、外部コンテキスト情報として取得すると考えられる。
【０２１４】
更に他の一例として、第１ログエントリのログ種別”ｔｙｐｅ”フィールドに”ｎｅｔｗｏｒｋ”が設定されている場合を想定する。この場合、例えば、第１ログコンテキストの”ｈｏｓｔ”フィールド、”ｉｐ”フィールド、”ｕｒｌ”フィールド等から、通信先を特定可能である。
【０２１５】
情報収集部２２０２は、例えば、特定された通信先に関する評価を表す情報を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。通信先に関する評価を表す情報には、例えば、通信先のホスト自体に関する評価、通信先が属するドメインに関する評価、ＵＲＬに関する評価等が含まれてよい。係る評価には、例えば、そのホストにアクセスする利用者の数、そのドメインにアクセスする利用者の数、そのＵＲＬにアクセスする利用者の数、等が含まれてもよい。また、係る評価には、そのホスト、ドメイン、ＵＲＬ等が、既知のブラックリストに登録されているか否か、等が含まれてもよい。ブラックリストは、セキュリティの観点から問題がある通信先等が登録されたリストである。この場合、特徴抽出部２２０１は、例えば、特定された通信先に関する評価を表す情報を、第３特徴量に含めてよい。具体的には、特徴抽出部２２０１は、例えば、ある通信先にアクセスする利用者の数を表す値、ある通信先がブラックリストに登録されているか否かを表す値（例えばブール値）等を、第３特徴量に含めてもよい。この場合、情報収集部２２０２は、例えば、ある通信先のセキュリティに関連する評判（レピュテーション）を表す情報を、外部コンテキスト情報として取得すると考えられる。
【０２１６】
上記に限定されず、情報収集部２２０２は、例えば、特定された通信先が存在する地域（国、領域等）を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。情報収集部２２０２は、例えば、”ｉｐ”フィールドに設定されたＩＰアドレスが割り当てられた国を特定し、その国を表す情報を、特徴抽出部２２０１に提供してもよい。この場合、特徴抽出部２２０１は、例えば、特定された通信先が存在する地域（国、領域等）を表す情報を、第３特徴量に含めてよい。この際、通信先が存在する地域の名称は、適宜文字列表現や数値表現に変換されてもよい。
【０２１７】
上記に限定されず、情報収集部２２０２は、例えば、特定された通信先の所有者（より具体的には、通信先のＩＰアドレスの所有者）を、情報源３０００から取得し、外部コンテキスト情報として特徴抽出部２２０１に提供してもよい。情報収集部２２０２は、例えば、”ｉｐ”フィールドに設定されたＩＰアドレスから、現在では一般的なＷＨＯＩＳプロトコル等を用いて、そのＩＰアドレスの所有者に関する情報を取得することができる。この場合、特徴抽出部２２０１は、例えば、特定された通信先の所有者を表す情報の少なくとも一部を、第３特徴量に含めてよい。この際、通信先の所有者を表す情報は、適宜文字列表現や数値表現に変換されてもよい。
【０２１８】
図２３は、情報収集部２２０２が外部コンテキストを取得し、特徴抽出部２２０１が第３特徴量を抽出する過程を模式的に表す説明図である。図２３に例示するように、特徴抽出部２２０１は、例えば、第１特徴量を表す特徴ベクトルの要素と、第３特徴量を表す特徴ベクトルの要素とを適宜並べることで、第１ログエントリの特徴情報を表す特徴ベクトルを作成してもよい。また、特徴抽出部２２０１は、例えば、第１特徴量を表す特徴ベクトルの要素と、第２特徴量を表す特徴ベクトルの要素と、第３特徴量を表す特徴ベクトルの要素と、を適宜並べることで、第１ログエントリの特徴情報を表す特徴ベクトルを作成してもよい。
【０２１９】
〔動作〕
以下、分析装置２２００の動作について説明する。図２４は、分析装置２２００の動作の一例を示すフローチャートである。図２４に示すフローチャートの各ステップのうち、第２実施形態における分析装置７００の動作と同様の処理については、図２１に例示するフローチャートと同じ参照符号を付すことで、詳細な説明を省略する。
【０２２０】
分析装置２２００は、上記第２実施形態と同様、検体検査装置８００から、ある検体８０１を実行する過程で記録されたログを受け付ける（ステップＳ２１０１）。
【０２２１】
分析装置２２００は、受け付けたログのうち、学習データとして用いられるレコードのログエントリ（第１ログエントリ）に関する外部コンテキスト情報を取得する（ステップＳ２４０１）。
【０２２２】
具体的には、特徴抽出部２２０１は、第１ログエントリの内容に関連する外部コンテキスト情報の取得を、情報収集部２２０２に依頼する。情報収集部２２０２は、第１ログエントリの内容に応じて情報源３０００を選択し、その情報源３０００から第１ログエントリの内容に応じた情報を取得する。情報収集部２２０２は、取得した情報を、外部コンテキスト情報として特徴抽出部２２０１に提供する。外部コンテキスト情報の具体例は、上記説明した通りである。
【０２２３】
ステップＳ２１０２乃至ステップＳ２１０４の処理は、概略上記第２実施形態と同様としてよい。即ち、分析装置７００は、ステップＳ２１０２において、第１ログエントリから抽出した第１特徴量と、外部コンテキスト情報から抽出した第３特徴量と、を用いて第１ログエントリに関する特徴情報を作成する。この際、分析装置７００は、第１、第３特徴量に加えて、ログのコンテキストを表す第２特徴量を用いて、第１ログエントリに関する特徴情報を作成してもよい。分析装置７００は、ステップＳ２１０３において作成した特徴情報を含む学習データと、教師データとをもちいて分析モデルを作成し（ステップＳ２１０３）、評価対象のログエントリに関する重要度を算出し（ステップＳ２１０４）、重要度に応じてログエントリの表示を制御する（ステップＳ２１０５）。
【０２２４】
上記のように構成された本実施形態における分析装置７００により、例えば、以下のような現実的な効果が得られる。
【０２２５】
上記のように構成された分析装置２２００は、学習データとして用いられるログエントリの特徴情報に、外部コンテキスト情報を含めることができる。現在では、各種セキュリティ製品等のベンダや、セキュリティ事象に対処する各種組織により、各種セキュリティ事象に関する各種の情報が提供されている。例えば、分析者が、このような情報を確認することで、あるログエントリの重要性を、より適切に判断することができると考えられる。これに対して、本変形例１において、分析装置２２００は、一つのログエントリから抽出した特徴量と、外部コンテキストから抽出した特徴量と、を含む特徴情報を作成する。即ち、分析装置２２００は、外部コンテキスト情報が含まれる特徴情報を用いることで、ログエントリの重要性をより適切に判断可能な分析モデルを作成できると考えられる。以上より、本変形例１における分析装置２２００は、ログの重要性をより適切に判定することが可能である。
【０２２６】
＜第２実施形態の変形例２＞
以下、第２実施形態の第２の変形例（「変形例２」と記載する）について説明する。以下、上記各実施形態及び変形例と同様の構成については、同様の参照符号を付し、詳細な説明を省略する。
【０２２７】
図２５は、本変形例２における分析装置２５００の機能的な構成を概念的に示すブロック図である。本変形例２における分析装置２５００は、第２実施形態における分析装置７００に対して、更に事前学習部２５０３を備える。また、分析装置２５００における特徴抽出部２５０１の機能が、第２実施形態の分析装置７００における特徴抽出部７０１から拡張されている。また、分析装置２５００における分析モデル作成部２５０２の機能が、第２実施形態の分析装置７００における分析モデル作成部７０２から拡張されている。以下、係る相違点を中心に説明する。なお、本変形例においては、分析モデル作成部７０２により作成される分析モデルが、多層ＮＮであることを想定する。
【０２２８】
特徴抽出部２５０１は、検体検査装置８００から提供されたログに含まれるレコードのログエントリに関する特徴情報を作成する。特徴情報を作成する具体的な方法は、例えば、上記第２実施形態及びその変形例１と同様としてよい。
【０２２９】
本変形例２において、特徴抽出部２５０１は、教師スコアが付与されたレコードのログエントリに加え、これらに含まれないログエントリについても、特徴情報を作成するよう構成される。即ち、特徴抽出部２５０１は、例えば、分析モデルの学習データとして用いられないログエントリ（教師スコアが付与されていないレコードのログエントリ）についても、特徴情報を作成する。典型的には、本変形例２における特徴抽出部２５０１は、あるログに含まれる全てのレコードのログエントリについて、それぞれ特徴情報を作成してよい。
【０２３０】
事前学習部２５０３は、特徴抽出部２５０１において作成された各ログエントリに関する特徴情報を用いて、分析モデルとして用いられる多層ＮＮに関する事前学習を実行する。
【０２３１】
多層ＮＮを事前学習（プレトレーニング）する具体的な方法は、周知技術を含め、適宜選択されてよい。事前学習の方法として、例えば、自己符号化器（オートエンコーダ：ａｕｔｏｅｎｃｏｄｅｒ）を用いてもよく、制限付きボルツマンマシン（ＲＢＭ：Ｒｅｓｔｒｉｃｔｅｄ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅｓ）を用いてもよい。一例として、事前学習部２５０３は、分析モデルとして用いる多層ＮＮを１層ずつ複数の単層ネットワークに分解し、各層を自己符号化器として上記特徴情報を用いた教師なし学習を行うことで、各層に含まれるノードのパラメータを算出することができる。上記に限定されず、事前学習部２５０３は、例えば、周知の他の事前学習の方法（例えば、深層自己符号化器や、深層ＲＢＭ等）を適宜採用してもよい。事前学習部２５０３は、このようにして作成された多層ＮＮ（具体的には、多層ＮＮの各ノードのパラメータ）を、分析モデル作成部２５０２に提供する。
【０２３２】
分析モデル作成部２５０２は、事前学習部２５０３から提供された多層ＮＮに対して、回帰用の層（例えば、１つの出力ノードを有する出力層）を追加する。これにより、分析モデルとして用いられる多層ＮＮのネットワーク構造が決定される。
【０２３３】
分析モデル作成部２５０２は、上記のように作成された事前学習済みの分析モデルについて、学習データ及び教師データを用いた学習処理を実行する。この学習処理より、分析モデル作成部２５０２は、分析モデルのパラメータを、回帰用に微調整することが可能である。なお、過学習を抑制するため、多層ＮＮの下層については、ノードの重みが固定されてもよい。
【０２３４】
分析装置２５００における他の要素は、上記第２実施形態と同様としてよい。
【０２３５】
上記ように構成された本変形例２における分析装置２５００によれば、あるログエントリの重要度をより適切に判断可能な分析モデルを作成することができる。その理由は、事前学習部２５０３が、ある検体８０１の実行過程で記録されたログから作成された特徴情報を用いて、分析モデルに関する事前学習を実行するからである。事前学習により、分析モデルとして用いられる多層ＮＮについて、適切な初期値を与えることが可能である。これにより、分析装置２５００は、多層ＮＮの学習処理における各種の問題（例えば、勾配消失等）を回避して、より適切な分析モデルを作成することができる。
【０２３６】
＜第２実施形態の変形例３＞
以下、第２実施形態の第３の変形例（「変形例３」と記載する）について説明する。以下、上記各実施形態及び変形例と同様の構成については、同様の参照符号を付し、詳細な説明を省略する。
【０２３７】
図２６は、本変形例３における分析装置２６００の機能的な構成を概念的に示すブロック図である。本変形例３における分析装置２６００は、上記変形例１と、変形例２とを組合せた構成を備える。本実施形態においては、上記変形例２と同様、分析モデルとして多層ＮＮが用いられることを想定する。
【０２３８】
本実施形態における特徴抽出部２６０１は、上記変形例１における特徴抽出部２２０１と同様、外部コンテキスト情報から抽出した第３特徴量を含む特徴情報を作成する。特徴抽出部２６０１が備える他の機能は、上記変形例１及び変形例２と同様としてよい。
【０２３９】
事前学習部２６０３は、第３特徴量を含む特徴情報を用いて、分析モデルに関する事前学習を実行する。事前学習部２６０３が備える他の機能は、変形例２と同様としてよい。
【０２４０】
分析モデル作成部２６０２は、第３特徴量を含む特徴情報を含む学習データと、教師データとを用いて、事前学習部２６０３による事前学習済みの分析モデルに関する学習処理を実行する。分析モデル作成部２６０２が備える他の機能は、上記変形例１及び変形例２と同様としてよい。
【０２４１】
分析装置２６００の他の構成は、上記変形例１及び変形例２と同様としてよい。
【０２４２】
上記のように構成された分析装置２６００は、上記変形例１及び変形例２の組合せに相当し、上記変形例１及び変形例２と同様、あるログに関する重要度をより適切に判定可能である。
【０２４３】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態及び変形例を実現可能なハードウェア構成について説明する。以下の説明においては、上記各実施形態において説明した各分析装置（１００、７００、２２００、２５００、２６００）を、まとめて「分析装置」と記載する。
【０２４４】
上記各実施形態において説明した各分析装置は、１つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記各図（例えば、図１、７−９、２２、２５、２６）に示した各構成要素は、一部又は全部を統合したハードウェア（処理ロジックを実装した集積回路等）として実現してもよい。即ち、
例えば、分析装置をハードウェア装置により実現する場合、分析装置の構成要素は、それぞれの機能を提供可能な集積回路（例えば、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等）として実装されてもよい。この場合、例えば、分析装置の構成要素が有するデータは、ＳｏＣに統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域やフラッシュメモリ領域に記憶されてもよい。
【０２４５】
この場合、分析装置は、例えば、特徴抽出部（１０１、７０１、２２０１、２５０１、２６０１）、分析モデル作成部（１０２、７０２、２５０２、２６０２）、重要度算出部７０３、表示制御部７０４、動作ログ提供部７０５、教師データ提供部７０６、情報収集部２２０２、事前学習部（２５０３、２６０３）の機能を実現可能な１以上の処理回路（ｐｒｏｃｅｓｓｉｎｇ  ｃｉｒｃｕｉｔｒｙ）、通信回路、及び記憶回路等を用いて実現されてよい。なお、分析装置を実現する回路構成の実装においては、様々なバリエーションが想定される。
【０２４６】
分析装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、適切な通信方法（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。
【０２４７】
また、上述した分析装置は、図２７に例示するような汎用のハードウェア装置２７００と、ハードウェア装置２７００によって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、分析装置は、１以上の適切な数のハードウェア装置２７００及びソフトウェア・プログラムにより構成されてもよい。
【０２４８】
図２７におけるプロセッサ２７０１は、例えば、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサである。プロセッサ２７０１は、例えば、後述する不揮発性記憶装置２７０３に記憶された各種ソフトウェア・プログラムをメモリ２７０２に読み出し、そのソフトウェア・プログラムに従って処理を実行してもよい。この場合、上記各実施形態における分析装置の構成要素は、例えば、プロセッサ２７０１により実行されるソフトウェア・プログラムとして実現可能である。
【０２４９】
上記各実施形態における分析装置は、例えば、特徴抽出部（１０１、７０１、２２０１、２５０１、２６０１）、分析モデル作成部（１０２、７０２、２５０２、２６０２）、重要度算出部７０３、表示制御部７０４、動作ログ提供部７０５、教師データ提供部７０６、情報収集部２２０２、事前学習部（２５０３、２６０３）の機能を実現可能な１以上のプログラムにより実現されてよい。なお、係るプログラムの実装においては、様々なバリエーションが想定される。
【０２５０】
メモリ２７０２は、プロセッサ２７０１から参照可能な、ＲＡＭ等のメモリデバイスであり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ２７０２は、揮発性のメモリデバイスであってもよい。
【０２５１】
不揮発性記憶装置２７０３は、例えば磁気ディスクドライブや、半導体記憶装置（フラッシュメモリ等）のような、不揮発性の記憶装置である。不揮発性記憶装置２７０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。上記分析装置において、動作ログ提供部７０５及び教師データ提供部７０６が記憶するデータは、不揮発性記憶装置２７０３に記憶されてもよい。
【０２５２】
リーダライタ２７０４は、例えば、後述する記録媒体２７０５に対するデータの読み込みや書き込みを処理する装置である。分析装置は、例えば、リーダライタ２７０４を介して、記録媒体２７０５に記録されたログや、教師データを読み込んでもよい。
【０２５３】
記録媒体２７０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な記録媒体である。本開示において、記録媒体の種類及び記録方法（フォーマット）は、特に限定されず、適宜選択されてよい。
【０２５４】
ネットワークインタフェース２７０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等を採用してもよい。分析装置は、ネットワークインタフェース２７０６を介して、情報源３０００及び検体検査装置８００と通信可能に接続されてよい。
【０２５５】
入出力インタフェース２７０７は、外部装置との間の入出力を制御する装置である。外部装置は、例えば、ユーザからの入力を受け付け可能な入力機器（例えば、キーボード、マウス、タッチパネル等）であってもよい。また、外部装置は、例えばユーザに対して各種出力を提示可能出力機器であってもよい（例えば、モニタ画面、タッチパネル等）。分析装置は、例えば、入出力インタフェースを介して、ユーザインタフェースの表示を制御してもよい。
【０２５６】
本開示に係る技術は、例えば、ハードウェア装置２７００に対して供給されたソフトウェア・プログラムを、プロセッサ２７０１が実行することによって、実現されてもよい。この場合、ハードウェア装置２７００で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが、各処理の一部を実行してもよい。
【０２５７】
上述した各実施形態において、上記各図に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能（処理）の単位である、ソフトウェアモジュールとして実現されてもよい。例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置２７０３に記憶されてもよい。そして、プロセッサ２７０１が、それぞれの処理を実行する際に、これらのソフトウェアモジュールをメモリ２７０２に読み出してもよい。また、これらのソフトウェアモジュールは、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成されてもよい。
【０２５８】
更に、上記各ソフトウェア・プログラムは、記録媒体２７０５に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、適当な治具（ツール）を利用してハードウェア装置２７００内にインストールされてもよい。また、各種ソフトウェア・プログラムは、インターネット等の通信回線を介して外部からダウンロードされてもよい。ソフトウェア・プログラムを供給する方法として、各種の一般的な手順を採用することができる。
【０２５９】
このような場合において、本開示に係る技術は、ソフトウェア・プログラムを構成するコード、あるいはコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されてもよい。この場合、記録媒体は、ハードウェア装置２７００と独立した非一時的な記録媒体であってもよく、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記録媒体であってもよい。
【０２６０】
また、上述した分析装置、あるいは、当該分析装置の構成要素は、図２７に例示するハードウェア装置２７００を仮想化した仮想環境と、その仮想環境において実行されるソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図２７に例示するハードウェア装置２７００の構成要素は、仮想環境における仮想デバイスとして提供される。
【０２６１】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０２６２】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
【０２６３】
（付記１）
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成可能に構成された特徴抽出手段と、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する分析モデル作成手段と、を備える
分析装置。
【０２６４】
（付記２）
前記特徴抽出手段は、それぞれの前記第２ログエントリに記録された情報を計数することで作成される情報であるコンテキスト情報を、前記第２特徴量として抽出する
付記１に記載の分析装置。
【０２６５】
（付記３）
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、ある前記ソフトウェア・プログラムについて記録された全ての前記第２ログエントリに記録された情報を用いて、
前記ソフトウェア・プログラムの実行過程で実行されたプロセス毎の、前記第２ログエントリの数に関する情報と、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
それぞれの前記ログ種別について集計した、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの数に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
付記２に記載の分析装置。
【０２６６】
（付記４）
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、前記第１ログエントリが記録されたプロセスと同じプロセスについて記録された複数の前記第２ログエントリに記録された情報を用いて、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
それぞれの前記ログ種別について集計した、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの数に関する情報と、
前記ソフトウェア・プログラムの実行過程で記録された前記ログエントリの総数と、前記第１ログエントリが記録されたプロセスと同じプロセスについて記録された前記第２ログエントリの総数と、の割合に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
付記２に記載の分析装置。
【０２６７】
（付記５）
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、前記第１ログエントリが記録さえたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリに記録された情報を用いて、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリの総数と、前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリのうち、前記第１ログエントリと同じプロセスについて記録された前記第２ログエントリの総数と、の割合に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
付記２に記載の分析装置。
【０２６８】
（付記６）
前記特徴抽出手段は、それぞれの前記第２ログエントリに記録された情報から抽出した特徴量を用いて作成される情報であるコンテキスト情報を、前記第２特徴量として抽出する
付記１に記載の分析装置。
【０２６９】
（付記７）
前記特徴抽出手段は、前記第１ログエントリに対する前記第１特徴量と同様の特徴量を、各前記第２ログエントリから抽出し、各前記第２ログエントリから抽出した特徴量を用いて、前記第２特徴量を作成する
付記１乃至付記６のいずかれ一項に記載の分析装置。
【０２７０】
（付記８）
前記特徴抽出手段は、
前記第１ログエントリに記録された情報を文字列及び数値の少なくとも一方を用いて表すデータから、前記第１特徴量を抽出し、
前記第２ログエントリに記録された情報を文字列及び数値の少なくとも一方を用いて表するデータを、全ての前記第２ログエントリについて統合することで統合データを作成し、その統合データから前記第１ログエントリに対する前記第１特徴量と同様の特徴量を抽出することで、前記第２特徴量を作成する
付記７に記載の分析装置。
【０２７１】
（付記９）
前記特徴抽出手段は、
前記ソフトウェア・プログラムの動作を解析可能な解析装置により前記ソフトウェア・プログラムの動作を解析した結果を表すサマリ情報から、前記第２特徴量を抽出する
付記１に記載の分析装置。
【０２７２】
（付記１０）
前記特徴抽出手段は、
前記サマリ情報に含まれる、前記ソフトウェア・プログラムが１以上の特定の活動を実行したか否かを表す情報を、前記第２特徴量として抽出する
付記９に記載の分析装置。
【０２７３】
（付記１１）
前記第１ログエントリに記録された情報に関連する情報を、情報源から外部コンテキスト情報として取得する情報収集手段を更に備え、
前記特徴抽出手段は、前記情報収集手段により取得された外部コンテキスト情報に基づいて、第３特徴量を抽出し、
前記第２特徴量及び第３特徴量の少なくとも一方と、前記第１特徴量と、を用いて前記第１ログエントリに関する前記特徴情報を作成する
付記１乃至付記１０のいずれか一項に記載の分析装置。
【０２７４】
（付記１２）
前記情報収集手段は、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの、セキュリティに関する評判を表す情報を、前記外部コンテキスト情報として前記情報源から収集する
付記１１に記載の分析装置。
【０２７５】
（付記１３）
前記第１ログエントリに、あるファイルへのアクセスが記録されている場合、
前記情報収集手段は、
そのファイルがマルウェアとして検知されるファイルであるか否か、を表す情報と、
そのファイルが取得された数を表す情報と、
そのファイルの信頼度を表す情報と、
のいずれか１つ以上を、前記外部コンテキスト情報として前記情報源から取得する
付記１１に記載の分析装置。
【０２７６】
（付記１４）
前記第１ログエントリに、あるレジストリへのアクセスが記録されている場合、
前記情報収集手段は、そのレジストリがマルウェアによりアクセスされるか否かを表す情報を、前記外部コンテキスト情報として前記情報源から取得する
付記１１に記載の分析装置。
【０２７７】
（付記１５）
前記第１ログエントリに、ある通信先への通信が記録されている場合、
前記情報収集手段は、その通信先のセキュリティに関する評判を表す情報を、前記外部コンテキスト情報として前記情報源から取得する
付記１１に記載の分析装置。
【０２７８】
（付記１６）
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記分析モデル作成手段は、それぞれの前記ログ種別に該当する前記ログエントリに関して作成された前記特徴情報を用いて、それぞれの前記ログ種別について個別に前記分析モデルを作成する
付記１又は２に記載の分析装置。
【０２７９】
（付記１７）
前記分析モデルを用いて、前記ログエントリに関する重要度を算出する重要度算出手段と、
前記ログエントリについて算出された重要度に応じて、当該ログエントリの表示方法を制御可能なユーザインタフェースを生成する表示制御手段と、を更に備える
付記１乃至付記１６のいずれかに記載の分析装置。
【０２８０】
（付記１８）
前記表示制御手段は、
表示される前記ログエントリの重要度を表す閾値を設定可能な制御要素を含む前記ユーザインタフェースを生成し、
前記ユーザインタフェースは、前記閾値以上の重要度が算出された前記ログエントリと、前記閾値未満の重要度が算出された前記ログエントリと、をそれぞれ異なる表示方法を用いて表示する
付記１７に記載の分析装置。
【０２８１】
（付記１９）
前記表示制御手段は、
表示される前記ログエントリの重要度を表す閾値を設定可能な制御要素を含む前記ユーザインタフェースを生成し、
前記ユーザインタフェースは、前記閾値以上の重要度が算出された前記ログエントリを表示し、前記閾値未満の重要度が算出された前記ログエントリの表示を抑制する
付記１８に記載の分析装置。
【０２８２】
（付記２０）
前記表示制御手段は、
表示される前記ログエントリの重要度を表す閾値を設定可能な制御要素を含む前記ユーザインタフェースを生成し、
前記ユーザインタフェースは、前記閾値の重要度が算出された前記ログエントリを、前記閾値未満の重要度が算出された前記ログエントリよりも強調して表示する
付記１９に記載の分析装置。
【０２８３】
（付記２１）
前記分析モデルは、複数の層を有するニューラルネットワークであり、
前記特徴抽出手段は、前記重要度情報が付与されていない前記ログエントリについて、前記特徴情報を作成し、
前記分析モデル作成手段は、前記重要度情報が付与されていない前記ログエントリについて作成された前記特徴情報と、前記重要度情報が付与された前記第１ログエントリについて作成された前記特徴情報と、の両方を用いて、前記分析モデルに関する事前学習を実行する、
付記１乃至付記２０のいずれかに記載の分析装置。
【０２８４】
（付記２２）
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成し、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する
ログの分析方法。
【０２８５】
（付記２３）
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成する処理と、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する処理とを、コンピュータに、実行させる
分析プログラムが記録された記録媒体。
【符号の説明】
【０２８６】
１００    分析装置
１０１    特徴抽出部
１０２    分析モデル作成部
７００    分析装置
７０１    特徴抽出部
７０２    分析モデル作成部
７０３    重要度算出部
７０４    表示制御部
７０５    動作ログ提供部
７０６    教師データ提供部
２２００    分析装置
２２０１    特徴抽出部
２２０２    情報収集部
２５００    分析装置
２５０１    特徴抽出部
２５０２    分析モデル作成部
２５０３    事前学習部
２６００    分析装置
２６０１    特徴抽出部
２６０２    分析モデル作成部
２６０３    事前学習部
２７０１    プロセッサ
２７０２    メモリ
２７０３    不揮発性記憶装置
２７０４    リーダライタ
２７０５    記録媒体
２７０６    ネットワークインタフェース
２７０７    入出力インタフェース
【図１】
2018235252.tif 000003
【図２】
2018235252.tif 000004
【図３】
2018235252.tif 000005
【図４】
2018235252.tif 000006
【図５】
2018235252.tif 000007
【図６】
2018235252.tif 000008
【図７】
2018235252.tif 000009
【図８】
2018235252.tif 000010
【図９】
2018235252.tif 000011
【図１０】
2018235252.tif 000012
【図１１】
2018235252.tif 000013
【図１２】
2018235252.tif 000014
【図１３】
2018235252.tif 000015
【図１４】
2018235252.tif 000016
【図１５】
2018235252.tif 000017
【図１６】
2018235252.tif 000018
【図１７】
2018235252.tif 000019
【図１８】
2018235252.tif 000020
【図１９】
2018235252.tif 000021
【図２０】
2018235252.tif 000022
【図２１】
2018235252.tif 000023
【図２２】
2018235252.tif 000024
【図２３】
2018235252.tif 000025
【図２４】
2018235252.tif 000026
【図２５】
2018235252.tif 000027
【図２６】
2018235252.tif 000028
【図２７】
2018235252.tif 000029
【手続補正書】
【提出日】令和1年12月9日(2019.12.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソフトウェア・プログラムの動作を表す情報が記録された、ログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成可能に構成された特徴抽出手段と、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する分析モデル作成手段と、を備える
分析装置。
【請求項２】
前記特徴抽出手段は、それぞれの前記第２ログエントリに記録された情報を計数することで作成される情報であるコンテキスト情報を、前記第２特徴量として抽出する
請求項１に記載の分析装置。
【請求項３】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、ある前記ソフトウェア・プログラムについて記録された全ての前記第２ログエントリに記録された情報を用いて、
前記ソフトウェア・プログラムの実行過程で実行されたプロセス毎の、前記第２ログエントリの数に関する情報と、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
それぞれの前記ログ種別について集計した、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの数に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
請求項２に記載の分析装置。
【請求項４】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、前記第１ログエントリが記録されたプロセスと同じプロセスについて記録された複数の前記第２ログエントリに記録された情報を用いて、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
それぞれの前記ログ種別について集計した、前記ソフトウェア・プログラムの実行過程でアクセスされたリソースの数に関する情報と、
前記ソフトウェア・プログラムの実行過程で記録された前記ログエントリの総数と、前記第１ログエントリが記録されたプロセスと同じプロセスについて記録された前記第２ログエントリの総数と、の割合に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
請求項２に記載の分析装置。
【請求項５】
前記ログエントリには、当該ログエントリが記録された処理の種別を特定可能なログ種別が記録され、
前記特徴抽出手段は、前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリに記録された情報を用いて、
前記第２ログエントリの数を、それぞれの前記ログ種別について集計したヒストグラムを表す情報と、
前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリの総数と、前記第１ログエントリが記録されたタイミングから、時系列において特定の範囲内に記録された複数の前記第２ログエントリのうち、前記第１ログエントリと同じプロセスについて記録された前記第２ログエントリの総数と、の割合に関する情報と、
のいずれか１つ以上を算出することで、前記コンテキスト情報を作成する
請求項２に記載の分析装置。
【請求項６】
前記特徴抽出手段は、それぞれの前記第２ログエントリに記録された情報から抽出した特徴量を用いて作成される情報であるコンテキスト情報を、前記第２特徴量として抽出する
請求項１に記載の分析装置。
【請求項７】
前記特徴抽出手段は、前記第１ログエントリに対する前記第１特徴量と同様の特徴量を、各前記第２ログエントリから抽出し、各前記第２ログエントリから抽出した特徴量を用いて、前記第２特徴量を作成する
請求項１乃至請求項６のいずれか一項に記載の分析装置。
【請求項８】
前記特徴抽出手段は、
前記第１ログエントリに記録された情報を文字列及び数値の少なくとも一方を用いて表すデータから、前記第１特徴量を抽出し、
前記第２ログエントリに記録された情報を文字列及び数値の少なくとも一方を用いて表するデータを、全ての前記第２ログエントリについて統合することで統合データを作成し、その統合データから前記第１ログエントリに対する前記第１特徴量と同様の特徴量を抽出することで、前記第２特徴量を作成する
請求項７に記載の分析装置。
【請求項９】
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成し、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する
ログの分析方法。
【請求項１０】
ソフトウェア・プログラムの動作を表す情報が記録されたログエントリである第１ログエントリから抽出した第１特徴量と、前記ログエントリである１以上の第２ログエントリから抽出した、前記第１特徴量とは異なる第２特徴量と、を用いて、前記第１ログエントリに関する特徴情報を作成する処理と、
前記第１ログエントリに関する前記特徴情報と、当該第１ログエントリに付与された重要度を表す重要度情報と、を１以上含む学習データを用いて、他の前記ログエントリに関する重要度を判定可能な分析モデルを作成する処理とを、コンピュータに、実行させる
分析プログラム。
【国際調査報告】
2018235252.tif 000030
2018235252.tif 000031
2018235252.tif 000032
2018235252.tif 000033