JP7110063B2 - LOG ANALYSIS SUPPORT SYSTEM AND LOG ANALYSIS SUPPORT METHOD - Google Patents
LOG ANALYSIS SUPPORT SYSTEM AND LOG ANALYSIS SUPPORT METHOD Download PDFInfo
- Publication number
- JP7110063B2 JP7110063B2 JP2018205272A JP2018205272A JP7110063B2 JP 7110063 B2 JP7110063 B2 JP 7110063B2 JP 2018205272 A JP2018205272 A JP 2018205272A JP 2018205272 A JP2018205272 A JP 2018205272A JP 7110063 B2 JP7110063 B2 JP 7110063B2
- Authority
- JP
- Japan
- Prior art keywords
- aggregation
- log
- unit
- condition
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、ログ分析支援システムおよびログ分析支援方法に関する。 The present invention relates to a log analysis support system and a log analysis support method.
近年、標的型攻撃による機密情報、顧客情報等の漏えい、ランサムウェア拡散によるシステム破壊とそれに伴うサービス停止など、活発化するサイバー犯罪による様々な被害が報告されている。外部からのサイバー攻撃では、ウェブサイト、電子メール等を経由してマルウェアを送り込み、システムの脆弱性をつくなどして権限を得て攻撃を進めるなどの手法が使われる。 In recent years, there have been reports of various damages caused by increasingly active cybercrime, such as the leakage of confidential information and customer information due to targeted attacks, system destruction due to the spread of ransomware, and the resulting service outages. External cyberattacks use methods such as sending malware through websites, e-mails, etc., exploiting vulnerabilities in systems, gaining authority, and proceeding with attacks.
また、組織の内部者の不正行為によるセキュリティインシデントも大きな問題となっている。複数の組織で内部不正の事例が報道されており、内部不正が発生した組織は、信用失墜、多額の損害賠償など、大きな被害を受けている。このような状況を受け、内部不正の対策への関心が高まっている。 Security incidents caused by fraudulent actions by insiders of organizations have also become a major problem. Cases of internal improprieties have been reported in multiple organizations, and organizations that have suffered internal improprieties have suffered great damage, including loss of credibility and a large amount of compensation for damages. Under these circumstances, there is growing interest in countermeasures against internal improprieties.
こういった攻撃では、特定の組織に特化してカスタマイズされたマルウェアが利用されたり、権限を持つ組織の内部者による不正操作が行われたりするため、アンチウィルスソフト等を用いてマルウェアの侵入を検知するなどの従来型の対策では効果が不十分になりつつある。そのため、各種ログを収集し、総合的に状況を分析することで、攻撃の状況を把握して適切な対策をとることが重要とされる。しかしながら、こういった手口では、特徴的なログ、マルウェアなどが攻撃を検知する手がかりとなることも多いが、特に組織の内部者による不正の場合、内部者は、最初から権限を持っていることも多く、また不正行為と通常業務との違いも明らかではないため、外部からのサイバー攻撃と同様の手法では不正を捉えることが難しい。 In such attacks, malware customized specifically for a specific organization is used, or unauthorized operations are performed by insiders of the organization with authority. Conventional countermeasures such as Therefore, it is important to collect various logs and comprehensively analyze the situation to understand the attack situation and take appropriate countermeasures. However, in these methods, characteristic logs, malware, etc. are often clues to detect attacks, but especially in the case of fraud by an insider of an organization, the insider has authority from the beginning. There are many cases, and the difference between fraudulent activity and normal business is not clear.
ここで、SIEM(Security Information and Event Management)など、ログの分析に適した製品も存在するが、内部不正の分析のノウハウを持っている組織は多くはなく、ログの活用が困難という問題を抱えている。スキルおよび設備の不足により、膨大なログを分析しようとすると多大な労力が必要になり、有意義な情報を得られずに終わってしまう。 Although there are products suitable for log analysis such as SIEM (Security Information and Event Management), there are not many organizations that have the know-how to analyze internal improprieties, making it difficult to utilize logs. ing. Due to lack of skills and equipment, trying to analyze huge logs requires a lot of effort and ends up with no meaningful information.
そこで重要になるのが、膨大なログを適度に集約し、解釈、再利用しやすい形で扱えるようにする技術である。この点、IT(Information Technology)システムにおけるアカウンタビリティの確保を目的とし、特定の条件に合致する単位でログを上位概念に集約して報告する技術が開示されている(特許文献1参照)。かかる技術では、個別のログでは解釈が困難であるところを、あらかじめ有意味な単位を規定しておき、それに沿った形でレポート化することで、着目点が明瞭になり、ログを解釈しやすくなる。 Therefore, what is important is a technology that appropriately aggregates a huge amount of logs and makes it possible to handle them in a form that is easy to interpret and reuse. In this respect, for the purpose of ensuring accountability in an IT (Information Technology) system, a technology has been disclosed in which logs are aggregated into higher concepts in units that meet specific conditions and reported (see Patent Literature 1). With this technology, it is difficult to interpret individual logs, but by prescribing meaningful units in advance and reporting in accordance with them, the point of focus becomes clear and the logs are easy to interpret. Become.
しかしながら、特許文献1に記載の技術は、事前に設定した特定の条件に合致する単位でログの集約を行うものである。この集約単位およびその条件は、あらかじめ設定しておく必要があり、また原則として固定である。この手法は、特定の条件下では有効であると考えられるが、実運用上は、適切な集約単位およびその条件は、ログ分析の目的、手法、扱うログの性質、利用可能なログの項目、計算機リソース、人的リソースなど、様々な要因により左右されると考えられる。このため、組織ごと、局面ごとに柔軟に調整できることが望ましい。これを人手で実現しようとすると、カスタマイズに大変な労力が必要となり、現実的でない。
However, the technology described in
本発明は以上の点を考慮してなされたもので、容易かつ適切にログを集約し得るログ分析支援システムを提案しようとするものである。 SUMMARY OF THE INVENTION The present invention has been made in consideration of the above points, and intends to propose a log analysis support system capable of easily and appropriately aggregating logs.
かかる課題を解決するため本発明においては、ログのデータ項目のデータを分類可能な適用対象が規定されている集約条件要素情報に基づいて、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する特定部と、前記特定部により特定された集約の条件を出力する出力部と、を設けるようにした。 In order to solve this problem, in the present invention, based on the aggregation condition element information that defines the application targets that can classify the data of the log data items, among the log data items related to the analysis target, the application target A specifying unit for specifying corresponding data items as aggregation conditions and an output unit for outputting the aggregation conditions specified by the specifying unit are provided.
上記構成では、例えば、分析対象に係るログを指定すること等の簡易な操作により、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目が集約の条件として特定されて出力される。また、例えば、分析対象のデータ項目の名称が変更されたとしても、データの分類が同じである場合は、当該データ項目が集約の条件として適切に特定される。 In the above configuration, for example, by a simple operation such as specifying a log related to the analysis target, among the data items of the log related to the analysis target, the data item corresponding to the application target is specified as the aggregation condition and output. be. Also, for example, even if the name of the data item to be analyzed is changed, if the classification of the data is the same, the data item is appropriately identified as the aggregation condition.
本発明によれば、容易かつ適切にログを集約することができる。 According to the present invention, logs can be collected easily and appropriately.
以下図面について、本発明の一実施の形態を詳述する。以下の実施の形態では、主に、ログ分析にあたり、運用の中で蓄積される知見を活用して、少ない労力で様々な要件に適するよう、ログの集約単位を調整することができる構成について説明する。ただし、本発明は、以下の実施の形態に限定されることなく、種々の変形、応用などをした構成をとり得るものである。 One embodiment of the present invention will be described in detail below with reference to the drawings. In the following embodiments, mainly for log analysis, a configuration is described in which log aggregation units can be adjusted to meet various requirements with little effort by utilizing the knowledge accumulated during operation. do. However, the present invention is not limited to the following embodiments, and can be configured in various modifications and applications.
なお、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分(枝番を除く部分)を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、操作対象を特に区別しないで説明する場合には、「操作対象304」と記載し、個々の操作対象を区別して説明する場合には、「第1の操作対象304_1」、「第2の操作対象304_2」のように記載することがある。
In the following description, when the same type of elements are described without distinguishing between them, common parts (parts excluding the branch numbers) of the reference numerals including the branch numbers are used to distinguish between the same types of elements. In some cases, reference signs with branch numbers are used. For example, when the operation targets are described without distinguishing them, the term “
(1)第1の実施の形態
図1において、1は全体として第1の実施の形態によるログ分析支援システムを示す。
(システム構成例)
図1は、ログ分析支援システム1に係る構成の一例を示す図である。以下では、ログ分析支援システム1が、サーバ100にインストールされた、サーバ100上で動作する複数のプログラムおよびサーバ100に保存された複数のデータを含んで構成される例を挙げて説明する。サーバ100は、一または複数の端末120(端末120_Nと表記。)および管理用端末130の各々とネットワーク140を介して通信可能に接続されている。
(1) First Embodiment In FIG. 1, 1 indicates a log analysis support system according to the first embodiment as a whole.
(System configuration example)
FIG. 1 is a diagram showing an example of the configuration of a log
サーバ100は、例えば、一または複数のユーザ150(ユーザ150_Nと表記。)が利用する端末120_Nのログ、ネットワーク140に係る機器(例えば、スイッチ、ルータ、ファイアウォール)のログ、サーバ100自身のログなどを管理者160が分析するために用いるコンピュータである。
サーバ100の機能(記憶部101、ログ取得部102、ログ集約部103、テンプレート更新部104、通信部105など)は、例えば、図2に示すCPU(Central Processing Unit)201が記憶装置203に格納されたプログラムをメモリ202に読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、サーバ100の機能の一部は、サーバ100と通信可能な他のコンピュータにより実現されてもよい。
The functions of the server 100 (the
記憶部101は、未集約ログ情報111、集約後ログ情報112、集約後ログ詳細情報113、集約条件要素情報114、集約後項目要素情報115、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を管理(例えば、後述の記憶装置203に記憶)する。
The
未集約ログ情報111は、内部または外部の装置のログ(例えば、サーバ100のログ、端末120_Nのログ、ネットワーク140に係る機器のログ)の情報である。
The
集約後ログ情報112は、集約ログ情報111に格納されているログの一部が集約されて置き換えられた情報である。
Aggregated
集約後ログ詳細情報113は、集約後ログ情報112に含まれる情報のうち、集約されたログ(集約後ログ)の詳細情報である。
Aggregated log
集約条件要素情報114は、未集約ログ情報111および集約後ログ情報112に格納されたログを集約するためのテンプレート(集約テンプレート)を作成するための基本要素となる情報であり、分析対象となるログの識別条件(抽象化した識別条件)に関する情報である。集約条件要素情報114には、例えば、ログのデータ項目(ログ項目)のデータを分類可能な適用対象(例えば、データの種類)が規定されている。データの種類としては、例えば、分類(数データ、文字データなど)、データ型(INTEGER、CHARACTERなど)、データ型コード(241(10進数)、197(10進数)など)、データ格納長(8バイト、nバイトなど)、データ形式(整数、固定長文字列など)が挙げられる。
Aggregation
集約後項目要素情報115は、集約テンプレートを作成するための基本要素となる情報であり、集約後ログのデータ項目の値を算出する算出方法(抽象化した算出方法)に関する情報である。
Post-aggregation
集約条件情報116は、集約条件要素情報114に格納された抽象化した識別条件について、当該識別条件を適用する対象とするログ項目および識別の規準となるパラメータを指定するための識別条件(具体化した識別条件)である。
集約後項目情報117は、集約後項目要素情報115に格納された抽象化した算出方法について、当該算出方法の入力となるログ項目および集約後のログ項目の名称を指定するための算出方法(具体化した算出方法)に関する情報である。
集約テンプレート情報118は、未集約ログ情報111に格納されたログを集約するための情報(集約テンプレート)と、集約後ログ情報112に格納されたログを集約するための情報(集約テンプレート)とを含み得る情報である。
これらの情報の一例については、図3~図10を用いて後述する。 Examples of such information will be described later with reference to FIGS. 3 to 10. FIG.
ログ取得部102は、例えば、端末120_Nで発生した各種ログを、通信部105を介して取得し、未集約ログ情報111として記憶部101を介して格納する。なお、ログ取得部102は、端末120_Nに指示を送信してログを取得してもよいし、端末120_Nから適宜のタイミング(ログの発生時、定期的など)に送信されるログを受信することで取得してもよいし、その他の方法により取得してもよい。
The
ログ集約部103は、例えば、集約条件要素情報114、集約後項目要素情報115、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を参照し、未集約ログ情報111のログを集約し、集約後ログ情報112および集約後ログ詳細情報113として記憶部101を介して格納する。また、ログ集約部103は、例えば、集約条件要素情報114、集約後項目要素情報115、集約条件情報116、集約後項目情報117、および集約テンプレート情報118参照し、集約後ログ情報112の集約後ログを集約し、集約後ログ情報112および集約後ログ詳細情報113として記憶部101を介して格納する。
The
テンプレート更新部104は、例えば、分析対象に係るログ(例えば、管理者160により選択されたログ、管理者160により作成されたログ、管理者160により収集されたログ)に基づいて、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を更新する。また、テンプレート更新部104は、例えば、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を更新する候補案を作成して管理者160に提示し、更に管理者160の判断に基づいて、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を更新する。
The template updating unit 104 updates the aggregation condition information based on, for example, logs related to analysis targets (for example, logs selected by the
より具体的には、テンプレート更新部104は、特定部106と、出力部107と、受付部108とを備える。
More specifically, template updating unit 104 includes specifying unit 106 ,
特定部106は、例えば、集約条件要素情報114に基づいて、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する。
For example, based on the aggregation
出力部107は、例えば、特定部106により特定された集約の条件を出力する。ここで、出力とは、図2に示す出力装置206への出力であってもよいし、通信部105を介して管理用端末130に送信するものであってもよいし、予め設定された電子メールアドレスへの電子メールの送信であってもよいし、記憶部101を介して記録するものであってもよいし、その他の出力であってもよい。管理者160は、出力された集約の条件を把握することで、運用に合うように集約の条件を調整することが容易にできるようになる。
The
受付部108は、例えば、分析対象に係るログとして、管理用端末130を介して選択されたログの情報を受け付ける。管理者160は、例えば、取得されたデータの中から、分析対象としたいログを選択することで、集約の条件を得ることができるようになる。
For example, the receiving
また、出力部107は、特定部106により特定された集約の条件を集約条件候補として管理用端末130に出力し、受付部108は、集約条件候補の中から、管理用端末130を介して選択された集約の条件を受け付ける。かかる構成によれば、運用を鑑み、集約の条件をより適切に調整することができる。
Further, the
通信部105は、ネットワーク140を介して端末120_Nと通信を行う。また、通信部105は、ネットワーク140を介して管理用端末130と通信を行う。
The
端末120_Nの機能(通信部121、ログ収集部122、入出力部123など)は、例えば、図示は省略するCPUが記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現される。通信部121は、ネットワーク140を介してサーバ100と通信を行う。ログ収集部122は、端末120_Nで行われた操作、処理などに係る情報(時刻、操作種別、操作対象、プロセス名など)を収集し、ログとして記録する。入出力部123は、ユーザ150_Nによる操作を受け付け可能なインターフェイスを介してデータの入力および出力を行う。
The functions of the terminal 120_N (
管理用端末130の機能(通信部131、入出力部132など)は、例えば、図示は省略するCPUが記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現される。通信部131は、ネットワーク140を介してサーバ100と通信を行う。入出力部132は、管理者160による操作を受け付け可能なインターフェイスを介してデータの入力および出力を行う。
The functions of the management terminal 130 (
(ハードウェア構成例)
次に、サーバ100のハードウェア構成について説明する。図2は、サーバ100のハードウェア構成の一例を示す図である。
(Hardware configuration example)
Next, the hardware configuration of the
サーバ100は、CPU201、メモリ202、記憶装置203、通信装置204、入力装置205、出力装置206、およびバス207を含んで構成される。
The
CPU201は、中央演算装置であり、メモリ202または記憶装置203に保持しているプログラムを実行することで、サーバ100に必要な機能を実装するものである。メモリ202は、CPU201が処理を実行する際に利用する主記憶装置であり、RAM(Random Access Memory)などの揮発性記憶素子で構成される。記憶装置203は、CPU201に入力する入力データ、CPU201から出力される出力データを記憶するための補助記憶装置であり、ハードディスクドライブ、SSD(Solid State Drive)など適宜な不揮発性記憶素子で構成される。通信装置204は、サーバ100が外部の装置との通信を行うために用いる通信装置であり、ネットワークインターフェイスカード(NIC:Network Interface Card)などで構成される。入力装置205は、操作者からの入力を受け付けるインターフェイスであり、キーボード、タッチパネル、カードリーダ、音声入力装置などで構成される。出力装置206は、操作者に対してデータの出力を行うインターフェイスであり、ディスプレイ、スピーカー、プリンタなどで構成される。バス207は、CPU201、メモリ202、記憶装置203、通信装置204、入力装置205、および出力装置206を接続する通信路である。
The
(データ構成例)
次に、ログ分析支援システム1が利用するデータについて説明する。
(Data structure example)
Next, data used by the log
図3は、未集約ログ情報111の一例(未集約ログテーブル300)を示す図である。未集約ログテーブル300は、端末120_Nから送信されたログ(ログデータ)を格納するためのテーブルである。未集約ログテーブル300は、ログID(identification)301、時刻302、操作種別303、第1の操作対象304_1、第2の操作対象304_2、およびプロセス名305をデータ項目として有する。
FIG. 3 is a diagram showing an example of the unaggregated log information 111 (unaggregated log table 300). The unaggregated log table 300 is a table for storing logs (log data) transmitted from the terminal 120_N. The unaggregated log table 300 has log ID (identification) 301,
ログID301は、ログ(各レコード)に対してユニークに割り当てられた識別情報である。時刻302は、ログに対して設定された、当該ログが記録された時刻である。操作種別303は、当該ログの操作種別を示す。操作種別としては、例えば、ファイルを開く、ファイルを更新する、ファイルをコピーする、通信する、などの操作が挙げられる。操作対象304は、当該操作に係るパラメータの値を格納する項目である。例えば、操作種別303がファイルコピーである場合、第1の操作対象304_1は、コピー元のファイルパス、第2の操作対象304_2は、コピー先のファイルパスなどが相当する。プロセス名305は、当該ログが記録される原因となった操作(処理)を行ったプロセスの名称である。
A
本実施の形態では、端末120_Nで取得され、サーバ100に送信されるログデータに含まれるデータ項目を、ログID301、時刻302、操作種別303、操作対象304、プロセス名305として未集約ログテーブル300の構成例として示した。しかしながら、これらのデータ項目は、取得可能なログ項目に応じて適当に変更してよい。また、端末120_Nで取得されたログに限らず、サーバ100内のログ、ネットワーク140上の機器のログ等を用いてもよい。また、複数種類のログを用いる場合、未集約ログテーブル300に相当するテーブルを複数用意し、ログを種類ごとに別々のテーブルに格納する構成としてもよい。
In this embodiment, the data items included in the log data acquired by the terminal 120_N and transmitted to the
なお、ログの集約の対象を端末120単位とする場合、未集約ログテーブル300は、端末120毎に設けられてもよいし、未集約ログテーブル300のデータ項目として端末ID(端末120に対してユニークに割り当てられた識別情報)が設けられてもよい。 Note that when the target of log aggregation is a terminal 120 unit, the unaggregated log table 300 may be provided for each terminal 120, and the data items of the unaggregated log table 300 may be terminal IDs (for terminals 120). uniquely assigned identification) may be provided.
図4は、集約後ログ情報112の一例(集約後ログテーブル400)を示す図である。集約後ログテーブル400は、未集約ログテーブル300に格納されているログの一部が集約されて置き換えられた結果を格納するテーブルである。集約後ログテーブル400は、ログID401、時刻402、および操作種別403をデータ項目として有する。
FIG. 4 is a diagram showing an example of the aggregated log information 112 (aggregated log table 400). The post-aggregation log table 400 is a table that stores a result obtained by aggregating and replacing part of the logs stored in the unaggregated log table 300 . The aggregated log table 400 has
ログID401は、ログに対してユニークに割り当てられた識別情報、または集約後ログに対してユニークに割り当てられた識別情報である。時刻402は、ログが記録された時刻、または集約後ログが記録された時刻である。なお、集約後ログについては、集約後ログを代表するログが記録された時刻である。操作種別403は、ログの操作種別、または集約後ログの操作種別を示す。
The
図5は、集約後ログ詳細情報113の一例(集約後ログ詳細テーブル500)を示す図である。集約後ログ詳細テーブル500は、集約後ログテーブル400に含まれるログのうち、集約後ログの詳細情報を格納するテーブルである。集約後ログ詳細テーブル500は、ログID501、ログ項目502、および値503をデータ項目として有する。
FIG. 5 is a diagram showing an example of the aggregated log detail information 113 (aggregated log detail table 500). The post-aggregation log detail table 500 is a table that stores detailed information on the post-aggregation log among the logs included in the post-aggregation log table 400 . Aggregated log detail table 500 has
ログID501は、集約後ログテーブル400に格納された集約後ログと当該集約後ログの詳細情報とを紐づけるための識別情報である。ログ項目502は、当該集約後ログの持つデータ項目の名称(項目名)である。値503は、当該集約後ログの持つデータ項目の値である。
The
図6は、集約条件要素情報114の一例(集約条件要素テンプレートテーブル600)を示す図である。集約条件要素テンプレートテーブル600は、集約テンプレートを作成するための基本要素となる情報であり、分析対象となるログの識別条件(抽象化した識別条件)に関する情報を格納するためのテーブルである。集約条件要素テンプレートテーブル600は、条件要素ID601、適用対象602、説明603、および計算用コード604をデータ項目として有する。
FIG. 6 is a diagram showing an example of the aggregation condition element information 114 (aggregation condition element template table 600). The aggregation condition element template table 600 is information serving as basic elements for creating an aggregation template, and is a table for storing information on identification conditions (abstract identification conditions) of logs to be analyzed. The aggregate conditional element template table 600 has
条件要素ID601は、集約の条件の要素(集約条件要素テンプレートテーブル600の各レコード)に対してユニークに割り当てられた識別情報である。適用対象602は、当該条件の判定が可能なデータの種類である。説明603は、当該条件の内容の説明である。計算用コード604は、当該条件の判定を行うためのプログラムの格納場所を示す。
A
図7は、集約後項目要素情報115の一例(集約後項目要素テンプレートテーブル700)を示す図である。集約後項目要素テンプレートテーブル700は、集約テンプレートを作成するための基本要素となる情報であり、集約後のログ項目の算出方法(抽象化した算出方法)に関する情報を格納するためのテーブルである。集約後項目要素テンプレートテーブル700は、項目要素ID701、適用対象702、説明703、および計算用コード704をデータ項目として有する。
FIG. 7 is a diagram showing an example of the post-aggregation item element information 115 (post-aggregation item element template table 700). The post-aggregation item element template table 700 is information serving as basic elements for creating an aggregation template, and is a table for storing information on a calculation method (abstraction calculation method) of post-aggregation log items. The aggregated item element template table 700 has
項目要素ID701は、データ項目の要素(集約後項目要素テンプレートテーブル700の各レコード)に対してユニークに割り当てられた識別情報である。適用対象702は、当該データ項目の値の算出が可能なデータの種類である。説明703は、当該データ項目の値の算出方法の説明である。計算用コード704は、当該データ項目の値を算出するためのプログラムの格納場所を示す。
The
図8は、集約条件情報116の一例(集約条件テーブル800)を示す図である。集約条件テーブル800は、集約条件要素テンプレートテーブル600に格納された抽象化した識別条件について、当該識別条件を適用する対象とするログ項目および識別の規準となるパラメータを指定するための識別条件(具体化した識別条件)を格納するためのテーブルである。集約条件テーブル800は、条件ID801、対象802、集約条件要素803、適用対象項目804、およびパラメータ805をデータ項目として有する。
FIG. 8 is a diagram showing an example of the aggregation condition information 116 (aggregation condition table 800). The aggregation condition table 800 contains, for the abstracted identification conditions stored in the aggregation condition element template table 600, identification conditions (specific This is a table for storing the converted identification conditions). The aggregation condition table 800 has
条件ID801は、集約の具体的な条件(集約条件テーブル800の各レコード)に対してユニークに割り当てられた識別情報である。対象802は、当該条件による識別の対象となるログの種別を示すものである。集約条件要素803は、当該条件の判定方法を規定する、集約条件要素テンプレートテーブル600に格納されたテンプレートを指定する値である。この値は、条件要素ID601に基づいて設定される。適用対象項目804は、当該条件の判定対象となるログ項目の項目名を指定する値である。パラメータ805は、当該条件の判定基準となる具体値を指定するものである。
A
図9は、集約後項目情報117の一例(集約後項目テーブル900)を示す図である。集約後項目テーブル900は、集約後項目要素テンプレートテーブル700に格納された抽象化した算出方法について、当該算出方法の入力となるログ項目および集約後のログ項目の名称を指定するための算出方法(具体化した算出方法)に関する情報を格納するためのテーブルである。集約後項目テーブル900は、項目ID901、対象902、集約後項目要素903、適用対象項目904、および新規項目名905をデータ項目として有する。
FIG. 9 is a diagram showing an example of the post-aggregation item information 117 (post-aggregation item table 900). The post-aggregation item table 900 contains, for the abstracted calculation methods stored in the post-aggregation item element template table 700, a calculation method ( This is a table for storing information on a specific calculation method). The post-aggregation item table 900 has
項目ID901は、集約対象の具体的なデータ項目(集約後項目テーブル900の各レコード)に対してユニークに割り当てられた識別情報である。対象902は、当該データ項目の値の算出方法への情報の入力源となるログの種別を示すものである。集約後項目要素903は、当該算出方法を規定する、集約後項目要素テンプレートテーブル700に格納されたテンプレートを指定する値である。この値は、項目要素ID701に基づいて設定される。適用対象項目904は、当該算出方法への情報の入力源となるログ項目を指定する値である。新規項目名905は、当該算出方法により算出した値の、集約後のログ項目の項目名を指定するものである。
The
図10は、集約テンプレート情報118の一例(集約テンプレートテーブル1000)を示す図である。集約テンプレートテーブル1000は、集約テンプレートを格納するためのテーブルである。集約テンプレートテーブル1000は、集約ID1001、操作種別1002、集約条件1003、および集約後項目1004をデータ項目として有する。
FIG. 10 is a diagram showing an example of the aggregation template information 118 (aggregation template table 1000). Aggregation template table 1000 is a table for storing aggregation templates. Aggregation template table 1000 has
集約ID1001は、集約テンプレート(集約テンプレートテーブル1000の各レコード)に対してユニークに割り当てられた識別情報である。操作種別1002は、集約後ログに割り当てられる新たな操作種別の名称である。集約条件1003は、当該集約テンプレートが集約対象とするログを識別するための条件を指定する。この条件については、集約条件テーブル800に格納された条件を、条件ID801により指定する。集約後項目1004は、当該集約テンプレートにより集約された後のログ項目およびその値を算出するための方法を指定する。この算出方法については、集約後項目テーブル900に格納された算出方法を、項目ID901により指定する。
(処理のフロー例)
次に、ログの集約に係る処理(ログ集約処理)について図11を用いて説明する。図11は、ログ集約処理に係るフローチャートの一例を示す図である。ログ集約処理は、所定のタイミング(例えば、定期的、予め指定された時間、管理者160等により指示されたタイミングなど)に開始される。
(Processing flow example)
Next, processing related to log aggregation (log aggregation processing) will be described with reference to FIG. 11 . FIG. 11 is a diagram illustrating an example of a flowchart relating to log aggregation processing. The log aggregation process is started at a predetermined timing (for example, periodically, at a predetermined time, at a timing instructed by the
ステップS1101では、ログ取得部102は、端末120_Nからログを取得(例えば、端末120_Nから送信されたログを受信)する。
In step S1101, the
ステップS1102では、ログ取得部102は、取得したログを未集約ログテーブル300に格納する。
In step S<b>1102 , the
ログ集約部103は、例えば、ログ取得部102により未集約ログテーブル300が更新された時に起動し、ログを集約する処理(ステップS1103~ステップS1110)を実行する。
The
ステップS1103では、ログ集約部103は、集約テンプレートテーブル1000を参照し、集約テンプレートテーブル1000に格納されている全てのレコード(集約テンプレートの一覧)を取得する。
In step S<b>1103 , the
ステップS1104では、ログ集約部103は、取得したレコード(集約テンプレート)ごとにステップS1105~ステップS1110の処理を行う。
In step S1104, the
ステップS1105では、ログ集約部103は、集約条件テーブル800を参照して、集約テンプレートの集約条件1003に対応する条件ID801を持つ集約条件のレコードを取得し、集約後項目テーブル900を参照して、集約テンプレートの集約後項目1004に対応する項目ID901を持つ集約後項目のレコードを取得する。
In step S1105, the
例えば、ログ集約部103は、集約ID1001が「G1」のレコードが処理対象である場合、図10に示すように、集約条件1003には、「S1 and S2 and S3」が設定されているので、集約条件テーブル800を参照し、条件ID801が「S1」のレコードと、条件ID801が「S2」のレコードと、条件ID801が「S3」のレコードとを取得する。また、集約後項目1004には、「K1,K2,K3,K4,K5」が設定されているので、ログ集約部103は、集約後項目テーブル900を参照し、項目ID901が「K1」のレコードと、項目ID901が「K2」のレコードと、項目ID901が「K3」のレコードと、項目ID901が「K4」のレコードと、項目ID901が「K5」のレコードとを取得する。
For example, when the
ステップS1106では、ログ集約部103は、集約条件要素テンプレートテーブル600を参照して、取得した集約条件のレコードの集約条件要素803に対応する条件要素ID601を持つ集約条件要素のレコードを取得し、集約後項目要素テンプレートテーブル700を参照して、集約後項目のレコードの集約後項目要素903に対応する項目要素ID701を持つ集約後項目要素のレコードを取得する。
In step S1106, the
例えば、ログ集約部103は、条件ID801が「S1」の集約条件のレコードを取得した場合、図8に示すように、集約条件要素803には、「R1」が設定されているので、集約条件要素テンプレートテーブル600を参照し、条件要素ID601が「R1」の集約条件要素のレコードを取得する。付言するならば、ログ集約部103は、条件ID801が「S2」のレコードおよび「S3」の集約条件のレコードを取得した場合、条件要素ID601が「R2」の集約条件要素のレコードおよび「R3」の集約条件要素のレコードを同様に取得する。
For example, when the
また、例えば、ログ集約部103は、項目ID901が「K1」の集約後項目のレコードを取得した場合、図9に示すように、集約後項目要素903には、「C1」が設定されているので、集約後項目要素テンプレートテーブル700を参照し、項目要素ID701が「C1」の集約後項目要素のレコードを取得する。付言するならば、ログ集約部103は、項目ID901が「K2」の集約後項目のレコードを取得した場合、項目要素ID701が「C2」の集約後項目要素のレコードを同様に取得し、項目ID901が「K3」の集約後項目のレコードおよび「K4」の集約後項目のレコードを取得した場合、項目要素ID701が「C3」の集約後項目要素のレコードを同様に取得し、項目ID901が「K5」の集約後項目のレコードを取得した場合、項目要素ID701が「C4」の集約後項目要素のレコードを同様に取得する。
For example, when the
ステップS1107では、ログ集約部103は、取得した集約条件要素のレコードの計算用コード604を参照し、計算用コード604で指定された計算用プログラムファイルにアクセスして、計算用プログラムファイルを取得し、集約後項目要素のレコードの計算用コード704を参照し、計算用コード704で指定された計算用プログラムファイルにアクセスして、計算用プログラムファイルを取得する。
In step S1107, the
ステップS1108では、ログ集約部103は、未集約ログテーブル300を参照し、集約テンプレートテーブル1000に格納された集約テンプレートについて、合致する箇所を探索する。より具体的には、集約テンプレートの集約条件1003に設定された条件に基づいて、適用対象項目804で指定されたログ項目について、未集約ログテーブル300を走査し、当該項目がパラメータ805で指定された条件を満たしているか否かを、計算用コード604で指定されたプログラムを実行することで判定する。
In step S<b>1108 , the
例えば、ログ集約部103は、集約ID1001が「G1」のレコードが処理対象である場合、ステップS1105では、条件ID801が「S1」のレコードと「S2」のレコードと「S3」のレコードとを取得している。また、ログ集約部103は、ステップS1107では、計算用コード604で指定された計算用プログラムファイル「C:¥r1.exe」~「C:¥r3.exe」を取得している。
For example, when the
ログ集約部103は、条件ID801が「S1」のレコードでは、適用対象項目804が「時刻」であるので、未集約ログテーブル300の時刻302について、条件要素ID601が「R1」のレコードに示される計算用コード604のプログラム「C:¥r1.exe」を実行し、得られた結果がパラメータ805の「max:10」を満たすか否か(この例では、10秒以内に行われている操作であるか否か)を各レコードについて判定する。
In the
また、ログ集約部103は、条件ID801が「S2」のレコードでは、適用対象項目804が「操作種別」であるので、未集約ログテーブル300の操作種別303について、条件要素ID601が「R2」のレコードに示される計算用コード604のプログラム「C:¥r2.exe」を実行し、得られた結果がパラメータ805の「ファイルコピー」を満たすか否かを各レコードについて判定する。
In addition, since the
また、ログ集約部103は、条件ID801が「S3」のレコードでは、適用対象項目804が「プロセス名」であるので、未集約ログテーブル300のプロセス名305について、条件要素ID601が「R3」のレコードに示される計算用コード604のプログラム「C:¥r3.exe」を実行し、得られた結果がパラメータ805の「―」を満たすか否か(この例では、プロセス名が同じであるか否か)を各レコードについて判定する。
In addition, since the
上述の例では、直前に取得されたログから10秒以内に取得されたログであり、操作種別が「ファイルコピー」であり、かつ、プロセス名が同一であることが集約の条件である。よって、本例では、ログ集約部103は、ログID301が「Raw1」のレコードと「Raw2」のレコードと「Raw3」のレコードとを集約の条件(全ての条件)を満たすレコードとして特定する。
In the above example, the conditions for consolidation are that the logs are acquired within 10 seconds from the immediately preceding log, the operation type is "file copy", and the process name is the same. Therefore, in this example, the
ただし、上述の処理に限られるものではない。例えば、集約の条件に複数の条件が設定されている場合、条件を満たす割合がしきい値より高い場合、集約の条件を満たすレコードとして特定してもよい。また、例えば、各条件に重みが設定されており(例えば、集約条件テーブル800のデータ項目に重み項目が設けられ、重みが設定されており)、重みの合計がしきい値より高い場合、集約の条件を満たすレコードとして特定してもよい。つまり、ログ集約部103は、集約の条件の一部を満たすログを対象として集約してもよい。このように、集約対象のログの判定時に、一部の情報の欠落、多少の値の変動を許容することで、集約の意味合いを保ったまま、情報の不足に対して頑健性を高めることができる。
However, it is not limited to the above processing. For example, when a plurality of conditions are set as conditions for aggregation, records that satisfy the conditions for aggregation may be specified if the rate of satisfying the conditions is higher than a threshold value. Further, for example, a weight is set for each condition (for example, a weight item is provided in the data item of the aggregation condition table 800 and a weight is set), and if the sum of the weights is higher than the threshold, the aggregation It may be identified as a record that satisfies the conditions of In other words, the
ステップS1109では、ログ集約部103は、合致箇所があるか否か(集約テンプレートの集約条件1003に設定された集約の条件を満たす複数のログがあるか否か)を判定する。ログ集約部103は、合致箇所があると判定した場合、ステップS1110に処理を移し、合致箇所がないと判定した場合、未処理のレコード(集約テンプレート)があるときは処理対象を次のレコードに移し、未処理のレコードがないときは、ログ集約処理を終了する。
In step S1109, the
ステップS1110では、ログ集約部103は、条件を満たすログについて、それらを集約したログを生成し、集約後ログテーブル400および集約後ログ詳細テーブル500を更新し、未処理のレコード(集約テンプレート)があるときは処理対象を次のレコードに移し、未処理のレコードがないときは、ログ集約処理を終了する。
In step S1110, the
より具体的には、ログ集約部103は、集約テンプレートの集約後項目1004に記載された内容に基づいて、適用対象項目904で指定されたログ項目について、条件を満たすログを参照して値を取得し、計算用コード704で指定されたプログラムに入力することで集約後の項目値を得る。ログ集約部103は、集約後ログテーブル400に新たなレコードを作成し、ログID401に新規のIDを作成し、時刻402には上記条件を満たしたログのうち最も値が小さいものの時刻を格納し、操作種別403には操作種別1002で指定された値を新たに格納する。また、ログ集約部103は、集約後ログ詳細テーブル500には、集約後項目1004で指定された数だけ新たなレコードを作成し、ログID501にはログID401で生成した新規のIDを格納し、ログ項目502には新規項目名905で指定された値を格納し、値503には集約後の項目値を格納する。
More specifically, the
例えば、ログ集約部103は、集約ID1001が「G1」のレコードが処理対象である場合、ステップS1108では、ログID301が「Raw1」のレコードと「Raw2」のレコードと「Raw3」のレコードとを集約条件を満たすレコードとして特定している。また、ログ集約部103は、ステップS1105では、項目ID901が「K1」のレコード~「K5」のレコードを取得している。また、ログ集約部103は、ステップS1107では、計算用コード704で指定された計算用プログラムファイル「C:¥c1.exe」~「C:¥c4.exe」を取得している。
For example, when the record with the
ログ集約部103は、項目ID901が「K1」のレコードでは、適用対象項目904が「時刻」であるので、「Raw1」~「Raw3」のレコードの時刻302について、計算用コード704のプログラム「C:¥c1.exe」を実行して時刻302の最小値「00:00:01」を新規項目名905の「開始時刻」の値として取得する。
In the record with the
ログ集約部103は、項目ID901が「K2」のレコードでは、適用対象項目904が「時刻」であるので、「Raw1」~「Raw3」のレコードの時刻302について、計算用コード704のプログラム「C:¥c2.exe」を実行して時刻302の最大値「00:00:05」を新規項目名905の「終了時刻」の値として取得する。
In the record with the
ログ集約部103は、項目ID901が「K3」のレコードでは、適用対象項目904が「第1の操作対象」であるので、「Raw1」~「Raw3」のレコードの第1の操作対象304_1について、計算用コード704のプログラム「C:¥c3.exe」を実行して第1の操作対象304_1の共通部分「C:¥a¥」を新規項目名905の「第1の操作対象」の値として取得する。
In the record with the
ログ集約部103は、項目ID901が「K4」のレコードでは、適用対象項目904が「第2の操作対象」であるので、「Raw1」~「Raw3」のレコードの第2の操作対象304_2について、計算用コード704のプログラム「C:¥c3.exe」を実行して第2の操作対象304_2の共通部分「D:¥b¥」を新規項目名905の「第2の操作対象」の値として取得する。
In the record with the
ログ集約部103は、項目ID901が「K5」のレコードでは、適用対象項目904が「―(指定なし)」であるので、「Raw1」~「Raw3」のレコードについて、計算用コード704のプログラム「C:¥c4.exe」を実行して集約件数「3」を新規項目名905の「出現回数」の値として取得する。
In the record with the
以上が、ログ集約処理の一例である。つまり、記憶部101は、特定部106により特定された集約の条件を集約条件情報116として記憶し、ログ集約部103は、記憶部101に記憶された集約条件情報116に基づいてログを集約する。また、特定部106は、集約条件要素情報114に基づいて、分析対象に係るログから、特定したデータ項目の値をパラメータとして特定し、記憶部101は、特定部106により特定された集約の条件とパラメータと集約の条件に係る適用対象とを対応付けて集約条件情報116として記憶する。また、ログ集約部103は、特定部106により特定された集約の条件に係る適用対象に対応付けられているプログラムを実行して分析対象のログから集約の条件を満たすログを集約の対象として抽出する。このように、固定的な条件(例えば、適用対象、計算用プログラムファイル)と変動的な条件(例えば、パラメータ)とにより集約の条件を構成することで、集約の条件について、自由度を持たせつつ、容易に調整することができるようになる。また、例えば、管理者160は、抽出されたログを把握することで、自身で出力された集約の条件を用いてログを抽出するときよりも容易に分析を行うことができる。
The above is an example of log aggregation processing. That is, the
また、特定部106は、ログが集約された集約後ログのデータ項目のデータを分類可能な適用対象が規定されている集約後項目要素情報115に基づいて、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を、データ項目の値を算出する算出対象として特定し、記憶部101は、特定部106により特定された算出対象のデータ項目とデータ項目に係る適用対象とを対応付けて集約後項目情報117として記憶する。また、ログ集約部103は、特定部106により特定された算出対象のデータ項目に係る適用対象に対応付けられているプログラムを実行してデータ項目の値を計算する。このように、集約後ログの値を算出することで、管理者160は、抽出されたログの項目値を自身で計算する必要がなく、より容易にログの分析を行うことができる。
In addition, the identifying unit 106 determines the data items of the logs related to the analysis target based on the post-aggregation
次に、集約テンプレートの更新に係る処理(集約テンプレート更新処理)について図12を用いて説明する。図12は、集約テンプレート更新処理に係るフローチャートの一例を示す図である。 Next, a process (aggregate template update process) related to update of aggregate templates will be described with reference to FIG. 12 . FIG. 12 is a diagram illustrating an example of a flowchart relating to aggregation template update processing.
集約テンプレート更新処理は、例えば、管理者160による操作に基づいて管理用端末130からネットワーク140を経由してサーバ100にアクセスすることを契機に開始する。テンプレート更新部104は、管理者160による指定に基づいて、未集約ログテーブル300または集約後ログテーブル400を参照し、格納されているログ(分析対象のログ)の一覧を管理用端末130に送信する。なお、図12では、未集約ログテーブル300を参照する場合を例に挙げて説明する。
Aggregation template update processing is started, for example, when the
ステップS1201では、管理用端末130は、サーバ100から送信されたログの一覧を管理者160が参照して集約すべきログ(分析対象に係るログ)をログ一覧から選択した結果(選択結果)をサーバ100に送信する。なお、入出力例については、図13を用いて後述する。
In step S1201, the
ステップS1202では、テンプレート更新部104は、選択結果を受信し、選択されたログのデータ項目と集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)との組み合わせごとに、ステップS1203~ステップS1207の処理を行う。 In step S1202, the template updating unit 104 receives the selection result, and for each combination of the selected log data item and the application target 602 (aggregation condition element template) of the aggregation condition element template table 600, steps S1203 to step The processing of S1207 is performed.
ステップS1203では、テンプレート更新部104は、選択された一連のログの処理対象のデータ項目について、集約条件要素テンプレートテーブル600の処理対象の適用対象602の適用を試みる。
In step S1203, the template updating unit 104 attempts to apply the processing
例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が時刻302であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R1」の「数値」である場合、処理対象の組み合わせは集約条件要素テンプレートの適用が可能な形式であると判定する。
For example, the template update unit 104 determines that the data item to be processed in the selected log is the
また、例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が時刻302であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R2」の「文字列」である場合、処理対象の組み合わせは集約条件要素テンプレートの適用が不可能な形式であると判定する。
Further, for example, the template update unit 104 determines that the data item to be processed in the selected log is the
ステップS1204では、テンプレート更新部104は、処理対象のデータ項目に処理対象の適用対象(集約条件要素テンプレート)の適用が可能であるか否かを判定する。テンプレート更新部104は、適用が可能な形式であると判定した場合、ステップS1205に処理を移し、適用可能な形式でないと判定した場合、未処理の組み合わせがあるとき、処理対象を次の組み合わせにしてステップS1203に処理を移し、未処理の組み合わせがないとき、ステップS1208に処理を移す。 In step S1204, the template updating unit 104 determines whether or not it is possible to apply the processing target application target (aggregation condition element template) to the processing target data item. If the template updating unit 104 determines that the format is applicable, the process proceeds to step S1205, and if it determines that the format is not applicable, and there is an unprocessed combination, the template update unit 104 selects the next combination as the processing target. Then, the process moves to step S1203, and when there is no unprocessed combination, the process moves to step S1208.
ステップS1205では、テンプレート更新部104は、適当なパラメータを検索する。より具体的には、テンプレート更新部104は、計算用コード604で指定されたプログラムの条件判定により合致すると判定される最小範囲のパラメータを算出する。
In step S1205, the template updating unit 104 searches for suitable parameters. More specifically, the template updating unit 104 calculates the minimum range of parameters that are determined to match by the condition determination of the program specified by the
例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が時刻302であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R1」の「数値」である場合、直前のログとの時刻の差分として、ログID301の「Raw1」とログID301の「Raw2」との差分「1」、ログID301の「Raw2」とログID301の「Raw3」との差分「3」を算出し、直前のログとの差分の上限値「3」および下限値「1」を適当なパラメータとして検索する。
For example, the template update unit 104 determines that the data item to be processed in the selected log is the
また、例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が第1の操作対象304_1であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R2」の「文字列」である場合、特定の文字列として、ログID301が「Raw1」~「Raw3」で共通する「C:¥a¥」を適当なパラメータとして検索する。
Further, for example, the template update unit 104 determines that the data item to be processed in the selected log is the first operation target 304_1, and the
ステップS1206では、テンプレート更新部104は、パラメータが存在するか否かを判定する。テンプレート更新部104は、パラメータが存在すると判定した場合、ステップS1207に処理を移し、存在しないと判定した場合、未処理の組み合わせがあるとき、処理対象を次の組み合わせにしてステップS1203に処理を移し、未処理の組み合わせがないとき、ステップS1208に処理を移す。 In step S1206, the template updating unit 104 determines whether or not parameters exist. If the template update unit 104 determines that the parameter exists, the process proceeds to step S1207, and if it determines that the parameter does not exist, and there is an unprocessed combination, the template update unit 104 sets the next combination as the processing target, and moves the process to step S1203. , when there is no unprocessed combination, the process moves to step S1208.
ステップS1207では、テンプレート更新部104は、パラメータが存在したデータ項目と集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)との組み合わせを、新たな集約テンプレートが用いる集約の条件の候補(集約条件候補)として保持する。 In step S1207, the template updating unit 104 converts the combination of the data item in which the parameter exists and the application target 602 (aggregation condition element template) of the aggregation condition element template table 600 into candidates for aggregation conditions used by the new aggregation template ( Candidates for aggregation conditions).
なお、上述の処理に限られるものではなく、パラメータが存在しない場合、または適当なパラメータを検索しない構成である場合、テンプレート更新部104は、処理対象のデータ項目に適用可能な集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)を、新たな集約テンプレートが用いる集約の条件の候補(集約条件候補)として保持してもよい。 Note that the processing is not limited to the above-described processing, and if there is no parameter or if the configuration does not search for an appropriate parameter, the template updating unit 104 updates the aggregation condition element template table applicable to the data item to be processed. An application target 602 (aggregation condition element template) of 600 may be held as a candidate for aggregation condition (aggregation condition candidate) used by a new aggregation template.
ステップS1208では、テンプレート更新部104は、管理用端末130に集約条件候補を送信する。管理用端末130は、集約条件候補を受信すると、集約条件候補を管理者160に提示する。なお、入出力例については、図13を用いて後述する。
In step S<b>1208 , the template updating unit 104 transmits aggregation condition candidates to the
ステップS1209では、管理用端末130は、提示された集約条件候補を管理者160が参照して集約条件の取捨選択およびパラメータの調整を行った結果(集約条件決定結果)をサーバ100に送信する。
In step S<b>1209 , the
ステップS1210では、テンプレート更新部104は、管理用端末130から集約条件決定結果を受信し、集約条件テーブル800に新たなレコードを追加する。追加する数は、管理者160が決定した、新規集約テンプレートの集約条件数である。条件ID801は、新規に作成し、対象802には管理者160により選択されたログの種別に準じた値を格納し、集約条件要素803および適用対象項目804には管理者160により選択された集約条件候補を格納し、パラメータ805には管理者160が調整を行った値を格納する。
In step S<b>1210 , the template updating unit 104 receives the aggregation condition determination result from the
ステップS1211では、テンプレート更新部104は、ステップS1202~ステップS1207と同様に、管理者160により選択されたデータ項目に適用可能な集約後項目要素テンプレートテーブル700の適用対象702(集約後項目要素テンプレート)を、集約後項目要素テンプレートテーブル700から抽出し、その組み合わせを、新たな集約後項目要素テンプレートが用いる集約後のデータ項目の候補(集約後項目候補)として管理用端末130に送信する。管理用端末130は、集約後項目候補を管理者160に提示する。なお、入出力例については、図13を用いて後述する。
In step S1211, the template updating unit 104 updates the application target 702 (post-aggregation item element template) of the post-aggregation item element template table 700 applicable to the data item selected by the
ステップS1212では、管理用端末130は、提示された組み合わせの中からログ分析に必要なデータ項目を管理者160が取捨選択し、新規項目名を入力した結果(集約後項目決定結果)をサーバ100に送信する。
In step S1212, the
ステップS1213では、テンプレート更新部104は、ステップS1210と同様に、集約後項目テーブル900にレコードを追加し、取捨選択されたデータ項目と当該データ項目に適用可能な適用対象702との組み合わせ(集約後項目候補)を集約後項目要素903および適用対象項目904に格納し、管理者160により入力された新規項目名を新規項目名905に格納する。
In step S1213, the template updating unit 104 adds a record to the post-aggregation item table 900 in the same manner as in step S1210, and combines the selected data item with the
ステップS1214では、テンプレート更新部104は、集約テンプレートテーブル1000を更新し、集約テンプレート更新処理を終了する。集約テンプレートテーブル1000にレコードを追加し、集約テンプレートの操作種別を操作種別1002に格納し、新たに作成した集約条件テーブル800のレコードのIDを集約条件1003に格納し、新たに作成した集約後項目テーブル900のレコードのIDを集約後項目1004に格納する。なお、操作種別1002については、管理者160により入力を受け付け、受け付けた入力値を用いるようにしてもよい。
In step S1214, the template update unit 104 updates the aggregation template table 1000, and terminates the aggregation template update process. A record is added to the aggregation template table 1000, the operation type of the aggregation template is stored in the
また、図12では、未集約ログテーブル300を参照する場合を例に挙げて説明したが、これに限られるものではなく、集約後ログテーブル400を参照する場合でも同様に集約テンプレート更新処理を行うことができる。この場合、ステップS1202では、テンプレート更新部104は、集約後ログ詳細テーブル500を参照し、選択された集約後ログのログIDをキーに、集約後ログのデータ項目(ログIDに対応するレコード)を特定する。そして、特定したデータ項目と集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)との組み合わせごとに、ステップS1203~ステップS1207の処理を行う。つまり、記憶部101は、ログ集約部によりログが集約された集約後ログを記憶し、特定部106は、集約条件要素情報114に基づいて、記憶部101に記憶されている分析対象に係る集約後ログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する。かかる構成では、集約後ログを更に集約の対象とすることが可能となり、段階的に集約することで、個々の集約の条件の簡素化を図ることができる。付言するならば、集約テンプレートとして、集約の条件と集約後ログのデータ項目の値の算出方法とを定め、集約の入力と出力とを明確にすることで、多段階の集約を実現している。
Also, in FIG. 12, the case of referring to the non-aggregated log table 300 has been described as an example, but the present invention is not limited to this, and the aggregation template update process is performed similarly even when the post-aggregation log table 400 is referred to. be able to. In this case, in step S1202, the template updating unit 104 refers to the aggregated log detail table 500, and uses the log ID of the selected aggregated log as a key to update data items of the aggregated log (record corresponding to the log ID). identify. Then, steps S1203 to S1207 are performed for each combination of the specified data item and the application target 602 (aggregation condition element template) of the aggregation condition element template table 600. FIG. That is, the
(画面構成例)
次に、集約テンプレートの更新に係る入出力について図13を用いて説明する。図13は、集約テンプレートの更新に係る入出力の一例(集約テンプレート更新画面1300)を示す図である。
(Example of screen configuration)
Next, input/output related to update of aggregation templates will be described with reference to FIG. 13 . FIG. 13 is a diagram showing an example of input/output (aggregation template update screen 1300) related to update of aggregation templates.
集約テンプレート更新画面1300は、集約対象ログ指定領域1310、集約条件指定領域1320、集約後項目指定領域1330、決定およびキャンセルボタン1340を含んで構成される。
Aggregation
集約対象ログ指定領域1310は、ステップS1201で管理者160がログを選択(指定)するための領域である。集約対象ログ指定領域1310では、未集約ログテーブル300または集約後ログテーブル400のログ(レコード)の一覧を表示し、チェックボックス形式で、分析対象に係るログが指定される。
The aggregation target
集約条件指定領域1320は、ステップS1209で管理者160が集約条件候補を選択(指定)する領域である。集約条件指定領域1320は、パラメータが存在したデータ項目と当該データ項目に適用可能な適用対象602(集約条件要素テンプレート)との組み合わせを、新たな集約テンプレートが用いる集約条件の候補として表示する。集約条件指定領域1320では、集約条件の取捨選択およびパラメータの調整が行われ、チェックボックス形式で集約テンプレートへの追加有無が指定される。
The aggregation condition designation area 1320 is an area where the
集約後項目指定領域1330は、ステップS1212で管理者160が集約後項目候補を選択する領域である。集約後項目指定領域1330は、集約後のログ項目の候補を表示する。集約後項目指定領域1330では、新規項目名の入力が行われ、チェックボックス形式で集約テンプレートへの追加有無が指定される。
Post-aggregation
決定及びキャンセルボタン1340は、各ステップへの意思決定をサーバ100に送信するか否かを指定するものである。
A decision and cancel
上述した構成では、ログを上位概念に集約するための集約テンプレートを、分析対象のログを決定するための条件および集約後のログ項目の算出方法の組み合わせで表現し、それぞれを汎用的な処理の集合およびパラメータの組み合わせで規定する。さらに、運用上の実績からこれらの組み合わせを半自動的に推定することで、労力をかけずに集約テンプレートの作成および更新を可能とする。 In the configuration described above, an aggregation template for aggregating logs into higher-level concepts is expressed as a combination of conditions for determining logs to be analyzed and calculation methods for log items after aggregation, and each of these is expressed as a general-purpose process. Defined by a combination of sets and parameters. Furthermore, by semi-automatically estimating these combinations from operational results, it is possible to create and update aggregate templates without much effort.
本実施の形態によれば、ログ分析の目的、利用可能なログのデータ項目、計算機のリソース、人的なリソースなどの制約条件に応じて、適切なログの集約単位を簡便に設定することができる。 According to the present embodiment, it is possible to easily set an appropriate log aggregation unit according to constraints such as the purpose of log analysis, usable log data items, computer resources, and human resources. can.
(2)他の実施の形態
なお上述の実施の形態においては、本発明をログ分析支援システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
(2) Other Embodiments In the above-described embodiment, the case where the present invention is applied to the log analysis support system was described, but the present invention is not limited to this, and various other systems, It can be widely applied to devices, methods and programs.
また上述の実施の形態においては、説明の便宜上、XXテーブル、XXファイルを用いて各種のデータを説明したが、データ構造は限定されるものではなく、XX情報などと表現してもよい。 In the above embodiment, for convenience of explanation, XX tables and XX files have been used to describe various types of data, but the data structure is not limited and may be expressed as XX information or the like.
また、上記の説明において各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 In the above description, information such as programs, tables, and files that implement each function is stored in memory, hard disks, SSD (Solid State Drives), and other storage devices, or IC cards, SD cards, DVDs, and other recording media. can be placed in
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。 Moreover, the above-described configurations may be appropriately changed, rearranged, combined, or omitted within the scope of the present invention.
1……ログ分析支援システム、100……サーバ、101……記憶部、102……ログ取得部、103……ログ集約部、104……テンプレート更新部、105……通信部。 1... Log analysis support system, 100... Server, 101... Storage unit, 102... Log acquisition unit, 103... Log aggregation unit, 104... Template update unit, 105... Communication unit.
Claims (11)
前記特定部により特定されプロセスの名称を含んだ集約の条件を集約条件情報として記憶する記憶部と、
前記記憶部に記憶された集約条件情報に基づいて、プロセスの名称が同一の複数の操作ログを一つの操作ログに集約するログ集約部と、
前記特定部により特定された集約の条件を出力する出力部と、
を備えることを特徴とするログ分析支援システム。 Operations related to the analysis target based on the aggregation condition element information that defines applicable targets that can classify the data items of the operation log generated by the process performing the operation on the user terminal, which is the terminal used by the user a specifying unit that specifies a data item corresponding to an application target from among a plurality of log data items as a condition for aggregating;
a storage unit that stores, as aggregation condition information, an aggregation condition that includes the name of the process specified by the specifying unit;
a log aggregation unit that aggregates a plurality of operation logs having the same process name into one operation log based on the aggregation condition information stored in the storage unit;
an output unit that outputs the aggregation condition specified by the specifying unit;
A log analysis support system comprising:
前記記憶部は、前記特定部により特定された集約の条件とパラメータと前記集約の条件に係る適用対象とを対応付けて集約条件情報として記憶する、
ことを特徴とする請求項1に記載のログ分析支援システム。 The specifying unit specifies, as a parameter, the value of the specified data item from the log related to the analysis target based on the aggregation condition element information,
The storage unit associates the aggregation conditions and parameters specified by the specifying unit with the application targets related to the aggregation conditions and stores them as aggregation condition information.
The log analysis support system according to claim 1 , characterized by:
前記ログ集約部は、前記特定部により特定された集約の条件に係る適用対象に対応付けられているプログラムを実行して分析対象のログから前記集約の条件を満たすログを集約の対象として抽出する、
ことを特徴とする請求項1に記載のログ分析支援システム。 A program that determines conditions for aggregation is associated with the application target of the aggregation condition element information,
The log aggregating unit executes a program associated with an application target related to the aggregation condition specified by the specifying unit, and extracts, from the logs to be analyzed, logs satisfying the aggregation condition as aggregation targets. ,
The log analysis support system according to claim 1 , characterized by:
前記記憶部は、前記特定部により特定された算出対象のデータ項目と前記データ項目に係る適用対象とを対応付けて集約後項目情報として記憶する、
ことを特徴とする請求項1に記載のログ分析支援システム。 The specifying unit, based on the post-aggregation item element information that defines applicable targets that can classify the data of the data items of the post-aggregation log in which the logs are aggregated, among the data items of the log related to the analysis target, Identify the data item corresponding to the applicable target as a calculation target for calculating the value of the data item,
The storage unit associates the calculation target data item specified by the specifying unit with the application target related to the data item, and stores them as post-aggregation item information.
The log analysis support system according to claim 1 , characterized by:
前記ログ集約部は、前記特定部により特定された算出対象のデータ項目に係る適用対象に対応付けられているプログラムを実行して前記データ項目の値を計算する、
ことを特徴とする請求項4に記載のログ分析支援システム。 A program for calculating a value of a data item related to the application target is associated with the application target of the post-aggregation item element information,
The log aggregating unit calculates the value of the data item by executing the program associated with the application target related to the calculation target data item specified by the specifying unit.
5. The log analysis support system according to claim 4 , characterized by:
ことを特徴とする請求項1に記載のログ分析支援システム。 Equipped with a log acquisition unit that acquires a terminal log as a log to be analyzed,
The log analysis support system according to claim 1 , characterized by:
ことを特徴とする請求項1に記載のログ分析支援システム。 A reception unit that receives information of a log selected via a management terminal as a log related to the analysis target,
The log analysis support system according to claim 1, characterized by:
前記集約条件候補の中から、前記管理用端末を介して選択された集約の条件を受け付ける受付部と、
前記受付部で受け付けられた集約の条件を集約条件情報として記憶する記憶部と、
前記記憶部に記憶された集約条件情報に基づいてログを集約するログ集約部と、
を備えることを特徴とする請求項1に記載のログ分析支援システム。 The output unit outputs the aggregation condition specified by the specifying unit to the management terminal as an aggregation condition candidate,
a reception unit that receives an aggregation condition selected from the aggregation condition candidates via the management terminal;
a storage unit that stores the conditions for aggregation received by the reception unit as aggregation condition information;
a log aggregation unit that aggregates logs based on the aggregation condition information stored in the storage unit;
The log analysis support system according to claim 1, characterized by comprising:
前記特定部は、前記集約条件要素情報に基づいて、前記記憶部に記憶されている分析対象に係る集約後ログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する、
ことを特徴とする請求項1に記載のログ分析支援システム。 The storage unit stores aggregated logs aggregated by the log aggregation unit;
The specifying unit specifies, as a condition for aggregation, a data item corresponding to the application target among the data items of the post-aggregation log related to the analysis target stored in the storage unit, based on the aggregation condition element information.
The log analysis support system according to claim 1 , characterized by:
ことを特徴とする請求項1に記載のログ分析支援システム。 The log aggregating unit extracts, from the logs to be analyzed, logs that satisfy all of the conditions for aggregation specified by the specifying unit and logs that satisfy some of the conditions for aggregation, as targets for aggregation.
The log analysis support system according to claim 1 , characterized by:
記憶部が、前記特定部により特定されプロセスの名称を含んだ集約の条件を集約条件情報として記憶する第2のステップと、
ログ集約部が、前記記憶部に記憶された集約条件情報に基づいて、プロセスの名称が同一の複数の操作ログを一つの操作ログに集約する第3のステップと、
出力部が、前記特定部により特定された集約の条件を出力する第4のステップと、
を備えることを特徴とするログ分析支援方法。 The identifying unit performs analysis based on aggregation condition element information that defines applicable targets for classifying the data of the data items of the operation log generated by the process performing the operation on the user terminal, which is the terminal used by the user . a first step of identifying a data item corresponding to an application target from among a plurality of data items of operation logs related to the target as a condition for aggregation;
a second step in which the storage unit stores, as aggregation condition information, conditions for aggregation specified by the specifying unit and including the name of the process;
a third step in which a log aggregation unit aggregates a plurality of operation logs having the same process name into one operation log based on the aggregation condition information stored in the storage unit;
a fourth step in which the output unit outputs the aggregation condition specified by the specifying unit;
A log analysis support method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018205272A JP7110063B2 (en) | 2018-10-31 | 2018-10-31 | LOG ANALYSIS SUPPORT SYSTEM AND LOG ANALYSIS SUPPORT METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018205272A JP7110063B2 (en) | 2018-10-31 | 2018-10-31 | LOG ANALYSIS SUPPORT SYSTEM AND LOG ANALYSIS SUPPORT METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020072382A JP2020072382A (en) | 2020-05-07 |
JP7110063B2 true JP7110063B2 (en) | 2022-08-01 |
Family
ID=70548119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018205272A Active JP7110063B2 (en) | 2018-10-31 | 2018-10-31 | LOG ANALYSIS SUPPORT SYSTEM AND LOG ANALYSIS SUPPORT METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7110063B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003204358A (en) | 2002-01-07 | 2003-07-18 | Mitsubishi Electric Corp | Intrusion detector, intrusion detection method, and intrusion detection program |
JP2010205115A (en) | 2009-03-05 | 2010-09-16 | Nec Corp | Integrated management system, integrated management device, and integrated management method and program |
JP2011101172A (en) | 2009-11-05 | 2011-05-19 | Nec Corp | Worm infection source specification system, specification method and specification program, agent, and manager computer |
JP2017063253A (en) | 2015-09-24 | 2017-03-30 | 日本電気株式会社 | Communication information calculation apparatus, communication information calculation method, communication information calculation program, and communication management system |
JP2018165857A (en) | 2017-03-28 | 2018-10-25 | 富士通株式会社 | Analyzing apparatus, analyzing system, analyzing method, and analyzing program |
-
2018
- 2018-10-31 JP JP2018205272A patent/JP7110063B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003204358A (en) | 2002-01-07 | 2003-07-18 | Mitsubishi Electric Corp | Intrusion detector, intrusion detection method, and intrusion detection program |
JP2010205115A (en) | 2009-03-05 | 2010-09-16 | Nec Corp | Integrated management system, integrated management device, and integrated management method and program |
JP2011101172A (en) | 2009-11-05 | 2011-05-19 | Nec Corp | Worm infection source specification system, specification method and specification program, agent, and manager computer |
JP2017063253A (en) | 2015-09-24 | 2017-03-30 | 日本電気株式会社 | Communication information calculation apparatus, communication information calculation method, communication information calculation program, and communication management system |
JP2018165857A (en) | 2017-03-28 | 2018-10-25 | 富士通株式会社 | Analyzing apparatus, analyzing system, analyzing method, and analyzing program |
Also Published As
Publication number | Publication date |
---|---|
JP2020072382A (en) | 2020-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599400B2 (en) | Segmenting machine data into events based on source signatures | |
US7778979B2 (en) | Method and apparatus for compressing log record information | |
AU2002359925B2 (en) | Operation managing method and operation managing server | |
US10454963B1 (en) | Historical exploit and vulnerability detection | |
US11693958B1 (en) | Processing and storing event data in a knowledge graph format for anomaly detection | |
US20110276541A1 (en) | Information processing system | |
US20100031354A1 (en) | Distributive Security Investigation | |
JP5125069B2 (en) | Security risk management system, security risk management method, and security risk management program | |
US7703137B2 (en) | Centralized data transformation | |
CN103827810A (en) | Asset model import connector | |
JP2010039878A (en) | Log management system and log display system | |
JP2008192091A (en) | Log analysis program, log analysis device, and log analysis method | |
CN111722984A (en) | Alarm data processing method, device, equipment and computer storage medium | |
JP2004537916A5 (en) | ||
EP3038005A1 (en) | Alert transmission program, alert transmission method, and alert transmission apparatus | |
JP6294847B2 (en) | Log management control system and log management control method | |
JP7274162B2 (en) | ABNORMAL OPERATION DETECTION DEVICE, ABNORMAL OPERATION DETECTION METHOD, AND PROGRAM | |
JP7110063B2 (en) | LOG ANALYSIS SUPPORT SYSTEM AND LOG ANALYSIS SUPPORT METHOD | |
KR101328641B1 (en) | System for generating overall information for malicious code and management system for the same | |
US20160357960A1 (en) | Computer-readable storage medium, abnormality detection device, and abnormality detection method | |
US7672948B2 (en) | Centralized data transformation | |
JP2008269401A (en) | Log management program and log management device | |
JP6690674B2 (en) | Unauthorized access detection system, unauthorized access detection method and unauthorized access detection program | |
JP2002351702A (en) | Method and device for preparing terminal operation statistical data utilizing online | |
CN112346938A (en) | Operation auditing method and device, server and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7110063 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |