[go: up one dir, main page]

WO2016208158A1 - 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体 - Google Patents

情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体 Download PDF

Info

Publication number
WO2016208158A1
WO2016208158A1 PCT/JP2016/002894 JP2016002894W WO2016208158A1 WO 2016208158 A1 WO2016208158 A1 WO 2016208158A1 JP 2016002894 W JP2016002894 W JP 2016002894W WO 2016208158 A1 WO2016208158 A1 WO 2016208158A1
Authority
WO
WIPO (PCT)
Prior art keywords
rule
alert
information
classification
information processing
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2016/002894
Other languages
English (en)
French (fr)
Inventor
池田 聡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017524621A priority Critical patent/JP6690646B2/ja
Priority to US15/735,256 priority patent/US10819720B2/en
Publication of WO2016208158A1 publication Critical patent/WO2016208158A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Definitions

  • the present invention relates to information communication, and more particularly to an information processing apparatus, an information processing system, an information processing method, and a storage medium that monitor communication.
  • a device that monitors a network that communicates information uses a firewall or IDS (Intrusion Detection System) to monitor the communication and, if necessary, to prevent attacks or unauthorized intrusions on the monitored network. Block communication. In recent years, targeted attacks aimed at stealing intellectual property or confidential information have increased. Therefore, the demand for cybersecurity for networks is increasing. As a technique for realizing cyber security, a technique for monitoring a network and responding to an incident using an SOC (Security Operation Center) has become common.
  • IDS Intrusion Detection System
  • a device that monitors a network classifies alerts detected by a monitoring device that implements a function such as a firewall or IDS based on the degree of risk (see, for example, Non-Patent Document 1).
  • An alert is a message that calls attention.
  • the alert is a message notifying that an abnormality in the network has been detected.
  • the alert that the monitoring device creates based on the detection includes an alert that does not need to be reported as an incident.
  • the alert detected by the monitoring device includes an alert with low risk or an alert that is a false detection.
  • an operator who performs network monitoring work classifies alerts by referring to the following information, that is, information included in detected alerts or external information. Set the risk level. And the apparatus which monitors a network reports the detected alert as an alert corresponding to an incident as needed based on the risk set by the operator.
  • information to be referred to in the above classification includes, for example, a detection rule that detects an alert, an IP (Internet protocol) address and port number of a transmission source host, and an IP address and port number of a transmission destination host.
  • a detection rule that detects an alert for example, an IP (Internet protocol) address and port number of a transmission source host, and an IP address and port number of a transmission destination host.
  • IP Internet protocol
  • information to be referred to in the above classification for example, the importance assigned to the detection rule used by the security vendor to detect the alert, and the communication included in the communication (for example, packet) that caused the detection There is information.
  • the system described in Non-Patent Document 1 classifies frequently occurring alerts (routine alerts). More specifically, the system described in the non-patent classification 1 includes the signature (detection rule identifier) included in the alert, the IP address and port number of the transmission source host, and the IP address and port number of the transmission destination host.
  • the system described in Non-Patent Category 1 uses transactions included in frequent alerts as frequent patterns, and executes mining of the frequent patterns.
  • the system described in Non-Patent Category 1 extracts a frequent saturated item set (frequent closed item-sets) based on frequent item set mining (frequent item-set mining).
  • the system described in non-patent classification 1 uses a frequent alert pattern (frequent pattern) as a rule used for alert classification based on a frequent saturated item set.
  • the system described in non-patent classification 1 classifies routine alerts based on the above rules.
  • routine alerts are highly similar to patterns that occurred frequently in the past. Also, routine alerts are generally less important. That is, the routine alert is an alert that can be classified without requiring the operator's judgment. Therefore, the system described in the non-patent classification 1 can classify alerts based on the above rules, reduce the classification work in the operator, and realize the efficiency of the work of the operator.
  • Non-Patent Document 1 cannot generate rules based on communication information included in detected alerts. For example, the importance of an alert may need to be determined based on the content of communication information included in the alert. That is, the importance levels of a plurality of alerts determined to match the technology described in Non-Patent Document 1 based on the above information (for example, information on signatures, transmission source hosts, and transmission destination hosts) have different importance levels. There is a case. In this case, an apparatus that generates a rule for classification (classification rule) needs to generate different classification rules corresponding to the importance of each alert. However, in the above case, since the technique described in Non-Patent Document 1 cannot distinguish the importance of alerts, it cannot generate an appropriate classification rule.
  • Non-Patent Document 1 has a problem that an appropriate classification rule may not be generated.
  • An object of the present invention is to provide an information processing apparatus, an information processing system, an information processing method, and a storage medium that solve the above-described problems and generate appropriate classification rules.
  • An information processing apparatus determines a cluster identifier indicating a cluster that is a result of classifying an alert based on communication information that is communication information included in an alert, and determines whether the alert is a correct detection or not.
  • a combination of information included in the alert information in the alert information and cluster analysis means for receiving the classification result as the classification of detection and generating alert information that is information including the alert, the cluster identifier and the classification result Calculating the number of occurrences of a pattern including at least a cluster identifier, extracting frequent patterns that are more frequent than a predetermined threshold, and setting or updating the classification result associated with the alert based on the extracted frequent patterns
  • An information processing system includes the information processing apparatus, alert display means that receives alert information from the information processing apparatus, displays the received alert information, and inputs a classification result for the displayed alert information. And a presentation device including input means for receiving and transmitting the received input to the information processing device.
  • a data processing method determines a cluster identifier indicating a cluster that is a result of classifying an alert based on communication information that is communication information included in the alert, and determines whether the alert is a correct detection or not.
  • a classification result that is a classification of detection is received, alert information that is information including an alert, a cluster identifier, and a classification result is generated, and in the alert information, at least a cluster identifier by a combination of information included in the alert information Classification rule that is used for setting or updating the classification result associated with the alert based on the extracted frequent pattern. And update the old classification rule generated in the past with the newly generated classification rule.
  • the classification result set or change included in the alert information.
  • the storage medium includes a process for determining a cluster identifier indicating a cluster that is a result of classifying an alert based on communication information that is communication information included in the alert, and whether the alert is a positive detection.
  • a combination of information included in alert information in alert information, processing for receiving a classification result that is a classification of false detection, processing for generating alert information that is information including an alert, a cluster identifier, and a classification result The process of calculating the number of appearances of a pattern including at least a cluster identifier, the process of extracting a frequent pattern that is a pattern having a number of appearances greater than a predetermined threshold, and the classification result associated with the alert based on the extracted frequent pattern
  • a process for generating classification rules used for setting or updating the settings, and an old classification rule generated for images It stores the processing of updating in the generated classification rule, a program for executing the processing and to a computer for setting or updating the classification result contained in the alert information based on the classification rules.
  • FIG. 1 is a block diagram showing an example of the configuration of an information processing system including an information processing apparatus according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the first embodiment.
  • FIG. 3 is a block diagram illustrating an example of the configuration of the presentation device according to the first embodiment.
  • FIG. 4 is a diagram illustrating an example of alert information according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a classification rule according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of a frequent pattern set used in the description of the first embodiment.
  • FIG. 7 is a flowchart illustrating an example of the clustering operation in the cluster analysis unit according to the first embodiment.
  • FIG. 1 is a block diagram showing an example of the configuration of an information processing system including an information processing apparatus according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an example of the configuration of the information processing apparatus according to
  • FIG. 8 is a flowchart illustrating an example of an operation of generating a classification rule in the rule generation unit according to the first embodiment.
  • FIG. 9 is a flowchart illustrating an example of an operation of applying the classification rule in the rule application unit according to the first embodiment.
  • FIG. 10 is a block diagram illustrating an example of a configuration of an information processing system including the information processing apparatus according to the second embodiment.
  • FIG. 11 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the second embodiment.
  • FIG. 12 is a block diagram illustrating an example of a configuration of a presentation device according to the second embodiment.
  • FIG. 13 is a diagram illustrating an example of a classification rule according to the second embodiment.
  • FIG. 10 is a block diagram illustrating an example of a configuration of an information processing system including the information processing apparatus according to the second embodiment.
  • FIG. 11 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the second embodiment.
  • FIG. 12 is a block
  • FIG. 14 is a book diagram illustrating an example of a configuration of an information processing system including an information processing apparatus according to the third embodiment.
  • FIG. 15 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the third embodiment.
  • FIG. 16 is a flowchart illustrating an example of an operation for generating a rule in the rule generation unit according to the third embodiment.
  • FIG. 17 is a block diagram illustrating an exemplary configuration of an information processing apparatus according to a modification.
  • FIG. 18 is a block diagram illustrating an exemplary configuration of an information processing apparatus according to a modification.
  • FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 10 including an information processing apparatus 20 according to the first embodiment of the present invention.
  • the information processing system 10 includes an information processing device 20, a presentation device 30, a network 40, and a monitoring device 50.
  • the network 40 is a monitoring target in the present embodiment, that is, in the information processing system 10.
  • the network 40 according to the present embodiment is not particularly limited.
  • the network 40 may be an in-house network limited to use within a predetermined range.
  • the network 40 is not limited to a physical network, and may be a logical network such as a VLAN (Virtual Local Area Network). Therefore, detailed description of the network 40 is omitted.
  • VLAN Virtual Local Area Network
  • the monitoring device 50 monitors communication information in the network 40.
  • the monitoring device 50 detects a communication abnormality occurring in the network 40 based on a predetermined detection rule.
  • the communication abnormality occurring in the network 40 is, for example, an abnormality that occurs due to an external attack on the network 40 or the operation of the network 40.
  • the monitoring apparatus 50 notifies the information processing apparatus 20 of a detection result (detected abnormality) as an alert.
  • the monitoring device 50 according to the present embodiment is not particularly limited, and is a device that monitors a commonly used network 40. Therefore, detailed description of the monitoring device 50 is omitted.
  • the alert includes communication information.
  • Communication information is information used for communication.
  • the communication information is a byte string included as a payload of a packet used for communication, or a character string included in an HTTP (Hyper Text Transfer Transfer Protocol) request or HTTP response.
  • HTTP Hyper Text Transfer Transfer Protocol
  • the communication information is not limited to the above, and may be other information.
  • the information processing apparatus 20 analyzes the alert. The configuration and operation of the information processing apparatus 20 will be described in detail later.
  • the presentation device 30 presents information (for example, alert information) analyzed by the information processing device 20 to the operator of the information processing system 10. In addition, the presentation device 30 transmits an instruction from the operator (for example, a classification result of alert information) to the information processing device 20.
  • information for example, alert information
  • the presentation device 30 transmits an instruction from the operator (for example, a classification result of alert information) to the information processing device 20.
  • FIG. 3 is a block diagram showing an example of the configuration of the presentation device 30 according to the first embodiment.
  • the presentation device 30 includes an alert display unit 31 and an input unit 32.
  • the alert display unit 31 receives information (for example, alert information or classification rules) analyzed by the information processing apparatus 20 from the information processing apparatus 20.
  • information for example, alert information or classification rules
  • alert information will be used as an example of information.
  • the alert display unit 31 displays the received alert information.
  • the information displayed by the alert display unit 31 is information for the operator to input an instruction to the input unit 32. Therefore, the alert display unit 31 may omit displaying some of the items included in the alert information. Moreover, the alert display part 31 may display information different from the received information.
  • the input unit 32 receives an input (instruction) from the operator and transmits it to the information processing apparatus 20.
  • the operator's input is, for example, an input (instruction) of a classification result of alert information described later.
  • the input unit 32 receives an input (correction detection or erroneous detection) of a classification result which is an operator determination result for the displayed alert information.
  • the “classification result” is information indicating the classification of whether the alert is a positive detection or a false detection. Then, the input unit 32 transmits the received operator input (instruction) to the information processing apparatus 20.
  • the information processing apparatus 20 stores the received information in the alert information classification result. For example, when the information processing apparatus 20 receives the classification result from the presentation apparatus 30, the information processing apparatus 20 stores (overwrites) the received classification result value in the stored classification result.
  • FIG. 2 is a block diagram illustrating an example of the configuration of the information processing apparatus 20 according to the first embodiment.
  • the information processing apparatus 20 includes a cluster analysis unit 21, a rule generation unit 22, a rule application unit 23, an alert information storage unit 24, and a rule storage unit 25.
  • the cluster analysis unit 21 receives an alert from the monitoring device 50. Then, the cluster analysis unit 21 classifies the alerts into clusters (clusters) based on the communication information included in the alerts.
  • cluster identifier information indicating the cluster determined by the cluster analysis unit 21 is referred to as a “cluster identifier”.
  • the method used by the cluster analysis unit 21 for clustering is not particularly limited. For example, the cluster analysis unit 21 may use the similarity of the communication information included in the alert for clustering.
  • the cluster analysis unit 21 may receive alerts indirectly rather than receiving alerts directly. Alternatively, the cluster analysis unit 21 may perform an operation described below on an alert stored in a storage device (not shown).
  • the cluster analysis unit 21 receives the alert classification result from the presentation device 30.
  • the cluster analysis unit 21 stores the alert in the alert information storage unit 24 in association with the cluster identifier indicating the cluster into which the alert is classified and the classification result for the alert.
  • alert information is information including an alert, a cluster identifier, and a classification result.
  • the cluster analysis unit 21 is also configured to generate alert information by collecting the above information. The alert information will be described in detail later.
  • the configuration for generating the alert information need not be limited to the cluster analysis unit 21.
  • the rule application unit 23 may receive an alert and a cluster identifier from the cluster analysis unit 21, add a classification result, and generate alert information.
  • the rule generation unit 22 generates a classification rule used for classifying alerts based on the alert information stored in the alert information storage unit 24.
  • the rule generation unit 22 stores the generated classification rule in the rule storage unit 25.
  • the classification rules will be described in detail later.
  • the rule application unit 23 applies the classification rule stored in the rule storage unit 25 to the alert information stored in the alert information storage unit 24, and sets the applied result to the classification result included in the alert information. .
  • the rule application unit 23 updates the classification result.
  • the alert information storage unit 24 stores alert information.
  • the alert information storage unit 24 may store the alert information as one data set.
  • the alert information storage unit 24 may store the alert, the information indicating the cluster, and the classification result as separate data, and may store information indicating the relationship between them. However, in the following description, it is assumed that the alert information storage unit 24 stores the alert information as one data set.
  • FIG. 4 is a diagram illustrating an example of alert information 400 stored in the alert information storage unit 24 according to the first embodiment.
  • the alert information 400 includes a detection time 401, a transmission source IP address 402, a transmission source port number 403, a transmission destination IP address 404, and a transmission destination port number 405.
  • the alert information 400 includes a detection rule identifier 406, a cluster identifier 407, a classification result 408, and communication information 409. That is, the alert information 400 is configured as a set of information including these.
  • each row indicates each alert information 400.
  • information included in the alert includes detection time 401, transmission source IP address 402, transmission source port number 403, transmission destination IP address 404, transmission destination port number 405, detection rule identifier 406, and , Communication information 409.
  • the cluster identifier 407 is a result of clustering in the cluster analysis unit 21.
  • the classification result 408 is a classification result of the alert information 400 received from the presentation device 30 or applied by the rule application unit 23.
  • the detection time 401 is the time when the monitoring device 50 detects an alert.
  • the transmission source IP address 402 and the transmission source port number 403 are information indicating the transmission source of the communication related to the detected alert.
  • the transmission destination IP address 404 and the transmission destination port number 405 are information indicating the transmission destination of communication related to the detected alert.
  • the detection rule identifier 406 is information for identifying a rule used by the monitoring device 50 for detection.
  • Communication information 409 is information that is specifically communicated in communication related to the detected alert.
  • the communication information 409 is, for example, a byte string included as a payload of a packet used for communication, or a character string included in an HTTP request or HTTP response.
  • classification result 408 takes “correct detection”, “false detection”, and “blank” as values.
  • “blank” indicates that the alert is unclassified.
  • the “blank” is also an initial value when the alert information 400 is stored in the alert information storage unit 24.
  • the classification result 408 of the present embodiment is not limited to the above, and may take another value.
  • the alert information 400 shown in FIG. 4 will be described in more detail.
  • “:” is used to collectively indicate an IP address and a port number.
  • “192.168.0.1:2000” indicates that the IP address is “192.168.0.1” and the port number is “2000”.
  • the alert 4 is the alert information 400 corresponding to the alert detected at the time “9:00:12” based on the detection rule “S1” in the monitoring device 50.
  • the alert is an alert related to communication from the transmission source of “192.168.0.1:2000” to the transmission destination of “10.0.1: 80”.
  • the alert is an alert classified by the cluster analysis unit 21 into the cluster indicated by the cluster identifier “1”.
  • the cluster indicated by the cluster identifier is simply referred to as a cluster “cluster identifier (for example, 1)”.
  • the classification result 408 of the alert information 400 is “correct detection”. That is, the alert information 400 is the alert information 400 detected correctly.
  • the blank in the classification result 408 of the alert information 400 shown in the sixth line indicates “unclassified”.
  • alert information 400 may include other information in addition to the above information. Or as long as the operation
  • movement demonstrated later is realizable, the alert information 400 does not need to contain some information shown in FIG. 4 except the communication information 409 and the cluster identifier 407. FIG. 4 the communication information 409 and the cluster identifier 407.
  • the rule storage unit 25 stores the classification rule generated by the rule generation unit 22.
  • the rule storage unit 25 may store the classification rules as one data set. Or the rule memory
  • FIG. 5 is a diagram illustrating an example of the classification rule 500 stored in the rule storage unit 25 according to the first embodiment.
  • the classification rule 500 includes a condition unit 501 and a classification operation unit 509. That is, the classification rule 500 is configured as a set of information.
  • each row indicates a classification rule 500.
  • the condition part 501 includes conditions used for determining conformity.
  • the condition unit 501 illustrated in FIG. 5 includes a transmission source IP address 502, a transmission source port number 503, a transmission destination IP address 504, a transmission destination port number 505, a detection rule identifier 506, and a cluster identifier 507. including.
  • the meaning of each piece of information shown in FIG. 5 is the same as the information shown in FIG.
  • the condition unit 501 may include at least the cluster identifier 507. That is, the condition unit 501 may not include part or all of information other than the cluster identifier 507 illustrated in FIG. 5 as a condition. Alternatively, the condition unit 501 may include other information as a condition.
  • condition unit 501 may include not only a fixed value as a condition but also a condition that it matches an arbitrary value.
  • “*” shown in the condition part 501 is a symbol indicating conformity with an arbitrary value.
  • the arbitrary value includes a blank.
  • condition unit 501 may include information indicating a range as a condition.
  • the source IP address 502 and the source port number 503 are arbitrary.
  • the classification rule 500 shown in the first line is communication to the transmission destination of “10.1.0.1:80” regardless of communication regarding any transmission source, and is based on the detection rule “S1”. And the alert information 400 classified into the cluster “1”.
  • the classification operation unit 509 of the classification rule 500 is information used by the rule application unit 23 in an operation for an alert that matches the condition unit 501.
  • the classification operation unit 509 includes a classification result 508.
  • This classification result 508 is the same information as the classification result 408 shown in FIG.
  • the classification rule 500 whose classification result 508 is “correct detection” is hereinafter referred to as “correct detection rule”.
  • the classification rule 500 whose classification result 508 is “false detection” is referred to as “false detection rule”.
  • FIG. 7 is a flowchart showing an example of the clustering operation in the cluster analysis unit 21 according to the first embodiment.
  • the cluster analysis unit 21 When the cluster analysis unit 21 receives an alert from the monitoring device 50, the cluster analysis unit 21 starts an operation (step S101).
  • the cluster analysis unit 21 acquires the communication information 409 included in the received alert. Then, the cluster analysis unit 21 clusters received alerts based on the similarity of the communication information 409. Note that the similarity used by the cluster analysis unit 21 for clustering is not particularly limited. In the following description, as an example, the cluster analysis unit 21 uses the distance between the communication information 409 as the similarity. However, the cluster analysis unit 21 may use other information instead of the distance between the communication information 409 as information (similarity) used for clustering.
  • the cluster analysis unit 21 converts the received communication information 409 of the alert into data having a structure in which the distance between the communication information 409 can be calculated (step S102).
  • the conversion process in the cluster analysis unit 21 is not particularly limited. In the following description, as an example, it is assumed that the cluster analysis unit 21 uses a histogram (H) in which the number of appearances of characters included in the communication information 409 is expressed as a vector as data having a structure in which the distance can be calculated.
  • H histogram
  • the cluster analysis unit 21 determines the distance (from the converted communication information 409 (for example, histogram (H)) to the cluster (C min ) having a representative point closest to the communication information 409 ( D min ) is calculated (step S103).
  • the distance calculation method used by the cluster analysis unit 21 is not particularly limited.
  • the cluster analysis unit 21 can use various general distances. Therefore, in the following description, it is assumed that the cluster analysis unit 21 uses the Euclidean distance.
  • the cluster analysis unit 21 has no particular limitation on the value to be used as the representative point, and can use various values that can be calculated from the cluster. Therefore, in the following description, the representative point of the cluster is the average value of the converted data of the communication information 409 included in the alert belonging to the cluster. However, alerts belonging to each cluster are actually stored as alert information 400.
  • the cluster analysis unit 21 may calculate the distance (D min ) as follows. That is, the cluster analysis unit 21 determines the distance (D i : i is the correspondence between the histogram (H) and the representative point of each cluster (C i : i is a subscript indicating a cluster and an integer of 1 or more). Indicating a cluster to perform). As described above, the cluster analysis unit 21 uses the average value of the converted histogram (H) of the communication information 409 included in the alert belonging to the cluster (C i ) as the representative point of each cluster (C i ). Further, as described above, the cluster analysis unit 21 uses the Euclidean distance as the distance (D i ).
  • the cluster analyzer 21 the distance (D i) distance is minimum (D min) and comprising clusters (C i), and the closest cluster (C min).
  • the cluster analysis unit 21 After calculating the cluster (C min ) and the distance (D min ), the cluster analysis unit 21 compares the predetermined threshold (D th ) with the distance (D min ) (step S104).
  • the threshold value (D th ) is a value set in advance in the cluster analysis unit 21.
  • the cluster analysis unit 21 adds a new cluster (C new ) to the cluster set (step S105). Specifically, the cluster analysis unit 21 adds a representative point of the received alert communication information 409 (for example, the histogram (H) described above) to the cluster set as a new cluster (C new ).
  • a representative point of the received alert communication information 409 for example, the histogram (H) described above
  • the cluster analysis unit 21 uses the received alert communication information 409 (for example, histogram (H)) to obtain the longest distance.
  • the cluster (C min ) near is updated (step S106). Specifically, the cluster analysis unit 21 updates the representative point of the cluster (C min ) so that the average value including the communication information 409 (for example, histogram (H)) of the received alert is obtained.
  • the cluster analysis unit 21 stores the clustering result for the received alert and the alert information 400 in the alert information storage unit 24 (step S107).
  • the result of clustering is the addition of a new cluster (C new ) in step S105 or the update of the cluster (C min ) in step S106.
  • the cluster analysis unit 21 clusters the received alerts based on the distance of the communication information 409 included in the alerts. For example, as shown in FIG. 4, the cluster analysis unit 21 sets a cluster identifier 407 included in the alert information 400 as clustering. As described above, the cluster analysis unit 21 sets the cluster identifier 407 using the communication information 409. That is, the cluster identifier 407 is a value set based on the communication information 409.
  • the cluster analysis unit 21 is stored in the alert information storage unit 24 when a new cluster (C new ) is added or when the cluster (C min ) is updated, that is, when the cluster changes.
  • the cluster of the alert information 400 may be reset. That is, the cluster analysis unit 21 may update the cluster identifier 407 of the alert information 400 stored in the alert information storage unit 24 when the cluster changes.
  • the cluster analysis unit 21 uses the histogram (H) as the conversion of the communication information 409.
  • the cluster analysis unit 21 may use another structure as the data structure after the conversion of the communication information 409.
  • the cluster analysis unit 21 may use an N-gram used for the search.
  • the cluster analysis unit 21 extracts N-grams in the communication information 409.
  • the cluster analysis unit 21 may use an N-gram appearance frequency vector as data used for clustering.
  • the cluster analysis unit 21 may apply weights to data used for clustering. For example, the cluster analysis unit 21 may determine the weight for the N-gram using TF-IDF (Term Frequency-Inverse Document Frequency). In this case, the cluster analysis unit 21 may calculate the distance so that N-grams appearing in many alerts have a smaller weight for the N-grams.
  • TF-IDF Term Frequency-Inverse Document Frequency
  • the cluster analysis unit 21 uses the average value of the converted data of the communication information 409 belonging to the cluster as the representative point of the cluster.
  • the representative point calculation method in the cluster analysis unit 21 need not be limited to the above.
  • the cluster analysis unit 21 may use a median value instead of the average value.
  • the cluster analysis unit 21 may use an obtainable value as the representative value.
  • the cluster analysis unit 21 may use the data (for example, the histogram (H) described above) used when a new cluster is generated in step S105 as the representative point of the cluster.
  • FIG. 8 is a flowchart illustrating an example of an operation of generating the classification rule 500 in the rule generation unit 22 according to the first embodiment.
  • the start time of the operation of the rule generation unit 22 described below is not particularly limited.
  • the rule generation unit 22 may generate the classification rule 500 periodically at a predetermined time interval. Alternatively, the rule generation unit 22 may generate the classification rule 500 when specified from an external device (not shown).
  • the rule generation unit 22 calculates the number of appearances of combinations of predetermined information (elements) included in the alert information 400 stored in the alert information storage unit 24 (hereinafter, the combination is referred to as “pattern”).
  • the pattern of this embodiment includes at least the cluster identifier 407.
  • the rule generation unit 22 includes a set of patterns (hereinafter referred to as “frequent pattern”) that appear more than a predetermined threshold (F th ) in the alert information 400 (hereinafter referred to as “frequent pattern set (FS)”). Are called (step S201). However, the rule generation unit 22 excludes the alert information 400 in which the classification result 408 is blank in the extraction of the frequent pattern set (FS). That is, the rule generation unit 22 extracts a frequent pattern set (FS) from the alert information 400 in which the classification result 408 has been set. Note that the rule generation unit 22 may generate a pattern in which a plurality of patterns having the same part of the items and different remaining items are grouped together, and the generated higher pattern may be a frequent pattern. In this case, the rule generation part 22 should just make the pattern which made the different item the item of the range containing arbitrary items (*) or all the values a frequent pattern.
  • the threshold value (F th ) is a value set in the rule generation unit 22 in advance.
  • the operator may give a threshold value (F th ) as a fixed value to the rule generation unit 22 in advance.
  • generation part 22 may determine suitably according to the number of the alert information 400 preserve
  • the method by which the rule generation unit 22 extracts the frequent pattern set (FS) is not particularly limited.
  • the rule generation unit 22 may execute the following processing as the frequent pattern set (FS) extraction. That is, the rule generation unit 22 may regard a set of information included in the classification rule 500 illustrated in FIG. 5 as a transaction, and obtain a frequent saturated item set (frequent closed item-sets) used for frequent item set mining.
  • the rule generation unit 22 counts the number of appearances of each frequent pattern (P 1 ) in the extraction of the frequent pattern set (FS).
  • the rule generation unit 22 may include information different from the information included in the alert information 400 in the frequent pattern set (FS). For example, in the extraction of the frequent pattern set (FS), the rule generation unit 22 may include an item with a higher abstraction level of information included in the alert, such as a prefix address (prefix address) of the IP address, in the transaction. .
  • prefix address a prefix address of the IP address
  • the rule generation unit 22 After extracting the frequent pattern set (FS), the rule generation unit 22 generates a classification rule 500 based on the frequent pattern set (FS). Specifically, the rule generation unit 22 repeats the following processing for the frequent pattern (P 1 ) included in the frequent pattern set (FS) (step S202). However, as already explained, some items of the frequent pattern (P 1 ) may be changed to arbitrary items (*). That is, the classification result 408 may be an arbitrary item (*). Therefore, the rule generation unit 22 repeats the following process for the frequent pattern (P 1 ) including the classification result 408 (the classification result 408 is not an arbitrary item (*)).
  • the rule generation unit 22 generates a classification rule 500 for a frequent pattern (P 1 ) with a single classification result 408.
  • the rule generator 22 the frequent pattern (P 1), to produce a negative classification result 408 (deleted) pattern (P2) included in the frequent pattern (P 1) (step S203).
  • the classification result 408 to be excluded is referred to as a classification result (L).
  • the rule generation unit 22 may change the classification result 408 to any item (*) as exclusion (deletion) in step S203.
  • the rule generation unit 22 changes the classification result 408 in the frequent pattern (P 1 ) to an arbitrary item (*) and generates a pattern (P 2 ).
  • the rule generation unit 22 determines whether or not the pattern (P 2 ) is included in the frequent pattern set (FS) (step S204).
  • the alert classification result (L) is single. It will not be. That is, there are a plurality of classification results (L) corresponding to the pattern (P 2 ). Therefore, the rule generation unit 22 does not generate a rule corresponding to the frequent pattern (P 1 ) corresponding to the pattern (P 2 ) (loop in step S205).
  • the frequent pattern set (FS) is a saturated item set with respect to the pattern (P 2 ). That is, the alert classification result (L) that matches the pattern (P 2 ) is single.
  • the rule generation unit 22 limits the frequent pattern (P 1 ) for generating the classification rule 500 based on the pattern (P 2 ).
  • the rule generation unit 22 calculates the level of detail of the pattern (P 2 ) (step S206).
  • the level of detail is a value representing the degree of narrowness of the application range of the alert for the pattern (P 2 ). That is, the rule generation unit 22 may use a value designed to take a larger value as the alert range determined to be suitable when the pattern (P 2 ) is used is narrower as the level of detail.
  • the rule generation unit 22 may add a predetermined value as the degree of detail. In this case, the rule generation unit 22 may change the value to be added for each item included in the alert information 400 and change the degree of contribution of each item to the degree of detail.
  • the pattern (P 2 ) is a pattern obtained by deleting the classification result (L) from the frequent pattern (P 1 ) (or as an arbitrary item (*)). That is, the level of detail is also the degree of narrowness of the application range of the alert for the frequent pattern (P 1 ). That is, the level of detail is the degree of narrowness of the application range of alerts for the pattern (P 2 ) and the frequent pattern (P 1 ).
  • the rule generation unit 22 determines whether the calculated level of detail is equal to or greater than a predetermined threshold value (N th ) (step S207).
  • the threshold value (N th ) is a value set in the rule generation unit 22 in advance.
  • the rule generation unit 22 sets the pattern (P 2 ) as the condition unit 501, the classification result (L) as the classification operation unit 509, and the classification rule 500. Is generated (step S208).
  • step S207 If the level of detail is less than the threshold value (N th ) (NO in step S207), the rule generation unit 22 returns to step S205 without generating the classification rule 500.
  • the rule generating unit 22 stores all the classification rules 500 generated in step S208 in the rule storage unit 25 (step). S209). However, when the rule storage unit 25 has already stored the classification rules 500, the rule generation unit 22 deletes all the old classification rules 500 stored in the rule storage unit 25 and then generates the generated classification rules. Save 500. That is, the rule generation unit 22 updates the old classification rule 500 with the generated classification rule 500. Alternatively, the rule generation unit 22 of the present embodiment replaces the classification rule 500 stored in the rule storage unit 25 with the generated classification rule 500.
  • FIG. 6 is a diagram showing an example of a frequent pattern set 600 including a frequent pattern 601 used in the following description. That is, it is assumed that the rule generation unit 22 extracts the frequent pattern set (FS) shown in FIG. 6 in step S201 of FIG. Note that the frequent pattern set 600 illustrated in FIG. 6 is an example of a frequent pattern set (FS) according to the present embodiment.
  • the frequent pattern set (FS) according to the present embodiment is not limited to FIG.
  • a frequent pattern set 600 illustrated in FIG. 6 includes a frequent pattern 601 (corresponding to a frequent pattern (P 1 )), the number of appearances 609, and a degree of detail 610.
  • the frequent pattern 601 includes a transmission source IP address 602, a transmission source port number 603, a transmission destination IP address 604, a transmission destination port number 605, a detection rule identifier 606, a cluster identifier 607, and a classification result 608. .
  • Each item included in the frequent pattern 601 is the same as each item shown in FIGS. 4 and 5.
  • the number of appearances 609 and the level of detail 610 are the number of times of appearance and the level of detail described above, respectively. In FIG. 6, it is assumed that the number of appearances 609 and the level of detail 610 have already been calculated.
  • the level of detail 610 is a value obtained by adding “4” when the cluster identifier 607 is included and adding “1” when other items other than the classification result 608 are included. Yes.
  • the threshold value (N th ) of the level of detail 610 is “5”.
  • the classification result 608 in the frequent pattern 601 shown in the third line of FIG. 6 is an arbitrary item (*) in which “correct detection” and “false detection” are combined, but description thereof is omitted below.
  • the pattern (P 2 ) obtained by excluding the classification result 608 from the frequent pattern 601 in the first row is not included in the frequent pattern 601 in other rows.
  • the rule generation unit 22 generates a classification rule 500 corresponding to the frequent pattern 601 in the first line.
  • the classification rule 500 generated based on the frequent pattern 601 on the first line is the classification rule 500 shown on the first line in FIG.
  • a pattern (P 2 ) obtained by excluding the classification result 608 from the frequent pattern 601 in the second row is included in the frequent pattern 601 in the third row.
  • the rule generation unit 22 does not generate the classification rule 500 corresponding to the frequent pattern 601 in the second and third lines.
  • the rule generation unit 22 does not generate the classification rule 500 corresponding to the frequent pattern 601 in the fifth row.
  • the rule generation unit 22 generates a classification rule 500 corresponding to the frequent pattern 601 in the fourth and sixth lines.
  • the classification rules 500 corresponding to the frequent patterns 601 in the fourth and sixth lines are the classification rules 500 shown in the second and third lines in FIG. 5, respectively.
  • the rule generation unit 22 adds a restriction based on the degree of detail 610 to the condition unit 501 of the classification rule 500 when generating the classification rule 500.
  • the rule generation unit 22 of the present embodiment prevents the generated classification rule 500 from becoming excessive based on the above operation.
  • the rule generation unit 22 increases the contribution to the detail level 610 based on the cluster identifier 407 in the calculation of the detail level 610, and when the cluster identifier 407 is not included, the detail level 610 exceeds the threshold (N th ).
  • a threshold value (N th ) may be set so as not to occur. In this case, the rule generation unit 22 can ensure that the generated classification rule 500 includes the cluster identifier 507 in the condition unit 501.
  • the rule generation unit 22 of the present embodiment has been described as controlling the target range of the classification rule 500 based on the degree of detail 610.
  • the control means of the rule generation unit 22 of the present embodiment is not limited to the above.
  • the rule generation unit 22 may determine whether to generate the classification rule 500 based on an explicit condition “must include a cluster identifier”.
  • FIG. 9 is a flowchart illustrating an example of an operation of applying a rule in the rule application unit 23 according to the first embodiment.
  • the rule application unit 23 starts the following operation at the timing when the cluster analysis unit 21 newly stores the alert information 400 (hereinafter referred to as alert information (A)) in the alert information storage unit 24.
  • alert information (A) the alert information 400
  • the rule application unit 23 first collates the alert information (A) with the correct detection rule in the classification rule 500 (step S301).
  • the rule application unit 23 matches the alert information (A) with the condition unit 501 included in the correct detection rule as a match between the alert information (A) and the correct detection rule (that is, some classification rules 500). Determine whether or not. At this time, the rule application unit 23 determines that the item “*” in the condition unit 501 is suitable for an arbitrary value. The rule application unit 23 determines that the other items match the values of the condition unit 501 as matching.
  • the rule application unit 23 determines that the alert information (A) matches the correct detection rule. .
  • the rule application unit 23 determines whether or not the alert information (A) matches at least one of the positive detection rules as a result of the collation (step S302).
  • the rule application unit 23 determines that the alert information (A) is positive detection. Then, the rule application unit 23 sets or changes the classification result 408 of the alert information (A) stored in the alert information storage unit 24 to “correct detection” (step S303). More specifically, the rule application unit 23 operates as follows.
  • the rule application unit 23 When the classification result 408 has been set to “correct detection”, the rule application unit 23 does not operate. When the classification result 408 is “false detection” or “blank”, the rule application unit 23 writes “correct detection” to the classification result 408. That is, the rule application unit 23 changes the classification result 408 to “correct detection”.
  • the rule application unit 23 may omit the confirmation of the contents of the classification result 408 and always overwrite “correction detection” on the classification result 408. That is, the rule application unit 23 may always set “correct detection” in the classification result 408.
  • step S304 the rule application unit 23 collates the alert information (A) with the false detection rule (step S304).
  • the procedure for collation with the erroneous detection rule in step S304 is the same as that for the correct detection rule.
  • the rule application unit 23 determines whether the alert information (A) matches at least one of the false detection rules as a result of the collation (step S305).
  • step S305 If the alert information (A) matches at least one of the erroneous detection rules (YES in step S305), the rule application unit 23 determines that the alert information (A) is a false detection. Then, the rule application unit 23 sets or changes the classification result 408 of the alert information (A) stored in the alert information storage unit 24 to “false detection” (step S306).
  • the setting or changing operation in step S306 is the same as that in step S303.
  • the rule application unit 23 does not change the classification result 408 for the alert information (A).
  • the classification result 408 of the alert information (A) stored in the alert information storage unit 24 does not change. For example, when the classification result 408 is not input or is “blank” which is an initial value, the classification result 408 remains “blank”.
  • the information processing apparatus 20 can produce an effect that the appropriate classification rule 500 is generated.
  • the cluster analysis unit 21 of the information processing apparatus 20 executes alert clustering based on the similarity of the communication information 409 included in the alert.
  • the alert information 400 according to the present embodiment includes a cluster identifier 407 that is a result of clustering.
  • the cluster analysis unit 21 extracts a frequent pattern (P 1 ), which is a frequent pattern, based on the frequent alert information 400.
  • the frequent pattern (P 1 ) includes a cluster identifier 407.
  • the cluster analysis unit 21 generates a classification rule 500 based on the frequent pattern (P 1 ). Therefore, the information processing apparatus 20 can include information (cluster identifier 407) related to the similarity of the communication information 409 included in the alert in the conformance condition of the generated classification rule 500. That is, this is because the information processing apparatus 20 according to the present embodiment can generate the classification rule 500 including the determination criterion regarding the similarity of the communication information 409.
  • the information processing apparatus 60 of the present embodiment differs from the first embodiment in the information included in the classification rule 550. More specifically, the classification rule 550 of this embodiment further includes a valid flag 510 in addition to the information included in the classification rule 500 used in the description of the first embodiment.
  • FIG. 13 is a diagram illustrating an example of the classification rule 550 according to the second embodiment.
  • the classification rule 550 includes a valid flag 510 in addition to the information included in the classification rule 500 shown in FIG.
  • the valid flag 510 is information indicating whether or not the classification rule 550 is valid.
  • the value of the valid flag 510 is not particularly limited. Therefore, in the following description, as an example, it is assumed that the value “1” of the validity flag 510 indicates “valid (true)” and the value “0” indicates “invalid (false)”. In other words, the information processing apparatus 60 uses the classification rule 550 set to “1” in the validity flag 510 and does not use the classification rule 550 set to “0” in the validity flag 510.
  • the initial value of the valid flag 510 is set to “0”, that is, “invalid”. This is to prevent the classification rules 550 from being stored excessively. However, the information processing apparatus 60 may prioritize the storage of the classification rule 550 and set the initial value to “1 (valid)”.
  • FIG. 10 is a block diagram illustrating an example of the configuration of the information processing system 11 including the information processing apparatus 60 according to the second embodiment.
  • the information processing system 11 includes an information processing device 60 and a presentation device 70 instead of the information processing device 20 and the presentation device 30 as compared to the information processing system 10 of the first embodiment. It is different in point. Therefore, the description of the same configuration and operation as those of the first embodiment will be omitted, and the description will be focused on the configuration and operation different from those of the first embodiment.
  • FIG. 11 is a block diagram illustrating an example of the configuration of the information processing apparatus 60 according to the present embodiment.
  • the information processing apparatus 60 is configured to generate a rule instead of the rule generation unit 22, the rule application unit 23, and the rule storage unit 25 as compared with the information processing apparatus 20 of the first embodiment.
  • the difference includes the unit 26, the rule application unit 27, and the rule storage unit 28.
  • the rule generation unit 26 generates the classification rule 550 in the same manner as the rule generation unit 22 of the first embodiment. However, the rule generation unit 26 differs from the rule generation unit 22 in the operation of storing the classification rule 550. More specifically, when the rule generation unit 26 generates and stores the classification rule 550 in the rule storage unit 28, the operation of deleting the old classification rule 550 stored in the rule storage unit 28 is different.
  • the rule generation unit 26 deletes the classification rule 550 whose valid flag 510 is “0 (invalid)” among the old classification rules 550 saved in the rule storage unit 28, that is, the invalid classification rule 550. To do. As a result, the classification rule 550 in which the valid flag 510 is “1 (valid)” is stored.
  • the rule generation unit 22 stores the classification rule 500 generated in the rule storage unit 25 after deleting the classification rule 500 stored in the rule storage unit 25. Therefore, the classification rules 500 stored by the rule generation unit 22 do not overlap.
  • the rule generation unit 26 stores the generated classification rule 550 while leaving the effective classification rule 550, there is a possibility of storing a plurality of the same classification rules 550.
  • the rule generation unit 26 when the rule generation unit 26 stores the generated classification rule 550, the rule generation unit 26 confirms the duplication of the classification rule 550 and stores the classification rule 550 that is not duplicated.
  • the rule generation unit 26 determines the classification rule based on the comparison of the condition unit 501 and the classification operation unit 509 in each generated classification rule 550 and each classification rule 550 stored in the rule storage unit 28. 550 overlap is determined.
  • the rule generation unit 26 determines whether or not the classification rule 550 including the condition unit 501 and the classification operation unit 509 that are the same as the condition unit 501 and the classification operation unit 509 of the generated classification rule 550 is stored in the rule storage unit 28. To check. Then, the rule generation unit 26 includes a classification rule 550 that includes the condition unit 501 and the classification operation unit 509 in the classification rule 550 stored in the rule storage unit 28, and the condition unit 501 and the classification operation unit 509 that are at least partially different. And stored in the rule storage unit 28.
  • the rule generation unit 26 prevents the classification rule 550 in which the valid flag 510 is set to “1 (valid)” from being deleted in the process of saving the generated classification rule 550 based on the above operation. Furthermore, the rule generation unit 26 prevents duplication of the classification rules 550 stored in the rule storage unit 28.
  • the rule storage unit 28 stores the classification rule 550 generated by the rule generation unit 26 as described above.
  • the rule application unit 27 applies the classification rule 550 in the same manner as the rule application unit 23 of the first embodiment. However, the rule application unit 27 is different from the rule application unit 23 in that the classification rule 550 in which the validity flag 510 is “1 (valid)” in the classification rule 550 is applied. More specifically, the rule application unit 27 uses the classification rule 550 in which the validity flag 510 is “1 (valid)” in determining whether to apply the classification rule 550.
  • the rule application unit 27 uses the correct detection rule whose effective flag 510 is “1 (effective)” when the alert information (A) and the correct detection rule are collated. . Similarly, the rule application unit 27 uses a false detection rule whose valid flag 510 is “1 (valid)” when collating the alert information (A) with the false detection rule.
  • FIG. 12 is a block diagram illustrating an example of the configuration of the presentation device 70 according to the second embodiment.
  • the presentation device 70 includes a rule display unit 33 and a rule approval unit 34 in addition to the configuration of the presentation device 30 of the first embodiment. Therefore, a detailed description of the same configuration and operation as in the first embodiment is omitted.
  • the rule display unit 33 receives the classification rule 550 stored in the rule storage unit 28 from the information processing device 60 and displays it to the operator of the information processing system 11. That is, the operator can confirm the contents of the classification rule 550 based on the display on the rule display unit 33.
  • the rule display unit 33 may display information different from the information included in the classification rule 550 as information presented to the operator. For example, the rule display unit 33 may display the number of appearances of the frequent pattern (P 1 ) corresponding to each classification rule 550 in addition to the classification rules 550 to the operator.
  • the rule approval unit 34 receives an input (instruction) to the classification rule 550 from the operator, and transmits the received input content to the information processing apparatus 60. More specifically, the rule approval unit 34 receives an instruction “valid” or “invalid” for the classification rule 550 specified by the operator, and transmits the instruction to the information processing apparatus 60.
  • the information processing device 60 sets or changes the validity flag 510 of the classification rule 550 stored in the rule storage unit 28 based on the instruction received from the presentation device 70. That is, the operator can check the content of the classification rule 550 stored in the information processing apparatus 60 using the presentation device 70 and set the valid flag 510 of the classification rule 550.
  • the information processing apparatus 60 can produce an effect that the classification rule 550 that can be used more appropriately is generated.
  • the rule generation unit 26 of the information processing apparatus 60 deletes the invalid classification rule 550 based on the valid flag 510 of the classification rule 550 and leaves the valid classification rule 550. Further, the rule applying unit 27 uses the effective classification rule 550 for determination based on the effective flag 510 of the classification rule 550.
  • the information processing system 11 including the information processing apparatus 60 and the presentation apparatus 70 according to the present embodiment changes or sets the validity and invalidity of the classification rule 550 stored in the information processing apparatus 60 based on an instruction from the operator. There is an effect that you can.
  • the rule display unit 33 of the presentation device 70 included in the information processing system 11 displays the classification rule 550 stored in the information processing device 60. This is because the rule approval unit 34 of the presentation device 70 can receive information regarding validity or invalidity in the classification rule 550 and can transmit the information to the information processing device 60. This is because the information processing apparatus 60 sets or changes the valid flag 510 based on the received information.
  • the information processing system 11 including the information processing apparatus 60 according to the present embodiment provides a means for reflecting the determination result of the validity of the classification rule 550 in the classification rule 550 to the operator. Therefore, the information processing system 11 can produce an effect that the classification rule 550 is excessively applied and the occurrence of misclassification is suppressed.
  • FIG. 14 is a block diagram illustrating an example of the configuration of the information processing system 12 including the information processing apparatus 80 according to the third embodiment.
  • the information processing system 12 is different from the information processing system 10 according to the first embodiment in that an information processing apparatus 80 is included instead of the information processing apparatus 20. Therefore, the description of the same configuration and operation as those of the first embodiment will be omitted, and the description will be focused on the configuration and operation different from those of the first embodiment.
  • FIG. 15 is a block diagram illustrating an example of the configuration of the information processing apparatus 80 according to the third embodiment. As illustrated in FIG. 15, the information processing apparatus 80 is different from the information processing apparatus 20 of the first embodiment in that a rule generation unit 29 is included instead of the rule generation unit 22.
  • the rule generation unit 29 differs from the rule generation unit 22 in the operation of generating the classification rule 500. Since the other operation
  • generation part 29 is the same as the rule production
  • movement is abbreviate
  • FIG. 16 is a flowchart illustrating an example of an operation for generating a rule in the rule generation unit 29 according to the third embodiment.
  • the rule generation unit 29 determines the adaptation period of the classification rule 500 before the operation of generating the rule in step S208. Since other operations of the rule generation unit 29 are the same as those of the rule generation unit 22, a detailed description of the other operations will be omitted, and operations unique to the present embodiment will be described.
  • the rule generation unit 29 calculates the conforming period of the pattern (P 2 ) (step S211).
  • the adaptation period is a period used by the rule generation unit 29 to determine whether or not the pattern (P 2 ) is used for generating the classification rule 500.
  • the adaptation period is a value calculated by the rule generation unit 29 based on the alert information 400.
  • the rule generation unit 29 calculates the adaptation period as follows.
  • the rule generation unit 29 extracts the alert information 400 that matches the classification rule 500 using the pattern (P 2 ) as the condition unit 501 in the alert information 400 used for extracting the frequent pattern set (FS). Next, the rule generation unit 29 extracts the earliest time and the latest time among the detection times 401 included in the extracted alert information 400. Then, the rule generation unit 29 sets a value obtained by subtracting the earliest time from the extracted latest time as the adaptation period. That is, the rule generation unit 29 sets the range of the detection time 401 of the extracted alert information 400 as the adaptation period.
  • the pattern (P 2 ) having a short adaptation period is highly likely to be a pattern (P 2 ) based on an alert that has occurred in a short period or suddenly. That is, adaptation period is short pattern (P 2) is the future, the pattern is less likely to alert fits appears in (P 2).
  • the rule generation unit 29 uses the adaptation period calculated as described above, and the pattern (P 2 ) is based on an alert that has occurred in a short period or suddenly, or based on an alert that appears in the long term. Can be determined. That is, the rule generation unit 29 can suppress the addition of the classification rule 500 corresponding to the pattern (P 2 ) that is unlikely to cause a matching alert in the future based on the matching period.
  • the rule generation unit 29 compares the calculated adaptation period with a predetermined threshold value (T th ) (step S210).
  • This threshold value (T th ) is a value set in the rule generation unit 29 in advance.
  • the rule generation unit 29 returns to step S205 without generating the classification rule 500 corresponding to the pattern (P 2 ).
  • step S210 When the adaptation period is equal to or greater than the threshold value (T th ) (YES in step S210), the rule generation unit 29 proceeds to step S208 as in the first embodiment, and the classification corresponding to the pattern (P 2 ). A rule 500 is generated.
  • the information processing device 80 may include the functions of the rule generation unit 26, the rule application unit 27, and the rule storage unit 28 included in the information processing device 60 of the second embodiment. That is, the information processing apparatus 80 may use the validity flag 510.
  • the rule generation unit 29 determines whether to generate the classification rule 500 using the adaptation period.
  • the rule generation unit 29 may use the detection time 401 included in the alert information 400 in determining whether to generate the classification rule 500. For example, the rule generation unit 29 determines the classification rule when the latest detection time 401 of the matching alert information 400 is earlier than a predetermined time, that is, when an alert has not occurred after the predetermined time. 500 may not be generated. That is, the rule generation unit 29 may generate a classification rule 500 for alerts generated from a present time to a predetermined time before.
  • the information processing apparatus 80 can produce an effect of generating a more appropriate classification rule 500.
  • the rule generation unit 29 of the information processing apparatus 80 uses the adaptation period related to the pattern (P 2 ) in generating the classification rule 500. More specifically, the rule generation unit 29 does not add the classification rule 500 related to the pattern (P 2 ) whose adaptation period is shorter than the predetermined threshold (T th ). That is, the rule generation unit 29 is for suppressing the generation of the classification rule 500 corresponding to the pattern (P 2 ) based on the alert that has occurred in a short period or suddenly.
  • the rule generation unit 29 can suppress an increase in the number of classification rules 500 and an increase in processing cost accompanying an increase in the number of classification rules 500 based on the above operation.
  • the above-described information processing apparatus 20, information processing apparatus 60, and information processing apparatus 80 (hereinafter collectively referred to as information processing apparatus 20) are configured as follows.
  • each component of the information processing apparatus 20 may be configured with a hardware circuit.
  • the information processing apparatus 20 may be configured using a plurality of apparatuses in which each component is connected via a network (not shown).
  • the information processing apparatus 20 may be configured with the alert information storage unit 24 and / or the rule storage unit 25 as an external storage device (not shown).
  • FIG. 18 is a block diagram illustrating an example of the configuration of the information processing apparatus 90 according to the first modification of the information processing apparatus 20.
  • the information processing apparatus 90 is configured as an external storage device in which the alert information storage unit 24 and the rule storage unit 25 are connected via a network (not shown).
  • the information processing apparatus 90 includes a cluster analysis unit 21, a rule generation unit 22, and a rule application unit 23. Each unit included in the information processing apparatus 90 is the same as that in the first embodiment.
  • the information processing apparatus 90 configured in this way can obtain the same effects as the information processing apparatus 20.
  • each configuration included in the information processing device 90 can operate in the same manner as the configuration of the information processing device 20 using the alert information storage unit 24 and the rule storage unit 25 provided in the external storage device. is there.
  • the information processing apparatus 90 is the minimum configuration in the embodiment of the present invention.
  • the information processing apparatus 20 may be configured with a plurality of components by a single piece of hardware.
  • the information processing apparatus 20 may be realized as a computer apparatus including a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory).
  • the information processing device 20 may be realized as a computer device that further includes an input / output connection circuit (IOC: Input / Output Circuit) and a network interface circuit (NIC).
  • IOC Input / Output Circuit
  • NIC network interface circuit
  • FIG. 17 is a block diagram illustrating an example of the configuration of the information processing apparatus 700 according to the second modification of the information processing apparatus 20. That is, FIG. 17 is a block diagram illustrating an example of the configuration of the information processing apparatus 700, which is an example when the information processing apparatus 20 is realized as the above-described computer apparatus.
  • the information processing apparatus 700 includes a CPU 710, a ROM 720, a RAM 730, an internal storage device 740, an IOC 750, and a NIC 780, and constitutes a computer.
  • CPU 710 reads a program from ROM 720.
  • the CPU 710 controls the RAM 730, the internal storage device 740, the IOC 750, and the NIC 780 based on the read program.
  • the computer including the CPU 710 controls these configurations, and implements the functions as the cluster analysis unit 21, rule generation unit 22, and rule application unit 23 shown in FIG.
  • the CPU 710 may use the RAM 730 or the internal storage device 740 as a temporary program storage when realizing each function.
  • the CPU 710 may read a program included in the storage medium 790 storing the program so as to be readable by a computer using a storage medium reading device (not shown).
  • the CPU 710 may receive a program from an external device (not shown) via the NIC 780, store the program in the RAM 730, and operate based on the stored program.
  • ROM 720 stores a program executed by CPU 710 and fixed data.
  • the ROM 720 is, for example, a P-ROM (Programmable-ROM) or a flash ROM.
  • the RAM 730 temporarily stores programs executed by the CPU 710 and data.
  • the RAM 730 is, for example, a D-RAM (Dynamic-RAM).
  • the internal storage device 740 stores data and programs that the information processing device 700 stores for a long time. Further, the internal storage device 740 may operate as a temporary storage device for the CPU 710. The internal storage device 740 operates as the alert information storage unit 24 and the rule storage unit 25.
  • the internal storage device 740 is, for example, a hard disk device, a magneto-optical disk device, an SSD (Solid State Drive), or a disk array device.
  • the ROM 720 and the internal storage device 740 are non-transitory storage media.
  • the RAM 730 is a volatile storage medium.
  • the CPU 710 can operate based on a program stored in the ROM 720, the internal storage device 740, or the RAM 730. That is, the CPU 710 can operate using a nonvolatile storage medium or a volatile storage medium.
  • the IOC 750 mediates data between the CPU 710, the input device 760, and the display device 770.
  • the IOC 750 is, for example, an IO interface card or a USB (Universal Serial Bus) card.
  • the input device 760 is a device that receives an input instruction from an operator of the information processing apparatus 700.
  • the input device 760 is, for example, a keyboard, a mouse, or a touch panel.
  • the display device 770 is a device that displays information to the operator of the information processing apparatus 700.
  • the display device 770 is a liquid crystal display, for example.
  • the NIC 780 relays data exchange with an external device (not shown) via the network.
  • the NIC 780 is, for example, a LAN (Local Area Network) card.
  • the information processing apparatus 700 configured in this way can obtain the same effects as the information processing apparatus 20.

Landscapes

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

Abstract

適切な分類ルールを生成するため、本発明の情報処理装置は、アラートに含まれる通信情報を基づいてアラートを分類したクラスタを示すクラスタ識別子を決定し、アラートが正検知であるか誤検知であるかの分類結果を受信し、アラートとクラスタ識別子と分類結果とを含むアラート情報を生成するクラスタ解析手段と、アラート情報において、アラート情報に含まれる情報の組合せで、少なくともクラスタ識別子を含むパターンの出現回数を算出し、所定の閾値より出現回数が多い頻出パターンを抽出し、抽出した頻出パターンを基にアラートに関連付けられた分類結果の設定又は更新に用いられる分類ルールを生成し、過去に生成した古い分類ルールを新たに生成した分類ルールで更新するルール生成手段と、分類ルールに基にアラート情報に含まれる分類結果を設定又は更新するルール適用手段とを含む。

Description

情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体
 本発明は、情報の通信に関し、特に、通信を監視する情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体に関する。
 情報を通信しているネットワークを監視する装置は、監視対象のネットワークに対する攻撃又は不正侵入を防ぐことを目的として、ファイアウォール又はIDS(Intrusion Detection System)などを用いて、通信を監視し、必要に応じて通信を遮断する。近年、知的財産又は機密情報の窃取を目的とした標的型攻撃が、増加している。そのため、ネットワークに対するサイバーセキュリティ(cybersecurity)の需要が、高まっている。サイバーセキュリティを実現する技術としては、SOC(Security Operation Center)を用いて、ネットワークの監視及びインシデント(incident)に対応する技術が、一般的になっている。
 ネットワークを監視する装置は、ファイアウォール又はIDSなどの機能を実現する監視機器が検知したアラート(alert)を、危険度に基づいて、分類する(例えば、非特許文献1を参照)。なお、アラートとは、注意を促すメッセージである。例えば、アラートは、ネットワークにおける異常を検知したことを通知するメッセージである。
 ただし、監視機器が検知を基に作成するアラートには、インシデントとして報告する必要がないアラートが含まれている。例えば、監視機器が検知したアラートには、危険性が低いアラート、又は、誤検知であるアラートが、含まれる。
 そのため、ネットワークの監視業務を行う操作者(オペレータ:operator)は、下記のような情報、つまり、検知されたアラートに含まれる情報、又は、外部情報を参照して、アラートを分類し、アラートに危険度を設定する。そして、ネットワークを監視する装置は、オペレータが設定した危険度を基に、必要に応じて、インシデントに対応したアラートとして、検知したアラートを報告する。
 なお、上記の分類において参照する情報として、例えば、アラートを検知した検知ルール、送信元ホストのIP(Internet Protocol)アドレス及びポート番号、並びに、送信先ホストのIPアドレス及びポート番号がある。あるいは、上記の分類において参照する情報として、例えば、セキュリティベンダーがアラートを検知するために用いた検知ルールに割り当てた重要度、及び、検知の原因となった通信(例えば、パケット)に含まれる通信情報がある。
 非特許文献1に記載のシステムは、頻出するアラート(ルーティンアラート)を、分類する。より詳細には、非特許分類1に記載のシステムは、アラートに含まれるシグネチャ(検知ルールの識別子)、送信元ホストのIPアドレス及びポート番号、並びに、送信先ホストのIPアドレス及びポート番号を、1つのトランザクションとみなす。そして、非特許分類1に記載のシステムは、頻出するアラートに含まれるトランザクションを頻出パターンとし、その頻出パターンのマイニングを実行する。さらに、非特許分類1に記載のシステムは、頻出アイテム集合マイニング(frequent item-set mining)に基づいて、頻出飽和アイテム集合(frequent closed item-sets)を抽出する。そして、非特許分類1に記載のシステムは、頻出飽和アイテム集合を基に、頻出するアラートのパターン(頻出パターン)を、アラートの分類に用いるルールとして用いる。そして、非特許分類1に記載のシステムは、上記のルールを基に、ルーティンアラートを分類する。
 一般的に、ルーティンアラートは、過去に頻出したパターンとの類似性が高い。また、ルーティンアラートは、一般的に、重要性が低い。つまり、ルーティンアラートは、オペレータの判断を必要としないで分類可能なアラートである。そのため、非特許分類1に記載のシステムは、上記ルールを基にアラートを分類し、オペレータにおける分類作業を削減し、オペレータの作業の効率化を実現できる。
Risto Vaarandi, "Real-time Classification of IDS Alerts with Data Mining Techniques", Military Communications Conference、2009. MILCOM 2009. IEEE, pp. 1-7, October 18-21, 2009
 しかしながら、非特許文献1に記載のシステムは、検知されたアラートに含まれる通信情報に基づいたルールを生成できない。例えば、アラートの重要度は、アラートに含まれる通信情報の内容に基づいた判断が必要な場合がある。つまり、非特許文献1に記載の技術が上記の情報(例えば、シグネチャ、送信元ホスト及び送信先ホストの情報)を基に一致すると判断された複数のアラートの重要度が、異なる重要度となる場合がある。この場合、分類のためのルール(分類ルール)を生成する装置は、それぞれのアラートの重要度に対応した、異なる分類ルールを生成することが必要である。しかし、上記の場合、非特許文献1に記載の技術は、アラートの重要度を区別できないため、適切な分類ルールを生成できない。
 このように、非特許文献1に記載の技術は、適切な分類ルールを生成できない場合があるとの問題点があった。
 本発明の目的は、上記問題点を解決し、適切な分類ルールを生成する情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体を提供することにある。
 本発明の一形態における情報処理装置は、アラートに含まれる通信された情報である通信情報を基づいてアラートを分類した結果であるクラスタを示すクラスタ識別子を決定し、アラートが正検知であるか誤検知であるかの分類である分類結果を受信し、アラートとクラスタ識別子と分類結果とを含む情報であるアラート情報を生成するクラスタ解析手段と、アラート情報において、アラート情報に含まれる情報の組合せで、少なくともクラスタ識別子を含むパターンの出現回数を算出し、所定の閾値より出現回数が多いパターンである頻出パターンを抽出し、抽出した頻出パターンを基にアラートに関連付けられた分類結果の設定又は更新に用いられる分類ルールを生成し、過去に生成した古い分類ルールを新たに生成した分類ルールで更新するルール生成手段と、分類ルールに基にアラート情報に含まれる分類結果を設定又は更新するルール適用手段とを含む。
 本発明の一形態における情報処理システムは、上記情報処理装置と、情報処理装置からアラート情報を受信し、受信したアラート情報を表示するアラート表示手段と、表示されたアラート情報に対する分類結果の入力を受信し、受信した入力を情報処理装置に送信する入力手段とを含む提示装置と含む。
本発明の一形態におけるデータ処理方法は、アラートに含まれる通信された情報である通信情報を基づいてアラートを分類した結果であるクラスタを示すクラスタ識別子を決定し、アラートが正検知であるか誤検知であるかの分類である分類結果を受信し、アラートとクラスタ識別子と分類結果とを含む情報であるアラート情報を生成し、アラート情報において、アラート情報に含まれる情報の組合せで、少なくともクラスタ識別子を含むパターンの出現回数を算出し、所定の閾値より出現回数が多いパターンである頻出パターンを抽出し、抽出した頻出パターンを基にアラートに関連付けられた分類結果の設定又は更新に用いられる分類ルールを生成し、過去に生成した古い分類ルールを新たに生成した分類ルールで更新し、分類ルールに基にアラート情報に含まれる分類結果を設定又は更新する。
 本発明の一形態における記憶媒体は、アラートに含まれる通信された情報である通信情報を基づいてアラートを分類した結果であるクラスタを示すクラスタ識別子を決定する処理と、アラートが正検知であるか誤検知であるかの分類である分類結果を受信する処理と、アラートとクラスタ識別子と分類結果とを含む情報であるアラート情報を生成する処理と、アラート情報において、アラート情報に含まれる情報の組合せで、少なくともクラスタ識別子を含むパターンの出現回数を算出する処理と、所定の閾値より出現回数が多いパターンである頻出パターンを抽出する処理と、抽出した頻出パターンを基にアラートに関連付けられた分類結果の設定又は更新に用いられる分類ルールを生成する処理と、画に生成した古い分類ルールを新たに生成した分類ルールで更新する処理と、分類ルールに基にアラート情報に含まれる分類結果を設定又は更新する処理とをコンピュータに実行させるプログラムを記憶する。
 本発明に基づけば、適切な分類ルールを生成するとの効果を奏することができる。
図1は、本発明における第1の実施形態に係る情報処理装置を含む情報処理システムの構成の一例を示すブロック図である。 図2は、第1の実施形態に係る情報処理装置の構成の一例を示すブロック図である。 図3は、第1の実施形態に係る提示装置の構成の一例を示すブロック図である。 図4は、第1の実施形態に係るアラート情報の一例を示す図である。 図5は、第1の実施形態に係る分類ルールの一例を示す図である。 図6は、第1の実施形態の説明に用いる頻出パターン集合の一例を示す図である。 図7は、第1の実施形態に係るクラスタ解析部におけるクラスタリングの動作の一例を示すフローチャートである。 図8は、第1の実施形態に係るルール生成部における分類ルールを生成する動作の一例を示すフローチャートである。 図9は、第1の実施形態に係るルール適用部における分類ルールを適用する動作の一例を示すフローチャートである。 図10は、第2の実施形態に係る情報処理装置を含む情報処理システムの構成の一例を示すブロック図である。 図11は、第2の実施形態に係る情報処理装置の構成の一例を示すブロック図である。 図12は、第2の実施形態に係る提示装置の構成の一例を示すブロック図である。 図13は、第2の実施形態に係る分類ルールの一例を示す図である。 図14は、第3の実施形態に係る情報処理装置を含む情報処理システムの構成の一例を示すブック図である。 図15は、第3の実施形態に係る情報処理装置の構成の一例を示すブロック図である。 図16は、第3の実施形態に係るルール生成部におけるルールを生成する動作の一例を示すフローチャートである。 図17は、変形例に係る情報処理装置の構成の一例を示すブロック図である。 図18は、変形例に係る情報処理装置の構成の一例を示すブロック図である。
 次に、本発明の実施形態について図面を参照して詳細に説明する。
 各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
 また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
 <第1の実施形態>
 まず、本発明における第1の実施形態の構成ついて説明する。
 [構成の説明]
 図1は、本発明における第1の実施形態に係る情報処理装置20を含む情報処理システム10の構成の一例を示すブロック図である。
 図1に示すように、情報処理システム10は、情報処理装置20と、提示装置30と、ネットワーク40と、監視装置50とを含む。
 ネットワーク40は、本実施形態における、つまり、情報処理システム10における監視対象である。本実施形態に係るネットワーク40は、特に制限はない。例えば、ネットワーク40は、所定の範囲内での使用に限られた社内ネットワークでもよい。あるいは、ネットワーク40は、物理的なネットワークに限らず、VLAN(Virtual Local Area Network)のような、論理的なネットワークでもよい。そのため、ネットワーク40の詳細な説明を省略する。
 監視装置50は、ネットワーク40における通信情報を監視する。また、監視装置50は、所定の検知ルールに基づいて、ネットワーク40で発生した通信の異常を検知する。ここで、ネットワーク40で発生した通信の異常とは、例えば、ネットワーク40に対する外部からの攻撃又はネットワーク40の動作を原因として発生した異常である。そして、監視装置50は、検知結果(検知した異常)を、アラートとして、情報処理装置20に通知する。本実施形態に係る監視装置50は、特に制限はなく、一般的に用いられるネットワーク40を監視する装置である。そのため、監視装置50の詳細な説明を省略する。
 ただし、本実施形態において、アラートは、通信情報を含む。通信情報とは、通信に用いられる情報である。例えば、通信情報は、通信に用いられるパケットのペイロードとして含まれるバイト列、又は、HTTP(Hyper Text Transfer Protocol)要求、若しくは、HTTP応答に含まれる文字列である。ただし、通信情報は、上記に限られず、他の情報でもよい。
 情報処理装置20は、アラートを解析する。情報処理装置20の構成及び動作については、後ほど、詳細に説明する。
 提示装置30は、情報処理システム10のオペレータに対して、情報処理装置20が解析した情報(例えば、アラート情報)を提示する。また、提示装置30は、オペレータからの指示(例えば、アラート情報の分類結果)を情報処理装置20に送信する。
 図3は、第1の実施形態に係る提示装置30の構成の一例を示すブロック図である。
 図3に示すように、提示装置30は、アラート表示部31と、入力部32とを含む。
 アラート表示部31は、情報処理装置20から、情報処理装置20が解析した情報(例えば、アラート情報又は分類ルール)を受信する。以下、情報の一例として、アラート情報を用いて説明する。
 そして、アラート表示部31は、受信したアラート情報を表示する。アラート表示部31が表示する情報は、オペレータが、入力部32に指示を入力するための情報である。そのため、アラート表示部31は、アラート情報に含まれる項目の一部の表示を省略してもよい。また、アラート表示部31は、受信した情報とは異なる情報を表示してもよい。
 入力部32は、オペレータからの入力(指示)を受信し、情報処理装置20に送信する。
 ここで、オペレータの入力とは、例えば、後ほど説明するアラート情報の分類結果の入力(指示)である。この場合、入力部32は、アラート表示部31が、表示したアラート情報に対する、オペレータの判断結果である分類結果の入力(正検知又は誤検知)を受信する。なお、「分類結果」とは、アラートが正検知であるか、誤検知であるかの分類を表す情報である。そして、入力部32は、受信したオペレータの入力(指示)を、情報処理装置20に送信する。
 情報処理装置20は、受信した情報をアラート情報の分類結果に保存する。例えば、情報処理装置20が、提示装置30から分類結果を受信した場合、情報処理装置20は、保存されている分類結果に、受信した分類結果の値を保存(上書き)する。
 次に、第1の実施形態に係る情報処理装置20について、図面を参照して、より詳細に説明する。
 図2は、第1の実施形態に係る情報処理装置20の構成の一例を示すブロック図である。
 図2に示すように、情報処理装置20は、クラスタ解析部21と、ルール生成部22と、ルール適用部23と、アラート情報記憶部24と、ルール記憶部25とを含む。
 クラスタ解析部21は、監視装置50から、アラートを受信する。そして、クラスタ解析部21は、アラートに含まれる通信情報に基づいて、アラートを、クラスタに分類する(クラスタリングする)。なお、以下、クラスタ解析部21が決定したクラスタを示す情報を「クラスタ識別子」と呼ぶ。クラスタ解析部21がクラスタリングとして用いる手法は、特に制限はない。例えば、クラスタ解析部21は、クラスタリングのために、アラートに含まれる通信情報の類似度を用いてもよい。
 なお、クラスタ解析部21は、直接的にアラートを受信するのではなく、間接的にアラートを受信してもよい。あるいは、クラスタ解析部21は、図示しない記憶装置に保存されたアラートに対して、以下で説明する動作を実行してもよい。
 また、クラスタ解析部21は、既に説明したように、提示装置30から、アラートの分類結果を受信する。
 そして、クラスタ解析部21は、アラートを、そのアラートが分類されたクラスタを示すクラスタ識別子及びそのアラートに対する分類結果と関連付けて、アラート情報記憶部24に保存する。アラート情報記憶部24に関連付けて保存されるこれらの情報をまとめて、以下、「アラート情報」と呼ぶ。つまり、アラート情報は、アラートと、クラスタ識別子と、分類結果とを含む情報である。また、クラスタ解析部21は、上記情報をまとめてアラート情報を生成する構成でもある。なお、アラート情報については、後ほど詳細に説明する。
 ただし、本実施形態において、アラート情報を生成する構成は、クラスタ解析部21に限る必要はない。例えば、ルール適用部23が、クラスタ解析部21からアラート及びクラスタ識別子を受信し、分類結果を追加して、アラート情報を生成してもよい。
 ルール生成部22は、アラート情報記憶部24に保存されているアラート情報を基に、アラートを分類するために用いられる分類ルールを生成する。ルール生成部22は、生成した分類ルールをルール記憶部25に保存する。なお、分類ルールについては、後ほど詳細に説明する。
 ルール適用部23は、アラート情報記憶部24に保存されたアラート情報に対して、ルール記憶部25に保存されている分類ルールを適用し、適用した結果をアラート情報に含まれる分類結果に設定する。なお、分類ルールを適用した場合の分類結果と、既に保存されている分類結果とが異なる場合、ルール適用部23は、分類結果を更新する。
 アラート情報記憶部24は、アラート情報を記憶する。
 アラート情報記憶部24は、アラート情報を一つのデータの組として保存してもよい。あるいは、アラート情報記憶部24は、アラートと、クラスタを示す情報と、分類結果とを別データとして保存し、それらの関連を表す情報を保存してもよい。ただし、以下の説明では、アラート情報記憶部24は、アラート情報を一つのデータの組として保存するとする。
 図4は、第1の実施形態に係るアラート情報記憶部24が記憶するアラート情報400の一例を示す図である。図4に示すように、アラート情報400は、検知時刻401と、送信元IPアドレス402と、送信元ポート番号403と、送信先IPアドレス404と、送信先ポート番号405とを含む。さらに、アラート情報400は、検知ルール識別子406と、クラスタ識別子407と、分類結果408と、通信情報409とを含む。つまり、アラート情報400は、これらを含む情報の集合として構成される。図4において、各行が、各アラート情報400を示す。
 図4に示すアラート情報400において、アラートに含まれる情報は、検知時刻401、送信元IPアドレス402、送信元ポート番号403、送信先IPアドレス404、送信先ポート番号405、検知ルール識別子406、及び、通信情報409である。
 次に、図4に示すアラート情報400に含まれる各情報を説明する。
 クラスタ識別子407は、クラスタ解析部21におけるクラスタリングの結果である。
 分類結果408は、提示装置30から受信した、又は、ルール適用部23が適用したアラート情報400の分類結果である。
 検知時刻401は、監視装置50が、アラートを検知した時刻である。
 送信元IPアドレス402及び送信元ポート番号403が、検知されたアラートに関する通信の送信元を示す情報である。
 送信先IPアドレス404及び送信先ポート番号405が、検知されたアラートに関する通信の送信先を示す情報である。
 検知ルール識別子406は、監視装置50が検知に用いたルールを識別する情報である。
 通信情報409は、検知されたアラートに関する通信における具体的に通信される情報である。通信情報409は、既に説明した通り、例えば、通信に用いられるパケットのペイロードとして含まれるバイト列、又は、HTTP要求、若しくは、HTTP応答に含まれる文字列である。
 なお、以下の説明において、分類結果408は、値として、「正検知」、「誤検知」、及び、「空欄」を取るとする。ここで、「空欄」とは、アラートが未分類であることを示す。なお、「空欄」は、アラート情報400がアラート情報記憶部24に保存されたときの初期値でもある。ただし、本実施形態の分類結果408は、上記に限らず、別の値を取ってもよい。
 図4に示されているアラート情報400について、さらに詳細に説明する。なお、以下の説明は、「:」を用いて、IPアドレスとポート番号とをまとめて示す。例えば、「192.168.0.1:2000」は、IPアドレスが「192.168.0.1」で、ポート番号が「2000」を示す。
 図4の1行目に示されるアラート情報400は、監視装置50において、時刻「9:00:12」に、検知ルール「S1」に基づいて検知されたアラートに対応するアラート情報400である。そのアラートは、「192.168.0.1:2000」の送信元から、「10.1.0.1:80」の送信先への通信に関するアラートである。
 さらに、そのアラートは、クラスタ解析部21が、クラスタ識別子「1」で示されるクラスタに分類したアラートである。以下、クラスタ識別子で示されるクラスタを、単に、クラスタ「クラスタ識別子(例えば、1)」とする。
 また、そのアラート情報400の分類結果408は、「正検知」である。つまり、そのアラート情報400は、正しく検知されたアラート情報400である。
 その他のアラートも、同様である。ただし、6行目に示されているアラート情報400の分類結果408における空欄は、「未分類」であることを示す。
 なお、アラート情報400は、上記の情報に加え、他の情報を含んでもよい。あるいは、後ほど説明する動作を実現できる限り、アラート情報400は、通信情報409及びクラスタ識別子407を除き、図4に示す情報の一部を含まなくてもよい。
 ルール記憶部25は、ルール生成部22の生成した分類ルールを記憶する。
 ルール記憶部25は、分類ルールを一つのデータの組として保存してもよい。あるいは、ルール記憶部25は、分類ルールに含まれる各情報を別データとして保存し、それらの関連を表す情報を保存してもよい。以下の説明では、ルール記憶部25は、分類ルールを一つのデータの組として保存するとする。
 図5は、第1の実施形態に係るルール記憶部25が記憶する分類ルール500の一例を示す図である。図5に示すように、分類ルール500は、条件部501と、分類動作部509とを含む。つまり、分類ルール500は、情報の集合として構成される。図5において、各行が、分類ルール500を示す。
 条件部501は、適合を判断するために用いられる条件を含む。図5に示す条件部501は、一例として、送信元IPアドレス502と、送信元ポート番号503と、送信先IPアドレス504と、送信先ポート番号505と、検知ルール識別子506と、クラスタ識別子507とを含む。なお、図5に示す各情報の意味は、図4に示す情報と同様である。
 なお、条件部501は、少なくともクラスタ識別子507を含めばよい。つまり、条件部501は、条件として、図5に示すクラスタ識別子507以外の情報の一部又は全てを含まなくてもよい。あるいは、条件部501は、条件として、他の情報を含んでもよい。
 また、条件部501は、条件として、固定値に限らず、任意の値と適合するとの条件を含んでもよい。図5において、条件部501に示す「*」が、任意の値との適合を示す記号である。ここで、任意の値は、空欄を含む。あるいは、条件部501は、条件として、範囲を示す情報を含んでもよい。
 例えば、図5の1行目に示されている分類ルール500は、送信元IPアドレス502及び送信元ポート番号503が任意である。つまり、1行目に示されている分類ルール500は、いずれの送信元に関する通信でも、「10.1.0.1:80」の送信先への通信であり、検知ルール「S1」を基に検知され、クラスタ「1」に分類されたアラート情報400と適合する。
 また、分類ルール500の分類動作部509は、ルール適用部23が、条件部501に適合したアラートに対する動作において用いる情報である。以下の説明では、一例として、分類動作部509は、分類結果508を含む。この分類結果508は、図4に示す分類結果408と同様の情報である。
 ただし、以下、分類ルール500のうち、分類結果508が「正検知」である分類ルール500を「正検知ルール」と呼ぶ。また、分類結果508が「誤検知」である分類ルール500を「誤検知ルール」と呼ぶ。
 [動作の説明]
 次に、図面を参照して本実施形態に係る情報処理装置20の動作について説明する。
 図7は、第1の実施形態に係るクラスタ解析部21におけるクラスタリングの動作の一例を示すフローチャートである。
 クラスタ解析部21は、監視装置50からアラートを受信すると、動作を開始する(ステップS101)。
 アラートを受信すると、クラスタ解析部21は、受信したアラートに含まれる通信情報409を取得する。そして、クラスタ解析部21は、通信情報409の類似度を基に、受信したアラートをクラスタリングする。なお、クラスタ解析部21がクラスタリングに用いる類似度は、特に制限はない。以下の説明では、一例として、クラスタ解析部21は、類似度として、通信情報409間の距離を用いる。ただし、クラスタ解析部21は、クラスタリングに用いる情報(類似度)として、通信情報409間の距離ではなく、他の情報を用いてもよい。
 まず、クラスタ解析部21は、受信したアラートの通信情報409を、通信情報409間の距離の算出が可能な構造のデータに変換する(ステップS102)。クラスタ解析部21における変換処理は、特に制限はない。以下の説明では、一例として、クラスタ解析部21は、距離の算出が可能な構造のデータとして、通信情報409に含まれる文字の出現回数をベクトルとして表現したヒストグラム(H)を用いるとする。
 通信情報409を変換後、クラスタ解析部21は、変換後の通信情報409(例えば、ヒストグラム(H))から、通信情報409に最も距離の近い代表点を持つクラスタ(Cmin)までの距離(Dmin)を算出する(ステップS103)。
 クラスタ解析部21が用いる距離の算出方法は、特に制限はない。クラスタ解析部21は、一般的な各種距離を用いることできる。そこで、以下の説明では、クラスタ解析部21は、ユークリッド距離を用いるとする。
 また、クラスタ解析部21は、代表点として、用いる値に特に制限はなく、クラスタから算出可能な各種の値を用いることができる。そこで、以下の説明では、クラスタの代表点は、そのクラスタに属するアラートに含まれる通信情報409の変換後のデータの平均値とする。ただし、各クラスタに属するアラートは、実際には、アラート情報400として保存されている。
 例えば、クラスタ解析部21は、次に示すように、距離(Dmin)を算出してもよい。すなわち、クラスタ解析部21は、上記のヒストグラム(H)と、各クラスタ(C:iはクラスタを示す添え字で、1以上の整数)の代表点との距離(D:iは、対応するクラスタを示す)を算出する。クラスタ解析部21は、各クラスタ(C)の代表点として、上記のとおり、クラスタ(C)に属するアラートに含まれる通信情報409の変換後のヒストグラム(H)の平均値を用いる。また、クラスタ解析部21は、上記のとおり、距離(D)として、ユークリッド距離を用いる。
 そして、クラスタ解析部21は、距離(D)が最小となる距離(Dmin)となるクラスタ(C)を、最も近いクラスタ(Cmin)とする。
 クラスタ解析部21は、クラスタ(Cmin)及び距離(Dmin)の算出後、所定の閾値(Dth)と距離(Dmin)とを比較する(ステップS104)。なお、閾値(Dth)は、予め、クラスタ解析部21に設定されている値である。
 距離(Dmin)が閾値(Dth)より大きい場合(ステップS104でYES)、クラスタ解析部21は、クラスタの集合に、新たなクラスタ(Cnew)を追加する(ステップS105)。具体的には、クラスタ解析部21は、クラスタの集合に、新たなクラスタ(Cnew)として、受信したアラートの通信情報409(例えば、上記のヒストグラム(H))の代表点を追加する。
 一方、距離(Dmin)が閾値(Dth)以下の場合(ステップS104でNO)、クラスタ解析部21は、受信したアラートの通信情報409(例えば、ヒストグラム(H))を用いて、最も距離が近いクラスタ(Cmin)を更新する(ステップS106)。具体的には、クラスタ解析部21は、受信したアラートの通信情報409(例えば、ヒストグラム(H))を含めた平均値となるよう、クラスタ(Cmin)の代表点を更新する。
 そして、クラスタ解析部21は、受信したアラートに対するクラスタリングの結果と、アラート情報400とを、アラート情報記憶部24に保存する(ステップS107)。なお、クラスタリングの結果とは、ステップS105における新たなクラスタ(Cnew)の追加、又は、ステップS106におけるクラスタ(Cmin)の更新である。
 以上の動作に基づき、クラスタ解析部21は、受信したアラートを、そのアラートに含まれる通信情報409の距離に基づいて、クラスタリングする。例えば、クラスタ解析部21は、クラスタリングとして、図4に示すように、アラート情報400に含まれるクラスタ識別子407を設定する。このように、クラスタ解析部21は、通信情報409を用いて、クラスタ識別子407を設定する。つまり、クラスタ識別子407は、通信情報409を基に設定された値である。
 なお、クラスタ解析部21は、新たなクラスタ(Cnew)を追加した場合、又は、クラスタ(Cmin)を更新した場合、つまり、クラスタが変化した場合、アラート情報記憶部24に保存されているアラート情報400のクラスタを再設定してもよい。つまり、クラスタ解析部21は、クラスタが変化した場合、アラート情報記憶部24に保存されているアラート情報400のクラスタ識別子407を更新してもよい。
 ここまでの本実施形態の説明において、クラスタ解析部21は、通信情報409の変換として、ヒストグラム(H)を用いた。しかし、クラスタ解析部21は、通信情報409の変換後のデータの構造として、その他の構造を用いてもよい。例えば、クラスタ解析部21は、検索に用いられるNグラム(N-gram)を用いてもよい。具体的には、クラスタ解析部21は、通信情報409におけるNグラムを抽出する。そして、クラスタ解析部21は、クラスタリングに用いるデータとして、Nグラムの出現頻度ベクトルを用いてもよい。
 さらに、クラスタ解析部21は、クラスタリングに用いるデータに、重みを適用してもよい。例えば、クラスタ解析部21は、Nグラムに対する重みを、TF-IDF(Term Frequency-Inverse Document Frequency)に用いて決定してよい。この場合、クラスタ解析部21は、多くのアラートにおいて出現するNグラムほど、そのNグラムに対する重みが小さくなるよう、距離を算出してもよい。
 また、本実施形態の説明において、クラスタ解析部21は、クラスタの代表点として、そのクラスタに属する通信情報409の変換後のデータの平均値を用いた。しかし、クラスタ解析部21における代表点の算出方法は、上記に、限る必要はない。例えば、クラスタ解析部21は、平均値の代わりに、中央値を用いてもよい。あるいは、通信情報409の変換後のデータの性質上、平均値及び中央値の算出が困難な場合、クラスタ解析部21は、代表値として、取得可能な値を用いてもよい。例えば、クラスタ解析部21は、上記のステップS105において、新しくクラスタを生成する際に用いたデータ(例えば、上記のヒストグラム(H))を、そのクラスタの代表点としてもよい。
 次に、ルール生成部22の動作について、図面を参照して説明する。
 図8は、第1の実施形態に係るルール生成部22における分類ルール500を生成する動作の一例を示すフローチャートである。なお、以下で説明するルール生成部22の動作の開始時間は、特に制限はない。ルール生成部22は、所定の時間間隔で、定期的に、分類ルール500を生成してもよい。あるいは、ルール生成部22は、図示しない外部の装置から指定された時に、分類ルール500を生成してもよい。
 ルール生成部22は、アラート情報記憶部24に保存されているアラート情報400に含まれる所定の情報(要素)の組合せ(以下、組合せを「パターン」と呼ぶ)の出現回数を算出する。ただし、本実施形態のパターンは、少なくともクラスタ識別子407を含む。
 そして、ルール生成部22は、アラート情報400において、所定の閾値(Fth)以上の回数出現するパターン(以下、「頻出パターン」と呼ぶ)の集合(以下、「頻出パターン集合(FS)」と呼ぶ)を抽出する(ステップS201)。ただし、ルール生成部22は、頻出パターン集合(FS)の抽出において、分類結果408が空欄のアラート情報400を除外する。つまり、ルール生成部22は、分類結果408が設定済みのアラート情報400から頻出パターン集合(FS)を抽出する。なお、ルール生成部22は、一部の項目が同じで、残りの項目が異なる複数のパターンをまとめて上位化したパターンを生成し、生成した上位パターンを頻出パターンとしてもよい。この場合、ルール生成部22は、異なる項目を、任意の項目(*)又は全ての値を含む範囲の項目としたパターンを、頻出パターンとすればよい。
 ここで、要素とは、アラート情報400に含まれるいずれかの情報であれば、特に制限はない。また、閾値(Fth)は、予め、ルール生成部22に設定されている値である。例えば、オペレータが、予め、ルール生成部22に、固定値として、閾値(Fth)を与えてもよい。あるいは、ルール生成部22が、アラート情報記憶部24に保存されているアラート情報400の数に応じて、適宜、決定してもよい。
 なお、ルール生成部22が頻出パターン集合(FS)を抽出する手法は、特に制限はない。例えば、ルール生成部22は、頻出パターン集合(FS)の抽出として、次のような処理を実行してもよい。すなわち、ルール生成部22は、図5に示す分類ルール500に含まれる情報の組をトランザクションとみなし、頻出アイテム集合マイニングに用いられる頻出飽和アイテム集合(frequent closed item-sets)を求めてもよい。
 上記の場合、ルール生成部22は、頻出パターン集合(FS)の抽出において、各頻出パターン(P)の出現回数をカウントする。
 また、ルール生成部22は、頻出パターン集合(FS)に、アラート情報400に含まれる情報とは異なる情報を含めてもよい。例えば、ルール生成部22は、頻出パターン集合(FS)の抽出において、IPアドレスのプレフィックスアドレス(prefix address)のようなアラートに含まれる情報の抽象度を高くした項目を、トランザクションに含めてもよい。
 頻出パターン集合(FS)の抽出後、ルール生成部22は、頻出パターン集合(FS)を基に、分類ルール500を生成する。具体的には、ルール生成部22は、頻出パターン集合(FS)に含まれる頻出パターン(P)に対して、以下の処理を繰り返す(ステップS202)。ただし、既に説明したとおり、頻出パターン(P)は、一部の項目が、任意の項目(*)に変更されている場合がある。つまり、分類結果408は、任意の項目(*)となっている場合がある。そのため、ルール生成部22は、分類結果408を含む(分類結果408が任意の項目(*)でない)頻出パターン(P)に対して、以下の処理を繰り返す。
 ルール生成部22は、分類結果408が単一となる頻出パターン(P)に対する分類ルール500を生成する。
 そのため、まず、ルール生成部22は、頻出パターン(P)から、その頻出パターン(P)に含まれる分類結果408を除外(削除)したパターン(P2)を生成する(ステップS203)。以下、除外する分類結果408を分類結果(L)とする。なお、ルール生成部22は、ステップS203における除外(削除)として、分類結果408を任意の項目(*)に変更してもよい。この場合、ルール生成部22は、頻出パターン(P)における分類結果408を任意の項目(*)に変更して、パターン(P)を生成する。
 次に、ルール生成部22は、パターン(P)が、頻出パターン集合(FS)に含まれるか否かを判断する(ステップS204)。
 パターン(P)が、頻出パターン集合(FS)に含まれる場合(ステップS204でYES)、アラートが、パターン(P)に合致しても、そのアラートの分類結果(L)は、単一とはならない。つまり、パターン(P)に対応する分類結果(L)は、複数である。そのため、ルール生成部22は、パターン(P)に対応する頻出パターン(P)に対応するルールを生成しない(ステップS205でループ)。
 パターン(P)が、頻出パターン集合(FS)に含まれない場合(ステップS204でNO)、頻出パターン集合(FS)は、パターン(P)に対して飽和アイテム集合である。つまり、パターン(P)に合致するアラートの分類結果(L)は、単一である。
 ただし、ルール生成部22が、この条件を満たす頻出パターン(P)の全てに対して、分類ルール500を生成すると、適合するアラートの範囲に対し、過大な分類ルール500を生成してしまう可能性がある。そこで、ルール生成部22は、パターン(P)を基に、分類ルール500を生成する頻出パターン(P)を制限する。
 そのため、ルール生成部22は、パターン(P)の詳細度を算出する(ステップS206)。
 ここで、詳細度とは、パターン(P)に対するアラートの適用範囲の狭さの程度を表す値である。つまり、ルール生成部22は、詳細度として、パターン(P)を用いた場合に適合すると判断されるアラートの範囲が狭いほど、大きな値を取るように設計された値を用いればよい。
 例えば、ルール生成部22は、パターン(P)に、特定の項目の要素が含まれる場合、詳細度として、予め決められた値を加算してもよい。この場合、ルール生成部22は、アラート情報400に含まれる項目毎に、加算する値を変え、詳細度に対する各項目の寄与の程度を変えてもよい。なお、パターン(P)は、頻出パターン(P)から分類結果(L)を削除した(又は、任意の項目(*)とした)パターンである。つまり、詳細度は、頻出パターン(P)に対するアラートの適用範囲の狭さの程度でもある。つまり、詳細度は、パターン(P)及び頻出パターン(P)に対するアラートの適用範囲の狭さの程度である。
 パターン(P)の詳細度の算出後、ルール生成部22は、算出した詳細度が、所定の閾値(Nth)以上か否かを判断する(ステップS207)。ここで、閾値(Nth)は、予め、ルール生成部22に設定されている値である。
 詳細度が閾値(Nth)以上の場合(ステップS207でYES)、ルール生成部22は、パターン(P)を条件部501とし、分類結果(L)を分類動作部509として、分類ルール500を生成する(ステップS208)。
 詳細度が閾値(Nth)未満の場合(ステップS207でNO)、ルール生成部22は、分類ルール500を生成しないで、ステップS205に戻る。
 頻出パターン集合(FS)に含まれる全ての頻出パターン(P)について処理が完了すると、ルール生成部22は、ステップS208において生成した全ての分類ルール500を、ルール記憶部25に保存する(ステップS209)。ただし、ルール生成部22は、ルール記憶部25が、既に分類ルール500を記憶している場合、ルール記憶部25が記憶している古い分類ルール500を、全て削除してから、生成した分類ルール500を保存する。つまり、ルール生成部22は、古い分類ルール500を、生成した分類ルール500で更新する。あるいは、本実施形態のルール生成部22は、ルール記憶部25に保存されている分類ルール500を、生成した分類ルール500に置き換える。
 ルール生成部22の動作について、図面を参照して、より詳細に説明する。
 図6は、以下の説明に用いる頻出パターン601を含む頻出パターン集合600の一例を示す図である。つまり、図8のステップS201において、ルール生成部22は、図6に示す頻出パターン集合(FS)を抽出したとする。なお、図6に示す頻出パターン集合600は、本実形態に係る頻出パターン集合(FS)の一例である。本実施形態に係る頻出パターン集合(FS)は、図6に限られるわけではない。
 図6に示す頻出パターン集合600は、頻出パターン601(頻出パターン(P)に相当)と、出現回数609と、詳細度610とを含む。頻出パターン601は、送信元IPアドレス602と、送信元ポート番号603と、送信先IPアドレス604と、送信先ポート番号605と、検知ルール識別子606と、クラスタ識別子607と、分類結果608とを含む。上記の頻出パターン601が含む各項目は、図4及び図5に示されている各項目と同様である。
 また、出現回数609及び詳細度610は、それぞれ既に説明した出現回数及び詳細度である。図6において、出現回数609及び詳細度610は、既に算出済みとする。
 なお、図6において、詳細度610は、クラスタ識別子607が含まれる場合に「4」を加算し、分類結果608を除くその他の各項目が含まれる場合に「1」を加算した値となっている。また、以下の説明において、詳細度610の閾値(Nth)は、「5」とする。
 また、パターンを表す場合、「<」及び「>」を用いるとする。また、パターンに含まれる任意の項目(「*」となっている項目)は、記載を省略する。例えば、図6の3行目に示す頻出パターン601における分類結果608は、「正検知」及び「誤検知」をまとめた任意の項目(*)であるが、以下では、記載を省略する。
 1行目の頻出パターン601から分類結果608を除外したパターン(P)は、他の行の頻出パターン601に含まれない。なお、この場合のパターン(P)は、<送信先IPアドレス=10.1.0.1、送信先ポート番号=80、検知ルール識別子=S1、クラスタ識別子=1>である。
 さらに、1行目の頻出パターン601の詳細度610(=7)は、詳細度610の閾値(Nth=5)を超えている。
 そのため、ルール生成部22は、1行目の頻出パターン601に対応する分類ルール500を生成する。1行目の頻出パターン601を基に生成される分類ルール500は、図5の1行目に示されている分類ルール500である。
 2行目の頻出パターン601から分類結果608を除外したパターン(P)は、3行目の頻出パターン601に含まれる。なお、この場合のパターン(P)は、<送信先ポート番号=80,検知ルール識別子=S1,クラスタ識別子=1>である。
 そのため、ルール生成部22は、2行目及び3行目の頻出パターン601に対応する分類ルール500を、生成しない。
 5行目の頻出パターン601は、詳細度610(=3)が、閾値(Nth=5)未満である。そのため、ルール生成部22は、5行目の頻出パターン601に対応する分類ルール500を生成しない。
 4行目の頻出パターン601から分類結果608を除外したパターン(P)は、他の頻出パターン601に含まれない。また、4行目の頻出パターン601の詳細度610は、閾値(Nth=5)を超えている。6行目の頻出パターン601も、同様である。
 そのため、ルール生成部22は、4行目及び6行目の頻出パターン601に対応する分類ルール500を生成する。4行目及び6行目の頻出パターン601に対応する分類ルール500は、それぞれ、図5の2行目と3行目に示されている分類ルール500である。
 上記の通り、本実施形態に係るルール生成部22は、分類ルール500の生成において、分類ルール500の条件部501に詳細度610に基づく制限を加える。本実施形態のルール生成部22は、上記の動作を基に、生成される分類ルール500が過度となることを防いでいる。
 さらに、ルール生成部22は、詳細度610の算出において、クラスタ識別子407に基づく詳細度610への寄与を大きくし、クラスタ識別子407が含まれない場合に詳細度610が閾値(Nth)を超えないように、閾値(Nth)を設定してもよい。この場合、ルール生成部22は、生成される分類ルール500が、必ず、条件部501に、クラスタ識別子507を含むようにすることができる。
 なお、上記の説明において、本実施形態のルール生成部22は、詳細度610に基づく分類ルール500の適合対象の範囲を制御するとして説明した。しかし、本実施形態のルール生成部22の制御の手段は、上記に限られない。例えば、ルール生成部22は、「必ずクラスタ識別子を含む」という明示的な条件を基に、分類ルール500を生成するか否か判断してもよい。
 次に、図面を参照して、ルール適用部23の動作について説明する。
 図9は、第1の実施形態に係るルール適用部23におけるルールを適用する動作の一例を示すフローチャートである。ルール適用部23は、クラスタ解析部21が、アラート情報記憶部24に、新たにアラート情報400(以下、アラート情報(A)とする)を保存したタイミングで、以下の動作を開始する。
 ルール適用部23は、まず、アラート情報(A)と、分類ルール500における正検知ルールとを照合する(ステップS301)。
 ルール適用部23は、アラート情報(A)と、正検知ルール(つまり、一部の分類ルール500)との照合として、正検知ルールに含まれる条件部501が、アラート情報(A)と適合するか否かを判断する。このとき、ルール適用部23は、条件部501において「*」となっている項目について、任意の値に対して適合と判断する。ルール適用部23は、その他の項目については、条件部501の値との一致を、適合と判断する。
 そして、アラート情報(A)が、いずれかの正検知ルールにおける条件部501の全ての項目に適合した場合、ルール適用部23は、アラート情報(A)が、正検知ルールに適合したと判断する。
 ルール適用部23は、照合の結果として、アラート情報(A)が、少なくともいずれか1つの正検知ルールに適合したか否かを判断する(ステップS302)。
 アラート情報(A)が、少なくともいずれか1つ正検知ルールに適合した場合(ステップS302でYES)、ルール適用部23は、アラート情報(A)を正検知であると判断する。そして、ルール適用部23は、アラート情報記憶部24に保存されているアラート情報(A)の分類結果408を「正検知」に設定又は変更する(ステップS303)。より詳細には、ルール適用部23は、次のように動作する。
 分類結果408が、「正検知」に設定済みの場合、ルール適用部23は、何も動作しない。分類結果408が、「誤検知」又は「空欄」の場合、ルール適用部23は、分類結果408に「正検知」を書き込む。つまり、ルール適用部23は、分類結果408を、「正検知」に変更する。
 あるいは、ルール適用部23は、分類結果408の内容の確認を省略し、常に、分類結果408に「正検知」を上書きしてもよい。つまり、ルール適用部23は、常に、分類結果408に「正検知」を設定してもよい。
 アラート情報(A)が、いずれの正検知ルールにも適合しなかった場合(ステップS302でNO)、ルール適用部23は、アラート情報(A)と誤検知ルールとを照合する(ステップS304)。ステップS304における誤検知ルールとの照合の手順は、正検知ルールの場合と同様である。
 ルール適用部23は、照合の結果として、アラート情報(A)が、少なくともいずれか1つの誤検知ルールに適合したか否かを判断する(ステップS305)。
 アラート情報(A)が、少なくともいずれか1つの誤検知ルールに適合した場合(ステップS305でYES)、ルール適用部23は、アラート情報(A)が誤検知であると判断する。そして、ルール適用部23は、アラート情報記憶部24に保存されているアラート情報(A)の分類結果408を「誤検知」に設定又は変更する(ステップS306)。ステップS306における設定又は変更する動作は、ステップS303と同様である。
 アラート情報(A)が、いずれの誤検知ルールにも適合しなかった場合(ステップS305でNO)、ルール適用部23は、アラート情報(A)に対する分類結果408を変更しない。この場合、アラート情報記憶部24に保存されているアラート情報(A)の分類結果408は、変化しない。例えば、分類結果408が、未入力、又は、初期値である「空欄」の場合、分類結果408は、「空欄」のままとなる。
 [効果の説明]
 次に、本実施形態の効果について説明する。
 本実施形態に係る情報処理装置20は、適切な分類ルール500を生成するとの効果を奏することができる。
 その理由は、次のとおりである。
 本実施形態に係る情報処理装置20のクラスタ解析部21は、アラートに含まれる通信情報409の類似度に基づき、アラートのクラスタリングを実行する。そして、本実施形態に係るアラート情報400は、クラスタリングの結果であるクラスタ識別子407を含む。そして、クラスタ解析部21は、頻出しているアラート情報400を基に、頻出するパターンである頻出パターン(P)を抽出する。ここで、頻出パターン(P)は、クラスタ識別子407を含む。そして、クラスタ解析部21は、頻出パターン(P)を基に、分類ルール500を生成する。そのため、情報処理装置20は、生成した分類ルール500の適合条件に、アラートに含まれる通信情報409の類似性に関する情報(クラスタ識別子407)を含めることができる。つまり、本実施形態に係る情報処理装置20は、通信情報409の類似性に関する判断基準を含む分類ルール500を生成できるためである。
 <第2の実施形態>
 次に、第2の実施形態に係る情報処理装置60について図面を参照して説明する。
 本実施形態の情報処理装置60は、第1の実施形態と比較して、分類ルール550が含む情報が異なる。より具体的には、本実施形態の分類ルール550は、第1の実施形態の説明に用いた分類ルール500が含む情報に加え、さらに、有効フラグ510を含む。
 図13は、第2の実施形態に係る分類ルール550の一例を示す図である。
 図13に示すように、本実施形態に係る分類ルール550は、図5に示す分類ルール500が含む情報に加え、有効フラグ510を含む。
 有効フラグ510は、その分類ルール550が有効であるか否かを表す情報である。有効フラグ510の値は、特に制限はない。そのため、以下の説明では、一例として、有効フラグ510の「1」の値が、「有効(真)」を示し、「0」の値が、「無効(偽)」を示すとする。言い換えると、情報処理装置60は、有効フラグ510に「1」に設定されている分類ルール550を利用し、有効フラグ510に「0」に設定されている分類ルール550を利用しない。
 なお、有効フラグ510の初期値は、「0」、つまり「無効」が設定されているとする。これは、分類ルール550が、過度に保存されないようにするためである。ただし、情報処理装置60は、分類ルール550の保存を優先し、初期値を「1(有効)」としてもよい。
 次に、第2の実施形態に係る情報処理装置60の構成について、図面を参照して説明する。
 図10は、第2の実施形態に係る情報処理装置60を含む情報処理システム11の構成の一例を示すブロック図である。図10に示すように、情報処理システム11は、第1の実施形態の情報処理システム10と比較して、情報処理装置20及び提示装置30に換えて、情報処理装置60及び提示装置70を含む点で異なる。そのため、以下、第1の実施形態と同様の構成及び動作の説明を省略し、第1の実施形態と異なる構成及び動作を中心に説明する。
 図11は、本実施形態に係る情報処理装置60の構成の一例を示すブロック図である。図11に示すように、情報処理装置60は、第1の実施形態の情報処理装置20と比較して、ルール生成部22、ルール適用部23、及び、ルール記憶部25に換えて、ルール生成部26、ルール適用部27、及び、ルール記憶部28を含む点が異なる。
 ルール生成部26は、第1の実施形態のルール生成部22と同様に、分類ルール550を生成する。ただし、ルール生成部26は、ルール生成部22と比較して、分類ルール550を保存する動作が異なる。より詳細には、ルール生成部26は、生成し分類ルール550をルール記憶部28に保存するときに、ルール記憶部28に保存されている古い分類ルール550を削除する動作が異なる。
 すなわち、ルール生成部26は、ルール記憶部28に保存されている古い分類ルール550の中で、有効フラグ510が「0(無効)」である分類ルール550、つまり、無効な分類ルール550を削除する。その結果、有効フラグ510が「1(有効)」である分類ルール550は、保存される。
 なお、第1の実施形態に係るルール生成部22は、ルール記憶部25に保存されている分類ルール500を削除後、ルール記憶部25に生成した分類ルール500を保存する。そのため、ルール生成部22が保存する分類ルール500は、重複がない。
 一方、ルール生成部26は、有効な分類ルール550を残して、生成した分類ルール550を保存するため、複数の同一の分類ルール550を保存する可能性がある。
 そこで、ルール生成部26は、生成した分類ルール550を保存するときに、分類ルール550の重複を確認し、重複していない分類ルール550を保存する。
 より詳細には、ルール生成部26は、生成した各分類ルール550と、ルール記憶部28に保存されている各分類ルール550とにおける条件部501及び分類動作部509の比較を基に、分類ルール550の重複を判断する。
 言い換えると、ルール生成部26は、生成した分類ルール550の条件部501及び分類動作部509と同じ条件部501及び分類動作部509を含む分類ルール550が、ルール記憶部28に記憶されているか否かを確認する。そして、ルール生成部26は、ルール記憶部28に保存されている分類ルール550における条件部501及び分類動作部509と、少なくとも一部が異なる条件部501及び分類動作部509を含む分類ルール550を、ルール記憶部28に保存する。
 ルール生成部26は、上記の動作を基に、有効フラグ510が「1(有効)」に設定された分類ルール550を、生成した分類ルール550を保存する処理において削除することを防いでいる。さらに、ルール生成部26は、ルール記憶部28に保存される分類ルール550の重複を防いでいる。
 ルール記憶部28は、上記のように、ルール生成部26が生成した分類ルール550を記憶する。
 ルール適用部27は、第1の実施形態のルール適用部23と同様に、分類ルール550を適用する。ただし、ルール適用部27は、ルール適用部23と比較して、分類ルール550の中で有効フラグ510が「1(有効)」である分類ルール550を適用する点が異なる。より詳細には、ルール適用部27は、分類ルール550を適用するか否かの判断において、有効フラグ510が「1(有効)」である分類ルール550を用いる。
 すなわち、ルール適用部27は、分類ルール550を適用する処理において、アラート情報(A)と正検知ルールとを照合するときに、有効フラグ510が「1(有効)」である正検知ルールを用いる。同様に、ルール適用部27は、アラート情報(A)と誤検知ルールとを照合するときに、有効フラグ510が「1(有効)」である誤検知ルールを用いる。
 次に、本実施形態に係る提示装置70について、図面を参照して説明する。
 図12は、第2の実施形態に係る提示装置70の構成の一例を示すブロック図である。図12に示すように、提示装置70は、第1の実施形態の提示装置30の構成に加え、ルール表示部33と、ルール承認部34とを含む。そのため、第1の実施形態と同様の構成及び作用についての詳細な説明を省略する。
 ルール表示部33は、情報処理装置60から、ルール記憶部28に保存されている分類ルール550を受信し、情報処理システム11のオペレータに表示する。つまり、オペレータは、ルール表示部33の表示を基に、分類ルール550の内容を確認できる。なお、ルール表示部33は、オペレータに対して提示する情報として、分類ルール550に含まれる情報とは異なる情報を表示してもよい。例えば、ルール表示部33は、オペレータに対して、分類ルール550に加え、各分類ルール550に対応した頻出パターン(P)の出現回数を表示してもよい。
 ルール承認部34は、オペレータからの分類ルール550に対する入力(指示)を受け付け、受け付けた入力内容を、情報処理装置60に送信する。より詳細には、ルール承認部34は、オペレータが指定した分類ルール550に対する「有効」又は「無効」との指示を受け付け、情報処理装置60に送信する。
 情報処理装置60は、提示装置70から受信した指示を基に、ルール記憶部28に保存されている分類ルール550の有効フラグ510を設定又は変更する。つまり、オペレータは、提示装置70を用いて、情報処理装置60が記憶している分類ルール550の内容を確認し、その分類ルール550の有効フラグ510を設定できる。
 [効果の説明]
 本実施形態に係る情報処理装置60は、第1の実施形態の効果に加え、より適切に利用可能な分類ルール550を生成するとの効果を奏することができる。
 その理由は、次のとおりである。
 情報処理装置60のルール生成部26は、分類ルール550の有効フラグ510を基に、無効な分類ルール550を削除し、有効な分類ルール550を残すためである。また、ルール適用部27は、分類ルール550の有効フラグ510を基に、有効な分類ルール550を、判断に用いるためである。
 さらに、本実施形態に係る情報処理装置60及び提示装置70を含む情報処理システム11は、オペレータの指示に基づいて、情報処理装置60が記憶している分類ルール550の有効及び無効を変更又は設定できるとの効果を奏する。
 その理由は、次のとおりである。
 情報処理システム11に含まれる提示装置70のルール表示部33が、情報処理装置60に記憶されている分類ルール550を表示する。そして、提示装置70のルール承認部34が、分類ルール550に有効又は無効に関する情報を受信し、情報処理装置60に送信できるためである。そして、情報処理装置60が、受信した情報を基に有効フラグ510を設定又は変更するためである。
 このように、本実施形態に係る情報処理装置60を含む情報処理システム11は、オペレータに対して、分類ルール550の有効性の判断結果を分類ルール550に反映する手段を提供する。そのため、情報処理システム11は、分類ルール550が過度に適用されて、誤分類が発生することを抑制するとの効果を奏することができる。
 <第3の実施形態>
 次に、第3の実施形態に係る情報処理装置80について図面を参照して説明する。
 図14は、第3の実施形態に係る情報処理装置80を含む情報処理システム12の構成の一例を示すブロック図である。図14に示すように、情報処理システム12は、第1の実施形態の情報処理システム10と比較して、情報処理装置20に換えて、情報処理装置80を含む点で異なる。そのため、以下、第1の実施形態と同様の構成及び動作の説明を省略し、第1の実施形態と異なる構成及び動作を中心に説明する。
 図15は、第3の実施形態に係る情報処理装置80の構成の一例を示すブロック図である。図15に示すように、情報処理装置80は、第1の実施形態の情報処理装置20と比較して、ルール生成部22に換えて、ルール生成部29を含む点が異なる。
 ルール生成部29は、ルール生成部22と比較して、分類ルール500を生成する動作が異なる。ルール生成部29のその他の動作は、ルール生成部22と同じため、その他の動作の詳細な説明を省略する。
 図16は、第3の実施形態に係るルール生成部29におけるルールを生成する動作の一例を示すフローチャートである。図16に示すように、ルール生成部29は、ステップS208におけるルールを生成する動作の前に、分類ルール500の適合期間を判断する。ルール生成部29のその他の動作は、ルール生成部22と同じため、その他の動作の詳細な説明を省略し、本実施形態に特有の動作について説明する。
 詳細度610が閾値(Nth)以上の場合(ステップS207でYES)、ルール生成部29は、パターン(P)の適合期間を算出する(ステップS211)。
 ここで、適合期間とは、ルール生成部29が、パターン(P)を、分類ルール500の生成に用いるか否かの判断に用いる期間である。適合期間は、ルール生成部29が、アラート情報400を基に、算出する値である。例えば、ルール生成部29は、次のように、適合期間を算出する。
 まず、ルール生成部29は、頻出パターン集合(FS)の抽出に用いたアラート情報400において、パターン(P)を条件部501とした分類ルール500に適合するアラート情報400を抽出する。次に、ルール生成部29は、抽出したアラート情報400に含まれる検知時刻401の中で、最も早い時刻と最も遅い時刻とを抽出する。そして、ルール生成部29は、抽出した最も遅い時刻から最も早い時刻を減算した値を、適合期間とする。つまり、ルール生成部29は、抽出したアラート情報400の検知時刻401の範囲を適合期間とする。
 ここで、適合期間が短いパターン(P)は、短期間又は突発的に発生したアラートに基づくパターン(P)である可能性が高い。つまり、適合期間が短いパターン(P)は、今後、そのパターン(P)に適合するアラートが出現する可能性が低い。
 そのため、ルール生成部29は、上記のように算出した適合期間を用いて、パターン(P)が、短期間若しくは突発的に発生したアラートに基づくか、又は、長期的に出現するアラートに基づくかを判断することができる。つまり、ルール生成部29は、適合期間を基に、今後、適合するアラートの出現する可能性が低いパターン(P)に対応する分類ルール500の追加を抑制できる。
 そこで、適合期間の算出後、ルール生成部29は、算出した適合期間を、所定の閾値(Tth)と比較する(ステップS210)。この閾値(Tth)は、予め、ルール生成部29に設定されている値である。
 適合期間が、閾値(Tth)未満である場合(ステップS210でNO)、ルール生成部29は、そのパターン(P)に対応する分類ルール500を生成しないで、ステップS205に戻る。
 適合期間が、閾値(Tth)以上である場合(ステップS210でYES)、ルール生成部29は、第1の実施形態と同様に、ステップS208に進み、そのパターン(P)に対応する分類ルール500を生成する。
 なお、情報処理装置80は、第2の実施形態の情報処理装置60に含まれるルール生成部26、ルール適用部27、及び、ルール記憶部28の機能を含んでもよい。つまり、情報処理装置80は、有効フラグ510を用いてもよい。
 ここまでの説明では、ルール生成部29が、適合期間を用いて分類ルール500の生成を生成するか否かを判断した。しかし、ルール生成部29の判断は、上記に限る必要はない。ルール生成部29は、分類ルール500を生成するか否かの判断において、アラート情報400に含まれる検知時刻401を用いればよい。例えば、ルール生成部29は、適合するアラート情報400の検知時刻401の最も遅い時刻が、所定の時刻よりも前の場合、つまり、所定の時刻以降にアラートが発生していない場合に、分類ルール500を生成しないようにしてもよい。つまり、ルール生成部29は、現在から所定の時間前までに発生したアラートに対する分類ルール500を生成するようにしてもよい。
 [効果の説明]
 次に、本実施形態の効果について説明する。
 第3の実施形態に係る情報処理装置80は、第1に実施形態の効果に加え、より適切な分類ルール500を生成するとの効果を奏することができる。
 その理由は、次のとおりである。
 本実施形態に係る情報処理装置80のルール生成部29は、分類ルール500の生成において、パターン(P)に関する適合期間を用いる。より詳細には、ルール生成部29は、適合期間が所定の閾値(Tth)より短いパターン(P)に関連する分類ルール500を追加しない。つまり、ルール生成部29は、短期間又は突発的に発生したアラートに基づくパターン(P)に対応する分類ルール500の生成を抑制するためである。
 そのため、ルール生成部29は、上記動作を基に、分類ルール500の数の増加、及び、分類ルール500の数の増加に伴う処理コストの増加を抑制できる。
 <変形例>
 以上の説明した情報処理装置20、情報処理装置60、及び、情報処理装置80(以下、まとめて、情報処理装置20として説明する)は、次のように構成される。
 例えば、情報処理装置20の各構成部は、ハードウェア回路で構成されてもよい。
 また、情報処理装置20は、各構成部が、図示しないネットワークを介して接続された複数の装置を用いて、構成されてもよい。例えば、情報処理装置20は、アラート情報記憶部24、及び/又は、ルール記憶部25を、図示しない外部の記憶装置として構成されてもよい。
 図18は、情報処理装置20の第1の変形例に係る情報処理装置90の構成の一例を示すブロック図である。
 情報処理装置90は、アラート情報記憶部24と、ルール記憶部25とを、図示しないネットワークなどを介して接続された外部の記憶装置として構成されている。
 そのため、情報処理装置90は、クラスタ解析部21と、ルール生成部22と、ルール適用部23とを含む。情報処理装置90に含まれる各部は、第1の実施形態と同様である。
 このように構成された情報処理装置90は、情報処理装置20と同様の効果を得ることができる。
 その理由は、情報処理装置90に含まれる各構成が、外部の記憶装置に設けられたアラート情報記憶部24及びルール記憶部25を用いて、情報処理装置20の構成と同様に動作できるためである。
 なお、情報処理装置90は、本発明の実施形態における最小構成である。
 また、情報処理装置20は、複数の構成部を1つのハードウェアで構成されてもよい。
 また、情報処理装置20は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現されてもよい。情報処理装置20は、上記構成に加え、さらに、入出力接続回路(IOC:Input / Output Circuit)と、ネットワークインターフェース回路(NIC:Network Interface Circuit)とを含むコンピュータ装置として実現されてもよい。
 図17は、情報処理装置20の第2の変形例に係る情報処理装置700の構成の一例を示すブロック図である。つまり、図17は、情報処理装置20を上記のコンピュータ装置として実現した場合の一例である情報処理装置700の構成の一例を示すブロック図である。
 情報処理装置700は、CPU710と、ROM720と、RAM730と、内部記憶装置740と、IOC750と、NIC780とを含み、コンピュータを構成している。
 CPU710は、ROM720からプログラムを読み込む。そして、CPU710は、読み込んだプログラムに基づいて、RAM730と、内部記憶装置740と、IOC750と、NIC780とを制御する。そして、CPU710を含むコンピュータは、これらの構成を制御し、図2に示す、クラスタ解析部21と、ルール生成部22と、ルール適用部23としての各機能を実現する。
 CPU710は、各機能を実現する際に、RAM730又は内部記憶装置740を、プログラムの一時記憶として使用してもよい。
 また、CPU710は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体790が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU710は、NIC780を介して、図示しない外部の装置からプログラムを受け取り、RAM730に保存して、保存したプログラムを基に動作してもよい。
 ROM720は、CPU710が実行するプログラム及び固定的なデータを記憶する。ROM720は、例えば、P-ROM(Programmable-ROM)又はフラッシュROMである。
 RAM730は、CPU710が実行するプログラム及びデータを一時的に記憶する。RAM730は、例えば、D-RAM(Dynamic-RAM)である。
 内部記憶装置740は、情報処理装置700が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置740は、CPU710の一時記憶装置として動作してもよい。内部記憶装置740は、アラート情報記憶部24及びルール記憶部25として動作する。内部記憶装置740は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。
 ここで、ROM720と内部記憶装置740は、不揮発性(non-transitory)の記憶媒体である。一方、RAM730は、揮発性(transitory)の記憶媒体である。そして、CPU710は、ROM720、内部記憶装置740、又は、RAM730に記憶されているプログラムを基に動作可能である。つまり、CPU710は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
 IOC750は、CPU710と、入力機器760及び表示機器770とのデータを仲介する。IOC750は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。
 入力機器760は、情報処理装置700の操作者からの入力指示を受け取る機器である。入力機器760は、例えば、キーボード、マウス又はタッチパネルである。
 表示機器770は、情報処理装置700の操作者に情報を表示する機器である。表示機器770は、例えば、液晶ディスプレイである。
 NIC780は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。NIC780は、例えば、LAN(Local Area Network)カードである。
 このように構成された情報処理装置700は、情報処理装置20と同様の効果を得ることができる。
 その理由は、情報処理装置700のCPU710が、プログラムに基づいて情報処理装置20と同様の機能を実現できるためである。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2015年 6月26日に出願された日本出願特願2015-128769を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10 情報処理システム
 11 情報処理システム
 12 情報処理システム
 20 情報処理装置
 21 クラスタ解析部
 22 ルール生成部
 23 ルール適用部
 24 アラート情報記憶部
 25 ルール記憶部
 26 ルール生成部
 27 ルール適用部
 28 ルール記憶部
 29 ルール生成部
 30 提示装置
 31 アラート表示部
 32 入力部
 33 ルール表示部
 34 ルール承認部
 40 ネットワーク
 50 監視装置
 60 情報処理装置
 70 提示装置
 80 情報処理装置
 90 情報処理装置
 400 アラート情報
 401 検知時刻
 402 送信元IPアドレス
 403 送信元ポート番号
 404 送信先IPアドレス
 405 送信先ポート番号
 406 検知ルール識別子
 407 クラスタ識別子
 408 分類結果
 409 通信情報
 500 分類ルール
 501 条件部
 502 送信元IPアドレス
 503 送信元ポート番号
 504 送信先IPアドレス
 505 送信先ポート番号
 506 検知ルール識別子
 507 クラスタ識別子
 508 分類結果
 509 分類動作部
 510 有効フラグ
 550 分類ルール
 600 頻出パターン集合
 601 頻出パターン
 602 送信元IPアドレス
 603 送信元ポート番号
 604 送信先IPアドレス
 605 送信先ポート番号
 606 検知ルール識別子
 607 クラスタ識別子
 608 分類結果
 609 出現回数
 610 詳細度
 700 情報処理装置
 710 CPU
 720 ROM
 730 RAM
 740 内部記憶装置
 750 IOC
 760 入力機器
 770 表示機器
 780 NIC
 790 記憶媒体

Claims (10)

  1.  アラートに含まれる通信された情報である通信情報を基づいて前記アラートを分類した結果であるクラスタを示すクラスタ識別子を決定し、前記アラートが正検知であるか誤検知であるかの分類である分類結果を受信し、前記アラートと前記クラスタ識別子と前記分類結果とを含む情報であるアラート情報を生成するクラスタ解析手段と、
     前記アラート情報において、前記アラート情報に含まれる情報の組合せで、少なくとも前記クラスタ識別子を含むパターンの出現回数を算出し、所定の閾値より出現回数が多いパターンである頻出パターンを抽出し、抽出した前記頻出パターンを基に前記アラートに関連付けられた前記分類結果の設定又は更新に用いられる分類ルールを生成し、過去に生成した古い分類ルールを新たに生成した分類ルールで更新するルール生成手段と、
     前記分類ルールに基に前記アラート情報に含まれる前記分類結果を設定又は更新するルール適用手段と
     を含む情報処理装置。
  2.  前記クラスタ解析手段が、
     前記通信情報の類似度を基に前記クラスタ識別子を決定する
     請求項1に記載の情報処理装置。
  3.  前記ルール生成手段が、
     前記頻出パターンにおいて前記頻出パターンに含まれる前記分類結果が同一となっている前記頻出パターンを基に前記分類ルールを生成する
     請求項1又は2に記載の情報処理装置。
  4.  前記ルール生成手段が、
     前記頻出パターンに対する前記アラートの適用範囲の狭さの程度である詳細度を算出し、所定の閾値より大きな前記詳細度を持つ前記頻出パターンに対する前記分類ルールを生成する
     請求項1ないし3のいずれか1項に記載の情報処理装置。
  5.  前記分類ルールが、さらに、
     その前記分類ルールが有効であるか否かを示す有効フラグを含み、
     前記ルール生成手段が、
     過去に生成した古い前記分類ルールを新たに生成した前記分類ルールで更新する際に、前記有効フラグが無効となっている前記分類ルールを削除し、前記有効フラグが有効となっている前記分類ルールを削除せずに更新し、
     前記ルール適用手段が、
     前記有効フラグが有効となっている前記分類ルールを基に前記アラートに関連付けられた前記分類結果を設定又は更新する
     請求項1ないし4のいずれか1項に記載の情報処理装置。
  6.  前記アラート情報が、さらに、
     前記アラートが検知された検知時刻を含み、
     前記ルール生成手段が、
     前記頻出パターンと適合する前記アラート情報の検知時刻を基に、前記分類ルールに生成に用いる前記頻出パターンを選択する
     請求項1ないし5のいずれか1項に記載の情報処理装置。
  7.  請求項1ないし6のいずれか1項に記載の情報処理装置と、
     前記情報処理装置から前記アラート情報を受信し、受信した前記アラート情報を表示するアラート表示手段と、
     表示された前記アラート情報に対する前記分類結果の入力を受信し、受信した前記入力を前記情報処理装置に送信する入力手段と
     を含む提示装置と
     を含む情報処理システム。
  8.  前記提示装置が、さらに、
     前記情報処理装置から前記分類ルールを受信し、受信した前記分類ルールを表示するルール表示手段と、
     表示された前記分類ルールに対する有効又は無効である指示を受信し、受信した前記指示を前記情報処理装置に送信するルール承認手段と
     を含む請求項7に記載の情報処理システム。
  9.  アラートに含まれる通信された情報である通信情報を基づいて前記アラートを分類した結果であるクラスタを示すクラスタ識別子を決定し、
     前記アラートが正検知であるか誤検知であるかの分類である分類結果を受信し、
     前記アラートと前記クラスタ識別子と前記分類結果とを含む情報であるアラート情報を生成し、
     前記アラート情報において、前記アラート情報に含まれる情報の組合せで、少なくとも前記クラスタ識別子を含むパターンの出現回数を算出し、
     所定の閾値より出現回数が多いパターンである頻出パターンを抽出し、
     前記抽出した頻出パターンを基に前記アラートに関連付けられた前記分類結果の設定又は更新に用いられる分類ルールを生成し、
     過去に生成した古い分類ルールを新たに生成した分類ルールで更新し、
     前記分類ルールに基に前記アラート情報に含まれる前記分類結果を設定又は更新する
     情報処理方法。
  10.  アラートに含まれる通信された情報である通信情報を基づいて前記アラートを分類した結果であるクラスタを示すクラスタ識別子を決定する処理と、
     前記アラートが正検知であるか誤検知であるかの分類である分類結果を受信する処理と、
     前記アラートと前記クラスタ識別子と前記分類結果とを含む情報であるアラート情報を生成する処理と、
     前記アラート情報において、前記アラート情報に含まれる情報の組合せで、少なくとも前記クラスタ識別子を含むパターンの出現回数を算出する処理と、
     所定の閾値より出現回数が多いパターンである頻出パターンを抽出する処理と、
     前記抽出した頻出パターンを基に前記アラートに関連付けられた前記分類結果の設定又は更新に用いられる分類ルールを生成する処理と、
     画に生成した古い分類ルールを新たに生成した分類ルールで更新する処理と、
     前記分類ルールに基に前記アラート情報に含まれる前記分類結果を設定又は更新する処理と
     をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記憶する記憶媒体。
PCT/JP2016/002894 2015-06-26 2016-06-15 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体 Ceased WO2016208158A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017524621A JP6690646B2 (ja) 2015-06-26 2016-06-15 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
US15/735,256 US10819720B2 (en) 2015-06-26 2016-06-15 Information processing device, information processing system, information processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015128769 2015-06-26
JP2015-128769 2015-06-26

Publications (1)

Publication Number Publication Date
WO2016208158A1 true WO2016208158A1 (ja) 2016-12-29

Family

ID=57584995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/002894 Ceased WO2016208158A1 (ja) 2015-06-26 2016-06-15 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体

Country Status (3)

Country Link
US (1) US10819720B2 (ja)
JP (1) JP6690646B2 (ja)
WO (1) WO2016208158A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109286511A (zh) * 2017-07-19 2019-01-29 东软集团股份有限公司 数据处理的方法及装置
JP2019514315A (ja) * 2016-04-04 2019-05-30 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. 異種混在アラートのグラフベース結合
RU2777616C2 (ru) * 2018-04-23 2022-08-08 Хуавей Текнолоджиз Ко., Лтд. Система, устройство и способ сжатия журнала регистрации аварийных сигналов и носитель данных
US11436196B2 (en) 2018-04-23 2022-09-06 Huawei Technologies Co., Ltd. Alarm log compression method, apparatus, and system, and storage medium
JPWO2022259496A1 (ja) * 2021-06-10 2022-12-15
US11838329B1 (en) * 2021-08-11 2023-12-05 Rapid7, Inc. Curating actionable intrusion detection system rules

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218562B2 (en) * 2016-11-09 2019-02-26 Bank Of America Corporation Parsing and optimizing runtime infrastructure alerts
US10764295B2 (en) * 2017-08-08 2020-09-01 International Business Machines Corporation Monitoring service policy management
US10715545B2 (en) * 2017-09-22 2020-07-14 Microsoft Technology Licensing, Llc Detection and identification of targeted attacks on a computing system
US10783725B1 (en) 2017-09-27 2020-09-22 State Farm Mutual Automobile Insurance Company Evaluating operator reliance on vehicle alerts
TW201926108A (zh) * 2017-12-04 2019-07-01 和碩聯合科技股份有限公司 網路安全系統及其方法
JP7676757B2 (ja) * 2020-11-27 2025-05-15 ブラザー工業株式会社 通信装置、通信装置のためのコンピュータプログラム、及び、通信装置によって実行される方法
CN112506968A (zh) * 2020-12-10 2021-03-16 上海连尚网络科技有限公司 信息聚合方法、装置、电子设备和计算机可读介质
CN113452707B (zh) * 2021-06-28 2022-07-22 华中科技大学 Scanner网络扫描攻击行为检测方法、介质及终端
WO2023017931A1 (ko) * 2021-08-11 2023-02-16 주식회사 샌즈랩 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
CN115150160A (zh) * 2022-06-29 2022-10-04 北京天融信网络安全技术有限公司 一种网络攻击特征的检测方法及系统
CN115757653A (zh) * 2022-11-07 2023-03-07 深圳瑞为智能科技有限公司 报警数据的分类处理方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0430637A (ja) * 1990-05-23 1992-02-03 Nec Corp 障害判定方式
JPH08227388A (ja) * 1995-02-21 1996-09-03 Mitsubishi Electric Corp システム分析装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110190580A1 (en) * 2009-09-28 2011-08-04 Bennett James D Analysis engine within a network supporting intravaginal monitoring
JP5379177B2 (ja) * 2011-02-10 2013-12-25 株式会社日立製作所 分散アンテナシステム、基地局装置、無線リソース制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0430637A (ja) * 1990-05-23 1992-02-03 Nec Corp 障害判定方式
JPH08227388A (ja) * 1995-02-21 1996-09-03 Mitsubishi Electric Corp システム分析装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019514315A (ja) * 2016-04-04 2019-05-30 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. 異種混在アラートのグラフベース結合
CN109286511A (zh) * 2017-07-19 2019-01-29 东软集团股份有限公司 数据处理的方法及装置
CN109286511B (zh) * 2017-07-19 2021-10-08 东软集团股份有限公司 数据处理的方法及装置
RU2777616C2 (ru) * 2018-04-23 2022-08-08 Хуавей Текнолоджиз Ко., Лтд. Система, устройство и способ сжатия журнала регистрации аварийных сигналов и носитель данных
US11436196B2 (en) 2018-04-23 2022-09-06 Huawei Technologies Co., Ltd. Alarm log compression method, apparatus, and system, and storage medium
JPWO2022259496A1 (ja) * 2021-06-10 2022-12-15
WO2022259496A1 (ja) * 2021-06-10 2022-12-15 日本電信電話株式会社 分析装置、分析方法、および、分析プログラム
JP7582469B2 (ja) 2021-06-10 2024-11-13 日本電信電話株式会社 分析装置、分析方法、および、分析プログラム
AU2021450034B2 (en) * 2021-06-10 2024-11-21 Nippon Telegraph And Telephone Corporation Analysis device, analysis method, and analysis program
US11838329B1 (en) * 2021-08-11 2023-12-05 Rapid7, Inc. Curating actionable intrusion detection system rules

Also Published As

Publication number Publication date
US20180167407A1 (en) 2018-06-14
JP6690646B2 (ja) 2020-04-28
US10819720B2 (en) 2020-10-27
JPWO2016208158A1 (ja) 2018-04-19

Similar Documents

Publication Publication Date Title
JP6690646B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
US11030311B1 (en) Detecting and protecting against computing breaches based on lateral movement of a computer file within an enterprise
US11068588B2 (en) Detecting irregularities on a device
EP2933973B1 (en) Data protection method, apparatus and system
JP6753398B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
JP5972401B2 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
JP2020035424A (ja) ネットワークへの脅威のインジケータの抽出及び応答
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
US20170185785A1 (en) System, method and apparatus for detecting vulnerabilities in electronic devices
US9185119B1 (en) Systems and methods for detecting malware using file clustering
US11100241B2 (en) Virtual trap protection of data elements
US10757029B2 (en) Network traffic pattern based machine readable instruction identification
US8910281B1 (en) Identifying malware sources using phishing kit templates
US20240364716A1 (en) Massive vulnerable surface protection
EP4274160A1 (en) System and method for machine learning based malware detection
JP2017173940A (ja) セキュリティ対処サーバ及びシステム
JP2016525750A (ja) 合法的オブジェクトの誤用の識別
US10250625B2 (en) Information processing device, communication history analysis method, and medium
US12242329B2 (en) Turn on functional module and related functional module based on generated disk image
JP2019008568A (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法
US20190081988A1 (en) Security management apparatus, central security management apparatus, security management method, and computer readable medium

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017524621

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15735256

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16813932

Country of ref document: EP

Kind code of ref document: A1