(57)【特許請求の範囲】
【請求項１】
それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの前記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索処理と、
前記レコードが探し出された場合に、探し出された当該レコードに含まれる前記識別情報のうち、未だ前記探索キーに該当していないものを、新たな探索キーに追加する追加処理と、
前記追加処理において前記新たな探索キーが追加された場合に、当該新たな探索キーについて、前記探索処理及び前記追加処理を繰り返す処理と
を含み、
前記探索キーとする前記識別情報の一つとしてプログラムの識別子を含み、
前記レコードは前記識別情報として、リモートログオンを要求した装置の識別子、及び当該リモートログオンに使用されたユーザアカウントをさらに含み、
前記プログラムの識別子が、リモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子であることを特徴とする、
コンピュータにより実行されるログ分析方法。
【請求項２】
前記攻撃に関する疑いがある前記レコードの、前記攻撃を仕掛けた疑いがある装置の識別子、前記攻撃に利用された疑いがあるユーザアカウント及び前記攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを前記探索キーとする請求項１に記載のログ分析方法。
【請求項３】
それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの前記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索処理と、
前記レコードが探し出された場合に、探し出された当該レコードに含まれる前記識別情報のうち、未だ前記探索キーに該当していないものを、新たな探索キーに追加する追加処理と、
前記追加処理において前記新たな探索キーが追加された場合に、当該新たな探索キーについて、前記探索処理及び前記追加処理を繰り返す処理と
をコンピュータに実行させ、
前記探索キーとする前記識別情報の一つとしてプログラムの識別子を含み、
前記レコードは前記識別情報として、リモートログオンを要求した装置の識別子、及び当該リモートログオンに使用されたユーザアカウントをさらに含み、
前記プログラムの識別子が、リモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子であることを特徴とする、
ログ分析プログラム。
【請求項４】
前記攻撃に関する疑いがある前記レコードの、前記攻撃を仕掛けた疑いがある装置の識別子、前記攻撃に利用された疑いがあるユーザアカウント及び前記攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを前記探索キーとする請求項３に記載のログ分析プログラム。
【請求項５】
それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの前記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索部と、
前記レコードが探し出された場合に、探し出された当該レコードに含まれる前記識別情報のうち、未だ前記探索キーに該当していないものを、新たな探索キーに追加する追加部と
を有し、
前記新たな探索キーが追加された場合に、前記探索部は、当該新たな探索キーを含むレコードを探し出し、
前記探索キーとする前記識別情報の一つとしてプログラムの識別子を含み、
前記レコードは前記識別情報として、リモートログオンを要求した装置の識別子、及び当該リモートログオンに使用されたユーザアカウントをさらに含み、
前記プログラムの識別子が、リモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子であることを特徴とする、
ログ分析装置。
【請求項６】
前記探索部は、前記攻撃に関する疑いがある前記レコードの、前記攻撃を仕掛けた疑いがある装置の識別子、前記攻撃に利用された疑いがあるユーザアカウント及び前記攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを前記探索キーとする請求項５に記載のログ分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイバー攻撃に対するセキュリティ技術に関する。
【背景技術】
【０００２】
例えば標的型攻撃を目的として、ＲＡＴ（Remote Administration Tool）が情報処理システム内に侵入した場合には、例えば機密データの流出のリスクが生じる。
【０００３】
これに対して、ＲＡＴによる所定の動きを監視する技術が存在する。この技術によって、ＲＡＴに感染したコンピュータを検出し、この感染コンピュータによる攻撃の痕跡を把握できれば、侵害範囲の一部を把握することができる。
【０００４】
しかし、上記監視技術によって検出されない別のＲＡＴが存在するかもしれない。また、実際の侵害範囲は、管理者が想定している範囲よりも広いかもしれない。
【０００５】
侵害範囲を特定するための分析の対象となるログは、大量であって、管理者の負担は、とても大きい。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２０２６６４号公報
【特許文献２】特開２００４−１３５５３号公報
【特許文献３】特開２００７−１２２７４９号公報
【特許文献４】特開２００１−２１７８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、一側面では、サイバー攻撃の被害を分析するための対象となるログを絞り込むことである。
【課題を解決するための手段】
【０００８】
一態様に係るログ分析方法は、（Ａ）それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの上記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索処理と、（Ｂ）レコードが探し出された場合に、探し出された当該レコードに含まれる上記識別情報のうち、未だ探索キーに該当していないものを、新たな探索キーに追加する追加処理と、（Ｃ）追加処理において新たな探索キーが追加された場合に、当該新たな探索キーについて、探索処理及び追加処理を繰り返す処理とを含む。
【発明の効果】
【０００９】
一側面としては、サイバー攻撃の被害を分析するための対象となるログを絞り込める。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システムの例を示す図である。
【図２】図２は、サイバー攻撃の例を示す図である。
【図３】図３は、本実施の形態におけるツール実行ログの例を示す図である。
【図４】図４は、本実施の形態における分析例を示す図である。
【図５】図５は、本実施の形態における分析例を示す図である。
【図６】図６は、本実施の形態における分析例を示す図である。
【図７】図７は、本実施の形態における分析例を示す図である。
【図８】図８は、本実施の形態における分析例を示す図である。
【図９】図９は、本実施の形態におけるフェーズを示す図である。
【図１０】図１０は、端末のモジュール構成例を示す図である。
【図１１】図１１は、イベントログの例を示す図である。
【図１２】図１２は、ロギング処理（Ａ）フローを示す図である。
【図１３】図１３は、ツール実行ログの例を示す図である。
【図１４】図１４は、分析装置のモジュール構成例を示す図である。
【図１５】図１５は、攻撃痕跡テーブルの例を示す図である。
【図１６】図１６は、第１キーテーブルの例を示す図である。
【図１７】図１７は、第２キーテーブルの例を示す図である。
【図１８】図１８は、第３キーテーブルの例を示す図である。
【図１９】図１９は、メイン処理（Ａ）フローを示す図である。
【図２０】図２０は、特定処理（Ａ）フローを示す図である。
【図２１】図２１は、メイン処理（Ａ）フローを示す図である。
【図２２】図２２は、出力処理フローを示す図である。
【図２３】図２３は、実施の形態２における情報処理システムの例を示す図である。
【図２４】図２４は、監視装置のモジュール構成例を示す図である。
【図２５】図２５は、タスク登録ログの例を示す図である。
【図２６】図２６は、ロギング処理（Ｂ）フローを示す図である。
【図２７】図２７は、実施の形態２における分析装置のモジュール構成例を示す図である。
【図２８】図２８は、実施の形態２における攻撃痕跡テーブルの例を示す図である。
【図２９】図２９は、メイン処理（Ｂ）フローを示す図である。
【図３０】図３０は、特定処理（Ｂ）フローを示す図である。
【図３１】図３１は、メイン処理（Ｂ）フローを示す図である。
【図３２】図３２は、サービス登録ログの例を示す図である。
【図３３】図３３は、ロギング処理（Ｃ）フローを示す図である。
【図３４】図３４は、実施の形態３における攻撃痕跡テーブルの例を示す図である。
【図３５】図３５は、メイン処理（Ｃ）フローを示す図である。
【図３６】図３６は、特定処理（Ｃ）フローを示す図である。
【図３７】図３７は、メイン処理（Ｃ）フローを示す図である。
【図３８】図３８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に、情報処理システムの例を示す。複数の端末１０１がＬＡＮ（Local Area Network）を介して接続している。ＬＡＮは、検知装置１０３を介してインターネットと接続している。端末１０１同士は、所定の条件の下で、任意にリモート操作を行うことがあるものとする。検知装置１０３は、ＬＡＮ内の端末１０１に潜むマルウェアを探して、マルウェアに感染している端末１０１を特定する。
【００１２】
マルウェアは、例えば標的型攻撃を行うＲＡＴである。マルウェアは、標的型メールや不正サイトなどを介して、情報処理システム内の端末１０１に送り込まれる。送り込まれたマルウェアは、情報処理システム外の攻撃者からの指示を受けて、不正なリモート操作を行う。以下では、このようにマルウェアに侵入された端末１０１を、攻撃側の端末１０１又は攻撃端末という。
【００１３】
ある種のサイバー攻撃では、複数の攻撃端末をコントロールし、ＬＡＮ内の端末１０１に対して多段階に及ぶ不正なリモート操作を行う。以下では、不正なリモート操作を受ける端末１０１を、標的側の端末１０１又は標的端末という。
【００１４】
検知装置１０３が攻撃側の端末１０１を見つけ出しても、その攻撃側の端末１０１が他の端末１０１に対してどのようなリモート操作を行ったかを把握することは難しい。また、検知装置１０３によって検知されないタイプのマルウェアが他の端末１０１に潜んでいる場合もある。
【００１５】
本実施の形態では、検知装置１０３を利用して攻撃端末を発見した後、分析装置１０５が、ＬＡＮ内の各端末１０１に蓄えられたログを収集して、攻撃の一環である可能性がある操作の痕跡（以下、攻撃痕跡という。）を抽出する。
【００１６】
図２にサイバー攻撃の例を示す。この例で端末１０１ａは、マルウェアＸに感染しているものとする。同じく端末１０１ｂは、マルウェアＸに感染しているものとする。同じく端末１０１ｃは、マルウェアＹに感染しているものとする。同じく端末１０１ｄは、マルウェアＺに感染しているものとする。
【００１７】
攻撃者端末２０１から操られるマルウェアによって他の端末１０１に対する不正なリモート操作が行われる。この例では、端末１０１ａのマルウェアＸが端末１０１ｅを不正に操作する。同じく端末１０１ｂのマルウェアＸが端末１０１ｆを不正に操作する。同じく端末１０１ｃのマルウェアＹが端末１０１ｇを不正に操作する。同じく端末１０１ｄのマルウェアＺが端末１０１ｈ及び端末１０１ｉを不正に操作する。
【００１８】
攻撃側の端末１０１ａを検知した場合に、端末１０１ａによって不正に操作された標的側の端末１０１ｅを特定することは比較的簡単である。また、端末１０１ａと同じマルウェアＸに感染している攻撃側の端末１０１ｂも同様に検知される。従って、端末１０１ｂによって不正に操作された標的側の端末１０１ｆも特定されやすい。
【００１９】
しかし、マルウェアＸと異なるタイプのマルウェアに感染している攻撃側の端末１０１ｃ及び端末１０１ｄは、検知されがたい。これらが検知されなければ、端末１０１ｃによって不正に操作された標的側の端末１０１ｇ、端末１０１ｄによって不正に操作された標的側の端末１０１ｈ及び端末１０１ｉも特定されない。
【００２０】
一般的に、攻撃者は、攻撃の手順において同じ攻撃端末を繰り返して使用する。また、攻撃者は、攻撃の手順において同じアカウント名を繰り返し使用することがある。攻撃者が、攻撃の手順において同じツールをリモート操作することもある。
【００２１】
つまり、攻撃痕跡によって判明した攻撃側の端末１０１が行う他のリモート操作は、サイバー攻撃の一環である可能性がある。また、攻撃痕跡に含まれるアカウント名を用いた他のリモート操作も、不正である可能性がある。更に、攻撃痕跡によって不正に用いられた可能性があるとわかったツールは、他の端末１０１においても不正な目的で使用されたかもしれない。
【００２２】
図３に、本実施の形態におけるツール実行ログ３０１の例を示す。各端末１０１は、ツール実行ログ３０１を生成している。リモート操作によってプログラム（以下、ツールという。）が実行された場合に、ツール実行ログ３０１に、ログオン要求元と、ユーザアカウントと、実行ツールとが記録される。尚、ツールは、例えばシステム管理の目的でリモート操作を行うプログラムである。また、マルウェアが、ツールとして動作することもある。
【００２３】
ログオン要求元は、リモート操作を行う前提としてリモートログオンを要求した端末１０１である。ユーザアカウントは、リモート操作を行うときに使用されたものである。
【００２４】
図示するように端末１０１ｅにおけるツール実行ログ３０１ｅには、ログオン要求元の「コンピュータＡ」、ユーザアカウントの「アカウントＬ」及び実行ツールの「ツールＱ」の記録が含まれている。
【００２５】
同じく端末１０１ｆにおけるツール実行ログ３０１ｆには、ログオン要求元の「コンピュータＢ」、ユーザアカウントの「アカウントＬ」及び実行ツールの「ツールＱ」の記録が含まれている。
【００２６】
同じく端末１０１ｇにおけるツール実行ログ３０１ｇには、ログオン要求元の「コンピュータＣ」、ユーザアカウントの「アカウントＭ」及び実行ツールの「ツールＲ」の記録が含まれている。ツール実行ログ３０１ｇには、更にログオン要求元の「コンピュータＣ」、ユーザアカウントの「アカウントＬ」及び実行ツールの「ツールＱ」の記録が含まれている。
【００２７】
同じく端末１０１ｈにおけるツール実行ログ３０１ｈには、ログオン要求元の「コンピュータＤ」、ユーザアカウントの「アカウントＭ」及び実行ツールの「ツールＳ」の記録が含まれている。
【００２８】
同じく端末１０１ｉにおけるツール実行ログ３０１ｉには、ログオン要求元の「コンピュータＤ」、ユーザアカウントの「アカウントＮ」及び実行ツールの「ツールＳ」の記録が含まれている。
【００２９】
尚、「コンピュータＡ」乃至「コンピュータＩ」は、端末１０１ａ乃至端末１０１ｉに相当する。
【００３０】
まず、攻撃側の端末１０１に相当する「コンピュータＡ」が、１次的な探索キーとなったとする。次に、１次的な探索キーに対応する「アカウントＬ」及び「ツールＱ」が、２次的な探索キー（図３では、細い下線を付している。）となる。同様に、２次的な探索キーに対応する「コンピュータＢ」及び「コンピュータＣ」が、３次的な探索キー（図３では、細い二重下線を付している。）となる。同様に、３次的な探索キーに対応する「アカウントＭ」が、４次的な探索キー（図３では、太い下線を付している。）となる。そして、４次的な探索キーに対応する「コンピュータＤ」及び「ツールＳ」が、５次的な探索キー（図３では、太い二重下線を付している。）となる。以下、これらの探索キーを用いた分析の概要について、更に説明する。
【００３１】
図４に、本実施の形態における分析例を示す。本実施の形態では、第１キーテーブル４０１、第２キーテーブル４０３及び第３キーテーブル４０５によって探索キーを管理する。第１キーテーブル４０１は、ログオン要求元に関する探索キー（以下、第１探索キーという。）を管理する。第２キーテーブル４０３は、ユーザアカウントに関する探索キー（以下、第２探索キーという。）を管理する。第３キーテーブル４０５は、実行ツールに関する探索キー（以下、第３探索キーという。）を管理する。尚、後述する実施の形態では、第３探索キーは、タスク又はサービスに関する。
【００３２】
「コンピュータＡ」が攻撃側の端末１０１に相当することが判明すると、１回目の探索動作によって、ツール実行ログ３０１ｅにおいて「コンピュータＡ」を含む記録が特定される。そして、この記録から第１探索キーとして「コンピュータＡ」が抽出され、第１キーテーブル４０１に登録される。同様に第２探索キーとして「アカウントＬ」が抽出され、第２キーテーブル４０３に登録される。同様に第３探索キーとして「ツールＱ」が抽出され、第３キーテーブル４０５に登録される。
【００３３】
次に、図５に示すように新規な探索キー「アカウントＬ」及び「ツールＱ」に基づく２回目の探索動作によって、ツール実行ログ３０１ｆにおいて「アカウントＬ」及び「ツールＱ」を含む記録及びツール実行ログ３０１ｇにおいて「アカウントＬ」及び「ツールＱ」を含む記録が特定される。ここでは、既に探索された記録を除いて説明する。尚、少なくとも一つの探索キーが含まれる記録が、探索の対象となる。そして、これら記録から第１探索キーとして「コンピュータＢ」及び「コンピュータＣ」が抽出され、第１キーテーブル４０１に登録される。
【００３４】
次に、図６に示すように新規な探索キー「コンピュータＢ」及び「コンピュータＣ」に基づく３回目の探索動作によって、ツール実行ログ３０１ｇにおいて「コンピュータＣ」を含む記録が特定される。そして、この記録から第２探索キーとして「アカウントＭ」が抽出され、第２キーテーブル４０３に登録される。更に、第３探索キーとして「ツールＲ」が抽出され、第３キーテーブル４０５に登録される。
【００３５】
次に、図７に示すように新規な探索キー「アカウントＭ」及び「ツールＲ」に基づく４回目の探索動作によって、ツール実行ログ３０１ｈにおいて「アカウントＭ」を含む記録が特定される。そして、この記録から第１探索キーとして「コンピュータＤ」が抽出され、第１キーテーブル４０１に登録される。更に、第３探索キーとして「ツールＳ」が抽出され、第３キーテーブル４０５に登録される。
【００３６】
次に、図８に示すように新規な探索キー「ツールＳ」に基づく５回目の探索動作によって、ツール実行ログ３０１ｉにおいて「ツールＳ」を含む記録が特定される。そして、この記録から第２探索キーとして「アカウントＮ」が抽出され、第２キーテーブル４０３に登録される。この例では、探索キーを重複登録しない。
【００３７】
そして、新規な探索キーが見つからなくなるまで探索動作を繰り返す。以上で、本実施の形態における概要の説明を終える。
【００３８】
図９に、本実施の形態におけるフェーズを示す。情報処理システムが日常的に利用されている運用フェーズ（Ｓ９０１）では、端末１０１がログ（例えば、ツール実行ログ３０１）を蓄積する。また、検知装置１０３が攻撃側の端末１０１を探す動作を行っている。尚、運用フェーズにおいて、分析装置１０５はＬＡＮに接続していなくてもよい。
【００３９】
検知装置１０３が攻撃側の端末１０１を特定すると、収集フェーズ（Ｓ９０３）に移る。収集フェーズでは、分析装置１０５が各端末１０１からログを収集する。分析装置１０５は、検知装置１０３から通知を受けて、自動的にログを収集するようにしてもよい。或いは、検知装置１０３が攻撃側の端末１０１を特定したことを管理者が知った時点で、管理者が分析装置１０５に対してログを収集するように指示してもよい。
【００４０】
分析フェーズ（Ｓ９０５）では、分析装置１０５が上述した探索を行って、収集したログから攻撃痕跡を抽出する。
【００４１】
次に、端末１０１について説明する。図１０に、端末１０１のモジュール構成例を示す。端末１０１は、ツール１００１ａ乃至１００１ｃ、オペレーティングシステム１００３、ロガー１００５、イベントログ記憶部１００７、実行ログ記憶部１００９及び第１送信部１０１１を有する。
【００４２】
ツール１００１は、リモート操作によって動作する。オペレーティングシステム１００３は、例えば起動されるプロセスを管理する。ロガー１００５は、端末１０１におけるイベントに関するロギング処理（Ａ）を実行する。イベントログ記憶部１００７は、イベントログを記憶する。実行ログ記憶部１００９は、ツール実行ログ３０１を記憶する。第１送信部１０１１は、イベントログ及びツール実行ログ３０１を分析装置１０５へ送信する。
【００４３】
上述した第１送信部１０１１は、ハードウエア資源（例えば、図３８）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００４４】
上述したイベントログ記憶部１００７及び実行ログ記憶部１００９は、ハードウエア資源（例えば、図３８）を用いて実現される。
【００４５】
図１１に、イベントログの例を示す。この例におけるイベントログは、テーブル形式である。但し、イベントログは、テーブル形式以外の形式であってもよい。この例におけるイベントログは、端末１０１で発生したイベントに対応するレコード（以下、イベントレコードという。）を有している。イベントレコードは、日時を設定するためのフィールドと、イベント種別を設定するためのフィールドと、アカウント名を設定するためのフィールドと、ログオン要求元の識別子を設定するためのフィールドとを有している。
【００４６】
日時は、端末１０１においてイベントが発生した日付及び時刻である。この例では、説明を簡単にするために、具体的な日時に代えて、識別のための数字を付して「Ｔ３」のように記述する。他のデータの例においても同様である。イベント種別は、端末１０１において発生したイベントの種別である。この例では、イベント種別が「ログオン」であるイベントレコードに着目する。イベント種別が「ログオン」であるイベントレコードは、他の端末１０１からのリモートログオンが行われたことを示している。
【００４７】
イベント種別が「ログオン」である場合に、アカウント名は、リモートログオンに用いられたユーザアカウントを特定する。この例では、説明を簡単にするために、具体的なアカウント名に代えて、識別のための文字を付して「アカウントＭ」のように記述する。他のデータの例においても同様である。
【００４８】
イベント種別が「ログオン」である場合に、ログオン要求元の識別子は、リモートログオンを要求した端末１０１を特定する。この例では、説明を簡単にするために、具体的な端末１０１の識別子に代えて、識別のための文字を付して「コンピュータＣ」のように記述する。他のデータの例においても同様である。尚、端末１０１の識別子は、例えばＩＰ（Internet Protocol）アドレス又はホスト名である。
【００４９】
図示したイベントログは、「コンピュータＧ」である端末１０１ｇにおいて生成されたものである。図示した１番目のイベントレコードは、日時「Ｔ３」に、「コンピュータＣ」である端末１０１ｃが、「コンピュータＧ」である端末１０１ｇに対して、「アカウントＭ」のアカウント名を用いてリモートログオンを行ったことを示している。尚、イベントログの生成は従来技術に相当するので、説明を省く。
【００５０】
続いて、ロガー１００５によるロギング処理（Ａ）について説明する。ロギング処理（Ａ）では、ツール実行ログ３０１を生成する。図１２に、ロギング処理（Ａ）フローを示す。ロガー１００５は、新規なプロセスが起動したか否かを判定する（Ｓ１２０１）。新規なプロセスが起動していないと判定した場合には、Ｓ１２０１に示した処理を繰り返す。
【００５１】
新規なプロセスが起動したと判定した場合には、ロガー１００５は、新規なプロセスを起動したユーザアカウントが、リモートログオンのユーザアカウントであるか否かを判定する（Ｓ１２０３）。具体的には、ロガー１００５は、イベント種別が「ログオン」であるイベントレコードに設定されているアカウント名に基づいて判定を行う。
【００５２】
新規なプロセスを起動したユーザアカウントが、リモートログオンのユーザアカウントではないと判定した場合には、Ｓ１２０１に示した処理に戻って上述した処理を繰り返す。
【００５３】
新規なプロセスを起動したユーザアカウントが、リモートログオンのユーザアカウントであると判定した場合には、ロガー１００５は、ツール実行ログ３０１に新たなレコードを追加する（Ｓ１２０５）。
【００５４】
ここで、ツール実行ログ３０１について改めて説明する。図１３に、ツール実行ログ３０１の例を示す。この例におけるツール実行ログ３０１は、テーブル形式である。但し、ツール実行ログ３０１は、テーブル形式以外の形式であってもよい。この例におけるツール実行ログ３０１は、ツール１００１の実行に対応するレコード（以下、実行レコードという。）を有している。実行レコードは、ログオン要求元の識別子を設定するためのフィールドと、リモートログオンのユーザアカウントを設定するためのフィールドと、実行ツールの識別子を設定するためのフィールドと、実行日時を設定するためのフィールドとを有している。
【００５５】
ログオン要求元の識別子は、ツール実行のリモート操作を行う前提としてリモートログオンを要求した端末１０１を特定する。リモートログオンのユーザアカウントは、リモート操作を行ったユーザアカウントである。
【００５６】
実行ツールの識別子は、リモート操作によって実行されたツール１００１を特定する。この例では、説明を簡単にするために、具体的なツールの識別子に代えて、識別のための文字を付して「ツールＱ」のように記述する。他のデータの例においても同様である。実行日時は、リモート操作によってツール１００１が実行された日付及び時刻である。
【００５７】
図示したイベントログは、「コンピュータＧ」である端末１０１ｇにおいて生成されたものである。図示した１番目のイベントレコードは、「アカウントＬ」を用いて「コンピュータＣ」からリモートログオンしたユーザが、日時「Ｔ３」に、「コンピュータＧ」である端末１０１ｇの「ツールＱ」を実行したことを示している。同様に、図示した２番目のイベントレコードは、「アカウントＭ」を用いて「コンピュータＣ」からリモートログオンしたユーザが、日時「Ｔ５」に、「コンピュータＧ」である端末１０１ｇの「ツールＲ」を実行したことを示している。
【００５８】
この例で、ツール実行ログ３０１は、リモート操作によってツール１００１が実行された場合に限りレコードが作られるものとする。
【００５９】
図１２の説明に戻る。Ｓ１２０５において、ロガー１００５は、イベント種別が「ログオン」であるイベントレコードにおいて当該ユーザアカウントに対応付けられているログオン要求元の識別子を、新たな実行レコードに設定する。更に、ロガー１００５は、当該ユーザアカウントを、新たな実行レコードに設定する。更に、ロガー１００５は、新規なプロセスの名前を、実行ツールの識別子として新たな実行レコードに設定する。更に、ロガー１００５は、新規なプロセスが起動した日時を、新たな実行レコードにおける実行日時のフィールドに設定する。そして、Ｓ１２０１に示した処理に戻って上述した処理を繰り返す。
【００６０】
図１４に、分析装置１０５のモジュール構成例を示す。分析装置１０５は、受付部１４０１、収集部１４０３、特定部１４０５、生成部１４０７、探索部１４０９、追加部１４１１、出力部１４１３、イベントログ記憶部１４２１、実行ログ記憶部１４２３、痕跡テーブル記憶部１４２５及びキーテーブル記憶部１４２７を有する。
【００６１】
受付部１４０１は、攻撃端末の識別子を受け付ける。収集部１４０３は、イベントログ及びツール実行ログ３０１を収集する。特定部１４０５は、特定処理を実行する。生成部１４０７は、探索キーテーブルを生成する。探索部１４０９は、攻撃痕跡を探索する。追加部１４１１は、探索キーテーブルに探索キーを追加する。出力部１４１３は、出力処理を実行する。
【００６２】
イベントログ記憶部１４２１は、収集したイベントログを記憶する。実行ログ記憶部１４２３は、収集したツール実行ログ３０１を記憶する。痕跡テーブル記憶部１４２５は、攻撃痕跡テーブルを記憶する。攻撃痕跡テーブルについては、図１５を用いて後述する。キーテーブル記憶部１４２７は、探索キーテーブル（この例では、第１キーテーブル４０１、第２キーテーブル４０３及び第３キーテーブル４０５）を記憶する。
【００６３】
上述した受付部１４０１、収集部１４０３、特定部１４０５、生成部１４０７、探索部１４０９、追加部１４１１及び出力部１４１３は、ハードウエア資源（例えば、図３８）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００６４】
上述したイベントログ記憶部１４２１、実行ログ記憶部１４２３、痕跡テーブル記憶部１４２５及びキーテーブル記憶部１４２７は、ハードウエア資源（例えば、図３８）を用いて実現される。
【００６５】
図１５に、攻撃痕跡テーブルの例を示す。この例における攻撃痕跡テーブルは、攻撃痕跡に対応するレコード（以下、痕跡レコードという。）を有している。痕跡レコードは、攻撃端末の識別子を設定するためのフィールドと、悪用されたユーザアカウントを設定するためのフィールドと、悪用されたツール１００１の識別子を設定するためのフィールドと、標的端末の識別子を設定するためのフィールドと、実行日時を設定するためのフィールドとを有している。
【００６６】
攻撃端末の識別子は、攻撃を仕掛けた疑いがある端末１０１を特定する。悪用されたユーザアカウントは、攻撃に利用された疑いがあるアカウントである。悪用されたツール１００１の識別子は、攻撃に用いられた疑いがあるツール１００１を特定する。標的端末の識別子は、攻撃を仕掛けられた疑いがある端末１０１を特定する。実行日時は、悪用されたツール１００１を実行した日付及び時刻である。
【００６７】
図示した１番目の痕跡レコードは、「アカウントＬ」を用いて「コンピュータＡ」からリモートログオンした攻撃者が、日時「Ｔ１」に、「コンピュータＥ」である端末１０１ｅの「ツールＱ」を、サイバー攻撃の一環として実行した疑いがあることを示している。
【００６８】
同じく２番目の痕跡レコードは、「アカウントＬ」を用いて「コンピュータＢ」からリモートログオンした攻撃者が、日時「Ｔ２」に、「コンピュータＦ」である端末１０１ｆの「ツールＱ」を、サイバー攻撃の一環として実行した疑いがあることを示している。
【００６９】
同じく３番目の痕跡レコードは、「アカウントＬ」を用いて「コンピュータＣ」からリモートログオンした攻撃者が、日時「Ｔ４」に、「コンピュータＧ」である端末１０１ｇの「ツールＱ」を、サイバー攻撃の一環として実行した疑いがあることを示している。
【００７０】
同じく４番目の痕跡レコードは、「アカウントＭ」を用いて「コンピュータＣ」からリモートログオンした攻撃者が、日時「Ｔ６」に、「コンピュータＧ」である端末１０１ｇの「ツールＲ」を、サイバー攻撃の一環として実行した疑いがあることを示している。
【００７１】
同じく５番目の痕跡レコードは、「アカウントＭ」を用いて「コンピュータＤ」からリモートログオンした攻撃者が、日時「Ｔ７」に、「コンピュータＨ」である端末１０１ｈの「ツールＳ」を、サイバー攻撃の一環として実行した疑いがあることを示している。
【００７２】
同じく６番目の痕跡レコードは、「アカウントＮ」を用いて「コンピュータＤ」からリモートログオンした攻撃者が、日時「Ｔ８」に、「コンピュータＩ」である端末１０１ｉの「ツールＳ」を、サイバー攻撃の一環として実行した疑いがあることを示している。
【００７３】
図１６に、第１キーテーブル４０１の例を示す。この例における第１キーテーブル４０１は、第１探索キーに対応するレコード（以下、キーレコードという。）を有している。第１キーテーブル４０１のキーレコードは、第１探索キーを設定するためのフィールドと、新規フラグを設定するためのフィールドと、有効フラグを設定するためのフィールドとを有している。
【００７４】
第１探索キーは、攻撃痕跡を探索するときの条件となる「攻撃端末の識別子」である。当該第１探索キーと比較する処理が、すべてのツール実行ログ３０１の全実行レコードに対して行われるまで、新規フラグはＯＮの状態で保たれる。そして、次のサイクルに移る時点で、新規フラグはＯＦＦに移る。また、有効フラグは、第１探索キーとして有効なときにＯＮに設定される。
【００７５】
図１６は、「コンピュータＡ」、「コンピュータＢ」、「コンピュータＣ」及び「コンピュータＤ」との比較による攻撃痕跡の探索を終えた状態を表している。
【００７６】
図１７に、第２キーテーブル４０３の例を示す。この例における第２キーテーブル４０３は、第２探索キーに対応するレコード（以下、キーレコードという。）を有している。第２キーテーブル４０３のキーレコードは、第２探索キーを設定するためのフィールドと、新規フラグを設定するためのフィールドと、有効フラグを設定するためのフィールドとを有している。
【００７７】
第２探索キーは、攻撃痕跡を探索するときの条件となる「ユーザアカウント」である。当該第２探索キーと比較する処理が、すべてのツール実行ログ３０１の全実行レコードに対して行われるまで、新規フラグはＯＮの状態で保たれる。そして、次のサイクルに移る時点で、新規フラグはＯＦＦに移る。また、有効フラグは、第２探索キーとして有効なときにＯＮに設定される。
【００７８】
図１７は、「アカウントＬ」、「アカウントＭ」及び「アカウントＮ」との比較による攻撃痕跡の探索を終えた状態を表している。
【００７９】
図１８に、第３キーテーブル４０５の例を示す。この例における第３キーテーブル４０５は、第３探索キーに対応するレコード（以下、キーレコードという。）を有している。第３キーテーブル４０５のキーレコードは、第３探索キーを設定するためのフィールドと、新規フラグを設定するためのフィールドと、有効フラグを設定するためのフィールドとを有している。
【００８０】
第３探索キーは、攻撃痕跡を探索するときの条件となる「ツールの識別子」である。当該第３探索キーと比較する処理が、すべてのツール実行ログ３０１の全実行レコードに対して行われるまで、新規フラグはＯＮの状態で保たれる。そして、次のサイクルに移る時点で、新規フラグはＯＦＦに移る。また、有効フラグは、第３探索キーとして有効なときにＯＮに設定される。
【００８１】
図１８は、「ツールＱ」、「ツールＲ」及び「ツールＳ」との比較による攻撃痕跡の探索を終えた状態を表している。
【００８２】
次に、分析装置１０５における処理について説明する。図１９に、メイン処理（Ａ）フローを示す。受付部１４０１は、待機して、検知装置１０３において検知された攻撃端末の識別子を受け付ける（Ｓ１９０１）。収集部１４０３は、各端末１０１から、イベントログ及びツール実行ログ３０１を収集する（Ｓ１９０３）。収集した各イベントログは、当該イベントログを生成した端末１０１の識別子が付されてイベントログ記憶部１００７に記憶される。収集した各ツール実行ログ３０１は、当該ツール実行ログ３０１を生成した端末１０１の識別子が付されて実行ログ記憶部１００９に記憶される。
【００８３】
特定部１４０５は、特定処理（Ａ）を実行する（Ｓ１９０５）。特定処理（Ａ）では、検知装置１０３において検知された攻撃端末の識別子に基づいて、ツール実行ログ３０１に含まれる１次的な攻撃痕跡を特定する。
【００８４】
図２０に、特定処理（Ａ）フローを示す。特定部１４０５は、収集した各イベントログにおいて、攻撃側の端末１０１からのリモートログオンに関するイベントレコードを１つ特定する（Ｓ２００１）。
【００８５】
特定部１４０５は、悪用された疑いのあるユーザアカウント（以下では、単に悪用されたユーザアカウントとして扱う。）を特定する（Ｓ２００３）。具体的には、Ｓ２００１に示した処理において特定されたイベントレコードに設定されているアカウント名が、悪用されたユーザアカウントに相当する。
【００８６】
特定部１４０５は、標的とされた疑いがある端末１０１（以下では、標的端末として扱う。）識別子を特定する（Ｓ２００７）。具体的には、Ｓ２００１に示した処理において特定されたイベントレコードを含むイベントログに付されている端末１０１の識別子が、標的端末の識別子に相当する。
【００８７】
特定部１４０５は、収集した各ツール実行ログ３０１において、攻撃端末及びＳ２００３で特定されたユーザアカウントが該当する実行レコードを１つ特定する（Ｓ２００９）。具体的には、特定部１４０５は、当該攻撃端末の識別子がログオン要求元の識別子のフィールドに設定されており、且つ当該ユーザアカウントがリモートログオンのユーザアカウントに設定されている実行レコードを１つ探し出す。
【００８８】
特定部１４０５は、悪用された疑いがあるツール１００１（以下では、単に悪用されたツール１００１として扱う。）を特定する（Ｓ２０１１）。具体的には、Ｓ２００９に示した処理において特定された実行レコードに設定されている実行ツールの識別子によって悪用されたツール１００１が特定される。
【００８９】
特定部１４０５は、Ｓ２００１に示した処理において特定された実行レコードに設定されている実行日時を特定する（Ｓ２０１２）。
【００９０】
そして、特定部１４０５は、痕跡レコードを１つ生成する（Ｓ２０１３）。痕跡レコードには、攻撃端末の識別子と、悪用されたユーザアカウントと、悪用されたツールの識別子と、標的端末の識別子と、実行日時とが設定される。
【００９１】
特定部１４０５は、Ｓ２００９における特定対象となる実行レコードが更にあるか否かを判定する（Ｓ２０１５）。Ｓ２００９における特定対象となる実行レコードが更にあると判定した場合には、Ｓ２００９に示した処理に戻って上述した処理を繰り返す。
【００９２】
Ｓ２００９における特定対象となる実行レコードが無いと判定した場合には、特定部１４０５は、Ｓ２００１における特定対象となるイベントレコードが更にあるか否かを判定する（Ｓ２０１７）。Ｓ２００１における特定対象となるイベントレコードが更にあると判定した場合には、Ｓ２００１に示した処理に戻って上述した処理を繰り返す。
【００９３】
Ｓ２００１における特定対象となるイベントレコードが無いと判定した場合には、図１９に示したメイン処理（Ａ）に復帰する。
【００９４】
図１９の説明に戻る。生成部１４０７は、探索キーテーブルを生成する（Ｓ１９０７）。この例で、第１キーテーブル４０１、第２キーテーブル４０３及び第３キーテーブル４０５が探索キーテーブルに相当する。
【００９５】
具体的には、生成部１４０７は、特定処理（Ａ）で生成された痕跡レコードに設定されている攻撃端末の識別子を抽出し、第１キーテーブル４０１に登録する。第１キーテーブル４０１に登録された攻撃端末の識別子は、第１探索キーとして用いられる。新たな第１探索キーに対応する新規フラグはＯＮに、同じく有効フラグはＯＮに設定される。
【００９６】
更に、生成部１４０７は、当該痕跡レコードに設定されている悪用されたユーザアカウントを抽出し、第２キーテーブル４０３に登録する。第２キーテーブル４０３に登録されたユーザアカウントは、第２探索キーとして用いられる。新たな第２探索キーに対応する新規フラグはＯＮに、同じく有効フラグはＯＮに設定される。
【００９７】
更に、生成部１４０７は、当該痕跡レコードに設定されている悪用されたツールの識別子を抽出し、第３キーテーブル４０５に登録する。第３キーテーブル４０５に登録されたツールの識別子は、第３探索キーとして用いられる。新たな第３探索キーに対応する新規フラグはＯＮに、同じく有効フラグはＯＮに設定される。
【００９８】
次に、探索部１４０９は、実行ログ記憶部１４２３に記憶されているツール実行ログ３０１を１つ特定する（Ｓ１９０９）。探索部１４０９は、当該ツール実行ログ３０１に含まれる実行レコードを１つ特定する（Ｓ１９１１）。
【００９９】
探索部１４０９は、Ｓ１９１１において特定された実行レコードに設定されているログオン要求元の識別子が、新規な第１探索キーのいずれかに該当するか否かを判定する（Ｓ１９１３）。新規な第１探索キーとは、対応する新規フラグ及び有効フラグがＯＮに設定されている第１探索キーのことである。
【０１００】
Ｓ１９１１において特定された実行レコードに設定されているログオン要求元の識別子が、新規な第１探索キーのいずれかに該当すると判定した場合には、端子Ａを介して図２１のＳ２１０１に示した処理に移る。
【０１０１】
一方、Ｓ１９１１において特定された実行レコードに設定されているログオン要求元の識別子が、新規な第１探索キーのいずれにも該当しないと判定した場合には、探索部１４０９は、当該実行レコードに設定されているリモートログオンのユーザアカウントが、新規な第２探索キーのいずれかに該当するか否かを判定する（Ｓ１９１５）。新規な第２探索キーとは、対応する新規フラグ及び有効フラグがＯＮに設定されている第２探索キーのことである。
【０１０２】
Ｓ１９１１において特定された実行レコードに設定されているリモートログオンのユーザアカウントが、新規な第２探索キーのいずれかに該当すると判定した場合には、端子Ａを介して図２１のＳ２１０１に示した処理に移る。
【０１０３】
一方、Ｓ１９１１において特定された実行レコードに設定されているリモートログオンのユーザアカウントが、新規な第２探索キーのいずれにも該当しないと判定した場合には、探索部１４０９は、当該実行レコードに設定されている実行ツールの識別子が、新規な第３探索キーのいずれかに該当するか否かを判定する（Ｓ１９１７）。新規な第３探索キーとは、対応する新規フラグ及び有効フラグがＯＮに設定されている第３探索キーのことである。
【０１０４】
Ｓ１９１１において特定された実行レコードに設定されている実行ツールの識別子が、新規な第３探索キーのいずれかに該当すると判定した場合には、端子Ａを介して図２１のＳ２１０１に示した処理に移る。
【０１０５】
一方、Ｓ１９１１において特定された実行レコードに設定されている実行ツールの識別子が、新規な第３探索キーのいずれにも該当しないと判定した場合には、端子Ｂを介して図２１のＳ２１０９に示した処理に移る。
【０１０６】
図２１の説明に移る。端子Ａを介してＳ２１０１に示した処理に移ると、探索部１４０９は、攻撃追跡テーブルに痕跡レコードを追加する。具体的には、探索部１４０９は、Ｓ１９１１において特定された実行レコードに設定されているログオン要求元の識別子を、新たな痕跡レコードにおける攻撃端末の識別子のフィールドに設定する。
【０１０７】
更に、探索部１４０９は、当該実行レコードに設定されているリモートログオンのユーザアカウントを、新たな痕跡レコードにおける悪用されたユーザアカウントのフィールドに設定する。
【０１０８】
更に、探索部１４０９は、当該実行レコードに設定されている実行ツールの識別子を、新たな痕跡レコードにおける悪用されたツールの識別子のフィールドに設定する。
【０１０９】
更に、探索部１４０９は、Ｓ１９０９において特定されたツール実行ログ３０１に付されている端末１０１の識別子を、新たな痕跡レコードにおける標的端末の識別子のフィールドに設定する。
【０１１０】
更に、探索部１４０９は、当該実行レコードに設定されている実行日時を、新たな痕跡レコードにおける実行日時のフィールドに設定する。
【０１１１】
追加部１４１１は、Ｓ２１０１において設定した攻撃端末の識別子が第１キーテーブル４０１に未登録であれば、第１探索キーとして第１キーテーブル４０１に追加する（Ｓ２１０３）。新たな第１探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０１１２】
追加部１４１１は、Ｓ２１０１において設定したユーザアカウントが第２キーテーブル４０３に未登録であれば、当該ユーザアカウントを第２探索キーとして第２キーテーブル４０３に追加する（Ｓ２１０５）。新たな第２探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０１１３】
追加部１４１１は、Ｓ２１０１において設定したツールの識別子が第３キーテーブル４０５に未登録であれば、当該ツールの識別子を第３探索キーとして第３キーテーブル４０５に追加する（Ｓ２１０７）。新たな第３探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０１１４】
探索部１４０９は、図１９のＳ１９１１に示した処理において特定対象となる実行レコードが更にあるか否かを判定する（Ｓ２１０９）。当該実行レコードが更にあると判定した場合には、端子Ｃを介して、図１９のＳ１９１１に示した処理に戻って上述した処理を繰り返す。
【０１１５】
一方、当該実行レコードが無いと判定した場合には、探索部１４０９は、図１９のＳ１９０９に示した処理において特定対象となるツール実行ログ３０１があるかを判定する（Ｓ２１１１）。当該ツール実行ログ３０１が更にあると判定した場合には、端子Ｄを介して、図１９のＳ１９０９に示した処理に戻って上述した処理を繰り返す。
【０１１６】
当該ツール実行ログ３０１が無いと判定した場合には、探索部１４０９は、図１９のＳ１９０９乃至図２１のＳ２１１１に示したループ処理において新規な探索キーが追加されたか否かを判定する（Ｓ２１１３）。具体的には、探索部１４０９は、第１キーテーブル４０１、第２キーテーブル４０３又は第３キーテーブル４０５において新規フラグがＯＮであり、且つ有効フラグがＯＦＦであるキーレコードがある場合に、新規な探索キーが追加されたと判定する。第１キーテーブル４０１、第２キーテーブル４０３及び第３キーテーブル４０５のいずれにおいても上記キーレコードが無い場合に、探索部１４０９は、新規な探索キーが追加されていないと判定する。
【０１１７】
図１９のＳ１９０９乃至図２１のＳ２１１１に示したループ処理において新規な探索キーが追加されたと判定した場合には、探索部１４０９は、新規フラグ及び有効フラグがＯＮであるキーレコードについて、新規フラグ及び有効フラグをＯＦＦに変更する。更に、探索部１４０９は、新規フラグがＯＮであり、且つ有効フラグがＯＦＦであるキーレコードについて、有効フラグをＯＮに変更する（Ｓ２１１５）。そして、探索部１４０９は、ツール実行ログ３０１の特定手段（例えば、ツール実行ログ３０１を順次特定するためのポインタ）を初期化する（Ｓ２１１７）。このようにすれば、図１９のＳ１９０９に示した処理において改めて各ツール実行ログ３０１を特定するようになる。そして、端子Ｅを介して、図１９のＳ１９０９に示した処理に戻って、上述した処理を繰り返す。つまり、新規な探索キーが追加されなくなるまで、各ツール実行ログ３０１における各実行レコードを特定して、図１９のＳ１９１３乃至図２１のＳ２１０７に示した処理を繰り返して行う。
【０１１８】
一方、Ｓ２１１３において、上述した新規な探索キーが追加されていないと判定した場合には、出力部１４１３は、出力処理を実行する（Ｓ２１１９）。
【０１１９】
図２２に、出力処理フローを示す。出力部１４１３は、攻撃痕跡テーブルを出力する（Ｓ２２０１）。更に、出力部１４１３は、探索キーテーブルを出力する（Ｓ２２０３）。この例では、第１キーテーブル４０１、第２キーテーブル４０３及び第３キーテーブル４０５が出力される。
【０１２０】
攻撃痕跡テーブル又は探索キーテーブルの一方を出力するようにしてもよい。更に、第１キーテーブル４０１、第２キーテーブル４０３及び第３キーテーブル４０５の一部を出力するようにしてもよい。また、出力の形態は、任意である。例えば、送信、記録媒体への書き込み、表示又は印刷によって出力するようにしてもよい。
【０１２１】
本実施の形態によれば、サイバー攻撃の被害を分析するための対象となるツール実行ログ３０１を絞り込める。
【０１２２】
更に、同じ攻撃端末からのリモート操作に関する実行レコードを抽出できるという面もある。
【０１２３】
更に、同じユーザアカウントを使いまわす一連の攻撃に関する実行レコードを抽出できるという面もある。
【０１２４】
更に、同じツールを操作対象とする一連の攻撃に関する実行レコードを抽出できるという面もある。
【０１２５】
［実施の形態２］
上述した実施の形態では、各端末１０１において生成されたログに基づく分析の例について説明したが、本実施の形態では、ＬＡＮの通信を監視する装置によって生成されたタスク登録ログに基づく分析の例について説明する。
【０１２６】
図２３に、実施の形態２における情報処理システムの例を示す。本実施の形態では、ＬＡＮに監視装置２３０１が接続されている。監視装置２３０１は、パケットを収集して、ネットワークログを生成する。本実施の形態におけるネットワークログは、リモート操作によってタスクが登録されたことを記録するタスク登録ログである。
【０１２７】
図２４に、監視装置２３０１のモジュール構成例を示す。監視装置２３０１は、ネットワークロガー２４０１、ネットワークログ記憶部２４０３及び第２送信部２４０５を有する。ネットワークロガー２４０１は、ネットワークログを生成する。ネットワークログ記憶部２４０３は、ネットワークログを記憶する。第２送信部２４０５は、ネットワークログを分析装置１０５へ送信する。
【０１２８】
上述した第２送信部２４０５は、ハードウエア資源（例えば、図３８）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【０１２９】
上述したネットワークログ記憶部２４０３は、ハードウエア資源（例えば、図３８）を用いて実現される。
【０１３０】
図２５に、タスク登録ログの例を示す。この例におけるタスク登録ログは、テーブル形式である。但し、タスク登録ログは、テーブル形式以外の形式であってもよい。この例におけるタスク登録ログは、タスクの登録に対応するレコード（以下、タスクレコードという。）を有している。タスクレコードは、送信元ＩＰアドレスを設定するためのフィールドと、アカウント名を設定するためのフィールドと、タスクパスを設定するためのフィールドと、宛先ＩＰアドレスを設定するためのフィールドと、登録日時を設定するためのフィールドとを有している。
【０１３１】
送信元ＩＰアドレスは、リモート操作によるタスク登録を行うためのパケットを送信した端末１０１のＩＰアドレスである。この端末１０１は、攻撃側の端末１０１に相当する。アカウント名は、リモート操作によるタスク登録において用いられたユーザアカウントを特定する。タスクパスは、登録対象のタスクを特定する。宛先ＩＰアドレスは、リモート操作によるタスク登録を行うためのパケットを受信した端末１０１、つまりタスク登録を行った端末１０１のＩＰアドレスである。この端末１０１は、標的側の端末１０１に相当する。登録日時は、タスク登録が行われた日付及び時刻である。
【０１３２】
図示した１番目のタスクレコードは、ＩＰアドレス「ｘ．ｘ．ｘ．１」の端末１０１ａから、リモート操作によるタスク登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．５」の端末１０１ｅが、日時「Ｔ１１」に、ユーザアカウント「ａｄｍｉｎＬ」に基づいてタスクパス「ｃ：ｑｗａｒｅ．ｅｘｅ」のタスクを登録したことを示している。
【０１３３】
同じく２番目のタスクレコードは、ＩＰアドレス「ｘ．ｘ．ｘ．２」の端末１０１ｂから、リモート操作によるタスク登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．６」の端末１０１ｆが、日時「Ｔ１２」に、ユーザアカウント「ａｄｍｉｎＬ」に基づいてタスクパス「ｄ：ｑｗａｒｅ．ｅｘｅ」のタスクを登録したことを示している。
【０１３４】
同じく３番目のタスクレコードは、ＩＰアドレス「ｘ．ｘ．ｘ．３」の端末１０１ｃから、リモート操作によるタスク登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．７」の端末１０１ｇが、日時「Ｔ１３」に、ユーザアカウント「ａｄｍｉｎＬ」に基づいてタスクパス「ｃ：ｑｗａｒｅ．ｅｘｅ」のタスクを登録したことを示している
【０１３５】
本実施の形態では、ロギング処理（Ｂ）を行う。図２６に、ロギング処理（Ｂ）フローを示す。ネットワークロガー２４０１は、キャプチャ処理を開始する（Ｓ２６０１）。キャプチャ処理で、ネットワークロガー２４０１は、監視装置２３０１とＬＡＮとの間に設けられたポートミラーリング対応のスイッチ又はネットワークタップを介して、ネットワーク上を伝送するパケットを取り込む。取り込んだパケットは、一時的に記憶する。記憶するパケットに、キャプチャした日時を付するようにしてもよい。
【０１３６】
ネットワークロガー２４０１は、キャプチャしたパケットのうち、未処理のパケットを１つ特定する（Ｓ２６０３）。ネットワークロガー２４０１は、例えばキャプチャした順にパケットを特定する。未処理のパケットが無い場合に、ネットワークロガー２４０１は、次のパケットがキャプチャされるまで待機する。
【０１３７】
ネットワークロガー２４０１は、特定したパケットが所定のプロトコル（例えば、ＳＭＢ（Server Message Block）２）のパケットであるか否かを判定する（Ｓ２６０５）。特定したパケットが所定のプロトコルのパケットではないと判定した場合には、Ｓ２６０３に示した処理に戻って上述した処理を繰り返す。
【０１３８】
一方、特定したパケットが所定のプロトコルのパケットであると判定した場合には、ネットワークロガー２４０１は、当該パケットにおけるコマンドがタスク登録であるか否かを判定する（Ｓ２６０７）。当該パケットにおけるコマンドがタスク登録ではないと判定した場合には、Ｓ２６０３に示した処理に戻って上述した処理を繰り返す。
【０１３９】
一方、当該パケットにおけるコマンドがタスク登録であると判定した場合には、ネットワークロガー２４０１は、タスク登録ログにタスクレコードを追加する（Ｓ２６０９）。具体的には、ネットワークロガー２４０１は、送信元ＩＰアドレス、アカウント名、タスクパス及び宛先ＩＰアドレスを当該パケットから抽出し、該当するフィールドに設定する。また、当日の日付及び現在時間が、登録日時のフィールドに設定される。そして、Ｓ２６０３に示した処理に戻って上述した処理を繰り返す。
【０１４０】
図２７に、実施の形態２における分析装置１０５のモジュール構成例を示す。分析装置１０５は、図１４に示した収集部１４０３に代えて、取得部２７０１を有する。分析装置１０５は、図１４に示したイベントログ記憶部１４２１及び実行ログ記憶部１４２３に代えて、ネットワークログ記憶部２７０３を有する。
【０１４１】
取得部２７０１は、ネットワークログを取得する。ネットワークログ記憶部２７０３は、ネットワークログを記憶する。
【０１４２】
上述した取得部２７０１は、ハードウエア資源（例えば、図３８）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【０１４３】
上述したネットワークログ記憶部２７０３は、ハードウエア資源（例えば、図３８）を用いて実現される。
【０１４４】
図２８に、実施の形態２における攻撃痕跡テーブルの例を示す。攻撃端末の識別子は、攻撃を仕掛けた疑いがある端末１０１を特定する。悪用されたユーザアカウントは、攻撃に利用された疑いがあるアカウントである。悪用されたタスクの識別子は、攻撃に用いられた疑いがあるタスクを特定する。標的端末の識別子は、攻撃を仕掛けられた疑いがある端末１０１を特定する。登録日時は、当該タスクが登録された日付及び時刻である。
【０１４５】
図示した１番目の痕跡レコードは、ＩＰアドレス「ｘ．ｘ．ｘ．１」の攻撃側の端末１０１ａから、不正なリモート操作によるタスク登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．５」の標的側の端末１０１ｅにおいて、日時「Ｔ１１」に、ユーザアカウント「ａｄｍｉｎＬ」に基づいてタスクパス「ｃ：ｑｗａｒｅ．ｅｘｅ」のタスクが不正に登録された疑いがあることを示している。
【０１４６】
図示した２番目の痕跡レコードは、ＩＰアドレス「ｘ．ｘ．ｘ．２」の攻撃側の端末１０１ｂから、不正なリモート操作によるタスク登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．６」の標的側の端末１０１ｆにおいて、日時「Ｔ１２」に、ユーザアカウント「ａｄｍｉｎＬ」に基づいてタスクパス「ｄ：ｑｗａｒｅ．ｅｘｅ」のタスクが不正に登録された疑いがあることを示している。
【０１４７】
図示した３番目の痕跡レコードは、ＩＰアドレス「ｘ．ｘ．ｘ．３」の攻撃側の端末１０１ｃから、不正なリモート操作によるタスク登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．７」の標的側の端末１０１ｇにおいて、日時「Ｔ１３」に、ユーザアカウント「ａｄｍｉｎＬ」に基づいてタスクパス「ｃ：ｑｗａｒｅ．ｅｘｅ」のタスクが不正に登録された疑いがあることを示している。
【０１４８】
本実施の形態では、メイン処理（Ｂ）を行う。図２９に、メイン処理（Ｂ）フローを示す。受付部１４０１は、待機して、検知装置１０３において検知された攻撃端末の識別子を受け付ける（Ｓ２９０１）。取得部２７０１は、監視装置２３０１からタスク登録ログを取得する（Ｓ２９０３）。取得したタスク登録ログは、ネットワークログ記憶部２７０３に記憶される。
【０１４９】
特定部１４０５は、特定処理（Ｂ）を実行する（Ｓ２９０５）。特定処理（Ｂ）では、検知装置１０３において検知された攻撃端末の識別子に基づいて、タスク登録ログに含まれる１次的な攻撃痕跡を特定する。
【０１５０】
図３０に、特定処理（Ｂ）フローを示す。特定部１４０５は、タスク登録ログに含まれるタスクレコードを１つ特定する（Ｓ３００１）。特定部１４０５は、特定したタスクレコードが攻撃側の端末１０１からのタスク登録に該当するか否かを判定する（Ｓ３００３）。具体的には、特定部１４０５は、当該タスクレコードに設定されている送信元ＩＰアドレスが、攻撃側の端末１０１のＩＰアドレスと一致する場合に、当該タスクレコードが攻撃側の端末１０１からのタスク登録に該当すると判定する。
【０１５１】
Ｓ３００１において特定したタスクレコードが攻撃側の端末１０１からのタスク登録に該当しないと判定した場合には、Ｓ３００７に示した処理に移る。
【０１５２】
一方、Ｓ３００１において特定したタスクレコードが攻撃側の端末１０１からのタスク登録に該当すると判定した場合には、特定部１４０５は、痕跡レコードを１つ生成する（Ｓ３００５）。具体的には、当該タスクレコードに設定されている送信元ＩＰアドレスが、新しい痕跡レコードにおける攻撃端末の識別子のフィールドに設定される。当該タスクレコードに設定されているアカウント名が、新しい痕跡レコードにおける悪用されたユーザアカウントのフィールドに設定される。当該タスクレコードに設定されているタスクパスに含まれるファイル名が、新しい痕跡レコードにおける悪用されたタスクの識別子のフィールドに設定される。当該タスクレコードに設定されている宛先ＩＰアドレスが、新しい痕跡レコードにおける標的端末の識別子のフィールドに設定される。当該タスクレコードに設定されている登録日時が、新しい痕跡レコードにおける登録日時のフィールドに設定される。
【０１５３】
特定部１４０５は、未処理のタスクレコードがあるか否かを判定する（Ｓ３００７）。未処理のタスクレコードがあると判定した場合には、Ｓ３００１に示した処理に戻って上述した処理を繰り返す。
【０１５４】
一方、未処理のタスクレコードが無いと判定した場合には、特定処理（Ｂ）を終え、図２９に示したメイン処理（Ｂ）に復帰する。
【０１５５】
図２９の説明に戻る。生成部１４０７は、実施の形態１の場合と同様に、探索キーテーブルを生成する（Ｓ２９０７）。
【０１５６】
探索部１４０９は、タスク登録ログに含まれるタスクレコードを１つ特定する（Ｓ２９０９）。
【０１５７】
探索部１４０９は、Ｓ２９０９において特定されたタスクレコードに設定されている送信元ＩＰアドレスが、新規な第１探索キーのいずれかに該当するか否かを判定する（Ｓ２９１１）。
【０１５８】
Ｓ２９０９において特定されたタスクレコードに設定されている送信元ＩＰアドレスが、新規な第１探索キーのいずれかに該当すると判定した場合には、端子Ｆを介して図３１のＳ３１０１に示した処理に移る。
【０１５９】
一方、Ｓ２９０９において特定されたタスクレコードに設定されている送信元ＩＰアドレスが、新規な第１探索キーのいずれにも該当しないと判定した場合には、探索部１４０９は、当該タスクレコードに設定されているアカウント名が、新規な第２探索キーのいずれかに該当するか否かを判定する（Ｓ２９１３）。
【０１６０】
Ｓ２９０９において特定されたタスクレコードに設定されているアカウント名が、新規な第２探索キーのいずれかに該当すると判定した場合には、端子Ｆを介して図３１のＳ３１０１に示した処理に移る。
【０１６１】
一方、Ｓ２９０９において特定されたタスクレコードに設定されているアカウント名が、新規な第２探索キーのいずれにも該当しないと判定した場合には、探索部１４０９は、当該タスクレコードに設定されているタスクパスに含まれるファイル名が、新規な第３探索キーのいずれかに該当するか否かを判定する（Ｓ２９１５）。
【０１６２】
Ｓ２９０９において特定されたタスクレコードに設定されているタスクパスに含まれるファイル名が、新規な第３探索キーのいずれかに該当すると判定した場合には、端子Ｆを介して図３１のＳ３１０１に示した処理に移る。
【０１６３】
一方、Ｓ２９０９において特定されたタスクレコードに設定されているタスクパスに含まれるファイル名が、新規な第３探索キーのいずれにも該当しないと判定した場合には、端子Ｇを介して図３１のＳ３１０９に示した処理に移る。
【０１６４】
図３１の説明に移る。端子Ｆを介してＳ３１０１に示した処理に移ると、探索部１４０９は、攻撃追跡テーブルに痕跡レコードを追加する。具体的には、探索部１４０９は、Ｓ２９０９において特定されたタスクレコードに設定されている送信元ＩＰアドレスを、新たな痕跡レコードにおける攻撃端末の識別子のフィールドに設定する。
【０１６５】
更に、探索部１４０９は、当該タスクレコードに設定されているアカウント名を、新たな痕跡レコードにおける悪用されたユーザアカウントのフィールドに設定する。
【０１６６】
更に、探索部１４０９は、当該タスクレコードに設定されているタスクパスに含まれるファイル名を、新たな痕跡レコードにおける悪用されたタスクの識別子のフィールドに設定する。
【０１６７】
更に、探索部１４０９は、当該タスクレコードに設定されている宛先ＩＰアドレスを、新たな痕跡レコードにおける標的端末の識別子のフィールドに設定する。
【０１６８】
更に、探索部１４０９は、当該タスクレコードに設定されている登録日時を、新たな痕跡レコードにおける登録日時のフィールドに設定する。
【０１６９】
追加部１４１１は、Ｓ３１０１において設定した攻撃端末の識別子が第１キーテーブル４０１に未登録であれば、当該攻撃端末の識別子を第１探索キーとして第１キーテーブル４０１に追加する（Ｓ３１０３）。新たな第１探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０１７０】
追加部１４１１は、Ｓ３１０１において設定したユーザアカウントが第２キーテーブル４０３に未登録であれば、当該ユーザアカウントを第２探索キーとして第２キーテーブル４０３に追加する（Ｓ３１０５）。新たな第２探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０１７１】
追加部１４１１は、Ｓ３１０１において設定したタスクの識別子が第３キーテーブル４０５に未登録であれば、当該タスクの識別子を第３探索キーとして第３キーテーブル４０５に追加する（Ｓ３１０７）。新たな第３探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０１７２】
探索部１４０９は、図２９のＳ２９０９に示した処理において特定対象となるタスクレコードが更にあるか否かを判定する（Ｓ３１０９）。当該タスクレコードが更にあると判定した場合には、端子Ｈを介して、図２９のＳ２９０９に示した処理に戻って上述した処理を繰り返す。
【０１７３】
一方、当該タスクレコードが無いと判定した場合には、探索部１４０９は、図２９のＳ２９０９乃至図３１のＳ３１０９に示したループ処理において新規な探索キーが追加されたか否かを判定する（Ｓ３１１１）。
【０１７４】
図２９のＳ２９０９乃至図３１のＳ３１０９に示したループ処理において新規な探索キーが追加されたと判定した場合には、探索部１４０９は、実施の形態１の場合と同様に、新規フラグ及び有効フラグを変更する（Ｓ３１１３）。そして、探索部１４０９は、タスクレコードの特定手段（例えば、タスクレコードを順次特定するためのポインタ）を初期化する（Ｓ３１１５）。このようにすれば、図２９のＳ２９０９に示した処理において改めて各タスクレコードを特定するようになる。そして、端子Ｉを介して、図２９のＳ２９０９に示した処理に戻って、上述した処理を繰り返す。つまり、新規な探索キーが追加されなくなるまで、各タスクレコードを特定して、図２９のＳ２９１１乃至図３１のＳ３１０７に示した処理を繰り返して行う。
【０１７５】
一方、Ｓ３１１１において、上述した新規な探索キーが追加されていないと判定した場合には、出力部１４１３は、出力処理を実行する（Ｓ３１１７）。出力処理は、実施の形態１の場合と同様である。
【０１７６】
本実施の形態によれば、サイバー攻撃の被害を分析するための対象となるタスク登録ログを絞り込める。
【０１７７】
更に、同じ攻撃端末からのリモート操作に関するタスクレコードを抽出できるという面もある。
【０１７８】
更に、同じユーザアカウントを使いまわす一連の攻撃に関するタスクレコードを抽出できるという面もある。
【０１７９】
更に、同じタスクを操作対象とする一連の攻撃に関するタスクレコードを抽出できるという面もある。
【０１８０】
［実施の形態３］
上述した実施の形態では、タスク登録ログに基づく分析の例について説明したが、本実施の形態では、ＬＡＮの通信を監視する装置によって生成されたサービス登録ログに基づく分析の例について説明する。
【０１８１】
本実施の形態におけるネットワークログは、リモート操作によってサービスが登録されたことを記録するサービス登録ログである。図３２に、サービス登録ログの例を示す。この例におけるサービス登録ログは、テーブル形式である。但し、サービス登録ログは、テーブル形式以外の形式であってもよい。この例におけるサービス登録ログは、サービスの登録に対応するレコード（以下、サービスレコードという。）を有している。サービスレコードは、送信元ＩＰアドレスを設定するためのフィールドと、アカウント名を設定するためのフィールドと、サービス名を設定するためのフィールドと、宛先ＩＰアドレスを設定するためのフィールドと、登録日時を設定するためのフィールドとを有している。
【０１８２】
送信元ＩＰアドレスは、リモート操作によるサービス登録を行うためのパケットを送信した端末１０１のＩＰアドレスである。この端末１０１は、攻撃側の端末１０１に相当する。アカウント名は、リモート操作によるサービス登録において用いられたユーザアカウントを特定する。サービス名は、登録対象のサービスを特定する。宛先ＩＰアドレスは、リモート操作によるサービス登録を行うためのパケットを受信した端末１０１、つまりサービス登録を行った端末１０１のＩＰアドレスである。この端末１０１は、標的側の端末１０１に相当する。登録日時は、サービス登録が行われた日付及び時刻である。
【０１８３】
図示した１番目のサービスレコードは、ＩＰアドレス「ｘ．ｘ．ｘ．３」の端末１０１ｃから、リモート操作によるサービス登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．７」の端末１０１ｇが、日時「Ｔ２１」に、ユーザアカウント「ｕｓｅｒＭ」に基づいて「ｓｅｒｖｉｃｅＲ」を登録したことを示している。
【０１８４】
図示した２番目のサービスレコードは、ＩＰアドレス「ｘ．ｘ．ｘ．４」の端末１０１ｄから、リモート操作によるサービス登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．８」の端末１０１ｈが、日時「Ｔ２２」に、ユーザアカウント「ｕｓｅｒＭ」に基づいて「ｓｅｒｖｉｃｅＳ」を登録したことを示している。
【０１８５】
図示した３番目のサービスレコードは、ＩＰアドレス「ｘ．ｘ．ｘ．４」の端末１０１ｄから、リモート操作によるサービス登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．９」の端末１０１ｉが、日時「Ｔ２３」に、ユーザアカウント「ｕｓｅｒＮ」に基づいて「ｓｅｒｖｉｃｅＳ」を登録したことを示している。
【０１８６】
本実施の形態では、ロギング処理（Ｃ）を行う。図３３に、ロギング処理（Ｃ）フローを示す。ネットワークロガー２４０１は、キャプチャ処理を開始する（Ｓ３３０１）。ネットワークロガー２４０１は、キャプチャしたパケットのうち、未処理のパケットを１つ特定する（Ｓ３３０３）。
【０１８７】
ネットワークロガー２４０１は、特定したパケットが所定のプロトコル（例えば、ＤＣＥ／ＲＰＣ（Distributed Computing Environment / Remote Procedure Calls））のパケットであるか否かを判定する（Ｓ３３０５）。特定したパケットが所定のプロトコルのパケットではないと判定した場合には、Ｓ３３０３に示した処理に戻って上述した処理を繰り返す。
【０１８８】
一方、特定したパケットが所定のプロトコルのパケットであると判定した場合には、ネットワークロガー２４０１は、当該パケットにおけるコマンドがサービス登録であるか否かを判定する（Ｓ３３０７）。当該パケットにおけるコマンドがサービス登録ではないと判定した場合には、Ｓ３３０３に示した処理に戻って上述した処理を繰り返す。
【０１８９】
一方、当該パケットにおけるコマンドがサービス登録であると判定した場合には、ネットワークロガー２４０１は、サービス登録ログにサービスレコードを追加する（Ｓ３３０９）。具体的には、ネットワークロガー２４０１は、送信元ＩＰアドレス、アカウント名、サービス名及び宛先ＩＰアドレスを当該パケットから抽出し、該当するフィールドに設定する。また、当日の日付及び現在時間が、登録日時のフィールドに設定される。そして、Ｓ３３０３に示した処理に戻って上述した処理を繰り返す。
【０１９０】
図３４に、実施の形態３における攻撃痕跡テーブルの例を示す。攻撃端末の識別子は、攻撃を仕掛けた疑いがある端末１０１を特定する。悪用されたユーザアカウントは、攻撃に利用された疑いがあるアカウントである。悪用されたサービスの識別子は、攻撃に用いられた疑いがあるサービスを特定する。標的端末の識別子は、攻撃を仕掛けられた疑いがある端末１０１を特定する。実行日時は、当該サービスが登録された日付及び時刻である。
【０１９１】
図示した１番目の痕跡レコードは、ＩＰアドレス「ｘ．ｘ．ｘ．３」の攻撃側の端末１０１ｃから、不正なリモート操作によるサービス登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．７」の標的側の端末１０１ｇにおいて、日時「Ｔ２１」に、ユーザアカウント「ｕｓｅｒＭ」に基づいて「ｓｅｒｖｉｃｅＲ」が不正に登録された疑いがあることを示している。
【０１９２】
同じく２番目の痕跡レコードは、ＩＰアドレス「ｘ．ｘ．ｘ．４」の攻撃側の端末１０１ｄから、不正なリモート操作によるサービス登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．８」の標的側の端末１０１ｈにおいて、日時「Ｔ２２」に、ユーザアカウント「ｕｓｅｒＭ」に基づいて「ｓｅｒｖｉｃｅＳ」が不正に登録された疑いがあることを示している。
【０１９３】
同じく３番目の痕跡レコードは、ＩＰアドレス「ｘ．ｘ．ｘ．４」の攻撃側の端末１０１ｄから、不正なリモート操作によるサービス登録を行うためのパケットを受信したＩＰアドレス「ｘ．ｘ．ｘ．９」の標的側の端末１０１ｉにおいて、日時「Ｔ２３」に、ユーザアカウント「ｕｓｅｒＮ」に基づいて「ｓｅｒｖｉｃｅＳ」が不正に登録された疑いがあることを示している。
【０１９４】
本実施の形態では、メイン処理（Ｃ）を行う。図３５に、メイン処理（Ｃ）フローを示す。受付部１４０１は、待機して、検知装置１０３において検知された攻撃端末の識別子を受け付ける（Ｓ３５０１）。取得部２７０１は、監視装置２３０１からサービス登録ログを取得する（Ｓ３５０３）。取得したサービス登録ログは、ネットワークログ記憶部２７０３に記憶される。
【０１９５】
特定部１４０５は、特定処理（Ｃ）を実行する（Ｓ３５０５）。特定処理（Ｃ）では、検知装置１０３において検知された攻撃端末の識別子に基づいて、サービス登録ログに含まれる１次的な攻撃痕跡を特定する。
【０１９６】
図３６に、特定処理（Ｃ）フローを示す。特定部１４０５は、サービス登録ログに含まれるサービスレコードを１つ特定する（Ｓ３６０１）。特定部１４０５は、特定したサービスレコードが攻撃側の端末１０１からのサービス登録に該当するか否かを判定する（Ｓ３６０３）。具体的には、特定部１４０５は、当該サービスレコードに設定されている送信元ＩＰアドレスが、攻撃側の端末１０１のＩＰアドレスと一致する場合に、当該サービスレコードが攻撃側の端末１０１からのサービス登録に該当すると判定する。
【０１９７】
Ｓ３６０１において特定したサービスレコードが攻撃側の端末１０１からのサービス登録に該当しないと判定した場合には、Ｓ３６０７に示した処理に移る。
【０１９８】
一方、Ｓ３６０１において特定したサービスレコードが攻撃側の端末１０１からのサービス登録に該当すると判定した場合には、特定部１４０５は、痕跡レコードを１つ生成する（Ｓ３６０５）。具体的には、当該サービスレコードに設定されている送信元ＩＰアドレスが、新しい痕跡レコードにおける攻撃端末の識別子のフィールドに設定される。当該サービスレコードに設定されているアカウント名が、新しい痕跡レコードにおける悪用されたユーザアカウントのフィールドに設定される。当該サービスレコードに設定されているサービス名が、新しい痕跡レコードにおける悪用されたサービスの識別子のフィールドに設定される。当該サービスレコードに設定されている宛先ＩＰアドレスが、新しい痕跡レコードにおける標的端末の識別子のフィールドに設定される。当該サービスレコードに設定されている登録日時が、新しい痕跡レコードにおける登録日時のフィールドに設定される。
【０１９９】
特定部１４０５は、未処理のサービスレコードがあるか否かを判定する（Ｓ３６０７）。未処理のサービスレコードがあると判定した場合には、Ｓ３６０１に示した処理に戻って上述した処理を繰り返す。
【０２００】
一方、未処理のサービスレコードが無いと判定した場合には、特定処理（Ｃ）を終え、図３５に示したメイン処理（Ｃ）に復帰する。
【０２０１】
図３５の説明に戻る。生成部１４０７は、実施の形態１の場合と同様に、探索キーテーブルを生成する（Ｓ３５０７）。
【０２０２】
探索部１４０９は、サービス登録ログに含まれるサービスレコードを１つ特定する（Ｓ３５０９）。
【０２０３】
探索部１４０９は、Ｓ３５０９において特定されたサービスレコードに設定されている送信元ＩＰアドレスが、新規な第１探索キーのいずれかに該当するか否かを判定する（Ｓ３５１１）。
【０２０４】
Ｓ３５０９において特定されたサービスレコードに設定されている送信元ＩＰアドレスが、新規な第１探索キーのいずれかに該当すると判定した場合には、端子Ｊを介して図３７のＳ３７０１に示した処理に移る。
【０２０５】
一方、Ｓ３５０９において特定されたサービスレコードに設定されている送信元ＩＰアドレスが、新規な第１探索キーのいずれにも該当しないと判定した場合には、探索部１４０９は、当該サービスレコードに設定されているアカウント名が、新規な第２探索キーのいずれかに該当するか否かを判定する（Ｓ３５１３）。
【０２０６】
Ｓ３５０９において特定されたサービスレコードに設定されているアカウント名が、新規な第２探索キーのいずれかに該当すると判定した場合には、端子Ｊを介して図３７のＳ３７０１に示した処理に移る。
【０２０７】
一方、Ｓ３５０９において特定されたサービスレコードに設定されているアカウント名が、新規な第２探索キーのいずれにも該当しないと判定した場合には、探索部１４０９は、当該サービスレコードに設定されているサービス名が、新規な第３探索キーのいずれかに該当するか否かを判定する（Ｓ３５１５）。
【０２０８】
Ｓ３５０９において特定されたサービスレコードに設定されているサービス名が、新規な第３探索キーのいずれかに該当すると判定した場合には、端子Ｊを介して図３７のＳ３７０１に示した処理に移る。
【０２０９】
一方、Ｓ３５０９において特定されたサービスレコードに設定されているサービス名が、新規な第３探索キーのいずれにも該当しないと判定した場合には、端子Ｋを介して図３７のＳ３７０９に示した処理に移る。
【０２１０】
図３７の説明に移る。端子Ｊを介してＳ３７０１に示した処理に移ると、探索部１４０９は、攻撃追跡テーブルに痕跡レコードを追加する。具体的には、探索部１４０９は、Ｓ３５０９において特定されたサービスレコードに設定されている送信元ＩＰアドレスを、新たな痕跡レコードにおける攻撃端末の識別子のフィールドに設定する。
【０２１１】
更に、探索部１４０９は、当該サービスレコードに設定されているアカウント名を、新たな痕跡レコードにおける悪用されたユーザアカウントのフィールドに設定する。
【０２１２】
更に、探索部１４０９は、当該サービスレコードに設定されているサービス名を、新たな痕跡レコードにおける悪用されたサービスの識別子のフィールドに設定する。
【０２１３】
更に、探索部１４０９は、当該サービスレコードに設定されている宛先ＩＰアドレスを、新たな痕跡レコードにおける標的端末の識別子のフィールドに設定する。
【０２１４】
更に、探索部１４０９は、当該サービスレコードに設定されている登録日時を、新たな痕跡レコードにおける登録日時のフィールドに設定する。
【０２１５】
追加部１４１１は、Ｓ３７０１において設定した攻撃端末の識別子が第１キーテーブル４０１に未登録であれば、当該攻撃端末の識別子を第１探索キーとして第１キーテーブル４０１に追加する（Ｓ３７０３）。新たな第１探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０２１６】
追加部１４１１は、Ｓ３７０１において設定したユーザアカウントが第２キーテーブル４０３に未登録であれば、当該ユーザアカウントを第２探索キーとして第２キーテーブル４０３に追加する（Ｓ３７０５）。新たな第２探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０２１７】
追加部１４１１は、Ｓ３７０１において設定したサービスの識別子が第３キーテーブル４０５に未登録であれば、当該サービスの識別子を第３探索キーとして第３キーテーブル４０５に追加する（Ｓ３７０７）。新たな第３探索キーに対応する新規フラグはＯＮに設定され、同じく有効フラグはＯＦＦに設定される。
【０２１８】
探索部１４０９は、図３５のＳ３５０９に示した処理において特定対象となるサービスレコードが更にあるか否かを判定する（Ｓ３７０９）。当該サービスレコードが更にあると判定した場合には、端子Ｌを介して、図３５のＳ３５０９に示した処理に戻って上述した処理を繰り返す。
【０２１９】
一方、当該サービスレコードが無いと判定した場合には、探索部１４０９は、図３５のＳ３５０９乃至図３７のＳ３７０９に示したループ処理において新規な探索キーが追加されたか否かを判定する（Ｓ３７１１）。
【０２２０】
図３５のＳ３５０９乃至図３７のＳ３７０９に示したループ処理において新規な探索キーが追加されたと判定した場合には、探索部１４０９は、実施の形態１の場合と同様に、新規フラグ及び有効フラグを変更する（Ｓ３７１３）。そして、探索部１４０９は、サービスレコードの特定手段（例えば、サービスレコードを順次特定するためのポインタ）を初期化する（Ｓ３７１５）。このようにすれば、図３５のＳ３５０９に示した処理において改めて各サービスレコードを特定するようになる。そして、端子Ｍを介して、図３５のＳ３５０９に示した処理に戻って、上述した処理を繰り返す。つまり、新規な探索キーが追加されなくなるまで、各サービスレコードを特定して、図３５のＳ３５１１乃至図３７のＳ３７０７に示した処理を繰り返して行う。
【０２２１】
一方、Ｓ３７１１において、上述した新規な探索キーが追加されていないと判定した場合には、出力部１４１３は、出力処理を実行する（Ｓ３７１７）。出力処理は、実施の形態１の場合と同様である。
【０２２２】
本実施の形態によれば、サイバー攻撃の被害を分析するための対象となるサービス登録ログを絞り込める。
【０２２３】
更に、同じ攻撃端末からのリモート操作に関するサービスレコードを抽出できるという面もある。
【０２２４】
更に、同じユーザアカウントを使いまわす一連の攻撃に関するサービスレコードを抽出できるという面もある。
【０２２５】
更に、同じサービスを操作対象とする一連の攻撃に関するサービスレコードを抽出できるという面もある。
【０２２６】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０２２７】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０２２８】
なお、上で述べた端末１０１、検知装置１０３、分析装置１０５及び監視装置２３０１は、コンピュータ装置であって、図３８に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０２２９】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０２３０】
本実施の形態に係るログ分析方法は、（Ａ）それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの上記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索処理と、（Ｂ）レコードが探し出された場合に、探し出された当該レコードに含まれる上記識別情報のうち、未だ探索キーに該当していないものを、新たな探索キーに追加する追加処理と、（Ｃ）追加処理において新たな探索キーが追加された場合に、当該新たな探索キーについて、探索処理及び追加処理を繰り返す処理とを含む。
【０２３１】
このようにすれば、サイバー攻撃の被害を分析するための対象となるログを絞り込める。
【０２３２】
更に、レコードは上記識別情報として、リモートログオンを要求した装置の識別子、当該リモートログオンに使用されたユーザアカウント、及びリモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子を含むようにしてもよい。
【０２３３】
また、攻撃に関する疑いがあるレコードの、攻撃を仕掛けた疑いがある装置の識別子、攻撃に利用された疑いがあるユーザアカウント及び攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを探索キーとするようにしてもよい。
【０２３４】
このようにすれば、同じ攻撃端末からのリモート操作に関するレコードを抽出できるという面がある。更に、同じユーザアカウントを使いまわす一連の攻撃に関するレコードを抽出できるという面もある。更に、同じプログラムを操作対象とする一連の攻撃に関するレコードを抽出できるという面もある。
【０２３５】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０２３６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２３７】
（付記１）
それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの前記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索処理と、
前記レコードが探し出された場合に、探し出された当該レコードに含まれる前記識別情報のうち、未だ前記探索キーに該当していないものを、新たな探索キーに追加する追加処理と、
前記追加処理において前記新たな探索キーが追加された場合に、当該新たな探索キーについて、前記探索処理及び前記追加処理を繰り返す処理と
を含み、コンピュータにより実行されるログ分析方法。
【０２３８】
（付記２）
前記レコードは前記識別情報として、リモートログオンを要求した装置の識別子、当該リモートログオンに使用されたユーザアカウント、及びリモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子を含むことを特徴とする付記１に記載のログ分析方法。
【０２３９】
（付記３）
前記攻撃に関する疑いがある前記レコードの、前記攻撃を仕掛けた疑いがある装置の識別子、前記攻撃に利用された疑いがあるユーザアカウント及び前記攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを前記探索キーとする付記２に記載のログ分析方法。
【０２４０】
（付記４）
それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの前記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索処理と、
前記レコードが探し出された場合に、探し出された当該レコードに含まれる前記識別情報のうち、未だ前記探索キーに該当していないものを、新たな探索キーに追加する追加処理と、
前記追加処理において前記新たな探索キーが追加された場合に、当該新たな探索キーについて、前記探索処理及び前記追加処理を繰り返す処理と
をコンピュータに実行させるログ分析プログラム。
【０２４１】
（付記５）
前記レコードは前記識別情報として、リモートログオンを要求した装置の識別子、当該リモートログオンに使用されたユーザアカウント、及びリモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子を含むことを特徴とする付記４に記載のログ分析プログラム。
【０２４２】
（付記６）
前記攻撃に関する疑いがある前記レコードの、前記攻撃を仕掛けた疑いがある装置の識別子、前記攻撃に利用された疑いがあるユーザアカウント及び前記攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを前記探索キーとする付記５に記載のログ分析プログラム。
【０２４３】
（付記７）
それぞれ複数の識別情報を含む複数のレコードを有するログから、攻撃に関する疑いがあるレコードの前記識別情報を探索キーとして、当該探索キーを含むレコードを探し出す探索部と、
前記レコードが探し出された場合に、探し出された当該レコードに含まれる前記識別情報のうち、未だ前記探索キーに該当していないものを、新たな探索キーに追加する追加部と
を有し、
前記新たな探索キーが追加された場合に、前記探索部は、当該新たな探索キーを含むレコードを探し出す
ログ分析装置。
【０２４４】
（付記８）
前記レコードは前記識別情報として、リモートログオンを要求した装置の識別子、当該リモートログオンに使用されたユーザアカウント、及びリモートログオンされた装置において当該ユーザアカウントによるリモート操作の対象となったプログラムの識別子を含むことを特徴とする付記７に記載のログ分析装置。
【０２４５】
（付記９）
前記探索部は、前記攻撃に関する疑いがある前記レコードの、前記攻撃を仕掛けた疑いがある装置の識別子、前記攻撃に利用された疑いがあるユーザアカウント及び前記攻撃に用いられた疑いがあるプログラムの識別子の少なくとも一つを前記探索キーとする付記８に記載のログ分析装置。
【符号の説明】
【０２４６】
１０１  端末    １０３  検知装置
１０５  分析装置    ２０１  攻撃者端末
３０１  ツール実行ログ    ４０１  第１キーテーブル
４０３  第２キーテーブル    ４０５  第３キーテーブル
１００１  ツール    １００３  オペレーティングシステム
１００５  ロガー    １００７  イベントログ記憶部
１００９  実行ログ記憶部    １０１１  第１送信部
１４０１  受付部    １４０３  収集部
１４０５  特定部    １４０７  生成部
１４０９  探索部    １４１１  追加部
１４１３  出力部    １４２１  イベントログ記憶部
１４２３  実行ログ記憶部    １４２５  痕跡テーブル記憶部
１４２７  キーテーブル記憶部    ２３０１  監視装置
２４０１  ネットワークロガー    ２４０３  ネットワークログ記憶部
２４０５  第２送信部    ２７０１  取得部
２７０３  ネットワークログ記憶部
【図１】
0006610100.tif 000002
【図２】
0006610100.tif 000003
【図３】
0006610100.tif 000004
【図４】
0006610100.tif 000005
【図５】
0006610100.tif 000006
【図６】
0006610100.tif 000007
【図７】
0006610100.tif 000008
【図８】
0006610100.tif 000009
【図９】
0006610100.tif 000010
【図１０】
0006610100.tif 000011
【図１１】
0006610100.tif 000012
【図１２】
0006610100.tif 000013
【図１３】
0006610100.tif 000014
【図１４】
0006610100.tif 000015
【図１５】
0006610100.tif 000016
【図１６】
0006610100.tif 000017
【図１７】
0006610100.tif 000018
【図１８】
0006610100.tif 000019
【図１９】
0006610100.tif 000020
【図２０】
0006610100.tif 000021
【図２１】
0006610100.tif 000022
【図２２】
0006610100.tif 000023
【図２３】
0006610100.tif 000024
【図２４】
0006610100.tif 000025
【図２５】
0006610100.tif 000026
【図２６】
0006610100.tif 000027
【図２７】
0006610100.tif 000028
【図２８】
0006610100.tif 000029
【図２９】
0006610100.tif 000030
【図３０】
0006610100.tif 000031
【図３１】
0006610100.tif 000032
【図３２】
0006610100.tif 000033
【図３３】
0006610100.tif 000034
【図３４】
0006610100.tif 000035
【図３５】
0006610100.tif 000036
【図３６】
0006610100.tif 000037
【図３７】
0006610100.tif 000038
【図３８】
0006610100.tif 000039