(57)【要約】【課題】マルウェアが用いるコンフィグファイルを小計算機資源で高速に動的解析する不正処理解析装置とその方法を提供すること。特に、コンフィグファイルが難読化された場合にも有効な技術を提供する。【解決手段】不正処理解析装置（１）にホストＯＳを動作させるホストＯＳ実行処理部（１０１）、ホストＯＳ上で、仮想化層を形成してゲストＯＳ（１０３）を動作させる仮想マシン実行処理部（１０２）、マルウェアを実行するマルウェア実行処理部（１０４）、マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、その通信プロセスＩＤを通知する通信プロセス検出部（１０５）、通信プロセスＩＤを受理して通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、メモリダンプをログファイルとして保存するメモリ情報取得部（１０７）、そのログファイルから、あらかじめ定義される規則に従った文字列を抽出するデータ特定部（１０７）を備え、少なくとも抽出された文字列を解析結果として出力する。【選択図】図１
2017162042.tif 000002
【特許請求の範囲】
【請求項１】
攻撃方法に係る設定情報を含むコンフィグファイルに従って他のホストに対する不正な処理を行うマルウェアに関し、該マルウェアがネットワーク上の配布サーバから該コンフィグファイルを受信する構成において、該マルウェアを実行する際に該コンフィグファイルの内容を解析する不正処理解析装置であって、
ホストＯＳを動作させるホストＯＳ実行処理部と、
該ホストＯＳ上で、仮想化層を形成してゲストＯＳを動作させる仮想マシン実行処理部と、
該ゲストＯＳ上で該マルウェアを実行するマルウェア実行処理部と、
該マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、その通信プロセスＩＤを通知する通信プロセス検出部と、
該通信プロセスＩＤを受理して該通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、メモリダンプをログファイルとして保存するメモリ情報取得部と、
該ログファイルから、あらかじめ定義される規則に従った文字列を抽出するデータ特定部
を備え、少なくとも抽出された該文字列を出力する
ことを特徴とする不正処理解析装置。
【請求項２】
前記メモリ情報取得部において、前記ログファイルが所定の容量に達した時に、前記マルウェア実行処理部がマルウェアの実行を停止する
請求項１に記載の不正処理解析装置。
【請求項３】
前記データ特定部において用いる前記規則が、特定のエスケープシーケンス又は特定のキャラクターを定義したデータテーブルを用い、該エスケープシーケンス又は複数のキャラクターの連続について抽出する構成である
請求項1又は２に記載の不正処理解析装置。
【請求項４】
攻撃方法に係る設定情報を含むコンフィグファイルに従って他のホストに対する不正な処理を行うマルウェアに関し、該マルウェアがネットワーク上の配布サーバから該コンフィグファイルを受信する構成において、該マルウェアを実行する際に該コンフィグファイルの内容を解析する不正処理解析方法であって、
コンピュータのホストＯＳ実行処理部がホストＯＳを動作させ、仮想マシン実行処理部がホストＯＳ上で、仮想化層を形成してゲストＯＳを動作させる構成において、
マルウェア実行処理部が、該ゲストＯＳ上で該マルウェアを実行するマルウェア実行処理ステップ、
通信プロセス検出部が、該マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、その通信プロセスＩＤを通知する通信プロセス検出ステップ、
メモリ情報取得部が、該通信プロセスＩＤを受理して該通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、メモリダンプをログファイルとして保存するメモリ情報取得ステップ、
データ特定部が、該ログファイルから、あらかじめ定義される規則に従った文字列を抽出するデータ特定ステップ、
出力部が、少なくとも抽出された該文字列を出力する出力ステップ、
を有することを特徴とするコンピュータの不正処理解析方法。
【請求項５】
前記メモリ情報取得ステップにおいて、前記ログファイルが所定の容量に達した時に、前記マルウェア実行処理ステップのマルウェアの実行を停止する
請求項４に記載の不正処理解析方法。
【請求項６】
前記データ特定ステップにおいて用いる前記規則が、特定のエスケープシーケンス又は特定のキャラクターを定義したデータテーブルを用い、該エスケープシーケンス又は複数のキャラクターの連続について抽出する構成である
請求項４又は５に記載の不正処理解析方法。
【請求項７】
不正処理解析装置において実行されるコンピュータプログラムであって、
前記請求項４ないし６のいずれかに記載の不正処理解析方法を実行させるための不正処理解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正処理解析装置、および不正処理解析方法に関し、特にマルウェアに対する設定情報を含むコンフィグファイルの内容を解析する技術に係る。
【背景技術】
【０００２】
近年のマルウェアは、攻撃対象のURLやIPアドレス、データファイル等が記述された設定情報を含むコンフィグファイルをネットワーク経由で取得し、コンフィグファイルに従って攻撃を行うものが存在する。コンフィグファイルを配信する装置はcommand and control server (Ｃ＆Ｃサーバ)と呼ばれ、マルウェアがコンフィグファイルをＣ＆Ｃサーバから取得し、その中で指示された攻撃先情報に基づいて攻撃を行うことがある。
【０００３】
従って、コンフィグファイルの内容を把握できれば早期に対策を行うために有効であるが、一方でコンフィグファイルは頻繁に更新されるため、更新されるたびに高速で解析を行う必要がある。
【０００４】
ところで、マルウェアの解析手法として静的解析と動的解析が行われている。静的解析はマルウェアを逆アセンブルするなど、人手によってマルウェアの備える機能を網羅的に解析する手法である。動的解析は、実際の環境下でマルウェアを動作させ、その時の挙動を観察することで、マルウェアの機能を解析する手法である。
【０００５】
この動的解析の方法の１つとして動的テイント解析と呼ばれる方法が提案されている。動的テイント解析では、例えば仮想マシンを用い、仮想ＣＰＵが、仮想メモリや仮想ディスク等でマルウェアが読み書きするデータの流れを追跡する。
【０００６】
特許文献１には機密情報の漏洩を検出する方法が次の通り開示されている。すなわち、第１のフェーズにおいて、仮想ＣＰＵがマルウェアを動作させ、機密情報を含むファイルがメモリに読み込まれる段階で、機密情報を含むファイルのメモリにおける格納位置に対応付けて、機密情報を意味するテイントタグを付与する。このテイントタグは、ＯＳが管理する物理メモリとは別に用意された領域に格納される。この領域は、ＯＳやアプリケーション（マルウェアを含む）からはアクセスできないように実装される。
【０００７】
第２のフェーズにおいて、仮想ＣＰＵは、レジスタとメモリ領域との間の転送命令等を監視することで、機密情報のコピーに応じてテイントタグが伝搬する。そして、第３のフェーズでは、仮想ＣＰＵは、ネットワークインタフェースから出力されるデータに、機密情報を意味するテイントタグが付与されているかを確認する。仮想ＣＰＵは、出力されるデータにテイントタグが付与されている場合、機密情報が外部へ出力されようとしたことを検出する。
【０００８】
また、動的テイント解析を応用した例として、デバッガにおけるブレークポイントをテイントタグにより実現する技術がある。この技術では、利用者が、プログラムを中断させたい箇所（「ブレークポイント」を設定する箇所）に対して、テイントタグを事前に割り当てる。そして、仮想ＣＰＵは、実行する命令に対応付けてテイントタグが付与されているかを検査し、テイントタグが付与されている場合にプログラムを中断する。
【０００９】
このような従来技術を踏まえて、特許文献１では、付与部と、特定部とを有する情報処理装置が開示されている。付与部は、解析対象であるプログラムによって通信先装置から受信されたデータに、当該通信先装置を識別可能なタグを付与する。特定部は、新たなプログラムの起動又は起動予約を検出したときに、当該新たなプログラムが実行するデータに前記タグが付与されている場合、当該タグにより識別される通信先装置を特定する。
【００１０】
また、関連する技術として、デバッガにおけるブレークポイントをテイントタグにより実現する技術に係る特許文献２も開示されている。
【００１１】
非特許文献１には、端末で発生する通信の中から、Ｃ＆Ｃサーバとマルウェアとの通信を特定する技術が開示される。この技術によれば、Ｃ＆ＣサーバのIPアドレスやドメインを特定することができ、対策に役立てることができる。しかし、コンフィグファイルの内容までは、把握できない。
【００１２】
非特許文献２には、動的解析時にマルウェアから呼び出されるAPIに関して、引数、引数に設定されたテイントタグの値、APIからマルウェアへの復帰時にAPIに追って書き込まれる値、その値に設定されたテイントタグの値をログに出力することが記載されている。ログ出力を解析することにより、マルウェアが送信時に利用したAPIとその引数、マルウェアが受信時に利用したAPIとその引数を特定することができる。
しかし、マルウェア動作時のAPIに関するログをすべて取得するので、膨大な計算機資源を必要とする。また、本技術では、APIによる暗号化や圧縮等の難読化に対して、制限があることが文献で述べられている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１２−８３７９８号公報
【特許文献２】国際公開ＷＯ２０１４１８８７８０号公報
【非特許文献】
【００１４】
【非特許文献１】Jacob,G.,Hund,R.,Kruegel,C.and Holz,T.“JACKSTRAWS:Picking Command and Control Connections from Bot Traffic,”Proceedings of the 20th,USENIX conference on Security,2011.
【非特許文献２】川古谷, 塩治, 岩村, 針生 "APIコール間のデータ依存関係を利用したマルウェア通信内容の特定"マルウェア対策研究人材育成ワークショップ2013(MWS 2013)
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明は、上記従来技術の有する問題点に鑑みて創出されたものであり、マルウェアが用いるコンフィグファイルを小計算機資源で高速に動的解析する不正処理解析装置とその方法を提供することを目的とする。特に、コンフィグファイルが難読化された場合にも有効な技術を提供する。
【課題を解決するための手段】
【００１６】
本発明は上記課題を解決するため、本発明は次のような不正処理解析装置を提供する。
すなわち、攻撃方法に係る設定情報を含むコンフィグファイルに従って他のホストに対する不正な処理を行うマルウェアに関し、マルウェアがネットワーク上の配布サーバからコンフィグファイルを受信する構成において、マルウェアを実行する際にコンフィグファイルの内容を解析する不正処理解析装置に係る。
【００１７】
本発明では該装置に、ホストＯＳを動作させるホストＯＳ実行処理部と、ホストＯＳ上で、仮想化層を形成してゲストＯＳを動作させる仮想マシン実行処理部と、ゲストＯＳ上でマルウェアを実行するマルウェア実行処理部と、マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、その通信プロセスＩＤを通知する通信プロセス検出部と、通信プロセスＩＤを受理して通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、メモリダンプをログファイルとして保存するメモリ情報取得部と、ログファイルから、あらかじめ定義される規則に従った文字列を抽出するデータ特定部を備える。
そして、少なくとも抽出された文字列を出力することで、コンフィグファイルの内容を解析するものである。
【００１８】
上記のメモリ情報取得部において、上記のログファイルが所定の容量に達した時に、上記のマルウェア実行処理部がマルウェアの実行を停止するように構成してもよい。
【００１９】
上記のデータ特定部において用いる規則が、特定のエスケープシーケンス又は特定のキャラクターを定義したデータテーブルを用い、エスケープシーケンス又は複数のキャラクターの連続について抽出するようにしてもよい。
【００２０】
本発明は次のような不正処理解析方法を提供することもできる。
すなわち、コンピュータのホストＯＳ実行処理部がホストＯＳを動作させ、仮想マシン実行処理部がホストＯＳ上で、仮想化層を形成してゲストＯＳを動作させる構成において、
（Ｓ１）マルウェア実行処理部が、ゲストＯＳ上でマルウェアを実行するマルウェア実行処理ステップ、
（Ｓ２）通信プロセス検出部が、マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、その通信プロセスＩＤを通知する通信プロセス検出ステップ、
（Ｓ３）メモリ情報取得部が、通信プロセスＩＤを受理して通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、メモリダンプをログファイルとして保存するメモリ情報取得ステップ、
（Ｓ４）データ特定部が、ログファイルから、あらかじめ定義される規則に従った文字列を抽出するデータ特定ステップ、
（Ｓ５）出力部が、少なくとも抽出された文字列を出力する出力ステップ、
を有するコンピュータの不正処理解析方法を提供する。
【００２１】
上記のメモリ情報取得ステップにおいて、上記のログファイルが所定の容量に達した時に、上記のマルウェア実行処理ステップのマルウェアの実行を停止することもできる。
【００２２】
上記のデータ特定ステップにおいて用いる規則が、特定のエスケープシーケンス又は特定のキャラクターを定義したデータテーブルを用い、エスケープシーケンス又は複数のキャラクターの連続について抽出する構成であってもよい。
【００２３】
本発明は、不正処理解析装置において実行されるコンピュータプログラムであって、上記の不正処理解析方法を実行させるための不正処理解析プログラムとして提供してもよい。
【発明の効果】
【００２４】
本発明は以上の構成により通信プロセスに限定してテイント解析を行い、テイント解析中の文字列操作に着目することによってコンフィグファイルに含まれる情報を解析することができる。本方法は、小計算機資源で簡易的なデータ解析を行うことにより、短時間での解析を実現し、早期対策を可能にするものである。
【図面の簡単な説明】
【００２５】
【図１】本発明における不正処理解析装置のブロック図である。
【図２】本発明の不正処理解析方法のフローチャートである。
【図３】本発明に係るログファイルの一例である。
【図４】本発明に係るログファイルの一例である。
【図５】本発明において取得される文字列情報の一例である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図面を用いて説明する。本発明は以下の実施例に限定されず請求項記載の範囲で適宜実施することができる。
図１は、本発明における不正処理解析装置（以下、本装置と呼ぶ）のブロック図であり、図２は、不正処理解析装置上で実行される不正処理解析方法のフローチャートである。
【００２７】
本装置（１）は、公知のパーソナルコンピュータなどにより構成することができ、周知のように各種の処理を行うＣＰＵ（１０）、ＣＰＵ（１０）と協働するメモリ（図示せず）、外部記憶装置（図示せず）、インターネットなどの通信ネットワークとの通信を行うネットワークアダプタ（１１）、出力結果などを表示するためのモニタ（１２）、キーボードやマウスなどの入力手段（図示せず）を備えている。
【００２８】
本発明の実施においてはネットワークアダプタ（１１）を通してインターネット（２）と接続し、インターネット（２）ではマルウェアやそのコンフィグファイルを配布する配布サーバ（３）と接続される。また、本来はマルウェアの動作の結果としてインターネット（２）で接続された攻撃対象ホスト（４）に対して攻撃がなされるが、本発明では後述するように実際の攻撃は阻止される。
【００２９】
本装置（１）が解析対象とするのは、マルウェアに対して攻撃方法、例えば攻撃対象のＵＲＬやＩＰアドレスなどの設定情報を含むコンフィグファイルである。従来技術としても挙げたように近年では、最新のコンフィグファイルを配布サーバ（３）から受信して攻撃を行う攻撃方法が知られている。コンフィグファイルを用いるマルウェアの特徴として、マルウェア自体には攻撃に用いる具体的な情報を持たず、コンフィグファイルの読み出しとその指示に従った実行機能だけを有するものがある。この場合、従来のようにマルウェア単体を静的、動的に解析してもその挙動が把握できない問題があった。
【００３０】
また、コンフィグファイルは常に最新の攻撃態様に姿を変えるために高速に解析を行う必要もある。さらに、コンフィグファイル自体が難読化されているケースが多く、コンフィグファイルだけを解析しても定義された攻撃方法が把握できないことも、従来の技術では解決できていない課題であった。
【００３１】
本発明はこのようなコンフィグファイルを動的解析、特に動的テイント解析によって内容を解析すると共に、特に小計算機資源で簡易的なデータ解析の方法を提供することに寄与する技術である。
【００３２】
図１に示すように本装置（１）のＣＰＵ（１０）上ではホストＯＳを動作させるホストＯＳ実行処理部（１０１）、ホストＯＳ上で、仮想化層を形成してゲストＯＳ（１０３）を動作させる仮想マシン実行処理部（１０２）とを有する。仮想マシンを実行する環境については周知であるから詳細な説明は省略する。
【００３３】
ゲストＯＳ（１０３）上で意図的にマルウェアを実行するマルウェア実行処理部（１０４）と、マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、その通信プロセスＩＤを通知する通信プロセス検出部（１０５）を有する。
ここで、動的テイント解析においては仮想マシン上で実行されたプロセス全てを監視することが従来技術として知られているが、本発明ではコンフィグファイルを最適な方法で解析するために、通信プロセスが発生したことを検出する点に特徴がある。
【００３４】
ホストＯＳ上で実行される処理部として、通信プロセス検出部（１０５）から通知された通信プロセスＩＤを受理して通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、メモリダンプをログファイルとして保存するメモリ情報取得部（１０６）を備える。ここでも通信プロセスＩＤが使用するメモリ領域、あるいは通信プロセスＩＤに関連するメモリ領域だけを監視対象とすることで省資源化、簡易化に寄与している。
【００３５】
さらに、メモリ情報取得部（１０６）を取得したログファイルから、あらかじめ定義される規則に従った文字列を抽出するデータ特定部（１０７）も備える。
なお、データ特定部（１０７）は、本実施例では他の処理部と同一のホストＯＳ上で処理する例を示しているが、データ特定部は他のホストＯＳ上で動作する構成でもよい。
抽出されたデータはモニタ（１２）などから出力される。
【００３６】
図２を用いて本発明の処理方法を説明する。
上述したように、コンピュータのホストＯＳ実行処理部（１０１）がホストＯＳを動作させ、仮想マシン実行処理部（１０２）がホストＯＳ上で、仮想化層を形成してゲストＯＳを動作させる。このような環境において、通信プロセス検出部（１０５）が仮想マシン上における通信プロセスの発生を監視する（Ｓ１０：通信プロセス監視開始ステップ）。
【００３７】
通信プロセスの監視下において、マルウェア実行処理部（１０４）が、ゲストＯＳ上でマルウェアを実行する。（Ｓ１１：マルウェア実行処理ステップ）
このとき、マルウェアは配布サーバ（３）からコンフィグファイルを受信するか、又は予め受信して仮想マシン上で格納されているコンフィグファイルを利用して不正処理を実行する。
【００３８】
コンフィグファイルは配布サーバ（３）から送信される時には難読化されているケースがあるが、本発明では仮想マシン上でマルウェアを実際に動作させることにより復号されるので検出が可能になる。この点においても従来技術では不可能であった効果を奏する。
【００３９】
通信プロセス検出部（１０５）は本実施例においてゲストＯＳ上で動作することとしているが、本発明ではこれに限定されない。通信プロセス検出部（１０５）はホストＯＳ上で動作する構成でもよい。
【００４０】
通信プロセス検出部（１０５）が、マルウェアの実行中に仮想マシン上で通信プロセスが発生したことを検出し、メモリ情報取得部（１０６）に対してその通信プロセスＩＤを通知する。（Ｓ１２：通信プロセス検出ステップ）
プロセスＩＤは、一般的にはＯＳのＡＰＩによって取得することが出来るが、例えばＡＰＩフックの技術により隠匿されたプロセスＩＤを取得するなど、公知の取得技術を用いることができる。
【００４１】
次に、メモリ情報取得部（１０６）が、通信プロセスＩＤを受理して通信プロセスＩＤに関する仮想マシン上のメモリ領域を監視し、当該メモリ領域において書き込み（書き換え）処理が行われた時にそのメモリダンプをログファイルとして保存する。（Ｓ１３：メモリ情報取得ステップ）
メモリ情報取得部（１０６）における監視は公知のテイント解析によって行われ、ゲストＯＳ（１０３）が使用するメモリとして割り当てることで実現された仮想メモリを監視の対象とする。仮想メモリの構成についても公知であるが、本装置（１）の物理メモリにおける所定領域を仮想マシン上で動作するゲストＯＳ（１０３）が使用するメモリとして割り当てることで実現されている。
【００４２】
メモリ情報取得ステップ（Ｓ１３）において、通信プロセスＩＤが使用する仮想メモリからそのメモリダンプを物理メモリ上のホストＯＳが使用するメモリ領域、又は外部記憶装置上にログファイル（２０）として記録する。
このとき、通信プロセスＩＤが使用するメモリダンプだけを保存するので従来よりも大幅にログファイルの容量を小さくすることができる。
【００４３】
ここで、テイント解析では、検体が使用するメモリダンプをログファイルとして記録しているが、この解析処理は処理に従って書き換えられるメモリダンプを全て監視し記憶するために大きな計算機資源とメモリ容量が必要である。本発明では通信プロセスＩＤが使用するメモリダンプだけを監視し、記録するので大幅に処理を軽減化することができる。
【００４４】
ただし、本発明においてもマルウェアを動作させる時間によりメモリダンプを保存したログファイルのサイズがどんどん増加する場合がある。そこで、次のデータ特定部（１０７）による処理を効率化するために、ログファイルのサイズが例えば５Mbyte〜１０Mbyteとなるようにマルウェア実行処理部（１０４）におけるマルウェアの実行を停止させることもできる。
このとき、ログファイル（２０）の容量を監視して所定容量となったときにマルウェアの実行を停止させることもできるし、予め実行時間を定めてその時間だけ実行するようにしてもよい。
【００４５】
次に、データ特定部（１０７）が、ログファイル（２０）から、あらかじめ定義される規則に従った文字列を抽出する。（Ｓ１４：データ特定ステップ）
データ特定部（１０７）は、メモリ情報取得部（１０６）が作成したログフィル（２０）を解析し、ＵＲＬ、ＩＰアドレス等のコンフィグファイルに含まれる情報を抽出する。このように抽出される情報は、コンフィグファイルが定義する攻撃対象である可能性が高い。
【００４６】
ここでコンフィグファイルについて詳述する。図３は、コンフィグファイル（３０）の一例を示している。この例では、マルウェアに予め備えられるコンフィグファイル（３０）の内容を示しており、コンフィグファイルの所在（すなわち配布サーバ（３））を示すＵＲＬ情報（３１）、マルウェアの配布サーバを示すＵＲＬ情報（３２）、コンフィグファイルを復号する際の鍵（３３）、別の攻撃サーバを追加するための情報（３４）などを備えている。もちろんこれらの情報自体はマルウェアに格納されており通常は不可視である。
【００４７】
図３のコンフィグファイルでは、コンフィグファイルとマルウェア自身のダウンロード場所を指定している。これにより、新しい機能と攻撃対象を更新する。コンフィグファイルとマルウェアのバイナリを別のサーバに配置し、分散環境を構築している点も従来の解析方法では解析しきれない原因となる。
【００４８】
図４は、配布サーバ（３）から配布されるコンフィグファイル（４０）の一例であり、攻撃対象の大手銀行に関する攻撃方法を定義している。例えば、図３のコンフィグファイルに記載されたコンフィグファイルの所在を示すＵＲＬ情報（３１）から実際に取得されるコンフィグファイルと考えると分かりやすい。
【００４９】
このコンフィグファイル（４０）では、攻撃対象の大手銀行のＵＲＬ情報（４１）が定義されている。このＵＲＬにアクセスした場合に、正規にネットバンキングで問い合わせられる情報に変えて、ユーザーに対して入力を求める書き換え情報（４２）が記載されている。例えば、パスワードを入力される画面に合わせて、アクセスキーを同時に入力させてしまうようなフィールド情報（偽画面情報）である。
ここでもコンフィグファイルは難読化されており通常は不可視であることが多い。
【００５０】
以上のように、コンフィグファイルにはさまざな設定情報が含まれている。まとめると、端末に感染しているマルウェア自身を更新するための、ダウンロード場所、コンフィグファイルを更新するためのダウンロードＵＲＬ、情報を盗み出す対象のＵＲＬ、そのＵＲＬにユーザがアクセスした際に表示する偽画面情報などである。
また、スパムを送信するマルウェアのコンフィグファイルでは、スパムを送る際のメールの内容が含まれる場合もある。
【００５１】
本発明は、マルウェアによる通信プロセスを監視することで、不可視であったコンフィグファイルについても、可視化されてメモリダンプに表れたときに、この文字列を抽出するものである。
【００５２】
データ特定部（１０７）では、ログファイル（２０）から、あらかじめ定義される規則に従った文字列を抽出するが、その時の文字列の特定方法の例を説明する。
まず、メモリや外部記憶装置に上記の規則として、特定のエスケープシーケンス又は特定のキャラクターを定義したデータテーブルを用い、エスケープシーケンス又は複数のキャラクターの連続について抽出する構成とすることができる。
【００５３】
エスケープシーケンスとしては、例えば’\n’等がある場合には、エスケープシーケンスで終端される部分を文字列と判断する。また、複数のキャラクターテーブルを備え、キャラクターであるかどうかを判別する。キャラクターであるものが３文字以上連続した場合、該当部分を文字列と判断する。
【００５４】
さらに抽出する文字列を絞る場合には、
・httpから始まるもののみ、
・ipv4アドレスの形式(1バイトずつ“.”で区切って10進数で表記)   ***.***.***.*** 
・ipv6アドレス形式(2バイトずつ“:”で区切って、16進数)   2001:0db8:0000:0000:0000:0000:dead:beaf
に当てはまるもののみを抽出することもできる。
【００５５】
ログファイル（２０）から特定の文字列の抽出方法は公知であるから本発明では限定されないが、上述したコンフィグファイルに含まれる有意な情報を抽出することができる。
例えば、passwordやkeyなど攻撃にしばしば使われる文字列を抽出してもよいし、あるいは辞書データを備えて、辞書に含まれる文字、すなわち言語として有意な文字列を全て抽出することもできる。
【００５６】
図５は、本発明において取得される文字列情報（５０）の一例を示す。本装置（１）からは、このような文字列情報（５０）を例えばモニタ（１２）からの表示として出力する。（Ｓ１５：解析結果出力ステップ）
【００５７】
本発明は、不正処理解析装置において実行されるコンピュータプログラムであって、上記の不正処理解析方法を実行させるための不正処理解析プログラムとして提供してもよい。
【００５８】
本発明は以上の構成により通信プロセスに限定してテイント解析を行い、テイント解析中の文字列操作に着目することによってコンフィグファイルに含まれる情報を解析することができる。
一方、従来のテイント解析はプロセスを限定せずに解析している。テイント解析の処理中は、マルウェア自体の処理が非常に遅くなるため、テイント解析のタイミングを絞ることが解析の効率化において特に有効である。
本方法は、小計算機資源で簡易的なデータ解析を行うことにより、短時間での解析を実現し、早期対策を可能にするものである。
【符号の説明】
【００５９】
１    不正処理解析装置
２    インターネット
３    配布サーバ
４    攻撃対象ホスト
１０  ＣＰＵ
１１  ネットワークアダプタ
１２  モニタ
１０１  ホストＯＳ実行処理部
１０２  仮想マシン実行処理部
１０３  ゲストＯＳ
１０４  マルウェア実行処理部
１０５  通信プロセス検出部
１０６  メモリ情報取得部
１０７  データ特定部
【図１】
2017162042.tif 000003
【図２】
2017162042.tif 000004
【図３】
2017162042.tif 000005
【図４】
2017162042.tif 000006
【図５】
2017162042.tif 000007