WO2022137883A1 - 攻撃情報生成装置、制御方法、及び非一時的なコンピュータ可読媒体 - Google Patents

攻撃情報生成装置、制御方法、及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2022137883A1
WO2022137883A1 PCT/JP2021/041829 JP2021041829W WO2022137883A1 WO 2022137883 A1 WO2022137883 A1 WO 2022137883A1 JP 2021041829 W JP2021041829 W JP 2021041829W WO 2022137883 A1 WO2022137883 A1 WO 2022137883A1
Authority
WO
WIPO (PCT)
Prior art keywords
attack
event
target
occurrences
execution period
Prior art date
Application number
PCT/JP2021/041829
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 JP2022571953A priority Critical patent/JPWO2022137883A5/ja
Priority to US18/269,361 priority patent/US20240054213A1/en
Publication of WO2022137883A1 publication Critical patent/WO2022137883A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • This disclosure relates to the analysis of attacks on computer systems.
  • Patent Document 1 discloses a technique for extracting a character string satisfying a specific condition from a malware behavior log and generating a malware detection rule representing the extracted character string in chronological order.
  • a character string is a system call
  • a malware detection rule represents a system call string.
  • This disclosure has been made in view of the above issues, and one of its purposes is to provide new techniques for identifying events related to attacks.
  • the attack information generation device of the present disclosure uses a log for each of a plurality of executions of a target attack to specify the number of occurrences of each of one or more events, and the above-mentioned for each event. It was determined that the determination means for determining whether or not the number of occurrences of the event specified for each of the plurality of executions of the target attack satisfies the predetermined condition, the target attack, and the number of appearances satisfy the predetermined condition. It has a generation means for generating attack information associated with the event.
  • a specific step of specifying the number of occurrences of each of one or more events using a log during the execution period, and the target attack for each of the events For each of a plurality of executions of a target attack, a specific step of specifying the number of occurrences of each of one or more events using a log during the execution period, and the target attack for each of the events.
  • the non-temporary computer-readable medium of the present disclosure contains a program that causes a computer to execute the control method of the present disclosure.
  • FIG. It is a figure which illustrates the outline of the operation of the attack information generation apparatus of Embodiment 1.
  • FIG. It is a block diagram which illustrates the functional structure of the attack information generation apparatus of Embodiment 1.
  • FIG. It is a block diagram which illustrates the hardware composition of the computer which realizes the attack information generation apparatus.
  • It is a flowchart which illustrates the flow of the process executed by the attack information generation apparatus of Embodiment 1.
  • FIG. It is a flowchart which illustrates the flow of the process executed by the attack information generation apparatus about the case where the attack information is generated for each of a plurality of target attacks.
  • predetermined values such as predetermined values and threshold values are stored in advance in a storage device or the like accessible from a device that uses the values.
  • FIG. 1 is a diagram illustrating an outline of the operation of the attack information generation device 2000 of the first embodiment.
  • FIG. 1 is a diagram for facilitating an understanding of the outline of the attack information generation device 2000, and the operation of the attack information generation device 2000 is not limited to that shown in FIG.
  • the attack information generation device 2000 associates an attack with an event recorded in a log (hereinafter, log 10) of the environment in which the attack is executed when the attack is executed.
  • log 10 the information representing this correspondence
  • attack information 30 the information representing this correspondence
  • the attack that is the target of the generation of the attack information 30 is called a target attack.
  • the event here is an arbitrary event that occurs in the execution environment of the target attack. For example, system calls by processes, execution of API (Application Programming Interface), operations on registries and file systems, or communication via a network.
  • an event is represented by a combination of its subject, its object, and its content (what, what, what). However, the event may be represented by a combination other than these three pieces of information.
  • the attack information 30 is generated using the log 10.
  • Log 10 has a plurality of entries.
  • the entry indicates information about the event that occurred (such as the subject, object, content, and time of occurrence of the event).
  • the log 10 is, for example, an event log recorded by an OS (operating system), a log related to a network flow, or the like.
  • Log 10 contains entries recorded during the execution period of the target attack.
  • a test environment capable of executing the target attack is prepared, and the target attack is executed in the test environment. Then, the log in which the event generated in the test environment is recorded is used as the log 10.
  • the attack information generation device 2000 identifies the number of occurrences of each event by detecting an entry representing each event that occurred within the execution period of the target attack from the log 10.
  • the target attack is executed multiple times. Therefore, the number of occurrences of the event is specified for each of the multiple executions of the target attack.
  • the number of appearances of event I1, event I2, and event I3 is 1, 3, and 2, respectively.
  • the number of occurrences of the event I2, the event I3, and the event I4 is one each.
  • the attack information generation device 2000 determines, for each event, whether or not the number of appearances of the event specified for each execution of the target attack satisfies a predetermined condition.
  • the predetermined condition is a condition that is satisfied for an event that occurs due to the influence of the target attack. By adopting such a predetermined condition, it is possible to determine for each event whether or not the event is caused by the influence of the target attack.
  • a condition such as "the statistical value of the number of occurrences of events is equal to or greater than the threshold value" can be used.
  • the attack information generation device 2000 generates attack information 30 by associating an event whose appearance number satisfies a predetermined condition with a target attack. For example, in the attack information 30 of FIG. 1, the target attack A1 is associated with the event I2 and the event I3. From this attack information 30, it can be seen that event I2 and event I3 are generated by the influence of the target attack A1.
  • the number of occurrences of each event is specified by using the entry of the log 10 recorded in the execution period for each of the plurality of executions of the target attack. Then, an event in which the number of appearances specified for each of the plurality of executions of the target attack satisfies a predetermined condition is associated with the target attack. As described above, according to the attack information generation device 2000, an event related to the attack is specified by a new method.
  • attack information generation device 2000 of this embodiment will be described in more detail.
  • FIG. 2 is a block diagram illustrating the functional configuration of the attack information generation device 2000 of the first embodiment.
  • the attack information generation device 2000 has a specific unit 2020, a determination unit 2040, and a generation unit 2060.
  • the specifying unit 2020 specifies the number of occurrences of each of the one or more events for each of the plurality of executions of the target attack by using the entry recorded in the log 10 during the execution period.
  • the determination unit 2040 determines whether or not the number of occurrences of the event specified for each execution of the target attack satisfies a predetermined condition.
  • the generation unit 2060 generates attack information 30 in which the target attack and the event whose appearance number satisfies a predetermined condition are associated with each other.
  • Each functional component of the attack information generator 2000 may be realized by hardware that realizes each functional component (eg, a hard-wired electronic circuit, etc.), or a combination of hardware and software (eg,). : It may be realized by a combination of an electronic circuit and a program that controls it).
  • a case where each functional component of the attack information generation device 2000 is realized by a combination of hardware and software will be further described.
  • FIG. 3 is a block diagram illustrating a hardware configuration of a computer 500 that realizes the attack information generation device 2000.
  • the computer 500 is any computer.
  • the computer 500 is a stationary computer such as a PC (Personal Computer) or a server machine.
  • the computer 500 is a portable computer such as a smartphone or a tablet terminal.
  • the computer 500 may be a dedicated computer designed to realize the attack information generation device 2000, or may be a general-purpose computer.
  • each function of the attack information generation device 2000 is realized on the computer 500.
  • the above application is composed of a program for realizing the functional component of the attack information generation device 2000.
  • the acquisition method of the above program is arbitrary.
  • the program can be acquired from a storage medium (DVD disk, USB memory, etc.) in which the program is stored.
  • the program can be acquired by downloading the program from the server device that manages the storage device in which the program is stored.
  • the computer 500 has a bus 502, a processor 504, a memory 506, a storage device 508, an input / output interface 510, and a network interface 512.
  • the bus 502 is a data transmission path for the processor 504, the memory 506, the storage device 508, the input / output interface 510, and the network interface 512 to transmit and receive data to and from each other.
  • the method of connecting the processors 504 and the like to each other is not limited to the bus connection.
  • the processor 504 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array).
  • the memory 506 is a main storage device realized by using RAM (RandomAccessMemory) or the like.
  • the storage device 508 is an auxiliary storage device realized by using a hard disk, an SSD (Solid State Drive), a memory card, a ROM (Read Only Memory), or the like.
  • the input / output interface 510 is an interface for connecting the computer 500 and the input / output device.
  • an input device such as a keyboard and an output device such as a display device are connected to the input / output interface 510.
  • the network interface 512 is an interface for connecting the computer 500 to the network.
  • This network may be a LAN (Local Area Network) or a WAN (Wide Area Network).
  • the storage device 508 stores a program (a program that realizes the above-mentioned application) that realizes each functional component of the attack information generation device 2000.
  • the processor 504 reads this program into the memory 506 and executes it to realize each functional component of the attack information generation device 2000.
  • the attack information generation device 2000 may be realized by one computer 500 or by a plurality of computers 500. In the latter case, the configurations of the computers 500 do not have to be the same and can be different.
  • FIG. 4 is a flowchart illustrating the flow of processing executed by the attack information generation device 2000 of the first embodiment.
  • S102 to S108 are loop processes L1 performed for each of the plurality of executions of the target attack.
  • the attack information generation device 2000 determines whether or not the loop process L1 has already been performed for all of the plurality of executions of the target attack. If the loop process L1 has already been performed for all of the plurality of executions of the target attack, the process of FIG. 4 proceeds to S112. On the other hand, if there is an attack that has not yet been targeted by the loop process L1 among the plurality of executions of the target attack, the attack information generation device 2000 selects one of them. The execution selected here is called the i-th execution. After that, the process of FIG. 4 proceeds to S104.
  • the specific unit 2020 extracts the entries recorded during the i-th execution period of the target attack from the log 10 (S104).
  • the identification unit 2020 specifies the number of occurrences of each event based on the extracted entries (S106). Since S108 is the end of the loop process L1, the process of FIG. 4 proceeds to S102.
  • S110 to S114 are loop processes L2 performed for each event generated during the execution period of the target attack.
  • the attack information generation device 2000 determines whether or not the loop processing L2 has already been performed for all the events that occurred during the execution period of the target attack. If the loop process L2 has already been performed for all the events that occurred during the execution period of the target attack, the process of FIG. 4 proceeds to S116. On the other hand, when some of the events generated during the execution period of the target attack are not yet targeted by the loop process L2, the attack information generation device 2000 selects one of them. The event selected here is called event j. After that, the process of FIG. 4 proceeds to S112.
  • the determination unit 2040 determines whether or not the number of occurrences of the event j specified for each of the plurality of executions of the target attack satisfies a predetermined condition (S112). Since S114 is the end of the loop process L2, the process of FIG. 4 proceeds to S110.
  • the generation unit 2060 generates attack information 30 in which the target attack and the event for which the number of appearances is determined to satisfy a predetermined condition are associated with each other (S116).
  • FIG. 5 is a flowchart illustrating the flow of processing executed by the attack information generation device 2000 in the case where the attack information 30 is generated for each of the plurality of target attacks.
  • the log 10 is a log of the environment in which the target attack is executed.
  • the log 10 is largely divided into 1) a log acquired on the machine subject to the target attack (hereinafter referred to as the target machine) and 2) a log acquired on the communication path between the other target machine and the other machine. Be separated.
  • the log of 1) is referred to as an endpoint log
  • the log of 20 is referred to as a network log.
  • the target machine may be a physical machine or a virtual machine.
  • the endpoint log is, for example, a log of the behavior of each process running on the target machine, a log of access to the registry, or a log of the file system.
  • the behavior of a process is represented by, for example, a system call or other API (Application Programming Interface) executed by the process.
  • the network log is, for example, a log recorded by a proxy server existing on a communication path, a network flow log, a packet capture log, or the like.
  • the attack information generation device 2000 may use any one of the above-mentioned various logs and other logs as the log 10, or may use a plurality of logs as the log 10, respectively.
  • the target attack is an arbitrary cyber attack.
  • a targeted attack consists of one or more commands.
  • the target attack may be a part of a series of attacks (hereinafter referred to as an attack sequence) for achieving a specific purpose.
  • an attacker who aims to steal important information from within a target organization investigates and collects files stored in the terminal after invading a terminal in the target organization network.
  • search for other terminals where important information is likely to be stored acquire authentication information to spread intrusion to other terminals, and search for vulnerabilities, and search using the acquired authentication information and vulnerability information.
  • the target attack does not have to be an actual attack performed by a malicious attacker, but may be a pseudo attack performed for the purpose of generating attack information 30 by an operator of the attack information generation device 2000 or the like.
  • the attack information 30 is generated by executing the attack sequence a plurality of times in the test environment and using the log 10 obtained as a result.
  • the attack sequence is composed of attacks A1, A2, and A3.
  • each of the attacks A1, A2, and A3 is treated as a target attack.
  • the attack information generation device 2000 has the attack information 30 associating the attack A1 with the event generated by the influence of the attack A1, and the attack information associating the attack A2 with the event generated by the influence of the attack A2. 30 and attack information 30 in which the attack A3 and the event generated by the influence of the attack A3 are associated with each other are generated.
  • the attack information generation device 2000 may treat only a part of the attacks included in the attack sequence as a target attack.
  • the target attack may be executed multiple times while changing the settings of the test environment.
  • each run may be done in a test environment with different settings.
  • the test environment settings that can be changed include, for example, log acquisition settings (settings for recording what type of event as a log), network configuration, firewall settings, and the like.
  • the specific unit 2020 specifies the number of occurrences of each event by using the entry recorded in the log 10 during the execution period of each of the plurality of executions of the target attack (S106). Therefore, for example, the specific unit 2020 extracts the entry recorded in the execution period from the log 10 for each of the plurality of executions of the target attack (S104).
  • the set of entries extracted from the log 10 for the execution period of the i-th target attack is referred to as an entry group i.
  • the method by which the specific unit 2020 acquires the log 10 is arbitrary.
  • the specific unit 2020 acquires the log 10 from a storage device accessible from the specific unit 2020.
  • the specific unit 2020 may send a request to a device (database server, etc.) that manages the log 10, and acquire the log 10 as a response thereof.
  • FIG. 6 is a diagram conceptually illustrating a method of specifying the number of occurrences of each event.
  • the target attack is executed three times.
  • the execution periods of the first to third target attacks are t11 to t12, t21 to t22, and t31 to t32, respectively. Therefore, the entry group for the first target attack includes each entry recorded in the log 10 from the time point t11 to the time point t12.
  • the entry group for the second targeted attack includes each entry recorded in log 10 between the time point t21 and the time point t22
  • the entry group for the third targeted attack includes the entry group.
  • Each entry recorded in the log 10 between the time point t31 and the time point t32 is included.
  • the specific unit 2020 aggregates entries for each entry group.
  • FIG. 6 illustrates how the entry group 1 generated for the first target attack is aggregated.
  • the specific unit 2020 divides the entries included in the entry group 1 into entries representing the same event.
  • the entries E1 to E9 included in the entry group 1 are classified into "E1, E3, E5", "E2, E7", “E4, E6, E8", and "E9".
  • the event represented by the entries E1, E3, and E5 is assigned the identifier I1
  • the event represented by the entries E2 and E7 is assigned the identifier I2
  • the event represented by E8 is assigned the identifier I3, and the event represented by entry E9 is assigned the identifier I4.
  • the identification unit 2020 specifies the number of occurrences of the event based on the number of entries corresponding to each event. For example, the specific unit 2020 treats the number of entries corresponding to a certain event as the number of occurrences of the event. For example, in the case of FIG. 6, the number of entries corresponding to events I1 to I4 is 3, 2, 3, and 1, respectively. Therefore, the number of occurrences of events I1 to I4 is 3, 2, 3, and 1, respectively.
  • the specific unit 2020 sets the number of occurrences of the event to 0 if there is no entry corresponding to the event (if the number of entries is 0), and the entry corresponding to the event exists. If (if the number of entries is 1 or more), the number of occurrences of the event may be 1. That is, in this case, the presence or absence of each event is grasped for each target attack. For example, in the case of FIG. 6, the number of occurrences of events I1 to I4 is treated as 1.
  • ⁇ Specifying the execution period of the target attack In order to extract the entries recorded during the execution period of the target attack from the log 10, it is necessary to be able to specify the execution period of the target attack. Therefore, for example, when a target attack is executed, information indicating the start time and end time of the execution (hereinafter referred to as an attack log) is stored in an arbitrary storage device.
  • the specific unit 2020 specifies the execution period of the target attack by using the attack log.
  • the existing technology can be used for the technology to record the start time and end time of the attack. For example, when a target attack is executed using a script whose execution start time is scheduled in advance, the time scheduled as the execution start time of the script is recorded in the attack log as the attack start time. To. Also, in this case, the end point of script execution is recorded in the attack log as the end point of the attack. In addition, for example, when an operator or the like manually executes a target attack, the operator or the like may record the start time and end time of the execution in the attack log.
  • FIG. 7 is a diagram illustrating an attack log in a table format.
  • the attack log 40 of FIG. 7 includes an attack identifier 42 and an execution period 44.
  • the attack identifier 42 indicates an identifier that can identify the target attack.
  • the execution period 44 includes a start time point 46 indicating the start time point of the target attack and an end time point 48 indicating the end time point of the target attack.
  • Event identification In order to separate the entries by event, it is necessary to identify the event represented by each entry. That is, it is necessary to use some criterion to determine whether the plurality of entries represent the same event or different events from each other. Hereinafter, a specific method thereof will be illustrated.
  • the specific unit 2020 treats entries in which the values of one or more predetermined items match each other as representing the same event.
  • the entry items may include, for example, various items representing the subject, object, or content of the event.
  • an event identification rule a rule that defines which item is used to identify the event is arbitrarily stored in a manner that can be acquired by the specific unit 2020. Store in the device in advance.
  • the identification unit 2020 divides a plurality of entries included in the entry group into a combination of entries representing the same event with each other by using an event identification rule.
  • each entry in the log 10 has five items B1 to B5. Further, it is assumed that an event identification rule that "entries whose values of items B2 and B4 match each other represent the same event" is defined.
  • the specific unit 2020 compares the values of item B2 and the values of item B4 between the entries included in the entry group. Then, a combination of a plurality of entries satisfying the condition that "the value of the item B2 is the same as each other and the value of the item B4 is also the same as each other" is extracted as a combination of entries representing the same event. To.
  • entries whose item values completely match each other may be treated as entries representing the same event.
  • entries representing the same event For example, for the item "Accessed files”, not only when the names of the accessed files exactly match each other in multiple entries, but also the directories containing the accessed files are one with each other. Even if they are done (that is, if the file paths match halfway), or if the accessed file types match each other (for example, if the file extensions match), they represent the same event. It can be treated as an entry.
  • the items included in the log may differ depending on the type of log. Therefore, when a plurality of types of logs are handled as the log 10, the event identification rule described above is predetermined for each type of log.
  • FIG. 8 is a diagram illustrating the event identification rule in a table format.
  • the event identification rule 50 has a log type 52 and a rule 54.
  • the log type 52 indicates the type of the log 10 to which the rule shown in the rule 54 is applied.
  • Rule 54 indicates one or more pairs of item names and identification conditions. For example, in the example of FIG. 8, a combination of a plurality of entries satisfying the condition that "the value of the item B1 matches each other and the file types shown in the item B3 match each other" represents the same event. Treated as a combination of existing entries.
  • the meaning represented by the rule 54 does not have to be limited to the meaning of "satisfying all the conditions of each pair".
  • a flexible rule may be set by a plurality of pairs.
  • the determination unit 2040 determines for each event whether or not the number of appearances of the event satisfies a predetermined condition (S112). For example, as described above, as a predetermined condition, a condition that is satisfied for an event that occurs due to the influence of a target attack is used. Here, if a certain event occurs due to the influence of the target attack, it is considered that the event occurs in all or many of the multiple executions of the target attack. Therefore, for example, as the predetermined condition satisfied for the event generated by the influence of the target attack, the condition satisfied for the event appearing in all or many of the plurality of executions of the target attack can be used.
  • a predetermined condition a condition that is satisfied for an event that occurs due to the influence of a target attack is used.
  • the predetermined condition satisfied for the event generated by the influence of the target attack the condition satisfied for the event appearing in all or many of the plurality of executions of the target attack can be used.
  • Such predetermined conditions are determined, for example, by conditions relating to statistical values (average value, median value, mode value, minimum value, etc.) of the number of occurrences of events. Specifically, it is a condition such as "the statistical value of the number of occurrences of events is equal to or higher than the threshold value".
  • the determination unit 2040 calculates the statistical value of the number of occurrences of the event in each of the plurality of executions of the target attack for each event, and determines whether or not the statistical value is equal to or greater than the threshold value.
  • the above-mentioned statistical value calculated for a certain event is equal to or more than the threshold value, it means that a predetermined condition is satisfied for the number of occurrences of the event.
  • the statistical value calculated for the event is smaller than the threshold value, it means that the predetermined condition is not satisfied for the number of occurrences of the event.
  • the generation unit 2060 generates attack information 30 in which the target attack and the event for which the number of appearances is determined to satisfy a predetermined condition are associated with each other (S116). If, as a predetermined condition, a condition that is satisfied for all or many of the events appearing in all or many of the multiple executions of the target attack is used, the attack information 30 is the target attack and the event that occurs due to the influence of the target attack. It becomes the information corresponding to.
  • FIG. 9 is a diagram illustrating the configuration of the attack information 30 in a table format.
  • the attack information 30 has an attack identifier 32, a log type 34, and an event identifier 36.
  • the attack identifier 32 indicates an identifier assigned to the attack. Any information that can identify the attack can be used for the attack identifier 32.
  • the name of the attack is used for the attack identifier 32.
  • the attack identifier 32 may be represented by a combination of the attack name and its setting. For example, when a command whose operation changes depending on an argument is used as an attack, the attack identifier 32 can be represented by a combination of "command name and argument".
  • the log type 34 indicates the type of log used to generate the attack information 30.
  • the event identifier 36 can use any information that can identify the event. For example, when the event identification rule 50 is used for event identification, the generation unit 2060 generates the event identifier 36 based on the value of the item specified by the rule 54. For example, suppose that the event is identified based on the rule that "the process names match and the types of accessed files match". In this case, for example, the event identifier 36 is represented by a pair of process name and file type.
  • the event identifier 36 indicates the identifier of each of these plurality of events. That is, a plurality of events are associated with the "target attack, log type" pair. This means that since these multiple events are generated by executing the target attack, an entry representing each of these multiple events is recorded in the same log 10.
  • the generation unit 2060 may output the attack information 30 in any mode.
  • the generation unit 2060 stores the attack information 30 in a storage device accessible from the attack information generation device 2000.
  • the attack information 30 stored in the storage device is used by an attack detection device described later.
  • the generation unit 2060 causes the display device accessible from the attack information generation device 2000 to display the attack information 30.
  • the generation unit 2060 transmits the attack information 30 to an arbitrary device.
  • the destination of the attack information 30 is an attack detection device described later.
  • ⁇ Attack detection using attack information 30> As one of the methods of using the attack information 30, it is conceivable to use it for the process of detecting an attack that may have been performed on the system from the log generated in the actual operating environment of the computer system.
  • a method of detecting an attack that may have been performed on a computer system by using the attack information 30 will be described.
  • the computer system that is the target of attack detection is called the inspection target system
  • the log obtained in the execution environment of the inspection target system is called the inspection target log.
  • an attack detection device a device that performs a process of detecting an attack using the attack information 30.
  • the attack detection device may be provided integrally with the attack information generation device 2000, or may be provided as a separate body.
  • the attack detection device may be realized by the computer 500 together with the attack information generation device 2000, or may be realized by another computer.
  • the computer that realizes the attack information generation device 2000 has the hardware configuration shown in FIG. 3, like the computer 500, for example.
  • the attack detection device detects one or more events (hereinafter, event group) associated with the same attack in the attack information 30 from the inspection target log.
  • event group events associated with the event group as an attack that may have been performed on the inspection target system.
  • the attack information 30 can be generated by using a plurality of logs 10. Therefore, the attack detection device detects the event group by using the same type of log as the type shown in the log type 34 among the logs obtained from the execution environment of the inspection target system as the inspection target log.
  • the attack detection device may detect the event group in consideration of the time required for the attack. That is, the attack detection device detects an attack associated with the event group as an attack executed against the system to be inspected only when the event group is included in a specific time width. May be good. By detecting the attack in consideration of the time required for the attack in this way, it is possible to detect the attack that may have been performed by the system to be inspected with higher accuracy.
  • the attack time may be common to all attacks or may be set for each attack.
  • the attack information 30 includes information on the length of the attack.
  • FIG. 10 is a diagram illustrating a case where the time length of the attack is associated with each attack in the attack information 30.
  • the attack information 30 in FIG. 10 has an attack length 38.
  • the attack length 38 indicates the length of the execution period of the corresponding attack.
  • the generation unit 2060 determines a value to be set for the attack length 38 based on the length of the execution period of the target attack. For example, the generation unit 2060 uses the attack log 40 to specify the length of the execution period for each of the plurality of executions of the target attack, and sets the statistical value of the specified execution period length to the attack length 38.
  • the statistical value may be an average value, a median value, a mode value, a maximum value, or a minimum value.
  • Non-temporary computer-readable media include various types of tangible storage media.
  • Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs, CD-Rs, CD-Rs. / W, including semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be provided to the computer by various types of temporary computer readable media. Examples of temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • An attack information generation device comprising a generation means for generating attack information in which the target attack and the event whose appearance number is determined to satisfy the predetermined condition are associated with each other.
  • Appendix 2 The attack information generation device according to Appendix 1, wherein the predetermined condition is that the statistical value of the number of occurrences of the event specified for each of the plurality of executions of the target attack is equal to or higher than the threshold value.
  • Appendix 3 The specific means is The number of occurrences of the event in which the corresponding entry exists in the log during the execution period of the target attack is set to 1.
  • the attack information generation device according to Appendix 1 or 2 wherein the number of occurrences of the event for which the corresponding entry does not exist in the log during the execution period of the target attack is set to 0.
  • the specific means is Of the plurality of entries recorded in the log during the execution period of the target attack, each of the entries whose values match or are similar to each other in one or more predetermined items is subjected to the same event. Specified as the entry to represent The attack information generation device according to any one of Supplementary note 1 to 3, which specifies the number of occurrences of the event based on the number of the entries specified as representing the event for each event. (Appendix 5) The attack information generation device according to any one of Supplementary note 1 to 4, wherein the generation means specifies the length of the execution period of the target attack and includes the length of the execution period in the attack information.
  • a control method performed by a computer For each of the multiple executions of the targeted attack, a specific step to identify the number of occurrences of each of one or more events using the logs during that execution period. For each event, a determination step for determining whether or not the number of occurrences of the event specified for each of the plurality of executions of the target attack satisfies a predetermined condition, A control method comprising a generation step of generating attack information in which the target attack and the event whose appearance number is determined to satisfy the predetermined condition are associated with each other.
  • Appendix 10 The control method according to Appendix 9, wherein the predetermined condition is that the statistical value of the number of occurrences of the event specified for each of the plurality of executions of the target attack is equal to or greater than the threshold value.
  • Appendix 11 In the specific step The number of occurrences of the event in which the corresponding entry exists in the log during the execution period of the target attack is set to 1.
  • the control method according to Appendix 9 or 10 wherein the number of occurrences of the event in which the corresponding entry does not exist in the log during the execution period of the target attack is set to 0.
  • (Appendix 14) The control method according to Appendix 13, wherein the length of the execution period of the target attack included in the attack information is a statistical value of the length of the execution period of each of the target attacks executed a plurality of times.
  • (Appendix 15) The control method according to any one of Supplementary note 9 to 13, wherein at least two executions of the plurality of executions of the target attack are performed in different test environments.
  • Appendix 18 The program according to Appendix 17, wherein the predetermined condition is that the statistical value of the number of occurrences of the event specified for each of the plurality of executions of the target attack is equal to or greater than the threshold value.
  • Appendix 19 In the specific step The number of occurrences of the event in which the corresponding entry exists in the log during the execution period of the target attack is set to 1.
  • (Appendix 22) The program according to Appendix 21, wherein the length of the execution period of the target attack included in the attack information is a statistical value of the length of the execution period of each of the target attacks executed a plurality of times.
  • (Appendix 23) The program according to any one of Supplementary note 17 to 22, wherein at least two executions of the plurality of executions of the target attack are performed in different test environments.
  • (Appendix 24) In the specific step, the number of occurrences of each event is specified for each of the plurality of types of logs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

攻撃情報生成装置(2000)は、対象攻撃の複数回の実行それぞれについて、その実行期間におけるログ(10)を用いて、1つ以上のイベントそれぞれの出現数を特定する。攻撃情報生成装置(2000)は、イベントごとに、対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する。攻撃情報生成装置(2000)は、対象攻撃と、その出現数が所定条件を満たすと判定されたイベントとを対応づけた攻撃情報(30)を生成する。

Description

攻撃情報生成装置、制御方法、及び非一時的なコンピュータ可読媒体
 本開示はコンピュータシステムに対する攻撃の解析に関する。
 コンピュータシステムに対する攻撃(サイバー攻撃)への対策として、コンピュータシステムの種々のログから未検知の攻撃の存在を検出する作業が行われている。そのため、ログから攻撃を検出するためのルールを生成する技術が開発されている。
 例えば特許文献1は、マルウエアの挙動ログから、特定の条件を満たす文字列を抽出し、抽出した文字列を時系列で表すマルウエア検知ルールを生成する技術を開示している。例えば文字列はシステムコールであり、マルウエア検知ルールはシステムコール列を表す。
特開2013-092981号公報
 特許文献1の発明では、マルウエアによって発生したイベントではないイベントが、マルウエア検知ルールに含まれてしまう蓋然性が高い。マルウエアが動作している間に発生したシステムコールの全てが、当該マルウエアに関係しているとは限らないためである。
 本開示は、上記の課題に鑑みてなされたものであり、その目的の一つは、攻撃に関連するイベントを特定するための新たな技術を提供することである。
 本開示の攻撃情報生成装置は、対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定手段と、前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定手段と、前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成手段と、を有する。
 本開示の制御方法は、対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定ステップと、前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定ステップと、前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成ステップと、を有する。
 本開示の非一時的なコンピュータ可読媒体には、本開示の制御方法をコンピュータに実行させるプログラムが格納されている。
 本開示によれば、攻撃に関連するイベントを特定するための新たな技術が提供される。
実施形態1の攻撃情報生成装置の動作の概要を例示する図である。 実施形態1の攻撃情報生成装置の機能構成を例示するブロック図である。 攻撃情報生成装置を実現するコンピュータのハードウエア構成を例示するブロック図である。 実施形態1の攻撃情報生成装置によって実行される処理の流れを例示するフローチャートである。 複数の対象攻撃それぞれについて攻撃情報が生成されるケースについて、攻撃情報生成装置によって実行される処理の流れを例示するフローチャートである。 出現数をイベントごとに特定する方法を、概念的に例示する図である。 攻撃ログをテーブル形式で例示する図である。 イベン同定ルールをテーブル形式で例示する図である。 攻撃情報の構成をテーブル形式で例示する図である。 攻撃情報において各攻撃にその攻撃の時間長が対応づけられているケースを例示する図である。
 以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。また、特に説明しない限り、所定値や閾値などといった予め定められている値は、その値を利用する装置からアクセス可能な記憶装置などに予め格納されている。
 図1は、実施形態1の攻撃情報生成装置2000の動作の概要を例示する図である。ここで、図1は、攻撃情報生成装置2000の概要の理解を容易にするための図であり、攻撃情報生成装置2000の動作は、図1に示したものに限定されない。
 攻撃情報生成装置2000は、攻撃と、その攻撃が実行された場合に、その攻撃が実行された環境のログ(以下、ログ10)に記録されるイベントとの対応付けを行う。以下、この対応付けを表す情報を攻撃情報30と呼ぶ。また、攻撃情報30の生成の対象となる攻撃のことを、対象攻撃と呼ぶ。
 ここでいうイベントとは、対象攻撃の実行環境で発生する任意の事象である。例えば、プロセスによるシステムコールや API(Application Programing Interface)の実行、レジストリやファイルシステムに対する操作、又はネットワークを介した通信などである。例えばイベントは、その主体、その客体、及びその内容の組み合わせ(何が、何に対して、何をしたのか)によって表される。ただし、イベントは、これらの3つの情報の組み合わせ以外によって表されてもよい。
 攻撃情報30の生成は、ログ10を利用して行われる。ログ10は複数のエントリを有する。エントリは、発生したイベントに関する情報(イベントの主体、客体、内容、及び発生時点など)を示す。ログ10は、例えば、OS(operating system)によって記録されるイベントのログや、ネットワークフローに関するログなどである。
 ログ10には、対象攻撃の実行期間中に記録されたエントリが含まれる。このようなログを得るために、例えば、対象攻撃を実行可能なテスト環境を用意し、当該テスト環境において対象攻撃が実行される。そして、当該テスト環境において発生したイベントが記録されたログが、ログ10として用いられる。
 攻撃情報生成装置2000は、ログ10から、対象攻撃の実行期間内に発生した各イベントを表すエントリを検出することで、各イベントの出現数を特定する。ここで、対象攻撃は複数回実行される。そのため、対象攻撃の複数回の実行それぞれについて、イベントの出現数が特定される。
 例えば図1において、対象攻撃の第1回目の実行については、イベントI1、イベントI2、及びイベントI3の出現数がそれぞれ、1回、3回、及び2回となっている。また、対象攻撃の第2回目の実行については、イベントI2、イベントI3、及びイベントI4の出現数がそれぞれ1回ずつとなっている。
 攻撃情報生成装置2000は、イベントごとに、対象攻撃の各実行について特定されたそのイベントの出現数が所定条件を満たすか否かを判定する。所定条件は、対象攻撃の影響で発生するイベントについて満たされる条件である。このような所定条件を採用することで、イベントごとに、そのイベントが対象攻撃の影響で発生するものであるか否かを判定することができる。詳しくは後述するが、例えばこのような所定の条件としては、「イベントの出現数の統計値が閾値以上である」などといった条件を利用することができる。
 攻撃情報生成装置2000は、その出現数が所定条件を満たすイベントと、対象攻撃とを対応づけて、攻撃情報30を生成する。例えば図1の攻撃情報30は、対象攻撃A1が、イベントI2及びイベントI3と対応づけられている。この攻撃情報30から、イベントI2とイベントI3が対象攻撃A1の影響で発生することが分かる。
<作用効果の一例>
 本実施形態の攻撃情報生成装置2000によれば、対象攻撃の複数回の実行それぞれについて、その実行期間に記録されたログ10のエントリを用いて、各イベントの出現数が特定される。そして、対象攻撃の複数回の実行それぞれについて特定された出現数が所定条件を満たすイベントが、対象攻撃と対応づけられる。このように、攻撃情報生成装置2000によれば、新たな手法により、攻撃に関連するイベントが特定される。
 特に、所定条件として、対象攻撃の影響で発生するイベントについて満たされる条件を利用するとする。このようにすると、対象攻撃の複数回の実行それぞれについて記録されたエントリに基づいて、対象攻撃に対し、当該対象攻撃の影響で発生するイベントを対応づけることができる。そして、このような対応付けを表す攻撃情報30を利用して、新たに得られたログを解析すれば、ログを利用して、対象攻撃が行われた可能性があることを検出できるようになる。
 以下、本実施形態の攻撃情報生成装置2000について、より詳細に説明する。
<機能構成の例>
 図2は、実施形態1の攻撃情報生成装置2000の機能構成を例示するブロック図である。攻撃情報生成装置2000は、特定部2020、判定部2040、及び生成部2060を有する。特定部2020は、対象攻撃の複数回の実行それぞれについて、1つ以上のイベントそれぞれの出現数を、その実行期間にログ10に記録されたエントリを利用して特定する。判定部2040は、イベントごとに、対象攻撃の各実行について特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する。生成部2060は、対象攻撃と、その出現数が所定条件を満たすイベントとを対応づけた攻撃情報30を生成する。
<ハードウエア構成の例>
 攻撃情報生成装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、攻撃情報生成装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、攻撃情報生成装置2000を実現するコンピュータ500のハードウエア構成を例示するブロック図である。コンピュータ500は、任意のコンピュータである。例えばコンピュータ500は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ500は、スマートフォンやタブレット端末などといった可搬型のコンピュータである。コンピュータ500は、攻撃情報生成装置2000を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。
 例えば、コンピュータ500に対して所定のアプリケーションをインストールすることにより、コンピュータ500で、攻撃情報生成装置2000の各機能が実現される。上記アプリケーションは、攻撃情報生成装置2000の機能構成部を実現するためのプログラムで構成される。なお、上記プログラムの取得方法は任意である。例えば、当該プログラムが格納されている記憶媒体(DVD ディスクや USB メモリなど)から、当該プログラムを取得することができる。その他にも例えば、当該プログラムが格納されている記憶装置を管理しているサーバ装置から、当該プログラムをダウンロードすることにより、当該プログラムを取得することができる。
 コンピュータ500は、バス502、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512を有する。バス502は、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ504などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ504は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ506は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス508は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース510は、コンピュータ500と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース510には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース512は、コンピュータ500をネットワークに接続するためのインタフェースである。例えば攻撃情報生成装置2000に対する攻撃は、このネットワークを介してコンピュータ500と通信可能に接続されている他のマシンから行われる。なお、このネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。
 ストレージデバイス508は、攻撃情報生成装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ504は、このプログラムをメモリ506に読み出して実行することで、攻撃情報生成装置2000の各機能構成部を実現する。
 攻撃情報生成装置2000は、1つのコンピュータ500で実現されてもよいし、複数のコンピュータ500で実現されてもよい。後者の場合において、各コンピュータ500の構成は同一である必要はなく、それぞれ異なるものとすることができる。
<処理の流れ>
 図4は、実施形態1の攻撃情報生成装置2000によって実行される処理の流れを例示するフローチャートである。S102からS108は、対象攻撃の複数回の実行それぞれについて行われるループ処理L1である。S102において、攻撃情報生成装置2000は、対象攻撃の複数回の実行の全てについて、ループ処理L1が既に行われたか否かを判定する。対象攻撃の複数回の実行の全てについて、ループ処理L1が既に行われた場合、図4の処理はS112に進む。一方、対象攻撃の複数回の実行のうち、まだループ処理L1の対象となっていないものがある場合、攻撃情報生成装置2000は、そのうちの1つを選択する。ここで選択される実行を、第i回目の実行と呼ぶ。その後、図4の処理はS104に進む。
 特定部2020は、ログ10から、対象攻撃の第i回目の実行期間中に記録されたエントリを抽出する(S104)。特定部2020は、抽出されたエントリに基づいて、各イベントの出現数を特定する(S106)。S108はループ処理L1の終端であるため、図4の処理はS102に進む。
 S110からS114は、対象攻撃の実行期間中に発生した各イベントについて行われるループ処理L2である。S110において、攻撃情報生成装置2000は、対象攻撃の実行期間中に発生した全てのイベントについて、ループ処理L2が既に行われたか否かを判定する。対象攻撃の実行期間中に発生した全てのイベントについて、ループ処理L2が既に行われた場合、図4の処理はS116に進む。一方、対象攻撃の実行期間中に発生したイベントの中に、まだループ処理L2の対象としていないものがある場合、攻撃情報生成装置2000は、そのうちの1つを選択する。ここで選択されるイベントを、イベントjと呼ぶ。その後、図4の処理はS112に進む。
 判定部2040は、対象攻撃の複数回の実行それぞれについて特定された、イベントjの出現数が所定条件を満たすか否かを判定する(S112)。S114はループ処理L2の終端であるため、図4の処理はS110に進む。
 生成部2060は、対象攻撃と、その出現数が所定条件を満たすと判定されたイベントととを対応づけた攻撃情報30を生成する(S116)。
 なお、図4のフローチャートでは、1つの対象攻撃について、攻撃情報30においてその対象攻撃と対応づけるイベントの特定が行われている。しかしながら、対象攻撃は複数あってもよい。複数の対象攻撃それぞれについて攻撃情報30が生成される場合、例えば図5に示すように、各対象攻撃についてS102からS116の処理が実行される。図5は、複数の対象攻撃それぞれについて攻撃情報30が生成されるケースについて、攻撃情報生成装置2000によって実行される処理の流れを例示するフローチャートである。
<ログ10について>
 前述したように、ログ10は、対象攻撃が実行される環境のログである。例えばログ10は、1)対象攻撃を受けるマシン(以下、対象マシン)上で取得されるログと、2)他対象マシンと他のマシンとの間の通信経路上で取得されるログとに大別される。以下、1)のログをエンドポイントログと呼び、20のログをネットワークログと呼ぶ。なお、対象マシンは物理マシンであってもよいし、仮想マシンであってもよい。
 エンドポイントログは、例えば、対象マシン上で動作する各プロセスの挙動のログ、レジストリに対するアクセスのログ、又はファイルシステムのログなどである。プロセスの挙動は、例えば、プロセスによって実行されたシステムコールその他の API(Application Programming Interface)などで表される。ネットワークログは、例えば、通信経路上に存在するプロキシサーバによって記録されるログ、ネットワークフローのログ、又はパケットキャプチャのログなどである。
 攻撃情報生成装置2000は、前述した種々のログやその他のログのうち、いずれか1つのログをログ10として用いてもよいし、複数のログをそれぞれログ10として用いてもよい。
<対象攻撃について>
 対象攻撃は任意のサイバー攻撃である。例えば対象攻撃は、1つ又は複数のコマンドで構成される。ここで、対象攻撃は、特定の目的を達成するための一連の攻撃(以下、攻撃列)の一部であってもよい。例えば、標的組織内からの重要情報の奪取を目的とした攻撃者は、標的組織ネットワーク内の端末に侵入後、端末内に保管されたファイルの調査・収集を行なう。また、重要情報が保管されていそうな他端末の探索や、他端末に侵入を拡大するための認証情報の取得や脆弱性の探索を行ない、取得した認証情報や脆弱性情報を用いて、探索によって発見した他端末へ侵入し、重要情報の探索範囲を広げていく。重要情報を端末から取得した場合、攻撃者のサーバへ当該情報を持ち出し攻撃を終了する。
 対象攻撃は、悪意ある攻撃者によって行われる実際の攻撃である必要はなく、攻撃情報生成装置2000の運用者などによって攻撃情報30の生成等を目的として行われる擬似的な攻撃でよい。例えば攻撃情報30の生成は、テスト環境において攻撃列の実行を複数回行い、その結果として得られるログ10を利用して行われる。例えば攻撃列が攻撃A1、A2、及びA3で構成されているとする。この場合、攻撃A1、A2及びA3のそれぞれが、対象攻撃として扱われる。例えば図5のフローチャートでは、攻撃A1を対象攻撃kとしたループ処理L3、攻撃A2を対象攻撃kとしたループ処理L3、及び攻撃A3を対象攻撃kとしたループ処理L3がそれぞれ実行される。こうすることで、攻撃情報生成装置2000は、攻撃A1と攻撃A1の影響によって発生するイベントとを対応づけた攻撃情報30、攻撃A2と攻撃A2の影響によって発生するイベントとを対応づけた攻撃情報30、及び攻撃A3と攻撃A3の影響によって発生するイベントとを対応づけた攻撃情報30を生成する。ただし、攻撃情報生成装置2000は、攻撃列に含まれる一部の攻撃のみを、対象攻撃として扱ってもよい。
 ここで、対象攻撃の複数回の実行は、テスト環境の設定を変更しながら行われてもよい。言い換えれば、各実行がそれぞれ異なる設定のテスト環境で行われるようにしてもよい。変更しうるテスト環境の設定としては、例えば、ログの取得設定(どのようなタイプのイベントをログとして記録するかの設定)、ネットワークの構成、又はファイアウォールの設定などがある。このようにテスト環境の設定を様々に変えながら対象攻撃を実行することによって得られたログ10を利用することにより、対象攻撃の影響で発生するイベントのうち、実行環境の影響が小さいイベントを、対象攻撃と対応づけることができる(言い換えれば、特定の実行環境でしか発生しないようなイベントを、対象攻撃と対応づけないようにすることができる)。
<エントリの抽出とイベントの出現数の特定:S104、S106>
 特定部2020は、対象攻撃の複数回の実行それぞれについて、その実行期間にログ10に記録されたエントリを用いて、各イベントの出現数を特定する(S106)。そのために、例えば特定部2020は、対象攻撃の複数回の実行それぞれについて、ログ10から、その実行期間に記録されたエントリを抽出する(S104)。以下、第i回目の対象攻撃の実行期間についてログ10から抽出されたエントリの集合を、エントリグループiと呼ぶ。
 ここで、特定部2020がログ10を取得する方法は任意である。例えば特定部2020は、特定部2020からアクセス可能な記憶装置からログ10を取得する。その他にも例えば、特定部2020は、ログ10を管理している装置(データベースサーバなど)に対してリクエストを送信し、そのレスポンスとして、ログ10を取得してもよい。
 特定部2020は、各エントリグループについて、そのエントリグループに含まれるエントリを、イベントごとに分類する。図6は、各イベントの出現数を特定する方法を、概念的に例示する図である。この例では、対象攻撃が3回実行されている。第1回目から第3回目の対象攻撃の実行期間はそれぞれ、t11 から t12、t21 から t22、及び t31 から t32 である。そのため、第1回目の対象攻撃についてのエントリグループには、時点 t11 から時点 t12 までの間にログ10に記録された各エントリが含まれる。同様に、第2回目の対象攻撃についてのエントリグループには、時点 t21 から時点 t22 までの間にログ10に記録された各エントリが含まれ、第3回目の対象攻撃についてのエントリグループには、時点 t31 から時点 t32 までの間にログ10に記録された各エントリが含まれる。
 特定部2020は、エントリグループごとに、エントリの集計を行う。図6では、第1回目の対象攻撃について生成されたエントリグループ1を集計する様子が例示されている。特定部2020は、エントリグループ1に含まれるエントリを、同一のイベントを表すエントリごとに分ける。この例では、エントリグループ1に含まれるエントリE1からE9が、「E1、E3、E5」、「E2、E7」、「E4、E6、E8」、及び「E9」に分類されている。ここで、エントリE1、E3、及びE5によって表されているイベントにはI1という識別子が割り当てられ、エントリE2及びE7によって表されているイベントにはI2という識別子が割り当てられ、エントリE4、E6、及びE8によって表されているイベントにはI3という識別子が割り当てられ、エントリE9によって表されているイベントにはI4という識別子が割り当てられている。
 特定部2020は、各イベントに対応するエントリの数に基づいて、イベントの出現数を特定する。例えば特定部2020は、或るイベントに対応するエントリの数を、そのイベントの出現数として扱う。例えば図6の例の場合、イベントI1からI4に対応するエントリの数はそれぞれ、3、2、3、及び1である。そのため、イベントI1からI4の出現数はそれぞれ、3、2、3、及び1となる。
 その他にも例えば、特定部2020は、或るイベントに対応するエントリが存在しなければ(エントリの数が0であれば)そのイベントの出現数を0とし、そのイベントに対応するエントリが存在すれば(エントリの数が1以上であれば)そのイベントの出現数を1としてもよい。すなわち、この場合には、各イベントの有無が対象攻撃ごとに把握されることとなる。例えば図6のケースでは、イベントI1からI4の出現数が、いずれも1として扱われる。
<<対象攻撃の実行期間の特定>>
 ログ10から対象攻撃の実行期間中に記録されたエントリを抽出するためには、対象攻撃の実行期間を特定できる必要がある。そのために、例えば、対象攻撃が実行される際に、その実行の開始時点と終了時点を示す情報(以下、攻撃ログ)が、任意の記憶装置に格納されるようにしておく。特定部2020は、攻撃ログを利用することで、対象攻撃の実行期間を特定する。
 なお、攻撃の開始時点と終了時点を記録する技術には、既存の技術を利用することができる。例えば、実行開始時点が予めスケジュールされているスクリプトを利用して対象攻撃が実行される場合、そのスクリプトの実行開始時点としてスケジュールされていた時刻が、攻撃の開始時点として攻撃ログに記録されるようにする。また、この場合、スクリプトの実行の終了時点が、攻撃の終了時点として攻撃ログに記録されるようにする。その他にも例えば、運用者等が手動で対象攻撃の実行を行う場合、当該運用者等により、実行の開始時点と終了時点が攻撃ログに記録されるようにしてもよい。
 図7は、攻撃ログをテーブル形式で例示する図である。図7の攻撃ログ40は、攻撃識別子42及び実行期間44を含む。攻撃識別子42は、対象攻撃を特定可能な識別子を示す。実行期間44は、対象攻撃の開始時点を示す開始時点46と、対象攻撃の終了時点を示す終了時点48を含む。
<<イベントの同定>>
 エントリをイベントごとに分けるためには、各エントリによって表されるイベントの同定を行う必要がある。すなわち、何らかの基準を用いて、複数のエントリが互いに同一のイベントを表しているのか、それとも、互いに異なるイベントを表しているのかを判定する必要がある。以下、その具体的な方法を例示する。
 例えば特定部2020は、1つ以上の所定の項目の値が互いに一致するエントリ同士を、互いに同じイベントを表しているものとして扱う。エントリの項目には、例えば、イベントの主体、客体、又は内容などを表す種々の項目が存在しうる。項目の値に基づいてイベントの同定を行う場合、どの項目を利用してイベントの同定を行うかを定めたルール(以下、イベント同定ルール)を、特定部2020によって取得可能な態様で任意の記憶装置に予め格納しておく。特定部2020は、エントリグループに含まれる複数のエントリを、イベント同定ルールを利用して、互いに同じイベントを表しているエントリの組み合わせに分割する。
 例えばログ10の各エントリが5つの項目B1からB5を有しているとする。また、「項目B2とB4の値が互いに一致するエントリ同士は、互いに同じイベントを表している」というイベント同定ルールを定めておくとする。この場合、特定部2020は、エントリグループに含まれるエントリ同士で、項目B2の値の比較及び項目B4の値の比較を行う。そして、「項目B2の値が互いに同じであり、なおかつ、項目B4の値も互いに同じである」という条件が満たされる複数のエントリの組み合わせが、同一のイベントを表しているエントリの組み合わせとして抽出される。
 ここで、項目の値が互いに完全に一致するエントリ同士だけでなく、項目の値が互いに類似しているエントリ同士が、互いに同じイベントを表しているエントリとして扱われてもよい。例えば、「アクセスされたファイル」という項目については、複数のエントリにおいて、アクセスされたファイルの名前が完全に互いに一致している場合だけでなく、アクセスされたファイルが格納されているディレクトリが互いに一致してる場合(すなわち、ファイルのパスが途中まで一致する場合)や、アクセスされたファイルの種類が互いに一致する場合(例えば、ファイルの拡張子が一致する場合)でも、互いに同じイベントを表しているエントリとして扱うことが考えられる。
 ここで、ログに含まれる項目は、ログの種類ごとに異なりうる。そこで、ログ10として複数種類のログを扱う場合、前述したイベント同定ルールは、ログの種類ごとに予め定めておく。
 図8は、イベント同定ルールをテーブル形式で例示する図である。イベント同定ルール50は、ログ種別52とルール54を有する。ログ種別52は、ルール54に示すルールが適用されるログ10の種類を示す。ルール54は、項目名と同定の条件とのペアを1つ以上示す。例えば図8の例では、「項目B1の値が互いに一致し、なおかつ、項目B3に示されるファイルの種類が互いに一致する」という条件が満たされる複数のエントリの組み合わせが、互いに同じイベントを表しているエントリの組み合わせとして扱われる。
 ただし、ルール54に複数のペアが示されている場合において、ルール54が表す意味は、「各ペアの条件を全て満たす」という意味に限定されなくてもよい。例えば、「ペア1 and ペア2 or ペア3」などのような指定をルール54において可能にすることにより、複数のペアによって柔軟なルールを設定できるようにしてもよい。
<所定条件を満たすか否かの判定:S112>
 判定部2040は、イベントごとに、そのイベントの出現数が所定条件を満たすか否かを判定する(S112)。例えば前述したように、所定条件としては、対象攻撃の影響で発生するイベントについて満たされる条件が利用される。ここで、あるイベントが対象攻撃の影響で発生するものである場合、対象攻撃の複数回の実行の全て又はその多くで、そのイベントが発生すると考えられる。そこで例えば、対象攻撃の影響で発生するイベントについて満たされる所定条件としては、対象攻撃の複数回の実行の全て又はその多くで出現しているイベントについて満たされる条件を利用できる。
 このような所定条件は、例えば、イベントの出現数の統計値(平均値、中央値、最頻値、又は最小値など)に関する条件で定められる。具体的には、「イベントの出現数の統計値が閾値以上である」といった条件である。この場合、判定部2040は、各イベントについて、対象攻撃の複数回の実行それぞれにおけるそのイベントの出現数の統計値を算出し、当該統計値が閾値以上であるか否かを判定する。あるイベントについて算出された上記統計値が閾値以上である場合、そのイベントの出現数については、所定条件が満たされていることとなる。一方、そのイベントについて算出された上記統計値が閾値より小さい場合、そのイベントの出現数については、所定条件を満たされていないこととなる。
<攻撃情報30の生成:S116>
 生成部2060は、対象攻撃と、その出現数が所定条件を満たすと判定されたイベントとを対応づけた攻撃情報30を生成する(S116)。所定条件として、対象攻撃の複数回の実行の全て又はその多くで出現しているイベントについて満たされる条件が利用される場合、攻撃情報30は、対象攻撃と、その対象攻撃の影響で発生するイベントとを対応づけた情報となる。
 図9は、攻撃情報30の構成をテーブル形式で例示する図である。図9において、攻撃情報30は、攻撃識別子32、ログ種別34、及びイベント識別子36を有する。攻撃識別子32は、攻撃に割り当てられた識別子を示す。攻撃識別子32には、攻撃を識別可能な任意の情報を利用することができる。例えば、攻撃識別子32には、攻撃の名称が利用される。その他にも例えば、攻撃識別子32は、攻撃の名称とその設定との組み合わせで表されてもよい。例えば、引数によってその動作が変化するコマンドを攻撃として利用する場合、「コマンド名、引数」という組み合わせで、攻撃識別子32を表すことができる。
 ログ種別34は、攻撃情報30の生成に利用されたログの種別を示す。イベント識別子36は、イベントを識別可能な任意の情報を利用することができる。例えばイベントの同定にイベント同定ルール50が利用される場合、生成部2060は、ルール54で指定されている項目の値に基づいて、イベント識別子36を生成する。例えば、「プロセス名が一致し、なおかつ、アクセスされたファイルの種別が一致する」というルールに基づいて、イベントの同定が行われたとする。この場合、例えば、イベント識別子36は、プロセス名とファイル種別のペアで表される。
 ここで、同一の対象攻撃及び同一のログ10について、その出現数が所定条件を満たすイベントが複数特定された場合、イベント識別子36には、これら複数のイベントそれぞれの識別子が示されている。すなわち、「対象攻撃、ログ種別」のペアに対して、複数のイベントが対応づけられている。これは、対象攻撃を実行することで、これら複数のイベントが発生するため、これら複数のイベントそれぞれを表すエントリが同一のログ10に記録されることを表す。
 例えば図9の1行目は、「攻撃識別子=攻撃A1」と「ログ種別=OS イベント」という組み合わせに対し、「イベント識別子=OI2、OI3」が対応づけられている。そのため、OS イベントのログからイベント識別子が OI2 のイベントを表すエントリと、イベント識別子が OI3 のイベントを表すエントリの双方が含まれている場合に、攻撃A1が実行された蓋然性が高いと言える。
<攻撃情報30の出力>
 生成部2060は、任意の態様で攻撃情報30を出力してもよい。例えば生成部2060は、攻撃情報生成装置2000からアクセス可能な記憶装置に攻撃情報30を格納する。例えば記憶装置に格納された攻撃情報30は、後述する攻撃検出装置によって利用される。その他にも例えば、生成部2060は、攻撃情報生成装置2000からアクセス可能なディスプレイ装置に、攻撃情報30を表示させる。その他にも例えば、生成部2060は、任意の装置に攻撃情報30を送信する。例えば攻撃情報30の送信先は、後述する攻撃検出装置である。
<攻撃情報30を利用した攻撃の検出>
 攻撃情報30の利用方法の1つとして、コンピュータシステムの実際の運用環境で生成されたログから、当該システムに対して行われた可能性のある攻撃を検出する処理に利用することが考えられる。以下、攻撃情報30を利用して、コンピュータシステムに対して行われた可能性のある攻撃を検出する方法について説明する。ここで、攻撃検出の対象となるコンピュータシステムを検査対象システムと呼び、検査対象システムの実行環境で得られるログを検査対象ログと呼ぶ。また、攻撃情報30を利用して攻撃を検出する処理を行う装置を、攻撃検出装置と呼ぶ。
 攻撃検出装置は、攻撃情報生成装置2000と一体として設けられてもよいし、別体として設けられてもよい。言い換えれば、攻撃検出装置は、攻撃情報生成装置2000と共にコンピュータ500で実現されてもよいし、別のコンピュータで実現されてもよい。後者の場合、攻撃情報生成装置2000を実現するコンピュータは、例えばコンピュータ500と同様に、図3に示すハードウエア構成を有する。
 例えば攻撃検出装置は、攻撃情報30において同一の攻撃に対応づけられている1つ以上のイベント(以下、イベント群)を、検査対象ログから検出する。攻撃検出装置は、あるイベント群が検査対象ログから検出されたら、そのイベント群に対応づけられている攻撃を、検査対象システムに対して行われた可能性のある攻撃として検出する。なお、前述したように、攻撃情報30は、複数のログ10を利用して生成されうる。そこで攻撃検出装置は、検査対象システムの実行環境から得られたログのうち、ログ種別34に示されている種類と同じ種類のログを検査対象ログとして用いて、イベント群の検出を行う。
 攻撃検出装置は、攻撃に要する時間をさらに考慮して、イベント群の検出を行ってもよい。すなわち、攻撃検出装置は、イベント群が特定の時間幅の中に含まれている場合のみ、そのイベント群に対応づけられている攻撃を、検査対象システムに対して実行された攻撃として検出してもよい。このように攻撃に要する時間を考慮して攻撃の検出を行うことにより、検査対象システム行われた可能性のある攻撃をより高い精度で検出することができる。
 攻撃の時間長は、全ての攻撃で共通であってもよいし、攻撃ごとに定められていてもよい。後者の場合、攻撃情報30に、攻撃の時間長に関する情報を含めておく。図10は、攻撃情報30において各攻撃にその攻撃の時間長が対応づけられているケースを例示する図である。図10の攻撃情報30は、攻撃長38を有する。攻撃長38は、対応する攻撃の実行期間の長さを示す。
 図10のように攻撃情報30が攻撃長38を含む場合、例えば生成部2060は、対象攻撃の実行期間の長さに基づいて、攻撃長38に設定する値を決定する。例えば生成部2060は、攻撃ログ40を利用して、対象攻撃の複数回の実行それぞれについて実行期間の長さを特定し、特定した実行期間の長さの統計値を攻撃長38に設定する。例えば統計値は、平均値、中央値、最頻値、最大値、又は最小値などである。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定手段と、
 前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定手段と、
 前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成手段と、を有する攻撃情報生成装置。
 (付記2)
 前記所定条件は、前記対象攻撃の複数回の実行それぞれについて特定された前記イベントの出現数の統計値が閾値以上であることである、付記1に記載の攻撃情報生成装置。
 (付記3)
 前記特定手段は、
  前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在する前記イベントの出現数を1とし、
  前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在しない前記イベントの出現数を0とする、付記1又は2に記載の攻撃情報生成装置。
 (付記4)
 前記特定手段は、
  前記ログにおいて前記対象攻撃の実行期間に記録されている複数のエントリのうち、1つ以上の所定の項目において互いに一致又は類似する値が示されている各前記エントリを、互いに同一の前記イベントを表す前記エントリとして特定し、
  各前記イベントについて、そのイベントを表すものとして特定された前記エントリの数に基づいて、そのイベントの出現数を特定する、付記1から3いずれか一項に記載の攻撃情報生成装置。
 (付記5)
 前記生成手段は、前記対象攻撃の実行期間の長さを特定し、当該実行期間の長さを前記攻撃情報に含める、付記1から4いずれか一項に記載の攻撃情報生成装置。
 (付記6)
 前記攻撃情報に含める前記対象攻撃の実行期間の長さは、複数回実行された前記対象攻撃それぞれの実行期間の長さの統計値である、付記5に記載の攻撃情報生成装置。
 (付記7)
 前記対象攻撃の複数回の実行のうち、少なくとも2回の実行は、互いに異なるテスト環境で行われる、付記1から6いずれか一項に記載の攻撃情報生成装置。
 (付記8)
 前記特定手段は、複数種類の前記ログそれぞれについて、各前記イベントの出現数の特定を行い、
 前記生成手段は、前記攻撃情報に、前記イベントを表すエントリが抽出された前記ログの種類を含める、付記1から7いずれか一項に記載の攻撃情報生成装置。
 (付記9)
 コンピュータによって実行される制御方法であって、
 対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定ステップと、
 前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定ステップと、
 前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成ステップと、を有する制御方法。
 (付記10)
 前記所定条件は、前記対象攻撃の複数回の実行それぞれについて特定された前記イベントの出現数の統計値が閾値以上であることである、付記9に記載の制御方法。
 (付記11)
 前記特定ステップにおいて、
  前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在する前記イベントの出現数を1とし、
  前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在しない前記イベントの出現数を0とする、付記9又は10に記載の制御方法。
 (付記12)
 前記特定ステップにおいて、
  前記ログにおいて前記対象攻撃の実行期間に記録されている複数のエントリのうち、1つ以上の所定の項目において互いに一致又は類似する値が示されている各前記エントリを、互いに同一の前記イベントを表す前記エントリとして特定し、
  各前記イベントについて、そのイベントを表すものとして特定された前記エントリの数に基づいて、そのイベントの出現数を特定する、付記9から11いずれか一項に記載の制御方法。
 (付記13)
 前記生成ステップにおいて、前記対象攻撃の実行期間の長さを特定し、当該実行期間の長さを前記攻撃情報に含める、付記9から12いずれか一項に記載の制御方法。
 (付記14)
 前記攻撃情報に含める前記対象攻撃の実行期間の長さは、複数回実行された前記対象攻撃それぞれの実行期間の長さの統計値である、付記13に記載の制御方法。
 (付記15)
 前記対象攻撃の複数回の実行のうち、少なくとも2回の実行は、互いに異なるテスト環境で行われる、付記9から13いずれか一項に記載の制御方法。
 (付記16)
 前記特定ステップにおいて、複数種類の前記ログそれぞれについて、各前記イベントの出現数の特定を行い、
 前記生成ステップにおいて、前記攻撃情報に、前記イベントを表すエントリが抽出された前記ログの種類を含める、付記9から15いずれか一項に記載の制御方法。
 (付記17)
 対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定ステップと、
 前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定ステップと、
 前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成ステップと、をコンピュータに実行させるプログラム。
 (付記18)
 前記所定条件は、前記対象攻撃の複数回の実行それぞれについて特定された前記イベントの出現数の統計値が閾値以上であることである、付記17に記載のプログラム。
 (付記19)
 前記特定ステップにおいて、
  前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在する前記イベントの出現数を1とし、
  前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在しない前記イベントの出現数を0とする、付記17又は18に記載のプログラム。 
 (付記20)
 前記特定ステップにおいて、
  前記ログにおいて前記対象攻撃の実行期間に記録されている複数のエントリのうち、1つ以上の所定の項目において互いに一致又は類似する値が示されている前記エントリを、互いに同一の前記イベントを表す前記エントリとして特定し、
  各前記イベントについて、そのイベントを表すものとして特定された前記エントリの数に基づいて、そのイベントの出現数を特定する、付記17から19いずれか一項に記載のプログラム。
 (付記21)
 前記生成ステップにおいて、前記対象攻撃の実行期間の長さを特定し、当該実行期間の長さを前記攻撃情報に含める、付記17から20いずれか一項に記載のプログラム。
 (付記22)
 前記攻撃情報に含める前記対象攻撃の実行期間の長さは、複数回実行された前記対象攻撃それぞれの実行期間の長さの統計値である、付記21に記載のプログラム。
 (付記23)
 前記対象攻撃の複数回の実行のうち、少なくとも2回の実行は、互いに異なるテスト環境で行われる、付記17から22いずれか一項に記載のプログラム。
 (付記24)
 前記特定ステップにおいて、複数種類の前記ログそれぞれについて、各前記イベントの出現数の特定を行い、
 前記生成ステップにおいて、前記攻撃情報に、前記イベントを表すエントリが抽出された前記ログの種類を含める、付記17から23いずれか一項に記載のプログラム。
 この出願は、2020年12月24日に出願された日本出願特願2020-215074を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10      ログ
30      攻撃情報
32      攻撃識別子
34      ログ種別
36      イベント識別子
38      攻撃長
40      攻撃ログ
42      攻撃識別子
44      実行期間
46      開始時点
48      終了時点
50      イベント同定ルール
52      ログ種別
54      ルール
500      コンピュータ
502      バス
504      プロセッサ
506      メモリ
508      ストレージデバイス
510      入出力インタフェース
512      ネットワークインタフェース
2000     攻撃情報生成装置
2020     特定部
2040     判定部
2060     生成部

Claims (24)

  1.  対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定手段と、
     前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定手段と、
     前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成手段と、を有する攻撃情報生成装置。
  2.  前記所定条件は、前記対象攻撃の複数回の実行それぞれについて特定された前記イベントの出現数の統計値が閾値以上であることである、請求項1に記載の攻撃情報生成装置。
  3.  前記特定手段は、
      前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在する前記イベントの出現数を1とし、
      前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在しない前記イベントの出現数を0とする、請求項1又は2に記載の攻撃情報生成装置。
  4.  前記特定手段は、
      前記ログにおいて前記対象攻撃の実行期間に記録されている複数のエントリのうち、1つ以上の所定の項目において互いに一致又は類似する値が示されている各前記エントリを、互いに同一の前記イベントを表す前記エントリとして特定し、
      各前記イベントについて、そのイベントを表すものとして特定された前記エントリの数に基づいて、そのイベントの出現数を特定する、請求項1から3いずれか一項に記載の攻撃情報生成装置。
  5.  前記生成手段は、前記対象攻撃の実行期間の長さを特定し、当該実行期間の長さを前記攻撃情報に含める、請求項1から4いずれか一項に記載の攻撃情報生成装置。
  6.  前記攻撃情報に含める前記対象攻撃の実行期間の長さは、複数回実行された前記対象攻撃それぞれの実行期間の長さの統計値である、請求項5に記載の攻撃情報生成装置。
  7.  前記対象攻撃の複数回の実行のうち、少なくとも2回の実行は、互いに異なるテスト環境で行われる、請求項1から6いずれか一項に記載の攻撃情報生成装置。
  8.  前記特定手段は、複数種類の前記ログそれぞれについて、各前記イベントの出現数の特定を行い、
     前記生成手段は、前記攻撃情報に、前記イベントを表すエントリが抽出された前記ログの種類を含める、請求項1から7いずれか一項に記載の攻撃情報生成装置。
  9.  コンピュータによって実行される制御方法であって、
     対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定ステップと、
     前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定ステップと、
     前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成ステップと、を有する制御方法。
  10.  前記所定条件は、前記対象攻撃の複数回の実行それぞれについて特定された前記イベントの出現数の統計値が閾値以上であることである、請求項9に記載の制御方法。
  11.  前記特定ステップにおいて、
      前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在する前記イベントの出現数を1とし、
      前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在しない前記イベントの出現数を0とする、請求項9又は10に記載の制御方法。
  12.  前記特定ステップにおいて、
      前記ログにおいて前記対象攻撃の実行期間に記録されている複数のエントリのうち、1つ以上の所定の項目において互いに一致又は類似する値が示されている各前記エントリを、互いに同一の前記イベントを表す前記エントリとして特定し、
      各前記イベントについて、そのイベントを表すものとして特定された前記エントリの数に基づいて、そのイベントの出現数を特定する、請求項9から11いずれか一項に記載の制御方法。
  13.  前記生成ステップにおいて、前記対象攻撃の実行期間の長さを特定し、当該実行期間の長さを前記攻撃情報に含める、請求項9から12いずれか一項に記載の制御方法。
  14.  前記攻撃情報に含める前記対象攻撃の実行期間の長さは、複数回実行された前記対象攻撃それぞれの実行期間の長さの統計値である、請求項13に記載の制御方法。
  15.  前記対象攻撃の複数回の実行のうち、少なくとも2回の実行は、互いに異なるテスト環境で行われる、請求項9から13いずれか一項に記載の制御方法。
  16.  前記特定ステップにおいて、複数種類の前記ログそれぞれについて、各前記イベントの出現数の特定を行い、
     前記生成ステップにおいて、前記攻撃情報に、前記イベントを表すエントリが抽出された前記ログの種類を含める、請求項9から15いずれか一項に記載の制御方法。
  17.  対象攻撃の複数回の実行それぞれについて、その実行期間におけるログを用いて、1つ以上のイベントそれぞれの出現数を特定する特定ステップと、
     前記イベントごとに、前記対象攻撃の複数回の実行それぞれについて特定されたそのイベントの出現数が、所定条件を満たすか否かを判定する判定ステップと、
     前記対象攻撃と、出現数が前記所定条件を満たすと判定された前記イベントとを対応づけた攻撃情報を生成する生成ステップと、をコンピュータに実行させるプログラムが格納されている非一時的なコンピュータ可読媒体。
  18.  前記所定条件は、前記対象攻撃の複数回の実行それぞれについて特定された前記イベントの出現数の統計値が閾値以上であることである、請求項17に記載のコンピュータ可読媒体。
  19.  前記特定ステップにおいて、
      前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在する前記イベントの出現数を1とし、
      前記対象攻撃の実行期間における前記ログの中に対応するエントリが存在しない前記イベントの出現数を0とする、請求項17又は18に記載のコンピュータ可読媒体。 
  20.  前記特定ステップにおいて、
      前記ログにおいて前記対象攻撃の実行期間に記録されている複数のエントリのうち、1つ以上の所定の項目において互いに一致又は類似する値が示されている前記エントリを、互いに同一の前記イベントを表す前記エントリとして特定し、
      各前記イベントについて、そのイベントを表すものとして特定された前記エントリの数に基づいて、そのイベントの出現数を特定する、請求項17から19いずれか一項に記載のコンピュータ可読媒体。
  21.  前記生成ステップにおいて、前記対象攻撃の実行期間の長さを特定し、当該実行期間の長さを前記攻撃情報に含める、請求項17から20いずれか一項に記載のコンピュータ可読媒体。
  22.  前記攻撃情報に含める前記対象攻撃の実行期間の長さは、複数回実行された前記対象攻撃それぞれの実行期間の長さの統計値である、請求項21に記載のコンピュータ可読媒体。
  23.  前記対象攻撃の複数回の実行のうち、少なくとも2回の実行は、互いに異なるテスト環境で行われる、請求項17から22いずれか一項に記載のコンピュータ可読媒体。
  24.  前記特定ステップにおいて、複数種類の前記ログそれぞれについて、各前記イベントの出現数の特定を行い、
     前記生成ステップにおいて、前記攻撃情報に、前記イベントを表すエントリが抽出された前記ログの種類を含める、請求項17から23いずれか一項に記載のコンピュータ可読媒体。
PCT/JP2021/041829 2020-12-24 2021-11-15 攻撃情報生成装置、制御方法、及び非一時的なコンピュータ可読媒体 WO2022137883A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022571953A JPWO2022137883A5 (ja) 2021-11-15 攻撃情報生成装置、制御方法、及びプログラム
US18/269,361 US20240054213A1 (en) 2020-12-24 2021-11-15 Attack information generation apparatus, control method, and non-transitory computer readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020215074 2020-12-24
JP2020-215074 2020-12-24

Publications (1)

Publication Number Publication Date
WO2022137883A1 true WO2022137883A1 (ja) 2022-06-30

Family

ID=82158999

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041829 WO2022137883A1 (ja) 2020-12-24 2021-11-15 攻撃情報生成装置、制御方法、及び非一時的なコンピュータ可読媒体

Country Status (2)

Country Link
US (1) US20240054213A1 (ja)
WO (1) WO2022137883A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302956A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 不正アクセス対処システム、及び不正アクセス対処処理プログラム
JP2010152773A (ja) * 2008-12-26 2010-07-08 Mitsubishi Electric Corp 攻撃判定装置及び攻撃判定方法及びプログラム
WO2015141560A1 (ja) * 2014-03-19 2015-09-24 日本電信電話株式会社 トラヒック特徴情報抽出方法、トラヒック特徴情報抽出装置及びトラヒック特徴情報抽出プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302956A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 不正アクセス対処システム、及び不正アクセス対処処理プログラム
JP2010152773A (ja) * 2008-12-26 2010-07-08 Mitsubishi Electric Corp 攻撃判定装置及び攻撃判定方法及びプログラム
WO2015141560A1 (ja) * 2014-03-19 2015-09-24 日本電信電話株式会社 トラヒック特徴情報抽出方法、トラヒック特徴情報抽出装置及びトラヒック特徴情報抽出プログラム

Also Published As

Publication number Publication date
US20240054213A1 (en) 2024-02-15
JPWO2022137883A1 (ja) 2022-06-30

Similar Documents

Publication Publication Date Title
US10657251B1 (en) Multistage system and method for analyzing obfuscated content for malware
US9781144B1 (en) Determining duplicate objects for malware analysis using environmental/context information
US10303873B2 (en) Device for detecting malware infected terminal, system for detecting malware infected terminal, method for detecting malware infected terminal, and program for detecting malware infected terminal
JP6711000B2 (ja) 情報処理装置、ウィルス検出方法及びプログラム
US20150047034A1 (en) Composite analysis of executable content across enterprise network
US10313370B2 (en) Generating malware signatures based on developer fingerprints in debug information
US11366907B2 (en) Malware analysis device, malware analysis method, and storage medium having malware analysis program contained therein
KR20150124370A (ko) 악성 프로세스 행동을 검출하기 위한 방법, 장치 및 시스템
CN108337266B (zh) 一种高效的协议客户端漏洞发掘方法与系统
JP6717206B2 (ja) マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラム
KR20110008854A (ko) 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체
US20160110544A1 (en) Disabling and initiating nodes based on security issue
WO2019026310A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN112073437A (zh) 多维度的安全威胁事件分析方法、装置、设备及存储介质
JP6282217B2 (ja) 不正プログラム対策システムおよび不正プログラム対策方法
WO2017080424A1 (zh) 一种基于局域网的安全检测方法和装置
WO2022137883A1 (ja) 攻撃情報生成装置、制御方法、及び非一時的なコンピュータ可読媒体
JP6258189B2 (ja) 特定装置、特定方法および特定プログラム
US10250625B2 (en) Information processing device, communication history analysis method, and medium
JP5386015B1 (ja) バグ検出装置およびバグ検出方法
KR101934381B1 (ko) 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버
JP7211482B2 (ja) 履歴出力装置、制御方法、及びプログラム
KR101753846B1 (ko) 사용자 맞춤형 로그 타입을 생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN112905534B (zh) 一种基于沙箱环境的样本分析方法和装置
WO2022195739A1 (ja) 活動痕跡抽出装置、活動痕跡抽出方法および活動痕跡抽出プログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022571953

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18269361

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21910036

Country of ref document: EP

Kind code of ref document: A1