(57)【要約】【課題】従来の技術では挙動解析を行うことができなかった不正プログラムの挙動解析を可能とすること。【解決手段】コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析システムであって、コンピュータへ侵入して不正プログラムの動作環境の生成及びコンピュータへの不正プログラムの導入を行う導入プログラムを動作させて、生成された動作環境に関する情報を含む環境情報と不正プログラムとを収集する情報収集手段と、情報収集手段によって収集された環境情報を記憶する情報記憶手段と、情報記憶手段によって記憶されている環境情報を用いて生成した環境下で不正プログラムを動作させるプログラム動作手段と、プログラム動作手段によって動作させた不正プログラムの挙動情報を収集する挙動情報収集手段とを有する解析システムによって不正プログラムの挙動を解析することとした。【選択図】図１
2011013917.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析システムであって、
前記コンピュータへ侵入して前記不正プログラムの動作環境の生成及び前記コンピュータへの前記不正プログラムの導入を行う導入プログラムを動作させて、生成された前記動作環境に関する情報を含む環境情報と前記不正プログラムとを収集する情報収集手段と、
前記情報収集手段によって収集された前記環境情報を記憶する情報記憶手段と、
前記情報記憶手段によって記憶されている前記環境情報を用いて生成した環境下で前記不正プログラムを動作させるプログラム動作手段と、
前記プログラム動作手段によって動作させた前記不正プログラムの挙動情報を収集する挙動情報収集手段と
を有することを特徴とする解析システム。
【請求項２】
前記情報収集手段は、
前記不正プログラムを動作させるために生成されたファイルに関するファイル生成情報と、前記不正プログラムを動作させるために生成された当該不正プログラムのプロセスに関するプロセス生成情報とを含む情報を前記環境情報として前記不正プログラムによる攻撃動作毎に収集することを特徴とする請求項１に記載の解析システム。
【請求項３】
前記情報記憶手段によって記憶されている前記環境情報中の前記ファイル生成情報と前記プロセス生成情報とに基づいて、前記プロセス生成情報に含まれる前記プロセスの生成時刻以前に生成されていたファイルと、前記生成時刻に生成されたプロセスとを対応付けた対応情報を作成する対応情報作成手段をさらに備え、
前記プログラム動作手段は、
前記対応情報作成手段によって作成された前記対応情報に含まれる前記プロセスと対応付けられている前記ファイルを前記不正プログラムを動作させる環境として用いることを特徴とする請求項２に記載の解析システム。
【請求項４】
前記対応情報作成手段は、
前記プロセス生成情報に含まれる前記プロセスの生成に使用された引数列の中に、前記ファイル生成情報に含まれるファイルを特定可能なファイル特定情報が存在していた場合に、当該引数列を当該引数列が使用された前記プロセスの前記対応情報に登録し、
前記プログラム動作手段は、
前記対応情報に登録されている前記引数列を用いて前記不正プログラムを動作させることを特徴とする請求項３に記載の解析システム。
【請求項５】
コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析方法であって、
前記コンピュータへ侵入して前記不正プログラムの動作環境の生成及び前記コンピュータへの前記不正プログラムの導入を行う導入プログラムを動作させて、生成された前記動作環境に関する情報を含む環境情報と前記不正プログラムとを収集する情報収集工程と、
前記情報収集工程によって収集された前記環境情報を情報記憶手段へ記憶させる情報記憶工程と、
前記情報記憶手段によって記憶されている前記環境情報を用いて前記動作環境を再現した環境下で前記不正プログラムを動作させるプログラム動作工程と、
前記プログラム動作工程によって動作させた前記不正プログラムの挙動情報を収集する挙動情報収集工程と
を含んだことを特徴とする解析方法。
【請求項６】
コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析プログラムであって、
前記コンピュータへ侵入して前記不正プログラムの動作環境の生成及び前記コンピュータへの前記不正プログラムの導入を行う導入プログラムを動作させて、生成された前記動作環境に関する情報を含む環境情報と前記不正プログラムとを収集する情報収集手順と、
前記情報収集手順によって収集された前記環境情報を情報記憶手段へ記憶させる情報記憶手順と、
前記情報記憶手段によって記憶されている前記環境情報を用いて前記動作環境を再現した環境下で前記不正プログラムを動作させるプログラム動作手順と、
前記プログラム動作手順によって動作させた前記不正プログラムの挙動情報を収集する挙動情報収集手順と
をコンピュータに実行させることを特徴とする解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析システム、解析方法、及び解析プログラムに関する。
【背景技術】
【０００２】
近年、インターネットに接続したコンピュータを取り巻く環境では、コンピュータ内へ密かに侵入して不正な動作を行い、コンピュータに対して情報漏洩や不正アクセス等の被害を加えるコンピュータウイルスやスパイウェア、ボット等といった不正プログラム（以下、「マルウェア」と呼ぶ）が猛威を振るっている。
【０００３】
このようなマルウェアからコンピュータを保護するためには、マルウェアを収集し、収集したマルウェアがコンピュータ内でどのような不正動作を行うのかを解析して、マルウェアの不正動作に対する対策を講じる必要がある。
【０００４】
マルウェアを収集する方法としては、例えば、ハニーポットと呼ばれる囮装置へ故意にマルウェアを侵入させることによってマルウェアの収集を行う方法が知られている（例えば、非特許文献１、非特許文献２参照）。
【０００５】
そして、マルウェアの挙動を解析する方法としては、例えば、逆アセンブラやデバッガを用いる方法が知られている（例えば、非特許文献３参照）。しかし、逆アセンブラやデバッガを用いる方法は、マルウェア自体の構造を解析することによって挙動解析を行うものであるため解析精度に関して解析者のスキルに依存する部分が大きく誰もが利用できるものではない。
【０００６】
しかも、近年のマルウェアは、耐解析技術が進んでいるため（例えば、非特許文献４参照）、マルウェア自体の構造を分析するために膨大な時間を要するようになってきている。そのため、近年では、囮装置によって収集したマルウェア自体を解析装置内で実際に動作させ、そのときのマルウェアの挙動を解析する方法が用いられている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Georg  Wicherski,  Thorsten  Holz「Catching  Malware」Black  Hat  Japan  2006
【非特許文献２】The  Honeynet  Project「Capture-HPC」、平成２１年５月２９日検索、インターネットURL＜https://projects.honeynet.org/capture-hpc＞
【非特許文献３】Konstantin  Rozinov「REVERSE  CODE  ENGINEERING:  An  In-Depth  Analysis  of  the  Bagle  Virus」Rucent  Technologies
【非特許文献４】Mark  Vincent  Yason「The  Art  of  Unpacking」Black  Hat  USA  2007  Briefings
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、近年、囮装置によって収集されるマルウェアの中には、解析装置内で動作させようとしても、マルウェア収集時の環境が整っていなければ本来の動作を行わないマルウェアも出現してきている。このように、マルウェアが本来の動作を行わない場合、マルウェアの挙動解析を行うことができない。
【０００９】
上述した課題を解決するために、本発明は、従来の技術では挙動解析を行うことができなかったマルウェアについても挙動解析を行うことができる解析システム、解析方法、及び解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明では、コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析システムであって、前記コンピュータへ侵入して前記不正プログラムの動作環境の生成及び前記コンピュータへの前記不正プログラムの導入を行う導入プログラムを動作させて、生成された前記動作環境に関する情報を含む環境情報と前記不正プログラムとを収集する情報収集手段と、前記情報収集手段によって収集された前記環境情報を記憶する情報記憶手段と、前記情報記憶手段によって記憶されている前記環境情報を用いて生成した環境下で前記不正プログラムを動作させるプログラム動作手段と、前記プログラム動作手段によって動作させた前記不正プログラムの挙動情報を収集する挙動情報収集手段とを有する解析システムを提供することとした。
【００１１】
また、本発明は、前記解析システムにおいて、前記情報収集手段は、前記不正プログラムを動作させるために生成されたファイルに関するファイル生成情報と、前記不正プログラムを動作させるために生成された当該不正プログラムのプロセスに関するプロセス生成情報とを含む情報を前記環境情報として前記不正プログラムによる攻撃動作毎に収集することを特徴とする。
【００１２】
また、本発明は、前記解析システムにおいて、前記情報記憶手段によって記憶されている前記環境情報中の前記ファイル生成情報と前記プロセス生成情報とに基づいて、前記プロセス生成情報に含まれる前記プロセスの生成時刻以前に生成されていたファイルと、前記生成時刻に生成されたプロセスとを対応付けた対応情報を作成する対応情報作成手段をさらに備え、前記プログラム動作手段は、前記対応情報作成手段によって作成された前記対応情報に含まれる前記プロセスと対応付けられている前記ファイルを前記不正プログラムを動作させる環境として用いることを特徴とする。
【００１３】
また、本発明は、前記解析システムにおいて、前記対応情報作成手段は、前記プロセス生成情報に含まれる前記プロセスの生成に使用された引数列の中に、前記ファイル生成情報に含まれるファイルを特定可能なファイル特定情報が存在していた場合に、当該引数列を当該引数列が使用された前記プロセスの前記対応情報に登録し、前記プログラム動作手段は、前記対応情報に登録されている前記引数列を用いて前記不正プログラムを動作させることを特徴とする。
【００１４】
また、本発明では、コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析方法であって、前記コンピュータへ侵入して前記不正プログラムの動作環境の生成及び前記コンピュータへの前記不正プログラムの導入を行う導入プログラムを動作させて、生成された前記動作環境に関する情報を含む環境情報と前記不正プログラムとを収集する情報収集工程と、前記情報収集工程によって収集された前記環境情報を情報記憶手段へ記憶させる情報記憶工程と、前記情報記憶手段によって記憶されている前記環境情報を用いて前記動作環境を再現した環境下で前記不正プログラムを動作させるプログラム動作工程と、前記プログラム動作工程によって動作させた前記不正プログラムの挙動情報を収集する挙動情報収集工程とを含んだ解析方法を提供することとした。
【００１５】
また、本発明では、コンピュータ内で不正な動作を行う不正プログラムの挙動を解析する解析プログラムであって、前記コンピュータへ侵入して前記不正プログラムの動作環境の生成及び前記コンピュータへの前記不正プログラムの導入を行う導入プログラムを動作させて、生成された前記動作環境に関する情報を含む環境情報と前記不正プログラムとを収集する情報収集手順と、前記情報収集手順によって収集された前記環境情報を情報記憶手段へ記憶させる情報記憶手順と、前記情報記憶手段によって記憶されている前記環境情報を用いて前記動作環境を再現した環境下で前記不正プログラムを動作させるプログラム動作手順と、前記プログラム動作手順によって動作させた前記不正プログラムの挙動情報を収集する挙動情報収集手順とをコンピュータに実行させる解析プログラムを提供することとした。
【発明の効果】
【００１６】
本発明によれば、特定の環境の下でしか本来の動作を行わないような従来の技術では挙動解析を行うことができなかったマルウェアについても挙動解析を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施形態に係る解析システムの構成と同システムによるマルウェアの挙動解析手順の概要を示す説明図である。
【図２】図２は、本実施形態に係る解析システム１の構成を示す機能ブロック図である。
【図３】図３は、マルウェア収集部の構成を示す機能ブロック図である。
【図４】図４は、情報データベースの内部構成を示す説明図である。
【図５】図５は、ファイル生成情報の具体的一例を示す説明図である。
【図６】図６は、プロセス生成情報の具体的一例を示す説明図である。
【図７】図７は、状態情報の具体的一例を示す説明図である。
【図８】図８は、対応情報の具体的一例を示す説明図である。
【図９】図９は、マルウェア解析部の構成を示す機能ブロック図である。
【図１０】図１０は、解析システムの対応情報作成部が実行する処理プログラムを示すフローチャートである。
【図１１】図１１は、解析システムの対応情報作成部が実行する処理プログラムを示すフローチャートである。
【図１２】図１２は、解析システムコントロール部が実行する処理プログラムを示すフローチャートである。
【図１３】図１３は、マルウェア実行環境部が実行する処理プログラムを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態について図面を参照して説明する。図１は、本実施形態に係る解析システムの構成と同システムによるマルウェアの挙動解析手順の概要を示す説明図である。
【００１９】
本実施形態の解析システム１は、インターネットに接続したコンピュータ内へ密かに侵入して不正な動作を行い、コンピュータに対して被害を加える不正プログラム（以下、「マルウェア」と呼ぶ）を収集し、収集したマルウェアを実際に動作させてマルウェアの挙動を解析するシステムである。
【００２０】
図１に示すように、本実施形態に係る解析システム１は、情報収集手段２と、情報記憶手段３と、挙動情報収集手段４とを備えている。情報収集手段２は、マルウェアの動作環境に関する情報を含む環境情報とマルウェアとを収集する処理領域である。
【００２１】
そして、情報収集手段２は、環境情報とマルウェアとを収集する場合、図１（ａ）に示すように、まず、インターネットを介してシェルコードＶ１を取り込む。ここで、シェルコードＶ１とは、攻撃者がマルウェアを用いた攻撃を行うために送り込む導入プログラムである。
【００２２】
具体的には、シェルコードＶ１は、マルウェアに先立ってコンピュータへ侵入して動作することにより、コンピュータ内にマルウェアを動作させるための動作環境を生成すると共に、コンピュータへのマルウェアの導入を行う。
【００２３】
シェルコードを取り込むと、情報収集手段２は、図１（ｂ）に示すように、シェルコードＶ１を動作させて、情報収集手段２の内部にマルウェアＶ２を動作させるための動作環境Ｅ１を生成させると共に、インターネットを介して情報収集手段２へマルウェアＶ２を導入させる。
【００２４】
このとき、情報収集手段２は、シェルコードＶ１による動作環境Ｅ１の生成動作及びマルウェアＶ２の導入動作については許可するが、シェルコードＶ１がマルウェアＶ２の動作を開始させようとする動作については禁止する。
【００２５】
これにより、本実施形態の解析システム１は、情報収集手段２自体がマルウェアＶ２に感染することを予防することができるので、情報収集手段２は、あるマルウェアＶ２を収集した後に、他のマルウェアＶ２を継続的に収集することができる。
【００２６】
その後、情報収集手段２は、図１（ｃ）に示すように、シェルコードＶ１を動作させることによって生成させた動作環境Ｅ１に関する情報と、動作環境Ｅ１が生成されたときに情報収集手段２に設定されている各種情報とを含む環境情報６を収集して情報記憶手段３へ記憶させる。
【００２７】
さらに、情報収集手段２は、シェルコードＶ１を動作させることによって導入させたマルウェアＶ２を収集する。なお、ここでは図示を省略しているが、情報収集手段２によって収集されたマルウェアＶ２は、情報記憶手段３に記憶され、後にマルウェアＶ２の挙動解析を行う際に、挙動情報収集手段４によって呼び出される。
【００２８】
情報記憶手段３は、情報収集手段２によって収集された環境情報６を記憶する情報記憶領域である。ここでは、図示を省略しているが、情報記憶手段３は、挙動情報収集手段４によって収集されたマルウェアＶ２の挙動解析の結果を示す挙動情報も記憶する。
【００２９】
挙動情報収集手段４は、情報収集手段２によって収集されたマルウェアＶ２を呼び出して実際に動作させ、そのときのマルウェアＶ２の挙動解析を行い、解析結果を示す挙動情報を収集して情報記憶手段３へ記憶させる処理領域である。
【００３０】
そのため、挙動情報収集手段４は、マルウェアＶ２を動作させるプログラム動作手段５を備えている。特に、本実施形態におけるプログラム動作手段５は、マルウェアＶ２が本来の動作を行うことができる環境（以下、「動作環境Ｅ２」という。）を生成する機能を備えている。
【００３１】
すなわち、プログラム動作手段５は、情報記憶手段３によって記憶されている環境情報６を用いて、シェルコードＶ１を動作させることによって情報収集手段２の内部に生成させた動作環境Ｅ１と同等の動作環境Ｅ２をプログラム動作手段５の内部に生成し、生成した動作環境Ｅ２の下でマルウェアＶ２を動作させる。
【００３２】
そして、挙動情報収集手段４は、プログラム動作手段５によって動作させたマルウェアＶ２の挙動を解析し、解析結果である挙動情報を情報記憶手段３へ出力して記憶させる。情報記憶手段３に記憶された挙動情報は、マルウェアＶ２による攻撃を防止する対策のために利用される。
【００３３】
このように、本実施形態の解析システム１は、情報収集手段２によってマルウェアＶ２だけでなく、シェルコードＶ１を動作させて情報収集手段２の内部に生成させたマルウェアＶ２の動作環境Ｅ１に関する環境情報６まで収集させる。
【００３４】
そして、解析システム１は、プログラム動作手段５が環境情報６を用いてマルウェアＶ２が本来の動作を行うことのできる動作環境Ｅ２をプログラム動作手段５の内部に再現した上で、マルウェアＶ２を動作させて挙動解析を行う。
【００３５】
そのため、例えば、ファイル名やファイルパス、環境変数等の情報を適切に設定することで動作が可能となるマルウェアＶ２や、実行引数を必要とするマルウェアＶ２、他のプログラムを介して実行する必要があるマルウェアＶ２等、特定の動作環境Ｅ１と同等な環境が整っていなければ本来の動作を行わないマルウェアＶ２であっても本来の動作を行わせることができる。
【００３６】
通常、シェルコードＶ１は、情報収集手段２へ侵入すると、マルウェアＶ２を動作させるために必要なファイルの生成や、ファイル名やファイルパス、環境変数等の設定を行うことによってマルウェアＶ２の動作環境Ｅ１を生成する。
【００３７】
そのため、例えば、ファイル名やファイルパス、環境変数等の情報を適切に設定された環境でなければ本来の動作を行わないマルウェアＶ２の場合、従来の技術のように、単純にマルウェアＶ２本体だけを収集して動作させようとしても、マルウェアＶ２は、動作に必要な環境が整っていないので、本来の動作を行うことができない。
【００３８】
このように、従来の技術では、マルウェアＶ２の挙動を解析しようとする際に、マルウェアＶ２に本来の動作を行わせることができなかったため、マルウェアＶ２の挙動を正確に解析することができなかった。
【００３９】
これに対して、本実施形態の解析システム１は、情報収集手段２へあえてシェルコードＶ１を侵入させて動作させることにより、情報収集手段２の内部に、マルウェアＶ２を動作させるために必要なファイルの生成や環境変数等の設定を行わせ、そのとき収集した環境情報６を用いて、プログラム動作手段５の内部に、マルウェアＶ２を動作させるために必要なファイルの生成や環境変数等の設定が行われた動作環境Ｅ２を再現するので、マルウェアＶ２は、本来の動作を行うことができる。
【００４０】
また、本実施形態の解析システム１は、実行引数を必要とするマルウェアＶ２や他のプログラムを介して実行する必要があるマルウェアＶ２についても同様に、各マルウェアＶ２が動作可能な動作環境Ｅ２を再現することができるので、特定の環境下でしか本来の動作を行わないマルウェアＶ２に本来の動作を行わせて、マルウェアＶ２の正確な挙動情報を収集することができる。
【００４１】
次に、本実施形態に係る解析システム１の構成について説明する。図２は、本実施形態に係る解析システム１の構成を示す機能ブロック図である。図２に示すように、解析システム１は、マルウェア収集部２０と、情報データベース３０と、マルウェア解析部４０と、対応情報作成部７０とを備えている。
【００４２】
マルウェア収集部２０は、図１に示す情報収集手段２に相当するものである。また、情報データベース３０は、図１に示す情報記憶手段３に相当し、マルウェア解析部４０は、図１に示す挙動情報収集手段４に相当するものである。
【００４３】
マルウェア収集部２０は、故意に脆弱性を持たせた処理部でありインターネットＮと接続している。そして、マルウェア収集部２０は、インターネットＮを介してシェルコードＶ１及びマルウェアＶ２を侵入させ、侵入してきたマルウェアＶ２を収集すると共に、シェルコードＶ１を動作させることによって生成された動作環境Ｅ１に関する情報を含む環境情報６収集して情報データベース３０へ出力する。
【００４４】
ここで、マルウェア収集部２０の構成について説明する。図３は、マルウェア収集部２０の構成を示す機能ブロック図である。図３に示すように、マルウェア収集部２０は、攻撃検知部２１と、ファイル生成情報収集部２２と、プロセス生成情報収集部２３と、状態情報収集部２４とを備えている。
【００４５】
攻撃検知部２１は、インターネットＮを介して解析システム１の外部から取得したバッファデータがマルウェア収集部２０の脆弱性をつく（攻撃する）ものであるか否かを判定する処理部である。
【００４６】
例えば、攻撃検知部２１は、外部から取得したバッファデータのデータサイズが所定の閾値を超えるようなバッファデータであった場合に「攻撃」と判定して、判定結果をファイル生成情報収集部２２、プロセス生成情報収集部２３、状態情報収集部２４へ出力する。
【００４７】
また、攻撃検知部２１は、攻撃と判定したバッファデータをシェルコードＶ１として収集し、収集したシェルコードＶ１を動作させることによってマルウェアＶ２を導入させ、導入されたマルウェアＶ２の収集を行う。
【００４８】
収集したマルウェアＶ２は、一旦、情報データベース３０に記憶され、挙動解析が行われる場合にマルウェア解析部４０によって呼び出される。
【００４９】
ファイル生成情報収集部２２は、攻撃検知部２１から「攻撃」と判定された判定結果が入力されて以降に、マルウェア収集部２０の内部に生成されたファイルに関するファイル生成情報を収集する処理部である。
【００５０】
そして、ファイル生成情報収集部２２は、収集したファイル生成情報へマルウェアＶ２による攻撃毎にユニークなＩＤ（以下、「インシデントＩＤ」という。）を組み込んで情報データベース３０へ出力する。なお、ファイル生成情報の詳細については後述する。
【００５１】
プロセス生成情報収集部２３は、攻撃検知部２１から「攻撃」と判定された判定結果が入力されて以降に、マルウェア収集部２０の内部に生成されたプロセス及びマルウェアＶ２のプロセス生成に関するプロセス生成情報を収集する処理部である。
【００５２】
本実施形態のプロセス生成情報収集部２３は、全てのプロセスの生成を許可するのではなく、特定のプロセスの生成のみを許可することによって、マルウェア収集部２０がマルウェアＶ２に感染することを防止している。
【００５３】
例えば、プロセス生成情報収集部２３は、マルウェアＶ２をマルウェア収集部２０へダウンロードするためのプロセスや、シェルコードＶ１が動作して動作環境Ｅ１を生成するためのプロセスについては許可し、動作環境Ｅ１を生成した後のプロセス生成、つまりマルウェアＶ２のプロセス生成を禁止する。
【００５４】
これにより、マルウェア収集部２０はマルウェアＶ２に感染することがないので、継続してマルウェアＶ２やプロセス生成情報、ファイル生成情報等の環境情報６を収集することができる。
【００５５】
そして、プロセス生成情報収集部２３は、収集したプロセス生成情報へマルウェアＶ２による攻撃毎にユニークなＩＤ（以下、「インシデントＩＤ」という。）と、１つの攻撃の中で生成された複数のプロセスを識別可能とするためのＩＤ（以下、「プロセス生成ＩＤ」という。）とを組み込んで情報データベース３０へ出力する。なお、プロセス生成情報の詳細については後述する。
【００５６】
状態情報収集部２４は、攻撃検知部２１から「攻撃」と判定された判定結果が入力されて以降、マルウェア収集部２０の内部にプロセスが生成される度に、また、マルウェアＶ２がプロセス生成を試みる度に、そのときのマルウェア収集部２０の状態を示す状態情報を収集する処理部である。なお、状態情報の詳細については後述する。
【００５７】
そして、状態情報収集部２４は、収集した状態情報へ状態情報を収集したときに生成されたプロセス及びマルウェアＶ２が生成を試みたプロセスのプロセス生成情報と同じインシデントＩＤとプロセス生成ＩＤと組み込んで情報データベース３０へ出力する。
【００５８】
次に、情報データベース３０について説明する。情報データベース３０は、マルウェア収集部２０とマルウェア解析部４０と対応情報作成部７０とに接続された情報記憶デバイスである。そして、情報データベース３０は、マルウェア収集部２０から入力されるファイル生成情報、プロセス生成情報、状態情報、マルウェアＶ２等を記憶する。
【００５９】
さらに、情報データベース３０は、対応情報作成部７０によって作成される後述の対応情報と、マルウェア解析部４０によって収集されたマルウェアＶ２の挙動情報とを記憶する。
【００６０】
ここで、情報データベース３０の内部構成と、情報データベース３０に記憶されている各情報の具体例について図４〜図８を参照して説明する。図４は、情報データベース３０の内部構成を示す説明図である。なお、図４に示すＤＢは、データベースの略である。
【００６１】
また、図５は、ファイル生成情報の具体的一例を示す説明図、図６は、プロセス生成情報の具体的一例を示す説明図、図７は、状態情報の具体的一例を示す説明図、図８は、対応情報の具体的一例を示す説明図である。
【００６２】
図４に示すように、情報データベース３０は、ファイル生成情報ＤＢ６１と、プロセス生成情報ＤＢ６２と、状態情報ＤＢ６３と、対応情報ＤＢ６４と、マルウェア解析結果ＤＢ４４とを備えている。
【００６３】
ファイル生成情報ＤＢ６１は、ファイル生成情報収集部２２から入力されるファイル生成情報を記憶する記憶領域である。そして、ファイル生成情報ＤＢ６１には、図５に示すように、各インシデントＩＤに対応付けて、マルウェア収集部２０の内部にファイルが生成された日時を示すタイムスタンプ、生成されたファイルの格納場所を示すファイルパス、生成されたファイルのファイルデータが記憶されている。
【００６４】
また、プロセス生成情報ＤＢ６２は、プロセス生成情報収集部２３から入力されるプロセス生成情報を記憶する記憶領域である。そして、プロセス生成情報ＤＢ６２は、図６に示すように、各インシデントＩＤに対応付けて、マルウェア収集部２０の内部に生成されたプロセス及びプロセス生成が試みられたプロセスのプロセス生成ＩＤ、プロセスが生成された日時及びプロセス生成が試みられた日時を示すタイムスタンプ、プロセスが生成されるときのコマンドライン、プロセス生成時の親プロセス名、プロセスの生成に使用されたＡＰＩ（Application  Program  Interface）パラメータ等が記憶されている。
【００６５】
プロセス生成情報ＤＢ６２に記憶されているＡＰＩパラメータは、プロセスの生成に使用されたＡＰＩの種類に応じて、例えば、セキュリティ記述子、カレントディレクトリ名、スタートアップ情報、プロセス情報、ウィンドウの表示情報等が含まれている。
【００６６】
また、状態情報ＤＢ６３は、状態情報収集部２４から入力される状態情報を記憶する記憶領域である。そして、状態情報ＤＢ６３には、図７に示すように、各インシデントＩＤに対応付けて、プロセス生成ＩＤ、解析システム１の各ユーザによって設定されている環境変数、解析システム１が予め設定している環境変数等が記憶されている。
【００６７】
さらに、状態情報ＤＢ６３には、各インシデントＩＤに対応付けて、起動中のプロセスリスト、アカウント情報、ＩＰアドレス、ポートの開放状況、攻撃時のレジスタの値、スタックトップ・スタックボトム・スタックの内容といったコンテキスト情報等も記憶されている。
【００６８】
また、対応情報ＤＢ６４は、対応情報作成部７０が情報データベース３０に記憶されているファイル生成情報とプロセス生成情報とを用いて作成した対応情報を記憶する記憶領域である。
【００６９】
対応情報作成部７０による対応情報の作成方法については後に詳述するが、対応情報は、対応情報作成部７０がファイル生成情報とプロセス生成情報との中から、マルウェア解析部４０がマルウェアＶ２を動作させるための動作環境Ｅ２を作成するために利用する情報を選択的に抽出して作成したデータである。
【００７０】
具体的には、対応情報ＤＢ６４には、図８に示すように、各インシデントＩＤに対応付けて、プロセス生成ＩＤ、解析実行ＡＰＩパラメータ、解析実行時親プロセス名、配置ファイルパス、実行フラグが記憶されている。なお、図８に示すＩＤは、マルウェア解析部４０が動作環境Ｅ２を作成する際に参照するプロセスの順番を識別するための識別情報である。
【００７１】
対応情報における解析実行ＡＰＩパラメータは、マルウェア解析部４０の内部でマルウェアＶ２を動作させために必要な引数列であるＡＰＩパラメータのことであり、マルウェアＶ２を動作させるために引数の設定が必要なプロセスのプロセス生成情報から抽出されたＡＰＩパラメータである。
【００７２】
また、解析実行時親プロセス名は、マルウェア解析部４０の内部でマルウェアＶ２を動作させるために必要な親プロセス名のことであり、マルウェアＶ２を動作させるために親プロセスの設定が必要なプロセスのプロセス生成情報から抽出された親プロセス名である。
【００７３】
また、配置ファイルパスは、マルウェア解析部４０の内部でマルウェアＶ２を動作させるために必要なファイルのパスのことであり、マルウェアＶ２を動作させるためにファイルパスの設定が必要なプロセスのファイル生成情報から抽出されたファイルパスである。
【００７４】
なお、１つのコマンドラインに関連するファイルが複数存在する場合には、１つのプロセスの対応情報の中に配置ファイルパスとして複数のファイルパスが記憶される。
【００７５】
また、実行フラグは、マルウェア解析部４０があるプロセス生成情報中に含まれるあるプロセスのコマンドラインに基づいてマルウェアＶ２を動作させてマルウェアＶ２の挙動解析を行うか否かの判断基準となるフラグである。
【００７６】
このように、対応情報ＤＢ６４には、マルウェアＶ２を収集した際にシェルコードＶ１がマルウェア収集部２０の内部に生成した全てのプロセスの中で、ＡＰＩパラメータや親プロセス名、ファイルパス等を設定しなければマルウェアＶ２が実行できない各プロセスと、各プロセスで設定が必要なＡＰＩパラメータ、親プロセス名、ファイルパスとが対応付けられて記憶されているのである。
【００７７】
そのため、マルウェア解析部４０は、マルウェアＶ２の挙動解析を行う際、対応情報ＤＢ６４を参照することによって、マルウェアＶ２が本来の動作を行うために必要なＡＰＩパラメータや親プロセス名、ファイルパスだけを設定することができる。
【００７８】
その結果、マルウェア解析部４０は、配置ファイルパスによって特定されるファイル、解析実行時親プロセス名によって特定される親プロセス、解析実行ＡＰＩパラメータによって特定されるＡＰＩパラメータ等といった必要最小限の情報をプロセス毎にマルウェアＶ２の動作環境Ｅ２として設けておくことができる。
【００７９】
また、マルウェア解析結果ＤＢ４４は、マルウェア解析部４０から入力されるマルウェアＶ２の挙動解析の結果を示す挙動情報を記憶する記憶領域である。ここでは、図示を省略しているが、マルウェア解析結果ＤＢ４４には、マルウェア解析部４０によってマルウェアＶ２を動作させたときの通信データ、マルウェアＶ２が呼び出したＡＰＩ、システムコール、マルウェアＶ２による内部資源へのアクセス情報等が記憶される。
【００８０】
次に、マルウェア解析部４０について説明する。図９は、マルウェア解析部４０の構成を示す機能ブロック図である。図９に示すように、マルウェア実行環境部４１と、仮想インターネット環境部４２と、解析システムコントロール部４３とを備えている。
【００８１】
マルウェア実行環境部４１は、解析システムコントロール部４３を介して情報データベース３０から対応情報、ファイル生成情報、プロセス生成情報、環境情報を取得し、取得した各情報に基づいて、マルウェア実行環境部４１の内部へのファイルの設置や環境変数等の設定を行うことによってマルウェアＶ２の動作環境Ｅ２を生成する処理部である。
【００８２】
そして、マルウェア実行環境部４１は、生成した動作環境Ｅ２の下でマルウェアＶ２を実際に動作させ、そのときのマルウェアＶ２の挙動情報を収集して解析システムコントロール部４３へ出力する。
【００８３】
このとき、マルウェア実行環境部４１は、挙動情報として、マルウェアＶ２が仮想インターネット環境部４２との間で行った通信のログ情報、マルウェアＶ２が呼び出したＡＰＩやシステムコール、内部資源へのアクセス情報等を収集して解析システムコントロール部４３へ出力する。
【００８４】
仮想インターネット環境部４２は、マルウェア実行環境部４１からの通信に対して擬似的な応答を返信する処理部である。また、仮想インターネット環境部４２は、マルウェア実行環境部４１からの要求によっては、必要に応じてマルウェア実行環境部４１と実際のインターネットＮとの間の通信を仲介する機能も備えている。
【００８５】
そして、仮想インターネット環境部４２は、マルウェアＶ２の挙動情報として、マルウェア実行環境部４１との間で行った通信のログ情報を収集して解析システムコントロール部４３へ出力する。
【００８６】
解析システムコントロール部４３は、マルウェア実行環境部４１及び仮想インターネット環境部４２の動作をコントロールすると共に、マルウェア実行環境部４１及び仮想インターネット環境部４２から入力されるマルウェアＶ２の挙動情報を情報データベース３０へ出力する処理部である。
【００８７】
そして、解析システムコントロール部４３は、情報データベース３０に記憶されている対応情報を参照して、マルウェアＶ２の動作環境Ｅ２の生成に必要なファイルパス、ファイルデータ、状態情報、親プロセス名、ＡＰＩパラメータ等をマルウェア実行環境部４１へ出力する。
【００８８】
マルウェア実行環境部４１は、解析システムコントロール部４３から入力されるこれらの各種情報を用いてマルウェアＶ２の動作環境Ｅ２を生成する。
【００８９】
次に、本実施形態の解析システム１で実行される処理について説明する。ここでは、本実施形態に係る解析システム１の特徴であるマルウェアＶ２の動作環境Ｅ２生成に関する処理について説明する。
【００９０】
ここでは、まず解析システム１の対応情報作成部７０が対応情報を作成する際に実行する処理について説明した後、解析システム１のマルウェア解析部４０がマルウェアＶ２の動作環境Ｅ２を生成する際に実行する処理について説明する。
【００９１】
具体的には、対応情報を作成する際、対応情報作成部７０は、図１０に示すように、まず、情報データベース３０から特定インシデントＩＤのプロセス生成情報の読み込みを行う（ステップＳ１０１）。
【００９２】
プロセス生成情報を読み込む際に、対応情報作成部７０は、プロセス生成情報ＤＢ６２の中に未読み込みのプロセス生成情報のエントリが存在するか否かの判定を行い（ステップＳ１０２）、未読み込みのプロセス生成情報のエントリが存在しないと判定した場合（ステップＳ１０２：Ｎｏ）、処理を終了する。
【００９３】
一方、対応情報作成部７０は、未読み込みのプロセス生成情報のエントリが存在すると判定した場合（ステップＳ１０２：Ｙｅｓ）、プロセス生成情報のエントリを１つ読み込み（ステップＳ１０３）、読み込んだエントリに含まれる特定インシデントＩＤと同一のインシデントＩＤを持つファイル生成情報の読み込みを行う（ステップＳ１０４）。
【００９４】
ファイル生成情報の読み込みを行う場合、対応情報作成部７０は、ファイル生成情報ＤＢ６１の中に未読み込みのファイル生成情報のエントリが存在するか否かの判定を行い（ステップＳ１０５）、未読み込みのファイル生成情報のエントリが存在しないと判定した場合（ステップＳ１０５：Ｎｏ）、処理をステップＳ１０２へ移す。
【００９５】
一方、対応情報作成部７０は、未読み込みのファイル生成情報のエントリが存在すると判定した場合（ステップＳ１０５：Ｙｅｓ）、ファイル生成情報のエントリを１つ読み込む（ステップＳ１０６）。
【００９６】
続いて、対応情報作成部７０は、ファイル実行情報抽出処理を行って（ステップＳ１０７）、ファイル実行情報として後述の実行情報及び存在情報を取得し、その後、処理をステップＳ１０８へ移す。
【００９７】
ファイル実行情報抽出処理の詳細については後に図１１を参照して説明するが、ファイル実行情報抽出処理では、読み込んだプロセス生成情報のエントリに含まれるＡＰＩパラメータを解析実行ＡＰＩパラメータとして対応情報へ登録するか否かの判定基準に用いる実行情報と、読み込んだファイル生成情報のエントリに含まれるファイルパスを配置ファイルパスとして対応情報へ登録するか否かの判定基準に用いる存在情報が決定される。
【００９８】
ステップＳ１０８において、対応情報作成部７０は、存在情報が「存在する」となっていたる否かを判定し、存在情報が「存在する」となっていなかった場合（ステップＳ１０８：Ｎｏ）、処理をステップＳ１０５へ移す。
【００９９】
一方、対応情報作成部７０は、存在情報が「存在する」となっていた場合（ステップＳ１０８：Ｙｅｓ）、当該ファイルを動作環境Ｅ２での関連ファイルに設定する（ステップＳ１０９）。
【０１００】
ここでの当該ファイルとは、ステップＳ１０６で読み込んだファイル生成情報のエントリに含まれるファイルパスによって特定されるファイルデータのことである。また、このとき、対応情報作成部７０は、当該ファイルのファイルパスを配置ファイルパスとして対応情報へ登録することによって、当該ファイルを動作環境Ｅ２での関連ファイルに設定する。
【０１０１】
続いて、対応情報作成部７０は、実行情報が「出現しない」となっていたか否かを判定し（ステップＳ１１０）、実行情報が「出現しない」となっていた場合（ステップＳ１１０：Ｙｅｓ）、処理をステップＳ１１５へ移す。
【０１０２】
一方、対応情報作成部７０は、実行情報が「出現しない」となっていなかった場合（ステップＳ１１０：Ｎｏ）、ステップＳ１０３で読み込んだプロセス生成情報に含まれるＡＰＩパラメータを実行コマンドラインに設定する（ステップＳ１１１）。
【０１０３】
ここでの実行コマンドラインは、ステップＳ１０３で読み込んだプロセス生成情報に含まれるコマンドラインのことである。また、このとき、対応情報作成部７０は、読み込んだプロセス生成情報に含まれるＡＰＩパラメータを解析実行ＡＰＩパラメータとして対応情報の対応情報へ登録することによって、ＡＰＩパラメータを実行コマンドラインに設定する。
【０１０４】
さらに、このとき対応情報作成部７０は、ステップＳ１０３で読み込んだプロセス生成情報に含まれる親プロセス名を解析実行時親プロセス名として対応情報へ登録する。
【０１０５】
続いて、対応情報作成部７０は、実行コマンドラインの実行プログラム名が予め作成しておいた解析対象外のプログラムのリストに存在するか否かの判定を行う（ステップＳ１１２）。
【０１０６】
ここで、対応情報作成部７０は、実行コマンドラインの実行プログラム名がリストに存在しないと判定した場合（ステップＳ１１２：Ｎｏ）、対応情報へ実行フラグＯＮを登録して（ステップＳ１１３）、処理をステップＳ１１５へ移す。
【０１０７】
一方、対応情報作成部７０は、実行コマンドラインの実行プログラム名がリストに存在すると判定した場合（ステップＳ１１２：Ｙｅｓ）、対応情報へ実行フラグＯＦＦを登録して（ステップＳ１１４）、処理をステップＳ１１５へ移す。
【０１０８】
ステップＳ１１５において、対応情報作成部７０は、対応情報ＤＢ６４への対応情報の書き出しを行って処理をステップＳ１０５へ移す。
【０１０９】
次に、図１０に示すフローチャートのステップＳ１０７において対応情報作成部７０が実行するファイル実行情報抽出処理について説明する。対応情報作成部７０は、図１１に示すフローチャートに従ってファイル実行情報抽出処理を実行する。
【０１１０】
図１１に示すように、ファイル実行情報抽出処理において、対応情報作成部７０は、ステップＳ１０３で読み込んだプロセス生成情報中のＡＰＩパラメータに、ステップＳ１０６で読み込んだファイル生成情報中のファイルパスが実行プログラム、又は実行プログラムの引数、又は引数中のサブストリングとして出現するか否かを判定する（ステップＳ２０１）。
【０１１１】
なお、ここでは、ＡＰＩパラメータにファイルパスが出現するか否かを判定しているが、ＡＰＩパラメータにファイル名だけを取り出したものが出現するか否かを判定してもよい。
【０１１２】
そして、対応情報作成部７０は、ＡＰＩパラメータにファイルパスが出現すると判定した場合（ステップＳ２０１：Ｙｅｓ）、実行情報として「出現する」を設定する。一方、対応情報作成部７０は、ＡＰＩパラメータにファイルパスが出現しないと判定した場合（ステップＳ２０１：Ｎｏ）、実行情報として「出現しない」を設定する。
【０１１３】
その後、対応情報作成部７０は、ステップＳ１０３で読み込んだプロセス生成情報に含まれるプロセス生成時のタイムスタンプがステップＳ１０６で読み込んだファイル生成情報に含まれるファイル生成時のタイムスタンプ以上であるか否かの判定を行う（ステップＳ２０４）。
【０１１４】
つまり、対応情報作成部７０は、このステップＳ２０４において、プロセス生成時にファイルが存在していたか否かを判定するのである。そして、対応情報作成部７０は、プロセス生成時のタイムスタンプがファイル生成時のタイムスタンプ以上であると判定した場合（ステップＳ２０４：Ｙｅｓ）、存在情報として「存在する」を設定して（ステップＳ２０５）処理を終了する。
【０１１５】
一方、対応情報作成部７０は、プロセス生成時のタイムスタンプがファイル生成時のタイムスタンプ未満であると判定した場合（ステップＳ２０４：Ｎｏ）、存在情報として「存在しない」を設定して（ステップＳ２０６）処理を終了する。
【０１１６】
次に、動作環境Ｅ２を生成する場合に、マルウェア解析部４０の解析システムコントロール部４３が実行する処理について説明する。図１２は、解析システムコントロール部４３が実行する処理プログラムを示すフローチャートである。
【０１１７】
動作環境Ｅ２を生成する場合、解析システムコントロール部４３は、図１２に示すように、まず、マルウェアＶ２の動作環境Ｅ２のリジュームを行う（ステップＳ３０１）。ここで、解析システムコントロール部４３は、マルウェアＶ２の動作環境Ｅ２を解析開始前の状態に復元する作業を行う。
【０１１８】
その後、解析システムコントロール部４３は、対応情報ＤＢ６４から対応情報を取得して（ステップＳ３０２）、実行フラグがＯＮであるか否かの判定を行う（ステップＳ３０３）。
【０１１９】
そして、解析システムコントロール部４３は、実行フラグがＯＦＦであったと判定した場合（ステップＳ３０３：Ｎｏ）、処理を終了する。一方、解析システムコントロール部４３は、実行フラグがＯＮであったと判定した場合（ステップＳ３０３：Ｙｅｓ）、処理をステップＳ３０４へ移す。
【０１２０】
ステップＳ３０４において、解析システムコントロール部４３は、マルウェア実行環境部４１への配置ファイル送信を開始する。配置ファイル送信では、解析システムコントロール部４３は、まず、取得した対応情報に含まれる配置ファイルパスをマルウェア実行環境部４１へ送信する（ステップＳ３０５）。
【０１２１】
続いて、解析システムコントロール部４３は、送信した配置ファイルパスに対応するファイルデータをファイル生成情報ＤＢ６１内のファイル生成情報から読み込み（ステップＳ３０６）、読み込んだファイルデータをマルウェア実行環境部４１へ送信する（ステップＳ３０７）。
【０１２２】
そして、解析システムコントロール部４３は、対応情報に含まれている全ての配置ファイルパスに対応するファイルデータ（配置ファイル）の送信が完了すると、配置ファイル送信を終了して（ステップＳ３０８）、処理をステップＳ３０９へ移す。
【０１２３】
ステップＳ３０９において、解析システムコントロール部４３は、対応情報のインシデントＩＤとプロセス生成ＩＤとに基づいて、状態情報ＤＢ６３から状態情報を読み込み、読み込んだ状態情報をマルウェア実行環境部４１へ送信する。
【０１２４】
続いて、解析システムコントロール部４３は、対応情報に含まれる解析実行時プロセス名をマルウェア実行環境部４１へ送信し（ステップＳ３１０）、その後、対応情報に含まれる解析実行ＡＰＩパラメータをマルウェア実行環境部４１へ送信する（ステップＳ３１１）。
【０１２５】
そして、解析システムコントロール部４３は、マルウェア実行環境部４１から実行可否ステータスの受信を行い（ステップＳ３１２）、受信した実行可否ステータスが実行成功であるか否かの判定を行う（ステップＳ３１３）。
【０１２６】
ここで、解析システムコントロール部４３は、実行可否ステータスが実行失敗であった場合（ステップＳ３１３：Ｎｏ）、処理を終了する。一方、解析システムコントロール部４３は、実行可否ステータスが実行成功であった場合（ステップＳ３１３：Ｙｅｓ）、処理をステップＳ３１４へ移す。
【０１２７】
ステップＳ３１４において、解析システムコントロール部４３は、予め設定しておいた解析時間が経過したか否かを判定し、解析経過したと判定した場合（ステップＳ３１４：Ｙｅｓ）、処理を終了する。
【０１２８】
一方、解析システムコントロール部４３は、予め設定しておいた解析時間が経過してしないと判定した場合（ステップＳ３１４：Ｎｏ）、解析時間が経過するまでステップＳ３１４の判定処理を繰り返す。
【０１２９】
そして、解析システムコントロール部４３は、複数の対応情報に基づいてマルウェアＶ２の挙動解析を行う場合、全ての各対応情報に関してステップＳ３０１〜ステップＳ３１４の処理を繰り返し実行する。
【０１３０】
次に、動作環境Ｅ２を生成する場合に、マルウェア解析部４０のマルウェア実行環境部４１が実行する処理について説明する。図１３は、マルウェア実行環境部４１が実行する処理プログラムを示すフローチャートである。
【０１３１】
動作環境Ｅ２を生成する場合、マルウェア実行環境部４１は、図１３に示すように、まず、動作環境Ｅ２を生成するためにファイル配置を開始する（ステップＳ４０１）。ファイル配置では、マルウェア実行環境部４１は、まず始めに解析システムコントロール部４３から配置ファイルパスを受信する（ステップＳ４０２）。
【０１３２】
そして、マルウェア実行環境部４１は、受信した配置ファイルパスどおりにファイルを配置するためのディレクトリがあるか否かの判定を行い（ステップＳ４０３）、ディレクトリがあると判定した場合（ステップＳ４０３：Ｙｅｓ）、処理をステップＳ４０５へ移す。
【０１３３】
一方、マルウェア実行環境部４１は、ファイルを配置するディレクトリがないと判定した場合（ステップＳ４０３：Ｎｏ）、配置ファイルパスに基づいてディレクトリを作成してから（ステップＳ４０４）処理をステップＳ４０５へ移す。
【０１３４】
ステップＳ４０５において、マルウェア実行環境部４１は、ステップＳ４０２で受信した配置ファイルパスに対応するファイルデータを解析システムコントロール部４３から受信し、受信したファイルデータを指定された配置ファイルパスの位置に配置する（ステップＳ４０６）。
【０１３５】
マルウェア実行環境部４１は、マルウェアＶ２を実際に動作させる際、このステップＳ４０６の処理によって配置したファイルデータを、マルウェアＶ２を動作させる動作環境Ｅ２の一部として用いる。
【０１３６】
そして、マルウェア実行環境部４１は、全てのファイルの配置が完了するとファイル配置を終了して（ステップＳ４０６）、解析システムコントロール部４３から状態情報を受信して設定する（ステップＳ４０７）。
【０１３７】
ここで、マルウェア実行環境部４１は、受信した状態情報に基づいて、環境変数やＩＰアドレス等の受信した状態情報に含まれる全ての情報を設定する。
【０１３８】
続いて、マルウェア実行環境部４１は、解析システムコントロール部４３から解析実行時親プロセス名を受信し（ステップＳ４０８）、その後、解析システムコントロール部４３から解析実行ＡＰＩパラメータを受信して（ステップＳ４０９）、処理をステップＳ４１０へ移す。
【０１３９】
そして、マルウェア実行環境部４１は、これらステップＳ４０７〜ステップＳ４０９の処理によって受信した各種情報をマルウェアＶ２の動作環境Ｅ２の一部として設定する。こうして設定された各種情報は、マルウェア実行環境部４１がマルウェアＶ２を実際に動作させる際に、マルウェアＶ２を動作させる動作環境Ｅ２の一部として用いられる。
【０１４０】
ステップＳ４１０において、マルウェア実行環境部４１は、解析実行時親プロセス名の指定があるか否かの判定を行い、指定がないと判定した場合（ステップＳ４１０：Ｎｏ）、解析実行ＡＰＩパラメータの指定に基づきプログラムを起動して（ステップＳ４１１）処理をステップＳ４１２へ移す。
【０１４１】
一方、マルウェア実行環境部４１は、解析実行時親プロセス名の指定あると判定した場合（ステップＳ４１０：Ｙｅｓ）、指定された親プロセスが起動中であるか否かの判定を行う（ステップＳ４１３）。
【０１４２】
そして、マルウェア実行環境部４１は、親プロセスが起動中であると判定した場合（ステップＳ４１３：Ｙｅｓ）、処理をステップＳ４１５へ移す。一方、マルウェア実行環境部４１は、親プロセスが起動中でないと判定した場合（ステップＳ４１３：Ｎｏ）、親プロセスの立ち上げ（起動）を行ってプロセスを生成してから（ステップＳ４１４）、処理をステップＳ４１５へ移す。
【０１４３】
ステップＳ４１５において、マルウェア実行環境部４１は、解析実行ＡＰＩパラメータの指定に基づき指定された親プロセスの子プロセスとしてプログラムを起動してプロセスの生成を行って（ステップＳ４１５）解析を行い、処理をステップＳ４１２へ移す。
【０１４４】
ステップＳ４１２において、マルウェア実行環境部４１は、解析対象プログラムのプロセス生成に成功したか否か、すなわち、マルウェアＶ２の動作環境Ｅ２の生成に成功したか否かを示す実行可否ステータスを解析システムコントロール部４３へ送信して処理を終了する。
【０１４５】
以上説明したように、本実施形態に係る解析システム１では、情報収集手段２として機能するマルウェア収集部２０がコンピュータへ侵入してマルウェアＶ２の動作環境の生成及びコンピュータへのマルウェアＶ２の導入を行うシェルコードＶ１を動作させて、生成された動作環境Ｅ１に関する情報を含む環境情報６とマルウェアＶ２とを収集する。
【０１４６】
そして、情報記憶手段３として機能する情報データベース３０がマルウェア収集部２０によって収集された環境情報６を記憶し、プログラム動作手段５として機能するマルウェア解析部４０が情報データベース３０に記憶されている環境情報６を用いて生成した動作環境Ｅ２の下でマルウェアＶ２を動作させ、情報収集手段として機能するマルウェア解析部４０が動作させたマルウェアＶ２の挙動情報を収集する。
【０１４７】
このように、本実施形態の解析システム１では、マルウェアＶ２が本来の動作を行うことができる動作環境Ｅ２を生成することができるので、特定の動作環境Ｅ１が整っていなければ本来の動作を行わないマルウェアＶ２であっても、マルウェア解析部４０に生成した動作環境Ｅ２の下でマルウェアＶ２に本来の動作を行わせて正確な挙動情報を収集することができる。
【０１４８】
また、本実施形態の解析システム１では、情報収集手段２として機能するマルウェア収集部２０によって、マルウェアＶ２が動作するために生成したファイルに関するファイル生成情報と、マルウェアＶ２が動作するために生成したマルウェアＶ２のプロセスに関するプロセス生成情報とを環境情報６としてマルウェアＶ２による攻撃動作毎に収集させる。
【０１４９】
そのため、本実施形態の解析システム１では、攻撃毎に動作環境Ｅ１を変更するようなマルウェアＶ２であっても、攻撃毎に動作環境Ｅ２を生成することができるので、攻撃毎の挙動情報を正確に収集することができる。
【０１５０】
また、本実施形態の解析システム１では、対応情報作成手段として機能する対応情報作成部７０によって、環境情報６中のファイル生成情報とプロセス生成情報とに基づいて、プロセス生成情報に含まれるプロセスの生成時刻以前に生成されていたファイルと、当該生成時刻に生成されたプロセスとを対応付けた対応情報を作成する。
【０１５１】
そして、マルウェア解析部４０が対応情報作成部７０によって作成された対応情報に含まれるプロセスと対応付けられているファイルを、マルウェアＶ２を動作させる動作環境Ｅ２として用いる。
【０１５２】
これにより、本実施形態の解析システム１では、マルウェア解析部４０が内部にマルウェアＶ２の動作環境Ｅ２を再現する際、シェルコードＶ１がマルウェア収集部２０内にあるプロセスを生成したとき既にマルウェア収集部２０内に存在していたファイルを動作環境Ｅ２の一部としてマルウェア解析部４０の内部に配置しておくことができる。
【０１５３】
これにより、本実施形態の解析システム１では、シェルコードＶ１によって生成されたファイルが存在しなければ本来の動作を行うことができないマルウェアＶ２に本来の動作を行わせて、正確な挙動情報を収集することができる。
【０１５４】
また、本実施形態の解析システム１では、対応情報作成部７０は、プロセス生成情報に含まれるプロセスの生成に使用された引数列（例えば、ＡＰＩパラメータ）の中に、ファイル生成情報に含まれるファイルを特定可能なファイル特定情報（例えば、ファイルパスやファイル名を示す情報）が存在していた場合に、当該引数列を当該引数列が使用されたプロセスの対応情報に登録する。そして、マルウェア解析部４０は、対応情報に登録されている引数列を用いてマルウェアＶ２を動作させる。
【０１５５】
そのため、本実施形態の解析システム１では、ＡＰＩパラメータ等の引数を設定しなければプロセス生成等の本来の動作を行うことができないマルウェアＶ２であっても、本来の動作を行わせて正確な挙動情報を収集することができる。
【符号の説明】
【０１５６】
１  解析システム
２  情報収集手段
２０  マルウェア収集部
２１  攻撃検知部
２２  ファイル生成情報収集部
２３  プロセス生成情報収集部
２４  状態情報収集部
３  情報記憶手段
３０  情報データベース
４  挙動情報収集手段
４１マルウェア実行環境部
４２  仮想インターネット環境部
４３  解析システムコントロール部
４４  マルウェア解析結果ＤＢ
５  プログラム動作手段
６  環境情報
６１  ファイル生成情報ＤＢ
６２  プロセス生成情報ＤＢ
６３  状態情報ＤＢ
６４  対応情報ＤＢ
７０  対応情報作成部
Ｖ１  シェルコード
Ｖ２  マルウェア
Ｅ１  動作環境
Ｅ２  動作環境
Ｎ  インターネット
【図１】
2011013917.tif 000003
【図２】
2011013917.tif 000004
【図３】
2011013917.tif 000005
【図４】
2011013917.tif 000006
【図５】
2011013917.tif 000007
【図６】
2011013917.tif 000008
【図７】
2011013917.tif 000009
【図８】
2011013917.tif 000010
【図９】
2011013917.tif 000011
【図１０】
2011013917.tif 000012
【図１１】
2011013917.tif 000013
【図１２】
2011013917.tif 000014
【図１３】
2011013917.tif 000015