WO2016072310A1 - 特定装置、その制御方法、及びプログラム - Google Patents

特定装置、その制御方法、及びプログラム Download PDF

Info

Publication number
WO2016072310A1
WO2016072310A1 PCT/JP2015/080171 JP2015080171W WO2016072310A1 WO 2016072310 A1 WO2016072310 A1 WO 2016072310A1 JP 2015080171 W JP2015080171 W JP 2015080171W WO 2016072310 A1 WO2016072310 A1 WO 2016072310A1
Authority
WO
WIPO (PCT)
Prior art keywords
malware
log
information
file
trace
Prior art date
Application number
PCT/JP2015/080171
Other languages
English (en)
French (fr)
Inventor
和希 高野
Original Assignee
キヤノン電子株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by キヤノン電子株式会社 filed Critical キヤノン電子株式会社
Priority to JP2016557713A priority Critical patent/JP6461992B2/ja
Publication of WO2016072310A1 publication Critical patent/WO2016072310A1/ja
Priority to US15/281,798 priority patent/US10382477B2/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/146Tracing the source of attacks

Definitions

  • the present invention relates to a specific device, a control method thereof, and a program.
  • Patent Document 1 a technique for determining the intrusion route of malware when malware is found on a computer is known (see Patent Document 1). If the intrusion route can be determined, it is possible to take measures such as closing the intrusion port. However, even if the entrance is blocked, the malware that has already entered does not automatically disappear. In an organization such as a company or a school, a large number of computers are connected via a network, and the invaded malware may spread widely via the network. As a technique for grasping the diffusion range of malware, a technique disclosed in Patent Document 2 is known. According to Patent Document 2, a PC that has accessed a file detected as malware (virus) is specified, and the PC is blocked from the network.
  • virus malware
  • Patent Document 2 only detects a PC that directly accesses a file detected as malware (virus). Therefore, for example, when a PC (PCA) accesses a file detected as malware and the PCA copies it to another PC (PCB), it cannot cope.
  • PCA is a target for blocking the network, but the PCB is not a target. Therefore, there is a possibility that the spread of malware cannot be prevented.
  • the present invention has been made in view of such a situation, and provides a technology for improving the accuracy of specifying the diffusion range of malware.
  • the present invention is a specific device for specifying a malware diffusion range, a storage unit that stores an operation history that is a history of operations executed in one or more information processing devices, and malware Malware that contains malware spreading information including information indicating malware intrusion or information indicating malware intrusion source, and malware that indicates the malware or intrusion source indicated by the malware spreading information directly or indirectly in the operation history And a specifying means for specifying one or more operations for diffusing the light.
  • FIG. 1 The figure which shows the whole structure of the specific apparatus which pinpoints the spreading
  • FIG. The figure which shows the example of the malware spreading
  • FIG. 10 is a flowchart showing PC operation log output processing by the client PC 8; The flowchart of a log trace process.
  • the figure which shows an example of PC operation log The figure which shows the malware spreading
  • the figure which shows an example of PC operation log The figure which shows the malware spreading
  • the figure which shows an example of PC operation log The figure which shows the malware spreading
  • the file “Malware.exe” is malware, and includes binaries and script codes that act as malware.
  • “Malware.exe” is executed as a process to create the file “Malware.txt”
  • “Malware.txt” may contain binaries and script code that act as malware . Therefore, in this embodiment, “file created by malware” is also regarded as malware.
  • malware spread range list the process “A.exe” is not only “loads a file created by malware” but also “loads a registry modified by malware” or “accesses shared memory used by malware” In some cases, the process “A.exe” is considered malware. That is, when a registry or shared memory is created or changed by malware, such information is also registered in the malware diffusion range list, as is the file information. If the process “B.exe” further creates a file, registry, etc., the process that reads the file, registry, etc. is also treated in the same way.
  • the process “A.exe” receives data from the malware by some means (such as startup parameters or interprocess communication). There is a possibility. Therefore, the process “A.exe” is regarded as malware in the same manner as described above.
  • malware diffusion range list By performing the above processing, files, registries, etc. that may be infected with malware are registered in the malware diffusion range list. After the processing is completed, by referring to this malware spread range list, it is possible to grasp the range that may be infected by malware in units of files or registries. Further, for example, even when there is a file that is not detected as malware unless it is activated, it is possible to detect such a file as malware by referring to the malware diffusion range list.
  • a file is infected with malware includes (or may include) a binary or script code that causes the file to act as malware. Means). If such a file is executed as a process, this process may act as malware. In addition, when such a file is read by another process, the process may also act as malware.
  • the specific device includes a client PC 8 (information processing device) and a server 9 connected to each other via the network 7. Although only one client PC 8 is illustrated in FIG. 2, a plurality of client PCs may be connected to the network 7.
  • the PC operation monitoring unit 1 monitors operations and processes in the client PC 8. For example, when an arbitrary process is activated, the PC operation monitoring unit 1 acquires information about the process (file path, file size, file hash value, etc.) and holds this information. This information is used for determining whether the activated process is registered in the malware diffusion range list (described later). Examples of operations / processes monitored by the PC operation monitoring unit 1 include the following.
  • the malware detection unit 3 determines whether or not the object on the client PC 8 is malware, and if it is malware, detects it. When malware is detected, the malware detection unit 3 records information on the malware (malware sample name, file path, hash value, etc.) in the PC operation log as a malware detection log. Antimalware or the like may be used for the malware detection unit 3.
  • the malware detection unit 3 is arranged on the client PC 8, but this does not limit the arrangement location of the malware detection unit 3.
  • the malware detection unit 3 may be installed on the server 9 or on the network 7.
  • the log output unit 2 performs PC operations (file creation / deletion / name change / copy / move, registry creation / change, shared memory creation / change, etc.) detected by the PC operation monitoring unit 1 on the PC. Output as a log.
  • the log output unit 2 is arranged on the client PC 8, but this does not limit the arrangement place of the log output unit 2.
  • the log output unit 2 may be installed on the server 9 or on the network 7.
  • the PC operation log 6 is a log in which operations on the computer (file creation / deletion / name change / copy / move, registry creation / change, shared memory creation / change, mail reception, web access, etc.) are recorded. .
  • the PC operation log 6 is generated by the log output unit 2.
  • FIG. 3 shows an example of the format of the PC operation log 6.
  • the PC operation log 6 aggregates and accumulates operation logs of a plurality of client PCs via the network 7.
  • the PC operation log 6 is arranged on the server 9, but this does not limit the arrangement location of the PC operation log 6.
  • the PC operation log 6 may be arranged on the client PC 8.
  • the malware diffusion range list 5 holds information on files, registries, shared memory, etc. that are infected (or possibly infected) with malware, and information on diffusion routes.
  • FIG. 4 shows an example of the malware spread range list 5 related to the file
  • FIG. 5 shows an example of the malware spread range list 5 related to the registry
  • FIG. 6 shows an example of the malware spread range list 5 related to the shared memory.
  • the malware spread range list 5 holds information such as a PC name, a path (file path), a hash value, and a size in which a file is stored, but this is an example, and the malware spread range list It does not limit the type or number of information held by 5.
  • the malware diffusion range list 5 is arranged on the server 9, but this does not limit the arrangement location of the malware diffusion range list 5.
  • the malware spread range list 5 may be arranged on the client PC 8, for example. The information held in the malware diffusion range list 5 will be described below.
  • Type (cause information)
  • the type indicates in which medium the malware has spread (cause of malware spread or intrusion). For example, if the file format malware is copied by another process, the type is “file”. Further, when file format malware is copied to a removable device and spread to other PCs via the removable device, the type becomes “removable device”. Also, when the executable malware writes the registry key, it becomes “registry”, and when it writes the shared memory, it becomes “shared memory”.
  • ID ⁇ ID, parent ID
  • ID2 and ID3 are both “1”. This is because the file “C: ⁇ virus.exe” recorded in ID1 is recorded as “C: ⁇ Program Files ⁇ virus.exe” recorded in ID2 and “C: ⁇ Windows ⁇ virus.exe” recorded in ID3. "exe””indicates that it has been copied to two locations.
  • a method of assigning a value obtained by adding 1 to the maximum ID value in the malware diffusion range list 5 can be considered.
  • malware diffusion range list 5 different information depending on the type is recorded (this information is generated based on the information recorded in the PC operation log 6). For example, when the type is a file, a file name, a file path, a file hash value, an operation name, an operation time, and the like are recorded.
  • the log trace unit 4 traces the PC operation log 6 in time series, and registers a log that matches a specific condition in the malware diffusion range list 5. For example, if there is a log indicating that a file registered in the malware spread range list 5 has been copied to another location, the file information of the copy destination is registered in the malware spread range list 5.
  • the log trace unit 4 is arranged on the server 9, but this does not limit the location of the log trace unit 4.
  • the log trace unit 4 may be arranged on the client PC 8.
  • the CPU 81 controls the entire computer using computer programs and data stored in the ROM 82 and RAM 83. When this computer is applied to the server 9, the CPU 81 executes each process described later as what the server 9 performs. When this computer is applied to the client PC 8, the CPU 81 executes each process described later as what the client PC 8 performs.
  • the ROM 82 stores setting data and a boot program of the computer.
  • the RAM 83 has an area for temporarily storing computer programs and data loaded from an HDD (Hard Disk Drive) 84, data received from the outside via the interface 87, and the like. Further, the RAM 83 has a work area used when the CPU 81 executes various processes. That is, the RAM 83 can provide various areas as appropriate.
  • HDD Hard Disk Drive
  • the HDD 84 stores a computer program and data for causing the CPU 81 to execute various processes performed by an OS (operating system) and a device to which the computer is applied.
  • the computer program includes a computer program for causing the CPU 81 to execute each process described later as what the server 9 performs. Further, the malware diffusion range list 5 and the PC operation log 6 are also provided in the HDD 84.
  • the computer program includes a computer program for causing the CPU 81 to execute each process described later as being performed by the client PC 8.
  • Computer programs and data stored in the HDD 84 are appropriately loaded into the RAM 83 under the control of the CPU 81 and are processed by the CPU 81.
  • the input device 85 is configured by a keyboard, a mouse, and the like, and an operator of the computer can input various instructions to the CPU 81 by operating the input device 85.
  • the display device 86 is configured by a CRT, a liquid crystal screen, or the like, and can display a processing result by the CPU 81 using an image, text, or the like.
  • the interface 87 is composed of various interfaces.
  • the interface 87 when this computer is applied to the client PC 8, the interface 87 includes a network interface for connecting the computer to the network 7, a device interface for connecting an external recording medium to the computer, and the like.
  • the interface 87 includes a network interface for connecting the computer to the network 7.
  • the bus 88 connects the above-described units to each other.
  • both the client PC 8 and the server 9 are described as computers having the configuration shown in FIG. 7, but the configuration of the computer is not limited to such a configuration. Absent. In addition, computers having different configurations between the client PC 8 and the server 9 may be used.
  • the PC operation monitoring unit 1 determines whether or not a predetermined operation has been performed on the client PC 8. If the predetermined operation has been performed, the process proceeds to S802, and if not, the process proceeds to S803. Examples of operations monitored by the PC operation monitoring unit 1 include the following.
  • the PC operation monitoring unit 1 transmits the contents of the operation performed on the client PC 8 to the log output unit 2, and the log output unit 2 outputs the operation content as a PC operation log.
  • the output log is transmitted to the server 9 via the network 7 and accumulated as the PC operation log 6. Note that the PC operation log 6 may be stored in the client PC 8.
  • the malware detection unit 3 determines whether or not malware is detected in the client PC 8. If malware is detected, the process proceeds to S804, and if not, the process proceeds to S805.
  • the malware detection unit 3 notifies the log output unit 2 that malware has been detected, and the log output unit 2 outputs a PC operation log indicating malware detection.
  • the PC operation log indicating malware detection includes, for example, information on a file detected as malware.
  • the PC operation log indicating malware detection has the same format as the normal PC operation log output in S802 and is stored as the PC operation log 6.
  • the PC operation monitoring unit 1 determines whether shutdown of the client PC 8 has been instructed. When the shutdown is instructed, the client PC 8 is shut down, and the processing of this flowchart ends. If shutdown is not instructed, the process returns to S801. That is, while the client PC 8 is activated, the processes of S801 to S805 are repeated.
  • the log trace process executed by the log trace unit 4 will be described with reference to FIG.
  • the log trace unit 4 traces the PC operation log 6 and outputs a malware diffusion range list 5 as a result. By referring to the output malware diffusion range list 5, it is possible to grasp the malware diffusion range.
  • the log trace unit 4 finds the malware detection log output in S804 of FIG.
  • the log trace process is started when a malware detection log exists, but the start condition of the log trace process is not limited to this.
  • the log trace process may be started when the user specifies a file path, a hash value, or the like for an arbitrary file in the same format as the malware detection log. As a result, it is possible to specify the diffusion range even for files that are not detected as malware.
  • the log trace unit 4 traces the PC operation log 6 in descending order of time based on information such as files and times recorded in the malware detection log, and in what route the files detected as malware are routed. Traces whether the client PC 8 has been entered.
  • the trace processing in S901 is referred to as backtrace.
  • the log trace unit 4 registers all information such as files extracted as malware intrusion routes in the malware diffusion range list 5.
  • the malware diffusion range list shown in FIG. 18 is generated. Note that the example of the PC operation log shown in FIG. 17 has a different format from the example of the PC operation log shown in FIG.
  • PC operation log has various items as necessary, and is not limited to a format having specific items.
  • PC operation logs and malware diffusion range lists of various formats are exemplified, but all are created within the range necessary for the description, and the format is not limited to a specific one.
  • the log trace unit 4 displays information on the malware detection log found in S900 (or information on the file specified by the user, for example, file path and hash value) as the malware diffusion range list 5 Register with.
  • the log trace unit 4 acquires one item registered in the malware diffusion range list 5.
  • the acquired items are, for example, “file” (see the first item in FIG. 18), “Web” (see the first item in FIG. 22), “mail” (see the first item in FIG. 24). ), “Removable device (entrance)” (see the seventh item in FIG. 27), “removable device (exit)” (see the sixth item in FIG. 27), “shared (entrance)” (in FIG. 30) 7), and “shared (exit)” (see the sixth item in FIG. 30).
  • each item in the malware diffusion range list 5 can be regarded as information indicating malware diffusion (malware diffusion information), and the malware diffusion information includes information indicating malware or information indicating an intrusion source of malware.
  • the first item in FIG. 18 includes a path “C: ⁇ Dir1 ⁇ Malware.exe” as information indicating malware, and the first item in FIG. 22 indicates a malware intrusion source.
  • URL “http://example.com” is included.
  • the “type” of each item in the malware diffusion range list 5 can be regarded as information (cause information) indicating the cause of malware diffusion or intrusion.
  • the first item in FIG. 18 includes “file” as the type (cause information), which indicates that malware has spread due to the file.
  • the first item in FIG. 22 includes “Web” as the type (cause information), which indicates that malware has entered due to web access.
  • the first item in FIG. 24 includes “mail” as a type (cause information), which indicates that malware has entered due to mail reception.
  • the sixth item in FIG. 27 includes “removable device (exit)” as the type (cause information), which indicates that malware has spread due to the removable device.
  • the sixth item in FIG. 30 includes “shared (exit)” as a type (cause information), which indicates that malware has spread due to the shared folder.
  • the log trace unit 4 uses the information corresponding to the malware detection log (or information specified by the user) found in S900 as malware spreading information, and malware Register in the diffusion range list 5.
  • the item (that is, malware diffusion information) acquired in S902 includes information such as the third item in FIG.
  • step S903 the log trace unit 4 performs conditional branching of processing based on the type of item acquired in step S902.
  • the process proceeds to S911.
  • the type is “file”
  • the process proceeds to S911.
  • the type is “Web”
  • the forward trace is executed in S907
  • the process proceeds to S911.
  • the type is “mail”
  • the forward trace is executed in S908
  • the process proceeds to S911.
  • the type is “removable device (exit)”
  • the forward trace is executed in S909
  • the process proceeds to S911.
  • the type is “shared (exit)”, after the forward trace is executed in S910, the process proceeds to S911.
  • removable device (exit) and “shared (exit)” are examples, and may be “removable device (entrance)” and “shared (entrance)”, or “removable device” and “shared”.
  • the processing content of the forward trace differs depending on the type of the item (malware diffusion information) acquired in S902.
  • the forward trace is a process for specifying one or more operations for spreading malware using the malware or intrusion source indicated by the malware diffusion information as a direct or indirect origin. Details of the seven types of forward traces shown in S904 to S910 will be described later with reference to FIGS. 10 to 16B.
  • the log trace unit 4 searches for an unacquired item in the malware diffusion range list 5. If there is no unacquired item, it is determined that all log searches have been completed, and the process ends. If there is even one unacquired item, the process returns to S902. That is, the log trace unit 4 repeats the processing of S902 to S911 until all items registered in the malware diffusion range list 5 are acquired. In addition, when an item is added to the malware spread range list 5 by the forward trace of S904 to S910 in the process of repeating the processing of S902 to S911, the added item is also an acquisition target in S902.
  • acquisition of items registered in the malware diffusion range list 5 is not limited to “type”, but may be “operation name”, “path name”, or the like. In that case, in S903, a type is determined based on the item acquired in S902, and a conditional branch of processing is performed.
  • Trace Flow 1-A The forward trace (trace flow 1-A) executed in S904 of FIG. 9 will be described by taking as an example the case where the PC operation log is as shown in FIG. In this case, the malware diffusion range list shown in FIG. 18 is generated by the backtrace in S901 in FIG. 9, and the first item (item at time 10:00) is acquired in S902. Since the type of this item is “file”, the process advances to S904 due to the conditional branch in S903.
  • FIG. 10 shows a flowchart regarding the trace flow 1-A.
  • the trace flow 1-A is a trace flow for detecting, as malware, files and registries generated by malware started as a process.
  • the log trace unit 4 detects the start log and the end log of the trace target file (C: ⁇ Dir1 ⁇ Malware.exe) from the PC operation log 6. Specifically, the PC operation log 6 is searched in chronological order, the file path (C: ⁇ Dir1 ⁇ Malware.exe) to be traced matches the “original path” on the operation log, and the operation name Detects a log whose is “start” or “end”.
  • the log at time 10:00 is detected as the start log
  • the log at time 11:12 is detected as the end log.
  • the log trace unit 4 acquires the operation log to be traced (trace target log) from the PC operation log 6.
  • the trace target log is an operation log corresponding to an operation executed by the trace target file (C: ⁇ Dir1 ⁇ Malware.exe) from the start to the end of the process.
  • C the trace target file
  • the log corresponding to this condition is a log at time 10:01.
  • processor path and “process ID” are listed as log extraction conditions.
  • a hash value may be used as long as the information is included in the malware diffusion range list 5. It is often assumed that the number and type of information used for conditions are not limited.
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1001, and sets the acquired item as the processing target in S1003.
  • the log at time 10:01 in FIG. 17 is acquired and becomes the processing target in S1003.
  • the log trace unit 4 determines whether the log acquired in S1002 corresponds to one of the following.
  • the log trace unit 4 needs to register the generated / changed items in the malware diffusion range list 5. That is, the process proceeds to S1004. Specifically, when the operation name is “create”, “overwrite”, or “memory access”, the log trace unit 4 determines that the processing target log satisfies the condition. In the present example, since the operation name of the log at time 10:01 in FIG. 17 is “create”, the process proceeds to S1004.
  • FIG. 17 includes only an example of a file, but the same applies to creation and overwriting of a registry and access and overwriting of a shared memory.
  • the contents included in the operation log are appropriately changed (for example, in the case of a registry, the operation log includes a registry key instead of the original path, and in the case of shared memory, the operation log includes the original Memory address instead of path).
  • the log trace unit 4 determines whether or not the operation log to be processed is already registered in the malware diffusion range list 5. If not registered, the process proceeds to S1005, and if registered, the process proceeds to S1006. In the present example, the log at time 10:01 in FIG. 17 is the processing target, and this is already registered (see FIG. 18). Accordingly, the process proceeds to S1006.
  • step S ⁇ b> 1005 the log trace unit 4 registers the current operation target operation log in the malware diffusion range list 5.
  • the log trace unit 4 determines whether or not the processing of S1003 to S1006 has been performed on all the trace target logs acquired in S1001. When the processing has been completed for all the trace target logs, the log trace unit 4 ends the processing of the trace flow 1-A, and if there is a log that has not yet been processed, the log trace unit 4 The process proceeds to S1007.
  • the log trace unit 4 acquires a log immediately after the time series processing of the log that has been processed in the previous S1003 to S1006, and performs the process in S1003 to S1006 on the log. That is, the processing of S1003 to S1006 is performed on all operation logs included in the trace target log acquired in S1001.
  • Trace Flow 1-B The forward trace (trace flow 1-B) executed in S905 of FIG. 9 will be described by taking as an example the case where the PC operation log is as shown in FIG.
  • the malware diffusion range list shown in FIG. 18 is generated by the backtrace in S901 in FIG. 9, and the first item (item at time 10:00) is acquired in S902. Since the type of this item is “file”, the process advances to S904 due to the conditional branch in S903. Thereafter, the above-described trace flow 1-A is executed in S904, and the process proceeds to S905.
  • FIG. 11 is a flowchart regarding the trace flow 1-B.
  • Trace flow 1-B is a trace flow for detecting, as malware, a process that has read malware or a process that is activated by malware.
  • step S ⁇ b> 1100 the log trace unit 4 acquires a trace target log from the PC operation log 6. Specifically, a log indicating that an arbitrary process has been started by a process registered in the malware diffusion range list 5 (a log that matches condition 1 described later), and an arbitrary process is the malware diffusion range list 5 A log indicating that the item (file, registry, shared memory, etc.) registered in (1) is read (a log that meets condition 2 described later) is acquired.
  • the trace target process is “C: ⁇ Dir1 ⁇ Malware.exe” (that is, the path of the item acquired in S902 of FIG. 9 is “C: ⁇ Dir1 ⁇ Malware.exe”)
  • C: ⁇ Dir1 ⁇ Malware.exe A case where a PC operation log as shown in FIG. 17 exists will be described.
  • the log trace unit 4 acquires operation logs that meet any of the following conditions and arranges them in ascending order of time series. -"Process ID” matches the process ID of the log corresponding to the condition 1, and “Process name” matches the process name of the log corresponding to the condition 1, and the time corresponds to the condition 1.
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1100, and sets the acquired item as the processing target in S1102.
  • the log trace unit 4 determines whether the log acquired in S1101 corresponds to one of the following.
  • FIG. 33 shows a malware diffusion range list generated by the processing of trace flow 1-B for the operation log shown in FIG.
  • Trace Flow 2 The forward trace (trace flow 2) executed in S906 in FIG. 9 will be described by taking the case where the PC operation log is as shown in FIG. 19 as an example.
  • the malware diffusion range list shown in FIG. 20 is generated by the backtrace in S901 of FIG. 9, and the first item (item at time 10:00) is acquired in S902. Since the type of this item is “file”, the process advances to S904 due to the conditional branch in S903. Thereafter, the above-described trace flow 1-A is executed in S904, the above-described trace flow 1-B is executed in S905, and the process proceeds to S906.
  • FIG. 12A and 12B are flowcharts related to the trace flow 2.
  • FIG. The trace flow 2 is a trace flow for detecting a file to which the malware has been copied or moved as malware.
  • the log trace unit 4 acquires a log in which the trace target file (C: ⁇ Dir1 ⁇ Malware.exe) is copied, moved, or renamed from the PC operation log 6. Specifically, logs whose “original path” matches the file path to be traced and whose operation name is “copy”, “rename”, or “move” are acquired and arranged in ascending order of time series. In the case of FIG. 19, the log corresponding to this condition is a log at time 10:01. In this example, there is only one trace target log (log at time 10:01), but in general, a plurality of logs are acquired as trace target logs.
  • the trace target file C: ⁇ Dir1 ⁇ Malware.exe
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1200, and performs the process of S1202 on the acquired item.
  • the log at time 10:01 in FIG. 19 is acquired and becomes the target of the processing in S1202.
  • the log trace unit 4 determines whether the log acquired in S1201 corresponds to one of the following.
  • the log trace unit 4 determines whether or not the information of the file of the “destination path” in the operation log to be processed is already registered in the malware diffusion range list 5. If not registered, the process proceeds to S1204. If registered, the process proceeds to S1205. In the current example, the log at time 10:01 in FIG. 19 is the processing target, and this is already registered (see FIG. 20). Accordingly, the process proceeds to S1205.
  • the log trace unit 4 registers the operation log to be processed currently in the malware diffusion range list 5.
  • step S1205 the log trace unit 4 determines whether the destination of the copy, move, rename, or the like is a removable device.
  • a file is taken out to a removable device or a shared folder by an operation such as copying, moving, or renaming, another PC may access the same removable device or shared folder and copy the corresponding file.
  • malware may spread via removable devices and shared folders.
  • it is necessary to register the information of the relevant removable device or shared folder and the information of the taken-out file in the malware spread range list 5. Therefore, if the destination of the copy, move, rename, etc. is a removable device, the process proceeds to S1206. Otherwise, the process proceeds to S1208.
  • the destination device type of the operation log to be processed is “Removable”, it is determined that the destination of the copy, move, rename, etc. is a removable device.
  • the destination device type of the log at time 10:01 in FIG. 19 is “Local”, this condition is not met.
  • the operation log corresponding to this condition there is the fourth item in FIG. 25 (copy to “F: ⁇ A.exe” at time 10:02).
  • the log trace unit 4 determines whether the information on the removable device in S1205 is registered in the malware diffusion range list 5. If registered, the process proceeds to S1208. If not registered, the process proceeds to S1207.
  • the log trace unit 4 registers the information on the removable device in S1205 in the malware diffusion range list 5.
  • the item “path” registered here is the “destination path” of the log (log to be processed) acquired in S1201, and the “type” is “removable device (exit)”. This type indicates that a file has been taken out to a removable device.
  • the processing performed when the item type acquired in S902 of FIG. 9 is “removable device (exit)” will be described later with reference to FIGS. 15A, 15B, and 25 to 27.
  • step S1208 the log trace unit 4 determines whether the destination of the copy, move, rename, or the like is a shared folder. If it is a shared folder, the process proceeds to S1209; otherwise, the process proceeds to S1211. Specifically, if the “destination device type” of the processing target log is “Remote”, it is determined that the destination to which copying, moving, renaming, or the like is performed is a shared folder. In the current example, since the destination device type of the log at time 10:01 in FIG. 19 is “Local”, this condition is not met. As an example of the operation log corresponding to this condition, the third item in FIG. 28 (copy to “ ⁇ PCB ⁇ share ⁇ A.exe” at time 10:02) and the like can be cited.
  • the log trace unit 4 determines whether or not the shared folder information in S1208 is registered in the malware diffusion range list 5. If registered, the process proceeds to S1211. If not registered, the process proceeds to S1210.
  • the log trace unit 4 registers the shared folder information in S1208 in the malware diffusion range list 5.
  • the item “path” registered here is the “destination path” of the log (log to be processed) acquired in S1201, and the “type” is “shared (exit)”. This type is a type indicating that the file has been taken out to the shared folder.
  • the processing when the item type acquired in S902 of FIG. 9 is “shared (exit)” will be described later with reference to FIGS. 16A, 16B, and 28 to 30.
  • FIG. 34 shows a malware diffusion range list generated by the processing of the trace flow 2 for the operation log shown in FIG.
  • FIG. 13A and FIG. 13B are flowcharts related to the trace flow 3.
  • the trace flow 3 is a trace flow for detecting malware downloaded from the web. That is, this is a trace flow for detecting whether there is a file generated or overwritten after the web browser accesses the URL to be traced.
  • the log trace unit 4 detects the WEB access log that accesses the URL described in the item acquired in S902 from the PC operation log 6. Specifically, the PC operation log 6 is searched in time series, and a log in which the “URL” to be traced matches the “URL” of the PC operation log and the operation name is “WEB access” is detected. . However, logs whose “PC name”, “time”, and “URL” match the “PC name”, “time”, and “URL” of the Web access log to be traced acquired in S902 are excluded. In FIG. 21, the log of the time 13:00 of the PC name “PCB” is finally detected.
  • the log trace unit 4 acquires a trace target log (trace target log) from the PC operation log 6.
  • the trace target log is a log of processing performed by the browser when accessing the trace target URL.
  • an operation log whose process ID and process name match that of the log detected in S1300 and whose time is after the log detected in S1300 is acquired and arranged in ascending order of time series.
  • the log acquired in S1301 does not include the log detected in S1300. That is, in FIG. 21, three of the PC name “PCB” at time 13:01, “creation” at time 13:03, and “Web access” at time 13:02 are acquired as trace target logs.
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1301, and sets the acquired item as the processing target in S1303.
  • the log at the time 13:01 of the PC name “PCB” in FIG. 21 is acquired and becomes the processing target of S1303.
  • the log trace unit 4 determines whether the log acquired in S1302 is a WEB access log other than the URL to be traced. Specifically, the log trace unit 4 determines whether or not the log acquired in S1302 corresponds to all of the following.
  • the operation name is “WEB access”.
  • the accessed URL does not match the log detected in S1300. If all the processing target logs satisfy the above conditions, the processing of the trace flow 3 ends. If not (if even one of the above conditions does not apply), the process proceeds to S1304. When a browser accesses another URL after accessing the URL to be traced, the browser should be excluded from the trace target. Therefore, the process of S1303 is performed. In the current example, the operation name of the log at time 13:01 in FIG. 21 is “created”, so it is determined that the above condition is not met.
  • the log trace unit 4 determines whether the processing target log corresponds to one of the following.
  • FIG. 21 includes only an example of a file, but the same applies to registry creation and overwriting, and shared memory access and overwriting. However, in this case, the contents included in the operation log are appropriately changed (for example, in the case of a registry, the operation log includes a registry key instead of the original path, and in the case of shared memory, the operation log includes the original Memory address instead of path).
  • the log trace unit 4 determines whether or not the corresponding WEB information is already registered in the malware diffusion range list 5. Specifically, it is determined whether there is an item whose type is “WEB”, URL, time, and PC name are all the same as the log detected in S1300 and whose operation name is “web access”. If not registered, the process proceeds to S1305b, and if registered, the process proceeds to S1306.
  • the log trace unit 4 adds an item indicating that malware has been downloaded from the WEB to the malware diffusion range list 5.
  • the item to be added is an item whose type is “WEB”, URL is the URL detected in S1300, and operation name is “web access”.
  • the log trace unit 4 determines whether or not the current operation target operation log is already registered in the malware diffusion range list. If not registered, the process proceeds to S1307, and if registered, the process proceeds to S1308. In the current example, the log at time 13:01 in FIG. 21 is the processing target and is not registered (see FIG. 22). Accordingly, the process proceeds to S1307.
  • step S1307 the log trace unit 4 registers the operation log to be processed currently in the malware diffusion range list 5.
  • step S1307 the log trace unit 4 registers the operation log to be processed currently in the malware diffusion range list 5.
  • FIG. 35 shows a malware diffusion range list generated by the processing of the trace flow 3 for the operation log shown in FIG.
  • Trace Flow 4 The trace flow 4 executed in S908 of FIG. 9 will be described by taking as an example the case where the PC operation log is as shown in FIG.
  • the malware spread range list shown in FIG. 24 is generated by the backtrace in S901 in FIG. 9, and the first item (item at time 9:50) is acquired in S902. Since the type of this item is “mail”, the process advances to S908 due to the conditional branch in S903.
  • FIG. 14A and FIG. 14B are flowcharts related to the trace flow 4.
  • the trace flow 4 is a trace flow for detecting that the malware attached to the mail has been downloaded.
  • the log trace unit 4 detects, from the PC operation log 6, a log that has received the same mail as that described in the item acquired in S902. Specifically, the PC operation log 6 is searched in time series, and a log in which the “message ID” to be traced matches that of the PC operation log and the operation name is “mail received” is detected. However, logs whose “PC name”, “time”, and “message ID” match those of the trace target mail reception log acquired in S902 are excluded. In FIG. 23, a log of the PC name “PCB” at time 13:00 is detected.
  • the log trace unit 4 acquires a trace target log (trace target log) from the PC operation log 6.
  • the trace target log is a log of processing performed by the mailer when the trace target mail is received. Specifically, an operation log whose process ID and process name match that of the log detected in S1400 and whose time is after the log detected in S1400 is acquired and arranged in ascending order of time series. However, the log acquired in S1400 does not include the log detected in S1400. That is, in FIG. 23, a log of the PC name “PCB” at time 13:01 is acquired.
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1401, and sets the acquired item as the processing target in S1403.
  • a log at the time 13:01 of the PC name “PCB” in FIG. 24 is acquired and becomes a processing target in S1403.
  • the log trace unit 4 determines whether the log acquired in S1402 corresponds to one of the following.
  • the log trace unit 4 adds an item indicating that the malware has been downloaded from the attached file to the malware diffusion range list 5.
  • the item to be added is an item whose type is “mail”, the mail address and the message ID are the mail addresses detected in S1400, and the operation name is “mail received”.
  • step S1405 the log trace unit 4 newly creates an item having the same format as the malware spread range list 5 based on the operation log to be processed, and the created item is already registered in the malware spread range list 5. It is determined whether or not it has been done. If not registered, the process proceeds to S1406. If registered, the process proceeds to S1407. In the current example, the log at time 13:01 in FIG. 23 is a processing target, and an item to be added to the malware spread range list is created based on this log. The created item has the type “File”, PC name “PCB”, time 13:01, path “D: ⁇ Dir2 ⁇ abcd.pdf”, and operation name “Create”. Is not registered (see FIG. 24). Accordingly, the process proceeds to S1406.
  • step S ⁇ b> 1406 the log trace unit 4 registers the current operation target operation log in the malware diffusion range list 5.
  • the malware spread range list 5 changes from the state of FIG. 24 to the state of FIG.
  • a forward trace is executed therefrom.
  • S1407 and S1408 are the same as S1006 and S1007 of FIG.
  • FIG. 15A and FIG. 15B are flowcharts related to the trace flow 2-A.
  • the trace flow 2-A is a trace flow for detecting that the malware brought out to the removable device has spread to other PCs through the removable device.
  • the log trace unit 4 detects, from the PC operation log 6, a log in which a removable device having the same information as the removable device information described in the item acquired in S902 of FIG. 9 is connected. Specifically, the PC operation log 6 is searched in time series, and the “serial ID”, “vendor ID”, and “product ID” to be traced all match those of the operation log, and the operation name is “ Logs that are “attached” are detected. In FIG. 25, the log at 12:00 corresponds.
  • step S1501 the log trace unit 4 acquires a trace target log (trace target log) from the PC operation log 6.
  • the trace target log is an operation log when a trace target file is copied from a trace target device.
  • the original device type is “Removable”, and the drive letter included in the original path matches the drive letter of the log detected in S1500, and “the drive letter from the trace target path is Acquire a log in which the “character string removed” matches the “character string from which the drive letter is removed from the original path of the operation log” and the PC name matches the PC name of the log detected in S1500.
  • the log at time 12:05 is acquired as the trace target log.
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1501, and sets the acquired item as the processing target in S1503.
  • the log at time 12:05 in FIG. 25 is acquired and becomes the processing target of S1503.
  • the log trace unit 4 determines whether the log acquired in S1502 corresponds to one of the following.
  • the log trace unit 4 adds to the malware diffusion range list 5 an item indicating that malware has been diffused by the removable device.
  • the items to be added are specifically the type “removable device (entrance)”, the path acquired in S1502, and the “serial ID”, “vendor ID”, and “product ID” in S1500. Add an item that is a detected log.
  • step S ⁇ b> 1505 the log trace unit 4 newly creates an item having the same format as the malware spread range list 5 based on the current operation target operation log, and the created item is already registered in the malware spread range list 5. It is determined whether or not it has been done. If not registered, the process proceeds to S1506. If registered, the process proceeds to S1507. In the current example, the log at time 12:05 in FIG. 25 is a processing target, and an item to be added to the malware spread range list is created based on this log. The created item has the type “file”, PC name “PCB”, time 12:05, path “C: ⁇ Local ⁇ A.exe”, and operation name “copy”. Is not registered (see FIG. 26). Accordingly, the process proceeds to S1506.
  • step S1506 the log trace unit 4 registers the operation log to be processed currently in the malware diffusion range list 5.
  • the malware diffusion range list 5 changes from the state of FIG. 26 to the state of FIG.
  • a forward trace is executed therefrom. That is, the destination traced by the removable device is forward traced. If the forward trace destination is a removable device again, the process of the trace flow 2-A is started again, so that it is possible to grasp the diffusion range by all the removable devices.
  • S1507 and S1508 are the same as S1006 and S1007 of FIG.
  • FIG. 16A and FIG. 16B are flowcharts related to the trace flow 2-B.
  • the trace flow 2-B is a trace flow for detecting that the malware brought out to the shared folder has spread to other PCs through the shared folder.
  • the log trace unit 4 detects information necessary for locating the latter of the two access methods to the shared folder. Specifically, an operation log corresponding to all the following four is detected. (1) The file name extracted from the original path matches the file name extracted from the trace target path. (2) Shared PC name extracted from the trace target path (character string between the first " ⁇ ” and the next " ⁇ ” in the shared path. For the " ⁇ PCB ⁇ share ⁇ A.exe” In this case, “PCB”), the PC name matches. (3) The time matches that of the trace target. (4) The operation name is “shared log”.
  • the log trace unit 4 acquires a trace target log (trace target log) from the PC operation log 6.
  • the trace target log is an operation log when a file in the trace target path (path on the shared folder) is copied. Specifically, operation logs corresponding to any of the following are acquired and arranged in chronological order.
  • the original path matches the “shared log” detected in S1600.
  • the log at time 10:05 and the log at time 12:00 are acquired as trace target logs.
  • the log trace unit 4 acquires the first item from the trace target log acquired in S1601, and sets the acquired item as the processing target in S1603.
  • the log at time 10:05 in FIG. 28 is acquired and becomes the processing target of S1603.
  • the log trace unit 4 determines whether the processing target log acquired in S1602 corresponds to one of the following.
  • the log trace unit 4 adds an item indicating that the malware has spread via the shared folder to the malware diffusion range list 5.
  • the item to be added is an item whose type is “shared (entrance)” and whose path is the path acquired in S1602.
  • step S ⁇ b> 1605 the log trace unit 4 newly creates an item having the same format as the malware spread range list 5 based on the operation log to be processed, and the created item is already registered in the malware spread range list 5. It is determined whether or not it has been done. If not registered, the process proceeds to S1606. If registered, the process proceeds to S1607. In the current example, the log at time 10:05 in FIG. 28 is the processing target, and an item to be added to the malware spread range list is created based on this log. The created item has the type “file”, PC name “PCB”, time 10:05, path “D: ⁇ Dir10 ⁇ A.exe”, and operation name “copy”. Is not registered (see FIG. 29). Accordingly, the process proceeds to S1606.
  • S1607 and S1608 are the same as S1006 and S1007 of FIG.
  • the malware diffusion range list 5 changes from the state of FIG. 29 to the state of FIG.
  • a forward trace is executed therefrom. That is, the destination traced by the shared folder is forward traced. If the forward trace destination is the shared folder again, the process of the trace flow 2-B is started again, so that it is possible to grasp the diffusion range by all the shared folders.
  • the log trace unit 4 traces the PC operation log 6 based on a predetermined malware or malware intrusion source, and identifies an operation that causes the malware to spread. Thereby, it becomes possible to improve the identification accuracy of the diffusion range of malware.
  • the malware spread range list 5 has “PC name” information
  • the malware spread status in PC name units can be grasped by collecting the items in the malware spread range list in PC name units. Furthermore, by referring to the ID and parent ID of each item, it is possible to grasp information indicating from which PC the malware has spread to which PC.
  • a malware spread range list as shown in FIGS. 31A and 31B is generated. This indicates that the malware has intruded from the web site “http://example.com” as a result of the backtrace being detected in the PCD. Further, as a result of performing the forward trace based on the result of the backtrace, it can be confirmed that the malware has spread from the PCB to the PCE via the removable device and from the PCB to the PCG via the shared folder. Furthermore, it can also be confirmed that malware has spread from PCE to PCF and from PCG to PCH via mail and removable devices, respectively. A visual representation of this information is shown in FIG. The display in FIG. 32 is performed by, for example, the client PC 8 or the server 9.
  • a node 3200 represents a terminal such as a PC, or an intrusion port such as a web or mail.
  • Node 3200 is connected by a connector 3201 and represents a diffusion path.
  • a medium 3202 can also be displayed on the connector 3201. Thereby, it can be expressed that malware has spread between the nodes 3200 via, for example, a shared folder or a removable device.
  • FIG. 32 shows that malware has spread between the PCG and the PCH via the removable device.
  • the client PC 8 or the server 9 performs display as shown in FIG. As a result, it is possible to easily grasp the malware entrance, the diffusion route, the number of terminals in which the malware may be hidden, and the like.
  • tracing is performed using malware detection or a malware detection log as a trigger.
  • tracing may be performed based on information (for example, path name, URL, etc.) specified by the user or administrator.
  • Registration of information in the malware diffusion range list 5 is not limited to automatic registration based on the results of the back trace and the forward trace, but may be manually performed by a user or an administrator.
  • the PC operation monitoring unit 1 may disable the use of the corresponding terminal or disable the connection of the corresponding terminal to the network in order to prevent secondary infection to a non-spread range (terminal).
  • a specifying device that specifies the spread range of malware is provided.
  • the specific device that specifies the malware diffusion range may be provided in the client PC 8 or may be provided in the server 9. If the client PC 8 is provided, the diffusion range can be specified even in a stand-alone environment. If the server 9 is provided, the load caused by the specific processing of the client PC 8 can be reduced.
  • the specific device may be provided in the client PC 8 and also in the server 9 connected to the client PC 8.
  • the specific device provided in the client PC 8 and the specific device provided in the server 9 may cooperate to specify the malware diffusion range. Thereby, the load can be distributed. In addition, the operation history stored in the client PC 8 can be reduced.
  • a program for example, a program for causing a computer to function as the specific device shown in FIG. 2 that realizes each of the above-described embodiments may be included in the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 マルウェアの拡散範囲の特定精度を向上させる技術を提供する。 マルウェアの拡散範囲を特定する特定装置であって、1以上の情報処理装置において実行された操作の履歴である操作履歴を記憶した記憶手段と、マルウェアを示す情報、又はマルウェアの侵入元を示す情報を含む、マルウェア拡散情報を取得する取得手段と、前記操作履歴において、前記マルウェア拡散情報が示すマルウェア又は侵入元を直接的又は間接的な起点としてマルウェアを拡散させる1以上の操作を特定する特定手段と、を備えることを特徴とする特定装置を提供する。

Description

特定装置、その制御方法、及びプログラム
 本発明は、特定装置、その制御方法、及びプログラムに関する。
 従来、コンピュータ上でマルウェアが発見された際に、マルウェアの侵入経路を割り出す技術が知られている(特許文献1参照)。侵入経路を割り出すことができれば、侵入口を塞ぐなどの対策を取ることが可能である。しかし、侵入口を塞いだとしても、既に侵入してしまったマルウェアが自動的に消滅する訳ではない。企業や学校のような組織においては、多数のコンピュータがネットワークを介して接続されており、侵入したマルウェアは、ネットワークを介して広範に拡散してしまう可能性がある。マルウェアの拡散範囲を把握する技術としては、特許文献2が開示するような技術が知られている。特許文献2によれば、マルウェア(ウイルス)として検出されたファイルに対するアクセスを行ったPCを特定し、そのPCをネットワークから遮断する処置が行われる。
国際公開第2014/087597号 特開2009-176132号公報
 しかしながら、特許文献2では、マルウェア(ウイルス)として検出されたファイルに直接アクセスしたPCを検出するにすぎない。そのため、例えば、マルウェアとして検出されたファイルに対して、あるPC(PCA)がアクセスし、PCAが、それを更に別のPC(PCB)にコピーした場合に対処できない。この場合、PCAはネットワーク遮断の対象になるが、PCBは対象外となるため、マルウェアの拡散を防ぐことができない可能性がある。
 本発明はこのような状況に鑑みてなされたものであり、マルウェアの拡散範囲の特定精度を向上させる技術を提供する
 上記課題を解決するために、本発明は、マルウェアの拡散範囲を特定する特定装置であって、1以上の情報処理装置において実行された操作の履歴である操作履歴を記憶した記憶手段と、マルウェアを示す情報、又はマルウェアの侵入元を示す情報を含む、マルウェア拡散情報を取得する取得手段と、前記操作履歴において、前記マルウェア拡散情報が示すマルウェア又は侵入元を直接的又は間接的な起点としてマルウェアを拡散させる1以上の操作を特定する特定手段と、を備えることを特徴とする特定装置を提供する。
 本発明によれば、マルウェアの拡散範囲の特定精度を向上させることが可能となる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
マルウェアの拡散の概念図。 マルウェアの拡散範囲を特定する特定装置の全体構成を示す図。 PC操作ログ6のフォーマットの例を示す図。 ファイルに関するマルウェア拡散範囲リスト5の例を示す図。 レジストリに関するマルウェア拡散範囲リスト5の例を示す図。 共有メモリに関するマルウェア拡散範囲リスト5の例を示す図。 クライアントPC8及びサーバ9のハードウェア構成を示す図。 クライアントPC8によるPC操作ログの出力処理を示すフローチャート。 ログトレース処理のフローチャート。 トレースフロー1-Aに関するフローチャート。 トレースフロー1-Bに関するフローチャート。 トレースフロー2に関するフローチャート。 トレースフロー2に関するフローチャート。 トレースフロー3に関するフローチャート。 トレースフロー3に関するフローチャート。 トレースフロー4に関するフローチャート。 トレースフロー4に関するフローチャート。 トレースフロー2-Aに関するフローチャート。 トレースフロー2-Aに関するフローチャート。 トレースフロー2-Bに関するフローチャート。 トレースフロー2-Bに関するフローチャート。 PC操作ログの一例を示す図。 図17に示すPC操作ログのバックトレースにより得られるマルウェア拡散範囲リストを示す図。 PC操作ログの一例を示す図。 図19、図25、又は図28に示すPC操作ログのバックトレースにより得られるマルウェア拡散範囲リストを示す図。 PC操作ログの一例を示す図。 図21に示すPC操作ログのバックトレースにより得られるマルウェア拡散範囲リストを示す図。 PC操作ログの一例を示す図。 図23に示すPC操作ログのバックトレースにより得られるマルウェア拡散範囲リストを示す図。 PC操作ログの一例を示す図。 図25に示すPC操作ログのバックトレースにより得られるマルウェア拡散範囲リストに対して途中までフォワードトレースを行った結果を示す図。 図26に示すマルウェア拡散範囲リストの6番目の項目「リムーバブルデバイス(出口)」に対してフォワードトレースを行った結果を示す図。 PC操作ログの一例を示す図。 図28に示すPC操作ログのバックトレースにより得られるマルウェア拡散範囲リストに対して途中までフォワードトレースを行った結果を示す図。 図29に示すマルウェア拡散範囲リストの6番目の項目「共有(出口)」に対してフォワードトレースを行った結果を示す図。 マルウェア拡散範囲リストの一例を示す図。 マルウェア拡散範囲リストの一例を示す図。 図31A及び図31Bに示すマルウェア拡散範囲リストの視覚的な表現を示す図。 図17に示すPC操作ログに対してフォワードトレースを行った結果を示す図。 図19に示すPC操作ログに対してフォワードトレースを行った結果を示す図。 図21に示すPC操作ログに対してフォワードトレースを行った結果を示す図。 図23に示すPC操作ログに対してフォワードトレースを行った結果を示す図。
 以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
 [第1の実施形態]
 <<マルウェアの拡散>>
 最初に、図1を参照して、本実施形態で想定するマルウェアの説明と、マルウェアの拡散について説明する。
 ファイル「Malware.exe」はマルウェアであり、マルウェアとしての活動を行うバイナリやスクリプトコードなどを含んでいる。「Malware.exe」がプロセスとして実行されてファイル「Malware.txt」を作成した場合、「Malware.txt」には、マルウェアとしての活動を行うバイナリやスクリプトコードなどが含まれている可能性がある。そのため、本実施形態では、「マルウェアが作成したファイル」もマルウェアと見なす。
 また、マルウェアと見なされた「Malware.txt」をマルウェアではない別のプロセス「A.exe」が読み込んだとすると、そのプロセス「A.exe」は、マルウェアとして動作する可能性がある。そのため、本実施形態では、「マルウェアが作成したファイルを読み込んだプロセス」もマルウェアと見なす。但し、「Malware.txt」を読み込んだプロセス「A.exe」が終了してしまえば、読み込まれた「Malware.txt」のデータはメモリ上から破棄されるため、再び「A.exe」がプロセスとして起動した際には、「A.exe」は通常のプロセスとして扱ってもよいといえる。このため、本実施形態では、「Malware.txt」を読み込んでから終了するまでの間だけ、プロセス「A.exe」をマルウェアと見なす。
 また、「A.exe」がマルウェアと見なされている状態でファイル「A.txt」を作成したとすると、「A.txt」には、「Malware.txt」と同じようなマルウェアのコードが含まれている可能性がある。そのため、「A.txt」を他のプロセス「B.exe」が読み込んだ場合、プロセス「B.exe」もマルウェアと見なす。
 こうして作成された「A.txt」は、マルウェアの拡散範囲に含まれるため、そのファイル情報は、「マルウェア拡散範囲リスト」(後述)に登録される。また、プロセス「A.exe」が、「マルウェアが作成したファイルを読み込んだ」場合だけでなく、「マルウェアによって変更されたレジストリを読み込んだ」場合や、「マルウェアが使用した共有メモリにアクセスした」場合も、プロセス「A.exe」をマルウェアと見なす。即ち、マルウェアによってレジストリや共有メモリが作成・変更された場合、それらの情報も、ファイルの情報と同じく、マルウェア拡散範囲リストに登録される。そして、プロセス「B.exe」が更にファイルやレジストリ等を作った場合、そのファイルやレジストリ等を読み込んだプロセスも同様の扱いを受ける。
 また、ファイル「A.exe」が他のマルウェアによってプロセスとして起動された場合も、何らかの手段(起動時のパラメータや、プロセス間通信など)により、プロセス「A.exe」がマルウェアからデータを受け取っている可能性がある。そのため、前述の場合と同様に、プロセス「A.exe」をマルウェアと見なす。
 上述のような処理を行うことで、マルウェアに感染している可能性のあるファイルやレジストリ等が、マルウェア拡散範囲リストに登録されていく。処理が完了した後、このマルウェア拡散範囲リストを参照することによって、マルウェアに感染している可能性のある範囲を、ファイル単位やレジストリ単位で把握することができる。また、例えば、起動しないとマルウェアとして検知されないファイルが存在する場合でも、マルウェア拡散範囲リストを参照することによって、そのようなファイルをマルウェアとして検知することが可能である。
 以上の説明から分かる通り、本実施形態において、「ファイルがマルウェアに感染している」とは、ファイルがマルウェアとしての活動を行うバイナリやスクリプトコードなどを含んでいる(或いは、含んでいる可能性がある)ということを意味する。このようなファイルがプロセスとして実行されると、このプロセスはマルウェアとしての活動を行う可能性がある。また、このようなファイルを別のプロセスが読み込んだ場合、そのプロセスもマルウェアとしての活動を行う可能性がある。
 <<特定装置の全体構成>>
 図2を参照して、マルウェアの拡散範囲を特定する特定装置の全体構成について説明する。特定装置は、ネットワーク7を介して相互に接続されたクライアントPC8(情報処理装置)及びサーバ9を含む。図2にはクライアントPC8が1つしか図示されていないが、複数のクライアントPCがネットワーク7に接続されていてもよい。
 PC操作監視部1は、クライアントPC8における操作・処理を監視する。例えば、任意のプロセスが起動した場合、PC操作監視部1は、そのプロセスに関する情報(ファイルパス、ファイルサイズ、ファイルハッシュ値等)を取得して、この情報を保持する。この情報は、起動されたプロセスがマルウェア拡散範囲リスト(後述)に登録されているかの判定などに利用される。PC操作監視部1が監視する操作・処理としては、例えば以下のものが挙げられる。
 ・ファイルの生成・変更・読込
 ・レジストリキーの生成・変更・アクセス
 ・共有メモリの生成・変更・アクセス
 ・URLへのアクセス
 ・電子メールの受信
 PC操作監視部1は、上記の操作を検知すると、その操作内容をログ出力部2(後述)に伝え、PC操作ログとして出力させる。PC操作監視部1に用いられる技術は、ファイルシステムフィルタドライバ、ネットワークフィルタドライバ、パケットフィルタドライバ、Windows(登録商標)の標準APIなどを用いる。
 マルウェア検知部3は、クライアントPC8上のオブジェクトが、マルウェアであるか否かを判定し、マルウェアである場合にはそれを検知する。マルウェアを検知した場合、マルウェア検知部3は、マルウェアに関する情報(マルウェアの検体名、ファイルパス、ハッシュ値等)を、マルウェア検知ログとしてPC操作ログに記録する。マルウェア検知部3には、アンチウイルスソフトなどを用いてもよい。図2において、マルウェア検知部3はクライアントPC8上に配置されているが、これはマルウェア検知部3の配置場所を限定するものではない。マルウェア検知部3は、例えば、サーバ9上であっても、ネットワーク7上に設置されていてもよい。
 ログ出力部2は、PC操作監視部1によって検知されたコンピュータ上の操作(ファイルの作成・削除・名前変更・コピー・移動、レジストリの作成・変更、共有メモリの作成・変更等)をPC操作ログとして出力する。図2において、ログ出力部2はクライアントPC8上に配置されているが、これはログ出力部2の配置場所を限定するものではない。ログ出力部2は、例えば、サーバ9上であっても、ネットワーク7上に設置されていてもよい。
 PC操作ログ6は、コンピュータ上の操作(ファイルの作成・削除・名前変更・コピー・移動、レジストリの作成・変更、共有メモリの作成・変更、メール受信、webアクセス等)を記録したログである。PC操作ログ6は、ログ出力部2によって生成される。図3に、PC操作ログ6のフォーマットの例を示す。PC操作ログ6は、ネットワーク7を介して、複数のクライアントPCの操作ログを集約・蓄積する。図2において、PC操作ログ6はサーバ9上に配置されているが、これはPC操作ログ6の配置場所を限定するものではない。PC操作ログ6は、例えば、クライアントPC8上に配置されていてもよい。
 マルウェア拡散範囲リスト5は、マルウェアに感染している(もしくは感染している可能性のある)ファイルやレジストリ、共有メモリ等に関する情報、及び、拡散経路等の情報を保持する。図4に、ファイルに関するマルウェア拡散範囲リスト5の例を、図5に、レジストリに関するマルウェア拡散範囲リスト5の例を、図6に、共有メモリに関するマルウェア拡散範囲リスト5の例を示す。図4おいて、マルウェア拡散範囲リスト5は、ファイルが格納されたPC名、パス(ファイルパス)、ハッシュ値、サイズなどの情報を保持しているが、これは一例であり、マルウェア拡散範囲リスト5が保持する情報の種類や数を制限するものではない。また、図2において、マルウェア拡散範囲リスト5はサーバ9上に配置されているが、これはマルウェア拡散範囲リスト5の配置場所を限定するものではない。マルウェア拡散範囲リスト5は、例えば、クライアントPC8上に配置されていてもよい。以下に、マルウェア拡散範囲リスト5が保持する情報について記述する。
 ・タイプ(原因情報)
 タイプは、マルウェアがどのような媒体で拡散したか(マルウェアの拡散又は侵入の原因)を表す。例えば、ファイル形式のマルウェアが、他のプロセスによってコピーされた場合は、タイプは「ファイル」となる。また、ファイル形式のマルウェアをリムーバブルデバイスにコピーして、リムーバブルデバイス経由で他のPCに拡散させた場合、タイプは「リムーバブルデバイス」となる。また、実行形式のマルウェアが、レジストリキーの書き込みを行った場合は「レジストリ」、共有メモリの書き込みを行った場合は「共有メモリ」となる。
 ・ID、親ID
 ID及び親IDは、マルウェアが拡散していく過程で、どのような順序で拡散していったかを表す情報である。例えば、図4の場合、ID2及びID3の親IDは、共に「1」になっている。これは、ID1に記録された「C:\virus.exe」というファイルが、ID2に記録された「C:\Program Files\virus.exe」及びID3に記録された「C:\Windows\virus.exe」の2か所にコピーされたことを表している。また、新規にIDを発行する場合には、マルウェア拡散範囲リスト5内のIDの最大値に1を足した値を割り振る等の方法が考えられる。
 ・その他の情報
 マルウェア拡散範囲リスト5には、上述の情報以外に、タイプに応じて異なる情報が記録される(この情報は、PC操作ログ6に記録された情報を元に生成される)。例えば、タイプがファイルである場合には、ファイル名、ファイルパス、ファイルハッシュ値、操作名、操作時刻等が記録される。
 続いて、ログトレース部4について説明する。ログトレース部4は、PC操作ログ6を時系列的にトレースし、特定の条件に合致したログが見つかった場合、マルウェア拡散範囲リスト5に登録する。例えば、マルウェア拡散範囲リスト5に登録されているファイルが、別の場所にコピーされたというログが存在する場合、コピー先のファイル情報をマルウェア拡散範囲リスト5に登録する。また、図2において、ログトレース部4はサーバ9上に配置されているが、これはログトレース部4の配置場所を限定するものではない。ログトレース部4は、例えば、クライアントPC8上に配置されていてもよい。
 <<クライアントPC8及びサーバ9のハードウェア構成>>
 図7を参照して、クライアントPC8及びサーバ9のハードウェア構成について説明する。クライアントPC8及びサーバ9はいずれも、図7に示すコンピュータによって実装可能である。
 CPU81は、ROM82やRAM83に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。本コンピュータをサーバ9に適用した場合、CPU81は、サーバ9が行うものとして後述する各処理を実行する。また、本コンピュータをクライアントPC8に適用した場合には、CPU81は、クライアントPC8が行うものとして後述する各処理を実行する。
 ROM82には、本コンピュータの設定データや、ブートプログラムなどが格納されている。RAM83は、HDD(ハードディスクドライブ)84からロードされたコンピュータプログラムやデータ、インターフェース87を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。更に、RAM83は、CPU81が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM83は、各種のエリアを適宜提供することができる。
 HDD84には、OS(オペレーティングシステム)や、本コンピュータを適用した装置が行う各種の処理をCPU81に実行させるためのコンピュータプログラムやデータなどが保存されている。本コンピュータをサーバ9に適用した場合、係るコンピュータプログラムには、サーバ9が行うものとして後述する各処理をCPU81に実行させるためのコンピュータプログラムが含まれている。また、マルウェア拡散範囲リスト5、PC操作ログ6についてもこのHDD84内に設けられている。また、本コンピュータをクライアントPC8に適用した場合、係るコンピュータプログラムには、クライアントPC8が行うものとして後述する各処理をCPU81に実行させるためのコンピュータプログラムが含まれている。HDD84に保存されているコンピュータプログラムやデータは、CPU81による制御に従って適宜RAM83にロードされ、CPU81による処理対象となる。
 入力装置85は、キーボードやマウスなどにより構成されており、本コンピュータの操作者は、この入力装置85を操作することで、各種の指示をCPU81に対して入力することができる。
 表示装置86は、CRTや液晶画面などにより構成されており、CPU81による処理結果を画像や文字などでもって表示することができる。
 インターフェース87は、様々なインターフェースで構成されている。例えば、本コンピュータをクライアントPC8に適用した場合、インターフェース87は、本コンピュータをネットワーク7に接続するためのネットワークインターフェース、本コンピュータに外部記録媒体を接続するためのデバイスインターフェースなどを含む。また、本コンピュータをサーバ9に適用した場合、インターフェース87は、本コンピュータをネットワーク7に接続するためのネットワークインターフェースなどを含む。
 バス88は、上述の各部を相互に接続する。
 本実施形態では、説明を簡単にするために、クライアントPC8及びサーバ9のいずれも図7に示した構成を有するコンピュータであるものとして説明するが、コンピュータの構成については係る構成に限定するものではない。また、クライアントPC8とサーバ9とで異なる構成を有するコンピュータを用いてもよい。
 <<PC操作ログの出力処理>>
 図8を参照して、クライアントPC8によるPC操作ログの出力処理について説明する。クライアントPC8が起動すると、本フローチャートの処理が開始する(S800)。
 S801で、PC操作監視部1は、クライアントPC8において所定の操作が行われたか否かを判定する。所定の操作が行われた場合、処理はS802に進み、そうでない場合、処理はS803に進む。PC操作監視部1が監視する操作は、例えば以下のものが挙げられる。
 ・ファイルのコピー、移動、リネーム、読込
 ・レジストリの作成、変更、アクセス
 ・共有メモリの作成、変更、アクセス
 ・プロセスの起動
 ・webアクセス
 ・メールの受信・リムーバブルデバイスの接続・取り外し
 ・共有フォルダへのアクセス
 S802で、PC操作監視部1は、クライアントPC8において行われた操作の内容を、ログ出力部2に伝え、ログ出力部2は、操作の内容をPC操作ログとして出力する。出力されたログは、ネットワーク7を介してサーバ9へ送信され、PC操作ログ6として蓄積される。なお、PC操作ログ6は、クライアントPC8に保存されてもよい。
 S803で、マルウェア検知部3は、クライアントPC8においてマルウェアが検知されたか否かを判定する。マルウェアが検知された場合、処理はS804に進み、そうでない場合、処理はS805に進む。
 S804で、マルウェア検知部3は、マルウェアが検知された旨をログ出力部2へ伝え、ログ出力部2は、マルウェア検知を示すPC操作ログを出力する。マルウェア検知を示すPC操作ログは、例えば、マルウェアとして検知されたファイルの情報などを含む。マルウェア検知を示すPC操作ログは、S802において出力される通常のPC操作ログと同様のフォーマットを持ち、PC操作ログ6として蓄積される。
 S805で、PC操作監視部1は、クライアントPC8のシャットダウンが指示されたか否かを判定する。シャットダウンが指示された場合、クライアントPC8はシャットダウンし、本フローチャートの処理は終了する。シャットダウンが指示されていない場合、処理はS801に戻る。即ち、クライアントPC8が起動している間、S801乃至S805の処理が繰り返される。
 <<ログトレース処理>>
 図9を参照して、ログトレース部4が実行するログトレース処理について説明する。ログトレース部4は、PC操作ログ6をトレースし、その結果としてマルウェア拡散範囲リスト5を出力する。出力されたマルウェア拡散範囲リスト5を参照することで、マルウェアの拡散範囲を把握することが可能になる。
 S900において、ログトレース部4は、PC操作ログ6の中から、図8のS804において出力されたマルウェア検知ログを発見する。なお、本実施形態においては、マルウェア検知ログが存在する場合にログトレース処理が開始するものとするが、ログトレース処理の開始条件はこの限りではない。例えば、ユーザが、任意のファイルに関してファイルパスやハッシュ値などをマルウェア検知ログと同様のフォーマットで指定した場合に、ログトレース処理が開始してもよい。これにより、マルウェアとして検知されていないファイルについても、拡散範囲を特定することが可能になる。
 S901で、ログトレース部4は、マルウェア検知ログに記録されたファイルや時刻等の情報を元に、PC操作ログ6を時刻降順に辿り、マルウェアとして検知されたファイル等が、どのような経路でクライアントPC8に侵入したのかをトレースする。以下、S901のトレース処理を、バックトレースと呼ぶ。バックトレースの結果、ログトレース部4は、マルウェアの侵入経路として抽出されたファイル等の情報全てをマルウェア拡散範囲リスト5に登録する。例えば、ログトレース部4が図17に示すPC操作ログに対してバックトレースを行った場合、図18に示すマルウェア拡散範囲リストが生成される。なお、図17に示すPC操作ログの例は、図3に示すPC操作ログの例とは異なるフォーマットを持つ。これは、前述の通り、PC操作ログは必要に応じて様々な項目を持ち、特定の項目を持つフォーマットに限定されている訳ではないからである。以下の説明においては、様々なフォーマットのPC操作ログ及びマルウェア拡散範囲リストを例示するが、いずれも説明に必要な範囲で作成されたものであり、フォーマットを特定のものに限定するものではない。
 後述のフォワードトレースの前にバックトレースを行うことで、マルウェアが発見場所に至るまでの過程で別の場所に自己の複製を作成したりしている場合でも、その場所からの拡散範囲を把握することが可能となる。しかしながら、バックトレース及びその結果をマルウェア拡散範囲リスト5に登録する処理は、必須ではない。バックトレースを行わない場合、ログトレース部4は、S900において発見されたマルウェア検知ログに関する情報(或いは、ユーザにより指定されたファイルに関する、例えばファイルパスやハッシュ値などの情報)をマルウェア拡散範囲リスト5に登録する。
 S902で、ログトレース部4は、マルウェア拡散範囲リスト5に登録された項目を1つ取得する。取得した項目は、例えば、「ファイル」(図18の1つ目の項目参照)、「Web」(図22の1つ目の項目参照)、「メール」(図24の1つ目の項目参照)、「リムーバブルデバイス(入口)」(図27の7つ目の項目参照)、「リムーバブルデバイス(出口)」(図27の6つ目の項目参照)、「共有(入口)」(図30の7つ目の項目参照)、「共有(出口)」(図30の6つ目の項目参照)といったようなタイプを有する。
 ところで、マルウェア拡散範囲リスト5の各項目は、マルウェアの拡散を示す情報(マルウェア拡散情報)と見なすことができ、マルウェア拡散情報は、マルウェアを示す情報、又はマルウェアの侵入元を示す情報を含む。例えば、図18の1つ目の項目は、マルウェアを示す情報として、パス「C:\Dir1\Malware.exe」を含んでおり、図22の1つ目の項目は、マルウェアの侵入元を示す情報として、URL「http://example.com」を含んでいる。また、マルウェア拡散範囲リスト5の各項目の「タイプ」は、マルウェアの拡散又は侵入の原因を示す情報(原因情報)と見なすことができる。例えば、図18の1つ目の項目は、タイプ(原因情報)として「ファイル」を含み、これは、ファイルが原因でマルウェアが拡散したことを示す。また、図22の1つ目の項目は、タイプ(原因情報)として「Web」を含み、これは、WEBアクセスが原因でマルウェアが侵入したことを示す。また、図24の1つ目の項目は、タイプ(原因情報)として「メール」を含み、これは、メール受信が原因でマルウェアが侵入したことを示す。また、図27の6つ目の項目は、タイプ(原因情報)として「リムーバブルデバイス(出口)」を含み、これは、リムーバブルデバイスが原因でマルウェアが拡散したことを示す。また、図30の6つ目の項目は、タイプ(原因情報)として「共有(出口)」を含み、これは、共有フォルダが原因でマルウェアが拡散したことを示す。
 前述の通り、バックトレースが行われない場合、S901で、ログトレース部4は、S900で発見されたマルウェア検知ログ(又は、ユーザにより指定された情報)に対応する情報をマルウェア拡散情報として、マルウェア拡散範囲リスト5に登録する。この場合、S902において取得される項目(即ち、マルウェア拡散情報)は、例えば、図18の3つ目の項目のような情報を含む。
 S903で、ログトレース部4は、S902において取得した項目のタイプに基づき、処理の条件分岐を行う。タイプが「ファイル」の場合、S904乃至S906において3種類のフォワードトレースが実行された後、処理はS911に進む。タイプが「Web」の場合、S907においてフォワードトレースが実行された後、処理はS911に進む。タイプが「メール」の場合、S908においてフォワードトレースが実行された後、処理はS911に進む。タイプが「リムーバブルデバイス(出口)」の場合、S909においてフォワードトレースが実行された後、処理はS911に進む。タイプが「共有(出口)」の場合、S910においてフォワードトレースが実行された後、処理はS911に進む。なお、「リムーバブルデバイス(出口)」、「共有(出口)」は一例であり、「リムーバブルデバイス(入口)」、「共有(入口)」でもよいし、「リムーバブルデバイス」、「共有」でもよい。フォワードトレースの処理内容は、S902において取得した項目(マルウェア拡散情報)のタイプにより異なる。簡単に言えば、フォワードトレースは、マルウェア拡散情報が示すマルウェア又は侵入元を直接的又は間接的な起点としてマルウェアを拡散させる1以上の操作を特定する処理である。S904乃至S910に示す7種類のフォワードトレースの詳細は、図10乃至図16Bを参照して後述する。
 なお、S904乃至S906の処理の順序は、これに限定されず、どのような順序でもよいし、各々並列に処理を実行してもよい。
 S911で、ログトレース部4は、マルウェア拡散範囲リスト5に、未取得の項目があるかどうかを探索する。未取得の項目が1つも無ければ、全てのログの探索が完了しているものとして、処理を終了する。未取得の項目が1つでもあれば、S902の処理に戻る。即ち、ログトレース部4は、マルウェア拡散範囲リスト5に登録された全ての項目を取得するまで、S902乃至S911の処理を繰り返す。なお、S902乃至S911の処理の繰り返しの過程で、S904乃至S910のフォワードトレースによりマルウェア拡散範囲リスト5に項目が追加された場合、追加された項目についてもS902における取得の対象となる。
 また、S902において、マルウェア拡散範囲リスト5に登録された項目の取得は、「タイプ」に限定されず、「操作名」や「パス名」等でもよい。その場合、S903においては、S902にて取得した項目に基づきタイプを判定し、処理の条件分岐を行う。
 <<トレースフロー1-A>>
 PC操作ログが図17に示すものである場合を例に、図9のS904において実行されるフォワードトレース(トレースフロー1-A)について説明する。この場合、図9のS901におけるバックトレースにより、図18に示すマルウェア拡散範囲リストが生成され、S902において1つ目の項目(時刻10:00の項目)が取得される。この項目のタイプは「ファイル」であるので、S903における条件分岐により、処理はS904に進む。
 図10に、トレースフロー1-Aに関するフローチャートを示す。トレースフロー1-Aは、プロセスとして起動したマルウェアが生成したファイルやレジストリなどをマルウェアとして検出するためのトレースフローである。
 S1000で、ログトレース部4は、PC操作ログ6から、トレース対象のファイル(C:\Dir1\Malware.exe)の起動ログ及び終了ログを検出する。具体的には、PC操作ログ6を時系列に探索し、トレース対象のファイルパス(C:\Dir1\Malware.exe)と、操作ログ上の「元パス」が一致しており、かつ操作名が「起動」又は「終了」であるログを検出する。ここでは、図17のPC操作ログにおいて、時刻10:00のログが起動ログとして検出され、時刻11:12のログが終了ログとして検出される。
 S1001で、ログトレース部4は、PC操作ログ6から、トレース対象の操作ログ(トレース対象ログ)を取得する。トレース対象ログは、トレース対象のファイル(C:\Dir1\Malware.exe)がプロセスとして起動してから終了するまでの間に、このプロセスが実行した操作に対応する、操作ログである。具体的には、起動ログと同じ「プロセス名」及び「プロセスID」を持つログのうち、時刻が起動ログから終了ログまでの間に存在するログを全て取得し、時系列昇順に並べる。図17の場合、この条件に該当するログは、時刻10:01のログとなる。この例では、トレース対象ログは1つ(時刻10:01のログ)だけであるが、一般的には、複数のログがトレース対象ログとして取得される。なお、本実施形態では、ログの抽出条件として「プロセスのパス」と「プロセスID」を挙げたが、マルウェア拡散範囲リスト5に含まれている情報であれば、例えばハッシュ値などを用いてもよく、条件に用いる情報の数や種類は制限されないものとする。
 S1002で、ログトレース部4は、S1001で取得したトレース対象ログから1つ目の項目を取得し、取得した項目を、S1003の処理対象とする。ここでは、図17の時刻10:01のログが取得され、S1003における処理対象となる。
 S1003で、ログトレース部4は、S1002で取得したログが以下のいずれかに該当するか否かを判定する。
 ・ファイルの新規作成又は既存ファイルの変更にあたるログ
 ・レジストリキーの新規作成又は既存のキーの変更ログ
 ・共有メモリへのアクセスログ、又は共有メモリの新規生成ログ
 処理対象のログが上記の条件に該当する場合、生成・変更等されたもの(ファイル等)は、マルウェアに感染している可能性がある。そのため、ログトレース部4は、生成・変更等されたものをマルウェア拡散範囲リスト5に登録する必要がある。即ち、処理はS1004へ移行する。具体的には、操作名が「作成」もしくは「上書き」もしくは「メモリアクセス」であった場合、ログトレース部4は、処理対象のログが条件該当していると判断する。現在の例では、図17の時刻10:01のログの操作名は「作成」であるので、処理はS1004に進む。
 なお、図17にはファイルの例しか含まれていないが、レジストリの作成及び上書きや、共有メモリのアクセス及び上書きの場合も同様である。但し、この場合は、操作ログに含まれる内容は、適宜変更される(例えば、レジストリの場合、操作ログには元パスの代わりにレジストリキーが含まれ、共有メモリの場合、操作ログには元パスの代わりにメモリアドレスが含まれる)。
 S1004で、ログトレース部4は、現在の処理対象の操作ログが既にマルウェア拡散範囲リスト5に登録されているか否かを判定する。登録されていない場合、処理はS1005に進み、登録されている場合、処理はS1006に進む。現在の例では、図17の時刻10:01のログが処理対象であり、これは既に登録されている(図18参照)。従って、処理はS1006に進む。
 S1005で、ログトレース部4は、現在の処理対象の操作ログをマルウェア拡散範囲リスト5に登録する。
 S1006で、ログトレース部4は、S1001で取得したトレース対象ログの全てに対して、S1003乃至S1006の処理を行ったか否かを判定する。トレース対象ログの全てに対して処理が完了している場合、ログトレース部4は、トレースフロー1-Aの処理を終了し、まだ処理を行っていないログがあれば、ログトレース部4は、S1007の処理に進む。
 S1007で、ログトレース部4は、前回S1003乃至S1006の処理を行ったログの、時系列的に見て直後のログを取得し、そのログに対してS1003乃至S1006の処理を行う。即ち、S1001で取得したトレース対象ログに含まれる全ての操作ログに対して、S1003乃至S1006の処理が行われる。
 また、図17に示す操作ログに対して、トレースフロー1-Aの処理を適用した場合、生成されるマルウェア拡散範囲リストは、図18と同一となる。
 <<トレースフロー1-B>>
 PC操作ログが図17に示すものである場合を例に、図9のS905において実行されるフォワードトレース(トレースフロー1-B)について説明する。この場合、図9のS901におけるバックトレースにより、図18に示すマルウェア拡散範囲リストが生成され、S902において1つ目の項目(時刻10:00の項目)が取得される。この項目のタイプは「ファイル」であるので、S903における条件分岐により、処理はS904に進む。その後、S904において上述のトレースフロー1-Aが実行され、処理はS905に進む。
 図11に、トレースフロー1-Bに関するフローチャートを示す。トレースフロー1-Bは、マルウェアを読み込んだプロセスや、マルウェアによって起動されたプロセスなどをマルウェアとして検出するためのトレースフローである。
 S1100で、ログトレース部4は、PC操作ログ6から、トレース対象ログを取得する。具体的には、任意のプロセスがマルウェア拡散範囲リスト5に登録されているプロセスによって起動されたことを示すログ(後述の条件1に合致するログ)、及び、任意のプロセスがマルウェア拡散範囲リスト5に登録されている項目(ファイル・レジストリ・共有メモリなど)を読み込んだこと(後述の条件2に合致するログ)を示すログを取得する。ここでは、例として、トレース対象のプロセスが「C:\Dir1\Malware.exe」であり(即ち、図9のS902で取得した項目のパスが「C:\Dir1\Malware.exe」であり)、かつ図17のようなPC操作ログが存在する場合を挙げる。
 (条件1)トレース対象のファイル名(ファイル名は、ファイルパスから、フォルダパスを除去することで抽出する)と、操作ログ上の「親プロセス名」が一致しており、かつトレース対象のプロセスIDと、操作ログ上の「親プロセスID」が一致しており、かつ操作名が「起動」又は「終了」である操作ログ
 この条件の場合、時刻11:00のログ及び時刻11:10のログが該当する。
 (条件2)トレース対象のファイル名(ファイル名は、ファイルパスから、フォルダパスを除去することで抽出する)と、操作ログ上の「元パス」が一致しており、かつ操作名が「読込」である操作ログ
 この条件の場合、時刻10:02のログが該当する。
 次に、ログトレース部4は、以下の条件のいずれかに合致する操作ログを取得し、時系列昇順に並べる。
・「プロセスID」が、条件1に該当するログのプロセスIDと一致しており、かつ「プロセス名」が条件1に該当するログのプロセス名と一致しており、かつ時刻が条件1に該当する「起動」ログから条件1に該当する「終了」ログまでの間に存在する操作ログ
 この条件の場合、時刻11:01のログが該当する。
・「プロセスID」が、条件2に該当するログのプロセスIDと一致しており、かつプロセス名が、条件2に該当するログのプロセス名と一致しており、かつ時刻が、条件2に該当するログの時刻以降である操作ログ
 この条件の場合、時刻10:10と時刻11:11のログが該当する。
 上記のような条件に該当するログが存在する場合は、処理はS1101に進む。
 S1101で、ログトレース部4は、S1100で取得したトレース対象ログから1つ目の項目を取得し、取得した項目を、S1102の処理対象とする。
 S1102で、ログトレース部4は、S1101で取得したログが以下のいずれかに該当するか否かを判定する。
 ・ファイルの新規作成又は既存ファイルの変更にあたるログ
 ・レジストリキーの新規作成又は既存のキーの変更ログ
 ・共有メモリへのアクセスログ、又は共有メモリの新規生成ログ
 処理対象のログが上記の条件に該当する場合、生成・変更等されたもの(ファイル等)は、マルウェアに感染している可能性がある。そのため、ログトレース部4は、生成・変更等されたものをマルウェア拡散範囲リスト5に登録する必要がある。即ち、処理はS1103へ移行する。S1103乃至S1106の処理は、図10のS1004乃至S1007と同様であるため、説明を省略する。
 また、図17に示す操作ログに対して、トレースフロー1-Bの処理によって生成されたマルウェア拡散範囲リストを、図33に示す。
 <<トレースフロー2>>
 PC操作ログが図19に示すものである場合を例に、図9のS906において実行されるフォワードトレース(トレースフロー2)について説明する。この場合、図9のS901におけるバックトレースにより、図20に示すマルウェア拡散範囲リストが生成され、S902において1つ目の項目(時刻10:00の項目)が取得される。この項目のタイプは「ファイル」であるので、S903における条件分岐により、処理はS904に進む。その後、S904において上述のトレースフロー1-Aが実行され、S905において上述のトレースフロー1-Bが実行され、処理はS906に進む。
 図12A及び図12Bに、トレースフロー2に関するフローチャートを示す。トレースフロー2は、マルウェアがコピーや移動された先のファイルをマルウェアとして検出するためのトレースフローである。
 S1200で、ログトレース部4は、PC操作ログ6から、トレース対象のファイル(C:\Dir1\Malware.exe)がコピー、移動、又はリネーム等されたログを取得する。具体的には、「元パス」がトレース対象のファイルパスと一致しており、かつ操作名が「コピー」、「リネーム」、又は「移動」であるログを取得し、時系列昇順に並べる。図19の場合、この条件に該当するログは、時刻10:01のログとなる。この例では、トレース対象ログは1つ(時刻10:01のログ)だけであるが、一般的には、複数のログがトレース対象ログとして取得される。
 S1201で、ログトレース部4は、S1200で取得したトレース対象ログから、1つ目の項目を取得し、取得した項目に対して、S1202の処理を行う。ここでは、図19の時刻10:01のログが取得され、S1202における処理の対象となる。
 S1202で、ログトレース部4は、S1201で取得したログが以下のいずれかに該当するかどうかを判定する。
 ・ファイルのコピー
 ・ファイルの移動
 ・ファイルのリネーム
 コピー・移動・リネーム元のファイルがマルウェアに感染していれば、コピー・移動・リネームされた先のファイルは、マルウェアに感染していると考えられる。そのため、処理対象のログが上記の条件に該当する場合、ログトレース部4は、コピー・移動・リネームされた先のファイルをマルウェア拡散範囲リスト5に登録する必要がある。即ち、S1203の処理に移行する。現在の例では、図19の時刻10:01のログの操作名は「リネーム」であるため、処理はS1203に進む。
 S1203で、ログトレース部4は、現在の処理対象の操作ログにおける「先パス」のファイルの情報が既にマルウェア拡散範囲リスト5に登録されているか否かを判定する。登録されていない場合、処理はS1204に進み、登録されている場合、処理はS1205に進む。現在の例では、図19の時刻10:01のログが処理対象であり、これは既に登録されている(図20参照)。従って、処理はS1205に進む。
 S1204で、ログトレース部4は、現在の処理対象の操作ログをマルウェア拡散範囲リスト5に登録する。
 S1205で、ログトレース部4は、コピー・移動・リネーム等がされた先がリムーバブルデバイスであるかどうかを判定する。コピー・移動・リネーム等の操作によって、ファイルがリムーバブルデバイス又は共有フォルダへ持ち出された場合、他のPCが同一のリムーバブルデバイス又は共有フォルダにアクセスし、該当のファイルをコピーなどする可能性がある。この場合、マルウェアがリムーバブルデバイスや共有フォルダを経由して拡散する可能性がある。このような経路によるマルウェアの拡散範囲を把握するために、該当のリムーバブルデバイス又は共有フォルダの情報と、持ち出されたファイルの情報を、マルウェア拡散範囲リスト5へ登録する必要がある。そこで、コピー・移動・リネーム等がされた先がリムーバブルデバイスである場合、処理はS1206に進む。そうでない場合、処理はS1208に進む。
 具体的には、処理対象の操作ログの「先デバイスタイプ」が「Removable」である場合に、コピー・移動・リネーム等がされた先がリムーバブルデバイスであると判断される。現在の例では、図19の時刻10:01のログの先デバイスタイプは「Local」であるため、この条件に該当しない。なお、この条件に該当する操作ログの例としては、図25の4つ目の項目(時刻10:02における「F:\A.exe」へのコピー)などが挙げられる。
 S1206で、ログトレース部4は、S1205におけるリムーバブルデバイスの情報が、マルウェア拡散範囲リスト5に登録されているかどうかを判定する。登録されている場合、処理はS1208に進み、登録されていない場合、処理はS1207に進む。
 S1207で、ログトレース部4は、S1205におけるリムーバブルデバイスの情報をマルウェア拡散範囲リスト5に登録する。ここで登録される項目の「パス」は、S1201で取得したログ(処理対象のログ)の「先パス」とし、「タイプ」は、「リムーバブルデバイス(出口)」とする。このタイプは、ファイルをリムーバブルデバイスに持ち出したことを示すタイプである。なお、図9のS902において取得された項目のタイプが「リムーバブルデバイス(出口)」であった場合の処理については、図15A、図15B,及び図25乃至図27を参照して後述する。
 S1208で、ログトレース部4は、コピー・移動・リネーム等がされた先が共有フォルダであるかどうかを判定する。共有フォルダの場合、処理はS1209に進み、そうでない場合、処理はS1211に進む。具体的には、処理対象のログの「先デバイスタイプ」が「Remote」であれば、コピー・移動・リネーム等がされた先が共有フォルダであると判断される。現在の例では、図19の時刻10:01のログの先デバイスタイプは「Local」であるため、この条件に該当しない。なお、この条件に該当する操作ログの例としては、図28の3つ目の項目(時刻10:02における「\\PCB\share\A.exe」へのコピー)などが挙げられる。
 S1209で、ログトレース部4は、S1208における共有フォルダの情報が、マルウェア拡散範囲リスト5に登録されているかどうかを判定する。登録されている場合、処理はS1211に進み、登録されていない場合、処理はS1210に進む。
 S1210で、ログトレース部4は、S1208における共有フォルダの情報をマルウェア拡散範囲リスト5に登録する。ここで登録される項目の「パス」は、S1201で取得したログ(処理対象のログ)の「先パス」とし、「タイプ」は、「共有(出口)」とする。このタイプは、ファイルを共有フォルダに持ち出したことを示すタイプである。なお、図9のS902において取得された項目のタイプが「共有(出口)」であった場合の処理については、図16A、図16B、及び図28乃至図30を参照して後述する。
 S1211及びS1212の処理は、図10のS1006及びS1007と同様であるため、説明を省略する。
 また、図19に示す操作ログに対して、トレースフロー2の処理によって生成されたマルウェア拡散範囲リストを、図34に示す。
 <<トレースフロー3>>
 PC操作ログが図21に示すものである場合を例に、図9のS907において実行されるトレースフロー3について説明する。この場合、図9のS901におけるバックトレースにより、図22に示すマルウェア拡散範囲リストが生成され、S902において1つ目の項目(時刻9:50の項目)が取得される。この項目のタイプは「WEB」であるので、S903における条件分岐により、処理はS907に進む。
 図13A及び図13Bに、トレースフロー3に関するフローチャートを示す。トレースフロー3は、webからダウンロードしたマルウェアを検出するためのトレースフローである。即ち、webブラウザがトレース対象のURLにアクセスした後に生成又は上書きしたファイルがあるかを検出するためのトレースフローである。
 S1300で、ログトレース部4は、PC操作ログ6から、S902で取得した項目に記述されているURLにアクセスしたWEBアクセスログを検出する。具体的には、PC操作ログ6を時系列に探索し、トレース対象の「URL」がPC操作ログの「URL」と一致しており、かつ操作名が「WEBアクセス」であるログを検出する。但し、「PC名」「時刻」「URL」がS902で取得したトレース対象のWebアクセスログの「PC名」「時刻」「URL」と一致するログは除外する。図21においては、最終的に、PC名「PCB」の時刻13:00のログが検出される。
 S1301で、ログトレース部4は、PC操作ログ6から、トレース対象のログ(トレース対象ログ)を取得する。トレース対象ログは、トレース対象のURLにアクセスした際、ブラウザが行った処理のログである。具体的には、プロセスID及びプロセス名が、S1300で検出したログのそれと一致しており、かつ時刻がS1300で検出したログの以降である操作ログを取得し、時系列昇順に並べる。但し、S1301で取得するログには、S1300で検出したログは含まないものとする。即ち、図21においては、PC名「PCB」の時刻13:01と時刻13:03の「作成」、時刻13:02の「Webアクセス」の3つがトレース対象ログとして取得される。
 S1302で、ログトレース部4は、S1301で取得したトレース対象ログから1つ目の項目を取得し、取得した項目を、S1303の処理対象とする。ここでは、図21のPC名「PCB」の時刻13:01のログが取得され、S1303の処理対象となる。
 S1303で、ログトレース部4は、S1302で取得したログが、トレース対象のURL以外のWEBアクセスログか否かを判定する。具体的には、ログトレース部4は、S1302で取得したログが、以下の全てに該当するかどうかを判定する。
 ・操作名が「WEBアクセス」である
 ・アクセスしたURLが、S1300で検出したログと一致しない
 処理対象のログが上記の条件に全て該当する場合、トレースフロー3の処理は終了する。そうでない場合(1つでも上記条件が該当しない場合)、処理はS1304に進む。ブラウザがトレース対象のURLにアクセスした後に、別のURLにアクセスした時点で、そのブラウザはトレース対象からは除外するべきである。そのため、S1303の処理を行う。現在の例では、図21の時刻13:01のログの操作名は「作成」であるため、上記の条件に該当しないと判断される。
 S1304で、ログトレース部4は、処理対象のログが、以下のいずれかに該当するかどうかを判定する。
 ・ファイルの作成
 ・ファイルの上書き
 処理対象のログが上記の条件に該当する場合、生成又は上書きされたファイルはWEBからダウンロードしてきたマルウェアであると考えられる。そのため、ログトレース部4は、生成又は上書きされたファイルをマルウェア拡散範囲リスト5に登録する必要がある。即ち、S1305aの処理に移行する。現在の例では、図21の時刻13:01のログの操作名は「作成」であるため、処理はS1305aに進む。なお、図21にはファイルの例しか含まれていないが、レジストリの作成及び上書きや、共有メモリのアクセス及び上書きの場合も同様である。但し、この場合は、操作ログに含まれる内容は、適宜変更される(例えば、レジストリの場合、操作ログには元パスの代わりにレジストリキーが含まれ、共有メモリの場合、操作ログには元パスの代わりにメモリアドレスが含まれる)。
 S1305aで、ログトレース部4は、該当のWEBの情報がマルウェア拡散範囲リスト5に既に登録されているかどうかを判定する。具体的には、タイプが「WEB」であり、URLと時刻とPC名がすべてS1300で検出したログと同一であり、操作名が「webアクセス」である項目があるかどうかを判定する。登録されていなければS1305bの処理に進み、登録されていればS1306の処理に進む。
 S1305bで、ログトレース部4は、マルウェア拡散範囲リスト5に、WEBからマルウェアをダウンロードしたことを表す項目を追加する。追加する項目は、具体的には、タイプが「WEB」であり、URLがS1300で検出したURLであり、操作名が「webアクセス」である項目を追加する。
 S1306で、ログトレース部4は、現在の処理対象の操作ログが既にマルウェア拡散範囲リストに登録されているか否かを判定する。登録されていない場合、処理はS1307に進み、登録されている場合、処理はS1308に進む。現在の例では、図21の時刻13:01のログが処理対象であり、これは登録されていない(図22参照)。従って、処理はS1307に進む。
 S1307で、ログトレース部4は、現在の処理対象の操作ログをマルウェア拡散範囲リスト5に登録する。これにより、このフローにおいてマルウェア拡散範囲リスト5に登録された項目が後で図9のS902において読み込まれた際、そこからのフォワードトレースが実行される。
 S1308及びS1309の処理は、図10のS1006及びS1007と同様であるため、説明を省略する。
 また、図21に示す操作ログに対して、トレースフロー3の処理によって生成されたマルウェア拡散範囲リストを、図35に示す。
 <<トレースフロー4>>
 PC操作ログが図23に示すものである場合を例に、図9のS908において実行されるトレースフロー4について説明する。この場合、図9のS901におけるバックトレースにより、図24に示すマルウェア拡散範囲リストが生成され、S902において1つ目の項目(時刻9:50の項目)が取得される。この項目のタイプは「メール」であるので、S903における条件分岐により、処理はS908に進む。
 図14A及び図14Bに、トレースフロー4に関するフローチャートを示す。トレースフロー4は、メールに添付されたマルウェアをダウンロードしたことを検出するためのトレースフローである。
 S1400で、ログトレース部4は、PC操作ログ6から、S902で取得した項目に記述されているものと同じメールを受信したログを検出する。具体的には、PC操作ログ6を時系列に探索し、トレース対象の「メッセージID」がPC操作ログのそれと一致しており、かつ操作名が「メール受信」であるログを検出する。但し、「PC名」「時刻」「メッセージID」がS902で取得したトレース対象のメール受信ログのそれと一致するログは除外する。図23においては、PC名「PCB」の時刻13:00のログが検出される。
 S1401で、ログトレース部4は、PC操作ログ6から、トレース対象のログ(トレース対象ログ)を取得する。トレース対象ログは、トレース対象のメールを受信した際、メーラーが行った処理のログである。具体的には、プロセスID及びプロセス名が、S1400で検出したログのそれと一致しており、かつ時刻がS1400で検出したログの以降である操作ログを取得し、時系列昇順に並べる。但し、S1401で取得するログには、S1400で検出したログは含まないものとする。即ち、図23においては、PC名「PCB」の時刻13:01のログが取得される。
 S1402で、ログトレース部4は、S1401で取得したトレース対象ログから1つ目の項目を取得し、取得した項目をS1403の処理対象とする。ここでは、図24のPC名「PCB」の時刻13:01のログが取得され、S1403の処理対象となる。
 S1403で、ログトレース部4は、S1402で取得したログが、以下のいずれかに該当するかどうかを判定する。
 ・ファイルの作成
 ・ファイルの上書き
 処理対象のログが上記の条件に該当する場合、生成又は上書きされたファイルは、添付ファイルからダウンロードしてきたマルウェアであると考えられる。そのため、ログトレース部4は、生成又は上書きされたファイルをマルウェア拡散範囲リスト5に登録する必要がある。即ち、S1404の処理に移行する。現在の例では、図23の時刻13:01のログの操作名は「作成」であるため、処理はS1404に進む。
 S1404で、ログトレース部4は、マルウェア拡散範囲リスト5に、添付ファイルからマルウェアをダウンロードしたことを表す項目を追加する。追加する項目は、具体的には、タイプが「メール」であり、メールアドレスとメッセージIDがS1400で検出したメールアドレスであり、操作名が「メール受信」である項目を追加する。
 S1405で、ログトレース部4は、現在の処理対象の操作ログをもとに、新たにマルウェア拡散範囲リスト5と同一のフォーマットの項目を作り出し、前記作り出した項目が既にマルウェア拡散範囲リスト5に登録されているか否かを判定する。登録されていない場合、処理はS1406に進み、登録されている場合、処理はS1407に進む。現在の例では、図23の時刻13:01のログが処理対象であり、このログをもとに、マルウェア拡散範囲リストに追加する項目を作り出す。作り出した項目は、タイプが「ファイル」、PC名が「PCB」、時刻が13:01、パスが「D:\Dir2\abcd.pdf」、操作名が「作成」というものになるので、これは登録されていない(図24参照)。従って、処理はS1406に進む。
 S1406で、ログトレース部4は、現在の処理対象の操作ログをマルウェア拡散範囲リスト5に登録する。S1404及びS1406における処理の結果、マルウェア拡散範
囲リスト5は、図24の状態から図36の状態に変化する。これにより、このフローにおいてマルウェア拡散範囲リスト5に登録された項目が後で図9のS902において読み込まれた際、そこからのフォワードトレースが実行される。
 S1407及びS1408の処理は、図10のS1006及びS1007と同様であるため、説明を省略する。
 <<トレースフロー2-A>>
 PC操作ログが図25に示すものである場合を例に、図9のS909において実行されるトレースフロー2-Aについて説明する。但し、ここではリムーバブルデバイスに関する説明のみを行うため、図25に示す操作ログのバックトレース(図9のS901)により図20に示すマルウェア拡散範囲リストが生成され、図20及び図25の情報をもとにフォワードトレースを行い、S902においてタイプが「リムーバブルデバイス(出口)」である項目(図26の6番目の項目)を取得した状態を前提に説明する。この前提に従い、S903の条件分岐により、処理はS909に進む。
 図15A及び図15Bに、トレースフロー2-Aに関するフローチャートを示す。トレースフロー2-Aは、リムーバブルデバイスに持ち出されたマルウェアが、このリムーバブルデバイスを介して他のPCに拡散したことを検出するためのトレースフローである。
 S1500で、ログトレース部4は、PC操作ログ6から、図9のS902で取得した項目に記述されているリムーバブルデバイスの情報と同一の情報を持つリムーバブルデバイスが接続されたログを検出する。具体的には、PC操作ログ6を時系列に探索し、トレース対象の「シリアルID」、「ベンダーID」、及び「プロダクトID」が操作ログのそれと全て一致しており、かつ操作名が「アタッチ」であるログを検出する。図25においては、時刻12:00のログが該当する。
 S1501で、ログトレース部4は、PC操作ログ6から、トレース対象のログ(トレース対象ログ)を取得する。トレース対象ログは、トレース対象のデバイスから、トレース対象のファイルをコピー等した際の操作ログである。具体的には、元デバイスタイプが「Removable」であり、かつ元パスに含まれるドライブレターが、S1500で検出したログのドライブレターと一致しており、かつ、「トレース対象のパスからドライブレターを除去した文字列」が、「操作ログの元パスからドライブレターを除去した文字列」と一致しており、かつPC名がS1500で検出したログのPC名と一致しているログを取得し、時系列昇順に並べる。図25においては、時刻12:05のログがトレース対象ログとして取得される。
 S1502で、ログトレース部4は、S1501で取得したトレース対象ログから1つ目の項目を取得し、取得した項目を、S1503の処理対象とする。ここでは、図25の時刻12:05のログが取得され、S1503の処理対象となる。
 S1503で、ログトレース部4は、S1502で取得したログが、以下のいずれかに該当するかどうかを判定する。
 ・ファイルのコピー
 ・ファイルの移動
 ・ファイルのリネーム
 処理対象のログが上記の条件に該当する場合、コピー・移動・リネーム元のファイルがマルウェアに感染していれば、コピー・移動・リネームされた先のファイルは、マルウェアに感染していると考えられる。そのため、ログトレース部4は、コピー・移動・リネームされたものをマルウェア拡散範囲リスト5に登録する必要がある。即ち、S1504の処理に移行する。現在の例では、図25の時刻12:05のログの操作名は「コピー」であるため、処理はS1504に進む。
 S1504で、ログトレース部4は、マルウェア拡散範囲リスト5に、リムーバブルデバイスによってマルウェアが拡散したことを表す項目を追加する。追加する項目は、具体的には、タイプが「リムーバブルデバイス(入口)」であり、パスがS1502で取得したパスであり、「シリアルID」、「ベンダーID」、及び「プロダクトID」がS1500で検出されたログである項目を追加する。
 S1505で、ログトレース部4は、現在の処理対象の操作ログをもとに、新たにマルウェア拡散範囲リスト5と同一のフォーマットの項目を作り出し、前記作り出した項目が既にマルウェア拡散範囲リスト5に登録されているか否かを判定する。登録されていない場合、処理はS1506に進み、登録されている場合、処理はS1507に進む。現在の例では、図25の時刻12:05のログが処理対象であり、このログをもとに、マルウェア拡散範囲リストに追加する項目を作り出す。作り出した項目は、タイプが「ファイル」、PC名が「PCB」、時刻が12:05、パスが「C:\Local\A.exe」、操作名が「コピー」というものになるので、これは登録されていない(図26参照)。従って、処理はS1506に進む。
 S1506で、ログトレース部4は、現在の処理対象の操作ログをマルウェア拡散範囲リスト5に登録する。S1504及びS1506における処理の結果、マルウェア拡散範囲リスト5は、図26の状態から図27の状態に変化する。これにより、このフローにおいてマルウェア拡散範囲リスト5に登録された項目が図9のS902において読み込まれた際、そこからのフォワードトレースが実行される。即ち、リムーバブルデバイスによって拡散した先をフォワードトレースする。フォワードトレースした先が、再びリムーバブルデバイスであった場合には、再度、トレースフロー2-Aの処理が開始されるため、全てのリムーバブルデバイスによる拡散範囲を把握することが可能になる。
 S1507及びS1508の処理は、図10のS1006及びS1007と同様であるため、説明を省略する。
 <<トレースフロー2-B>>
 PC操作ログが図28に示すものである場合を例に、図9のS910において実行されるトレースフロー2-Bについて説明する。但し、ここでは共有フォルダに関する説明のみを行うため、図28に示す操作ログのバックトレース(図9のS901)により図20に示すマルウェア拡散範囲リストが生成され、図20及び図28の情報をもとにフォワードトレースを行い、S902においてタイプが「共有(出口)」である項目(図29の6番目の項目)を取得した状態を前提に説明する。この前提に従い、S903の条件分岐により、処理はS910に進む。
 図16A及び図16Bに、トレースフロー2-Bに関するフローチャートを示す。トレースフロー2-Bは、共有フォルダに持ち出されたマルウェアが、この共有フォルダを介して他のPCに拡散したことを検出するためのトレースフローである。
 共有フォルダ上にあるファイルに対してアクセスする方法は、以下の2通りが考えられる。
 ・共有パスを指定してアクセスする場合(「\\PCB\share\A.exe」のようなパスを指定してアクセスする場合)
 ・共有フォルダが設置されているPCにおいて、ローカルパスを指定してアクセスする場合(「C:\share\A.exe」のようなパスを指定してアクセスする場合)
 図28において、時刻10:02に「\\PCB\share\A.exe」にコピーしたログと元パスが「C:\share\A.exe」である共有ログとが存在する。これは、共有フォルダ(\\PCB\share)として公開されているフォルダは、それが設置されているPC(PCB)の「C:\share\A.exe」というパスに存在していることを表している。即ち、「\\PCB\share\A.exe」と「C:\share\A.exe」とは、同一のファイルを指すパスである。このことを考慮すると、トレース対象のファイルが共有フォルダに存在する場合、2通りのパスからのトレースを行う必要がある。
 S1600で、ログトレース部4は、共有フォルダに対する2通りのアクセス方法のうち、後者のアクセスを突き止めるために必要な情報を検出する。具体的には、以下の4つ全てに当てはまる操作ログを検出する。
(1)元パスから抽出したファイル名が、トレース対象のパスから抽出したファイル名と一致している。
(2)トレース対象のパスから抽出した共有PC名(共有パスの、先頭の「\\」から次の「\」までの間にある文字列。「\\PCB\share\A.exe」の場合は、「PCB」となる)と、PC名が一致している。
(3)時刻がトレース対象のそれと一致している。
(4)操作名が「共有ログ」である。
 図28においては、時刻10:02の「共有ログ」が検出される。
 S1601で、ログトレース部4は、PC操作ログ6から、トレース対象のログ(トレース対象ログ)を取得する。トレース対象ログは、トレース対象のパス(共有フォルダ上のパス)にあるファイルをコピー等した際の操作ログである。具体的には、以下のいずれかに当てはまる操作ログを取得し、時系列昇順に並べる。
 ・元デバイスタイプが「Remote」であり、かつトレース対象のパスから共有PC名を除去した文字列」と、「操作ログの元パスから共有PC名を除去した文字列」が一致している
 ・元パスが、S1600で検出した「共有ログ」と一致している
 図28においては、時刻10:05のログと、時刻12:00のログがトレース対象ログとして取得される。
 S1602で、ログトレース部4は、S1601で取得したトレース対象ログから1つ目の項目を取得し、取得した項目を、S1603の処理対象とする。ここでは、図28の時刻10:05のログが取得され、S1603の処理対象となる。
 S1603で、ログトレース部4は、S1602で取得した処理対象のログが、以下のいずれかに該当するかどうかを判定する。
 ・ファイルのコピー
 ・ファイルの移動
 ・ファイルのリネーム
 処理対象のログが上記の条件に該当する場合、コピー・移動・リネーム元のファイルがマルウェアに感染していれば、コピー・移動・リネームされた先のファイルは、マルウェアに感染していると考えられる。そのため、ログトレース部4は、コピー・移動・リネーム等されたものをマルウェア拡散範囲リスト5に登録する必要がある。即ち、S1604の処理に移行する。現在の例では、図28の時刻10:05のログの操作名は「コピー」であるため、処理はS1604に進む。
 S1604で、ログトレース部4は、マルウェア拡散範囲リスト5に、共有フォルダを介してマルウェアが拡散したことを表す項目を追加する。追加する項目は、具体的には、タイプが「共有(入口)」であり、パスがS1602で取得したパスである項目である。
 S1605で、ログトレース部4は、現在の処理対象の操作ログをもとに、新たにマルウェア拡散範囲リスト5と同一のフォーマットの項目を作り出し、前記作り出した項目が既にマルウェア拡散範囲リスト5に登録されているか否かを判定する。登録されていない場合、処理はS1606に進み、登録されている場合、処理はS1607に進む。現在の例では、図28の時刻10:05のログが処理対象であり、このログをもとに、マルウェア拡散範囲リストに追加する項目を作り出す。作り出した項目は、タイプが「ファイル」、PC名が「PCB」、時刻が10:05、パスが「D:\Dir10\A.exe」、操作名が「コピー」というものになるので、これは登録されていない(図29参照)。従って、処理はS1606に進む。
 S1606で、ログトレース部4は、現在の処理対象の操作ログをマルウェア拡散範囲リスト5に登録する。
 S1607及びS1608の処理は、図10のS1006及びS1007と同様であるため、説明を省略する。
 全てのトレース対象ログに対する処理(特に、S1604及びS1606の処理)が完了すると、マルウェア拡散範囲リスト5は、図29の状態から図30の状態に変化する。これにより、このフローにおいてマルウェア拡散範囲リスト5に登録された項目が図9のS902において読み込まれた際、そこからのフォワードトレースが実行される。即ち共有フォルダによって拡散した先をフォワードトレースする。フォワードトレースした先が、再び共有フォルダであった場合には、再度、トレースフロー2-Bの処理が開始されるため、全ての共有フォルダによる拡散範囲を把握することが可能になる。
 以上説明したように、第1の実施形態によれば、ログトレース部4は、所定のマルウェア又はマルウェアの侵入元に基づいてPC操作ログ6をトレースし、マルウェアの拡散を引き起こす操作を特定する。これにより、マルウェアの拡散範囲の特定精度を向上させることが可能となる。
 [第2の実施形態]
 第2の実施形態では、マルウェアの拡散範囲を視覚的に表現するための技術について説明する。本実施形態において、マルウェアの拡散範囲を特定する特定装置の構成などは、特に断らない限り、第1の実施形態と同様である。
 例えば、マルウェア拡散範囲リスト5が「PC名」の情報を持つ場合、PC名単位でマルウェア拡散範囲リストの項目を集約すると、PC名単位でのマルウェア拡散状況が把握できる。更に、各項目のID及び親IDを参照することによって、どのPCからどのPCへマルウェアが拡散していったのかという情報も把握することができる。
 例として、図31A及び図31Bのようなマルウェア拡散範囲リストが生成されたとする。これは、PCDにおいてマルウェアが検知され、バックトレースを行った結果、そのマルウェアが「http://example.com」というwebサイトから侵入したということを表している。また、バックトレースの結果をもとに、フォワードトレースを行った結果、PCBからPCEへリムーバブルデバイスを介して、PCBからPCGへ共有フォルダを介して、それぞれマルウェアが拡散したことが確認できる。更に、PCEからPCFへ、PCGからPCHへ、それぞれメールとリムーバブルデバイスを介してマルウェアが拡散したことも確認できる。この情報を視覚的に表現したものを図32に示す。図32の表示は、例えば、クライアントPC8やサーバ9が行う。
 図32において、ノード3200は、PC等の端末や、webやメール等の侵入口を表す。ノード3200はコネクタ3201によって接続されており、拡散の経路を表している。また、コネクタ3201上には媒体3202を表示することもできる。これにより、ノード3200間で、例えば共有フォルダやリムーバブルデバイスを介してマルウェアが拡散していったことを表すことができる。図32では、PCGとPCHとの間で、リムーバブルデバイスを介してマルウェアが拡散していったことが表されている。
 以上説明したように、第2の実施形態によれば、クライアントPC8又はサーバ9は、図32に示すような表示を行う。これにより、マルウェアの侵入口や拡散経路、マルウェアが潜伏している可能性のある端末の台数などを、容易に把握することが可能となる。
 [その他の実施形態]
 上述した第1の実施形態では、マルウェア検知、又はマルウェア検知ログをトリガーとしてトレースを行うものとした。しかしながら、例えば、ユーザや管理者が指定する情報(例えば、パス名、URL等)に基づいてトレースを行ってもよい。また、マルウェア拡散範囲リスト5への情報の登録は、バックトレース及びフォワードトレースの結果に基づく自動的な登録に限らず、ユーザや管理者が手作業で登録を行ってもよい。
 また、マルウェアの拡散した範囲を特定することにより、感染した範囲を含む該当するゲートウェイを切断することも可能である。該当するゲートウェイを切断することにより、拡散していない範囲(端末)への二次感染を防ぐことができる。また、PC操作監視部1は、拡散していない範囲(端末)への二次感染を防ぐために、該当する端末の使用を不可にしたり、該当する端末のネットワークへの接続を不可にしてもよい。
 以上説明したように、上述の各実施形態によれば、マルウェアの拡散範囲を特定する特定装置が提供される。また、マルウェア拡散範囲を特定する特定装置は、クライアントPC8に設けられてもよいし、サーバ9に設けられてもよい。クライアントPC8に設ければ、スタンドアローン環境でも拡散範囲を特定できるようになる。サーバ9に設ければ、クライアントPC8の特定処理による負荷を軽減できる。
 また、特定装置がクライアントPC8に設けられていると共に、クライアントPC8に接続されたサーバ9にも設けられていてもよい。クライアントPC8に設けられた特定装置と、サーバ9に設けられた特定装置とが連携してマルウェアの拡散範囲を特定してもよい。これにより、負荷を分散できる。また、クライアントPC8に記憶する操作履歴を削減できる。
 上述の各実施形態を実現するプログラム(例えば、コンピュータを、図2に示す特定装置として機能させるためのプログラム)も本発明の範囲に含まれ得る。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2014年11月5日提出の日本国特許出願特願2014-225422を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
 1…PC操作監視部、2…ログ出力部、3…マルウェア検知部、4…ログトレース部、5…マルウェア拡散範囲リスト、6…PC操作ログ、7…ネットワーク、8…クライアントPC、9…サーバ

Claims (15)

  1.  マルウェアの拡散範囲を特定する特定装置であって、
     1以上の情報処理装置において実行された操作の履歴である操作履歴を記憶した記憶手段と、
     マルウェアを示す情報、又はマルウェアの侵入元を示す情報を含む、マルウェア拡散情報を取得する取得手段と、
     前記操作履歴において、前記マルウェア拡散情報が示すマルウェア又は侵入元を直接的又は間接的な起点としてマルウェアを拡散させる1以上の操作を特定する特定手段と、
     を備えることを特徴とする特定装置。
  2.  前記マルウェア拡散情報は、マルウェアの拡散又は侵入の原因を示す原因情報を更に含み、
     前記特定手段は、前記原因情報に基づく処理により、前記1以上の操作を特定する
     ことを特徴とする請求項1に記載の特定装置。
  3.  前記原因情報が、ファイルが原因でマルウェアが拡散したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示すマルウェアの実行により生じたプロセスによる、ファイルの作成、ファイルの変更、レジストリの作成、レジストリの変更、及び共有メモリへのアクセスのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2に記載の特定装置。
  4.  前記原因情報が、ファイルが原因でマルウェアが拡散したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示すマルウェアの実行により生じたプロセスにより起動されたプロセス、又は前記マルウェア拡散情報が示すマルウェアを読み込んだプロセスによる、ファイルの作成、ファイルの変更、レジストリの作成、レジストリの変更、及び共有メモリへのアクセスのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2又は3に記載の特定装置。
  5.  前記原因情報が、ファイルが原因でマルウェアが拡散したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示すマルウェアのコピー、移動、及びリネームのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2乃至4のいずれか1項に記載の特定装置。
  6.  前記原因情報が、WEBアクセスが原因でマルウェアが侵入したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示す侵入元のURLにアクセスしたプロセスによる、前記侵入元のURLへのアクセスから他のURLへのアクセスの間に行われた、ファイルの作成及びファイルの上書きのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2に記載の特定装置。
  7.  前記原因情報が、メール受信が原因でマルウェアが侵入したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示す侵入元のメールアドレスからメールを受信したプロセスによる、ファイルの作成及びファイルの上書きのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2に記載の特定装置。
  8.  前記原因情報が、リムーバブルデバイスが原因でマルウェアが拡散したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示す侵入元のリムーバブルデバイスからのファイルのコピー、移動、及びリネームのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2に記載の特定装置。
  9.  前記原因情報が、共有フォルダが原因でマルウェアが拡散したことを示す場合、前記特定手段は、前記操作履歴において、前記マルウェア拡散情報が示す侵入元の共有フォルダからのファイルのコピー、移動、及びリネームのうちの少なくともいずれかに関する操作を特定する
     ことを特徴とする請求項2に記載の特定装置。
  10.  前記特定手段は、前記取得手段により取得されたマルウェア拡散情報に基づいて特定した1以上の操作に対応する1以上のマルウェア拡散情報を生成する
     ことを特徴とする請求項1乃至9のいずれか1項に記載の特定装置。
  11.  前記特定手段は、
      前記操作履歴に基づいて、前記取得手段により取得されたマルウェア拡散情報が示すマルウェアの侵入経路を特定し、
      前記操作履歴において前記侵入経路に含まれる1以上の操作に対応する1以上のマルウェア拡散情報を生成し、
      前記1以上のマルウェア拡散情報の各々について、当該マルウェア拡散情報が示すマルウェア又は侵入元を直接的又は間接的な起点としてマルウェアを拡散させる1以上の操作を特定する
     ことを特徴とする請求項1乃至10のいずれか1項に記載の特定装置。
  12.  マルウェアを検出する検出手段を更に備え、
     前記取得手段は、前記検出手段により検出されたマルウェアに対応するマルウェア拡散情報を取得する
     ことを特徴とする請求項1乃至11のいずれか1項に記載の特定装置。
  13.  前記取得手段は、ユーザにより入力されたマルウェア拡散情報を取得する
     ことを特徴とする請求項1乃至11のいずれか1項に記載の特定装置。
  14.  マルウェアの拡散範囲を特定する特定装置の制御方法であって、
     前記特定装置の記憶手段が、1以上の情報処理装置において実行された操作の履歴である操作履歴を記憶した記憶工程と、
     前記特定装置の取得手段が、マルウェアを示す情報、又はマルウェアの侵入元を示す情報を含む、マルウェア拡散情報を取得する取得工程と、
     前記特定装置の特定手段が、前記操作履歴において、前記マルウェア拡散情報が示すマルウェア又は侵入元を直接的又は間接的な起点としてマルウェアを拡散させる1以上の操作を特定する特定工程と、
     を備えることを特徴とする特定装置の制御方法。
  15.  コンピュータを、請求項1乃至13のいずれか1項に記載の特定装置の各手段として機能させるためのプログラム。
PCT/JP2015/080171 2014-11-05 2015-10-27 特定装置、その制御方法、及びプログラム WO2016072310A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016557713A JP6461992B2 (ja) 2014-11-05 2015-10-27 特定装置、その制御方法、及びプログラム
US15/281,798 US10382477B2 (en) 2014-11-05 2016-09-30 Identification apparatus, control method therefor, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-225422 2014-11-05
JP2014225422 2014-11-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/281,798 Continuation US10382477B2 (en) 2014-11-05 2016-09-30 Identification apparatus, control method therefor, and storage medium

Publications (1)

Publication Number Publication Date
WO2016072310A1 true WO2016072310A1 (ja) 2016-05-12

Family

ID=55909036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/080171 WO2016072310A1 (ja) 2014-11-05 2015-10-27 特定装置、その制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US10382477B2 (ja)
JP (1) JP6461992B2 (ja)
WO (1) WO2016072310A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2549545A (en) * 2016-04-15 2017-10-25 Sophos Ltd Forensic analysis of computing activity
US9928366B2 (en) 2016-04-15 2018-03-27 Sophos Limited Endpoint malware detection using an event graph
JP2018160170A (ja) * 2017-03-23 2018-10-11 富士通株式会社 出力プログラム、情報処理装置、出力方法、生成プログラム、及び生成方法
WO2021186683A1 (ja) * 2020-03-19 2021-09-23 三菱電機株式会社 汚染範囲特定装置および汚染範囲特定プログラム
US11651076B2 (en) * 2021-05-26 2023-05-16 Microsoft Technology Licensing, Llc Detecting spread of malware through shared data storages

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087597A1 (ja) 2012-12-07 2014-06-12 キヤノン電子株式会社 ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム
WO2020065737A1 (ja) * 2018-09-25 2020-04-02 日本電気株式会社 影響範囲推定装置、影響範囲推定方法、及びコンピュータ読み取り可能な記録媒体
JP2021081910A (ja) * 2019-11-18 2021-05-27 コニカミノルタ株式会社 制御モジュール
US11693961B2 (en) * 2019-12-03 2023-07-04 Sonicwall Inc. Analysis of historical network traffic to identify network vulnerabilities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110718A (ja) * 1992-09-30 1994-04-22 Toshiba Corp ウィルス防御方式
WO2012001763A1 (ja) * 2010-06-28 2012-01-05 株式会社日立製作所 計算機システムの管理方法及びクライアントコンピュータ
WO2014087597A1 (ja) * 2012-12-07 2014-06-12 キヤノン電子株式会社 ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944432A (ja) 1995-05-24 1997-02-14 Fuji Xerox Co Ltd 情報処理方法および情報処理装置
US5787131A (en) 1995-12-22 1998-07-28 Ericsson Inc. Method and apparatus for mitigation of self interference using array processing
US5944783A (en) 1997-07-29 1999-08-31 Lincom Corporation Apparatus and method for data transfers through software agents using client-to-server and peer-to-peer transfers
JPH11134190A (ja) 1997-10-31 1999-05-21 Hitachi Ltd ウイルス検出通知システム、方法、および該方法に係るプログラムを格納した記憶媒体
JP2002287991A (ja) 2001-03-26 2002-10-04 Fujitsu Ltd コンピュータウィルス感染情報提供方法及びコンピュータウィルス感染情報提供システム
US6689184B1 (en) * 2002-07-19 2004-02-10 Latitude Manufacturing Technologies, Inc. Iron-based powdered metal compositions
JP2004086241A (ja) 2002-08-22 2004-03-18 Hitachi Information Systems Ltd コンピュータウィルス感染元検知システム
ATE540505T1 (de) 2002-08-26 2012-01-15 Ibm Bestimmung des mit einer netzwerkaktivität assoziierten bedrohungsgrades
US7111000B2 (en) 2003-01-06 2006-09-19 Microsoft Corporation Retrieval of structured documents
JP3912676B2 (ja) 2003-02-27 2007-05-09 ソニー株式会社 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体
JP2005025378A (ja) 2003-06-30 2005-01-27 Nidek Co Ltd コンピュータウイルス検出方法及び該方法を用いたネットワークシステム
US7730318B2 (en) 2003-10-24 2010-06-01 Microsoft Corporation Integration of high-assurance features into an application through application factoring
US20090144826A2 (en) 2005-06-30 2009-06-04 Webroot Software, Inc. Systems and Methods for Identifying Malware Distribution
US7937758B2 (en) 2006-01-25 2011-05-03 Symantec Corporation File origin determination
US8201243B2 (en) 2006-04-20 2012-06-12 Webroot Inc. Backwards researching activity indicative of pestware
US20070250818A1 (en) 2006-04-20 2007-10-25 Boney Matthew L Backwards researching existing pestware
US8181244B2 (en) 2006-04-20 2012-05-15 Webroot Inc. Backward researching time stamped events to find an origin of pestware
JP2008052570A (ja) * 2006-08-25 2008-03-06 Hitachi Software Eng Co Ltd 操作履歴管理システム
US7797335B2 (en) * 2007-01-18 2010-09-14 International Business Machines Corporation Creation and persistence of action metadata
US8369411B2 (en) 2007-03-29 2013-02-05 James Au Intra-macroblock video processing
KR100922582B1 (ko) * 2007-07-20 2009-10-21 한국전자통신연구원 중심점 분할 기법을 이용한 로그 기반의 역추적 시스템 및방법
US20090032013A1 (en) * 2007-07-31 2009-02-05 Nguyen Long N Preformed fireplace capable of venting vertically or horizontally
JP4705961B2 (ja) 2008-01-25 2011-06-22 Sky株式会社 ウィルス被害範囲予測システム
US8745703B2 (en) 2008-06-24 2014-06-03 Microsoft Corporation Identifying exploitation of vulnerabilities using error report
US8695094B2 (en) * 2008-06-24 2014-04-08 International Business Machines Corporation Detecting secondary infections in virus scanning
US20110029819A1 (en) 2009-07-31 2011-02-03 Virendra Kumar Mehta System and method for providing program tracking information
JP4788808B2 (ja) * 2009-08-06 2011-10-05 コニカミノルタビジネステクノロジーズ株式会社 ジョブ処理システム、画像処理装置、ウイルス検出方法およびウイルス検出プログラム
US8190647B1 (en) 2009-09-15 2012-05-29 Symantec Corporation Decision tree induction that is sensitive to attribute computational complexity
US8413244B1 (en) 2010-11-11 2013-04-02 Symantec Corporation Using temporal attributes to detect malware
JP5736881B2 (ja) 2011-03-22 2015-06-17 日本電気株式会社 ログ収集システム、装置、方法及びプログラム
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US8627465B2 (en) * 2011-04-18 2014-01-07 International Business Machines Corporation Automatic inference of whitelist-based validation as part of static analysis for security
US20140351936A1 (en) 2011-12-19 2014-11-27 Beijing Rising Information Technology Co., Ltd. Frequency-variable anti-virus technology
US20130312099A1 (en) 2012-05-21 2013-11-21 Mcafee, Inc. Realtime Kernel Object Table and Type Protection
US9767280B2 (en) 2012-10-09 2017-09-19 Canon Denshi Kabushiki Kaisha Information processing apparatus, method of controlling the same, information processing system, and information processing method
US9275223B2 (en) * 2012-10-19 2016-03-01 Mcafee, Inc. Real-time module protection
US10409980B2 (en) 2012-12-27 2019-09-10 Crowdstrike, Inc. Real-time representation of security-relevant system state
JP2017503222A (ja) 2013-01-25 2017-01-26 レムテクス, インコーポレイテッド ネットワークセキュリティシステム、方法、及び装置
JP6352140B2 (ja) * 2013-10-22 2018-07-04 キヤノン電子株式会社 ウェブシステム、サーバ切替装置、サーバ切替方法およびプログラム
US9471912B2 (en) 2014-02-06 2016-10-18 Verto Analytics Oy Behavioral event measurement system and related method
KR101676366B1 (ko) * 2016-06-23 2016-11-15 국방과학연구소 사이버 공격 대응을 위한 악성코드 침해 경로 및 행위 추적을 수행하는 침해 공격 추적 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110718A (ja) * 1992-09-30 1994-04-22 Toshiba Corp ウィルス防御方式
WO2012001763A1 (ja) * 2010-06-28 2012-01-05 株式会社日立製作所 計算機システムの管理方法及びクライアントコンピュータ
WO2014087597A1 (ja) * 2012-12-07 2014-06-12 キヤノン電子株式会社 ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10516682B2 (en) 2016-04-15 2019-12-24 Sophos Limited Forensic analysis of computing activity
US10460105B2 (en) 2016-04-15 2019-10-29 Sophos Limited Endpoint malware detection using an event graph
US9967267B2 (en) 2016-04-15 2018-05-08 Sophos Limited Forensic analysis of computing activity
US20180276379A1 (en) 2016-04-15 2018-09-27 Sophos Limited Endpoint malware detection using an event graph
GB2549545A (en) * 2016-04-15 2017-10-25 Sophos Ltd Forensic analysis of computing activity
US11550909B2 (en) 2016-04-15 2023-01-10 Sophos Limited Tracking malicious software movement with an event graph
US9928366B2 (en) 2016-04-15 2018-03-27 Sophos Limited Endpoint malware detection using an event graph
US10489588B2 (en) 2016-04-15 2019-11-26 Sophos Limited Endpoint malware detection using an event graph
US20180276380A1 (en) 2016-04-15 2018-09-27 Sophos Limited Endpoint malware detection using an event graph
US10817602B2 (en) 2016-04-15 2020-10-27 Sophos Limited Endpoint malware detection using an event graph
GB2549545B (en) * 2016-04-15 2020-11-25 Sophos Ltd Forensic analysis of computing activity
US11095669B2 (en) 2016-04-15 2021-08-17 Sophos Limited Forensic analysis of computing activity
JP2018160170A (ja) * 2017-03-23 2018-10-11 富士通株式会社 出力プログラム、情報処理装置、出力方法、生成プログラム、及び生成方法
WO2021186683A1 (ja) * 2020-03-19 2021-09-23 三菱電機株式会社 汚染範囲特定装置および汚染範囲特定プログラム
JP6987332B1 (ja) * 2020-03-19 2021-12-22 三菱電機株式会社 汚染範囲特定装置および汚染範囲特定プログラム
US11651076B2 (en) * 2021-05-26 2023-05-16 Microsoft Technology Licensing, Llc Detecting spread of malware through shared data storages

Also Published As

Publication number Publication date
JPWO2016072310A1 (ja) 2017-08-17
US20170019415A1 (en) 2017-01-19
US10382477B2 (en) 2019-08-13
JP6461992B2 (ja) 2019-01-30

Similar Documents

Publication Publication Date Title
JP6461992B2 (ja) 特定装置、その制御方法、及びプログラム
JP6549767B2 (ja) ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム
US11314546B2 (en) Method and system for executing a containerized stateful application on a stateless computing platform using machine learning
US9612859B2 (en) Comparing states of a virtual machine
US10613938B2 (en) Data virtualization using copy data tokens
US20030115458A1 (en) Invisable file technology for recovering or protecting a computer file system
US10019461B2 (en) Transparent and near-real time code deploys
CN107977469B (zh) 对最近使用文件进行管理的方法、装置及终端
US10289693B2 (en) Techniques for providing user interface enhancements for online content management system version histories
US8843535B2 (en) Framework for applying metadata for multiple files managed using a content management system
US20060036569A1 (en) Method and apparatus for changing background screen in gui operating system
US20210294896A1 (en) Endpoint detection and response attack process tree auto-play
US20170004154A1 (en) Integrating copy data tokens with source code repositories
JP2007183747A (ja) 物理サーバ間のシステム移動方法およびシステム移動システム
US20170132022A1 (en) File-processing device for executing a pre-processed file, and recording medium for executing a related file-processing method in a computer
US8561195B1 (en) Detection of malicious code based on its use of a folder shortcut
US20110296311A1 (en) Identification System for Network Data Processing Systems
US9910662B2 (en) Selectively migrating applications during an operating system upgrade
US8245182B2 (en) Class selectable design sharing
CN105787359B (zh) 进程守护方法和装置
JP2012208699A (ja) ファイル管理システムおよびバックアップ方法
US10389743B1 (en) Tracking of software executables that come from untrusted locations
US9910667B2 (en) Segregating a monolithic computing system into multiple attachable application containers based on application boundaries
US10409775B2 (en) Renaming a directory that resides on a layered volume
US11354081B2 (en) Information processing apparatus with concealed information

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016557713

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

Country of ref document: EP

Kind code of ref document: A1