WO2021070291A1 - レベル推定装置、レベル推定方法、および、レベル推定プログラム - Google Patents
レベル推定装置、レベル推定方法、および、レベル推定プログラム Download PDFInfo
- Publication number
- WO2021070291A1 WO2021070291A1 PCT/JP2019/039865 JP2019039865W WO2021070291A1 WO 2021070291 A1 WO2021070291 A1 WO 2021070291A1 JP 2019039865 W JP2019039865 W JP 2019039865W WO 2021070291 A1 WO2021070291 A1 WO 2021070291A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- event
- level
- similarity
- events
- software
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Definitions
- the present invention relates to a level estimation device, a level estimation method, and a level estimation program.
- Non-Patent Document 1 In order to detect security incidents (incidents) such as malware infections at an early stage, event logs detected by security devices are monitored. Then, in order to estimate the level of the event detected by the security device (for example, the high possibility that an incident has occurred), a technique using the strength of the relationship between the event and the past incident has been proposed. (See Non-Patent Document 1).
- the number of events detected by security devices here is increasing day by day in order to keep up with changes in cyber attacks.
- the level is estimated based on the strength of the association between the event for which the level is estimated and the past incident. Therefore, in the prior art, there is a problem that the level is estimated low when the event for which the level is estimated is an event before the occurrence of the incident. Therefore, an object of the present invention is to solve the above-mentioned problems and accurately estimate the level of an event detected by a security device.
- the present invention calculates the similarity between the log receiving unit that receives the event log of the event detected by the network device or the application and the event indicated by the event log using the event log.
- the level estimation unit that estimates the level of a predetermined event based on the calculated similarity between the events and the level of at least one of the events is provided.
- the level of the event detected by the security device can be estimated accurately.
- FIG. 1 is a diagram illustrating an outline of the level estimation device of the first embodiment.
- FIG. 2 is a diagram showing a configuration example of the level estimation device of the first embodiment.
- FIG. 3 is a diagram showing an example of an event log.
- FIG. 4 is a diagram showing an example of aggregated event logs.
- FIG. 5 is a diagram illustrating an example of a procedure for creating a numerical vector from the aggregated event log.
- FIG. 6 is a diagram showing an example of event level information.
- FIG. 7 is a flowchart showing an example of a processing procedure of the level estimation device of the first embodiment.
- FIG. 8 is a diagram illustrating level estimation in the level estimation device of the second embodiment.
- FIG. 9 is a diagram illustrating level estimation in the level estimation device of the third embodiment.
- FIG. 10 is a diagram showing a configuration example of a system to which the level estimation device of each embodiment is applied.
- FIG. 11 is a diagram showing an example of alerts sorted according to the level estimation result by the level estimation device of each embodiment.
- FIG. 12 is a diagram showing an example of a computer that executes a level estimation program.
- the event for which the level estimation device targets the level estimation will be described as an example of a security event detected by the security device, but the present invention is not limited to this.
- the event for which the level is estimated may be an event detected by a network device or application other than the security device.
- the event level is, for example, the high possibility that a security-related incident has occurred, the importance of the event, and the like.
- the security device may be realized by a dedicated hardware device that detects an event, or may be realized by an application or software that detects an event.
- the level estimation device aggregates the event logs of the security devices of the same vendor among the event logs of the events detected by each security device (not shown) for each event and converts them into a numerical vector.
- the level estimator aggregates the event logs of the security device of the vendor A for each event, and obtains a numerical vector marked with ⁇ and a numerical vector marked with ⁇ . Further, the level estimation device 10 aggregates the event logs of the security devices of the vendor B for each event, and obtains a numerical vector marked with a star, a numerical vector marked with ⁇ , and a numerical vector marked with ⁇ .
- the numerical vector includes a numerical vector of a common event in which only the vendor of the security device is different (a numerical vector related to the same event although the vendor of the security device is different).
- the numerical vector marked with ⁇ is a numerical vector of the same event (common event) commonly detected by the vendors A and B.
- the level estimator converts the above numerical vector into, for example, an embedded vector that satisfies the following two conditions.
- the level estimation device converts the space of the numerical vector shown by the reference numeral 101 into the space of the embedded vector shown by the reference numeral 102, for example. That is, as shown by reference numeral 102, the level estimator maintains the similar relationship between the numerical vectors of the security devices of the same vendor with respect to the embedded vectors of the security devices of the vendors A and B, and the common event of the vendors A and B. Convert so that the distance between the numerical vectors (marked with ⁇ in FIG. 1) is short.
- the level estimator has a similarity (distance) with the embedded vector (marked with ⁇ in FIG. 1) whose event level is known among the embedded vectors of the security devices of the vendors A and B obtained by the above processing. Estimate the level of events for each embedded vector based on.
- the level estimation device estimates the event level of the embedded vector (embedded vector marked with ⁇ ) that is close to the embedded vector marked with ⁇ in the space of the embedded vector indicated by reference numeral 102 as “Primary”.
- the level estimation device estimates the event level of the embedded vector (embedded vector marked with a star) that is far from the embedded vector marked with ⁇ in the space of the embedded vector indicated by reference numeral 102 as “Secondary”.
- the level estimation device can accurately estimate the level of the event even if the event detected by the security device is an event before the incident occurs.
- the level estimation device of the present embodiment adjusts the similarity between events detected by security devices of different vendors based on the similarity with events common to security devices of different vendors (common events). As a result, the level estimator can appropriately calculate the similarity between the events of the security devices of different vendors. As a result, the level estimator can accurately estimate the level of the event.
- the level estimation device 10 includes a log reception unit 11, a log aggregation unit 12, a numerical vector creation unit 13, a level estimation unit 14, and a level output unit 15.
- the log receiving unit 11 accepts the input of the event log of the event detected by each security device.
- This event log includes, for example, information for identifying the detected event (event name, etc.) and identification information of the vendor of the security device that detected the event.
- the event log contains the vendor name of the security device that detected the event, the event name of the event, the customer using the security device, and the source and destination of the communication in which the event occurred. , Includes the time of occurrence of the event, etc.
- the above event names are, for example, information on malware infection, information on server attacks, detection names by anti-virus software, and the like.
- an IP address is used, but a domain name, an IP address range, or the like may be used in addition to the IP address.
- the event log may be the result detected by the security device, or may be the result detected by another device using the communication log recorded by the security device. Further, in addition to the information shown in FIG. 3, the event log may include information such as the direction of communication, communication interruption, and the model number of the security device. Further, the event log may be one in which one log is recorded when the event is detected once, but for example, when the same event is detected a plurality of times, they may be collectively recorded.
- the log aggregation unit 12 aggregates event logs related to the same event among the event logs received by the log reception unit 11. Then, when the aggregated event log includes the event log of the common event, the log aggregation unit 12 aggregates the event log for each vendor of the security device. For example, as shown in FIG. 4, the log aggregation unit 12 aggregates event logs having the same event name, and when the aggregated event log includes event logs of security devices of a plurality of different vendors, the event log is concerned. Are aggregated by vendor.
- event log the log aggregation unit 12 considers to be related to the same event is arbitrary, but for example, as described above, a method of considering an event log having the same event name to be related to the same event can be considered. Other than that, for example, a method of considering the combination of the event name, the direction of communication, the presence / absence of interruption of communication, and the like to be considered as the same event can be considered. Further, the log aggregation unit 12 may target all event logs received by the log reception unit 11 when aggregating event logs, or may target some event logs such as event logs for a predetermined period. May be.
- the numerical vector creation unit 13 creates a numerical vector from the event log aggregated by the log aggregation unit 12. For example, as shown in FIG. 5, the numerical vector creation unit 13 converts each of the information included in the event log aggregated by the log aggregation unit 12 into a vector, combines the converted vectors, and for one event. Create one numeric vector.
- the numerical vector creation unit 13 creates a vector by performing one-hot encoding with a keyword for the event name included in the aggregated event log.
- the keyword uses, for example, a character string related to an attack (for example, C2, malware, SQL, injection, etc.). Further, as the keyword, for example, a character string common to many event names and event names of a plurality of vendors is used.
- the numerical vector creation unit 13 creates a vector for the source and destination included in the aggregated event log by one-hot encoding based on the global IP address. Further, the numerical vector creation unit 13 may create a vector in which a combination of a private IP and a customer (customer name) is added to the vector created by the above method. In addition, in order to reduce the number of IP addresses required for creating the vector, the numerical vector creation unit 13 creates a vector using the IP addresses of the source and destination of the event known to have a high level. May be good.
- the numerical vector creation unit 13 uses the information as the source, destination, and time included in the aggregated event log to quantify the event detection frequency, the total number of detections, and the burst property.
- a vector may be created using a unique number of source and destination IP addresses.
- the method of creating the numerical vector is not limited to the above, and other elements included in the aggregated event log may be added, or only a part of the above may be used.
- the level estimation unit 14 calculates the similarity between the numerical vectors of each event, and based on the similarity between the calculated numerical vectors of the event and the event level of at least one of the numerical vectors, the event indicated by the numerical vector. Estimate the level of.
- the level estimation unit 14 calculates the similarity between the numerical vectors of the events detected by the security devices of different vendors, and the numerical vectors of the common event described above. Consider the similarity with.
- the level estimation unit 14 includes the numerical vectors of common events among the numerical vectors of events detected by security devices of a plurality of different vendors (hereinafter, appropriately abbreviated as “vendor numerical vectors”), and each of them.
- the similarity between the numerical vectors of each vendor is calculated in consideration of the similarity with the numerical vectors of the vendor.
- the level estimation unit 14 estimates the level of the event indicated by each numerical vector based on the calculated similarity between the numerical vectors of each numerical vector and the event level of at least one of the numerical vectors.
- the level estimation unit 14 when calculating the similarity between the numerical vectors of each vendor, the level estimation unit 14 maintains the similar relationship between the numerical vectors of the same vendor, and the numerical values of the same event (common event) detected by different vendors.
- the similarity between the numerical vectors of each vendor is calculated by using a vector space in which the similarity between the vectors is equal to or more than a predetermined value.
- the level estimation unit 14 converts the numerical vector created by the numerical vector creation unit 13 into an embedded vector that satisfies the following conditions, for example.
- the similarity between the numerical vectors may be saved, or only the order of the similarity may be saved. May be good.
- the level estimation unit 14 will explain the case where the similarity between the events of the security devices of each vendor uses the similarity of the numerical vector that aggregates the event logs of each security device, but is not limited to this.
- the level estimation unit 14 uses keywords, sources, destination matches, event co-occurrence, etc. in the information aggregated from the event logs of the security devices as the similarity between the events of the security devices of each vendor. May be good.
- the level estimation unit 14 converts the space of the numerical vector shown by reference numeral 101 in FIG. 1 into the space of the embedded vector shown by reference numeral 102 based on the above conditions (1) and (2). That is, as shown by reference numeral 102, the level estimation unit 14 maintains a similar relationship between the embedded vectors of the same vendor for each of the embedded vectors of the vendors A and B, but differs only in the vendors (marked with ⁇ in FIG. 1). ) Is converted so that the distance between the embedded vectors is as short as possible.
- the level estimation unit 14 uses the similarity with the embedded vector of the event whose level is known.
- the level estimation unit 14 accepts input of information indicating the event name and the event level of the event name (event level information, see FIG. 6). Then, the level estimation unit 14 estimates the level of the embedded vector of the level estimation target by using the similarity between the embedded vector whose level is specified by the event level information and the embedded vector of the level estimation target.
- the event level may be, for example, Primary, Secondary, etc., but may be a discrete numerical value, continuous value, or the like. Further, in the event level information (see FIG. 6), the level of any one of the events detected by the security devices of all vendors may be set.
- the level estimation unit 14 calculates, for example, the similarity between the embedded vectors shown in reference numeral 102 in FIG. 1, and then specifies, for example, the level of the embedded vector marked with ⁇ in FIG. 1 based on the above event level information. Then, the level estimation unit 14 estimates the level of the event of each of the other embedded vectors based on the similarity (distance) between the embedded vector marked with ⁇ and the event of each of the other embedded vectors.
- level estimation unit 14 may estimate only the level of the embedded vector whose event level is unknown, or may estimate the level of all the embedded vectors.
- the level of each event can be estimated accurately.
- the level output unit 15 outputs the level estimated by the level estimation unit 14.
- the level estimation unit 14 estimates the level of the event indicated by the event log received in S1 using the numerical vector created in S3 (S4).
- the level estimation unit 14 estimates the event level in S4
- it accepts the input of the event level information (see FIG. 6) and estimates the event level with reference to the event level information.
- the level output unit 15 outputs the level estimation result (S5: level output).
- the level estimation device 10 aggregates event logs of events detected by each security device, similarly to the level estimation device 10 of the first embodiment. For example, the level estimation device 10 aggregates the event logs of the security equipment of the vendor A for each event, and obtains, for example, the numerical vector marked with ⁇ and the numerical vector marked with ⁇ as shown in FIG. Further, the level estimation device 10 aggregates the event logs of the security devices of the vendor B for each event, and obtains the numerical vector marked with a star, the numerical vector marked with ⁇ , and the numerical vector marked with ⁇ as shown in FIG. In FIG. 8, the numerical vector marked with ⁇ is a numerical vector of an event (common event) common to vendors A and B.
- the level estimation unit 14 first calculates the similarity between the numerical vector marked with ⁇ of vendor A and the numerical vector marked with ⁇ of vendor A, and adds it to the numerical vector marked with ⁇ of vendor A. Similarly, the level estimation unit 14 calculates the similarity between the numerical vector marked with ⁇ of vendor B and the numerical vector marked with ⁇ of vendor B, and adds it to the numerical vector marked with ⁇ of vendor B. Further, the level estimation unit 14 calculates the similarity between the numerical vector marked with a star of vendor B and the numerical vector marked with a circle of vendor B, and adds the vector to the numerical vector marked with a star of vendor B.
- the level estimation unit 14 performs machine learning using the numerical vector of the event whose level is known among the numerical vectors as teacher data, and constructs a classifier.
- the level estimation unit 14 treats the numerical vector of the event with an unknown level as the numerical vector of the event with a low level, and performs machine learning. May be done. If it is known in advance that the ratio of the numerical vectors of the event having a high actual level to the numerical vector group of the event whose level is unknown is low, the above method will not be a problem.
- the level estimation unit 14 estimates the level of the event indicated by each numerical vector using the constructed classifier.
- the level estimation unit 14 first calculates the similarity of each numerical vector with the numerical vector of the common event of the same vendor. Next, the level estimation unit 14 creates information in which the degree of similarity between the numerical vector and the numerical vector of the common event of the same vendor is added to each numerical vector. Then, the level estimation unit 14 performs machine learning using the created information and the event level of at least one of the numerical vectors of the numerical vectors as teacher data, and estimates the level of the event indicated by each numerical vector. Build a classifier for. After that, the level estimation unit 14 estimates the level of the event indicated by each numerical vector using the constructed classifier. According to such a level estimation method, it is possible to use general supervised machine learning to construct a classifier used for event level estimation, so that it is relatively easy to construct a classifier. There are merits.
- the level estimation unit 14 has described the case where the similarity of the numerical vector is used as the similarity, for example, the matching of the keyword, the source, the destination, the co-occurrence of the event, and the like are used. May be good. Further, although it is conceivable to add the similarity with all common events to the level estimation unit 14 and the numerical vector, only the similarity with some common events may be added.
- level estimation unit 14 may estimate only the level of the numerical vector creation unit 13 for an event whose level is unknown, as in the first embodiment described above, but estimates the levels of the numerical vectors for all events. You may.
- the level estimation device 10 aggregates event logs of events detected by each security device, similarly to the level estimation device 10 of the first embodiment. For example, the level estimation device 10 aggregates the event logs of the security equipment of the vendor A for each event, and obtains, for example, the numerical vector marked with ⁇ shown by reference numeral 902 in FIG. 9 and the numerical vector marked with ⁇ . Further, the level estimation device 10 aggregates the event logs of the security devices of the vendor B for each event, and includes the numerical vector marked with a star, the numerical vector marked with ⁇ , and the numerical vector marked with a circle, as shown by reference numeral 902 in FIG. To get. In FIG. 9, the numerical vector marked with ⁇ is a numerical vector of an event (common event) common to vendors A and B.
- the level estimation unit 14 constructs a classifier that estimates the event level indicated by each numerical vector by using a numerical vector whose event level is known and its level as teacher data.
- the classifier constructed here is a classifier that converts a numerical vector into a predetermined embedded vector and estimates the level of the event indicated by each embedded vector using the converted embedded vector.
- This classifier uses, for example, a neural network that converts a numerical vector into an embedded vector and a neural network that estimates the level of the event indicated by each embedded vector, as shown by reference numeral 901 in FIG. It has a network.
- the level estimation unit 14 calculates the similarity between the embedded vectors using the embedded vector converted by the above classifier. Then, the level estimation unit 14 adjusts the classifier based on the calculated similarity between the embedded vectors.
- the classifier here is adjusted so as to satisfy the following conditions.
- the space of the embedded vector shown by reference numeral 902 has a high degree of similarity between the embedded vectors of the common event and between the embedded vectors of the same vendor, as shown by reference numeral 903. The similar relationship is maintained. Then, the level estimation unit 14 estimates the level of the event indicated by the numerical vector by using the adjusted classifier.
- the level estimation unit 14 may estimate only the level of the numerical vector of the event whose level is unknown, as in the first embodiment and the second embodiment described above, but the numerical vector of all the events may be estimated. The level may be estimated.
- the level estimation method in the third embodiment has an advantage that the level of each event can be estimated even when the calculation method of the similarity between numerical vectors is not clear.
- the system includes, for example, a customer environment, SIEM (Security Information and Event Management), and SOC.
- SIEM Security Information and Event Management
- security appliances such as UTM (Unified Threat Management) (hereinafter abbreviated as appliances) are installed in each customer.
- Appliance vendors vary from customer to customer. For example, the vendor A appliance is installed in the customers 1 and 2, and the vendor B appliance is installed in the customer 3.
- each appliance detects a security event, it sends an alert to SIEM to notify it.
- each appliance sends a communication log when a security event is detected to SIEM.
- SIEM applies the detection rule (SOC rule) developed by SOC to each customer's communication log, and when a security event is detected by the rule, sends an alert to SOC. SIEM also sends alerts sent by each customer's appliance to the SOC as well.
- SOC rule detection rule
- the level estimation device 10 of each embodiment estimates the event level indicated by each alert by using the alert received by the SOC and the event level set by the SOC analyst.
- the level used is preset according to the relationship with the incident.
- the analyst who analyzes the alerts sent to the SOC determines from which alert the analysis should be performed in order based on the event level of each alert estimated by the level estimation device 10 described above. This allows, for example, the analyst to adjust the order of parsing from higher level event alerts. As a result, for example, the time required for the incident to be identified can be reduced as compared with the case where the analyst analyzes the alerts in the order of arrival (see FIG. 11).
- the information processing apparatus can function as the level estimation apparatus 10 by causing the information processing apparatus to execute the above program provided as package software or online software.
- the information processing device referred to here includes a desktop type or notebook type personal computer, a rack-mounted server computer, and the like.
- the information processing device includes smartphones, mobile phones, mobile communication terminals such as PHS (Personal Handyphone System), and PDA (Personal Digital Assistants).
- the level estimation device 10 may be mounted on the cloud server.
- the computer 1000 has, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
- the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
- a mouse 1110 and a keyboard 1120 are connected to the serial port interface 1050.
- a display 1130 is connected to the video adapter 1060, for example.
- the hard disk drive 1090 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094.
- Various data and information described in the above-described embodiment are stored in, for example, a hard disk drive 1090 or a memory 1010.
- the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1090 into the RAM 1012 as needed, and executes each of the above-described procedures.
- the program module 1093 and program data 1094 related to the above level estimation program are not limited to the case where they are stored in the hard disk drive 1090, for example, are stored in a removable storage medium, and are stored in the CPU 1020 via the disk drive 1100 or the like. May be read by.
- the program module 1093 and the program data 1094 related to the above program are stored in another computer connected via a network such as a LAN or WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070. May be done.
- Level estimation device 11
- Log reception unit 12
- Log aggregation unit 13
- Numerical vector creation unit 14
- Level estimation unit 15 Level output unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
レベル推定装置(10)は、各ネットワーク機器またはアプリケーションが検知したイベントのイベントログを受信する。そして、レベル推定装置(10)は、イベント同士の類似度を算出し、算出したイベント同士の類似度と、イベントのうち少なくともいずれかのイベントのレベルとに基づき、所定のイベントのレベルを推定する。ここで、レベル推定装置(10)は、イベント同士の類似度の算出において、異なるネットワーク機器またはアプリケーションで検知されたイベント同士の類似度を算出する際、異なるネットワーク機器またはアプリケーションで共通に検知されたイベントである共通イベントとの類似度を用いる。
Description
本発明は、レベル推定装置、レベル推定方法、および、レベル推定プログラムに関する。
マルウェアの感染等のセキュリティインシデント(インシデント)を早期に発見するために、セキュリティ機器で検知されたイベントログを監視することが行われている。そして、セキュリティ機器で検知されたイベントのレベル(例えば、インシデントが発生している可能性の高さ等)を推定するため、当該イベントと過去のインシデントとの関連の強さを用いる技術が提案されている(非特許文献1参照)。
Kevin A Roundy, Acar Tamersoy, Michael Spertus, Michael Hart, Daniel Kats, Matteo Dell’Amico, and Robert Scott. 2017., Smoke Detector: Cross-Product Intrusion Detection With Weak Indicators. , In Proceedings of the 33rd Annual Computer Security Applications Conference. 200-211.
ここでセキュリティ機器が検知するイベントはサイバー攻撃の変化に追随するために日々増加している。従来技術では、レベルの推定対象のイベントと過去のインシデントとの関連の強さに基づいて、レベルを推定している。このため、従来技術では、レベルの推定対象のイベントが、インシデントの発生する前のイベントである場合、レベルが低く推定されてしまうという問題がある。そこで、本発明は、前記した問題を解決し、セキュリティ機器が検知したイベントのレベルを精度よく推定することを課題とする。
前記した課題を解決するため、本発明は、ネットワーク機器またはアプリケーションが検知したイベントのイベントログを受信するログ受信部と、前記イベントログを用いて前記イベントログの示すイベント同士の類似度を算出し、前記算出したイベント同士の類似度と、前記イベントのうち少なくともいずれかのイベントのレベルとに基づき、所定のイベントのレベルを推定するレベル推定部とを備え、前記イベント同士の類似度の算出において、異なるネットワーク機器またはアプリケーションで検知されたイベント同士の類似度を算出する際、前記異なるネットワーク機器またはアプリケーションで共通に検知されたイベントである共通イベントとの類似度を用いることを特徴とする。
本発明によれば、セキュリティ機器が検知したイベントのレベルを精度よく推定することができる。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)を、第1の実施形態から第3の実施形態に分けて説明する。本発明は各実施形態に限定されない。
なお、以下において、レベル推定装置が、レベルの推定対象とするイベントは、セキュリティ機器が検知するセキュリティイベントである場合を例に説明するが、これに限定されない。例えば、レベルの推定対象のイベントは、セキュリティ機器以外のネットワーク機器やアプリケーションが検知したイベントであってもよい。また、イベントのレベルとは、例えば、セキュリティに関するインシデントが発生している可能性の高さ、イベントの重要度等である。
さらに、セキュリティ機器は、イベントを検知する専用のハードウェア装置により実現されてもよいし、イベントを検知するアプリケーションやソフトウェアにより実現されてもよい。
[第1の実施形態]
[概要]
図1を用いて第1の実施形態のレベル推定装置の概要を説明する。まず、レベル推定装置は、各セキュリティ機器(図示省略)で検知したイベントのイベントログのうち、同じベンダのセキュリティ機器のイベントログをイベントごとに集約し、数値ベクトルに変換する。
[概要]
図1を用いて第1の実施形態のレベル推定装置の概要を説明する。まず、レベル推定装置は、各セキュリティ機器(図示省略)で検知したイベントのイベントログのうち、同じベンダのセキュリティ機器のイベントログをイベントごとに集約し、数値ベクトルに変換する。
例えば、レベル推定装置は、図1の符号101に示すように、ベンダAのセキュリティ機器のイベントログをイベントごとに集約し、△印の数値ベクトルと、〇印の数値ベクトルとを得る。また、レベル推定装置10は、ベンダBのセキュリティ機器のイベントログをイベントごとに集約し、☆印の数値ベクトルと、□印の数値ベクトルと、〇印の数値ベクトルとを得る。
ここで、数値ベクトルの中には、セキュリティ機器のベンダのみが異なる共通イベントの数値ベクトル(セキュリティ機器のベンダは異なるが同じイベントに関する数値ベクトル)が含まれるものとする。例えば、図1の符号101に示す数値ベクトルのうち、〇印の数値ベクトルは、ベンダA,Bで共通して検知される同一のイベント(共通イベント)の数値ベクトルである。
レベル推定装置は、上記の数値ベクトルを、例えば、以下の2つの条件を満たす埋め込みベクトルに変換する。
(1)同じベンダのセキュリティ機器の数値ベクトル間の類似関係を保存する。
(2)共通イベントの埋め込みベクトル同士が類似する。
(2)共通イベントの埋め込みベクトル同士が類似する。
これにより、レベル推定装置は、符号101に示す数値ベクトルの空間を、例えば、符号102に示す埋め込みベクトルの空間に変換する。つまり、レベル推定装置は、符号102に示すように、ベンダA,Bのセキュリティ機器の埋め込みベクトルについて、同じベンダのセキュリティ機器の数値ベクトル間の類似関係を保ちつつ、ベンダA,Bの共通イベントの数値ベクトル(図1の〇印)同士の距離が短くなるよう変換する。
次に、レベル推定装置は、上記の処理により得られたベンダA,Bのセキュリティ機器の埋め込みベクトルのうち、イベントのレベルが既知の埋め込みベクトル(図1の△印)との類似度(距離)に基づき、各埋め込みベクトルのイベントのレベルを推定する。
例えば、図1においてベンダAの△印の埋め込みベクトルのイベントのレベルが「Primary」である場合を考える。この場合、レベル推定装置は、符号102に示す埋め込みベクトルの空間において、△印の埋め込みベクトルとの距離が近い埋め込みベクトル(□印の埋め込みベクトル)のイベントのレベルを「Primary」と推定する。一方、レベル推定装置は、符号102に示す埋め込みベクトルの空間において、△印の埋め込みベクトルとの距離が遠い埋め込みベクトル(☆印の埋め込みベクトル)のイベントのレベルを「Secondary」と推定する。
このようにすることで、レベル推定装置は、セキュリティ機器の検知したイベントが、インシデントが発生する前のイベントであったとしても、当該イベントのレベルを精度よく推定することができる。
また、異なるベンダのセキュリティ機器はそれぞれ、異なるネットワークの通信を観測していることが多い。このため、イベントの検知に用いた通信の通信量やユーザ等の特性は、セキュリティ機器のベンダごとに異なっていることが多い。よって、従来技術では、異なるベンダのセキュリティ機器のイベント同士の類似度を適切に算出できないおそれがある。
しかし、本実施形態のレベル推定装置は、異なるベンダのセキュリティ機器間で共通するイベント(共通イベント)との類似度に基づき、異なるベンダのセキュリティ機器が検知したイベント同士の類似度を調整する。これにより、レベル推定装置は、異なるベンダのセキュリティ機器のイベント同士の類似度を適切に算出することができる。その結果、レベル推定装置は、イベントのレベルを精度よく推定することができる。
[構成]
次に、図2を用いてレベル推定装置10の構成例を説明する。レベル推定装置10は、ログ受信部11と、ログ集約部12と、数値ベクトル作成部13と、レベル推定部14と、レベル出力部15とを備える。
次に、図2を用いてレベル推定装置10の構成例を説明する。レベル推定装置10は、ログ受信部11と、ログ集約部12と、数値ベクトル作成部13と、レベル推定部14と、レベル出力部15とを備える。
ログ受信部11は、各セキュリティ機器が検知したイベントのイベントログの入力を受け付ける。このイベントログは、例えば、検知したイベントを特定する情報(イベント名等)と当該イベントを検知したセキュリティ機器のベンダの識別情報とを含む。
イベントログは、例えば、図3に示すように、イベントを検知したセキュリティ機器のベンダ名、当該イベントのイベント名、当該セキュリティ機器を利用している顧客、当該イベントの発生した通信の送信元および宛先、当該イベントの発生時刻等を含む。
なお、上記のイベント名は、例えば、マルウェアの感染に関する情報、サーバへの攻撃に関する情報、アンチウイルスソフトによる検知名等である。また、通信の送信元および宛先は、例えば、IPアドレスを用いるが、IPアドレス以外にも、ドメイン名、IPアドレスレンジ等を用いてもよい。
また、イベントログは、セキュリティ機器が検知した結果でもよいし、セキュリティ機器が記録した通信ログを用いて他の装置が検知した結果でもよい。さらに、イベントログは、図3に示した情報の他、例えば、通信の方向、通信の遮断、セキュリティ機器の型番等の情報を含んでいてもよい。また、イベントログは、イベントが1回検知された場合に1つログが記録されたものでもよいが、例えば、同じイベントが複数回検知された場合、それらがまとめて記録されたものでもよい。
図2の説明に戻る。ログ集約部12は、ログ受信部11で受け付けたイベントログのうち同じイベントに関するイベントログを集約する。そして、集約したイベントログに、共通イベントのイベントログが含まれていた場合、ログ集約部12は、当該イベントログを、セキュリティ機器のベンダごとに集約する。例えば、ログ集約部12は、図4に示すように、イベント名が同じイベントログを集約し、集約したイベントログに複数の異なるベンダのセキュリティ機器のイベントログが含まれていた場合、当該イベントログをベンダごとに集約する。
なお、ログ集約部12が、どのイベントログを同じイベントに関連するとみなすかは任意であるが、例えば、上記のように同じイベント名のイベントログを同じイベントに関連するとみなす方法が考えられる。それ以外では、例えば、イベント名、通信の方向、通信の遮断の有無等の組み合わせを考慮して同じイベントとみなす方法も考えられる。また、ログ集約部12は、イベントログを集約する際に、ログ受信部11で受信したすべてのイベントログを対象としてもよいし、例えば、所定期間のイベントログ等、一部のイベントログを対象としてもよい。
図2の説明に戻る。数値ベクトル作成部13は、ログ集約部12により集約されたイベントログから数値ベクトルを作成する。数値ベクトル作成部13は、例えば、図5に示すように、ログ集約部12で集約したイベントログに含まれる情報それぞれをベクトルに変換し、変換したベクトルを結合して、1つのイベントに対して1つの数値ベクトルを作成する。
例えば、数値ベクトル作成部13は、集約されたイベントログに含まれるイベント名について、キーワードによるone-hot encodingを行うことによりベクトルを作成する。ここでの、キーワードは、例えば、攻撃に関する文字列(例えば、C2、malware、SQL、injection等)を使用する。また、キーワードは、例えば、多くのイベント名や複数のベンダのイベント名に共通する文字列を用いる。
例えば、数値ベクトル作成部13は、集約されたイベントログに含まれる送信元および宛先について、グローバルIPアドレスによるone-hot encodingによりベクトルを作成する。また、数値ベクトル作成部13は、上記の方法により作成したベクトルに、さらに、プライベートIPと顧客(顧客名)との組み合わせも加えたベクトルを作成してもよい。なお、数値ベクトル作成部13は、ベクトルの作成に必要なIPアドレス数を削減するために、レベルが高いことが既知のイベントの送信元および宛先のIPアドレスを使用して、ベクトルを作成してもよい。
また、数値ベクトル作成部13は、集約されたイベントログに含まれる送信元、宛先および時刻については、これらの情報を用いたイベントの検知頻度や総検知数、バースト性を数値化した値や、送信元や宛先のIPアドレスのユニーク数を用いてベクトルを作成してもよい。
数値ベクトルの作成方法は、上記に限らず、集約されたイベントログに含まれる他の要素を加えてもよいし、上記の一部のみを用いてもよい。
レベル推定部14は、各イベントの数値ベクトル同士の類似度を算出し、算出したイベントの数値ベクトル同士の類似度と、少なくともいずれかの数値ベクトルのイベントのレベルとに基づき、数値ベクトルの示すイベントのレベルを推定する。ここで、レベル推定部14は、上記の数値ベクトル同士の類似度の算出において、異なるベンダのセキュリティ機器で検知されたイベントの数値ベクトル同士の類似度を算出する際、上記の共通イベントの数値ベクトルとの類似度を考慮する。
具体的には、レベル推定部14は、複数の異なるベンダのセキュリティ機器で検知されたイベントの数値ベクトル(以下、適宜「ベンダの数値ベクトル」と略す)のうち、共通イベントの数値ベクトルと、各ベンダの数値ベクトルとの類似度を考慮して、各ベンダの数値ベクトル同士の類似度を算出する。そして、レベル推定部14は、算出した各ベンダの数値ベクトル同士の類似度と、少なくともいずれかの数値ベクトルのイベントのレベルとに基づき、各数値ベクトルの示すイベントのレベルを推定する。
例えば、レベル推定部14は、各ベンダの数値ベクトル同士の類似度を算出する際、同じベンダの数値ベクトル同士の類似関係を保ちつつ、異なるベンダで検知された同一のイベント(共通イベント)の数値ベクトル同士の類似度が所定値以上となるようなベクトル空間を用いて、各ベンダの数値ベクトル同士の類似度を算出する。
一例を挙げると、レベル推定部14は、数値ベクトル作成部13により作成された数値ベクトルを、例えば、以下の条件を満たす埋め込みベクトルに変換する。
(1)同じベンダの数値ベクトル間の類似関係を保存する。
(2)異なるベンダで検知された同一のイベント(共通イベント)の埋め込みベクトル同士が類似する。
(2)異なるベンダで検知された同一のイベント(共通イベント)の埋め込みベクトル同士が類似する。
なお、(1)において、同じベンダの数値ベクトル間の類似関係を保存する際、それぞれの数値ベクトル間の類似度を保存するようにしてもよいし、類似度の順序のみを保存するようにしてもよい。
また、レベル推定部14は、各ベンダのセキュリティ機器のイベント間の類似度として、各セキュリティ機器のイベントログを集約した数値ベクトルの類似度を用いる場合を例に説明するが、これに限定されない。例えば、レベル推定部14は、セキュリティ機器のイベントログを集約した情報におけるキーワード、送信元、宛先の一致性やイベントの共起性等を、各ベンダのセキュリティ機器のイベント間の類似度として用いてもよい。
レベル推定部14は、例えば、図1の符号101に示す数値ベクトルの空間を、上記の(1)(2)の条件に基づき、符号102に示す埋め込みベクトルの空間に変換する。つまり、レベル推定部14は、符号102に示すように、ベンダA,Bそれぞれの埋め込みベクトルについて、同じベンダにおける埋め込みベクトル同士の類似関係を保ちつつ、ベンダのみが異なる共通イベント(図1の〇印)の埋め込みベクトル同士の距離ができるだけ短くなるよう変換する。
また、レベル推定部14は、埋め込みベクトルの示すイベントのレベルを推定する際、レベルが既知であるイベントの埋め込みベクトルとの類似度を用いる。
例えば、レベル推定部14は、イベント名と当該イベント名のイベントのレベルとを示す情報(イベントレベル情報。図6参照)の入力を受け付けておく。そして、レベル推定部14は、イベントレベル情報によりレベルが特定された埋め込みベクトルと、レベルの推定対象の埋め込みベクトルとの類似度を用いて、レベルの推定対象の埋め込みベクトルのレベルを推定する。
なお、イベントのレベルは、例えば、Primary、Secondary等が考えられるが、離散的な数値、連続値等でもよい。また、イベントレベル情報(図6参照)には、全ベンダのセキュリティ機器において検知されるイベントのうち、いずれか1つのイベントのレベルが設定されていればよい。
レベル推定部14は、例えば、図1符号102に示す各埋め込みベクトル同士の類似度を算出した後、上記のイベントレベル情報に基づき、例えば、図1の△印の埋め込みベクトルのレベルを特定する。そして、レベル推定部14は、△印の埋め込みベクトルと他の各埋め込みベクトルのイベントとの類似度(距離)に基づき、他の各埋め込みベクトルのイベントのレベルを推定する。
なお、レベル推定部14は、埋め込みベクトルのうち、イベントのレベルが不明な埋め込みベクトルのレベルのみ推定してもよいし、すべての埋め込みベクトルのレベルを推定してもよい。
また、上記のレベル推定方法によれば、例えば、各セキュリティ機器で検知されたイベント群における、レベルが既知のイベントが少ない場合であっても、各イベントのレベルを精度よく推定することができる。
レベル出力部15は、レベル推定部14により推定されたレベルを出力する。
[処理手順]
次に、図7を用いて、レベル推定装置10の処理手順の例を説明する。まず、レベル推定装置10のログ受信部11がイベントログの入力を受け付けると(S1)、ログ集約部12は、イベントログの集約を行う(S2:ログ集約)。次に、数値ベクトル作成部13は、S2で集約されたイベントログの数値ベクトルを作成する(S3)。その後、レベル推定部14は、S3で作成した数値ベクトルを用いて、S1で受け付けたイベントログの示すイベントのレベルを推定する(S4)。なお、S4でレベル推定部14がイベントのレベルを推定する際、イベントレベル情報(図6参照)の入力を受け付け、当該イベントレベル情報を参照して、イベントのレベルを推定する。その後、レベル出力部15は、レベルの推定結果を出力する(S5:レベル出力)。
次に、図7を用いて、レベル推定装置10の処理手順の例を説明する。まず、レベル推定装置10のログ受信部11がイベントログの入力を受け付けると(S1)、ログ集約部12は、イベントログの集約を行う(S2:ログ集約)。次に、数値ベクトル作成部13は、S2で集約されたイベントログの数値ベクトルを作成する(S3)。その後、レベル推定部14は、S3で作成した数値ベクトルを用いて、S1で受け付けたイベントログの示すイベントのレベルを推定する(S4)。なお、S4でレベル推定部14がイベントのレベルを推定する際、イベントレベル情報(図6参照)の入力を受け付け、当該イベントレベル情報を参照して、イベントのレベルを推定する。その後、レベル出力部15は、レベルの推定結果を出力する(S5:レベル出力)。
[第2の実施形態]
次に、図8を参照しながら、第2の実施形態のレベル推定装置10におけるレベル推定部14におけるレベルの推定方法を説明する。
次に、図8を参照しながら、第2の実施形態のレベル推定装置10におけるレベル推定部14におけるレベルの推定方法を説明する。
なお、レベル推定装置10は、第1の実施形態のレベル推定装置10と同様に、各セキュリティ機器で検知したイベントのイベントログの集約を行う。例えば、レベル推定装置10は、ベンダAのセキュリティ機器のイベントログをイベントごとに集約し、例えば、図8に示す△印の数値ベクトルと、〇印の数値ベクトルとを得る。また、レベル推定装置10は、ベンダBのセキュリティ機器のイベントログをイベントごとに集約し、図8に示す☆印の数値ベクトルと、□印の数値ベクトルと、〇印の数値ベクトルとを得る。なお、図8において〇印の数値ベクトルはベンダA,Bに共通するイベント(共通イベント)の数値ベクトルである。
レベル推定部14は、まず、ベンダAの△印の数値ベクトルと、ベンダAの〇印の数値ベクトルとの類似度を算出し、ベンダAの△印の数値ベクトルに追加する。同様に、レベル推定部14は、ベンダBの□印の数値ベクトルと、ベンダBの〇印の数値ベクトルとの類似度を算出し、ベンダBの□印の数値ベクトルに追加する。また、レベル推定部14は、ベンダBの☆印の数値ベクトルと、ベンダBの〇印の数値ベクトルとの類似度を算出し、ベンダBの☆印の数値ベクトルに追加する。
次に、レベル推定部14は、数値ベクトルのうち、レベルが既知のイベントの数値ベクトルを教師データとして用いて機械学習を行い、分類器を構築する。なお、レベル推定部14は、教師データとしてレベルが比較的低いイベントの数値ベクトルが得られない場合には、レベルが不明なイベントの数値ベクトルを、レベルが低いイベントの数値ベクトルとして扱い、機械学習を行ってもよい。レベルが不明なイベントの数値ベクトル群における、実際のレベルが高いイベントの数値ベクトルの割合が低いことが予め分かっていれば、上記の方法でも問題ない。
そして、レベル推定部14は、構築した分類器を用いて、各数値ベクトルの示すイベントのレベルを推測する。
すなわち、レベル推定部14は、まず、数値ベクトルそれぞれについて、同じベンダの共通イベントの数値ベクトルとの類似度を算出する。次に、レベル推定部14は、数値ベクトルそれぞれに、当該数値ベクトルと同じベンダの共通イベントの数値ベクトルとの類似度を付加した情報を作成する。そして、レベル推定部14は、作成した情報と、数値ベクトルのうち少なくともいずれかの数値ベクトルのイベントのレベルとを教師データとして用いて機械学習を行い、各数値ベクトルの示すイベントのレベルを推定するための分類器を構築する。その後、レベル推定部14は、構築した分類器を用いて、各数値ベクトルの示すイベントのレベルを推定する。このようなレベル推定方法によれば、イベントのレベル推定に用いる分類器の構築に、一般的な教師ありの機械学習を用いることが可能であるため、分類器の構築が比較的容易であるというメリットがある。
なお、レベル推定部14は、類似度として、数値ベクトルの類似度を使用する場合を例に説明したが、例えば、キーワード、送信元、宛先の一致性やイベントの共起性等を使用してもよい。また、レベル推定部14、数値ベクトルにすべての共通イベントとの類似度を追加することが考えられるが、一部の共通イベントとの類似度のみを追加してもよい。
なお、レベル推定部14は、前記した第1の実施形態と同様に、レベルが不明なイベントの数値ベクトル作成部13のレベルのみ推定してもよいが、すべてのイベントの数値ベクトルのレベルを推定してもよい。
[第3の実施形態]
次に、図9を参照しながら、第3の実施形態のレベル推定装置10におけるレベル推定部14におけるレベルの推定方法を説明する。
次に、図9を参照しながら、第3の実施形態のレベル推定装置10におけるレベル推定部14におけるレベルの推定方法を説明する。
なお、レベル推定装置10は、第1の実施形態のレベル推定装置10と同様に、各セキュリティ機器で検知したイベントのイベントログの集約を行う。例えば、レベル推定装置10は、ベンダAのセキュリティ機器のイベントログをイベントごとに集約し、例えば、図9の符号902に示す△印の数値ベクトルと、〇印の数値ベクトルとを得る。また、レベル推定装置10は、ベンダBのセキュリティ機器のイベントログをイベントごとに集約し、図9の符号902に示す☆印の数値ベクトルと、□印の数値ベクトルと、〇印の数値ベクトルとを得る。なお、図9において〇印の数値ベクトルはベンダA,Bに共通するイベント(共通イベント)の数値ベクトルである。
まず、レベル推定部14は、イベントのレベルが既知の数値ベクトルとそのレベルを教師データとして、各数値ベクトルの示すイベントのレベルを推定する分類器を構築する。ここで構築される分類器は、数値ベクトルを所定の埋め込みベクトルへ変換し、変換した埋め込みベクトルを用いて、各埋め込みベクトルの示すイベントのレベルの推定を行う分類器である。
この分類器は、例えば、図9の符号901に示すように、数値ベクトルを埋め込みベクトルに変換するニューラルネットワークと、変換された埋め込みベクトルを用いて、各埋め込みベクトルの示すイベントのレベルを推定するニューラルネットワークとを備える。
レベル推定部14は、上記の分類器により変換された埋め込みベクトルを用いて、当該埋め込みベクトル同士の類似度を算出する。そして、レベル推定部14は、算出した埋め込みベクトル同士の類似度に基づき、分類器の調整を行う。ここでの分類器の調整は、以下の条件を満たすように行う。
(1)同じベンダの埋め込みベクトル間の類似関係を保存する。
(2)異なるベンダで検知された同一のイベント(共通イベント)の埋め込みベクトル同士が類似する。
(2)異なるベンダで検知された同一のイベント(共通イベント)の埋め込みベクトル同士が類似する。
上記のような分類器の調整により、例えば、符号902に示す埋め込みベクトルの空間は、符号903に示すように、共通イベントの埋め込みベクトル同士の類似度が高く、かつ、同じベンダの埋め込みベクトル間の類似関係が保たれた状態になる。そして、レベル推定部14は、調整された分類器を用いて、数値ベクトルの示すイベントのレベルを推定する。
なお、レベル推定部14は、前記した第1の実施形態および第2の実施形態と同様に、レベルが不明なイベントの数値ベクトルのレベルのみ推定してもよいが、すべてのイベントの数値ベクトルのレベルを推定してもよい。
第3の実施形態におけるレベルの推定方法は、数値ベクトル間の類似度の算出方法が明確ではない場合でも、各イベントのレベルを推定できるというメリットがある。
[適用例]
各実施形態のレベル推定装置10を用いることで、例えば、SOC(Security Operation Center)でインシデントを特定するためのアラート(イベントログ)の解析を効率的に行うことができる。このことを、図10および図11を用いて説明する。
各実施形態のレベル推定装置10を用いることで、例えば、SOC(Security Operation Center)でインシデントを特定するためのアラート(イベントログ)の解析を効率的に行うことができる。このことを、図10および図11を用いて説明する。
まず、図10を用いてSOCを含むシステムの構成例を説明する。システムは、例えば、顧客環境と、SIEM(Security Information and Event Management)と、SOCとを含む。
顧客環境において、各顧客にはUTM(Unified Threat Management)等のセキュリティアプライアンス(以下、アプライアンスと略す)が導入されている。アプライアンスのベンダは顧客ごとに異なっている。例えば、顧客1,2にはベンダAのアプライアンスが導入されており、顧客3にはベンダBのアプライアンスが導入されている。各アプライアンスがセキュリティイベントを検知すると、これを通知するアラートをSIEMに送信する。また、各アプライアンスは、セキュリティイベントを検知した際の通信ログをSIEMに送信する。
SIEMは、各顧客の通信ログにSOCで開発された検知ルール(SOCのルール)を適用し、当該ルールによりセキュリティイベントを検知すると、アラートをSOCに送信する。また、SIEMは、各顧客のアプライアンスから送信されたアラートも同様にSOCに送信する。
その後、各実施形態のレベル推定装置10は、SOCが受信したアラートと、SOCの解析者が設定したイベントのレベルを用いて、各アラートの示すイベントのレベルを推定する。なお、レベルはインシデントとの関連によって予め設定されているものを用いる。
そして、SOCに送信されたアラートの解析を行う解析者は、上記のレベル推定装置10により推定された各アラートのイベントのレベルに基づき、どのアラートから順に解析を行うべきかを判断する。これにより、例えば、解析者は、よりレベルの高いイベントのアラートから順に解析するよう順番を調整することができる。その結果、例えば、解析者が、アラートの到着順に解析するより、インシデントの特定までの時間を削減することができる(図11参照)。
[プログラム]
また、上記の実施形態で述べたレベル推定装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をレベル推定装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、レベル推定装置10を、クラウドサーバに実装してもよい。
また、上記の実施形態で述べたレベル推定装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をレベル推定装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、レベル推定装置10を、クラウドサーバに実装してもよい。
図12を用いて、上記のプログラム(レベル推定プログラム)を実行するコンピュータの一例を説明する。図12に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図12に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、上記のレベル推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 レベル推定装置
11 ログ受信部
12 ログ集約部
13 数値ベクトル作成部
14 レベル推定部
15 レベル出力部
11 ログ受信部
12 ログ集約部
13 数値ベクトル作成部
14 レベル推定部
15 レベル出力部
Claims (7)
- 機器またはソフトウェアが検知したイベントのイベントログを受信するログ受信部と、
前記イベントログを用いて前記イベントログの示すイベント同士の類似度を算出し、前記算出したイベント同士の類似度と、前記イベントのうち少なくともいずれかのイベントのレベルとに基づき、所定のイベントのレベルを推定するレベル推定部とを備え、
前記イベント同士の類似度の算出において、異なる機器またはソフトウェアで検知されたイベント同士の類似度を算出する際、前記異なる機器またはソフトウェアで共通に検知されたイベントである共通イベントとの類似度を用いる
ことを特徴とするレベル推定装置。 - 前記レベル推定部は、
前記イベント同士の類似度を算出する際、同じ機器またはソフトウェアで検知されたイベント同士の類似関係を保ちつつ、前記異なる機器またはソフトウェアで検知された同一のイベント同士の類似度が所定値以上となるようなベクトル空間を用いて、前記イベント同士の類似度を算出する
ことを特徴とする請求項1に記載のレベル推定装置。 - 前記レベル推定部は、
前記イベントそれぞれについて、前記イベントを検知した機器またはソフトウェアと同じ機器またはソフトウェアが検知した前記共通イベントとの類似度を算出し、前記イベントの特性を表す情報それぞれに、前記イベントを検知した機器またはソフトウェアと同じ機器またはソフトウェアが検知した前記共通イベントとの類似度を付加した情報を作成し、前記作成した情報と、前記イベントのうち少なくともいずれかのイベントのレベルとを教師データとし、前記イベントのレベルを推定するための分類器を構築し、前記構築した分類器を用いて、所定のイベントのレベルを推定する
ことを特徴とする請求項1に記載のレベル推定装置。 - 前記レベル推定部は、
レベルが既知の前記イベントと当該イベントのレベルとを教師データとして、前記イベントごとのイベントログの所定の数値ベクトルへの変換と、前記変換後の数値ベクトルを用いて所定のイベントのレベルの推定とを行う分類器を構築し、前記構築された分類器により変換された数値ベクトルを用いて、前記イベント同士の類似度を算出し、前記算出した前記イベント同士の類似度に基づき、同じ機器またはソフトウェアで検知されたイベント同士の類似関係を保ちつつ、前記異なる機器またはソフトウェアで検知された同一のイベント同士の類似度が所定値以上となるよう、前記分類器の調整を行い、前記調整が行われた分類器を用いて、所定のイベントのレベルを推定する
ことを特徴とする請求項1に記載のレベル推定装置。 - 前記異なる機器またはソフトウェアは、異なるベンダの機器またはソフトウェアであり、
前記同じ機器またはソフトウェアは、同じベンダの機器またはソフトウェアである
ことを特徴とする請求項1に記載のレベル推定装置。 - レベル推定装置により実行されるレベル推定方法であって、
機器またはソフトウェアが検知したイベントのイベントログを受信する工程と、
前記イベントログを用いて前記イベントログの示すイベント同士の類似度を算出し、前記算出したイベント同士の類似度と、前記イベントのうち少なくともいずれかのイベントのレベルとに基づき、所定のイベントのレベルを推定する工程とを含み、
前記イベント同士の類似度の算出において、異なる機器またはソフトウェアで検知されたイベント同士の類似度を算出する際、前記異なる機器またはソフトウェアで共通に検知されたイベントである共通イベントとの類似度を用いる
ことを特徴とするレベル推定方法。 - 機器またはソフトウェアが検知したイベントのイベントログを受信するステップと、
前記イベントログを用いて前記イベントログの示すイベント同士の類似度を算出し、前記算出したイベント同士の類似度と、前記イベントのうち少なくともいずれかのイベントのレベルとに基づき、所定のイベントのレベルを推定するステップとをコンピュータに実行させ、
前記イベント同士の類似度の算出において、異なる機器またはソフトウェアで検知されたイベント同士の類似度を算出する際、前記異なる機器またはソフトウェアで共通に検知されたイベントである共通イベントとの類似度を用いる
ことを特徴とするレベル推定プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/039865 WO2021070291A1 (ja) | 2019-10-09 | 2019-10-09 | レベル推定装置、レベル推定方法、および、レベル推定プログラム |
US17/766,739 US20230103084A1 (en) | 2019-10-09 | 2019-10-09 | Level estimation device, level estimation method, and level estimation program |
JP2021551010A JP7302668B2 (ja) | 2019-10-09 | 2019-10-09 | レベル推定装置、レベル推定方法、および、レベル推定プログラム |
EP19948248.0A EP4030324B1 (en) | 2019-10-09 | 2019-10-09 | Level estimation device, level estimation method, and level estimation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/039865 WO2021070291A1 (ja) | 2019-10-09 | 2019-10-09 | レベル推定装置、レベル推定方法、および、レベル推定プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021070291A1 true WO2021070291A1 (ja) | 2021-04-15 |
Family
ID=75437382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/039865 WO2021070291A1 (ja) | 2019-10-09 | 2019-10-09 | レベル推定装置、レベル推定方法、および、レベル推定プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230103084A1 (ja) |
EP (1) | EP4030324B1 (ja) |
JP (1) | JP7302668B2 (ja) |
WO (1) | WO2021070291A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318552A (ja) * | 2003-04-17 | 2004-11-11 | Kddi Corp | Idsログ分析支援装置、idsログ分析支援方法及びidsログ分析支援プログラム |
JP2016024786A (ja) * | 2014-07-24 | 2016-02-08 | 富士通フロンテック株式会社 | ログ解析装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11343265B2 (en) | 2010-07-21 | 2022-05-24 | Seculert Ltd. | System and methods for malware detection using log analytics for channels and super channels |
US8892391B2 (en) * | 2011-06-03 | 2014-11-18 | Apple Inc. | Activity detection |
JP6079243B2 (ja) * | 2013-01-10 | 2017-02-15 | 日本電気株式会社 | 障害分析支援装置、障害分析支援方法、及びプログラム |
US9432393B2 (en) * | 2015-02-03 | 2016-08-30 | Cisco Technology, Inc. | Global clustering of incidents based on malware similarity and online trustfulness |
US11151468B1 (en) * | 2015-07-02 | 2021-10-19 | Experian Information Solutions, Inc. | Behavior analysis using distributed representations of event data |
US20170034200A1 (en) * | 2015-07-30 | 2017-02-02 | Federal Reserve Bank Of Atlanta | Flaw Remediation Management |
US10291483B2 (en) * | 2016-04-19 | 2019-05-14 | Nec Corporation | Entity embedding-based anomaly detection for heterogeneous categorical events |
WO2018080392A1 (en) * | 2016-10-24 | 2018-05-03 | Certis Cisco Security Pte Ltd | Quantitative unified analytic neural networks |
JP7028559B2 (ja) | 2017-01-25 | 2022-03-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 攻撃検知システム、攻撃検知方法および攻撃検知プログラム |
US11106789B2 (en) * | 2019-03-05 | 2021-08-31 | Microsoft Technology Licensing, Llc | Dynamic cybersecurity detection of sequence anomalies |
US11363036B2 (en) * | 2019-03-28 | 2022-06-14 | Microsoft Technology Licensing, Llc | Detecting a missing security alert using a machine learning model |
-
2019
- 2019-10-09 JP JP2021551010A patent/JP7302668B2/ja active Active
- 2019-10-09 US US17/766,739 patent/US20230103084A1/en active Pending
- 2019-10-09 EP EP19948248.0A patent/EP4030324B1/en active Active
- 2019-10-09 WO PCT/JP2019/039865 patent/WO2021070291A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318552A (ja) * | 2003-04-17 | 2004-11-11 | Kddi Corp | Idsログ分析支援装置、idsログ分析支援方法及びidsログ分析支援プログラム |
JP2016024786A (ja) * | 2014-07-24 | 2016-02-08 | 富士通フロンテック株式会社 | ログ解析装置 |
Non-Patent Citations (3)
Title |
---|
NAGASAWA, TAICHI; TAKEDA, ATSUSHI: "Neural Network for Network Traffic Classification", PROCEEDINGS OF 18TH FORUM ON INFORMATION TECHNOLOGY (FIT2019); SEPTEMBER 3-5, 2019, vol. 18, no. 2, 20 August 2019 (2019-08-20) - 5 September 2019 (2019-09-05), pages 263 - 264, XP009535469 * |
See also references of EP4030324A4 * |
SHIBAHARA, TOSHIKI; KODERA, HIROKAZU; CHIBA, DAIKI; AKIYAMA, MITSUAKI; HATO, KUNIO; SÖDERSTRÖM, OLA; DALEK, DANIEL; MURATA, MASAYU: "Efficient Incident Detection by Predicting Potential Important Alerts", PROCEEDINGS OF COMPUTER SECURITY SYMPOSIUM 2019; OCTOBER 21-24, 2019, vol. 2019, 14 October 2019 (2019-10-14) - 24 October 2019 (2019-10-24), pages 1092 - 1099, XP009535472 * |
Also Published As
Publication number | Publication date |
---|---|
EP4030324A4 (en) | 2023-05-10 |
US20230103084A1 (en) | 2023-03-30 |
EP4030324A1 (en) | 2022-07-20 |
JP7302668B2 (ja) | 2023-07-04 |
EP4030324B1 (en) | 2024-09-04 |
JPWO2021070291A1 (ja) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11212306B2 (en) | Graph database analysis for network anomaly detection systems | |
US11531766B2 (en) | Systems and methods for attributing security vulnerabilities to a configuration of a client device | |
AU2017224993B2 (en) | Malicious threat detection through time series graph analysis | |
US10587640B2 (en) | System and method for attribution of actors to indicators of threats to a computer system and prediction of future threat actions | |
US10708290B2 (en) | System and method for prediction of future threat actions | |
US11522877B2 (en) | Systems and methods for identifying malicious actors or activities | |
US20160330226A1 (en) | Graph-based Instrusion Detection Using Process Traces | |
US9578053B2 (en) | Systems and methods for using cognitive fingerprints | |
WO2018159337A1 (ja) | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム | |
US10536471B1 (en) | Malware detection in virtual machines | |
CN112714093A (zh) | 一种账号异常检测方法、装置、系统及存储介质 | |
US20230105087A1 (en) | Systems and methods for detecting malicious hands-on-keyboard activity via machine learning | |
US20180322410A1 (en) | System and Method for Vendor Agnostic Automatic Supplementary Intelligence Propagation | |
US20170068892A1 (en) | System and method for generation of a heuristic | |
US20230088415A1 (en) | Techniques for enriching device profiles and mitigating cybersecurity threats using enriched device profiles | |
CN112613576A (zh) | 确定告警的方法、装置、电子设备和存储介质 | |
CN115589339B (zh) | 网络攻击类型识别方法、装置、设备以及存储介质 | |
WO2021070291A1 (ja) | レベル推定装置、レベル推定方法、および、レベル推定プログラム | |
CN114726579B (zh) | 防御网络攻击的方法、装置、设备、存储介质及程序产品 | |
Aleroud et al. | Detecting zero-day attacks using contextual relations | |
US11184369B2 (en) | Malicious relay and jump-system detection using behavioral indicators of actors | |
US10609047B2 (en) | Network security tool | |
US10491615B2 (en) | User classification by local to global sequence alignment techniques for anomaly-based intrusion detection | |
US20230394136A1 (en) | System and method for device attribute identification based on queries of interest | |
US11930000B2 (en) | Detection of anomalous authentications |
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: 19948248 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021551010 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019948248 Country of ref document: EP Effective date: 20220411 |