US12160432B2 - Log analysis apparatus, log analysis method, and log analysis program - Google Patents
Log analysis apparatus, log analysis method, and log analysis program Download PDFInfo
- Publication number
- US12160432B2 US12160432B2 US16/489,354 US201816489354A US12160432B2 US 12160432 B2 US12160432 B2 US 12160432B2 US 201816489354 A US201816489354 A US 201816489354A US 12160432 B2 US12160432 B2 US 12160432B2
- Authority
- US
- United States
- Prior art keywords
- parameter
- learning
- log
- access
- log analysis
- 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.)
- Active, expires
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 claims description 98
- 239000000284 extract Substances 0.000 abstract description 27
- 238000012549 training Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Definitions
- the present invention relates to a log analysis apparatus, a log analysis method, and a log analysis program.
- IDS intrusion detection system
- IPS intrusion prevention system
- WAF Web application firewall
- a technique for detecting unknown attacks is a technology for determining whether an access is an attack (not a normal access) by learning the features of parameter values from normal access requests that are addressed to a Web server, and comparing the features with those in an access request that is to be identified.
- Patent Literature 1 Japanese Laid-open Patent Publication No. 2013-232716
- a log analysis apparatus includes: a learning unit that extracts a parameter from an access log pertaining to a request issued from a user terminal to a server, that learns an appearance frequency of the parameter, and that stores a learning result in a storage unit as a profile; an analyzing unit that extracts a parameter from an access log under analysis, that acquires a similarity by comparing the parameter with the parameter included in the profile stored in the storage unit, and that determines an access in the access log under analysis as an attack when the similarity is lower than a threshold; and a re-learning requirement determining unit that takes a tally of number of different requesting user terminals, for each parameter, among access logs under analysis having a similarity lower than the threshold, and that determines, when there is any parameter for which the number of such different user terminals is equal to or higher than a threshold, to re-learn the parameter.
- a log analysis method executed by a log analysis apparatus includes: a learning process for extracting a parameter from an access log pertaining to a request issued from a user terminal to a server, learning an appearance frequency of the parameter, and storing a learning result in a storage unit as a profile; an analyzing process for extracting a parameter from an access log under analysis, acquiring a similarity by comparing the parameter with the parameter included in the profile stored in the storage unit, and determining an access in the access log under analysis as an attack when the similarity is lower than a threshold; and a re-learning requirement determining process for taking a tally of number of different requesting user terminals, for each parameter, among access logs under analysis having a similarity lower than the threshold, and determining, when there is any parameter for which the number of such different user terminals is equal to or higher than a threshold, to re-learn the parameter.
- a log analysis program that causes a computer to execute: a learning step of extracting a parameter from an access log pertaining to a request issued from a user terminal to a server, learning an appearance frequency of the parameter, and storing a learning result in a storage unit as a profile; an analyzing step of extracting a parameter from an access log under analysis, acquiring a similarity by comparing the parameter with the parameter included in the profile stored in the storage unit, and determining an access in the access log under analysis as an attack when the similarity is lower than a threshold; and a re-learning requirement determining step of taking a tally of number of different requesting user terminals, for each parameter, among access logs under analysis having a similarity lower than the threshold, and determining, when there is any parameter for which the number of such different user terminals is equal to or higher than a threshold, to re-learn the parameter.
- FIG. 1 is a schematic illustrating a general configuration of a log analysis apparatus according to a first embodiment.
- FIG. 2 is a schematic illustrating an example of information stored in a profile storage unit.
- FIG. 3 is a schematic for illustrating a specific example of an access log.
- FIG. 4 is a schematic for illustrating a parameter extraction process.
- FIG. 5 is a schematic for illustrating some examples of a character class.
- FIG. 6 is a schematic for illustrating an example of abstractions of parameter values.
- FIG. 7 is a schematic for illustrating an example of profile updating.
- FIG. 8 is a schematic for illustrating an example of the profile updating.
- FIG. 9 is a schematic for illustrating an example of the profile updating.
- FIG. 10 is a schematic for illustrating an example of a similarity comparing process.
- FIG. 11 is a flowchart illustrating the sequence of a learning process performed by the log analysis apparatus according to the first embodiment.
- FIG. 12 is a flowchart illustrating the sequence of an analyzing process performed by the log analysis apparatus according to the first embodiment.
- FIG. 13 is a flowchart illustrating the sequence of a re-learning requirement determining process performed by the log analysis apparatus according to the first embodiment.
- FIG. 14 is a schematic illustrating a general configuration of the log analysis apparatus according to a second embodiment.
- FIG. 15 is a schematic for illustrating an example of a path abstracting process.
- FIG. 16 is a flowchart illustrating the sequence of a learning process performed by a log analysis apparatus according to a second embodiment.
- FIG. 17 is a schematic illustrating a general configuration of a log analysis apparatus according to a third embodiment.
- FIG. 18 is a flowchart illustrating the sequence of an attack pattern generating process performed by the log analysis apparatus according to the third embodiment.
- FIG. 19 is a schematic illustrating a general configuration of a log analysis apparatus according to a fourth embodiment.
- FIG. 20 is a schematic illustrating a computer executing a log analysis program.
- FIG. 1 is a schematic illustrating a general configuration of the log analysis apparatus according to the first embodiment.
- the log analysis apparatus 10 includes an input unit 11 , an output unit 12 , a control unit 13 , and a storage unit 14 .
- the input unit 11 is a device that receives operations for inputting various types of information, and receives an input of a log of accesses to a Web server, for example.
- the output unit 12 is a device that outputs various types of information, and outputs a result of an analyzing process, which will be described later, for example.
- the storage unit 14 stores therein data and computer programs required in various processes executed by the control unit 13 , and includes, as units that are particularly closely related to the present invention, a profile storage unit 14 a, an analysis-completed log storage unit 14 b, and a re-learning requirement determining information storage unit 14 c.
- Examples of the storage unit 14 include a random access memory (RAM), a semiconductor memory device such as a flash memory, and a storage device such as a hard disk and an optical disc.
- the profile storage unit 14 a stores therein an appearance frequency of a parameter extracted from the access log.
- the profile storage unit 14 a stores therein “character class sequence” and “appearance count”, in a manner associated with “path: parameter key”, that is a combination of “path” and “parameter key”, as a profile, as illustrated in FIG. 2 .
- FIG. 2 is a schematic illustrating an example of the information stored in the profile storage unit.
- the analysis-completed log storage unit 14 b stores therein an access log for which an analysis has been completed by an analyzing unit 13 b, which will be described later.
- the access log stored in the analysis-completed log storage unit 14 b is data read when a learning unit 13 a, which will be described later, performs re-learning.
- the re-learning requirement determining information storage unit 14 c stores therein a set of “source IP”, “date and time”, “path”, and “parameter key” included in a request determined to have a parameter value not included in the profile, or to have no match in the profile, by the analyzing unit 13 b, which will be described later.
- the control unit 13 has an internal memory for storing therein computer programs specifying procedures of various processes and required data for executing various processes using the computer programs and the data, and includes, as units that are particularly closely related to the present invention, the learning unit 13 a, the analyzing unit 13 b, and a re-learning requirement determining unit 13 c.
- the control unit 13 herein is an electronic circuit such as a central processing unit (CPU) or a micro-processing unit (MPU), or an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
- CPU central processing unit
- MPU micro-processing unit
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- the learning unit 13 a extracts parameters from an access log pertaining to requests issued from a user terminal to a server, and learns the appearance frequencies of parameters, and stores therein the learning result in the profile storage unit 14 a as a profile.
- the learning unit 13 a learns the features of the parameters from the access log input via the input unit 11 , generates a profile, and stores the profile.
- the learning process will now be explained specifically. In the following explanation, descriptions are made assuming an example of a batch process in which a plurality of entries of an input log are fed at once, but the same process is applicable for a real-time process in which one entry is fed at a time.
- the system may be caused to perform one of the learning operation and an analyzing operation depending on an instruction given to the system, or the operation may be changed depending on the input, e.g., the learning operation is performed when input is a log stored in a training log storage area, and the analyzing operation is performed when input is a log stored in an analyzing log storage area.
- the learning unit 13 a acquires a log for training via the input unit 11 .
- a log for training is a log of accesses from user terminals to a Web server, and includes at least “source IP”, “date and time”, and “request”, as illustrated in FIG. 3 .
- FIG. 3 is a schematic for illustrating a specific example of the access log.
- the learning unit 13 a then initializes the profile with null data.
- the learning unit 13 a then extracts various parameters from the log for training. For example, the learning unit 13 a takes out one entry from the head of the received log for training, as illustrated in FIG. 4 , parses the entry, and extracts “source IP”, “date and time”, and “request”.
- FIG. 4 is a schematic for illustrating the parameter extraction process.
- the learning unit 13 a then parses the query string part, and acquires the parameter key “p1” paired with the parameter value “value1”, and the parameter key “p2” paired with the parameter value “value ⁇ 2”. If the request has no query string part, the learning unit 13 a ignores the entry, and proceeds to the processing of the subsequent entry.
- the learning unit 13 a then extracts parameters from the access log, abstracts the extracted parameters, and learns the appearance frequencies of the abstracted parameters. For example, the learning unit 13 a abstracts a parameter value into a sequence of character classes, e.g., a sequence of an alphabet class and a number class.
- the character class is expressed as a regular expression, for example. As illustrated in FIG.
- the “priority ” is set to each of the character classes, and the learning unit 13 a is configured to abstract a parameter into a sequence class with the longest match from the head, and, if some character classes are found to match by the same length, the learning unit 13 a abstracts the parameter into a sequence class to which a higher priority is assigned, that is, a sequence class assigned with a larger number. For example, “123” is abstracted to “NUM”, but not “HEX”.
- the learning unit 13 a abstracts each parameter value into a character class, from the head of the parameter value, and converts the parameter value into a sequence of character classes, that is, into a character class sequence.
- the classes of the characters may be fed in advance, as a configuration file, for example.
- FIG. 5 is a schematic for illustrating an example of such character classes.
- FIG. 6 is a schematic for illustrating an example of abstractions of the parameter values.
- the character class sequence may be further abstracted into a character class set where the order and the redundancy of the character classes are omitted.
- the character class sequences [AL, NUM, AL, SYM] and [SYM, NUM, AL] may be handled as the same character class set ⁇ AL, NUM, SYM ⁇ .
- the term character class sequence represents, unless specified otherwise, either a character class sequence or a character class set.
- the learning unit 13 a then updates the profile using the [path: parameter key] pair and the character class sequence acquired by the abstraction process described above. For example, if the character class sequence acquired by the abstraction process is found in the profile, as illustrated in FIG. 7 , the learning unit 13 a adds one to the appearance count. In the example illustrated in FIG. 7 , the learning unit 13 a updates the appearance counts to “2”, by adding one to the appearance count “1” of “/path: key1” in [path: parameter key] with the character class sequence [AL], and by adding one to the appearance count “1” of “/path: key2” in [path: parameter key] with the character class sequence [HEX].
- FIG. 7 is a schematic for illustrating an example of profile updating.
- the learning unit 13 a adds the character class sequence to the profile, with an appearance count of one. Furthermore, if no matching [path: parameter key] pair is found in the profile, for example, as illustrated in FIG. 9 , the learning unit 13 a adds the [path: parameter key] pair and the character class sequence to the profile, with an appearance count of one.
- FIG. 8 is a schematic for illustrating an example of profile updating.
- FIG. 9 is a schematic for illustrating an example of profile updating.
- a condition for ending the learning may be determined based on whether the log for learning has been completely learned, or determined by detecting that any new path, parameter key, or character class sequence has not appeared, and that the profile has remained unchanged, although the log has been read for a certain amount or more.
- the learning unit 13 a determines that the learning has been completed, the learning unit 13 a establishes the profile as definite. At this time, the learning unit 13 a may calculate the appearance frequency of each parameter, and delete the parameters with an appearance frequency equal to or lower than a predetermined threshold from the profile. For example, the learning unit 13 a may perform a normalization process of calculating the rate at which each character class sequence has appeared, for each of the [path: parameter key] pairs, and deleting a pair appearing at low frequencies from the profile, rendering the pair as a rare case, for example. The learning unit 13 a then stores the profile established as definite in the profile storage unit 14 a. In an environment where the types of parameter values that are passed are limited, the process of abstracting the parameter values may be omitted, and the parameter values themselves may be stored as a profile.
- the analyzing unit 13 b extracts parameters from an access log under analysis, and acquires a similarity by comparing the parameters with those included in the profile stored in the profile storage unit 14 a. If the similarity is lower than a threshold, the analyzing unit 13 b determines that the access included in the access log under analysis is an attack.
- the analyzing unit 13 b compares the features of the parameters acquired from the log for analysis input via the input unit 11 , with those in the profile, and keeps comparing the parameters until an access with an anomaly feature is determined as an attack.
- the analyzing process will now be explained specifically.
- the analyzing unit 13 b acquires a log for analysis via the input unit 11 .
- a log is a log of accesses to a Web server, in the same manner as the log for training, and includes at least “source IP”, “date and time”, and “request”.
- the analyzing unit 13 b then reads the profile from the profile storage unit 14 a.
- the analyzing unit 13 b then takes out one entry from the head of the received log for analysis, parses the entry, and extracts the source IP, the date and time, and the request.
- the analyzing unit 13 b then divides the request into a path part and a query string part, parses the query string part, and acquires a parameter key paired with a parameter value.
- the log for analysis for which the parsing has been completed is stored in an analysis-completed log storage unit 14 b.
- the analyzing unit 13 b then abstracts the parameter value into a character class sequence, e.g., a sequence of an alphabet class and a number class.
- the analyzing unit 13 b compares the character class sequences resultant of the abstraction with the profile, and extracts a dissimilar character class sequence as an attack.
- Available as criteria for comparing the similarity not only the exact match between the character class sequences may be used, but it is also possible to compare a ratio of the common part or the length of the longest common subsequence (LCS) between the character class sequences with the length of the character class sequence.
- LCS longest common subsequence
- FIG. 10 is a schematic for illustrating an example of the similarity comparing process.
- the analyzing unit 13 b determines that the similarity is equal to or higher than the threshold, and determines that this access included in the access log under analysis is a “non-attack”.
- the analyzing unit 13 b determines that the similarity is lower than the threshold, and that the access in the access log under analysis is an “attack”.
- the analyzing unit 13 b stores the set of [source IP, date and time, path, parameter key] included in the entry currently being processed, in the re-learning requirement determining information storage unit 14 c, as a piece of re-learning requirement determining information.
- the analyzing unit 13 b takes out one entry from the head of the input log for training, goes back to the process of parsing and extracting the source IP, the date and time, and the request, and repeats the process described above.
- the analyzing unit 13 b outputs the analysis result, and ends the process.
- the analysis result to be output includes the sets of source IP, date and time, and request acquired from the log under analysis, the pairs of parameter key and parameter value acquired by parsing, and determination results acquired by the similarity comparison, e.g., determinations as to whether an access is an “attack” or a “non-attack”, for example.
- the analysis result may be output every time the analysis of the one entry is completed.
- the re-learning requirement determining unit 13 c takes a tally of the number of requesting user terminals, for each of such parameters. If there is any parameter for which the number of such different user terminals is equal to or higher than a threshold, the re-learning requirement determining unit 13 c determines that the parameter is to be re-learned.
- the re-learning requirement determining unit 13 c acquires the re-learning requirement determining information. Specifically, the re-learning requirement determining unit 13 c acquires the re-learning requirement determining information having been updated in the analyzing process ([source IP, date and time, path, parameter key] of a request with no matching parameter values in the profile, or a request with parameter values having a similarity lower than the threshold) from the re-learning requirement determining information storage unit 14 c.
- the re-learning requirement determining unit 13 c determines that such accesses are resultant of a specification change in the Web application, instead of attacks. In order to confirm that such parameters are being transmitted continuously from many users, the re-learning requirement determining unit 13 c takes a tally of the pieces of re-learning requirement determining information.
- the re-learning requirement determining unit 13 c takes a tally of the number of different source IPs, for each [path: parameter key] pair included in the re-learning requirement determining information corresponding to a certain time period. If the number of different source IPs is equal to or higher than a threshold, the re-learning requirement determining unit 13 c determines that the re-learning is required. To determine continuity, it is also possible to include a process for narrowing down the source IPs for which a tally is taken, to those issuing a plurality of requests at a time interval shorter than a threshold over some time period.
- the re-learning requirement determining unit 13 c instructs the learning unit 13 a to re-learn the [path: parameter key] pair. After the process of determining whether the re-learning is required, the re-learning requirement determining information may be discarded.
- the re-learning process performed by the learning unit 13 a receiving a re-learning instruction from the re-learning requirement determining unit 13 c will now be explained.
- the learning unit 13 a executes the re-learning and profile updating.
- An explanation of the re-learning process will be omitted, because the re-learning process is the same as the learning process except for the following (1) to (3).
- the learning unit 13 a acquires the analysis-completed log that is stored in the analysis-completed log storage unit 14 b, instead of acquiring the log for training from the input unit 11 .
- the learning unit 13 a acquires an existing profile from the profile storage unit 14 a, instead of initializing the profile.
- the learning is started from zero, instead of learning by making additions to the existing profile, only the [path: parameter key] pair to be re-learned may be initialized (the appearance count may be set to 0).
- the learning unit 13 a performs the process subsequent to the parsing only to the [path: parameter key] pair that is the target of re-learning.
- the re-learning requirement determining process may be performed every time the analysis is completed, or may be performed for a several analyses. Because the analysis-completed log is no longer necessary after it is determined whether the re-learning is required, the analysis-completed log may then be deleted automatically. In this manner, the capacity of the storage unit 14 can be reduced.
- FIG. 11 is a flowchart illustrating the sequence of the learning process performed by the log analysis apparatus according to the first embodiment.
- FIG. 12 is a flowchart illustrating the sequence of the analyzing process performed by the log analysis apparatus according to the first embodiment.
- FIG. 13 is a flowchart illustrating the sequence of the re-learning requirement determining process performed by the log analysis apparatus according to the first embodiment.
- the learning unit 13 a included in the log analysis apparatus 10 acquires a log for training via the input unit 11 (Step S 101 ).
- the learning unit 13 a then initializes the profile with null data (Step S 102 ).
- the learning unit 13 a then extracts various parameters from the log for training (Step S 103 ). For example, the learning unit 13 a takes out one entry from the head of the input log for training, parses the entry, and extracts “source IP”, “date and time”, and “request”. The learning unit. 13 a also divides the “request” into a path part (the part preceding “?” in FIG. 4 ) and a query string part (the part following “?” in FIG. 4 ), and parses the query string part to acquire a parameter key paired with a parameter value.
- a path part the part preceding “?” in FIG. 4
- a query string part the part following “?” in FIG. 4
- the learning unit 13 a then extracts the parameters from the access log, and abstracts the extracted parameters (Step S 104 ). For example, the learning unit 13 a abstracts a parameter value, into a sequence of character classes, e.g., a sequence of an alphabet class and a number class. The learning unit 13 a then learns the appearance frequency of the abstracted parameter, and updates the profile (Step S 105 ). For example, if the character class sequence resultant of the abstraction process is found in the profile, the learning unit 13 a adds one to the appearance count.
- the learning unit 13 a determines whether the condition for ending the learning process has been satisfied (Step S 106 ). As a result of this, if the learning unit 13 a determines that the condition for ending has not been satisfied yet (NO at Step S 106 ), and the control is returned to the process at Step S 103 . In other words, if there is any remaining access log entry to be learned, for example, the learning unit 13 a goes back to the parameter extraction process, and learns the remaining log.
- the condition for ending the learning may be established based on whether the log for learning has been completely learned, or determined by detecting that any new path, parameter key, or character class sequence has not appeared, and that the profile has remained unchanged, although the log has been read for a certain amount or more.
- the learning unit 13 a establishes the profile as definite (Step S 107 ).
- the learning unit 13 a may calculate the appearance frequency of each parameter, and delete the parameters with an appearance frequency equal to or lower than a predetermined threshold from the profile. For example, the learning unit 13 a may perform a normalization process of calculating a rate at which each character class sequence has appeared, for each [path: parameter key] pair, and deleting a pair appearing at a low frequency from the profile, rendering the pair as a rare case, for example.
- the learning unit 13 a then stores the profile established as definite in the profile storage unit 14 a (Step S 108 ).
- the analyzing unit 13 b acquires a log for analysis via the input unit 11 (Step S 201 ).
- This log is a log of accesses to a Web server, in the same manner as a log for training, and includes at least “source IP”, “date and time”, and “request”.
- the analyzing unit 13 b acquires the profile from the profile storage unit 14 a (Step S 202 ). The analyzing unit 13 b then extracts various parameters from the log for analysis (Step S 203 ). The log for analysis having its parameters extracted is stored in the analysis-completed log storage unit 14 b.
- the analyzing unit 13 b then abstracts the parameter value into a sequence of character classes, e.g., a sequence of an alphabet class and a number class (Step S 204 ).
- the analyzing unit 13 b then compares the character class sequence that is the abstraction result with those in the profile (Step S 205 ).
- Available as criteria for comparing the similarity not only the exact match between the character class sequences may be used, but it is also possible to compare a ratio of the common part or the length of the longest common subsequence (LCS) between the character class sequences with the length of the character class sequence.
- LCS longest common subsequence
- the analyzing unit 13 b updates the information stored as the re-learning requirement determining information in the re-learning requirement determining information storage unit 14 c, using the set of [source IP, date and time, path, parameter key] included in the entry currently being processed (Step S 206 ).
- the analyzing unit 13 b determines whether the condition for ending the analyzing process has been satisfied (Step S 207 ). As a result of this process, if it is determined that the condition for ending has not been satisfied yet (NO at Step S 207 ), the analyzing unit 13 b shifts the control to the process at Step S 203 . If it is determined that the condition for ending has been satisfied (YES at Step S 207 ), the analyzing unit 13 b outputs the determination result acquired by the similarity comparison, e.g., whether the access has been determined as an “attack” or “non-attack”, for example (Step S 208 ).
- the re-learning requirement determining unit 13 c acquires the re-learning requirement determining information (Step S 301 ). Specifically, the re-learning requirement determining unit 13 c acquires the re-learning requirement determining information updated during the analyzing process (acquires the sets of [source IP, date and time, path, parameter key] of the requests including parameter values not found in the profile, or with a similarity lower than the threshold) from the re-learning requirement determining information storage unit 14 c.
- the re-learning requirement determining unit 13 c performs a process of taking a tally of the re-learning requirement determining information (Step S 302 ). Specifically, the re-learning requirement determining unit 13 c takes a tally of the number of different source IPs for each of the [path: parameter key] pair included in the re-learning requirement determining information corresponding to a certain time period.
- the re-learning requirement determining unit 13 c determines whether the number of different source IPs is equal to or higher than a threshold, and, if the number of different source IPs is equal to or higher than the threshold, determines that re-learning is required (Step S 303 ). As a result of this process, if the number of different source IPs is not equal to or higher than the threshold, the re-learning requirement determining unit 13 c determines that the re-learning is required (NO at Step S 303 ), and ends the process as it is.
- the re-learning requirement determining unit 13 c determines that the re-learning is required (YES at Step S 303 ), and instructs the learning unit 13 a to carry out the re-learning (Step S 304 ).
- the log analysis apparatus 10 extracts parameters from an access log pertaining to requests issued from user terminals to a server, learns the appearance frequencies of the parameters, and stores the learning result in the profile storage unit 14 a as a profile.
- the log analysis apparatus 10 then extracts parameters from an access log under analysis, and acquires the similarity by comparing the parameters with the parameters included in the profile stored in the profile storage unit 14 a, and, if the similarity is lower than a threshold, determines that an access in the access log under analysis as an attack.
- the log analysis apparatus 10 takes a tally of the number of different requesting user terminals having issued such requests, for each of such parameters, and, if there is any parameter for which the number of such different user terminals is equal to or higher than a threshold, determines to perform re-learning of the parameter. Therefore, the log analysis apparatus 10 according to the first embodiment can reduce the burdens of the operations, and can detect unknown attacks highly accurately.
- the log analysis apparatus 10 according to the first embodiment is capable of re-learning, the log analysis apparatus 10 can follow a specification change of the Web application. Furthermore, because the log analysis apparatus 10 according to the first embodiment has a function for determining whether re-learning is required, the operator does not need to make the determination as to whether to carry out the re-learning, and therefore, the operation can be automated. Hence, it is possible to reduce the burdens of the operations, and to detect unknown attacks highly accurately. Furthermore, the log analysis apparatus 10 according to the first embodiment keeps the actual appearance count as a profile, instead of statistical information, so that the re-learning process can be performed merely with additions.
- FIG. 14 is a schematic illustrating a general configuration of the log analysis apparatus according to the second embodiment. As illustrated in FIG. 14 , the log analysis apparatus 10 A according to the second embodiment is different from the log analysis apparatus 10 illustrated in FIG. 1 in having a path abstraction information storage unit 14 d.
- the path abstraction information storage unit 14 d stores therein a regular expression of paths to be extracted and path settings after the abstraction, as path abstraction information. For example, when paths having a three-digit number following “/dynamic/path/foo” are to be abstracted as _NUM the path abstraction information storage unit 14 d stores therein the following setting. Regular expression of paths to be abstracted: “/dynamic/path/foo[0-9] ⁇ 3 ⁇ ”Path setting after abstraction: “/dynamdc/path/foo_NUM”
- the learning unit 13 a extracts a record of a path to be abstracted. Specifically, the learning unit 13 a extracts a record including a path part that matches the regular expression of the paths to be abstracted.
- FIG. 15 is a schematic for illustrating an example of the path abstracting process.
- the learning unit 13 a merges the information of [path: parameter key] pairs to a [path after abstraction: parameter key] pair included in the profile.
- the learning unit 13 a updates the appearance count corresponding to the merged [path: parameter key] pair, by adding the information before the abstraction.
- the learning unit 13 a also merges the records having been abstracted into the same [path: parameter key] pair.
- the learning unit 13 a also performs the path abstraction.
- the analyzing unit 13 b After the analyzing unit 13 b extracts parameters in the parameter extraction process, the analyzing unit 13 b refers to the path abstraction information, and abstracts the paths matching the regular expression of the paths to be abstracted.
- FIG. 16 is a flowchart illustrating the sequence of a learning process performed by the log analysis apparatus according to the second embodiment.
- the learning unit 13 a included in the log analysis apparatus 10 A acquires a log for training via the input unit 11 (Step S 401 ), and initializes the profile with null data (Step S 402 ).
- the learning unit 13 a then extracts various parameters from the log for training (Step S 403 ).
- the learning unit 13 a then extracts parameters from the access log, and abstracts the extracted parameters (Step S 404 ).
- the learning unit 13 a learns the appearance frequencies of the abstracted parameters, and updates the profile (Step S 405 ).
- the learning unit 13 a determines whether the condition for ending the learning process has been satisfied (Step S 406 ). As a result of this, if the learning unit 13 a determines that the condition for ending has not been satisfied yet (NO at Step S 406 ), the control is returned to the process at Step S 403 . If it is determined that the condition for ending has been satisfied (YES at Step S 406 ), the learning unit 13 a extracts a record including a path for which the path abstraction is to be applied, from the profile (Step S 407 ).
- the learning unit 13 a then performs the path abstracting process for abstracting the path included in the extracted record (Step S 408 ).
- the learning unit 13 a then establishes the profile as definite (Step S 409 ), and stores the profile established as definite in the profile storage unit 14 a (Step S 410 ).
- the log analysis apparatus 10 A performs a path abstraction. Therefore, even when the Web application has some paths that are dynamically generated, the analysis can be performed correctly.
- parameters are extracted from the access log under analysis; a similarity is then acquired by comparing the parameters with the parameters included in the profile, and; if the similarity is lower than a threshold, the access in the access log under analysis is determined as an attack. It is, however, possible to extract the common part of the parameters included in the accesses having been determined as attacks, and to generate an attack pattern based on the common part. For example, it is possible to generate an attack pattern from the parameters determined as attacks in the analysis, and to apply the attack pattern to an appliance such as a WAF as a signature, so that similar attacks can be blocked thereby.
- an appliance such as a WAF as a signature
- a third embodiment is an example in which the common part of the parameters included in an access determined to be an attack is extracted, and an attack pattern is generated based on the matching part. Explanations are omitted for the configurations and the process that are the same as those according to the first embodiment.
- FIG. 17 is a schematic illustrating a general configuration of the log analysis apparatus according to the third embodiment. As illustrated in FIG. 17 , the log analysis apparatus 10 B according to the third embodiment is different from the log analysis apparatus 10 illustrated in FIG. 1 in having an attack pattern generating unit 13 d.
- the attack pattern generating unit 13 d extracts a common part of the parameters included in the accesses having been determined as attacks, and generates an attack pattern based on the common part. For example, the attack pattern generating unit 13 d acquires the analysis result from the analyzing unit 13 b, and acquires the parameters included in requests having been determined as attacks. The attack pattern generating unit 13 d then extracts the common part from the parameters.
- the attack pattern generating unit 13 d acquires a common part between the first element p 1 and each of the elements of P other than p 1 , and establishes the common part between p 1 and the element with the longest common part (denoting this element as p 1 ) as C1. If the length of C1 is equal to or longer than a threshold, the attack pattern generating unit 13 d keeps C1 as a common part, and deletes p 1 and p i from. P. If the length of C1 is shorter than the threshold, the attack pattern generating unit 13 d determines that p 1 does not have any common part with the elements, discards C1, and deletes only p 1 from P.
- the attack pattern generating unit 13 d then repeats the step (i) on P having been updated at the previous step (i), and extracts common parts C1, C2, . . . .
- the common parts may be extracted using any other technique. For example, it is possible to measure the similarity between two character strings as an edit distance, to cluster the parameter set based on the similarities, and to extract a common part from each of the clusters.
- the attack pattern generating unit 13 d then formulates a regular expression by replacing the elements other than the common part by “*”, based on the common parts C1, C2, . . . extracted by the steps described above, and establishes the regular expression as an attack pattern. For example, the attack pattern generating unit 13 d generates, from parameter values “abc##ATTACK$$” and “12##ATTACK$$xyz” having a common part “##ATTACK$$”, a regular expression “*##ATTACK$$*” as an attack pattern, and outputs the generated attack pattern.
- FIG. 18 is a flowchart illustrating the sequence of an attack pattern generating process performed by the log analysis apparatus according to the third embodiment.
- the attack pattern generating unit 13 d included in the log analysis apparatus 10 B acquires the analysis result from the analyzing unit 13 b (Step S 501 ).
- the attack pattern generating unit 13 d then extracts a common part from the parameters (Step S 502 ).
- the attack pattern generating unit 13 d then generates an attack pattern (Step S 503 ).
- the attack pattern generating unit 13 d formulates a regular expression by replacing the elements other than the common part with “*”, based on the common parts C1, C2, . . . , and establishes the regular expression as an attack pattern.
- the attack pattern generating unit 13 d then outputs the generated attack pattern (Step S 504 ).
- the log analysis apparatus 10 B extracts the common part of the parameters in the accesses having been determined as attacks, and generates an attack pattern based on the common part. Therefore, by applying the generated attack pattern as a signature of an appliance such as a WAF, it is possible to block similar attacks.
- FIG. 19 is a schematic illustrating a general configuration of a log analysis apparatus according to the fourth embodiment. As illustrated in FIG. 19 , the log analysis apparatus 100 according to the fourth embodiment is different from the log analysis apparatus 10 B illustrated in FIG. 17 in having an attack pattern match testing unit 13 e.
- the attack pattern match testing unit 13 e determines whether a parameter included in an access determined by the analyzing unit 13 b as an attack matches the attack pattern having been already generated, and, if the parameter is determined to match, deletes the parameter of the access determined as an attack.
- the attack pattern match testing unit 13 e performs a matching test between a parameter value included in the analysis result that is determined as an attack by the analyzing unit 13 b, and the attack pattern having been already generated, passes only the not-matching parameter to the attack pattern generating unit 13 d, and causes the attack pattern generating unit 13 d to perform the attack pattern generating process.
- the log analysis apparatus 10 C determines whether a parameter included in an access determined as an attack matches an attack pattern having been already generated, and, if the parameter is determined to match, deletes the parameter in the access determined as an attack. Therefore, it is possible to prevent similar attack patterns from being generated redundantly.
- the units included in the apparatuses illustrated in the drawings are merely functional and conceptual representations, and do not necessarily need to be configured physically in the manner illustrated.
- the specific configurations in which these apparatuses are distributed or integrated are not limited to those illustrated in the drawings, and the entire or any part of these apparatuses may be configured to be distributed to or integrated into any units functionally or physically, depending on various loads and conditions of use.
- the entire or any part of the processing functions performed in the apparatus may be implemented as a central processing unit (CPU) and a computer program parsed and executed by the CPU, or as a piece of hardware using wired logics.
- the learning unit 13 a and the analyzing unit 13 b may be integrated.
- the entire or any part of the processes explained to be performed automatically may be performed manually, or the entire or any part of the processes explained to be performed manually may be performed automatically.
- the processing procedures, the control procedures, specific names, and information including various data and parameters depicted in the text or the drawings may be changed in any way, unless specified otherwise.
- a computer program by describing the processes performed by the log analysis apparatus explained in the embodiment described above, in a computer-executable language.
- a log analysis program by describing the process performed by the log analysis apparatus 10 according to the embodiment in a computer-executable language.
- the same advantageous effects achieved by the embodiment described above can be achieved by causing a computer to execute the log analysis program.
- it is also possible to implement the processes that are the same as those according to the embodiments by recording such a log analysis program in a computer-readable recording medium, and by causing a computer to read and to execute the log analysis program recorded in the recording medium.
- FIG. 20 is a schematic illustrating a computer 1000 executing the log analysis program.
- the computer 1000 includes, 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 , and these units are connected by a bus 1080 .
- the memory 1010 includes, as illustrated in FIG. 20 , a read-only memory (ROM) 1011 and a RAM 1012 .
- the ROM 1011 stores therein, for example, a boot program such as the basic input/output system (BIOS).
- BIOS basic input/output system
- the hard disk drive interface 1030 is connected to a hard disk drive 1090 , as illustrated in FIG. 20 .
- the disk drive interface 1040 is connected to a disk drive 1100 , as illustrated in FIG. 20 .
- a removable storage medium such as a magnetic disk or an optical disc is inserted.
- the serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120 , for example, as illustrated in FIG. 20 .
- the video adapter 1060 is connected to a display 1130 , for example, as illustrated in FIG. 20 .
- the hard disk drive 1090 stores therein, for example, an operating system (OS) 1091 , an application program 1092 , a program module 1093 , and program data 1094 .
- OS operating system
- the log analysis program described above is stored in the hard disk drive 1090 , for example, as a program module describing commands executed by the computer 1000 .
- the various types of data explained in the embodiments above are stored in the memory 1010 or the hard disk drive 1090 , for example, as program data.
- the CPU 1020 then reads the program module 1093 or the program data 1094 stored in the memory 1010 or the hard disk drive 1090 onto the RAM 1012 , as required, and executes various processing procedures.
- the program module 1093 or the program data. 1094 pertaining to the log analysis program may be stored in a removable storage medium, for example, without limitation to the example being stored in the hard disk drive 1090 , and may be read by the CPU 1020 via a disk drive or the like.
- the program module 1093 or the program data 1094 pertaining to the log analysis program may also be stored in another computer that is connected over a network (e.g., a local area network (LAN) or a wide area network (WAN)), and may be read by the CPU 1020 via the network interface 1070 .
- LAN local area network
- WAN wide area network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
-
- 10, 10A, 10B, 10C log analysis apparatus
- 11 input unit
- 12 output unit
- 13 control unit
- 13 a learning unit
- 13 b analyzing unit
- 13 c re-learning requirement determining unit
- 13 d attack pattern generating unit
- 13 e attack pattern match testing unit
- 14 storage unit
- 14 a profile storage unit
- 14 b analysis-completed log storage unit
- 14 c re-learning requirement determining information storage unit
Claims (19)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017041125 | 2017-03-03 | ||
JP2017-041125 | 2017-03-03 | ||
PCT/JP2018/005773 WO2018159362A1 (en) | 2017-03-03 | 2018-02-19 | Log analysis apparatus, log analysis method, and log analysis program |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190387012A1 US20190387012A1 (en) | 2019-12-19 |
US12160432B2 true US12160432B2 (en) | 2024-12-03 |
Family
ID=63371049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/489,354 Active 2039-09-09 US12160432B2 (en) | 2017-03-03 | 2018-02-19 | Log analysis apparatus, log analysis method, and log analysis program |
Country Status (3)
Country | Link |
---|---|
US (1) | US12160432B2 (en) |
JP (1) | JP6680945B2 (en) |
WO (1) | WO2018159362A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10915587B2 (en) | 2018-05-18 | 2021-02-09 | Google Llc | Data processing system for generating entries in data structures from network requests |
JP6563578B1 (en) * | 2018-09-26 | 2019-08-21 | 株式会社ラック | Terminal device, file analysis device, file analysis system, file analysis method and program |
JP7166969B2 (en) * | 2019-03-20 | 2022-11-08 | 三菱電機インフォメーションネットワーク株式会社 | Router attack detection device, router attack detection program, and router attack detection method |
US11010287B1 (en) * | 2019-07-01 | 2021-05-18 | Intuit Inc. | Field property extraction and field value validation using a validated dataset |
JP6751960B1 (en) * | 2020-03-09 | 2020-09-09 | 株式会社シンカー | Information processing system and information processing method |
CN111565192A (en) * | 2020-05-08 | 2020-08-21 | 南开大学 | Credibility-based multi-model cooperative defense method for internal network security threats |
JP7413924B2 (en) * | 2020-05-25 | 2024-01-16 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and information processing program |
CN113259324B (en) * | 2021-04-21 | 2022-09-02 | 深圳供电局有限公司 | Data attack detection method and device, computer equipment and readable storage medium |
US20240220611A1 (en) * | 2021-05-12 | 2024-07-04 | Nippon Telegraph And Telephone Corporation | Extracting device, extracting method, and extracting program |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020099813A1 (en) * | 2000-12-04 | 2002-07-25 | Jason Winshell | Method for collecting statistics about Web site usage |
US20060294588A1 (en) * | 2005-06-24 | 2006-12-28 | International Business Machines Corporation | System, method and program for identifying and preventing malicious intrusions |
US20070186282A1 (en) * | 2006-02-06 | 2007-08-09 | Microsoft Corporation | Techniques for identifying and managing potentially harmful web traffic |
US20080019302A1 (en) * | 2006-07-20 | 2008-01-24 | Symbol Technologies, Inc. | Hitless restart mechanism for non-stop data-forwarding in the event of L3-mobility control-plane failure in a wireless switch |
US7441429B1 (en) * | 2006-09-28 | 2008-10-28 | Narus, Inc. | SIP-based VoIP traffic behavior profiling |
US20080318616A1 (en) * | 2007-06-21 | 2008-12-25 | Verizon Business Network Services, Inc. | Flexible lifestyle portable communications device |
US20090076995A1 (en) * | 2007-08-13 | 2009-03-19 | Fujitsu Limited | User state presumption system, user state presumption method, and recording media storing user state presumption program |
US7716340B2 (en) * | 2005-09-30 | 2010-05-11 | Lycos, Inc. | Restricting access to a shared resource |
JP2010152431A (en) | 2008-12-24 | 2010-07-08 | Mitsubishi Electric Corp | Unauthorized access detection device, unauthorized access detection program, recording medium and unauthorized access detection method |
US20100177752A1 (en) * | 2009-01-12 | 2010-07-15 | Juniper Networks, Inc. | Network-based micro mobility in cellular networks using extended virtual private lan service |
US20110179467A1 (en) * | 2010-01-21 | 2011-07-21 | Alibaba Group Holding Limited | Intercepting malicious access |
US20130215888A1 (en) * | 2012-02-22 | 2013-08-22 | Cisco Technology, Inc. | Method of IPv6 at Data Center Network with VM Mobility Using Graceful Address Migration |
JP2013232716A (en) | 2012-04-27 | 2013-11-14 | Nippon Telegr & Teleph Corp <Ntt> | Attack determination apparatus, attack determination method and attack determination program |
US20140187177A1 (en) | 2013-01-02 | 2014-07-03 | Qualcomm Incorporated | Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors |
WO2015186662A1 (en) | 2014-06-06 | 2015-12-10 | 日本電信電話株式会社 | Log analysis device, attack detection device, attack detection method and program |
US9531736B1 (en) * | 2012-12-24 | 2016-12-27 | Narus, Inc. | Detecting malicious HTTP redirections using user browsing activity trees |
US9639453B2 (en) * | 2015-03-04 | 2017-05-02 | Vmware, Inc. | Method and system for determining functional tests to execute based on code coverage |
US20210314289A1 (en) * | 2020-04-06 | 2021-10-07 | Vmware, Inc. | Tunnel endpoint group records |
-
2018
- 2018-02-19 WO PCT/JP2018/005773 patent/WO2018159362A1/en active Application Filing
- 2018-02-19 US US16/489,354 patent/US12160432B2/en active Active
- 2018-02-19 JP JP2019502890A patent/JP6680945B2/en active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020099813A1 (en) * | 2000-12-04 | 2002-07-25 | Jason Winshell | Method for collecting statistics about Web site usage |
US20060294588A1 (en) * | 2005-06-24 | 2006-12-28 | International Business Machines Corporation | System, method and program for identifying and preventing malicious intrusions |
US7716340B2 (en) * | 2005-09-30 | 2010-05-11 | Lycos, Inc. | Restricting access to a shared resource |
US20070186282A1 (en) * | 2006-02-06 | 2007-08-09 | Microsoft Corporation | Techniques for identifying and managing potentially harmful web traffic |
US20080019302A1 (en) * | 2006-07-20 | 2008-01-24 | Symbol Technologies, Inc. | Hitless restart mechanism for non-stop data-forwarding in the event of L3-mobility control-plane failure in a wireless switch |
US7441429B1 (en) * | 2006-09-28 | 2008-10-28 | Narus, Inc. | SIP-based VoIP traffic behavior profiling |
US20080318616A1 (en) * | 2007-06-21 | 2008-12-25 | Verizon Business Network Services, Inc. | Flexible lifestyle portable communications device |
US20090076995A1 (en) * | 2007-08-13 | 2009-03-19 | Fujitsu Limited | User state presumption system, user state presumption method, and recording media storing user state presumption program |
JP2010152431A (en) | 2008-12-24 | 2010-07-08 | Mitsubishi Electric Corp | Unauthorized access detection device, unauthorized access detection program, recording medium and unauthorized access detection method |
US20100177752A1 (en) * | 2009-01-12 | 2010-07-15 | Juniper Networks, Inc. | Network-based micro mobility in cellular networks using extended virtual private lan service |
US20110179467A1 (en) * | 2010-01-21 | 2011-07-21 | Alibaba Group Holding Limited | Intercepting malicious access |
US20130215888A1 (en) * | 2012-02-22 | 2013-08-22 | Cisco Technology, Inc. | Method of IPv6 at Data Center Network with VM Mobility Using Graceful Address Migration |
JP2013232716A (en) | 2012-04-27 | 2013-11-14 | Nippon Telegr & Teleph Corp <Ntt> | Attack determination apparatus, attack determination method and attack determination program |
US9531736B1 (en) * | 2012-12-24 | 2016-12-27 | Narus, Inc. | Detecting malicious HTTP redirections using user browsing activity trees |
US20140187177A1 (en) | 2013-01-02 | 2014-07-03 | Qualcomm Incorporated | Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors |
JP2016505984A (en) | 2013-01-02 | 2016-02-25 | クアルコム,インコーポレイテッド | Method and system for dynamically generating and using device-specific and device state-specific classifier models for efficient classification of mobile device behavior |
WO2015186662A1 (en) | 2014-06-06 | 2015-12-10 | 日本電信電話株式会社 | Log analysis device, attack detection device, attack detection method and program |
US20170126724A1 (en) | 2014-06-06 | 2017-05-04 | Nippon Telegraph And Telephone Corporation | Log analyzing device, attack detecting device, attack detection method, and program |
US9639453B2 (en) * | 2015-03-04 | 2017-05-02 | Vmware, Inc. | Method and system for determining functional tests to execute based on code coverage |
US20210314289A1 (en) * | 2020-04-06 | 2021-10-07 | Vmware, Inc. | Tunnel endpoint group records |
Non-Patent Citations (1)
Title |
---|
International Search Report and Written Opinion mailed on May 22, 2018 for PCT/JP2018/005773 filed on Feb. 19, 2018, 7 pages including English Translation of the International Search Report. |
Also Published As
Publication number | Publication date |
---|---|
JPWO2018159362A1 (en) | 2019-08-08 |
US20190387012A1 (en) | 2019-12-19 |
WO2018159362A1 (en) | 2018-09-07 |
JP6680945B2 (en) | 2020-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12160432B2 (en) | Log analysis apparatus, log analysis method, and log analysis program | |
US10721256B2 (en) | Anomaly detection based on events composed through unsupervised clustering of log messages | |
US10303873B2 (en) | Device for detecting malware infected terminal, system for detecting malware infected terminal, method for detecting malware infected terminal, and program for detecting malware infected terminal | |
US11212297B2 (en) | Access classification device, access classification method, and recording medium | |
KR101893090B1 (en) | Vulnerability information management method and apparastus thereof | |
CN108156131B (en) | Webshell detection method, electronic device and computer storage medium | |
US11256803B2 (en) | Malware detection: selection apparatus, selection method, and selection program | |
US20150207811A1 (en) | Vulnerability vector information analysis | |
NL2026782B1 (en) | Method and system for determining affiliation of software to software families | |
US10097569B2 (en) | System and method for tracking malware route and behavior for defending against cyberattacks | |
US20180357214A1 (en) | Log analysis system, log analysis method, and storage medium | |
CN107547490B (en) | Scanner identification method, device and system | |
EP3905084A1 (en) | Method and device for detecting malware | |
US20190370476A1 (en) | Determination apparatus, determination method, and determination program | |
US11789982B2 (en) | Order independent data categorization, indication, and remediation across realtime datasets of live service environments | |
US11563717B2 (en) | Generation method, generation device, and recording medium | |
KR102130944B1 (en) | Method for identifying device information based on named-entity recognition and apparatus thereof | |
Gawron et al. | Automatic detection of vulnerabilities for advanced security analytics | |
CN118764237B (en) | A method for security detection and effectiveness verification of penetration testing tools | |
JP6070688B2 (en) | Event correlation rule detection system, event correlation rule detection method, and event correlation rule detection program | |
CN113821570B (en) | Data processing method based on blockchain and SQL | |
US20230297703A1 (en) | System and method for detecting a harmful script based on a set of hash codes | |
US20240184887A1 (en) | Activity trace extraction device, activity trace extraction method, and activity trace extraction program | |
US20230007020A1 (en) | Estimation system, estimation method, and estimation program | |
CN115344861A (en) | Malicious software detection model construction method and device and malicious software detection method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NIPPON TELEGRAPH AND TELEPHONE CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ORIHARA, SHINGO;SATO, TOHRU;SHIMADA, YOHSUKE;AND OTHERS;REEL/FRAME:050188/0810 Effective date: 20190729 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION COUNTED, NOT YET MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |