JP5371045B2 - Processing device and program - Google Patents

Processing device and program Download PDF

Info

Publication number
JP5371045B2
JP5371045B2 JP2009159028A JP2009159028A JP5371045B2 JP 5371045 B2 JP5371045 B2 JP 5371045B2 JP 2009159028 A JP2009159028 A JP 2009159028A JP 2009159028 A JP2009159028 A JP 2009159028A JP 5371045 B2 JP5371045 B2 JP 5371045B2
Authority
JP
Japan
Prior art keywords
execution
file
executable
executable file
bot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009159028A
Other languages
Japanese (ja)
Other versions
JP2011014034A (en
Inventor
敬祐 竹森
優 三宅
正勝 西垣
崇裕 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shizuoka University NUC
KDDI Corp
Original Assignee
Shizuoka University NUC
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shizuoka University NUC, KDDI Corp filed Critical Shizuoka University NUC
Priority to JP2009159028A priority Critical patent/JP5371045B2/en
Publication of JP2011014034A publication Critical patent/JP2011014034A/en
Application granted granted Critical
Publication of JP5371045B2 publication Critical patent/JP5371045B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、PC(Personal Computer)等の処理装置に関する。また、本発明は、本処理装置としてコンピュータを機能させるためのプログラムにも関する。   The present invention relates to a processing apparatus such as a PC (Personal Computer). The present invention also relates to a program for causing a computer to function as the processing apparatus.

近年、ウィルスに感染したコンピュータに悪質な動作を実行させる、ボットと呼ばれるウィルスによる被害が拡大している。ボットは、外部の指令サーバに通信セッションを確立して新たなコードをダウンロードする機能や、攻撃のための指令を受ける機能、指令に従って攻撃する機能などを持つ悪意のコードで構成されている。   In recent years, damage caused by viruses called bots that cause a computer infected with a virus to perform malicious operations has been increasing. The bot is composed of malicious code having a function of establishing a communication session with an external command server and downloading a new code, a function of receiving a command for an attack, and a function of attacking according to the command.

しかし、パターンマッチング型のウィルス対策ソフトで検知できないボットが増えている。そこで、ボットを検知する手法として、ボットがPC内の複数のファイルに感染するときに自身のコードを読み込む(Read)行為や証拠隠滅のためにコードを消去する(Delete)行為に着目した検知手法が提案されている(例えば非特許文献1参照)。   However, an increasing number of bots cannot be detected by pattern-matching anti-virus software. Therefore, as a method to detect bots, a detection method focusing on the act of reading its own code (Read) when the bot infects multiple files on the PC and the act of deleting the code to destroy evidence (Delete) Has been proposed (see Non-Patent Document 1, for example).

酒井崇裕、長谷巧、竹森敬祐、西垣正勝、“自己ファイルREAD/DELETEの検出によるボット検知の可能性に関する一検討”、マルウェア対策研究人材育成ワークショップ2008(MWS2008)、セッションM6-2、2008年10月Takahiro Sakai, Takumi Hase, Keisuke Takemori, Masakatsu Nishigaki, “A Study on the Potential of Bot Detection by Detecting Self-File READ / DELETE”, Antimalware Research Human Resource Development Workshop 2008 (MWS2008), Session M6-2, 2008 October

しかし、正規のアプリケーションのインストーラの処理でも、自身のコードを読み込んで複製すること(自己複製)や、所望の処理後にコードを消去すること(自己消去)が行われるため、上記の手法では、一部の正常な処理を誤ってボットの処理として検知してしまう問題がある。   However, even in the process of a legitimate application installer, it is possible to read and copy its own code (self-replicating) and to erase the code after desired processing (self-erasing). There is a problem that a normal process of a part is erroneously detected as a bot process.

本発明は、上述した課題に鑑みてなされたものであって、正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる処理装置およびプログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a processing device and a program that can reduce false detection of detecting behavior of a regular application or the like as abnormal behavior. .

本発明者は、正規のアプリケーションとボットとでは、実行ファイルの属性に応じて、実行ファイルの実行時の挙動が異なるということを発見した。すなわち、正規のアプリケーションの実行ファイル(以下の第2の実行ファイルに対応)は、そのインストーラの実行ファイル(以下の第1の実行ファイルに対応)と同一の属性が付与されているときと、異なる属性が付与されているときとで、実行結果が同一となる。これに対して、ボットの実行ファイル(以下の第2の実行ファイルに対応)は、その実行ファイルを生成した実行ファイル(以下の第1の実行ファイルに対応)と同一の属性が付与されているときと、異なる属性が付与されているときとで、実行結果が異なる。   The present inventor has found that the behavior at the time of execution of the executable file differs between the regular application and the bot according to the attribute of the executable file. In other words, a legitimate application executable file (corresponding to the following second executable file) is different from the case where the same attribute as that of the installer executable file (corresponding to the following first executable file) is given. The execution result is the same when the attribute is assigned. On the other hand, the execution file of the bot (corresponding to the second execution file below) has the same attribute as the execution file (corresponding to the first execution file below) that generated the execution file. The execution result differs depending on when the different attribute is given.

また、本発明者は、正規のアプリケーションとボットとでは、実行ファイルが実行される環境に応じて、実行ファイルの実行時の挙動が異なるということを発見した。すなわち、正規のアプリケーションの実行ファイル(以下の第2の実行ファイルに対応)は、そのインストーラの実行ファイル(以下の第1の実行ファイルに対応)が実行される前の環境と同一の環境で実行したときと、異なる環境で実行したときとで、実行結果が同一となる。これに対して、ボットの実行ファイル(以下の第2の実行ファイルに対応)は、その実行ファイルを生成した実行ファイル(以下の第1の実行ファイルに対応)が実行される前の環境と同一の環境で実行したときと、異なる環境で実行したときとで、実行結果が異なる。   The inventor has also found that the behavior of an executable file differs between a legitimate application and a bot depending on the environment in which the executable file is executed. In other words, the executable file of the legitimate application (corresponding to the second execution file below) is executed in the same environment as the environment before the execution file of the installer (corresponding to the first execution file below) is executed. The execution results are the same when executed in different environments. On the other hand, the execution file of the bot (corresponding to the second execution file below) is the same as the environment before the execution file (corresponding to the first execution file below) that generated the execution file is executed. Execution results differ when executed in different environments and when executed in different environments.

本発明は、上記に鑑みてなされたもので、実行ファイルが同一であっても、その実行ファイルの属性に応じて異なる挙動を示すボットを検知する処理装置であって、他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルの属性と異なる属性が付与された状態で実行する第2の実行手段と、前記第2の実行ファイルを、前記第1の実行ファイルの属性と同一の属性が付与された状態で実行する第3の実行手段と、前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、を備えたことを特徴とする処理装置である。 The present invention has been made in view of the above, and is a processing device that detects a bot that behaves differently according to the attributes of an executable file even if the executable files are the same, and generates another executable file. The first execution means for executing the first executable file and the second executable file generated when the first executable file is executed have attributes different from those of the first executable file. Second execution means for executing in the assigned state; third execution means for executing the second executable file in a state with the same attribute as the attribute of the first executable file; comparing means for comparing the execution results when the second execution means executing the second executable execution results and when the third execution means executes the second execution file, the Ratio by comparison means In the result, the processing unit, characterized in that when said two of the execution result does not match the first executable or the second execution file and a determining means for determining that the bot is there.

また、本発明は、実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示すボットを検知する処理装置であって、他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と異なる環境で実行する第2の実行手段と、前記第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と同一の環境で実行する第3の実行手段と、前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、を備えたことを特徴とする処理装置である。 Further, the present invention is a processing device that detects a bot that exhibits different behavior depending on the environment when the execution file is executed even if the execution file is the same, and generates another execution file. A first execution means for executing one executable file, a second executable file generated when the first executable file is executed, an environment before the first executable file is executed, and Second execution means for executing in a different environment, third execution means for executing the second execution file in the same environment as the environment before the execution of the first execution file, and the second Comparing means for comparing the execution result when the second execution file is executed by the execution means and the execution result when the third execution means executes the second execution file; and the comparison means As a result of comparison by One of the execution result of the first execution file or the second executable when no match is the processing apparatus characterized by comprising a determination means that the bot.

また、本発明の処理装置において、前記第2の実行ファイルが生成されたとき、前記第2の実行ファイルには前記第1の実行ファイルと異なるファイル名が付与され、前記第2の実行手段は、前記第2の実行ファイルが生成されたときに前記第2の実行ファイルに付与されたファイル名と同一のファイル名が付与された状態で前記第2の実行ファイルを実行し、前記第3の実行手段は、前記第1の実行ファイルと同一のファイル名が付与された状態で前記第2の実行ファイルを実行することを特徴とする。   In the processing apparatus of the present invention, when the second executable file is generated, a file name different from the first executable file is given to the second executable file, and the second execution means , Executing the second executable file in a state where the same file name as the file name given to the second executable file is given when the second executable file is generated, The execution means executes the second execution file with the same file name as that of the first execution file.

また、本発明の処理装置は、IPアドレスとホスト名の対応を記録したhostsファイルを記憶する記憶手段をさらに備え、前記第2の実行手段は、前記第2の実行ファイルが生成された際に変更された前記hostsファイルが前記記憶手段に記憶されている状態で前記第2の実行ファイルを実行し、前記第3の実行手段は、前記第1の実行ファイルが実行される前と同一の内容を有する前記hostsファイルが前記記憶手段に記憶されている状態で前記第2の実行ファイルを実行することを特徴とする。   The processing apparatus of the present invention further includes storage means for storing a hosts file that records the correspondence between the IP address and the host name, and the second execution means is configured to generate the second execution file when the second execution file is generated. The second execution file is executed in a state where the changed hosts file is stored in the storage means, and the third execution means has the same contents as before the first execution file is executed. The second executable file is executed in a state where the hosts file having the information is stored in the storage means.

また、本発明の処理装置において前記判定手段は、前記比較手段による比較の結果、2つの前記実行結果が一致した場合に前記第1の実行ファイルが、ボットに対する正規のインストーラであると判定する、または前記第2の実行ファイルが、ボットに対する正規のアプリケーションであると判定することを特徴とする。 In the processing apparatus of the present invention, the determination unit determines that the first executable file is a legitimate installer for the bot when the two execution results match as a result of the comparison by the comparison unit. , or the second executable, and wherein the benzalkonium be determined to be a legitimate application for bots.

また、本発明は、実行ファイルが同一であっても、その実行ファイルの属性に応じて異なる挙動を示すボットを検知する手段としてコンピュータを機能させるためのプログラムであって、他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルの属性と異なる属性が付与された状態で実行する第2の実行手段と、前記第2の実行ファイルを、前記第1の実行ファイルの属性と同一の属性が付与された状態で実行する第3の実行手段と、前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、としてコンピュータを機能させるためのプログラムである。 Further, the present invention is a program for causing a computer to function as a means for detecting a bot that exhibits different behavior depending on the attributes of the executable file even if the executable files are the same, and generates another executable file. The first execution means for executing the first executable file and the second executable file generated when the first executable file is executed have attributes different from those of the first executable file. Second execution means for executing in the assigned state; third execution means for executing the second executable file in a state with the same attribute as the attribute of the first executable file; comparing means for comparing the execution results when the second execution means executing the second executable execution results and when the third execution means executes the second executable, Serial comparison result of the comparison by the means, the first execution file or the second execution file if the two of the execution result does not match for causing a computer to function as: a determination means that the bot It is a program.

また、本発明は、実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示すボットを検知する手段としてコンピュータを機能させるためのプログラムであって、他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と異なる環境で実行する第2の実行手段と、前記第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と同一の環境で実行する第3の実行手段と、前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、としてコンピュータを機能させるためのプログラムである。 Further, the present invention is a program for causing a computer to function as a means for detecting a bot that exhibits different behavior depending on the environment when the execution file is executed even if the execution file is the same. A first execution unit that executes a first execution file that generates the second execution file, and a second execution file that is generated when the first execution file is executed. A second execution unit that executes in an environment different from the environment before execution; and a third execution unit that executes the second execution file in the same environment as the environment before the execution of the first execution file. The execution unit and the execution result when the second execution unit executes the second execution file are compared with the execution result when the third execution unit executes the second execution file. And compare means, comparison result by the comparison means, two of the when the execution result does not match the first executable or the determining means and the second execution file is bot, a computer Is a program for making

本発明によれば、第2の実行手段が第2の実行ファイルを実行したときの実行結果と、第3の実行手段が第2の実行ファイルを実行したときの実行結果とを比較することによって、正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる。   According to the present invention, the execution result when the second execution means executes the second execution file is compared with the execution result when the third execution means executes the second execution file. In addition, it is possible to reduce false detection in which the behavior of a legitimate application is detected as abnormal behavior.

本発明の一実施形態による処理装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the processing apparatus by one Embodiment of this invention. 本発明の一実施形態による処理装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the processing apparatus by one Embodiment of this invention. 本発明の一実施形態による処理装置の動作を示す参考図である。It is a reference figure showing operation of a processing unit by one embodiment of the present invention. 本発明の一実施形態による処理装置の動作を示す参考図である。It is a reference figure showing operation of a processing unit by one embodiment of the present invention. ボットの挙動を示す参考図である。It is a reference figure which shows the behavior of a bot. ボットの挙動を示す参考図である。It is a reference figure which shows the behavior of a bot. 正規のアプリケーションの挙動を示す参考図である。It is a reference figure which shows the behavior of a regular application. ボットの挙動を示す参考図である。It is a reference figure which shows the behavior of a bot. 正規のアプリケーションの挙動を示す参考図である。It is a reference figure which shows the behavior of a regular application. 改竄されたhostsファイルの内容を示す参考図である。It is a reference figure which shows the contents of the falsified hosts file.

以下、図面を参照し、本発明の実施形態を説明する。まず、ボットの挙動と正規のアプリケーションの挙動との違いを説明する。図5はボットの挙動を示している。ボットは、潜伏先となるシステムフォルダ等以外のフォルダに格納されている場合には、インストーラとしての挙動を示し、潜伏先のフォルダに自己複製を行う。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, the difference between bot behavior and legitimate application behavior is explained. FIG. 5 shows the behavior of the bot. If the bot is stored in a folder other than the system folder or the like that is a latent destination, the bot exhibits behavior as an installer and performs self-replication in the hidden folder.

図5に示すように、ボット500の実行ファイル(拡張子が.exe等の実行形式のファイル)が実行(起動)されると、ボット500は、圧縮ファイルを展開(解凍、伸張)し、展開後のボット510の実行ファイルを潜伏先のフォルダ(システムフォルダ等)に格納する。このボット510の実行ファイルが実行されると、ボット510は外部へ各種攻撃を行う。なお、ボット500がダウンローダとして動作する場合があり、その場合、ネットワークを経由してボット510の実行ファイルがダウンロードされ、潜伏先のフォルダに格納される。   As shown in FIG. 5, when an execution file (executable file with an extension of .exe or the like) of the bot 500 is executed (started), the bot 500 expands (decompresses and expands) the compressed file and expands it. The execution file of the subsequent bot 510 is stored in a hidden folder (system folder or the like). When the execution file of the bot 510 is executed, the bot 510 performs various attacks to the outside. In some cases, the bot 500 may operate as a downloader. In this case, the execution file of the bot 510 is downloaded via the network and stored in the hidden folder.

通常、ボットは、実行ファイルが同一であっても、その実行ファイルの属性に応じて異なる挙動を示す。この属性とは、具体的には実行ファイルに付与されるファイル名である。図6に示すように、ボット600の実行ファイルが実行されると、ボット600は、圧縮ファイルを展開し、展開後のボット610の実行ファイルを潜伏先のフォルダに格納する。このとき、ボット600のファイル名とは異なるファイル名がランダムに選択されてボット610の実行ファイルに付与される。具体的には、ボット610の実行ファイルのファイル名は、既存のプロセスに類似したファイル名であるspooIsv.exe、spoolsvc.exe(spoolsv.exeに類似)、Isass.exe、lssas.exe(lsass.exeに類似)等や、既存のプロセスとしては存在しないが既存のプロセスとして存在しそうなファイル名であるfirewall.exe等となる。ボットは、このようなファイル名を記載したリストを保持しており、実行ファイルの展開時に、リストから任意のファイル名を選択して実行ファイルに付与すると考えられる。   Usually, even if the executable file is the same, the bot behaves differently depending on the attribute of the executable file. This attribute is specifically a file name given to the executable file. As shown in FIG. 6, when the execution file of the bot 600 is executed, the bot 600 expands the compressed file, and stores the expanded execution file of the bot 610 in the hidden folder. At this time, a file name different from the file name of the bot 600 is randomly selected and given to the execution file of the bot 610. Specifically, the executable file name of the bot 610 is a file name similar to an existing process, spookIsv.exe, spoolsvc.exe (similar to spoolsv.exe), Isass.exe, lssas.exe (lsass.exe). It is similar to exe), and firewall.exe, which is a file name that does not exist as an existing process but is likely to exist as an existing process. The bot holds a list in which such file names are described, and it is considered that when an executable file is expanded, an arbitrary file name is selected from the list and given to the executable file.

ボット610の実行ファイルが実行されると、ボット610は外部へ各種攻撃を行う。これに対して、ボット610の実行ファイルのファイル名をボット600の実行ファイルのファイル名と同一の名称に変更した実行ファイル610aを実行すると、以下の挙動が観察される。すなわち、ボット610aはボット600と同様の挙動を示し、ボット620の実行ファイルを潜伏先のフォルダに格納する。前述したように、リストから任意のファイル名が選択されてボット620の実行ファイルに付与されるため、通常、ボット610,620の実行ファイルのファイル名は異なる。上記のように、ボットは、実行ファイルが同一であっても、その実行ファイルのファイル名に応じて異なる挙動を示す。   When the execution file of the bot 610 is executed, the bot 610 performs various attacks to the outside. On the other hand, when the execution file 610a in which the file name of the execution file of the bot 610 is changed to the same name as the execution file of the bot 600 is executed, the following behavior is observed. That is, the bot 610a shows the same behavior as the bot 600, and stores the execution file of the bot 620 in the hidden folder. As described above, since an arbitrary file name is selected from the list and given to the execution file of the bot 620, the file names of the execution files of the bots 610 and 620 are usually different. As described above, even if the execution files are the same, the bot exhibits different behaviors depending on the file name of the execution file.

一方、正規のアプリケーションは、実行ファイルのファイル名によらず、同一の挙動を示す。図7は正規のアプリケーションの挙動を示している。図7に示すように、インストーラ700の実行ファイルが実行されると、インストーラ700は、圧縮ファイルを展開し、展開後の実行ファイル710を展開先のフォルダ(システムフォルダ等)に格納する。このとき、実行ファイル710には、実行ファイル700のファイル名とは異なるファイル名が付与される。   On the other hand, the legitimate application shows the same behavior regardless of the file name of the executable file. FIG. 7 shows the behavior of a legitimate application. As shown in FIG. 7, when the execution file of the installer 700 is executed, the installer 700 expands the compressed file and stores the expanded execution file 710 in a folder (system folder or the like) of the expansion destination. At this time, a file name different from the file name of the execution file 700 is given to the execution file 710.

この実行ファイル710が実行されると、アプリケーションとしての機能に係る処理(ユーザが指定するファイルの読み込みや編集等)が実行される。これに対して、実行ファイル710のファイル名を実行ファイル700のファイル名と同一の名称に変更した実行ファイル710aを実行すると、以下の挙動が観察される。すなわち、実行ファイル710aは、ファイル名が変更される前と同様の挙動を示し、アプリケーションとしての機能に係る処理を実行する。上記のように、正規のアプリケーションは、実行ファイルのファイル名によらず、同一の挙動を示す。したがって、上記の挙動の違いを利用して、ボットと正規のアプリケーションまたはそのインストーラとを見分けることが可能となる。   When the execution file 710 is executed, processing related to the function as an application (reading and editing of a file specified by the user) is executed. On the other hand, when the execution file 710a in which the file name of the execution file 710 is changed to the same name as the file name of the execution file 700 is executed, the following behavior is observed. That is, the execution file 710a exhibits the same behavior as before the file name is changed, and executes processing related to the function as an application. As described above, the legitimate application exhibits the same behavior regardless of the file name of the executable file. Therefore, it is possible to distinguish between a bot and a legitimate application or its installer by using the difference in behavior described above.

また、ボットの挙動と正規のアプリケーションの挙動とでは、以下のような違いもある。通常、ボットは、潜伏のために実行ファイルを展開するときにhostsファイルを改竄する。hostsファイルとは、IPアドレスとホスト名の対応を記録したファイルである。図10は、ボットによって改竄されたhostsファイルの内容を示している。   There are also the following differences between bot behavior and legitimate application behavior. Usually, bots tamper with the hosts file when expanding executables for hidden purposes. The hosts file is a file that records the correspondence between IP addresses and host names. FIG. 10 shows the contents of the hosts file altered by the bot.

IPアドレス「127.0.0.1」は、ホスト自身に割り当てられる、ループバックアドレスと呼ばれるIPアドレスである。ループバックアドレスの右側に記載された文字列がホスト名である。図10に示すhostsファイルの2行目以降が、ボットによって改竄された部分である。市販されているアンチウイルス(AV)のパターンファイル(定義ファイル)をアップデートしているサイトのIPアドレスが自身を指しているため、このhostsファイルを有するホストは定義ファイルを更新することができない。上記のように、ボットはhostsファイルの改竄を行うことによってアンチウイルスの新たなパターンファイルの取得を阻止する。   The IP address “127.0.0.1” is an IP address called a loopback address assigned to the host itself. The character string written on the right side of the loopback address is the host name. The second and subsequent lines of the hosts file shown in FIG. 10 are portions that have been tampered with by the bot. Since the IP address of a site that updates a commercially available antivirus (AV) pattern file (definition file) points to itself, a host having this hosts file cannot update the definition file. As mentioned above, the bot prevents the acquisition of new anti-virus pattern files by falsifying the hosts file.

通常、ボットは、実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示す。この環境とは具体的には、上記のhostsファイルの状態(内容)である。図8に示すように、ボット800の実行ファイルが実行されると、ボット800は、ボット810の実行ファイルを潜伏先のフォルダに格納する。このとき、hostsファイルが改竄されたとする。   Usually, even if the executable file is the same, the bot behaves differently depending on the environment when the executable file is executed. Specifically, this environment is the state (contents) of the above hosts file. As shown in FIG. 8, when the execution file of the bot 800 is executed, the bot 800 stores the execution file of the bot 810 in the hidden folder. Assume that the hosts file has been tampered with.

hostsファイルが改竄されたままの状態でボット810の実行ファイルが実行されると、ボット810は外部へ各種攻撃を行う。これに対して、hostsファイルを改竄前の状態に戻して実行ファイルを実行すると、以下の挙動が観察される。すなわち、hostsファイルが改竄前の状態に戻った状態でボット810の実行ファイルが実行されると、ボット810はボット800と同様の挙動を示し、ボット820の実行ファイルを潜伏先のフォルダに格納すると共にhostsファイルを改竄する。上記のように、ボットは、実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示す。   If the execution file of the bot 810 is executed with the hosts file still falsified, the bot 810 performs various attacks to the outside. On the other hand, when the hosts file is returned to the state before falsification and the execution file is executed, the following behavior is observed. That is, when the execution file of the bot 810 is executed with the hosts file returned to the state before the falsification, the bot 810 shows the same behavior as the bot 800 and stores the execution file of the bot 820 in the hidden folder. In addition, falsify the hosts file. As described above, even if the execution file is the same, the bot exhibits different behavior depending on the environment when the execution file is executed.

一方、正規のアプリケーションは、hostsファイルの状態によらず、同一の挙動を示す。図9は正規のアプリケーションの挙動を示している。図9に示すように、インストーラ900の実行ファイルが実行されると、インストーラ900は、圧縮ファイルを展開し、展開後の実行ファイル910を展開先のフォルダ(システムフォルダ等)に格納する。このとき、hostsファイルが変更されたとする。   On the other hand, legitimate applications exhibit the same behavior regardless of the status of the hosts file. FIG. 9 shows the behavior of a regular application. As shown in FIG. 9, when the execution file of the installer 900 is executed, the installer 900 expands the compressed file and stores the expanded execution file 910 in the expansion destination folder (system folder or the like). At this time, it is assumed that the hosts file has been changed.

hostsファイルが変更されたままの状態で実行ファイル910が実行されると、アプリケーションとしての機能に係る処理が実行される。これに対して、hostsファイルを改竄前の状態に戻して実行ファイルを実行すると、以下の挙動が観察される。すなわち、hostsファイルが変更前の状態に戻った状態で実行ファイル910が実行されると、実行ファイル910は実行ファイル900と同様の挙動を示し、アプリケーションとしての機能に係る処理を実行する。上記のように、正規のアプリケーションは、hostsファイルの状態によらず、同一の挙動を示す。したがって、上記の挙動の違いを利用して、ボットと正規のアプリケーションまたはそのインストーラとを見分けることが可能となる。   When the execution file 910 is executed in a state where the hosts file remains changed, processing relating to the function as an application is executed. On the other hand, when the hosts file is returned to the state before falsification and the execution file is executed, the following behavior is observed. That is, when the execution file 910 is executed with the hosts file returned to the state before the change, the execution file 910 shows the same behavior as the execution file 900 and executes processing related to the function as an application. As described above, legitimate applications exhibit the same behavior regardless of the state of the hosts file. Therefore, it is possible to distinguish between a bot and a legitimate application or its installer by using the difference in behavior described above.

図1は、本実施形態による処理装置のハードウェア構成を示している。図1に示す処理装置は、CPU1、操作部2、表示部3、RAM4(メモリ)、HDD5(ハードディスクドライブ)を有し、これらがバスBで接続されている。CPU1は、HDD5に格納された各種プログラムをRAM4に読み込み、そのプログラムに従った処理を実行することで各種機能を実現する。操作部2は、ユーザが操作を行うマウスやキーボード等である。表示部3は、処理装置が実行した処理の結果等を表示する液晶ディスプレイ等である。   FIG. 1 shows the hardware configuration of the processing apparatus according to the present embodiment. The processing apparatus shown in FIG. 1 includes a CPU 1, an operation unit 2, a display unit 3, a RAM 4 (memory), and an HDD 5 (hard disk drive), which are connected by a bus B. The CPU 1 implements various functions by reading various programs stored in the HDD 5 into the RAM 4 and executing processes according to the programs. The operation unit 2 is a mouse or a keyboard that is operated by a user. The display unit 3 is a liquid crystal display or the like that displays a result of processing executed by the processing device.

RAM4は、CPU1が実行するプログラムや、演算に必要なデータを一時的に記憶する。HDD5は、各種アプリケーションが実行する処理を規定するアプリケーションプログラムや、アプリケーションが作成したファイル、OS(オペレーティングシステム)の動作に必要なシステムファイル等を記憶する。   The RAM 4 temporarily stores programs executed by the CPU 1 and data necessary for calculation. The HDD 5 stores an application program that defines processing executed by various applications, a file created by the application, a system file necessary for operating an OS (operating system), and the like.

図2は、本実施形態による処理装置の機能構成を示している。なお、図2は、本実施形態の説明で必要な機能構成のみを示している。実行部10、ファイル名変更部11、変更検知部12、実行結果取得部13、判定部14は、CPU1が各機能に係る処理を実行したときの各処理に対応する。HDD5は、システムファイルが格納されるシステムフォルダや、システムフォルダ以外のフォルダを有する。各フォルダ内には各種ファイルが格納される。なお、一台のHDD内に各フォルダを一括して格納するようにしてもよいし、複数台のHDD内に各フォルダを分散して格納するようにしてもよい。   FIG. 2 shows a functional configuration of the processing apparatus according to the present embodiment. FIG. 2 shows only the functional configuration necessary for the description of this embodiment. The execution unit 10, the file name change unit 11, the change detection unit 12, the execution result acquisition unit 13, and the determination unit 14 correspond to each process when the CPU 1 executes a process related to each function. The HDD 5 has a system folder in which system files are stored and folders other than the system folder. Various files are stored in each folder. Each folder may be stored in a single HDD, or each folder may be distributed and stored in a plurality of HDDs.

図2に示す実行部10、ファイル名変更部11、変更検知部12、実行結果取得部13、判定部14が実行する処理は以下の通りである。実行部10は実行ファイルを実行する。ファイル名変更部11は、実行ファイルのファイル名を変更する。変更検知部12は、HDD5内のフォルダに格納されているhostsファイルの変更を検知する。実行結果取得部13は、実行ファイルが実行されるときに、その実行に係る処理を監視し、実行結果を取得する。判定部14は、異なる条件で実行ファイルが実行されたときの実行結果を比較し、比較結果に基づいて、実行ファイルがボットと正規のアプリケーション(またはそのインストーラ)のどちらであるのかを判定する。   The processes executed by the execution unit 10, the file name change unit 11, the change detection unit 12, the execution result acquisition unit 13, and the determination unit 14 illustrated in FIG. 2 are as follows. The execution unit 10 executes the execution file. The file name changing unit 11 changes the file name of the execution file. The change detection unit 12 detects a change in the hosts file stored in the folder in the HDD 5. When the execution file is executed, the execution result acquisition unit 13 monitors processing related to the execution and acquires the execution result. The determination unit 14 compares execution results when the execution files are executed under different conditions, and determines whether the execution file is a bot or a regular application (or its installer) based on the comparison results.

次に、本実施形態による処理装置の動作を説明する。まず、図3を参照しながら、第1の動作例を説明する。第1の動作例では、ファイル名に注目して、実行ファイルがボットと正規のアプリケーション(またはそのインストーラ)のどちらであるのかが判定される。   Next, the operation of the processing apparatus according to the present embodiment will be described. First, a first operation example will be described with reference to FIG. In the first operation example, paying attention to the file name, it is determined whether the execution file is a bot or a legitimate application (or its installer).

具体的には、以下のようになる。ネットワークやCD−ROM等から取得した展開ソフトの実行ファイル300が任意のフォルダに置かれている。実行部10が実行ファイル300を実行すると、実行ファイル300とは異なるファイル名が付与された実行ファイル310が展開先のフォルダに展開される。続いて、実行部10は実行ファイル310を実行する。このとき、実行結果取得部13は、実行ファイル310の実行を監視し、実行結果(以下、実行結果Cとする)を取得してRAM4に格納する。   Specifically, it is as follows. An executable software execution file 300 acquired from a network, a CD-ROM, or the like is placed in an arbitrary folder. When the execution unit 10 executes the execution file 300, the execution file 310 to which a file name different from that of the execution file 300 is assigned is expanded in the expansion destination folder. Subsequently, the execution unit 10 executes the execution file 310. At this time, the execution result acquisition unit 13 monitors the execution of the execution file 310, acquires the execution result (hereinafter referred to as execution result C), and stores it in the RAM 4.

続いて、ファイル名変更部11は、実行ファイル310のファイル名を実行ファイル300のファイル名と同一のファイル名に変更する。続いて、実行部10は、ファイル名が変更された実行ファイル310aを実行する。このとき、実行結果取得部13は、実行ファイル310aの実行を監視し、実行結果(以下、実行結果C’とする)を取得してRAM4に格納する。   Subsequently, the file name changing unit 11 changes the file name of the execution file 310 to the same file name as the file name of the execution file 300. Subsequently, the execution unit 10 executes the execution file 310a whose file name has been changed. At this time, the execution result acquisition unit 13 monitors the execution of the execution file 310a, acquires an execution result (hereinafter, referred to as an execution result C '), and stores it in the RAM 4.

続いて、判定部14は、RAM4から実行結果Cおよび実行結果C’を読み出し、両者を比較する。実行結果Cと実行結果C’が一致する場合、判定部14は、実行ファイル310が正規のアプリケーションである、または実行ファイル300が正規のアプリケーションのインストーラであると判定する。また、実行結果Cと実行結果C’が一致しない場合、判定部14は、実行ファイル310もしくは実行ファイル300がボットであると判定する。   Subsequently, the determination unit 14 reads the execution result C and the execution result C ′ from the RAM 4 and compares the two. When the execution result C matches the execution result C ′, the determination unit 14 determines that the execution file 310 is a legitimate application or the execution file 300 is a legitimate application installer. If the execution result C and the execution result C ′ do not match, the determination unit 14 determines that the execution file 310 or the execution file 300 is a bot.

本実施形態では、一例として、ファイルに対するアクセス(ファイルアクセス)の結果と通信結果の2種類の実行結果に注目する。ファイルアクセスの結果に注目する場合、以下のようになる。正規のアプリケーションは、その実行ファイルが実行されると、実行ファイルのファイル名によらず、HDD5内の所定のフォルダに格納されている所定のファイルを読み出す。例えば、ワープロソフトであれば、編集対象のファイルを読み出す。このため、正規のアプリケーションの場合、実行結果Cと実行結果C’は一致する。なお、編集対象のファイルをユーザが指定する場合、実行ファイル310を実行するときと実行ファイル310aを実行するときとで同一のファイルを指定するものとする。   In this embodiment, as an example, attention is paid to two types of execution results, that is, a result of access to a file (file access) and a communication result. When paying attention to the result of file access, it is as follows. When the legitimate application is executed, the legitimate application reads a predetermined file stored in a predetermined folder in the HDD 5 regardless of the file name of the execution file. For example, in the case of word processing software, the file to be edited is read out. Therefore, in the case of a legitimate application, the execution result C and the execution result C ′ match. When the user designates a file to be edited, it is assumed that the same file is designated when the execution file 310 is executed and when the execution file 310a is executed.

一方、ボットは、自身の実行ファイルのファイル名に応じて、挙動が異なる。ボットの場合、例えば以下の2種類のファイルアクセスパターンがある。   On the other hand, a bot behaves differently depending on the file name of its own executable file. In the case of a bot, for example, there are the following two types of file access patterns.

第1のファイルアクセスパターンでは、潜伏先のフォルダに展開された実行ファイルは、指令サーバから受信した指令ファイルをHDD5に保存し、攻撃に必要なファイル(例えばスパムメールに記載される本文等が格納されたファイル)をHDD5から読み出す。一方、ファイル名が変更された実行ファイルは、インストールが終了していないと判断し、HDD5に格納されている自身の実行ファイルをコピーし、潜伏先のフォルダに格納する。   In the first file access pattern, the executable file expanded in the hidden folder stores the command file received from the command server in the HDD 5 and stores the files necessary for the attack (for example, the text described in the spam mail) Read file) from the HDD 5. On the other hand, the execution file whose file name has been changed is determined that the installation has not been completed, and its own execution file stored in the HDD 5 is copied and stored in the hidden folder.

第2のファイルアクセスパターンでは、潜伏先のフォルダに展開された実行ファイルは、攻撃に必要なファイルをHDD5から読み出す。一方、ファイル名が変更された実行ファイルは、インストールが終了していないと判断し、HDD5に格納されている自身の実行ファイルをコピーし、潜伏先のフォルダに格納すると共に、指令サーバから受信した指令ファイルをHDD5に保存する。したがって、ボットの場合、第1のファイルアクセスパターンと第2のファイルアクセスパターンのいずれにおいても、実行結果Cと実行結果C’は一致しない。   In the second file access pattern, the executable file developed in the hidden folder reads a file necessary for the attack from the HDD 5. On the other hand, the executable file whose file name has been changed is determined that the installation has not been completed, and its own executable file stored in the HDD 5 is copied, stored in the hidden folder, and received from the command server. The command file is saved in the HDD 5. Therefore, in the case of a bot, the execution result C and the execution result C ′ do not match in either the first file access pattern or the second file access pattern.

判定部14は、実行ファイルがアクセスするファイルとアクセスの種類(読み込み、書き込み、消去)が実行結果Cと実行結果C’で一致するか否かを判定する。これによって、ボットと正規のアプリケーションまたはそのインストーラとを見分けることができる。上記の判定を行うためには、実行ファイルを実行したときに生成されるプロセスが行うファイルアクセスを監視する必要があるが、この監視を行うツールとして、例えばFile Mon(http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx)等を利用することが可能である。   The determination unit 14 determines whether the file accessed by the execution file and the type of access (reading, writing, erasing) match between the execution result C and the execution result C ′. This makes it possible to distinguish between bots and legitimate applications or their installers. In order to make the above determination, it is necessary to monitor the file access performed by the process generated when the executable file is executed. As a tool for this monitoring, for example, File Mon (http://technet.microsoft .com / en-us / sysinternals / bb896642.aspx) can be used.

また、通信結果に注目する場合、以下のようになる。通信を行う正規のアプリケーションであるブラウザは、その実行ファイルが実行されると、実行ファイルのファイル名によらず、まず予め設定されているホームページを開くため、そのホームページを提供するサーバと通信を行う。このため、正規のアプリケーションの場合、実行結果Cと実行結果C’は一致する。   When attention is paid to the communication result, it is as follows. When the executable file is executed, the browser, which is a legitimate application that communicates, communicates with the server that provides the home page to open the preset home page first, regardless of the executable file name. . Therefore, in the case of a legitimate application, the execution result C and the execution result C ′ match.

一方、ボットは、自身の実行ファイルのファイル名に応じて、挙動が異なる。ボットの場合、例えば以下の2種類の通信パターンがある。   On the other hand, a bot behaves differently depending on the file name of its own executable file. In the case of a bot, for example, there are the following two types of communication patterns.

第1の通信パターンでは、潜伏先のフォルダに展開された実行ファイルは外部に対して攻撃のための通信(指令サーバからの指令ファイルの受信と外部の端末への攻撃パケットの送信)を行う。一方、ファイル名が変更された実行ファイルは、自身の実行ファイルをコピーするときに通信を行わない。   In the first communication pattern, the execution file expanded in the hidden folder performs communication for attack (reception of a command file from the command server and transmission of an attack packet to an external terminal). On the other hand, the executable file whose file name has been changed does not communicate when copying its own executable file.

第2の通信パターンでは、潜伏先のフォルダに展開された実行ファイルは、外部に対して攻撃のための通信(外部の端末への攻撃パケットの送信)を行う。一方、ファイル名が変更された実行ファイルは、HDD5に格納されている自身の実行ファイルをコピーし、潜伏先のフォルダに格納すると共に、指令サーバから指令ファイルを受信する。指令サーバと攻撃対象の外部の端末は、異なる端末である。したがって、ボットの場合、第1の通信パターンと第2の通信パターンのいずれにおいても、実行結果Cと実行結果C’は一致しない。   In the second communication pattern, the executable file expanded in the hidden folder performs communication for attack (transmitting attack packets to an external terminal) to the outside. On the other hand, the executable file whose file name has been changed copies its own executable file stored in the HDD 5, stores it in the hidden folder, and receives the command file from the command server. The command server and the external terminal to be attacked are different terminals. Therefore, in the case of a bot, the execution result C and the execution result C ′ do not match in either the first communication pattern or the second communication pattern.

判定部14は、実行ファイルが行う通信の宛先のFQDN(Fully Qualified Domain Name)とポート番号の組が実行結果Cと実行結果C’とで一致するか否かを判定する。これによって、ボットと正規のアプリケーションまたはそのインストーラとを見分けることができる。上記の判定を行うためには、実行ファイルを実行したときに生成されるプロセスが行う通信を監視する必要があるが、この監視を行う方法として、例えば文献(竹森敬祐、三宅優、“無操作ホストから発信されるパケットに注目したウイルス感染検知”、情処研報、CSEC36、pp.141-146、2007年3月)に記載されている方法を利用することが可能である。   The determination unit 14 determines whether or not the combination of the FQDN (Fully Qualified Domain Name) and the port number of the communication destination performed by the execution file matches between the execution result C and the execution result C ′. This makes it possible to distinguish between bots and legitimate applications or their installers. In order to perform the above determination, it is necessary to monitor the communication performed by the process generated when the executable file is executed. As a method for performing this monitoring, for example, literature (Keisuke Takemori, Yu Miyake, “No operation” It is possible to use the method described in “Detection of virus infection focusing on packets transmitted from the host”, Jisho Kenho, CSEC36, pp.141-146, March 2007).

なお、実行ファイルが通信を行わなかった場合でも上記と同じ方法による判定を可能とするため、実行ファイルが通信を行わなかった場合には何らかのFQDNとポート番号が実行結果として得られるようにしておくことが望ましい。例えば、通常使用されない所定の文字列と番号をそれぞれ実行結果のFQDNとポート番号とし、判定に使用すればよい。また、上記の方法以外の方法で判定を行ってもよく、例えば比較すべき2つの実行結果として、通信したという実行結果と通信しなかったという実行結果が得られた場合には2つの実行結果が一致しないと判定してもよい。   In addition, even if the execution file does not communicate, determination can be performed by the same method as described above. Therefore, if the execution file does not communicate, some FQDN and port number are obtained as an execution result. It is desirable. For example, a predetermined character string and number that are not normally used may be used as the FQDN and port number of the execution result, respectively, and used for determination. In addition, the determination may be performed by a method other than the above method. For example, when two execution results to be compared are obtained as an execution result that communication is performed and an execution result that communication is not performed, two execution results are obtained. May be determined not to match.

次に、図4を参照しながら、第2の動作例を説明する。第2の動作例では、hostsファイルに注目して、実行ファイルがボットと正規のアプリケーション(またはそのインストーラ)のどちらであるのかが判定される。   Next, a second operation example will be described with reference to FIG. In the second operation example, paying attention to the hosts file, it is determined whether the execution file is a bot or a legitimate application (or its installer).

具体的には、以下のようになる。ネットワークやCD−ROM等から取得した展開ソフトの実行ファイル400が任意のフォルダに置かれている。実行部10が実行ファイル400を実行すると、実行ファイル410が展開先のフォルダに展開される。このとき、変更検知部12は、HDD5に格納されているhostsファイルの状態を監視し、hostsファイルの内容が変更されたか否かを判定する。なお、初期状態のhostsファイルはHDD5にバックアップされているものとする。変更検知部12によって、hostsファイルの変更が検知された場合、実行部10は実行ファイル410を実行する。このとき、実行結果取得部13は、実行ファイル410の実行を監視し、実行結果(以下、実行結果Cとする)を取得してRAM4に格納する。   Specifically, it is as follows. An execution file 400 of development software acquired from a network, a CD-ROM, or the like is placed in an arbitrary folder. When the execution unit 10 executes the execution file 400, the execution file 410 is expanded in the expansion destination folder. At this time, the change detection unit 12 monitors the state of the hosts file stored in the HDD 5 and determines whether or not the contents of the hosts file have been changed. Note that the hosts file in the initial state is backed up to the HDD 5. When the change detection unit 12 detects a change in the hosts file, the execution unit 10 executes the execution file 410. At this time, the execution result acquisition unit 13 monitors the execution of the execution file 410, acquires the execution result (hereinafter referred to as execution result C), and stores it in the RAM 4.

続いて、変更検知部12は、HDD5に格納されているhostsファイルのバックアップを利用してhostsファイルの内容を実行ファイル410の実行前の状態に戻す。続いて、実行部10は、実行ファイル410を実行する。このとき、実行結果取得部13は、実行ファイル410の実行を監視し、実行結果(以下、実行結果C’とする)を取得してRAM4に格納する。   Subsequently, the change detection unit 12 returns the contents of the hosts file to the state before the execution of the execution file 410 using the backup of the hosts file stored in the HDD 5. Subsequently, the execution unit 10 executes the execution file 410. At this time, the execution result acquisition unit 13 monitors execution of the execution file 410, acquires an execution result (hereinafter referred to as an execution result C ′), and stores it in the RAM 4.

続いて、判定部14は、RAM4から実行結果Cおよび実行結果C’を読み出し、両者を比較する。実行結果Cと実行結果C’が一致する場合、判定部14は、実行ファイル410が正規のアプリケーションである、または実行ファイル400が正規のアプリケーションのインストーラであると判定する。また、実行結果Cと実行結果C’が一致しない場合、判定部14は、実行ファイル410もしくは実行ファイル400がボットであると判定する。判定部14による判定の方法は第1の動作例と同様である。   Subsequently, the determination unit 14 reads the execution result C and the execution result C ′ from the RAM 4 and compares the two. When the execution result C matches the execution result C ′, the determination unit 14 determines that the execution file 410 is a legitimate application or the execution file 400 is a legitimate application installer. If the execution result C and the execution result C ′ do not match, the determination unit 14 determines that the execution file 410 or the execution file 400 is a bot. The determination method by the determination unit 14 is the same as in the first operation example.

上述したように、本実施形態によれば、実行ファイルの名前に応じた実行結果またはhostsファイルの内容に応じた実行結果を比較することによって、ボットと正規のアプリケーションまたはそのインストーラとを見分けることが可能となる。したがって、正規のアプリケーション等の挙動を異常な挙動として検知する誤検知を低減することができる。   As described above, according to the present embodiment, it is possible to distinguish between a bot and a legitimate application or its installer by comparing the execution result according to the name of the execution file or the execution result according to the contents of the hosts file. It becomes possible. Accordingly, it is possible to reduce false detection of detecting the behavior of a legitimate application as an abnormal behavior.

以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上記の処理装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。   As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the above-described embodiments, and includes design changes and the like without departing from the gist of the present invention. . For example, a program for realizing the operation and function of the processing apparatus may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by the computer and executed.

ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   Here, the “computer” includes a homepage providing environment (or display environment) if the WWW system is used. The “computer-readable recording medium” refers to a storage device such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a hard disk built in the computer. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program described above may be transmitted from a computer storing the program in a storage device or the like to another computer via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above-described program may be for realizing a part of the above-described function. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer, what is called a difference file (difference program) may be sufficient.

1・・・CPU、2・・・操作部、3・・・表示部、4・・・RAM、5・・・HDD(記憶手段)、10・・・実行部(実行手段)、11・・・ファイル名変更部、12・・・変更検知部、13・・・実行結果取得部、14・・・判定部(比較手段、判定手段)   DESCRIPTION OF SYMBOLS 1 ... CPU, 2 ... Operation part, 3 ... Display part, 4 ... RAM, 5 ... HDD (memory | storage means), 10 ... execution part (execution means), ... File name change unit, 12 ... change detection unit, 13 ... execution result acquisition unit, 14 ... determination unit (comparison unit, determination unit)

Claims (7)

実行ファイルが同一であっても、その実行ファイルの属性に応じて異なる挙動を示すボットを検知する処理装置であって、
他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、
前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルの属性と異なる属性が付与された状態で実行する第2の実行手段と、
前記第2の実行ファイルを、前記第1の実行ファイルの属性と同一の属性が付与された状態で実行する第3の実行手段と、
前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、
前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、
を備えたことを特徴とする処理装置。
A processing device that detects a bot that behaves differently depending on the attributes of the executable file even if the executable file is the same,
First execution means for executing a first execution file for generating another execution file;
Second execution means for executing the second executable file generated when the first executable file is executed in a state in which an attribute different from the attribute of the first executable file is given;
Third execution means for executing the second executable file in a state in which the same attribute as the attribute of the first executable file is given;
A comparison unit that compares an execution result when the second execution unit executes the second execution file and an execution result when the third execution unit executes the second execution file;
A determination unit that determines that the first execution file or the second execution file is a bot when the two execution results do not match as a result of the comparison by the comparison unit;
A processing apparatus comprising:
実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示すボットを検知する処理装置であって、
他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、
前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と異なる環境で実行する第2の実行手段と、
前記第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と同一の環境で実行する第3の実行手段と、
前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、
前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、
を備えたことを特徴とする処理装置。
A processing device that detects a bot that behaves differently depending on the environment when the executable file is executed even if the executable file is the same,
First execution means for executing a first execution file for generating another execution file;
Second execution means for executing the second executable file generated when the first executable file is executed in an environment different from the environment before the first executable file is executed;
Third execution means for executing the second executable file in the same environment as the environment before the first executable file is executed;
A comparison unit that compares an execution result when the second execution unit executes the second execution file and an execution result when the third execution unit executes the second execution file;
A determination unit that determines that the first execution file or the second execution file is a bot when the two execution results do not match as a result of the comparison by the comparison unit;
A processing apparatus comprising:
前記第2の実行ファイルが生成されたとき、前記第2の実行ファイルには前記第1の実行ファイルと異なるファイル名が付与され、
前記第2の実行手段は、前記第2の実行ファイルが生成されたときに前記第2の実行ファイルに付与されたファイル名と同一のファイル名が付与された状態で前記第2の実行ファイルを実行し、
前記第3の実行手段は、前記第1の実行ファイルと同一のファイル名が付与された状態で前記第2の実行ファイルを実行する
ことを特徴とする請求項1に記載の処理装置。
When the second executable file is generated, the second executable file is given a file name different from that of the first executable file,
The second execution means executes the second executable file in a state in which the same file name as that given to the second executable file is assigned when the second executable file is generated. Run,
The processing apparatus according to claim 1, wherein the third execution unit executes the second execution file in a state where the same file name as the first execution file is given.
IPアドレスとホスト名の対応を記録したhostsファイルを記憶する記憶手段をさらに備え、
前記第2の実行手段は、前記第2の実行ファイルが生成された際に変更された前記hostsファイルが前記記憶手段に記憶されている状態で前記第2の実行ファイルを実行し、
前記第3の実行手段は、前記第1の実行ファイルが実行される前と同一の内容を有する前記hostsファイルが前記記憶手段に記憶されている状態で前記第2の実行ファイルを実行する
ことを特徴とする請求項2に記載の処理装置。
It further comprises storage means for storing a hosts file that records the correspondence between IP addresses and host names,
The second execution unit executes the second execution file in a state where the hosts file changed when the second execution file is generated is stored in the storage unit,
The third execution means executes the second execution file in a state where the hosts file having the same content as that before the execution of the first execution file is stored in the storage means. The processing apparatus according to claim 2, wherein
前記判定手段は、前記比較手段による比較の結果、2つの前記実行結果が一致した場合に前記第1の実行ファイルが、ボットに対する正規のインストーラであると判定する、または前記第2の実行ファイルが、ボットに対する正規のアプリケーションであると判定することを特徴とする請求項1〜請求項4のいずれかに記載の処理装置。 The determination unit determines that the first execution file is a regular installer for the bot when the two execution results match as a result of the comparison by the comparison unit, or the second execution file is the processing apparatus according to any one of claims 1 to 4, wherein the benzalkonium be determined to be a legitimate application for bots. 実行ファイルが同一であっても、その実行ファイルの属性に応じて異なる挙動を示すボットを検知する手段としてコンピュータを機能させるためのプログラムであって、
他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、
前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルの属性と異なる属性が付与された状態で実行する第2の実行手段と、
前記第2の実行ファイルを、前記第1の実行ファイルの属性と同一の属性が付与された状態で実行する第3の実行手段と、
前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、
前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、
としてコンピュータを機能させるためのプログラム。
A program for causing a computer to function as a means for detecting a bot that shows different behavior depending on the attributes of the executable file even if the executable files are the same
First execution means for executing a first execution file for generating another execution file;
Second execution means for executing the second executable file generated when the first executable file is executed in a state in which an attribute different from the attribute of the first executable file is given;
Third execution means for executing the second executable file in a state in which the same attribute as the attribute of the first executable file is given;
A comparison unit that compares an execution result when the second execution unit executes the second execution file and an execution result when the third execution unit executes the second execution file;
A determination unit that determines that the first execution file or the second execution file is a bot when the two execution results do not match as a result of the comparison by the comparison unit;
As a program to make the computer function as.
実行ファイルが同一であっても、その実行ファイルが実行されるときの環境に応じて異なる挙動を示すボットを検知する手段としてコンピュータを機能させるためのプログラムであって、
他の実行ファイルを生成する第1の実行ファイルを実行する第1の実行手段と、
前記第1の実行ファイルが実行されたときに生成された第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と異なる環境で実行する第2の実行手段と、
前記第2の実行ファイルを、前記第1の実行ファイルが実行される前の環境と同一の環境で実行する第3の実行手段と、
前記第2の実行手段が前記第2の実行ファイルを実行したときの実行結果と、前記第3の実行手段が前記第2の実行ファイルを実行したときの実行結果とを比較する比較手段と、
前記比較手段による比較の結果、2つの前記実行結果が一致しなかった場合に前記第1の実行ファイルまたは前記第2の実行ファイルがボットであると判定する判定手段と、
としてコンピュータを機能させるためのプログラム。
A program for causing a computer to function as a means for detecting a bot that shows different behavior depending on the environment when the executable file is executed even if the executable file is the same,
First execution means for executing a first execution file for generating another execution file;
Second execution means for executing the second executable file generated when the first executable file is executed in an environment different from the environment before the first executable file is executed;
Third execution means for executing the second executable file in the same environment as the environment before the first executable file is executed;
A comparison unit that compares an execution result when the second execution unit executes the second execution file and an execution result when the third execution unit executes the second execution file;
A determination unit that determines that the first execution file or the second execution file is a bot when the two execution results do not match as a result of the comparison by the comparison unit;
As a program to make the computer function as.
JP2009159028A 2009-07-03 2009-07-03 Processing device and program Expired - Fee Related JP5371045B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009159028A JP5371045B2 (en) 2009-07-03 2009-07-03 Processing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009159028A JP5371045B2 (en) 2009-07-03 2009-07-03 Processing device and program

Publications (2)

Publication Number Publication Date
JP2011014034A JP2011014034A (en) 2011-01-20
JP5371045B2 true JP5371045B2 (en) 2013-12-18

Family

ID=43592829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009159028A Expired - Fee Related JP5371045B2 (en) 2009-07-03 2009-07-03 Processing device and program

Country Status (1)

Country Link
JP (1) JP5371045B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014071796A (en) * 2012-10-01 2014-04-21 Nec Corp Malware detection device, malware detection system, malware detection method, and program
JP2015060417A (en) * 2013-09-19 2015-03-30 日本電気株式会社 Abnormality detection device, abnormality detection method, abnormality detection program, and protection device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4250618B2 (en) * 2005-06-23 2009-04-08 克佳 長嶋 Farming fraud prevention method

Also Published As

Publication number Publication date
JP2011014034A (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP6639588B2 (en) System and method for detecting malicious files
JP7084778B2 (en) Systems and methods for cloud-based detection, exploration and elimination of targeted attacks
US7779472B1 (en) Application behavior based malware detection
EP1655682B1 (en) System and Method of Aggregating the Knowledge Base of Antivirus Software Applications
EP3420489B1 (en) Cybersecurity systems and techniques
US8191147B1 (en) Method for malware removal based on network signatures and file system artifacts
US20060230449A1 (en) Source code repair method for malicious code detection
US20060230289A1 (en) Source code management method for malicious code detection
US20110219449A1 (en) Malware detection method, system and computer program product
US20110067109A1 (en) System and method of caching decisions on when to scan for malware
US20060200863A1 (en) On-access scan of memory for malware
JP3900501B2 (en) Network connection control program, network connection control method, and network connection control system
US9588829B2 (en) Security method and apparatus directed at removable storage devices
US20030037138A1 (en) Method, apparatus, and program for identifying, restricting, and monitoring data sent from client computers
US20080256635A1 (en) Method and System for Detecting Malware Using a Secure Operating System Mode
JP2010182019A (en) Abnormality detector and program
WO2007050767A2 (en) System and method for neutralizing pestware that is loaded by a desirable process
US8201253B1 (en) Performing security functions when a process is created
JP2011233081A (en) Application determination system and program
JP5371045B2 (en) Processing device and program
Khan An introduction to computer viruses: problems and solutions
WO2023124041A1 (en) Ransomware detection method and related system
JP5371042B2 (en) Processing device and program
Gandotra et al. Malware intelligence: beyond malware analysis
JP2010182020A (en) Illegality detector and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120229

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130725

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130912

R150 Certificate of patent or registration of utility model

Ref document number: 5371045

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees