WO2020075518A1 - 探索装置、探索方法及び探索プログラム - Google Patents

探索装置、探索方法及び探索プログラム Download PDF

Info

Publication number
WO2020075518A1
WO2020075518A1 PCT/JP2019/037895 JP2019037895W WO2020075518A1 WO 2020075518 A1 WO2020075518 A1 WO 2020075518A1 JP 2019037895 W JP2019037895 W JP 2019037895W WO 2020075518 A1 WO2020075518 A1 WO 2020075518A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
unit
destination
communication data
fingerprint
Prior art date
Application number
PCT/JP2019/037895
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 US17/282,778 priority Critical patent/US11924243B2/en
Priority to EP19871873.6A priority patent/EP3848834B1/en
Publication of WO2020075518A1 publication Critical patent/WO2020075518A1/ja

Links

Images

Classifications

    • 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/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • 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/1433Vulnerability analysis

Definitions

  • the present invention relates to a search device, a search method, and a search program.
  • the attacker establishes an arbitrary attack by operating the host infected with the created malware through a malicious server such as a C & C (Command and Control) server.
  • a malicious server such as a C & C (Command and Control) server.
  • C & C Common and Control
  • detection and blocking of communication using a blacklist of a malicious server are performed.
  • Non-Patent Document 1 a method of searching for a malicious server to be listed on the blacklist, a method of sending a probe packet to the server and determining whether the server is malicious from the response to the probe packet is known (for example, See Non-Patent Document 1).
  • the conventional technology has a problem that it may not be possible to efficiently search for a malicious server. Since an attacker may avoid searching by preparing multiple servers and switching the server to be used in a short period of time, it is necessary to efficiently search and update the list of malicious servers. Technology may not be able to perform an efficient search.
  • Non-Patent Document 1 because narrowing down of candidates for a malicious server is insufficient, it is not possible to immediately send a probe packet to a server that has begun to be used as a malicious server, or a server that is no longer malicious due to switching. It is possible to send more probe packets to
  • the method described in Non-Patent Document 1 uses a method that refers to header information for fingerprint generation and attaches importance to a specific protocol. Therefore, other protocols including a protocol unique to malware are used. It becomes impossible to find a malicious server to communicate with. Therefore, the method described in Non-Patent Document 1 may reduce the efficiency of searching for a malicious server.
  • the search device from the communication data obtained by executing known malware, the first communication data corresponding to the request and the first communication data corresponding to the request.
  • An extraction unit that extracts a fingerprint that is a combination of the second communication data, an assignment unit that assigns a priority to the fingerprint according to the malignancy of the malware, and the first unit that is included in the fingerprint.
  • a determination unit that determines the destination of the search from the destinations, and the search determined by the determination unit
  • a sending unit that sends out the probe generated by the generating unit to the destination of the elephant in the order according to the priority given by the giving unit, and a response to the probe sent by the sending unit is
  • a determination unit that determines whether or not the destination of the search target is malicious based on whether or not the signature generated by the generation unit matches.
  • FIG. 1 is a diagram illustrating an example of the configuration of the search device according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of malicious communication data according to the first embodiment.
  • FIG. 3 is a diagram showing an example of the fingerprint according to the first embodiment.
  • FIG. 4 is a diagram illustrating an example of the configuration of the search unit according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a search target server according to the first embodiment.
  • FIG. 6 is a flowchart showing the flow of the entire processing of the search device according to the first embodiment.
  • FIG. 7 is a flowchart showing the flow of the search process according to the first embodiment.
  • FIG. 8 is a diagram illustrating an example of a computer that executes a search program.
  • FIG. 1 is a diagram illustrating an example of the configuration of the search device according to the first embodiment.
  • the search device 10 includes an input / output unit 11, a communication unit 12, a storage unit 13, and a control unit 14.
  • the input / output unit 11 receives input of data and outputs data.
  • the input / output unit 11 includes an input device such as a mouse and a keyboard.
  • the input / output unit 11 includes a display device such as a display.
  • the communication unit 12 also performs data communication with other devices via the network.
  • the communication unit 12 is a NIC (Network Interface Card).
  • the storage unit 13 is a storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), and optical disk.
  • the storage unit 13 may be a rewritable semiconductor memory such as RAM (Random Access Memory), flash memory, NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 13 stores an OS (Operating System) and various programs executed by the search device 10. Further, the storage unit 13 stores various information used in executing the program.
  • the storage unit 13 also has a fingerprint storage unit 131.
  • the storage unit 13 also stores the traffic data 132, the AS information 133, and the white list 134.
  • the search device 10 receives an input of the malicious communication data 20.
  • the malicious communication data 20 is data of communication that occurs when known malware is executed in the sandbox environment.
  • the search device 10 outputs the malicious server list 30.
  • the malicious server list 30 is a list of malicious servers represented by IP addresses and the like.
  • the malicious communication data 20 is the header and payload of IP packets transmitted and received in communication.
  • FIG. 2 is a diagram illustrating an example of malicious communication data according to the first embodiment. As shown in FIG. 2, the malicious communication data 20 includes “data ID”, “malware ID”, “session ID”, “protocol”, “source IP”, “destination IP”, “source port”. , "Destination port”, "payload”, etc. are included.
  • each record of the malicious communication data 20 in FIG. 2 corresponds to an IP packet.
  • the “data ID” is an ID for identifying each record of the malicious communication data 20.
  • the “malware ID” is an ID for identifying the malware that has generated the IP packet corresponding to each record.
  • the “session ID” is an ID for identifying the session in which the IP packet has occurred.
  • the “protocol” is the protocol of the transport layer of the IP packet.
  • the “source IP” is the IP address of the source of the IP packet.
  • the “destination IP” is the IP address of the destination of the IP packet.
  • the “source port” is the port number of the source of the IP packet.
  • the “destination port” is the port number of the destination of the IP packet.
  • the “payload” is the payload of the IP packet.
  • the malware whose “malware ID” is “M01” is “TCP” in the session whose “session ID” is “a001”.
  • “Source IP” is "192.0.10.101”
  • “Destination IP” is "192.0.20.201”
  • “Source port” is “50000”
  • “Destination port” is “80”
  • “Payload” is " "1011011001 " Is generated.
  • FIG. 3 is a diagram showing an example of the fingerprint according to the first embodiment.
  • the fingerprint is a combination of communications having a request and a response in the malicious communication data 20.
  • the fingerprint is identified by the “request ID” and the “response ID”.
  • the “request ID” and the “response ID” correspond to the “data ID” of the malicious communication data 20. That is, since the combination of the “request ID” and the “response ID” of the fingerprint on the first line of FIG. 3 is “1” and “2”, the fingerprint has the “data ID” of FIG. 2 of “1”. It is a combination of an IP packet and an IP packet whose “data ID” is “2”. Further, each of the “request ID” and the “response ID” may include a plurality of “data IDs”.
  • the record in the first line of FIG. 3 is a finger that uses an IP packet with a “data ID” of “1” in the malicious communication data 20 as a request and an IP packet with a “data ID” of “2” as a response. Represents a print.
  • Numberer of discoveries is the number of malicious servers discovered so far using the fingerprint.
  • the “risk level” is the risk level of the known malware that is the generation source of the fingerprint.
  • the “priority” is the priority of the fingerprint. The method of giving the “priority” will be described later.
  • the traffic data 132 is a log of communication on a large-scale real network that is not a sandbox.
  • the traffic data 132 includes information on the source and destination of data in communication.
  • the traffic data 132 may be 5-tuple information of an IP packet, or may be statistical information such as the communication amount of each flow.
  • the AS (Autonomous System) information 133 is information on malignancy for each AS.
  • the white list 134 is a list of servers known not to be malicious and is represented by an IP address or the like.
  • the control unit 14 controls the search device 10 as a whole.
  • the control unit 14 is, for example, an electronic circuit such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) and an FPGA (Field Programmable Gate Array).
  • the control unit 14 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory. Further, the control unit 14 functions as various processing units by operating various programs.
  • the control unit 14 includes an extraction unit 141, an assignment unit 142, a generation unit 143, and a search unit 144.
  • the extraction unit 141 extracts a fingerprint, which is a combination of first communication data corresponding to the request and second communication data corresponding to the response to the request, from the communication data obtained by executing the known malware. Extract.
  • the extraction unit 141 collectively extracts a request response set, which is a combination of the first communication data and the second communication data, in a predetermined unit.
  • the request / response set extracted here is a candidate for the fingerprint.
  • the extraction unit 141 extracts the combination of the first communication data and the second communication data for each session.
  • the extraction unit 141 extracts the combination of the first communication data and the second communication data in flow units.
  • the flow unit is the same unit of “source IP”, “destination IP”, “source port”, and “source port”.
  • the extraction unit 141 may collectively extract the data of the communication that has occurred until the communication is opened for a predetermined time (for example, 1 second) or more.
  • the extraction unit 141 selects a plurality of combinations among the combinations of the first communication data and the second communication data in which the destination included in the first communication data is not listed in the preset white list 134. , And extract one or more fingerprints from each cluster. For example, when the IP address “192.0.40.201” is included in the white list 134, the extraction unit 141 does not extract the record whose “data ID” is “31” in FIG. In addition, the extraction unit 141 performs clustering based on the value of each item of the malicious communication data 20, that is, the header information and the payload of the IP packet. By performing clustering based on the payload in this way, the extraction unit 141 can generate a fingerprint that does not depend on the protocol.
  • the assigning unit 142 assigns a priority to the fingerprint according to the malignancy of the malware.
  • the assigning unit 142 can assign the priority based on the "risk" of the fingerprint as shown in FIG. Further, the assigning unit 142 assigns a higher priority to the fingerprint as the number of times the search unit 144 determines that the fingerprint is malicious. The determination process by the search unit 144 will be described later. In the example of FIG. 3, the assigning unit 142 calculates the priority by a specific calculation formula based on the “risk level” and the “discovery number”.
  • the generation unit 143 generates a probe, which is a request based on the first communication data included in the fingerprint, and a signature based on the second communication data included in the fingerprint.
  • the probe is an IP packet.
  • the generation unit 143 uses the IP packet with the “destination IP” of “192.0.20.201” and the “destination port” of “80” from the record with the “data ID” of “1” in FIG. Is generated as a probe.
  • the payload of the probe may be the payload of the IP packet itself corresponding to the first communication data, or may be the payload of the IP packet corresponding to the first communication data modified. Good.
  • the generation unit 143 can use the payload of the IP packet corresponding to the second communication data as the signature. Further, the generation unit 143 may generate the signature by replacing a part of the payload of the IP packet corresponding to the second communication data with a regular expression or the like.
  • the search unit 144 searches for a malicious server using the probe and the signature.
  • the search unit 144 also generates and outputs a malicious server list 30 that is a list of discovered malicious servers.
  • the search unit 144 includes an AS evaluation unit 144a, a determination unit 144b, a research unit 144c, a transmission unit 144d, and a determination unit 144e.
  • FIG. 4 is a diagram illustrating an example of the configuration of the search unit according to the first embodiment. Further, in the following description, the server to which the search unit 144 sends the probe may be simply called the destination.
  • the deciding unit 144b decides the destination of the search from the destinations based on the information about the communication of the destinations. For example, the determining unit 144b can determine a destination included in an AS whose malignancy for each AS evaluated by the AS evaluating unit 144a is equal to or higher than a predetermined threshold as a destination to be searched.
  • FIG. 5 is a diagram illustrating an example of a search target server according to the first embodiment.
  • the server 51 in FIG. 5 is a C & C server, and is a server known to be malicious.
  • the traffic data 132 indicates that communication is being performed between the server 51 and the server 52 on which the bot is executed by malware. Further, the traffic data 132 is assumed to indicate that communication is being performed between the server 52 and the server 53. In this case, since the server 53 is 2 hop ahead of the server 51, the determination unit 144b determines the server 53 as the destination of search.
  • the determination unit 144b may determine the search target as a range. For example, the determination unit 144b determines both the 1-hop destination and the 2-hop destination, that is, the 2-hop destination or less, as the search range from the destination known to be malicious.
  • the deciding unit 144b may decide the destination of 2 hops from the destinations where the malignancy for each AS is equal to or higher than a predetermined threshold and is known to be malignant as the destination of search.
  • the determining unit 144b can determine the search order in the descending order of malignancy of each AS with respect to the destination of the search.
  • the determination unit 144b refers to external information such as BGP (Border Gateway Protocol) route information and holds the prefix including the destination IP address of the malicious communication data 20 and the destination IP address of the malicious communication data 20.
  • BGP Border Gateway Protocol
  • the search target and the search order may be determined such that another IP address held by the organization is preferentially searched.
  • the investigation unit 144c investigates whether or not the port to which the probe is sent is open. For example, the investigation unit 144c can investigate the destination port by using the existing port scanning technology.
  • the sending unit 144d sends the probe generated by the generating unit 143 to the destination of the search target determined by the determining unit 144b in the order according to the priority assigned by the assigning unit 142.
  • the sending unit 144d sends the probe generated by the generating unit according to the search order.
  • FIG. 6 is a flowchart showing the flow of the entire processing of the search device according to the first embodiment.
  • the search device 10 receives an input of the malicious communication data 20 (step S11).
  • the search device 10 extracts a request response set from the malicious communication data 20 (step S12).
  • the search device 10 excludes a normal request / response pair (step S13).
  • the normal request / response pair is a request / response pair whose destination is included in the whitelist 134 among the extracted request / response pairs.
  • the search device 10 performs clustering of the request / response set and extracts a fingerprint from each cluster (step S14).
  • the search device 10 assigns a priority based on the risk degree (step S15) and the number of discoveries (step S16) of each fingerprint.
  • the search device 10 performs the search process (step S17) and outputs the malicious server list 30 in which the result of the search process is reflected (step S18).
  • FIG. 7 is a flowchart showing the flow of the search process according to the first embodiment.
  • the search process is a process corresponding to step S17 in FIG.
  • the search device 10 sends the probe to the destination (step S175).
  • the search device 10 determines whether or not the response to the transmitted probe matches the signature (step S176).
  • the search device 10 adds the transmission destination to the malicious server list 30 (step S177).
  • the search device 10 ends the process without adding the transmission destination to the malicious server list 30.
  • the search device 10 sets the transmission destination to the malicious server as in the case where the response does not match the signature. The process ends without adding to the list 30.
  • the search device 10 extracts the first communication data corresponding to the request and the second communication data corresponding to the response from the communication data obtained by executing the known malware.
  • the search device 10 gives the fingerprint a priority corresponding to the malignancy of the malware.
  • the search device 10 determines the destination of the search from the destinations based on the information regarding the communication of the destinations. Further, the search device 10 generates a probe, which is a request based on the first communication data included in the fingerprint, and a signature based on the second communication data included in the fingerprint.
  • the search device 10 sends out the probes to the determined destinations to be searched in the order according to the given priority. Further, the search device 10 determines whether or not the transmission destination of the search target is malicious based on whether or not the response to the transmitted probe matches the signature.
  • Non-Patent Document 1 a signature adapted to a specific protocol such as HTTP is generated.
  • the search device 10 can generate a fingerprint without depending on the protocol, and can efficiently search for a malicious server.
  • the search device 10 selects, from among combinations of the first communication data and the second communication data, a combination in which the destination included in the first communication data is not listed in the preset white list 134. It classifies into multiple clusters based on the payload and extracts the fingerprint from each cluster independent of the protocol. As a result, it is possible to exclude a server that is clearly not malignant from the search target and improve the efficiency of the search.
  • the search device 10 gives a higher priority to the fingerprint as the number of times it is determined that the fingerprint is malicious. As a result, it is possible to prioritize the fingerprint search, which has a high possibility of finding a malicious server, based on past results.
  • the search device 10 determines, based on the traffic data 132 collected from the outside, the destination of 2 hops from the destination known to be malicious as the destination of search.
  • a server that is highly likely to be malicious can be the search target.
  • another malicious server which is a communication destination of a client infected with malware, exists 2 hops away from the C & C server which is a malicious server.
  • the search device 10 determines the destinations included in the ASs whose malignancy for each AS based on the discovery status of the malicious destinations is equal to or higher than a predetermined threshold as the destinations to be searched. As a result, an AS that is expected to have many malicious servers can be the search target.
  • the search device 10 determines the search order for the destinations to be searched in descending order of malignancy for each AS. At this time, the search device 10 sends out the probes in the search order. This allows the malicious server to be found earlier.
  • each component of each device illustrated is a functional concept and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution and integration of each device is not limited to the illustrated one, and all or a part thereof may be functionally or physically distributed or Can be integrated and configured. Further, all or any part of each processing function performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
  • the search device 10 can be implemented by installing a search program that executes the above-described malicious server search as package software or online software in a desired computer. For example, by causing the information processing device to execute the above-described search program, the information processing device can be caused to function as the search device 10.
  • the information processing apparatus referred to here includes a desktop or notebook personal computer.
  • the information processing apparatus includes a mobile communication terminal such as a smartphone, a mobile phone, and a PHS (Personal Handyphone System), and a slate terminal such as a PDA (Personal Digital Assistant).
  • the search device 10 can also be implemented as a search server device that uses a terminal device used by a user as a client and provides the client with a service related to the search for the malicious server.
  • the search server device is implemented as a server device that provides a search service in which malicious communication data is input and a malicious server list is output.
  • the search server device may be implemented as a Web server, or may be implemented as a cloud that provides a service related to the above-mentioned malicious server search by outsourcing.
  • FIG. 8 is a diagram illustrating an example of a computer that executes a search program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 has 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 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094. That is, the program that defines each process of the search device 10 is implemented as the program module 1093 in which the code executable by the computer is described.
  • the program module 1093 is stored in, for example, the hard disk drive 1090.
  • the hard disk drive 1090 stores a program module 1093 for executing the same processing as the functional configuration of the search device 10. Note that the hard disk drive 1090 may be replaced by an SSD.
  • the program module 1093 and the program data 1094 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 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

探索装置(10)は、既知のマルウェアの通信データから、リクエストに対応する第1の通信データと、レスポンスに対応する第2の通信データと、の組み合わせであるフィンガープリントをプロトコル非依存で抽出する。探索装置(10)は、フィンガープリントに対し、マルウェアの悪性度に応じた優先度を付与する。探索装置(10)は、送出先の中から探索対象の送出先を決定する。探索装置(10)は、フィンガープリントの第1の通信データに基づくプローブと、フィンガープリントの第2の通信データのペイロードに基づくシグネチャと、を生成する。探索装置(10)は、探索対象の送出先に対し、優先度に応じた順序でプローブを送出する。探索装置(10)は、レスポンス及びシグネチャを基に送出先が悪性であるか否かを判定する。

Description

探索装置、探索方法及び探索プログラム
 本発明は、探索装置、探索方法及び探索プログラムに関する。
 サイバー攻撃において、攻撃者は、作成したマルウェアを感染させたホストをC&C(Command and Control)サーバ等の悪性サーバを通じて操作することで、任意の攻撃を成立させる。このような攻撃に対する防護策として、悪性サーバのブラックリストを用いた通信の検知及び遮断が行われている。
 また、ブラックリストに掲載する悪性サーバを探索する方法として、プローブパケットをサーバに送出し、当該プローブパケットに対するレスポンスから当該サーバが悪性であるか否かを判断する方法が知られている(例えば、非特許文献1を参照)。
Antonio Nappa, Zhaoyan Xu, M. Zubair Rafique, Juan Caballero, and Guofei Gu. CyberProbe: Towards Internet-Scale Active Detection of Malicious Servers. Proceedings of NDSS, pp.23-26, February 2014.
 しかしながら、従来の技術には、悪性サーバの探索を効率的に行うことができない場合があるという問題がある。攻撃者は、複数のサーバを用意し、短期間に使用するサーバを切り替えることで探索を回避する場合があるため、効率的に探索して悪性サーバのリストを更新する必要があるが、従来の技術では効率的な探索を行うことができないことがある。
 例えば、非特許文献1に記載の方法では、悪性サーバの候補の絞り込みが不十分なため、悪性として使用され始めたサーバにすぐにプローブパケットを送信できないことや、切り替えにより既に悪性でなくなったサーバに対してもプローブパケットをより多く送信することが考えられる。また、非特許文献1に記載の方法は、フィンガープリントの生成にヘッダの情報を参照し、特定のプロトコルを重視する方式をとっているため、マルウェア独自のプロトコルを含む、その他のプロトコルを用いて通信を行う悪性サーバの発見が不可能になる。このため、非特許文献1に記載の方法では、悪性サーバの探索の効率が低下することがある。
 上述した課題を解決し、目的を達成するために、探索装置は、既知のマルウェアを実行して得た通信データから、リクエストに対応する第1の通信データと、当該リクエストに対するレスポンスに対応する第2の通信データと、の組み合わせであるフィンガープリントを抽出する抽出部と、前記フィンガープリントに対し、前記マルウェアの悪性度に応じた優先度を付与する付与部と、前記フィンガープリントに含まれる前記第1の通信データに基づくリクエストであるプローブと、前記フィンガープリントに含まれる前記第2の通信データに基づくシグネチャと、をプロトコル非依存で生成する生成部と、送出先の通信に関する情報を基に、前記送出先の中から探索対象の送出先を決定する決定部と、前記決定部によって決定された探索対象の送出先に対し、前記付与部によって付与された優先度に応じた順序で、前記生成部によって生成されたプローブを送出する送出部と、前記送出部によって送出されたプローブに対するレスポンスが、前記生成部によって生成されたシグネチャにマッチするか否かを基に、前記探索対象の送出先が悪性であるか否かを判定する判定部と、を有することを特徴とする。
 本発明によれば、悪性サーバの探索を効率的に行うことができる。
図1は、第1の実施形態に係る探索装置の構成の一例を示す図である。 図2は、第1の実施形態に係る悪性通信データの一例を示す図である。 図3は、第1の実施形態に係るフィンガープリントの一例を示す図である。 図4は、第1の実施形態に係る探索部の構成の一例を示す図である。 図5は、第1の実施形態に係る探索対象のサーバの一例を示す図である。 図6は、第1の実施形態に係る探索装置の処理全体の流れを示すフローチャートである。 図7は、第1の実施形態に係る探索処理の流れを示すフローチャートである。 図8は、探索プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願に係る探索装置、探索方法及び探索プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
 まず、図1を用いて、第1の実施形態に係る探索装置の構成について説明する。図1は、第1の実施形態に係る探索装置の構成の一例を示す図である。図1に示すように、探索装置10は、入出力部11、通信部12、記憶部13及び制御部14を有する。
 入出力部11は、データの入力の受け付け、及びデータの出力を行う。例えば、入出力部11は、マウスやキーボード等の入力装置を含む。また、例えば、入出力部11は、ディスプレイ等の表示装置を含む。また、通信部12は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部12はNIC(Network Interface Card)である。
 記憶部13は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部13は、探索装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部13は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部13は、フィンガープリント記憶部131を有する。また、記憶部13は、トラヒックデータ132、AS情報133及びホワイトリスト134を記憶する。
 ここで、図1に示すように、探索装置10は、悪性通信データ20の入力を受け付ける。悪性通信データ20は、既知のマルウェアをサンドボックス環境で実行した際に発生する通信のデータである。また、探索装置10は、悪性サーバリスト30を出力する。悪性サーバリスト30は、IPアドレス等によって表される悪性サーバの一覧である。
 例えば、悪性通信データ20は、通信において送受信されたIPパケットのヘッダ及びペイロードである。図2は、第1の実施形態に係る悪性通信データの一例を示す図である。図2に示すように、悪性通信データ20には、「データID」、「マルウェアID」、「セッションID」、「プロトコル」、「送信元IP」、「送信先IP」、「送信元ポート」、「送信先ポート」及び「ペイロード」等が含まれる。
 ここで、図2の悪性通信データ20の各レコードは、それぞれIPパケットに対応しているものとする。「データID」は、悪性通信データ20の各レコードを識別するためのIDである。また、「マルウェアID」は、各レコードに対応するIPパケットを発生させたマルウェアを識別するためのIDである。
 また、「セッションID」は、IPパケットが発生したセッションを識別するためのIDである。また、「プロトコル」は、IPパケットのトランスポート層のプロトコルである。また、「送信元IP」は、IPパケットの送信元のIPアドレスである。また、「送信先IP」は、IPパケットの送信先のIPアドレスである。また、「送信元ポート」は、IPパケットの送信元のポート番号である。また、「送信先ポート」は、IPパケットの送信先のポート番号である。また、「ペイロード」は、IPパケットのペイロードである。
 例えば、図2の「データID」が「1」のレコードは、「マルウェアID」が「M01」であるマルウェアが、「セッションID」が「a001」であるセッションにおいて、「プロトコル」が「TCP」、「送信元IP」が「192.0.10.101」、「送信先IP」が「192.0.20.201」、「送信元ポート」が「50000」、「送信先ポート」が「80」、「ペイロード」が「1011011001…」であるIPパケットを発生させたことを示している。
 ここで、図3を用いて、フィンガープリント記憶部131に記憶されるフィンガープリントについて説明する。図3は、第1の実施形態に係るフィンガープリントの一例を示す図である。フィンガープリントは、悪性通信データ20において、要求(リクエスト)と応答(レスポンス)の関係にある通信の組み合わせである。
 図3に示すように、フィンガープリントは、「リクエストID」及び「レスポンスID」によって識別される。ここで、「リクエストID」及び「レスポンスID」は、悪性通信データ20の「データID」に対応している。つまり、図3の1行目のフィンガープリントの「リクエストID」と「レスポンスID」の組み合わせは「1」と「2」なので、当該フィンガープリントは、図2の「データID」が「1」であるIPパケットと「データID」が「2」であるIPパケットとの組み合わせである。また、「リクエストID」及び「レスポンスID」には、それぞれ複数の「データID」が含まれていてもよい。
 例えば、図3の1行目のレコードは、悪性通信データ20における「データID」が「1」であるIPパケットをリクエストとし、「データID」が「2」であるIPパケットをレスポンスとするフィンガープリントを表している。
 「発見数」は、当該フィンガープリントを用いてこれまでに発見された悪性サーバの数である。また、「危険度」は、当該フィンガープリントの生成元である既知のマルウェアの危険度である。また、「優先度」は、当該フィンガープリントの優先度である。「優先度」の付与方法については後述する。
 トラヒックデータ132は、サンドボックスではない大規模な実ネットワークでの通信のログである。トラヒックデータ132は、通信におけるデータの送信元及び送信先の情報を含む。例えば、トラヒックデータ132は、IPパケットの5-Tupleの情報であってもよいし、フローごとの通信量等の統計情報であってもよい。AS(Autonomous System)情報133は、ASごとの悪性度の情報である。ホワイトリスト134は、悪性でないことが既知のサーバの一覧であり、IPアドレス等によって表される。
 制御部14は、探索装置10全体を制御する。制御部14は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部14は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部14は、抽出部141、付与部142、生成部143及び探索部144を有する。
 抽出部141は、既知のマルウェアを実行して得た通信データから、リクエストに対応する第1の通信データと、当該リクエストに対するレスポンスに対応する第2の通信データと、の組み合わせであるフィンガープリントを抽出する。
 例えば、抽出部141は、図2の「データID」が「1」のレコードと「データID」が「2」のレコードとの組み合わせであるフィンガープリントを取得する。このとき、図2の「データID」が「1」のレコードは、第1の通信データの一例である。また、図2の「データID」が「2」のレコードは、第2の通信データの一例である。また、図3の1行目のレコードは、フィンガープリントの一例である。
 まず、抽出部141は、第1の通信データ及び第2の通信データの組み合わせである要求応答組を、所定の単位でまとめて抽出する。ここで抽出された要求応答組は、フィンガープリントの候補である。例えば、図2の「プロトコル」が「TCP」である場合、抽出部141は、セッション単位で第1の通信データ及び第2の通信データの組み合わせを抽出する。また、例えば、図2の「プロトコル」が「UDP」である場合、抽出部141は、フロー単位で第1の通信データ及び第2の通信データの組み合わせを抽出する。
 ここで、フロー単位は、「送信元IP」、「送信先IP」、「送信元ポート」、「送信元ポート」同一の単位である。また、抽出部141は、通信の間が所定の時間(例えば、1秒)以上開くまでの間に発生した通信のデータをまとめて抽出してもよい。
 また、抽出部141は、第1の通信データと第2の通信データの組み合わせのうち、第1の通信データに含まれる送信先が、あらかじめ設定されたホワイトリスト134に掲載されていない組み合わせを複数のクラスタに分類し、各クラスタからフィンガープリントを1つ以上抽出する。例えば、IPアドレス「192.0.40.201」がホワイトリスト134に含まれている場合、抽出部141は、図2の「データID」が「31」のレコードを抽出しない。また、抽出部141は、悪性通信データ20の各項目の値、すなわちIPパケットのヘッダ情報及びペイロードを基にクラスタリングを行う。このようにペイロードを基にクラスタリングを行うことで、抽出部141は、プロトコルに依存しないフィンガープリントを生成することができる。
 付与部142は、フィンガープリントに対し、マルウェアの悪性度に応じた優先度を付与する。付与部142は、図3に示すような、フィンガープリントの「危険度」に基づいて優先度を付与することができる。また、付与部142は、フィンガープリントに対し、探索部144によって悪性であることが判定された回数が多いほど大きい優先度を付与する。探索部144による判定処理については後述する。図3の例では、付与部142は、「危険度」や「発見数」を基に特定の計算式で優先度を算出する。
 生成部143は、フィンガープリントに含まれる第1の通信データに基づくリクエストであるプローブと、フィンガープリントに含まれる第2の通信データに基づくシグネチャと、を生成する。
 ここで、プローブは、IPパケットであるものとする。このとき、例えば、生成部143は、図2の「データID」が「1」のレコードから、「送信先IP」が「192.0.20.201」、「送信先ポート」が「80」であるIPパケットをプローブとして生成する。また、当該プローブのペイロードは、第1の通信データに対応するIPパケットのペイロードそのものであってもよいし、第1の通信データに対応するIPパケットのペイロードに変更を加えたものであってもよい。
 また、生成部143は、第2の通信データに対応するIPパケットのペイロードをシグネチャとすることができる。また、生成部143は、第2の通信データに対応するIPパケットのペイロードの一部を正規表現に置き換えること等によってシグネチャを生成してもよい。
 探索部144は、プローブ及びシグネチャを用いて悪性サーバの探索を行う。また、探索部144は、発見した悪性サーバの一覧である悪性サーバリスト30を生成し出力する。ここで、図4に示すように、探索部144は、AS評価部144a、決定部144b、調査部144c、送出部144d及び判定部144eを有する。図4は、第1の実施形態に係る探索部の構成の一例を示す図である。また、以降の説明で、探索部144がプローブを送出するサーバを単に送出先と呼ぶ場合がある。
 AS評価部144aは、悪性の送出先の発見状況に基づくASごとの悪性度を評価する。例えば、AS評価部144aは、ASごとの悪性のサーバの数を悪性度としてもよいし、ASごとのサーバの総数に対する悪性のサーバの割合を悪性度としてもよい。また、ASごとの過去の悪性サーバの発見数は、AS情報133として記憶部13に記憶されているものとする。なお、AS情報133は、探索装置10によって発見された悪性サーバの情報に基づいて作成されたものであってもよいし、あらかじめ外部から取得したものであってもよい。
 決定部144bは、送出先の通信に関する情報を基に、送出先の中から探索対象の送出先を決定する。例えば、決定部144bは、AS評価部144aによって評価されたASごとの悪性度が、所定の閾値以上であるASに含まれる送出先を探索対象の送出先に決定することができる。
 決定部144bは、外部から収集したトラヒックデータ132に基づき、悪性であることが既知の送出先から2hop先の送出先を探索対象の送出先に決定する。図5は、第1の実施形態に係る探索対象のサーバの一例を示す図である。図5のサーバ51は、C&Cサーバであり、悪性であることが既知のサーバである。
 ここで、トラヒックデータ132は、サーバ51とマルウェアによりbotが実行されているサーバ52との間で通信が行われていることを示しているものとする。さらに、トラヒックデータ132は、サーバ52とサーバ53との間で通信が行われていることを示しているものとする。この場合、サーバ53はサーバ51の2hop先にあるため、決定部144bは、サーバ53を探索対象の送出先に決定する。
 また、決定部144bは、探索対象を範囲として決定してもよい。例えば、決定部144bは、悪性であることが既知の送出先から1hop先及び2hop先の両方、すなわち2hop先以内を探索範囲に決定する。
 また、決定部144bは、ASごとの悪性度が、所定の閾値以上、かつ悪性であることが既知の送出先から2hop先の送出先を探索対象の送出先に決定してもよい。また、決定部144bは、探索対象の送出先に対し、ASごとの悪性度が大きい順に探索順序を決定することができる。
 さらに、決定部144bは、BGP(Border Gateway Protocol)経路情報等の外部の情報を参照し、悪性通信データ20の送信先IPアドレスが含まれるプレフィックスや、悪性通信データ20の送信先IPアドレスを保持する組織が保持する他のIPアドレスが優先的に探索されるように、探索対象及び探索順序を決定してもよい。
 調査部144cは、プローブの送出先のポートが開いているか否かを調査する。例えば、調査部144cは、既存のポートスキャン技術を用いて送出先のポートを調査することができる。
 送出部144dは、決定部144bによって決定された探索対象の送出先に対し、付与部142によって付与された優先度に応じた順序で、生成部143によって生成されたプローブを送出する。また、決定部144bによって探索順序が決定されている場合、送出部144dは、探索順序に従って生成部によって生成されたプローブを送出する。
 また、調査部144cの調査により、プローブの送出先のポートが開いていないことが判明している場合、送出部144dは、当該プローブを送出せずに次のプローブの送出処理に移行することができる。
 判定部144eは、送出部144dによって送出されたプローブに対するレスポンスが、生成部143によって生成されたシグネチャにマッチするか否かを基に、探索対象の送出先が悪性であるか否かを判定する。例えば、判定部144eは、レスポンスのIPパケットのペイロードがシグネチャに完全一致又は部分一致する場合にレスポンスがシグネチャにマッチすると判定してもよい。また、判定部144eは、レスポンスのIPパケットのペイロードとシグネチャとの一致度合いが閾値以上である場合にレスポンスがシグネチャにマッチすると判定してもよい。
[第1の実施形態の処理]
 図6を用いて、探索装置10の処理の流れを説明する。図6は、第1の実施形態に係る探索装置の処理全体の流れを示すフローチャートである。図6に示すように、まず、探索装置10は、悪性通信データ20の入力を受け付ける(ステップS11)。次に、探索装置10は、悪性通信データ20から要求応答組を抽出する(ステップS12)。
 ここで、探索装置10は、正常な要求応答組を除外する(ステップS13)。なお、正常な要求応答組とは、抽出した要求応答組のうち、送信先がホワイトリスト134に含まれる要求応答組である。そして、探索装置10は、要求応答組のクラスタリングを行い、各クラスタからフィンガープリントを抽出する(ステップS14)。
 そして、探索装置10は、各フィンガープリントの危険度(ステップS15)及び発見数(ステップS16)に基づいて優先度を付与する。ここで、探索装置10は、探索処理(ステップS17)を行い、探索処理の結果を反映させた悪性サーバリスト30を出力する(ステップS18)。
 図7を用いて、探索装置10による探索処理について説明する。図7は、第1の実施形態に係る探索処理の流れを示すフローチャートである。また、探索処理は、図6のステップS17に対応する処理である。
 まず、図7に示すように、探索装置10は、フィンガープリントからプローブ及びシグネチャを生成する(ステップS171)。次に、探索装置10は、サーバの探索範囲を決定する(ステップS172)。また、探索装置10は、サーバの探索順序を決定する(ステップS173)。そして、探索装置10は、送出先のポートが開いているか否かを調査する(ステップS174)。
 そして、探索装置10は、送出先にプローブを送出する(ステップS175)。このとき、探索装置10は、送出したプローブに対する応答がシグネチャにマッチするか否かを判定する(ステップS176)。応答がシグネチャにマッチする場合(ステップS176、Yes)、探索装置10は、送出先を悪性サーバリスト30に追加する(ステップS177)。一方、応答がシグネチャにマッチしない場合(ステップS176、No)、探索装置10は、送出先を悪性サーバリスト30に追加せずに処理を終了する。また、探索装置10は、ステップS175においてプローブを送出した後に、応答が返って来なかった場合(例えば、タイムアウトが発生した場合)、応答がシグネチャにマッチしない場合と同様に、送出先を悪性サーバリスト30に追加せずに処理を終了する。
[第1の実施形態の効果]
 これまで説明してきたように、探索装置10は、既知のマルウェアを実行して得た通信データから、リクエストに対応する第1の通信データと、当該リクエストに対するレスポンスに対応する第2の通信データと、の組み合わせであるフィンガープリントを抽出する。また、探索装置10は、フィンガープリントに対し、マルウェアの悪性度に応じた優先度を付与する。また、探索装置10は、送出先の通信に関する情報を基に、送出先の中から探索対象の送出先を決定する。また、探索装置10は、フィンガープリントに含まれる第1の通信データに基づくリクエストであるプローブと、フィンガープリントに含まれる第2の通信データに基づくシグネチャと、を生成する。また、探索装置10は、決定した探索対象の送出先に対し、付与した優先度に応じた順序で、プローブを送出する。また、探索装置10は、送出したプローブに対するレスポンスが、シグネチャにマッチするか否かを基に、探索対象の送出先が悪性であるか否かを判定する。
 このように、探索装置10は、悪性サーバを発見する可能性が高いフィンガープリントによる探索を優先し、かつ、悪性である可能性が高いサーバを探索対象としている。このため、探索装置10によれば、悪性サーバの探索を効率的に行うことができる。
 また、非特許文献1に記載の方法では、例えばHTTPのような特定のプロトコルに適合したシグネチャが生成される。これに対し、探索装置10は、プロトコルに依存せずにフィンガープリントを生成することができ、悪性サーバの探索を効率化することができる。
 また、探索装置10は、第1の通信データと第2の通信データの組み合わせのうち、第1の通信データに含まれる送信先が、あらかじめ設定されたホワイトリスト134に掲載されていない組み合わせを、ペイロードを基に複数のクラスタに分類し、プロトコルに非依存で各クラスタからフィンガープリントを抽出する。これにより、悪性でないことが明らかなサーバを探索対象から除外し、探索を効率化することができる。
 また、探索装置10は、フィンガープリントに対し、悪性であることが判定された回数が多いほど大きい優先度を付与する。これにより、過去の実績に基づき、悪性サーバを発見する可能性が高いフィンガープリントによる探索を優先することができる。
 また、探索装置10は、外部から収集したトラヒックデータ132に基づき、悪性であることが既知の送出先から2hop先の送出先を探索対象の送出先に決定する。これにより、悪性である可能性が高いサーバを探索対象とすることができる。特に、悪性サーバであるC&Cサーバから2hop先には、マルウェアに感染したクライアントの通信先である他の悪性サーバが存在する可能性がある。
 また、探索装置10は、悪性の送出先の発見状況に基づくASごとの悪性度が、所定の閾値以上であるASに含まれる送出先を探索対象の送出先に決定する。これにより、悪性サーバが多く存在することが予想されるASを探索対象とすることができる。
 また、探索装置10は、探索対象の送出先に対し、ASごとの悪性度が大きい順に探索順序を決定する。このとき、探索装置10は、探索順序に従ってプローブを送出する。これにより、悪性サーバをより早く発見することが可能になる。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、探索装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の悪性サーバの探索を実行する探索プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の探索プログラムを情報処理装置に実行させることにより、情報処理装置を探索装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、探索装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の悪性サーバの探索に関するサービスを提供する探索サーバ装置として実装することもできる。例えば、探索サーバ装置は、悪性通信データを入力とし、悪性サーバリストを出力とする探索サービスを提供するサーバ装置として実装される。この場合、探索サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の悪性サーバの探索に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図8は、探索プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、探索装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、探索装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 探索装置
 11 入出力部
 12 通信部
 13 記憶部
 14 制御部
 20 悪性通信データ
 30 悪性サーバリスト
 131 フィンガープリント記憶部
 132 トラヒックデータ
 133 AS情報
 134 ホワイトリスト
 141 抽出部
 142 付与部
 143 生成部
 144 探索部
 144a AS評価部
 144b 決定部
 144c 調査部
 144d 送出部
 144e 判定部

Claims (8)

  1.  既知のマルウェアを実行して得た通信データから、リクエストに対応する第1の通信データと、当該リクエストに対するレスポンスに対応する第2の通信データと、の組み合わせであるフィンガープリントを抽出する抽出部と、
     前記フィンガープリントに対し、前記マルウェアの悪性度に応じた優先度を付与する付与部と、
     前記フィンガープリントに含まれる前記第1の通信データに基づくリクエストであるプローブと、前記フィンガープリントに含まれる前記第2の通信データに基づくシグネチャと、を生成する生成部と、
     送出先の通信に関する情報を基に、前記送出先の中から探索対象の送出先を決定する決定部と、
     前記決定部によって決定された探索対象の送出先に対し、前記付与部によって付与された優先度に応じた順序で、前記生成部によって生成されたプローブを送出する送出部と、
     前記送出部によって送出されたプローブに対するレスポンスが、前記生成部によって生成されたシグネチャにマッチするか否かを基に、前記探索対象の送出先が悪性であるか否かを判定する判定部と、
     を有することを特徴とする探索装置。
  2.  前記抽出部は、前記第1の通信データと前記第2の通信データの組み合わせのうち、前記第1の通信データに含まれる送信先が、あらかじめ設定されたホワイトリストに掲載されていない組み合わせをペイロードを基に複数のクラスタに分類し、プロトコルに非依存で各クラスタから前記フィンガープリントを抽出することを特徴とする請求項1に記載の探索装置。
  3.  前記付与部は、前記フィンガープリントに対し、前記判定部によって悪性であることが判定された回数が多いほど大きい優先度を付与することを特徴とする請求項1に記載の探索装置。
  4.  前記決定部は、外部から収集したトラヒックデータに基づき、悪性であることが既知の送出先から2hop先の送出先を探索対象の送出先に決定することを特徴とする請求項1に記載の探索装置。
  5.  前記決定部は、悪性の送出先の発見状況に基づくAS(Autonomous System)ごとの悪性度が、所定の閾値以上であるASに含まれる送出先を探索対象の送出先に決定することを特徴とする請求項1に記載の探索装置。
  6.  前記決定部は、探索対象の送出先に対し、前記ASごとの悪性度が大きい順に探索順序を決定し、
     前記送出部は、前記探索順序に従って前記生成部によって生成されたプローブを送出することを特徴とする請求項5に記載の探索装置。
  7.  コンピュータによって実行される探索方法であって、
     既知のマルウェアを実行して得た通信データから、リクエストに対応する第1の通信データと、当該リクエストに対するレスポンスに対応する第2の通信データと、の組み合わせであるフィンガープリントを抽出する抽出工程と、
     前記フィンガープリントに対し、前記マルウェアの悪性度に応じた優先度を付与する付与工程と、
     前記フィンガープリントに含まれる前記第1の通信データに基づくリクエストであるプローブと、前記フィンガープリントに含まれる前記第2の通信データに基づくシグネチャと、を生成する生成工程と、
     送出先の通信に関する情報を基に、前記送出先の中から探索対象の送出先を決定する決定工程と、
     前記決定工程によって決定された探索対象の送出先に対し、前記付与工程によって付与された優先度に応じた順序で、前記生成工程によって生成されたプローブを送出する送出工程と、
     前記送出工程によって送出されたプローブに対するレスポンスが、前記生成工程によって生成されたシグネチャにマッチするか否かを基に、前記探索対象の送出先が悪性であるか否かを判定する判定工程と、
     を含むことを特徴とする探索方法。
  8.  コンピュータを、請求項1から6のいずれか1項に記載の探索装置として機能させるための探索プログラム。
PCT/JP2019/037895 2018-10-10 2019-09-26 探索装置、探索方法及び探索プログラム WO2020075518A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/282,778 US11924243B2 (en) 2018-10-10 2019-09-26 Search device, search method, and search program
EP19871873.6A EP3848834B1 (en) 2018-10-10 2019-09-26 Search device, search method, and search program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018192103A JP7020362B2 (ja) 2018-10-10 2018-10-10 探索装置、探索方法及び探索プログラム
JP2018-192103 2018-10-10

Publications (1)

Publication Number Publication Date
WO2020075518A1 true WO2020075518A1 (ja) 2020-04-16

Family

ID=70165245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/037895 WO2020075518A1 (ja) 2018-10-10 2019-09-26 探索装置、探索方法及び探索プログラム

Country Status (4)

Country Link
US (1) US11924243B2 (ja)
EP (1) EP3848834B1 (ja)
JP (1) JP7020362B2 (ja)
WO (1) WO2020075518A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019575A (zh) * 2020-10-22 2020-12-01 腾讯科技(深圳)有限公司 数据包处理方法、装置、计算机设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229127A (ja) * 2013-05-23 2014-12-08 日本電信電話株式会社 ファイル監視周期算出装置、ファイル監視周期算出システム、ファイル監視周期算出方法及びファイル監視周期算出プログラム
JP2015179416A (ja) * 2014-03-19 2015-10-08 日本電信電話株式会社 ブラックリスト拡充装置、ブラックリスト拡充方法およびブラックリスト拡充プログラム
JP2016146114A (ja) * 2015-02-09 2016-08-12 株式会社日立システムズ ブラックリストの管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8302191B1 (en) * 2009-03-13 2012-10-30 Symantec Corporation Filtering malware related content
US10721244B2 (en) * 2014-03-19 2020-07-21 Nippon Telegraph And Telephone Corporation Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
US10462158B2 (en) * 2014-03-19 2019-10-29 Nippon Telegraph And Telephone Corporation URL selection method, URL selection system, URL selection device, and URL selection program
US20160127408A1 (en) * 2014-10-31 2016-05-05 NxLabs Limited Determining vulnerability of a website to security threats

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229127A (ja) * 2013-05-23 2014-12-08 日本電信電話株式会社 ファイル監視周期算出装置、ファイル監視周期算出システム、ファイル監視周期算出方法及びファイル監視周期算出プログラム
JP2015179416A (ja) * 2014-03-19 2015-10-08 日本電信電話株式会社 ブラックリスト拡充装置、ブラックリスト拡充方法およびブラックリスト拡充プログラム
JP2016146114A (ja) * 2015-02-09 2016-08-12 株式会社日立システムズ ブラックリストの管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANTONIO NAPPAZHAOYAN XUM. ZUBAIR RAFIQUEJUAN CABALLEROGUOFEI GU: "CyberProbe: Towards Internet-Scale Active Detection of Malicious Servers", PROCEEDINGS OF NDSS, February 2014 (2014-02-01), pages 23 - 26
See also references of EP3848834A4
SHINOMIYA, KAZUMA : "Response Signature Generation method for Detecting Malicious Destinations", IEICE TECHNICAL REPORT, vol. 117, no. 481 (ICSS2017-77), 28 February 2018 (2018-02-28), pages 157 - 160, XP009526899, ISSN: 0913-5685 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019575A (zh) * 2020-10-22 2020-12-01 腾讯科技(深圳)有限公司 数据包处理方法、装置、计算机设备以及存储介质
CN112019575B (zh) * 2020-10-22 2021-01-29 腾讯科技(深圳)有限公司 数据包处理方法、装置、计算机设备以及存储介质

Also Published As

Publication number Publication date
JP7020362B2 (ja) 2022-02-16
EP3848834B1 (en) 2023-03-22
EP3848834A1 (en) 2021-07-14
US11924243B2 (en) 2024-03-05
JP2020060978A (ja) 2020-04-16
EP3848834A4 (en) 2022-06-15
US20210392145A1 (en) 2021-12-16

Similar Documents

Publication Publication Date Title
US10270744B2 (en) Behavior analysis based DNS tunneling detection and classification framework for network security
JP4490994B2 (ja) ネットワークセキュリティデバイスにおけるパケット分類
US10516694B1 (en) Hierarchical mitigation of denial of service attacks on communication networks
KR102585874B1 (ko) Sdn네트워크에서 라우팅 제어 장치 및 방법
US11190542B2 (en) Network session traffic behavior learning system
WO2019168192A1 (ja) 通信制御装置、通信制御方法および通信制御プログラム
Chatterjee et al. Evidence fusion for malicious bot detection in IoT
WO2018019010A1 (zh) 动态行为分析方法、装置、系统及设备
WO2020075518A1 (ja) 探索装置、探索方法及び探索プログラム
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
JP6538618B2 (ja) 管理装置及び管理方法
US8661102B1 (en) System, method and computer program product for detecting patterns among information from a distributed honey pot system
Miao et al. Automated big traffic analytics for cyber security
JP6708575B2 (ja) 分類装置、分類方法および分類プログラム
Schnitzler et al. We built this circuit: Exploring threat vectors in circuit establishment in Tor
JP6669679B2 (ja) 分類装置、分類方法及び分類プログラム
Rostami et al. Analysis and detection of P2P botnet connections based on node behaviour
US10771391B2 (en) Policy enforcement based on host value classification
Germanus et al. Pass: an address space slicing framework for p2p eclipse attack mitigation
Gokcen A Preliminary Study for Identifying NAT Traffic Using Machine Learning
JP2017200152A (ja) 通信制限範囲特定装置、通信制御装置、通信装置、通信システム、通信制限範囲特定方法、及びプログラム
JP2017076841A (ja) 監視装置および監視方法
KR100602920B1 (ko) 컴퓨터 네트워크상에서 악성 봇과 웜의 탐지에 이용되는탐지척도의 자동 선정 방법
RU2820803C1 (ru) Способ и система туннелирования трафика в распределенной сети
Zhou et al. A stochastic worm model

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019871873

Country of ref document: EP

Effective date: 20210406

NENP Non-entry into the national phase

Ref country code: DE