JP6577241B2 - ログ抽出システム、ログ抽出方法およびログ抽出プログラム - Google Patents

ログ抽出システム、ログ抽出方法およびログ抽出プログラム Download PDF

Info

Publication number
JP6577241B2
JP6577241B2 JP2015103767A JP2015103767A JP6577241B2 JP 6577241 B2 JP6577241 B2 JP 6577241B2 JP 2015103767 A JP2015103767 A JP 2015103767A JP 2015103767 A JP2015103767 A JP 2015103767A JP 6577241 B2 JP6577241 B2 JP 6577241B2
Authority
JP
Japan
Prior art keywords
log
trace
file
file operation
search
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
Application number
JP2015103767A
Other languages
English (en)
Other versions
JP2016218788A (ja
Inventor
慎也 高田
慎也 高田
剛 永吉
剛 永吉
直人 藤木
直人 藤木
敏浩 元田
敏浩 元田
竹内 格
格 竹内
裕一 片山
裕一 片山
五郎丸 秀樹
秀樹 五郎丸
明夫 向山
明夫 向山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015103767A priority Critical patent/JP6577241B2/ja
Publication of JP2016218788A publication Critical patent/JP2016218788A/ja
Application granted granted Critical
Publication of JP6577241B2 publication Critical patent/JP6577241B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ログ抽出システム、ログ抽出方法およびログ抽出プログラムに関する。
オフィスで日常的に行われる業務の多くは、コンピュータを用いて、文書作成、表計算作成、電子メール操作、Webブラウジングを行い、電子ファイルを作成したり、編集したりしながら、進められている。このようなコンピュータシステムでは、電子ファイルに対して行った操作をログとして保存し、電子ファイルの利用状況等を把握するためのログ管理システムが利用されている。
従来、ログ管理システムに保存されたログを利用して、コンピュータシステム上で動作した非定常プログラムの動作ログを収集、蓄積し、動作の履歴を指定してトレース(追跡)するフォレンジクス技術が知られている。なお、非定常プログラムとは、業務上不必要だったり、使用が禁止されたりしているプログラムや例えばマルウェアといった業務端末上で日常的でなく動作するプログラムである。
例えば、フォレンジクス技術に関連して、大量のファイル操作のログを可視化し、ファイルに対して行われた操作をトレース可能にする技術が知られている(例えば、非特許文献1または非特許文献2参照)。また、ファイル操作ログのツリーを高速に抽出する方法が知られている(例えば、特許文献1参照)。
特開2013−161288号公報
中原 慎一、藤木 直人、牛島 重彦、「クラウドトレーサビリティ(CBoC TRX)」、NTT技術ジャーナルVol.23、No.10、2011. 元田 敏浩、永吉 剛、秋葉 淳哉、竹内 格、「トレーサビリティ基盤TRX」、NTT技術ジャーナルVol.26、No.3、2014.
しかしながら、従来技術においては、ファイル操作のログは蓄積されていたが、プロセスの起動に関する情報が蓄積されていないため、非定常プログラムが実行されたことを確実に把握することができないという問題がある。
例えば、非定常プログラムが確かに実行されたことを曖昧さなく確実に把握するためには、プロセス起動のログを参照する必要がある。しかし、非特許文献1および非特許文献2には、ファイル操作のログを可視化することは記載されているが、プロセスの起動に関する情報についての記載はない。
具体的には、蓄積されるログがファイル操作イベントに関するものに限られている場合、ファイルの生成、削除等については判別できるが、例えば、プロセスA自身のファイルAが生成されたログと、プロセスAがファイルBを生成したログと、プロセスBがファイルAを削除したログに対して、ファイル名だけではファイルAとファイルBを曖昧さなく結びつけることは困難であった。
本発明のログ抽出システムは、端末のプロセスの起動イベントを示すプロセス起動ログと、ファイルの操作イベントを示すファイル操作ログと、を含むログ情報を蓄積するログ蓄積部と、トレースの起点となる検索条件であるトレースキーに関連する前記プロセス起動ログまたは前記ファイル操作ログを、トレースログとして抽出し、該トレースログに関連する他のプロセス起動ログまたは他のファイル操作ログを、トレースログとして抽出するログ抽出部と、を有することを特徴とする。
本発明のログ抽出方法は、端末のプロセスの起動イベントを示すプロセス起動ログと、ファイルの操作イベントを示すファイル操作ログと、を含むログ情報を蓄積するログ蓄積工程と、トレースの起点となる検索条件であるトレースキーに関連する前記プロセス起動ログまたは前記ファイル操作ログを、トレースログとして抽出し、該トレースログに関連する他のプロセス起動ログまたは他のファイル操作ログを、トレースログとして抽出するログ抽出工程と、を含んだことを特徴とする。
本発明によれば、ファイル操作のログだけでなく、プロセスの起動に関する情報も利用し、非定常プログラムが実行されたことを確実に把握する。
図1は、第1の実施形態に係るログ抽出システムの構成の一例を示す図である。 図2−1は、第1の実施形態に係るログ抽出システムにおけるファイル操作ログの一例を示す図である。 図2−2は、第1の実施形態に係るログ抽出システムにおけるファイル操作ログの項目の一例を示す図である。 図3−1は、第1の実施形態に係るログ抽出システムにおけるプロセス起動ログの一例を示す図である。 図3−2は、第1の実施形態に係るログ抽出システムにおけるプロセス起動ログの項目の一例を示す図である。 図4−1は、第1の実施形態に係るログ抽出システムにおけるファイル操作イベントを示す図である。 図4−2は、第1の実施形態に係るログ抽出システムにおけるプロセス起動イベントを示す図である。 図5−1は、第1の実施形態に係るログ抽出システムにおけるイベントの連結パターンの一例を示す図である。 図5−2は、第1の実施形態に係るログ抽出システムにおけるイベントの連結パターンの一例を示す図である。 図5−3は、第1の実施形態に係るログ抽出システムにおけるイベントの連結パターンの一例を示す図である。 図5−4は、第1の実施形態に係るログ抽出システムにおけるイベントの連結パターンの一例を示す図である。 図6は、第1の実施形態に係るログ抽出システムの処理の一例を示す図である。 図7は、マルウェアの動作シーケンスの一例を示す図である。 図8は、第1の実施形態に係るログ抽出システムにおけるログの連なりの一例を示す図である。 図9は、第1の実施形態に係るログ抽出システムにおけるログの検索結果の出力例を示す図である。 図10は、第2の実施形態に係るログ抽出システムの処理の一例を示す図である。 図11は、第2の実施形態に係るログ抽出システムのトレースログの一例を示す図である。 図12は、第2の実施形態に係るログ抽出システムのトレースログの一例を示す図である。 図13は、第3の実施形態に係るログ抽出システムの処理の一例を示す図である。 図14は、第3の実施形態に係るログ抽出システムの処理の一例を示す図である。 図15は、第3の実施形態に係るログ抽出システムにおけるファイル操作ログの一例を示す図である。 図16は、プログラムが実行されることにより、ログ抽出システムまたはログ管理装置が実現されるコンピュータの一例を示す図である。
以下に、本願に係るログ抽出システム、ログ抽出方法およびログ抽出プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るログ抽出システム、ログ抽出方法およびログ抽出プログラムが限定されるものではない。
[第1の実施形態の構成]
まず、図1を用いて、ログ抽出システムの構成について説明する。図1は、第1の実施形態に係るログ抽出システムの構成の一例を示す図である。図1に示すように、ログ抽出システム1は、端末10、ログ管理装置20および管理端末30を有する。
端末10はエージェントソフトウェア11を備え、ログをログ管理装置20へ転送する。そして、ログ管理装置20は、受信部21、ログ抽出部22、ログ蓄積部23を有する。また、ログ蓄積部23には、ファイルの操作イベントを示すファイル操作ログを蓄積するファイル操作ログ蓄積部231および端末のプロセスの起動イベントを示すプロセス起動ログを蓄積するプロセス起動ログ蓄積部232が含まれる。また、管理端末30は、トレースキー設定部32、クエリ送信部31および表示部33を有する。
端末10、ログ管理装置20および管理端末30はネットワークに接続され相互に通信可能になっているものとする。また、端末10には、ログを生成し蓄積する機能およびログをログ管理装置20に送信する機能を有するエージェントソフトウェア11がインストールされている。なお、エージェントソフトウェア11が生成し送信するログには、ファイル操作ログおよびプロセス起動ログが含まれている。また、端末10はネットワーク上に複数台あっても良く、ネットワークは例えば会社内で使用するLAN(Local Area Network)であってもよい。また、ネットワークは、ロケーションが分かれていても論理的にLANを構成するものであってもよいし、インターネットに直接接続されていてもよい。
ログ管理装置20の受信部21は端末10からログを受信し、受信したログをログ蓄積部23のファイル操作ログ蓄積部231およびプロセス起動ログ蓄積部232に登録し蓄積する。また、ログ抽出部22は、管理端末30のトレースキー設定部32で設定されたトレースキーを、クエリ送信部31を介して受け取る。そして、ログ抽出部22は、トレースキーを用いてログ蓄積部23に蓄積されているログを検索しトレースログとして抽出する。
この時、ログ抽出部22は、単にトレースキーを検索条件としてログを検索し抽出するだけでなく、トレースの起点となる検索条件であるトレースキーに関連するプロセス起動ログまたはファイル操作ログを、トレースログとして抽出し、該トレースログに関連するプロセス起動ログまたはファイル操作ログを、トレースログとして抽出する。これにより、ログ抽出部22は、トレースキーに直接および間接的に関連するログを検索する。そして、ログ抽出部22は、検索したトレースログの集合を管理端末30に送信する。なお、図1のログ抽出部22およびログ蓄積部23が本発明の最小構成である。
また、プロセス起動ログは、プロセス起動イベントに伴う実行ファイルを特定する情報、実行ファイルにより実行されるプロセスのIDであるプロセスID、および、実行ファイルを実行させるプロセスのIDである親プロセスIDのうちいずれか一つまたは複数を含み、ファイル操作ログは、ファイル操作イベントに伴う入力対象ファイルを特定する情報、出力対象ファイルを特定する情報、入力対象ファイルまたは出力対象ファイルに対して行われる操作の種別を示す操作種別を特定する情報、および、操作を行うプロセスのIDを示すプロセスIDのうちいずれか一つまたは複数を含み、ログ抽出部22は、トレースログにおけるファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルとが一致するか、トレースログにおけるファイル操作ログの対象ファイルと、他のプロセス起動ログの実行ファイルとが一致するか、トレースログにおけるファイル操作ログのプロセスIDと、他のプロセス起動ログのプロセスIDとが一致するか、または、トレースログにおけるプロセス起動ログのプロセスIDと、他のプロセス起動ログの親プロセスIDが一致する場合に、該トレースログと他のプロセス起動ログまたは他のファイル操作ログが関連すると判定し、該他のファイル操作ログの対象ファイルまたは該他のプロセス起動ログをトレースログとして抽出してもよい。
管理端末30のクエリ送信部31は、ログ管理装置20のログ蓄積部23を検索するためのクエリをログ抽出部22へ送信する。なお、クエリ送信部31は、トレースキー設定部32で設定されたトレースキーをクエリに含めてもよい。また、表示部33は、ログ管理装置20のログ抽出部22から受信したトレースログの集合を画面等に表示する。
図2−1および図2−2を用いて、ファイル操作ログについて説明する。図2−1は、第1の実施形態に係るログ抽出システムにおけるファイル操作ログの一例を示す図である。また、図2−2は、第1の実施形態に係るログ抽出システムにおけるファイル操作ログの項目の一例を示す図である。なお、インシデントの発生とは、ファイル操作イベントおよびプロセス起動イベントの発生を表している。
図2−2に示すように、「発生時刻」はインシデントが発生した時刻、「ドメイン名」はドメイン名またはコンピュータ名、「ユーザ名」はファイル操作を行ったユーザ名、「プロセス名」はファイル操作を行ったプロセスのプロセス名、「プロセスID」はファイル操作を行ったプロセスのプロセスID、「操作種別」は更新内容を表す文字列であり、
”Read”、”Create”、”Modify”、”Rename”、”SaveAs”、”Move”、”Copy”、”Delete”、”ToRecycler”、”FromRecycler”が含まれる。「操作元ファイル名」は操作対象になったファイルの名前、「操作元ファイルパス」は操作対象になったファイルフルパス、「操作元ファイルサイズ」は操作対象になったファイルサイズ、「操作先ファイル名」は新ファイルの名前、「操作先ファイルパス」は新ファイルのフルパス、「操作先ファイルサイズ」は新ファイルのファイルサイズを示している。なお、「操作種別」は、具体的には、入力対象ファイルまたは前記出力対象ファイルに対して行われる操作の種別を示すものである。
図2−1に示すファイル操作ログの例においては、発生時刻が「2011/12/12 12:15:23.223」、ドメイン名が「PC_01」、ユーザ名が「User_A」、プロセス名が「notepad.exe」、プロセスIDが「2353」、操作種別が「Create」、操作元ファイル名が「議事録.txt」、操作元ファイルパスが「C:\My Documents\議事録.txt」、操作元ファイルサイズが「11KByte」である。また、操作先ファイル名、操作先ファイルパス、操作先ファイルサイズの情報は含まれない。ファイル操作ログには、元ファイルまたは先ファイルのうちのいずれか一方の情報が含まれていればよい。例えば、ファイルの削除が行われた場合は、操作先のファイルは存在しないことになる。また、ファイルの名称変更が行われた場合は、操作先ファイルとして、操作元ファイルとファイル名の異なるファイルが存在することになる。
図3−1および図3−2を用いて、プロセス起動ログについて説明する。図3−1は、第1の実施形態に係るログ抽出システムにおけるプロセス起動ログの一例を示す図である。また、図3−2は、第1の実施形態に係るログ抽出システムにおけるプロセス起動ログの項目の一例を示す図である。
図3−2に示すように、「発生時刻」はインシデントが発生した時刻、「ドメイン名」はドメイン名またはコンピュータ名、「ユーザ名」はプロセスを実行したユーザ名、「実行プロセス名」は実行されたプロセスのラベル名、「コマンドライン」はプロセス実行のコマンドライン、「実行ファイルパス」は実行されたプロセスのファイルパス、「プロセスID」は実行プロセスのプロセスID、「親プロセスID」は実行プロセスの親プロセスのプロセスIDを示している。また、「プロセスID」は実行ファイルにより実行されるプロセスのID、「親プロセスID」は実行ファイルを実行させるプロセスのIDということもできる。
図3−1に示すプロセス起動ログの例においては、発生時刻が「2011/12/12 12:15:23.223」、ドメイン名が「PC_01」、ユーザ名が「User_A」、実行プロセス名が「notepad.exe」、実行ファイルパスが「C:\Windows\System32\notepad.exe」プロセスIDが「2353」、親プロセスIDが「260」である。図3−1に示すように、例えば、マウスクリックによってプロセスを起動した場合はコマンドラインが含まれない。これに対して、例えば、コマンドラインからプロセスを起動した場合は、「notepad.exe」のようなコマンドラインが含まれる。
図4−1および図4−2を用いて、ファイル操作イベントおよびプロセス起動イベントについて説明する。図4−1は、第1の実施形態に係るログ抽出システムにおけるファイル操作イベントを示す図である。図4−2は、第1の実施形態に係るログ抽出システムにおけるプロセス起動イベントを示す図である。
図4−1は、ファイル操作イベントを模式的に表したものである。図4−1のSrcファイルおよびDstファイルは、それぞれファイル操作ログの操作元ファイルと操作先ファイルに対応している。また、ファイル操作はファイル操作ログの操作種別に対応し、PIDはプロセスIDに対応している。
図4−2は、プロセス起動イベントを模式的に表したものである。図4−2の親PIDおよびPIDは、それぞれプロセス起動ログの親プロセスIDおよびプロセスIDに対応している。また、実行ファイルはプロセスを実行する実行ファイルである。
ログ抽出部22は、下記の4つの条件のいずれかを満たすログを関連したログとして検索する。
(条件1)ファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルとが一致
(条件2)ファイル操作ログの対象ファイルと、他のプロセス起動ログの実行ファイルとが一致
(条件3)ファイル操作ログのプロセスIDと、他のプロセス起動ログのプロセスIDとが一致
(条件4)プロセス起動ログのプロセスIDと、他のプロセス起動ログの親プロセスIDとが一致
図5−1〜図5−4を用いて、ログが上記の(1)〜(4)を満たす場合の連結パターンについて説明する。図5−1〜図5−4は、第1の実施形態に係るログ抽出システムにおけるイベントの連結パターンの一例を示す図である。なお、図5−1〜図5−4において、PIDはプロセスIDを示している。
図5−1は、(条件1)、すなわち、ファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルとが一致している場合を示している。図5−1に示すように、ファイル操作イベント511のDstファイルとファイル操作イベント512のSrcファイルとが一致している。図5−1に示す連結パターンは、例えば、複製した派生ファイルをさらに複製する操作等により発生する。
図5−2は、(条件2)、すなわち、ファイル操作ログの対象ファイルと、他のプロセス起動ログの実行ファイルとが一致している場合を示している。図5−2の(a)に示すように、ファイル操作イベント512aのDstファイルとプロセス起動イベント522aの実行ファイルとが一致している。また、図5−2の(b)に示すように、ファイル操作イベント521bのSrcファイルとプロセス起動イベント522bの実行ファイルとが一致している。図5−2の(a)に示す連結パターンは、例えば、実行ファイルを複製して起動する操作等により発生する。また、図5−2の(b)に示す連結パターンは、例えば、プロセスを起動後に実行ファイルを削除する操作等により発生する。
図5−3は、(条件3)、すなわち、ファイル操作ログのプロセスIDと、他のプロセス起動ログのプロセスIDとが一致している場合を示している。図5−3に示すように、ファイル操作イベント531のプロセスIDとプロセス起動イベント532のプロセスIDとが一致している。図5−3に示す連結パターンは、例えば、起動したプロセスがファイルを複製した場合等により発生する。
図5−4は、(条件4)、すなわち、プロセス起動ログのプロセスIDと、他のプロセス起動ログの親プロセスIDとが一致している場合を示している。図5−4に示すように、プロセス起動イベント541のプロセスIDとプロセス起動イベント542のプロセスIDとが一致している。図5−4に示す連結パターンは、例えば、親プロセスが子プロセスを起動した場合等に発生する。
[第1の実施形態の処理]
まず、図6を用いて、ログ抽出システム1の処理について説明する。その後、図7〜図9を用いて、ログ抽出システム1が、実際にトレースキーからトレースログが抽出されるまでの流れを具体的な例を挙げて説明する。
図6は、第1の実施形態に係るログ抽出システムの処理の一例を示す図である。まず、管理端末30は、トレースキー設定部32で設定されたトレースキーを、クエリ送信部31を介してログ管理装置20のログ抽出部22に入力する(ステップS101)。
そして、ログ管理装置20のログ抽出部22は、トレースキーを用いてログ蓄積部23のログを検索しトレースログとして抽出する(ステップS102)。この時検索されるログには、ファイル操作ログおよびプロセス起動ログが含まれる。また、具体的な検索処理については後述する。その後、ログ抽出部22は、抽出したトレースログの1つを検索用トレースログとして選択し、また、管理端末30へ出力する(ステップS103)。
さらに、ログ管理装置20のログ抽出部22は、検索用トレースログを用いて、ログ蓄積部23から所定の条件を満たすファイル操作ログまたはプロセス起動ログを検索し抽出する(ステップS104)。ここで、所定の条件とは、例えば下記の4つの条件である。
(条件1)ファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルとが一致
(条件2)ファイル操作ログの対象ファイルと、他のプロセス起動ログの実行ファイルとが一致
(条件3)ファイル操作ログのプロセスIDと、他のプロセス起動ログのプロセスIDとが一致
(条件4)プロセス起動ログのプロセスIDと、他のプロセス起動ログの親プロセスIDとが一致
そして、ログ抽出部22は、抽出したトレースログのうちこれまで未選択の検索用トレースログを選択し、管理端末30へ出力する(ステップS105)。なお、全てのトレースログが選択済の場合は何も選択しない(ステップS105)。ここで、新たな検索用トレースログが選択された場合(ステップS106、Yes)は、ログ抽出部22は、ログ蓄積部23から所定の条件を満たすファイル操作ログまたはプロセス起動ログを検索し抽出する(ステップS104)。また、新たな検索用トレースログが選択されなかった場合(ステップS106、No)は、ログ抽出部22は、処理を終了する。
次に、ログ抽出システム1の処理について、具体的な例を挙げて説明する。なお、以下の説明におけるログ抽出システム1およびマルウェアが動作するオペレーティングシステムは、Windows(登録商標)であるものとする。図7は、マルウェアの動作シーケンスの一例を示す図である。図7に示すように、まず、マルウェア導入プログラム(mdload.exe)は、ブラウザ(iexplorer.exe)等により、悪意あるWebサイト等を通じてダウンロードされる。マルウェアは、便利なユーティリティ等に偽装されている場合が多い。ここでは、例として、winword.exeとして偽装されているものとする。
ダウンロード後、マルウェア導入プログラムの保存(11a)が行われ、ユーザによりマルウェア導入プログラムがダブルクリック等で実行される(21b)。次に、マルウェア導入プログラムは、第1のマルウェア(winword.exe)をダウンロード(21b)し、保存(12a)し、実行(22b)する。
そして、実行された第1のマルウェアにより、第2のマルウェアであるblacken2.exeを起動時に実行するようスタートアップ登録(13a)が行われる。その後、Windows再起動時にblacken2.exeが起動してWebサイトにアクセスし、端末から不正に読み取った情報を送信する(23b)。最終的にblacken2.exeは、送信情報を読み込み(14a)、自身(blacken2.exe)を削除する(15a)。
図8を用いて、各動作シーケンスのファイル操作ログおよびプロセス起動ログの検索方法について説明する。図8は、第1の実施形態に係るログ抽出システムにおけるログの連なりの一例を示す図である。まず、トレースキーとして実行ファイル「winword.exe」を設定する。なお、ここでは実行ファイル名をトレースキーとしたが、トレースキーはプロセスIDやプロセス名であってもよく、また、ログ自体であってもよい。
図8に示すように、トレースキーを実行ファイルパスに含むプロセス起動ログである22bが検索される。そして、22bの実行ファイルパスとファイル操作ログである12aの元ファイルパスとが一致している(条件2)。また、ファイル操作ログである12aのプロセスIDとプロセス起動ログである21bのプロセスIDとが一致している(条件3)。また、プロセス起動ログである21bの実行ファイルパスとファイル操作ログである11aの元ファイルパスとが一致している(条件3)。また、プロセス起動ログである21bの実行ファイルパスとファイル操作ログである11aの元ファイルパスとが一致している(条件2)。
また、プロセス起動ログである22bのプロセスIDとファイル操作ログである13aのプロセスIDとが一致している(条件3)。また、ファイル操作ログである13aの元ファイルパスとプロセス起動ログである23bの実行ファイルパスとが一致している(条件2)。また、プロセス起動ログである23bのプロセスIDとファイル操作ログである14aのプロセスIDとが一致している(条件3)。また、プロセス起動ログである23bの実行ファイルパスとファイル操作ログである15aの元ファイルパスとが一致している(条件2)。
以上の検索結果を図示すると図9のようになる。図9は、第1の実施形態に係るログ抽出システムにおけるログの検索結果の出力例を示す図である。図9に示すように、11aの対象ファイルと21bの実行ファイル、21bのプロセスIDと12aのプロセスID、12aの対象ファイルと22bの実行ファイル、22bのプロセスIDと13aのプロセスID、13aの対象ファイルと23bの実行ファイル、23bのプロセスIDと14aのプロセスID、23bの実行ファイルと15aの対象ファイルがそれぞれ関連付けられている。
また、説明した具体例を、図6のフローチャートに当てはめると、例えば以下のようになる。
(1)実行ファイル「winword.exe」をトレースキーとして入力(ステップS101)
(2)トレースログを用いてログ蓄積部23から検索用トレースログとして22bを抽出(ステップS102)
(3)22bを検索用トレースログとして選択し、管理端末30へ出力(ステップS103)
(4)22bを用いてログ蓄積部23からトレースログとして、12aおよび13aを抽出(ステップS104)
(5)12aを検索用トレースログとして選択し、管理端末30へ出力(ステップS103)
選択済:12a
未選択:13a
(6)12aを用いてログ蓄積部23からトレースログとして、21bを抽出(ステップS104)
(7)21bを検索用トレースログとして選択(ステップS105)
選択済:12a、21b
未選択:13a
(8)検索用トレースログが選択されたので処理を続行(ステップS106、Yes)
(9)21bを用いてログ蓄積部23からトレースログとして、11aを抽出(ステップS104)
(10)11aを検索用トレースログとして選択(ステップS105)
選択済:12a、21b、11a
未選択:13a
(11)検索用トレースログが選択されたので処理を続行(ステップS106、Yes)
(12)11aに関連するログがないので、何も抽出しない(ステップS104)
(13)13aを検索用トレースログとして選択(ステップS105)
選択済:12a、21b、11a、13a
未選択:なし
(14)検索用トレースログが選択されたので処理を続行(ステップS106、Yes)
(15)13aを用いてログ蓄積部23からトレースログとして、23bを抽出(ステップS104)
(16)23bを検索用トレースログとして選択(ステップS105)
選択済:12a、21b、11a、13a、23b
未選択:なし
(17)検索用トレースログが選択されたので処理を続行(ステップS106、Yes)
(18)23bを用いてログ蓄積部23からトレースログとして、14aおよび15aを抽出(ステップS104)
(19)14aを検索用トレースログとして選択(ステップS105)
選択済:12a、21b、11a、13a、23b、14a
未選択:15a
(20)検索用トレースログが選択されたので処理を続行(ステップS106、Yes)
(21)14aに関連するログがないので、何も抽出しない(ステップS104)
(22)15aを検索用トレースログとして選択(ステップS105)
選択済:12a、21b、11a、13a、23b、14a、15a
未選択:なし
(23)検索用トレースログが選択されたので処理を続行(ステップS106、Yes)
(24)15aに関連するログがないので、何も抽出しない(ステップS104)
(25)未選択のログがないためトレースログを選択しない(ステップS105)
選択済:12a、21b、11a、13a、23b、14a、15a
未選択:なし
(26)検索用トレースログが選択されなかったので処理を終了(ステップS106、No)
[第1の実施形態の効果]
端末10のプロセスの起動イベントを示すプロセス起動ログと、ファイルの操作イベントを示すファイル操作ログと、を含むログ情報をログ蓄積部23に蓄積し、ログ抽出部22は、トレースの起点となる検索条件であるトレースキーに関連するプロセス起動ログまたはファイル操作ログを、トレースログとして抽出し、該トレースログに関連するプロセス起動ログまたはファイル操作ログを、トレースログとして抽出する。また、プロセス起動ログは、プロセス起動イベントに伴う実行ファイル、プロセスID、親プロセスIDを特定する情報を含み、ファイル操作ログは、ファイル操作イベントに伴う入力対象ファイル、出力対象ファイル、操作種別、プロセスIDを特定する情報を含む。そして、ログ抽出部22は、
(1)一のファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルが一致
(2)一のファイル操作ログの対象ファイルと、他のプロセス起動ログの実行ファイルが一致
(3)一のファイル操作ログのプロセスIDと、他のプロセス起動ログのプロセスIDが一致
(4)一のプロセス起動ログのプロセスIDと、他のプロセス起動ログの親プロセスIDが一致
のいずれかの条件を満たす場合に、一のファイル操作ログの対象ファイルまたは一のプロセス起動ログと、他のファイル操作ログの対象ファイルまたは他のプロセス起動ログとが関連すると判定する。
これにより、プロセス起動ログとファイル操作ログとを関連付けることが可能となり、非定常プログラムが実行されたことを確実に把握することができる。
[第2の実施形態]
蓄積されたログの検索を行う際に、所定の選択条件を追加することで、トレースログの利用目的に合った出力を得ることができる。第2の実施形態として、例えば、インシデントの発生時刻を選択条件として追加することで、マルウェアによるゼロデイ攻撃の痕跡を検知する場合について説明する。
具体的には、ログ抽出部22は、端末10上で動作していたプログラムの脆弱性情報と、脆弱性に対するパッチ適用結果に基づいて脆弱性公開日時、パッチ適用日時およびトレースキーを取得し、発生時刻の範囲が脆弱性公開日時とパッチ適用日時の間であるトレースログを出力する。
[第2の実施形態の構成]
第2の実施形態のログ抽出システム1においては、ログ抽出部22は関連するログを検索するだけでなく、選択条件として指定された条件によってもログを検索することができる。また、管理端末30のクエリ送信部31は、トレースキーだけでなく、例えば、インシデントの発生時刻の範囲を選択条件として設定したクエリを送信する。その他の構成は第1の実施形態と同様である。
[第2の実施形態の処理]
第2の実施形態においては、トレースログのうち選択条件を満たすものを管理端末30へ出力する。そのため、ログ管理装置20は、検索用トレースログとして選択されたトレースログが、選択条件を満たしているか否かを判定する。図10を用いて、第2の実施形態のログ抽出システム1の処理について説明する。図10は、第2の実施形態に係るログ抽出システムの処理の一例を示す図である。
まず、管理端末30は、脆弱性情報をログ管理装置20のログ抽出部22に入力する(ステップS201)。そして、脆弱性情報からトレースキー、選択条件1および選択条件2を決定する(ステップS202)。
そして、ログ管理装置20のログ抽出部22は、トレースキーを用いてログ蓄積部23のログを検索しトレースログとして抽出する(ステップS203)。この時検索されるログには、ファイル操作ログおよびプロセス起動ログが含まれる。また、具体的な検索処理については第1の実施形態の場合と同様である。その後、ログ抽出部22は、抽出したトレースログの1つを検索用トレースログとして選択する(ステップS204)。
ここで、ログ抽出部22は、検索用トレースログが選択条件1を満たしているか否かを判定する(ステップS205)。そして、検索用トレースログが選択条件1を満たしている場合(ステップS205、Yes)は、ログ抽出部22は、検索用トレースログが選択条件2を満たしているか否かを判定する(ステップS206)。さらに、検索用トレースログが選択条件2を満たしている場合(ステップS206、Yes)は、ログ抽出部22は、検索用トレースログを管理端末30に出力する(ステップS207)。
検索用トレースログが選択条件1を満たしていない場合(ステップS205、No)、または検索用トレースログが選択条件2を満たしていない場合(ステップS206、No)、検索用トレースログを管理端末30へ出力することなく次の処理へ進む。
次に、ログ管理装置20のログ抽出部22は、検索用トレースログを用いて、ログ蓄積部23から所定の条件を満たすファイル操作ログまたはプロセス起動ログを検索し抽出する(ステップS208)。ここで、所定の条件とは、第1の実施形態の場合と同様である。
そして、ログ抽出部22は、抽出したトレースログのうちこれまで未選択の検索用トレースログを選択し、管理端末30へ出力する(ステップS209)。なお、全てのトレースログが選択済の場合は何も選択しない(ステップS209)。ここで、新たな検索用トレースログが選択された場合(ステップS210、Yes)は、ログ抽出部22は、検索用トレースログが選択条件1を満たしているか否かを判定する(ステップS205)。また、新たな検索用トレースログが選択されなかった場合(ステップS210、No)は、ログ抽出部22は、処理を終了する。
ここで、図11および図12を用いて、具体的な例を挙げて第2の実施形態の処理について説明する。この場合、ゼロデイ攻撃の痕跡を検知するためにトレースログを出力することを目的とするものとする。まず、選択条件1および選択条件2を下記のように設定する。ここで、t1は、パッチ公開のタイミングを、t2はパッチ当て完了のタイミングを示している。また、「Bash.exe」の起動をトレースキーとする。
(選択条件1)
実行ファイル名が「Bash.exe」、かつ操作種別が「Read」、かつ操作ファイル名が「secret.ini」である。
(選択条件2)
インシデントが発生した期間がt1からt2の間である。
まず、図11を用いて、ゼロデイ攻撃が陰性の場合の処理について説明する。図11は、第2の実施形態に係るログ抽出システムのログの一例を示す図である。この場合、下記のような処理が行われる。
(1)入力された脆弱性情報より、「Bash.exe」をトレースキーとして選択し、選択条件1および選択条件2を決定する(ステップS201、S202)
(2)トレースログを用いてログ蓄積部23から検索用トレースログとして221bを抽出(ステップS203)
(3)221bを検索用トレースログとして選択(ステップS209)
選択済:221b
未選択:なし
(4)221bは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(5)221bを用いてログ蓄積部23からトレースログとして、216aおよび211aを抽出(ステップS208)
(6)211aを検索用トレースログとして選択(ステップS209)
選択済:221b、211a
未選択:216a
(7)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
(8)211aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(9)211aを用いてログ蓄積部23からトレースログとして、212aおよび215aを抽出(ステップS208)
(10)212aを検索用トレースログとして選択(ステップS209)
(11)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a
未選択:216a、215a
(12)212aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(13)212aを用いてログ蓄積部23からトレースログとして、213aを抽出(ステップS208)
(14)213aを検索用トレースログとして選択(ステップS209)
(15)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a
未選択:216a、215a
(16)213aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(17)213aを用いてログ蓄積部23からトレースログとして、214aを抽出(ステップS208)
(18)214aを検索用トレースログとして選択(ステップS209)
(19)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a、214a
未選択:216a、215a
(20)214aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(21)214aに関連するログがないので、何も抽出しない(ステップS208)
(22)215aを検索用トレースログとして選択(ステップS209)
(23)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a、214a、215a
未選択:216a
(24)215aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(25)214aに関連するログがないので、何も抽出しない(ステップS208)
(26)215aを検索用トレースログとして選択(ステップS209)
(27)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a、214a、215a
未選択:216a
(28)215aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(29)214aに関連するログがないので、何も抽出しない(ステップS208)
(30)216aを検索用トレースログとして選択(ステップS209)
(31)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a、214a、215a、216a
未選択:なし
(32)216aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(33)216aを用いてログ蓄積部23からトレースログとして、217aを抽出(ステップS208)
(34)217aを検索用トレースログとして選択(ステップS209)
(35)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a、214a、215a、216a、217a
未選択:なし
(36)217aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(37)217aを用いてログ蓄積部23からトレースログとして、222bを抽出(ステップS208)
(38)222bを検索用トレースログとして選択(ステップS209)
(39)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:221b、211a、212a、213a、214a、215a、216a、217a、222b
未選択:なし
(40)222bは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(41)222bに関連するログがないので、何も抽出しない(ステップS208)
(42)未選択のログがないためトレースログを選択しない(ステップS209)
(43)検索用トレースログが選択されなかったので処理を終了(ステップS210、No)
この場合、管理端末30に出力されたログ、すなわち選択条件1および選択条件2を満たすログが存在しなかったため、ゼロデイ攻撃は陰性であるといえる。
次に、図12を用いて、ゼロデイ攻撃が陽性の場合の処理について説明する。図12は、第2の実施形態に係るログ抽出システムのログの一例を示す図である。この場合、下記のような処理が行われる。
(1)入力された脆弱性情報より、「Bash.exe」をトレースキーとして選択し、選択条件1および選択条件2を決定する(ステップS201、S202)。
(2)トレースログを用いてログ蓄積部23から検索用トレースログとして321bを抽出(ステップS203)
(3)321bを検索用トレースログとして選択(ステップS209)
選択済:321b
未選択:なし
(4)321bは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(5)321bを用いてログ蓄積部23からトレースログとして、316aおよび311aを抽出(ステップS208)
(6)311aを検索用トレースログとして選択(ステップS209)
選択済:321b、311a
未選択:316a
(7)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
(8)311aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(9)311aを用いてログ蓄積部23からトレースログとして、312aおよび315aを抽出(ステップS208)
(10)312aを検索用トレースログとして選択(ステップS209)
(11)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a
未選択:316a、315a
(12)312aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(13)312aを用いてログ蓄積部23からトレースログとして、313aを抽出(ステップS208)
(14)313aを検索用トレースログとして選択(ステップS209)
(15)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a
未選択:316a、315a
(16)313aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(17)313aを用いてログ蓄積部23からトレースログとして、314aを抽出(ステップS208)
(18)314aを検索用トレースログとして選択(ステップS209)
(19)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a、314a
未選択:316a、315a
(20)314aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(21)314aに関連するログがないので、何も抽出しない(ステップS208)
(22)315aを検索用トレースログとして選択(ステップS209)
(23)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a、314a、315a
未選択:316a
(24)315aは選択条件1および選択条件2を満たしているため、管理端末30に出力する(ステップS205、Yes、S206、Yes、S207)
(25)314aに関連するログがないので、何も抽出しない(ステップS208)
(26)315aを検索用トレースログとして選択(ステップS209)
(27)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a、314a、315a
未選択:316a
(28)315aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(29)314aに関連するログがないので、何も抽出しない(ステップS208)
(30)316aを検索用トレースログとして選択(ステップS209)
(31)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a、314a、315a、316a
未選択:なし
(32)316aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(33)316aを用いてログ蓄積部23からトレースログとして、317aを抽出(ステップS208)
(34)317aを検索用トレースログとして選択(ステップS209)
(35)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a、314a、315a、316a、317a
未選択:なし
(36)317aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(37)317aを用いてログ蓄積部23からトレースログとして、322bを抽出(ステップS208)
(38)322bを検索用トレースログとして選択(ステップS209)
(39)検索用トレースログが選択されたので処理を続行(ステップS210、Yes)
選択済:321b、311a、312a、313a、314a、315a、316a、317a、322b
未選択:なし
(40)322bは選択条件1を満たしていないため、管理端末30に出力しない(ステップS205、No)
(41)322bに関連するログがないので、何も抽出しない(ステップS208)
(42)未選択のログがないためトレースログを選択しない(ステップS209)
(43)検索用トレースログが選択されなかったので処理を終了(ステップS210、No)
この場合、管理端末30に出力されたログ、すなわち選択条件1および選択条件2を満たすログが存在したため、ゼロデイ攻撃は陽性であるといえる。
[第2の実施形態の効果]
ログ抽出部22は、端末10上で動作していたプログラムの脆弱性情報と、脆弱性に対するパッチ適用結果に基づいて脆弱性公開日時、パッチ適用日時およびトレースキーを取得し、発生時刻の範囲が脆弱性公開日時とパッチ適用日時の間であるトレースログを出力する。これにより、ゼロデイ攻撃の痕跡を検知するという目的を達成するために、無駄な処理を行うことなくトレースログの抽出し出力することができる。
[第3の実施形態]
第3の実施形態においては、ログ抽出部22は、ファイル操作ログ同士が関連付けられたツリー構造を形成している場合に、トレースログに関連し、ツリー構造を形成しているファイル操作ログをトレースログとして一括で抽出する。具体的には、既存の高速なツリー抽出手段(例えば、特許文献1参照)を適用することで、ファイル操作ログの検索を高速に行うことができる。第3の実施形態のログ抽出システムにおいては、高速なツリー抽出手段が適用されている。
[第3の実施形態の構成]
第3の実施形態のログ抽出システム1においては、ログ抽出部22において高速なツリー抽出手段が用いられる。その他の構成は第2の実施形態と同様である。なお、第3の実施形態の説明においては、プロセス起動ログの検索については説明していないが、高速なツリー抽出手段によってファイル操作ログの予備的な検索を行い、第1の実施形態または第2の実施形態による方法でファイル操作ログおよびプロセス起動ログの両方の検索を行うようにしてもよい。
第3の実施形態においては、前提として以下の処理により、ファイル操作ログにファミリIDが付与されているものとする(詳細については、特許文献1の段落0024〜0040を参照)。まず、ツリーのノードとなるファイル操作ログを、派生先のみを有する根、派生元および派生先の両方を有する枝、派生元のみを有する葉に分類する。なお、根には任意のIDが付されているものとする。次に、根から派生する枝および葉を再帰的に検索し、根と同じIDをファミリIDとして付与する。
[第3の実施形態の処理]
まず、図13を用いて、DTS(Distributed Tree Search)、即ち高速なツリー抽出手段を適用しない場合の処理について説明する。図13は、第3の実施形態に係るログ抽出システムの処理の一例を示す図である。図13に示すように、まず、管理端末30は、トレースキーおよび選択条件1を決定し、ログ抽出部22に入力する(ステップS301)。
そして、ログ管理装置20のログ抽出部22は、トレースキーを用いてログ蓄積部23のログの木群を検索し抽出する(ステップS302)。この時検索される木には、ファイル操作ログが含まれる。そして、ログ抽出部22は、抽出した木群のうちこれまで未選択の木を選択し、選択した木の1番目のログを検索用ノードとして選択する(ステップS303)。
ここで、ログ抽出部22は、検索用ノードが選択条件1を満たしているか否かを判定する(ステップS304)。そして、検索用ノードが選択条件1を満たしている場合(ステップS304、Yes)は、ログ抽出部22は、検索用ノードを管理端末30に出力する(ステップS305)。
検索用ノードが選択条件1を満たしていない場合(ステップS304、No)、検索用トレースログを管理端末30へ出力することなく次の処理へ進む。
次に、ログ管理装置20のログ抽出部22は、検索用ノードを用いて、ログ蓄積部23から下記の条件を満たすファイル操作ログを検索し抽出する(ステップS306)。
(条件1)ファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルとが一致
そして、抽出したファイル操作ログのうちこれまで未選択のものを検索用ノードとして選択する(ステップS307)。なお、選択した木に含まれる全てのファイル操作ログが選択済の場合は何も選択しない(ステップS307)。ここで、新たな検索用ノードが選択された場合(ステップS308、Yes)は、ログ抽出部22は、検索用ノードが選択条件1を満たしているか否かを判定する(ステップS304)。
また、新たな検索用ノードが選択されなかった場合(ステップS308、No)は、ログ抽出部22は、未選択の木が存在しているか否かを確認する(ステップS309)。未選択の木が存在している場合(ステップS309、Yes)は、ログ抽出部22は、抽出したトレースログのうちこれまで未選択の木を選択し、選択した木の1番目のログを検索用ノードとして選択する(ステップS303)。未選択の木が存在しない場合(ステップS309、No)は、ログ抽出部22は、処理を終了する。
次に、図14を用いて、高速なツリー抽出手段を適用した場合の処理について説明する。図14は、第3の実施形態に係るログ抽出システムの処理の一例を示す図である。図14に示すように、まず、管理端末30は、トレースキーおよび選択条件1を決定し、ログ抽出部22に入力する(ステップS351)。
そして、ログ管理装置20のログ抽出部22は、トレースキーを用いてログ蓄積部23のログの木群を検索し抽出する(ステップS352)。この時検索される木には、ファイル操作ログが含まれる。そして、ログ抽出部22は、抽出した木群のうちこれまで未選択の木を選択し、選択した木のファミリIDに該当するノードを抽出する(ステップS353)。次に、ログ抽出部22は、抽出したノードのうち、選択条件1を満たすものを管理端末30に出力する(ステップS354)。
ログ抽出部22は、未選択の木が存在しているか否かを確認する(ステップS355)。ここで、未選択の木が存在している場合(ステップS355、Yes)は、ログ抽出部22は、抽出した木群のうちこれまで未選択の木を選択し、選択した木のファミリIDに該当するノードを抽出する(ステップS353)。未選択の木が存在しない場合(ステップS355、No)は、ログ抽出部22は、処理を終了する。
ここで、図15を用いて、具体的な例を挙げて第3の実施形態の処理について説明する。なお、選択条件1を下記のように設定する。
(選択条件1)
トレースキーと実行ユーザが異なる。
また、実際には、図15に示す木、即ちファイル操作ログの群が1000件存在しているものとする。さらに、前述の通り、同一の木に含まれるファイル操作ログには同一のファミリIDが付されているものとする。まず、図13に示すフローチャートを当てはめた場合は、以下のような処理が行われる。
(1)トレースキー(share.exe)および選択条件1を決定し入力(ステップS301)
(2)トレースログを用いてログ蓄積部23からログの木群を検索し抽出(ステップS302)
(3)抽出した木群からこれまで未選択の木を選択し、選択した木の1番目のログを検索用ノードとして選択(ステップS303)
ここでは、トレースキーが121b、選択した木が121b、112a、113a、114a、115a、116a、117a、118a、119aおよび120aとなり、検索用ノードが112aがとなる。
選択済:112a
未選択:なし
(4)112aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(5)112aを用いてログ蓄積部23からファイル操作ログとして、113aを抽出(ステップS306)
(6)113aを検索用ノードとして選択(ステップS307)
選択済:112a、113a
未選択:なし
(7)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(8)113aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(9)113aを用いてログ蓄積部23からファイル操作ログとして、114aを抽出(ステップS306)
(10)114aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a
未選択:なし
(11)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(12)114aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(13)114aを用いてログ蓄積部23からファイル操作ログとして、115a、117a、118aを抽出(ステップS306)
(14)115aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a、115a
未選択:117a、118a
(15)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(16)115aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(17)115aを用いてログ蓄積部23からファイル操作ログとして、116aを抽出(ステップS306)
(18)116aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a、115a、116a
未選択:117a、118a
(19)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(20)116aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(21)116aに関連するログがないので、何も抽出しない(ステップS306)
(22)117aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a、115a、116a、117a
未選択:118a
(23)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(24)115aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(25)116aに関連するログがないので、何も抽出しない(ステップS306)
(26)118aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a、115a、116a、117a、118a
未選択:なし
(27)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(28)118aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(29)118aを用いてログ蓄積部23からファイル操作ログとして、119aを抽出(ステップS306)
(30)119aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a、115a、116a、117a、118a、119a
未選択:なし
(31)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(32)119aは選択条件1を満たしていないため、管理端末30に出力しない(ステップS304、No)
(33)119aを用いてログ蓄積部23からファイル操作ログとして、120aを抽出(ステップS306)
(34)120aを検索用ノードとして選択(ステップS307)
選択済:112a、113a、114a、115a、116a、117a、118a、119a、120a
未選択:なし
(35)検索用ノードが選択されたので処理を続行(ステップS308、Yes)
(36)119aは選択条件1を満たしているため(ステップS304、Yes)、管理端末30に出力(ステップS305)
(37)116aに関連するログがないので、何も抽出しない(ステップS306)
(38)未選択の木群が存在する場合(ステップS309、Yes)は処理を繰り返し行う、存在しない場合(ステップS309、No)は、ログ抽出部22は、処理を終了する。
次に、図14に示すフローチャートを当てはめた場合は、以下のような処理が行われる。
(1)トレースキー(share.exe)および選択条件1を決定し入力(ステップS351)
(2)トレースログを用いてログ蓄積部23からログの木群を検索し抽出(ステップS352)
(3)抽出した木群からこれまで未選択の木を選択し、選択した木のファミリIDに該当するノードを抽出(ステップS353)
(4)抽出したノードのうち選択条件1を満たすノードを管理端末30に出力(ステップS354)
(5)未選択の木群が存在する場合(ステップS355、Yes)は処理を繰り返し行う、存在しない場合(ステップS355、No)は、ログ抽出部22は、処理を終了する。
[第3の実施形態の効果]
ログ抽出部22は、ファイル操作ログ同士が関連付けられたツリー構造を形成している場合に、トレースログに関連し、ツリー構造を形成しているファイル操作ログをトレースログとして一括で抽出する。これにより、トレースログ抽出処理を効率良く行うことができるようになる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図16は、プログラムが実行されることにより、ログ抽出システムまたはログ管理装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、ログ抽出システム1またはログ管理装置20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、ログ抽出システム1またはログ管理装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
1 ログ抽出システム
10 端末
11 エージェントソフトウェア
20 ログ管理装置
21 受信部
22 ログ抽出部
23 ログ蓄積部
231 ファイル操作ログ蓄積部
232 プロセス起動ログ蓄積部
30 管理端末
31 クエリ送信部
32 トレースキー設定部
33 表示部

Claims (5)

  1. 端末のプロセスの起動イベントを示すプロセス起動ログと、ファイルの操作イベントを示すファイル操作ログと、を含むログ情報を蓄積するログ蓄積部と、
    前記端末上で動作していたプログラムの脆弱性情報に含まれる実行ファイル名を、トレースの起点となる検索条件であるトレースキーとして取得し、前記トレースキーに関連する前記プロセス起動ログまたは前記ファイル操作ログを、トレースログとして抽出し、該トレースログに関連する他のプロセス起動ログまたは、該トレースログに関連する他のファイル操作ログを、トレースログとして抽出し、抽出したトレースログのうち、発生時刻の範囲が、前記脆弱性情報の公開日時から前記脆弱性情報に含まれるパッチ適用日時までの間であるトレースログを出力するログ抽出部と、
    を有し、
    前記ファイル操作ログは、ファイル操作イベントに伴う入力対象ファイルを特定する情報、および出力対象ファイルを特定する情報を含み、
    前記ログ抽出部は、前記トレースログにおけるファイル操作ログの出力対象ファイルと、他のファイル操作ログの入力対象ファイルとが一致する場合に、該トレースログと他のファイル操作ログが関連すると判定し、該他のファイル操作ログをトレースログとして抽出することを特徴とするログ抽出システム。
  2. 前記プロセス起動ログは、プロセス起動イベントに伴う実行ファイルを特定する情報、前記実行ファイルにより実行されるプロセスのIDであるプロセスID、および、前記実行ファイルを実行させるプロセスのIDである親プロセスIDのうちいずれか一つまたは複数を含み、
    前記ファイル操作ログは、ファイル操作イベントに伴う入力対象ファイルを特定する情報、出力対象ファイルを特定する情報、前記入力対象ファイルまたは前記出力対象ファイルに対して行われる操作の種別を示す操作種別を特定する情報、および、前記操作を行うプロセスのIDを示すプロセスIDのうちいずれか一つまたは複数を含み、
    前記ログ抽出部は、前記トレースログにおけるファイル操作ログの対象ファイルと、他のファイル操作ログの対象ファイルとが一致するか、前記トレースログにおけるファイル操作ログの対象ファイルと、他のプロセス起動ログの実行ファイルとが一致するか、前記トレースログにおけるファイル操作ログのプロセスIDと、他のプロセス起動ログのプロセスIDとが一致するか、または、前記トレースログにおけるプロセス起動ログのプロセスIDと、他のプロセス起動ログの親プロセスIDが一致する場合に、該トレースログと他のプロセス起動ログまたは他のファイル操作ログが関連すると判定し、該他のファイル操作ログの対象ファイルまたは該他のプロセス起動ログをトレースログとして抽出することを特徴とする請求項1に記載のログ抽出システム。
  3. 前記ログ抽出部は、前記ファイル操作ログ同士が関連付けられたツリー構造を形成している場合に、トレースログに関連し、前記ツリー構造を形成している前記ファイル操作ログをトレースログとして一括で抽出することを特徴とする請求項1または2に記載のログ抽出システム。
  4. 端末のプロセスの起動イベントを示すプロセス起動ログと、ファイルの操作イベントを示すファイル操作ログと、を含むログ情報を蓄積するログ蓄積工程と、
    前記端末上で動作していたプログラムの脆弱性情報に含まれる実行ファイル名を、トレースの起点となる検索条件であるトレースキーとして取得し、前記トレースキーに関連する前記プロセス起動ログまたは前記ファイル操作ログを、トレースログとして抽出し、該トレースログに関連する他のプロセス起動ログまたは、該トレースログに関連する他のファイル操作ログを、トレースログとして抽出し、抽出したトレースログのうち、発生時刻の範囲が、前記脆弱性情報の公開日時から前記脆弱性情報に含まれるパッチ適用日時までの間であるトレースログを出力するログ抽出工程と、
    を含み、
    前記ファイル操作ログは、ファイル操作イベントに伴う入力対象ファイルを特定する情報、および出力対象ファイルを特定する情報を含み、
    前記ログ抽出工程は、前記トレースログにおけるファイル操作ログの出力対象ファイルと、他のファイル操作ログの入力対象ファイルとが一致する場合に、該トレースログと他のファイル操作ログが関連すると判定し、該他のファイル操作ログをトレースログとして抽出することを特徴とするログ抽出方法。
  5. コンピュータを、請求項1から3のいずれか1項に記載のログ抽出システムとして機能させるためのログ抽出プログラム。
JP2015103767A 2015-05-21 2015-05-21 ログ抽出システム、ログ抽出方法およびログ抽出プログラム Active JP6577241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015103767A JP6577241B2 (ja) 2015-05-21 2015-05-21 ログ抽出システム、ログ抽出方法およびログ抽出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015103767A JP6577241B2 (ja) 2015-05-21 2015-05-21 ログ抽出システム、ログ抽出方法およびログ抽出プログラム

Publications (2)

Publication Number Publication Date
JP2016218788A JP2016218788A (ja) 2016-12-22
JP6577241B2 true JP6577241B2 (ja) 2019-09-18

Family

ID=57579022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015103767A Active JP6577241B2 (ja) 2015-05-21 2015-05-21 ログ抽出システム、ログ抽出方法およびログ抽出プログラム

Country Status (1)

Country Link
JP (1) JP6577241B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210377289A1 (en) * 2018-10-11 2021-12-02 Nippon Telegraph And Telephone Corporation Information processing apparatus, log analysis method and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5630193B2 (ja) * 2010-10-08 2014-11-26 富士通株式会社 操作制限管理プログラム、操作制限管理装置及び操作制限管理方法
JP5411954B2 (ja) * 2012-02-06 2014-02-12 日本電信電話株式会社 ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム
JP5542859B2 (ja) * 2012-02-14 2014-07-09 日本電信電話株式会社 ログ管理装置、ログ蓄積方法、ログ検索方法、およびプログラム
JP6590481B2 (ja) * 2012-12-07 2019-10-16 キヤノン電子株式会社 ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム

Also Published As

Publication number Publication date
JP2016218788A (ja) 2016-12-22

Similar Documents

Publication Publication Date Title
US10972488B2 (en) Method and system for modeling all operations and executions of an attack and malicious process entry
US10291634B2 (en) System and method for determining summary events of an attack
US10193906B2 (en) Method and system for detecting and remediating polymorphic attacks across an enterprise
CN102254111B (zh) 恶意网站检测方法及装置
JP6088714B2 (ja) 特定装置、特定方法および特定プログラム
US11455400B2 (en) Method, system, and storage medium for security of software components
US10216939B2 (en) Implementing a security solution using a layering system
US8646079B2 (en) Systems and methods for using property tables to perform non-iterative malware scans
JP2017511923A (ja) ウイルス処理方法、装置、システム、機器及びコンピュータ記憶媒体
US20150089655A1 (en) System and method for detecting malware based on virtual host
JP6687761B2 (ja) 結合装置、結合方法および結合プログラム
US20150154226A1 (en) File link migration
JP6282217B2 (ja) 不正プログラム対策システムおよび不正プログラム対策方法
CN114281653B (zh) 应用程序的监控方法、装置及计算设备
Paro ElasticSearch cookbook
JP2019537097A (ja) Iノードのアクセスパターンの追跡及びiノードの先取り
JP6577241B2 (ja) ログ抽出システム、ログ抽出方法およびログ抽出プログラム
JP6404771B2 (ja) ログ判定装置、ログ判定方法、およびログ判定プログラム
CN106372508B (zh) 恶意文档的处理方法及装置
Picazo-Sanchez et al. DeDup. js: Discovering Malicious and Vulnerable Extensions by Detecting Duplication.
JPWO2018131200A1 (ja) 解析装置、解析方法及び解析プログラム
RU2697951C2 (ru) Система и способ прекращения работы функционально ограниченного приложения, взаимосвязанного с веб-сайтом, запускаемого без установки
Paro Elasticsearch 7.0 Cookbook: Over 100 recipes for fast, scalable, and reliable search for your enterprise
US9372992B1 (en) Ensuring integrity of a software package installer
Uphill Mastering Puppet

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190319

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: 20190820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190822

R150 Certificate of patent or registration of utility model

Ref document number: 6577241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150