JP2016122262A - Specification device, specification method and specification program - Google Patents

Specification device, specification method and specification program Download PDF

Info

Publication number
JP2016122262A
JP2016122262A JP2014260629A JP2014260629A JP2016122262A JP 2016122262 A JP2016122262 A JP 2016122262A JP 2014260629 A JP2014260629 A JP 2014260629A JP 2014260629 A JP2014260629 A JP 2014260629A JP 2016122262 A JP2016122262 A JP 2016122262A
Authority
JP
Japan
Prior art keywords
identification information
tag
data
communication data
attack target
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.)
Granted
Application number
JP2014260629A
Other languages
Japanese (ja)
Other versions
JP6258189B2 (en
Inventor
知範 幾世
Tomonori Ikuyo
知範 幾世
一史 青木
Kazufumi Aoki
一史 青木
剛男 針生
Takeo Hario
剛男 針生
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014260629A priority Critical patent/JP6258189B2/en
Publication of JP2016122262A publication Critical patent/JP2016122262A/en
Application granted granted Critical
Publication of JP6258189B2 publication Critical patent/JP6258189B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently acquire an attack object of malware.SOLUTION: A specification device 10 uses a tag attached to communication data to detect an occurrence of alteration of the communication data, and specifies identification information of a C&C server that commands the alteration. Then, the specification device 10 specifies a program code for determining whether identification information of a transmission source or a transmission destination of the communication data is identification information of an attack object from an execution trace in which the occurrence of alteration is detected on the basis of the identification information of the C&C server and identification information of the attack object by malware 11A during the occurrence of alteration in the case that the occurrence of the alteration is detected. After that, the specification device 10 analyzes the specified program code, and acquires data to be referred in determining whether the program code is identification information of an attack object from an execution trace as a list of identification information of attack objects.SELECTED DRAWING: Figure 1

Description

本発明は、特定装置、特定方法および特定プログラムに関する。   The present invention relates to a specific device, a specific method, and a specific program.

近年、オンラインバンキングにおける不正送金被害が急増している。原因の1つはマルウェアによるMITB攻撃(Man-In-The-Browser攻撃)であり、MITB攻撃によって端末利用者とWebサービスの間で行われる通信内容の盗聴・改ざんが行われ、搾取されたアカウント情報が不正送金に悪用されている。実際にZBotやSpyEye等のマルウェアにはMITB攻撃機能が備わっており、当該マルウェアに感染すると攻撃対象のサイトにアクセスした際に偽装入力フォームの表示といった攻撃が行われる。   In recent years, fraudulent remittance damage in online banking has increased rapidly. One of the causes is the MITB attack (Man-In-The-Browser attack) by malware, and the account that was exploited after wiretapping / falsification of communication contents between the terminal user and the Web service by the MITB attack. Information is misused for fraudulent remittance. Actually, malware such as ZBot and SpyEye has a MITB attack function, and when infected with the malware, an attack such as display of an impersonation input form is performed when the attack target site is accessed.

このようなZBotやSpyEye等の近年のマルウェアによるMITB攻撃では、攻撃の対象となるサイトはC&Cサーバ(Command & Controlサーバ)からの設定ファイルに記載されており、攻撃対象を変更する場合には設定ファイルの内容が更新される。   In such a recent MITB attack by malware such as ZBot and SpyEye, the attack target site is described in the configuration file from the C & C server (Command & Control server), and is set when changing the attack target The contents of the file are updated.

また、攻撃の対象となっているWebサービスは一般にマルウェア解析によって特定される。しかしながら、攻撃対象を特定するための解析を手動で行うことはコストが高く、日々膨大な数のマルウェアが新たに生成されていることを鑑みると、手動の解析によって攻撃対象の変化に追従してくことは困難である。   In addition, the Web service that is the target of the attack is generally identified by malware analysis. However, manually performing analysis to identify the attack target is expensive, and taking into account the huge amount of new malware that is generated every day, follow changes in the attack target through manual analysis. It is difficult.

そのため、これまでに、動的解析によってMITB攻撃を行う可能性のあるマルウェアを自動で解析する手法が提案されている。例えば、Webサービスに影響を与えることなくマルウェアを分析し、改ざん検知および改ざん場所の特定ができる手法が提案されている(例えば、非特許文献1参照)。また、テイント解析を応用して通信データの改ざんを検知し、改ざん内容を指定したC&Cサーバを特定する手法が提案されている(例えば、非特許文献2参照)。   For this reason, there have been proposed techniques for automatically analyzing malware that may perform a MITB attack by dynamic analysis. For example, a technique has been proposed in which malware can be analyzed without affecting the Web service to detect falsification and identify a falsification location (for example, see Non-Patent Document 1). Further, a method has been proposed in which taint analysis is applied to detect tampering of communication data, and a C & C server that specifies the contents of tampering is specified (for example, see Non-Patent Document 2).

瀬川 達也、神薗 雅紀、星澤 裕二、吉岡 克成、松本 勉 「Man-in-the-Browser攻撃を行うマルウェアの安全な動的解析手法」 電子情報通信学会技術研究報告、 2013-CSEC-61、 pp.1-8、 2013年5月発行Tetsuya Segawa, Masanori Kamisu, Yuji Hoshizawa, Katsunari Yoshioka, Tsutomu Matsumoto “A Safe Dynamic Analysis Method for Malware Performing Man-in-the-Browser Attack” IEICE Technical Report, 2013-CSEC-61, pp. 1-8, issued in May 2013 幾世 知範、青木 一史、八木 毅、針生 剛男 「改ざんデータの出自確認に基づいたC&Cサーバ特定手法の提案」 電子情報通信学会通信ソサイエティ大会講演論文集、 no.2、 pp.16、 2014年9月発行Tomonori Ikusei, Kazufumi Aoki, Atsushi Yagi, Takeo Haruo “Proposal of C & C server identification method based on confirmation of falsification data origin” Proceedings of IEICE Communication Society Conference, no.2, pp.16, 2014 9 Monthly issue

しかしながら、上記の従来技術では、サイトに対する改ざんの発生やC&Cサーバを特定することができるが、マルウェアの攻撃対象を効率的に取得することができないという課題がある。例えば、従来の技術では、マルウェアの攻撃対象の識別情報(URLや、FQDN、IPアドレスなど)を取得するために、動的解析で動作させている攻撃を一つずつ解析して攻撃対象の識別情報を特定するので、処理負荷や処理時間が掛かってしまい、攻撃が発生しなかったものも含めて攻撃対象の識別情報を取得することを効率よく行うことができなかった。   However, although the above-described conventional technology can specify the occurrence of falsification of the site and the C & C server, there is a problem that the attack target of malware cannot be acquired efficiently. For example, in the conventional technology, in order to acquire identification information (URL, FQDN, IP address, etc.) of malware attack targets, the attacks operated by dynamic analysis are analyzed one by one to identify attack targets. Since the information is specified, it takes a processing load and a processing time, and it is not possible to efficiently acquire the identification information of the attack target including those in which no attack occurred.

上述した課題を解決し、目的を達成するために、本発明の特定装置は、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡部と、前記追跡部によって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知部と、前記検知部によって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定部と、前記特定部によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得部とを有することを特徴とする。   In order to solve the above-described problems and achieve the object, the specific apparatus of the present invention gives a tag including attribute information associated with identification information of a transmission source or a transmission destination of the communication data to the communication data And a tracking unit that tracks the propagation of the communication data to which the tag is attached, and a command server that detects the occurrence of the tampering of the communication data using the tag attached by the tracking unit and instructs the tampering. Occurrence of tampering based on the identification information of the command server and the identification information of the attack target by malware at the time of tampering when the occurrence of tampering is detected by the detection unit The program code for determining whether the identification information of the transmission source or the transmission destination of the communication data is the identification information of the attack target from the execution trace in which the detection is detected Analyzing the program code specified by the determination unit and the specifying unit, and referring to data to be referred to when determining whether the program code is attack target identification information as the list of attack target identification information, the execution trace And an acquisition unit for acquiring from.

また、本発明の特定方法は、特定装置によって実行される特定方法であって、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡工程と、前記追跡工程によって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知工程と、前記検知工程によって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定工程と、前記特定工程によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得工程とを含んだことを特徴とする。   Further, the specifying method of the present invention is a specifying method executed by a specifying device, and a tag including attribute information associated with identification information of a transmission source or a transmission destination of the communication data is assigned to the communication data. And a tracking step for tracking the propagation of communication data to which the tag is attached, and a command server that detects the occurrence of tampering of the communication data using the tag attached by the tracking step and instructs the tampering. Occurrence of falsification based on the identification information of the command server and the identification information of the attack target by malware at the time of falsification when the detection process detects the occurrence of falsification. A program code for determining whether the identification information of the transmission source or the transmission destination of the communication data is the identification information of the attack target from the execution trace where A list of identification information of the attack target and a reference process for analyzing the program code specified by the specification step and determining whether the program code is the identification information of the attack target And an acquisition step of acquiring from the execution trace.

また、本発明の特定プログラムは、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡ステップと、前記追跡ステップによって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知ステップと、前記検知ステップによって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定ステップと、前記特定ステップによって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得ステップとをコンピュータに実行させることを特徴とする。   In addition, the specific program of the present invention provides a tag including attribute information associated with identification information of a transmission source or a transmission destination of the communication data to the communication data, and propagation of the communication data to which the tag is added A tracking step for tracking the communication data, a detection step for detecting the occurrence of falsification of the communication data using the tag given by the tracking step, and identifying the identification information of the command server that commanded the falsification, and the detection When the occurrence of tampering is detected by the step, based on the identification information of the command server and the identification information of the attack target by malware at the time of tampering, the execution trace in which the occurrence of tampering is detected, and the communication data A specific step for specifying a program code for determining whether the identification information of the transmission source or transmission destination is the identification information of the attack target And analyzing the program code specified by the specifying step, and referring to the reference data when determining whether the program code is the identification information of the attack target from the execution trace as a list of the identification information of the attack target The acquisition step of acquiring is executed by a computer.

本発明によれば、マルウェアの攻撃対象を効率的に取得することができるという効果を奏する。   According to the present invention, there is an effect that a malware attack target can be efficiently acquired.

図1は、本実施形態に係る特定装置の概要を示す構成図である。FIG. 1 is a configuration diagram illustrating an outline of a specific device according to the present embodiment. 図2は、本実施形態に係る特定装置における仮想マシンモニタ及びデータ伝搬追跡部の構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a virtual machine monitor and a data propagation tracking unit in the specific apparatus according to the present embodiment. 図3は、本実施形態に係るタグの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a tag according to the present embodiment. 図4は、本実施形態に係る識別情報DBに記憶される情報の一例を示す図である。FIG. 4 is a diagram illustrating an example of information stored in the identification information DB according to the present embodiment. 図5は、ブラウザ操作部により改ざん攻撃対象ではない通信先と通信させることで攻撃対象である正規サイトの識別情報を網羅的に取得する処理を説明する図である。FIG. 5 is a diagram illustrating a process for comprehensively acquiring identification information of a legitimate site that is an attack target by causing a browser operation unit to communicate with a communication destination that is not the target of the falsification attack. 図6は、本実施形態に係る特定装置における攻撃対象の正規サイトの識別情報を特定する処理の流れを示すフローチャートである。FIG. 6 is a flowchart showing a flow of processing for identifying identification information of a legitimate site to be attacked by the identifying apparatus according to the present embodiment. 図7は、特定プログラムを実行するコンピュータを示す図である。FIG. 7 is a diagram illustrating a computer that executes a specific program.

以下に、本願に係る特定装置、特定方法および特定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る特定装置、特定方法および特定プログラムが限定されるものではない。   Hereinafter, embodiments of a specific device, a specific method, and a specific program according to the present application will be described in detail with reference to the drawings. In addition, the specific apparatus, the specific method, and the specific program which concern on this application are not limited by this embodiment.

[実施形態]
以下の実施形態では、実施形態に係る特定装置の構成及び処理の流れを順に説明し、その後、最後に実施形態による効果を説明する。
[Embodiment]
In the following embodiments, the configuration and processing flow of the specific device according to the embodiment will be described in order, and then the effects of the embodiment will be described last.

[特定装置の構成]
まず、図1を用いて、特定装置10の構成を説明する。図1は、本実施形態に係る特定装置の概要を示す構成図である。図1に示すように、この特定装置10は、マルウェア実行環境部11、解析結果DB(Data Base)12及びC&Cサーバ識別情報DB13を有する。以下に、これらの各部の処理を説明する。
[Specific device configuration]
First, the configuration of the specifying device 10 will be described with reference to FIG. FIG. 1 is a configuration diagram illustrating an outline of a specific device according to the present embodiment. As illustrated in FIG. 1, the identification device 10 includes a malware execution environment unit 11, an analysis result DB (Data Base) 12, and a C & C server identification information DB 13. Hereinafter, the processing of each of these units will be described.

マルウェア実行環境部11は、ブラウザ11B、ブラウザ操作部11C、ゲストOS(Operating System)11D、及び仮想マシンモニタ11Eから構成される。ゲストOS11Dは、マルウェア11Aを動的解析するための環境である。また、特定装置10では、マルウェア11AがゲストOS11D上で実行され、ゲストOS11D上ではマルウェア11Aの改ざん攻撃実施場所となるブラウザ11B等の各種プロセスを動作させる。また、ブラウザ操作部11Cは、ブラウザ11Bに所定の通信先と通信をさせるための操作を行うためのものであり、例えば、マウスやキーボード等の入力デバイス、もしくはブラウザを自動操作するプログラムと巡回先URLリストで構成される。   The malware execution environment unit 11 includes a browser 11B, a browser operation unit 11C, a guest OS (Operating System) 11D, and a virtual machine monitor 11E. The guest OS 11D is an environment for dynamically analyzing the malware 11A. Further, in the specific device 10, the malware 11A is executed on the guest OS 11D, and various processes such as the browser 11B serving as a place where the malware 11A is tampered with are operated on the guest OS 11D. The browser operation unit 11C is for performing an operation for causing the browser 11B to communicate with a predetermined communication destination. For example, an input device such as a mouse or a keyboard, or a program for automatically operating the browser and a circulation destination It consists of a URL list.

仮想マシンモニタ11Eは、データ伝搬追跡部110、命令監視部111、改ざん検知部112、識別情報DB113、特定部114および取得部115から構成される。   The virtual machine monitor 11E includes a data propagation tracking unit 110, a command monitoring unit 111, a falsification detection unit 112, an identification information DB 113, a specifying unit 114, and an acquisition unit 115.

データ伝搬追跡部110は、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する。つまり、データ伝搬追跡部110は、マルウェア11A実行の動作を監視するため、テイント解析によってデータに対して属性情報を表すタグを設定することでマルウェア11A実行時のデータの伝搬を追跡する。このとき、通信データの送信先、もしくは送信元を一意に特定するため、タグには識別情報に対応する属性情報等を保持させる。なお、以下の説明において、送信先及び送信元を総称する場合に、適宜「通信先」と表記する。また、識別情報とは、例えば、通信先のIPアドレスやFQDN(Fully Qualified Domain Name)、URL(Uniform Resource Locator)等の情報である。   The data propagation tracking unit 110 attaches a tag including attribute information associated with the identification information of the transmission source or the transmission destination of the communication data to the communication data, and tracks the propagation of the communication data to which the tag is attached To do. That is, in order to monitor the operation of executing the malware 11A, the data propagation tracking unit 110 tracks the propagation of data when the malware 11A is executed by setting a tag representing attribute information for the data by taint analysis. At this time, in order to uniquely identify the transmission destination or transmission source of the communication data, the tag holds attribute information or the like corresponding to the identification information. In the following description, when a transmission destination and a transmission source are collectively referred to, “communication destination” is appropriately described. The identification information is, for example, information such as a communication destination IP address, FQDN (Fully Qualified Domain Name), and URL (Uniform Resource Locator).

ここで、図3を用いて、タグの構成例について説明する。図3は、本実施形態に係るタグの構成例を示す図である。図3に示すように、タグは、「ID(identification)」と、「属性情報」とを含む。ここで、属性情報は、通信データの送信元や送信先の識別情報に対応する情報である。IDは、当該属性情報ごとに連続した値(通番)になるように設定される情報である。すなわち、タグは、属性情報とIDとの組み合わせによって一意に識別可能となる。なお、タグは、例えば、ある通信データに対して所定のデータ長単位ごとに付与される。   Here, a configuration example of the tag will be described with reference to FIG. FIG. 3 is a diagram illustrating a configuration example of a tag according to the present embodiment. As shown in FIG. 3, the tag includes “ID (identification)” and “attribute information”. Here, the attribute information is information corresponding to identification information of a transmission source or a transmission destination of communication data. The ID is information set to have a continuous value (serial number) for each attribute information. That is, a tag can be uniquely identified by a combination of attribute information and ID. Note that a tag is assigned to certain communication data for each predetermined data length unit, for example.

一例として、IPアドレス「192.168.0.1」の通信先から受信された10バイトの受信データに対してタグが付与される場合を説明する。なお、この例では、タグが1バイト単位で付与され、IPアドレス「192.168.0.1」に対応する属性情報が「0x1」である場合を説明する。この場合、10バイトの受信データに対して1バイト単位でタグが付与されるので、この受信データには10個のタグが付与される。このうち、1個目のタグは、ID「1」及び属性情報「0x1」を含み、2個目のタグは、ID「2」及び属性情報「0x1」を含み、3個目のタグは、ID「3」及び属性情報「0x1」を含み、・・・10個目のタグは、ID「10」及び属性情報「0x1」を含む。   As an example, a case will be described in which a tag is attached to 10-byte received data received from a communication destination having an IP address “192.168.0.1”. In this example, a case will be described in which a tag is assigned in 1-byte units and the attribute information corresponding to the IP address “192.168.0.1” is “0x1”. In this case, since tags are attached to the received data of 10 bytes in units of 1 byte, 10 tags are assigned to the received data. Among these, the first tag includes ID “1” and attribute information “0x1”, the second tag includes ID “2” and attribute information “0x1”, and the third tag is ID “3” and attribute information “0x1” are included. The tenth tag includes ID “10” and attribute information “0x1”.

このように、それぞれのタグは、通番で付与されるIDと、通信先に応じた属性情報とを含む。なお、IPアドレス「192.168.0.1」の通信先から再びデータを受信した場合には、その受信データには、例えば、ID「11」から始まる通番のIDを含む複数のタグが付与される。また、「192.168.0.2」等、上記とは異なるIPアドレスの通信先からデータを受信した場合には、その受信データには、例えば、ID「1」から始まる通番のIDを含む複数のタグが付与される。   Thus, each tag includes an ID assigned by a serial number and attribute information corresponding to the communication destination. When data is received again from the communication destination with the IP address “192.168.0.1”, for example, a plurality of tags including serial numbers starting with ID “11” are attached to the received data. Is done. When data is received from a communication destination having an IP address different from the above, such as “192.168.0.2”, the received data includes, for example, a serial number ID starting from ID “1”. Multiple tags are assigned.

なお、上記のように、本実施形態に係るタグが、通信データに対して所定のデータ長単位で複数付与されるとともに、複数のタグのそれぞれのIDが通番で割り当てられるのは、これによって、通信データの改ざん内容の特定が可能となるからである。例えば、通番で割り当てられていれば、複数のタグのそれぞれに含まれるIDの値は、タグの並び順にしたがって連続している。ところが、複数のタグのそれぞれに含まれるIDの値がタグの並び順にしたがって連続していなければ、改ざん検知部112は、通信データの改ざんを検知するとともに、連続していない付近のデータが改ざんされたことを特定できる。さらに、例えば、IDの番号が無くなっていたり、他のタグが混入していたりすれば、改ざん検知部112は、通信データの書き換えや追記が行われたことを特定できる。また、IDの番号にずれが生じていれば、改ざん検知部112は、その付近のデータが削除されたことを特定できる。   In addition, as described above, a plurality of tags according to the present embodiment are assigned to communication data in a predetermined data length unit, and each ID of the plurality of tags is assigned by a serial number. This is because the contents of tampering with communication data can be specified. For example, if assigned by serial numbers, the ID values included in each of the plurality of tags are continuous according to the order of tags. However, if the ID values included in each of the plurality of tags are not continuous according to the order of the tags, the falsification detection unit 112 detects falsification of the communication data and the neighboring data that is not continuous is falsified. Can be identified. Furthermore, for example, if the ID number is lost or another tag is mixed, the falsification detection unit 112 can specify that the communication data has been rewritten or added. Further, if there is a deviation in the ID number, the falsification detection unit 112 can specify that the data in the vicinity has been deleted.

すなわち、データ伝搬追跡部110は、通信データに対してタグを設定し、設定したタグに含まれる属性情報と、その属性情報に対応する識別情報とを識別情報DB113に転送した上で、仮想マシンモニタ11E上で通信データの伝搬の追跡を行う。識別情報DB113は、データ伝搬追跡部110から転送された属性情報と識別情報とを対応づけて記憶する。なお、識別情報DB113に記憶される情報については、後述する。   That is, the data propagation tracking unit 110 sets a tag for the communication data, transfers the attribute information included in the set tag and the identification information corresponding to the attribute information to the identification information DB 113, and then transmits the virtual machine. The propagation of communication data is traced on the monitor 11E. The identification information DB 113 stores attribute information and identification information transferred from the data propagation tracking unit 110 in association with each other. Information stored in the identification information DB 113 will be described later.

なお、データ伝搬追跡部110では、マルウェア11Aが受信した通信データに対しては送信元および何番目の受信データであるかを一意に特定できるタグを設定し、キーボード入力やAPI(Application Programming Interface)の引数に識別情報が指定された際には識別情報であることを示すタグを設定している。   The data propagation tracking unit 110 sets a tag for uniquely identifying the transmission source and what number of received data for the communication data received by the malware 11A, and uses keyboard input or API (Application Programming Interface). When identification information is designated as an argument of, a tag indicating identification information is set.

ここで、テイント解析技術とは、データフロー解析を自動化する手法の1つであり、データに対してタグを設定し、伝搬ルールに従ってタグを伝搬させることでシステム内のデータの伝搬を追跡する技術である。タグとは、データに対して付与される属性情報であり、データの出自や種類が設定される。また、伝搬ルールとはタグを伝搬させる条件であり、一般にデータのコピーや演算が伝搬の条件として設定される。   Here, taint analysis technology is one of the methods for automating data flow analysis, and is a technology for tracking the propagation of data in the system by setting a tag for data and propagating the tag according to a propagation rule. It is. A tag is attribute information given to data, and the origin and type of data are set. The propagation rule is a condition for propagating a tag, and generally, data copy or calculation is set as a propagation condition.

例えば、受信データの利用用途を解析する場合には、受信データに対して取得元を一意に特定可能なタグを設定し、データのコピーや演算に応じてタグを伝搬させる。APIの引数として渡されたデータにタグが設定されていることを確認することで、受信データはAPIの引数として利用されるデータであることが解析できる。なお、テイント解析技術は仮想計算機技術を用いて実現されることが一般的であり、タグはデータとは異なる専用の記録領域にデータと対応が取れるように保持される。   For example, when analyzing the usage of received data, a tag that can uniquely identify the acquisition source is set for the received data, and the tag is propagated according to data copy or calculation. By confirming that a tag is set for data passed as an API argument, it is possible to analyze that the received data is data used as an API argument. The taint analysis technique is generally realized by using a virtual computer technique, and the tag is held in a dedicated recording area different from the data so as to be associated with the data.

命令監視部111は、システム内で発行される命令を監視する。具体的には、命令監視部111は、マルウェア11Aが実行したAPI呼び出しやシステムコールの発行といった命令を監視する。   The instruction monitoring unit 111 monitors instructions issued in the system. Specifically, the command monitoring unit 111 monitors commands such as API calls and system calls issued by the malware 11A.

例えば、命令監視部111は、マルウェア11Aのプログラムコードが実行したAPI呼び出しや特定のタグのついたデータを参照する命令を監視・記録し、データ伝搬追跡部110にはタグの設定、改ざん検知部112には改ざん発生有無の確認を要求する。   For example, the instruction monitoring unit 111 monitors and records an API call executed by the program code of the malware 11A and a command referring to data with a specific tag, and the data propagation tracking unit 110 has a tag setting and falsification detection unit. 112 is requested to confirm whether or not tampering has occurred.

改ざん検知部112は、データ伝搬追跡部110によって付与されたタグを用いて、通信データの改ざんの発生を検知するとともに、該改ざんを指令したC&Cサーバの識別情報を特定する。具体的には、命令監視部111によってAPI呼び出し又はシステムコールが命令として検知された場合に、通信データに対して改ざんの検知を行う。また、改ざん検知部112は、通信データに、その通信データの送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、通信データの改ざんを検知する。   The tampering detection unit 112 detects the occurrence of tampering of communication data using the tag given by the data propagation tracking unit 110 and identifies the identification information of the C & C server that commanded the tampering. Specifically, when an API call or a system call is detected as a command by the command monitoring unit 111, tampering is detected with respect to communication data. The tampering detection unit 112 detects tampering of communication data when the communication data includes a tag including attribute information different from attribute information corresponding to the transmission source of the communication data.

例えば、改ざん検知部112は、データを受信するAPI呼び出し後の戻りアドレスにおいて受信データの改ざん有無を確認し、仮想NIC119A(図2参照)において送信データの改ざん有無を確認する。ここで、改ざんは、データ内に異なる出自情報を持つデータが混在していることを根拠に検知され、混入されたデータの取得元はC&Cサーバとして特定される。   For example, the falsification detection unit 112 confirms whether the received data has been falsified at the return address after the API call that receives the data, and confirms whether the transmission data has been falsified at the virtual NIC 119A (see FIG. 2). Here, the alteration is detected on the basis that data having different origin information is mixed in the data, and the acquisition source of the mixed data is specified as the C & C server.

そして、改ざん検知部112は、改ざんを検知した場合に、通信データの送信元に対応する属性情報とは異なる属性情報を含むタグに対応するデータを、改ざん内容として特定し、特定した改ざん内容を解析結果DB12に転送する。解析結果DB12は、改ざん検知部112から転送された改ざん内容をはじめとする解析結果を記憶する。   Then, when the falsification is detected, the falsification detection unit 112 identifies the data corresponding to the tag including the attribute information different from the attribute information corresponding to the transmission source of the communication data as the falsification content, and the identified falsification content is identified. Transfer to analysis result DB12. The analysis result DB 12 stores analysis results including the contents of falsification transferred from the falsification detection unit 112.

また、改ざん検知部112は、改ざんを検知した場合に、通信データの送信元に対応する属性情報とは異なる属性情報を含むタグに紐付く通信先を、C&Cサーバとして特定する。そして、改ざん検知部112は、特定した識別情報をC&Cサーバの識別情報としてC&Cサーバ識別情報DB13に転送する。C&Cサーバ識別情報DB13は、改ざん検知部112から転送されたC&Cサーバの識別情報を記憶する。   In addition, when the falsification is detected, the falsification detection unit 112 identifies a communication destination associated with a tag including attribute information different from the attribute information corresponding to the transmission source of the communication data as a C & C server. Then, the falsification detection unit 112 transfers the identified identification information to the C & C server identification information DB 13 as C & C server identification information. The C & C server identification information DB 13 stores the identification information of the C & C server transferred from the falsification detection unit 112.

特定部114は、改ざん検知部112によって改ざんの発生が検知された場合に、C&Cサーバの識別情報と改ざん発生時におけるマルウェア11Aによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する。   When the falsification is detected by the falsification detection unit 112, the identification unit 114 detects the falsification based on the identification information of the C & C server and the identification information of the attack target by the malware 11A when the falsification occurs. A program code for determining whether the identification information of the transmission source or the transmission destination of the communication data is the identification information of the attack target is specified from the execution trace.

具体的には、特定部114は、改ざん攻撃実施時の実行トレースを取得し、実行トレースの中から攻撃対象候補の識別情報であることを表すタグとC&Cサーバに紐付くタグの両方を参照する演算命令や比較命令を抽出し、該演算命令や比較命令を含むプログラムコードを攻撃対象選定のためのプログラムコードとして特定する。ここで、攻撃対象候補の識別情報とは、ブラウザ操作部11Cから入力される識別情報であって、マルウェア11による攻撃対象の候補であるURL等の識別情報のことである。   Specifically, the specifying unit 114 acquires an execution trace at the time of performing a falsification attack, and refers to both a tag indicating identification information of an attack target candidate and a tag associated with the C & C server from the execution trace. An operation instruction and a comparison instruction are extracted, and a program code including the operation instruction and the comparison instruction is specified as a program code for selecting an attack target. Here, the identification information of the attack target candidate is identification information input from the browser operation unit 11C, and is identification information such as a URL that is a candidate for the attack target by the malware 11.

取得部115は、特定部114によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の通信先であるかを判定する際に参照するデータを攻撃対象の識別情報の一覧として実行トレースから取得する。   The acquiring unit 115 analyzes the program code specified by the specifying unit 114, and uses the data to be referred to when determining whether the program code is the communication target of the attack target as a list of attack target identification information from the execution trace. get.

具体的には、取得部115は、特定部114によって特定されたプログラムコードを解析し、識別情報であることを表すタグとC&Cサーバに紐付くタグとが比較されている場合に、C&Cサーバに紐付くタグが付与されているデータを記録し、記録されたデータの取得元メモリアドレスに存在する文字列を抽出することで攻撃対象の正規サイト一覧を取得する。   Specifically, the acquisition unit 115 analyzes the program code specified by the specifying unit 114, and if the tag indicating identification information and the tag associated with the C & C server are compared, The data to which the tag to be associated is attached is recorded, and the list of legitimate sites to be attacked is acquired by extracting the character string existing at the acquisition source memory address of the recorded data.

次に、図2を用いて、仮想マシンモニタ11Eの構成例について説明する。図2は、本実施形態に係る特定装置における仮想マシンモニタ及びデータ伝搬追跡部の構成を示すブロック図である。仮想マシンモニタ11Eは、ゲストOS11Dに対して仮想的なハードウェアを提供するソフトウェアである。また、仮想マシンモニタ11Eは、仮想NIC(Network Interface Card)119Aや仮想ディスク119B、仮想HWコントローラ116、仮想メモリ117、仮想CPU118などから構成される。   Next, a configuration example of the virtual machine monitor 11E will be described with reference to FIG. FIG. 2 is a block diagram illustrating a configuration of a virtual machine monitor and a data propagation tracking unit in the specific apparatus according to the present embodiment. The virtual machine monitor 11E is software that provides virtual hardware to the guest OS 11D. The virtual machine monitor 11E includes a virtual NIC (Network Interface Card) 119A, a virtual disk 119B, a virtual HW controller 116, a virtual memory 117, a virtual CPU 118, and the like.

データ伝搬追跡部110は、データに対してタグを設定してデータの伝搬追跡を行うために、仮想ディスク119B上のデータに対応するタグを保存するためのディスクタグ保存領域110A、仮想メモリ117上のデータに対応するタグを保存するためのメモリタグ保存領域110D、仮想レジスタ118B上のデータに対応するタグを保存するためのレジスタタグ保存領域110Fを具備する。   The data propagation tracking unit 110 sets a tag for data and performs data propagation tracking to store a tag corresponding to the data on the virtual disk 119B in the disk tag storage area 110A and the virtual memory 117. A memory tag storage area 110D for storing a tag corresponding to the data of the virtual register 118B, and a register tag storage area 110F for storing a tag corresponding to the data on the virtual register 118B.

データ伝搬追跡部110のタグ付与部110Bは、通信データに対して送信元を一意に特定できるタグを設定し、識別情報DB113に転送した上で、タグをメモリタグ保存領域110Dに保存する。タグを設定するタイミングは、受信データであれば、仮想NIC119Aから仮想メモリ117に対してデータがコピーされるタイミング、もしくはデータを受信するAPI/システムコールを呼び出した直後(関数から呼び元に戻るタイミング)であり、また、送信データであれば、ブラウザ11Bなどの正規のアプリケーションがデータを送信するためのAPI呼び出しやシステムコールを発行するタイミングである。データに設定されたタグは、タグ伝搬部110C(タグ伝搬部A)によってデータの伝搬に合わせて伝搬される。   The tag assignment unit 110B of the data propagation tracking unit 110 sets a tag that can uniquely identify the transmission source for the communication data, transfers the tag to the identification information DB 113, and stores the tag in the memory tag storage area 110D. When the tag is set to be received data, the data is copied from the virtual NIC 119A to the virtual memory 117, or immediately after the API / system call for receiving the data is called (from the function to the caller) In the case of transmission data, it is a timing at which a legitimate application such as the browser 11B issues an API call or a system call for transmitting data. The tag set in the data is propagated by the tag propagation unit 110C (tag propagation unit A) in accordance with the data propagation.

タグ伝搬部110Cは、ディスクタグ保存領域110Aとメモリタグ保存領域110Dの間のタグの伝搬を行う。また、タグ伝搬部110E(タグ伝搬部B)は、メモリタグ保存領域110Dとレジスタタグ保存領域110Fとの間やレジスタタグ保存領域110F間のタグの伝搬を行う。   The tag propagation unit 110C propagates tags between the disk tag storage area 110A and the memory tag storage area 110D. Further, the tag propagation unit 110E (tag propagation unit B) propagates tags between the memory tag storage area 110D and the register tag storage area 110F and between the register tag storage areas 110F.

また、命令監視部111は、ブラウザ11Bなどの正規アプリケーションが実行するAPI呼び出しを監視する。正規アプリケーションがデータ受信に関わるAPIを呼び出した場合、呼び出し時に関数の引数を全て記録し、戻り時に改ざん検知部112に通知を行う。また、命令監視部111は、APIがデータ送信に関わるものである場合は呼び出し時にデータ伝搬追跡部110に通知を行う。通知を受け取ったデータ伝搬追跡部110は、タグ付与部110Bで送信データに対してデータの送信先を一意に特定できるタグを設定する。なお、データ受信やデータ送信に関わるAPIは、マルウェア解析者等が解析前に設定する。   The instruction monitoring unit 111 also monitors API calls executed by legitimate applications such as the browser 11B. When a legitimate application calls an API related to data reception, all the arguments of the function are recorded at the time of calling, and the alteration detection unit 112 is notified at the time of return. Further, when the API is related to data transmission, the instruction monitoring unit 111 notifies the data propagation tracking unit 110 at the time of calling. The data propagation tracking unit 110 that has received the notification sets a tag that can uniquely specify the data transmission destination for the transmission data in the tag assignment unit 110B. Note that APIs related to data reception and data transmission are set before analysis by a malware analyst or the like.

改ざん検知部112は、命令監視部111から通知を受けた後、受信データに対応するタグを確認することで受信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定を行う。更に、改ざん検知部112は、仮想NIC119Aにおいてデータ送信時に送信データに対応するタグを確認することによって、送信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定を行う。なお、データ伝搬時において、暗号化/復号処理を実施するAPIに通信データが受信データ/送信データとして渡された場合、当該APIの戻り値に対しても強制的にタグを伝搬させる処理を行っても良い。その際、IDは再度振り直してもよい。   After receiving the notification from the instruction monitoring unit 111, the falsification detection unit 112 confirms the tag corresponding to the received data, thereby detecting falsification of the received data, specifying the falsification content, and specifying the C & C server specifying the falsification content. Do. Further, the falsification detection unit 112 confirms the tag corresponding to the transmission data at the time of data transmission in the virtual NIC 119A, thereby detecting falsification of the transmission data, specifying the falsification content, and specifying the C & C server specifying the falsification content. When communication data is passed as received data / transmitted data to an API that performs encryption / decryption processing at the time of data propagation, a process for forcibly propagating a tag to the return value of the API is also performed. May be. At that time, the ID may be reassigned.

ここで、図4を用いて、識別情報DB113に記憶される情報について説明する。図4は、本実施形態に係る識別情報DB113に記憶される情報の一例を示す図である。図4に示すように、識別情報DB113は、タグに含まれる属性情報と、送受信情報と、識別情報とを対応づけて記憶する。この送受信情報は、通信先との通信が受信であるか送信であるかを示す情報であり、例えば、「R」が受信を示し、「S」が送信を示す。なお、図4では、識別情報としてIPアドレスが記憶される場合を例示する。   Here, information stored in the identification information DB 113 will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of information stored in the identification information DB 113 according to the present embodiment. As illustrated in FIG. 4, the identification information DB 113 stores attribute information included in a tag, transmission / reception information, and identification information in association with each other. This transmission / reception information is information indicating whether the communication with the communication destination is reception or transmission. For example, “R” indicates reception and “S” indicates transmission. FIG. 4 illustrates a case where an IP address is stored as identification information.

図4に示す例では、識別情報DB113は、属性情報「0x1」と、送受信情報「R」と、識別情報「192.168.0.1」とを対応づけて記憶する。これは、IPアドレス「192.168.0.1」からの受信データに付与される属性情報が「0x1」であることを示す。また、識別情報DB113は、属性情報「0xA」と、送受信情報「R」と、識別情報「192.168.1.10」とを対応づけて記憶する。これは、IPアドレス「192.168.1.10」への受信データに付与される属性情報が「0xA」であることを示す。   In the example illustrated in FIG. 4, the identification information DB 113 stores attribute information “0x1”, transmission / reception information “R”, and identification information “192.168.0.1” in association with each other. This indicates that the attribute information given to the received data from the IP address “192.168.0.1” is “0x1”. Also, the identification information DB 113 stores attribute information “0xA”, transmission / reception information “R”, and identification information “192.168.1.10” in association with each other. This indicates that the attribute information given to the received data to the IP address “192.168.1.10” is “0xA”.

なお、図4の3行目に示すように、識別情報DB113は、属性情報「0x3」と、送受信情報「S」と、識別情報「192.168.0.1」とを対応づけて記憶する。これは、1行目のIPアドレス「192.168.0.1」と同一のIPアドレスであっても、送受信情報が1行目の「R(受信)」とは異なり「S(送信)」であれば、異なる属性情報「0x3」が付与されることを示す。すなわち、識別情報DB113において、属性情報は、送受信情報と識別情報との組み合わせに対して一意に設定される。なお、識別情報DB113は、必ずしも送受信情報を記憶しなくても良い。この場合、属性情報は、送受信の向きに限らず、通信先ごとに記憶される。また、属性情報は、解析時には固定長であるが、解析ごとに長さを変更してもよい。   4, the identification information DB 113 stores attribute information “0x3”, transmission / reception information “S”, and identification information “192.168.0.1” in association with each other. . This means that even if the IP address is the same as the IP address “192.168.0.1” on the first line, the transmission / reception information is different from “R (reception)” on the first line, “S (transmission)”. Indicates that different attribute information “0x3” is assigned. That is, in the identification information DB 113, attribute information is uniquely set for a combination of transmission / reception information and identification information. The identification information DB 113 does not necessarily store transmission / reception information. In this case, the attribute information is stored for each communication destination without being limited to the transmission / reception direction. The attribute information has a fixed length at the time of analysis, but the length may be changed for each analysis.

なお、上記のように、識別情報DB113が属性情報と識別情報とを対応づけて記憶するのは、これによって、通信データの改ざんの検知が可能となるからである。例えば、改ざん検知部112は、識別情報DB113を参照し、処理対象となる通信データの送信先、もしくは送信元に対応する属性情報を取得する。そして、改ざん検知部112は、通信データに含まれる属性情報を参照し、取得した属性情報と照合する。ここで、改ざんされていなければ、通信データに含まれる全ての属性情報は、識別情報DB113から取得した属性情報と一致するはずである。一方、一致しなければ、改ざん検知部112は、改ざんを検知することが可能となる。さらに、本来の通信先とは異なる通信先が紐付けられていれば、改ざん検知部112は、その通信先をC&Cサーバとして特定することができる。   Note that, as described above, the identification information DB 113 stores attribute information and identification information in association with each other because it is possible to detect tampering of communication data. For example, the falsification detection unit 112 refers to the identification information DB 113 and acquires attribute information corresponding to a transmission destination or a transmission source of communication data to be processed. Then, the falsification detection unit 112 refers to the attribute information included in the communication data and collates with the acquired attribute information. Here, if not tampered, all attribute information included in the communication data should match the attribute information acquired from the identification information DB 113. On the other hand, if they do not match, the tampering detection unit 112 can detect tampering. Furthermore, if a communication destination different from the original communication destination is linked, the falsification detection unit 112 can specify the communication destination as a C & C server.

そして、特定部114は、改ざん検知部112におけるC&Cサーバ特定に起因して、攻撃対象選定のプログラムコードを特定する処理を開始する。特定部114は、C&Cサーバ特定後に命令監視部111に対してマルウェア11Aのプログラムコードの実行トレースを取得するように通知する。実行トレースでは、実行アドレスと利用したレジスタや読み書きを行ったメモリ領域、それらが保持するデータおよび設定されているタグを記録する。さらに、実行トレースを取得する際には通信先を指定するAPIの呼び出し時に識別情報に対してタグを設定する。   Then, the specifying unit 114 starts processing for specifying the program code for selecting the attack target due to the C & C server specification in the tampering detection unit 112. The specifying unit 114 notifies the instruction monitoring unit 111 to acquire an execution trace of the program code of the malware 11A after specifying the C & C server. In the execution trace, an execution address, a register used, a memory area in which reading and writing are performed, data held by the memory, and a set tag are recorded. Further, when acquiring an execution trace, a tag is set for the identification information when an API for designating a communication destination is called.

例えば、Windows(登録商標) OS上のInternet ExplorerにおいてInternetConnect関数が呼ばれた場合にはFQDNやIPアドレスに対して識別情報であることを示すタグを設定する。タグは、フラグ値としてもよいし、どの関数の引数に指定された識別情報かを把握するためにユニークな値を設定してもよい。   For example, when an InternetConnect function is called in Internet Explorer on a Windows (registered trademark) OS, a tag indicating identification information is set for an FQDN or an IP address. The tag may be a flag value, or a unique value may be set in order to ascertain which identification information is specified as an argument of which function.

実行トレースが有効な状態で、ブラウザ操作部11Cに改ざん攻撃発生が確認されたサイトへのアクセスを行わせ、改ざん攻撃実施時の実行トレースを取得する。なお、改ざん検知前から実行トレースを有効にしないのは、解析負荷を低減させるためである。改ざん攻撃実施時の実行トレースを取得した後、特定部114は、実行トレースの中から攻撃対象候補の識別情報であることを表すタグとC&Cサーバに紐付くタグの両方を参照する演算命令や比較命令を抽出し、攻撃対象選定のためのプログラムコードとして特定する。例えば、識別情報に0x1という値のタグを設定しており、C&Cサーバからの受信データに対して0x2という値のタグを設定していた場合、「cmp eax, ebx」という比較命令においてeaxないしebxにおいて0x1という値のタグが設定されており、他方に0x2という値のタグが設定されていることを確認することで攻撃対象選定のプログラムコードであることを特定する。   In a state where the execution trace is valid, the browser operation unit 11C is made to access a site where the occurrence of the falsification attack is confirmed, and the execution trace when the falsification attack is performed is acquired. The reason why the execution trace is not validated before tampering detection is to reduce the analysis load. After acquiring the execution trace at the time of performing the tampering attack, the specifying unit 114 compares the operation instruction or comparison that refers to both the tag representing the identification information of the attack target candidate and the tag associated with the C & C server from the execution trace. The command is extracted and specified as a program code for selecting an attack target. For example, if a tag with a value of 0x1 is set in the identification information and a tag with a value of 0x2 is set for the data received from the C & C server, the comparison command “cmp eax, ebx” uses eax or ebx. It is identified that the tag is a program code for selecting an attack target by confirming that a tag having a value of 0x1 is set in the tag and a tag having a value of 0x2 is set in the other tag.

その後、取得部115は、ブラウザ操作部11Cに改ざん攻撃発生が確認されていないサイトにアクセスさせることで、改ざん攻撃対象であるか否かを判定する処理の実行トレースを取得する。当該実行トレースの中から攻撃対象を選定するためのプログラムコードで参照されたC&Cサーバに紐付くタグのついたデータを取得し、当該実行トレースを実行とは逆順に辿ることで記録されたデータの取得元のメモリ領域を特定し、当該メモリ領域の文字列情報を抽出する。ここで文字列情報とは、所定の数以上連続するASCIIコードで構成されたデータ列である。これにより、攻撃対象である正規サイトの一覧を取得する。   After that, the acquisition unit 115 acquires an execution trace of processing for determining whether or not it is a falsification attack target by causing the browser operation unit 11C to access a site where the occurrence of the falsification attack is not confirmed. From the execution trace, obtain the data with the tag linked to the C & C server referenced by the program code for selecting the attack target, and follow the execution trace in the reverse order of execution. The memory area of the acquisition source is specified, and the character string information of the memory area is extracted. Here, the character string information is a data string composed of a predetermined number or more of ASCII codes. This obtains a list of legitimate sites that are attack targets.

上述したように、正規サイトの一覧を取得する処理を行う際には、まず、ブラウザ操作部11Cに改ざん攻撃発生が確認されていないサイトにアクセスさせているが、これは、攻撃対象である正規サイトの識別情報を網羅的に取得するためである。   As described above, when performing the process of acquiring a list of authorized sites, first, the browser operation unit 11C is made to access a site where the occurrence of a falsification attack has not been confirmed. This is for comprehensively acquiring site identification information.

ここで、図5を用いて、ブラウザ操作部11Cにより改ざん攻撃対象ではない通信先と通信させることで攻撃対象である正規サイトの識別情報を網羅的に取得する処理を説明する。図5は、ブラウザ操作部により改ざん攻撃対象ではない通信先と通信させることで攻撃対象である正規サイトの識別情報を網羅的に取得する処理を説明する図である。図5の例では、改ざん攻撃対象ではない識別情報として、URL「http://zzzbank.co.jp/」がブラウザ操作部11Cを介して入力されている場合を例として説明する。なお、改ざん攻撃対象ではない識別情報は、予め設定されて自動的に入力されるものであってもよいし、手動で入力されるものであってもよい。   Here, with reference to FIG. 5, a process for comprehensively acquiring identification information of a legitimate site that is an attack target by causing the browser operation unit 11 </ b> C to communicate with a communication destination that is not a falsification attack target will be described. FIG. 5 is a diagram illustrating a process for comprehensively acquiring identification information of a legitimate site that is an attack target by causing a browser operation unit to communicate with a communication destination that is not the target of the falsification attack. In the example of FIG. 5, a case where the URL “http://zzzbank.co.jp/” is input via the browser operation unit 11C as identification information that is not a falsification attack target will be described as an example. The identification information that is not the target of the tampering attack may be set in advance and automatically input, or may be input manually.

図5に例示するように、通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードでは、まず、改ざん攻撃対象ではない識別情報であるURL「http://zzzbank.co.jp/」が、攻撃対象の識別情報であるURL「http://AAAbank.com/*」と一致するか比較される。この結果、一致しない場合には、図5に例示するように、照合結果が「×」となり、次の改ざん攻撃対象ではない識別情報であるURL「http://zzzbank.co.jp/」と、攻撃対象の識別情報であるURL「http://BBBbank.*/login.html」とが一致するか比較され、一致しない場合には、照合結果が「×」となる。なお、上記したURLの「*」は、任意の文字列を表すものである。   As illustrated in FIG. 5, in the program code for determining whether the identification information of the transmission source or the transmission destination of communication data is the identification information of the attack target, first, the URL “http: //zzzbank.co.jp/ ”is compared with the URL“ http://AAAbank.com/* ”which is the identification information of the attack target. As a result, if they do not match, as shown in FIG. 5, the collation result is “×”, and the URL “http://zzzbank.co.jp/”, which is identification information that is not the target of the next tampering attack. The URL “http: //BBBbank.*/login.html”, which is the identification information of the attack target, is matched or compared, and if not matched, the matching result is “x”. The “*” in the above URL represents an arbitrary character string.

同様の比較処理が、攻撃対象の識別情報であるURL「http://CCCbank.com/*」、「http://DDDbank.com/*」に対しても行われる。つまり、上記の比較を行った結果、仮に一致してしまうと、そこで比較処理が終了となってしまうが、改ざん攻撃対象ではない通信先と通信させることで、全ての攻撃対象である正規サイトの識別情報についての比較処理が行われる。このように、改ざん攻撃対象ではない通信先と通信させることで、全ての攻撃対象である正規サイトの識別情報についての比較処理が行われるため、プログラムコードを解析することで、正規サイトの識別情報を網羅的に取得することが可能となる。   Similar comparison processing is also performed on URLs “http://CCCbank.com/*” and “http://DDDbank.com/*” which are identification information of the attack target. In other words, as a result of the above comparison, if they match, the comparison process ends, but by communicating with a communication destination that is not the target of the tampering attack, A comparison process is performed on the identification information. In this way, by comparing with the communication destination that is not the target of the tampering attack, comparison processing is performed on the identification information of the authorized sites that are all attack targets, so by analyzing the program code, the identification information of the authorized sites Can be acquired comprehensively.

[特定装置の処理の一例]
次に、図6を用いて、特定装置10における処理の流れを説明する。図6は、本実施形態に係る特定装置における攻撃対象の正規サイトの識別情報を特定する処理の流れを示すフローチャートである。なお、以下の処理は、改ざん検知部112により、改ざんが検知されるとともに、C&Cサーバの識別情報が特定された後に開始される処理である。
[Example of specific device processing]
Next, the flow of processing in the specifying device 10 will be described with reference to FIG. FIG. 6 is a flowchart showing a flow of processing for identifying identification information of a legitimate site to be attacked by the identifying apparatus according to the present embodiment. The following process is a process that is started after the falsification is detected by the falsification detection unit 112 and the identification information of the C & C server is specified.

図6に示すように、特定装置10の特定部114は、C&Cサーバとタグ、改ざん発生時の通信先を改ざん検知部112から取得する(ステップS101)。なお、ここで、特定部114は、C&Cサーバとタグを取得できなかった場合には(ステップS102否定)、処理を終了する。   As illustrated in FIG. 6, the identification unit 114 of the identification device 10 acquires the C & C server, the tag, and the communication destination at the time of occurrence of alteration from the alteration detection unit 112 (step S <b> 101). Here, if the identification unit 114 cannot acquire the C & C server and the tag (No at Step S102), the process ends.

また、特定部114は、C&Cサーバとタグを取得できた場合には(ステップS102肯定)、命令監視部111の実行トレース取得を有効化し(ステップS103)、ブラウザ操作部11Cに改ざん発生時の通信先に通信させる(ステップS104)。つまり、実行トレースが有効な状態で、ブラウザ操作部11Cに改ざん攻撃発生が確認されたサイトへのアクセスを行わせ、改ざん攻撃実施時の実行トレースを取得する。なお、改ざん検知前から実行トレースを有効にしないのは、解析負荷を低減させるためである。   If the identification unit 114 can acquire the tag with the C & C server (Yes at Step S102), the instruction monitoring unit 111 enables the execution trace acquisition (Step S103), and the browser operation unit 11C communicates when tampering occurs. First, communication is performed (step S104). That is, in a state where the execution trace is valid, the browser operation unit 11C is made to access the site where the occurrence of the falsification attack is confirmed, and the execution trace at the time of the falsification attack is acquired. The reason why the execution trace is not validated before tampering detection is to reduce the analysis load.

そして、特定部114は、改ざん攻撃実施時の実行トレースを取得した後、実行トレースからC&Cサーバのタグと識別情報のタグを参照するプログラムコードを特定する(ステップS105)。具体的には、特定部114は、実行トレースの中から攻撃対象候補の識別情報であることを表すタグとC&Cサーバに紐付くタグの両方を参照する演算命令や比較命令を抽出し、攻撃対象選定のためのプログラムコードとして特定する。なお、ステップS105において条件に合う存在しなかった場合には(ステップS106否定)、ここで処理を終了する。   Then, after acquiring the execution trace when the falsification attack is performed, the specifying unit 114 specifies the program code that refers to the tag of the C & C server and the tag of the identification information from the execution trace (step S105). Specifically, the specifying unit 114 extracts an operation instruction or a comparison instruction that refers to both a tag representing identification information of an attack target candidate and a tag associated with the C & C server from the execution trace, and the attack target It is specified as a program code for selection. Note that if the condition does not exist in step S105 (No in step S106), the process ends here.

プログラムコードとして特定する処理について具体的な例を用いて説明すると、識別情報に0x1という値のタグを設定しており、C&Cサーバからの受信データに対して0x2という値のタグを設定していた場合、特定部114は、「cmp eax, ebx」という比較命令においてeaxないしebxにおいて0x1という値のタグが設定されており、他方に0x2という値のタグが設定されていることを確認することで攻撃対象選定のプログラムコードであることを特定する。   The processing specified as the program code will be described using a specific example. A tag with a value of 0x1 is set in the identification information, and a tag with a value of 0x2 is set for the received data from the C & C server. In this case, the identification unit 114 confirms that a tag with a value of 0x1 is set in eax or ebx in the comparison instruction “cmp eax, ebx” and a tag with a value of 0x2 is set on the other side. Specify the program code to select the attack target.

そして、ステップS105において条件に合うプログラムコードが存在した場合には(ステップS106肯定)、ブラウザ操作部11Cに改ざん攻撃対象でない通信先と通信させる(ステップS107)。このようにブラウザ操作部11Cに改ざん攻撃対象でない通信先と通信させ、例えば、改ざん攻撃発生が確認されていないサイトにアクセスさせることで、改ざん攻撃対象であるか否かを判定する処理の実行トレースを取得する。   If there is a program code that meets the conditions in step S105 (Yes in step S106), the browser operation unit 11C is made to communicate with a communication destination that is not the target of the tampering attack (step S107). In this way, the browser operation unit 11C communicates with a communication destination that is not subject to a falsification attack, for example, by accessing a site where the occurrence of a falsification attack has not been confirmed, for example, execution trace of processing for determining whether or not a falsification attack has occurred. To get.

そして、取得部115は、当該プログラムコードで参照されたデータのうち、C&Cサーバに紐づくタグが設定されたデータを記憶する(ステップS108)。そして、取得部115は、実行トレースを遡り、取得元アドレスを特定する(ステップS109)。その後、取得部115は、攻撃対象の識別情報として、取得元アドレスから文字列を取得する(ステップS110)。   And the acquisition part 115 memorize | stores the data by which the tag linked | related with a C & C server was set among the data referred with the said program code (step S108). Then, the acquisition unit 115 traces back the execution trace and specifies the acquisition source address (step S109). Then, the acquisition unit 115 acquires a character string from the acquisition source address as attack target identification information (step S110).

つまり、例えば、取得部115は、実行トレースの中から攻撃対象を選定するためのプログラムコードで参照されたC&Cサーバに紐付くタグのついたデータを取得し、当該実行トレースを実行とは逆順に辿り、データの受け渡し関係を1つずつ確認していくことで、記録されたデータの取得元のメモリ領域を特定し、当該メモリ領域の文字列情報(例えば、正規化されたURLやIPアドレス)を抽出する。これにより、攻撃対象である正規サイトの識別情報の一覧を取得する。なお、取得した識別情報に対して、さらに、所定の条件を満たすものだけを抽出するようにしてもよい。例えば、金融サービスに関連する識別情報だけを抽出したい場合には、金融サービスに関連する識別情報を抽出する条件を予め設定し、取得した識別情報から金融サービスに関連する識別情報のみを抽出するようにしてもよい。   That is, for example, the acquisition unit 115 acquires data with a tag associated with the C & C server referred to by the program code for selecting an attack target from the execution trace, and executes the execution trace in the reverse order of execution. By tracing and confirming the data transfer relationship one by one, the memory area from which the recorded data is obtained is specified, and the character string information of the memory area (eg, normalized URL or IP address) To extract. As a result, a list of identification information of the legitimate sites that are attack targets is acquired. Note that only the information that satisfies a predetermined condition may be extracted from the acquired identification information. For example, when only the identification information related to the financial service is to be extracted, a condition for extracting the identification information related to the financial service is set in advance, and only the identification information related to the financial service is extracted from the acquired identification information. It may be.

[実施形態の効果]
このように、特定装置10は、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する。そして、特定装置10は、付与されたタグを用いて、通信データの改ざんの発生を検知するとともに、該改ざんを指令したC&Cサーバの識別情報を特定する。続いて、特定装置10は、改ざんの発生が検知された場合に、C&Cサーバの識別情報と改ざん発生時におけるマルウェア11Aによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する。その後、特定装置10は、特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを攻撃対象の識別情報の一覧として実行トレースから取得する。このため、マルウェアの攻撃対象を効率的に取得することが可能である。
[Effect of the embodiment]
As described above, the identification device 10 assigns a tag including attribute information associated with identification information of a transmission source or a transmission destination of the communication data to the communication data, and propagates the communication data to which the tag is attached. To track. Then, the specifying device 10 detects the occurrence of tampering of communication data using the assigned tag, and specifies the identification information of the C & C server that commanded the tampering. Subsequently, when the occurrence of falsification is detected, the specific device 10 executes the execution trace in which the occurrence of falsification is detected based on the identification information of the C & C server and the identification information of the attack target by the malware 11A when the falsification occurs. The program code for determining whether the identification information of the transmission source or the transmission destination of the communication data is the identification information of the attack target is specified. After that, the specifying device 10 analyzes the specified program code, and acquires data to be referred to when determining whether the program code is attack target identification information from the execution trace as a list of attack target identification information. . For this reason, it is possible to efficiently acquire malware attack targets.

また、特定装置10は、マルウェア11Aが通信データに対して行った改ざん攻撃の検知、改ざん内容を指定したC&Cサーバの特定だけでなく、改ざん攻撃の対象となっている正規サイトを特定するのに有用である。また、特定装置10では、特定した攻撃対象の正規サイトの識別情報は、特定装置10のブラウザ操作部11Cへの入力生成や、注意喚起などへの利用に適している。なお、攻撃対象となっている各正規サイトにアクセスした際に行われる改ざん内容も特定することが可能である。   In addition, the identification device 10 detects not only a tampering attack performed by the malware 11A on the communication data, but also identifies a C & C server that specifies the contents of the tampering, and identifies a legitimate site that is the target of the tampering attack. Useful. Further, in the specific device 10, the identified identification information of the legitimate site to be attacked is suitable for input generation to the browser operation unit 11 </ b> C of the specific device 10, alerting, and the like. It is also possible to specify the contents of tampering that is performed when accessing each legitimate site targeted for attack.

[その他の実施形態]
なお、上記の実施形態では、マルウェア実行環境における解析に適用される場合を説明したが、これに限定されるものではない。例えば、本実施形態に係る各部は、ユーザ端末に導入されてもよい。また、本実施形態を利用する際には、改ざん機能を有したマルウェアか否かの判定や改ざん攻撃が発生したことの警告通知のみを目的として、C&Cサーバ特定処理を行わず、改ざん攻撃の検知処理のみを実施してもよい。なお、C&Cサーバ特定処理を実施する際には、C&Cサーバ識別情報DB13の内容に基づいて、VMM(Virtual Machine Monitor)側で通信の遮断を実施してもよいし、外部IPS(Intrusion Prevention System)装置等と連携して通信遮断の措置をとらせてもよい。なお、C&Cサーバは、「指令サーバ」とも称される。
[Other Embodiments]
In addition, although said embodiment demonstrated the case applied to the analysis in a malware execution environment, it is not limited to this. For example, each part concerning this embodiment may be introduced into a user terminal. In addition, when using this embodiment, for the purpose of determining whether or not the malware has a falsification function or notifying that a falsification attack has occurred, the C & C server identification process is not performed, and a falsification attack is detected. Only processing may be performed. When the C & C server identification process is performed, communication may be blocked on the VMM (Virtual Machine Monitor) side based on the contents of the C & C server identification information DB 13, or an external IPS (Intrusion Prevention System) A communication blocking measure may be taken in cooperation with a device or the like. The C & C server is also referred to as a “command server”.

[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、特定部114と取得部115とを統合してもよい。
[System configuration, etc.]
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Further, all or any part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic. For example, the specifying unit 114 and the acquisition unit 115 may be integrated.

また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in the present embodiment, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
また、上記実施形態において説明した特定装置10が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る特定装置10が実行する処理について、コンピュータが実行可能な言語で記述した特定プログラムを作成することもできる。この場合、コンピュータが特定プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる特定プログラムをコンピュータが読み取り可能な記録媒体に記録して、この記録媒体に記録され特定プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図1に示した特定装置10と同様の機能を実現する特定プログラムを実行するコンピュータの一例を説明する。
[program]
In addition, a program described in a language that can be executed by a computer can be created for the processing executed by the specific apparatus 10 described in the above embodiment. For example, it is possible to create a specific program described in a language that can be executed by a computer for the processing executed by the specific device 10 according to the embodiment. In this case, the same effect as the above-described embodiment can be obtained by the computer executing the specific program. Furthermore, such a specific program may be recorded on a computer-readable recording medium, and the processing similar to the above-described embodiment may be realized by recording the specific program on the recording medium and causing the computer to read and execute the specific program. An example of a computer that executes a specific program that implements the same function as that of the specific device 10 illustrated in FIG. 1 will be described below.

図7は、特定プログラムを実行するコンピュータ1000を示す図である。図7に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 7 is a diagram illustrating a computer 1000 that executes a specific program. As illustrated in FIG. 7, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図7に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図7に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図7に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図7に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図7に例示するように、例えばディスプレイ1130に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120 as illustrated in FIG. The video adapter 1060 is connected to a display 1130, for example, as illustrated in FIG.

ここで、図7に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の特定プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。   Here, as illustrated in FIG. 7, the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the specific program is stored in, for example, the hard disk drive 1090 as a program module in which a command executed by the computer 1000 is described.

また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、実行する。   In addition, various data described in the above embodiment is stored as program data in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes them.

なお、特定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、特定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the specific program are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Good. Alternatively, the program module 1093 and the program data 1094 related to the specific program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and are transmitted via the network interface 1070. May be read by the CPU 1020.

10 特定装置
11 マルウェア実行環境部
11A マルウェア
11B ブラウザ
11C ブラウザ操作部
11D ゲストOS
11E 仮想マシンモニタ
110 データ伝搬追跡部
110A ディスクタグ保存領域
110B タグ付与部
110C タグ伝搬部A
110D メモリタグ保存領域
110E タグ伝搬部B
110F レジスタタグ保存領域
111 命令監視部
112 改ざん検知部
113 識別情報DB
114 特定部
115 取得部
116 仮想HWコントローラ
117 仮想メモリ
118 仮想CPU
118B 仮想レジスタ
119A 仮想NIC
119B 仮想ディスク
12 解析結果DB
13 C&Cサーバ識別情報DB
DESCRIPTION OF SYMBOLS 10 Specific apparatus 11 Malware execution environment part 11A Malware 11B Browser 11C Browser operation part 11D Guest OS
11E Virtual machine monitor 110 Data propagation tracking unit 110A Disk tag storage area 110B Tag assignment unit 110C Tag propagation unit A
110D memory tag storage area 110E tag propagation part B
110F register tag storage area 111 instruction monitoring unit 112 falsification detection unit 113 identification information DB
114 Identification Unit 115 Acquisition Unit 116 Virtual HW Controller 117 Virtual Memory 118 Virtual CPU
118B Virtual register 119A Virtual NIC
119B Virtual disk 12 Analysis result DB
13 C & C server identification information DB

Claims (7)

通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡部と、
前記追跡部によって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知部と、
前記検知部によって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定部と、
前記特定部によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得部と
を有することを特徴とする特定装置。
A tag that includes attribute information associated with identification information of the source or destination of the communication data is attached to the communication data, and a tracking unit that tracks the propagation of the communication data to which the tag is attached,
A detection unit that detects the occurrence of falsification of the communication data using the tag given by the tracking unit, and identifies the identification information of the command server that commanded the falsification,
When the detection of the alteration is detected by the detection unit, based on the identification information of the command server and the identification information of the attack target by the malware at the time of the alteration, the communication is performed from the execution trace in which the occurrence of the alteration is detected. A specifying unit for specifying a program code for determining whether the identification information of the data transmission source or the transmission destination is the identification information of the attack target;
Obtaining from the execution trace, as a list of identification information of the attack target, data to be referred to when analyzing the program code specified by the specifying unit and determining whether the program code is the identification information of the attack target And a specific device.
システム内で発行される命令を監視する命令監視部を更に備え、
前記検知部は、前記命令監視部によってAPI(Application Programming Interface)呼び出しまたはシステムコールが前記命令として検知された場合に、前記通信データに対して前記改ざんの発生の検知を行うことを特徴とする請求項1に記載の特定装置。
A command monitoring unit for monitoring commands issued in the system;
The detection unit detects the occurrence of the alteration of the communication data when an API (Application Programming Interface) call or a system call is detected as the command by the command monitoring unit. Item 2. The specific device according to Item 1.
前記検知部は、前記通信データに、当該通信データの送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、当該通信データの改ざんの発生を検知するとともに、前記異なる属性情報を含むタグに紐付く送信元の識別情報を、該改ざんを指令した指令サーバの識別情報として特定することを特徴とする請求項1または2に記載の特定装置。   The detection unit detects the occurrence of falsification of the communication data when the communication data includes a tag including attribute information different from attribute information corresponding to a transmission source of the communication data, and the different attribute The identification device according to claim 1 or 2, wherein identification information of a transmission source associated with a tag including information is identified as identification information of a command server that commanded the falsification. 前記特定部は、前記実行トレースの中から、攻撃対象候補の識別情報であることを表すタグと指令サーバに紐づくタグの両方を参照する命令を抽出し、該命令を含むプログラムコードを前記攻撃対象の識別情報であるかを判定するプログラムコードとして特定することを特徴とする請求項1〜3のいずれか一つに記載の特定装置。   The specifying unit extracts an instruction that refers to both a tag that represents identification information of an attack target candidate and a tag associated with a command server from the execution trace, and the program code including the command is extracted from the attack code. The identification device according to any one of claims 1 to 3, wherein the identification code is identified as a program code for determining whether the target identification information is included. 前記取得部は、前記攻撃対象でない通信先と通信を行わせて前記プログラムコードを解析し、前記攻撃対象の識別情報であることを表すタグと前記指令サーバに紐付くタグとが比較されている場合に、該指令サーバに紐付くタグが付与されている通信データ内の文字列を抽出することで前記攻撃対象の識別情報の一覧を取得することを特徴とする請求項1〜4のいずれか一つに記載の特定装置。   The acquisition unit performs communication with a communication destination that is not the attack target, analyzes the program code, and compares a tag representing the attack target identification information with a tag associated with the command server. In this case, a list of identification information of the attack target is acquired by extracting a character string in communication data to which a tag associated with the command server is attached. The specific device according to one. 特定装置によって実行される特定方法であって、
通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡工程と、
前記追跡工程によって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知工程と、
前記検知工程によって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定工程と、
前記特定工程によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得工程と
を含んだことを特徴とする特定方法。
A specific method performed by a specific device,
For the communication data, a tag including attribute information associated with identification information of a transmission source or a transmission destination of the communication data is provided, and a tracking process for tracking the propagation of the communication data to which the tag is assigned,
Using the tag attached by the tracking step, detecting the occurrence of tampering with the communication data, and detecting the identification information of the command server that commanded the tampering;
From the execution trace in which the occurrence of falsification is detected based on the identification information of the command server and the identification information of the attack target by malware at the time of the falsification when the occurrence of falsification is detected by the detection step, the communication A specific step of identifying a program code for determining whether the identification information of a data transmission source or transmission destination is identification information of an attack target;
Obtaining from the execution trace, as a list of identification information of the attack target, data to be referred to when analyzing the program code specified by the specifying step and determining whether the program code is the identification information of the attack target A specifying method characterized by including a process.
通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡ステップと、
前記追跡ステップによって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知ステップと、
前記検知ステップによって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定ステップと、
前記特定ステップによって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得ステップと
をコンピュータに実行させることを特徴とする特定プログラム。
A tracking step of giving a tag including attribute information associated with identification information of a transmission source or a transmission destination of the communication data to the communication data, and tracking the propagation of the communication data to which the tag is attached,
A detection step for detecting the occurrence of tampering of the communication data using the tag given by the tracking step and identifying the identification information of the command server that commanded the tampering;
When the occurrence of tampering is detected by the detection step, the communication is detected from the execution trace in which the occurrence of tampering is detected based on the identification information of the command server and the identification information of the attack target by malware at the time of tampering. A specific step of identifying a program code for determining whether the identification information of the data transmission source or transmission destination is the identification information of the attack target;
Obtaining from the execution trace, as a list of identification information of the attack target, data to be referred to when analyzing the program code specified by the specifying step and determining whether the program code is the identification information of the attack target A specific program that causes a computer to execute steps.
JP2014260629A 2014-12-24 2014-12-24 Specific apparatus, specific method, and specific program Active JP6258189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014260629A JP6258189B2 (en) 2014-12-24 2014-12-24 Specific apparatus, specific method, and specific program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014260629A JP6258189B2 (en) 2014-12-24 2014-12-24 Specific apparatus, specific method, and specific program

Publications (2)

Publication Number Publication Date
JP2016122262A true JP2016122262A (en) 2016-07-07
JP6258189B2 JP6258189B2 (en) 2018-01-10

Family

ID=56328992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014260629A Active JP6258189B2 (en) 2014-12-24 2014-12-24 Specific apparatus, specific method, and specific program

Country Status (1)

Country Link
JP (1) JP6258189B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476904B2 (en) 2016-08-26 2019-11-12 Fujitsu Limited Non-transitory recording medium recording cyber-attack analysis supporting program, cyber-attack analysis supporting method, and cyber-attack analysis supporting apparatus
CN113544704A (en) * 2019-03-26 2021-10-22 日本电信电话株式会社 Evaluation device, evaluation method, and evaluation program
JP7098065B1 (en) 2020-05-20 2022-07-08 グーグル エルエルシー Preventing data manipulation and protecting user privacy in telecommunications network measurements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140020094A1 (en) * 2012-07-12 2014-01-16 Industrial Technology Research Institute Computing environment security method and electronic computing system
WO2014188780A1 (en) * 2013-05-20 2014-11-27 日本電信電話株式会社 Information processing device and identifying method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140020094A1 (en) * 2012-07-12 2014-01-16 Industrial Technology Research Institute Computing environment security method and electronic computing system
WO2014188780A1 (en) * 2013-05-20 2014-11-27 日本電信電話株式会社 Information processing device and identifying method

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
幾世 知範ほか: "制御フローと通信の関連性分析に基づくC&Cサーバ特定手法の提案", 電子情報通信学会技術研究報告, vol. Vol. 113, No. 502, JPN6017045492, 20 March 2014 (2014-03-20), pages pp. 137-142 *
幾世 知範ほか: "改ざんデータの出自確認に基づいたC&Cサーバ特定手法の提案", 2014年電子情報通信学会通信ソサイエティ大会講演論文集2, JPN6017045493, 9 September 2014 (2014-09-09), pages p. 16 *
幾世 知範ほか: "通信先と端末内の挙動との依存関係に基づくマルウェアダウンロードサイト特定手法", コンピュータセキュリティシンポジウム2014 (CSS 2014) 論文集, vol. Vol. 2014, No.2, JPN6017045495, 15 October 2014 (2014-10-15), pages pp. 1134-1141 *
瀬川 達也ほか: "Man-in-the-Browser攻撃を行うマルウェアの安全な動的解析手法", 情報処理学会研究報告, vol. Vol. 2013-CSEC-61, No. 8, JPN6017045491, 2 May 2013 (2013-05-02), pages pp. 1-8 *
西田 雅太ほか: "静的解析と挙動観測による金融系マルウェアの攻撃手法の調査", コンピュータセキュリティシンポジウム2014 (CSS 2014) 論文集, vol. Vol. 2014, No. 2, JPN6017045494, 15 October 2014 (2014-10-15), pages pp. 859-866 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476904B2 (en) 2016-08-26 2019-11-12 Fujitsu Limited Non-transitory recording medium recording cyber-attack analysis supporting program, cyber-attack analysis supporting method, and cyber-attack analysis supporting apparatus
CN113544704A (en) * 2019-03-26 2021-10-22 日本电信电话株式会社 Evaluation device, evaluation method, and evaluation program
JP7098065B1 (en) 2020-05-20 2022-07-08 グーグル エルエルシー Preventing data manipulation and protecting user privacy in telecommunications network measurements
JP2022533874A (en) * 2020-05-20 2022-07-27 グーグル エルエルシー Prevent data manipulation and protect user privacy in telecom network measurements
US11863690B2 (en) 2020-05-20 2024-01-02 Google Llc Preventing data manipulation and protecting user privacy in telecommunication network measurements

Also Published As

Publication number Publication date
JP6258189B2 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
JP5972401B2 (en) Attack analysis system, linkage device, attack analysis linkage method, and program
US8291500B1 (en) Systems and methods for automated malware artifact retrieval and analysis
CN109376078B (en) Mobile application testing method, terminal equipment and medium
CN108429638B (en) Server operation and maintenance method, device and system and electronic equipment
WO2018188558A1 (en) Method and apparatus for identifying account permission
CN110929264B (en) Vulnerability detection method and device, electronic equipment and readable storage medium
JP2014203464A (en) Client based local malware detection method
CN111783096B (en) Method and device for detecting security hole
JP6096389B2 (en) Detection device, detection method, and detection program
CN101964026A (en) Method and system for detecting web page horse hanging
CN111163095B (en) Network attack analysis method, network attack analysis device, computing device, and medium
WO2012103646A1 (en) Determining the vulnerability of computer software applications to privilege-escalation attacks
CN111163094B (en) Network attack detection method, network attack detection device, electronic device, and medium
JP5936798B2 (en) Log analysis device, unauthorized access audit system, log analysis program, and log analysis method
CN109997138A (en) For detecting the system and method for calculating the malicious process in equipment
JP6258189B2 (en) Specific apparatus, specific method, and specific program
US11321453B2 (en) Method and system for detecting and classifying malware based on families
CN111030978B (en) Malicious data acquisition method and device based on block chain and storage device
JP6018344B2 (en) Dynamic reading code analysis apparatus, dynamic reading code analysis method, and dynamic reading code analysis program
Lee et al. A study on realtime detecting smishing on cloud computing environments
US20160210474A1 (en) Data processing apparatus, data processing method, and program
US11611570B2 (en) Attack signature generation
JP2019074893A (en) Unauthorized login detection method
JP7013297B2 (en) Fraud detection device, fraud detection network system, and fraud detection method
US20240095361A1 (en) Detecting patient-zero exfiltration attacks on websites using taint tracking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171017

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: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171206

R150 Certificate of patent or registration of utility model

Ref document number: 6258189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150