(57)【要約】【課題】正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる処理装置およびプログラムを提供する。【解決手段】実行部１０は、他の実行ファイルを生成する第１の実行ファイルを実行する。また、実行部１０は、第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、第１の実行ファイルの属性と異なる属性が付与された状態で実行する。さらに、実行部１０は、第２の実行ファイルを、第１の実行ファイルの属性と同一の属性が付与された状態で実行する。判定部１４は、第２の実行ファイルを実行したときの実行結果と、第２の実行ファイルを実行したときの実行結果とを比較する。【選択図】図２
2011014034.tif 000002
【特許請求の範囲】
【請求項１】
他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、
前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルの属性と異なる属性が付与された状態で実行する第２の実行手段と、
前記第２の実行ファイルを、前記第１の実行ファイルの属性と同一の属性が付与された状態で実行する第３の実行手段と、
前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、
を備えたことを特徴とする処理装置。
【請求項２】
他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、
前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と異なる環境で実行する第２の実行手段と、
前記第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と同一の環境で実行する第３の実行手段と、
前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、
を備えたことを特徴とする処理装置。
【請求項３】
前記第２の実行ファイルが生成されたとき、前記第２の実行ファイルには前記第１の実行ファイルと異なるファイル名が付与され、
前記第２の実行手段は、前記第２の実行ファイルが生成されたときに前記第２の実行ファイルに付与されたファイル名と同一のファイル名が付与された状態で前記第２の実行ファイルを実行し、
前記第３の実行手段は、前記第１の実行ファイルと同一のファイル名が付与された状態で前記第２の実行ファイルを実行する
ことを特徴とする請求項１に記載の処理装置。
【請求項４】
IPアドレスとホスト名の対応を記録したhostsファイルを記憶する記憶手段をさらに備え、
前記第２の実行手段は、前記第２の実行ファイルが生成された際に変更された前記hostsファイルが前記記憶手段に記憶されている状態で前記第２の実行ファイルを実行し、
前記第３の実行手段は、前記第１の実行ファイルが実行される前と同一の内容を有する前記hostsファイルが前記記憶手段に記憶されている状態で前記第２の実行ファイルを実行する
ことを特徴とする請求項２に記載の処理装置。
【請求項５】
前記比較手段による比較の結果、２つの前記実行結果が一致した場合に前記第１の実行ファイルが正規のインストーラであると判定する、または前記第２の実行ファイルが正規のアプリケーションであると判定する判定手段をさらに備えることを特徴とする請求項１〜請求項４のいずれかに記載の処理装置。
【請求項６】
前記比較手段による比較の結果、２つの前記実行結果が一致しなかった場合に前記第１の実行ファイルまたは前記第２の実行ファイルがボットであると判定する判定手段をさらに備えることを特徴とする請求項１〜請求項４のいずれかに記載の処理装置。
【請求項７】
他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、
前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルの属性と異なる属性が付与された状態で実行する第２の実行手段と、
前記第２の実行ファイルを、前記第１の実行ファイルの属性と同一の属性が付与された状態で実行する第３の実行手段と、
前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、
としてコンピュータを機能させるためのプログラム。
【請求項８】
他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、
前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と異なる環境で実行する第２の実行手段と、
前記第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と同一の環境で実行する第３の実行手段と、
前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、PC（Personal Computer）等の処理装置に関する。また、本発明は、本処理装置としてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【０００２】
近年、ウィルスに感染したコンピュータに悪質な動作を実行させる、ボットと呼ばれるウィルスによる被害が拡大している。ボットは、外部の指令サーバに通信セッションを確立して新たなコードをダウンロードする機能や、攻撃のための指令を受ける機能、指令に従って攻撃する機能などを持つ悪意のコードで構成されている。
【０００３】
しかし、パターンマッチング型のウィルス対策ソフトで検知できないボットが増えている。そこで、ボットを検知する手法として、ボットがPC内の複数のファイルに感染するときに自身のコードを読み込む（Read）行為や証拠隠滅のためにコードを消去する（Delete）行為に着目した検知手法が提案されている（例えば非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】酒井崇裕、長谷巧、竹森敬祐、西垣正勝、“自己ファイルREAD/DELETEの検出によるボット検知の可能性に関する一検討”、マルウェア対策研究人材育成ワークショップ2008（MWS2008）、セッションM6-2、2008年10月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、正規のアプリケーションのインストーラの処理でも、自身のコードを読み込んで複製すること（自己複製）や、所望の処理後にコードを消去すること（自己消去）が行われるため、上記の手法では、一部の正常な処理を誤ってボットの処理として検知してしまう問題がある。
【０００６】
本発明は、上述した課題に鑑みてなされたものであって、正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明者は、正規のアプリケーションとボットとでは、実行ファイルの属性に応じて、実行ファイルの実行時の挙動が異なるということを発見した。すなわち、正規のアプリケーションの実行ファイル（以下の第２の実行ファイルに対応）は、そのインストーラの実行ファイル（以下の第１の実行ファイルに対応）と同一の属性が付与されているときと、異なる属性が付与されているときとで、実行結果が同一となる。これに対して、ボットの実行ファイル（以下の第２の実行ファイルに対応）は、その実行ファイルを生成した実行ファイル（以下の第１の実行ファイルに対応）と同一の属性が付与されているときと、異なる属性が付与されているときとで、実行結果が異なる。
【０００８】
また、本発明者は、正規のアプリケーションとボットとでは、実行ファイルが実行される環境に応じて、実行ファイルの実行時の挙動が異なるということを発見した。すなわち、正規のアプリケーションの実行ファイル（以下の第２の実行ファイルに対応）は、そのインストーラの実行ファイル（以下の第１の実行ファイルに対応）が実行される前の環境と同一の環境で実行したときと、異なる環境で実行したときとで、実行結果が同一となる。これに対して、ボットの実行ファイル（以下の第２の実行ファイルに対応）は、その実行ファイルを生成した実行ファイル（以下の第１の実行ファイルに対応）が実行される前の環境と同一の環境で実行したときと、異なる環境で実行したときとで、実行結果が異なる。
【０００９】
本発明は、上記に鑑みてなされたもので、他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルの属性と異なる属性が付与された状態で実行する第２の実行手段と、前記第２の実行ファイルを、前記第１の実行ファイルの属性と同一の属性が付与された状態で実行する第３の実行手段と、前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、を備えたことを特徴とする処理装置である。
【００１０】
また、本発明は、他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と異なる環境で実行する第２の実行手段と、前記第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と同一の環境で実行する第３の実行手段と、前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、を備えたことを特徴とする処理装置である。
【００１１】
また、本発明の処理装置において、前記第２の実行ファイルが生成されたとき、前記第２の実行ファイルには前記第１の実行ファイルと異なるファイル名が付与され、前記第２の実行手段は、前記第２の実行ファイルが生成されたときに前記第２の実行ファイルに付与されたファイル名と同一のファイル名が付与された状態で前記第２の実行ファイルを実行し、前記第３の実行手段は、前記第１の実行ファイルと同一のファイル名が付与された状態で前記第２の実行ファイルを実行することを特徴とする。
【００１２】
また、本発明の処理装置は、IPアドレスとホスト名の対応を記録したhostsファイルを記憶する記憶手段をさらに備え、前記第２の実行手段は、前記第２の実行ファイルが生成された際に変更された前記hostsファイルが前記記憶手段に記憶されている状態で前記第２の実行ファイルを実行し、前記第３の実行手段は、前記第１の実行ファイルが実行される前と同一の内容を有する前記hostsファイルが前記記憶手段に記憶されている状態で前記第２の実行ファイルを実行することを特徴とする。
【００１３】
また、本発明の処理装置は、前記比較手段による比較の結果、２つの前記実行結果が一致した場合に前記第１の実行ファイルが正規のインストーラであると判定する、または前記第２の実行ファイルが正規のアプリケーションであると判定する判定手段をさらに備えることを特徴とする。
【００１４】
また、本発明の処理装置は、前記比較手段による比較の結果、２つの前記実行結果が一致しなかった場合に前記第１の実行ファイルまたは前記第２の実行ファイルがボットであると判定する判定手段をさらに備えることを特徴とする。
【００１５】
また、本発明は、他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルの属性と異なる属性が付与された状態で実行する第２の実行手段と、前記第２の実行ファイルを、前記第１の実行ファイルの属性と同一の属性が付与された状態で実行する第３の実行手段と、前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、としてコンピュータを機能させるためのプログラムである。
【００１６】
また、本発明は、他の実行ファイルを生成する第１の実行ファイルを実行する第１の実行手段と、前記第１の実行ファイルが実行されたときに生成された第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と異なる環境で実行する第２の実行手段と、前記第２の実行ファイルを、前記第１の実行ファイルが実行される前の環境と同一の環境で実行する第３の実行手段と、前記第２の実行手段が前記第２の実行ファイルを実行したときの実行結果と、前記第３の実行手段が前記第２の実行ファイルを実行したときの実行結果とを比較する比較手段と、としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明によれば、第２の実行手段が第２の実行ファイルを実行したときの実行結果と、第３の実行手段が第２の実行ファイルを実行したときの実行結果とを比較することによって、正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態による処理装置のハードウェア構成を示すブロック図である。
【図２】本発明の一実施形態による処理装置の機能構成を示すブロック図である。
【図３】本発明の一実施形態による処理装置の動作を示す参考図である。
【図４】本発明の一実施形態による処理装置の動作を示す参考図である。
【図５】ボットの挙動を示す参考図である。
【図６】ボットの挙動を示す参考図である。
【図７】正規のアプリケーションの挙動を示す参考図である。
【図８】ボットの挙動を示す参考図である。
【図９】正規のアプリケーションの挙動を示す参考図である。
【図１０】改竄されたhostsファイルの内容を示す参考図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照し、本発明の実施形態を説明する。まず、ボットの挙動と正規のアプリケーションの挙動との違いを説明する。図５はボットの挙動を示している。ボットは、潜伏先となるシステムフォルダ等以外のフォルダに格納されている場合には、インストーラとしての挙動を示し、潜伏先のフォルダに自己複製を行う。
【００２０】
図５に示すように、ボット５００の実行ファイル（拡張子が.exe等の実行形式のファイル）が実行（起動）されると、ボット５００は、圧縮ファイルを展開（解凍、伸張）し、展開後のボット５１０の実行ファイルを潜伏先のフォルダ（システムフォルダ等）に格納する。このボット５１０の実行ファイルが実行されると、ボット５１０は外部へ各種攻撃を行う。なお、ボット５００がダウンローダとして動作する場合があり、その場合、ネットワークを経由してボット５１０の実行ファイルがダウンロードされ、潜伏先のフォルダに格納される。
【００２１】
通常、ボットは、実行ファイルが同一であっても、その実行ファイルの属性に応じて異なる挙動を示す。この属性とは、具体的には実行ファイルに付与されるファイル名である。図６に示すように、ボット６００の実行ファイルが実行されると、ボット６００は、圧縮ファイルを展開し、展開後のボット６１０の実行ファイルを潜伏先のフォルダに格納する。このとき、ボット６００のファイル名とは異なるファイル名がランダムに選択されてボット６１０の実行ファイルに付与される。具体的には、ボット６１０の実行ファイルのファイル名は、既存のプロセスに類似したファイル名であるspooIsv.exe、spoolsvc.exe（spoolsv.exeに類似）、Isass.exe、lssas.exe（lsass.exeに類似）等や、既存のプロセスとしては存在しないが既存のプロセスとして存在しそうなファイル名であるfirewall.exe等となる。ボットは、このようなファイル名を記載したリストを保持しており、実行ファイルの展開時に、リストから任意のファイル名を選択して実行ファイルに付与すると考えられる。
【００２２】
ボット６１０の実行ファイルが実行されると、ボット６１０は外部へ各種攻撃を行う。これに対して、ボット６１０の実行ファイルのファイル名をボット６００の実行ファイルのファイル名と同一の名称に変更した実行ファイル６１０ａを実行すると、以下の挙動が観察される。すなわち、ボット６１０ａはボット６００と同様の挙動を示し、ボット６２０の実行ファイルを潜伏先のフォルダに格納する。前述したように、リストから任意のファイル名が選択されてボット６２０の実行ファイルに付与されるため、通常、ボット６１０，６２０の実行ファイルのファイル名は異なる。上記のように、ボットは、実行ファイルが同一であっても、その実行ファイルのファイル名に応じて異なる挙動を示す。
【００２３】
一方、正規のアプリケーションは、実行ファイルのファイル名によらず、同一の挙動を示す。図７は正規のアプリケーションの挙動を示している。図７に示すように、インストーラ７００の実行ファイルが実行されると、インストーラ７００は、圧縮ファイルを展開し、展開後の実行ファイル７１０を展開先のフォルダ（システムフォルダ等）に格納する。このとき、実行ファイル７１０には、実行ファイル７００のファイル名とは異なるファイル名が付与される。
【００２４】
この実行ファイル７１０が実行されると、アプリケーションとしての機能に係る処理（ユーザが指定するファイルの読み込みや編集等）が実行される。これに対して、実行ファイル７１０のファイル名を実行ファイル７００のファイル名と同一の名称に変更した実行ファイル７１０ａを実行すると、以下の挙動が観察される。すなわち、実行ファイル７１０ａは、ファイル名が変更される前と同様の挙動を示し、アプリケーションとしての機能に係る処理を実行する。上記のように、正規のアプリケーションは、実行ファイルのファイル名によらず、同一の挙動を示す。したがって、上記の挙動の違いを利用して、ボットと正規のアプリケーションまたはそのインストーラとを見分けることが可能となる。
【００２５】
また、ボットの挙動と正規のアプリケーションの挙動とでは、以下のような違いもある。通常、ボットは、潜伏のために実行ファイルを展開するときにhostsファイルを改竄する。hostsファイルとは、IPアドレスとホスト名の対応を記録したファイルである。図１０は、ボットによって改竄されたhostsファイルの内容を示している。
【００２６】
IPアドレス「127.0.0.1」は、ホスト自身に割り当てられる、ループバックアドレスと呼ばれるIPアドレスである。ループバックアドレスの右側に記載された文字列がホスト名である。図１０に示すhostsファイルの２行目以降が、ボットによって改竄された部分である。市販されているアンチウイルス（AV）のパターンファイル（定義ファイル）をアップデートしているサイトのIPアドレスが自身を指しているため、このhostsファイルを有するホストは定義ファイルを更新することができない。上記のように、ボットはhostsファイルの改竄を行うことによってアンチウイルスの新たなパターンファイルの取得を阻止する。
【００２７】
通常、ボットは、実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示す。この環境とは具体的には、上記のhostsファイルの状態（内容）である。図８に示すように、ボット８００の実行ファイルが実行されると、ボット８００は、ボット８１０の実行ファイルを潜伏先のフォルダに格納する。このとき、hostsファイルが改竄されたとする。
【００２８】
hostsファイルが改竄されたままの状態でボット８１０の実行ファイルが実行されると、ボット８１０は外部へ各種攻撃を行う。これに対して、hostsファイルを改竄前の状態に戻して実行ファイルを実行すると、以下の挙動が観察される。すなわち、hostsファイルが改竄前の状態に戻った状態でボット８１０の実行ファイルが実行されると、ボット８１０はボット８００と同様の挙動を示し、ボット８２０の実行ファイルを潜伏先のフォルダに格納すると共にhostsファイルを改竄する。上記のように、ボットは、実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示す。
【００２９】
一方、正規のアプリケーションは、hostsファイルの状態によらず、同一の挙動を示す。図９は正規のアプリケーションの挙動を示している。図９に示すように、インストーラ９００の実行ファイルが実行されると、インストーラ９００は、圧縮ファイルを展開し、展開後の実行ファイル９１０を展開先のフォルダ（システムフォルダ等）に格納する。このとき、hostsファイルが変更されたとする。
【００３０】
hostsファイルが変更されたままの状態で実行ファイル９１０が実行されると、アプリケーションとしての機能に係る処理が実行される。これに対して、hostsファイルを改竄前の状態に戻して実行ファイルを実行すると、以下の挙動が観察される。すなわち、hostsファイルが変更前の状態に戻った状態で実行ファイル９１０が実行されると、実行ファイル９１０は実行ファイル９００と同様の挙動を示し、アプリケーションとしての機能に係る処理を実行する。上記のように、正規のアプリケーションは、hostsファイルの状態によらず、同一の挙動を示す。したがって、上記の挙動の違いを利用して、ボットと正規のアプリケーションまたはそのインストーラとを見分けることが可能となる。
【００３１】
図１は、本実施形態による処理装置のハードウェア構成を示している。図１に示す処理装置は、ＣＰＵ１、操作部２、表示部３、ＲＡＭ４（メモリ）、ＨＤＤ５（ハードディスクドライブ）を有し、これらがバスＢで接続されている。ＣＰＵ１は、ＨＤＤ５に格納された各種プログラムをＲＡＭ４に読み込み、そのプログラムに従った処理を実行することで各種機能を実現する。操作部２は、ユーザが操作を行うマウスやキーボード等である。表示部３は、処理装置が実行した処理の結果等を表示する液晶ディスプレイ等である。
【００３２】
ＲＡＭ４は、ＣＰＵ１が実行するプログラムや、演算に必要なデータを一時的に記憶する。ＨＤＤ５は、各種アプリケーションが実行する処理を規定するアプリケーションプログラムや、アプリケーションが作成したファイル、ＯＳ（オペレーティングシステム）の動作に必要なシステムファイル等を記憶する。
【００３３】
図２は、本実施形態による処理装置の機能構成を示している。なお、図２は、本実施形態の説明で必要な機能構成のみを示している。実行部１０、ファイル名変更部１１、変更検知部１２、実行結果取得部１３、判定部１４は、ＣＰＵ１が各機能に係る処理を実行したときの各処理に対応する。ＨＤＤ５は、システムファイルが格納されるシステムフォルダや、システムフォルダ以外のフォルダを有する。各フォルダ内には各種ファイルが格納される。なお、一台のＨＤＤ内に各フォルダを一括して格納するようにしてもよいし、複数台のＨＤＤ内に各フォルダを分散して格納するようにしてもよい。
【００３４】
図２に示す実行部１０、ファイル名変更部１１、変更検知部１２、実行結果取得部１３、判定部１４が実行する処理は以下の通りである。実行部１０は実行ファイルを実行する。ファイル名変更部１１は、実行ファイルのファイル名を変更する。変更検知部１２は、ＨＤＤ５内のフォルダに格納されているhostsファイルの変更を検知する。実行結果取得部１３は、実行ファイルが実行されるときに、その実行に係る処理を監視し、実行結果を取得する。判定部１４は、異なる条件で実行ファイルが実行されたときの実行結果を比較し、比較結果に基づいて、実行ファイルがボットと正規のアプリケーション（またはそのインストーラ）のどちらであるのかを判定する。
【００３５】
次に、本実施形態による処理装置の動作を説明する。まず、図３を参照しながら、第１の動作例を説明する。第１の動作例では、ファイル名に注目して、実行ファイルがボットと正規のアプリケーション（またはそのインストーラ）のどちらであるのかが判定される。
【００３６】
具体的には、以下のようになる。ネットワークやＣＤ−ＲＯＭ等から取得した展開ソフトの実行ファイル３００が任意のフォルダに置かれている。実行部１０が実行ファイル３００を実行すると、実行ファイル３００とは異なるファイル名が付与された実行ファイル３１０が展開先のフォルダに展開される。続いて、実行部１０は実行ファイル３１０を実行する。このとき、実行結果取得部１３は、実行ファイル３１０の実行を監視し、実行結果（以下、実行結果Ｃとする）を取得してＲＡＭ４に格納する。
【００３７】
続いて、ファイル名変更部１１は、実行ファイル３１０のファイル名を実行ファイル３００のファイル名と同一のファイル名に変更する。続いて、実行部１０は、ファイル名が変更された実行ファイル３１０ａを実行する。このとき、実行結果取得部１３は、実行ファイル３１０ａの実行を監視し、実行結果（以下、実行結果Ｃ’とする）を取得してＲＡＭ４に格納する。
【００３８】
続いて、判定部１４は、ＲＡＭ４から実行結果Ｃおよび実行結果Ｃ’を読み出し、両者を比較する。実行結果Ｃと実行結果Ｃ’が一致する場合、判定部１４は、実行ファイル３１０が正規のアプリケーションである、または実行ファイル３００が正規のアプリケーションのインストーラであると判定する。また、実行結果Ｃと実行結果Ｃ’が一致しない場合、判定部１４は、実行ファイル３１０もしくは実行ファイル３００がボットであると判定する。
【００３９】
本実施形態では、一例として、ファイルに対するアクセス（ファイルアクセス）の結果と通信結果の２種類の実行結果に注目する。ファイルアクセスの結果に注目する場合、以下のようになる。正規のアプリケーションは、その実行ファイルが実行されると、実行ファイルのファイル名によらず、ＨＤＤ５内の所定のフォルダに格納されている所定のファイルを読み出す。例えば、ワープロソフトであれば、編集対象のファイルを読み出す。このため、正規のアプリケーションの場合、実行結果Ｃと実行結果Ｃ’は一致する。なお、編集対象のファイルをユーザが指定する場合、実行ファイル３１０を実行するときと実行ファイル３１０ａを実行するときとで同一のファイルを指定するものとする。
【００４０】
一方、ボットは、自身の実行ファイルのファイル名に応じて、挙動が異なる。ボットの場合、例えば以下の２種類のファイルアクセスパターンがある。
【００４１】
第１のファイルアクセスパターンでは、潜伏先のフォルダに展開された実行ファイルは、指令サーバから受信した指令ファイルをＨＤＤ５に保存し、攻撃に必要なファイル（例えばスパムメールに記載される本文等が格納されたファイル）をＨＤＤ５から読み出す。一方、ファイル名が変更された実行ファイルは、インストールが終了していないと判断し、ＨＤＤ５に格納されている自身の実行ファイルをコピーし、潜伏先のフォルダに格納する。
【００４２】
第２のファイルアクセスパターンでは、潜伏先のフォルダに展開された実行ファイルは、攻撃に必要なファイルをＨＤＤ５から読み出す。一方、ファイル名が変更された実行ファイルは、インストールが終了していないと判断し、ＨＤＤ５に格納されている自身の実行ファイルをコピーし、潜伏先のフォルダに格納すると共に、指令サーバから受信した指令ファイルをＨＤＤ５に保存する。したがって、ボットの場合、第１のファイルアクセスパターンと第２のファイルアクセスパターンのいずれにおいても、実行結果Ｃと実行結果Ｃ’は一致しない。
【００４３】
判定部１４は、実行ファイルがアクセスするファイルとアクセスの種類（読み込み、書き込み、消去）が実行結果Ｃと実行結果Ｃ’で一致するか否かを判定する。これによって、ボットと正規のアプリケーションまたはそのインストーラとを見分けることができる。上記の判定を行うためには、実行ファイルを実行したときに生成されるプロセスが行うファイルアクセスを監視する必要があるが、この監視を行うツールとして、例えばFile Mon（http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx）等を利用することが可能である。
【００４４】
また、通信結果に注目する場合、以下のようになる。通信を行う正規のアプリケーションであるブラウザは、その実行ファイルが実行されると、実行ファイルのファイル名によらず、まず予め設定されているホームページを開くため、そのホームページを提供するサーバと通信を行う。このため、正規のアプリケーションの場合、実行結果Ｃと実行結果Ｃ’は一致する。
【００４５】
一方、ボットは、自身の実行ファイルのファイル名に応じて、挙動が異なる。ボットの場合、例えば以下の２種類の通信パターンがある。
【００４６】
第１の通信パターンでは、潜伏先のフォルダに展開された実行ファイルは外部に対して攻撃のための通信（指令サーバからの指令ファイルの受信と外部の端末への攻撃パケットの送信）を行う。一方、ファイル名が変更された実行ファイルは、自身の実行ファイルをコピーするときに通信を行わない。
【００４７】
第２の通信パターンでは、潜伏先のフォルダに展開された実行ファイルは、外部に対して攻撃のための通信（外部の端末への攻撃パケットの送信）を行う。一方、ファイル名が変更された実行ファイルは、ＨＤＤ５に格納されている自身の実行ファイルをコピーし、潜伏先のフォルダに格納すると共に、指令サーバから指令ファイルを受信する。指令サーバと攻撃対象の外部の端末は、異なる端末である。したがって、ボットの場合、第１の通信パターンと第２の通信パターンのいずれにおいても、実行結果Ｃと実行結果Ｃ’は一致しない。
【００４８】
判定部１４は、実行ファイルが行う通信の宛先のＦＱＤＮ（Fully Qualified Domain Name）とポート番号の組が実行結果Ｃと実行結果Ｃ’とで一致するか否かを判定する。これによって、ボットと正規のアプリケーションまたはそのインストーラとを見分けることができる。上記の判定を行うためには、実行ファイルを実行したときに生成されるプロセスが行う通信を監視する必要があるが、この監視を行う方法として、例えば文献（竹森敬祐、三宅優、“無操作ホストから発信されるパケットに注目したウイルス感染検知”、情処研報、CSEC36、pp.141-146、2007年3月）に記載されている方法を利用することが可能である。
【００４９】
なお、実行ファイルが通信を行わなかった場合でも上記と同じ方法による判定を可能とするため、実行ファイルが通信を行わなかった場合には何らかのＦＱＤＮとポート番号が実行結果として得られるようにしておくことが望ましい。例えば、通常使用されない所定の文字列と番号をそれぞれ実行結果のＦＱＤＮとポート番号とし、判定に使用すればよい。また、上記の方法以外の方法で判定を行ってもよく、例えば比較すべき２つの実行結果として、通信したという実行結果と通信しなかったという実行結果が得られた場合には２つの実行結果が一致しないと判定してもよい。
【００５０】
次に、図４を参照しながら、第２の動作例を説明する。第２の動作例では、hostsファイルに注目して、実行ファイルがボットと正規のアプリケーション（またはそのインストーラ）のどちらであるのかが判定される。
【００５１】
具体的には、以下のようになる。ネットワークやＣＤ−ＲＯＭ等から取得した展開ソフトの実行ファイル４００が任意のフォルダに置かれている。実行部１０が実行ファイル４００を実行すると、実行ファイル４１０が展開先のフォルダに展開される。このとき、変更検知部１２は、ＨＤＤ５に格納されているhostsファイルの状態を監視し、hostsファイルの内容が変更されたか否かを判定する。なお、初期状態のhostsファイルはＨＤＤ５にバックアップされているものとする。変更検知部１２によって、hostsファイルの変更が検知された場合、実行部１０は実行ファイル４１０を実行する。このとき、実行結果取得部１３は、実行ファイル４１０の実行を監視し、実行結果（以下、実行結果Ｃとする）を取得してＲＡＭ４に格納する。
【００５２】
続いて、変更検知部１２は、ＨＤＤ５に格納されているhostsファイルのバックアップを利用してhostsファイルの内容を実行ファイル４１０の実行前の状態に戻す。続いて、実行部１０は、実行ファイル４１０を実行する。このとき、実行結果取得部１３は、実行ファイル４１０の実行を監視し、実行結果（以下、実行結果Ｃ’とする）を取得してＲＡＭ４に格納する。
【００５３】
続いて、判定部１４は、ＲＡＭ４から実行結果Ｃおよび実行結果Ｃ’を読み出し、両者を比較する。実行結果Ｃと実行結果Ｃ’が一致する場合、判定部１４は、実行ファイル４１０が正規のアプリケーションである、または実行ファイル４００が正規のアプリケーションのインストーラであると判定する。また、実行結果Ｃと実行結果Ｃ’が一致しない場合、判定部１４は、実行ファイル４１０もしくは実行ファイル４００がボットであると判定する。判定部１４による判定の方法は第１の動作例と同様である。
【００５４】
上述したように、本実施形態によれば、実行ファイルの名前に応じた実行結果またはhostsファイルの内容に応じた実行結果を比較することによって、ボットと正規のアプリケーションまたはそのインストーラとを見分けることが可能となる。したがって、正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる。
【００５５】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上記の処理装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。
【００５６】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５７】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００５８】
１・・・ＣＰＵ、２・・・操作部、３・・・表示部、４・・・ＲＡＭ、５・・・ＨＤＤ（記憶手段）、１０・・・実行部（実行手段）、１１・・・ファイル名変更部、１２・・・変更検知部、１３・・・実行結果取得部、１４・・・判定部（比較手段、判定手段）
【図１】
2011014034.tif 000003
【図２】
2011014034.tif 000004
【図３】
2011014034.tif 000005
【図４】
2011014034.tif 000006
【図５】
2011014034.tif 000007
【図６】
2011014034.tif 000008
【図７】
2011014034.tif 000009
【図８】
2011014034.tif 000010
【図９】
2011014034.tif 000011
【図１０】
2011014034.tif 000012