WO2016002605A1 - 検知装置、検知方法及び検知プログラム - Google Patents

検知装置、検知方法及び検知プログラム Download PDF

Info

Publication number
WO2016002605A1
WO2016002605A1 PCT/JP2015/068269 JP2015068269W WO2016002605A1 WO 2016002605 A1 WO2016002605 A1 WO 2016002605A1 JP 2015068269 W JP2015068269 W JP 2015068269W WO 2016002605 A1 WO2016002605 A1 WO 2016002605A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
communication data
attribute information
tag
detection
Prior art date
Application number
PCT/JP2015/068269
Other languages
English (en)
French (fr)
Inventor
知範 幾世
一史 青木
剛男 針生
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US15/320,186 priority Critical patent/US10412101B2/en
Priority to JP2016531302A priority patent/JP6096389B2/ja
Priority to EP15814747.0A priority patent/EP3144845B1/en
Priority to CN201580033556.3A priority patent/CN106663176B/zh
Publication of WO2016002605A1 publication Critical patent/WO2016002605A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Definitions

  • the present invention relates to a detection device, a detection method, and a detection program.
  • MITB Man-in-the-browser
  • the MITB attack is an attack that interrupts communication between a terminal user and a Web service to exploit and alter the communication content.
  • Malwares such as ZBot and SpyEye have a MITB attack function, and perform attacks such as manipulation of remittance amount and display of impersonation input form by falsifying communication data by interrupting communication between infected terminal and online bank .
  • Malware such as ZBot employs a mechanism that allows communication data to be targeted by an MITB attack to be specified by a configuration file. Therefore, not only online banking but also an attacker can attack the communication data with the intended Web service.
  • the setting file is installed on a C & C (Command and Control) server, and the malware communicates with the C & C server to acquire the file and grasps the target of the falsification attack and the contents of the falsification.
  • a falsification attack is performed using an API (Application Programming Interface) hook.
  • API Application Programming Interface
  • a tampering attack is performed on communication data before encryption or after decryption. When such an attack is received, the tampering attack cannot be prevented only by protecting the communication path with SSL.
  • Non-Patent Document 1 a method for specifying a C & C server based on a communication data transfer relationship between system calls. This method pays attention to the data passing relationship between system calls that appears only when malware communicates with the C & C server, and has a feature that there are few false detections. However, it cannot be detected if no feature appears in the data transfer relationship between system calls.
  • Non-Patent Document 2 a technique as described in Non-Patent Document 2 has been proposed so far as a malware analysis technique for performing a MITB attack.
  • the technique of Non-Patent Document 2 is excellent in that it can analyze malware without affecting the Web service, and can detect falsification and specify a falsification location. However, it has not been realized until the C & C server specifying the falsification content is specified.
  • An object of the present invention is to provide a detection device, a detection method, and a detection program that can analyze tampering of communication data in detail.
  • the disclosed detection device assigns a tag including attribute information associated with the communication destination information of the communication data to the communication data, and the tag is added.
  • a tracking unit that tracks the propagation of communication data, and if the communication data includes a tag that includes attribute information that is different from the attribute information corresponding to the transmission destination or transmission source of the communication data.
  • a detection unit for detecting is provided.
  • the tampering of communication data can be analyzed in detail.
  • FIG. 1 is a configuration diagram illustrating an outline of a detection device according to the present embodiment.
  • FIG. 2 is a block diagram illustrating the configuration of the virtual computer and the data propagation tracking unit in the detection apparatus according to the present embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a tag according to the present embodiment.
  • FIG. 4 is a diagram illustrating an example of information stored in the communication destination information DB according to the present embodiment.
  • FIG. 5 is a flowchart showing a flow of processing for received data in the tampering detection unit according to the present embodiment.
  • FIG. 6 is a flowchart showing a flow of processing for transmission data in the tampering detection unit according to the present embodiment.
  • FIG. 7 is a diagram illustrating a computer that executes a detection program.
  • FIG. 1 is a configuration diagram illustrating an outline of a detection device according to the present embodiment.
  • the detection device 10 includes a malware execution environment unit 11, an analysis result DB (Data Base) 12, and a C & C server communication destination information DB 13.
  • the processing of each of these units will be described.
  • the malware execution environment unit 11 includes processes 11B and 11C, a guest OS (Operating System) 11D, and a virtual computer 11E.
  • the guest OS 11D is an environment for dynamically analyzing the malware 11A. Further, the malware 11A is executed on the guest OS 11D, and processes 11B and 11C that are attack targets of the malware 11A such as a browser are operated on the guest OS 11D.
  • the virtual computer 11E includes a data propagation tracking unit 110, an instruction monitoring unit 111, a falsification detection unit 112, and a communication destination information DB 113.
  • the data propagation tracking unit 110 attaches a tag to the communication data and tracks the propagation of the communication data.
  • the tag holds attribute information or the like corresponding to the communication destination information.
  • the communication destination information is information such as the IP address of the communication destination, FQDN (Fully Qualified Domain Name), URL (Uniform Resource Locator), and the like.
  • FIG. 3 is a diagram illustrating a configuration example of a tag according to the present embodiment.
  • the tag includes “ID (identification)” and “attribute information”.
  • the attribute information is information corresponding to the communication data transmission source and destination communication destination information.
  • 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.
  • a case will be described in which a tag is attached to received data of 10 bytes received from a communication destination having an IP address “192.168.0.1”.
  • 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”.
  • the first tag includes ID “1” and attribute information “0x1”
  • the second tag includes ID “2” and attribute information “0x1”
  • the third tag is ID “3” and attribute information “0x1” are included.
  • the tenth tag includes ID “10” and attribute information “0x1”.
  • 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.
  • the ID values included in each of the plurality of tags are continuous according to the order of 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.
  • 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.
  • the data propagation tracking unit 110 sets a tag for communication data, transfers attribute information included in the set tag and communication destination information corresponding to the attribute information to the communication destination information DB 113,
  • the propagation of communication data is traced on the virtual machine 11E.
  • the communication destination information DB 113 stores the attribute information transferred from the data propagation tracking unit 110 and the communication destination information in association with each other. Information stored in the communication destination information DB 113 will be described later.
  • the instruction monitoring unit 111 monitors instructions issued in the system. For example, the instruction monitoring unit 111 monitors instructions such as an API (Application Programming Interface) call or a system call issued by the malware 11A.
  • API Application Programming Interface
  • the tampering detection unit 112 detects tampering of communication data when the communication data includes a tag including attribute information different from the attribute information corresponding to the transmission destination or transmission source of the communication data. For example, the tampering detection unit 112 detects tampering based on a tag set in the communication data. 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 communication data transmission destination or transmission source as the falsification content. The contents of falsification are transferred to the analysis result DB 12.
  • the analysis result DB 12 stores analysis results including the contents of falsification transferred from the falsification detection unit 112.
  • 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 destination or transmission source of the communication data as the C & C server. Then, the falsification detection unit 112 transfers the specified communication destination information to the C & C server communication destination information DB 13 as communication destination information of the C & C server.
  • the C & C server communication destination information DB 13 stores the communication destination information of the C & C server transferred from the falsification detection unit 112.
  • FIG. 2 is a block diagram illustrating the configuration of the virtual computer and the data propagation tracking unit in the detection apparatus according to the present embodiment.
  • the virtual computer 11E is software that provides virtual hardware to the guest OS 11D.
  • the virtual machine 11E includes a virtual NIC (Network Interface Card) 114, a virtual disk 115, a virtual HW controller 116, a virtual memory 117, a virtual CPU 118, and the like.
  • NIC Network Interface Card
  • 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 115 on 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
  • a register tag storage area 110F for storing a tag corresponding to the data on the virtual register 118B.
  • 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 communication data to the communication destination information DB 113, and stores the tag in the memory tag storage area 110D.
  • the tag is set to be received data, the data is copied from the virtual NIC 114 to the virtual memory 117, or immediately after an API / system call for receiving data is called (timing to return from the function to the caller). In the case of transmission data, it is the timing at which a legitimate application such as a browser 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.
  • 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.
  • the instruction monitoring unit 111 monitors API calls executed by a regular application such as a browser.
  • 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.
  • 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.
  • the falsification detection unit 112 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 114, thereby detecting falsification of the transmission data, specifying the falsification content, and specifying the C & C server specifying the falsification content.
  • FIG. 4 is a diagram illustrating an example of information stored in the communication destination information DB 113 according to the present embodiment.
  • the communication destination information DB 113 stores attribute information included in a tag, transmission / reception information, and communication destination 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 communication destination information.
  • the communication destination information DB 113 stores attribute information “0x1”, transmission / reception information “R”, and communication destination 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”. Further, the communication destination information DB 113 stores attribute information “0xA”, transmission / reception information “R”, and communication destination 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”.
  • the communication destination information DB 113 associates the attribute information “0x3”, the transmission / reception information “S”, and the communication destination information “192.168.0.1”.
  • the transmission / reception information is different from “R (reception)” on the first line, “S (transmission)”.
  • the communication destination 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 may be variable length data or fixed length data.
  • the communication destination information DB 113 stores attribute information and communication destination information in association with each other because it is possible to detect tampering of communication data.
  • the falsification detection unit 112 refers to the communication destination 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.
  • all the attribute information included in the communication data should match the attribute information acquired from the communication destination information DB 113.
  • the tampering detection unit 112 can detect tampering.
  • the falsification detection unit 112 can specify the communication destination as a C & C server.
  • FIG. 5 is a flowchart showing a flow of processing for received data in the tampering detection unit according to the present embodiment.
  • FIG. 6 is a flowchart showing a flow of processing for transmission data in the tampering detection unit according to the present embodiment.
  • the falsification detection unit 112 first acquires the argument information and the return value recorded by the instruction monitoring unit 111 when calling the API related to data reception (step S101), and corresponds to each received data. A tag is acquired (step S102). Then, when a tag is set in the received data (step S103 Yes), the falsification detection unit 112 starts a falsification attack detection process. On the other hand, when the tag is not set to the received data (No at Step S103), the falsification detecting unit 112 ends the process for the received data.
  • the falsification detection unit 112 first acquires a communication destination from argument information (step S104). Then, the falsification detection unit 112 checks whether or not the tag corresponding to the received data has attribute information other than the attribute information corresponding to the transmission source of the received data (step S105). Here, if there is a tag with attribute information other than the attribute information corresponding to the transmission source of the received data (Yes in step S105), the falsification detection unit 112 determines that a falsification attack has been performed, A process for identifying the location where the falsification attack has been performed is performed (step S106).
  • the alteration detection unit 112 determines that data with a tag other than the attribute information corresponding to the received data from the communication destination has been altered, and registers the alteration content in the analysis result DB 12 (step S107). Then, the falsification detection unit 112 extracts a communication destination associated with the data after falsification from the communication destination information DB 113 (step S108). And when the tag acquired from the communication destination different from the communication destination acquired from the argument information exists (step S109 Yes), the falsification detection unit 112 identifies the communication destination associated with the tag as the C & C server (step S109). S110), the specified communication destination is registered in the C & C server communication destination information DB 13 (step S111).
  • the falsification detection unit 112 checks whether or not the IDs of the tags having the same attribute information have continuous values along the data arrangement order (step S112). This is because the tag IDs are assigned by serial numbers, and therefore, if the order is shifted in the middle, it is determined that a falsification attack by data deletion has been performed.
  • the tampering detection unit 112 determines that a tampering attack due to data deletion has been performed, and the tag ID and received data (inspection data in the analysis result DB12). ) Is recorded (step S113), and the process is terminated.
  • the falsification detection unit 112 proceeds to the process at Step S112. If the IDs of the tags having the same attribute information are continuous values along the data arrangement order (Yes at step S112), the falsification detection unit 112 ends the process for the received data.
  • the falsification detection unit 112 acquires a tag corresponding to the transmission data (step S201), and when the tag exists (step S202 Yes), starts a falsification attack detection process. On the other hand, when the tag is not present in the transmission data (No in step S202), the falsification detection unit 112 ends the process for the transmission data.
  • the falsification detection unit 112 first acquires the transmission destination of transmission data from the header information included in the transmission data (step S203). And it is confirmed whether the tag containing attribute information other than the attribute information corresponding to a transmission destination exists in transmission data (step S204).
  • the falsification detection unit 112 determines that a falsification attack has been performed, A tag including information other than the attribute information corresponding to the transmission destination is extracted (step S205). Then, the falsification detection unit 112 registers the data corresponding to the extracted tag in the analysis result DB 12 as a falsification location (step S206).
  • the falsification detection unit 112 acquires the communication destination from the tag extracted from the communication destination information DB 113 (step S207), and if the communication destination is associated with the tag (step S208 Yes), the communication destination associated with the tag is C & C.
  • the server is specified (step S209).
  • the falsification detection unit 112 registers the specified communication destination in the C & C server communication destination information DB 13 (step S210).
  • the falsification detection unit 112 checks whether or not the IDs of the tags having the same attribute information have continuous values along the data arrangement order (step S211). This is because the tag IDs are assigned by serial numbers, and therefore, if the order is shifted in the middle, it is determined that a falsification attack by data deletion has been performed.
  • the tampering detection unit 112 determines that a tampering attack due to data deletion has been performed, and the tag ID and transmission data (inspection target data) are stored in the analysis result DB12. ) Is recorded (step S212), and the process ends.
  • step S204 No when the tag containing attribute information other than the attribute information corresponding to the transmission destination does not exist in the transmission data (step S204 No), and when the communication destination is not associated with the tag (step S208 No), The falsification detection unit 112 proceeds to the process of step S211. If the IDs of tags having the same attribute information are consecutive along the data arrangement order (Yes in step S211), the falsification detection unit 112 ends the process for the transmission data.
  • the detection apparatus 10 attaches a tag including attribute information associated with the communication destination information of the communication data to the communication data, and tracks the propagation of the communication data to which the tag is attached. . And the detection apparatus 10 detects the tampering of the said communication data, when the tag containing attribute information different from the attribute information corresponding to the transmission destination or transmission origin of the said communication data exists in communication data. According to this, the detection apparatus 10 can analyze tampering of communication data in detail.
  • the C & C server that indicates the falsification contents cannot be identified.
  • a mechanism capable of analyzing the origin of data embedded at the time of tampering after detecting tampering and identifying the contents of tampering has been required. Therefore, in this embodiment, the propagation of data in the analysis system is tracked, and data that should not exist in the data flowing between two specific points is included by applying taint analysis.
  • the C & C server that specified the contents of tampering was specified.
  • each part concerning this embodiment may be introduced into a user terminal.
  • the C & C server identification process 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.
  • communication may be blocked on the VMM (Virtual Machine Monitor) side based on the contents of the C & C server communication destination information DB 13, or an external IPS (Intrusion Prevention System) ) Communication blocking measures may be taken in cooperation with devices.
  • the C & C server is also referred to as a “command server”.
  • each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Further, all or a part of each processing function performed in each device can be realized by a CPU and a program that is analyzed and executed by the CPU, or can be realized as hardware by wired logic.
  • a program described in a language that can be executed by a computer can be created for the processing executed by the detection apparatus 10 described in the above embodiment.
  • a detection program described in a language that can be executed by a computer can be created for the processing executed by the detection apparatus 10 according to the embodiment.
  • the same processing as in the above embodiment may be realized by recording such a detection program on a computer-readable recording medium, and reading and executing the detection program recorded on this recording medium.
  • an example of a computer that executes a detection program that realizes the same function as the detection apparatus 10 illustrated in FIG. 1 will be described.
  • FIG. 7 is a diagram illustrating a computer 1000 that executes a detection program.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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 above detection 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.
  • various data described in the above embodiment is stored as program data in, for example, the memory 1010 or the hard disk drive 1090.
  • 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.
  • program module 1093 and the program data 1094 related to the detection 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.
  • the program module 1093 and the program data 1094 related to the detection program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and via the network interface 1070. May be read by the CPU 1020.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

 検知装置(10)は、通信データに対して、当該通信データの通信先情報に対応づけた属性情報を含むタグを付与し、当該属性情報を含むタグが付与された通信データの伝搬を追跡するデータ伝搬追跡部(110)と、通信データに、当該通信データの送信先、もしくは、送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合には、当該通信データの改ざんを検知する改ざん検知部(112)と、を備えることを特徴とする。

Description

検知装置、検知方法及び検知プログラム
 本発明は、検知装置、検知方法及び検知プログラムに関する。
 近年、MITB(Man-in-the-browser)攻撃機能を具備したマルウェアによるオンラインバンキング詐欺の被害が多発している。MITB攻撃とは、端末の利用者とWebサービス間の通信に割り込んで通信内容を搾取、改ざんする攻撃である。ZBotやSpyEye等のマルウェアはMITB攻撃機能を具備しており、感染端末とオンラインバンクとの間の通信に割り込んで通信データを改ざんすることによって送金金額の操作や偽装入力フォームの表示といった攻撃を行う。
 ZBot等のマルウェアでは、MITB攻撃の対象となる通信データは設定ファイルによって指定できる仕組みが採られている。そのため、オンラインバンキングに限らず、攻撃者は意図したWebサービスとの通信データに対して攻撃を行うことが可能である。設定ファイルはC&C(Command and Control)サーバ上に設置されており、マルウェアは、C&Cサーバと通信して当該ファイルを取得することで改ざん攻撃の対象と改ざん内容を把握する。その後、ZBot等のマルウェアの場合、API(Application Programming Interface)フックを用いて改ざん攻撃を行う。例えば、通信データの送受信に関わるAPIをフックすることで、暗号化前や復号後の通信データに対して改ざん攻撃が行われる。このような攻撃を受けた場合、通信経路をSSLで保護するだけでは改ざん攻撃を防ぐことはできない。
 このような脅威への対策を行う場合、マルウェア感染自体を防ぐことが理想である。しかし、感染攻撃の手口は年々巧妙化しており未然に感染を防ぐことが困難な状況にある。そのため、ユーザ端末がマルウェアに感染することを前提とした対策が不可欠である。
 マルウェア感染後の対策をクライアント側で行う方法は主に2つある。1つは、APIフック等が行われないように攻撃対象となるプロセスを保護する方法、もう1つは、改ざん対象と内容を指定する設定ファイルの取得を阻止する方法である。APIフックを防ぐことができれば、改ざんの発生を未然に防止できる。しかし、マルウェアに感染した状態で確実にそれを実現することは難しい。一方の設定ファイルの取得を阻止する方法の場合、ネットワーク上での対策ができるため、たとえ端末がマルウェアに感染していたとしても対策可能である。ただし、設定ファイルを配布するC&CサーバのIP(Internet Protocol)アドレス等を事前に把握しておかなければならない。
 C&CサーバのIPアドレス等を事前に収集するためには、一般にマルウェア解析が行われる。これまでに、マルウェア解析によってC&Cサーバを自動で特定する手法として、システムコール間の通信データの受け渡し関係に基づいてC&Cサーバを特定する手法が非特許文献1で提案されている。この手法はマルウェアがC&Cサーバと通信する時にのみ現れるシステムコール間のデータの受け渡し関係に着目しており、誤検知が少ないという特徴がある。しかし、システムコール間のデータの受け渡し関係に特徴が表れない場合には検知できない。
 また、これまでに、MITB攻撃を行うマルウェアの解析手法として非特許文献2のような手法が提案されている。非特許文献2の手法はWebサービスに影響を与えることなくマルウェアを分析し、改ざん検知及び改ざん場所の特定ができる点で優れている。しかし、改ざん内容を指定したC&Cサーバの特定までは実現していない。
P. Wurzinger, L. Bilge, T. Holz, J. Goebel, C. Kruegel, and E. Kirda 「Automatically Generating Models for Botnet Detection」In Proceedings of the 14th European Conference on Research in Computer Security 瀬川 達也、神薗 雅紀、星澤 裕二、吉岡 克成、松本 勉 「Man-in-the-Browser攻撃を行うマルウェアの安全な動的解析手法」 電子情報通信学会技術研究報告
 本発明は、通信データの改ざんを詳細に分析することができる検知装置、検知方法及び検知プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するため、開示の検知装置は、通信データに対して、当該通信データの通信先情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡部と、前記通信データに、当該通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、当該通信データの改ざんを検知する検知部とを備えることを特徴とする。
 本願に開示する実施形態によれば、通信データの改ざんを詳細に分析することができるという効果を奏する。
図1は、本実施形態に係る検知装置の概要を示す構成図である。 図2は、本実施形態に係る検知装置における仮想計算機及びデータ伝搬追跡部の構成を示すブロック図である。 図3は、本実施形態に係るタグの構成例を示す図である。 図4は、本実施形態に係る通信先情報DBに記憶される情報の一例を示す図である。 図5は、本実施形態に係る改ざん検知部における受信データに対する処理の流れを示すフローチャートである。 図6は、本実施形態に係る改ざん検知部における送信データに対する処理の流れを示すフローチャートである。 図7は、検知プログラムを実行するコンピュータを示す図である。
 以下に、本願に係る検知装置、検知方法及び検知プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る検知装置、検知方法及び検知プログラムが限定されるものではない。
[実施形態]
 以下の実施形態では、実施形態に係る検知装置の構成及び処理の流れを順に説明し、その後、最後に実施形態による効果を説明する。
[検知装置の構成]
 まず、図1を用いて、検知装置10の構成を説明する。図1は、本実施形態に係る検知装置の概要を示す構成図である。図1に示すように、この検知装置10は、マルウェア実行環境部11、解析結果DB(Data Base)12及びC&Cサーバ通信先情報DB13を有する。以下に、これらの各部の処理を説明する。
 マルウェア実行環境部11は、プロセス11B,11C、ゲストOS(Operating System)11D、及び仮想計算機11Eから構成される。ゲストOS11Dは、マルウェア11Aを動的解析するための環境である。また、マルウェア11Aは、ゲストOS11D上で実行され、ゲストOS11D上ではブラウザなどのマルウェア11Aの攻撃対象となるプロセス11B,11Cを動作させる。
 仮想計算機11Eは、データ伝搬追跡部110、命令監視部111、改ざん検知部112、及び通信先情報DB113から構成される。
 データ伝搬追跡部110は、通信データに対してタグを付与し、通信データの伝搬を追跡する。このとき、通信データの送信先、もしくは送信元を一意に特定するため、タグには通信先情報に対応する属性情報等を保持させる。なお、以下の説明において、送信先及び送信元を総称する場合に、「通信先」と表記する。また、通信先情報とは、例えば、通信先のIPアドレスやFQDN(Fully Qualified Domain Name)、URL(Uniform Resource Locator)等の情報である。
 ここで、図3を用いて、タグの構成例について説明する。図3は、本実施形態に係るタグの構成例を示す図である。図3に示すように、タグは、「ID(identification)」と、「属性情報」とを含む。ここで、属性情報は、通信データの送信元や送信先の通信先情報に対応する情報である。IDは、当該属性情報ごとに連続した値(通番)になるように設定される情報である。すなわち、タグは、属性情報とIDとの組み合わせによって一意に識別可能となる。なお、タグは、例えば、ある通信データに対して所定のデータ長単位ごとに付与される。
 一例として、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」を含む。このように、それぞれのタグは、通番で付与されるIDと、通信先に応じた属性情報とを含む。なお、IPアドレス「192.168.0.1」の通信先から再びデータを受信した場合には、その受信データには、例えば、ID「11」から始まる通番のIDを含む複数のタグが付与される。また、「192.168.0.2」等、上記とは異なるIPアドレスの通信先からデータを受信した場合には、その受信データには、例えば、ID「1」から始まる通番のIDを含む複数のタグが付与される。
 なお、上記のように、本実施形態に係るタグが、通信データに対して所定のデータ長単位で複数付与されるとともに、複数のタグのそれぞれのIDが通番で割り当てられるのは、これによって、通信データの改ざん内容の特定が可能となるからである。例えば、通番で割り当てられていれば、複数のタグのそれぞれに含まれるIDの値は、タグの並び順にしたがって連続している。ところが、複数のタグのそれぞれに含まれるIDの値がタグの並び順にしたがって連続していなければ、改ざん検知部112は、通信データの改ざんを検知するとともに、連続していない付近のデータが改ざんされたことを特定できる。さらに、例えば、IDの番号が無くなっていたり、他のタグが混入していたりすれば、改ざん検知部112は、通信データの書き換えや追記が行われたことを特定できる。また、IDの番号にずれが生じていれば、改ざん検知部112は、その付近のデータが削除されたことを特定できる。
 すなわち、データ伝搬追跡部110は、通信データに対してタグを設定し、設定したタグに含まれる属性情報と、その属性情報に対応する通信先情報とを通信先情報DB113に転送した上で、仮想計算機11E上で通信データの伝搬の追跡を行う。通信先情報DB113は、データ伝搬追跡部110から転送された属性情報と通信先情報とを対応づけて記憶する。なお、通信先情報DB113に記憶される情報については、後述する。
 命令監視部111は、システム内で発行される命令を監視する。例えば、命令監視部111は、マルウェア11Aが実行したAPI(Application Programming Interface)呼び出しやシステムコールの発行といった命令を監視する。
 改ざん検知部112は、通信データに、その通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、通信データの改ざんを検知する。例えば、改ざん検知部112は、通信データに設定されたタグに基づいて改ざんを検知する。そして、改ざん検知部112は、改ざんを検知した場合に、通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグに対応するデータを、改ざん内容として特定し、特定した改ざん内容を解析結果DB12に転送する。解析結果DB12は、改ざん検知部112から転送された改ざん内容をはじめとする解析結果を記憶する。
 また、改ざん検知部112は、改ざんを検知した場合に、通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグに紐付く通信先を、C&Cサーバとして特定する。そして、改ざん検知部112は、特定した通信先情報をC&Cサーバの通信先情報としてC&Cサーバ通信先情報DB13に転送する。C&Cサーバ通信先情報DB13は、改ざん検知部112から転送されたC&Cサーバの通信先情報を記憶する。
 次に、図2を用いて、仮想計算機11Eの構成例について説明する。図2は、本実施形態に係る検知装置における仮想計算機及びデータ伝搬追跡部の構成を示すブロック図である。仮想計算機11Eは、ゲストOS11Dに対して仮想的なハードウェアを提供するソフトウェアである。また、仮想計算機11Eは、仮想NIC(Network Interface Card)114や仮想ディスク115、仮想HWコントローラ116、仮想メモリ117、仮想CPU118などから構成される。
 データ伝搬追跡部110は、データに対してタグを設定してデータの伝搬追跡を行うために、仮想ディスク115上のデータに対応するタグを保存するためのディスクタグ保存領域110A、仮想メモリ117上のデータに対応するタグを保存するためのメモリタグ保存領域110D、仮想レジスタ118B上のデータに対応するタグを保存するためのレジスタタグ保存領域110Fを具備する。
 データ伝搬追跡部110のタグ付与部110Bは、通信データに対して送信元を一意に特定できるタグを設定し、通信先情報DB113に転送した上で、タグをメモリタグ保存領域110Dに保存する。タグを設定するタイミングは、受信データであれば、仮想NIC114から仮想メモリ117に対してデータがコピーされるタイミング、もしくはデータを受信するAPI/システムコールを呼び出した直後(関数から呼び元に戻るタイミング)であり、また、送信データであれば、ブラウザなどの正規のアプリケーションがデータを送信するためのAPI呼び出しやシステムコールを発行するタイミングである。データに設定されたタグは、タグ伝搬部110C(タグ伝搬部A)によってデータの伝搬に合わせて伝搬される。
 タグ伝搬部110Cは、ディスクタグ保存領域110Aとメモリタグ保存領域110Dの間のタグの伝搬を行う。また、タグ伝搬部110E(タグ伝搬部B)は、メモリタグ保存領域110Dとレジスタタグ保存領域110Fとの間やレジスタタグ保存領域110F間のタグの伝搬を行う。
 また、命令監視部111は、ブラウザなどの正規アプリケーションが実行するAPI呼び出しを監視する。正規アプリケーションがデータ受信に関わるAPIを呼び出した場合、呼び出し時に関数の引数を全て記録し、戻り時に改ざん検知部112に通知を行う。また、命令監視部111は、APIがデータ送信に関わるものである場合は呼び出し時にデータ伝搬追跡部110に通知を行う。通知を受け取ったデータ伝搬追跡部110は、タグ付与部110Bで送信データに対してデータの送信先を一意に特定できるタグを設定する。なお、データ受信やデータ送信に関わるAPIは、マルウェア解析者等が解析前に設定する。
 改ざん検知部112は、命令監視部111から通知を受けた後、受信データに対応するタグを確認することで受信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定を行う。更に、改ざん検知部112は、仮想NIC114においてデータ送信時に送信データに対応するタグを確認することによって、送信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定を行う。なお、データ伝搬時において、暗号化/復号処理を実施するAPIに通信データが受信データ/送信データとして渡された場合、当該APIの戻り値に対しても強制的にタグを伝搬させる処理を行っても良い。その際、IDは再度振り直してもよい。
 ここで、図4を用いて、通信先情報DB113に記憶される情報について説明する。図4は、本実施形態に係る通信先情報DB113に記憶される情報の一例を示す図である。図4に示すように、通信先情報DB113は、タグに含まれる属性情報と、送受信情報と、通信先情報とを対応づけて記憶する。この送受信情報は、通信先との通信が受信であるか送信であるかを示す情報であり、例えば、「R」が受信を示し、「S」が送信を示す。なお、図4では、通信先情報としてIPアドレスが記憶される場合を例示する。
 図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」であることを示す。
 なお、図4の3行目に示すように、通信先情報DB113は、属性情報「0x3」と、送受信情報「S」と、通信先情報「192.168.0.1」とを対応づけて記憶する。これは、1行目のIPアドレス「192.168.0.1」と同一のIPアドレスであっても、送受信情報が1行目の「R(受信)」とは異なり「S(送信)」であれば、異なる属性情報「0x3」が付与されることを示す。すなわち、通信先情報DB113において、属性情報は、送受信情報と通信先情報との組み合わせに対して一意に設定される。なお、通信先情報DB113は、必ずしも送受信情報を記憶しなくても良い。この場合、属性情報は、送受信の向きに限らず、通信先ごとに記憶される。また、属性情報は、可変長のデータであっても良いし、固定長のデータであっても良い。
 なお、上記のように、通信先情報DB113が属性情報と通信先の情報とを対応づけて記憶するのは、これによって、通信データの改ざんの検知が可能となるからである。例えば、改ざん検知部112は、通信先情報DB113を参照し、処理対象となる通信データの送信先、もしくは送信元に対応する属性情報を取得する。そして、改ざん検知部112は、通信データに含まれる属性情報を参照し、取得した属性情報と照合する。ここで、改ざんされていなければ、通信データに含まれる全ての属性情報は、通信先情報DB113から取得した属性情報と一致するはずである。一方、一致しなければ、改ざん検知部112は、改ざんを検知することが可能となる。さらに、本来の通信先とは異なる通信先が紐付けられていれば、改ざん検知部112は、その通信先をC&Cサーバとして特定することができる。
[検知装置による処理]
 次に、図5及び図6を用いて、検知装置10における処理の流れを説明する。図5は、本実施形態に係る改ざん検知部における受信データに対する処理の流れを示すフローチャートである。図6は、本実施形態に係る改ざん検知部における送信データに対する処理の流れを示すフローチャートである。
 まず、図5を用いて、改ざん検知部112における受信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定に関する処理を説明する。
 図5に示すように、改ざん検知部112は、最初に、データ受信に関わるAPIの呼び出し時に命令監視部111が記録した引数情報と戻り値を取得し(ステップS101)、各受信データに対応するタグを取得する(ステップS102)。そして、改ざん検知部112は、受信データにタグが設定されている場合には(ステップS103Yes)、改ざん攻撃の検知処理を開始する。一方、改ざん検知部112は、受信データにタグが設定されていない場合には(ステップS103No)、その受信データについての処理を終了する。
 改ざん攻撃の検知処理として、改ざん検知部112は、まず、引数情報から通信先を取得する(ステップS104)。そして、改ざん検知部112は、受信データに対応するタグについて、受信データの送信元に対応する属性情報以外の属性情報がついているか否かを確認する(ステップS105)。ここで、改ざん検知部112は、受信データの送信元に対応する属性情報以外の属性情報がついたタグが存在していた場合には(ステップS105Yes)、改ざん攻撃が行われたと判断して、改ざん攻撃が行われた場所の特定処理を行う(ステップS106)。この場合、改ざん検知部112は、通信先からの受信データに対応する属性情報以外のタグがついているデータが改ざんされていると判断し、解析結果DB12に改ざん内容を登録する(ステップS107)。そして、改ざん検知部112は、通信先情報DB113から改ざん後のデータに紐づく通信先を抽出する(ステップS108)。そして、改ざん検知部112は、引数情報から取得した通信先とは異なる通信先から取得したタグが存在した場合には(ステップS109Yes)、当該タグに紐付く通信先をC&Cサーバとして特定し(ステップS110)、特定した通信先をC&Cサーバ通信先情報DB13に登録する(ステップS111)。
 そして、改ざん検知部112は、同じ属性情報を持つタグのIDがデータの並び順に沿って連続した値になっているか否かを確認する(ステップS112)。これは、タグのIDは通番で割り当てられているため、途中で順番がずれていた場合にはデータ削除による改ざん攻撃が行われたと判断されるからである。ここで、連続した値になっていない場合には(ステップS112No)、改ざん検知部112は、データ削除による改ざん攻撃が行われたと判断し、解析結果DB12にタグのIDと受信データ(検査対象データ)を記録し(ステップS113)、処理を終了する。
 なお、受信データの送信元に対応する属性情報以外の属性情報がついたタグが存在していない場合(ステップS105No)、及び、引数情報から取得した通信先とは異なる通信先から取得したタグが存在しない場合には(ステップS109No)、改ざん検知部112は、ステップS112の処理に移行する。また、同じ属性情報を持つタグのIDがデータの並び順に沿って連続した値になっている場合には(ステップS112Yes)、改ざん検知部112は、その受信データについての処理を終了する。
 次に、図6を用いて、改ざん検知部112における送信データに対する改ざんの検知、改ざん内容の特定、改ざん内容を指定したC&Cサーバの特定に関する処理を説明する。この処理は、仮想NIC114まで到達した送信データに対して行われる。
 図6に示すように、改ざん検知部112は、送信データに対応するタグを取得し(ステップS201)、タグが存在している場合には(ステップS202Yes)、改ざん攻撃の検知処理を開始する。一方、改ざん検知部112は、送信データにタグが存在しない場合には(ステップS202No)、その送信データについての処理を終了する。
 改ざん攻撃の検知処理として、改ざん検知部112は、まず、送信データの送信先を送信データに含まれているヘッダー情報から取得する(ステップS203)。そして、送信先に対応する属性情報以外の属性情報を含むタグが送信データ内に存在しているか否かを確認する(ステップS204)。ここで、改ざん検知部112は、送信先に対応する属性情報以外の属性情報を含むタグが送信データ内に存在している場合には(ステップS204Yes)、改ざん攻撃が行われたと判断して、送信先に対応する属性情報以外を含むタグを抽出する(ステップS205)。そして、改ざん検知部112は、抽出したタグに対応するデータを改ざん箇所として解析結果DB12に登録する(ステップS206)。そして、改ざん検知部112は、通信先情報DB113から抽出したタグから通信先を取得し(ステップS207)、タグに通信先が紐付いていれば(ステップS208Yes)、タグに紐付く通信先をC&Cサーバとして特定する(ステップS209)。そして、改ざん検知部112は、特定した通信先をC&Cサーバ通信先情報DB13に登録する(ステップS210)。
 そして、改ざん検知部112は、同じ属性情報を持つタグのIDがデータの並び順に沿って連続した値になっているか否かを確認する(ステップS211)。これは、タグのIDは通番で割り当てられているため、途中で順番がずれていた場合にはデータ削除による改ざん攻撃が行われたと判断されるからである。ここで、連続した値になっていない場合には(ステップS211No)、改ざん検知部112は、データ削除による改ざん攻撃が行われたと判断し、解析結果DB12にタグのIDと送信データ(検査対象データ)を記録し(ステップS212)、処理を終了する。
 なお、送信先に対応する属性情報以外の属性情報を含むタグが送信データ内に存在していない場合(ステップS204No)、及び、タグに通信先が紐付いていない場合には(ステップS208No)、改ざん検知部112は、ステップS211の処理に移行する。また、同じ属性情報を持つタグのIDがデータの並び順に沿って連続している場合には(ステップS211Yes)、改ざん検知部112は、その送信データについての処理を終了する。
[実施形態の効果]
 上述してきたように、検知装置10は、通信データに対して、当該通信データの通信先情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する。そして、検知装置10は、通信データに、当該通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、当該通信データの改ざんを検知する。これによれば、検知装置10は、通信データの改ざんを詳細に分析することができる。
 例えば、従来の解析手法では、改ざんの検知と改ざん内容の特定は行われていたものの、改ざん内容を指示したC&Cサーバを特定できないという問題があった。C&Cサーバを特定するためには、改ざんの検知と改ざん内容の特定を行った上で、改ざん時に埋め込まれたデータの出自を解析することができる仕組みが求められていた。そこで、本実施形態では、解析システム内でのデータの伝搬を追跡し、特定の2点間を流れるデータの中に本来存在しないはずのデータが含まれていることを、テイント解析を応用して検知し、改ざん検知と改ざん内容の特定だけでなく、改ざん内容を指示したC&Cサーバの特定を実現した。
[その他の実施形態]
 なお、上記の実施形態では、マルウェア実行環境における解析に適用される場合を説明したが、これに限定されるものではない。例えば、本実施形態に係る各部は、ユーザ端末に導入されてもよい。また、本実施形態を利用する際には、改ざん機能を有したマルウェアか否かの判定や改ざん攻撃が発生したことの警告通知のみを目的として、C&Cサーバ特定処理を行わず、改ざん攻撃の検知処理のみを実施してもよい。なお、C&Cサーバ特定処理を実施する際には、C&Cサーバ通信先情報DB13の内容に基づいて、VMM(Virtual Machine Monitor)側で通信の遮断を実施してもよいし、外部IPS(Intrusion Prevention System)装置等と連携して通信遮断の措置をとらせてもよい。なお、C&Cサーバは、「指令サーバ」とも称される。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 また、上記実施形態において説明した検知装置10が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る検知装置10が実行する処理について、コンピュータが実行可能な言語で記述した検知プログラムを作成することもできる。この場合、コンピュータが検知プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる検知プログラムをコンピュータが読み取り可能な記録媒体に記録して、この記録媒体に記録された検知プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図1に示した検知装置10と同様の機能を実現する検知プログラムを実行するコンピュータの一例を説明する。
 図7は、検知プログラムを実行するコンピュータ1000を示す図である。図7に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス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に接続される。
 ここで、図7に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の検知プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
 また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、実行する。
 なお、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 検知装置
 11 マルウェア実行環境部
 11A マルウェア
 11B,11C プロセス
 11D ゲストOS
 11E 仮想計算機
 110 データ伝搬追跡部
 110A ディスクタグ保存領域
 110B タグ付与部
 110C タグ伝搬部A
 110D メモリタグ保存領域
 110E タグ伝搬部B
 110F レジスタタグ保存領域
 111 命令監視部
 112 改ざん検知部
 113 通信先情報DB
 114 仮想NIC
 115 仮想ディスク
 116 仮想HWコントローラ
 117 仮想メモリ
 118 仮想CPU
 118B 仮想レジスタ
 12 解析結果DB
 13 C&Cサーバ通信先情報DB

Claims (8)

  1.  通信データに対して、当該通信データの通信先情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡部と、
     前記通信データに、当該通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、当該通信データの改ざんを検知する検知部と
     を備えることを特徴とする検知装置。
  2.  システム内で発行される命令を監視する命令監視部を更に備え、
     前記検知部は、前記命令監視部によってAPI(Application Programming Interface)呼び出し又はシステムコールが前記命令として検知された場合に、受信データに対して前記改ざんの検知を行うことを特徴とする請求項1に記載の検知装置。
  3.  前記検知部は、仮想NIC(Network Interface Card)に送信データがコピーされるタイミングで、当該送信データに対して前記改ざんの検知を行うことを特徴とする請求項1に記載の検知装置。
  4.  前記検知部は、前記改ざんを検知した場合に、前記異なる属性情報を含むタグに対応するデータを、改ざん内容として特定することを特徴とする請求項1~3のいずれか一つに記載の検知装置。
  5.  前記検知部は、前記改ざんを検知した場合に、前記異なる属性情報を含むタグに紐付く通信先を、C&C(Command and Control)サーバとして特定することを特徴とする請求項1~3のいずれか一つに記載の検知装置。
  6.  前記追跡部は、前記通信データに対して複数のタグを所定のデータ長単位で付与するとともに、当該複数のタグの並び順にしたがって通番のIDをタグに割り当て、
     前記検知部は、通信データに付与されたタグについて、同じ属性情報を含む一連のタグのそれぞれに割り当てられたIDが、前記並び順に沿っていない場合に、前記改ざんを検知することを特徴とする請求項1~3のいずれか一つに記載の検知装置。
  7.  検知装置によって実行される検知方法であって、
     通信データに対して、当該通信データの通信先情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡工程と、
     前記通信データに、当該通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、当該通信データの改ざんを検知する検知工程と
     を含んだことを特徴とする検知方法。
  8.  通信データに対して、当該通信データの通信先情報に対応づけた属性情報を含むタグを付与し、当該タグが付与された通信データの伝搬を追跡する追跡ステップと、
     前記通信データに、当該通信データの送信先もしくは送信元に対応する属性情報とは異なる属性情報を含むタグが存在する場合に、当該通信データの改ざんを検知する検知ステップと
     をコンピュータに実行させることを特徴とする検知プログラム。
PCT/JP2015/068269 2014-06-30 2015-06-24 検知装置、検知方法及び検知プログラム WO2016002605A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US15/320,186 US10412101B2 (en) 2014-06-30 2015-06-24 Detection device, detection method, and detection program
JP2016531302A JP6096389B2 (ja) 2014-06-30 2015-06-24 検知装置、検知方法及び検知プログラム
EP15814747.0A EP3144845B1 (en) 2014-06-30 2015-06-24 Detection device, detection method, and detection program
CN201580033556.3A CN106663176B (zh) 2014-06-30 2015-06-24 检测装置以及检测方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014134055 2014-06-30
JP2014-134055 2014-06-30

Publications (1)

Publication Number Publication Date
WO2016002605A1 true WO2016002605A1 (ja) 2016-01-07

Family

ID=55019147

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/068269 WO2016002605A1 (ja) 2014-06-30 2015-06-24 検知装置、検知方法及び検知プログラム

Country Status (5)

Country Link
US (1) US10412101B2 (ja)
EP (1) EP3144845B1 (ja)
JP (1) JP6096389B2 (ja)
CN (1) CN106663176B (ja)
WO (1) WO2016002605A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216205A1 (ja) * 2017-05-26 2018-11-29 日本電気株式会社 流通履歴管理システム、流通履歴管理装置、方法およびプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102762435B (zh) 2010-02-25 2015-09-30 本田技研工业株式会社 电动动力转向装置
US10176325B1 (en) * 2016-06-21 2019-01-08 Symantec Corporation System and method for dynamic detection of command and control malware
CN108322444B (zh) * 2017-12-29 2021-05-14 山石网科通信技术股份有限公司 命令与控制信道的检测方法、装置和系统
CN108540652B (zh) * 2018-03-15 2019-12-17 北京华大智宝电子系统有限公司 一种安全交互方法及装置
CN108920589B (zh) * 2018-06-26 2021-08-10 百度在线网络技术(北京)有限公司 浏览劫持识别方法、装置、服务器及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006128989A (ja) * 2004-10-28 2006-05-18 Furukawa Electric Co Ltd:The パケット中継装置、パケット中継方法およびパケット中継プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197133A (ja) 1992-12-24 1994-07-15 Toshiba Corp 通信システム
WO2007050244A2 (en) 2005-10-27 2007-05-03 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US9043919B2 (en) * 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
EP2222048A1 (en) 2009-02-24 2010-08-25 BRITISH TELECOMMUNICATIONS public limited company Detecting malicious behaviour on a computer network
JP5316217B2 (ja) 2009-05-19 2013-10-16 ソニー株式会社 データ送信方法および装置、データ通信方法および装置
JP5396314B2 (ja) 2010-03-10 2014-01-22 株式会社日立製作所 不正操作検知システム及び不正操作検知方法
KR101158464B1 (ko) 2010-11-26 2012-06-20 고려대학교 산학협력단 봇 프로세스 탐지 장치 및 방법
KR101086451B1 (ko) * 2011-08-30 2011-11-25 한국전자통신연구원 클라이언트 화면 변조 방어 장치 및 방법
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
CN102855568B (zh) 2012-08-14 2016-06-29 广东汇卡商务服务有限公司 一种防止pos终端非法移机的支付系统及方法
US9225730B1 (en) * 2014-03-19 2015-12-29 Amazon Technologies, Inc. Graph based detection of anomalous activity
US20150271196A1 (en) * 2014-03-20 2015-09-24 International Business Machines Corporation Comparing source and sink values in security analysis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006128989A (ja) * 2004-10-28 2006-05-18 Furukawa Electric Co Ltd:The パケット中継装置、パケット中継方法およびパケット中継プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3144845A4 *
TOMONORI IKUSE ET AL.: "Identifying C&C Server by Analyzing Relation between Control Flow and Communications", IEICE TECHNICAL REPORT, vol. 113, no. 502, 20 March 2014 (2014-03-20), pages 137 - 142, XP055250109 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216205A1 (ja) * 2017-05-26 2018-11-29 日本電気株式会社 流通履歴管理システム、流通履歴管理装置、方法およびプログラム
US11449473B2 (en) 2017-05-26 2022-09-20 Nec Corporation Distribution history management system, distribution history management device, method, and program

Also Published As

Publication number Publication date
CN106663176B (zh) 2020-03-10
EP3144845B1 (en) 2019-04-03
CN106663176A (zh) 2017-05-10
US20170126715A1 (en) 2017-05-04
JPWO2016002605A1 (ja) 2017-04-27
EP3144845A4 (en) 2017-11-29
US10412101B2 (en) 2019-09-10
EP3144845A1 (en) 2017-03-22
JP6096389B2 (ja) 2017-03-15

Similar Documents

Publication Publication Date Title
JP6096389B2 (ja) 検知装置、検知方法及び検知プログラム
JP5972401B2 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
EP3200115B1 (en) Specification device, specification method, and specification program
US8805995B1 (en) Capturing data relating to a threat
US20150205962A1 (en) Behavioral analytics driven host-based malicious behavior and data exfiltration disruption
US8782791B2 (en) Computer virus detection systems and methods
US9548990B2 (en) Detecting a heap spray attack
JP5989936B2 (ja) 特定装置、特定方法および特定プログラム
EP2642715A1 (en) Method and system for malicious code detection
US9916443B1 (en) Detecting an attempt to exploit a memory allocation vulnerability
US9584550B2 (en) Exploit detection based on heap spray detection
US10972490B2 (en) Specifying system, specifying device, and specifying method
CN106685899B (zh) 用于识别恶意访问的方法和设备
WO2012103646A1 (en) Determining the vulnerability of computer software applications to privilege-escalation attacks
US11693961B2 (en) Analysis of historical network traffic to identify network vulnerabilities
Kumar et al. A zero-day resistant malware detection method for securing cloud using SVM and sandboxing techniques
CN106416178A (zh) 用于识别自主的、自传播的软件的方法和设备
JP6258189B2 (ja) 特定装置、特定方法および特定プログラム
WO2017028459A1 (zh) 程序监控方法和装置
US20160210474A1 (en) Data processing apparatus, data processing method, and program
WO2015178002A1 (ja) 情報処理装置、情報処理システム及び通信履歴解析方法
US20190294795A1 (en) Threat Detection System
WO2020161780A1 (ja) 行動計画推定装置、行動計画推定方法、及びコンピュータ読み取り可能な記録媒体
US20220245249A1 (en) Specific file detection baked into machine learning pipelines
CN114363006A (zh) 基于WinRM服务的防护方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15814747

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016531302

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015814747

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015814747

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15320186

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE