(57)【要約】  マルウェア解析システム（１）は、予備解析部（１３１）と、判定部（１３２）と、指定部（１３３）とを有する。予備解析部（１３１）は、解析対象の候補として取得されたマルウェアを実行させることにより、マルウェアから発信される通信に関する情報を取得する。判定部（１３２）は、予備解析部（１３１）によって取得された情報に基づいて、マルウェアを解析の対象とするか否かを判定する。指定部（１３３）は、判定部（１３２）によって解析の対象と判定されたマルウェアに対して、予備解析部（１３１）によって取得された情報に基づいて、解析される順位を指定する。
2016121255.tif 000002
【特許請求の範囲】
【請求項１】
解析対象の候補として取得されたマルウェアを実行させることにより、当該マルウェアから発信される通信に関する情報を取得する予備解析部と、
前記予備解析部によって取得された情報に基づいて、前記マルウェアを解析の対象とするか否かを判定する判定部と、
前記判定部によって解析の対象と判定されたマルウェアに対して、前記予備解析部によって取得された情報に基づいて、解析される順位を指定する指定部と、
を備えたことを特徴とするマルウェア解析システム。
【請求項２】
前記予備解析部は、
マルウェアと外部の通信ネットワークとを隔離した環境である閉環境においてマルウェアを実行させた場合には、前記マルウェアから発信される通信に関する情報として、通信先であるＩＰアドレスの直接指定の有無、または、名前解決が成功した通信の有無に関する情報を取得し、
前記判定部は、
前記予備解析部によって取得された情報に、ＩＰアドレスの直接指定、または、名前解決が成功した通信のいずれかが有った場合には、当該マルウェアを解析の対象と判定し、
前記指定部は、
前記ＩＰアドレス、または、前記名前解決が成功した通信により特定される通信先の件数に応じて、前記マルウェアが解析される順位を指定する、
ことを特徴とする請求項１に記載のマルウェア解析システム。
【請求項３】
前記予備解析部は、
マルウェアと外部の通信ネットワークとが接続可能な環境である開環境においてマルウェアを実行させた場合には、前記マルウェアから発信される通信に関する情報として、エラー以外のレスポンスが得られた通信の有無に関する情報を取得し、
前記判定部は、
前記予備解析部によって取得された情報に、エラー以外のレスポンスの得られた通信が有った場合には、当該マルウェアを解析の対象と判定し、
前記指定部は、
前記エラー以外のレスポンスの得られた通信先の件数に応じて、前記マルウェアが解析される順位を指定する、
ことを特徴とする請求項１に記載のマルウェア解析システム。
【請求項４】
前記予備解析部は、
マルウェアを実行させる端末において、当該端末にインストールされるＯＳ、ライブラリ、もしくはアプリケーションが任意に組み合わされる複数の実行環境で前記マルウェアを実行させることにより、当該マルウェアから発信される通信における通信先の件数を実行環境ごとに取得し、
前記指定部は、
前記予備解析部によって実行環境ごとに取得された通信先の件数のうち、最も多い通信先の件数に応じて、前記マルウェアが解析される順位を指定する、
ことを特徴とする請求項１に記載のマルウェア解析システム。
【請求項５】
前記予備解析部は、
処理対象となるマルウェアに関して、通信ネットワークを介してマルウェアが一元的に貯蔵される所定のデータベースに初めて当該マルウェアが登録された日時である登録日時を取得し、
前記判定部は、
前記登録日時に基づいて、当該マルウェアを解析の対象とするか否かを判定し、
前記指定部は、
前記判定部によって解析の対象と判定されたマルウェアのうち、前記登録日時の新しいマルウェアほど解析される順位を高く指定する、
ことを特徴とする請求項１に記載のマルウェア解析システム。
【請求項６】
前記予備解析部は、
処理対象となるマルウェアに関して、通信ネットワークを介してマルウェアが一元的に貯蔵される所定のデータベースに前記マルウェアに関する情報を投稿した人数である投稿者数を取得し、
前記判定部は、
前記投稿者数に基づいて、当該マルウェアを解析の対象とするか否かを判定し、
前記指定部は、
前記判定部によって解析の対象と判定されたマルウェアのうち、前記投稿者数の大小に応じて、解析される順位の高低を指定する、
ことを特徴とする請求項１に記載のマルウェア解析システム。
【請求項７】
解析対象の候補として取得されたマルウェアを実行させることにより、当該マルウェアから発信される通信に関する情報を取得する予備解析ステップと、
前記予備解析ステップによって取得された情報に基づいて、前記マルウェアを解析の対象とするか否かを判定する判定ステップと、
前記判定ステップによって解析の対象と判定されたマルウェアに対して、解析される順位を指定する指定ステップと、
を含むことを特徴とするマルウェア解析方法。
【請求項８】
コンピュータに、
解析対象の候補として取得されたマルウェアを実行させることにより、当該マルウェアから発信される通信に関する情報を取得する予備解析ステップと、
前記予備解析ステップによって取得された情報に基づいて、前記マルウェアを解析の対象とするか否かを判定する判定ステップと、
前記判定ステップによって解析の対象と判定されたマルウェアに対して、前記予備解析ステップによって取得された情報に基づいて、解析される順位を指定する指定ステップと、
を実行させることを特徴とするマルウェア解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラムに関する。
【背景技術】
【０００２】
近年、情報漏えいや不正アクセス等の脅威をもたらす不正プログラム（以下、「マルウェア」と呼ぶ）が猛威を振るっている。マルウェアに感染させる手口は年々複雑化、巧妙化しており、感染を完全に防ぐことは困難となりつつある。そのため、感染防止対策だけでなく、感染後の被害を最小限に抑える対策も希求されている。【０００３】
感染後の被害を最小限に抑制するためには、早期に感染端末を発見し、無害化することが望ましい。対策手法の一例として、端末から発信される通信を監視する手法（ネットワーク監視）が挙げられる。ネットワーク監視は、感染後に発生する攻撃者サーバとの通信を検知することで、感染端末を検知する。また、マルウェアから発生する通信に基づいた検知は、マルウェアによって対策自体が無効化されることはない点においても有用である。【０００４】
具体的な手法として、マルウェアを実行しながら解析する手法（以下、「動的解析」と表記する）によって、マルウェアの通信先情報を収集し、ブラックリスト化する手法が講じられている。ネットワーク監視においては、このブラックリストの規模および鮮度が対策の効果を決める。ブラックリストの規模が小さければ見逃しが発生し、また、情報が古ければ対策の効果は期待できない。このため、マルウェアをより多く解析し、生存している攻撃者サーバの通信先を示すＩＰアドレスや、ＦＱＤＮ（Fully  Qualified  Domain  Name）や、ＵＲＬ（Uniform  Resource  Locator）等を収集しておくことが重要である。すなわち、感染後の対策を目的にブラックリストを生成するには、収集した検体の全てをネットワークに接続した状態で、一定期間動的解析することが望ましい。【０００５】
しかし、日々新たに発見されるマルウェアは非常に膨大であり、解析のための計算資源も有限であることから、全てのマルウェアを解析することは困難な状況にある。そのため、収集した検体（マルウェア）の中から、解析対象とする検体を効果的に選定する手法が求められている。例えば、マルウェアのプログラムコード間の類似性の算出をすることで、解析の重複回避を実現する技術が知られている（例えば、非特許文献１）。また、ブラックリスト生成に適した検体を選定するため、静的解析の結果から動的解析の結果を予測する技術が知られている（例えば、非特許文献２）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Gregoire  Jacob、Paolo  Milani  Comparetti、Matthias  Neugschwandtner、Christopher  Kruegel、Giovanni  Vigna、「A  Static,  Packer-Agnostic  Filter  to  Detect  Similar  Malware  Samples」、DIMVA  2012
【非特許文献２】Matthias  Neugschwandtner、Paolo  Milani  Comparetti、Gregoire  Jacob、Christopher  Kruegel、「FORECAST:  Skimming  off  the  Malware  Cream」、ACSAC  2011
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の従来技術では、解析するマルウェアを効果的に選定することが困難である。具体的には、静的解析によってプログラムコードが類似していることを算出しても、プログラムコードの類似性からは抽出されない通信先の違いを見逃す場合がある。また、静的解析の結果から動的解析の動作を予測する場合には、新たな種類のマルウェアが出現した場合や、プログラムコードを難読化する処理がマルウェアに施された場合に特徴の抽出ができず、通信を行う検体を見逃す可能性が高くなる。【０００８】
本発明は、上記に鑑みてなされたものであって、解析するマルウェアを効果的に選定することができるマルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、マルウェア解析システムは、解析対象の候補として取得されたマルウェアを実行させることにより、当該マルウェアから発信される通信に関する情報を取得する予備解析部と、前記予備解析部によって取得された情報に基づいて、前記マルウェアを解析の対象とするか否かを判定する判定部と、前記判定部によって解析の対象と判定されたマルウェアに対して、前記予備解析部によって取得された情報に基づいて、解析される順位を指定する指定部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本願が開示する実施形態の一例によれば、解析するマルウェアを効果的に選定することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態に係るマルウェア解析システムによる解析処理の一例を示す図である。
【図２】図２は、実施の形態に係るマルウェアＤＢの一例を示す図である。
【図３】図３は、実施の形態に係る予備解析装置の構成の一例を示す図である。
【図４】図４は、実施の形態に係る閉環境実行ログテーブルの一例を示す図である。
【図５】図５は、実施の形態に係る開環境実行ログテーブルの一例を示す図である。
【図６】図６は、実施の形態に係る解析対象ＤＢの一例を示す図である。
【図７】図７は、実施の形態に係る予備解析処理手順を示すフローチャートである。
【図８】図８は、実施の形態に係る閉環境における判定処理手順を示すフローチャートである。
【図９】図９は、実施の形態に係る開環境における判定処理手順を示すフローチャートである。
【図１０】図１０は、実施の形態に係る指定処理手順を示すフローチャートである。
【図１１】図１１は、マルウェア解析プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願に係るマルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るマルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラムが限定されるものではない。
【００１３】
［解析処理の一例］
まず、図１を用いて、実施の形態に係るマルウェア解析システム１による解析処理の一例を説明する。図１は、実施の形態に係るマルウェア解析システム１による解析処理の一例を示す図である。図１に示すように、マルウェア解析システム１は、マルウェアＤＢ（Database）２０と、予備解析装置１００と、解析対象ＤＢ３０と、本解析装置２００とを含む。
【００１４】
マルウェアＤＢ２０は、所定のストレージサーバが有するデータベースであり、マルウェア収集システム１０によって収集されたマルウェアが記憶される。なお、マルウェア収集システム１０は、通信ネットワーク（例えば、インターネット）を介して、検体であるマルウェアを収集するサーバ装置等により構成される。マルウェア収集システム１０は、例えば、インターネット上に存在するマルウェア共有サイトに登録されたマルウェアを収集する。そして、マルウェア収集システム１０は、収集したマルウェア本体と、マルウェアに付属する情報とをマルウェアＤＢ２０に格納する。なお、マルウェアに付属する情報とは、例えば、マルウェア共有サイトにマルウェアがはじめて登録された登録日時等である。
【００１５】
予備解析装置１００は、解析するマルウェアを選定するために、マルウェアに対する予備解析を実行するサーバ装置である。予備解析装置１００は、マルウェアＤＢ２０に格納されたマルウェアに関する情報を予備解析することにより、本解析装置２００が解析すべきマルウェアを選定する。
【００１６】
解析対象ＤＢ３０は、所定のストレージサーバが有するデータベースであり、解析対象であるマルウェアが記憶される。解析対象ＤＢ３０に記憶されたマルウェアは、予備解析装置１００によって、本解析装置２００が解析を実行する優先順位が指定される。
【００１７】
本解析装置２００は、解析対象ＤＢ３０に記憶されているマルウェアであって、予備解析装置１００によって先の優先順位が指定されたマルウェアの順に、悪性判定等の解析を実行するサーバ装置である。以下、上記各装置を含むマルウェア解析システム１が行う解析処理の一例を流れに沿って説明する。なお、以下の説明では、予備解析装置１００が実行するマルウェアの選定処理に係る解析を「予備解析」と表記し、本解析装置２００が実行するマルウェアの悪性度判定処理等に係る解析を「本解析」と表記する。また、以下の説明において、解析処理の対象となるマルウェアを「検体」と表記する場合がある。
【００１８】
まず、予備解析装置１００は、マルウェアＤＢ２０に記憶されているマルウェアのうち、まだ予備解析を行っていないマルウェアを取得する。そして、予備解析装置１００に係る予備解析部１３１は、取得されたマルウェアについての予備解析を実行する。予備解析部１３１による予備解析処理は、マルウェアを動作させ、マルウェアから発生する通信データの状況等を測定する動的解析処理により行われる。なお、詳しくは後述するが、予備解析部１３１によるマルウェアの予備解析処理は、マルウェアと外部の通信ネットワークとを隔離した環境、すなわち、マルウェアをインターネットと接続させない環境（以下、「閉環境」と表記する）と、マルウェアとインターネットが接続可能な環境（以下、「開環境」と表記する）と、の二種類の環境のいずれか、或いは、併用で行われる。併用で予備解析が行われる場合は、開環境の結果を優先する。また、予備解析部１３１によるマルウェアの予備解析処理は、マルウェアが実行される端末のＯＳ（Operating  System）のバージョンや、ＯＳ上にインストールされているアプリケーションなど、種々の実行環境により実行される。
【００１９】
そして、予備解析部１３１は、予備解析を実行した結果である実行ログを実行ログＤＢ１２１に格納する。続いて、判定部１３２は、実行ログＤＢ１２１に格納された情報に基づいて、本解析を行うマルウェアを判定する処理を行う。例えば、判定部１３２は、予備解析処理において、マルウェアがインターネットを介して外部サーバとの通信を確立していたか否か等を要素として、マルウェアを本解析すべきか否かの判定を行う。
【００２０】
続いて、指定部１３３は、判定部１３２によって本解析の対象とされたマルウェアについて、優先順位を指定する処理を行う。優先順位の指定は、例えば、マルウェア共有サイト等にマルウェアが登録された日時や、マルウェアが発生させる通信に係る通信先の件数に基づいて行われる。そして、指定部１３３は、指定した優先順位と、予備解析時に利用したＯＳ（Operating  System）のバージョンなどの実行環境設定情報と、マルウェア本体とを対応付けて、解析対象ＤＢ３０に格納する。
【００２１】
その後、本解析装置２００に係る本解析部２１０は、解析対象ＤＢ３０に格納されたマルウェアについて、予備解析装置１００が指定した優先順に従い、本解析処理を実行する。そして、本解析部２１０は、マルウェアの本解析処理の結果を解析ログＤＢ２２０に格納する。すなわち、本解析部２１０によって、悪性通信を引き起こすマルウェアの通信先であるサーバの情報などが解析される。これにより、マルウェア解析システム１は、マルウェアに関する、いわゆるブラックリストを生成することができる。
【００２２】
このように、マルウェア解析システム１は、予備解析として、解析対象の候補として取得されたマルウェアを実行させることにより、マルウェアから発信される通信に関する情報を取得する。そして、予備解析によって取得された情報に基づいて、マルウェアを本解析の対象とするか否かを判定する。そして、解析の対象と判定されたマルウェアに対して、本解析される順位を指定する。
【００２３】
すなわち、マルウェア解析システム１は、上記のような予備解析を実行することで、過去のマルウェアと同じプログラムコードであるが通信先が異なるマルウェアや、新たな種類のマルウェアや、パッキングによって表層的な特徴が隠蔽されているマルウェア等について、所定の通信に関する情報を取得する。そして、マルウェア解析システム１は、かかる予備解析の結果に基づいて、悪性通信を行う可能性の高いマルウェアを抽出する。言い換えれば、マルウェア解析システム１は、一定時間インターネットに接続しながら、マルウェアから発信される通信に含まれる通信先に関する情報であるＩＰアドレスや、ＦＱＤＮや、ＵＲＬを収集するための対象とするマルウェアを効果的に選定することができる。結果として、マルウェア解析システム１は、膨大な数のマルウェアの中から、ブラックリスト化すべきマルウェアについて、効率良く解析処理を進めることができる。
【００２４】
［マルウェア解析システムの構成］
以下では、上述してきたマルウェア解析システム１を構成する各装置について、図を用いて詳細に説明する。
【００２５】
（マルウェアＤＢ２０について）
マルウェアＤＢ２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【００２６】
マルウェアＤＢ２０は、マルウェア収集システム１０によって収集されたマルウェアに関する情報が記憶される。ここで、図２に、実施の形態に係るマルウェアＤＢ２０の一例を示す。図２に示すように、マルウェアＤＢ２０は、「マルウェア識別子」、「登録日時」といった項目を有する。
【００２７】
「マルウェア識別子」は、マルウェアを識別するための識別情報を示す。「登録日時」は、マルウェア共有サイト等にマルウェアがはじめて登録された日時を示す。なお、マルウェア共有サイト等を介さずに、マルウェア収集システム１０によってマルウェアが収集された場合には、登録日時は、マルウェアがマルウェアＤＢ２０に格納された日時が記憶されてもよい。
【００２８】
すなわち、図２では、マルウェアＤＢ２０に記憶された情報の一例として、マルウェア識別子「Ｍ００１」で識別されるマルウェアが、「２０１４年１２月２８日２２時２５分１４秒」に登録された一例を示している。
【００２９】
なお、以下では、「マルウェア識別子」の項目に記憶されている識別子を参照符号として用いる場合がある。例えば、以下では、マルウェア識別子「Ｍ００１」によって識別されるマルウェアを「マルウェアＭ００１」と表記する場合がある。
【００３０】
（予備解析装置１００について）
次に、図３を用いて、実施の形態に係る予備解析装置１００について説明する。図３は、実施の形態に係る予備解析装置の構成の一例を示す図である。図３に例示するように、実施の形態に係る予備解析装置１００は、ＩＦ（interface）部１１０と、記憶部１２０と、制御部１３０とを有する。
【００３１】
ＩＦ部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等であり、外部装置との間で各種データを送受信する。例えば、ＩＦ部１１０は、マルウェアＤＢ２０、もしくは解析対象ＤＢ３０を有する各ストレージサーバや、本解析装置２００との間でマルウェアに関する情報を送受信する。
【００３２】
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等によって実現される。記憶部１２０は、実行ログＤＢ１２１を有する。実行ログＤＢ１２１は、閉環境により予備解析が行われた結果を記憶する閉環境実行ログテーブル１２２と、開環境により予備解析が行われた結果を記憶する開環境実行ログテーブル１２３とを有する。
【００３３】
（閉環境実行ログテーブル１２２について）
ここで、図４に、実施形態に係る閉環境実行ログテーブル１２２の一例を示す。図４に示すように、閉環境実行ログテーブル１２２は、「マルウェア識別子」、「取得日時」、「閉環境予備解析情報」といった項目を有する。また、「閉環境予備解析情報」は、「実行環境情報」、「実行結果」、「データ送信発生の有無」、「ＩＰアドレス直接指定の有無」、「成功した名前解決の有無」、「通信先件数」といった小項目を有する。
【００３４】
「マルウェア識別子」は、マルウェアを識別するための識別情報を示す。「取得日時」は、予備解析が行われることにより閉環境予備解析情報が取得された日時を示す。なお、取得日時は、後述する実行環境情報ごとに記憶されてもよい。
【００３５】
「閉環境予備解析情報」は、閉環境で予備解析が行われた際の結果を示す。「実行環境情報」は、予備解析のためにマルウェアが実行された際の環境情報を示す。図４では、実行環境情報を「Ａ００１」といった概念で示しているが、実際には、マルウェアが実行された際のＯＳのバージョンや、マルウェアが実行された端末内のランタイムライブラリの有無やバージョンや、アプリケーションのインストールの有無やバージョンなどの各種情報の組み合わせによって構成される実行環境が記憶される。
【００３６】
「実行結果」は、予備解析時の各実行環境情報において、マルウェアが実際に動作したか否かを示す。「実行結果」の項目が「○」であれば、マルウェアが動作したことを示し、実行結果が「×」であれば、マルウェアが動作しなかったことを示す。なお、マルウェアが実際に動作したか否かは、例えば、プロセス生成の成功可否や、実行時エラーの発生有無を確認することで判定できる。具体的には、プロセス生成が成功した場合や、実行時エラーが発生しなかった場合に、マルウェアが実際に動作したと判定することが可能である。
【００３７】
「データ送信発生の有無」は、マルウェアが動作した場合に、データ送信する挙動が観測されたか否かを示す。「データ送信発生の有無」の項目が「○」であれば、マルウェアからデータが送信される挙動が観測されたことを示し、「データ送信発生の有無」の項目が「×」であれば、マルウェアからデータが送信される挙動が観測されなかったことを示す。なお、「実行結果」の項目が「×」であれば、マルウェアからデータ送信の挙動は観測されないため、「データ送信発生の有無」以降の項目には「‐」が記憶される。
【００３８】
「ＩＰアドレス直接指定の有無」は、マルウェアが動作した場合に、ＩＰアドレスを直接指定したデータ送信が観測されたか否かを示す。「ＩＰアドレス直接指定の有無」の項目が「○」であれば、ＩＰアドレスを直接指定したデータ送信が観測されたことを示し、「ＩＰアドレス直接指定の有無」の項目が「×」であれば、ＩＰアドレスを直接指定したデータ送信が観測されなかったことを示す。
【００３９】
「成功した名前解決の有無」は、マルウェアの通信によって通信先のサーバ等のアドレスを割り出すことができたか否かを示す。「成功した名前解決の有無」の項目が「○」であれば、名前解決が成功したことを示し、「成功した名前解決の有無」の項目が「×」であれば、名前解決が成功しなかったことを示す。また、「成功した名前解決の有無」の項目が「‐」である場合、マルウェアが動作しないために、そもそも名前解決を行うことができない場合か、あるいは、名前解決を行うことを要さない場合であることを示す。名前解決を行うことを要さない場合とは、例えば、マルウェアからＩＰアドレス直接指定の通信が観測されたため、詳細に名前解決を行うまでもなく、かかるマルウェアを本解析の対象とすることが判断可能な場合等をいう。この場合、「データ送信発生の有無」の項目や、「ＩＰアドレス直接指定の有無」の項目が「○」である場合でも、「成功した名前解決の有無」の項目が「-」となる場合がある。
【００４０】
「通信先件数」は、マルウェアが通信処理を行う挙動をした相手先の件数を示す。具体的には、通信先件数は、マルウェアの通信先であるＩＰアドレスの数を示す。
【００４１】
すなわち、図４では、マルウェアＭ０１１への閉環境予備解析情報が「２０１５年１月１５日９時１５分３５秒」に取得され、その閉環境予備解析情報は、実行環境情報が「Ａ００１」のときには、実行結果が「×」であり、マルウェアが動作しなかったことを示している。また、他の例では、実行環境情報が「Ａ００２」のときには、マルウェアが動作し、データ送信の挙動が観測されたが、ＩＰアドレスを直接指定した通信は観測されなかったことを示している。また、他の例では、実行環境情報が「Ａ００３」のときには、マルウェアが動作し、データ送信の挙動が観測され、ＩＰアドレスを直接指定した通信が観測され、その通信先件数は「２３」件であったことを示している。
【００４２】
（開環境実行ログテーブル１２３について）
次に、図５に、実施の形態に係る開環境実行ログテーブル１２３の一例を示す。図５に示すように、開環境実行ログテーブル１２３は、「マルウェア識別子」、「取得日時」、「開環境予備解析情報」といった項目を有する。また、「開環境予備解析情報」は、「実行環境情報」、「実行結果」、「通信発生の有無」、「エラーのない通信の有無」、「レスポンスの得られた通信先件数」といった小項目を有する。なお、図４と同様の項目については、説明を省略する。
【００４３】
「開環境予備解析情報」は、開環境で予備解析が行われた際の結果を示す。「通信発生の有無」の項目は、図４における「データ送信発生の有無」に対応する。図４において「データ送信発生の有無」となっているのは、閉環境では通信は観測できず、マルウェアから一方的にデータを送信する挙動しか観測されないためである。
【００４４】
「エラーのない通信の有無」は、マルウェアからの通信に対して、サーバ等の相手先が存在しており、エラーのない通信が少なくとも一つ観測されたか否かを示す。ここで、通信のエラーは、プロトコルごとに定義される。例えば、プロトコルがＨＴＴＰ（Hypertext  Transfer  Protocol）である場合には、通信のエラーは、２００番台以外が該当する。なお、マルウェアが用いるプロトコルには、例えば、ＦＴＰ（File  Transfer  Protocol）や、ＳＭＴＰ（Simple  Mail  Transfer  Protocol）なども含まれる。また、プロトコルが不明な場合には、タイムアウトなどによる接続失敗がエラーに該当する。
【００４５】
「レスポンスの得られた通信先件数」とは、マルウェアの予備解析における通信において、エラーの無い通信が行われた通信先の件数を示す。なお、所定の通信先において、下層において指定された宛先にエラーが発生した通信があったとしても、異なる宛先にエラーの無い通信が成立する場合には、「レスポンスの得られた通信先件数」に計数されてもよい。具体的には、ＨＴＴＰ通信において、「http://example.com/a.html」では「404  Not  Found（エラーあり）」のようにエラーが発生したとしても、「http://example.com/b.html」では「200  O.K.（エラーなし）」のようにエラーが発生しなかった場合には、「http://example.com」は、エラーの無い通信が行われた通信先として計数されてもよい。
【００４６】
すなわち、図５では、マルウェアＭ０２１への開環境予備解析情報が「２０１５年１月１７日１１時８分３０秒」に取得され、その開環境予備解析情報は、実行環境情報が「Ａ００１」のときには、実行結果が「×」であり、マルウェアが動作しなかったことを示している。また、他の例では、実行環境情報が「Ａ００２」のときには、マルウェアが動作し、通信が発生していることが観測されたが、発生した通信はエラーのみが返ってきたことを示している。また、他の例では、実行環境情報が「Ａ００３」のときには、マルウェアが動作し、通信が発生し、さらに、エラーの無い通信が行われ、その通信先件数は「１７」件であったことを示している。
【００４７】
（制御部１３０について）
制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。また、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、図示しない記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、予備解析部１３１と、判定部１３２と、指定部１３３とを備え、マルウェアに対する予備解析処理を実行する。以下、各処理部について説明する。
【００４８】
（予備解析部１３１について）
予備解析部１３１は、処理対象となるマルウェア（検体）に予備解析を実行する。具体的には、実施形態に係る予備解析部１３１は、予備解析として、解析対象の候補として取得されたマルウェアを実行させることにより、マルウェアから発信される通信に関する情報を取得する。この場合、マルウェアを実行させるとは、所定の端末において検体をプログラムとして実際に動作させることを示す。また、予備解析部１３１は、処理対象となる検体を、マルウェアＤＢ２０から取得する。この場合、予備解析部１３１は、まずマルウェアＤＢ２０に格納されているマルウェアの情報を取得し、マルウェアＤＢ２０に未解析の検体が存在する場合には、かかる検体を取得する。このとき、予備解析部１３１は、未解析の検体のうち、新しく登録された検体ほど優先的に取得する。なお、予備解析部１３１は、マルウェアＤＢ２０から検体を取得する際に、検体の付属情報についても取得する。例えば、予備解析部１３１は、マルウェア共有サイト等の、通信ネットワークを介してマルウェアが一元的に貯蔵される所定のデータベースに初めてマルウェアが登録された日時に関する情報等を取得する。
【００４９】
そして、予備解析部１３１は、予備解析として、検体を動的解析することにより通信を発生させ、かかる通信の挙動を観測することで、検体から発信される通信に関する情報を取得する。このとき、予備解析部１３１は、検体の通信により発生した実行ログを実行ログＤＢ１２１に記憶する。
【００５０】
予備解析部１３１は、検体の予備解析にあたり、検体を実行させる環境である実行環境を適宜変更する。例えば、予備解析部１３１は、検体を実行させる端末において、端末にインストールされるＯＳ、ライブラリ、もしくはアプリケーションが任意に組み合わされる複数の実行環境で動作を実行させることにより、マルウェアから発信される通信に関する情報を実行環境ごとに取得する。このとき、予備解析部１３１は、検体に通信を実行させた際にエラーが発生した場合であって、当該検体の予備解析に利用していない実行環境が存在する場合には、実行環境を変更して再び解析を行う。これにより、特定のライブラリがインストールされた環境でしか動作しない等の挙動をする検体に対しても、効果的に予備解析を行うことができる。
【００５１】
予備解析部１３１は、実行時にエラーが発生しなかった場合、または、採用し得る全ての実行環境で解析を実施した場合には、当該検体に対する予備解析を終了する。そして、予備解析部１３１は、解析結果と、解析に用いた実行環境の情報を実行ログＤＢ１２１に登録する。当該検体に関する情報の登録後、予備解析部１３１は、次の検体の予備解析処理に移行する。なお、予備解析部１３１は、実行環境について、一つの環境ごとに実行動作を確認せずに、全ての実行環境で同時に解析を行い、実行ログＤＢ１２１に格納させてもよい。
【００５２】
また、予備解析部１３１は、検体の予備解析にあたり、擬似応答を有効にした閉環境で実施してもよいし、インターネットに接続した開環境で実施してもよい。
【００５３】
以下に、予備解析部１３１が閉環境下で予備解析を行う処理について説明する。閉環境下で予備解析を実施する利点は、インターネット上のサーバとの通信が発生しないため、攻撃者に知られることなくマルウェアの挙動を解析できる点にある。一方、マルウェアが実際にサーバと通信しないため、サーバ側が応答を継続しているか否かを把握することができないという欠点がある。
【００５４】
閉環境下では、予備解析部１３１は、予備解析により、検体から発生するデータ送信に関する情報を取得する。この場合、予備解析部１３１は、実行ログを実行ログＤＢ１２１内の閉環境実行ログテーブル１２２内に格納する。また、予備解析部１３１は、図４に示すように、発生したデータ送信において、送信先であるＩＰアドレスに関する直接指定が存在していたか否か、あるいは、検体による名前解決が成功したか否か、言い換えれば、ＤＮＳ（Domain  Name  System）問合わせに対してエラーが発生していないか、などの情報を取得する。なお、閉環境下における名前解決の成功の有無に関しては、予備解析終了後に、別途インターネットに接続可能な環境で名前解決可能かを確認することにより行われてもよい。また、ＤＮＳ問合せに関しては、外部にフォワードすることで、本解析時に名前解決の可否を確認してもよい。
【００５５】
続いて、開環境下における予備解析について説明する。開環境下で予備解析を実施する利点は、実際にインターネット上のサーバからデータを受信しながらマルウェアを解析できる点にある。
【００５６】
このため、予備解析部１３１は、予備解析において、サーバからのレスポンスの有無や、レスポンスの内容についても取得することが可能である。この場合、予備解析部１３１は、実行ログを実行ログＤＢ１２１内の開環境実行ログテーブル１２３内に格納する。例えば、予備解析部１３１は、図５に示すように、検体からの通信が発生した場合に、エラーのない通信の有無や、レスポンスの得られた通信の通信先件数などの情報を取得することができる。
【００５７】
なお、説明の便宜上、実行ログＤＢ１２１内に閉環境実行ログテーブル１２２と開環境実行ログテーブル１２３とが存在する例を示したが、実行ログは、閉環境、開環境のいずれの環境かを問わず、検体ごとにまとめて記憶されてもよい。この場合、環境が異なることにより取得されない情報（例えば、閉環境下における「レスポンスの得られた通信先件数」などの情報）については、実行ログ内に記憶されない。
【００５８】
予備解析装置１００は、予備解析を閉環境下で実施するか、開環境下で実施するかを事前に定めておくことができる。これは、予備解析において採用された環境によって、後述する判定部１３２、および指定部１３３が実施する処理の内容が異なるためである。もし、予備解析装置１００が検体ごとに閉環境と開環境とを切り換える場合には、指定部１３３は、閉環境で解析した検体と開環境で解析した検体のどちらを先に解析するのか、あらかじめ定められた基準に基づいて優先順位を決定する。
【００５９】
また、予備解析部１３１は、予備解析にあたり、マルウェアによる解析妨害を回避する手法として、スリープ機能などのＡＰＩ（Application  Programming  Interface）呼び出しを監視し、スリープ時間を短縮させる等の処理を行ってもよい。また、予備解析部１３１は、マルウェアが再起動後に自動起動されるように設定されている場合には、自動起動された検体を強制的に実行したり、再起動をかけたりする仕組みを用いてもよい。さらに、予備解析部１３１は、利用した解析妨害回避手法に関する情報について、解析対象ＤＢ３０を介して本解析装置２００に送信してもよい。これにより、後述する本解析装置２００に係る本解析部２１０は、予備解析部１３１が実施した解析妨害回避手法と同様の処理を行うことができる。
【００６０】
（判定部１３２について）
判定部１３２は、予備解析部１３１によって取得された情報に基づいて、検体を本解析の対象とするか否かを判定する。具体的には、判定部１３２は、予備解析によって得られた実行ログに含まれる、検体がエラー無く実行されたか否か、検体がいまだに外部サーバと通信を行っているか否かなどの判定要素に基づいて、検体を本解析処理の対象とするか否かを判定する。
【００６１】
まず、予備解析が閉環境下において実施された場合の、判定部１３２による判定処理について説明する。閉環境下では、判定部１３２は、検体からのデータ送信に関する情報に基づいて判定を行う。具体的には、判定部１３２は、図４に示す閉環境実行ログテーブル１２２に基づいて判定を行う。
【００６２】
判定部１３２は、予備解析に用いる全ての実行環境においてエラーが発生した検体に関しては、本解析時にも実行時エラーが発生して解析できないことが明白であるため、本解析の対象外と判定する。また、判定部１３２は、動作はしたもののデータ送信が発生しなかった検体については、ブラックリスト生成に寄与しないものとして、本解析の対象外と判定する。また、判定部１３２は、データ送信の挙動は確認できるものの、ＩＰアドレス直接指定の通信は無く、また、全てのＤＮＳ問合わせに対してエラーが発生している検体についても、本解析の対象外と判定する。なお、上述のように、ＤＮＳ問い合わせの可否に関しては、予備解析終了後に別途インターネットに接続可能な環境で名前解決可能かを確認してもよい。
【００６３】
そして、判定部１３２は、上記の判定要素によって本解析の対象外としないと判定された検体については、本解析の対象であると判定する。
【００６４】
続いて、予備解析が開環境下において実施された場合の、判定部１３２による判定処理について説明する。開環境下では、判定部１３２は、検体からの通信に関する情報に基づいて判定を行う。具体的には、判定部１３２は、図５に示す開環境実行ログテーブル１２３に基づいて判定を行う。
【００６５】
判定部１３２は、閉環境下と同様、予備解析に用いる全ての実行環境においてエラーが発生した検体に関しては、本解析の対象外と判定する。また、判定部１３２は、動作はしたものの通信が発生しなかった検体についても、本解析の対象外と判定する。また、判定部１３２は、通信の挙動は確認できるものの、全ての通信にエラーが発生している検体は本解析の対象外とする。そして、判定部１３２は、上記の判定の結果、残った検体を本解析の対象検体とする。
【００６６】
そして、判定部１３２は、指定部１３３によって解析の優先順位を指定させるため、本解析の対象となった検体に関する情報を指定部１３３に送る。
【００６７】
（指定部１３３について）
指定部１３３は、判定部１３２によって本解析処理の対象と判定された検体に対して、予備解析部１３１によって取得された情報に基づいて、本解析処理の順位を指定する。言い換えれば、指定部１３３は、本解析の対象である検体の解析順を決定する。
【００６８】
指定部１３３は、検体に対する優先順位の指定に際して、まず解析対象ＤＢ３０にアクセスし、未解析の検体の情報を取得する。そして、指定部１３３は、取得された未解析の検体と、本解析の対象となった新たな解析対象検体とについて、検体の登録日時、または、通信先の件数を判断要素として、本解析の順位を指定する。すなわち、指定部１３３は、解析対象ＤＢ３０に新たな解析対象検体に関する情報を登録するとともに、解析対象ＤＢ３０にもともと登録されていた未解析の検体の解析優先順位を再度計算する。
【００６９】
指定部１３３は、解析優先順位の計算では、検体登録日時の新しい検体を優先する。また、指定部１３３は、登録日時が同じ検体に関しては、通信先数の多い検体が優先されるよう、優先順位を昇順に指定する。このとき、指定部１３３は、登録から所定の期間以上経過した検体は取り除くことができる。これは、所定の期間以上経過した検体は、悪性通信を行う可能性が低くなっていたり、既に何らかの対策が講じられている可能性が高くなっていたりすることから、本解析する要請が低くなっている検体であることを示す。
【００７０】
指定部１３３は、通信先の件数を判断要素とするにあたり、予備解析が閉環境で行われた場合にはマルウェアが通信を行う挙動をする通信先の件数を要素とし、予備解析が開環境で行われたか場合にはマルウェアが確立した通信の通信先の件数を要素とする。具体的には、指定部１３３は、予備解析が閉環境で行われていた場合には、図４で示す「通信先件数」の多い検体の解析優先度を高く指定する。この場合、通信先件数は、例えば、通信先のＩＰアドレス数である。図４の例でいえば、指定部１３３は、マルウェアＭ０１１が通信先件数「２３」であるのに対し、マルウェアＭ０１２が通信先件数「１８」であることから、通信先件数の比較においては、マルウェアＭ０１１の方が優先順位は高く指定される。
【００７１】
一方、指定部１３３は、予備解析が開環境で行われていた場合には、図５で示す「レスポンスの得られた通信先件数」の多い検体の解析優先度を高く指定する。図５の例でいえば、指定部１３３は、マルウェアＭ０２１がレスポンスの得られた通信先件数「１７」であるのに対し、マルウェアＭ０２２がレスポンスの得られた通信先件数「１３」であることから、レスポンスの得られた通信先件数の比較においては、マルウェアＭ０２１の方が優先順位は高く指定される。
【００７２】
また、予備解析部１３１が行う予備解析において、検体を実行させる端末にインストールされるＯＳ、ライブラリ、もしくはアプリケーションが任意に組み合わされる複数の実行環境で検体を実行させることにより、検体から発信される通信における通信先の件数が実行環境ごとに取得されることがある。この場合、指定部１３３は、予備解析部１３１によって実行環境ごとに取得された通信先の件数のうち、最も多い通信先の件数に応じて、マルウェアが解析される順位を指定する。すなわち、同一検体において、実行環境によって通信先件数が変化する場合には、最も多い通信先件数が順位の指定の判断要素となる。
【００７３】
そして、指定部１３３は、指定した優先順位を含めて、検体を解析対象ＤＢ３０に登録する。このとき、指定部１３３は、各検体とともに、最も優先順位が高くなる実行ログを生成した場合の実行環境に関する情報について登録する。このように、予備解析装置１００によって、本解析の対象となる検体が順位付けられて選定されるとともに、検体の解析に適した実行環境に関する情報が解析対象ＤＢ３０に登録される。これにより、マルウェア解析システム１は、本解析を効率良く進めることができる。
【００７４】
（解析対象ＤＢ３０について）
解析対象ＤＢ３０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。解析対象ＤＢ３０には、本解析の対象と判定された検体に関する情報が記憶される。ここで、図６に、実施の形態に係る解析対象ＤＢ３０の一例を示す。図６に示すように、解析対象ＤＢ３０は、「マルウェア識別子」、「優先順位」、「通信先件数」、「登録日時」といった項目を有する。
【００７５】
「マルウェア識別子」は、マルウェアを識別するための識別情報を示す。「優先順位」は、指定部１３３によって指定された本解析の順番を示す。「通信先件数」は、予備解析によって観測された通信先件数を示す。「登録日時」は、検体がマルウェア共有サイト等にはじめて登録された日時を示す。言い換えれば、登録日時は、検体がマルウェアとして認識された（発見された）日時を示す。
【００７６】
すなわち、図６では、解析対象ＤＢ３０に記憶された情報の一例として、マルウェアＭ０４３で識別されるマルウェアが、本解析の優先順位が「１」位であり、通信先件数は「１３５」であり、登録日時は「２０１５年１月２３日１７時１０分１５秒」である例を示している。
【００７７】
なお、図６における「通信先件数」は、「レスポンスの得られた通信先件数」と置き換えてもよい。また、図６での図示は省略しているが、解析対象ＤＢ３０には、マルウェアに付属する情報や、予備解析で用いられた実行環境に関する情報などが記憶されてもよい。
【００７８】
（本解析装置２００について）
次に、実施の形態に係る本解析装置２００について説明する。図１に示すように、本解析装置２００は、本解析部２１０と、解析ログＤＢ２２０とを有する。
【００７９】
本解析部２１０は、解析対象ＤＢ３０内の検体を優先順位の高いものから順番に動的解析（本解析）する。ここで、本解析部２１０は、解析対象ＤＢ３０に格納された実行環境情報に基づいて、検体を動的解析する。なお、本解析部２１０は、予備解析と同じ条件で単純に解析を実行するだけではなく、通信先の悪性判定を目的に、テイント解析などの既知の解析手法を組み合わせてもよい。解析ログＤＢ２２０は、本解析部２１０によって検体が本解析される際に取得される解析ログを記憶する。これにより、本解析装置２００は、検体に関するいわゆるブラックリストを生成することができる。
【００８０】
［処理手順］
次に、図７乃至図１０を用いて、上述した予備解析装置１００による解析処理の手順について詳細に説明する。
【００８１】
（予備解析処理）
まず、図７を用いて、予備解析部１３１が実行する予備解析処理手順について説明する。図７は、実施の形態に係る予備解析処理手順を示すフローチャートである。
【００８２】
図７に示すように、予備解析部１３１は、マルウェアＤＢ２０に未解析の検体があるか否かを判定する（ステップＳ１０１）。未解析の検体がない場合（ステップＳ１０１；Ｎｏ）、新たに登録があるまで待機する（ステップＳ１０２）。
【００８３】
一方、未解析の検体がある場合（ステップＳ１０１；Ｙｅｓ）、予備解析部１３１は、未解析の検体のうち登録日が最も新しい検体を取得する（ステップＳ１０３）。そして、予備解析部１３１は、取得された検体を予備解析する（ステップＳ１０４）。まず、予備解析部１３１は、検体を実行させ、実行時エラーが発生したか否かを判定する（ステップＳ１０５）。
【００８４】
実行時エラーが発生した場合（ステップＳ１０５；Ｙｅｓ）、さらに、当該検体の解析に利用したことのない解析環境があるか否かを判定し（ステップＳ１０６）、解析環境がある場合には（ステップＳ１０６；Ｙｅｓ）、解析環境を変更して（ステップＳ１０７）、再び検体を予備解析する（ステップＳ１０４）。なお、解析環境とは、マルウェアを実行させたＯＳ等の実行環境や、閉環境もしくは開環境などのネットワークの環境を含む情報を示す。
【００８５】
一方、実行時エラーが発生しなかった場合（ステップＳ１０５；Ｎｏ）、および、当該検体の解析に利用したことのない解析環境がなくなった場合には（ステップＳ１０６；Ｎｏ）、実行ログＤＢ１２１に解析結果、および解析に用いた解析環境の情報を登録する（ステップＳ１０８）。予備解析部１３１は、上記の処理を繰り返し実行する。
【００８６】
（閉環境における判定処理）
次に、図８を用いて、判定部１３２が閉環境で実行する判定処理手順について説明する。図８は、実施の形態に係る閉環境における判定処理手順を示すフローチャートである。
【００８７】
図８に示すように、判定部１３２は、実行ログＤＢ１２１に未判定の実行ログがあるか否かを判定する（ステップＳ２０１）。未判定の実行ログがない場合（ステップＳ２０１；Ｎｏ）、新たに実行ログの登録があるまで待機する（ステップＳ２０２）。
【００８８】
一方、未判定の実行ログがある場合（ステップＳ２０１；Ｙｅｓ）、判定部１３２は、判定処理の対象として、未判定の実行ログを取得する（ステップＳ２０３）。そして、判定部１３２は、実行ログを参照して、実行時エラーが発生していないか否かを判定する（ステップＳ２０４）。実行時エラーが発生している場合には（ステップＳ２０４；Ｎｏ）、判定部１３２は、実行ログに係る検体は本解析することを要しないものとして、解析対象外と判定する（ステップＳ２０９）。
【００８９】
一方、実行時エラーが発生していない場合には（ステップＳ２０４；Ｙｅｓ）、判定部１３２は、検体の実行において、通信は発生したか否か（言い換えれば、データ送信の挙動が確認できたか否か）を判定する（ステップＳ２０５）。通信が発生していない場合には（ステップＳ２０５；Ｎｏ）、判定部１３２は、実行ログに係る検体は本解析することを要しないものとして、解析対象外と判定する（ステップＳ２０９）。
【００９０】
一方、通信が発生した場合には（ステップＳ２０５；Ｙｅｓ）、判定部１３２は、通信のうち、ＩＰアドレス直接指定の通信があるか否かを判定する（ステップＳ２０６）。ＩＰアドレス直接指定の通信がない場合には（ステップＳ２０６；Ｎｏ）、判定部１３２は、成功した名前解決があるか否かをさらに判定する（ステップＳ２０７）。そして、成功した名前解決がない場合には（ステップＳ２０７；Ｎｏ）、判定部１３２は、実行ログに係る検体は本解析することを要しないものとして、解析対象外と判定する（ステップＳ２０９）。
【００９１】
一方、ＩＰアドレス直接指定の通信がある場合（ステップＳ２０６；Ｙｅｓ）、及び、成功した名前解決がある場合には（ステップＳ２０７；Ｙｅｓ）、判定部１３２は、実行ログに係る検体は本解析することを要するものとして、解析対象と判定し、検体に関する情報を指定部１３３に送る（ステップＳ２０８）。判定部１３２は、上記の処理を繰り返し実行する。
【００９２】
（開環境における判定処理）
次に、図９を用いて、判定部１３２が開環境で実行する判定処理手順について説明する。図９は、実施の形態に係る開環境における判定処理手順を示すフローチャートである。なお、図９におけるステップＳ３０１〜ステップＳ３０５の処理は、図８におけるステップＳ２０１〜ステップＳ２０５の処理に対応するため、説明を省略する。
【００９３】
図９に示すように、判定部１３２は、通信が発生したことを示す実行ログについて（ステップＳ３０５；Ｙｅｓ）、名前解決以外でエラーの発生していない通信があるか否かをさらに判定する（ステップＳ３０６）。これは、名前解決だけが成功していても、取得したＩＰアドレスとの通信が成功していなければ、本解析後に検体に関するブラックリストに掲載すべき候補を抽出できないことによる。すなわち、たとえ名前解決ができたとしても、通信先であるサーバ自体が動作していない（レスポンスがない）のであれば、ブラックリストに掲載すべき根拠が得られないからである。
【００９４】
名前解決以外でエラーの発生していない通信がない場合には（ステップＳ３０６；Ｎｏ）、判定部１３２は、実行ログに係る検体は本解析することを要しないものとして、解析対象外と判定する（ステップＳ３０８）。
【００９５】
一方、名前解決以外でエラーの発生していない通信がある場合には（ステップＳ３０６；Ｙｅｓ）、判定部１３２は、実行ログに係る検体は本解析することを要するものとして、解析対象と判定し、検体に関する情報を指定部１３３に送る（ステップＳ３０７）。判定部１３２は、上記の処理を繰り返し実行する。
【００９６】
（指定処理）
次に、図１０を用いて、指定部１３３が検体について本解析における優先順位を指定する処理手順について説明する。図１０は、実施の形態に係る指定処理手順を示すフローチャートである。
【００９７】
図１０に示すように、指定部１３３は、判定部１３２から判定結果と予備解析結果とを受け取る（ステップＳ４０１）。そして、指定部１３３は、検体が本解析の対象であるか否かを判定する（ステップＳ４０２）。検体が本解析の対象ではない場合（ステップＳ４０２；Ｎｏ）、指定部１３３による処理は終了する。
【００９８】
一方、検体が本解析の対象である場合（ステップＳ４０２；Ｙｅｓ）、指定部１３３は、予備解析された検体を特定し、かかる検体をマルウェアＤＢ２０から取得する（ステップＳ４０３）。そして、指定部１３３は、取得した検体について、解析対象ＤＢ３０に検体と予備解析における解析環境の設定とを登録する（ステップＳ４０４）。
【００９９】
そして、指定部１３３は、解析対象ＤＢ３０に新たに登録した検体を含めて、解析対象ＤＢ３０内の検体について、予備解析結果に応じて、本解析の優先順位を再計算する（ステップＳ４０５）。この場合、指定部１３３は、検体が登録された日時を要素として優先順位を指定する。すなわち、指定部１３３は、登録日時が新しい検体ほど、優先順位を高く指定する。また、指定部１３３は、登録日時が同じ検体であれば、通信先件数が多い検体ほど優先順位を高く設定する。
【０１００】
そして、指定部１３３は、解析対象ＤＢ３０内の本解析の優先順位を更新する（ステップＳ４０６）。これにより、指定部１３３による指定処理は終了する。
【０１０１】
［変形例］
上記の実施形態では、マルウェア解析システム１は、マルウェアを閉環境又は開環境にて動的解析することにより、マルウェアから発生する通信に関する情報に基づいて、本解析を実行する検体を選定することを説明した。
【０１０２】
ここで、マルウェア解析システム１は、検体に関する外部情報に基づいて、本解析の対象であるか否かの判定を行っても良い。例えば、マルウェア解析システム１は、収集された検体に付属する情報を利用して検体の判定を実行する。具体的には、マルウェア解析システム１は、検体が最初に検体共有サイト等へ登録された時期が所定の時期よりも古い場合には本解析対象から除外する、といった判定を行ってもよい。マルウェアによっては相当の期間前から（例えば、１０年以上前から）インターネット上に存在し、未だ拡散を続けているものが存在する。しかしながら、このようなマルウェアについては、通常通りネットワークのシステムがメンテナンスされていれば既に対策済みであり、本解析の優先順位は高くないと想定される。そのため、マルウェア解析システム１は、検体共有サイト等への登録時期が事前に定めた所定期間よりも前の場合には、本解析の対象から除外する。これにより、マルウェア解析システム１は、格別の処理を要せずに、上記のような検体を本解析の対象から取り除くことができる。
【０１０３】
また、マルウェア解析システム１は、検体共有サイト等への登録のために投稿を行った人数に関する情報を用いて、検体を選定してもよい。この場合、マルウェア解析システム１に係る予備解析部１３１は、検体共有サイト等にマルウェアに関する情報を投稿した人数である投稿者数を取得する。また、判定部１３２は、投稿者数に基づいて、マルウェアを解析の対象とするか否かを判定する。また、指定部１３３は、判定部１３２によって解析の対象と判定されたマルウェアのうち、投稿者数の大小に応じて、解析される順位の高低を指定する。具体的には、マルウェア解析システム１は、検体共有サイト等への投稿者が所定の数より少ない検体を優先的に本解析の対象とするように判定する。標的型攻撃を行うようなマルウェア、すなわち、特定の組織を狙って作成されたようなマルウェアは、メールの添付ファイルのような形態で拡散されることにより不特定多数を狙うようなマルウェアと比較して、発見者数が少なくなると想定される。かかる状況を利用し、マルウェア解析システム１は、検体共有サイト等への投稿者数に関する情報を取得し、投稿者数が少ない検体ほど、優先的に本解析の対象とする。このように、マルウェア解析システム１は、投稿者が少ない検体から優先的に本解析の対象とすることで、標的型攻撃に用いられる検体である可能性の高い検体を優先的に本解析し、検体に関するブラックリストを生成することができる。
【０１０４】
［効果］
上述してきたように、実施形態に係る予備解析装置１００は、解析対象の候補として取得されたマルウェアを実行させることにより、マルウェアから発信される通信に関する情報を取得する予備解析部１３１と、予備解析部１３１によって取得された情報に基づいて、マルウェアを解析の対象とするか否かを判定する判定部１３２と、判定部１３２によって解析の対象と判定されたマルウェアに対して、予備解析部１３１によって取得された情報に基づいて、解析される順位を指定する指定部１３３と、を備える。
【０１０５】
このように、実施形態に係るマルウェア解析システム１は、マルウェアに対して予備解析処理を実行し、予備解析の結果に基づいて本解析対象を判定する。また、マルウェア解析システム１は、本解析の対象となったマルウェアについて処理の優先順位を指定する。これにより、マルウェア解析システム１は、本解析処理が行われることが望ましいマルウェアを効果的に選定することができる。
【０１０６】
また、予備解析部１３１は、マルウェアと外部の通信ネットワーク（例えば、インターネット）とを隔離した環境である閉環境においてマルウェアを実行させた場合には、マルウェアから発信される通信に関する情報として、通信先であるＩＰアドレスの直接指定の有無、または、名前解決が成功した通信の有無に関する情報を取得する。そして、判定部１３２は、予備解析部１３１によって取得された情報に、ＩＰアドレスの直接指定、または、名前解決が成功した通信のいずれかが有った場合には、当該マルウェアを解析の対象と判定する。そして、指定部１３３は、ＩＰアドレス、または、名前解決が成功した通信により特定される通信先の件数に応じて、当該マルウェアが解析される順位を指定する。
【０１０７】
このように、実施形態に係るマルウェア解析システム１は、閉環境でマルウェアを実行させることにより、攻撃者に知られることなく、マルウェアの通信に関する情報を取得する。これにより、マルウェア解析システム１は、効果的にマルウェアの解析を進めることができる。
【０１０８】
また、予備解析部１３１は、マルウェアと外部の通信ネットワークとが接続可能な環境である開環境においてマルウェアを実行させた場合には、マルウェアから発信される通信に関する情報として、エラー以外のレスポンスが得られた通信の有無に関する情報を取得する。そして、判定部１３２は、予備解析部１３１によって取得された情報に、エラー以外のレスポンスの得られた通信が有った場合には、当該マルウェアを解析の対象と判定する。そして、指定部１３３は、エラー以外のレスポンスの得られた通信先の件数に応じて、当該マルウェアが解析される順位を指定する。
【０１０９】
このように、実施形態に係るマルウェア解析システム１は、開環境でマルウェアを実行させることにより、実際にマルウェア動作する環境を想定して解析を行うことができる。この場合、マルウェアが予備解析において通信が確立したことをもって本解析の対象とすることができるため、実際に通信を行わないマルウェアを本解析してしまうといった、本解析処理における無駄を省くことができる。結果として、マルウェア解析システム１は、効果的にマルウェアの解析を進めることができる。
【０１１０】
また、予備解析部１３１は、マルウェアを実行させる端末において、端末にインストールされるＯＳ、ライブラリ、もしくはアプリケーションが任意に組み合わされる複数の実行環境でマルウェアを実行させることにより、当該マルウェアから発信される通信における通信先の件数を実行環境ごとに取得する。そして、指定部１３３は、予備解析部１３１によって実行環境ごとに取得された通信先の件数のうち、最も多い通信先の件数に応じて、マルウェアが解析される順位を指定する。
【０１１１】
このように、実施形態に係るマルウェア解析システム１は、予備解析の段階において、種々の実行環境でマルウェアの動作を確認する。すなわち、マルウェア解析システム１は、マルウェアが悪性通信を行う可能性が高い環境を生成したうえで、マルウェアの通信に関する情報を取得することで、優先的に本解析すべきマルウェアを適切に判定し、優先順位を指定することができる。また、マルウェア解析システム１は、本解析においても実行環境等の解析環境に関する情報を取得するため、本解析処理の効率を高めることができる。
【０１１２】
また、予備解析部１３１は、処理対象となるマルウェアに関して、通信ネットワークを介してマルウェアが一元的に貯蔵される所定のデータベース（例えば、マルウェア共有サイト）に初めて当該マルウェアが登録された日時である登録日時を取得する。そして、判定部１３２は、登録日時に基づいて、マルウェアを解析の対象とするか否かを判定する。そして、指定部１３３は、判定部１３２によって解析の対象と判定されたマルウェアのうち、登録日時の新しいマルウェアほど解析される順位を高く指定する。
【０１１３】
これにより、実施形態に係るマルウェア解析システム１は、新たに発見されたマルウェアなど、優先的に解析すべきマルウェアを適切に選定することができる。また、マルウェア解析システム１は、相当の期間前からマルウェア共有サイトに登録されているような、対策への要請が高くないマルウェアを本解析の対象から除外できる。このため、マルウェア解析システム１は、効果的にマルウェアの解析処理を進めることができる。
【０１１４】
また、予備解析部１３１は、所定のデータベースにマルウェアに関する情報を投稿した人数である投稿者数を取得する。そして、判定部１３２は、投稿者数に基づいて、当該マルウェアを解析の対象とするか否かを判定する。そして、指定部１３３は、判定部１３２によって解析の対象と判定されたマルウェアのうち、投稿者数の大小に応じて、解析される順位の高低を指定する。例えば、指定部１３３は、投稿者数の少ないマルウェアほど、解析される順位の高さを高く指定する。
【０１１５】
このように、実施形態に係るマルウェア解析システム１は、マルウェア共有サイト等への投稿者の人数を順位指定のための要素とすることにより、標的型攻撃に用いられるような危険性の高いマルウェアを優先的に本解析することができる。
【０１１６】
（構成等）
なお、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１７】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１８】
（プログラム）
また、上記実施形態に係るマルウェア解析システム１が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、マルウェア解析システム１と同様の機能を実現するマルウェア解析プログラムを実行するコンピュータの一例を説明する。
【０１１９】
図１１は、マルウェア解析プログラムを実行するコンピュータを示す図である。図１１に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【０１２０】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【０１２１】
ここで、図１１に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【０１２２】
また、マルウェア解析プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明した予備解析装置１００及び本解析装置２００が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【０１２３】
また、マルウェア解析プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【０１２４】
なお、マルウェア解析プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、マルウェア解析プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１２５】
１  マルウェア解析システム
１０  マルウェア収集システム
２０  マルウェアＤＢ
３０  解析対象ＤＢ
１００  予備解析装置
１１０  ＩＦ部
１２０  記憶部
１２１  実行ログＤＢ
１２２  閉環境実行ログテーブル
１２３  開環境実行ログテーブル
１３０  制御部
１３１  予備解析部
１３２  判定部
１３３  指定部
２００  本解析装置
２１０  本解析部
２２０  解析ログＤＢ
【図１】
2016121255.tif 000003
【図２】
2016121255.tif 000004
【図３】
2016121255.tif 000005
【図４】
2016121255.tif 000006
【図５】
2016121255.tif 000007
【図６】
2016121255.tif 000008
【図７】
2016121255.tif 000009
【図８】
2016121255.tif 000010
【図９】
2016121255.tif 000011
【図１０】
2016121255.tif 000012
【図１１】
2016121255.tif 000013
【国際調査報告】
2016121255.tif 000014
2016121255.tif 000015
2016121255.tif 000016