WO2018159337A1 - プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム - Google Patents
プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム Download PDFInfo
- Publication number
- WO2018159337A1 WO2018159337A1 PCT/JP2018/005601 JP2018005601W WO2018159337A1 WO 2018159337 A1 WO2018159337 A1 WO 2018159337A1 JP 2018005601 W JP2018005601 W JP 2018005601W WO 2018159337 A1 WO2018159337 A1 WO 2018159337A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- profile
- parameter
- profile information
- request
- global
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims description 80
- 238000000034 method Methods 0.000 title claims description 26
- 230000002776 aggregation Effects 0.000 claims description 20
- 238000004220 aggregation Methods 0.000 claims description 20
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 description 72
- 238000004458 analytical method Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000005856 abnormality Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 230000010365 information processing Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012546 transfer Methods 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
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- 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/1416—Event detection, e.g. attack signature detection
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Definitions
- the present invention relates to a technology relating to network security, and more particularly, to a technology for analyzing and detecting an access to an attack that attacks a Web server and a Web application.
- IDS Intrusion Detection System
- IPS Intrusion Prevention System
- WAF Web Application Firewall
- This anomaly-type detection technology learns the parameter value characteristics (profiles) of normal web server access requests and compares them with the characteristics of the access requests to be detected (not normal access requests). This is a technique for determining whether or not.
- profile information that abstracts the character string structure of the parameter value for each combination of path part and parameter in a normal HTTP (Hypertext Transfer Protocol) request to the Web server
- HTTP Hypertext Transfer Protocol
- the above-described anomaly detection technology cannot generate an appropriate profile in the case of a Web application in which a path part in an HTTP request to a Web server (site) is dynamically generated.
- the number of parameter values for the learning target parameter in the profile is insufficient.
- attack detection is performed with a profile with insufficient number of types, false detections with respect to normal HTTP requests frequently occur.
- the dynamically generated path part may be generated only once depending on the Web application specifications. Therefore, the path part in the HTTP request may change every time the user accesses. In such a case, even if the parameter value of the parameter of the path part is learned and a profile is created, there is a possibility that the corresponding path part does not exist in the profile at the time of detection and an attack may be missed.
- the size of the profile increases in proportion to the increase in the number of types of the generated path part.
- an object of the present invention is to solve the above-described problem and to detect an attack accurately and efficiently even for a Web application in which a path part in a request is dynamically generated.
- the present invention is a profile generation device that generates a profile indicating characteristics of a request to a Web server to be detected, and includes a path unit and a parameter included in a request that is learning data.
- the profile information group when the profile information group including the combination of and the acquired profile information group includes a predetermined number or more of profile information whose path parts are different but whose parameter similarity is a predetermined value or more
- a profile generation unit that generates a profile in which the above are aggregated.
- an attack can be detected accurately and efficiently even for a Web application in which a path part in a request is dynamically generated.
- FIG. 1 is a diagram illustrating a configuration of an attack detection apparatus including a profile generation apparatus according to the present embodiment.
- FIG. 2 is a diagram illustrating an example of generating a profile (after global parameter conversion processing) from learning data.
- FIG. 3 is a diagram illustrating an example of generating a profile (before global parameter conversion processing) from learning data.
- FIG. 4 is a diagram for explaining conversion of a parameter value into a character class string and storage in a profile in the attack detection apparatus of FIG.
- FIG. 5 is a diagram illustrating an example of a profile before the global parameter conversion process.
- FIG. 6 is a diagram for explaining detection of an attack (abnormality) in the attack detection apparatus of FIG.
- FIG. 1 is a diagram illustrating a configuration of an attack detection apparatus including a profile generation apparatus according to the present embodiment.
- FIG. 2 is a diagram illustrating an example of generating a profile (after global parameter conversion processing) from learning data.
- FIG. 3 is a diagram illustrating an example of
- FIG. 7 is a diagram for explaining the generation of the globalization candidate parameter tabulation list by the global parameter tabulation unit of FIG.
- FIG. 8 is a diagram for explaining determination of parameter globalization by the global parameter conversion unit in FIG. 1.
- FIG. 9 is a diagram for explaining profile update by the global parameter conversion unit in FIG. 1.
- FIG. 10 is a flowchart illustrating an example of a processing procedure when the attack detection apparatus of FIG. 1 generates a global profile.
- FIG. 11 is a diagram for explaining aggregation of character class strings in the attack detection apparatus according to the second embodiment.
- FIG. 12 is a diagram for explaining aggregation of character class strings in the attack detection apparatus according to the third embodiment.
- FIG. 13 is a diagram illustrating a computer that executes an attack detection program.
- the learning data and analysis target data (data targeted for attack detection) by the attack detection apparatus 10 is an HTTP request to a Web server (site) will be described as an example.
- the attack detection device 10 will be described by taking as an example a case where so-called anomaly detection is performed. Further, the attack detection device 10 uses, as a profile (profile information) used for detection, information (parameter) indicating a parameter value of the parameter for each combination of a path part including a normal HTTP request and a parameter name (parameter name). Information indicating value information) is used.
- the attack detection apparatus 10 will be described by taking as an example a case where a character class string (described later) that abstracts the structure of the character string of the parameter value is used as the parameter value information.
- the attack detection apparatus 10 shown in FIG. 1 first generates a profile indicating the characteristics of a normal HTTP request based on the HTTP request of learning data. And the attack detection apparatus 10 will determine whether the said HTTP request is a normal HTTP request by comparing the said HTTP request and a profile, if the input of the HTTP request which is analysis object data is received.
- the attack detection device 10 uses, as a profile, for example, the character of the parameter value of the parameter for each combination of the path part and the parameter name included in the normal HTTP request based on the normal HTTP request that is the learning data. Generate information indicating the class string.
- the attack detection apparatus 10 generates information indicating a character class string of the global parameter if the HTTP request of the learning data includes a parameter (global parameter) having a different name but the same name when generating the profile. (See FIG. 2).
- each character constituting the parameter value is classified into a class such as AL: a character class (alpha) representing alphabet, NU: a character class (numeric) representing a number, SY: a character class (symbol) representing a symbol, etc.
- AL a character class (alpha) representing alphabet
- NU a character class (numeric) representing a number
- SY a character class (symbol) representing a symbol
- the classification results are arranged according to the arrangement of character strings.
- the attack detection apparatus 10 first creates a profile (FIG. 3) that indicates a character class string of parameter values for each combination of the path part and the parameter name included in the HTTP request from the HTTP request of the learning data shown in FIG. Profile before global parameter conversion processing). Thereafter, the attack detection apparatus 10 generates a profile (profile after the global parameter conversion process) in which the entries of the global parameters (for example, the parameter “file” in FIG. 2) in this profile are aggregated (see FIG. 2).
- the attack detection apparatus 10 generates a profile in which entries having parameters with the same name but different path parts are aggregated. Thereby, even when the HTTP request whose path part dynamically changes is used as learning data, the attack detection apparatus 10 can solve the shortage of the number of parameter values for the combination of the path part and the parameter name in the profile. As a result, the attack detection device 10 can reduce false detection in detecting an attack using the profile. Moreover, since the attack detection apparatus 10 can generate a profile that can be applied to a path part that is generated only once, it is possible to reduce an oversight of an attack by using the profile. Furthermore, since the attack detection apparatus 10 can reduce the size of the profile, the time required for matching the HTTP request to be analyzed with the profile can be reduced.
- the structure of the attack detection apparatus 10 is demonstrated using FIG.
- the attack detection device 10 includes an input unit 11, a control unit 12, and a storage unit 13.
- the input unit 11 includes a learning data input unit (acquisition unit) 111 and an analysis target data input unit 112.
- the learning data input unit 111 receives a normal HTTP request input to a Web server (not shown) as learning data.
- the analysis target data input unit 112 receives an input of an HTTP request that is analysis target data.
- the control unit 12 includes a parameter extraction unit 121, a parameter value conversion unit 122, a profile storage unit 123, an abnormality detection unit 124, and a global profile generation unit 125.
- the parameter extraction unit 121 extracts a path part, a parameter name, and a parameter value from the HTTP request for learning data. In addition, the parameter extraction unit 121 extracts a path part, a parameter name, and a parameter value from the HTTP request of the analysis target data.
- the parameter value conversion unit 122 converts the parameter value of the HTTP request of the learning data extracted by the parameter extraction unit 121 into a character class string.
- the parameter value conversion unit 122 converts the parameter value of the HTTP request of the analysis target data extracted by the parameter extraction unit 121 into a character class string.
- the parameter value conversion unit 122 refers to a regular expression of a character class string prepared in advance, determines that the longest matching portion for the parameter value is one class, and performs conversion to a character class string.
- the parameter value converter 122 divides “img.jpg” into three character strings such as (img,., Jpg) as shown in (1) of FIG. ) Is converted to the class (alpha, symbol, alpha). In addition, alpha shows an alphabet and symbol shows a symbol.
- the profile storage unit 123 in FIG. 1 receives from the parameter value conversion unit 122 information that associates the path portion of the HTTP request of the learning data, the parameter name, and the character class string indicating the parameter value, the information is stored. Save as a profile in the unit 13.
- the profile is information in which, for each combination of the path part and the parameter (parameter name), a character class string indicated by the parameter value of the parameter and the number of appearances are associated with each other as shown in FIG.
- the entry on the first line in the profile shown in FIG. 5 is an HTTP request with the path part “/index.php”, the parameter name “id”, and the character class string “ ⁇ AL, NU ⁇ ” of the parameter value in the learning data. And the number (number of appearances) is “200 (times)”.
- the profile storage unit 123 in FIG. 1 selects the character class string having the highest appearance frequency or appearance frequency from among the character class strings.
- Information associated as a combination of a part and a parameter name may be stored as a profile.
- the profile storage unit 123 has the highest appearance frequency (“100 ") In which (alpha, symbol, alpha) is associated with the path part and the parameter name is saved as a profile.
- the abnormality detection unit 124 receives, from the parameter value conversion unit 122, information that associates an HTTP request path part, parameter name, and character class string of analysis target data. Thereafter, the abnormality detection unit 124 calculates the similarity between the character class string for the combination of the path part and parameter name of the HTTP request of the analysis target data and the character class string for the combination of the path part and parameter name in the profile.
- the abnormality detection unit 124 determines that the HTTP request of the analysis target data is a normal HTTP request if the calculated similarity is equal to or greater than a predetermined threshold, and analyzes if the calculated similarity is less than the predetermined threshold.
- the HTTP request for the target data is determined as an HTTP request indicating an attack.
- the parameter value conversion unit 122 converts the parameter value of the HTTP request of the analysis target data extracted by the parameter extraction unit 121 into a character class string ((1) in FIG. 6).
- the abnormality detection unit 124 calculates the similarity between the character class string of the HTTP request of the analysis target data and the character class string of the profile according to the equation (1) ((2) in FIG. 6). That is, the abnormality detection unit 124 represents the similarity between the character class string for the combination of the path part and the parameter name of the HTTP request of the analysis target data and the character class string for the combination of the path part and the parameter name in the profile using the formula (1 ).
- the anomaly detection unit 124 analyzes the length of the character class string of the profile as X, the length of the character class string of the analysis target data as Y, and the character class string of the profile.
- the length S of the longest common subsequence (LCS: Longest Common Subsequence) of the character class string of the target data is set to Z, and the similarity S is calculated by Expression (1).
- the abnormality detection unit 124 determines whether or not the calculated similarity S of the character class string is smaller than the threshold St, and if the similarity S is smaller than the threshold St, the HTTP request of the analysis target data is abnormally determined. ((3) in FIG. 6). That is, the abnormality detection unit 124 determines that the HTTP request for the analysis target data is an attack. On the other hand, when the similarity S is equal to or greater than the threshold value St, the HTTP request for the analysis target data is determined to be normal. That is, it is determined that the HTTP request is not an attack.
- the global profile generation unit 125 in FIG. 1 generates a profile (global profile) in which HTTP requests having the same parameter name are aggregated for HTTP requests having the same parameter name but different path portions in the HTTP request group of the learning data. .
- a profile global profile
- the global profile generation unit 125 may generate a global profile directly from the HTTP request group of learning data.
- the global profile generation unit 125 includes a global parameter aggregation unit 126 and a global parameter conversion unit 127.
- the global parameter totaling unit 126 totals the type of the path part in which the parameter name appears for each parameter name existing in the profile. For example, for the profile before the global parameter conversion process shown in FIG. 7, the global parameter totaling unit 126 for each parameter (parameter name) existing in the profile, the path part in which the parameter (parameter name) appears, and the path A globalization candidate parameter tabulation list indicating the number of types of copies is generated.
- the global parameter conversion unit 127 in FIG. 1 refers to the globalization candidate parameter aggregation list (see FIG. 7) generated by the global parameter aggregation unit 126, and the number of types of the path part is greater than or equal to a predetermined value for the parameter name.
- the parameter name is determined as a parameter name that needs to be globalized. Thereafter, the global parameter conversion unit 127 merges (aggregates) the entry of the parameter name in the profile for the parameter name determined to be globalized.
- the global parameter conversion unit 127 has a parameter name “file” indicated by reference numeral 801 with a threshold value of the number of path part types ⁇ the number of path part types (for example, “2”). Therefore, it is determined that globalization is necessary. Since the parameter names “id” and “cc” are the number of path part types ⁇ the threshold value of the number of path part types (for example, “2”), the global parameter conversion unit 127 determines that globalization is unnecessary.
- the global parameter conversion unit 127 converts the path part in the entry of the parameter name (“file”) determined to be globalized “necessary” in the profile before the global parameter conversion process to “* ( Wild card) ”. Further, the global parameter conversion unit 127 converts the character class string (character class string indicated by reference numerals 901 to 903) corresponding to the parameter name (“file”) determined to be globalized “necessary” in FIG. The character class string indicated by reference numeral 904 is aggregated (merged).
- the global parameter conversion unit 127 keeps the character class string indicated by reference numeral 901 in FIG. 9 as it is (inheriting the number of appearances of the character class string), but the character class strings indicated by reference numeral 902 and reference numeral 903 are the same. Since it is a character class string, it is merged with the character class string indicated by reference numeral 904. Note that the global parameter conversion unit 127 may add up the number of appearances of each character class string when merging the character class strings indicated by reference numerals 902 and 903.
- the abnormality detection unit 124 performs abnormality detection on the HTTP request of the analysis target data using the global file (profile) saved in the storage unit 13.
- the storage unit 13 stores the profile generated by the control unit 12.
- the global profile (see FIG. 2) is stored after the global parameter conversion processing of the profile by the global profile generation unit 125 is executed.
- the storage unit 13 may further store the detection result of the HTTP request for the analysis target data.
- the global parameter totaling unit 126 acquires a profile (see FIG. 2) from the storage unit 13 (S1), and initializes a globalization candidate parameter totaling list (see FIG. 8) (S2). After S2, the global parameter totaling unit 126 extracts the path part, the parameter name, the character class string, and the number of appearances in the first line of the acquired profile (S3: Extracts the path part / parameter information). After S3, the global parameter totaling unit 126 determines whether or not the parameter name of the profile acquired in S3 is a candidate for conversion to the global parameter (S4).
- the global parameter tabulation unit 126 updates the globalization candidate parameter tabulation list (see FIG. 8) (S5).
- the global parameter totaling unit 126 confirms in S4 whether the combination of the parameter name and the path part included in the line determined to be a candidate for conversion to the global parameter already exists in the globalization candidate parameter totaling list, Depending on the confirmation result, one of the following update processes shown in (a) and (b) is performed on the globalization candidate parameter tabulation list.
- the global parameter tabulation unit 126 If neither the parameter name nor the path part exists in the globalization candidate parameter tabulation list, the global parameter tabulation unit 126 newly adds a combination of the parameter name and the path part to the globalization candidate parameter tabulation list. create. Then, the global parameter totaling unit 126 sets the number of path part types in the entry to “1”.
- the global parameter tabulation unit 126 uses the parameter name in the globalization candidate parameter tabulation list as the parameter name. Add to entry. Then, the global parameter totaling unit 126 adds the value of the number of path part types in the entry.
- the global parameter tabulation unit 126 determines that the parameter name part and the path part both include the globalization candidate parameter tabulation list. Do not add to.
- the global parameter conversion unit 127 acquires a globalization candidate parameter tabulation list (S8). Thereafter, the global parameter conversion unit 127 extracts the parameter name, path part, and number of path part types in the globalization candidate parameter tabulation list (S9: Extract parameter / path part information). If the number of path part types for the extracted parameter name is equal to or greater than a predetermined threshold, the global parameter conversion unit 127 determines that the parameter name is a parameter name that needs to be globalized (Yes in S10), and proceeds to S11. move on.
- the global parameter name conversion unit 127 sets the parameter name to be a parameter name that needs to be globalized. Is determined.
- the global parameter conversion unit 127 does not determine that the parameter name is a parameter name that needs to be globalized (No in S10), and the global The process of S9 is executed on the next line of the conversion candidate parameter tabulation list.
- the global parameter conversion unit 127 determines that globalization is unnecessary for the parameter names “id” and “cc” in the globalization candidate parameter tabulation list illustrated in FIG.
- the parameter name “file” is determined to be globalized.
- the global parameter conversion unit 127 updates the profile (S11). Specifically, the global parameter conversion unit 127 merges parameter name entries for parameter names that need to be globalized in the profile.
- the global parameter conversion unit 127 converts the path part in the entry of the parameter name to “*”. Further, the global parameter conversion unit 127 collects character class strings in the entry of the parameter name.
- the global parameter conversion unit 127 converts the path portion for the parameter name “file” in the profile before the global parameter conversion processing into “*”, and codes 901 to 903 for the parameter name “file”. Are gathered into a character class string denoted by reference numeral 901 and a character class string denoted by reference numeral 904.
- the global parameter conversion unit 127 processes the number of occurrences of the character class string in the entry to be converted into the global parameter in the profile as follows. That is, the global parameter conversion unit 127 adds up the number of appearances of the character class string for entries having the same character class string among the entries to be converted into the global parameter, and becomes the conversion target into the global parameter. For entries that do not have the same character class string, the number of appearances of the character class string is inherited.
- the global parameter conversion unit 127 inherits the number of appearances of the character class string indicated by reference numeral 901 in the profile before the global parameter conversion process even in the profile after the global parameter conversion process.
- the number of appearances of the character class string indicated by reference numerals 902 and 903 in the profile before the global parameter conversion process is added up to be the number of appearances indicated by reference numeral 904 in the profile after the global parameter conversion process.
- the attack detection apparatus 10 generates a profile (global profile) in which entries having the same parameter name but different path parts are aggregated. Therefore, for example, even when the profile is generated using an HTTP request whose path part dynamically changes as learning data, the attack detection apparatus 10 can suppress the shortage of the number of parameter values for the parameter name in the profile. As a result, the attack detection device 10 can reduce false detections when detecting an attack using the profile.
- the attack detection apparatus 10 can generate a profile that can be applied to a path portion that is generated only once, so that the missed attack can be reduced by using the profile. Furthermore, since the attack detection device 10 can reduce the size of the profile, it is possible to reduce the time required for matching the HTTP request to be analyzed with the profile when detecting an attack using the profile.
- the global parameter conversion unit 127 uses the edit distance of the character class string for calculating the similarity, and sets the character class string group whose edit distance is less than “3” as an aggregation target.
- the edit distance between the character class string indicated by reference numeral 1101 and the character class string indicated by reference numeral 1102 for the parameter name “file” in the profile before the global parameter conversion process is “2”.
- the global parameter conversion unit 127 determines that the character class string indicated by reference numeral 1101 is similar to the character class string indicated by reference numeral 1102 and aggregates these character class strings.
- the global parameter conversion unit 127 uses the longest common character string of these character class strings for the character class string indicated by reference numeral 1101 and the character class string indicated by reference numeral 1102. Aggregate to ⁇ AL, NU, SY, AL ⁇ which is a substring. Further, the global parameter conversion unit 127 adds the number of appearances of the character class string indicated by reference numeral 1101 and the number of appearances of the character class string indicated by reference numeral 1102 to obtain the number of appearances indicated by reference numeral 1103 (“3”).
- the attack detection device 10 can further reduce the size of the profile (global profile), so that when the attack is detected using the profile, the HTTP request to be analyzed is matched with the profile. The time required for this can be reduced.
- the global parameter conversion unit 127 may exclude a character class string having a low appearance frequency and low appearance rate from being aggregated when generating a global profile. For example, in the first embodiment or the second embodiment, the global parameter conversion unit 127 obtains a relative appearance rate in the character class string group that is an aggregation candidate for each character class string that is an aggregation candidate. . Then, the global parameter conversion unit 127 excludes the character class string whose appearance rate is lower than a predetermined threshold from the aggregation target.
- the global parameter conversion unit 127 considers a case where a character class string having a relative appearance rate of less than 5% in a character class string group that is a candidate for aggregation is excluded from aggregation.
- the global parameter conversion unit 127 performs the character class indicated by reference numeral 1203 among the character class strings indicated by reference numerals 1201 to 1203 for the parameter name “file” in the profile before the global parameter conversion processing.
- the column is excluded from aggregation because the appearance rate in the character class column group that is a candidate for aggregation is less than 5%.
- the character class string indicated by reference numeral 1201 and the character class string indicated by reference numeral 1202 are aggregated because their appearance rates in the character class string group that is a candidate for aggregation are 5% or more.
- the global parameter conversion unit 127 excludes character class strings with a low appearance frequency from being aggregated when generating a global profile.
- the attack detection device 10 does not reflect the learning result on the global profile even when the HTTP request having an erroneously input parameter value or the learning result of the HTTP request indicating the attack is included in the profile. Can be.
- the attack detection apparatus 10 can improve the accuracy of attack detection using the global profile.
- the global parameter conversion unit 127 deletes the information of the character class string having a low appearance frequency and appearance rate as described above after generating the same global profile as in the first embodiment or the second embodiment. May be.
- the global parameter conversion unit 127 when generating a global profile, may include an entry whose aggregation is different from the path unit but whose parameter name similarity is a predetermined value or more. By doing in this way, the attack detection apparatus 10 can further reduce the size of the profile (global profile).
- attack detection apparatus 10 has been described by taking an example of using an HTTP request to a Web server (site) as learning data and analysis target data, it is of course possible to use an access request other than an HTTP request.
- the attack detection apparatus 10 may apply the aggregation of entries having the same parameter name but different path parts as described above to generate a profile used for so-called signature type detection. For example, the attack detection apparatus 10 acquires an HTTP request used for malicious communication as learning data, and a parameter value (or a character class string indicating the parameter value) in the HTTP request having the same parameter name but a different path portion from the HTTP request. ) To generate a profile. And the attack detection apparatus 10 performs signature type detection using the said profile with respect to the HTTP request of analysis object data.
- the information processing apparatus can function as the attack detection apparatus 10 by causing the information processing apparatus to execute the program provided as package software or online software.
- the information processing apparatus referred to here includes a desktop or notebook personal computer.
- the information processing apparatus includes mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone System), PDA (Personal Digital Assistants), and the like.
- FIG. 13 is a diagram illustrating a computer that executes an attack detection program.
- the computer 1000 includes, for example, a memory 1010, a CPU (Central Processing Unit) 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. These units are connected by a bus 1080.
- a bus 1080 for example, a bus 1010, a bus 1010, a CPU (Central Processing Unit) 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.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
- the ROM 1011 stores a boot program such as 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, for example.
- 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.
- the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094.
- Various data and information described in the above embodiment are stored in, for example, the hard disk drive 1090 or the memory 1010.
- the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the hard disk drive 1090 to the RAM 1012 as necessary, and executes each procedure described above.
- the program module 1093 and the program data 1094 related to the attack detection program are not limited to being stored in the hard disk drive 1090.
- the program module 1093 and the program data 1094 are stored in a removable storage medium and the CPU 1020 via the disk drive 1100 or the like. May be read.
- 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 (Local Area Network) or a WAN (Wide Area Network), and via the network interface 1070. May be read by the CPU 1020.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
グローバルプロファイル生成部(125)は、Webサーバへの正常なHTTPリクエストに含まれるパス部とパラメタ名との組み合わせに対するパラメタ値の情報をエントリとして含むプロファイルを取得する。その後、グローバルプロファイル生成部(125)は、取得したプロファイルに、パス部は異なるがパラメタ名が同じエントリが存在する場合、取得したプロファイルにおける当該パラメタ名のエントリを集約したグローバルプロファイルを生成する。
Description
本発明は、ネットワークセキュリティに関する技術であり、特に、WebサーバおよびWebアプリケーションに対して攻撃を行うアクセスに対して、アクセスを分析し、検知する技術に関する。
インターネットの普及に伴い、Webサーバに対する攻撃が急増している。攻撃の対策としてIDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、WAF(Web Application Firewall)等によるネットワークへの不正侵入検知・防御システムが知られている。これらのシステムは、ブラックリストやシグネチャファイルを用いたパターンで攻撃の検知を行うため、既知の攻撃の検知や防御しかできないという問題がある。
一方、未知の攻撃の検知技術として、アノマリ型検知技術がある。このアノマリ型検知技術は、正常なWebサーバへのアクセス要求のパラメタ値の特徴(プロファイル)を学習しておき、検知対象のアクセス要求の特徴と比較することにより攻撃(正常なアクセス要求ではない)か否かを判定する技術である。
例えば、このアノマリ型検知技術として、Webサーバへの正常なHTTP(Hypertext Transfer Protocol)リクエストにおけるパス部とパラメタの組み合わせごとに、パラメタ値の文字列構造を抽象化した情報(文字クラス列)をプロファイルとして学習しておき、識別対象のHTTPリクエストのパラメタ値の文字クラスとの類似度を算出することで、攻撃か否かを判定する技術がある(特許文献1参照)。このような技術によれば、プロファイルに含まれないパラメタ値や、文字列の自由度の高いパラメタ値を含む正常なHTTPリクエストを攻撃として検知してしまう(誤検知してしまう)可能性を低減することができる。
しかし、上記のアノマリ型検知技術は、Webサーバ(サイト)へのHTTPリクエストにおけるパス部が動的に生成されるWebアプリケーションの場合は、適切なプロファイルを生成することができない。
例えば、動的に生成されるパス部ごとに、当該パス部のパラメタのパラメタ値を学習し、プロファイルを生成すると、当該プロファイルにおける学習対象のパラメタに対するパラメタ値の種類数が不足してしまう。そして、種類数が不足しているプロファイルで攻撃検知を行うと、正常なHTTPリクエストに対する誤検知が多発してしまう。
また、動的に生成されるパス部は、Webアプリケーションの仕様によっては、一度しか生成されない場合もある。そのため、ユーザがアクセスする度にHTTPリクエストにおけるパス部が変わることがある。このような場合、当該パス部のパラメタのパラメタ値を学習し、プロファイルを作成しても、検知の際に対応するパス部がプロファイル中に存在しない状態となり、攻撃を見逃すおそれがある。
さらに、動的に生成されるパス部に対するパラメタを、パス部ごとに学習する場合、生成されたパス部の種類数の増加に比例して、プロファイルのサイズも増大してしまう。その結果、検知対象のHTTPリクエストとプロファイルとの照合に要する時間の増大やシステムの性能低下が生じるおそれがある。
そこで、本発明は、前記した問題を解決し、リクエストにおけるパス部が動的に生成されるWebアプリケーションに対しても、精度よく、かつ、効率よく攻撃を検知することを課題とする。
前記した課題を解決するため、本発明は、検知対象となるWebサーバへのリクエストの特徴を示すプロファイルを生成するプロファイル生成装置であって、学習用データであるリクエストに含まれるパス部とパラメタとの組み合わせを含むプロファイル情報を取得する取得部と、取得したプロファイル情報群に、パス部は異なるがパラメタの名称の類似度が所定値以上のプロファイル情報が所定数以上存在する場合、前記プロファイル情報群を集約したプロファイルを生成するプロファイル生成部とを備えることを特徴とする。
本発明によれば、リクエストにおけるパス部が動的に生成されるWebアプリケーションに対しても、精度よく、かつ、効率よく攻撃を検知することができる。
以下、図面を参照しながら、本発明の実施形態を、第1の実施形態から第3の実施形態に分けて説明する。本発明は、以下に示す各実施形態に限定されない。
(第1の実施形態)
(概要)
図1~図3を用いて、第1の実施形態のプロファイル生成装置(グローバルプロファイル生成部125)を含む攻撃検知装置10の概要を説明する。
(概要)
図1~図3を用いて、第1の実施形態のプロファイル生成装置(グローバルプロファイル生成部125)を含む攻撃検知装置10の概要を説明する。
なお、攻撃検知装置10による、学習データおよび分析対象データ(攻撃の検知対象となるデータ)は、Webサーバ(サイト)へのHTTPリクエストである場合を例に説明する。
また、攻撃検知装置10は、いわゆるアノマリ型検知を行う場合を例に説明する。また、攻撃検知装置10は、検知に用いるプロファイル(プロファイル情報)として、正常なHTTPリクエストの含まれるパス部とパラメタの名称(パラメタ名)の組み合わせごとに、当該パラメタのパラメタ値を示す情報(パラメタ値情報)を示した情報を用いる。なお、攻撃検知装置10は、パラメタ値情報として、パラメタ値の文字列の構造を抽象化した文字クラス列(後記)を用いる場合を例に説明する。
図1に示す攻撃検知装置10は、まず、学習データのHTTPリクエストに基づき、正常なHTTPリクエストの特徴を示すプロファイルを生成しておく。そして、攻撃検知装置10は、分析対象データであるHTTPリクエストの入力を受け付けると、当該HTTPリクエストとプロファイルとを比較することにより、当該HTTPリクエストが正常なHTTPリクエストか否かを判定する。
ここで、攻撃検知装置10は、学習データである正常なHTTPリクエストに基づき、プロファイルとして、例えば、正常なHTTPリクエストに含まれるパス部とパラメタの名称の組み合わせごとに、当該パラメタのパラメタ値の文字クラス列を示す情報を生成する。
この攻撃検知装置10は、プロファイルの生成にあたり、学習データのHTTPリクエストに、パス部は異なるが名称が同じパラメタ(グローバルパラメタ)があれば、このグローバルパラメタの文字クラス列を示した情報を生成する(図2参照)。
この文字クラス列は、パラメタ値を構成する文字それぞれを、AL:アルファベットを表す文字クラス(alpha)、NU:数字を表す文字クラス(numeric)、SY:記号を表す文字クラス(symbol)等のクラスに分類し、その分類結果を文字列の並びに従い並べたものである。
例えば、攻撃検知装置10は、まず、図3に示す学習データのHTTPリクエストから、HTTPリクエストの含まれるパス部とパラメタ名との組み合わせごとに、パラメタ値の文字クラス列を示したプロファイル(図3に示すグローバルパラメタ変換処理前のプロファイル)を生成する。その後、攻撃検知装置10は、このプロファイルにおける、グローバルパラメタ(例えば、図2におけるパラメタ「file」)のエントリを集約したプロファイル(グローバルパラメタ変換処理後のプロファイル)を生成する(図2参照)。
このように、攻撃検知装置10は、パス部は異なるが名称が同じパラメタのエントリを集約したプロファイルを生成する。これにより、攻撃検知装置10は、パス部が動的に変わるHTTPリクエストを学習データに用いた場合でも、プロファイル中のパス部とパラメタ名との組み合わせに対するパラメタ値の種類数の不足を解消できる。その結果、攻撃検知装置10は、当該プロファイルを用いた攻撃の検知における誤検知を低減できる。また、攻撃検知装置10は、一度しか生成されないパス部に適用可能なプロファイルを生成できるので、当該プロファイルを用いることで攻撃の見逃しを低減することができる。さらに、攻撃検知装置10は、プロファイルのサイズを低減できるので、分析対象のHTTPリクエストとプロファイルとの照合に要する時間を低減できる。
(構成)
図1を用いて、攻撃検知装置10の構成を説明する。攻撃検知装置10は、入力部11と、制御部12と、記憶部13とを備える。
図1を用いて、攻撃検知装置10の構成を説明する。攻撃検知装置10は、入力部11と、制御部12と、記憶部13とを備える。
入力部11は、学習データ入力部(取得部)111と、分析対象データ入力部112とを有する。学習データ入力部111は、学習データとして、Webサーバ(図示省略)への正常なHTTPリクエストの入力を受け付ける。分析対象データ入力部112には、分析対象データであるHTTPリクエストの入力を受け付ける。
制御部12は、パラメタ抽出部121と、パラメタ値変換部122と、プロファイル保存部123と、異常検知部124と、グローバルプロファイル生成部125とを備える。
パラメタ抽出部121は、学習データのHTTPリクエストから、パス部、パラメタ名およびパラメタ値を抽出する。また、パラメタ抽出部121は、分析対象データのHTTPリクエストから、パス部、パラメタ名およびパラメタ値を抽出する。
パラメタ値変換部122は、パラメタ抽出部121により抽出された学習データのHTTPリクエストのパラメタ値を文字クラス列に変換する。また、パラメタ値変換部122は、パラメタ抽出部121により抽出された分析対象データのHTTPリクエストのパラメタ値を文字クラス列に変換する。
例えば、パラメタ値変換部122は、予め用意した文字クラス列の正規表現を参照して、パラメタ値に対し最長一致した部分を1つのクラスと判定し、文字クラス列への変換を行う。
一例を挙げる。ここでは、パラメタ抽出部121により学習データのHTTPリクエストから抽出されたパラメタ値が「img.jpg」である場合を考える。この場合、パラメタ値変換部122は、図4の(1)に示すように、「img.jpg」を(img,.,jpg)というように3つの文字列に区切り、(img,.,jpg)を、(alpha,symbol,alpha)というクラスに変換する。なお、alphaはアルファベットを示し、symbolは記号を示す。
図1のプロファイル保存部123は、パラメタ値変換部122から学習データのHTTPリクエストのパス部と、パラメタ名と、パラメタ値を示す文字クラス列とを対応付けた情報を受け取ると、この情報を記憶部13にプロファイルとして保存する。例えば、プロファイルは、図5に示すように、パス部およびパラメタ(パラメタ名)の組み合わせごとに、当該パラメタのパラメタ値の示す文字クラス列と、出現回数とを対応付けた情報である。
例えば、図5に示すプロファイルにおける1行目のエントリは、学習データに、パス部「/index.php」、パラメタ名「id」、パラメタ値の文字クラス列「{AL,NU}」のHTTPリクエストが含まれており、その数(出現回数)は「200(回)」であることを示す。
なお、図1のプロファイル保存部123は、同じパス部およびパラメタ名の組み合わせに対し、複数の文字クラス列が存在する場合、これらのうち出現回数または出現頻度が最も高い文字クラス列を、当該パス部およびパラメタ名の組み合わせとして対応付けた情報をプロファイルとして保存してもよい。
一例を挙げる。例えば、プロファイル保存部123は、同じパス部およびパラメタ名に対し、図4の(2)に示す3つの文字クラス列が存在した場合、これらの文字クラス列のうち、出現頻度が最大(「100」)の(alpha,symbol,alpha)を当該パス部およびパラメタ名に対応付けた情報をプロファイルとして保存する。
図1の異常検知部124は、グローバルプロファイル生成部125により生成されたプロファイル(グローバルプロファイル)を参照し、分析対象データのHTTPリクエストが正常なHTTPリクエストか否かを判定する。
例えば、異常検知部124は、パラメタ値変換部122から分析対象データのHTTPリクエストのパス部、パラメタ名および文字クラス列を対応付けた情報を受け取る。その後、異常検知部124は、分析対象データのHTTPリクエストのパス部およびパラメタ名の組み合わせに対する文字クラス列と、プロファイルにおける当該パス部およびパラメタ名の組み合わせに対する文字クラス列との類似度を算出する。
その後、異常検知部124は、算出した類似度が所定の閾値以上であれば、分析対象データのHTTPリクエストは正常なHTTPリクエストと判定し、算出した類似度が所定の閾値未満であれば、分析対象データのHTTPリクエストは攻撃を示すHTTPリクエストと判定する。
一例を挙げる。まず、パラメタ値変換部122は、パラメタ抽出部121により抽出された分析対象データのHTTPリクエストのパラメタ値を文字クラス列に変換する(図6の(1))。
その後、異常検知部124は、分析対象データのHTTPリクエストの文字クラス列と、プロファイルの文字クラス列との類似度を式(1)により算出する(図6の(2))。すなわち、異常検知部124は、分析対象データのHTTPリクエストのパス部およびパラメタ名の組み合わせに対する文字クラス列と、プロファイルにおける当該パス部およびパラメタ名の組み合わせに対する文字クラス列との類似度を式(1)により算出する。
例えば、異常検知部124は、図6の(2)に示すように、プロファイルの文字クラス列の長さをX、分析対象データの文字クラス列の長さをY、プロファイルの文字クラス列と分析対象データの文字クラス列の最長共通部分列(LCS:Longest Common Subsequence)の長さをZとし、式(1)により類似度Sを算出する。
類似度S=Z/(X+Y-Z)…式(1)
例えば、異常検知部124が、図6の(2)に示すように、プロファイルの文字クラス列(alpha,numeric,symbol,alpha)と、分析対象データの文字クラス列(alpha,symbol,numeric,symbol,alpha)との類似度を算出する場合、X=4、Y=5、Z=4であるので、これらの値を式(1)に代入すると、類似度Sは「0.8」となる。
次に、異常検知部124は、算出した文字クラス列の類似度Sが閾値Stよりも小さいか否かを判定し、類似度Sが閾値Stよりも小さい場合、分析対象データのHTTPリクエストを異常と判定する(図6の(3))。つまり、異常検知部124は、分析対象データのHTTPリクエストを攻撃と判定する。一方、類似度Sが閾値St以上である場合、分析対象データのHTTPリクエストを正常と判定する。つまり、当該HTTPリクエストを攻撃ではないと判定する。
図1のグローバルプロファイル生成部125は、学習データのHTTPリクエスト群のうち、パス部は異なるがパラメタ名が同じHTTPリクエストについて、当該パラメタ名が同じHTTPリクエストを集約したプロファイル(グローバルプロファイル)を生成する。なお、以下では、グローバルプロファイル生成部125は、プロファイル保存部123により保存されたプロファイルを用いてグローバルプロファイルを生成する場合を例に説明するが、これに限定されない。例えば、グローバルプロファイル生成部125は、学習データのHTTPリクエスト群から、直接グローバルプロファイルを生成してもよい。
グローバルプロファイル生成部125は、グローバルパラメタ集計部126と、グローバルパラメタ変換部127とを備える。
グローバルパラメタ集計部126は、プロファイルに存在するパラメタ名ごとに、当該パラメタ名が出現したパス部の種類を集計する。例えば、グローバルパラメタ集計部126は、図7に示すグローバルパラメタ変換処理前のプロファイルについて、当該プロファイルに存在するパラメタ(パラメタ名)ごとに、当該パラメタ(パラメタ名)が出現したパス部と、当該パス部の種類数とを示すグローバル化候補パラメタ集計リストを生成する。
図1のグローバルパラメタ変換部127は、グローバルパラメタ集計部126により生成されたグローバル化候補パラメタ集計リスト(図7参照)を参照して、パラメタ名に対し、パス部の種類数が所定値以上のパラメタ名をグローバル化が必要なパラメタ名と判定する。その後、グローバルパラメタ変換部127は、グローバル化が必要と判定したパラメタ名について、プロファイルにおける当該パラメタ名のエントリをマージ(集約)する。
例えば、グローバルパラメタ変換部127は、図8に示すグローバル化候補パラメタ集計リストにおいて、符号801に示すパラメタ名「file」は、パス部種類数≧パス部種類数の閾値(例えば、「2」)のため、グローバル化が必要と判定する。なお、パラメタ名「id」、「cc」は、パス部種類数<パス部種類数の閾値(例えば、「2」)のため、グローバルパラメタ変換部127は、グローバル化は不要と判定する。
その後、グローバルパラメタ変換部127は、図9に示すように、グローバルパラメタ変換処理前のプロファイルにおけるグローバル化「要」と判定されたパラメタ名(「file」)のエントリにおける、パス部を「*(ワイルドカード)」に変換する。また、グローバルパラメタ変換部127は、図9における、グローバル化「要」と判定されたパラメタ名(「file」)に対する文字クラス列(符号901~符号903に示す文字クラス列)を、符号901および符号904に示す文字クラス列に集約(マージ)する。
例えば、グローバルパラメタ変換部127は、図9の符号901に示す文字クラス列はそのままとする(当該文字クラス列の出現回数も継承する)が、符号902と符号903に示す文字クラス列は、同じ文字クラス列なので、符号904に示す文字クラス列にマージする。なお、グローバルパラメタ変換部127は、符号902と符号903に示す文字クラス列のマージにあたり、それぞれの文字クラス列の出現回数を合算してもよい。
上記のようにしてグローバルパラメタ変換部127がグローバルプロファイルを生成すると、生成したグローバルプロファイルを記憶部13に保存する。その後、異常検知部124は、記憶部13に保存されたグローバルファイル(プロファイル)を用いて、分析対象データのHTTPリクエストに対する異常検知を行う。
記憶部13は、制御部12により生成されたプロファイルを記憶する。なお、グローバルプロファイル生成部125による、プロファイルのグローバルパラメタ変換処理の実行後は、グローバルプロファイル(図2参照)が記憶される。また、この記憶部13は、さらに、分析対象データのHTTPリクエストの検知結果を記憶してもよい。
(処理手順)
次に、図10を用いて、攻撃検知装置10がグローバルプロファイルを生成する際の処理手順の例を説明する。なお、攻撃検知装置10は、学習データのHTTPリクエストの入力後、プロファイル保存部123により、プロファイルが生成または更新されたことを契機として、グローバルプロファイルの生成を開始するものとする。また、プロファイルの生成および保存は、例えば、特許文献1に記載の処理と同様の処理手順により行われるものとする。
次に、図10を用いて、攻撃検知装置10がグローバルプロファイルを生成する際の処理手順の例を説明する。なお、攻撃検知装置10は、学習データのHTTPリクエストの入力後、プロファイル保存部123により、プロファイルが生成または更新されたことを契機として、グローバルプロファイルの生成を開始するものとする。また、プロファイルの生成および保存は、例えば、特許文献1に記載の処理と同様の処理手順により行われるものとする。
まず、グローバルパラメタ集計部126は、記憶部13からプロファイル(図2参照)を取得し(S1)、グローバル化候補パラメタ集計リスト(図8参照)を初期化する(S2)。S2の後、グローバルパラメタ集計部126は、取得したプロファイルの先頭行のパス部、パラメタ名、文字クラス列、および、出現回数を抽出する(S3:パス部・パラメタ情報を抽出)。S3の後、グローバルパラメタ集計部126は、S3で取得したプロファイルのパラメタ名がグローバルパラメタへの変換の候補か否かを判定する(S4)。
例えば、S4において、グローバルパラメタ集計部126が、プロファイルから取り出した行のパス部が「*」である場合、当該行は既にグローバルパラメタに変換されているのでグローバルパラメタへの変換の候補ではないと判定し(S4でNo)、S3に戻る。そして、グローバルパラメタ集計部126は、S1で取得したプロファイルの次の行の処理を行う。一方、グローバルパラメタ集計部126が、プロファイルから取り出した行のパス部が「*」以外である場合(S4でYes)、当該行をグローバルパラメタへの変換の候補であると判断し、S5へ進む。
S4でYesの場合、グローバルパラメタ集計部126は、グローバル化候補パラメタ集計リスト(図8参照)の更新を行う(S5)。例えば、グローバルパラメタ集計部126は、S4で、グローバルパラメタへの変換の候補と判断した行に含まれるパラメタ名およびパス部の組み合わせが、グローバル化候補パラメタ集計リストに既に存在するかを確認し、確認結果に応じて、グローバル化候補パラメタ集計リストに対し、以下の(a)、(b)に示すいずれかの更新処理を行う。
(a)グローバル化候補パラメタ集計リストに、当該パラメタ名も当該パス部も存在しない場合、グローバルパラメタ集計部126は、グローバル化候補パラメタ集計リストに当該パラメタ名および当該パス部の組み合わせのエントリを新規作成する。そして、グローバルパラメタ集計部126は、当該エントリにおけるパス部種類数を「1」にする。
(b)グローバル化候補パラメタ集計リストに、当該パラメタ名は存在するが、当該パス部は存在しない場合、グローバルパラメタ集計部126は、当該パス部を、グローバル化候補パラメタ集計リストの当該パラメタ名のエントリに追加する。そして、グローバルパラメタ集計部126は、当該エントリにおけるパス部種類数の値を加算する。
なお、グローバル化候補パラメタ集計リストに、既に、当該パラメタ名および当該パス部名の組み合わせが存在する場合、グローバルパラメタ集計部126は、当該パラメタ名部も当該パス部も、グローバル化候補パラメタ集計リストに追加しない。
S5の後、グローバルパラメタ集計部126は、S1で取得したプロファイルに未処理の行があれば(S6でNo)、S3へ戻り、S1で取得したプロファイルに未処理の行がなければ(S6でYes)、S7へ進み、グローバル化候補パラメタ集計リストを出力する(S7)。
S7の後、グローバルパラメタ変換部127は、グローバル化候補パラメタ集計リストを取得する(S8)。その後、グローバルパラメタ変換部127は、グローバル化候補パラメタ集計リストのパラメタ名、パス部およびパス部種類数を抽出する(S9:パラメタ・パス部情報を抽出)。そして、グローバルパラメタ変換部127は、抽出したパラメタ名に対するパス部種類の数が所定の閾値以上であれば、当該パラメタ名をグローバル化が必要なパラメタ名と判定し(S10でYes)、S11へ進む。つまり、グローバル化候補パラメタ名集計リストに、当該パラメタ名に対応する所定の閾値以上の種類のパス部が存在する場合、グローバルパラメタ名変換部127は、当該パラメタ名をグローバル化が必要なパラメタ名と判定する。
一方、グローバルパラメタ変換部127は、抽出したパラメタ名に対するパス部種類の数が所定の閾値未満であれば、当該パラメタ名をグローバル化が必要なパラメタ名と判定せず(S10でNo)、グローバル化候補パラメタ集計リストの次の行に、S9の処理を実行する。
例えば、パス部種類の閾値=2の場合、グローバルパラメタ変換部127は、図8に示すグローバル化候補パラメタ集計リストのうち、パラメタ名「id」、「cc」については、グローバル化は不要と判定し、パラメタ名「file」については、グローバル化が必要と判定する。
図10のS10でYesの場合、グローバルパラメタ変換部127は、プロファイルを更新する(S11)。具体的には、グローバルパラメタ変換部127は、プロファイルにおいてグローバル化が必要なパラメタ名について、当該パラメタ名のエントリをマージする。
例えば、グローバルパラメタ変換部127は、当該パラメタ名のエントリにおけるパス部を「*」に変換する。また、グローバルパラメタ変換部127は、当該パラメタ名のエントリにおける文字クラス列を集約する。
例えば、グローバルパラメタ変換部127は、図9に示すように、グローバルパラメタ変換処理前のプロファイルにおけるパラメタ名「file」に対するパス部を「*」に変換し、パラメタ名「file」に対する符号901~903に示す文字クラス列を、符号901に示す文字クラス列と符号904に示す文字クラス列に集約する。
なお、グローバルパラメタ変換部127は、プロファイルにおけるグローバルパラメタへの変換対象となるエントリにおける文字クラス列の出現回数については、以下のように処理する。すなわち、グローバルパラメタ変換部127は、グローバルパラメタへの変換対象となるエントリ間で、同じ文字クラス列があるものについては、当該文字クラス列の出現回数を合算し、グローバルパラメタへの変換対象となるエントリ間で、同じ文字クラス列がないものについては、当該文字クラス列の出現回数を継承する。
例えば、グローバルパラメタ変換部127は、図9に示すように、グローバルパラメタ変換処理前のプロファイルにおける符号901に示す文字クラス列の出現回数は、グローバルパラメタ変換処理後のプロファイルでもそのまま継承する。一方、グローバルパラメタ変換処理前のプロファイルにおける符号902,903に示す文字クラス列の出現回数は合算し、グローバルパラメタ変換処理後のプロファイルにおいて符号904に示す出現回数とする。
図10のS11の後、グローバルパラメタ変換部127は、S8で取得したグローバル化候補パラメタ集計リストに未処理の行があれば(S12でNo)、S9へ戻り、S8で取得したプロファイルに未処理の行がなければ(S12でYes)、S13へ進み、グローバル化候補パラメタ集計リストを削除する(S13)。
以上の処理により、攻撃検知装置10は、プロファイルにパス部は異なるがパラメタ名が同じエントリを集約したプロファイル(グローバルプロファイル)を生成する。よって、例えば、攻撃検知装置10は、学習データとしてパス部が動的に変わるHTTPリクエストを用いてプロファイルを生成した場合でも、プロファイル中のパラメタ名に対するパラメタ値の種類数の不足を抑制できる。その結果、攻撃検知装置10は、当該プロファイルを用いて、攻撃の検知を行う場合における、誤検知を低減できる。
また、攻撃検知装置10は、例えば、一度しか生成されないパス部に適用可能なプロファイルを生成できるので、当該プロファイルを用いることで攻撃の見逃しを低減することができる。さらに、攻撃検知装置10は、プロファイルのサイズを低減できるので、当該プロファイルを用いて、攻撃の検知を行う場合における、分析対象のHTTPリクエストとプロファイルとの照合に要する時間を低減できる。
(第2の実施形態)
なお、図10のS11においてグローバルパラメタ変換部127は、同じパラメタ名に対応付けられた文字クラス列を集約する際、同じ文字クラス列のみならず、類似度が所定の閾値以上の文字クラス列を対象として集約してもよい。ここでの類似度の算出は、例えば、文字クラス列の編集距離を用いる。また、文字クラス列の集約する方法としては、最長共通部分文字列を用いる。
なお、図10のS11においてグローバルパラメタ変換部127は、同じパラメタ名に対応付けられた文字クラス列を集約する際、同じ文字クラス列のみならず、類似度が所定の閾値以上の文字クラス列を対象として集約してもよい。ここでの類似度の算出は、例えば、文字クラス列の編集距離を用いる。また、文字クラス列の集約する方法としては、最長共通部分文字列を用いる。
例えば、グローバルパラメタ変換部127が、類似度の算出に、文字クラス列の編集距離を用い、編集距離が「3」未満の文字クラス列群を集約の対象とする場合を考える。この場合、図11に示すように、グローバルパラメタ変換処理前のプロファイルにおけるパラメタ名「file」に対する符号1101に示す文字クラス列と符号1102に示す文字クラス列との編集距離は「2」である。
したがって、グローバルパラメタ変換部127は、符号1101に示す文字クラス列と符号1102に示す文字クラス列とは類似していると判断し、これらの文字クラス列を集約する。なお、文字クラス列の集約にあたり、最長共通部分文字列を用いる場合、グローバルパラメタ変換部127は、符号1101に示す文字クラス列および符号1102に示す文字クラス列について、これらの文字クラス列の最長共通部分列である{AL,NU,SY,AL}に集約する。また、グローバルパラメタ変換部127は、符号1101に示す文字クラス列と符号1102に示す文字クラス列の出現回数を合算し、符号1103に示す出現回数(「3」)とする。
このようにすることで、攻撃検知装置10は、プロファイル(グローバルプロファイル)のサイズをさらに低減できるので、当該プロファイルを用いて、攻撃の検知を行う場合における、分析対象のHTTPリクエストとプロファイルとの照合に要する時間を低減できる。
(第3の実施形態)
また、グローバルパラメタ変換部127は、グローバルプロファイルの生成にあたり、出現回数や出現率の低い文字クラス列を集約の対象外としてもよい。例えば、グローバルパラメタ変換部127は、第1の実施形態または第2の実施形態において、集約の候補となる文字クラス列それぞれについて、集約の候補となる文字クラス列群における相対的な出現率を求める。そして、グローバルパラメタ変換部127は、出現率が所定の閾値よりも低い文字クラス列を、集約の対象外とする。
また、グローバルパラメタ変換部127は、グローバルプロファイルの生成にあたり、出現回数や出現率の低い文字クラス列を集約の対象外としてもよい。例えば、グローバルパラメタ変換部127は、第1の実施形態または第2の実施形態において、集約の候補となる文字クラス列それぞれについて、集約の候補となる文字クラス列群における相対的な出現率を求める。そして、グローバルパラメタ変換部127は、出現率が所定の閾値よりも低い文字クラス列を、集約の対象外とする。
例えば、グローバルパラメタ変換部127は、集約の候補となる文字クラス列群での相対的な出現率が、5%未満の文字クラス列を集約の対象外とする場合を考える。この場合、図12に示すように、グローバルパラメタ変換部127は、グローバルパラメタ変換処理前のプロファイルにおけるパラメタ名「file」に対する符号1201~符号1203に示す文字クラス列のうち、符号1203に示す文字クラス列は集約の候補となる文字クラス列群における出現率が5%未満なので、集約の対象外とする。一方、符号1201に示す文字クラス列と符号1202に示す文字クラス列は、集約の候補となる文字クラス列群における出現率が5%以上なので、集約の対象とする。
このようにグローバルパラメタ変換部127は、グローバルプロファイルの生成にあたり、出現回数の低い文字クラス列を集約の対象外とする。これにより、攻撃検知装置10は、誤入力されたパラメタ値を持つHTTPリクエストや攻撃を示すHTTPリクエストの学習の結果がプロファイルに含まれている場合でも、当該学習の結果をグローバルプロファイルに反映させないようにすることができる。その結果、攻撃検知装置10は、当該グローバルプロファイルを用いた攻撃の検知の精度を向上させることができる。
なお、グローバルパラメタ変換部127は、第1の実施形態または第2の実施形態と同様のグローバルプロファイルを生成した後で、上記のように、出現回数や出現率の低い文字クラス列の情報を削除してもよい。
(その他の実施形態)
なお、グローバルパラメタ変換部127は、グローバルプロファイルの生成にあたり、パス部は異なるがパラメタ名の類似度が所定値以上のエントリが存在する場合、当該エントリも集約の対象としてもよい。このようにすることで、攻撃検知装置10は、プロファイル(グローバルプロファイル)のサイズをさらに低減できる。
なお、グローバルパラメタ変換部127は、グローバルプロファイルの生成にあたり、パス部は異なるがパラメタ名の類似度が所定値以上のエントリが存在する場合、当該エントリも集約の対象としてもよい。このようにすることで、攻撃検知装置10は、プロファイル(グローバルプロファイル)のサイズをさらに低減できる。
なお、攻撃検知装置10は、学習データおよび分析対象データとして、Webサーバ(サイト)へのHTTPリクエストを用いる場合を例に説明したが、HTTPリクエスト以外のアクセス要求を用いてももちろんよい。
さらに、攻撃検知装置10は、上記のようなパス部は異なるがパラメタ名が同じエントリの集約を、いわゆるシグネチャ型検知に用いられるプロファイルの生成に適用してもよい。例えば、攻撃検知装置10は、学習データとして悪性の通信に用いられるHTTPリクエストを取得し、このHTTPリクエストからパス部は異なるがパラメタ名が同じHTTPリクエストにおけるパラメタ値(あるいはパラメタ値を示す文字クラス列)を集約し、プロファイルを生成する。そして、攻撃検知装置10は、分析対象データのHTTPリクエストに対し、当該プロファイルを用いてシグネチャ型検知を行う。
(プログラム)
また、各実施形態で述べた攻撃検知装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を攻撃検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、攻撃検知装置10を、クラウドサーバに実装してもよい。
また、各実施形態で述べた攻撃検知装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を攻撃検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、攻撃検知装置10を、クラウドサーバに実装してもよい。
以下に、上記のプログラム(攻撃検知プログラム)を実行するコンピュータの一例を説明する。図13は、攻撃検知プログラムを実行するコンピュータを示す図である。図13に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース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が接続される。
ここで、図13に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、上記の攻撃検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 攻撃検知装置
11 入力部
12 制御部
13 記憶部
111 学習データ入力部
112 分析対象データ入力部
121 パラメタ抽出部
122 パラメタ値変換部
123 プロファイル保存部
124 異常検知部
125 グローバルプロファイル生成部
126 グローバルパラメタ集計部
127 グローバルパラメタ変換部
11 入力部
12 制御部
13 記憶部
111 学習データ入力部
112 分析対象データ入力部
121 パラメタ抽出部
122 パラメタ値変換部
123 プロファイル保存部
124 異常検知部
125 グローバルプロファイル生成部
126 グローバルパラメタ集計部
127 グローバルパラメタ変換部
Claims (10)
- 検知対象となるWebサーバへのリクエストの特徴を示すプロファイルを生成するプロファイル生成装置であって、
学習用データであるリクエストに含まれるパス部とパラメタとの組み合わせを含むプロファイル情報を取得する取得部と、
取得したプロファイル情報群に、パス部は異なるがパラメタの名称の類似度が所定値以上のプロファイル情報が所定数以上存在する場合、前記プロファイル情報群を集約したプロファイルを生成するプロファイル生成部とを備えることを特徴とするプロファイル生成装置。 - 前記プロファイル生成部は、
取得したプロファイル情報群に、パス部は異なるがパラメタの名称が同じプロファイル情報群が所定数以上存在する場合、前記パラメタの名称が同じプロファイル情報群を集約の対象とすることを特徴とする請求項1に記載のプロファイル生成装置。 - 前記プロファイル生成部は、
前記パラメタの名称の類似度が所定値以上のプロファイル情報群を集約する際、前記プロファイル情報群に含まれるパラメタ値情報同士の類似度が所定値以上のパラメタ値情報群を集約することを特徴とする請求項1に記載のプロファイル生成装置。 - 前記プロファイル生成部は、
前記プロファイル情報群に含まれるパラメタ値情報同士の類似度として、パラメタ値の文字列構造を抽象化した文字クラス列同士の類似度を用いることを特徴とする請求項3に記載のプロファイル生成装置。 - 前記プロファイル生成部は、
前記パラメタの名称の類似度が所定値以上のプロファイル情報群を集約する際、前記プロファイルにおける、集約されるプロファイル情報群におけるパス部として、ワイルドカードを設定することを特徴とする請求項1に記載のプロファイル生成装置。 - 前記プロファイル生成部は、
前記パラメタの名称の類似度が所定値以上のプロファイル情報群を集約する際、前記プロファイル情報群におけるパラメタ値情報の出現回数または出現率が所定値未満のパラメタ値情報を集約の対象外とすることを特徴とする請求項3に記載のプロファイル生成装置。 - 前記プロファイルは、
リクエストに含まれるパス部と、パラメタの名称と、前記パラメタのパラメタ値情報とを対応付けた情報であることを特徴とする請求項1に記載のプロファイル生成装置。 - 検知対象となるWebサーバへのリクエストの特徴を示すプロファイルを用いて攻撃の検知を行う攻撃検知装置であって、
学習用データであるリクエストに含まれるパス部とパラメタとの組み合わせを含むプロファイル情報を取得する第1の取得部と、
取得したプロファイル情報群に、パス部は異なるがパラメタの名称の類似度が所定値以上のプロファイル情報群が存在する場合、前記プロファイル情報群を集約したプロファイルを生成するプロファイル生成部と、
攻撃の検知対象となるリクエストを取得する第2の取得部と、
前記攻撃の検知対象となるリクエストにおけるパス部およびパラメタと、前記プロファイルに示されるパス部とパラメタとの組み合わせとを比較することにより、前記リクエストが攻撃か否かを検知する検知部とを備えることを特徴とする攻撃検知装置。 - 検知対象となるWebサーバへのリクエストの特徴を示すプロファイルを生成するプロファイル生成装置を用いたプロファイル生成方法であって、
学習用データであるリクエストに含まれるパス部とパラメタとの組み合わせを含むプロファイル情報を取得するステップと、
取得したプロファイル情報群に、パス部は異なるがパラメタの名称の類似度が所定値以上のプロファイル情報が所定数以上存在する場合、前記プロファイル情報群を集約したプロファイルを生成するステップとを含んだことを特徴とするプロファイル生成方法。 - 検知対象となるWebサーバへの正常なリクエストの特徴を示すプロファイルを生成するためのプロファイル生成プログラムであって、
学習用データであるリクエストに含まれるパス部とパラメタとの組み合わせを含むプロファイル情報を取得するステップと、
取得したプロファイル情報群に、パス部は異なるがパラメタの名称の類似度が所定値以上のプロファイル情報が所定数以上存在する場合、前記プロファイル情報群を集約したプロファイルを生成するステップとをコンピュータに実行させることを特徴とするプロファイル生成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019502878A JP6697123B2 (ja) | 2017-03-03 | 2018-02-16 | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム |
US16/490,352 US11470097B2 (en) | 2017-03-03 | 2018-02-16 | Profile generation device, attack detection device, profile generation method, and profile generation computer program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017041124 | 2017-03-03 | ||
JP2017-041124 | 2017-03-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018159337A1 true WO2018159337A1 (ja) | 2018-09-07 |
Family
ID=63370916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/005601 WO2018159337A1 (ja) | 2017-03-03 | 2018-02-16 | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11470097B2 (ja) |
JP (1) | JP6697123B2 (ja) |
WO (1) | WO2018159337A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019225251A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11153331B2 (en) * | 2017-04-24 | 2021-10-19 | HeFei HoloNet Security Technology Co.. Ltd. | Detection of an ongoing data breach based on relationships among multiple network elements |
US10609119B2 (en) * | 2017-11-03 | 2020-03-31 | Salesforce.Com, Inc. | Simultaneous optimization of multiple TCP parameters to improve download outcomes for network-based mobile applications |
US11201855B1 (en) * | 2018-06-22 | 2021-12-14 | Vmware, Inc. | Distributed firewall that learns from traffic patterns to prevent attacks |
US11750624B2 (en) | 2018-06-22 | 2023-09-05 | Vmware, Inc. | Statistical approach for augmenting signature detection in web application firewall |
WO2021130838A1 (ja) * | 2019-12-24 | 2021-07-01 | 日本電気株式会社 | 情報処理装置、脅威情報評価システム、情報処理方法および非一時的なコンピュータ可読媒体 |
US11683294B2 (en) * | 2019-12-30 | 2023-06-20 | Imperva, Inc. | Privacy-preserving learning of web traffic |
US11526553B2 (en) * | 2020-07-23 | 2022-12-13 | Vmware, Inc. | Building a dynamic regular expression from sampled data |
TWI774582B (zh) * | 2021-10-13 | 2022-08-11 | 財團法人工業技術研究院 | 惡意超文本傳輸協定請求的偵測裝置和偵測方法 |
CN118413405B (zh) * | 2024-07-03 | 2024-09-17 | 本溪钢铁(集团)信息自动化有限责任公司 | 基于工业互联网的工控审计方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015114804A1 (ja) * | 2014-01-31 | 2015-08-06 | 株式会社日立製作所 | 不正アクセスの検知方法および検知システム |
WO2015186662A1 (ja) * | 2014-06-06 | 2015-12-10 | 日本電信電話株式会社 | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015630A1 (en) * | 2003-11-12 | 2006-01-19 | The Trustees Of Columbia University In The City Of New York | Apparatus method and medium for identifying files using n-gram distribution of data |
US7743420B2 (en) * | 2003-12-02 | 2010-06-22 | Imperva, Inc. | Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications |
US7752662B2 (en) * | 2004-02-20 | 2010-07-06 | Imperva, Inc. | Method and apparatus for high-speed detection and blocking of zero day worm attacks |
US8826438B2 (en) * | 2010-01-19 | 2014-09-02 | Damballa, Inc. | Method and system for network-based detecting of malware from behavioral clustering |
EP3251031B1 (en) * | 2015-01-29 | 2020-10-28 | Quantum Metric, LLC | Techniques for compact data storage of network traffic and efficient search thereof |
WO2016147944A1 (ja) * | 2015-03-18 | 2016-09-22 | 日本電信電話株式会社 | マルウェア感染端末の検出装置、マルウェア感染端末の検出システム、マルウェア感染端末の検出方法およびマルウェア感染端末の検出プログラム |
US10693901B1 (en) * | 2015-10-28 | 2020-06-23 | Jpmorgan Chase Bank, N.A. | Techniques for application security |
US10419451B2 (en) * | 2015-11-09 | 2019-09-17 | Salesforce.Com | Identifying attack patterns in requests received by web applications |
US10547627B2 (en) * | 2016-03-08 | 2020-01-28 | Palo Alto Networks, Inc. | Malicious HTTP cookies detection and clustering |
KR20170108330A (ko) * | 2016-03-17 | 2017-09-27 | 한국전자통신연구원 | 악성 코드 탐지 장치 및 방법 |
US10257211B2 (en) * | 2016-05-20 | 2019-04-09 | Informatica Llc | Method, apparatus, and computer-readable medium for detecting anomalous user behavior |
US10104113B1 (en) * | 2016-05-26 | 2018-10-16 | Area 1 Security, Inc. | Using machine learning for classification of benign and malicious webpages |
US10362049B2 (en) * | 2016-10-12 | 2019-07-23 | International Business Machines Corporation | Security-risk plugin to help targeted users interact with web pages and applications |
TWI611308B (zh) * | 2016-11-03 | 2018-01-11 | 財團法人資訊工業策進會 | 網頁資料擷取裝置及其網頁資料擷取方法 |
-
2018
- 2018-02-16 JP JP2019502878A patent/JP6697123B2/ja active Active
- 2018-02-16 US US16/490,352 patent/US11470097B2/en active Active
- 2018-02-16 WO PCT/JP2018/005601 patent/WO2018159337A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015114804A1 (ja) * | 2014-01-31 | 2015-08-06 | 株式会社日立製作所 | 不正アクセスの検知方法および検知システム |
WO2015186662A1 (ja) * | 2014-06-06 | 2015-12-10 | 日本電信電話株式会社 | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019225251A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6697123B2 (ja) | 2020-05-20 |
US11470097B2 (en) | 2022-10-11 |
US20200012784A1 (en) | 2020-01-09 |
JPWO2018159337A1 (ja) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6697123B2 (ja) | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム | |
JP6530786B2 (ja) | Webページの悪意のある要素を検出するシステム及び方法 | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
US8401982B1 (en) | Using sequencing and timing information of behavior events in machine learning to detect malware | |
US8190647B1 (en) | Decision tree induction that is sensitive to attribute computational complexity | |
US9038186B1 (en) | Malware detection using file names | |
US8516587B1 (en) | Using temporal attributes to detect malware | |
US8321942B1 (en) | Selecting malware signatures based on malware diversity | |
RU2617654C2 (ru) | Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя | |
WO2015186662A1 (ja) | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム | |
JP6473234B2 (ja) | 分析方法、分析装置、および分析プログラム | |
JP6691240B2 (ja) | 判定装置、判定方法、および、判定プログラム | |
RU2622626C2 (ru) | Система и способ обнаружения фишинговых сценариев | |
JP6954466B2 (ja) | 生成方法、生成装置および生成プログラム | |
CN110197066B (zh) | 一种云计算环境下的虚拟机监控方法及监控系统 | |
US20210209504A1 (en) | Learning method, learning device, and learning program | |
US11818153B2 (en) | Detection device and detection program | |
JP7176630B2 (ja) | 検知装置、検知方法および検知プログラム | |
US12028352B2 (en) | Learning method, learning device, and learning program | |
US11233809B2 (en) | Learning device, relearning necessity determination method, and relearning necessity determination program | |
CN116743486A (zh) | 一种用于堡垒机的指令审批方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18760985 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019502878 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18760985 Country of ref document: EP Kind code of ref document: A1 |