JP2016122262A - Specification device, specification method and specification program - Google Patents
Specification device, specification method and specification program Download PDFInfo
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
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).
しかしながら、上記の従来技術では、サイトに対する改ざんの発生や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.
以下に、本願に係る特定装置、特定方法および特定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る特定装置、特定方法および特定プログラムが限定されるものではない。 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
マルウェア実行環境部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
仮想マシンモニタ11Eは、データ伝搬追跡部110、命令監視部111、改ざん検知部112、識別情報DB113、特定部114および取得部115から構成される。
The
データ伝搬追跡部110は、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する。つまり、データ伝搬追跡部110は、マルウェア11A実行の動作を監視するため、テイント解析によってデータに対して属性情報を表すタグを設定することでマルウェア11A実行時のデータの伝搬を追跡する。このとき、通信データの送信先、もしくは送信元を一意に特定するため、タグには識別情報に対応する属性情報等を保持させる。なお、以下の説明において、送信先及び送信元を総称する場合に、適宜「通信先」と表記する。また、識別情報とは、例えば、通信先のIPアドレスやFQDN(Fully Qualified Domain Name)、URL(Uniform Resource Locator)等の情報である。
The data
ここで、図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
すなわち、データ伝搬追跡部110は、通信データに対してタグを設定し、設定したタグに含まれる属性情報と、その属性情報に対応する識別情報とを識別情報DB113に転送した上で、仮想マシンモニタ11E上で通信データの伝搬の追跡を行う。識別情報DB113は、データ伝搬追跡部110から転送された属性情報と識別情報とを対応づけて記憶する。なお、識別情報DB113に記憶される情報については、後述する。
That is, the data
なお、データ伝搬追跡部110では、マルウェア11Aが受信した通信データに対しては送信元および何番目の受信データであるかを一意に特定できるタグを設定し、キーボード入力やAPI(Application Programming Interface)の引数に識別情報が指定された際には識別情報であることを示すタグを設定している。
The data
ここで、テイント解析技術とは、データフロー解析を自動化する手法の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
例えば、命令監視部111は、マルウェア11Aのプログラムコードが実行したAPI呼び出しや特定のタグのついたデータを参照する命令を監視・記録し、データ伝搬追跡部110にはタグの設定、改ざん検知部112には改ざん発生有無の確認を要求する。
For example, the
改ざん検知部112は、データ伝搬追跡部110によって付与されたタグを用いて、通信データの改ざんの発生を検知するとともに、該改ざんを指令したC&Cサーバの識別情報を特定する。具体的には、命令監視部111によってAPI呼び出し又はシステムコールが命令として検知された場合に、通信データに対して改ざんの検知を行う。また、改ざん検知部112は、通信データに、その通信データの送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、通信データの改ざんを検知する。
The
例えば、改ざん検知部112は、データを受信するAPI呼び出し後の戻りアドレスにおいて受信データの改ざん有無を確認し、仮想NIC119A(図2参照)において送信データの改ざん有無を確認する。ここで、改ざんは、データ内に異なる出自情報を持つデータが混在していることを根拠に検知され、混入されたデータの取得元はC&Cサーバとして特定される。
For example, the
そして、改ざん検知部112は、改ざんを検知した場合に、通信データの送信元に対応する属性情報とは異なる属性情報を含むタグに対応するデータを、改ざん内容として特定し、特定した改ざん内容を解析結果DB12に転送する。解析結果DB12は、改ざん検知部112から転送された改ざん内容をはじめとする解析結果を記憶する。
Then, when the falsification is detected, the
また、改ざん検知部112は、改ざんを検知した場合に、通信データの送信元に対応する属性情報とは異なる属性情報を含むタグに紐付く通信先を、C&Cサーバとして特定する。そして、改ざん検知部112は、特定した識別情報をC&Cサーバの識別情報としてC&Cサーバ識別情報DB13に転送する。C&Cサーバ識別情報DB13は、改ざん検知部112から転送されたC&Cサーバの識別情報を記憶する。
In addition, when the falsification is detected, the
特定部114は、改ざん検知部112によって改ざんの発生が検知された場合に、C&Cサーバの識別情報と改ざん発生時におけるマルウェア11Aによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する。
When the falsification is detected by the
具体的には、特定部114は、改ざん攻撃実施時の実行トレースを取得し、実行トレースの中から攻撃対象候補の識別情報であることを表すタグとC&Cサーバに紐付くタグの両方を参照する演算命令や比較命令を抽出し、該演算命令や比較命令を含むプログラムコードを攻撃対象選定のためのプログラムコードとして特定する。ここで、攻撃対象候補の識別情報とは、ブラウザ操作部11Cから入力される識別情報であって、マルウェア11による攻撃対象の候補であるURL等の識別情報のことである。
Specifically, the specifying
取得部115は、特定部114によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の通信先であるかを判定する際に参照するデータを攻撃対象の識別情報の一覧として実行トレースから取得する。
The acquiring
具体的には、取得部115は、特定部114によって特定されたプログラムコードを解析し、識別情報であることを表すタグとC&Cサーバに紐付くタグとが比較されている場合に、C&Cサーバに紐付くタグが付与されているデータを記録し、記録されたデータの取得元メモリアドレスに存在する文字列を抽出することで攻撃対象の正規サイト一覧を取得する。
Specifically, the
次に、図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
データ伝搬追跡部110は、データに対してタグを設定してデータの伝搬追跡を行うために、仮想ディスク119B上のデータに対応するタグを保存するためのディスクタグ保存領域110A、仮想メモリ117上のデータに対応するタグを保存するためのメモリタグ保存領域110D、仮想レジスタ118B上のデータに対応するタグを保存するためのレジスタタグ保存領域110Fを具備する。
The data
データ伝搬追跡部110のタグ付与部110Bは、通信データに対して送信元を一意に特定できるタグを設定し、識別情報DB113に転送した上で、タグをメモリタグ保存領域110Dに保存する。タグを設定するタイミングは、受信データであれば、仮想NIC119Aから仮想メモリ117に対してデータがコピーされるタイミング、もしくはデータを受信するAPI/システムコールを呼び出した直後(関数から呼び元に戻るタイミング)であり、また、送信データであれば、ブラウザ11Bなどの正規のアプリケーションがデータを送信するためのAPI呼び出しやシステムコールを発行するタイミングである。データに設定されたタグは、タグ伝搬部110C(タグ伝搬部A)によってデータの伝搬に合わせて伝搬される。
The
タグ伝搬部110Cは、ディスクタグ保存領域110Aとメモリタグ保存領域110Dの間のタグの伝搬を行う。また、タグ伝搬部110E(タグ伝搬部B)は、メモリタグ保存領域110Dとレジスタタグ保存領域110Fとの間やレジスタタグ保存領域110F間のタグの伝搬を行う。
The
また、命令監視部111は、ブラウザ11Bなどの正規アプリケーションが実行するAPI呼び出しを監視する。正規アプリケーションがデータ受信に関わるAPIを呼び出した場合、呼び出し時に関数の引数を全て記録し、戻り時に改ざん検知部112に通知を行う。また、命令監視部111は、APIがデータ送信に関わるものである場合は呼び出し時にデータ伝搬追跡部110に通知を行う。通知を受け取ったデータ伝搬追跡部110は、タグ付与部110Bで送信データに対してデータの送信先を一意に特定できるタグを設定する。なお、データ受信やデータ送信に関わるAPIは、マルウェア解析者等が解析前に設定する。
The
改ざん検知部112は、命令監視部111から通知を受けた後、受信データに対応するタグを確認することで受信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定を行う。更に、改ざん検知部112は、仮想NIC119Aにおいてデータ送信時に送信データに対応するタグを確認することによって、送信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定を行う。なお、データ伝搬時において、暗号化/復号処理を実施するAPIに通信データが受信データ/送信データとして渡された場合、当該APIの戻り値に対しても強制的にタグを伝搬させる処理を行っても良い。その際、IDは再度振り直してもよい。
After receiving the notification from the
ここで、図4を用いて、識別情報DB113に記憶される情報について説明する。図4は、本実施形態に係る識別情報DB113に記憶される情報の一例を示す図である。図4に示すように、識別情報DB113は、タグに含まれる属性情報と、送受信情報と、識別情報とを対応づけて記憶する。この送受信情報は、通信先との通信が受信であるか送信であるかを示す情報であり、例えば、「R」が受信を示し、「S」が送信を示す。なお、図4では、識別情報としてIPアドレスが記憶される場合を例示する。
Here, information stored in the
図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
なお、図4の3行目に示すように、識別情報DB113は、属性情報「0x3」と、送受信情報「S」と、識別情報「192.168.0.1」とを対応づけて記憶する。これは、1行目のIPアドレス「192.168.0.1」と同一のIPアドレスであっても、送受信情報が1行目の「R(受信)」とは異なり「S(送信)」であれば、異なる属性情報「0x3」が付与されることを示す。すなわち、識別情報DB113において、属性情報は、送受信情報と識別情報との組み合わせに対して一意に設定される。なお、識別情報DB113は、必ずしも送受信情報を記憶しなくても良い。この場合、属性情報は、送受信の向きに限らず、通信先ごとに記憶される。また、属性情報は、解析時には固定長であるが、解析ごとに長さを変更してもよい。
4, the
なお、上記のように、識別情報DB113が属性情報と識別情報とを対応づけて記憶するのは、これによって、通信データの改ざんの検知が可能となるからである。例えば、改ざん検知部112は、識別情報DB113を参照し、処理対象となる通信データの送信先、もしくは送信元に対応する属性情報を取得する。そして、改ざん検知部112は、通信データに含まれる属性情報を参照し、取得した属性情報と照合する。ここで、改ざんされていなければ、通信データに含まれる全ての属性情報は、識別情報DB113から取得した属性情報と一致するはずである。一方、一致しなければ、改ざん検知部112は、改ざんを検知することが可能となる。さらに、本来の通信先とは異なる通信先が紐付けられていれば、改ざん検知部112は、その通信先をC&Cサーバとして特定することができる。
Note that, as described above, the
そして、特定部114は、改ざん検知部112におけるC&Cサーバ特定に起因して、攻撃対象選定のプログラムコードを特定する処理を開始する。特定部114は、C&Cサーバ特定後に命令監視部111に対してマルウェア11Aのプログラムコードの実行トレースを取得するように通知する。実行トレースでは、実行アドレスと利用したレジスタや読み書きを行ったメモリ領域、それらが保持するデータおよび設定されているタグを記録する。さらに、実行トレースを取得する際には通信先を指定するAPIの呼び出し時に識別情報に対してタグを設定する。
Then, the specifying
例えば、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
その後、取得部115は、ブラウザ操作部11Cに改ざん攻撃発生が確認されていないサイトにアクセスさせることで、改ざん攻撃対象であるか否かを判定する処理の実行トレースを取得する。当該実行トレースの中から攻撃対象を選定するためのプログラムコードで参照されたC&Cサーバに紐付くタグのついたデータを取得し、当該実行トレースを実行とは逆順に辿ることで記録されたデータの取得元のメモリ領域を特定し、当該メモリ領域の文字列情報を抽出する。ここで文字列情報とは、所定の数以上連続するASCIIコードで構成されたデータ列である。これにより、攻撃対象である正規サイトの一覧を取得する。
After that, the
上述したように、正規サイトの一覧を取得する処理を行う際には、まず、ブラウザ操作部11Cに改ざん攻撃発生が確認されていないサイトにアクセスさせているが、これは、攻撃対象である正規サイトの識別情報を網羅的に取得するためである。
As described above, when performing the process of acquiring a list of authorized sites, first, the
ここで、図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
図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
図6に示すように、特定装置10の特定部114は、C&Cサーバとタグ、改ざん発生時の通信先を改ざん検知部112から取得する(ステップS101)。なお、ここで、特定部114は、C&Cサーバとタグを取得できなかった場合には(ステップS102否定)、処理を終了する。
As illustrated in FIG. 6, the
また、特定部114は、C&Cサーバとタグを取得できた場合には(ステップS102肯定)、命令監視部111の実行トレース取得を有効化し(ステップS103)、ブラウザ操作部11Cに改ざん発生時の通信先に通信させる(ステップS104)。つまり、実行トレースが有効な状態で、ブラウザ操作部11Cに改ざん攻撃発生が確認されたサイトへのアクセスを行わせ、改ざん攻撃実施時の実行トレースを取得する。なお、改ざん検知前から実行トレースを有効にしないのは、解析負荷を低減させるためである。
If the
そして、特定部114は、改ざん攻撃実施時の実行トレースを取得した後、実行トレースからC&Cサーバのタグと識別情報のタグを参照するプログラムコードを特定する(ステップS105)。具体的には、特定部114は、実行トレースの中から攻撃対象候補の識別情報であることを表すタグとC&Cサーバに紐付くタグの両方を参照する演算命令や比較命令を抽出し、攻撃対象選定のためのプログラムコードとして特定する。なお、ステップS105において条件に合う存在しなかった場合には(ステップS106否定)、ここで処理を終了する。
Then, after acquiring the execution trace when the falsification attack is performed, the specifying
プログラムコードとして特定する処理について具体的な例を用いて説明すると、識別情報に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
そして、ステップS105において条件に合うプログラムコードが存在した場合には(ステップS106肯定)、ブラウザ操作部11Cに改ざん攻撃対象でない通信先と通信させる(ステップS107)。このようにブラウザ操作部11Cに改ざん攻撃対象でない通信先と通信させ、例えば、改ざん攻撃発生が確認されていないサイトにアクセスさせることで、改ざん攻撃対象であるか否かを判定する処理の実行トレースを取得する。
If there is a program code that meets the conditions in step S105 (Yes in step S106), the
そして、取得部115は、当該プログラムコードで参照されたデータのうち、C&Cサーバに紐づくタグが設定されたデータを記憶する(ステップS108)。そして、取得部115は、実行トレースを遡り、取得元アドレスを特定する(ステップS109)。その後、取得部115は、攻撃対象の識別情報として、取得元アドレスから文字列を取得する(ステップS110)。
And the
つまり、例えば、取得部115は、実行トレースの中から攻撃対象を選定するためのプログラムコードで参照されたC&Cサーバに紐付くタグのついたデータを取得し、当該実行トレースを実行とは逆順に辿り、データの受け渡し関係を1つずつ確認していくことで、記録されたデータの取得元のメモリ領域を特定し、当該メモリ領域の文字列情報(例えば、正規化されたURLやIPアドレス)を抽出する。これにより、攻撃対象である正規サイトの識別情報の一覧を取得する。なお、取得した識別情報に対して、さらに、所定の条件を満たすものだけを抽出するようにしてもよい。例えば、金融サービスに関連する識別情報だけを抽出したい場合には、金融サービスに関連する識別情報を抽出する条件を予め設定し、取得した識別情報から金融サービスに関連する識別情報のみを抽出するようにしてもよい。
That is, for example, the
[実施形態の効果]
このように、特定装置10は、通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する。そして、特定装置10は、付与されたタグを用いて、通信データの改ざんの発生を検知するとともに、該改ざんを指令したC&Cサーバの識別情報を特定する。続いて、特定装置10は、改ざんの発生が検知された場合に、C&Cサーバの識別情報と改ざん発生時におけるマルウェア11Aによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する。その後、特定装置10は、特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを攻撃対象の識別情報の一覧として実行トレースから取得する。このため、マルウェアの攻撃対象を効率的に取得することが可能である。
[Effect of the embodiment]
As described above, the
また、特定装置10は、マルウェア11Aが通信データに対して行った改ざん攻撃の検知、改ざん内容を指定したC&Cサーバの特定だけでなく、改ざん攻撃の対象となっている正規サイトを特定するのに有用である。また、特定装置10では、特定した攻撃対象の正規サイトの識別情報は、特定装置10のブラウザ操作部11Cへの入力生成や、注意喚起などへの利用に適している。なお、攻撃対象となっている各正規サイトにアクセスした際に行われる改ざん内容も特定することが可能である。
In addition, the
[その他の実施形態]
なお、上記の実施形態では、マルウェア実行環境における解析に適用される場合を説明したが、これに限定されるものではない。例えば、本実施形態に係る各部は、ユーザ端末に導入されてもよい。また、本実施形態を利用する際には、改ざん機能を有したマルウェアか否かの判定や改ざん攻撃が発生したことの警告通知のみを目的として、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
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 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
図7は、特定プログラムを実行するコンピュータ1000を示す図である。図7に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
FIG. 7 is a diagram illustrating a
メモリ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
ここで、図7に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の特定プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
Here, as illustrated in FIG. 7, the hard disk drive 1090 stores, for example, an
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ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
なお、特定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、特定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
Note that the
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
11E Virtual machine monitor 110 Data
110D memory
110F register
114
118B
119B
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.
通信データに対して、当該通信データの送信元または送信先の識別情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡工程と、
前記追跡工程によって付与されたタグを用いて、前記通信データの改ざんの発生を検知するとともに、該改ざんを指令した指令サーバの識別情報を特定する検知工程と、
前記検知工程によって改ざんの発生が検知された場合に、前記指令サーバの識別情報と改ざん発生時におけるマルウェアによる攻撃対象の識別情報とに基づいて、改ざんの発生が検知された実行トレースから、前記通信データの送信元または送信先の識別情報が攻撃対象の識別情報であるかを判定するプログラムコードを特定する特定工程と、
前記特定工程によって特定されたプログラムコードを解析し、当該プログラムコードが攻撃対象の識別情報であるかを判定する際に参照するデータを前記攻撃対象の識別情報の一覧として前記実行トレースから取得する取得工程と
を含んだことを特徴とする特定方法。 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.
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)
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)
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 |
-
2014
- 2014-12-24 JP JP2014260629A patent/JP6258189B2/en active Active
Patent Citations (2)
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)
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)
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 |