(57)【要約】  分析対象であるプログラムの動作に応じて適切な分析環境を構築する。分析システムは、分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する動作分析手段と、上記動作分析手段において分析された上記分析対象プログラムの動作に応じて、上記第２の実行環境の少なくとも一部の構成を変更することにより、上記分析対象プログラムの動作に関連する上記第１の実行環境における特定の構成を模倣可能な上記第２の実行環境を構築する構成手段とを備える。
2016203759.tif 000002
【特許請求の範囲】
【請求項１】
分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する動作分析手段と、
前記動作分析手段において分析された前記分析対象プログラムの動作に応じて、前記第２の実行環境の少なくとも一部の構成を変更することにより、前記分析対象プログラムの動作に関連する前記第１の実行環境における特定の構成を模倣可能な前記第２の実行環境を構築する構成手段と、を備える
分析システム。
【請求項２】
前記動作分析手段は、前記第２の実行環境を構成する仮想装置において前記分析対象プログラムを実行することにより、当該分析対象プログラムが実行環境を検知する際に実行する検知動作を抽出し、
前記構成手段は、前記抽出された前記分析対象プログラムの検知動作に応じて前記第２の実行環境の構成を変更することにより、前記仮想装置が前記分析対象プログラムに対して前記第１の実行環境を模倣した実行結果を通知することを可能とする、
請求項１に記載の分析システム。
【請求項３】
前記構成手段は、
前記分析対象プログラムの検知動作を表す情報と、当該動作を実行した前記分析対象プログラムに対して、前記仮想装置が前記第１の実行環境を模倣した実行結果を通知することを可能とする前記第２の実行環境の構成を表す情報である模倣設定情報と、を関連付けて保持し、
前記動作分析手段が前記分析対象プログラムの検知動作を抽出した場合、抽出した検知動作を表す情報に関連付けされた模倣設定情報に基づいて、前記第２の実行環境の構成を変更する、
請求項２に記載の分析システム。
【請求項４】
前記動作分析手段は、前記仮想装置において前記分析対象プログラムを実行することにより、前記分析対象プログラムを構成する実行命令を表す情報と、当該実行命令を実行する際に用いられるデータを表す情報とを前記分析対象プログラムの検知動作を表す情報として抽出する、
請求項３に記載の分析システム。
【請求項５】
前記構成手段は、前記模倣設定情報に基づいて前記第２の実行環境の構成を変更することにより、前記仮想装置が、前記第１の実行環境において前記分析対象プログラムの検知動作が実行された場合に当該第１の実行環境から前記分析対象プログラムに対して通知される実行結果である第１の実行結果と同等若しくは略同等な実行結果、及び、前記第１の実行結果を模倣可能なダミーの実行結果、の少なくともいずれかを、前記分析対象プログラムに通知することを可能とする、
請求項３又は請求項４に記載の分析システム。
【請求項６】
前記動作分析手段による分析の結果、前記分析対象プログラムが通信処理を実行する場合、
前記構成手段は、
前記第２の実行環境の構成を変更することにより、前記仮想装置が通信データを送受信可能な仮想的な通信ネットワークを構築するとともに、
前記模倣設定情報に基づいて、前記仮想的な通信ネットワークに対する前記仮想装置からのアクセスを制御する設定情報を、前記第２の実行環境に設定する、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項７】
前記動作分析手段による分析の結果、前記分析対象プログラムが通信処理を実行する場合、
前記構成手段は、前記模倣設定情報に基づいて、外部の通信ネットワークに対する前記仮想的な装置からのアクセスを制御する設定情報を、前記第２の実行環境に設定する、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項８】
前記動作分析手段による分析の結果、前記分析対象プログラムが、前記仮想装置における仮想化された特定のデバイスを用いて、前記検知動作を実行する場合、
前記構成手段は、前記模倣設定情報に基づいて前記仮想装置における仮想化された特定のデバイスに関する設定を変更することにより、前記仮想装置が、前記検知動作を実行した前記分析対象プログラムに対して、少なくとも、当該検知動作が物理的なデバイスを用いて実行された場合の結果を模倣可能な実行結果を通知することを可能とする、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項９】
前記動作分析手段による分析の結果、前記分析対象プログラムが前記仮想装置における仮想化された描画処理デバイスを用いて前記検知動作を実行する場合、
前記構成手段は、
前記模倣設定情報に基づいて、前記仮想装置における仮想化された描画処理デバイスに関する設定を変更することにより、前記仮想装置が、前記検知動作を実行した前記分析対象プログラムに対して、少なくとも、当該検知動作が物理的な描画処理デバイスを用いて実行された場合の結果を模倣可能な実行結果を通知することを可能とする、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項１０】
前記動作分析手段による分析の結果、前記分析対象プログラムが前記仮想装置における仮想化された入出力ポートを用いて前記検知動作を実行する場合、
前記構成手段は、前記模倣設定情報に基づいて前記仮想装置における仮想化された入出力ポートに関する設定を変更することにより、前記仮想装置が、前記検知動作を実行した前記分析対象プログラムに対して、少なくとも、当該検知動作が物理的な入出力ポートを用いて実行された場合の結果を模倣可能な実行結果を通知することを可能とする、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項１１】
前記動作分析手段による分析の結果、前記分析対象プログラムが前記仮想装置における仮想化されたプロセッサを特定可能な情報を用いて前記検知動作を実行する場合、
前記構成手段は、前記模倣設定情報に基づいて、前記検知動作を実行した前記分析対象プログラムに対して、少なくとも、当該検知動作が物理的なプロセッサに対して実行された場合の結果を模倣可能な実行結果を通知するよう、前記仮想装置を制御する、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項１２】
前記動作分析手段による分析の結果、前記分析対象プログラムが前記仮想装置におけるファイルシステムに対して前記検知動作を実行する場合、
前記構成手段は、前記模倣設定情報に基づいて、前記仮想装置において、前記第１の実行環境におけるファイルシステムに相当するファイルシステムを構築することにより、前記検知動作を実行した前記分析対象プログラムに対して、少なくとも、当該検知動作が前記第１の実行環境におけるファイルシステムに対して実行された場合の結果を模倣可能な実行結果を、前記仮想装置が通知することを可能とする、
請求項３乃至請求項５のいずれかに記載の分析システム。
【請求項１３】
前記仮想装置の構成を表示可能な表示手段を更に備える、
請求項２乃至請求項１１のいずれかに記載の分析システム。
【請求項１４】
前記仮想装置の構成と、前記仮想的な通信ネットワークの構成とを表示可能な表示手段を更に備える
請求項６に記載の分析システム。
【請求項１５】
前記動作分析手段は、
前記分析対象プログラムの検知動作を抽出したタイミングにおいて、前記仮想装置における前記プログラムの実行を中断し、
前記動作分析手段が、当該抽出した前記プログラムの検知動作を表す情報に関連付けされた前記模倣設定情報に基づいて、記第２の実行環境の構成を変更した後、前記プログラムの実行を再開する
請求項３に記載の分析システム。
【請求項１６】
分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析し、
当該分析された前記分析対象プログラムの動作に応じて、前記第２の実行環境の少なくとも一部の構成を変更することにより、前記分析対象プログラムの動作に関連する前記第１の実行環境における特定の構成を模倣可能な前記第２の実行環境を構築する
分析方法。
【請求項１７】
分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する処理と、
当該分析された前記分析対象プログラムの動作に応じて、前記第２の実行環境の少なくとも一部の構成を変更することにより、前記分析対象プログラムの動作に関連する前記第１の実行環境における特定の構成を模倣可能な前記第２の実行環境を構築する処理と、をコンピュータに実行させる
コンピュータ・プログラムが記録された記録媒体。
【請求項１８】
分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する動作分析手段と、
前記動作分析手段において分析された前記分析対象プログラムの動作に応じて、前記第２の実行環境の少なくとも一部の構成を変更することにより、前記分析対象プログラムの動作に関連する前記第１の実行環境における特定の構成を模倣可能な前記第２の実行環境を構築する構成手段と、を単体の装置として備える
分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分析対象であるプログラム（ソフトウェア・プログラム）を分析環境において実行することにより、当該プログラムの動作を分析可能な分析システム等に関する。
【背景技術】
【０００２】
近年、稼働環境に配備された各種情報処理装置（例えば、各種コンピュータや通信装置等）において不正な処理を実行するプログラム（例えば、マルウェア等の各種ソフトウェア・プログラム）に起因する、セキュリティの脅威が問題となっている。係る問題に対処すべく、例えば、ＳｏＣ（Ｓｅｃｕｒｉｔｙ  Ｏｐｅｒａｔｉｏｎ  Ｃｅｎｔｅｒ）やＣＳＩＲＴ（Ｃｏｍｐｕｔｅｒ  Ｓｅｃｕｒｉｔｙ  Ｉｎｃｉｄｅｎｔ  Ｒｅｓｐｏｎｓｅ  Ｔｅａｍ）等の組織において、マルウェアの分析が行われている。【０００３】
マルウェアの分析作業には、分析用の環境において当該マルウェアを動作させることにより、システムコールの呼び出し、あるいは、ネットワークアクセスなどに関する記録を採取する作業が含まれる場合がある。係る分析用の環境は、記録の採取に際してマルウェアの本来の動きを阻害しないこと、また、分析用の環境以外の環境に対する各種セキュリティの脅威（例えば、不正アクセス等）を低減可能であることが望ましい。以下、係る分析用の環境を「保護環境」、情報処理装置等が実際に稼働する環境を「実稼働環境」と称する場合がある。【０００４】
保護環境は、各種仮想化基盤を用いた仮想マシン（バーチャルマシン）を用いて構築される場合が多い。また、保護環境は実稼働環境そのものではない。よって、保護環境は、実稼働環境とは異なる特徴を有する場合が多い。一方、係る保護環境の特徴等を用いて保護環境と実稼働環境の差異を検知し、マルウェア自体の本来の動作（動作）を隠蔽するマルウェアが存在する。【０００５】
このようなマルウェア等の不正なプログラムの分析（解析）に関連する技術が、例えば、以下の特許文献に開示されている。特許文献１は、保護された実行環境（サンドボックス環境）を用いて、実行可能プログラムの動作を評価する技術を開示する。特許文献１に開示された技術は、プログラムの動作をリアルタイムに解析した結果に基づいて、当該プログラムを動作させる動作環境を、サンドボックス環境、又は、通常の環境のいずれから選択する。【０００６】
特許文献２は、ユーザが要求する計算機環境の需要に基づいて、解析対象のマルウェアを実行するための実行環境を構築し、構築した実行環境のうち、ユーザの計算機環境と類似する実行環境を選択してマルウェアを解析する技術を開示する。【０００７】
特許文献３は、マルウェアを導入するシェルコードを解析することにより、マルウェアを動作させる動作環境を構築するための情報を収集するとともに、構築した動作環境においてマルウェアを動作させることにより、その動作を解析する技術を開示する。【０００８】
特許文献４は、マルウェアを実行するマルウェア実行環境と、マルウェアが実行する通信のプロトコルに応じた仮想的な通信データを生成して送受信する仮想ネットワーク環境とを構築する技術を開示する。係る技術は、マルウェア実行環境においてマルウェアを実行するとともに、マルウェアが実行する通信処理に対して仮想的な通信データを応答することにより、ネットワークへの接続を確認するマルウェアの動作を解析する。【０００９】
特許文献５は、隔離された環境に配置されたマルウェア実行用端末におけるマルウェアの実行ログと、ダミーサーバに対するマルウェアの通信ログとを用いて、マルウェアの動作を解析する技術を開示する。【００１０】
特許文献６は、プログラムにブレークポイントを設定し、係るブレークポイントにおける当該プログラムの動作を解析することにより、当該プログラムがマルウェアであるか否かを判定する技術を開示する。【００１１】
また、仮想マシンにおける各種資源（リソース）の管理に関連して、特許文献７は、複数の物理資源を使用する仮想マシンシステムにおいて、各資源の余剰量が特定のポリシ（余剰ポリシ）に適合するように、仮想マシンの配置を制御する技術を開示する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１４−２３８８７０号公報
【特許文献２】特開２０１２−２２１１７０号公報
【特許文献３】特開２０１１−０１３９１７号公報
【特許文献４】特開２００９−１８１３３５号公報
【特許文献５】特開２００７−３３４５３６号公報
【特許文献６】国際公開第２００４／０７５０６０号
【特許文献７】特開２０１０−１４６４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記したように、近年のマルウェアは、保護環境において実行された場合、本来の動作とは異なる動作を実行する場合がある。この場合、当該マルウェアの分析に支障をきたす、という問題が生じる。しかしながら、実稼働環境においてマルウェアを動作させて分析することは、困難である場合が多い。分析中にマルウェアが意図しない動作を引き起こし、情報漏洩や外部ネットワークへの攻撃等、セキュリティ侵害を引き起こす可能性があるからである。【００１４】
これに対して、特許文献１に開示された技術は、実行可能プログラム（例えばマルウェア）がサンドボックス環境を検知して動作を変更する可能性を、十分に考慮していない。特許文献２に開示された技術は、予め収集されたユーザの計算機環境や、リソース毎の脆弱性情報に基づいて、需要が高まると予想される実行環境を選択（提供）するに過ぎない。特許文献３に開示された技術は、シェルコードを解析した結果等に基づいてマルウェアの実行環境を構築するものの、マルウェアは当該実行環境が保護環境に構築されたことを検知する可能性がある。特許文献４乃至特許文献６に開示された技術は、それぞれマルウェアが通常の処理を実行することを前提として、マルウェアに対して疑似的な応答を通知ことにより、マルウェアの動作を解析する技術である。即ち、これらの技術は、保護環境を検知した結果に基づいて動作を変更するマルウェアの動作を十分に分析できない可能性がある。【００１５】
本発明は、上記した事情を鑑みてなされたものである。即ち、本発明は、プログラムの動作に応じて適切な分析環境を構築することにより、当該プログラムの本来の動作を分析可能な分析システム等を提供することを、主たる目的の一つとする。
【課題を解決するための手段】
【００１６】
上記の目的を達成すべく、本発明の一態様に係る分析システムは、以下の構成を備える。即ち、本発明の一態様に係る分析システムは、分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する動作分析手段と、上記動作分析手段において分析された上記分析対象プログラムの動作に応じて、上記第２の実行環境の少なくとも一部の構成を変更することにより、上記分析対象プログラムの動作に関連する上記第１の実行環境における特定の構成を模倣可能な上記第２の実行環境を構築する構成手段と、を備える。【００１７】
また、本発明の一態様に係る分析方法は、以下の構成を備える。即ち、本発明の一態様に係る分析方法は、分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析し、当該分析された上記分析対象プログラムの動作に応じて、上記第２の実行環境の少なくとも一部の構成を変更することにより、上記分析対象プログラムの動作に関連する上記第１の実行環境における特定の構成を模倣可能な上記第２の実行環境を構築する。【００１８】
本発明の一態様に係る分析装置は、以下の構成を備える。即ち、本発明の一態様に係る分析装置は、分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する動作分析手段と、上記動作分析手段において分析された上記分析対象プログラムの動作に応じて、上記第２の実行環境の少なくとも一部の構成を変更することにより、上記分析対象プログラムの動作に関連する上記第１の実行環境における特定の構成を模倣可能な上記第２の実行環境を構築する構成手段と、を単体の装置として備える。【００１９】
また、同目的は、上記構成を有する分析システム、分析装置、並びに対応する分析方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００２０】
本発明によれば、プログラムの動作に応じて適切な分析環境を構築することにより、当該プログラムの本来の動作を分析することが可能である。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の第１の実施形態における分析システムの機能的な構成を例示するブロック図である。
【図２】図２は、本発明の第１の実施形態における分析システムに含まれる、動作分析部の機能的な構成を例示するブロック図である。
【図３】図３は、本発明の第１の実施形態における分析システムに含まれる、構成部の機能的な構成を例示するブロック図である。
【図４】図４は、本発明の第１の実施形態に係る仮想的な装置が接続される仮想的なネットワークの構成に用いられる情報の具体例を示す説明図である。
【図５】図５は、本発明の第１の実施形態に係る仮想的な装置におけるビデオボードの構成に用いられる情報の具体例を示す説明図である。
【図６】図６は、本発明の第１の実施形態に係る仮想的な装置におけるＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）ポートの構成に用いられる情報の具体例を示す説明図である。
【図７】図７は、本発明の第１の実施形態に係る仮想的な装置におけるプロセッサ情報の構成に用いられる情報の具体例を示す説明図である。
【図８】図８は、本発明の第１の実施形態に係る仮想的な装置におけるファイルシステムの構成に用いられる情報の具体例を示す説明図である。
【図９】図９は、本発明の第１の実施形態における分析システムの動作を例示するフローチャートである。
【図１０】図１０は、本発明の第１の実施形態において、仮想装置の構成を表示する表示画面の具体例を示す説明図である。
【図１１】図１１は、本発明の第２の実施形態における分析システムの機能的な構成を例示するブロック図である。
【図１２】図１２は、本発明の第２の実施形態における分析システムを、単体の装置として実現可能な分析装置の構成を例示するブロック図である。
【図１３】図１３は、本発明の第２の実施形態の変形例に係る分析システムの機能的な構成を例示するブロック図である。
【図１４】図１４は、本発明の各実施形態における分析システムを実現可能なハードウェア構成を例示する説明図である。
【発明を実施するための形態】
【００２２】
＜第１の実施形態＞
以下、本発明を実施する形態について図面を参照して詳細に説明する。以下の各実施形態に記載されている構成は例示であり、本発明の技術範囲はそれらには限定されない。
【００２３】
なお、以下において説明する分析システムは、単体の装置（物理的あるいは仮想的な装置）を用いて構成されてもよい。この場合、係る分析システムは、単体の分析装置として機能する。また、係る分析システムは、複数の装置（物理的あるいは仮想的な装置）により構成されてもよい。この場合、係る分析システムを構成する複数の装置の間は、有線、無線、又はそれらを任意に組み合わせた通信ネットワーク（通信回線）により通信可能に接続されてもよい。なお、係る通信ネットワークは、物理的な通信ネットワークであってもよく、仮想的な通信ネットワークであってもよい。
【００２４】
［構成の説明］
以下、第１の実施形態における分析システムの構成について図１を参照して説明する。図１に例示されるように、第１の実施形態における分析システム１００は、動作分析部１０１と、構成部１０２とを備える。動作分析部１０１は単体の動作分析装置として実現されてもよく、構成部１０２は、単体の構成装置として実現されてもよい。動作分析部１０１と、構成部１０２との間は、任意の通信手段（通信路）を介して通信可能に接続されている。
【００２５】
動作分析部１０１は、マルウェア等の分析対象であるプログラム（分析対象プログラム）を仮想環境（後述する模倣環境に相当）において実行することにより、当該プログラムの動作を分析する処理を実行する。分析対象プログラムは、例えば、任意の実行可能コード、スクリプト、デバイスドライバ、あるいは、ライブラリ等、各種形式により実装されたプログラムであってよい。また、係る分析対象プログラムは、当該分析対象プログラム自体が実行されている実行環境を判定可能な検知動作（以下、「稼働環境判定処理」と称する場合がある）を実行可能である。稼働環境判定処理は、例えば、分析対象プログラム自体が実稼働環境で実行されているか否かを判定可能な処理であってもよく、分析対象プログラム自体が模倣環境において実行されているか否かを判定可能な処理であってもよい。なお、以下においては、分析対象プログラムの具体例として、マルウェアを分析する場合について説明する。
【００２６】
図２に例示するように、動作分析部１０１は、検体保持部２０１、検体準備部（検体準備手段）２０２、検体分析部（検体分析手段）２０３、実行命令検知部（実行命令検知手段）２０４、及び、検知結果送信部（検知結果送信手段）２０５を備える。また、動作分析部１０１は、装置模倣部（装置模倣手段）２０６、模倣設定受信部（模倣設定受信手段）２０７、分析結果格納部（分析結果格納手段）２０８、及び、分析結果保持部２０９を含む。また、動作分析部１０１は、更に、模倣構成表示部（模倣構成表示手段）２１０を含んでもよい。
【００２７】
構成部１０２は、動作分析部１０１においてプログラムが実行される仮想環境を構築し、当該プログラムの動作に応じて係る仮想環境の構成を変更（調整）する処理を実行する。構成部１０２は、図３に例示するように、検知結果受信部（検知結果受信手段）３０１、構成調整部（構成調整手段）３０２、模倣設定送信部（模倣設定送信手段）３０３、及び、構成情報保持部３０４を含む。以下、これらの構成要素について説明する。
【００２８】
検体保持部２０１は、予め収集されたマルウェア（以下「検体」と称する場合がある）を記録可能な、任意のデータ保持手段である。検体保持部２０１は、例えば、マルウェアの実行可能データ（実行可能ファイル等）を格納可能なデータベース、あるいは、ファイルシステム等を用いて実現されてもよい。
【００２９】
検体準備部２０２は、検体保持部２０１からマルウェアの検体を取り出し（選択し）、検体分析部２０３に出力する。具体的には、検体準備部２０２は、例えば、検体保持部２０１のデータベースにおいて、分析対象のマルウェアの検体を検索し、当該検索したマルウェアの検体を検体分析部２０３に出力してもよい。
【００３０】
検体分析部２０３は、マルウェアの検体を後述する模倣環境において実行する。具体的には、検体分析部２０３は、例えば、後述する装置模倣部２０６によって設定された模倣環境における仮想的な装置（仮想装置）において、マルウェアの検体を新たなプロセスとして実行してもよい。検体分析部２０３は、マルウェアの実装形式（単体の実行ファイルか、スクリプト、ライブラリ、あるいはデバイスドライバ等）に応じて、適宜適切な実行方法を選択してよい。検体分析部２０３は、係るマルウェアの分析に用いられる任意の情報を収集し、係る情報に基づいて分析結果を生成してもよい。
【００３１】
実行命令検知部２０４は、マルウェアの検体が実行する動作（以下、単に「マルウェアの動作」と称する場合がある）を検知する。具体的には、実行命令検知部２０４は、例えば、検体が実行しようとしている実行命令、及び、当該実行命令を実行する際に用いられるデータを抽出し、これらを検知結果とする。係る実行命令は、例えば、検体が実行するオペコードであってもよく、当該実行命令を実行する際に用いられるデータは、例えば、係るオペコードに対する引数であってもよい。なお、上記に限定されず、係る実行命令は、例えば、各種システムコール、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）、関数等の呼び出しであってもよい。
【００３２】
実行命令検知部２０４は、検体を実行する仮想装置（仮想マシン）を実現する仮想化基盤の機能を用いて、仮想装置において実行される実行命令を取得（トラップ）することが可能である。実行命令検知部２０４は、例えば、トラップした実行命令のうち、一部の命令を当該仮想装置が稼働される情報処理装置（例えば物理的なコンピュータ等）に転送し、他の命令について特定の処理を実行してもよい。各仮想化基盤（ＶＭｗａｒｅ（登録商標）やＨｙｐｅｒ−Ｖ（登録商標））毎に、仮想装置が実行する実行命令（例えば、オペコード）を取得（トラップ）する機能が提供されており、実行命令検知部２０４は係る機能を利用してよい。
【００３３】
検知結果送信部２０５は、後述する検知結果受信部３０１に対して、任意の通信手段（有線又は無線による通信回線、あるいは、これに類する電気的回線）を用いて、上記実行命令検知部２０４による検知結果を送信する。
【００３４】
装置模倣部２０６は、検体分析部２０３が検体を実行する際に用いる、模倣環境（「第２の実行環境」と称する場合がある）を構築する。また、装置模倣部２０６は、後述する構成部１０２からの指示に応じて、上記模倣環境の構成を変更する。
【００３５】
係る模倣環境は、上記説明した保護環境に相当し、実稼働環境（「第１の実行環境」と称する場合がある）の少なくとも一部の構成（構成要素）を模倣可能な仮想装置を少なくとも含む。なお、係る模倣環境は、１以上の仮想装置と、当該仮想装置を実現する仮想化基盤（仮想化ミドルウェア等）とにより構成されてもよい。この場合、実稼働環境の構成を模倣することは、実稼働環境を構成する構成要素と同等又は略同等の機能を実現するよう、模倣環境（特には仮想装置）を構成することを表す。
【００３６】
装置模倣部２０６は、例えば、実稼働環境を模倣するように、仮想装置の構成を動的に変更することにより、模倣環境の構成を変更してもよい。具体的には、装置模倣部２０６は、模倣設定受信部２０７（後述）が受信した模倣設定情報に基づいて、仮想装置の構成を動的に変更することにより、模倣環境の構成を変更してもよい。
【００３７】
仮想装置は、例えば、仮想化基盤において提供される仮想的な情報処理装置であり、通信手段（通信ネットワークへの接続手段）、ビデオカード、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）ポート、ＣＰＵ、ファイルシステム等の構成要素を備える。仮想装置を構成する構成要素は、例えば、実稼働環境における情報処理装置等を構成する構成要素と同等又は略同等の機能を提供可能であってもよい。係る仮想装置は、例えば、各種仮想化基盤（例えば、ＶＭｗａｒｅ（登録商標）、Ｈｙｐｅｒ−Ｖ（登録商標）等）を用いて実現可能である。
【００３８】
模倣設定情報は、実稼働環境の構成を模倣するように、仮想装置の構成要素を設定可能な情報である。本実施形態において、模倣設定情報を用いて設定された仮想装置は、マルウェアが当該仮想装置において稼働環境判定処理を実行した場合に以下のような実行結果を、当該マルウェアに対して通知可能である。即ち、模倣設定情報を用いて設定された仮想装置は、係るマルウェアに対して、係るマルウェアが実稼働環境において稼働環境判定処理を実行した場合の結果と同等又は略同等の実行結果を通知可能である。換言すると、模倣設定情報は、あるマルウェアが仮想装置において実行した稼働環境判定処理の実行結果と、実稼働環境において実行した稼働環境判定処理の実行結果とが、同等又は略同等になるように、模倣環境（より具体的には仮想装置）を構成することが可能な情報である。
【００３９】
模倣設定情報を用いて設定された仮想装置においてマルウェアが実行された場合、係るマルウェアは、当該マルウェア自身が実行されている環境が模倣環境であると判定することができない。なぜならば、当該マルウェアが実行する稼働環境判定処理に対して、模倣環境（より具体的には仮想装置）から、実稼働環境と同等又は略同等の応答が通知されるからである。
【００４０】
また、模倣設定情報は、例えば、あるマルウェアの動作に対する第２の実行結果が、当該マルウェアの動作に対する第１の実行結果を模倣（偽装）可能なダミー情報を含むように、模倣環境を構成することが可能な情報であってもよい。係るダミー情報は、例えば、第１の実行結果から、マルウェアに対して通知すべきではない情報（機密情報等）を隠蔽、削除、あるいは、加工した情報であってもよい。また、係るダミー情報は、マルウェアに対して模倣環境の構成（構成要素）を偽装することが可能な情報であってもよい。具体的には、係るダミー情報は、例えば、偽装した仮想的なネットワーク構成を表す情報、あるいは、偽装した仮想的なハードウェア構成を表す情報であってもよい。
【００４１】
係る模倣設定情報を用いて設定された仮想装置においてマルウェアが実行された場合、係るマルウェアは、当該マルウェア自身が実行されている環境が模倣環境であると認識することができない。なぜならば、当該マルウェアが実行する稼働環境判定処理に対して、模倣環境（より具体的には仮想装置）から、実稼働環境における応答を模倣（偽装）した応答が通知されるからである。
【００４２】
模倣設定受信部２０７は、後述する模倣設定送信部３０３から、任意の通信手段（有線又は無線による通信回線、あるいは、これに類する電気的回線）を用いて、模倣設定情報を受信する。模倣設定受信部２０７は、受信した模倣設定情報を、装置模倣部２０６に出力する。
【００４３】
分析結果格納部２０８は、検体分析部２０３により実行されたマルウェアの実行結果を、マルウェア検体の分析結果としてまとめて、分析結果保持部２０９に出力する。係る検体の分析結果は、例えば、実行命令検知部２０４が検知した検知結果を含んでもよい。なお、上記に限らず、係る検体の分析結果は、検体分析部２０３が検体を実行する過程で分析した任意の情報を含んで良い。
【００４４】
分析結果保持部２０９は、上記検体の分析結果を複数記録可能な、任意のデータ保持手段である。分析結果保持部２０９は、例えば、上記分析結果のデータを格納可能なデータベース、あるいは、ファイルシステム等用いて実現されてもよい。
【００４５】
模倣構成表示部２１０は、装置模倣部２０６が構築した模倣環境の構成を任意の表示手段に対して出力する。具体的には、模倣構成表示部２１０は、例えば、上記仮想装置の構成（構成要素）を、ディスプレイ装置等における表示画面に表示してもよい。
【００４６】
次に、構成部１０２の構成要素について説明する。検知結果受信部３０１は、検知結果送信部２０５から、実行命令検知部２０４において検知された検知結果を受信する。検知結果受信部３０１は、受信した検知結果を、構成調整部３０２に出力する。
【００４７】
構成調整部３０２は、検知結果受信部３０１から入力として受け付けた検知結果を用いて、後述する構成情報保持部３０４に保持されている模倣設定情報を検索する。係る模倣設定情報は、上記したように、仮想装置の構成を設定可能な情報である。具体的には、構成調整部３０２は、例えば、検知結果キーとして、構成情報保持部３０４において当該検索結果に関連付けされた適切な模倣設定情報を検索し、係る検索結果を模倣設定送信部３０３に出力する。
【００４８】
模倣設定送信部３０３は、構成調整部３０２から受け付けた模倣設定情報を、任意の通信手段を用いて模倣設定受信部２０７に送信する。
【００４９】
構成情報保持部３０４は、上記検知結果と、模倣設定情報とを関連付けて保持する任意のデータ保持手段である。具体的には、構成情報保持部３０４は、例えば、上記検知結果をキーとして模倣設定情報を表すデータを値とするデータベースを用いて実現されてもよい。
【００５０】
本実施形態においては、あるマルウェアの動作に対して、所定の模倣設定情報が予め構成情報保持部３０４に登録されていてもよい。この場合、例えば、分析システム１００の利用者（あるいは管理者）が、既知のマルウェアの動作や、マルウェアの予測可能な動作に対して予め適切な模倣設定情報を作成し、構成情報保持部に登録してもよい。予め登録されるマルウェアの動作は、既知の脆弱性情報、既知のマルウェア情報、セキュリティ侵害事件（セキュリティインシデント）に関する情報等に基づいて抽出されてもよい。また、本実施形態においては、分析システム１００がマルウェアの動作を分析した結果に基づいて、構成情報保持部に登録される模倣設定情報を適宜追加あるいは更新してもよい。なお、以下説明にする具体例においては、構成情報保持部３０４は、図４、図５、図６、図７、及び、図８に例示する模倣設定情報を保持する。
【００５１】
上記説明した分析システム１００の構成は一例に過ぎず、分析システム１００を実現可能な構成は、上記に限定されない。例えば、上記動作分析部１０１あるいは構成部１０２を構成するそれぞれの構成要素は、他の構成要素と統合されてもよい。また、これらの構成要素は、更に細かい粒度の構成要素に分解されてもよい。
【００５２】
［動作の説明］
本実施形態における分析システム１００の動作について、図９に例示するフローチャートを用いて説明する。
【００５３】
まず、動作分析部１０１は、初期化処理として、模倣環境を初期化する（ステップＳ９０１）。具体的には、装置模倣部２０６が模倣環境を構成する仮想装置を初期化するとともに、実稼働環境に対する最低限の模倣を実現するよう設定する。なお、装置模倣部２０６は、新たに仮想装置を構築してもよく、既存の仮想装置の設定を変更してもよい。
【００５４】
次に、検体準備部２０２は、検体保持部２０１から分析対象となるマルウェアの検体を取得（選択）し、検体分析部２０３に出力する（ステップＳ９０２）。検体準備部２０２は、例えば、本システムの利用者（不図示）によって指定された分析対象のマルウェアの検体を、検体保持部２０１を構成するデータベースから検索し、当該検索した検知を検体分析部２０３に出力してもよい。
【００５５】
次に、検体分析部２０３が、ステップＳ９０２において選択された検体を、ステップＳ９０１で初期化された模倣環境において実行する（ステップＳ９０３）。具体的には、検体分析部２０３は、係る検体を実行するよう仮想装置を制御してもよい。検体分析部２０３は、当該検体の実行を開始する際、例えば、仮想装置に対して上記検体を導入（インストール）するとともに、当該検体を仮想装置におけるプロセスとして実行してもよい。
【００５６】
上記ステップＳ９０３により、検体の実行が開始された後、実行命令検知部２０４は、検体が実行する命令（実行命令）と、当該実行命令に用いるデータ（引数）とを抽出する（ステップＳ９０４）。具体的には、実行命令検知部２０４は、例えば、検体が実行する実行命令のオペコードと、当該実行命令に対する引数とを抽出する。これにより、実行命令検知部２０４は、マルウェアの検体が実行する動作を検知する。実行命令検知部２０４は、抽出した実行命令と引数とを検知結果として、検知結果送信部２０５に出力する。実行命令検知部２０４がマルウェアの動作を検知したタイミングで、検体分析部２０３が当該マルウェアの実行を一時的に停止してもよい。
【００５７】
検知結果送信部２０５は、実行命令検知部２０４からの出力された検知結果を構成部１０２における検知結果受信部３０１へ送信する。検知結果受信部３０１は、検知結果送信部２０５から受信した検知結果を、構成調整部３０２に出力する。
【００５８】
次に、構成調整部３０２は、検知結果受信部３０１から受け付けた検知結果を用いて、構成情報保持部３０４から、模倣設定情報を取得（選択）する（ステップＳ９０５）。構成調整部３０２は、例えば、検知結果に含まれる実行命令のオペコードと引数とをキーとして、構成情報保持部３０４を構成するデータベースを検索し、当該検知結果に関連付けされた模倣設定情報を取得してもよい。これにより、構成調整部３０２は、検体の動作に応じて、どのように仮想装置を構成するかを表す模倣設定情報を適切に選択可能である。
【００５９】
構成調整部３０２は、検索結果（模倣設定情報）を模倣設定送信部３０３に出力する。模倣設定送信部３０３は、構成調整部３０２から受け付けた模倣設定情報を、動作分析部１０１における模倣設定受信部２０７に送信する。模倣設定受信部２０７は、受信した模倣設定情報を、装置模倣部２０６に出力する。
【００６０】
装置模倣部２０６は、受信した模倣設定情報に基づいて、模倣環境の構成を変更する（ステップＳ９０６）。具体的には、装置模倣部２０６は、模倣環境における仮想装置の構成を、模倣設定情報に合致するように変更する。これにより、検体分析部２０３が検体を分析する際に用いる模倣環境の構成が変更される。例えば、上記ステップＳ９０４の結果、マルウェアによる稼働環境判定処理が検知された場合、ステップＳ９０６において、係る検知結果に関連付けされた模倣設定情報を用いて模倣環境の構成が変更される。これにより、係る稼働環境判定処理を実行したマルウェアに対して、例えば、実稼働環境と同等又は略同等の応答が、模倣環境（特には仮想装置）から通知される。よって、係るマルウェアは、当該マルウェア自体が模倣環境で実行されていることを判定することができない。よって、係るマルウェアは、マルウェア本来の処理を隠蔽することなく実行する。即ち、係る処理により、本実施形態における分析システム１００は、マルウェア自体が模倣環境において分析されていることを当該マルウェアに気付かれることなく、当該マルウェアを分析可能である。
【００６１】
なお、検体分析部２０３は、ステップＳ９０４においてマルウェアの実行が一時的に停止されている場合、装置模倣部２０６における構成の変更が完了した後に当該マルウェアの実行を再開してもよい。
【００６２】
次に、模倣構成表示部２１０は、模倣環境の構成を表示画面に表示する（ステップＳ９０７）。模倣構成表示部２１０は、例えば、図１０に例示するような表示画面を用いて、模倣環境（あるいは仮想装置）において変更された構成を自動的に表示してもよい。模倣構成表示部２１０は、例えば、模倣環境（あるいは仮想装置）において変更された構成を強調表示してもよい。なお、本実施形態における模倣環境の構成を表示する方法は、図１０に例示する具体例に限定されない。模倣構成表示部２１０は、適宜適切な方法を用いて、模倣環境の構成を表示してよい。
【００６３】
次に、検体分析部２０３は、模倣環境における検体の実行が終了したか否かを判定する。検体の実行が終了した（即ち、全ての実行命令が実行された）場合（ステップＳ９０８においてＹＥＳ）、検体分析部２０３は、分析結果格納部２０８に検体の分析結果を出力する。この場合、分析結果格納部２０８は、係る分析結果を、分析結果保持部２０９へ格納（登録）する（ステップＳ９０９）。
【００６４】
なお、検体分析部２０３は、上記ステップＳ９０８において検体の実行が終了していない場合（ステップＳ９０８においてＮＯ）、ステップＳ９０３に戻って、処理を続行する。このようにして、検体分析部２０３は、当該検体に実装された全ての実行命令が実行されるまで、上記説明した処理を継続する。
【００６５】
上記のように構成された本実施形態における分析システム１００は、マルウェア自体が模倣環境において分析されていることを当該マルウェアに気付かれることなく、当該マルウェアを分析可能である。なぜならば、分析システム１００においては、マルウェアが実行する特定の動作（例えば、稼働環境判定処理）に対して、実稼働環境を模倣可能な応答が模倣環境から返されるからである。即ち、本実施形態においては、装置模倣部２０６が、マルウェアの動作に応じて実稼働環境を模倣した模倣環境を構築する。これにより、当該マルウェアは、模倣環境（分析用の環境）において実行されていることを認識することができない。よって、マルウェアは本来の動作を隠蔽することなく実行することから、本実施形態における分析システム１００は、マルウェアの動作に影響を与えることなく、当該マルウェアの本来の機能を分析可能である。
【００６６】
また、本実施形態における分析システム１００は、マルウェアの動作に応じて構成調整部３０２が選択した模倣設定に基づいて、模倣環境の構成を適宜設定（変更）する。上記説明したように、本実施形態における模倣環境（仮想装置）は、例えば、実稼働環境に対する最低限の模倣を実現するように初期化される。そして、模倣環境において、マルウェアの動作（例えば、稼働環境判定処理）に対して適切な実行結果を返すために必要な構成要素の設定が、模倣設定に基づいて変更される。これより、分析システム１００は、実稼働環境を模倣するように設定される模倣環境の構成要素を、例えば、マルウェアが稼働環境判定処理において検知する構成要素に限定することが可能である。これにより、分析システム１００は、模倣環境（特には仮想装置）の処理負荷を低減し、実行速度を向上することが可能である。なぜならば、模倣環境において実稼働環境を模倣するよう設定される構成要素が多い程、実稼働環境を模倣するための処理が増加するので、これに伴い、多くの計算資源が必要となるからである。分析システム１００は、模倣環境において実稼働環境を模倣するよう設定される構成要素を適切に限定することにより、実稼働環境を模倣するための処理に伴う計算資源を低減可能である。
【００６７】
以上より、本実施形態における分析システム１００によれば、マルウェア等を含むプログラムの動作に応じて適切な分析環境を構築することにより、当該プログラムの本来の動作を分析することが可能である。
【００６８】
以下、具体例を用いて、本実施形態に係る分析システムの具体的な動作について説明する。
【００６９】
［第１の具体例］
以下、本実施形態の第１の具体例として、分析対象のマルウェアの動作に応じて、模倣環境のネットワーク構成が設定（変更）される場合について説明する。この場合、構成情報保持部３０４には、例えば、図４に例示するネットワーク構成情報が登録されている。図４に例示するネットワーク構成情報には、マルウェアの動作を検知した検知結果（検知内容４０２）と、当該検知結果に関連付けされた模倣設定情報（構成内容４０３）との組合せが、項目として含まれる。なお、図４に例示するように、ネットワーク構成情報は、検知内容４０２と、構成内容４０３との組合せを識別可能な項番４０１を含んでもよい。
【００７０】
以下、本具体例における分析システム１００の動作について説明する。上記説明したように、分析システム１００の利用者（不図示）がマルウェアの分析を開始した際、動作分析部１０１は初期化処理を実行し（ステップＳ９０１）、装置模倣部２０６を実稼働環境に対する最低限の模倣を実行するように設定する。利用者は、検体保持部２０１から任意のマルウェアの検体を取り出すとともに、係る検体の実行を準備するよう検体準備部２０２を制御する（ステップＳ９０２）。検体分析部２０３が選択された検体の実行を開始し（ステップＳ９０３）、実行命令検知部２０４によって検体が実行する命令のオペコードと引数が抽出される（ステップＳ９０４）。抽出されたオペコード及び引数が、検知結果として、検知結果送信部２０５、及び、構成部１０２の検知結果受信部３０１を通じて、構成調整部３０２へ送られる。
【００７１】
本具体例においては、マルウェアの検体が、例えば、イントラネット内へのアクセスが可能か否かを判定した結果に基づいて、実稼働環境か否かを判定することを想定する。係るイントラネットは、例えば、構内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いて構築された内部ネットワークである。係る内部ネットワークには特定のアドレス範囲が割り当てられてもよい。係る内部ネットワークは、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークであってもよく、上記アドレス範囲は、例えば、ＩＰネットワークにおけるプライベートアドレスの範囲であってもよい。
【００７２】
この場合、例えば、実行命令検知部２０４が、マルウェアの動作として、イントラネット内へのアクセス処理を検知する。この場合、オペコードとして「ネットワークへのアクセス」（例えば、ネットワーク接続処理に用いられるシステムコールを実行するオペコード等）が検知され、係るオペコードの引数として「イントラネット内のＩＰアドレス」が検知される。
【００７３】
構成調整部３０２は、上記検知結果をキーとして構成情報保持部３０４を参照（検索）する。図４に例示するように、構成情報保持部３０４には、検知内容４０２として「少なくとも１回の、内部ネットワークへのアクセスあり」（項番４０１が「１０００３」の項目）が登録されている。これより、構成調整部３０２は、係る検知内容４０２に関連付けされた構成内容４０３を取得する。図４に例示するように、係る構成内容４０３は「内部ネットワークを仮想的に構築する」設定と、「検体に対して、構築した内部ネットワークへのアクセスを許可する」設定とを含む。構成調整部３０２は、係る構成内容４０３を選択し、模倣設定情報として模倣設定送信部３０３に出力する（ステップＳ９０５）。模倣設定情報は、模倣設定送信部３０３から、模倣設定受信部２０７を通じて装置模倣部２０６に送られる。
【００７４】
装置模倣部２０６は、係る模倣設定情報と合致するように、模倣環境を変更する（ステップＳ９０６）。装置模倣部２０６は、例えば、模倣設定情報に基づいて仮想装置が接続される仮想ネットワークの構成を設定する。具体的には、装置模倣部２０６は、仮想装置が接続される仮想ネットワークとして、仮想のＩＰネットワークを構築し、係るＩＰネットワークに対して特定のＩＰアドレス範囲（例えば、プライベートアドレスの範囲）を割り当てる。そして、装置模倣部２０６は、仮想装置から、構築した仮想的な内部ネットワークに対するアクセスを許可するよう、仮想ネットワーク（あるいは仮想ネットワークにおける仮想的な通信機器）を設定する。なお、これらの仮想ネットワークの構築及び設定は、例えば、仮想装置を提供する仮想化基盤（例えば、ＶＭｗａｒｅ（登録商標）や、Ｈｙｐｅｒ−Ｖ（登録商標）等）毎に予め用意された機能を用いて実現可能である。変更された仮想装置の構成は模倣構成表示部２１０によって表示され、利用者は係る構成を確認可能である。
【００７５】
上記装置模倣部２０６による処理の結果、検体分析部２０３が検体を実行した際、係る検体による内部ネットワークへのアクセスは、仮想的な内部ネットワークへのアクセスとして処理される。そして、仮想装置は、検体に対して、係る仮想的な内部ネットワークに対するアクセスが許可された場合の実行結果を通知（応答）する。
【００７６】
マルウェア検体の実行が終了するまで上記処理が繰り返され、検体分析部２０３が分析結果格納部２０８を用いて、検体の分析結果を分析結果保持部２０９へ格納する。利用者は、例えば、分析結果保持部２０９から係る分析結果を取り出し、検体の分析結果を確認する。
【００７７】
なお、図４に例示するネットワーク構成に設定された項番４０１が「１０００３」以外の項目についても、分析システム１００は、上記と同様の処理を実行する。例えば、検知されたマルウェアの動作が、項目「１０００２」の検知内容４０２に該当する場合、検体はローカルホストにアクセスする。この場合、装置模倣部２０６は、項目「１０００２」の構成内容４０３に基づいて、ローカルホストへのアクセスを許可するよう、仮想装置を設定する。
【００７８】
例えば、検知されたマルウェアの動作が項目「１０００４」の検知内容４０２に該当する場合、マルウェアは、攻撃者が用意した外部ネットワーク（外部サイト）にアクセスする。係る攻撃者が用意した外部ネットワークは、例えば、外部のネットワークに存在する攻撃者が用意したサーバ（例えば、ボット制御サーバ）、あるいは、攻撃者によって制御されている踏み台サーバであってもよい。また、係る攻撃者が用意した外部ネットワークは、例えば、攻撃用のネットワーク（例えば、ボットネット等）であってもよい。この場合、装置模倣部２０６は、構成内容４０３に基づいて、攻撃者が用意した外部ネットワークに対するアクセスを許可するよう模倣環境を設定する。具体的には、装置模倣部２０６は、例えば、接続元を隠蔽可能な特定の通信路（例えば、ＴＯＲ（Ｔｈｅ  Ｏｎｉｏｎ  Ｒｏｕｔｅｒ）による通信路）を介した外部ネットワークに対するアクセスを許可するよう、模倣環境を設定してもよい。これにより、分析システム１００は、特定の攻撃用ネットワークに対する接続を確認するマルウェアの動作を分析することが可能である。
【００７９】
なお、本具体例においては、攻撃者が用意した外部ネットワークを識別可能な情報（例えば接続先アドレス、通信に用いるポート番号、あるいは、通信データのパターン、等）が、予め分析システム１００に登録されていてもよい。それらの情報は、例えば、構成情報保持部３０４に保持されていてもよい。攻撃者が用意した外部ネットワークを識別可能な情報は、例えば、既知の脆弱性情報、既知のマルウェア情報、セキュリティ侵害事件（セキュリティインシデント）に関する情報等に基づいて抽出されてもよい。また、分析システム１００は、検体を分析した結果に基づいて、新たなネットワークを攻撃者が用意した外部ネットワークとして登録してもよく、登録されているネットワークの情報を更新してもよい。
【００８０】
また、検知されたマルウェアの動作が項目「１０００５」の検知内容４０２に該当する場合、マルウェアは、攻撃者が用意した外部ネットワーク以外の外部ネットワークにアクセスする。この場合、装置模倣部２０６は、構成内容４０３に基づいて、係る外部ネットワークに対するアクセスを拒否するよう模倣環境を設定する。これにより、分析システム１００は、マルウェアによる汚染されていない外部ネットワークに対する攻撃を妨害可能である。なお、上記に限定されず、装置模倣部２０６は、例えば、外部ネットワークとの間で送受信される通信データを改変するように、模倣環境を設定してもよい。
【００８１】
なお、分析システム１００は、項目「１０００１」の構成内容４０３を、標準的な（デフォルトの）ネットワーク構成として、模倣環境における仮想ネットワークを設定してもよい。この場合、マルウェア検体がネットワークにアクセスしないことから、装置模倣部２０６は、仮想装置からの全てのネットワークアクセスを拒否するよう、模倣環境における仮想ネットワークを設定する。この場合、実稼働環境を模倣可能な仮想ネットワークを構築する必要がないことから、装置模倣部２０６は、実稼働環境の模倣に要する処理負荷を低減可能である。
【００８２】
上記のように構成された分析システム１００は、マルウェアが実行する、通信ネットワークに対するアクセス処理に応じて、模倣環境の設定を適切に変更可能である。これにより、分析システム１００は、特定のネットワークに対するアクセス処理の結果に基づいて実稼働環境か否かを判定するマルウェアを、適切に分析可能である。
【００８３】
［第２の具体例］
以下、本実施形態の第２の具体例について説明する。本具体例における分析システム１００は、マルウェアが実行する描画処理デバイス（ビデオカード等）を用いた稼働環境判定処理に対して、実稼働環境を模倣する適切な応答を通知可能である。この場合、構成情報保持部３０４には、例えば、図５に例示するビデオ構成情報が登録されている。図５に例示するビデオ構成情報には、マルウェアの動作を検知した検知結果（検知内容５０２）と、当該検知結果に関連付けされた模倣設定情報（構成内容５０３）との組合せが項目として登録されている。なお、図５に例示するように、ビデオ構成情報は、検知内容５０２と、構成内容５０３との組合せを識別可能な項番５０１を含んでもよい。
【００８４】
本具体例における分析システム１００（特には装置模倣部２０６）は、模倣設定情報に基づいて、仮想装置における仮想的な描画処理デバイス（ビデオカード等）に関する設定を変更する。また、分析システム１００は、マルウェアが仮想的な描画処理デバイスにアクセスした場合の仮想装置の動作を、模倣設定情報に基づいて変更してもよい。係る変更により、装置模倣部２０６は、仮想的な描画処理デバイスを用いて稼働環境判定処理を実行したマルウェアに対して、仮想装置が以下のような実行結果を通知することを可能とする。即ち、仮想装置は、係るマルウェアに対して、当稼働環境判定処理が物理的な描画処理デバイスを用いて実行された場合の結果を模倣した実行結果を通知する。より具体的には、仮想装置は、マルウェアに対して、上記稼働環境判定処理が物理的な描画処理デバイスに対して実行された場合の結果と同等か、略同等である実行結果を通知してもよい。
【００８５】
以下、本具体例における分析システム１００の動作について説明する。本具体例における分析システム１００の動作は、ステップＳ９０５及びステップＳ９０６を除いて上記第１の具体例と同様であることから、詳細な説明を省略する。
【００８６】
実行命令検知部２０４が、マルウェアの動作として描画処理デバイス（ビデオカード）への直接アクセスを検出した場合を想定する。この場合、実行命令検知部２０４は、例えば、ビデオカードを構成するＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ）が提供する特定の機能（例えば３次元描画命令や、汎用演算命令等）を呼び出すオペコードと、当該オペコードに対する引数とを検知する。
【００８７】
図５に例示するように、構成情報保持部３０４には、検知内容５０２として「少なくとも１回の、ビデオカードへの直接アクセスあり」（項番５０１が「１１００２」の項目）が登録されている。これより、構成調整部３０２は、係る検知内容５０２に関連付けされた構成内容５０３を取得する。図５に例示するように、係る構成内容５０３は、「仮想マシンが提供するビデオボードに対するＩ／Ｏ処理（入出力処理）を、実在する（実機の）ビデオボードに転送する」設定を含む。構成調整部３０２は、係る構成内容５０３を選択し、模倣設定情報として模倣設定送信部３０３に出力する（ステップＳ９０５）。模倣設定情報は、模倣設定送信部３０３から、模倣設定受信部２０７を通じて装置模倣部２０６に送られる。
【００８８】
装置模倣部２０６は、係る模倣設定情報と合致するように、模倣環境を変更する（ステップＳ９０６）。この場合、装置模倣部２０６は、仮想装置に含まれる仮想的な描画処理デバイス（ビデオカード）の設定を変更してもよい。具体的には、装置模倣部２０６は、例えば、仮想装置のビデオカードに対するアクセス（Ｉ／Ｏ処理）処理が、当該仮想装置が稼働する実機（物理的な情報処理装置等）に搭載されたビデオカードに転送されるよう、仮想装置におけるビデオカードの設定を変更する。なお、係るアクセス処理の転送は、仮想装置を提供する仮想化基盤毎に予め用意された機能（例えば、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）パススルー、あるいは、ＰＣＩパススルー等）を用いて実現可能である。
【００８９】
上記装置模倣部２０６による処理の結果、検体分析部２０３により実行されたマルウェアの検体によるビデオカードへのアクセスは、当該仮想装置が稼働する実機に搭載されたビデオカードに転送される。そして、仮想装置は、実機に搭載されたビデオカードによる処理結果を検体に対して通知（応答）する。これにより、分析システム１００は、ビデオカード等の描画処理デバイスの存在あるいは機能等に基づいて実稼働環境を判定するマルウェアを、適切に分析可能である。
【００９０】
なお、構成内容５０３に登録される設定（模倣設定）は、上記に限定されない。例えば、標準ＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）に対応したビデオカードと、３次元グラフィクスに対応した仮想的なビデオカードと、を選択する設定が、構成内容５０３に登録されてもよい。この場合、装置模倣部２０６は、標準ＶＧＡ対応のビデオカードを備えるように仮想装置を初期化し、マルウェアの動作に応じて、３次元グラフィクスに対応した仮想的なビデオカードを備えるように仮想装置の構成を変更可能である。係るビデオカードに関する構成の変更は、例えば、仮想装置を提供する仮想化基盤の機能を用いて実現可能である。
【００９１】
図５に例示するビデオ構成情報に設定された項番５０１が「１１００２」以外の項目についても、分析システム１００は、上記と同様の処理を実行する。
【００９２】
また、分析システム１００は、項目「１１００１」の構成内容５０３を、標準的なビデオカードの構成として、仮想装置を設定してもよい。この場合、マルウェアの検体がビデオカードに直接アクセスしないことから、装置模倣部２０６は、標準設定（例えば、標準ＶＧＡ対応のビデオカードの設定）を用いて、仮想装置のビデオカードを設定する。この場合、仮想装置は、実稼働環境における処理負荷が高いグラフィックス処理を模倣する必要がない。よって、装置模倣部２０６は、実稼働環境の模倣に要する仮想装置の処理負荷を低減可能である。
【００９３】
［第３の具体例］
以下、本実施形態の第３の具体例について説明する。本具体例における分析システム１００は、マルウェアが実行する入出力ポート（Ｉ／Ｏポート）を用いた稼働環境判定処理に対して、実稼働環境を模倣する適切な応答を通知可能である。この場合、構成情報保持部３０４には、例えば、図６に例示するＩ／Ｏポート構成情報が登録されている。図６に例示するＩ／Ｏポート構成情報には、上記各具体例と同様、マルウェアの動作を検知した検知結果（検知内容６０２）と、当該検知結果に関連付けされた模倣設定情報（構成内容６０３）との組合せが項目として含まれる。なお、図６に例示するように、Ｉ／Ｏポート構成情報は、検知内容６０２と、構成内容６０３との組合せを識別可能な項番６０１を含んでもよい。
【００９４】
本具体例における分析システム１００（特には装置模倣部２０６）は、例えば、模倣設定情報に基づいて仮想装置における仮想的なＩ／Ｏポートに関する設定を変更する。また、分析システム１００は、例えば、マルウェアが仮想的なＩ／Ｏポートにアクセスした場合の仮想装置の動作を、模倣設定情報に基づいて変更してもよい。
【００９５】
係る変更により、装置模倣部２０６は、例えば、仮想的なＩ／Ｏポートに対して稼働環境判定処理を実行したマルウェアに対して、仮想装置が以下のような実行結果を通知することを可能とする。即ち、仮想装置は、係るマルウェアに対して、当該稼働環境判定処理が物理的なＩ／Ｏポートに対して実行された場合の結果を模倣した実行結果を通知する。より具体的には、係る変更により、仮想装置は、稼働環境判定処理が物理的なＩ／Ｏポートに対して実行された場合の結果と同等か、略同等である実行結果を、マルウェアに対して通知してもよい。
【００９６】
本具体例における分析システム１００の動作は上記各具体例と同様であることから、詳細な説明を省略し、装置模倣部２０６の動作についてのみ説明する。
【００９７】
例えば、検知されたマルウェアの動作が、項目「１２００２」の検知内容６０２に該当する場合、検体はＩ／Ｏポートに直接アクセスする。この場合、装置模倣部２０６は、項目「１２００２」の構成内容６０３に基づいて、仮想マシンが使用する特定のＩ／Ｏポートを隠蔽するよう、仮想装置を設定する。係る隠蔽対象のＩ／Ｏポートは、例えば、特定の仮想装置に特有のＩ／Ｏポート（例えば、仮想装置に接続するためのバックドア用Ｉ／Ｏポート）等であってもよい。装置模倣部２０６が係るＩ／Ｏポートを隠蔽した場合、マルウェアの検体は、当該検体自身が仮想装置において実行されていることを検知できない。これにより、分析システム１００は、特定のＩ／Ｏポートに対するアクセス処理に基づいて実稼働環境か否かを判定するマルウェアを、適切に分析可能である。
【００９８】
なお、構成内容６０３は上記に限定されない。構成内容６０３には、例えば、マルウェア検体からの特定のＩ／Ｏポートに対するアクセスを、仮想装置を稼働する実機における特定のＩ／Ｏポートに転送するような設定が登録されてもよい。仮想装置のＩ／Ｏポートに対するアクセスを、実機のＩ／Ｏポートに転送する処理は、仮想化基盤毎に用意された機能を用いて実現してもよい。また、構成内容６０３には、例えば、マルウェア検体からの特定のＩ／Ｏポートに対するアクセスに対して、ダミーの応答を通知するような設定が含まれてもよい。係るダミーの応答は、例えば、仮想装置に含まれないデバイスに対するＩ／Ｏポートを介したアクセスに対して、係るデバイスからの応答を偽装する応答であってもよい。
【００９９】
なお、分析システム１００は、項目「１２００１」の構成内容６０３を、標準的な（デフォルトの）Ｉ／Ｏポート構成として、仮想装置に設定してもよい。この場合、マルウェアの検体がＩ／Ｏポートにアクセスしないことから、装置模倣部２０６は、標準設定として、必要最低限のＩ／Ｏポートを備えるように仮想装置を設定してもよい。この場合、装置模倣部２０６は、実稼働環境の模倣に要する仮想装置の処理負荷を低減可能である。
【０１００】
［第４の具体例］
以下、本実施形態の第４の具体例について説明する。本具体例においては、マルウェアの動作に応じて、適切なプロセッサ情報がマルウェアに通知される。この場合、構成情報保持部３０４には、例えば、図７に例示するプロセッサ構成情報が登録されている。図７に例示するプロセッサ構成情報には、上記各具体例と同様、マルウェアの動作を検知した検知結果（検知内容７０２）と、当該検知結果に関連付けされた模倣設定情報（構成内容７０３）との組合せが項目として含まれる。なお、図７に例示するように、プロセッサ構成情報は、検知内容７０２と、構成内容７０３との組合せを識別可能な項番７０１を含んでもよい。
【０１０１】
本具体例における分析システム１００（特には装置模倣部２０６）は、模倣設定情報に基づいて、仮想装置における仮想的なプロセッサを特定可能な情報を変更する。また、分析システム１００（特には装置模倣部２０６）は、マルウェアが仮想的なプロセッサを特定するための処理を実行した場合の仮想装置の動作を、模倣設定情報に基づいて変更してもよい。係る変更により、装置模倣部２０６は、プロセッサを特定するための処理を実行したマルウェアに対して、以下のような実行結果を仮想装置が通知することを可能とする。即ち、仮想装置は、係るマルウェアに対して、当該処理が物理的なプロセッサに対して実行された場合の結果を模倣する実行結果を通知する。より具体的には、係る変更により、仮想装置は、上記処理が物理的なプロセッサに対して実行された場合の結果と同等か、略同等である実行結果を、マルウェアに対して通知してもよい。なお、プロセッサを特定可能な情報は、係るプロセッサのベンダを識別可能な情報、係るプロセッサのモデル（型番）情報、係るプロセッサがサポートしている実行命令に関する情報等、プロセッサに関する任意の情報を含んでもよい。
【０１０２】
本具体例における分析システム１００の動作は上記各具体例と同様であることから、詳細な説明を省略し、装置模倣部２０６の動作についてのみ説明する。
【０１０３】
例えば、検知されたマルウェアの動作が、項目「１３００２」の検知内容７０２に該当する場合、検体はプロセッサ情報にアクセスする。この場合、実行命令検知部２０４が、例えば、マルウェア検体が実行した特定の実行命令（例えば、Ｉｎｔｅｌ社製のＣＰＵにおける「ＣＰＵＩＤ」命令等）を検知する。これに対して、装置模倣部２０６は、項目「１３００２」の構成内容７０３に基づいて、係る実行命令に対する処理結果として、仮想装置を稼働する実機のプロセッサ情報を通知するよう、模倣環境を設定する。具体的には、装置模倣部２０６は、仮想装置において実行されたプロセッサ情報を判定可能な実行命令をトラップし、当該命令に対して実機のプロセッサ情報を通知するよう、仮想装置（または模倣環境）を設定してもよい。これにより、分析システム１００は、プロセッサ情報に基づいて実稼働環境か否かを判定するマルウェアを、適切に分析可能である。
【０１０４】
なお、分析システム１００は、項目「１３００１」の構成内容７０３を、標準的なプロセッサ構成情報として、仮想装置に設定してもよい。この場合、マルウェアの検体がプロセッサ情報にアクセスしないことから、装置模倣部２０６は、例えば、上記プロセッサ情報を判定可能な実行命令に対して仮想装置を構成する仮想的なプロセッサの情報を通知するよう仮想装置を設定してよい。この場合、装置模倣部２０６は、実稼働環境の模倣に要する仮想装置の処理負荷を低減可能である。
【０１０５】
［第５の具体例］
以下、本実施形態の第５の具体例として、分析対象のマルウェアの動作に応じて、模倣環境におけるファイルシステムの構成が設定される場合について説明する。この場合、構成情報保持部３０４には、例えば、図８に例示するファイルシステム構成情報が登録されている。図８に例示するファイルシステム構成情報は、上記各具体例と同様、マルウェアの動作を検知した検知結果（検知内容８０２）と、当該検知結果に関連付けされた模倣設定情報（構成内容８０３）とを項目として含む。なお、図８に例示するように、ファイルシステム構成情報は、検知内容８０２と、構成内容８０３との組合せを識別可能な項番８０１を含んでもよい。
【０１０６】
本具体例における分析システム１００の動作は上記各具体例と同様であることから、詳細な説明を省略し、装置模倣部２０６の動作についてのみ説明する。
【０１０７】
例えば、検知されたマルウェアの動作が、項目「１４００２」の検知内容８０２に該当する場合、検体は仮想装置のファイルシステム（具体的には、ファイルシステム上に構成されたフォルダ）にアクセスする。この場合、実行命令検知部２０４が、例えば、マルウェア検体が実行した特定の実行命令（例えば、ファイルあるいはフォルダに対するアクセス命令等）を検知する。
【０１０８】
これに対して、装置模倣部２０６は、項目「１４００２」の構成内容８０３に基づいて、以下の処理を実行する。即ち、装置模倣部２０６は、仮想装置において、実稼働環境と同様のフォルダ構成を構築する。装置模倣部２０６は、例えば、実稼働環境におけるフォルダ構成を、仮想装置にコピーしてもよい。そして、装置模倣部２０６は、仮想装置に構築されたフォルダ構成において、機密情報を含むファイルあるいはフォルダ等を、マルウェアの検体から隠蔽するよう加工する。具体的には、装置模倣部２０６は、機密情報を含むファイルあるいはフォルダ等を削除してもよく、ダミーのデータに置き換えてもよい。なお、この場合、機密情報に該当するファイル又はフォルダを特定可能な情報が、分析システム１００（例えば、構成情報保持部３０４）に予め登録されていてもよい。
【０１０９】
上記処理の結果、マルウェア検体が実行したファイルシステムへのアクセス命令に対する結果として、仮想装置に構築されたフォルダ構成に対するアクセス処理命令の結果が、仮想装置から通知される。この場合、マルウェア検体は、自身が模倣環境において実行されていることを判定できない。よって、分析システム１００は、ファイルシステムの構成に基づいて実稼働環境か否かを判定するマルウェアを、適切に分析可能である。
【０１１０】
なお、分析システム１００は、項目「１４００１」の構成内容８０３を、標準的なファイルシステム構成（フォルダ構成）として、仮想装置に設定してもよい。この場合、マルウェアの検体はファイルシステム（フォルダ構成）にアクセスしないことから、装置模倣部２０６は、例えば、仮想装置において所定の標準的なフォルダ構成を構築してもよい。この場合、装置模倣部２０６は、実稼働環境の模倣に要する仮想装置の処理負荷を低減可能である。
【０１１１】
上記各具体例においては、例えば、装置模倣部２０６が、ステップＳ９０１において、各標準設定（項目１０００１、１１００１、１２００１、１３００１、及び、１４００１）の構成内容を用いて、模倣環境及び仮想装置を初期化してもよい。
【０１１２】
以上、上記各具体例を用いて、本実施形態における分析システム１００の動作について説明したが、分析システム１００は上記具体例には限定されない。分析システム１００は、上記と同様の処理により、マルウェアの動作に応じて、模倣環境あるいは仮想装置を構成する他の構成要素を適切に設定可能である。例えば、マルウェアがＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）にアクセスする場合は、分析システム１００は、係るＢＩＯＳアクセスに対して適切な応答を返すための模倣設定を用いて、模倣環境（仮想装置）の構成を設定（変更）してもよい。
【０１１３】
なお、上記説明した本実施形態に係る分析システム１００が分析可能なプログラムは、マルウェア等の不正プログラムに限定されない。即ち、分析システム１００は、模倣環境において実行される任意のプログラムを分析可能であってよい。例えば、分析システム１００は、ソフトウェア・プログラムの開発過程における検証工程において用いられてもよい。この場合、分析システム１００を用いることにより、開発されたプログラムを実稼働環境に導入する前に、模倣環境において実行することで、当該プログラムの動作を分析することが可能である。
【０１１４】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。図１１は、本実施形態における分析システム１１００の機能的な構成を例示するブロック図である。図１１に例示するように、本実施形態における分析システム１１００は、動作分析部１１０１と、構成部１１０２とを備える。動作分析部１１０１は、動作分析手段として機能してもよく、構成部１１０２は、構成手段として機能してもよい。動作分析部１１０１と、構成部１１０２との間は、任意の通信手段を用いて通信可能に接続されている。なお、図１２に例示するように、分析システム１１００は、単体の装置（物理的あるいは仮想的な装置）を用いて構成されてもよい。この場合、分析システム１１００は、単体の分析装置として機能する。
【０１１５】
動作分析部１１０１は、分析対象のプログラムである分析対象プログラムを、当該分析対象プログラムを実行可能な第１の実行環境の少なくとも一部の構成を模倣可能な第２の実行環境において実行することにより、当該分析対象プログラムの動作を分析する。係る分析対象プログラムは、例えば、マルウェア等の不正プログラムであってもよい。なお、上記動作分析部１１０１は、第１の実施形態における動作分析部１０１と同様の構成を備えてもよい。
【０１１６】
構成部１１０２は、動作分析部１１０１において分析された分析対象プログラムの動作に応じて、第２の実行環境の少なくとも一部の構成を変更する。これにより、構成部１１０２は、上記分析対象プログラムの動作に関連する第１の実行環境における特定の構成を模倣可能な第２の実行環境を構築する。なお、上記構成部１１０２は、第１の実施形態における構成部１０２と同様の構成を備えてもよい。また、上記第１の実行環境は、例えば、第１の実施形態における実稼働環境であってもよく、上記第２の実行環境は、例えば、第１の実施形態における模倣環境であってもよい。
【０１１７】
上記のように構成された本実施形態において、上記分析対象プログラムは、当該分析対象プログラム自体が第１又は第２の実行環境のいずれにおいて実行されているか判定することができない。なぜならば、分析システム１１００は、当該分析対象プログラムの動作に応じて第２の実行環境の構成を変更することにより、第１の実行環境の特定の構成を模倣可能な第の２実行環境を構築するからである。これにより、例えば、当該分析対象プログラムが第２の実行環境において特定の動作を実行した場合、第２の実行環境から当該分析対象プログラムに対して、第１の実行環境を模倣した実行結果が通知される。
【０１１８】
以上より、本実施形態における分析システム１１００は、上記プログラムの動作に影響を与えることなく、当該プログラムの本来の機能を適切に分析可能である。よって、本実施形態における分析システム１１００によれば、プログラムの動作に応じて適切な分析環境を構築することにより、当該プログラムの本来の動作を分析することが可能である。
【０１１９】
＜第２の実施形態の変形例＞
次に、図１３を参照して、第２の実施形態の変形例について説明する。図１３に例示するように、本変形例における分析システム１３００は、第２の実施形態における分析システム１１００に対して、表示部１３０１を更に備える。本変形例におけるその他の構成要素（動作分析部１１０１、及び、構成部１１０２）は、上記第２の実施形態と同様としてよい。
【０１２０】
表示部１３０１は、第２の実行環境を構成する仮想装置の構成を表示可能な表示手段である。また、表示部１３０１は、第２の実行環境を構成する仮想ネットワークの構成を表示してもよい。表示部１３０１は、例えば、動作分析部１１０１から上記仮想装置の構成を表す情報を取得し、係る情報をディスプレイ装置等の表示画面に出力してもよい。なお、表示部１３０１は、第１の実施形態における模倣構成表示部２１０と同様の構成を備えてもよい。
【０１２１】
上記のように構成された本変形例における分析システム１３００によれば、例えば、分析システム１３００のユーザは、分析対象プログラムの動作に応じて変更された仮想装置の構成を確認可能である。また、係る分析システム１３００は、上記第２の実施形態と同様の構成を備えることから、上記第２の実施形態と同様の効果を奏する。
【０１２２】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
【０１２３】
以下の説明においては、上記各実施形態において説明した分析システム（１００、１１００、１３００）を、単に「分析システム」と称する。またこれら分析システムの各構成要素を、単に「分析システムの構成要素」と称する。
【０１２４】
上記各実施形態において説明した分析システムは、１つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記各図（図１、図１１乃至図１３）に示した各構成要素は、その一部又は全部を統合したハードウェア（処理ロジックを実装した集積回路あるいは記憶デバイス等）を用いて実現されてもよい。
【０１２５】
例えば、分析システムが専用のハードウェアにより実現される場合、係る分析システムの構成要素は、それぞれの機能を提供可能な集積回路（例えば、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等）を用いて実装されてもよい。この場合、分析システムの構成要素が保持するデータは、例えば、ＳｏＣとして統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域やフラッシュメモリ領域、あるいは、当該ＳｏＣに接続された記憶デバイス（磁気ディスク等）に記憶されてもよい。また、この場合、分析システムの各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。分析システムを複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、任意の通信手段（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。
【０１２６】
また、上述した分析システム又はその構成要素は、図１４に例示するような汎用のハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、分析システムは、任意の数の、汎用のハードウェア装置及びソフトウェア・プログラムにより構成されてもよい。
【０１２７】
図１４における演算装置１４０１は、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置１４０１は、例えば後述する不揮発性記憶装置１４０３に記憶された各種ソフトウェア・プログラムを記憶装置１４０２に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態における分析システムの構成要素（動作分析部（１０１、１１０１）あるいは構成部（１０２、１１０２）等）は、演算装置１４０１により実行されるソフトウェア・プログラムとして実現可能である。
【０１２８】
記憶装置１４０２は、演算装置１４０１から参照可能な、ＲＡＭ等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置１４０２は、揮発性のメモリ装置であってもよい。
【０１２９】
不揮発性記憶装置１４０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置１４０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。
【０１３０】
ネットワークインタフェース１４０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置や、ＳＡＮ接続用インタフェース装置等を採用してもよい。
【０１３１】
ドライブ装置１４０４は、例えば、後述する記録媒体１４０５に対するデータの読み込みや書き込みを処理する装置である。
【０１３２】
記録媒体１４０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【０１３３】
入出力インタフェース１４０７は、外部装置との間の入出力を制御する装置である。
【０１３４】
上述した各実施形態を例に説明した本発明における分析システム（あるいはその構成要素）は、例えば、図１４に例示するハードウェア装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置１４０１が実行することによって、本発明が実現されてもよい。この場合、係るハードウェア装置で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト、仮想環境基盤等のミドルウェアなどが各処理の一部を実行してもよい。
【０１３５】
更に、上記ソフトウェア・プログラムは記録媒体１４０５に記録されてもよい。この場合、上記ソフトウェア・プログラムは、上記分析システム等の出荷段階、あるいは運用段階等において、適宜ドライブ装置１４０４を通じて不揮発性記憶装置１４０３に格納されるよう構成されてもよい。
【０１３６】
なお、上記の場合において、上記ハードウェアへの各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
【０１３７】
そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置と独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
【０１３８】
また、上述した分析システムは、図１４に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図１４に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図１４に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。
【０１３９】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。
【０１４０】
この出願は、２０１５年６月１６日に出願された日本出願特願２０１５−１２０７１２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１４１】
１００  分析システム
１０１  動作分析部
１０２  構成部
２０１  検体保持部
２０２  検体準備部
２０３  検体分析部
２０４  実行命令検知部
２０５  検知結果送信部
２０６  装置模倣部
２０７  模倣設定受信部
２０８  分析結果格納部
２０９  分析結果保持部
３０１  検知結果受信部
３０２  構成調整部
３０３  模倣設定送信部
３０４  構成情報保持部
１１００  分析システム
１１０１  動作分析部
１１０２  構成部
１３０１  表示部
１４０１  演算装置
１４０２  記憶装置
１４０３  不揮発性記憶装置
１４０４  ドライブ装置
１４０５  記録媒体
１４０６  ネットワークインタフェース
１４０７  入出力インタフェース
【図１】
2016203759.tif 000003
【図２】
2016203759.tif 000004
【図３】
2016203759.tif 000005
【図４】
2016203759.tif 000006
【図５】
2016203759.tif 000007
【図６】
2016203759.tif 000008
【図７】
2016203759.tif 000009
【図８】
2016203759.tif 000010
【図９】
2016203759.tif 000011
【図１０】
2016203759.tif 000012
【図１１】
2016203759.tif 000013
【図１２】
2016203759.tif 000014
【図１３】
2016203759.tif 000015
【図１４】
2016203759.tif 000016
【国際調査報告】
2016203759.tif 000017
2016203759.tif 000018
2016203759.tif 000019
2016203759.tif 000020