WO2019163154A1 - ルール生成装置およびルール生成プログラム - Google Patents

ルール生成装置およびルール生成プログラム Download PDF

Info

Publication number
WO2019163154A1
WO2019163154A1 PCT/JP2018/023568 JP2018023568W WO2019163154A1 WO 2019163154 A1 WO2019163154 A1 WO 2019163154A1 JP 2018023568 W JP2018023568 W JP 2018023568W WO 2019163154 A1 WO2019163154 A1 WO 2019163154A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
attack
log
information
common
Prior art date
Application number
PCT/JP2018/023568
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 US16/960,727 priority Critical patent/US20200342095A1/en
Publication of WO2019163154A1 publication Critical patent/WO2019163154A1/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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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

  • the present invention relates to a technique for generating an attack detection rule.
  • Patent Document 1 discloses a technique for creating a detection rule in order to detect the characteristics of an attack from a log.
  • common features are extracted from logs obtained based on the execution results of a plurality of malware, and temporary detection rules are created. Then, the number of false detections for normal software is measured using the provisional detection rule, and whether or not the provisional detection rule can be adopted is determined according to the number of false detections.
  • Patent Document 1 With the technique disclosed in Patent Document 1, it is not possible to extract features common to each attack. Specifically, the number of appearances or periodicity cannot be extracted. For example, a large number of accesses to a specific destination accessed by a normal user cannot be extracted as a feature. In addition, there is a possibility that an uncharacteristic feature of the attack is extracted due to a change in parameters according to the environment or conditions. For example, in order to create a detection rule for an attack that accesses a specific destination in a large amount, a large amount of access is made to a specific terminal A in the information system, and a log is collected. In this case, the original characteristic of the attack is “a large amount of access regardless of the destination terminal”. However, there is a possibility that an erroneous feature “accessing a large amount of terminal A” may be extracted.
  • An object of the present invention is to be able to generate an attack detection rule based on information common to a plurality of attack log data.
  • the rule generation device of the present invention By classifying one or more pieces of log information included in the attack log data for each attack log data according to a value set of the value of the first element and the value of the second element, A classification unit for generating a log information group; For each log information group, an aggregation unit that generates aggregated data by aggregating one or more pieces of log information included in the log information group; An extraction unit that extracts common information from a plurality of aggregated data corresponding to the plurality of attack log data, for each value set common to the plurality of attack log data among one or more value sets; A generating unit that generates one or more attack detection rules based on one or more pieces of common information.
  • an attack detection rule can be generated based on information common to a plurality of attack log data.
  • FIG. 1 is a configuration diagram of a rule generation system 200 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a rule generation device 100 according to Embodiment 1.
  • FIG. 5 is a flowchart of a rule generation method according to the first embodiment. The figure which shows the attack log file 300 in Embodiment 1.
  • FIG. 5 shows a second element list 310 in the first embodiment.
  • 5 is a flowchart of aggregation processing (S130) in the first embodiment.
  • FIG. 6 is a diagram showing an alternative value list 320 in the first embodiment.
  • FIG. 6 is a diagram showing an aggregate file 330 according to the first embodiment.
  • FIG. 7 is a flowchart of step S144 in the first embodiment.
  • FIG. 4 is a diagram showing a common file 340 according to the first embodiment.
  • FIG. 5 is a flowchart of step S151 in the first embodiment.
  • FIG. 5 shows a provisional detection rule file 350 in the first embodiment.
  • FIG. 6 shows an analysis result file 360 in the first embodiment.
  • FIG. 3 is a configuration diagram of an attack execution environment 210 in the first embodiment.
  • FIG. 5 shows configuration information of a user terminal 211 in the first embodiment.
  • FIG. 3 shows attack means in the first embodiment.
  • 10 is a flowchart of a rule generation method according to the second embodiment.
  • FIG. 10 shows a common file 340 in the second embodiment.
  • FIG. 10 is a flowchart of a rule generation method according to the third embodiment.
  • 10 is a flowchart of extraction processing (S340) in the third embodiment.
  • FIG. 10 is a flowchart of step S351 in the third embodiment.
  • FIG. 18 shows a definition file 370 in the fourth embodiment.
  • FIG. 10 is a flowchart of a rule generation method according to the fourth embodiment.
  • 10 is a flowchart of aggregation processing (S430) in the fourth embodiment.
  • 10 is a flowchart of step S444 in the fourth embodiment.
  • FIG. 15 is a flowchart of step S151 in the fourth embodiment.
  • FIG. 10 is a configuration diagram of a rule generation device 100 according to a fifth embodiment.
  • FIG. 6 is a configuration diagram of an attack execution environment 210 in the fifth embodiment.
  • 10 is a flowchart of acquisition processing (S500) in the fifth embodiment.
  • Embodiment 1 An embodiment for generating an attack detection rule will be described with reference to FIGS.
  • the rule generation system 200 includes a rule generation device 100, an attack execution environment 210, and a log analysis device 220.
  • the rule generation device 100 communicates with the attack execution environment 210 and the log analysis device 220.
  • the attack execution environment 210 is an environment for obtaining the attack log file 300.
  • the attack execution environment 210 is also called a log acquisition environment.
  • the rule generation device 100 generates a temporary detection rule file 350 based on the attack log file 300 obtained by the attack execution environment 210.
  • the log analysis device 220 is a device for analyzing the temporary detection rule file 350.
  • the rule generation device 100 generates an attack detection rule based on the analysis result file 360 obtained by the log analysis device 220.
  • the rule generation device 100 is a computer including hardware such as a processor 101, a memory 102, an auxiliary storage device 103, and a communication device 104. These hardwares are connected to each other via signal lines.
  • the processor 101 is an IC (Integrated Circuit) that performs arithmetic processing, and controls other hardware.
  • the processor 101 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
  • the memory 102 is a volatile storage device.
  • the memory 102 is also called main memory or main memory.
  • the memory 102 is a RAM (Random Access Memory).
  • Data stored in the memory 102 is stored in the auxiliary storage device 103 as necessary.
  • the auxiliary storage device 103 is a nonvolatile storage device.
  • the auxiliary storage device 103 is a ROM (Read Only Memory), a HDD (Hard Disk Drive), or a flash memory. Data stored in the auxiliary storage device 103 is loaded into the memory 102 as necessary.
  • the communication device 104 is a receiver and a transmitter.
  • the communication device 104 is a communication chip or a NIC (Network Interface Card).
  • the rule generation device 100 includes elements such as a reception unit 111, a classification unit 112, an aggregation unit 113, an extraction unit 114, and a generation unit 115. These elements are realized by software.
  • the auxiliary storage device 103 stores a rule generation program for causing a computer to function as the reception unit 111, the classification unit 112, the aggregation unit 113, the extraction unit 114, and the generation unit 115.
  • the rule generation program is loaded into the memory 102 and executed by the processor 101.
  • the auxiliary storage device 103 stores an OS (Operating System). At least a part of the OS is loaded into the memory 102 and executed by the processor 101. That is, the processor 101 executes the rule generation program while executing the OS.
  • Data obtained by executing the rule generation program is stored in a storage device such as the memory 102, the auxiliary storage device 103, a register in the processor 101, or a cache memory in the processor 101.
  • the auxiliary storage device 103 functions as the storage unit 120. However, another storage device may function as the storage unit 120 instead of the auxiliary storage device 103 or together with the auxiliary storage device 103.
  • the rule generation device 100 may include a plurality of processors that replace the processor 101.
  • the plurality of processors share the role of the processor 101.
  • the rule generation program can be recorded (stored) in a computer-readable manner on a nonvolatile recording medium such as an optical disk or a flash memory.
  • the operation of the rule generation device 100 corresponds to a rule generation method.
  • the procedure of the rule generation method corresponds to the procedure of the rule generation program.
  • step S ⁇ b> 110 the reception unit 111 receives the attack log file 300 from the attack execution environment 210. Then, the reception unit 111 stores the attack log file 300 in the storage unit 120.
  • the attack log file 300 will be described with reference to FIG.
  • the attack log file 300 includes a plurality of attack log data.
  • a plurality of attack log data is obtained by performing a plurality of attack activities.
  • the attack log file 300 in FIG. 4 includes four attack log data. When attack log data is not specified, each is called attack log data 301.
  • the attack log data 301 includes attack means No. And attack time and one or more log information.
  • Attack means No. Is a number for identifying the attack means.
  • the attack time is the length of time that the attack was performed.
  • the log information 302 has respective values of one or more elements.
  • the value of each element is called an element value.
  • the log information 302 in FIG. 4 has element values for each element such as a log type, an acquisition source host, and an ID (identifier).
  • the log type is the type of the log information 302.
  • TYPE means a log type.
  • An example of the log type is a terminal event.
  • the acquisition source host is the host that acquired the log.
  • “HOST” means an acquisition source host.
  • An example of the acquisition source host is host PC_V1.
  • ID is an identifier for identifying a terminal event.
  • step S120 the classification unit 112 sets one or more pieces of log information 302 included in the attack log data 301 for each of the plurality of attack log data 301 as the first element value and the second element value. Sort by value pairs. Thereby, the classification unit 112 generates one or more log information groups for each attack log data 301.
  • the log information group is one or more pieces of log information 302 having the same first element value and the same second element value. Details of the classification process (S120) will be described later.
  • step S ⁇ b> 130 the aggregating unit 113 aggregates one or more log information 302 included in the log information group for each log information group of the plurality of attack log data 301. Thereby, the aggregation unit 113 generates aggregated data for each log information group.
  • the aggregated data indicates characteristics of one or more pieces of log information 302 included in the log information group. Details of the aggregation process (S130) will be described later.
  • step S140 the extraction unit 114 extracts common information from a plurality of aggregated data corresponding to the plurality of attack log data 301 for each value set common to the plurality of attack log data 301 among one or more value sets.
  • the common information is information common to a plurality of aggregate data corresponding to the plurality of attack log data 301. Details of the extraction process (S140) will be described later.
  • step S150 the generation unit 115 generates one or more attack detection rules based on the one or more common information extracted in step S140.
  • the attack detection rule indicates the feature of the attack activity. Details of the generation process (S150) will be described later. If the common information is not extracted in step S140, since the common feature cannot be extracted from the accepted attack log file 300 for the plurality of attack log data 301 regarding the same attack activity, the process of the rule generation method ends.
  • step S ⁇ b> 121 the classification unit 112 selects one unselected attack log data 301 from the attack log file 300. For example, the classification unit 112 selects the attack log data 301A from the attack log file 300 in FIG.
  • Steps S122 to S125 are executed for the attack log data 301 selected in step S121.
  • step S122 the classification unit 112 classifies one or more pieces of log information 302 included in the attack log data 301 by first element value.
  • the first element value is the value of the first element.
  • the classification unit 112 generates one or more temporary information groups for each first element value.
  • the temporary information group is one or more pieces of log information 302 having the same first element value.
  • the first element of the attack log data 301A is a log type (TYPE).
  • the attack log data 301A includes 100 pieces of log information 302A.
  • the log type is a terminal event.
  • the classification unit 112 generates one temporary information group. This temporary information group is 100 pieces of log information 302 whose log type is a terminal event.
  • step S123 the classification unit 112 selects a second element corresponding to the first element value for each temporary information group. Specifically, the classification unit 112 acquires a second element corresponding to the first element value from the second element list 310.
  • the second element list 310 will be described based on FIG.
  • the second element list 310 shows the second element corresponding to each first element value.
  • the log type is the first element
  • the log type value is the first element value
  • the classification axis is the second element.
  • the classification unit 112 acquires a classification axis corresponding to the terminal event from the second element list 310.
  • the acquired classification axis is the acquisition source host and ID.
  • Each of the acquisition source host and the ID is a second element.
  • step S124 the classification unit 112 classifies one or more pieces of log information 302 included in the attack log data 301 according to value sets of the first element value and the second element value.
  • the second element value is the value of the second element.
  • the classification unit 112 generates one or more log information groups for each value set of the first element value and the second element value.
  • the log information group is one or more pieces of log information 302 having the same first element value and the same second element value.
  • the first element of the attack log data 301A is a log type (TYPE).
  • the attack log data 301A includes 100 pieces of log information 302A.
  • the log type is a terminal event.
  • the second element list 310 of FIG. 6 the second element corresponding to the terminal event is the acquisition source host and ID.
  • the acquisition source host (HOST) is PC_V1
  • the ID is 1234.
  • the classification unit 112 generates one log information group. This log information group is 100 pieces of log information 302 whose log type is a terminal event, whose acquisition source host is PC_V1, and whose ID is 1234.
  • step S125 the classification unit 112 determines whether there is unselected attack log data.
  • the attack log data 301 not selected in step S125 is referred to as unselected data. If there is unselected data, the process proceeds to step S121. If there is no unselected data, the process ends.
  • step S131 the aggregation unit 113 selects one unselected log information group from each log information group of the plurality of attack log data 301.
  • Steps S132 to S138 are executed for the log information group selected in step S131.
  • step S132 the aggregation unit 113 counts the number of log information 302 included in the log information group.
  • step S133 the aggregating unit 113 aggregates one or more pieces of log information 302 included in the log information group. Thereby, the aggregating unit 113 generates aggregated data.
  • the aggregating unit 113 generates aggregated data as follows.
  • the aggregation unit 113 acquires the data identifier of the attack log data 301 corresponding to the log information group. Specifically, the aggregating unit 113 uses the attack means No. To extract.
  • the aggregation unit 113 extracts the first element value and the second element value from any log information 302 in the log information group.
  • the extracted first element value is common to all the log information 302 included in the log information group.
  • the extracted second element value is common to all the log information 302 included in the log information group.
  • the aggregation unit 113 generates data including the data identifier, the first element value, the second element value, and the number of log information 302.
  • the generated data is aggregated data.
  • step S134 the aggregation unit 113 determines whether the second element value matches the replacement target value.
  • the replacement target value is a value to be replaced with a replacement value.
  • the substitute value is a value that is a substitute for the replacement target value.
  • the aggregation unit 113 performs the determination as follows.
  • An alternative value list 320 is stored in the storage unit 120 in advance.
  • the substitute value list 320 associates one or more substitute values with one or more replacement target values.
  • the aggregation unit 113 determines whether a replacement target value that matches the second element value is included in the replacement value list 320.
  • the substitute value list 320 will be described with reference to FIG.
  • the alternative value list 320 includes an attack means No. , One or more substitute values, and one or more replacement target values are associated with each other.
  • the attack log data 301A includes 100 pieces of log information 302A.
  • the log information group of the attack log data 301A is 100 pieces of log information 302A.
  • the first element value is “terminal event”.
  • the second element list 310 of FIG. 6 the second element corresponding to the “terminal event” is the acquisition source host (HOST) and the ID, respectively.
  • the second element values are “PC_V1” and “1234”, respectively.
  • the aggregating unit 113 receives the attack means No. from the alternative value list 320 of FIG. Four replacement target values corresponding to “1-1” are selected.
  • the four replacement target values to be selected are “PC_A1”, “PC_V1”, “192.168.1.1”, and “192.168.1.101”. Then, the aggregation unit 113 determines whether or not the four replacement target values selected include replacement target values that match the second element value.
  • the second element value “1234” does not match any of the four replacement target values, but the second element value “PC_V1” matches the replacement target value “PC_V1”. In this case, the aggregation unit 113 determines that the second element value matches the replacement target value.
  • step S135 the aggregation unit 113 replaces the second element value in the aggregated data with an alternative value.
  • the aggregation unit 113 performs the replacement as follows. First, the aggregating unit 113 extracts an alternative value corresponding to the replacement target value that matches the second element value from the alternative value list 320. Then, the aggregation unit 113 replaces the second element value in the aggregated data with an alternative value.
  • step S136 the aggregation unit 113 determines whether there is an unselected log information group.
  • the unselected log information group is referred to as an unselected group. If there is an unselected group, the process proceeds to step S131. If there is no unselected group, the process ends.
  • the aggregate file 330 includes aggregated data for each log information group.
  • the aggregation unit 113 generates an aggregation file 330 using the aggregation data of each log information group, and stores the aggregation file 330 in the storage unit 120.
  • Each aggregated data includes attack means No. Log type, classification axis, and number of appearances.
  • Attack means No. Corresponds to the data identifier of the attack log data 301 corresponding to the log information group.
  • the log type corresponds to the first element
  • the log type value corresponds to the first element value.
  • the classification axis corresponds to the second element
  • the value of the classification axis corresponds to the second element value.
  • the number of appearances corresponds to the number of log information 302 included in the log information group.
  • Attack means No. In the aggregated data with “1-1”, the original value of the acquisition source host was “PC_V1”. In the alternative value list 320 of FIG. 8, “PC_V1” is a replacement target value, and the alternative value corresponding to “PC_V1” is “victim_host”. Therefore, attack means no. In the aggregated data whose reference is “1-1” (see FIG. 9), the value of the acquisition source host is replaced with “victim_host”.
  • step S 140 the extraction process (S140) will be described.
  • step S ⁇ b> 141 the extraction unit 114 searches the aggregate file 330 to find a value set common to the plurality of attack log data 301.
  • the value set is a set of a first element value and a second element value.
  • a value set common to a plurality of attack log data 301 is referred to as a common value set.
  • step S142 the extraction unit 114 determines whether there is a common value set based on the search result. If there is a common value set, the process proceeds to step S143. If there is no common value set, the process ends.
  • each of the four aggregate data has a common first element value “terminal event” and a common second element value “victim_host” “1234”. Therefore, the set of the first element value “terminal event” and the second element value “victim_host” “1234” is a common value set.
  • step S143 the extraction unit 114 selects one unselected common value set.
  • Step S144 is executed for the common value set selected in step S143.
  • step S144 the extraction unit 114 generates common data based on a plurality of aggregate data corresponding to the common value set.
  • Each of the plurality of aggregated data includes a common value set.
  • the common data includes common information. Details of step S144 will be described later.
  • step S145 the extraction unit 114 determines whether there is an unselected common value set.
  • the unselected common value set is referred to as an unselected set. If there is an unselected set, the process proceeds to step S143. If there is no unselected set, the process ends.
  • step S144 the extraction unit 114 determines a representative value of the number of log information based on the plurality of log information numbers included in the plurality of aggregated data.
  • the number of log information is the number of log information 302.
  • the extraction unit 114 selects the minimum number of log information from the plurality of log information numbers.
  • the number of log information selected is a representative value.
  • the extraction unit 114 may determine a value other than the minimum number of log information as the representative value. For example, the extraction unit 114 may determine the maximum number of log information or the average of the number of log information as a representative value.
  • the number of log information of any of the four aggregated data is 100.
  • the extraction unit 114 determines 100 as the representative value of the number of log information.
  • step S1442 the extraction unit 114 extracts common information from a plurality of aggregated data. Specifically, the extraction unit 114 extracts the first element value and the second element value.
  • step S1443 the extraction unit 114 determines whether the substitute value is included in the common information. If the alternative value is included in the common information, the process proceeds to step S1444. If the alternative value is not included in the common information, the process proceeds to step S1445.
  • step S1444 the extraction unit 114 deletes the substitute value from the common information.
  • the extracting unit 114 may change the substitute value in the common information to “any value that can be taken by the element including the substitute value” instead of deleting the substitute value from the common information.
  • the arbitrary value “ANY” represents an arbitrary value in a range of values that the element name can take.
  • step S1445 the extraction unit 114 generates data including common information and a representative value of the number of log information.
  • the generated data is common data.
  • the extracting unit 114 stores the common data in the storage unit 120.
  • the common file 340 will be described based on FIG.
  • the common file 340 includes one or more common data.
  • the extraction unit 114 generates a common file 340 and stores the common file 340 in the storage unit 120.
  • the common file 340 in FIG. 12 includes one piece of common data.
  • the common data includes common information and the number of appearances.
  • the common information includes a log type value and a classification axis value.
  • the value of the log type corresponds to the first element value.
  • the value of the classification axis corresponds to the second element value.
  • the number of appearances corresponds to the representative value of the number of log information.
  • step S151 the generation unit 115 generates a temporary detection rule for each common information.
  • the provisional detection rule is a candidate for an attack detection rule.
  • step S ⁇ b> 1511 the generation unit 115 determines representative values of a plurality of attack times corresponding to the plurality of attack log data 301.
  • the generation unit 115 acquires a plurality of attack times from the plurality of attack log data 301 and selects the longest attack time from the plurality of attack times.
  • the attack time selected is a representative value.
  • the generation unit 115 may determine an attack time other than the longest attack time as a representative value.
  • the generation unit 115 may determine the shortest attack time or the average of the attack times as a representative value.
  • the longest attack time is 15 seconds.
  • the generation unit 115 determines 15 seconds as the representative value of the attack time.
  • step S1512 the generation unit 115 selects one common data that has not been selected.
  • Step S1513 is executed for the common data selected in step S1512.
  • step S1513 the generation unit 115 generates a temporary detection rule based on the common data and the representative value of the attack time.
  • the provisional detection rule includes common information, a representative value of the number of log information, and a representative value of attack time.
  • step S1514 the generation unit 115 determines whether there is unselected common data.
  • the unselected common data is referred to as unselected data. If there is unselected data, the process proceeds to step S1512. If there is no unselected data, the process ends.
  • the temporary detection rule file 350 includes one or more temporary detection rules.
  • the generation unit 115 generates a temporary detection rule file 350 and stores the temporary detection rule file 350 in the storage unit 120.
  • the temporary detection rule file 350 in FIG. 15 includes one temporary detection rule.
  • the common file 340 in FIG. 12 includes one piece of common data. In this common data, the common information is “terminal event” “1234”, and the representative value of the number of log information is “100”. In the attack log file 300 of FIG. 4, the representative value of the attack time is “15 seconds”. In the temporary detection rule file 350 of FIG. 15, the temporary detection rule includes these values. This provisional detection rule indicates a condition that “log information whose log type is a terminal event and whose ID is 1234 appears 100 times within 15 seconds”.
  • step S152 the generation unit 115 acquires the number of detections for each temporary detection rule.
  • the number of detections is the number of times an event corresponding to the provisional detection rule is detected.
  • the generation unit 115 transmits the temporary detection rule file 350 to the log analysis device 220 and receives the analysis result file 360 from the log analysis device 220.
  • the analysis result file 360 indicates the number of detections of each temporary detection rule.
  • the number of detections is the number of times that an event corresponding to the provisional detection rule occurs within a certain time.
  • the number of detections corresponds to the number of times log information about an event corresponding to the provisional detection rule appears within a certain time.
  • step S153 the generation unit 115 selects a provisional detection rule corresponding to the number of detections that satisfy the employment condition.
  • the selected temporary detection rule is adopted as the attack detection rule.
  • the employment condition is a condition for the number of detections and is determined in advance.
  • the employment condition indicates a threshold value. Then, the generation unit 115 selects a provisional detection rule whose number of detection is smaller than the threshold value as an attack detection rule.
  • the analysis result file 360 in FIG. 16 includes one temporary detection rule. The number of detections of this temporary detection rule is 10. When the threshold value indicated by the employment condition is 15, the number of detections of this temporary detection rule is smaller than the threshold value. Therefore, the generation unit 115 selects this temporary detection rule as an attack detection rule.
  • the attack execution environment 210 executes a plurality of attack means and collects log information 302.
  • the attack execution environment 210 includes one or more components that can execute an attack according to each attack means.
  • the attack execution environment 210 has a function of collecting log information 302 generated in each component when each attack means is executed.
  • the attack execution environment 210 has a function of measuring the attack time.
  • the attack time is an elapsed time from the start of the execution of the attack means until the end of the execution of the attack means.
  • the attack means is a specific means for carrying out an attack activity. That is, the attack means embodies information such as an attack source, an attack destination, and an attack content in order to perform an attack activity. For example, as an attack means of the attack activity “login password brute force attack”, there is a means for “attempting login 100 times from host A to host B with different passwords”.
  • the attack means need only have an element that embodies at least some implementation means for the attack activity.
  • the attack means may be a means for “implementing a brute force attack of the login password from the host A”. Further, the attack means may be a means for “trying 100 logins from the host A to the host B with different passwords using the tool C”.
  • the attack execution environment 210 can be configured by a simulated information system that simulates part or all of a general information system.
  • the attack execution environment 210 includes one or more user terminals 211. Further, the attack execution environment 210 includes a firewall 212, a proxy server 213, an intrusion detection device 214, a communication simulation device 215, a log analysis device 216, and a time measurement device 217.
  • Each user terminal 211, firewall 212, proxy server 213, intrusion detection device 214, and log analysis device 216 are connected to each other.
  • the communication simulation device 215 is connected to other components via the firewall 212.
  • the communication simulation device 215 simulates communication between the attack execution environment 210 and the outside. Specifically, the communication simulation device 215 returns a pseudo response to a component that attempts communication with the outside of the attack execution environment 210. In addition, the communication simulation device 215 generates pseudo communication from the outside to the attack execution environment 210.
  • the communication simulation device 215 can be realized by existing technology.
  • the log analysis device 216 collects a plurality of types of log information 302 generated by the information system and analyzes the plurality of types of log information 302.
  • SIEM Security Information and Event Management
  • the time measuring device 217 measures the attack time.
  • Each element constituting the simulated information system is in a state in which an operation caused by execution of the attack means can be recorded as log information 302 as much as possible.
  • each user terminal 211 records terminal event log information 302 regarding a logon attempt or access to data.
  • the intrusion detection device 214 records alert information generated by the execution of the attack means as the log information 302.
  • the configuration of the attack execution environment 210 is not necessarily the configuration shown in FIG. That is, element addition or element deletion may be performed as necessary. Further, the attack execution environment 210 may not include the communication simulation device 215, and the attack execution environment 210 may be connected to the outside. The outside is, for example, the Internet.
  • the attack execution environment 210 need not be a simulated information system as long as it has a function of collecting the log information 302 and a function of measuring the attack time. For example, a part or all of an actual information system may be used as the attack execution environment 210. Alternatively, a virtual device capable of reproducing response and log information equivalent to the response and log information in an actual information system may be used as the attack execution environment 210. A combination of these may be used as the attack execution environment 210.
  • FIG. 18 shows configuration information of each user terminal 211 as an example of configuration information related to the components of the attack execution environment 210.
  • each of the first terminal to the fourth terminal means a user terminal 211.
  • the configuration information of the user terminal 211 has a host name and an IP address. IP is an abbreviation for Internet Protocol.
  • FIG. 19 shows an example of attack means.
  • the first attack activity is “login password brute force”.
  • Four attack means for the first attack activity are shown in FIG. In the four attack means, the pairs of the attack source and the attack destination are different from each other.
  • the attack log file 300 of FIG. 4 it is an example of the attack log file obtained by execution of the four attack means shown in FIG.
  • the user may perform the attack activity according to the attack means, or the attack activity may be performed using an attack device.
  • the attack device is a device that performs an attack activity according to attack means.
  • the attack device is provided in the attack execution environment 210.
  • the log analysis device 220 is the same device as the log analysis device 216 of the attack execution environment 210. That is, the log analysis device 220 collects a plurality of types of log information generated by the information system and analyzes the plurality of types of log information. The log analysis device 220 receives the temporary detection rule file 350 from the rule generation device 100 and detects that an event that matches each temporary detection rule included in the temporary detection rule file 350 has occurred. Occurrence of an event that matches the temporary detection rule is called detection by the temporary detection rule. In addition, setting a state in which detection by the temporary detection rule can be performed is referred to as application of the temporary detection rule.
  • the log analyzer 220 records the number of times that an event that matches the applied temporary detection rule has occurred. As long as the log analysis device 216 of the attack execution environment 210 has the above function, the same type of device as the log analysis device 216 may be used as the log analysis device 220. Further, another apparatus having the same function as the above function may be used as the log analysis apparatus 220.
  • the analysis result file 360 obtained by the log analyzer 220 is a result obtained by totaling the number of detections of the temporary detection rule applied to the normal log.
  • the normal log is log information generated by operating an environment having one or more components constituting the information system by some means other than attack means.
  • the normal log is log information that is generated while the user is using a corporate business system.
  • the normal log has the same configuration as the configuration in the attack execution environment 210, a configuration as similar as possible to the configuration in the attack execution environment 210, or a configuration capable of acquiring log information equivalent to the log information in the attack execution environment 210. It is desirable to obtain from the environment that has.
  • the normal log reproduces the log information when an environment having one or more components constituting the information system is used for the original purpose, or the log information when the environment is used for the original purpose.
  • Log information is desirable. For example, assume that the environment is a business system of a company. The original purpose of a business system is to be used for business by a user. Therefore, it is desirable that the normal log is log information generated while the user uses the business system for business, or log information that reproduces the log information. However, log information when the normal log is used for the original purpose in an environment having one or more components constituting the information system, or log information when the environment is used for the original purpose. It is not essential that the log information is reproduced.
  • One or more provisional detection rules based on features common to the plurality of attack means can be generated using the attack log file 300 obtained by executing the plurality of attack means as an input.
  • a provisional detection rule that satisfies a certain number of detections based on the normal log can be obtained as an attack detection rule. This eliminates the need for the worker to specify where and in what form the features of the attack activity different from the normal activity remain in the monitoring target in order to obtain the attack detection rule. Therefore, an operator having only general knowledge can create an attack detection rule.
  • Embodiment 2 With respect to an embodiment in which one temporary detection rule is generated based on a plurality of common information, differences from the first embodiment will be mainly described with reference to FIGS.
  • the configuration of the rule generation system 200 is the same as that in the first embodiment (see FIG. 1).
  • the configuration of the rule generation device 100 is the same as that in the first embodiment (see FIG. 2).
  • Steps S210 to S240 are the same as steps S110 to S140 in the first embodiment (see FIG. 3).
  • step S250 the generation unit 115 generates one or more attack detection rules based on the plurality of common information extracted in step S240.
  • the common information is not extracted in step S240, the common rule cannot be extracted from the accepted attack log file 300 for the plurality of attack log data 301 related to the same attack activity, so the process of the rule generation method ends.
  • step S251 The generation process (S250) will be described based on FIG.
  • step S251 the generation unit 115 generates a provisional detection rule for each set of common information. Details of step S251 will be described later.
  • Step S252 and step S253 are the same as step S152 and step S153 in the first embodiment (see FIG. 13).
  • Step S251 will be described with reference to FIG.
  • the generation unit 115 determines a representative value of the attack time.
  • Step S2511 is the same as step S1511 in the first embodiment (see FIG. 14).
  • step S2512 the generation unit 115 selects one unselected common data set from one or more common data sets obtained from a plurality of common data.
  • a common data set is two or more common data.
  • the common data set is two common data.
  • the common data set may be three or more common data.
  • the common file 340 will be described based on FIG.
  • the common file 340 includes two or more common data.
  • the common file 340 in FIG. 23 includes two common data.
  • the generation unit 115 selects two common data as a common data set.
  • Step S2513 is executed for the common data set selected in step S2512.
  • step S2513 the generation unit 115 generates a temporary detection rule based on the common data set and the representative value of the attack time.
  • the provisional detection rule includes a representative value of attack time, common information of each common data of the common data set, and representative values of log information.
  • step S2514 the generation unit 115 determines whether there is an unselected common data set.
  • the unselected common data set is referred to as an unselected set. If there is an unselected set, the process proceeds to step S2512. If there is no unselected set, the process ends.
  • the temporary detection rule file 350 will be described based on FIG.
  • the temporary detection rule file 350 in FIG. 24 includes one temporary detection rule.
  • This provisional detection rule indicates a condition that “condition (A) and condition (B) are satisfied within 15 seconds”.
  • the condition (A) is a condition based on the first common data in the common file 340 in FIG. Specifically, the condition (A) is a condition that “the log type is a terminal event and the log information whose ID is 1234 has appeared 100 times”.
  • the condition (B) is a condition based on the second common data in the common file 340 in FIG. Specifically, the condition (B) is a condition that “the log type is proxy and the log information whose transmission source IP is 192.168.1.50 appears 10 times”.
  • Embodiment 2 By combining a plurality of pieces of common information, provisional detection rules for more severe conditions can be generated. And the attack detection rule about a severer condition can be produced
  • Embodiment 3 With respect to the form for generating the provisional detection rule including the condition of the appearance cycle, differences from the first embodiment will be mainly described with reference to FIGS.
  • the configuration of the rule generation system 200 is the same as that in the first embodiment (see FIG. 1).
  • the configuration of the rule generation device 100 is the same as that in the first embodiment (see FIG. 2).
  • Steps S310 to S330 are the same as steps S110 to S130 in the first embodiment (see FIG. 3).
  • step S340 the extraction unit 114 extracts common information from a plurality of aggregated data for each common value set. Details of the extraction process (S340) will be described later.
  • step S350 the generation unit 115 generates one or more attack detection rules based on the one or more common information extracted in step S340.
  • the common information is not extracted in step S340, the common rule cannot be extracted from the accepted attack log file 300 for the plurality of attack log data 301 related to the same attack activity, so the process of the rule generation method ends. Details of the generation process (S350) will be described later.
  • step S340 The extraction process (S340) will be described based on FIG.
  • the procedure from step S341 to step S345 is the same as step S1 in the first embodiment. 41 to step S145. However, part of the processing in step S344 is different from the processing in step S144 in the first embodiment.
  • step S344 the extraction unit 114 generates common data based on a plurality of aggregate data corresponding to the common value set.
  • Step S344 will be described with reference to FIG. Steps S3441 to S3446 are the same as steps S1441 to S1446 in Embodiment 1 (see FIG. 11).
  • step S3446 the extraction unit 114 calculates the appearance period of the log information 302.
  • the extraction unit 114 calculates the appearance period of the log information 302 as follows. Each log information 302 includes an appearance time. For each attack log data 301, the extraction unit 114 calculates an average and a variance for the appearance intervals of the log information 302 based on the appearance times of the one or more pieces of log information 302. The calculated average and variance correspond to the appearance period. However, the extraction unit 114 may calculate a statistical value other than the average and the variance as the appearance period.
  • step S3447 the extraction unit 114 determines whether the appearance period of the log information 302 satisfies the periodic condition.
  • the period condition is a condition for the appearance period of the log information 302 and is determined in advance.
  • the extraction unit 114 performs determination as follows.
  • the extraction unit 114 compares the averages of the attack log data 301 for the appearance intervals of the log information 302, and calculates the average difference.
  • the average difference is the difference between the minimum average and the maximum average.
  • the extraction unit 114 compares the variance of each attack log data 301 with respect to the appearance interval of the log information 302, and calculates a variance difference.
  • the difference in variance is the difference between the minimum variance and the maximum variance.
  • the extraction unit 114 compares the average difference with the average threshold value, and compares the variance difference with the distribution threshold value. When the average difference is equal to or less than the average threshold value and the variance difference is equal to or less than the threshold value for distribution, the extraction unit 114 determines that the appearance period of the log information 302 satisfies the periodic condition.
  • step S3448 If the appearance cycle of the log information 302 satisfies the cycle condition, the process proceeds to step S3448. If the appearance cycle of the log information 302 does not satisfy the cycle condition, the process ends.
  • step S3448 the extraction unit 114 adds the appearance period of the log information 302 to the common data.
  • step S350 The generation process (S350) will be described based on FIG.
  • step S351 the generation unit 115 generates a temporary detection rule for each set of common information. Details of step S351 will be described later.
  • Step S352 and step S353 are the same as step S152 and step S153 in the first embodiment (see FIG. 13).
  • Step S351 will be described with reference to FIG. Steps S3511 to S3513 are the same as steps S1511 to S1513 in Embodiment 1 (see FIG. 14).
  • step S3514 the generation unit 115 determines whether the common data includes an appearance cycle. If the common data includes the appearance cycle, the process proceeds to step S3515. If the common data does not include the appearance cycle, the process proceeds to step S3516.
  • step S3515 the generation unit 115 generates an additional rule based on the appearance period.
  • the additional rule is a rule added to the main rule.
  • the main rules are temporary detection rules and attack detection rules.
  • the generation unit 115 generates additional rules as follows.
  • the generation unit 115 generates the log information appearance interval based on at least one of the average of the attack log data 301 for the appearance interval of the log information 302 and the distribution of the attack log data 301 for the appearance interval of the log information 302. Determine the acceptable range.
  • generation part 115 produces
  • the generated rule is an additional rule. This additional rule indicates a condition that “the appearance interval of each log information corresponding to the main rule is included in the allowable range”.
  • Step S3516 is the same as step S1514 in the first embodiment (see FIG. 14).
  • Embodiment 3 *** Effects of Embodiment 3 *** A rule about periodicity information can be added when a plurality of pieces of log information including common information have a common periodicity. This makes it possible to generate temporary detection rules and attack detection rules that represent more features of the attack means.
  • Embodiment 4 With respect to the form for generating the provisional detection rule based on the statistical value of the common information, differences from the first embodiment will be mainly described with reference to FIGS.
  • the configuration of the rule generation system 200 is the same as that in the first embodiment (see FIG. 1).
  • the configuration of the rule generation device 100 is the same as that in the first embodiment (see FIG. 2).
  • the definition file 370 is stored in the storage unit 120 in advance.
  • the definition file 370 associates log type values, identification element values, and value type information with each other.
  • the log type value is a log type value.
  • the log type value corresponds to the first element value.
  • the identification element value is one of element values included in the log information 302.
  • the value type information indicates the value type of each element.
  • the value type is the type of each element value included in the log information 302.
  • the value type is a discrete value or a continuous value.
  • a specific example of the discrete value is a character string.
  • the host name is a discrete value.
  • a specific example of the continuous value is a numerical value.
  • the data amount is a continuous value.
  • Step S410 and step S420 are the same as step S110 and step S120 in the first embodiment (see FIG. 3).
  • step S430 the aggregating unit 113 generates aggregated data for each log information group. Details of the aggregation processing (S430) will be described later.
  • step S440 the extraction unit 114 extracts common information from a plurality of aggregated data for each common value set. Details of the extraction process (S440) will be described later.
  • step S450 the generation unit 115 generates one or more attack detection rules based on the one or more common information extracted in step S440. If the common information is not extracted in step S450, the common rule cannot be extracted from the accepted attack log file 300 for a plurality of attack log data 301 relating to the same attack activity, and the process of the rule generation method ends. Details of the generation process (S450) will be described later.
  • step S431 the aggregation unit 113 selects one unselected log information group.
  • Steps S432 to S434 are executed for the log information group selected in step S431.
  • step S432 the aggregation unit 113 acquires value type information corresponding to the set of the first element value and the identification element value included in the log information group from the definition file 370. Specifically, the aggregation unit 113 acquires a combination of the first element value and the identification element value from the log information group, and acquires value type information corresponding to the acquired combination from the definition file 370.
  • step S433 the aggregation unit 113 acquires the aggregation information of each element from the log information group based on the value type information.
  • the aggregation unit 113 acquires the aggregation information of elements whose value type is a discrete value as follows.
  • the aggregating unit 113 acquires a set of element values from the log information group.
  • Information indicating a set of element values is aggregated information.
  • a set of element values is one or more element values.
  • the set of element values does not include a plurality of element values having the same value.
  • the value type of the source IP is a discrete value. Assume that the log information group includes three types of source IPs of “192.168.1.1”, “192.168.1.2”, and “192.168.1.3”. In this case, the aggregate information of the source IP indicates “192.168.1.1”, “192.168.1.2”, and “192.168.1.3”.
  • the aggregation unit 113 acquires the aggregation information of elements whose value type is a continuous value as follows. First, the aggregation unit 113 acquires each element value from the log information group. Next, the aggregation unit 113 groups the acquired one or more element values. Then, the aggregation unit 113 calculates a statistical value of each element value group. Information indicating the statistical value of each element value group is aggregate information. A specific example of a method for grouping is cluster analysis. A specific example of the statistical value is an average or a variance.
  • step S434 the aggregation unit 113 generates data including the aggregation information of each element.
  • the generated data is aggregated data.
  • step S435 the aggregation unit 113 determines whether there is an unselected log information group.
  • the unselected log information group is referred to as an unselected group. If there is an unselected group, the process proceeds to step S431. If there is no unselected group, the process ends.
  • step S440 the extraction process (S440) will be described.
  • the procedure from step S441 to step S445 is the same as the procedure from step S141 to step S145 in the first embodiment.
  • the process of step S441 is different from the process of step S141 in the first embodiment.
  • the process of step S444 is different from the process of step S144 in the first embodiment.
  • step S441 the extraction unit 114 finds a common value set from the aggregated file 330 of each attack log data 301 having the same identification element value. Specifically, the extraction unit 114 compares a plurality of values for each element included in the consolidated file 330 between the attack log data 301. Then, the extraction unit 114 extracts a value that is commonly included in all the attack log data 301. When the element value type is a discrete value, the extraction unit 114 compares the attack log data 301 with respect to whether or not the same element value is included in common. When the element value type is a continuous value, the extraction unit 114 extracts an element whose average and variance are within a certain range in each attack log data 301.
  • Step S444 will be described with reference to FIG.
  • the extraction unit 114 selects one or more elements from the aggregated data corresponding to the common value set. When there are a plurality of element values for each selected element, the extraction unit 114 selects one or more element values.
  • step S4442 the extraction unit 114 determines whether there is a continuous value element among the one or more selected elements. If there is a continuous value element among the one or more selected elements, the process advances to step S4443. If there is no continuous value element among the selected one or more elements, the process advances to step S4446.
  • step S4443 the extraction unit 114 extracts one or more pieces of log information 302 including the common value set from the log information group.
  • the extraction unit 114 extracts log information 302 including the common value set and the discrete value of the selected element from the log information group.
  • step S4444 the extraction unit 114 extracts one or more continuous values from the extracted one or more log information 302, and calculates a statistical value of the extracted one or more continuous values.
  • step S4445 the extraction unit 114 determines whether there is a significant difference between the calculated statistical value and at least one continuous value of the element selected in step S4441. If there is a significant difference, the process ends. If there is no significant difference, the process proceeds to step S4447.
  • step S4446 the extraction unit 114 extracts one or more log information 302 including the common value set and the selected value from the log information group.
  • the selection value is each element value selected in step S4441.
  • step S4447 the extraction unit 114 generates data including the common value set, the selection value, and the number of appearances.
  • the generated data is common data.
  • the number of appearances is a representative value of the number of log information for the log information group extracted in step S4443 or step S4446. As described in step S1441 (see FIG. 11) in the first embodiment, the specific representative value is the minimum number of log information.
  • step S4448 the extraction unit 114 deletes the substitute value from the common data when the substitute value is included in the common value set.
  • step S450 The generation process (S450) will be described based on FIG.
  • step S451 the generation unit 115 generates a temporary detection rule for each common information. Details of step S451 will be described later.
  • Step S452 and step S453 are the same as step S152 and step S153 in the first embodiment (see FIG. 13).
  • step S451 will be described. Steps S4511 and S4512 are the same as steps S1511 and S1512 in the first embodiment.
  • step S4513 the generation unit 115 determines whether the common information in the common data includes a continuous value. If a continuous value is included, the process proceeds to step S4514. If the continuous value is not included, the process proceeds to step S4515.
  • step S4514 the generation unit 115 generates a provisional detection rule based on the common data and the representative value of the attack time in consideration that the common information in the common data includes a continuous value.
  • the generation unit 115 indicates that “log information including the same value as the discrete value of the common information appears within the attack time (representative value) more than the number of appearances of the common information, and all the continuous values of the common information are A provisional detection rule that an event within the range is detected is generated.
  • the condition regarding the continuous value of the common information may be another condition. For example, some tolerance may be given to the continuous values of the common information.
  • step S4515 the generation unit 115 generates a provisional detection rule in consideration that the common information in the common data does not include a continuous value. Specifically, the generation unit 115 generates a temporary detection rule by the same method as the method in step S1513 of the first embodiment (see FIG. 14).
  • step S4516 the generation unit 115 determines whether there is unselected common data.
  • the unselected common data is referred to as unselected data. If there is unselected data, the process proceeds to step S4512. If there is no unselected data, the process ends.
  • Embodiment 5 With respect to the form for assisting the generation of the substitute value list 320, differences from the first embodiment will be mainly described with reference to FIGS.
  • the rule generation device 100 further includes an element called a registration unit 116.
  • the rule generation program further causes the computer to function as the registration unit 116.
  • the attack execution environment 210 further includes an attack device 218.
  • the attack device 218 performs an attack activity according to the attack means.
  • the attack device 218 can record an operation log.
  • the operation log is log information in which the result of the operation is recorded.
  • specific information related to the attack such as the attack source and the attack destination is described.
  • the format of the action log is known, and a value corresponding to the specified element name can be acquired from the action log.
  • the acquisition process (S500) is a process for acquiring one or more replacement target values, and is executed by the registration unit 116.
  • step S ⁇ b> 501 the registration unit 116 uses the attack device 218 to perform an attack activity corresponding to each attack means. Specifically, the registration unit 116 requests the attack device 218 to execute the attack. Then, the attack device 218 executes an attack activity according to each attack means.
  • step S502 the registration unit 116 acquires one or more operation logs generated by the execution of the attack activity from the attack device 218.
  • the registration unit 116 extracts one or more replacement target values from one or more operation logs. Specifically, the registration unit 116 extracts information described in the designated location from each operation log. The extracted information is the replacement target value.
  • the designated location is a specific location in the action log, and is designated based on the log format of the action log.
  • step S504 the registration unit 116 registers one or more replacement target values in the replacement value list 320.
  • the rule generation device 100 includes a processing circuit 109.
  • the processing circuit 109 is hardware that implements the reception unit 111, the classification unit 112, the aggregation unit 113, the extraction unit 114, the generation unit 115, and the storage unit 120.
  • the processing circuit 109 may be dedicated hardware or the processor 101 that executes a program stored in the memory 102.
  • the processing circuit 109 is dedicated hardware, the processing circuit 109 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • ASIC is an abbreviation for Application Specific Integrated Circuit
  • FPGA is Field Programmable Gate.
  • the rule generation device 100 may include a plurality of processing circuits that replace the processing circuit 109. The plurality of processing circuits share the role of the processing circuit 109.
  • processing circuit 109 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • the processing circuit 109 can be realized by hardware, software, firmware, or a combination thereof.
  • the embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present invention.
  • the embodiment may be implemented partially or in combination with other embodiments.
  • the procedure described using the flowchart and the like may be changed as appropriate.
  • rule generation device 101 processor, 102 memory, 103 auxiliary storage device, 104 communication device, 109 processing circuit, 111 reception unit, 112 classification unit, 113 aggregation unit, 114 extraction unit, 115 generation unit, 116 registration unit, 120 storage Part, 200 rule generation system, 210 attack execution environment, 211 user terminal, 212 firewall, 213 proxy server, 214 intrusion detection device, 215 communication simulation device, 216 log analysis device, 217 time measurement device, 218 attack device, 220 log analysis Device, 300 attack log file, 301 attack log data, 302 log information, 310 second element list, 320 substitute value list, 330 aggregated file, 340 common file, 350 temporary detection rule file 360 analysis result file, 370 definition file.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

分類部(112)は、複数の攻撃ログデータについて攻撃ログデータ毎に、攻撃ログデータに含まれる1つ以上のログ情報を第1要素の値と第2要素の値との値組別に分類することによって、1つ以上のログ情報グループを生成する。集約部(113)は、ログ情報グループ毎に、ログ情報グループに含まれる1つ以上のログ情報を集約することによって、集約データを生成する。抽出部(114)は、1つ以上の値組のうち前記複数の攻撃ログデータに共通する値組毎に、前記複数の攻撃ログデータに対応する複数の集約データから共通情報を抽出する。生成部(115)は、1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する。

Description

ルール生成装置およびルール生成プログラム
 本発明は、攻撃検知ルールを生成するための技術に関するものである。
 サイバー攻撃では、ログインパスワードの総当たり攻撃または不正な権限昇格などのさまざまな攻撃活動が実施される。
 セキュリティ監視では、これらの攻撃活動の痕跡を検知するための検知ルールが作成される。そして、情報システムで発生するログまたはセキュリティ製品から発せられるアラート情報などが検知ルールに合致するか分析される。検知ルールに合致する事象が発生した場合には、アラートがオペレータに通知され、対処される。
 攻撃活動のための新たな手法が日々発見されるため、検知ルールの作成は継続的に実施する必要がある。
 検知ルールを作成するためには、攻撃活動の痕跡が監視対象のどこに、どのような形で残るかを特定する必要がある。
 しかし、痕跡の特定には高度なセキュリティの知識が必要であり、一般的な知識しか持っていない作業者には検知ルールの作成は困難である。
 特許文献1は、ログから攻撃の特徴を検知するために検知ルールを作成する技術を開示している。
 本技術では、複数のマルウェアの実行結果を基に得られたログから共通の特徴が抽出され、仮の検知ルールが作成される。そして、仮の検知ルールを用いて正常なソフトウェアに対する誤検知数が計測され、仮の検知ルールの採用可否が誤検知数に応じて決定される。
特開2013-092981号公報
 特許文献1に開示された技術では、各攻撃に共通する特徴を抽出することができない。具体的には、出現回数または周期性などを抽出することができない。例えば、正常なユーザがアクセスする特定の宛先に対する大量のアクセスを特徴として抽出することができない。
 また、環境または条件に応じたパラメータの変化により、攻撃本来の特徴でないものが抽出される可能性がある。例えば、特定の宛先に大量にアクセスする攻撃についての検知ルールを作成するために、情報システム内の特定の端末Aに対する大量のアクセスが行われ、ログが収集される。この場合、攻撃本来の特徴は「宛先の端末に依らず大量にアクセスすること」である。しかし、「端末Aへ大量にアクセスすること」という誤った特徴が抽出される可能性がある。
 本発明は、複数の攻撃ログデータに共通する情報に基づいて攻撃検知ルールを生成できるようにすることを目的とする。
 本発明のルール生成装置は、
 複数の攻撃ログデータについて攻撃ログデータ毎に、攻撃ログデータに含まれる1つ以上のログ情報を第1要素の値と第2要素の値との値組別に分類することによって、1つ以上のログ情報グループを生成する分類部と、
 ログ情報グループ毎に、ログ情報グループに含まれる1つ以上のログ情報を集約することによって、集約データを生成する集約部と、
 1つ以上の値組のうち前記複数の攻撃ログデータに共通する値組毎に、前記複数の攻撃ログデータに対応する複数の集約データから共通情報を抽出する抽出部と、
 1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する生成部とを備える。
 本発明によれば、複数の攻撃ログデータに共通する情報に基づいて攻撃検知ルールを生成することができる。
実施の形態1におけるルール生成システム200の構成図。 実施の形態1におけるルール生成装置100の構成図。 実施の形態1におけるルール生成方法のフローチャート。 実施の形態1における攻撃ログファイル300を示す図。 実施の形態1における分類処理(S120)のフローチャート。 実施の形態1における第2要素リスト310を示す図。 実施の形態1における集約処理(S130)のフローチャート。 実施の形態1における代替値リスト320を示す図。 実施の形態1における集約ファイル330を示す図。 実施の形態1における抽出処理(S140)のフローチャート。 実施の形態1におけるステップS144のフローチャート。 実施の形態1における共通ファイル340を示す図。 実施の形態1における生成処理(S150)のフローチャート。 実施の形態1におけるステップS151のフローチャート。 実施の形態1における仮検知ルールファイル350を示す図。 実施の形態1における分析結果ファイル360を示す図。 実施の形態1における攻撃実行環境210の構成図。 実施の形態1におけるユーザ端末211の構成情報を示す図。 実施の形態1における攻撃手段を示す図。 実施の形態2におけるルール生成方法のフローチャート。 実施の形態2における生成処理(S250)のフローチャート。 実施の形態2におけるステップS251のフローチャート。 実施の形態2における共通ファイル340を示す図。 実施の形態2における仮検知ルールファイル350を示す図。 実施の形態3におけるルール生成方法のフローチャート。 実施の形態3における抽出処理(S340)のフローチャート。 実施の形態3におけるステップS344のフローチャート。 実施の形態3における生成処理(S350)のフローチャート。 実施の形態3におけるステップS351のフローチャート。 実施の形態4における定義ファイル370を示す図。 実施の形態4におけるルール生成方法のフローチャート。 実施の形態4における集約処理(S430)のフローチャート。 実施の形態4における抽出処理(S440)のフローチャート。 実施の形態4におけるステップS444のフローチャート。 実施の形態4における生成処理(S450)のフローチャート。 実施の形態4におけるステップS151のフローチャート。 実施の形態5におけるルール生成装置100の構成図。 実施の形態5における攻撃実行環境210の構成図。 実施の形態5における取得処理(S500)のフローチャート。 実施の形態におけるルール生成装置100のハードウェア構成図。
 実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
 実施の形態1.
 攻撃検知ルールを生成するための形態について、図1から図19に基づいて説明する。
***構成の説明***
 図1に基づいて、ルール生成システム200の構成を説明する。
 ルール生成システム200は、ルール生成装置100と攻撃実行環境210とログ分析装置220とを備える。
 ルール生成装置100は、攻撃実行環境210とログ分析装置220と通信を行う。
 攻撃実行環境210は、攻撃ログファイル300を得るための環境である。攻撃実行環境210はログ取得環境とも呼ぶ。
 ルール生成装置100は、攻撃実行環境210によって得られる攻撃ログファイル300に基づいて、仮検知ルールファイル350を生成する。
 ログ分析装置220は、仮検知ルールファイル350を分析するための装置である。
 ルール生成装置100は、ログ分析装置220によって得られる分析結果ファイル360に基づいて、攻撃検知ルールを生成する。
 図2に基づいて、ルール生成装置100の構成を説明する。
 ルール生成装置100は、プロセッサ101とメモリ102と補助記憶装置103と通信装置104といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ101は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
 メモリ102は揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAM(Random Access Memory)である。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
 補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
 通信装置104はレシーバ及びトランスミッタである。例えば、通信装置104は通信チップまたはNIC(Network Interface Card)である。
 ルール生成装置100は、受付部111と分類部112と集約部113と抽出部114と生成部115といった要素を備える。これらの要素はソフトウェアで実現される。
 補助記憶装置103には、受付部111と分類部112と集約部113と抽出部114と生成部115としてコンピュータを機能させるためのルール生成プログラムが記憶されている。ルール生成プログラムは、メモリ102にロードされて、プロセッサ101によって実行される。
 さらに、補助記憶装置103にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
 つまり、プロセッサ101は、OSを実行しながら、ルール生成プログラムを実行する。
 ルール生成プログラムを実行して得られるデータは、メモリ102、補助記憶装置103、プロセッサ101内のレジスタまたはプロセッサ101内のキャッシュメモリといった記憶装置に記憶される。
 補助記憶装置103は記憶部120として機能する。但し、他の記憶装置が、補助記憶装置103の代わりに、又は、補助記憶装置103と共に、記憶部120として機能してもよい。
 ルール生成装置100は、プロセッサ101を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ101の役割を分担する。
 ルール生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータで読み取り可能に記録(格納)することができる。
***動作の説明***
 ルール生成装置100の動作はルール生成方法に相当する。また、ルール生成方法の手順はルール生成プログラムの手順に相当する。
 図3に基づいて、ルール生成方法を説明する。
 ステップS110において、受付部111は、攻撃実行環境210から攻撃ログファイル300を受け付ける。
 そして、受付部111は、攻撃ログファイル300を記憶部120に記憶する。
 図4に基づいて、攻撃ログファイル300を説明する。
 攻撃ログファイル300は、複数の攻撃ログデータを含む。複数の攻撃ログデータは、攻撃活動の複数の実施によって得られる。図4の攻撃ログファイル300は、4つの攻撃ログデータを含んでいる。
 攻撃ログデータを特定しない場合、それぞれを攻撃ログデータ301と称する。
 攻撃ログデータ301は、攻撃手段No.と攻撃時間と1つ以上のログ情報とを含んでいる。
 攻撃手段No.は、攻撃手段を識別する番号である。
 攻撃時間は、攻撃が実施された時間の長さである。
 ログ情報を特定しない場合、それぞれをログ情報302と称する。
 ログ情報302は、1つ以上の要素のそれぞれの値を有する。各要素の値を要素値と呼ぶ。
 図4のログ情報302は、ログ種別と取得元ホストとID(identifier)と
いった各要素について要素値を有する。
 ログ種別は、ログ情報302の種別である。図4において、「TYPE」はログ種別を意味する。ログ種別の一例は端末イベントである。
 取得元ホストは、ログを取得したホストである。図4において、「HOST」は取得元ホストを意味する。取得元ホストの一例は、ホストPC_V1である。
 IDは、端末イベントを識別する識別子である。
 図3に戻り、ステップS120から説明を続ける。
 ステップS120において、分類部112は、複数の攻撃ログデータ301について攻撃ログデータ301毎に、攻撃ログデータ301に含まれる1つ以上のログ情報302を第1要素の値と第2要素の値との値組別に分類する。
 これにより、分類部112は、攻撃ログデータ301毎に1つ以上のログ情報グループを生成する。
 ログ情報グループは、同じ第1要素の値と同じ第2要素の値とを有する1つ以上のログ情報302である。
 分類処理(S120)の詳細については後述する。
 ステップS130において、集約部113は、複数の攻撃ログデータ301のそれぞれのログ情報グループ毎に、ログ情報グループに含まれる1つ以上のログ情報302を集約する。
 これにより、集約部113は、ログ情報グループ毎に集約データを生成する。
 集約データは、ログ情報グループに含まれる1つ以上のログ情報302の特徴を示す。
 集約処理(S130)の詳細については後述する。
 ステップS140において、抽出部114は、1つ以上の値組のうち複数の攻撃ログデータ301に共通する値組毎に、複数の攻撃ログデータ301に対応する複数の集約データから共通情報を抽出する。
 共通情報は、複数の攻撃ログデータ301に対応する複数の集約データに共通する情報である。
 抽出処理(S140)の詳細については後述する。
 ステップS150において、生成部115は、ステップS140で抽出された1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する。
 攻撃検知ルールは、攻撃活動の特徴を示す。
 生成処理(S150)の詳細については後述する。
 ステップS140で共通情報が抽出されなかった場合、受け付けられた攻撃ログファイル300から同じ攻撃活動に関する複数の攻撃ログデータ301に共通する特徴を抽出できないため、ルール生成方法の処理は終了する。
 図5に基づいて、分類処理(S120)の手順を説明する。
 ステップS121において、分類部112は、攻撃ログファイル300から、未選択の攻撃ログデータ301を1つ選択する。
 例えば、分類部112は、図4の攻撃ログファイル300から、攻撃ログデータ301Aを選択する。
 ステップS122からステップS125は、ステップS121で選択された攻撃ログデータ301のために実行される。
 ステップS122において、分類部112は、攻撃ログデータ301に含まれる1つ以上のログ情報302を第1要素値別に分類する。第1要素値は第1要素の値である。
 これにより、分類部112は、第1要素値別の1つ以上の仮情報グループを生成する。
 仮情報グループは、同じ第1要素値を有する1つ以上のログ情報302である。
 図4の攻撃ログファイル300において、攻撃ログデータ301Aの第1要素はログ種別(TYPE)である。
 攻撃ログデータ301Aは、100個のログ情報302Aを含んでいる。
 全てのログ情報302Aにおいて、ログ種別は端末イベントである。
 この場合、分類部112は、1つの仮情報グループを生成する。この仮情報グループは、ログ種別が端末イベントである100個のログ情報302である。
 図5に戻り、ステップS123から説明を続ける。
 ステップS123において、分類部112は、仮情報グループ毎に第1要素値に対応する第2要素を選択する。
 具体的には、分類部112は、第2要素リスト310から、第1要素値に対応する第2要素を取得する。
 図6に基づいて、第2要素リスト310を説明する。
 第2要素リスト310は、各第1要素値に対応する第2要素を示す。
 ログ種別が第1要素であり、ログ種別の値が第1要素値であり、分類軸が第2要素である。
 第1要素値が端末イベントである場合、分類部112は、端末イベントに対応する分類軸を第2要素リスト310から取得する。取得される分類軸は取得元ホストおよびIDである。取得元ホストとIDとのそれぞれが第2要素である。
 図5に戻り、ステップS124から説明を続ける。
 ステップS124において、分類部112は、攻撃ログデータ301に含まれる1つ以上のログ情報302を第1要素値と第2要素値との値組別に分類する。第2要素値は第2要素の値である。
 これにより、分類部112は、第1要素値と第2要素値との値組別の1つ以上のログ情報グループを生成する。
 ログ情報グループは、同じ第1要素値と同じ第2要素値とを有する1つ以上のログ情報302である。
 図4の攻撃ログファイル300において、攻撃ログデータ301Aの第1要素はログ種別(TYPE)である。
 攻撃ログデータ301Aは、100個のログ情報302Aを含んでいる。
 全てのログ情報302Aにおいて、ログ種別は端末イベントである。
 図6の第2要素リスト310において、端末イベントに対応する第2要素は取得元ホストおよびIDである。
 図4の全てのログ情報302Aにおいて、取得元ホスト(HOST)はPC_V1であり、IDは1234である。
 この場合、分類部112は、1つのログ情報グループを生成する。このログ情報グループは、ログ種別が端末イベントであり、取得元ホストがPC_V1であり、IDが1234である100個のログ情報302である。
 図5に戻り、ステップS125から説明を続ける。
 ステップS125において、分類部112は、未選択の攻撃ログデータが有るか判定する。ステップS125において未選択の攻撃ログデータ301を未選択データと呼ぶ。
 未選択データが有る場合、処理はステップS121に進む。
 未選択データが無い場合、処理は終了する。
 図7に基づいて、集約処理(S130)を説明する。
 ステップS131において、集約部113は、複数の攻撃ログデータ301のそれぞれのログ情報グループから、未選択のログ情報グループを1つ選択する。
 ステップS132からステップS138は、ステップS131で選択されたログ情報グループのために実行される。
 ステップS132において、集約部113は、ログ情報グループに含まれるログ情報302の数を数える。
 ステップS133において、集約部113は、ログ情報グループに含まれる1つ以上のログ情報302を集約する。
 これにより、集約部113は集約データを生成する。
 集約部113は、集約データを以下のように生成する。
 集約部113は、ログ情報グループに対応する攻撃ログデータ301のデータ識別子を取得する。具体的には、集約部113は、攻撃ログデータ301から攻撃手段No.を抽出する。
 集約部113は、ログ情報グループのいずれかのログ情報302から第1要素値と第2要素値とを抽出する。抽出される第1要素値は、ログ情報グループに含まれる全てのログ情報302に共通する。抽出される第2要素値は、ログ情報グループに含まれる全てのログ情報302に共通する。
 そして、集約部113は、データ識別子と第1要素値と第2要素値とログ情報302の数とを含んだデータを生成する。生成されるデータが集約データである。
 ステップS134において、集約部113は、第2要素値が置き換え対象値と一致するか判定する。
 置き換え対象値は、代替値への置き換えの対象となる値である。
 代替値は、置き換え対象値の代替となる値である。
 集約部113は、以下のように判定を行う。
 代替値リスト320が記憶部120に予め記憶されている。代替値リスト320は、1つ以上の代替値と1つ以上の置き換え対象値とを互いに対応付ける。
 集約部113は、第2要素値と一致する置き換え対象値が代替値リスト320に含まれるか判定する。
 第2要素値が置き換え対象値と一致する場合、処理はステップS135に進む。
 第2要素値が置き換え対象値と一致しない場合、処理はステップS136に進む。
 図8に基づいて、代替値リスト320を説明する。
 代替値リスト320は、攻撃手段No.と1つ以上の代替値と1つ以上の置き換え対象値とを互いに対応付けている。
 図4の攻撃ログファイル300において、攻撃ログデータ301Aの攻撃手段No.は「1-1」である。攻撃ログデータ301Aは100個のログ情報302Aを含んでいる。攻撃ログデータ301Aのログ情報グループは100個のログ情報302Aである。攻撃ログデータ301Aにおいて、第1要素値は「端末イベント」である。
 図6の第2要素リスト310において、「端末イベント」に対応する第2要素は取得元
ホスト(HOST)とIDとのそれぞれである。
 図4の攻撃ログデータ301Aにおいて、第2要素値は「PC_V1」と「1234」とのそれぞれである。
 集約部113は、図8の代替値リスト320から、攻撃手段No.「1-1」に対応する4つの置き換え対象値を選択する。選択される4つの置き換え対象値は「PC_A1」、「PC_V1」、「192.168.1.1」および「192.168.1.101」である。
 そして、集約部113は、選択した4つの置き換え対象値に第2要素値と一致する置き換え対象値が含まれるか判定する。
 第2要素値「1234」は4つの置き換え対象値のいずれとも一致しないが、第2要素値「PC_V1」は置き換え対象値「PC_V1」と一致する。
 この場合、集約部113は、第2要素値が置き換え対象値と一致すると判定する。
 図7に戻り、ステップS135から説明を続ける。
 ステップS135において、集約部113は、集約データの中の第2要素値を代替値に置き換える。
 集約部113は、以下のように置き換えを行う。
 まず、集約部113は、第2要素値と一致する置き換え対象値に対応する代替値を代替値リスト320から抽出する。
 そして、集約部113は、集約データの中の第2要素値を代替値に置き換える。
 ステップS136において、集約部113は、未選択のログ情報グループが有るか判定する。ステップS136において、未選択のログ情報グループを未選択グループと呼ぶ。
 未選択グループが有る場合、処理はステップS131に進む。
 未選択グループが無い場合、処理は終了する。
 図9に基づいて、集約ファイル330を説明する。
 集約ファイル330は、各ログ情報グループの集約データを含んでいる。
 集約部113は、各ログ情報グループの集約データを用いて集約ファイル330を生成し、集約ファイル330を記憶部120に記憶する。
 各集約データは、攻撃手段No.とログ種別と分類軸と出現回数とを含んでいる。
 攻撃手段No.は、ログ情報グループに対応する攻撃ログデータ301のデータ識別子に相当する。
 ログ種別は第1要素に相当し、ログ種別の値は第1要素値に相当する。
 分類軸は第2要素に相当し、分類軸の値は第2要素値に相当する。
 出現回数は、ログ情報グループに含まれるログ情報302の数に相当する。
 攻撃手段No.が「1-1」である集約データにおいて、取得元ホストの元の値は「PC_V1」であった。
 図8の代替値リスト320において、「PC_V1」は置き換え対象値であり、「PC_V1」に対応する代替値は「victim_host」である。
 そのため、攻撃手段No.が「1-1」である集約データ(図9参照)において、取得元ホストの値は「victim_host」に置き換えられている。
 攻撃手段No.が「1-2」「1-3」または「1-4」である集約データについても、攻撃手段No.が「1-1」である集約データと同様に、取得元ホストの値が「victim_host」に置き換えられている。
 図10に基づいて、抽出処理(S140)を説明する。
 ステップS141において、抽出部114は、集約ファイル330を検索することによって、複数の攻撃ログデータ301に共通する値組を見つける。値組は、第1要素値と第2要素値との組である。
 ステップS142以降の処理において、複数の攻撃ログデータ301に共通する値組を共通値組と呼ぶ。
 ステップS142において、抽出部114は、検索結果に基づいて、共通値組が有るか判定する。
 共通値組が有る場合、処理はステップS143に進む。
 共通値組が無い場合、処理は終了する。
 図9の集約ファイル330において、4つの集約データのそれぞれは、共通する第1要素値「端末イベント」と共通する第2要素値「victim_host」「1234」とを有する。
 したがって、第1要素値「端末イベント」と第2要素値「victim_host」「1234」との組は、共通値組である。
 図10に戻り、ステップS143から説明を続ける。
 ステップS143において、抽出部114は、未選択の共通値組を1つ選択する。
 ステップS144は、ステップS143で選択された共通値組のために実行される。
 ステップS144において、抽出部114は、共通値組に対応する複数の集約データに基づいて、共通データを生成する。
 複数の集約データのそれぞれは、共通値組を含む。
 共通データは、共通情報を含む。
 ステップS144の詳細については後述する。
 ステップS145において、抽出部114は、未選択の共通値組が有るか判定する。
 ステップS145において、未選択の共通値組を未選択組と呼ぶ。
 未選択組が有る場合、処理はステップS143に進む。
 未選択組が無い場合、処理は終了する。
 図11に基づいて、ステップS144を説明する。
 ステップS1441において、抽出部114は、複数の集約データに含まれる複数のログ情報数に基づいて、ログ情報数の代表値を決定する。
 ログ情報数は、ログ情報302の数である。
 具体的には、抽出部114は、複数のログ情報数から最小のログ情報数を選択する。選択されるログ情報数が代表値である。
 但し、抽出部114は、最小のログ情報数以外の値を代表値に決定してもよい。例えば、抽出部114は、最大のログ情報数またはログ情報数の平均を代表値に決定してもよい。
 図9の集約ファイル330において、4つの集約データのいずれのログ情報数も100個である。
 この場合、抽出部114は、100個をログ情報数の代表値に決定する。
 図11に戻り、ステップS1442から説明を続ける。
 ステップS1442において、抽出部114は、複数の集約データから共通情報を抽出する。
 具体的には、抽出部114は、第1要素値と第2要素値とを抽出する。
 図9の集約ファイル330の場合、抽出部114は、ログ種別「端末イベント」と分類軸「取得元ホスト=victim_host」「ID=1234」とを抽出する。
 図11に戻り、ステップS1443から説明を続ける。
 ステップS1443において、抽出部114は、代替値が共通情報に含まれるか判定する。
 代替値が共通情報に含まれる場合、処理はステップS1444に進む。
 代替値が共通情報に含まれない場合、処理はステップS1445に進む。
 ステップS1444において、抽出部114は、共通情報から代替値を削除する。
 図9の集約ファイル330において、共通情報は「端末イベント」「取得元ホスト=victim_host」「ID=1234」である。図8に示すように、「victim_host」は代替値である。
 したがって、抽出部114は、共通情報から「取得元ホスト=victim_host」を削除する。
 但し、抽出部114は、共通情報から代替値を削除する代わりに、共通情報の中の代替値を、「代替値を含む要素が取りうる任意の値」と変更してもよい。
 例えば、図9の集約ファイル330において、抽出部114は、代替値「victim_host」を任意値「ANY」と変更する。つまり、抽出部114は、「取得元ホスト=victim_host」を「取得元ホスト=ANY」に変更する。ここで任意値「ANY」とは、要素名が取りうる値の範囲における任意の値であることを表す。この場合、共通情報は「端末イベント」「ID=1234」という情報を含む。そして、この共通情報は、ある固定の取得元ホスト名を有するログ情報302の出現回数が100件であることを意味する。
 図11に戻り、ステップS1445を説明する。
 ステップS1445において、抽出部114は、共通情報とログ情報数の代表値とを含んだデータを生成する。生成されるデータが共通データである。
 そして、抽出部114は、共通データを記憶部120に記憶する。
 図12に基づいて、共通ファイル340を説明する。
 共通ファイル340は、1つ以上の共通データを含む。抽出部114は、共通ファイル340を生成し、共通ファイル340を記憶部120に記憶する。
 図12の共通ファイル340は、1つの共通データを含んでいる。
 共通データは、共通情報と出現回数とを含んでいる。
 共通情報は、ログ種別の値と分類軸の値とを含んでいる。ログ種別の値は第1要素値に相当する。分類軸の値は第2要素値に相当する。
 出現回数は、ログ情報数の代表値に相当する。
 共通情報の分類軸の欄から、代替値「victim_host」を含む「取得元ホスト=victim_host」が削除されている。
 図13に基づいて、生成処理(S150)を説明する。
 ステップS151において、生成部115は、共通情報毎に仮検知ルールを生成する。
 仮検知ルールは、攻撃検知ルールの候補である。
 図14に基づいて、ステップS151の手順を説明する。
 ステップS1511において、生成部115は、複数の攻撃ログデータ301に対応する複数の攻撃時間の代表値を決定する。
 具体的には、生成部115は、複数の攻撃ログデータ301から複数の攻撃時間を取得し、複数の攻撃時間から最長の攻撃時間を選択する。選択される攻撃時間が代表値である。
 但し、生成部115は、最長の攻撃時間以外の攻撃時間を代表値に決定してもよい。例えば、生成部115は、最短の攻撃時間または攻撃時間の平均を代表値に決定してもよい。
 図4の攻撃ログファイル300において、最長の攻撃時間は15秒である。
 この場合、生成部115は、15秒を攻撃時間の代表値に決定する。
 図14に戻り、ステップS1512から説明を続ける。
 ステップS1512において、生成部115は、未選択の共通データを1つ選択する。
 ステップS1513は、ステップS1512で選択された共通データのために実行される。
 ステップS1513において、生成部115は、共通データと攻撃時間の代表値とに基づいて、仮検知ルールを生成する。
 仮検知ルールは、共通情報とログ情報数の代表値と攻撃時間の代表値とを含む。
 ステップS1514において、生成部115は、未選択の共通データが有るか判定する。ステップS1514において、未選択の共通データを未選択データと呼ぶ。
 未選択データが有る場合、処理はステップS1512に進む。
 未選択データが無い場合、処理は終了する。
 図15に基づいて、仮検知ルールファイル350を説明する。
 仮検知ルールファイル350は、1つ以上の仮検知ルールを含む。生成部115は、仮検知ルールファイル350を生成し、仮検知ルールファイル350を記憶部120に記憶する。
 図15の仮検知ルールファイル350は、1つの仮検知ルールを含んでいる。
 図12の共通ファイル340は、1つの共通データを含んでいる。この共通データにおいて、共通情報は「端末イベント」「1234」であり、ログ情報数の代表値は「100」である。
 図4の攻撃ログファイル300において、攻撃時間の代表値は「15秒」である。
 図15の仮検知ルールファイル350において、仮検知ルールはこれらの値を含んでいる。この仮検知ルールは、「ログ種別が端末イベントであり、且つ、IDが1234であるログ情報が15秒以内に100回出現した」という条件を示している。
 図13に戻り、ステップS152から説明を続ける。
 ステップS152において、生成部115は、仮検知ルール毎に検知数を取得する。
 検知数は、仮検知ルールに該当する事象が検知される回数である。
 具体的には、生成部115は、仮検知ルールファイル350をログ分析装置220に送信し、ログ分析装置220から分析結果ファイル360を受信する。
 図16に基づいて、分析結果ファイル360を説明する。
 分析結果ファイル360は、各仮検知ルールの検知数を示す。
 検知数は、仮検知ルールに該当する事象が一定時間内に発生する回数である。検知数は、仮検知ルールに該当する事象についてのログ情報が一定時間内に出現する回数に相当する。
 図13に戻り、ステップS153を説明する。
 ステップS153において、生成部115は、採用条件を満たす検知数に対応する仮検知ルールを選択する。選択される仮検知ルールが攻撃検知ルールとして採用される。
 採用条件は、検知数についての条件であり、予め決められる。
 例えば、採用条件は閾値を示す。そして、生成部115は、検知数が閾値より小さい仮検知ルールを攻撃検知ルールとして選択する。
 図16の分析結果ファイル360は、1つの仮検知ルールを含んでいる。この仮検知ルールの検知数は10である。採用条件が示す閾値が15である場合、この仮検知ルールの検知数は閾値より小さい。そのため、生成部115は、この仮検知ルールを攻撃検知ルールとして選択する。
***構成の追加説明***
 次に、攻撃実行環境210について説明する。
 攻撃実行環境210は、複数の攻撃手段を実行し、ログ情報302を収集する。
 攻撃実行環境210は、各攻撃手段に従った攻撃を実行可能な1つ以上の構成要素で構成される。
 攻撃実行環境210は、各攻撃手段を実行した際に各構成要素で発生したログ情報302を収集する機能を有する。
 攻撃実行環境210は、攻撃時間を計測する機能を有する。攻撃時間は、攻撃手段の実行を開始してから攻撃手段の実行を終了するまでの経過時刻である。
 攻撃手段は、攻撃活動を実施する具体的な手段である。つまり、攻撃手段は、攻撃活動を実施するために攻撃元、攻撃先および攻撃内容などの情報を具体化したものである。
 例えば、「ログインパスワードの総当たり攻撃」という攻撃活動の攻撃手段として、「ホストAからホストBに対して異なるパスワードで100回のログインを試行する」ための手段が挙げられる。
 攻撃手段は、攻撃活動のための少なくとも何らかの実施手段を具体化する要素を有していればよい。例えば、攻撃手段は「ホストAからログインパスワードの総当たり攻撃を実施する」ための手段でもよい。また、攻撃手段は「ホストAからホストBに対して、ツールCを利用して異なるパスワードで100回のログインを試行する」ための手段でもよい。
 攻撃実行環境210は、一般的な情報システムの一部または全部を模擬した模擬情報システムで構成することができる。
 図17に基づいて、攻撃実行環境210の構成を説明する。
 攻撃実行環境210は、1つ以上のユーザ端末211を備える。
 さらに、攻撃実行環境210は、ファイアウォール212とプロキシサーバ213と侵入検知装置214と通信模擬装置215とログ分析装置216と時間計測装置217とを備える。
 各ユーザ端末211、ファイアウォール212、プロキシサーバ213、侵入検知装置214およびログ分析装置216は、互いに接続されている。
 通信模擬装置215は、ファイアウォール212を経由して、他の構成要素と接続されている。
 通信模擬装置215は、攻撃実行環境210と外部との通信を模擬する。
 具体的には、通信模擬装置215は、攻撃実行環境210の外部と通信を試行する構成要素に対して疑似的な応答を返す。また、通信模擬装置215は、外部から攻撃実行環境210への疑似的な通信を生成する。
 通信模擬装置215は、既存技術で実現可能である。
 ログ分析装置216は、情報システムによって生成された複数種類のログ情報302を収集し、複数種類のログ情報302を分析する。分析技術の具体例は、SIEM(Security Information and Event Management)である。
 時間計測装置217は攻撃時刻を計測する。
 模擬情報システムを構成する各要素は、攻撃手段の実行によって生じた動作を可能な限りログ情報302として記録可能な状態である。
 例えば、各ユーザ端末211は、ログオンの試行またはデータへのアクセスなどについて、端末イベントのログ情報302を記録する。また、侵入検知装置214は、攻撃手段の実行により発生するアラート情報をログ情報302として記録する。
 攻撃実行環境210の構成は、必ずしも図17に示される構成でなくてもよい。つまり、必要に応じて、要素の追加または要素の削除が行われてもよい。また、攻撃実行環境210が通信模擬装置215を備えず、攻撃実行環境210が外部に接続されてもよい。外部とは、例えば、インターネットである。
 攻撃実行環境210は、ログ情報302を収集する機能と攻撃時間を計測する機能とを有していれば模擬情報システムである必要はない。例えば、実際の情報システムの一部または全部が攻撃実行環境210として利用されてもよい。あるいは、実際の情報システムにおける応答およびログ情報と同等の応答およびログ情報を再現可能な仮想的な装置が攻撃実行環境210として利用されてもよい。また、これらの組み合わせが攻撃実行環境210として利用されてもよい。
 図18に、攻撃実行環境210の構成要素に関する構成情報の一例として、各ユーザ端末211の構成情報を示す。
 図18において、第1端末から第4端末のそれぞれはユーザ端末211を意味する。
 ユーザ端末211の構成情報は、ホスト名とIPアドレスとを有する。IPはInternet Protocolの略称である。
 図19に、攻撃手段の一例を示す。
 第1攻撃活動は「ログインパスワードの総当たり」である。第1攻撃活動についての4つの攻撃手段が図19に示されている。4つ攻撃手段において、攻撃元と攻撃先との組が互いに異なる。
 図4の攻撃ログファイル300において、図19に示す4つの攻撃手段の実行によって得られる攻撃ログファイルの例である。
 攻撃手段に基づく攻撃活動を実施する場合、利用者が攻撃手段に従って攻撃活動を実施
してもよいし、攻撃装置を活用して攻撃活動が実施されてもよい。攻撃装置は、攻撃手段に従って攻撃活動を実施する装置である。例えば、攻撃装置は攻撃実行環境210に設けられる。
 次に、ログ分析装置220について説明する。
 ログ分析装置220は、攻撃実行環境210のログ分析装置216と同様の装置である。つまり、ログ分析装置220は、情報システムが生成した複数種類のログ情報を収集し、複数種類のログ情報を分析する。
 ログ分析装置220は、ルール生成装置100から仮検知ルールファイル350を受信し、仮検知ルールファイル350に含まれる各仮検知ルールに合致する事象が発生したことを検出する。仮検知ルールに合致する事象が発生することを、仮検知ルールによる検知という。また、仮検知ルールによる検知が行える状態にすることを、仮検知ルールの適用という。
 ログ分析装置220は、適用した仮検知ルールに合致する事象が発生した回数を記録する。
 攻撃実行環境210のログ分析装置216が上記の機能を有していれば、ログ分析装置216と同じ種類の装置がログ分析装置220として使用されてもよい。また、上記の機能と同様の機能をもつ別の装置がログ分析装置220として使用されてもよい。
 ログ分析装置220によって得られる分析結果ファイル360は、正常ログに対して適用された仮検知ルールの検知数を集計して得られる結果である。
 正常ログは、情報システムを構成する1つ以上の構成要素を持つ環境を攻撃手段ではない何らかの手段によって動作させたことにより発生するログ情報である。例えば、正常ログは、ユーザが企業の業務システムを利用している間に発生するログ情報である。正常ログは、攻撃実行環境210における構成と同じ構成、または、攻撃実行環境210における構成と可能な限り類似した構成、または、攻撃実行環境210におけるログ情報と同等なログ情報を取得可能な構成を有する環境から取得されることが望ましい。
 正常ログが、情報システムを構成する1つ以上の構成要素を持つ環境が本来の目的で使用された場合のログ情報、あるいは、その環境が本来の目的で使用された場合のログ情報を再現したログ情報であることが望ましい。例えば、当該環境が企業の業務システムであると仮定する。業務システムの本来の目的は、ユーザによって業務に利用されることである。そのため、正常ログが、ユーザが業務システムを業務に利用している間に発生するログ情報、あるいは、そのログ情報を再現したログ情報であることが望ましい。
 但し、正常ログが、情報システムを構成する1つ以上の構成要素を持つ環境を本来の目的で使用された場合のログ情報、あるいは、その環境を本来の目的で使用された場合のログ情報を再現したログ情報であることは必須ではない。
***実施の形態1の効果***
 複数の攻撃手段を実行して得られた攻撃ログファイル300を入力として、複数の攻撃手段の間で共通する特徴に基づく1つ以上の仮検知ルールを生成することができる。そして、正常ログに基づく検知数が一定の条件を満たす仮検知ルールを攻撃検知ルールとして得ることができる。
 これにより、作業者は、攻撃検知ルールを得るために、検知対象の攻撃活動について正常な活動と異なる攻撃活動の特徴が監視対象のどこにどのような形で残るかを特定する必要がない。したがって、一般的な知識しか持たない作業者が攻撃検知ルールを作成することが可能となる。
 実施の形態2.
 複数の共通情報に基づいて1つの仮検知ルールを生成する形態について、主に実施の形態1と異なる点を図20から図24に基づいて説明する。
***構成の説明***
 ルール生成システム200の構成は、実施の形態1における構成と同じである(図1参照)。
 ルール生成装置100の構成は、実施の形態1における構成と同じである(図2参照)。
***動作の説明***
 図20に基づいて、ルール生成方法を説明する。
 ステップS210からステップS240は、実施の形態1におけるステップS110からステップS140と同じである(図3参照)。
 ステップS250において、生成部115は、ステップS240で抽出された複数の共通情報に基づいて1つ以上の攻撃検知ルールを生成する。
 ステップS240で共通情報が抽出されなかった場合、受け付けられた攻撃ログファイル300から同じ攻撃活動に関する複数の攻撃ログデータ301に共通する特徴を抽出できないため、ルール生成方法の処理は終了する。
 図21に基づいて、生成処理(S250)を説明する。
 ステップS251において、生成部115は、共通情報の組毎に仮検知ルールを生成する。
 ステップS251の詳細については後述する。
 ステップS252およびステップS253は、実施の形態1におけるステップS152およびステップS153と同じである(図13参照)。
 図22に基づいて、ステップS251を説明する。
 ステップS2511において、生成部115は、攻撃時間の代表値を決定する。
 ステップS2511は、実施の形態1におけるステップS1511と同じである(図14参照)。
 ステップS2512において、生成部115は、複数の共通データから得られる1つ以上の共通データ組から、未選択の共通データ組を1つ選択する。
 共通データ組は、2つ以上の共通データである。例えば、共通データ組は2つの共通データである。但し、共通データ組は3つ以上の共通データであってもよい。
 図23に基づいて、共通ファイル340を説明する。
 共通ファイル340は、2つ以上の共通データを含む。図23の共通ファイル340は、2つの共通データを含んでいる。
 生成部115は、2つの共通データを共通データ組として選択する。
 図22に戻り、ステップS2513から説明を続ける。
 ステップS2513は、ステップS2512で選択された共通データ組のために実行される。
 ステップS2513において、生成部115は、共通データ組と攻撃時間の代表値とに基づいて仮検知ルールを生成する。
 仮検知ルールは、攻撃時間の代表値と、共通データ組の各共通データの共通情報とログ情報の代表値とを含む。
 ステップS2514において、生成部115は、未選択の共通データ組が有るか判定する。ステップS2514において、未選択の共通データ組を未選択組と呼ぶ。
 未選択組が有る場合、処理はステップS2512に進む。
 未選択組が無い場合、処理は終了する。
 図24に基づいて、仮検知ルールファイル350を説明する。
 図24の仮検知ルールファイル350は、1つの仮検知ルールを含んでいる。
 この仮検知ルールは、「条件(A)と条件(B)とが15秒以内に満たされた」という条件を示している。
 条件(A)は、図23の共通ファイル340の中の1つ目の共通データに基づく条件である。具体的には、条件(A)は「ログ種別が端末イベントであり、且つ、IDが1234であるログ情報が100回出現した」という条件である。
 条件(B)は、図23の共通ファイル340の中の2つ目の共通データに基づく条件である。具体的には、条件(B)は「ログ種別がプロキシであり、送信元IPが192.168.1.50であるログ情報が10回出現した」という条件である。
***実施の形態2の効果***
 複数の共通情報を組み合わることにより、より厳しい条件についての仮検知ルールを生成することができる。そして、より厳しい条件についての攻撃検知ルールを生成することができる。つまり、正常ログに基づく検知数がより少ない仮検知ルールおよび攻撃検知ルールを生成することが可能となる。
 実施の形態3.
 出現周期の条件を含んだ仮検知ルールを生成する形態について、主に実施の形態1と異なる点を図25から図29に基づいて説明する。
***構成の説明***
 ルール生成システム200の構成は、実施の形態1における構成と同じである(図1参照)。
 ルール生成装置100の構成は、実施の形態1における構成と同じである(図2参照)。
***動作の説明***
 図25に基づいて、ルール生成方法を説明する。
 ステップS310からステップS330は、実施の形態1におけるステップS110からステップS130と同じである(図3参照)。
 ステップS340において、抽出部114は、共通する値組毎に複数の集約データから共通情報を抽出する。
 抽出処理(S340)の詳細については後述する。
 ステップS350において、生成部115は、ステップS340で抽出された1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する。
 ステップS340で共通情報が抽出されなかった場合、受け付けられた攻撃ログファイル300から同じ攻撃活動に関する複数の攻撃ログデータ301に共通する特徴を抽出できないため、ルール生成方法の処理は終了する。
 生成処理(S350)の詳細については後述する。
 図26に基づいて、抽出処理(S340)を説明する。
 ステップS341からステップS345の手順は、実施の形態1におけるステップS1
41からステップS145の手順と同じである。
 但し、ステップS344の処理の一部が、実施の形態1におけるステップS144の処理と異なる。
 ステップS344において、抽出部114は、共通値組に対応する複数の集約データに基づいて、共通データを生成する。
 図27に基づいて、ステップS344を説明する。
 ステップS3441からステップS3446は、実施の形態1におけるステップS1441からステップS1446と同じである(図11参照)。
 ステップS3446において、抽出部114は、ログ情報302の出現周期を算出する。
 抽出部114は、ログ情報302の出現周期を以下のように算出する。
 各ログ情報302は出現時刻を含んでいる。
 抽出部114は、攻撃ログデータ301毎に、1つ以上のログ情報302のそれぞれの出現時刻に基づいて、ログ情報302の出現間隔について平均および分散を算出する。算出される平均および分散が出現周期に相当する。但し、抽出部114は、平均および分散以外の統計値を出現周期として算出してもよい。
 ステップS3447において、抽出部114は、ログ情報302の出現周期が周期条件を満たすか判定する。
 周期条件は、ログ情報302の出現周期についての条件であり、予め決められる。
 具体的には、抽出部114は以下のように判定を行う。
 抽出部114は、ログ情報302の出現間隔についての各攻撃ログデータ301の平均を比較し、平均の差を算出する。平均の差は、最小の平均と最大の平均との差である。
 抽出部114は、ログ情報302の出現間隔についての各攻撃ログデータ301の分散を比較し、分散の差を算出する。分散の差は、最小の分散と最大の分散との差である。
 抽出部114は、平均の差を平均用の閾値と比較し、分散の差を分散用の閾値と比較する。
 そして、平均の差が平均用の閾値以下であり、且つ、分散の差が分散用の閾値以下である場合に、抽出部114は、ログ情報302の出現周期が周期条件を満たすと判定する。
 ログ情報302の出現周期が周期条件を満たす場合、処理はステップS3448に進む。
 ログ情報302の出現周期が周期条件を満たさない場合、処理は終了する。
 ステップS3448において、抽出部114は、ログ情報302の出現周期を共通データに追加する。
 図28に基づいて、生成処理(S350)を説明する。
 ステップS351において、生成部115は、共通情報の組毎に仮検知ルールを生成する。
 ステップS351の詳細については後述する。
 ステップS352およびステップS353は、実施の形態1におけるステップS152およびステップS153と同じである(図13参照)。
 図29に基づいて、ステップS351を説明する。
 ステップS3511からステップS3513は、実施の形態1におけるステップS1511からステップS1513と同じである(図14参照)。
 ステップS3514において、生成部115は、共通データが出現周期を含んでいるか判定する。
 共通データが出現周期を含んでいる場合、処理はステップS3515に進む。
 共通データが出現周期を含んでいない場合、処理はステップS3516に進む。
 ステップS3515において、生成部115は、出現周期に基づいて付加ルールを生成する。
 付加ルールは、主要ルールに付加されるルールである。
 主要ルールは、仮検知ルールおよび攻撃検知ルールである。
 生成部115は、付加ルールを以下のように生成する。
 生成部115は、ログ情報302の出現間隔についての各攻撃ログデータ301の平均とログ情報302の出現間隔についての各攻撃ログデータ301の分散との少なくともいずれかに基づいて、ログ情報の出現間隔の許容範囲を決定する。そして、生成部115は、決定した許容範囲を含むルールを生成する。生成されるルールが付加ルールである。この付加ルールは「主要ルールに該当する各ログ情報の出現間隔が許容範囲に含まれる」という条件を示す。
 ステップS3516は、実施の形態1におけるステップS1514と同じである(図14参照)。
***実施の形態3の効果***
 共通情報を含む複数のログ情報が共通の周期性を有する場合に、周期性情報についてのルールを追加することができる。これにより、攻撃手段のより多くの特徴を表す仮検知ルールおよび攻撃検知ルールを生成することが可能となる。
 実施の形態4.
 共通情報の統計値に基づいて仮検知ルールを生成する形態について、主に実施の形態1と異なる点を図30から図36に基づいて説明する。
***構成の説明***
 ルール生成システム200の構成は、実施の形態1における構成と同じである(図1参照)。
 ルール生成装置100の構成は、実施の形態1における構成と同じである(図2参照)。
 但し、定義ファイル370が記憶部120に予め記憶される。
 図30に基づいて、定義ファイル370を説明する。
 定義ファイル370は、ログ種別値と識別要素値と値タイプ情報とを互いに対応付ける。
 ログ種別値は、ログ種別の値である。ログ種別値は、第1要素値に相当する。
 識別要素値は、ログ情報302に含まれる要素値の1つである。
 値タイプ情報は、各要素の値タイプを示す。
 値タイプは、ログ情報302に含まれる各要素値の種類である。
 具体的には、値タイプは、離散値または連続値である。
 離散値の具体例は文字列である。例えば、ホスト名は離散値である。
 連続値の具体例は数値である。例えば、データ量は連続値である。
***動作の説明***
 図31に基づいて、ルール生成方法を説明する。
 ステップS410およびステップS420は、実施の形態1におけるステップS110およびステップS120と同じである(図3参照)。
 ステップS430において、集約部113は、ログ情報グループ毎に集約データを生成する。
 集約処理(S430)の詳細については後述する。
 ステップS440において、抽出部114は、共通する値組毎に複数の集約データから共通情報を抽出する。
 抽出処理(S440)の詳細については後述する。
 ステップS450において、生成部115は、ステップS440で抽出された1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する。
 ステップS450で共通情報が抽出されなかった場合、受け付けられた攻撃ログファイル300から同じ攻撃活動に関する複数の攻撃ログデータ301に共通する特徴を抽出できないため、ルール生成方法の処理は終了する。
 生成処理(S450)の詳細については後述する。
 図32に基づいて、集約処理(S430)を説明する。
 ステップS431において、集約部113は、未選択のログ情報グループを1つ選択する。
 ステップS432からステップS434は、ステップS431で選択されたログ情報グループのために実行される。
 ステップS432において、集約部113は、ログ情報グループに含まれる第1要素値と識別要素値との組に対応する値タイプ情報を定義ファイル370から取得する。
 具体的には、集約部113は、ログ情報グループから第1要素値と識別要素値との組を取得し、取得した組に対応する値タイプ情報を定義ファイル370から取得する。
 ステップS433において、集約部113は、値タイプ情報に基づいて、ログ情報グループから各要素の集約情報を取得する。
 集約部113は、値タイプが離散値である要素の集約情報を以下のように取得する。
 集約部113は、ログ情報グループから要素値の集合を取得する。要素値の集合を示す情報が集約情報である。要素値の集合は1つ以上の要素値である。要素値の集合は、同じ値の複数の要素値を含まない。
 例えば、送信元IPの値タイプは離散値である。ログ情報グループに「192.168.1.1」と「192.168.1.2」と「192.168.1.3」との3種類の送信元IPが含まれると仮定する。この場合、送信元IPの集約情報は「192.168.1.1」と「192.168.1.2」と「192.168.1.3」とを示す。
 集約部113は、値タイプが連続値である要素の集約情報を以下のように取得する。
 まず、集約部113は、ログ情報グループから各要素値を取得する。次に、集約部113は、取得された1つ以上の要素値をグループ分けする。そして、集約部113は、各要
素値グループの統計値を算出する。各要素値グループの統計値を示す情報が集約情報である。グループ分けのための方法の具体例はクラスター分析である。統計値の具体例は平均または分散である。
 ステップS434において、集約部113は、各要素の集約情報を含むデータを生成する。生成されるデータが集約データである。
 ステップS435において、集約部113は、未選択のログ情報グループが有るか判定する。ステップS435において、未選択のログ情報グループを未選択グループと呼ぶ。
 未選択グループが有る場合、処理はステップS431に進む。
 未選択グループが無い場合、処理は終了する。
 図33に基づいて、抽出処理(S440)を説明する。
 ステップS441からステップS445の手順は、実施の形態1におけるステップS141からステップS145の手順と同じである。
 但し、ステップS441の処理が、実施の形態1におけるステップS141の処理と異なる。また、ステップS444の処理が、実施の形態1におけるステップS144の処理と異なる。
 ステップS441において、抽出部114は、識別要素値が等しい各攻撃ログデータ301の集約ファイル330から、共通値組を見つける。
 具体的には、抽出部114は、集約ファイル330に含まれる各要素に対する複数の値を各攻撃ログデータ301間で比較する。そして、抽出部114は、各攻撃ログデータ301の全てに共通して含まれる値を抽出する。
 要素値のタイプが離散値である場合、抽出部114は、共通して同じ要素値が含まれているかどうかについて、各攻撃ログデータ301を比較する。
 要素値のタイプが連続値である場合、抽出部114は、各攻撃ログデータ301において平均および分散が一定の範囲に含まれる要素を抽出する。
 図34に基づいて、ステップS444を説明する。
 ステップS4441において、抽出部114は、共通値組に対応する集約データから、1つ以上の要素を選択する。
 選択した各要素の要素値が複数ある場合、抽出部114は、1つ以上の要素値を選択する。
 集約データが「ホスト名=PC_V1、PC_V2、送信元IP=192.168.1.1、192.168.1.2、192.168.1.3」である場合、抽出部114は、例えば、「ホスト名=PC_V1、送信元IP=192.168.1.3」を選択する。
 ステップS4442において、抽出部114は、選択した1つ以上の要素の中に連続値の要素が有るか判定する。
 選択した1つ以上の要素の中に連続値の要素が有る場合、処理はステップS4443に進む。
 選択した1つ以上の要素の中に連続値の要素が無い場合、処理はステップS4446に進む。
 ステップS4443において、抽出部114は、共通値組を含む1つ以上のログ情報302をログ情報グループから抽出する。
 ステップS4441で選択された1つ以上の要素の中に離散値の要素が含まれる場合、
抽出部114は、共通値組と選択された要素の離散値とを含むログ情報302をログ情報グループから抽出する。
 ステップS4444において、抽出部114は、抽出した1つ以上のログ情報302から1つ以上の連続値を抽出し、抽出した1つ以上の連続値の統計値を算出する。
 ステップS4445において、抽出部114は、算出した統計値とステップS4441で選択した要素の少なくともいずれかの連続値との間に有意差が有るか判定する。
 有意差が有る場合、処理は終了する。
 有意差が無い場合、処理はステップS4447に進む。
 ステップS4446において、抽出部114は、共通値組と選択値とを含む1つ以上のログ情報302をログ情報グループから抽出する。
 選択値は、ステップS4441で選択された各要素値である。
 ステップS4447において、抽出部114は、共通値組と選択値と出現回数とを含んだデータを生成する。生成されるデータが共通データである。
 出現回数は、ステップS4443またはステップS4446で抽出されたログ情報グループについてのログ情報数の代表値である。実施の形態1におけるステップS1441(図11参照)で説明したように、具体的な代表値は最小のログ情報数である。
 ステップS4448において、抽出部114は、代替値が共通値組に含まれる場合に代替値を共通データから削除する。
 図35に基づいて、生成処理(S450)を説明する。
 ステップS451において、生成部115は、共通情報毎に仮検知ルールを生成する。
 ステップS451の詳細については後述する。
 ステップS452およびステップS453は、実施の形態1におけるステップS152およびステップS153と同じである(図13参照)。
 図36に基づいて、ステップS451を説明する。
 ステップS4511およびステップS4512は、実施の形態1におけるステップS1511およびステップS1512と同じである。
 ステップS4513において、生成部115は、共通データの中の共通情報に連続値が含まれるか判定する。
 連続値が含まれる場合、処理はステップS4514に進む。
 連続値が含まれない場合、処理はステップS4515に進む。
 ステップS4514において、生成部115は、共通データの中の共通情報に連続値が含まれることを考慮し、共通データと攻撃時間の代表値とに基づいて、仮検知ルールを生成する。
 例えば、生成部115は「攻撃時間(代表値)以内に、共通情報の離散値と同じ値が含まれるログ情報が共通情報の出現回数以上出現し、共通情報の全ての連続値が共通情報の範囲内である事象が検出される」という仮検知ルールを生成する。共通情報の連続値に関する条件は他の条件であってもよい。例えば、共通情報の連続値にいくらかの許容誤差を与えてもよい。
 ステップS4515において、生成部115は、共通データの中の共通情報に連続値が
含まれないことを考慮し、仮検知ルールを生成する。
 具体的には、生成部115は、実施の形態1のステップS1513における方法と同じ方法で仮検知ルールを生成する(図14参照)。
 ステップS4516において、生成部115は、未選択の共通データが有るか判定する。ステップS4516において、未選択の共通データを未選択データと呼ぶ。
 未選択データが有る場合、処理はステップS4512に進む。
 未選択データが無い場合、処理は終了する。
***実施の形態4の効果***
 ログ情報に含まれる分類軸以外の要素を含めて共通情報を生成することができる。そして、その共通情報に基づいて仮検知ルールおよび攻撃検知ルールを生成することができる。これにより、攻撃手段のより多くの特徴を表す仮検知ルールおよび攻撃検知ルールを生成することが可能となる。
 実施の形態5.
 代替値リスト320の生成を補助する形態について、主に実施の形態1と異なる点を図37から図39に基づいて説明する。
***構成の説明***
 ルール生成システム200の構成は、実施の形態1における構成と同じである(図1参照)。
 図37に基づいて、ルール生成装置100の構成を説明する。
 ルール生成装置100は、さらに、登録部116という要素を備える。
 ルール生成プログラムは、さらに、登録部116としてコンピュータを機能させる。
 図38に基づいて、攻撃実行環境210の構成を説明する。
 攻撃実行環境210は、さらに、攻撃装置218を備える。
 攻撃装置218は、攻撃手段に従って攻撃活動を実施する。
 攻撃装置218は動作ログを記録できる。動作ログは、動作の結果が記録されたログ情報である。
 動作ログには、攻撃元および攻撃先などの攻撃に関する具体的な情報が記載される。動作ログの形式は既知であり、指定される要素名に対応した値を動作ログから取得することが可能である。
***動作の説明***
 図39に基づいて、取得処理(S500)を説明する。
 取得処理(S500)は、1つ以上の置き換え対象値を取得するための処理であり、登録部116によって実行される。
 ステップS501において、登録部116は、攻撃装置218を用いて、各攻撃手段に対応する攻撃活動を実行する。
 具体的には、登録部116は、攻撃実行を攻撃装置218に要求する。そして、攻撃装置218が、各攻撃手段に従って攻撃活動を実行する。
 ステップS502において、登録部116は、攻撃活動の実行によって発生する1つ以上の動作ログを攻撃装置218から取得する。
 ステップS503において、登録部116は、1つ以上の動作ログから1つ以上の置き換え対象値を抽出する。
 具体的には、登録部116は、指定箇所に記載された情報を各動作ログから抽出する。抽出される情報が置き換え対象値である。指定箇所は、動作ログの中の特定の箇所であり、動作ログのログ形式に基づいて指定される。
 ステップS504において、登録部116は、1つ以上の置き換え対象値を代替値リスト320に登録する。
***実施の形態5の効果***
 1つ以上の置き換え対象値を取得することができる。そのため、代替値リスト320の作成が容易となる。その結果、ルール生成装置100を動作させるのに必要な準備コストを下げるという効果を奏する。
***実施の形態の補足***
 図40に基づいて、ルール生成装置100のハードウェア構成を説明する。
 ルール生成装置100は処理回路109を備える。
 処理回路109は、受付部111と分類部112と集約部113と抽出部114と生成部115と記憶部120とを実現するハードウェアである。
 処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
 処理回路109が専用のハードウェアである場合、処理回路109は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate
 Arrayの略称である。
 ルール生成装置100は、処理回路109を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路109の役割を分担する。
 処理回路109において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路109はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
 100 ルール生成装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 通信装置、109 処理回路、111 受付部、112 分類部、113 集約部、114 抽出部、115 生成部、116 登録部、120 記憶部、200 ルール生成システム、210 攻撃実行環境、211 ユーザ端末、212 ファイアウォール、213 プロキシサーバ、214 侵入検知装置、215 通信模擬装置、216 ログ分析装置、217 時間計測装置、218 攻撃装置、220 ログ分析装置、300 攻撃ログファイル、301 攻撃ログデータ、302 ログ情報、310 第2要素リスト、320 代替値リスト、330 集約ファイル、340 共通ファイル、350 仮検知ルールファイル、360 分析結果ファイル、370 定義ファイル。

Claims (11)

  1.  複数の攻撃ログデータについて攻撃ログデータ毎に、攻撃ログデータに含まれる1つ以上のログ情報を第1要素の値と第2要素の値との値組別に分類することによって、1つ以上のログ情報グループを生成する分類部と、
     ログ情報グループ毎に、ログ情報グループに含まれる1つ以上のログ情報を集約することによって、集約データを生成する集約部と、
     1つ以上の値組のうち前記複数の攻撃ログデータに共通する値組毎に、前記複数の攻撃ログデータに対応する複数の集約データから共通情報を抽出する抽出部と、
     1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する生成部と
    を備えるルール生成装置。
  2.  前記集約部は、前記ログ情報グループに含まれるログ情報の数であるログ情報数を数え、前記ログ情報数を前記集約データに含める
    請求項1に記載のルール生成装置。
  3.  前記抽出部は、前記複数の集約データに含まれる複数のログ情報数に基づいてログ情報数の代表値を決定し、前記共通情報と前記ログ情報数の代表値とを含む共通データを生成し、
     前記生成部は、1つ以上の共通データに基づいて1つ以上の攻撃検知ルールを生成する請求項2に記載のルール生成装置。
  4.  前記集約部は、各集約データに含まれる置き換え対象値を代替値に置き換える
    請求項1に記載のルール生成装置。
  5.  前記抽出部は、前記共通情報に前記代替値が含まれる場合に前記代替値を前記共通情報から削除する、あるいは前記代替値を任意値に変更する
    請求項4に記載のルール生成装置。
  6.  前記生成部は、共通情報毎に共通情報に基づいて仮検知ルールを生成し、仮検知ルール毎に仮検知ルールに該当する事象が検知される回数である検知数を取得し、採用条件を満たす検知数に対応する仮検知ルールを前記攻撃検知ルールとして選択する
    請求項1に記載のルール生成装置。
  7.  前記生成部は、共通情報の組毎に共通情報に基づいて仮検知ルールを生成し、仮検知ルール毎に仮検知ルールに該当する事象が検知される回数である検知数を取得し、採用条件を満たす検知数に対応する仮検知ルールを前記攻撃検知ルールとして選択する
    請求項1に記載のルール生成装置。
  8.  各ログ情報が出現時刻を含み、
     前記抽出部は、攻撃ログデータ毎に各ログ情報の出現時刻に基づいてログ情報の出現周期を算出し、前記共通情報と前記出現周期とを含む共通データを生成し、
     前記生成部は、1つ以上の共通データに基づいて1つ以上の攻撃検知ルールを生成する請求項1に記載のルール生成装置。
  9.  前記集約部は、第1要素値と識別要素値との組と各要素の値タイプを示す値タイプ情報とを互いに対応付ける定義ファイルから前記ログ情報グループに含まれる第1要素値と識別要素値との組に対応する値タイプ情報を取得し、取得した値タイプ情報に基づいて前記ログ情報グループから各要素の集約情報を取得し、各要素の集約情報を含む前記集約データを生成する
    請求項1に記載のルール生成装置。
  10.  前記ルール生成装置は、ログ取得環境で得られる1つ以上のログ情報のそれぞれから指定箇所に記載された置き換え対象値を抽出し、抽出した各置き換え対象値を、1つ以上の代替値と1つ以上の置き換え対象値とを互いに対応付ける代替値リストに登録する登録部を備え、
     前記集約部は、前記集約データに含まれる第2要素値が前記代替値リストに含まれる置き換え対象値と一致する場合、前記第2要素値と一致する置き換え対象値に対応する代替値を前記代替値リストから取得し、前記集約データに含まれる第2要素値を、取得した代替値に置き換える
    請求項1に記載のルール生成装置。
  11.  複数の攻撃ログデータについて攻撃ログデータ毎に、攻撃ログデータに含まれる1つ以上のログ情報を第1要素の値と第2要素の値との値組別に分類することによって、1つ以上のログ情報グループを生成する分類処理と、
     ログ情報グループ毎に、ログ情報グループに含まれる1つ以上のログ情報を集約することによって、集約データを生成する集約処理と、
     1つ以上の値組のうち前記複数の攻撃ログデータに共通する値組毎に、前記複数の攻撃ログデータに対応する複数の集約データから共通情報を抽出する抽出処理と、
     1つ以上の共通情報に基づいて1つ以上の攻撃検知ルールを生成する生成処理と
    をコンピュータに実行させるためのルール生成プログラム。
PCT/JP2018/023568 2018-02-26 2018-06-21 ルール生成装置およびルール生成プログラム WO2019163154A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/960,727 US20200342095A1 (en) 2018-02-26 2018-06-21 Rule generaton apparatus and computer readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-032092 2018-02-26
JP2018032092A JP6719492B2 (ja) 2018-02-26 2018-02-26 ルール生成装置およびルール生成プログラム

Publications (1)

Publication Number Publication Date
WO2019163154A1 true WO2019163154A1 (ja) 2019-08-29

Family

ID=67688030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/023568 WO2019163154A1 (ja) 2018-02-26 2018-06-21 ルール生成装置およびルール生成プログラム

Country Status (3)

Country Link
US (1) US20200342095A1 (ja)
JP (1) JP6719492B2 (ja)
WO (1) WO2019163154A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021215019A1 (en) * 2020-04-23 2021-10-28 Nec Corporation Information processing apparatus, information processing method and non-transitory computer readable medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021241299A1 (ja) * 2020-05-25 2021-12-02
US12034731B2 (en) * 2021-01-29 2024-07-09 Paypal, Inc. Evaluating access requests using assigned common actor identifiers
CN114448679B (zh) * 2022-01-04 2024-05-24 深圳萨摩耶数字科技有限公司 攻击链构建方法、装置、电子设备及存储介质
CN115174201B (zh) * 2022-06-30 2023-08-01 北京安博通科技股份有限公司 一种基于筛选标签的安全规则管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233042A (ja) * 2009-03-27 2010-10-14 Clwit Inc 検出ルール生成システム、及び、それを備える伝送路探索システム
US20160219068A1 (en) * 2015-01-27 2016-07-28 Electronics And Telecommunications Research Institute Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation
US20170149830A1 (en) * 2015-11-24 2017-05-25 Electronics And Telecommunications Research Institute Apparatus and method for automatically generating detection rule

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495429B2 (en) * 2010-05-25 2013-07-23 Microsoft Corporation Log message anomaly detection
US11343265B2 (en) * 2010-07-21 2022-05-24 Seculert Ltd. System and methods for malware detection using log analytics for channels and super channels
US10397246B2 (en) * 2010-07-21 2019-08-27 Radware, Ltd. System and methods for malware detection using log based crowdsourcing analysis
US9753909B2 (en) * 2012-09-07 2017-09-05 Splunk, Inc. Advanced field extractor with multiple positive examples
KR101239401B1 (ko) * 2012-10-05 2013-03-06 강명훈 보안 시스템의 로그 분석 시스템 및 방법
CN104937886B (zh) * 2013-01-30 2017-10-24 日本电信电话株式会社 日志分析装置、信息处理方法
JP6201614B2 (ja) * 2013-10-11 2017-09-27 富士通株式会社 ログ分析装置、方法およびプログラム
EP3099024B1 (en) * 2014-03-19 2019-01-02 Nippon Telegraph and Telephone Corporation Analysis rule adjustment device, analysis rule adjustment system, analysis rule adjustment method, and analysis rule adjustment program
JP5640166B1 (ja) * 2014-03-31 2014-12-10 株式会社ラック ログ分析システム
US9779005B2 (en) * 2014-06-24 2017-10-03 Ca, Inc. Analyzing log streams based on correlations between data structures of defined node types
US9202249B1 (en) * 2014-07-03 2015-12-01 Palantir Technologies Inc. Data item clustering and analysis
US20200067861A1 (en) * 2014-12-09 2020-02-27 ZapFraud, Inc. Scam evaluation system
US9367872B1 (en) * 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US11226975B2 (en) * 2015-04-03 2022-01-18 Oracle International Corporation Method and system for implementing machine learning classifications
US9934378B1 (en) * 2015-04-21 2018-04-03 Symantec Corporation Systems and methods for filtering log files
US10394868B2 (en) * 2015-10-23 2019-08-27 International Business Machines Corporation Generating important values from a variety of server log files
US11200246B2 (en) * 2016-09-26 2021-12-14 Splunk Inc. Hash bucketing of data
US11032307B2 (en) * 2017-04-30 2021-06-08 Splunk Inc. User interface for defining custom threat rules in a network security system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233042A (ja) * 2009-03-27 2010-10-14 Clwit Inc 検出ルール生成システム、及び、それを備える伝送路探索システム
US20160219068A1 (en) * 2015-01-27 2016-07-28 Electronics And Telecommunications Research Institute Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation
US20170149830A1 (en) * 2015-11-24 2017-05-25 Electronics And Telecommunications Research Institute Apparatus and method for automatically generating detection rule

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021215019A1 (en) * 2020-04-23 2021-10-28 Nec Corporation Information processing apparatus, information processing method and non-transitory computer readable medium

Also Published As

Publication number Publication date
US20200342095A1 (en) 2020-10-29
JP6719492B2 (ja) 2020-07-08
JP2019148894A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
WO2019163154A1 (ja) ルール生成装置およびルール生成プログラム
CN108763031B (zh) 一种基于日志的威胁情报检测方法及装置
US20210037029A1 (en) Detection of adversary lateral movement in multi-domain iiot environments
CN107302547B (zh) 一种web业务异常检测方法及装置
CN113676484B (zh) 一种攻击溯源方法、装置和电子设备
US20070011745A1 (en) Recording medium recording worm detection parameter setting program, and worm detection parameter setting device
TWI616771B (zh) 殭屍網路偵測系統及其方法
TW201703465A (zh) 網路異常偵測技術
JP7069399B2 (ja) コンピュータセキュリティインシデントを報告するためのシステムおよび方法
JP6039826B2 (ja) 不正アクセスの検知方法および検知システム
CN107547490B (zh) 一种扫描器识别方法、装置及系统
WO2016080232A1 (ja) 悪性通信パターン抽出装置、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラム
WO2018159362A1 (ja) ログ分析装置、ログ分析方法およびログ分析プログラム
CN107395650B (zh) 基于沙箱检测文件识别木马回连方法及装置
US20140040279A1 (en) Automated data exploration
TW201702921A (zh) 異常預測方法、系統及裝置
US20170318037A1 (en) Distributed anomaly management
CN115766258A (zh) 一种基于因果关系图的多阶段攻击趋势预测方法、设备及存储介质
KR102040371B1 (ko) 네트워크 공격 패턴 분석 및 방법
JP2005242988A (ja) ログ情報管理システム、サービス提供システム、ログ情報管理プログラムおよびサービス提供プログラム、並びにログ情報管理方法およびサービス提供方法
WO2022264420A1 (ja) セキュリティ監視装置、セキュリティ監視方法、及び、セキュリティ監視プログラム
WO2022156293A1 (zh) 处理告警日志的方法、装置及存储介质
CN117391214A (zh) 模型训练方法、装置及相关设备
TW201928746A (zh) 偵測惡意程式的方法和裝置
CN116155519A (zh) 威胁告警信息处理方法、装置、计算机设备和存储介质

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18906744

Country of ref document: EP

Kind code of ref document: A1