WO2015107861A1 - 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム - Google Patents

情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム Download PDF

Info

Publication number
WO2015107861A1
WO2015107861A1 PCT/JP2014/084690 JP2014084690W WO2015107861A1 WO 2015107861 A1 WO2015107861 A1 WO 2015107861A1 JP 2014084690 W JP2014084690 W JP 2014084690W WO 2015107861 A1 WO2015107861 A1 WO 2015107861A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
terminal
phase
information processing
activity
Prior art date
Application number
PCT/JP2014/084690
Other languages
English (en)
French (fr)
Inventor
和弘 小出
慶治 道根
Original Assignee
株式会社Pfu
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 株式会社Pfu filed Critical 株式会社Pfu
Priority to JP2015557758A priority Critical patent/JP6097849B2/ja
Priority to CN201480073245.5A priority patent/CN105917348B/zh
Publication of WO2015107861A1 publication Critical patent/WO2015107861A1/ja
Priority to US15/208,937 priority patent/US10277614B2/en

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
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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

Definitions

  • the present invention relates to a technique for managing terminals connected to a network.
  • Patent Document 1 and 2 Conventionally, as a method for analyzing traffic, a method has been proposed in which a concern index value is assigned to a flow between hosts on a network, and an alarm is issued when the accumulated concern index value exceeds a threshold (Patent Document 1 and 2).
  • Non-Patent Documents 1 and 2 Various methods for detecting a so-called drive-by download attack by analyzing traffic have been proposed (see Non-Patent Documents 1 and 2).
  • the present disclosure aims to reduce false detection or oversight of malware infection.
  • An example of the present disclosure is a comparison unit that compares communication performed by a terminal connected to a network with a pre-stored pattern, and the degree to which the terminal is assumed to be performing illegal activities according to the result of the comparison.
  • a determination means for determining whether or not the terminal is performing an illegal activity based on the information processing apparatus.
  • the present disclosure can be grasped as an information processing apparatus, a system, a method executed by a computer, or a program executed by a computer.
  • the present disclosure can also be understood as a program recorded on a recording medium readable by a computer, other devices, machines, or the like.
  • a computer-readable recording medium refers to a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like.
  • the information processing apparatus, method, and program according to the present disclosure when the information processing apparatus, method, and program according to the present disclosure are implemented in a system for discovering a terminal that is performing an unauthorized activity on a network and taking measures such as communication interruption and alert notification The embodiment will be described.
  • the information processing apparatus, method, and program according to the present disclosure can be widely used for technologies for detecting unauthorized activities on the network, and the application target of the present disclosure is the example shown in the present embodiment. It is not limited to.
  • FIG. 1 is a schematic diagram illustrating a configuration of a system 1 according to the present embodiment.
  • the system 1 according to the present embodiment includes a network segment 2 to which a plurality of information processing terminals 90 (hereinafter referred to as “node 90”) are connected, a network monitoring device 20 for monitoring communication related to the node 90, Is provided. Further, the management server 50 is connected to the network segment 2 via the router 10 so as to be communicable.
  • the network monitoring device 20 is connected to a monitoring port (mirror port) of a switch or a router (in the example shown in FIG. 1), thereby transmitting packets and frames transmitted and received by the node 90. get. In this case, the network monitoring device 20 operates in a passive mode in which the acquired packet is not transferred.
  • the management server 50 collects information from the network monitoring device 20 and manages the network monitoring device 20.
  • the external network may be further provided with a quarantine server, which may provide a quarantine service to the node 90 connected to the network segment 2, or a business server may be provided for the business operation to the node 90. May be provided (not shown).
  • various servers connected from the node 90 are connected at remote locations via the Internet or a wide area network, and are provided by, for example, ASP (Application Service Provider).
  • the server does not necessarily have to be connected to a remote location.
  • these servers may be connected to a local network where the node 90 and the network monitoring device 20 exist.
  • FIG. 2 is a diagram illustrating a hardware configuration of the network monitoring device 20 and the management server 50 according to the present embodiment.
  • the network monitoring device 20 and the management server 50 are respectively a CPU (Central Processing Unit) 11a, 11b, a RAM (Random Access Memory) 13a, 13b, a ROM (Read Only Memory) 12a, 12b, and an EEPROM (Electrically Friendly Energy).
  • the computer includes storage devices 14a and 14b such as Memory (HDD) and HDD (Hard Disk Drive), and communication units such as NIC (Network Interface Card) 15a and 15b.
  • HDD Memory
  • HDD Hard Disk Drive
  • NIC Network Interface Card
  • FIG. 3 is a diagram showing an outline of a functional configuration of the network monitoring apparatus 20 according to the present embodiment.
  • the network monitoring device 20 reads the program recorded in the storage device 14a into the RAM 13a and executes it by the CPU 11a, whereby the communication acquisition unit 21, the communication blocking unit 22, the application detection engine 23, and the protocol anomaly detection engine. 24 and an information processing apparatus including the malware behavior detection engine 25.
  • the malware behavior detection engine 25 includes a comparison unit 251, an evaluation value acquisition unit 252, a correction unit 253, a determination unit 254, a holding unit 255, a summation unit 256, a determination unit 257, and a correlation analysis unit 258.
  • each function provided in the network monitoring device 20 is executed by the CPU 11a, which is a general-purpose processor. However, some or all of these functions may be executed by one or more dedicated processors. . Some or all of these functions may be executed by a device installed at a remote value or a plurality of devices installed in a distributed manner using cloud technology or the like.
  • the communication acquisition unit 21 acquires communication transmitted and received by a terminal connected to the network.
  • the “terminal” to be monitored and detected by the network monitoring device 20 includes the node 90 connected to the network segment 2 and other devices that communicate with the node 90 via the router 10. (Nodes belonging to other networks, external servers, etc.).
  • the communication blocking unit 22 blocks communication by the terminal.
  • a countermeasure is taken to block communication of the terminal.
  • the coping method when it is determined is not limited to the interruption of communication.
  • the network monitoring device 20 may notify an alert (warning) when it is determined that the terminal is performing an unauthorized activity, or cure the terminal performing an unauthorized activity (for example, malware Removal or vulnerability removal).
  • the application detection engine 23 is an engine that detects that an application used by malware and unnecessary for business is communicating on the network. For example, a known RAT (Remote Access Trojan), P2P (Peer to Peer) By detecting communication by an application, Tor (The Onion Router), UltraSurf (Proxy tool), anonymous proxy, or the like, it is detected that an application unnecessary for business is operating in the node 90.
  • RAT Remote Access Trojan
  • P2P Peer to Peer
  • Tor The Onion Router
  • UltraSurf Proxy tool
  • anonymous proxy or the like
  • the protocol anomaly detection engine 24 is an engine that detects communication that does not conform to the protocol on the network, and includes, for example, an HTTP anomaly detection engine, an SSL / TLS anomaly detection engine, a DNS anomaly detection engine, and the like.
  • the protocol anomaly detection engine 24 detects a node 90 that performs communication that does not comply with the protocol on the network by detecting communication that does not comply with these protocols.
  • the malware behavior detection engine 25 evaluates the commonality between communication on the network and “malware-specific communication patterns” for each phase of malicious activity by malware defined in the malware activity transition model, and the malware activity.
  • the engine detects the malware infection in the node 90 by analyzing the behavior (behavior) of the malware by monitoring the transition state of the phase.
  • FIG. 4 is a diagram showing a malware activity transition model used by the malware behavior detection engine 25 of the present embodiment.
  • the phase P1 to the phase P8 are defined in the malware activity transition model shown in the present embodiment, this is an example used in the present embodiment, and the malware activity transition model is described in the embodiment. It may be changed accordingly.
  • each phase in the malware activity transition model according to the present embodiment will be described.
  • Phase P1 exploits vulnerabilities in OS and applications triggered by the intrusion phase, that is, attachments to targeted attack emails, clicks on email URLs, URLs on websites (mainly SNS sites), etc. This is a phase in which malicious content (also called malicious code, attack code, exploit, etc.) that is infected is dropped.
  • the transition destination from phase P1 is phase P2, phase P4, or phase P8 when an autonomous malware such as a worm invades, and phase P2 or phase P4 for a bot-type malware.
  • Phase P2 is a search phase, that is, a search phase for infected terminals having vulnerability.
  • Phase P3 is an infection / infiltration phase (diffusion phase), that is, a phase in which an attack code is sent to a vulnerable target to be infected or an attack code is sent from another terminal to be infected.
  • the infection / infiltration phase the attack code is sent to the target terminal through the already infected terminal, and the terminal to which the attack code is sent is infected with malware.
  • spreading activities are performed using the Windows-registered OS MS-RPC and file sharing vulnerabilities.
  • infection activity malware diffusion activity
  • the transition destination from phase P3 is phase P4 or phase P8 in the case of autonomous malware such as a worm, and phase P4 in the case of bot-type malware.
  • the infection / infiltration phase has two aspects. One is a phase in which the infection source terminal executes an infection activity. The other is a phase in which an attack code is sent and infected as a victim (infection destination) terminal.
  • Phase P4 is an executable file download phase, that is, after an attack code is sent, the malware downloads the executable file from the malware distribution site or an already infected terminal and activates it, or an anti-virus product.
  • This is a phase in which new malware is downloaded from a designated site in accordance with a command from an attacker (via a C & C server) for the purpose of avoiding detection of malware by the user and adding new functions.
  • HTTP, FTP, and TFTP are mainly used for downloading the malware main body. In some cases, malware-specific protocols are used.
  • the transition destination from phase P4 is phase P5 or P6 in the case of remote operation type malware such as bots, and is usually phase P2 or phase P8 in the case of autonomous malware such as worms.
  • Phase P5 is a C & C search phase, that is, a phase in which a C & C server for receiving a command from an attacker is searched.
  • Malware that transitions to this phase is mainly remote operation type malware such as bots.
  • Malware usually incorporates FQDNs of multiple C & C servers and performs address resolution using DNS queries.
  • C & C nodes are searched using the P2P protocol (general purpose or proprietary protocol).
  • Malware of the type whose IP address is hard-coded does not work during this phase.
  • the transfer destination from phase P5 is phase P6.
  • Phase P6 is a C & C communication (including Internet connection confirmation) phase, that is, in order to receive commands from attackers and report (response) the execution results of commands, connect to the C & C server to send and receive data. This is the phase to perform.
  • malware that checks the Internet connection before connecting to the C & C server. For connection with the C & C server, either an IP address that has been successfully resolved in phase P5 or an IP address that is hard-coded by malware is used.
  • the malware activity receives a command from the C & C server, it shifts from phase P6 to phase P2, phase P4, or phase P8 according to the command from the attacker. The execution result is notified to the attacker via the C & C server.
  • the malware fails to connect to the C & C server, it tries again with a different IP address. If it still fails, it returns to phase P5 to search for another C & C server, or the activity itself Stop. In addition, the existence of malware that repeatedly reconnects until a successful connection has been reported. Also, if an abnormality occurs in the C & C communication path and recovery is not possible, the malware activity moves to phase P5. Further, there is malware that performs an operation of changing the C & C server for a certain period of time, and in this case, the malware activity shifts to phase P5. Phase P6 includes a phase in which instructions from the attacker are waiting.
  • the malware periodically accesses the C & C server, maintains the communication path, and waits for an instruction from the attacker.
  • Phase P7 is an exploitation information upload phase, that is, a phase in which information obtained by the activity of malware or the like is uploaded to an attacker's server or the like.
  • Phase P8 is an attack activity phase, that is, a phase in which various attack activities are performed in accordance with an instruction from an attacker (bot system) or an attack code (worm system) incorporated in the malware itself.
  • an activity corresponding to phase P1 may be performed.
  • the attack activity includes a DoS attack, a spam mail attack, a Web attack (Web falsification), a springboard, and the like.
  • the malware behavior detection engine 25 includes a comparison unit 251, an evaluation value acquisition unit 252, a correction unit 253, a determination unit 254, a holding unit 255, a summation unit 256, a determination unit 257, and a correlation analysis unit 258 (see FIG. 3). ), The transition state of the activity phase of the malware defined as described above is monitored, and the malware infection in the node 90 is detected.
  • each functional unit included in the malware behavior detection engine 25 will be described.
  • the comparison unit 251 includes communication newly acquired by the communication acquisition unit 21 (in this embodiment, a packet newly acquired and subjected to processing; hereinafter referred to as “input packet”), and communication stored in advance. Compare the pattern.
  • the communication pattern unique communication patterns that appear as a result of various activities of malware are defined in advance.
  • a plurality of communication patterns are defined in advance for each phase of the malware activity transition model, and are held by the network monitoring device 20 or the management server.
  • the phase Pn (where n is an integer from 1 to 7). ) Is expressed as “Pn ⁇ m” (where m is a numerical value of 1 or more).
  • Pn ⁇ m where m is a numerical value of 1 or more
  • a communication pattern that does not depend on any phase in other words, it can appear in a plurality of different phases.
  • a communication pattern that does not depend on any of the phases P1 to P8 is represented by “P0-m”.
  • the evaluation value acquisition unit 252 uses a grade (evaluation value) set in advance for a communication pattern that matches or approximates the input packet as a result of the comparison by the comparison unit 251 (hereinafter simply referred to as “corresponding”). Get as a grade.
  • the grade (Gr) is a value indicating “the degree to which the terminal is assumed to be performing an unauthorized activity (malware activity)” assigned to each communication pattern.
  • the grade (Gr) is set to a value in the range of 0 ⁇ Gr ⁇ 1.0 (one digit after the decimal point).
  • Grade (Gr) 0 indicates that the possibility of a communication pattern generated as a result of malware activity is extremely low, and a grade closer to 1 indicates that there is a higher possibility of a communication pattern generated as a result of malware activity.
  • the grade (Gr) is determined in advance for each communication pattern based on the frequency of appearance as a valid application communication pattern. That is, a higher grade is assigned to communications that are less likely to appear as communications by legitimate applications, and a lower grade is assigned to communications that are likely to appear as communications by legitimate applications.
  • the grade preset for the communication pattern Pn-m is “Gr (Pn-m)”, and the grade assigned to the terminal (h) that performed communication corresponding to the communication pattern Pn-m is “Gr”. (H, Pn ⁇ m) ”.
  • the evaluation value acquisition unit 252 includes the input packet and other packets transmitted or received before or after the input packet by the terminal related to the input packet (hereinafter referred to as “preceding packet” “subsequent packet”).
  • the grade is acquired according to the result of the correlation analysis. More specifically, in this embodiment, the evaluation value acquisition unit 252 includes the phase acquired for the communication (input packet) acquired by the communication acquisition unit 21 and before or after the communication regarding the terminal related to the communication. It is determined whether or not there is continuity between the phase acquired with respect to another communication (preceding packet or subsequent packet) performed, and if it is determined that there is continuity, a grade is acquired.
  • the correction unit 253 corrects the grade acquired by the evaluation value acquisition unit 252 according to the result of the correlation analysis between the input packet and the preceding packet or the subsequent packet. More specifically, in the present embodiment, the correction unit 253 is performed before or after the phase acquired for the communication (input packet) acquired by the communication acquisition unit 21 and the terminal related to the communication. It is determined whether there is continuity between the phases acquired for other communication (preceding packet or subsequent packet) and acquired by the evaluation value acquiring unit 252 when it is determined that there is continuity. The grade obtained is corrected to a greater extent than when it is not determined that there is continuity.
  • a correlation analysis between newly acquired communication (input packet) and past or future communication (preceding packet or subsequent packet) by a terminal related to the communication is performed, and the input packet and If there is continuity between the previous packet and the subsequent packet that increases the degree to which it is estimated as malware activity, it is possible to obtain a grade for past or future communication (previous packet or subsequent packet) The grade correction is performed on the newly acquired communication (input packet).
  • the determining unit 254 determines the phase and grade related to the terminal for the input packet. As a result of the comparison by the comparison unit 251, the determination unit 254 determines a phase Pn preset for the communication pattern Pn-m corresponding to the input packet as a phase related to the terminal. Further, the determination unit 254 may determine the grade Gr (Pn ⁇ m) acquired by the evaluation value acquisition unit 252 as it is as the grade of the input packet, but when the grade is corrected by the correction unit 253, The corrected value is determined as the grade of the input packet.
  • the holding unit 255 holds the maximum value for each phase of the determined grade for each terminal.
  • the holding unit 255 holds, for each phase Pn of the malware activity transition model, the maximum value of the grade Gr (Pn-m) of the communication pattern Pn-m detected for the phase Pn as the phase Pn grade. And represented by “PGr (Pn)”.
  • the holding unit 255 manages the grade for each terminal and each phase by using a grade management table that holds the maximum grade value for each phase for each terminal (illustration is omitted).
  • the grade management table the grade PGr (h, Pn) of each phase Pn is held for each terminal (h) known by the network monitoring device 20.
  • the grade PGr (h, Pn) of each phase Pn is the maximum value of the grade Gr (Pn-m) of the communication pattern Pn-m detected for the phase Pn. For this reason, when a new grade is determined for any phase, the newly determined grade is compared with the grade PGr (h, Pn) held in the grade management table and updated to the maximum value. .
  • the maximum value Gr (h, Pn-m) of the grade Gr (Pn-m) for each communication pattern Pn-m is also held in the storage device 14a.
  • the summation unit 256 obtains the maximum value PGr (h, Pn) of the respective phase grades from the phase P1 to the phase P8 for each terminal, and sums them up.
  • the determination unit 257 determines whether or not the terminal is performing an illegal activity based on the maximum value PGr (h, Pn) of the grade for each phase of the terminal (h) to be processed. In the present embodiment, the determination unit 257 determines whether the terminal is performing an unauthorized activity based on the total value obtained by the total unit 256. More specifically, the determination unit 257 performs a predetermined weighting on the total value, thereby “a value indicating a high possibility that the malware is active” (hereinafter referred to as “malware activity possibility”). When this value exceeds a predetermined threshold, it is determined that the terminal is performing an illegal activity.
  • the malware activity possibility of the terminal (h) indicates the degree of possibility that the terminal (h) is infected with malware, and is represented by “IR (h)”.
  • the possibility of malware activity of the terminal (h) takes a value from 0 (no infection) to 100 (large possibility of infection). That is, in this embodiment, the malware activity possibility of the terminal (h) is defined as follows.
  • represents a malware activity coefficient.
  • a terminal with a communication pattern detected on many (consecutive) phases of an activity transition model is more likely to be infected with malware than a terminal with a communication pattern detected on fewer phases. Since it can be determined, a malware activity coefficient ⁇ (in this embodiment, 0.5 is set as a specific value) is introduced.
  • the malware activity possibility IR (h) is calculated and updated every time a communication pattern corresponding to the communication pattern related to the terminal (h) is detected.
  • terminals having a malware activity possibility of 0 to 49 are defined as “clean terminals”, terminals 50 to 89 as “gray terminals”, and terminals 90 to 100 as “black terminals”.
  • the possibility of malware activity and “clean”, “gray”, and “black” are displayed for each terminal as real-time report information.
  • a list of detected “communication patterns” and a list of the number of detections are displayed for each terminal.
  • the threshold value of the malware activity possibility of “clean”, “gray”, and “black” may be set by an administrator.
  • the correlation analysis unit 258 performs correlation analysis between the input packet and another packet (preceding packet or subsequent packet) transmitted or received before or after the input packet by the terminal related to the input packet. That is, the correlation analysis performed in the present embodiment analyzes the presence or degree of correlation such as continuity or commonality between two or more communications or two or more phases. The result is used by the evaluation value acquisition unit 252, the correction unit 253, the determination unit 257, and the like. For example, the correlation analysis unit 258 performs a correlation analysis between the first communication determined by the determination unit 254 to be the intrusion phase P1 and the second communication determined to be the execution file download phase. Thus, it is determined whether or not there is a correlation between the content download by the first communication and the execution file download by the second communication. Other specific methods of correlation analysis will be described later.
  • the network monitoring device 20 executes network configuration analysis / learning processing as preparation processing before starting detection processing for each packet described later. Specifically, when connected to a new network, the network monitoring device 20 acquires a packet for a predetermined time, analyzes the acquired packet, analyzes the configuration of the network to be monitored, and malware Information required for detection (device list (device type, OS type, MAC / IP address, etc.), monitored network address system, DNS server information, mail server information, proxy (HTTP / SOCKS) information, Active Directory information, etc.) Is stored and stored in the storage device 14a or the like.
  • malware Information required for detection device list (device type, OS type, MAC / IP address, etc.), monitored network address system, DNS server information, mail server information, proxy (HTTP / SOCKS) information, Active Directory information, etc.) Is stored and stored in the storage device 14a or the like.
  • the network configuration analysis / learning process is continuously executed by the network monitoring apparatus 20 even after the detection process described later is started.
  • the network monitoring device 20 compares the information obtained by analyzing the acquired packet with the information learned by the previous analysis / learning process and held in the storage device 14a of the network monitoring device 20. If the newly obtained information is different from the stored information as a result of the collation, the network monitoring device 20 determines that the configuration in the network segment 2 has been changed, and uses the newly obtained information to The information held in the storage device 14a of the monitoring device 20 is updated.
  • FIG. 5 is a flowchart showing an outline of the flow of detection processing for each packet according to the present embodiment.
  • the detection process according to the present embodiment is executed every time a packet (or data consisting of a plurality of packets) flowing on the network is acquired by the network monitoring device 20.
  • step S001 preprocessing for packet analysis is executed.
  • the network monitoring apparatus 20 performs shaping, classification, and association with an effective existing flow.
  • the network monitoring device 20 receives input packets in units of terminals (source / destination IP address (MAC address) units), protocols (TCP / UDP, ICMP, DNS, HTTP, HTTPS, IRC, FTP, TFTP, SOCKS, NetBIOS). Etc.) Classification into units and association with existing flows. Thereafter, the process proceeds to step S002.
  • units of terminals source / destination IP address (MAC address) units
  • protocols TCP / UDP, ICMP, DNS, HTTP, HTTPS, IRC, FTP, TFTP, SOCKS, NetBIOS.
  • step S005 processing by the application detection engine 23 and the protocol anomaly detection engine 24 is performed.
  • the network monitoring apparatus 20 detects unauthorized communication by a terminal connected to the network using the three types of detection engines (detection programs) described above.
  • the network monitoring apparatus 20 When the packet is acquired, the application detection engine 23 and the protocol anomaly detection engine 24 perform detection, and then the malware behavior detection engine 25 performs detection.
  • the malware behavior detection engine 25 detects that the node 90 has illegal activity based on communication that is not detected as unauthorized communication by other detection means (the application detection engine 23 and the protocol anomaly detection engine 24). It is determined whether or not.
  • the number of packets processed by the malware behavior detection engine 25 can be reduced, and the load caused by the operation of the behavior detection engine can be reduced.
  • the malware behavior detection engine 25 may operate alone or in combination with other detection engines.
  • the processing order of the detection engine when the packet is acquired is not limited to the example shown in the present embodiment.
  • step S012 If an unnecessary application is detected by the application detection engine 23, or if a protocol anomaly is detected by the protocol anomaly detection engine 24, the process proceeds to step S012, and blocking or alerting is performed. On the other hand, if an unnecessary application or protocol anomaly is not detected, the process proceeds to step S006. In this flowchart, the processing from step S006 to step S011 corresponds to the processing by the malware behavior detection engine 25.
  • step S006 a communication pattern determination process is performed.
  • the comparison unit 251 determines the commonality between the input packet and the predefined communication pattern (Pn-m) by comparing the input packet with the predefined communication pattern (Pn-m).
  • the phase on the activity transition model of the terminal (h) related to the input packet is determined as the phase Pn (h).
  • the evaluation value acquisition unit 252 associates the grade Gr (Pn ⁇ m) of the communication pattern determined to match or approximate (corresponds) as a result of the determination with the terminal (h), and relates to the grade Gr of the input packet. Obtain as (h, Pn-m).
  • the network monitoring device 20 registers the transmission source terminal or destination terminal of the target communication in the “malware distribution server candidate list” or “C & C server candidate list” based on the detected communication pattern.
  • determination and evaluation are performed for communication patterns of all phases in consideration of packet loss. It should be noted that an input packet that does not require additional determination processing because it is associated with a known determined flow is not determined, and only statistical information is updated. Thereafter, the process proceeds to step S007.
  • step S007 a first correlation analysis is performed.
  • the evaluation value acquisition unit 252 picks up the C & C communication that could not be detected in step S006.
  • the evaluation value acquisition unit 252 picks up the communication that triggered the transition to the search phase P2, the infection / infiltration phase P3, the execution file download phase P4, and the attack activity phase P8, and the network monitoring device 20 Register in the candidate terminal of the source terminal or destination terminal C & C server of the target communication.
  • the processing contents of the first correlation analysis will be described later with reference to FIGS. 6 to 8 and FIG. Thereafter, the process proceeds to step S008.
  • step S008 a second correlation analysis is performed.
  • the correction unit 253 determines the correlation between the activity phase Pn (h) of the terminal (h) determined in step S006 and the continuity with the phase that was active immediately before or the behavior of other (infected) terminals. analyse. As a result of the analysis, when a communication pattern with a high suspicion of malware behavior is found, the correction unit 253 determines the grade Gr (h, Pn ⁇ ) of the communication pattern (Pn ⁇ m) of the terminal (h) determined in step S006. m) is corrected using the following formula and a higher grade is assigned.
  • Gr (h, Pn ⁇ m) ⁇ ⁇ Gr (h, Pn ⁇ m)
  • the range of the malware behavior similarity coefficient ⁇ is 1.0 to 2.0.
  • 1.0 means “no similarity”.
  • the processing content of the second correlation analysis and the malware behavior similarity coefficient ⁇ will be described later with reference to FIGS. 6 to 8 and FIGS. 10 to 15. Thereafter, the process proceeds to step S009.
  • step S009 the grade (PGr) of the activity phase is determined.
  • the determining unit 254 determines the grade PGr (h, Pn) i of the phase Pn from the grade Gr (h, Pn ⁇ m) of the communication pattern of the corresponding terminal h based on the processing results from step S006 to step S008.
  • PGr (h, Pn) i-1 indicates the grade of the phase Pn up to the previous time.
  • PGr (h, Pn) i max ⁇ PGr (h, Pn) i ⁇ 1, Gr (h, Pn ⁇ m) ⁇ Thereafter, the process proceeds to step S010.
  • step S010 the malware activity possibility (IR (h)) is calculated.
  • the summation unit 256 and the determination unit 257 calculate the malware activity possibility IR (h) of the terminal h.
  • the specific calculation method is as described above in the description of the summation unit 256 and the determination unit 257. Thereafter, the process proceeds to step S011.
  • step S011 and step S012 when the malware activity possibility IR (h) is equal to or greater than a predetermined threshold, countermeasures such as blocking the corresponding terminal and issuing an administrator alert are performed.
  • the determination unit 257 determines whether or not the malware activity possibility of the terminal calculated in step S010 is equal to or greater than a predetermined threshold value indicating “black” (step S011).
  • the communication blocking unit 22 takes measures such as blocking communication by the corresponding terminal or issuing an alert to the administrator (step S012). Further, even when the malware activity possibility is “gray”, the network monitoring device 20 may issue an alert to the administrator.
  • the malware activity possibility is “clean”, no action such as blocking or issuing an alert is performed. Thereafter, the processing shown in this flowchart ends.
  • steps S101 to S103 describe the communication pattern determination process described in step S006 of FIG. 5 in more detail
  • steps S104 to S110 are the first described in step S007.
  • the correlation analysis process will be described in more detail.
  • Steps S111 to S116 will describe the second correlation analysis process described in step S008 in more detail.
  • Steps S117 to S120 will be described in step S009.
  • the activity phase grade determination process described in the above will be described in more detail.
  • Step S121 corresponds to step S010 in FIG. 5
  • step S122 and step S123 correspond to step S011 and step S012.
  • step S101 and step S102 it is determined which of the predefined communication patterns the acquired packet (input packet) corresponds to.
  • the comparison unit 251 determines the commonality between the input packet and a predefined communication pattern (Pn-m) by comparing the input packet with a previously held communication pattern. As a result of the determination, when it is determined that the communication pattern does not correspond to any communication pattern, the process related to the packet ends, and the process shown in the flowchart ends. On the other hand, if it is determined that any of the communication patterns is applicable, the process proceeds to step S103.
  • step S103 it is recorded that a communication pattern (Pn-m) determined to be applicable to the terminal related to the input packet is detected. Further, the evaluation value acquisition unit 252 uses the phase Pn to which the communication pattern (Pn-m) corresponding to the input packet belongs and the grade Gr (Pn-m) preset in the communication pattern (Pn-m) as the input packet. As the phase Pn (h) of the terminal (h) and the grade Gr (h, Pn-m) of the relevant phase. Thereafter, the process proceeds to step S104.
  • step S104 and step S105 when the essential condition is set in the communication pattern corresponding to the input packet, it is determined whether or not the communication corresponding to the essential condition has been acquired in the past. If the essential condition is not set, the process proceeds to step S107.
  • the indispensable condition is the grade Gr (Pn-m) preset in the communication pattern (Pn-m) determined to correspond to the input packet in step S101, and the terminal (h) related to the input packet. This is a condition for determining whether or not it may be determined as the grade Gr (h, Pn ⁇ m) of the phase Pn (h) of the current phase.
  • the communication pattern “P6-4: HTTP communication (proxy / non-proxy) with the HTTP standard port (80) as the destination port” is a general HTTP communication, but this communication pattern is “P0-1 It is an indispensable condition that any one of the “HTTP malignant communication patterns” defined in “P0-15” is detected. Therefore, when these essential conditions are satisfied, the grade Gr (h, P6-4) of the communication pattern P6-4 is determined for the input packet. When the essential conditions are not satisfied, communication is performed for the input packet. The grade Gr (h, P6-4) of the pattern P6-4 is not determined.
  • the evaluation value acquisition unit 252 continues between the phase acquired for the input packet and the phase acquired for other communication (preceding packet) performed before the communication regarding the terminal related to the communication. It is determined by determining whether or not the communication acquired in the past satisfies the essential condition. If it is determined that the essential condition is not satisfied, the process proceeds to step S106, and the grade of the input packet is set to 0 (zero). On the other hand, if it is determined that the essential condition is satisfied, the process proceeds to step S107.
  • step S107 a grade is assigned to the phase of the terminal related to the input packet.
  • the evaluation value acquisition unit 252 acquires a grade Gr (Pn-m) defined in advance for the communication pattern Pn-m determined to be applicable for the input packet, and a grade Gr of the phase Pn (h) of the terminal (h). (H, Pn-m). Thereafter, the process proceeds to step S108.
  • step S108 it is determined whether or not the input packet satisfies the essential condition of the communication pattern detected in the past. In other words, in step S108, it is determined whether or not communication (input packet) corresponding to the essential condition has been detected at the present time in the future as viewed from communication (previous packet) acquired in the past.
  • the evaluation value acquisition unit 252 determines whether a communication pattern in which the communication pattern of the input packet is set as an essential condition has been detected in the past. As a result of the determination, when it is determined that a communication pattern having the communication pattern related to the input packet as an essential condition has not been detected in the past, the process proceeds to step S111. On the other hand, as a result of the determination, if it is determined that a communication pattern having the communication pattern related to the input packet as an essential condition has been detected in the past, the process proceeds to step S110.
  • step S110 a grade is assigned to the phase of communication (preceding packet) acquired in the past.
  • the evaluation value acquisition unit 252 acquires and assigns a grade Gr (Pn-m) defined in advance for the communication pattern (Pn-m) to communication detected in the past. Thereafter, the process proceeds to step S111.
  • step S111 and step S112 when the grade correction condition is set in the communication pattern corresponding to the input packet, it is determined whether or not communication corresponding to the grade correction condition has been acquired in the past. If the grade correction condition is not set, the process proceeds to step S114.
  • the grade correction condition is whether or not the grade Gr (Pn-m) preset in the communication pattern (Pn-m) determined to correspond to the input packet in step S101 should be corrected to a larger value. It is a condition for judging.
  • the correction unit 253 determines whether communication corresponding to the grade correction condition has been detected in the past for the terminal related to the input packet. If it is determined that the grade correction condition is not satisfied, grade correction is not performed, and the process proceeds to step S114. On the other hand, if it is determined that the essential condition is satisfied, the process proceeds to step S113.
  • step S113 the grade is corrected.
  • the correction unit 253 corrects the grade Gr (h, Pn ⁇ m) assigned in step S107 according to the correction value set in advance for the grade correction condition determined to be satisfied in step S112. For example, when the correction value is 1.5, the value of grade Gr (h, Pn ⁇ m) is multiplied by 1.5. Thereafter, the process proceeds to step S114.
  • step S114 it is determined whether or not the input packet satisfies the grade correction condition of the communication pattern detected in the past. In other words, in step S114, it is determined whether or not a communication (input packet) corresponding to the grade correction condition has been detected at the current time point in the future from the communication (previous packet) acquired in the past.
  • the correcting unit 253 determines whether or not a communication pattern in which the communication pattern of the input packet is set as the grade correction condition has been detected in the past. As a result of the determination, if it is determined that a communication pattern having the communication pattern related to the input packet as a grade correction condition has not been detected in the past, the process proceeds to step S117. On the other hand, as a result of the determination, if it is determined that a communication pattern having the communication pattern related to the input packet as a grade correction condition has been detected in the past, the process proceeds to step S116.
  • step S116 grade correction related to past communication (preceding packet) is performed.
  • the correction unit 253 corrects the grade assigned to the terminal related to the communication pattern detected in the past with a correction value defined in advance for the grade correction condition. For example, when the correction value is 1.5, the grade is multiplied by 1.5. Thereafter, the process proceeds to step S117.
  • step S117 to step S120 the update process of the maximum grade for each phase is performed.
  • the network monitoring device 20 obtains the maximum grade held for each detection phase (P1 to P8) for the terminal related to the input packet (the corrected value for the corrected grade) from the grade management table. It is acquired (step S117) and compared with the grade determined by the result determination unit 254 of the processing from step S101 to step S116, thereby determining whether or not the maximum grade has been updated in each phase (step S118). . If it is determined that the maximum grade has not been updated, the process proceeds to step S121. On the other hand, when it is determined that the maximum grade has been updated, the holding unit 255 updates the maximum grade recorded in the grade management table with the newly assigned grade, and holds this (step S120). In this process, a trail log is collected (step S119). Thereafter, the process proceeds to step S121.
  • step S121 the possibility of malware activity on the terminal is calculated.
  • the summation unit 256 adds the maximum grades obtained in each phase of the terminal h, and the determination unit 257 calculates the malware activity possibility IR (h) of the terminal h by multiplying by the malware activity coefficient.
  • the detailed calculation method is as described above in the description of the summation unit 256 and the determination unit 257. Thereafter, the process proceeds to step S122.
  • step S122 and step S123 it is determined whether the target node 90 is infected with malware.
  • the determination unit 257 determines whether or not the malware activity possibility IR (h) calculated in step S121 exceeds a predetermined threshold (step S122).
  • the network monitoring device 20 performs a predetermined response when a malware infection is detected.
  • the communication blocking unit 22 starts to block communication of the node 90, or an alert (warning) notification that the node 90 is infected with malware.
  • no response is made when malware infection is detected, such as communication interruption or warning. Thereafter, the processing shown in this flowchart ends.
  • the network monitoring device 20 uses, for example, a method of discarding communication data acquired from the L2 / L3 switch, a method of blocking the port of the L2 / L3 switch, and guiding the packet transmission destination to the node 90 by ARP spoofing.
  • the communication by the node 90 can be cut off using a method of performing, a method of instructing the router 10 to discard the communication related to the node 90, or a method of changing and isolating the VLAN to which the node 90 belongs. Further, when the network monitoring device 20 is mounted (included) in the router 10, communication received or transmitted by the node 90 can be directly blocked.
  • the network monitoring device 20 transmits a notification packet, mail, or the like to the management server, the node 90, a preset administrator terminal or the like, or a display device (display, LED, etc.) provided in the network monitoring device 20 itself.
  • the alert can be notified by using a method of displaying a warning via).
  • correlation analysis only needs to analyze whether or not a plurality of communications by the terminal have correlation from the viewpoint of phase transitions associated with malware activities, and the example shown in this embodiment It is not limited to.
  • the communication pattern determination process (see step S006) is based on a predefined “communication pattern”. Therefore, malware that performs communication that does not match the communication pattern cannot be detected only by this processing. For this reason, in this embodiment, the first correlation analysis (see step S007) is performed.
  • FIG. 9 is a diagram showing phases on the activity transition model to be monitored in the first correlation analysis and its transitions in the present embodiment.
  • the malware transitions to a search phase P2, an infection / infiltration phase P3, an execution file download phase P4, or an attack activity phase P8 in accordance with a command from the C & C server.
  • the time from receiving the command from the C & C server to the transition to the search phase P2, the infection / infiltration phase P3, the execution file download phase P4, and the attack activity phase P8 is very short (within 1 second). It is common.
  • the process of identifying malware infection follows the malware detection method described above.
  • the above-mentioned User-Agent condition means that only HTTP requests transmitted by applications other than the web browser are targeted for evaluation.
  • (Impersonation) Since web browser communication is an evaluation target in the communication pattern determination process, only non-web browser communication is targeted in the first correlation analysis.
  • the above condition is satisfied, the following information is recorded in the management table of the terminal (h).
  • Method type GET, POST, PUT, CONNECT
  • User-Agent header value character string
  • NULL if User-Agent header does not exist -Host header value (FQDN or IP address)
  • the packet is a response to the HTTP request transmitted by the terminal (h) in (1.1.1). If the size of the body part of the HTTP response is not zero, the following contents are recorded, and the process proceeds to (1.1.3). Record the detection (reception) time (time stamp: millisecond) of the HTTP response packet. Hereinafter, this time stamp is represented by “TimeStamp (C)”. Note that here, only the time stamp of the final data of the HTTP response is required, but since packet loss may occur, the time stamp is recorded when all HTTP responses are received, and subsequent responses are received. Will be overwritten.
  • the malware behavior detection engine 25 sequentially performs the following processes, and relates to the packet recorded in “preparation (collection of evaluation information)” when the conditions are satisfied. Register the terminal in the C & C server candidate list.
  • ⁇ Activity and authorization on search phase P2 (matching “communication pattern of search phase P2”) and ⁇ Time (time stamp: TimeStamp (P2)) and time stamp (C) recorded in the search phase P2 are as follows Satisfy the condition of TimeStamp (C) + 500 ms> TimeStamp (P2)
  • TimeStamp (P2) is recorded when “communication pattern of search phase P2” is detected in the communication pattern determination process.
  • the measurement target of TimeStamp (P2) is only the communication pattern corresponding to the “suspicious connection attempt” in the search phase.
  • the observation time of the communication pattern is the time when the communication pattern corresponding to “suspicious connection attempt” is detected.
  • the malware behavior detection engine 25 sequentially performs the following processing and records it in “preparation (collection of evaluation information)” when the conditions are satisfied.
  • the terminal related to the packet is registered in the C & C server candidate list.
  • TimeStamp (P4) is recorded when “communication pattern of download phase P4 of executable file” is detected in the communication pattern determination process.
  • TimeStamp (P4) is not the start time of the HTTP GET request, FTP download, or TFTP download, but the time when the file download is completed (in the case of HTTP GET, the final packet of the response). Since packet loss occurs, TimeStamp (P4) may be updated each time an individual packet of an HTTP GET response or an FTP / TFTP download packet is detected.
  • the malware behavior detection engine 25 sequentially performs the following processing, and relates to the packet recorded in “preparation (collection of evaluation information)” when the conditions are satisfied. Register the terminal in the C & C server candidate list.
  • ⁇ Activity and authorization on attack phase P8 matches “communication pattern of attack phase P8”
  • Time (time stamp: TimeStamp (P8)) and time stamp (C) recorded as the transition to attack phase P8 are as follows Satisfy the condition of TimeStamp (C) + 500 ms> TimeStamp (P8)
  • TimeStamp (P8) is recorded when “communication pattern of attack phase P8” is detected in the communication pattern determination process.
  • TimeStamp (P8) is not the time when the attack activity is recognized (finally from a plurality of packets) but the time when the first packet of the attack communication pattern is detected.
  • the time required for phase transition (the time from detection of the communication pattern Pr-s to the detection of the communication pattern Pm-n), the terminal (h ), A second correlation analysis (see step S008) is performed on the basis of information such as correlation and coincidence of behaviors of a plurality of terminals having a high possibility of malware infection and the type of file handled.
  • the grade Gr (Pm-n) of the communication pattern Pm-n corresponding to the communication is corrected (malware behavior similarity coefficient ⁇ times) And give a higher grade.
  • the malware behavior detection engine 25 does not target all phase transitions for correlation analysis.
  • the malware behavior detection engine 25 targets the following phase transitions in which a significant correlation is observed as malware behavior as a target of correlation analysis. 10 to 15, a solid line arrow indicates that it is an analysis object, and a broken line arrow indicates that it is not an analysis object.
  • FIG. 10 is a diagram illustrating a transition to search phase P2, which is a monitoring target in the second correlation analysis in the present embodiment.
  • the malware behavior detection engine 25 performs the following analysis when the terminal (h) transitions to the search phase P2, and corrects the grade of the communication pattern if applicable.
  • C & C is HTTP type
  • C & C is HTTPS (direct or CONNECT).
  • the protocol type is the original protocol type
  • the reception time of the TCP data corresponding to the data packet transmitted by the terminal (h) on the corresponding TCP connection is not zero (final).
  • the C & C is the IRC type
  • the C & C The reception time of the last data of the IRC message whose data length is not zero from the server.
  • the communication pattern P2-m in the search phase covers only the communication pattern corresponding to “suspicious connection attempt”.
  • the observation time of the communication pattern is the time when the communication pattern corresponding to “suspicious connection attempt” is detected.
  • FIG. 11 is a diagram showing a transition to the execution file download phase P4 to be monitored in the second correlation analysis in this embodiment. is there.
  • the malware behavior detection engine 25 performs the following analysis when the terminal (h) transitions to the execution file download phase P4, and if applicable, sets the grade of the communication pattern. to correct.
  • Condition B An execution file download communication pattern P4-m is observed on the terminal (h), and the connection destination (destination IP / FQDN) of P4-m is any server registered in the malware distribution server candidate list. Matched. Note that the executable file may not be downloaded within a certain period of time after being infected with malware (there is a case after 10 seconds or 3 days later), so the transition from phase P2 to phase P4 Then we don't include time-related conditions.
  • Condition D The connection destination (destination IP / FQDN) of condition C and P4-m matches any of the servers registered in the malware distribution server candidate list.
  • the observation time of the communication pattern P4-m in the executable file download phase is not the start time of the HTTP GET request, FTP download, or TFTP download, but the time when the file download is completed (in the case of HTTP GET, the final response time) Packet). Since packet loss occurs, the time may be updated each time an individual packet of an HTTP GET response or an FTP / TFTP download packet is detected.
  • the continuity is determined based on the identity of the connection, the proximity of the detection time, the presence or absence of other packets detected between the two communication patterns P1-n and P4-m, and the relevance is The determination is made based on the address of the destination server, the commonality of the information of the destination server, and the like.
  • FIG. 12 is a flowchart showing the flow of the correlation analysis process for determining the correlation between the communication related to the intrusion phase P1 and the communication related to the download phase P4 of the executable file in the present embodiment.
  • the processing shown in this flowchart corresponds to the processing from step S111 to step S116 of the malware behavior detection engine described with reference to FIGS. 6 and 7, and in the processing of FIG. 16 to FIG.
  • the mapped communication and the communication mapped in the download phase P4 of the executable file are detected, it is executed to detect that a drive-by download attack has been performed in the terminal.
  • step S701 to step S703 it is determined whether or not correlation conditions 1 to 3 are satisfied. When none of the correlation conditions 1 to 3 is satisfied, the processing shown in this flowchart ends. On the other hand, if any one of correlation conditions 1 to 3 is satisfied, the process proceeds to step S704. Correlation conditions 1 to 3 are as follows.
  • step S704 the grades of phase P1 and phase P4-m are corrected.
  • the correcting unit 253 performs correction such as setting the grade of the phase P1 to 0.3 and multiplying the grade of the phase P4-m by 2.0. Thereafter, the processing shown in this flowchart ends, and finally, the presence or absence of malware infection (drive-by download attack) is determined by comparison with a threshold value (see processing shown in FIG. 8).
  • FIG. 13 is a diagram showing a transition to the C & C search phase P5 that is a monitoring target in the second correlation analysis in the present embodiment.
  • the malware behavior detection engine 25 performs the following analysis when the terminal (h) transitions to the C & C search phase P5, and corrects the grade of the communication pattern if applicable. .
  • Condition B The terminal (h) repeats the transition from the C & C communication phase P6 to the C & C search phase P5 (detects the communication pattern P5-m in the C & C search phase P5) at a constant period (time). In the present embodiment, it is determined that the transition to the C & C search phase P5 is repeated at a constant cycle when the last three transitions have substantially the same cycle (time).
  • FIG. 14 is a diagram showing transition to the C & C communication phase P6, which is a monitoring target in the second correlation analysis in the present embodiment.
  • the malware behavior detection engine 25 performs the following analysis when the terminal (h) transitions to the C & C communication phase P6, and corrects the grade of the communication pattern if applicable. .
  • Condition B The connection destination (destination IP / FQDN) of condition A and P6-m matches one of the C & C servers registered in the C & C server candidate list (of any monitored terminal).
  • Condition C The connection destination (destination IP / FQDN) of condition A and P6-m matches one of the C & C servers registered in the C & C server candidate list of the infection source terminal (k).
  • Condition E The connection destination (destination IP / FQDN) of condition D and P6-m matches one of the C & C servers registered in the C & C server candidate list (of any monitoring target terminal).
  • Condition F The connection destination (destination IP / FQDN) of condition D and P6-m matches one of the C & C servers already registered in the C & C server candidate list of the terminal (h).
  • FIG. 15 is a diagram showing a transition to attack phase P8, which is a monitoring target in the second correlation analysis in the present embodiment.
  • the malware behavior detection engine 25 performs the following analysis when the terminal (h) transitions to the C & C communication phase P6, and corrects the grade of the communication pattern if applicable. .
  • Condition B Within N (h) seconds after observing data communication (receiving some data (command) from the C & C server) on any of the C & C servers registered in the C & C server candidate list of the terminal (h) In addition, the communication pattern P8-m in the attack phase was observed at the terminal (h).
  • Condition C Two or more terminals that satisfy condition B were detected. (It is not necessary to occur at the same time)
  • an object of the present disclosure is to detect a predetermined activity in a network terminal by a method that is lighter than a conventional method.
  • the drive-by download attack is executed in the following flow, for example.
  • Preparatory phase Attackers tamper with legitimate websites accessed by the target and insert a link that redirects them to the attack server.
  • Guidance to the attack server When the target is accessed, the target is guided to the attack server according to the “link leading to the attack server” embedded in the site.
  • Malicious content download Malicious content that uses vulnerabilities in web browsers and various plug-in software used by the target is sent from the attack server to the target. 4). Download of Malware Body When an attack using a vulnerability caused by malicious content is successful, the download code is read into the target, and the malware body is automatically downloaded to the target by the download code.
  • the drive-by download attack is such that two communications of “malignant content download” and “malware download” occur in succession, and “malignant content download” and “malware download” Paying attention to the fact that different types of files are used in the two communications “download”, the malware behavior detection engine is used for the type of file / content downloaded in each communication and the phase transition of the two communications. Based on this, we decided to detect attacks.
  • the communication pattern of “download malicious content” is mapped to the intrusion phase P1
  • the communication pattern of “download malware main body” is mapped to the download phase P4 of the executable file.
  • FIG. 16 is a flowchart showing a flow of content request analysis processing by the malware behavior detection engine 25 according to the present embodiment. This flowchart corresponds to the process of step S006 of the detection process described with reference to FIG. 5, in other words, the process of step S101 to step S103 of the process described with reference to FIG.
  • step S201 it is determined whether or not the acquired data (a combination of one or more input packets) corresponds to an HTTP GET / POST / PUSH request.
  • the comparison unit 251 compares the acquired data with a communication pattern stored in advance (here, the HTTP GET / POST / PUSH request data pattern) and the predetermined communication pattern (P1-m ) And commonality. As a result of the determination, if it is determined that the acquired data is not an HTTP GET / POST / PUSH request, the process related to the acquired data is terminated, and the process illustrated in this flowchart is terminated. On the other hand, if it is determined that the acquired data is an HTTP GET / POST / PUSH request, the process proceeds to step S202.
  • step S202 it is determined whether or not the file name in the URI path part of the acquired data (HTTP GET / POST / PUSH request) includes a predetermined extension.
  • the comparison unit 251 includes a character string of the file name of the URI path part of the acquired data (HTTP GET / POST / PUSH request) and a character string of an extension stored in advance (for example, “.jar”, “.class”). , “.Xap”, “.swf”, “.pdf”) to determine the commonality between the acquired data and the predefined communication pattern (P1-m).
  • the process proceeds to step S204.
  • the process proceeds to step S203.
  • step S203 it is determined which of the predefined communication patterns the header of the acquired data (HTTP GET / POST / PUSH request) corresponds to.
  • the comparison unit 251 compares the acquired data with the previously stored communication pattern (here, the data pattern that can be included in the header when the requested file is a predetermined type of file).
  • a commonality with a predefined communication pattern (P1-m) is determined. This is because, in step S202, even if the file name related to the request does not include a predetermined extension, the extension may be falsified, so the request is based on information that is difficult for an attacker to falsify. This is a process for accurately determining the file type related to the file.
  • step S204 when it is determined that the acquired data does not include the feature related to the request for the malicious content, the process related to the acquired data ends, and the process illustrated in the flowchart ends. On the other hand, if it is determined that the acquired data includes a feature related to the request for malicious content, the process proceeds to step S204.
  • step S204 various content response analysis processes are executed.
  • the malware behavior detection engine 25 monitors the response for the communication in which it is determined that the requested file type is the predetermined file type, and determines the appropriateness to the file type.
  • the content response analysis process may be prepared for each file type. In the present embodiment, for example, a Java content response analysis process, a PDF content response analysis process, a Silverlight content response analysis process, a Flash content response analysis process, and an HTML content response analysis process are prepared.
  • the content response analysis process is not limited to the file type exemplified in the present embodiment, as long as it is prepared for the file type necessary for determining whether the communication is the communication of the intrusion phase P1.
  • the following content response analysis process is executed for each determination result in step S202 or step S203.
  • the conditions listed below are communication patterns (P1-m) defined in advance for determination in step S202 or step S203.
  • Java content response analysis processing The file name in the URI path part includes the extension “.jar” or “.class”, or the Java User-Agent header and Accept-Encoding header are set.
  • PDF content response analysis processing The file name of the URI path part includes the extension “.pdf”, or the browser User-Agent header is set, and the Accept-Language and Referer headers are not set, or the URI The query part is set without including any file extension in the path part.
  • the file name of the URI path part includes the extension “.xap”, or the browser User-Agent header is set, and the Accept-Language and Referer headers are not set, or the URI
  • the query part is set without including any file extension in the path part.
  • Flash content response analysis processing The file name in the URI path part includes the extension “.swf”, or the browser User-Agent header is set, and the Accept-Language and Referer headers are not set, ..X-flash-version header is set, ⁇ ⁇ Include the file extensions “.php”, “.asp”, “.aspx”, “.cgi” in the path part of the URI, or ⁇ Query that does not contain any file extension in the path part of the URI Is set. HTML content response analysis processing ⁇ User-Agent header of the browser is set, and ⁇ The file extension “.php”, “.asp”, “.aspx”, “.cgi” is included in the path part of the URI , ..
  • the query part is set without including any file extension in the URI path part.
  • ⁇ ⁇ Path part is not set in URI, query part is set, or ⁇ File path “.html” or “.html” is included in path part of URI, and query part is set in URI It has not been.
  • FIG. 17 is a flowchart showing a flow of content response analysis processing by the malware behavior detection engine 25 according to the present embodiment.
  • This flowchart explains in more detail the processing in step S204 of the content request analysis processing described with reference to FIG.
  • the flowchart corresponds to the process of step S006 of the detection process described with reference to FIG. 5, in other words, the process of steps S101 to S103 of the process described with reference to FIG.
  • the content response analysis process is prepared for each file type, and when the above-described conditions are satisfied, the content response analysis process for each file type is executed.
  • step S301 and step S302 the response packet corresponding to the HTTP request is monitored, and the content of the content-type header of the response is determined.
  • the communication acquisition unit 21 monitors a response packet (return packet) in the same session / connection (for example, TCP connection) as the communication in which it is determined in the content request analysis process that a file of a predetermined file type has been requested (step S301). ).
  • the comparison unit 251 determines in advance whether or not the type value indicating the requested file type is set in the Content-Type header of the response, and is defined as acquisition data in advance.
  • the communication pattern (P1-m) is determined to be common, and it is determined whether or not the requested type of file is included in the response (step S302).
  • the comparison unit 251 determines whether or not the Java type value is set in the Content-Type header of the response packet. If it is determined that the type value indicating the requested file type is set in the Content-Type header of the response packet, the process proceeds to step S304. On the other hand, if it is determined that the type value indicating the requested file type is not set in the Content-Type header of the response packet, the process proceeds to step S303.
  • step S303 it is determined whether or not the body of the response corresponds to a predefined data pattern.
  • the comparison unit 251 compares the acquired data (response) with a previously stored data pattern (in this case, a data pattern that can be included in the body of the response when the response includes a predetermined type of file).
  • the commonality between the data and the predefined communication pattern (P1-m) is determined, and it is determined whether or not the requested type of file is included in the response. This is because the content-type header may be falsified even if the type value indicating the requested file type is not set in the content-type header of the response in step S302. This is a process for accurately determining the file type related to the response based on information that is difficult to tamper with.
  • step S304 If it is determined that the type value indicating the requested file type is not set in the Content-Type header of the response as a result of the determination, the process related to the acquired data ends, and the process illustrated in this flowchart ends. To do. On the other hand, if it is determined that the type value indicating the requested file type is set in the Content-Type header of the response, the process proceeds to step S304.
  • step S303 for example, whether a predetermined data pattern (signature or the like) set inside the content to indicate that it is a predetermined type of content is set at the head part of the response body or at a predetermined position.
  • a predetermined data pattern signature or the like
  • step S304 it is recorded that the communication pattern (P1-m) determined to be applicable, that is, “download of malicious content” is detected for the terminal related to the response and the request.
  • the type and value of the HTTP request header, destination IP address, destination FQDN, file (package) name, size, and detection time are recorded.
  • the determination unit 254 determines the activity phase of the terminal that has performed communication related to the request and response as the intrusion phase P1, and the evaluation value acquisition unit 252 includes the communication pattern (P1-m) corresponding to the input packet.
  • the grade Gr (P1-m) preset in the phase P1 and the communication pattern (P1-m), the phase P1 (h) of the terminal (h) related to the input packet, and the grade Gr (h, P1 of the phase) Obtain as -m). Thereafter, the processing shown in this flowchart ends.
  • the content response analysis processing described with reference to FIG. 17 is prepared for each file type as described above (for example, Java content response analysis processing, PDF content response analysis processing, Silverlight content response analysis processing, and Flash content response analysis processing). ), Except for a specific data pattern for determination, etc., the process flow is substantially the same. However, for the HTML content response analysis process, a process flow different from other content response analysis processes may be adopted.
  • FIG. 18 is a flowchart showing the flow of HTML content response analysis processing by the malware behavior detection engine 25 according to this embodiment.
  • This flowchart explains in more detail the process when the HTML content response analysis process is called in step S204 of the content request analysis process described with reference to FIG.
  • the flowchart corresponds to the process of step S006 of the detection process described with reference to FIG. 5, in other words, the process of steps S101 to S103 of the process described with reference to FIG.
  • step S401 and step S402 the response packet corresponding to the HTTP request is monitored, and the content of the Content-Type header of the response is determined.
  • the communication acquisition unit 21 monitors a response packet in the same session / connection as the communication determined to have requested the HTML file in the content request analysis process (step S401).
  • the comparison unit 251 determines whether or not the type value of the HTML file is set in the Content-Type header of the response, thereby determining the acquired data and a predefined communication pattern ( P1-m) is determined, and it is determined whether or not an HTML file is included in the response (step S402). If it is determined that the HTML type value is not set in the Content-Type header of the response packet, the processing shown in this flowchart ends. On the other hand, if it is determined that the HTML type value is set in the Content-Type header of the response packet, the process proceeds to step S403.
  • step S403 it is determined whether or not the response body corresponds to a data pattern of a predefined HTML file.
  • the comparison unit 251 compares the acquired data (response) with a data pattern that can be included in the response body when the response includes an HTML file, so that the acquired data and a predefined communication pattern (P1-m) And determine whether or not the HTML file is included in the response. This is because even if an HTML type value is set in the content-type header of the response in step S402, another type of file may be disguised as an HTML file. This is a process for accurately determining the file type related to the response based on the difficult information.
  • step S404 if it is determined that the HTML type value is not set in the content-type header of the response, the process related to the acquired data ends, and the process illustrated in this flowchart ends. On the other hand, if it is determined that the HTML type value is set in the Content-Type header of the response, the process proceeds to step S404.
  • step S404 it is recorded that the communication pattern (P1-m) determined to be applicable, that is, “download of malicious content” is detected for the terminal related to the response and the request.
  • the type and value of the HTTP request header, destination IP address, destination FQDN, file (package) name, size, and detection time are recorded.
  • the determination unit 254 determines the activity phase of the terminal that has performed communication related to the request and response as the intrusion phase P1, and the evaluation value acquisition unit 252 includes the communication pattern (P1-m) corresponding to the input packet.
  • the grade Gr (P1-m) preset in the phase P1 and the communication pattern (P1-m), the phase P1 (h) of the terminal (h) related to the input packet, and the grade Gr (h, P1 of the phase) Obtain as -m). Thereafter, the processing shown in this flowchart ends.
  • FIG. 19 is a flowchart showing a flow of an execution file request analysis process by the malware behavior detection engine 25 according to the present embodiment. This flowchart corresponds to the process of step S006 of the detection process described with reference to FIG. 5, in other words, the process of step S101 to step S103 of the process described with reference to FIG.
  • step S501 it is determined whether or not the acquired data (a combination of one or more input packets) corresponds to an HTTP GET / POST / PUSH request.
  • the comparison unit 251 compares the acquired data with a communication pattern that is stored in advance (here, the HTTP GET / POST / PUSH request data pattern) and the communication pattern (P4-m ) And commonality. As a result of the determination, if it is determined that the acquired data is not an HTTP GET / POST / PUSH request, the process related to the acquired data is terminated, and the process illustrated in this flowchart is terminated. On the other hand, if it is determined that the acquired data is an HTTP GET / POST / PUSH request, the process proceeds to step S502.
  • step S502 it is determined which of the predefined communication patterns the acquired data (HTTP GET / POST / PUSH request) corresponds to.
  • the comparison unit 251 compares the acquired data with a previously stored communication pattern (in this case, a data pattern that can be included in the request when the requested file is an execution file), thereby defining the acquired data in advance.
  • the commonality with the communication pattern (P4-m) is determined. This is a process for accurately determining whether or not the file type related to the request is an executable file based on information that is difficult for an attacker to tamper with.
  • step S503 when it is determined that the acquired data does not include the feature related to the request for the executable file, the process related to the acquired data ends, and the process shown in the flowchart ends. On the other hand, if it is determined that the acquired data includes a feature related to the request for the executable file, the process proceeds to step S503.
  • the comparison unit 251 determines that the acquired data includes a feature related to the request for the executable file.
  • the conditions listed below are examples, and the conditions for determination are not limited to the examples in the present embodiment.
  • -Java User-Agent and Accept-Encoding header are not set in the HTTP request header.
  • -The HTTP request matches the suspicious HTTP communication pattern.
  • -Host or Host and Connection headers are set in the HTTP request header, and User-Agent and Accept headers are not set.
  • -The browser User-Agent is set, and the request header is configured differently from the normal request header of the browser ("The configuration of the header different from the normal request header of the browser" is normally set) Shows the case where the header is not set).
  • -User-Agent is not set or Connection is not set.
  • the value of the Host header is set to an IP address or an HTTP non-standard port number.
  • the file extension of the URI path part includes “.php”, “.asp”, “.aspx”, “.cgi”, and the Referer or Cookie header is not set.
  • step S503 an execution file response analysis process is executed.
  • the malware behavior detection engine 25 monitors the response for the communication in which it is determined that the requested file is an execution file, and determines whether the file related to the response is an execution file.
  • the execution file response analysis process is executed, the process shown in this flowchart ends.
  • FIG. 20 is a flowchart showing the flow of an execution file response analysis process by the malware behavior detection engine 25 according to this embodiment. This flowchart explains in more detail the processing in step S503 of the execution file response analysis processing described with reference to FIG. The flowchart corresponds to the process of step S006 of the detection process described with reference to FIG. 5, in other words, the process of steps S101 to S103 of the process described with reference to FIG.
  • step S601 and step S602 the response packet corresponding to the HTTP request is monitored, and the content of the Content-Type header of the response is determined.
  • the communication acquisition unit 21 monitors a response packet in the same session / connection as the communication in which it is determined that the execution file is requested in the execution file request analysis process (step S601).
  • the comparison unit 251 determines whether or not the type value of the executable file is set in the Content-Type header of the response, whereby the acquired data and the predefined communication pattern (P4 -M) and determine whether or not an execution file is included in the response (step S602). If it is determined that the type value indicating the execution file is set in the Content-Type header of the response packet, the process proceeds to step S604. On the other hand, if it is determined that the type value indicating the execution file is not set in the Content-Type header of the response packet, the process proceeds to step S603.
  • step S603 it is determined whether or not the response header or body corresponds to a predefined data pattern.
  • the comparison unit 251 compares the acquired data (response) with a previously stored data pattern (here, the data pattern that can be included in the header or body of the response when the response includes an execution file), thereby acquiring the acquired data And the communication pattern (P4-m) defined in advance are determined, and it is determined whether or not the execution file is included in the response. This is because even if the type value indicating the executable file is not set in the content-type header of the response in step S602, the content-type header may be falsified. This is processing for accurately determining the file type related to the response based on certain information.
  • a predetermined data pattern (signature or the like) set inside the file to indicate that it is an executable file that can be executed by a predetermined application is displayed at the head portion of the response body or at a predetermined position.
  • a data pattern such as a signature is a data pattern that is difficult for an attacker to falsify in order to cause the terminal application to execute the execution file, more accurate determination can be performed.
  • step S604 it is recorded that a communication pattern (P4-m) determined to be applicable, that is, “execution file download” is detected for the terminal related to the response and the request. Further, the determination unit 254 determines the activity phase of the terminal that has performed communication related to the request and response as the execution file download phase P4, and the evaluation value acquisition unit 252 determines the communication pattern (P4-m) corresponding to the input packet. ) Belongs to the phase P4 and the communication pattern (P4-m) to which the grade Gr (P4-m) is set in advance, the phase P4 (h) of the terminal (h) related to the input packet, and the grade Gr ( h, P4-m). Thereafter, the processing shown in this flowchart ends.
  • Mapped to For each communication mapped to the phase, the destination ( attack server) FQDN / IP address, HTTP request header information (method type, URI path information, Host header, User-Agent header, etc.), downloaded file type, Information such as file size and detection time is recorded.
  • ⁇ Detection of drive-by download attacks-correlation analysis> When a communication pattern corresponding to the execution file download phase P4 is detected by the above-described processing, in this embodiment, a correlation analysis between the communication mapped to the intrusion phase P1 and the communication mapped to the download phase P4 of the execution file is performed. Is executed (see FIG. 12). When it is determined that there is a correlation in the correlation analysis processing shown in FIG. 12, grade correction is performed based on a predetermined rule, and finally the presence or absence of malware infection (drive-by download attack) is determined (See the process shown in FIG. 8).
  • the “HTTP request and response satisfying a specific condition” are extracted from a large amount of HTTP packets, and the correlation analysis is performed. Can detect drive-by download attacks in real time.
  • the network monitoring device 20 is connected to a monitoring port (mirror port) of a switch or router, acquires packets and frames transmitted and received by the node 90, and is in a passive mode in which the acquired packets are not transferred.
  • a monitoring port mirror port
  • An example of operation has been described (see FIG. 1).
  • the network configuration shown in the above embodiment is an example for carrying out the present disclosure, and other network configurations may be adopted in the implementation.
  • the network monitoring device 20 may not be connected to the monitoring port (mirror port) but is simply connected to the network segment 2, the frame flowing through the network segment 2 may not be addressed to its own MAC address. By acquiring all of them including packets, frames, frames and the like transmitted and received by the node 90 can be acquired. Also in this case, the network monitoring device 20 operates in the passive mode. Further, for example, the network monitoring device 20 is connected between the switch or router of the network segment 2 and another switch or router in the upper layer so as to acquire a packet or a frame that passes therethrough. Good (see FIG. 21). In this case, the network monitoring device 20 operates in an inline mode in which packets that do not need to be blocked among the acquired packets are transferred. Further, the network monitoring device 20 may be included in a router or a switch.
  • this embodiment demonstrated the embodiment which acquires the packet which flows through a network and performs a real-time detection with the above-mentioned various detection engines
  • the application range of this indication is not limited to a real-time detection.
  • data related to communication flowing through the network may be stored, and the processing by the various detection engines described above may be performed on the stored data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

 マルウェア感染の誤検知または見逃しを低減させることを課題とする。情報処理装置20に、ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較部251と、比較の結果に従って、端末が不正な活動をしていると推測される程度を示す評価値と不正な活動のフェーズとを決定する決定部254と、端末毎に、評価値のフェーズ毎の最大値を保持する保持部255と、評価値のフェーズ毎の最大値に基づいて、端末が不正な活動を行っているか否かを判定する判定部257と、を備えた。

Description

情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム
 本発明は、ネットワークに接続された端末を管理する技術に関する。
 従来、トラフィックを分析する方法として、ネットワーク上のホスト間のフローに懸念指標値を割り当て、累積された懸念指標値が閾値を超えた場合にアラームを発する方法が提案されている(特許文献1および2を参照)。
 また、トラフィックを分析することで、所謂ドライブバイダウンロード(Drive-by Download)攻撃を検出する方法が種々提案されている(非特許文献1および2を参照)。
米国特許第7475426号明細書 米国特許第7185368号明細書
進藤 康孝、外3名、"マルウェア感染ステップのファイルタイプ遷移に基づいたDrive-by Download攻撃検知手法"、[online]、平成26年10月15日、情報処理学会、[平成26年12月15日検索]、インターネット〈URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=106598&item_no=1&page_id=13&block_id=8〉 松中 隆志、外2名、"Drive-by Download攻撃対策フレームワークにおけるWebアクセスログを用いたWebリンク構造の解析による悪性サイト検出手法の提案"、[online]、平成26年10月15日、情報処理学会、[平成26年12月15日検索]、インターネット〈URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=106596&item_no=1&page_id=13&block_id=8〉
 従来、マルウェア感染の検知を行うための技術として、指標値を累積していき、累積値が閾値を超えた場合に、マルウェアに感染していると判定する方法がある。しかし、このような方法では、指標値を定期的にクリアしなければ軽微な値の蓄積によっても累積値が閾値を超えてしまい、正常な端末を、マルウェアに感染していると誤検知してしまう虞がある。また、指標値を定期的にクリアする場合にも、クリアするタイミングによってはマルウェアを見逃してしまう虞がある。
 本開示は、上記した問題に鑑み、マルウェア感染の誤検知または見逃しを低減させることを課題とする。
 本開示の一例は、ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較手段と、前記比較の結果に従って、前記端末が不正な活動をしていると推測される程度を示す評価値と不正な活動のフェーズとを決定する決定手段と、前記端末毎に、前記評価値の前記フェーズ毎の最大値を保持する保持手段と、前記評価値の前記フェーズ毎の最大値に基づいて、前記端末が不正な活動を行っているか否かを判定する判定手段と、を備える情報処理装置である。
 本開示は、情報処理装置、システム、コンピューターによって実行される方法またはコンピューターに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
 本開示によれば、マルウェア感染の誤検知または見逃しを低減させることが可能となる。
実施形態に係るシステムの構成を示す概略図である。 実施形態に係るネットワーク監視装置および管理サーバーのハードウェア構成を示す図である。 実施形態に係るネットワーク監視装置の機能構成の概略を示す図である。 実施形態のマルウェアふるまい検知エンジンによって用いられる、マルウェアの活動遷移モデルを示す図である。 実施形態に係る、パケット毎の検知処理の流れの概要を示すフローチャートである。 実施形態に係る、マルウェアふるまい検知エンジンによる検知処理の流れを示すフローチャート(A)である。 実施形態に係る、マルウェアふるまい検知エンジンによる検知処理の流れを示すフローチャート(B)である。 実施形態に係る、マルウェアふるまい検知エンジンによる検知処理の流れを示すフローチャート(C)である。 実施形態における第一の相関分析で監視対象とする活動遷移モデル上のフェーズとその遷移を示す図である。 実施形態における第二の相関分析で監視対象とする、探索フェーズへの遷移を示す図である。 実施形態における第二の相関分析で監視対象とする、実行ファイルのダウンロードフェーズへの遷移を示す図である。 実施形態における、侵入フェーズに係る通信と実行ファイルのダウンロードフェーズに係る通信との相関性を判定するための相関分析処理の流れを示すフローチャートである。 実施形態における第二の相関分析で監視対象とする、C&C検索フェーズへの遷移を示す図である。 実施形態における第二の相関分析で監視対象とする、C&C通信フェーズへの遷移を示す図である。 実施形態における第二の相関分析で監視対象とする、攻撃フェーズへの遷移を示す図である。 実施形態に係る、コンテンツリクエスト解析処理の流れを示すフローチャートである。 実施形態に係る、コンテンツレスポンス解析処理の流れを示すフローチャートである。 実施形態に係る、HTMLコンテンツレスポンス解析処理の流れを示すフローチャートである。 実施形態に係る、実行ファイルリクエスト解析処理の流れを示すフローチャートである。 実施形態に係る、実行ファイルレスポンス解析処理の流れを示すフローチャートである。 実施形態に係るシステムの構成のバリエーションを示す概略図である。
 以下、本開示に係る情報処理装置、方法およびプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、方法およびプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施形態に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
 本実施形態では、本開示に係る情報処理装置、方法およびプログラムを、ネットワーク上で不正な活動を行っている端末を発見し、通信遮断やアラート通知等の対処を行うためのシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理装置、方法およびプログラムは、ネットワーク上の不正な活動を検知するための技術について広く用いることが可能であり、本開示の適用対象は、本実施形態において示した例に限定されない。
 <システムの構成>
 図1は、本実施形態に係るシステム1の構成を示す概略図である。本実施形態に係るシステム1は、複数の情報処理端末90(以下、「ノード90」と称する)が接続されるネットワークセグメント2と、ノード90に係る通信を監視するためのネットワーク監視装置20と、を備える。更に、管理サーバー50が、ルータ10を介してネットワークセグメント2と通信可能に接続されている。本実施形態において、ネットワーク監視装置20は、スイッチまたはルータ(図1に示した例では、ルータ)のモニタリングポート(ミラーポート)に接続されることで、ノード90によって送受信されるパケットやフレーム等を取得する。この場合、ネットワーク監視装置20は、取得したパケットを転送しないパッシブモードで動作する。
 管理サーバー50は、ネットワーク監視装置20から情報を収集し、ネットワーク監視装置20を管理する。なお、外部ネットワークには、更に検疫サーバーが設けられ、ネットワークセグメント2に接続されたノード90に対して検疫サービスを提供してもよいし、業務サーバーが設けられ、ノード90に対して業務のためのサービスを提供してもよい(図示は省略する)。
 本実施形態に係るシステム1では、ノード90から接続される各種サーバーは、インターネットや広域ネットワークを介して遠隔地において接続されたものであり、例えばASP(Application Service Provider)によって提供されるが、これらのサーバーは、必ずしも遠隔地に接続されたものである必要はない。例えば、これらのサーバーは、ノード90やネットワーク監視装置20が存在するローカルネットワーク上に接続されていてもよい。
 図2は、本実施形態に係るネットワーク監視装置20および管理サーバー50のハードウェア構成を示す図である。なお、図2においては、ネットワーク監視装置20および管理サーバー50以外の構成(ルータ10、ノード90等)については、図示を省略している。ネットワーク監視装置20および管理サーバー50は、それぞれ、CPU(Central Processing Unit)11a、11b、RAM(Random Access Memory)13a、13b、ROM(Read Only Memory)12a、12b、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14a、14b、NIC(Network Interface Card)15a、15b等の通信ユニット、等を備えるコンピューターである。
 図3は、本実施形態に係るネットワーク監視装置20の機能構成の概略を示す図である。なお、図3においては、ネットワーク監視装置20以外の構成(ルータ10、ノード90および管理サーバー50等)については、図示を省略している。ネットワーク監視装置20は、記憶装置14aに記録されているプログラムが、RAM13aに読み出され、CPU11aによって実行されることで、通信取得部21、通信遮断部22、アプリケーション検知エンジン23、プロトコルアノマリ検知エンジン24およびマルウェアふるまい検知エンジン25を備える情報処理装置として機能する。また、マルウェアふるまい検知エンジン25は、比較部251、評価値取得部252、補正部253、決定部254、保持部255、合計部256、判定部257および相関分析部258を含む。なお、本実施形態では、ネットワーク監視装置20の備える各機能は、汎用プロセッサであるCPU11aによって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサによって実行されてもよい。また、これらの機能の一部または全部は、クラウド技術等を用いて、遠隔値に設置された装置や、分散設置された複数の装置によって実行されてもよい。
 通信取得部21は、ネットワークに接続された端末によって送受信される通信を取得する。なお、本実施形態において、ネットワーク監視装置20による監視および検知の対象となる「端末」には、ネットワークセグメント2に接続されたノード90の他、ノード90とルータ10を介して通信するその他の装置(他のネットワークに属するノードや外部サーバー等)を含む。
 通信遮断部22は、アプリケーション検知エンジン23、プロトコルアノマリ検知エンジン24またはマルウェアふるまい検知エンジン25によって、端末が不正な活動を行っていると判定された場合に、当該端末による通信を遮断する。なお、本実施形態では、端末が不正な活動を行っていると判定された場合、当該端末の通信を遮断する対処が採られる例について説明しているが、端末が不正な活動を行っていると判定された場合の対処方法は、通信の遮断に限定されない。ネットワーク監視装置20は、端末が不正な活動を行っていると判定された場合に、アラート(警告)の通知を行ってもよいし、不正な活動を行っている端末の治癒(例えば、マルウェアの除去や脆弱性の除去)を行ってもよい。
 アプリケーション検知エンジン23は、マルウェアが利用する、業務に不要なアプリケーションがネットワーク上で通信を行っていることを検知するエンジンであり、例えば、既知のRAT(Remote Access Trojan)、P2P(Peer to Peer)アプリケーション、Tor(The Onion Router)、UltraSurf(Proxyツール)および匿名プロキシ等による通信を検知することで、ノード90において業務に不要なアプリケーションが動作していることを検知する。
 プロトコルアノマリ検知エンジン24は、ネットワーク上における、プロトコルに沿っていない通信を検知するエンジンであり、例えば、HTTPアノマリ検知エンジン、SSL/TLSアノマリ検知エンジンおよびDNSアノマリ検知エンジン等が含まれる。プロトコルアノマリ検知エンジン24は、これらのプロトコルに沿っていない通信を検知することで、ネットワーク上でプロトコルを遵守していない通信を行うノード90を検知する。
 マルウェアふるまい検知エンジン25は、マルウェアの活動遷移モデルに定義された、マルウェアによる不正な活動のフェーズごとに、ネットワーク上の通信と「マルウェア特有の通信パターン」との共通性を評価し、マルウェアの活動フェーズの遷移状況を監視することでマルウェアのふるまい(挙動)を分析し、ノード90におけるマルウェア感染を検知するエンジンである。
 図4は、本実施形態のマルウェアふるまい検知エンジン25によって用いられる、マルウェアの活動遷移モデルを示す図である。なお、本実施形態において示されるマルウェアの活動遷移モデルにはフェーズP1からフェーズP8が定義されているが、これは本実施形態において用いられる一例であり、マルウェアの活動遷移モデルは、実施の形態に応じて、適宜変更されてよい。以下、本実施形態に係るマルウェアの活動遷移モデルにおける各フェーズについて説明する。
 フェーズP1は、侵入フェーズ、即ち、標的型攻撃メールの添付ファイル、メールのURLのクリック、Webサイト(主に、SNSサイト)上のURLのクリック等を契機に、OSやアプリケーションの脆弱性を利用して感染する悪性コンテンツ(悪性コード、攻撃コード、エクスプロイト等とも称される)が投下されるフェーズである。フェーズP1からの移行先は、ワーム等の自律型のマルウェアが侵入した場合、フェーズP2、フェーズP4またはフェーズP8であり、ボット系のマルウェアの場合、フェーズP2またはフェーズP4である。
 フェーズP2は、探索フェーズ、即ち、脆弱性を持った感染端末の探索フェーズである。
 フェーズP3は、感染・浸潤フェーズ(拡散フェーズ)、即ち、脆弱な標的に対して攻撃コードを送り込んで感染させるかまたは他の端末から攻撃コードが送り込まれて感染させられるフェーズである。感染・浸潤フェーズでは、既に感染している端末を介して攻撃コードが標的の端末に送り込まれ、攻撃コードが送り込まれた端末がマルウェアに感染する。例えば、Windows(登録商標) OSのMS-RPCやファイル共有の脆弱性を利用して拡散活動が行われる。ボット系のマルウェアの場合は、攻撃者(ハーダー)から発行される、C&C(Command and Control)サーバーを経由した指令(フェーズP6)に基づいて感染活動(マルウェアの拡散活動)が実行される。フェーズP3からの移行先は、ワーム等の自律型のマルウェアの場合、フェーズP4またはフェーズP8であり、ボット系のマルウェアの場合、フェーズP4である。感染・浸潤フェーズは、2つの側面を持つ。1つは、感染元端末が感染活動を実行するフェーズである。もう1つは、被害者(感染先)端末として、攻撃コードが送り込まれ感染させられるフェーズである。
 フェーズP4は、実行ファイルのダウンロードフェーズ、即ち、攻撃コードが送り込まれたのち、マルウェアの配布サイトや既に感染している端末から、マルウェア本体である実行ファイルをダウンロードして活性化、またはアンチウィルス製品によるマルウェアの検出の回避や新しい機能の追加等の目的で、攻撃者からの指令(C&Cサーバー経由)に従って、指定されたサイトから、新しいマルウェアがダウンロードされるフェーズである。マルウェア本体のダウンロードには、主に、HTTP、FTP、TFTPが使用される。また、マルウェア独自のプロトコルを利用する場合もある。フェーズP4からの移行先は、ボット等の遠隔操作タイプのマルウェアの場合、フェーズP5またはP6であり、ワーム等の自律型のマルウェアの場合、通常、フェーズP2またはフェーズP8である。
 フェーズP5は、C&C検索フェーズ、即ち、攻撃者からの指令を受け取るためのC&Cサーバーを検索するフェーズである。このフェーズに遷移するマルウェアは、主に、ボット等の遠隔操作タイプのマルウェアである。マルウェアには、通常、複数のC&CサーバーのFQDNが組み込まれており、DNSクエリを使用してアドレス解決を行う。P2Pタイプのボットネットの場合は、P2Pプロトコル(汎用または独自プロトコル)を使用してC&Cノードを検索する。IPアドレスがハードコーディングされているタイプのマルウェアは、このフェーズでは活動しない。フェーズP5からの移行先は、フェーズP6である。
 フェーズP6は、C&C通信(含む、インターネット接続確認)フェーズ、即ち、攻撃者からの指令の受信と指令の実行結果の報告(応答)等を行うために、C&Cサーバーに接続してデータの送受信を行うフェーズである。C&Cサーバーに接続する前に、インターネット接続確認を行うマルウェアが存在する。C&Cサーバーとの接続には、フェーズP5でアドレス解決が成功したIPアドレスの何れか、またはマルウェアにハードコーディングされたIPアドレスの何れかが使用される。マルウェアの活動は、C&Cサーバーから指令を受信すると、攻撃者からの指令に従って、フェーズP6からフェーズP2、フェーズP4またはフェーズP8に移行する。実行結果は、C&Cサーバー経由で攻撃者に通知される。一方、マルウェアは、C&Cサーバーへの接続に失敗した場合、別のIPアドレスで接続を再試行し、それでも失敗した場合には、フェーズP5に戻って別のC&Cサーバーを検索するか、活動自体を停止する。なお、接続が成功するまで延々と再接続を繰り返すマルウェアの存在も報告されている。また、C&C通信パスに異常が発生し、リカバリできない場合、マルウェアの活動はフェーズP5に移行する。更に、一定期間でC&Cサーバーを変更する動作を行うマルウェアも存在し、この場合も、マルウェアの活動はフェーズP5に移行する。また、フェーズP6は、攻撃者からの指令を待ち合わせているフェーズを含む。マルウェアは、定期的にC&Cサーバーにアクセスして、通信パスを維持するとともに、攻撃者からの指令を待ち受ける。一定期間でC&Cサーバーを変更する動作を行うマルウェアも存在し、この場合も、マルウェアの活動はフェーズP5に移行する。
 フェーズP7は、搾取情報のアップロードフェーズ、即ち、マルウェア等が活動することによって得られた情報が、攻撃者側のサーバー等にアップロードされるフェーズである。
 フェーズP8は、攻撃活動フェーズ、即ち、攻撃者からの指令(ボット系)やマルウェア自体に組み込まれた攻撃コード(ワーム系)に従って、各種攻撃活動を行うフェーズである。攻撃標的を見つけるために、フェーズP1相当の活動が行われることもある。攻撃活動には、DoS攻撃、スパムメール攻撃、Web攻撃(Web改ざん)、踏み台等が含まれる。
 マルウェアふるまい検知エンジン25は、比較部251、評価値取得部252、補正部253、決定部254、保持部255、合計部256、判定部257および相関分析部258を有することで(図3を参照)、上記のように定義されたマルウェアの活動フェーズの遷移状況を監視し、ノード90におけるマルウェア感染を検知する。以下、マルウェアふるまい検知エンジン25が有する各機能部について説明する。
 比較部251は、通信取得部21によって新たに取得された通信(本実施形態では、新たに取得されて処理の対象となったパケット。以下「入力パケット」と称する)と、予め保持された通信パターンと、を比較する。通信パターンには、マルウェアの様々な活動の結果として現れる特異な通信パターンが、予め定義されている。本実施形態において、通信パターンは、マルウェアの活動遷移モデルのフェーズ毎に予め複数定義され、ネットワーク監視装置20または管理サーバーによって保持されており、フェーズPn(ここで、nは1から7までの整数)の通信パターンは、「Pn-m」(ここで、mは1以上の数値)のように表される。但し、何れのフェーズにも依存しない(換言すれば、複数の異なるフェーズにおいて出現し得る)通信パターンも存在する。本実施形態において、フェーズP1からフェーズP8の何れにも依存しない通信パターンは、「P0-m」で表される。
 評価値取得部252は、比較部251による比較の結果、入力パケットと一致または近似した(以下、単に「対応する」と称する)通信パターンについて予め設定されているグレード(評価値)を、入力パケットのグレードとして取得する。グレード(Gr)は、個々の通信パターンに割り当てられる「端末が不正な活動(マルウェアの活動)をしていると推測される程度」を示す値である。本実施形態において、グレード(Gr)は、0 ≦ Gr < 1.0の範囲の値(小数点以下1桁)が設定されている。グレード(Gr)=0は、マルウェアの活動の結果発生した通信パターンである可能性が極めて低いことを示し、1に近いグレードほどマルウェアの活動の結果発生した通信パターンである可能性が高いことを示す。グレード(Gr)は、正当なアプリケーションの通信パターンとして出現する頻度に基づいて、通信パターン毎に予め決定されている。即ち、正当なアプリケーションによる通信として現れる可能性が低い通信にはより高い値のグレードが割り当てられ、正当なアプリケーションによる通信として現れる可能性が高い通信にはより低いグレードが割り当てられる。本実施形態では、通信パターンPn-mに予め設定されたグレードが「Gr(Pn-m)」、通信パターンPn-mに該当する通信を行った端末(h)に割り当てられたグレードが「Gr(h, Pn-m)」で表される。
 なお、同一の通信パターンであっても、条件に基づいて、異なるグレード(Gr)が割り当てられ得る。例えば、通信パターンに付随して2つの条件「A:宛先がC&Cサーバーに一致しない」、「B:宛先がC&Cサーバーの1つに一致」が設定されている場合、以下のように条件判定され、宛先が登録済みのC&Cサーバーに一致するか否かによって、異なるグレードが割り当てられる。
IF (Pn-m = TRUE) AND (A) THEN Gr(Pn-m)=0.1、ACTION= C&Cサーバー候補リストに記録
IF (Pn-m = TRUE) AND (B) THEN Gr(Pn-m)=0.6、ACTION=No
 更に、本実施形態において、評価値取得部252は、入力パケットと、入力パケットに係る端末によって入力パケットよりも前または後に送信または受信された他のパケット(以下、「先行パケット」「後続パケット」と称する)と、の相関分析の結果に従って、グレードを取得する。より具体的には、本実施形態において、評価値取得部252は、通信取得部21によって取得された通信(入力パケット)に関して取得されたフェーズと、当該通信に係る端末に関して当該通信の前または後に行われた他の通信(先行パケットまたは後続パケット)に関して取得されたフェーズと、の間に連続性があるか否かを判定し、連続性があると判定された場合に、グレードを取得する。
 補正部253は、入力パケットと先行パケットまたは後続パケットとの相関分析の結果に従って、評価値取得部252によって取得されたグレードを補正する。より具体的には、本実施形態において、補正部253は、通信取得部21によって取得された通信(入力パケット)に関して取得されたフェーズと、当該通信に係る端末に関して当該通信の前または後に行われた他の通信(先行パケットまたは後続パケット)に関して取得されたフェーズと、の間に連続性があるか否かを判定し、連続性があると判定された場合に、評価値取得部252によって取得されたグレードを、連続性があると判定されなかった場合に比べてより大きく補正する。
 換言すれば、本実施形態では、新たに取得された通信(入力パケット)と、当該通信に係る端末による過去または未来の通信(先行パケットまたは後続パケット)との相関分析が行われ、入力パケットと先行パケットまたは後続パケットとの間に、「マルウェア活動として推定される度合いをより高めるような連続性」が認められた場合に、過去または未来の通信(先行パケットまたは後続パケット)に対するグレードの取得や、新たに取得された通信(入力パケット)に対するグレードの補正が行われる。
 決定部254は、入力パケットについて、当該端末に係るフェーズおよびグレードを決定する。決定部254は、比較部251による比較の結果、入力パケットに対応する通信パターンPn-mについて予め設定されているフェーズPnを、当該端末に係るフェーズとして決定する。また、決定部254は、評価値取得部252によって取得されたグレードGr(Pn-m)をそのまま入力パケットのグレードとして決定することもあるが、補正部253によってグレードが補正された場合には、補正された値が、入力パケットのグレードとして決定される。
 保持部255は、端末毎に、決定されたグレードのフェーズ毎の最大値を保持する。本実施形態では、保持部255は、マルウェア活動遷移モデルのフェーズPn毎に、当該フェーズPnについて検出された通信パターンPn-mのグレードGr(Pn-m)の最大値をフェーズPnのグレードとして保持し、「PGr(Pn)」で表す。端末(h)のフェーズPnのグレードは「PGr(h, Pn)」で表され、以下の式を用いて取得される。
PGr(h, Pn) = max {Gr(Pn-m) | Pn-m∈h}
 本実施形態において、保持部255は、端末毎にフェーズ毎のグレード最大値を保持するグレード管理テーブルを用いて、端末毎、フェーズ毎のグレードを管理する(図示は省略する)。グレード管理テーブルには、ネットワーク監視装置20が把握している端末(h)毎に、各フェーズPnのグレードPGr(h, Pn)が保持される。各フェーズPnのグレードPGr(h, Pn)は、先述の通り、当該フェーズPnについて検出された通信パターンPn-mのグレードGr(Pn-m)の最大値である。このため、何れかのフェーズについて新たにグレードが決定されると、新たに決定されたグレードとグレード管理テーブルに保持されているグレードPGr(h, Pn)とが比較され、最大値に更新される。なお、通信パターンPn-m毎のグレードGr(Pn-m)の最大値Gr(h, Pn-m)についても、記憶装置14aに保持される。
 合計部256は、端末毎に、フェーズP1からフェーズP8までの夫々のフェーズのグレードの最大値PGr(h, Pn)を取得し、これらを合計する。
 判定部257は、処理対象となっている端末(h)の、フェーズ毎のグレードの最大値PGr(h, Pn)に基づいて、端末が不正な活動を行っているか否かを判定する。本実施形態では、判定部257は、合計部256によって得られた合計値に基づいて、端末が不正な活動を行っているか否かを判定する。より具体的には、判定部257は、合計値に所定の重み付けを行うことで、「マルウェアが活動している可能性の高さを示す値」(以下、「マルウェア活動可能性」と称する)を算出し、この値が所定の閾値を超えた場合に、当該端末が不正な活動を行っていると判定する。端末(h)のマルウェア活動可能性は、端末(h)がマルウェアに感染している可能性の度合いを示し、「IR(h)」で表される。端末(h)のマルウェア活動可能性は、0(感染なし)~100(感染の可能性大)の値を取る。即ち、本実施形態において、端末(h)のマルウェア活動可能性は、以下のように定義される。ここで、ψはマルウェア活動係数を示す。
Figure JPOXMLDOC01-appb-M000001
 一般に、活動遷移モデルの多くの(連続した)フェーズ上で通信パターンが検出された端末は、より少ないフェーズ上で通信パターンが検出された端末よりも、マルウェアに感染している可能性が高いと判断できるため、マルウェア活動係数ψ(本実施形態では、具体的な値として0.5が設定される)を導入する。上記のマルウェア活動可能性IR(h)は、端末(h)に関連する通信パターンに対応する通信パターンが検出される都度、計算および更新される。
 本実施形態では、マルウェア活動可能性が、0~49の端末を「クリーン端末」、50~89の端末を「グレー端末」、90~100の端末を「ブラック端末」と定義する。管理者端末の管理画面(デバイス一覧画面)には、リアルタイムレポート情報として、端末ごとに、マルウェア活動可能性と「クリーン」、「グレー」、「ブラック」が表示される。また、詳細情報として、端末ごとに、検出された「通信パターン」の概要と検知回数のリストが表示される。なお、「クリーン」、「グレー」、「ブラック」のマルウェア活動可能性の閾値は、管理者によって設定可能であってもよい。
 相関分析部258は、入力パケットと、入力パケットに係る端末によって入力パケットよりも前または後に送信または受信された他のパケット(先行パケットまたは後続パケット)と、の相関分析を行う。即ち、本実施形態において実施される相関分析は、2つ以上の通信間または2つ以上のフェーズ間に連続性や共通性等の相関性の有無または程度を分析するものであり、相関分析の結果は、評価値取得部252、補正部253および判定部257等によって用いられる。例えば、相関分析部258は、決定部254によって、侵入フェーズP1であると決定された第一の通信と、実行ファイルのダウンロードフェーズであると決定された第二の通信との相関分析を行うことで、第一の通信によるコンテンツのダウンロードと、第二の通信による実行ファイルのダウンロードとの間の相関性の有無または程度を判定する。その他、相関分析の具体的な手法については、後述する。
 <処理の流れ>
 次に、本実施形態に係るシステム1によって実行される処理の流れを、フローチャートを用いて説明する。なお、以下に説明するフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
 ネットワーク監視装置20は、新たなネットワークに接続されると、後述するパケット毎の検知処理を開始する前に、準備処理として、ネットワーク構成の解析/学習処理を実行する。具体的には、ネットワーク監視装置20は、新たなネットワークに接続されると、所定時間パケットを取得して、取得されたパケットを解析することで、監視対象となるネットワークの構成を解析し、マルウェア検知に必要な情報(デバイス一覧(デバイスタイプ、OS種別、MAC/IPアドレス等)、監視対象ネットワークのアドレス体系、DNSサーバー情報、メールサーバー情報、プロキシ(HTTP/SOCKS)情報、Active Directory情報等)を学習し、記憶装置14a等に保存する。
 なお、ネットワーク構成の解析/学習処理は、後述する検知処理が開始された後も、ネットワーク監視装置20によって継続的に実行される。即ち、ネットワーク監視装置20は、取得されたパケットを解析して得られた情報と、以前の解析/学習処理によって学習され、ネットワーク監視装置20の記憶装置14aに保持されている情報とを照合し、照合の結果、新たに得られた情報が保持されている情報と異なる場合、ネットワーク監視装置20は、ネットワークセグメント2における構成が変更されたと判断し、新たに得られた情報を用いて、ネットワーク監視装置20の記憶装置14aに保持されている情報を更新する。
 図5は、本実施形態に係る、パケット毎の検知処理の流れの概要を示すフローチャートである。本実施形態に係る検知処理は、ネットワーク監視装置20によって、ネットワーク上を流れるパケット(または、複数パケットからなるデータ)が取得される度に実行される。
 ステップS001では、パケット解析の前処理が実行される。ネットワーク監視装置20は、通信取得部21によって新たに通信(入力パケット)が取得されると、入力パケットの整形、分類、および有効な既存フローへの関連付けを行う。また、ネットワーク監視装置20は、入力パケットを端末単位(送信元/宛先IPアドレス(MACアドレス)単位)、プロトコル(TCP/UDP、ICMP、DNS、HTTP、HTTPS、IRC、FTP、TFTP、SOCKS、NetBIOS等)単位に分類、および既存フローとの関連付けを行う。その後、処理はステップS002へ進む。
 ステップS002からステップS005では、アプリケーション検知エンジン23およびプロトコルアノマリ検知エンジン24による処理が行われる。本実施形態に係るネットワーク監視装置20は、上述した3種類の検知エンジン(検知プログラム)を用いて、ネットワークに接続された端末による不正な通信を検知するが、本実施形態において、ネットワーク監視装置20は、パケットを取得すると、アプリケーション検知エンジン23およびプロトコルアノマリ検知エンジン24による検知を行った後で、マルウェアふるまい検知エンジン25による検知を行う。即ち、本実施形態において、マルウェアふるまい検知エンジン25は、他の検知手段(アプリケーション検知エンジン23およびプロトコルアノマリ検知エンジン24)によって不正な通信として検知されなかった通信に基づいて、ノード90が不正な活動を行っているか否かを判定する。このようにすることで、本実施形態によれば、マルウェアふるまい検知エンジン25によって処理されるパケットの数を減らし、ふるまい検知エンジンの動作によって生じる負荷を減らすことが出来る。但し、マルウェアふるまい検知エンジン25は、単体で動作してもよいし、その他の検知エンジンと組み合わせて動作されてもよい。また、パケットが取得された際の検知エンジンの処理順序は、本実施形態に示した例に限定されない。
 アプリケーション検知エンジン23によって不要なアプリケーションが検知された場合や、プロトコルアノマリ検知エンジン24によってプロトコルアノマリが検知された場合、処理はステップS012へ進み、遮断またはアラート発行が行われる。一方、不要なアプリケーションやプロトコルアノマリが検知されなかった場合、処理はステップS006へ進む。なお、本フローチャートにおいて、ステップS006からステップS011までの処理は、マルウェアふるまい検知エンジン25による処理に相当する。
 ステップS006では、通信パターンの判定処理が行われる。比較部251は、入力パケットと予め定義された通信パターン(Pn-m)とを比較することで、入力パケットと予め定義された通信パターン(Pn-m)との共通性を判定する。ここで、通信パターン(Pn-m)と共通性があると判定された場合、入力パケットに係る端末(h)の活動遷移モデル上のフェーズはフェーズPn(h)に決定される。また、評価値取得部252は、判定の結果、一致または近似する(対応する)と判定された通信パターンのグレードGr(Pn-m)を、端末(h)に関連づけて、入力パケットのグレードGr(h, Pn-m)として取得する。更に、ネットワーク監視装置20は、検出した通信パターンに基づいて、対象通信の送信元端末または宛先端末を「マルウェア配布サーバー候補リスト」、または「C&Cサーバー候補リスト」に登録する。ここでは、パケットロストを考慮して、すべてのフェーズの通信パターンを対象に判定および評価が行われる。なお、既知の判定済みフローと関連付いているために、追加の判定処理が不要な入力パケットについては、判定は行われず、統計情報の更新のみが行われる。その後、処理はステップS007へ進む。
 ステップS007では、第一の相関分析が行われる。評価値取得部252は、ステップS006で検出できなかったC&C通信をピックアップする。評価値取得部252は、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、攻撃活動フェーズP8に遷移する際に、そのトリガーとなった通信をピックアップし、ネットワーク監視装置20は、対象通信の送信元端末または宛先端末C&Cサーバー候補リストに登録する。なお、第一の相関分析の処理内容については、図6から図8、および図9を参照して後述する。その後、処理はステップS008へ進む。
 ステップS008では、第二の相関分析が行われる。補正部253は、ステップS006で判定された端末(h)の活動フェーズPn(h)について、その直前に活動していたフェーズとの連続性や他の(感染)端末の挙動との相関性を分析する。分析の結果、マルウェアの挙動である疑いの高い通信パターンが発見された場合、補正部253は、ステップS006で判定した端末(h)の通信パターン(Pn-m)のグレードGr(h, Pn-m)を、以下の式を用いて補正し、より高いグレードを割り当てる。
Gr(h, Pn-m) = θ・Gr(h, Pn-m)
但し、マルウェア挙動類似係数θの範囲は1.0から2.0。ここで1.0は「類似性なし」を意味する。なお、第二の相関分析の処理内容、およびマルウェア挙動類似係数θについては、図6から図8、および図10から図15を参照して後述する。その後、処理はステップS009へ進む。
 ステップS009では、活動フェーズのグレード(PGr)が決定される。決定部254は、ステップS006からステップS008の処理結果に基づいて、対応する端末hの通信パターンのグレードGr(h, Pn-m)から、フェーズPnのグレードPGr(h, Pn)iを決定する。なお、ここで、PGr(h, Pn)i-1は、前回までのフェーズPnのグレードを示す。
PGr(h, Pn)i = max {PGr(h, Pn)i-1 , Gr(h, Pn-m)}
その後、処理はステップS010へ進む。
 ステップS010では、マルウェア活動可能性(IR(h))が算出される。合計部256および判定部257は、端末hのマルウェア活動可能性IR(h)を算出する。具体的な算出方法については、合計部256および判定部257の説明において上述した通りである。その後、処理はステップS011へ進む。
 ステップS011およびステップS012では、マルウェア活動可能性IR(h)が所定の閾値以上である場合に、該当端末の遮断や管理者アラート発行等の対処が行われる。判定部257は、ステップS010で算出された端末のマルウェア活動可能性が「ブラック」を示す所定の閾値以上であるか否かを判定する(ステップS011)。そして、マルウェア活動可能性が「ブラック」の場合、通信遮断部22は、該当端末による通信を遮断する、または管理者にアラートを発行する等の対処を行う(ステップS012)。また、マルウェア活動可能性が「グレー」の場合にも、ネットワーク監視装置20は、管理者にアラートを発行してよい。マルウェア活動可能性が「クリーン」の場合は、遮断やアラートの発行等の対処は行われない。その後、本フローチャートに示された処理は終了する。
 図6から図8は、本実施形態に係る、マルウェアふるまい検知エンジン25による検知処理の流れを示すフローチャートである。本フローチャートは、図5を用いて説明した検知処理のステップS006からステップS012の処理をより詳細に説明するものである。より具体的には、ステップS101からステップS103は、図5のステップS006で説明した通信パターン判定処理をより詳細に説明するものであり、ステップS104からステップS110は、ステップS007で説明した第一の相関分析処理をより詳細に説明するものであり、ステップS111からステップS116は、ステップS008で説明した第二の相関分析処理をより詳細に説明するものであり、ステップS117からステップS120は、ステップS009で説明した活動フェーズのグレード決定処理をより詳細に説明するものである。また、ステップS121は、図5のステップS010に相当し、ステップS122およびステップS123は、ステップS011およびステップS012に相当する。
 ステップS101およびステップS102では、取得されたパケット(入力パケット)が、予め定義された通信パターンの何れに該当するかが判定される。比較部251は、入力パケットと予め保持された通信パターンとを比較することで、入力パケットと予め定義された通信パターン(Pn-m)との共通性を判定する。判定の結果、何れの通信パターンにも該当しないと判定された場合、当該パケットに係る処理は終了し、本フローチャートに示された処理は終了する。一方、何れかの通信パターンに該当すると判定された場合、処理はステップS103へ進む。
 ステップS103では、入力パケットに係る端末に関して、該当すると判定された通信パターン(Pn-m)が検出されたことが記録される。また、評価値取得部252は、入力パケットに対応する通信パターン(Pn-m)が属するフェーズPnおよび通信パターン(Pn-m)に予め設定されているグレードGr(Pn-m)を、入力パケットに係る端末(h)のフェーズPn(h)、および当該フェーズのグレードGr(h, Pn-m)として取得する。その後、処理はステップS104へ進む。
 ステップS104およびステップS105では、入力パケットに対応する通信パターンに必須条件が設定されている場合に、必須条件に対応する通信が過去に取得されているか否かが判定される。必須条件が設定されていない場合、処理はステップS107へ進む。ここで、必須条件とは、ステップS101において入力パケットに対応すると判定された通信パターン(Pn-m)に予め設定されているグレードGr(Pn-m)を、当該入力パケットに係る端末(h)のフェーズPn(h)のグレードGr(h, Pn-m)として決定してよいか否かを判定するための条件である。例えば、「P6-4: HTTP標準ポート(80)を宛先ポートとしたHTTP通信(プロキシ/非プロキシ)」の通信パターンはHTTPの一般的な通信であるが、この通信パターンは、「P0-1~P0-15」に定義されている「HTTP悪性通信パターン」の何れかが検知されていることが必須条件である。このため、これらの必須条件が満たされた場合に、当該入力パケットについて通信パターンP6-4のグレードGr(h, P6-4)が決定され、必須条件が満たされない場合は、当該入力パケットについて通信パターンP6-4のグレードGr(h, P6-4)は決定されない。
 即ち、評価値取得部252は、入力パケットに関して取得されたフェーズと、当該通信に係る端末に関して当該通信の前に行われた他の通信(先行パケット)に関して取得されたフェーズと、の間に連続性があるか否かを、過去に取得された通信が必須条件を満たしているか否かを判定することで判定する。必須条件が満たされないと判定された場合、処理はステップS106へ進み、当該入力パケットのグレードは0(ゼロ)に設定される。一方、必須条件が満たされると判定された場合、処理はステップS107へ進む。
 ステップS107では、入力パケットに係る端末のフェーズにグレードが割り当てられる。評価値取得部252は、入力パケットについて、該当すると判定された通信パターンPn-mに予め定義されたグレードGr(Pn-m)を取得し、端末(h)のフェーズPn(h)のグレードGr(h, Pn-m)とする。その後、処理はステップS108へ進む。
 ステップS108では、入力パケットが、過去に検知された通信パターンの必須条件に該当するか否かが判定される。換言すれば、ステップS108では、過去に取得された通信(先行パケット)から見て未来にあたる現時点において、必須条件に該当する通信(入力パケット)が検知されたか否かが判定される。評価値取得部252は、入力パケットの通信パターンが必須条件に設定されている通信パターンが、過去に検出されているか否かを判定する。判定の結果、入力パケットに係る通信パターンを必須条件とする通信パターンが過去に検出されていないと判定された場合、処理はステップS111へ進む。一方、判定の結果、入力パケットに係る通信パターンを必須条件とする通信パターンが過去に検出されていると判定された場合、処理はステップS110へ進む。
 ステップS110では、過去に取得された通信(先行パケット)のフェーズにグレードが割り当てられる。評価値取得部252は、過去に検出された通信に、当該通信パターン(Pn-m)に予め定義されたグレードGr(Pn-m)を取得し、割り当てる。その後、処理はステップS111へ進む。
 ステップS111およびステップS112では、入力パケットに対応する通信パターンにグレード補正条件が設定されている場合に、グレード補正条件に該当する通信が過去に取得されているか否かが判定される。グレード補正条件が設定されていない場合、処理はステップS114へ進む。ここで、グレード補正条件とは、ステップS101において入力パケットに対応すると判定された通信パターン(Pn-m)に予め設定されているグレードGr(Pn-m)をより大きな値に補正すべきか否かを判定するための条件である。補正部253は、グレード補正条件に該当する通信が、入力パケットに係る端末について過去に検知されているか否かを判定する。グレード補正条件が満たされないと判定された場合、グレードの補正は行われず、処理はステップS114へ進む。一方、必須条件が満たされると判定された場合、処理はステップS113へ進む。
 ステップS113では、グレードの補正が行われる。補正部253は、ステップS112で満たされたと判定されたグレード補正条件について予め設定された補正値に従って、ステップS107で割り当てられたグレードGr(h, Pn-m)を補正する。例えば、補正値が1.5である場合、グレードGr(h, Pn-m)の値が1.5倍される。その後、処理はステップS114へ進む。
 ステップS114では、入力パケットが、過去に検知された通信パターンのグレード補正条件に該当するか否かが判定される。換言すれば、ステップS114では、過去に取得された通信(先行パケット)から見て未来にあたる現時点において、グレード補正条件に該当する通信(入力パケット)が検知されたか否かが判定される。補正部253は、入力パケットの通信パターンがグレード補正条件に設定されている通信パターンが、過去に検出されているか否かを判定する。判定の結果、入力パケットに係る通信パターンをグレード補正条件とする通信パターンが過去に検出されていないと判定された場合、処理はステップS117へ進む。一方、判定の結果、入力パケットに係る通信パターンをグレード補正条件とする通信パターンが過去に検出されていると判定された場合、処理はステップS116へ進む。
 ステップS116では、過去の通信(先行パケット)に係るグレードの補正が行われる。補正部253は、過去に検出された通信パターンに係る端末に割り当てられていたグレードを、当該グレード補正条件について予め定義された補正値で補正する。例えば、補正値が1.5である場合、グレードが1.5倍される。その後、処理はステップS117へ進む。
 ステップS117からステップS120では、フェーズ毎の最大グレードの更新処理が行われる。まず、ネットワーク監視装置20は、入力パケットに係る端末について、検知フェーズ(P1からP8)毎に保持されている最大グレード(補正されているグレードについては、補正後の値)を、グレード管理テーブルから取得し(ステップS117)、ステップS101からステップS116までの処理の結果決定部254によって決定されたグレードと比較することで、各フェーズにおいて、最大グレードが更新されたか否かを判定する(ステップS118)。ここで、最大グレードが更新されていないと判定された場合、処理はステップS121へ進む。一方、最大グレードが更新されたと判定された場合、保持部255は、新たに割り当てられたグレードをもって、グレード管理テーブルに記録された最大グレードを更新し、これを保持する(ステップS120)。なお、この過程で、証跡ログが採取される(ステップS119)。その後、処理はステップS121へ進む。
 ステップS121では、端末におけるマルウェア活動可能性が算出される。合計部256は、当該端末hの各フェーズで求められた最大グレードを合算し、判定部257は、マルウェア活動係数を乗算することで、端末hのマルウェア活動可能性IR(h)を算出する。詳細な算出方法は、合計部256および判定部257の説明において上述した通りである。その後、処理はステップS122へ進む。
 ステップS122およびステップS123では、対象ノード90の、マルウェア感染の有無が判定される。判定部257は、ステップS121で算出されたマルウェア活動可能性IR(h)が所定の閾値を超えているか否かを判定する(ステップS122)。ここで、マルウェア活動可能性IR(h)が閾値を超えていると判定された場合、ネットワーク監視装置20は、マルウェア感染が検知された際の所定の対応を行う。マルウェア感染が検知された際の対応としては、例えば、通信遮断部22による当該ノード90の通信遮断開始や、当該ノード90がマルウェアに感染していることのアラート(警告)の通知等が挙げられる。一方、マルウェア活動可能性IR(h)が閾値を超えていないと判定された場合には、通信遮断や警告等の、マルウェア感染が検知された際の対応は行われない。その後、本フローチャートに示された処理は終了する。
 なお、ネットワーク監視装置20は、例えば、L2/L3スイッチから取得された通信データを破棄する方法、L2/L3スイッチのポートを遮断する方法、ノード90に対してARP偽装によるパケット送信先の誘導を行う方法、ルータ10に指示してノード90に係る通信を破棄させる方法、またはノード90が属するVLANを変更して隔離する方法、等を用いて、ノード90による通信を遮断することができる。また、ネットワーク監視装置20がルータ10に搭載(内包)されている場合には、ノード90が受信または送信する通信を直接遮断することもできる。また、ネットワーク監視装置20は、管理サーバーやノード90、予め設定された管理者端末等に通知パケットやメール等を送信する方法や、ネットワーク監視装置20自身に設けられた表示装置(ディスプレイやLED等)を介して警告表示する方法等を用いて、アラートを通知することが出来る。
 <相関分析の具体例>
 以下に、相関分析の具体例を説明する。但し、相関分析は、端末による複数の通信が、マルウェアの活動に伴うフェーズの遷移の観点から相関性を有しているか否かを分析するものであればよく、本実施形態に示された例に限定されない。
 (1)第一の相関分析
 通信パターンの判定処理(ステップS006を参照)は、予め定義された「通信パターン」に基づいている。従って、この処理のみでは、通信パターンに一致しない通信を行うマルウェアを検知できない。このため、本実施形態では、第一の相関分析(ステップS007を参照)を行うこととしている。
 図9は、本実施形態における第一の相関分析で監視対象とする活動遷移モデル上のフェーズとその遷移を示す図である。一般に、マルウェアは、C&Cサーバーからの指令に従って、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、または攻撃活動フェーズP8に遷移する。また、C&Cサーバーからの指令を受信してから、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、攻撃活動フェーズP8に遷移するまでの時間は、非常に短い(1秒以内)ことが一般的である。第一の相関分析では、この特性を利用して、端末(h)が、探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4、または攻撃活動フェーズP8に遷移した際に、トリガーとなった通信を一旦C&C通信と見なして、当該通信に係る端末をC&Cサーバー候補リストに登録する。C&Cサーバー候補リストに登録した後、マルウェアの感染を特定する処理は上記に示したマルウェアの検知方法に従う。
 (1.1)準備(評価情報の収集)
 第一の相関分析では、活動遷移モデル上の探索フェーズP2、感染・浸潤フェーズP3、実行ファイルのダウンロードフェーズP4または攻撃活動フェーズP8における活動が観測(通信パターンが検出)された際に、そのトリガーとなった通信を分析して、一定の条件を満たす場合に、そのトリガーとなった通信の送信元(端末(h)から見た場合は接続先)をC&Cサーバー候補としてリストに登録する。以下に、第一の相関分析で利用する情報の収集方法と記録内容を説明する。なお、以下の処理は、監視対象端末が送信したパケットを検出するたびに実行される。また、この準備(評価情報の収集)処理は、通信パターンの判定処理(ステップS006を参照)の終了後に実行される。
 (1.1.1)分析
 パケットを分析して、以下の条件を満たす場合は(1.1.2)のパケット待ち合わせに進む。条件を満たさない場合は、何もせずパケットを待ち合わせる。
・パケットは、端末(h)が送信したHTTP GET、POST、PUT、CONNECTリクエストの何れかである。且つ
・GETリクエストは、ファイルのダウンロード要求ではない。且つ
・User-Agentヘッダーの値が”Mozilla”で始まらない、またはUser-Agentヘッダーが存在しない。
 なお、上記したUser-Agentの条件は、ウェブブラウザ以外のアプリケーションが送信したHTTPリクエストだけを評価対象にすることを意味する。(偽装)ウェブブラウザ通信は、通信パターンの判定処理で評価対象になっているため、第一の相関分析では、非ウェブブラウザ通信のみが対象となる。そして、上記の条件を満たされた場合、端末(h)の管理テーブルには以下の情報が記録される。
・メソッド種別(GET, POST, PUT, CONNECTの何れか)
・User-Agentヘッダーの値(文字列)。User-Agentヘッダーが存在しない場合は”NULL”
・Hostヘッダーの値(FQDNまたはIPアドレス)
 (1.1.2)パケット待ち合わせ
 ここでは、後続のパケットが待ち合わせられる。パケットが受信されると、以下の処理が実行される。
・パケットが(1.1.1)の条件を満たす端末(h)が送信した新しいHTTPリクエストである場合、処理は(1.1.1)の分析に戻る。なお、HTTPリクエストおよびそのレスポンスとしては、最新のデータのタイムスタンプのみが必要だが、パケットロストが発生する可能性があるため、全てのHTTPレスポンス受信時にタイムスタンプを記録して、後続のレスポンスを受信した場合に上書きしてもよい。
・パケットが、端末(h)が(1.1.1)で送信したHTTPリクエストのレスポンスであり、且つHTTPレスポンスのホディ部のサイズがゼロである場合、処理は(1.1.1)に移行する。これは、HTTPレスポンスのホディ部のサイズがゼロの場合、C&Cサーバーからの指令情報を含んでいないことを意味するためである。
・パケットは、端末(h)が(1.1.1)で送信したHTTPリクエストのレスポンスである。且つHTTPレスポンスのホディ部のサイズがゼロでない場合は、以下に示す内容を記録して、処理は(1.1.3)に移行する。
・HTTPレスポンスパケットの検出(受信)時刻(タイムスタンプ:ミリ秒)を記録する。以降、このタイムスタンプを「TimeStamp(C)」で表す。なお、ここではHTTPレスポンスの最終データのタイムスタンプのみが必要であるが、パケットロストが発生する可能性があるため、全てのHTTPレスポンス受信時にタイムスタンプを記録して、後続のレスポンスを受信した場合に上書きすることとする。
 (1.1.3)判定
 ここでは、以下の判定および処理が行われる。
・(1.1.2)で処理したパケットがHTTPレスポンスの最終データではない場合、マルウェアふるまいエンジン25は、(1.1.2)に留まって、後続のレスポンスを待ち合わせる。
・(1.1.2)で処理したパケットがHTTPレスポンスの最終データであった場合、マルウェアふるまいエンジン25は、(1.1.1)の分析に移り、新規のHTTPリクエストを待ち合わせる。
 (1.2)探索フェーズP2への遷移時の処理内容
 マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・探索フェーズP2上の活動と認定(「探索フェーズP2の通信パターン」に一致)且つ
・探索フェーズP2に遷移した時刻(タイムスタンプ:TimeStamp(P2))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P2)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信(入力パケット)には、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P2)は、通信パターンの判定処理で、「探索フェーズP2の通信パターン」を検出した際に記録される。TimeStamp(P2)の計測対象は、探索フェーズ上の「疑わしい接続の試み」に該当する通信パターンのみである。また、通信パターンの観測時刻は、「疑わしい接続の試み」に該当する通信パターンを検出した時刻とする。
 (1.3)実行ファイルのダウンロードフェーズP4への遷移時の処理内容
 マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・実行ファイルのダウンロードフェーズP4上の活動と認定(「実行ファイルのダウンロードフェーズP4の通信パターン」に一致)且つ
・実行ファイルのダウンロードフェーズP4に遷移した時刻(タイムスタンプ:TimeStamp(P4))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P4)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信に、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P4)は、通信パターンの判定処理で、「実行ファイルのダウンロードフェーズP4の通信パターン」を検出した際に記録される。TimeStamp(P4)は、HTTP GETリクエスト、FTPダウンロード、TFTPダウンロードの開始時刻ではなく、ファイルのダウンロードが完了した時刻(HTTP GETの場合は、レスポンスの最終パケット)とする。パケットロストが発生するため、HTTP GETレスポンスの個々のパケット、FTP/TFTPのダウンロードパケットを検出するたびにTimeStamp(P4)を更新してもよい。
 (1.4)攻撃フェーズP8への遷移時の処理内容
 マルウェアふるまい検知エンジン25は、以下の処理を順次行い、条件を満たす場合に、「準備(評価情報の収集)」で記録したパケットに係る端末をC&Cサーバー候補リストに登録する。
・攻撃フェーズP8上の活動と認定(「攻撃フェーズP8の通信パターン」に一致)且つ
・攻撃フェーズP8に遷移した時刻(タイムスタンプ:TimeStamp(P8))と記録しているTimeStamp(C)が以下の条件を満たす。
TimeStamp(C)+500ms > TimeStamp(P8)
マルウェアふるまい検知エンジン25は、上記の条件を満たす「準備(評価情報の収集)」で記録した通信には、グレード(Gr)=0.3を付与する。記録しているC&C通信フェーズのグレード(PGr)と比較して、大きい値のグレードをC&C通信フェーズのグレード(PGr)として記録し直す。なお、TimeStamp(P8)は、通信パターンの判定処理で、「攻撃フェーズP8の通信パターン」を検出した際に記録する。TimeStamp(P8)は、(複数のパケットから最終的に)攻撃活動を認定した時刻ではなく、攻撃の通信パターンの最初のパケットを検出した時刻である。
 (2)第二の相関分析
 マルウェアは、マルウェア活動遷移モデルのフェーズを遷移しながら活動を深化させていく。従って、遷移した直後のフェーズでの活動(通信)が、一つ前のフェーズでの活動(通信)をトリガーにして発生した可能性が高い場合(換言すれば、前後のフェーズに相関性がある場合)、当該端末はマルウェアに感染している確率が高いと判断できる。このトリガーを通信パターンに含まれるデータ内容(例えば、C&Cサーバーからの指令内容)から判断する方法も考えられるが、データ部を暗号化や難読化しているマルウェアも多く、リアルタイムに解析・判定することは困難である。このため、本実施形態では、フェーズの遷移に要した時間(通信パターンPr-sを検出してから通信パターンPm-nを検出するまでの時間)、通信先(コールバック通信)の端末(h)、マルウェア感染の可能性が高い複数端末の挙動の相関性および一致性、扱ったファイルの種類等の情報に基づいて第二の相関分析(ステップS008を参照)を行う。分析の結果、マルウェアの挙動の疑いが高い通信であると判定できた場合は、その通信に対応する通信パターンPm-nのグレードGr(Pm-n)を補正(マルウェアの挙動類似係数θ倍)し、より高いグレードを付与する。
 以下に、通信パターンの相関分析の分析内容を説明する。なお、フェーズの遷移順序が一致しない場合や、フェーズの遷移は一致しているが途中に別のフェーズを挟んでいる場合は、分析対象外として相関分析は行われない。また、マルウェアふるまい検知エンジン25は、すべてのフェーズ遷移を相関分析の対象としない。マルウェアふるまい検知エンジン25は、マルウェアの挙動として顕著な相関性が観測される以下のフェーズ遷移を、相関分析の対象とする。図10から図15において、実線矢印は分析対象であることを、破線矢印は分析対象でないことを示す。
 (2.1)探索フェーズP2への遷移時の分析内容
 図10は、本実施形態における第二の相関分析で監視対象とする、探索フェーズP2への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が探索フェーズP2に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
 (2.1.1)C&C通信フェーズP6から探索フェーズP2へ遷移
if {条件A = TRUE} then {Gr(h, P2-m) = θ・Gr(h, P2-m)} (θ=1.2)
・条件A:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータ(指令)を受信)を観測してから、N(a)秒以内に、端末(h)で探索フェーズの通信パターンP2-mを観測した。
 なお、ここでC&Cサーバーからデータ(指令)を受信した時刻は、以下のパケットを観測した時刻とする。
・C&CがHTTPタイプである場合、HTTP GET/POST/PUTリクエストに対応する、データ長(ボディ部のサイズ)がゼロでないHTTPレスポンスの(最終)データの受信時刻
・C&CがHTTPS(直接またはCONNECT)または独自プロトコルタイプである場合、該当TCPコネクション上で、端末(h)が送信したデータパケットに対応する、データ長がゼロでない(最終)TCPデータの受信時刻
・C&CがIRCタイプである場合、C&Cサーバーからデータ長がゼロでないIRCメッセージの最終データの受信時刻
ここで、探索フェーズの通信パターンP2-mは、「疑わしい接続の試み」に該当する通信パターンだけを対象とする。また、通信パターンの観測時刻は、「疑わしい接続の試み」に該当する通信パターンを検出した時刻とする。
 (2.2)実行ファイルのダウンロードフェーズP4への遷移時の分析内容
 図11は、本実施形態における第二の相関分析で監視対象とする、実行ファイルのダウンロードフェーズP4への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が実行ファイルのダウンロードフェーズP4に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
 (2.2.1)探索フェーズP2から実行ファイルのダウンロードフェーズP4へ遷移
if {条件A = TRUE} then {Gr(h, P4-m) = θ・Gr(h, P4-m)} (θ=1.5)
if {条件B = TRUE} then {Gr(h, P4-m) = θ・Gr(h, P4-m)} (θ=1.2)
・条件A:端末(h)で実行ファイルのダウンロードの通信パターンP4-mを観測、且つP4-mの接続先(宛先IP/FQDN)が感染元端末(k)と一致した。
・条件B:端末(h)で実行ファイルのダウンロードの通信パターンP4-mを観測、且つP4-mの接続先(宛先IP/FQDN)がマルウェア配布サーバー候補リストに登録されているサーバーの何れかと一致した。
なお、マルウェアに感染してから一定時間内に実行ファイルがダウンロードされるとは限らない場合がある(10秒後もあれば、3日後のケースがある)ため、フェーズP2からフェーズP4への遷移では、時間に係る条件は入れない。
 (2.2.2)C&C通信フェーズP6から実行ファイルのダウンロードフェーズP4へ遷移
if {条件C = TRUE} then {Gr(h, P4-m) = θ・Gr(h, P4-m)} (θ=1.2)
if {条件D = TRUE} then {Gr(h, P4-m) = θ・Gr(h, P4-m)} (θ=1.5)
・条件C:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータを受信)を観測してから、N(b)秒以内に、端末(h)で実行ファイルのダウンロードフェーズの通信パターンP4-mを観測した。
・条件D: 条件C且つP4-mの接続先(宛先IP/FQDN)がマルウェア配布サーバー候補リストに登録されているサーバーの何れかと一致した。
 なお、C&Cサーバーからデータ(指令)を受信した時刻は、「(2.1)探索フェーズP2への遷移時の分析内容」を参照。また、実行ファイルのダウンロードフェーズの通信パターンP4-mの観測時刻は、HTTP GETリクエスト、FTPダウンロード、TFTPダウンロードの開始時刻ではなく、ファイルのダウンロードが完了した時刻(HTTP GETの場合は、レスポンスの最終パケット)とする。パケットロストが発生するため、HTTP GETレスポンスの個々のパケット、FTP/TFTPのダウンロードパケットを検出するたびに時刻を更新してもよい。
 (2.2.3)侵入フェーズP1から実行ファイルのダウンロードフェーズP4へ遷移
 「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)が実行ファイルのダウンロードフェーズP4に遷移した際に、以下に説明する相関分析を行い、相関性があると判定された場合、活動通信パターンのグレードが補正され、マルウェアに感染している(ドライブバイダウンロード攻撃を受けている)と判定される(図5から図8を参照)。相関性の有無は、侵入フェーズP1にマッピングされた通信P1-nと実行ファイルのダウンロードフェーズP4にマッピングされた通信P4-mの連続性および関連性に基づいて判定される。ここで、連続性は、コネクションの同一性、検出時刻の近さ、2つの通信パターンP1-nとP4-mの間に検出した他のパケットの有無等に基づいて判定され、関連性は、宛先サーバーのアドレス、宛先サーバーの情報の共通性等に基づいて判定される。
 図12は、本実施形態における、侵入フェーズP1に係る通信と実行ファイルのダウンロードフェーズP4に係る通信との相関性を判定するための相関分析処理の流れを示すフローチャートである。本フローチャートに示された処理は、図6および図7を用いて説明したマルウェアふるまい検知エンジンのステップS111からステップS116の処理に相当し、後述する図16から図20の処理において、侵入フェーズP1にマッピングされた通信および実行ファイルのダウンロードフェーズP4にマッピングされた通信が検出された場合に、当該端末においてドライブバイダウンロード攻撃が行われたことを検出するために実行される。
 ステップS701からステップS703では、相関条件1から3を満たすか否かが判定される。相関条件1から3の何れも満たされない場合、本フローチャートに示された処理は終了する。一方、相関条件1から3の何れかが満たされた場合、処理はステップS704へ進む。相関条件1から3は、以下の通りである。
 相関条件1:端末(h)で通信パターンP1-m(m=1~5)を検出後、検出したP1-mと同一のTCPコネクション上で、通信パターンP4-n(n=1~4)を検出した。
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4-1~P4-4) = θ・Gr(h, P4-1~P4-4) (θ=2.0)
 相関条件2:端末(h)でP1-m(m=1~5)を検出した直後に、検出したP1-mと同一のFQDN/IPアドレスをもつ通信パターンP4-n(n=1~4)を検出した。但し、P1-mとP4-nのTCPコネクションは異なる。
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4-1~P4-4) = θ・Gr(h, P4-1~P4-4) (θ=2.0)
 相関条件3:端末(h)でP1-m(m=1~5)を検出した直後に、検出したP1-mと同一のFQDN/IPアドレスをもつ、IEまたはJava(登録商標)のUser-Agentヘッダー値が設定された正常なGETリクエストを検出し、このGETリクエストは、唯一個のGETリクエストであり、且つ上記の正常なGETリクエスト(&レスポンス)の直後に、検出したP1-m(m=1~5)と同一のFQDN/IPアドレスをもつ通信パターンP4-n(n=1~4)を検出した。但し、P1-mとP4-nのTCPコネクションは異なる。
if (条件 = TRUE) then PGr(h, P1) = 0.3
if (条件 = TRUE) then Gr(h, P4-1~P4-4) = θ・Gr(h, P4-1~P4-4) (θ=2.0)
 ステップS704では、フェーズP1およびフェーズP4-mのグレードが補正される。補正部253は、例えば、フェーズP1のグレードを0.3に設定し、フェーズP4-mのグレードを2.0倍する、等の補正を行う。その後、本フローチャートに示された処理は終了し、最終的には閾値との比較によってマルウェア感染(ドライブバイダウンロード攻撃)の有無が判定される(図8に示す処理を参照)。
 (2.3)C&C検索フェーズP5への遷移時の分析内容
 図13は、本実施形態における第二の相関分析で監視対象とする、C&C検索フェーズP5への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C検索フェーズP5に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
 (2.3.1) 探索フェーズP2からC&C検索フェーズP5へ遷移
if {条件A = TRUE} then {Gr(h, P5-m) = θ・Gr(h, P5-m)} (θ=1.2)
・条件A: (感染させられた側の)端末(h)で感染活動を観測(通信パターンP2-9またはP2-10の接続先端末側)してから、N(c)秒以内に、端末(h)でC&C検索フェーズの通信パターンP5-mを観測した。
 (2.3.2)C&C通信フェーズP6からC&C検索フェーズP5へ遷移
if {条件B = TRUE} then {Gr(h, P5-m) = θ・Gr(h, P5-m)} (θ=1.3)
・条件B:端末(h)がC&C通信フェーズP6から、一定の周期(時間)でC&C検索フェーズP5に遷移(C&C検索フェーズP5の通信パターンP5-mを検出)を繰り返した。
 なお、本実施形態では、過去3回の遷移がほぼ同じ周期(時間)である場合に、一定の周期でC&C検索フェーズP5への遷移を繰り返したと判断される。
 (2.4)C&C通信フェーズP6への遷移時の分析内容
 図14は、本実施形態における第二の相関分析で監視対象とする、C&C通信フェーズP6への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C通信フェーズP6に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
 (2.4.1) 探索フェーズP2からC&C通信フェーズP6へ遷移
if {条件A = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.1)
if {条件B = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.2)
if {条件C = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.5)
・条件A:端末(h)で感染活動を観測(通信パターンP2-9またはP2-10の感染先端末側)を観測してから、N(d)秒以内に、端末(h)でC&C通信フェーズP6の通信パターンP6-mを観測した。
・条件B: 条件A且つP6-mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
・条件C: 条件A且つP6-mの接続先(宛先IP/FQDN)が感染元端末(k)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
 (2.4.2)実行ファイルのダウンロードフェーズP4からC&C通信フェーズP6へ遷移
if {条件D = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.1)
if {条件E = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.2)
if {条件F = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.3)
・条件D:端末(h)で実行ファイルのダウンロードの通信パターンP4-mを観測してから、N(e)秒以内に、端末(h)でC&C通信フェーズの通信パターンP6-mを観測した。
・条件E: 条件D且つP6-mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
・条件F: 条件D且つP6-mの接続先(宛先IP/FQDN)が端末(h)のC&Cサーバー候補リストに既に登録済みのC&Cサーバーの何れかと一致した。
 (2.4.3) C&C検索フェーズP5からC&C通信フェーズP6へ遷移
if {条件G = TRUE} then {Gr(h, P6-m) = θ・Gr(h, P6-m)} (θ=1.2)
・条件G:端末(h)でC&C検索フェーズの通信パターンP5-mを観測してから、N(f)秒以内に、端末(h)でC&C通信フェーズの通信パターンP6-mを観測、且つP6-mの接続先(宛先IP/FQDN)が(任意の監視対象端末の)C&Cサーバー候補リストに登録されているC&Cサーバーの何れかと一致した。
 (2.5)攻撃フェーズP8への遷移時の分析内容
 図15は、本実施形態における第二の相関分析で監視対象とする、攻撃フェーズP8への遷移を示す図である。マルウェアふるまい検知エンジン25は、「マルウェアの活動フェーズ判定」処理ブロックにおいて、端末(h)がC&C通信フェーズP6に遷移した際に、以下の分析を行い、該当する場合、通信パターンのグレードを補正する。
 (2.5.1)実行ファイルのダウンロードフェーズP4から攻撃フェーズP8へ遷移
if {条件A = TRUE} then {Gr(h, P8-m) = θ・Gr(h, P8-m)} (θ=1.2)
・条件A:端末(h)で実行ファイルのダウンロードの通信パターンP4-mを観測してから、N(g)秒以内に、端末(h)で攻撃フェーズの通信パターンP8-mを観測した。
 (2.5.2) C&C通信フェーズP6から攻撃フェーズP8へ遷移
if {条件B = TRUE} then {Gr(h, P8-m) = θ・Gr(h, P8-m)} (θ=1.2)
if {条件C = TRUE} then {Gr(h, P8-m) = θ・Gr(h, P8-m)} (θ=1.5)
・条件B:端末(h)のC&Cサーバー候補リストに登録されているC&Cサーバーの何れかでデータ通信(C&Cサーバーから何らかのデータ(指令)を受信)を観測してから、N(h)秒以内に、端末(h)で攻撃フェーズの通信パターンP8-mを観測した。
・条件C: 条件Bを満足する2台以上の端末を検出した。(同時に発生する必要はない)
 <ドライブバイダウンロード攻撃の検出-概要>
 ここで、上記説明した活動遷移モデルおよび相関分析を用いた、ドライブバイダウンロード攻撃の検出について説明する。
 従来、組織や個人の機密情報を搾取する目的で実行される標的型攻撃等で利用される攻撃手法の一つに、所謂ドライブバイダウンロード攻撃がある。従来、ドライブバイダウンロード攻撃を検出するために、ファイル/コンテンツ自体の悪性(不正なコードや攻撃コードの有無)を解析する手法が用いられている。しかし、このような手法では、膨大なログの解析を行う必要があり、また、攻撃者が攻撃に用いるトラフィック量を抑えた場合、誤検知の可能性が高まるという問題があった。
 本開示は、上記した問題に鑑み、従来の手法に比べて軽量な手法でネットワーク端末における所定の活動を検出することを課題とする。
 ここで、ドライブバイダウンロード攻撃は、例えば、以下の流れで実行される。
1.準備段階
 攻撃者は、標的がアクセスする正規のウェブサイトを改ざんして、攻撃サーバーへ誘導(リダイレクト)するリンクを挿入する。
2.攻撃サーバーへの誘導
 標的が改ざんされたサイトにアクセスすると、標的は、サイトに埋め込まれた「攻撃サーバーへ誘導するリンク」に従って、攻撃サーバーまで誘導される。
3.悪性コンテンツのダウンロード
 攻撃サーバーから、標的に対して、標的が使用するウェブブラウザや各種プラグイン・ソフトウェアの脆弱性を利用する悪性コンテンツが送り込まれる。
4.マルウェア本体のダウンロード
 悪性コンテンツによる脆弱性を利用した攻撃が成功すると、標的に対してダウンロードコードが読み込まれ、ダウンロードコードにより、標的に対してマルウェア本体が自動的にダウンロードされる。
 そこで、本実施形態では、ドライブバイダウンロード攻撃が、「悪性コンテンツのダウンロード」と「マルウェア本体のダウンロード」の2つの通信が連続して発生すること、および「悪性コンテンツのダウンロード」と「マルウェア本体のダウンロード」の2つの通信では、異なる種類のファイルが使用されることに着目して、マルウェアふるまい検知エンジンを用いて、各通信においてダウンロードされるファイル/コンテンツの種類、および2つの通信のフェーズ遷移に基づいて攻撃を検知することとした。
 なお、本実施形態では、上述の通り、「悪性コンテンツのダウンロード」の通信パターンが侵入フェーズP1に、「マルウェア本体のダウンロード」の通信パターンが実行ファイルのダウンロードフェーズP4にマッピングされている。
 以下、本実施形態に係るシステム1によって実行される処理の流れを、フローチャートを用いて説明する。なお、以下に説明するフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
 <ドライブバイダウンロード攻撃の検出-悪性コンテンツの侵入判定>
 はじめに、通信が「悪性コンテンツのダウンロード」の通信パターンに該当し、端末が侵入フェーズP1にあることを決定するための処理を説明する。
 図16は、本実施形態に係る、マルウェアふるまい検知エンジン25によるコンテンツリクエスト解析処理の流れを示すフローチャートである。本フローチャートは、図5を用いて説明した検知処理のステップS006の処理、換言すれば、図6を用いて説明した処理のステップS101からステップS103の処理に相当する。
 ステップS201では、取得されたデータ(1または複数の入力パケットの組み合わせ)が、HTTPのGET/POST/PUSHリクエストに該当するか否かが判定される。比較部251は、取得データと予め保持された通信パターン(ここでは、HTTPのGET/POST/PUSHリクエストのデータパターン)とを比較することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定する。判定の結果、取得データがHTTPのGET/POST/PUSHリクエストではないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、取得データがHTTPのGET/POST/PUSHリクエストであると判定された場合、処理はステップS202へ進む。
 ステップS202では、取得データ(HTTPのGET/POST/PUSHリクエスト)のURIパス部のファイル名が、所定の拡張子を含むか否かが判定される。比較部251は、取得データ(HTTPのGET/POST/PUSHリクエスト)のURIパス部のファイル名の文字列と、予め保持された拡張子の文字列(例えば、“.jar”,“.class”,“.xap”,“.swf”,“.pdf”の何れか)とを比較することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定する。判定の結果、URIパス部のファイル名が所定の拡張子を含むと判定された場合、処理はステップS204へ進む。一方、URIパス部のファイル名が所定の拡張子を含まないと判定された場合、処理はステップS203へ進む。
 ステップS203では、取得データ(HTTPのGET/POST/PUSHリクエスト)のヘッダーが、予め定義された通信パターンの何れに該当するかが判定される。比較部251は、取得データと予め保持された通信パターン(ここでは、リクエストされたファイルが所定の種類のファイルである場合にヘッダーに含まれ得るデータパターン)とを比較することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定する。これは、ステップS202において、リクエストに係るファイル名が所定の拡張子を含まない場合にも、拡張子が改ざんされている可能性があるため、攻撃者が改ざん困難である情報に基づいて、リクエストに係るファイルの種類を正確に判定するための処理である。判定の結果、取得データが悪性コンテンツのリクエストに係る特徴を含まないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、取得データが悪性コンテンツのリクエストに係る特徴を含むと判定された場合、処理はステップS204へ進む。
 ステップS204では、各種のコンテンツレスポンス解析処理が実行される。マルウェアふるまい検知エンジン25は、ステップS202またはステップS203において、リクエストされたファイルの種類が所定のファイル種別であると判定された通信について、レスポンスを監視し、当該ファイル種別への該当性を判定する。コンテンツレスポンス解析処理は、ファイル種別毎に用意されてよい。本実施形態では、例えば、Javaコンテンツレスポンス解析処理、PDFコンテンツレスポンス解析処理、Silverlightコンテンツレスポンス解析処理、Flashコンテンツレスポンス解析処理およびHTMLコンテンツレスポンス解析処理が用意される。但し、コンテンツレスポンス解析処理は、当該通信が侵入フェーズP1の通信であるか否かを判定するために必要なファイル種別について用意されればよく、本実施形態において例示されたファイル種別に限定されない。コンテンツレスポンス解析処理が実行されると、本フローチャートに示された処理は終了する。
 具体的には、ステップS202またはステップS203における判定の結果毎に、以下のコンテンツレスポンス解析処理が実行される。以下に列挙された条件は、ステップS202またはステップS203における判定用に予め定義された通信パターン(P1-m)である。
Javaコンテンツレスポンス解析処理:
・URIパス部のファイル名が拡張子“.jar”若しくは“.class”を含む、または
・JavaのUser-AgentヘッダーおよびAccept-Encodingヘッダーが設定されている。
PDFコンテンツレスポンス解析処理:
・URIパス部のファイル名が拡張子“.pdf”を含む、または
・ブラウザのUser-Agentヘッダーが設定されており、且つ
・・Accept-LanguageとRefererヘッダーが設定されていない、または
・・URIのパス部に任意のファイル拡張子を含まず、クエリ部が設定されている。
Silverlightコンテンツレスポンス解析処理:
・URIパス部のファイル名が拡張子“.xap”を含む、または
・ブラウザのUser-Agentヘッダーが設定されており、且つ
・・Accept-LanguageとRefererヘッダーが設定されていない、または
・・URIのパス部に任意のファイル拡張子を含まず、クエリ部が設定されている。
Flashコンテンツレスポンス解析処理:
・URIパス部のファイル名が拡張子“.swf”を含む、または
・ブラウザのUser-Agentヘッダーが設定されており、且つ
・・Accept-LanguageとRefererヘッダーが設定されていない、
・・x-flash-versionヘッダーが設定されている、
・・URIのパス部にファイル拡張子“.php”,“.asp”,“.aspx”,“.cgi”を含む、または
・・URIのパス部に任意のファイル拡張子を含まず、クエリ部が設定されている。
HTMLコンテンツレスポンス解析処理
・ブラウザのUser-Agentヘッダーが設定されており、且つ
・・URIのパス部にファイル拡張子“.php”,“.asp”,“.aspx”,“.cgi”を含む、
・・URIのパス部に任意のファイル拡張子を含まず、クエリ部が設定されている、
・・URIにパス部が設定されておらず、クエリ部が設定されている、または
・・URIのパス部にファイル拡張子“.htm”または“.html”を含み、URIにクエリ部が設定されていない。
 図17は、本実施形態に係る、マルウェアふるまい検知エンジン25によるコンテンツレスポンス解析処理の流れを示すフローチャートである。本フローチャートは、図16を用いて説明したコンテンツリクエスト解析処理のステップS204の処理をより詳細に説明するものである。そして、本フローチャートは、図5を用いて説明した検知処理のステップS006の処理、換言すれば、図6を用いて説明した処理のステップS101からステップS103の処理に相当する。また、先述の通り、本実施形態では、コンテンツレスポンス解析処理は、ファイル種別毎に用意されており、上記説明した条件が満たされた場合に、各ファイル種別のためのコンテンツレスポンス解析処理が実行される。
 ステップS301およびステップS302では、HTTPリクエストに対応するレスポンスパケットが監視され、レスポンスのContent-Typeヘッダーの内容が判定される。通信取得部21は、上記コンテンツリクエスト解析処理で所定のファイル種別のファイルがリクエストされたと判定された通信と同じセッション/コネクション(例えば、TCPコネクション)におけるレスポンスパケット(戻りパケット)を監視する(ステップS301)。レスポンスパケットが取得されると、比較部251は、当該レスポンスのContent-Typeヘッダーに、リクエストされたファイル種別を示すタイプ値が設定されているか否かを判定することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定し、当該レスポンスに、リクエストされた種類のファイルが含まれているか否かを判定する(ステップS302)。例えば、Javaコンテンツレスポンス解析処理が呼び出されている場合、比較部251は、レスポンスパケットのContent-Typeヘッダーに、Javaのタイプ値が設定されているか否かを判定する。レスポンスパケットのContent-Typeヘッダーに、リクエストされたファイル種別を示すタイプ値が設定されていると判定された場合、処理はステップS304へ進む。一方、レスポンスパケットのContent-Typeヘッダーに、リクエストされたファイル種別を示すタイプ値が設定されていないと判定された場合、処理はステップS303へ進む。
 ステップS303では、レスポンスのボディが、予め定義されたデータパターンに該当するか否かが判定される。比較部251は、取得データ(レスポンス)と予め保持されたデータパターン(ここでは、レスポンスが所定の種類のファイルを含む場合にレスポンスのボディに含まれ得るデータパターン)とを比較することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定し、当該レスポンスに、リクエストされた種類のファイルが含まれているか否かを判定する。これは、ステップS302において、レスポンスのContent-Typeヘッダーにリクエストされたファイル種別を示すタイプ値が設定されていない場合にも、Content-Typeヘッダーが改ざんされている可能性があるため、攻撃者が改ざん困難である情報に基づいて、レスポンスに係るファイルの種類を正確に判定するための処理である。判定の結果、レスポンスのContent-Typeヘッダーにリクエストされたファイル種別を示すタイプ値が設定されていないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、レスポンスのContent-Typeヘッダーにリクエストされたファイル種別を示すタイプ値が設定されていると判定された場合、処理はステップS304へ進む。
 なお、ステップS303では、例えば、所定の種類のコンテンツであることを示すためにコンテンツ内部に設定される所定のデータパターン(シグネチャ等)が、レスポンスのボディの先頭部分または所定位置に設定されているか否かが判定されることで、レスポンスのボディが所定の種類のコンテンツであるか否かが判定される。このようなシグネチャ等のデータパターンは、当該コンテンツを端末のアプリケーションに実行させるために、攻撃者も改ざんすることが困難なデータパターンであるため、より正確な判定を行うことが出来る。
 ステップS304では、当該レスポンスおよびリクエストに係る端末に関して、該当すると判定された通信パターン(P1-m)、即ち、「悪性コンテンツのダウンロード」が検出されたことが記録される。具体的には、HTTPリクエストヘッダーの種類と値、宛先IPアドレス、宛先FQDN、ファイル(パッケージ)の名前、サイズ、および検出時刻が記録される。また、決定部254は、当該リクエストおよびレスポンスに係る通信を行った端末の活動フェーズを侵入フェーズP1に決定し、評価値取得部252は、入力パケットに対応する通信パターン(P1-m)が属するフェーズP1および通信パターン(P1-m)に予め設定されているグレードGr(P1-m)を、入力パケットに係る端末(h)のフェーズP1(h)、および当該フェーズのグレードGr(h, P1-m)として取得する。その後、本フローチャートに示された処理は終了する。
 図17を用いて説明したコンテンツレスポンス解析処理は、上述の通りファイル種別毎に用意されるが(例えば、Javaコンテンツレスポンス解析処理、PDFコンテンツレスポンス解析処理、Silverlightコンテンツレスポンス解析処理およびFlashコンテンツレスポンス解析処理)、判定のための具体的なデータパターン等を除いて、処理の流れは概略同様である。但し、HTMLコンテンツレスポンス解析処理については、他のコンテンツレスポンス解析処理とは異なる処理の流れが採用されてよい。
 図18は、本実施形態に係る、マルウェアふるまい検知エンジン25によるHTMLコンテンツレスポンス解析処理の流れを示すフローチャートである。本フローチャートは、図16を用いて説明したコンテンツリクエスト解析処理のステップS204において、HTMLコンテンツレスポンス解析処理が呼び出された場合の処理をより詳細に説明するものである。そして、本フローチャートは、図5を用いて説明した検知処理のステップS006の処理、換言すれば、図6を用いて説明した処理のステップS101からステップS103の処理に相当する。
 ステップS401およびステップS402では、HTTPリクエストに対応するレスポンスパケットが監視され、レスポンスのContent-Typeヘッダーの内容が判定される。通信取得部21は、上記コンテンツリクエスト解析処理でHTMLファイルがリクエストされたと判定された通信と同じセッション/コネクションにおけるレスポンスパケットを監視する(ステップS401)。レスポンスパケットが取得されると、比較部251は、当該レスポンスのContent-Typeヘッダーに、HTMLファイルのタイプ値が設定されているか否かを判定することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定し、当該レスポンスにHTMLファイルが含まれているか否かを判定する(ステップS402)。レスポンスパケットのContent-TypeヘッダーにHTMLのタイプ値が設定されていないと判定された場合、本フローチャートに示された処理は終了する。一方、レスポンスパケットのContent-TypeヘッダーにHTMLのタイプ値が設定されていると判定された場合、処理はステップS403へ進む。
 ステップS403では、レスポンスのボディが、予め定義されたHTMLファイルのデータパターンに該当するか否かが判定される。比較部251は、取得データ(レスポンス)と、レスポンスがHTMLファイルを含む場合にレスポンスのボディに含まれ得るデータパターンとを比較することで、取得データと予め定義された通信パターン(P1-m)との共通性を判定し、当該レスポンスにHTMLファイルが含まれているか否かを判定する。これは、ステップS402において、レスポンスのContent-TypeヘッダーにHTMLのタイプ値が設定されている場合にも、他の種別のファイルがHTMLファイルに偽装されている可能性があるため、攻撃者が改ざん困難である情報に基づいて、レスポンスに係るファイルの種類を正確に判定するための処理である。判定の結果、レスポンスのContent-TypeヘッダーにHTMLのタイプ値が設定されていないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、レスポンスのContent-TypeヘッダーにHTMLのタイプ値が設定されていると判定された場合、処理はステップS404へ進む。
 ステップS404では、当該レスポンスおよびリクエストに係る端末に関して、該当すると判定された通信パターン(P1-m)、即ち、「悪性コンテンツのダウンロード」が検出されたことが記録される。具体的には、HTTPリクエストヘッダーの種類と値、宛先IPアドレス、宛先FQDN、ファイル(パッケージ)の名前、サイズ、および検出時刻が記録される。また、決定部254は、当該リクエストおよびレスポンスに係る通信を行った端末の活動フェーズを侵入フェーズP1に決定し、評価値取得部252は、入力パケットに対応する通信パターン(P1-m)が属するフェーズP1および通信パターン(P1-m)に予め設定されているグレードGr(P1-m)を、入力パケットに係る端末(h)のフェーズP1(h)、および当該フェーズのグレードGr(h, P1-m)として取得する。その後、本フローチャートに示された処理は終了する。
 <ドライブバイダウンロード攻撃の検出-マルウェア本体の侵入判定>
 次に、通信が「マルウェア本体のダウンロード」の通信パターンに該当し、端末が実行ファイルのダウンロードフェーズP4にあることを決定するための処理を説明する。
 図19は、本実施形態に係る、マルウェアふるまい検知エンジン25による実行ファイルリクエスト解析処理の流れを示すフローチャートである。本フローチャートは、図5を用いて説明した検知処理のステップS006の処理、換言すれば、図6を用いて説明した処理のステップS101からステップS103の処理に相当する。
 ステップS501では、取得されたデータ(1または複数の入力パケットの組み合わせ)が、HTTPのGET/POST/PUSHリクエストに該当するか否かが判定される。比較部251は、取得データと予め保持された通信パターン(ここでは、HTTPのGET/POST/PUSHリクエストのデータパターン)とを比較することで、取得データと予め定義された通信パターン(P4-m)との共通性を判定する。判定の結果、取得データがHTTPのGET/POST/PUSHリクエストではないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、取得データがHTTPのGET/POST/PUSHリクエストであると判定された場合、処理はステップS502へ進む。
 ステップS502では、取得データ(HTTPのGET/POST/PUSHリクエスト)が、予め定義された通信パターンの何れに該当するかが判定される。比較部251は、取得データと予め保持された通信パターン(ここでは、リクエストされたファイルが実行ファイルである場合にリクエストに含まれ得るデータパターン)とを比較することで、取得データと予め定義された通信パターン(P4-m)との共通性を判定する。これは、攻撃者が改ざん困難である情報に基づいて、リクエストに係るファイルの種類が実行ファイルであるか否かを正確に判定するための処理である。判定の結果、取得データが実行ファイルのリクエストに係る特徴を含まないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、取得データが実行ファイルのリクエストに係る特徴を含むと判定された場合、処理はステップS503へ進む。
 具体的には、以下に列挙する何れかの条件を満たす場合、比較部251は、取得データが実行ファイルのリクエストに係る特徴を含むと判定する。但し、以下に列挙する条件は一例であり、判定のための条件は本実施形態における例示に限定されない。
・HTTPリクエストヘッダーにJavaのUser-Agentかつ、Accept-Encodingヘッダーが設定されていない。
・HTTPリクエストが疑わしいHTTP通信パターンに一致する。
・HTTPリクエストヘッダーにHostまたは、HostとConnectionヘッダーが設定されており、User-Agent、Accept系のヘッダーが設定されていない。
・ブラウザのUser-Agentが設定されており、かつ、ブラウザの通常のリクエストヘッダーと異なる構成のリクエストヘッダーである(「ブラウザの通常のリクエストヘッダーとは異なるヘッダーの構成」とは、通常設定されているヘッダーが設定されていないケースを示す)。
・User-Agentが設定されていない、またはConnectionが設定されていない。
・Hostヘッダーの値がIPアドレスまたはHTTP非標準のポート番号が設定されている。
・URIパス部のファイル拡張子が、“.php”,“.asp”,“.aspx”,“.cgi”を含む、かつ、Refererまたは、Cookieヘッダーが設定されていない。
 ステップS503では、実行ファイルレスポンス解析処理が実行される。マルウェアふるまい検知エンジン25は、ステップS502において、リクエストされたファイルが実行ファイルであると判定された通信について、レスポンスを監視し、レスポンスに係るファイルが実行ファイルであるか否かを判定する。実行ファイルレスポンス解析処理が実行されると、本フローチャートに示された処理は終了する。
 図20は、本実施形態に係る、マルウェアふるまい検知エンジン25による実行ファイルレスポンス解析処理の流れを示すフローチャートである。本フローチャートは、図19を用いて説明した実行ファイルレスポンス解析処理のステップS503の処理をより詳細に説明するものである。そして、本フローチャートは、図5を用いて説明した検知処理のステップS006の処理、換言すれば、図6を用いて説明した処理のステップS101からステップS103の処理に相当する。
 ステップS601およびステップS602では、HTTPリクエストに対応するレスポンスパケットが監視され、レスポンスのContent-Typeヘッダーの内容が判定される。通信取得部21は、上記実行ファイルリクエスト解析処理で実行ファイルがリクエストされたと判定された通信と同じセッション/コネクションにおけるレスポンスパケットを監視する(ステップS601)。レスポンスパケットが取得されると、比較部251は、当該レスポンスのContent-Typeヘッダーに実行ファイルのタイプ値が設定されているか否かを判定することで、取得データと予め定義された通信パターン(P4-m)との共通性を判定し、当該レスポンスに実行ファイルが含まれているか否かを判定する(ステップS602)。レスポンスパケットのContent-Typeヘッダーに、実行ファイルを示すタイプ値が設定されていると判定された場合、処理はステップS604へ進む。一方、レスポンスパケットのContent-Typeヘッダーに、実行ファイルを示すタイプ値が設定されていないと判定された場合、処理はステップS603へ進む。
 ステップS603では、レスポンスのヘッダーまたはボディが、予め定義されたデータパターンに該当するか否かが判定される。比較部251は、取得データ(レスポンス)と予め保持されたデータパターン(ここでは、レスポンスが実行ファイルを含む場合にレスポンスのヘッダーまたはボディに含まれ得るデータパターン)とを比較することで、取得データと予め定義された通信パターン(P4-m)との共通性を判定し、当該レスポンスに実行ファイルが含まれているか否かを判定する。これは、ステップS602において、レスポンスのContent-Typeヘッダーに実行ファイルを示すタイプ値が設定されていない場合にも、Content-Typeヘッダーが改ざんされている可能性があるため、攻撃者が改ざん困難である情報に基づいて、レスポンスに係るファイルの種類を正確に判定するための処理である。判定の結果、レスポンスのヘッダーまたはボディに実行ファイルを示す値が設定されていないと判定された場合、当該取得データに係る処理は終了し、本フローチャートに示された処理は終了する。一方、レスポンスのヘッダーまたはボディに実行ファイルを示す値が設定されていると判定された場合、処理はステップS604へ進む。
 なお、ステップS603では、例えば、所定のアプリケーションで実行可能な実行ファイルであることを示すためにファイル内部に設定される所定のデータパターン(シグネチャ等)が、レスポンスのボディの先頭部分または所定位置に設定されているか否かが判定されることで、レスポンスのボディが実行ファイルであるか否かが判定される。このようなシグネチャ等のデータパターンは、当該実行ファイルを端末のアプリケーションに実行させるために、攻撃者も改ざんすることが困難なデータパターンであるため、より正確な判定を行うことが出来る。
 ステップS604では、当該レスポンスおよびリクエストに係る端末に関して、該当すると判定された通信パターン(P4-m)、即ち、「実行ファイルのダウンロード」が検出されたことが記録される。また、決定部254は、当該リクエストおよびレスポンスに係る通信を行った端末の活動フェーズを実行ファイルのダウンロードフェーズP4に決定し、評価値取得部252は、入力パケットに対応する通信パターン(P4-m)が属するフェーズP4および通信パターン(P4-m)に予め設定されているグレードGr(P4-m)を、入力パケットに係る端末(h)のフェーズP4(h)、および当該フェーズのグレードGr(h, P4-m)として取得する。その後、本フローチャートに示された処理は終了する。
 即ち、上記説明したコンテンツリクエスト解析処理、コンテンツレスポンス解析処理、実行ファイルリクエスト解析処理および実行ファイルレスポンス解析処理によれば、HTTPのトラフィックにおいて、特定の条件を満たすリクエストとこれに対応するレスポンスが監視および解析されることで、「悪性コンテンツのダウンロード」または「マルウェア本体のダウンロード」の可能性があるHTTP通信パターンが抽出される。そして、抽出された通信は、「端末が不正な活動(マルウェアの活動)をしていると推測される程度」を示すグレードが付与された上で、侵入フェーズP1、または実行ファイルのダウンロードフェーズP4にマッピングされる。また、フェーズにマッピングされた通信ごとに、宛先(=攻撃サーバー)FQDN/IPアドレス、HTTPリクエストのヘッダー情報(メソッド種別、URIパス情報、Hostヘッダー、User-Agentヘッダー等)、ダウンロードしたファイル種別、ファイルサイズ、検出時刻等の情報が記録される。
 <ドライブバイダウンロード攻撃の検出-相関分析>
 上述の処理によって、実行ファイルのダウンロードフェーズP4に該当する通信パターンが検出されると、本実施形態では、侵入フェーズP1にマッピングされた通信と実行ファイルのダウンロードフェーズP4にマッピングされた通信の相関分析が実行される(図12を参照)。図12に示された相関分析処理において相関性有りと判定された場合、所定のルールに基づいてグレードの補正が行われ、最終的にマルウェア感染(ドライブバイダウンロード攻撃)の有無が判定される(図8に示す処理を参照)。
 従来、「悪性コンテンツのダウンロード」の通信パターンや「マルウェア本体のダウンロード」の通信パターンを検出する場合には、ネットワーク上を流れるすべてのトラフィックを検査してファイルの有無を判定する必要があったが、本実施形態において上記に説明した処理によれば、大量に流れるHTTPパケットの中から「特定の条件を満たすHTTPリクエストおよびレスポンス」を抽出して相関分析することで、従来に比べて小さな計算コストで、リアルタイムにドライブバイダウンロード攻撃を検出することが出来る。
 <バリエーション>
 上記実施形態では、ネットワーク監視装置20が、スイッチまたはルータのモニタリングポート(ミラーポート)に接続されることでノード90によって送受信されるパケットやフレーム等を取得し、取得したパケットを転送しないパッシブモードで動作する例について説明した(図1を参照)。但し、上記実施形態に示したネットワーク構成は、本開示を実施するための一例であり、実施にあたってはその他のネットワーク構成が採用されてもよい。
 例えば、ネットワーク監視装置20は、モニタリングポート(ミラーポート)に接続されず、単にネットワークセグメント2に接続されている場合であっても、ネットワークセグメント2を流れるフレームを、自身のMACアドレス宛でないものも含めて全て取得することで、ノード90によって送受信されるパケットやフレーム等を取得することが出来る。この場合も、ネットワーク監視装置20は、パッシブモードで動作する。また、例えば、ネットワーク監視装置20は、ネットワークセグメント2のスイッチまたはルータと、その上位にある他のスイッチまたはルータと、の間に接続されることで、通過するパケットやフレーム等を取得してもよい(図21を参照)。この場合、ネットワーク監視装置20は、取得したパケットのうち、遮断しなくてもよいパケットについては転送するインラインモードで動作する。また、ネットワーク監視装置20は、ルータまたはスイッチに内包されてもよい。
 なお、本実施形態では、ネットワークを流れるパケットを取得して、上記した各種の検知エンジンによりリアルタイムで検知を行う実施形態について説明したが、本開示の適用範囲は、リアルタイム検知に限定されない。例えば、ネットワークを流れる通信に係るデータを蓄積しておいて、蓄積されたデータに対して上記した各種の検知エンジンによる処理を行うこととしてもよい。
   1 システム
  20 ネットワーク監視装置
  50 管理サーバー
  90 ノード

Claims (38)

  1.  ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較手段と、
     前記比較の結果に従って、前記端末が不正な活動をしていると推測される程度を示す評価値と不正な活動のフェーズとを決定する決定手段と、
     前記端末毎に、前記評価値の前記フェーズ毎の最大値を保持する保持手段と、
     前記評価値の前記フェーズ毎の最大値に基づいて、前記端末が不正な活動を行っているか否かを判定する判定手段と、
     を備える情報処理装置。
  2.  前記比較の結果、前記通信と一致または近似したパターンについて予め設定されている値を、前記評価値として取得する評価値取得手段と、
     取得された前記評価値を補正する補正手段と、を更に備え、
     前記決定手段は、前記補正手段によって補正された値を、前記評価値として決定する、
     請求項1に記載の情報処理装置。
  3.  前記フェーズは、前記端末による不正な活動の遷移の状態を示し、
     前記決定手段は、前記比較の結果、前記通信と一致または近似したパターンについて予め設定されているフェーズを、前記通信に係るフェーズとして決定する、
     請求項2に記載の情報処理装置。
  4.  前記評価値取得手段は、前記通信と、前記端末によって該通信よりも前または後に行われた他の通信との相関分析の結果に従って、前記評価値を取得する、
     請求項3に記載の情報処理装置。
  5.  前記評価値取得手段は、前記相関分析によって、前記通信に関して取得されたフェーズと、前記端末に関して該通信の前または後に行われた他の通信に関して取得されたフェーズと、の間に連続性があると判定された場合に、前記評価値を取得する、
     請求項4に記載の情報処理装置。
  6.  前記補正手段は、前記通信と、前記端末によって該通信よりも前または後に行われた他の通信との相関分析の結果に従って、前記評価値を補正する、
     請求項3に記載の情報処理装置。
  7.  前記補正手段は、前記相関分析によって、前記通信に関して取得されたフェーズと、前記端末に関して該通信の前または後に行われた他の通信に関して取得されたフェーズと、の間に連続性があると判定された場合に、前記評価値を、連続性があると判定されなかった場合に比べてより大きく補正する、
     請求項6に記載の情報処理装置。
  8.  前記端末毎に、前記フェーズ毎の前記評価値の最大値を合計する合計手段を更に備え、
     前記判定手段は、前記合計手段によって得られた合計値に基づいて、前記端末が不正な活動を行っているか否かを判定する、
     請求項1から7の何れか一項に記載の情報処理装置。
  9.  前記判定手段は、前記合計値または前記合計値に基づく値が所定の閾値を超えた場合に、前記端末が不正な活動を行っていると判定する、
     請求項8に記載の情報処理装置。
  10.  前記判定手段は、前記合計値に所定の重み付けを行うことで得られた値が所定の閾値を超えた場合に、前記端末が不正な活動を行っていると判定する、
     請求項8に記載の情報処理装置。
  11.  前記ネットワークに接続された端末による通信を取得する通信取得手段を更に備え、
     前記比較手段は、取得された前記通信と予め保持されたパターンとを比較する、
     請求項1から10の何れか一項に記載の情報処理装置。
  12.  前記端末が不正な活動を行っていると判定された場合に該端末による通信を遮断する通信遮断手段を更に備える、
     請求項1から11の何れか一項に記載の情報処理装置。
  13.  ネットワークに接続された端末による不正な通信を検知する、1または複数の検知手段を更に備え、
     前記判定手段は、前記検知手段によって不正な通信として検知されなかった通信に基づいて、前記端末が不正な活動を行っているか否かを判定する、
     請求項1から12の何れか一項に記載の情報処理装置。
  14.  コンピューターが、
     ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較ステップと、
     前記比較の結果に従って、前記端末が不正な活動をしていると推測される程度を示す評価値と不正な活動のフェーズとを決定する決定ステップと、
     前記端末毎に、前記評価値の前記フェーズ毎の最大値を保持する保持ステップと、
     前記評価値の前記フェーズ毎の最大値に基づいて、前記端末が不正な活動を行っているか否かを判定する判定ステップと、
     を実行する不正活動判定方法。
  15.  コンピューターを、
     ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較手段と、
     前記比較の結果に従って、前記端末が不正な活動をしていると推測される程度を示す評価値と不正な活動のフェーズとを決定する決定手段と、
     前記端末毎に、前記評価値の前記フェーズ毎の最大値を保持する保持手段と、
     前記評価値の前記フェーズ毎の最大値に基づいて、前記端末が不正な活動を行っているか否かを判定する判定手段と、
     として機能させる、不正活動判定用プログラム。
  16.  ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較手段と、
     前記比較の結果に従って、前記端末の活動のフェーズを決定する決定手段と、
     前記決定手段によって、前記端末にコンテンツをダウンロードさせるフェーズであると決定された第一の通信と、前記決定手段によって、該端末に実行ファイルをダウンロードさせるフェーズであると決定された第二の通信との相関分析を行うことで、該第一の通信によるコンテンツのダウンロードと、該第二の通信による実行ファイルのダウンロードとの間の相関性の有無または程度を判定する相関分析手段と、
     前記相関分析の結果に基づいて、前記端末が所定の活動を行っているか否かを判定する判定手段と、
     を備える情報処理装置。
  17.  前記決定手段は、前記通信によってダウンロードされるデータのファイル種別に基づいて、該通信に係る前記端末の活動のフェーズを決定する、
     請求項16に記載の情報処理装置。
  18.  前記決定手段は、前記通信がコンテンツまたは実行ファイルのリクエストを含む場合、該リクエストに含まれる情報に基づいて前記コンテンツまたは実行ファイルのファイル種別を推測し、推測されたファイル種別に基づいて該通信に係る前記端末の活動のフェーズを決定する、
     請求項17に記載の情報処理装置。
  19.  前記ファイル種別は、前記リクエストに含まれる拡張子またはリクエストヘッダーの特徴に基づいて推測される、
     請求項18に記載の情報処理装置。
  20.  前記決定手段は、前記通信がコンテンツまたは実行ファイルのリクエストに対するレスポンスを含む場合、該レスポンスに含まれる情報に基づいて前記コンテンツまたは実行ファイルのファイル種別を推測し、推測されたファイル種別に基づいて該通信に係る前記端末の活動のフェーズを決定する、
     請求項17から19の何れか一項に記載の情報処理装置。
  21.  前記ファイル種別は、前記レスポンスにおける所定の位置のデータと予め定義されたデータパターンとを比較することで推測される、
     請求項20に記載の情報処理装置。
  22.  前記決定手段は、前記比較の結果に従って、前記端末が所定の活動をしていると推測される程度を示す評価値を更に決定する、
     請求項16から21の何れか一項に記載の情報処理装置。
  23.  前記比較の結果、前記通信と一致または近似したパターンについて予め設定されている値を、前記評価値として取得する評価値取得手段と、
     取得された前記評価値を補正する補正手段と、を更に備え、
     前記決定手段は、前記補正手段によって補正された値を、前記評価値として決定する、
     請求項22に記載の情報処理装置。
  24.  前記フェーズは、前記端末による所定の活動の遷移の状態を示し、
     前記決定手段は、前記比較の結果、前記通信と一致または近似したパターンについて予め設定されているフェーズを、前記通信に係るフェーズとして決定する、
     請求項23に記載の情報処理装置。
  25.  前記評価値取得手段は、前記通信と、前記端末によって該通信よりも前または後に行われた他の通信との相関分析の結果に従って、前記評価値を取得する、
     請求項24に記載の情報処理装置。
  26.  前記評価値取得手段は、前記相関分析によって、前記通信に関して取得されたフェーズと、前記端末に関して該通信の前または後に行われた他の通信に関して取得されたフェーズと、の間に連続性があると判定された場合に、前記評価値を取得する、
     請求項25に記載の情報処理装置。
  27.  前記補正手段は、前記通信と、前記端末によって該通信よりも前または後に行われた他の通信との相関分析の結果に従って、前記評価値を補正する、
     請求項24に記載の情報処理装置。
  28.  前記補正手段は、前記第一の通信と、前記第二の通信との相関分析の結果に従って、前記評価値を補正する、
     請求項24に記載の情報処理装置。
  29.  前記補正手段は、前記相関分析によって、前記通信に関して取得されたフェーズと、前記端末に関して該通信の前または後に行われた他の通信に関して取得されたフェーズと、の間に連続性があると判定された場合に、前記評価値を、連続性があると判定されなかった場合に比べてより大きく補正する、
     請求項27または28に記載の情報処理装置。
  30.  前記端末毎に、前記評価値の前記フェーズ毎の最大値を保持する保持手段と、
     前記評価値の前記フェーズ毎の最大値に基づいて、前記端末が所定の活動を行っているか否かを判定する判定手段と、を更に備える、
     請求項16から29の何れか一項に記載の情報処理装置。
  31.  前記端末毎に、前記フェーズ毎の前記評価値の最大値を合計する合計手段を更に備え、
     前記判定手段は、前記合計手段によって得られた合計値に基づいて、前記端末が所定の活動を行っているか否かを判定する、
     請求項30に記載の情報処理装置。
  32.  前記判定手段は、前記合計値または前記合計値に基づく値が所定の閾値を超えた場合に、前記端末が所定の活動を行っていると判定する、
     請求項31に記載の情報処理装置。
  33.  前記判定手段は、前記合計値に所定の重み付けを行うことで得られた値が所定の閾値を超えた場合に、前記端末が所定の活動を行っていると判定する、
     請求項31に記載の情報処理装置。
  34.  前記ネットワークに接続された端末による通信を取得する通信取得手段を更に備え、
     前記比較手段は、取得された前記通信と予め保持されたパターンとを比較する、
     請求項16から33の何れか一項に記載の情報処理装置。
  35.  前記端末が所定の活動を行っていると判定された場合に該端末による通信を遮断する通信遮断手段を更に備える、
     請求項16から34の何れか一項に記載の情報処理装置。
  36.  ネットワークに接続された端末による所定の通信を検知する、1または複数の検知手段を更に備え、
     前記判定手段は、前記検知手段によって所定の通信として検知されなかった通信に基づいて、前記端末が所定の活動を行っているか否かを判定する、
     請求項16から35の何れか一項に記載の情報処理装置。
  37.  コンピューターが、
     ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較ステップと、
     前記比較の結果に従って、前記端末の活動のフェーズを決定する決定ステップと、
     前記決定ステップにおいて、前記端末にコンテンツをダウンロードさせるフェーズであると決定された第一の通信と、前記決定ステップにおいて、該端末に実行ファイルをダウンロードさせるフェーズであると決定された第二の通信との相関分析を行うことで、該第一の通信によるコンテンツのダウンロードと、該第二の通信による実行ファイルのダウンロードとの間の相関性の有無または程度を判定する相関分析ステップと、
     前記相関分析の結果に基づいて、前記端末が所定の活動を行っているか否かを判定する判定ステップと、
     を実行する活動判定方法。
  38.  コンピューターを、
     ネットワークに接続された端末による通信と予め保持されたパターンとを比較する比較手段と、
     前記比較の結果に従って、前記端末の活動のフェーズを決定する決定手段と、
     前記決定手段によって、前記端末にコンテンツをダウンロードさせるフェーズであると決定された第一の通信と、前記決定手段によって、該端末に実行ファイルをダウンロードさせるフェーズであると決定された第二の通信との相関分析を行うことで、該第一の通信によるコンテンツのダウンロードと、該第二の通信による実行ファイルのダウンロードとの間の相関性の有無または程度を判定する相関分析手段と、
     前記相関分析の結果に基づいて、前記端末が所定の活動を行っているか否かを判定する判定手段と、
     として機能させる、活動判定用プログラム。
PCT/JP2014/084690 2014-01-14 2014-12-26 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム WO2015107861A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015557758A JP6097849B2 (ja) 2014-01-14 2014-12-26 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム
CN201480073245.5A CN105917348B (zh) 2014-01-14 2014-12-26 信息处理装置以及活动判定方法
US15/208,937 US10277614B2 (en) 2014-01-14 2016-07-13 Information processing apparatus, method for determining activity and computer-readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014004055 2014-01-14
JP2014-004055 2014-01-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/208,937 Continuation US10277614B2 (en) 2014-01-14 2016-07-13 Information processing apparatus, method for determining activity and computer-readable medium

Publications (1)

Publication Number Publication Date
WO2015107861A1 true WO2015107861A1 (ja) 2015-07-23

Family

ID=53522354

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2014/084690 WO2015107861A1 (ja) 2014-01-14 2014-12-26 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム
PCT/JP2014/084691 WO2015107862A1 (ja) 2014-01-14 2014-12-26 情報処理装置、方法およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/084691 WO2015107862A1 (ja) 2014-01-14 2014-12-26 情報処理装置、方法およびプログラム

Country Status (4)

Country Link
US (3) US9288221B2 (ja)
JP (2) JP6014280B2 (ja)
CN (3) CN104778404B (ja)
WO (2) WO2015107861A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019500712A (ja) * 2015-11-30 2019-01-10 シマンテック コーポレーションSymantec Corporation ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法
JP2019153875A (ja) * 2018-03-01 2019-09-12 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
US10560452B2 (en) 2016-02-16 2020-02-11 Fujitsu Limited Apparatus and method to control transfer apparatuses depending on a type of an unauthorized communication occurring in a network
JP2020135816A (ja) * 2019-02-26 2020-08-31 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
WO2023233580A1 (ja) * 2022-06-01 2023-12-07 日本電信電話株式会社 検知対処制御システム、検知対処制御方法、ハードウェアアクセラレータ、コントローラ、および、プログラム

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6421436B2 (ja) * 2014-04-11 2018-11-14 富士ゼロックス株式会社 不正通信検知装置及びプログラム
US9965627B2 (en) 2014-09-14 2018-05-08 Sophos Limited Labeling objects on an endpoint for encryption management
US9537841B2 (en) 2014-09-14 2017-01-03 Sophos Limited Key management for compromised enterprise endpoints
US10122687B2 (en) 2014-09-14 2018-11-06 Sophos Limited Firewall techniques for colored objects on endpoints
US9641543B2 (en) * 2015-04-22 2017-05-02 Aktiebolaget AKF Systems and methods for securing remote configuration
US9781131B2 (en) * 2015-04-22 2017-10-03 Aktiebolaget Skf Systems and methods for securing remote configuration
US9699202B2 (en) * 2015-05-20 2017-07-04 Cisco Technology, Inc. Intrusion detection to prevent impersonation attacks in computer networks
US10826915B2 (en) * 2015-06-02 2020-11-03 Mitsubishi Electric Corporation Relay apparatus, network monitoring system, and program
US10075456B1 (en) * 2016-03-04 2018-09-11 Symantec Corporation Systems and methods for detecting exploit-kit landing pages
US10826933B1 (en) * 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10050982B1 (en) * 2016-05-19 2018-08-14 Symantec Corporation Systems and methods for reverse-engineering malware protocols
JP6105792B1 (ja) * 2016-07-04 2017-03-29 株式会社ラック 情報処理装置、情報処理方法及びプログラム
JP6903901B2 (ja) * 2016-11-28 2021-07-14 富士通株式会社 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法
CN106682517B (zh) * 2017-01-16 2019-04-23 西安电子科技大学 安卓应用运行时的Activity推断方法
JP6207784B1 (ja) * 2017-03-27 2017-10-04 株式会社ラック 中継装置、中継方法およびプログラム
IL251683B (en) 2017-04-09 2019-08-29 Yoseph Koren A system and method for dynamic management of private data
JP6869100B2 (ja) 2017-05-12 2021-05-12 株式会社Pfu 情報処理装置、不正活動分類方法および不正活動分類用プログラム
US10174302B1 (en) 2017-06-21 2019-01-08 Xl-Protein Gmbh Modified L-asparaginase
CN108429746B (zh) * 2018-03-06 2020-01-03 华中科技大学 一种面向云租户的隐私数据保护方法及系统
CN108632087B (zh) * 2018-04-26 2021-12-28 深圳市华迅光通信有限公司 一种基于路由器的上网管理方法及系统
WO2019240020A1 (ja) * 2018-06-13 2019-12-19 パナソニックIpマネジメント株式会社 不正通信検知装置、不正通信検知方法及び製造システム
CN110995525A (zh) * 2019-10-31 2020-04-10 北京直真科技股份有限公司 一种基于维护矩阵的路由器检测方法
CN113051555A (zh) * 2020-09-07 2021-06-29 沈建锋 结合大数据和云计算的业务信息检测方法及云计算中心
DE102020213893A1 (de) * 2020-11-04 2022-05-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Erkennung eines unerlaubten physischen Zugriffs auf ein Bussystem
US11792209B2 (en) * 2020-12-31 2023-10-17 Imperva, Inc. Robust learning of web traffic
CN114422495B (zh) * 2022-01-25 2023-10-24 北京浩瀚深度信息技术股份有限公司 一种针对DNS over HTTP协议的安全监管方法
US20240028494A1 (en) * 2022-07-20 2024-01-25 Zscaler, Inc. Dynamic Applicative Session Grouping

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350543A (ja) * 2005-06-14 2006-12-28 Mitsubishi Electric Corp ログ分析装置
US20090172815A1 (en) * 2007-04-04 2009-07-02 Guofei Gu Method and apparatus for detecting malware infection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002230541B2 (en) 2000-11-30 2007-08-23 Cisco Technology, Inc. Flow-based detection of network intrusions
WO2002101516A2 (en) * 2001-06-13 2002-12-19 Intruvert Networks, Inc. Method and apparatus for distributed network security
US7475426B2 (en) 2001-11-30 2009-01-06 Lancope, Inc. Flow-based detection of network intrusions
US8117659B2 (en) * 2005-12-28 2012-02-14 Microsoft Corporation Malicious code infection cause-and-effect analysis
JP5118020B2 (ja) * 2005-05-05 2013-01-16 シスコ アイアンポート システムズ エルエルシー 電子メッセージ中での脅威の識別
JP2006352543A (ja) * 2005-06-16 2006-12-28 Iwatsu Electric Co Ltd Sip電話交換システム
CN101414939B (zh) * 2008-11-28 2011-12-28 武汉虹旭信息技术有限责任公司 一种基于动态深度包检测的互联网应用识别方法
CN103581155B (zh) * 2012-08-08 2016-04-27 贵州电网公司信息通信分公司 信息安全态势分析方法与系统
US9311479B1 (en) * 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350543A (ja) * 2005-06-14 2006-12-28 Mitsubishi Electric Corp ログ分析装置
US20090172815A1 (en) * 2007-04-04 2009-07-02 Guofei Gu Method and apparatus for detecting malware infection

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019500712A (ja) * 2015-11-30 2019-01-10 シマンテック コーポレーションSymantec Corporation ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法
US10560452B2 (en) 2016-02-16 2020-02-11 Fujitsu Limited Apparatus and method to control transfer apparatuses depending on a type of an unauthorized communication occurring in a network
JP2019153875A (ja) * 2018-03-01 2019-09-12 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
JP7033467B2 (ja) 2018-03-01 2022-03-10 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
JP2020135816A (ja) * 2019-02-26 2020-08-31 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
JP7109391B2 (ja) 2019-02-26 2022-07-29 株式会社日立製作所 不正通信検知装置および不正通信検知プログラム
US11792650B2 (en) 2019-02-26 2023-10-17 Hitachi, Ltd. Unauthorized communication detection apparatus and recording medium
WO2023233580A1 (ja) * 2022-06-01 2023-12-07 日本電信電話株式会社 検知対処制御システム、検知対処制御方法、ハードウェアアクセラレータ、コントローラ、および、プログラム

Also Published As

Publication number Publication date
CN104778404B (zh) 2018-03-06
US10277614B2 (en) 2019-04-30
US20160323304A1 (en) 2016-11-03
WO2015107862A1 (ja) 2015-07-23
JP6014280B2 (ja) 2016-10-25
JPWO2015107862A1 (ja) 2017-03-23
JP6097849B2 (ja) 2017-03-15
CN105917348B (zh) 2019-04-05
US20150200956A1 (en) 2015-07-16
CN104778404A (zh) 2015-07-15
CN105934763A (zh) 2016-09-07
US20160323305A1 (en) 2016-11-03
JPWO2015107861A1 (ja) 2017-03-23
CN105917348A (zh) 2016-08-31
US9288221B2 (en) 2016-03-15

Similar Documents

Publication Publication Date Title
JP6097849B2 (ja) 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム
Blaise et al. Detection of zero-day attacks: An unsupervised port-based approach
Borkar et al. A survey on Intrusion Detection System (IDS) and Internal Intrusion Detection and protection system (IIDPS)
Ghafir et al. Botdet: A system for real time botnet command and control traffic detection
US20220224716A1 (en) User agent inference and active endpoint fingerprinting for encrypted connections
JP6001689B2 (ja) ログ分析装置、情報処理方法及びプログラム
US10652259B2 (en) Information processing apparatus, method and medium for classifying unauthorized activity
Verba et al. Idaho national laboratory supervisory control and data acquisition intrusion detection system (SCADA IDS)
US10581880B2 (en) System and method for generating rules for attack detection feedback system
US11388188B2 (en) Systems and methods for automated intrusion detection
KR102501372B1 (ko) Ai 기반 이상징후 침입 탐지 및 대응 시스템
Hindy et al. A taxonomy of malicious traffic for intrusion detection systems
Kumar et al. Artificial intelligence managed network defense system against port scanning outbreaks
Tyagi et al. A novel HTTP botnet traffic detection method
Raftopoulos et al. Understanding network forensics analysis in an operational environment
Patel et al. A Snort-based secure edge router for smart home
Seo et al. Abnormal behavior detection to identify infected systems using the APChain algorithm and behavioral profiling
Rai et al. Intrusion detection systems: A review
Anbar et al. Investigating study on network scanning techniques
Ranjith et al. Design and implementation of a defense system from TCP injection attacks
Misbahuddin et al. Dynamic IDP Signature processing by fast elimination using DFA
Nafarieh Detecting Bot Networks Based On HTTP And TLS Traffic Analysis
Banerjee Detection and behavioral analysis of botnets using honeynets and classification techniques
CN118139052A (zh) 增强网络安全防护方法及装置、存储介质、电子装置
Nechaev et al. Internet botnets: A survey of detection techniques

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015557758

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14879009

Country of ref document: EP

Kind code of ref document: A1