WO2015186662A1 - ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム - Google Patents
ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム Download PDFInfo
- Publication number
- WO2015186662A1 WO2015186662A1 PCT/JP2015/065772 JP2015065772W WO2015186662A1 WO 2015186662 A1 WO2015186662 A1 WO 2015186662A1 JP 2015065772 W JP2015065772 W JP 2015065772W WO 2015186662 A1 WO2015186662 A1 WO 2015186662A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- class
- profile
- parameter
- character string
- attack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present invention relates to a technology related 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.
- FIG. 17 is a diagram for explaining a conventional attack detection method.
- FIG. 17A is a diagram showing a signature type attack detection method
- FIG. 17B is a diagram showing an anomaly type attack detection method. As shown in FIG.
- the signature type extracts a portion that can determine an attack from an attack code, and detects a request that matches the pattern as an attack. Since vulnerabilities that exist in WebAP (Web Application) have increased, it has become difficult to prevent attacks by signature-type detection that takes countermeasures for each vulnerability. For this reason, research has been conducted on anomaly detection in which a profile is created from a normal request for WebAP and an abnormality is detected. As shown in FIG. 17B, the anomaly type creates a profile from a normal request, calculates the similarity to the profile, and detects different requests as abnormal (see Non-Patent Documents 1 and 2). ).
- a process for creating a profile is referred to as a learning process
- a process for determining whether an analysis target request is an attack using a profile is referred to as a detection process.
- Non-Patent Documents 1 and 2 a profile having several feature amounts is created for the parameters of the path part based on the path part of WebAP.
- a profile having several feature amounts is created for the parameters of the path part based on the path part of WebAP.
- FIG. 18 is a diagram for explaining profile feature amounts.
- FIG. 19 is a diagram for explaining a method of creating a state transition model according to prior art 1.
- the procedure of the learning process is as follows.
- (Procedure 1) Create a state transition model in which all the parameter values are listed with the appearing characters as states.
- (Procedure 2) The same state is combined from the initial state (s) and repeated until it cannot be combined, and the completed state transition model is used as a profile (see Non-Patent Document 3 for how to create a state transition model).
- the state transition probability must be taken into consideration when creating the model.
- the prior art 1 does not consider the probability at the time of detection, it is considered equivalent to creating a model that does not consider the transition probability.
- the character string cannot be output from the profile (state transition model), it is determined as abnormal.
- FIG. 20 is a diagram for explaining the abnormality determination method of the prior art 2.
- the procedure of the learning process is as follows.
- a character string class is defined in advance (see Non-Patent Document 4 for an example of a definition method).
- (Procedure 2) It is determined whether the class applies to the entire parameter value, and the class name is held as a profile for the parameter. In the detection process, the entire parameter value is converted to a class, and if it does not match the profile class, it is determined as abnormal.
- prior art 1 As shown in “Problem 1” in FIG. 21, a state transition model is created with each character appearing in the learning data as a state. There is a problem that occurs.
- prior art 2 as shown in “Problem 2” in FIG. 21, only one character string class is created for one parameter, so a parameter having a complicated structure (for example, a predefined character string class) In the case of multiple connected and combined), there is a problem that a profile is not created.
- “Problem 3” in FIG. 21 it can be seen that they are similar when viewed by humans, but strictly, it has a different format, and the regular expression of the prepared character string class If it does not match, there is a problem that the profile is not created.
- the present invention has been made to solve the above-described problems of the technology, and determines that normal data is abnormal for a request transmitted to an information processing apparatus such as a Web server via a network.
- An object of the present invention is to provide a log analysis device, an attack detection device, an attack detection method, and a program that can suppress this.
- the log analysis device of the present invention for achieving the above object is a log analysis device for collecting and analyzing access logs from an information processing device connected to a network, A storage unit for storing a profile serving as a reference for determining whether the analysis target data indicates an attack on the information processing apparatus; A parameter extractor for extracting each parameter from the access log request; For each parameter extracted by the parameter extraction unit, the parameter value is compared with a predefined character string class for each part from the first character, and the part is added to the character string class that has the longest match with the character string class.
- a class conversion unit that replaces and converts the replaced character string class into a class string arranged in order; Of the set of class sequences obtained by the parameter extraction unit and the class conversion unit for the access log of normal data as learning data, a class sequence having an appearance frequency equal to or higher than a predetermined value is stored in the storage unit as the profile.
- a profile storage unit to The similarity between the class string obtained by the parameter extraction unit and the class conversion unit for the access log of the analysis target data and the profile is calculated, and an attack on the information processing apparatus occurs according to the similarity
- An anomaly detector that determines whether or not Have
- the attack detection device of the present invention is an attack detection device that detects an attack on an information processing device connected to a network,
- a storage unit for storing a profile serving as a reference for determining whether an access request to the information processing apparatus attacks the information processing apparatus;
- a parameter extractor for extracting each parameter from the access request; For each parameter extracted by the parameter extraction unit, the parameter value is compared with a predefined character string class for each part from the first character, and the part is added to the character string class that has the longest match with the character string class.
- a class conversion unit that replaces and converts the replaced character string class into a class string arranged in order; Of the set of class sequences obtained by the parameter extraction unit and the class conversion unit for the access request of normal data as learning data, a class sequence having an appearance frequency equal to or higher than a predetermined value is stored in the storage unit as the profile.
- a profile storage unit to Calculate the similarity between the class string obtained by the parameter extraction unit and the class conversion unit for the access request to be analyzed and the profile, and whether an attack has occurred on the information processing apparatus according to the similarity
- the attack detection method of the present invention is an attack detection method by an attack detection device that detects an attack on an information processing device connected to a network, Each parameter is extracted from the access request to the information processing apparatus for normal data as learning data, and for each parameter, the parameter value is compared with a character string class defined in advance for each part from the first character. Is replaced with a character string class that has the longest match, and converted into a class string in which the replaced character string classes are arranged in order.
- the analysis target data is stored in the storage unit as a reference profile for determining whether or not the analysis target data indicates an attack on the information processing apparatus, Extract parameters from the access request for the data to be analyzed, The extracted parameter value is converted to the class string based on the string class, Calculating the similarity between the class column and the profile; It is determined whether an attack on the information processing apparatus has occurred according to the similarity.
- the program of the present invention is a computer that detects an attack on an information processing apparatus connected to a network.
- Each parameter is extracted from the access request to the information processing apparatus for normal data as learning data, and for each parameter, the parameter value is compared with a character string class defined in advance for each part from the first character. Is replaced with a character string class that has the longest match, and converted into a class string in which the replaced character string classes are arranged in order.
- parameter values extracted from the request are abstracted into class columns corresponding to parameter values in various forms, and the data to be analyzed is normal or invalid. Therefore, it is possible to reduce the possibility of erroneous detection in which normal data to be analyzed is determined to be abnormal.
- FIG. 1 It is a block diagram which shows one structural example of the log analysis system containing the attack detection apparatus of this invention as a log analysis server. It is a figure for demonstrating the conventional attack detection method. It is a figure for demonstrating the feature-value of a profile. It is a figure for demonstrating the creation method of the state transition model of the prior art 1. FIG. It is a figure for demonstrating the abnormality determination method of the prior art 2. FIG. It is a figure for demonstrating the subject of a prior art. It is a figure for demonstrating another subject of the prior art 1. FIG.
- the present invention relates to an information processing apparatus and a computer that detect an access that performs an attack on a Web server.
- the information processing apparatus is a WAF.
- a log analysis device that analyzes a log).
- FIG. 1 is a block diagram showing a configuration example of a communication system including a WAF according to the present embodiment.
- the communication system includes a Web server 60 that is a type of information processing apparatus that provides services to the client 70 via a network 80, and a WAF 10 that detects an attack on the Web server 60.
- the WAF 10 is provided between the network 80 and the Web server 60.
- the client 70 is connected to the web server 60 via the network 80 and the WAF 10.
- FIG. 2 is a block diagram illustrating a configuration example of the WAF according to the present embodiment. As shown in FIG.
- the WAF 10 includes an input unit 11, a storage unit 12, a control unit 13, and a detection result output unit 14.
- the input unit 11 includes a learning data input unit 21 and an analysis target data input unit 22. Normal data to the Web server 60 is input from the network 80 to the learning data input unit 21 as learning data.
- the analysis target data input unit 22 receives, from the network 80, analysis target data that is data to be determined whether or not the Web server 60 is attacked.
- the storage unit 12 stores a profile serving as a reference for determining whether the analysis target data indicates an attack on the Web server 60.
- the control unit 13 includes a profiling unit 40 and an analysis target data processing unit 50.
- the profiling unit 40 includes a parameter extraction unit 31, a character string class conversion unit 32, and a profile storage unit 43.
- the analysis target data processing unit 50 includes a parameter extraction unit 31, a character string class conversion unit 32, and an abnormality detection unit 53.
- the parameter extraction unit 31 and the character string class conversion unit 32 are involved in the processing of the profiling unit 40 and the analysis target data processing unit 50.
- the control unit 13 includes a memory (not shown) that stores a program and a CPU (Central Processing Unit) (not shown) that executes processing according to the program.
- CPU Central Processing Unit
- the parameter extraction unit 31, the character string class conversion unit 32, the profile storage unit 43, and the abnormality detection unit 53 are configured in the WAF 10.
- the memory (not shown) stores character string class information that defines how to classify character strings for parameter values extracted from access requests. Details of the string class will be described later.
- the parameter extraction unit 31 extracts each parameter of access from an access request serving as learning data input from the Web server 60 via the learning data input unit 21 and outputs the extracted parameter to the character string class conversion unit 32. Further, the parameter extraction unit 31 extracts each parameter of access from the access request serving as analysis target data input from the network 80 via the analysis target data input unit 22 and outputs the parameter to the character string class conversion unit 32.
- the character string class conversion unit 32 converts the parameter value received from the parameter extraction unit 31 into a class string based on the character string class and outputs the learning data to the profile storage unit 43. Further, the character string class conversion unit 32 converts the parameter value received from the parameter extraction unit 31 into the class string based on the character string class and outputs the data to the abnormality detection unit 53 with respect to the analysis target data.
- the profile storage unit 43 When the profile storage unit 43 receives the set of class strings after the conversion by the character string class conversion unit 32 with respect to the learning data, the profile storage unit 43 selects the class string that appears most frequently from the set of class strings of each parameter, and selects the selected class string.
- the parameter profile is stored in the storage unit 12.
- the abnormality detection unit 53 receives the class string converted by the character string class conversion unit 32 with respect to the analysis target data, the abnormality detection unit 53 calculates the similarity to the parameter profile and sets the calculated similarity to a predetermined threshold value. By comparing, it is detected whether or not the access is abnormal. The abnormality detection unit 53 notifies the detection result output unit 14 of the detection result.
- the abnormality detection unit 53 determines that the calculated similarity is normal if the calculated similarity is larger than the threshold, and determines that the abnormality is abnormal if the similarity is smaller than the threshold. That is, it is determined that an attack has occurred against the Web server 60 or the Web AP of the Web server 60.
- the detection result output unit 14 outputs the detection result received from the abnormality detection unit 53.
- FIG. 3 is a diagram showing the flow of processing of the attack detection method by WAF of this embodiment.
- “features used for profile creation”, “profile creation method and profile to be created (structure and data) at learning” and “comparison and collation between profile and analysis target at detection” Is characteristic.
- the attack detection method of the present embodiment is divided into two phases of learning processing and detection processing.
- the learning data input unit 21 acquires an access request (learning data) from the network 80.
- the profiling unit 40 extracts each parameter from the acquired access request (parameter extraction unit 31), and converts the parameter value into a class string (character string class conversion unit 32).
- the analysis target data input unit 22 acquires an access request (analysis target data) from the network 80.
- the analysis target data processing unit 50 extracts the parameters from the acquired access request for the analysis target data in the same manner as the learning process, converts them into class strings (parameter extraction unit 31, character string class conversion unit 32), and class of the parameters
- class strings parameter extraction unit 31, character string class conversion unit 32
- class of the parameters The degree of similarity between the column and the profile class column is calculated, and an abnormality is detected based on the threshold (an abnormality detection unit 53).
- the detection result output unit 14 outputs the detection result of the abnormality detection unit 53.
- packet capture or the like may be used instead of the access request.
- FIG. 4 is a flowchart showing the procedure of the learning process by the profiling unit in this embodiment.
- the profiling unit 40 performs the following process for each learning target parameter p, and creates a profile L of the parameter p.
- the profiling unit 40 extracts unprocessed learning data (dx) (step 102).
- the profiling unit 40 converts the learning data dx into a class string cx based on a predetermined character string class definition and records it (step 103).
- the profiling unit 40 determines whether there is unprocessed learning data (step 104).
- step 106 the profiling unit 40 selects only the class string having the maximum number of appearances from all the recorded class strings (step 105). Thereafter, the profiling unit 40 records L as a profile of the parameter p in the storage unit 12 (step 106).
- FIG. 5 is a diagram for explaining the details of the processing of steps 103 and 105 shown in FIG.
- the upper part of FIG. 5 shows an example of the definition of a character string class in which a plurality of types of character strings indicating the same type of parameter values are classified into one class. Examples of the character string class include classes such as “numeric” and “space”.
- the middle part of FIG. 5 compares each part of the parameter value from the first character to the last character with the character string class, replaces that part with the character string class that has the longest match with the character string class, It shows a state of being converted into a class sequence arranged in order.
- the lower part of FIG. 5 obtains the class string for each parameter as described above, calculates the appearance frequency for each class string for the set of class strings, and saves the class string having the maximum appearance frequency as a profile. Is shown.
- step 103 when converting the parameter value into the class string, the profiling unit 40 sets the longest matching part of the class value and the partial character string with the matching parameter value to the regular expression of the character string class prepared in advance. Judged as one class and converts all strings to classes in order from the left. As a result, parameters having a complicated structure such as those in which a plurality of definitions defined in one character string class in the conventional definition are concatenated or combined can be classified into any class.
- step 105 when selecting the class string, the profiling unit 40 selects the class string having the maximum appearance frequency and stores it as a profile. Specifically, the process of step 103 is executed by the character string class conversion unit 32, and the process of step 105 is executed by the profile storage unit 43. Information on the definition of the character string class may be stored in the storage unit 12.
- FIG. 6 is a diagram for explaining a method of calculating a similarity to a profile in the present embodiment.
- the abnormality detection unit 53 of the analysis target data processing unit 50 performs detection determination according to the following procedure.
- test data is used as analysis target data.
- the parameter value is converted into a class string.
- the class sequence similarity with the profile is obtained.
- LCS longest common subsequence
- FIG. 6 can be used as a similarity calculation method.
- FIG. 7 is a diagram showing an example of this embodiment.
- Test data is used as analysis target data.
- the profiling unit 40 selects one class sequence having the maximum appearance frequency.
- the analysis target data processing unit 50 performs similarity calculation after class string conversion, and determines whether the result is normal or abnormal based on the result.
- the parameter value is classified into the class corresponding to the parameter value of various forms by using the characteristic of the parameter and the format of the character string. Since it is abstracted into columns and it is determined whether the data to be analyzed is normal or incorrect, the possibility of erroneous detection that determines normal data that is not in the learning data as abnormal can be reduced.
- FIG. 8 is a diagram for explaining a third modification of the present embodiment.
- the profile storage unit 43 sorts the appearance frequencies from the graph showing the appearance frequencies, and extracts u class strings that satisfy the expression shown in FIG.
- FIG. 9 is a flowchart showing the procedure of the learning process by the profiling unit in this embodiment.
- the process of step 105-abc shown in FIG. 9 is executed instead of the process of step 105 in the flowchart shown in FIG.
- the processing of step 105-abc will be described, and the description of the processing of other steps will be omitted.
- the profiling unit 40 selects a plurality of class strings by any one of the methods of the first to third modifications among all the recorded class strings.
- FIG. 10 is a diagram for explaining a method of calculating a similarity with a profile in the present embodiment.
- the similarity in detection is maximized from the similarity (s1, s2, ..., su) between the profile class string and each of the u class strings.
- the similarity Smax max (s1, s2,... Su) is defined as the similarity to the profile.
- the similarity S between the test data and the profile is 0.8.
- FIG. 11 is a diagram showing an example of this embodiment.
- the profiling unit 40 selects a plurality of class strings using any one of the modifications 1 to 3.
- the analysis target data processing unit 50 performs similarity calculation after class string conversion, and determines whether the result is normal or abnormal based on the result.
- FIG. 12 is a diagram for explaining the profile creation method of the present embodiment, and shows a profile creation method using the compression ratio R.
- the profile storage unit 43 shown in FIG. 2 determines whether the compression rate (R) of the class string set is smaller than the threshold value Rt, and if the compression rate is smaller than the threshold value, A set of class sequences is a profile. On the other hand, when the compression rate is greater than the threshold, the profile storage unit 43 sets the class set as a profile.
- a class set is a collection of unique classes that appear, and the appearance order of classes is not maintained.
- the character string classes (alpha, numeric, etc.) included in the set of class strings do not overlap, and the order of appearance is not determined.
- the set of class strings considers the order of character string classes, but the class set does not consider the order of character string classes.
- FIG. 13 is a diagram for explaining similarity calculation in the present embodiment.
- FIG. 13A shows a similarity calculation method when the profile is a class column set type
- FIG. 13B shows a similarity calculation method when the profile is a class set type.
- Smax the similarity (s1, s2,..., Su) between the profile class sequence and each of the u class sequences. Let max (s1, s2,...
- su be the similarity to the profile (the same as the similarity calculation method of the first to third modifications).
- the similarity S is set to 1.0 when the class set is included in the class set of the profile, and 0.0 when not matching.
- FIG. 14 is a flowchart showing the procedure of the learning process by the profiling unit in this embodiment.
- step 105-abc is set as step 105-b corresponding to the modified example 2, and between the processing of step 105-b and step 106, as shown in FIG. Steps 111 to 113 are added.
- the processing of step 105-b and steps 111 to 113 will be described, and the description of the processing of other steps will be omitted.
- step 105-b the profiling unit 40 calculates the compression rate R from all the recorded class sequences (c1 to cn).
- step 111 the profiling unit 40 determines whether or not the compression rate R is smaller than a predetermined compression rate threshold value Rt. If R ⁇ Rt in the determination in step 111, the profiling unit 40 sets a unique one (class string set) among all recorded class strings as the profile L (step 112). On the other hand, if R> Rt in the determination in step 111, the profiling unit 40 sets a unique set (class set) of all classes appearing in the recorded class sequence as the profile L (step 113).
- FIG. 15 is a diagram showing an example of the present embodiment.
- the profiling unit 40 selects a plurality of class strings by any one of the methods of the first to third modifications. Thereafter, the class string set is stored because the compression ratio R ⁇ Rt.
- the analysis target data processing unit 50 performs the class string conversion and then calculates the similarity with the class string because the profile is a class string, and determines whether the profile is normal or abnormal based on the result.
- an abnormality determination can be performed in consideration of differences in subscripts by abstracting a character string into a class, so that false detection can be reduced. Further, by using the LCS similarity of the class sequence at the time of detection, even if data such as a subscript added to the data at the time of learning appears, the high degree of similarity is shown, so that false detection can be reduced.
- the character string class conversion unit considers that a plurality of character string classes are connected and combined, and creates a class string.
- a profile that matches the parameters can be created.
- a simple character string class such as numeric, alpha is defined in addition to defining a complicated character string class such as url or ip in the character string class.
- the class column numeric, symbol, numeric, symbol, numeric
- the concept of a class set is introduced to lower the restriction on the parameter having a high degree of freedom rather than the class order. It is possible to reduce false detection because it is determined whether or not the class is abnormal based on whether or not the class appears.
- normal data not included in learning data is determined to be abnormal by using the character string structure of the parameter value and using the characteristics of the parameter and the character string format. The possibility of false detection and false detection in a parameter with a high degree of freedom can be reduced.
- FIG. 16 is a block diagram showing a configuration example of a log analysis system including the attack detection apparatus of the present invention as a log analysis server.
- the log analysis system includes a web server 60, a log server 90, and a log analysis server 15.
- the log server 90 is connected to the web server 60.
- the log server 90 periodically obtains access log information from the Web server 60 and stores it in the storage unit of its own device.
- the log analysis server 15 is connected to the log server 90.
- the log analysis server 15 has the function of the WAF 10 described in the above embodiment, and detects an attack on the Web server 60 by reading and analyzing the access request from the access log.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Signal Processing (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)
- Computer And Data Communications (AREA)
Abstract
Description
攻撃を検知する方式として、WAF(Web Application Firewall)でアクセス内容を分析する方式と、Webサーバやアプリケーションサーバに残るログを分析する方式が一般的である。攻撃検知方法には、シグネチャ型とアノマリ型の2種類の検知方法が知られている。
図17は従来の攻撃検知方法を説明するための図である。図17(a)はシグネチャ型の攻撃検知方法を示す図であり、図17(b)はアノマリ型の攻撃検知方法を示す図である。
シグネチャ型は、図17(a)に示すように、攻撃コードから攻撃を判定できる部分を抽出し、パターンに一致したリクエストを攻撃として検知するものである。WebAP(Web Application)に存在する脆弱性が増加したため、1つ1つの脆弱性について対策を行うシグネチャ型検知で攻撃を防ぐことが困難になった。そのため、WebAPに対して通常リクエストからプロファイルを作成し、異常を検知するアノマリ検知に対する研究が行われてきた。
アノマリ型は、図17(b)に示すように、正常なリクエストからプロファイルを作成し、プロファイルとの類似度を計算し、異なるリクエストを異常として検知するものである(非特許文献1および2参照)。以下では、プロファイルを作成する処理を学習処理と称し、プロファイルを用いて、分析対象のリクエストが攻撃か否かを判定する処理を検知処理と称する。
ここでは、検知結果に影響が大きいと考えられる、文字列の構造と文字列のクラスの特徴量についてのみ考える。図18はプロファイルの特徴量を説明するための図である。
文字列の構造を特徴量とする場合を従来技術1とし、文字列のクラスを特徴量とする場合を従来技術2として、これらの技術を簡単に説明する。
学習処理の手順は、次の通りである。
(手順1)出現する文字を状態とし、全パラメタ値を列挙した状態遷移モデルを作成する。
(手順2)初期状態(s)から同じ状態を結合し、結合できなくなるまで繰り返し、出来上がった状態遷移モデルをプロファイルとする(状態遷移モデルの作り方は非特許文献3参照)。
なお、モデルを作るときは状態遷移の確率を考慮に入れなければいけないが、従来技術1では検知時に確率を考慮しないため遷移確率を考慮しないモデルを作成することと同等と考える。
検知処理では、文字列がプロファイル(状態遷移モデル)から出力不可能であれば異常と判定する。
学習処理の手順は、次の通りである。
(手順1)文字列クラスをあらかじめ定義する(定義方法の一例は非特許文献4を参照)。
(手順2)パラメタ値全体に対してそのクラスに当てはまるかを判定し、当てはまるクラスをそのパラメタに対するプロファイルとしてそのクラス名を保持する。
検知処理では、パラメタ値全体をクラスに変換し、それがプロファイルのクラスと一致しない場合は異常と判定する。
従来技術1では、図21の「課題1」に示すように、学習データに現われる各文字を状態として状態遷移モデルを作成するため学習データにないデータ(学習データが少ない場合)では誤検知が多く発生するという問題がある。
従来技術2では、図21の「課題2」に示すように、1つのパラメタに対して1つの文字列クラスしか作成しないため、複雑な構造を持つパラメタ(例えば、予め定義されている文字列クラスが複数個連接、複合したもの)の場合はプロファイルが作成されないという問題がある。
また、従来技術2では、図21の「課題3」に示すように、人間が見れば類似していると分かるが、厳密には異なる形式を持っており、用意された文字列クラスの正規表現にマッチしない場合、プロファイルが作成されないという問題がある。
分析対象データが前記情報処理装置に対する攻撃を示すものであるか否かを判定するための基準となるプロファイルを保存するための記憶部と、
前記アクセスログのリクエストから各パラメタを抽出するパラメタ抽出部と、
前記パラメタ抽出部によって抽出された各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換するクラス変換部と、
学習データとして正常なデータの前記アクセスログについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列の集合のうち、出現頻度が所定値以上のクラス列を前記プロファイルとして前記記憶部に保存するプロファイル保存部と、
前記分析対象データの前記アクセスログについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列と前記プロファイルとの類似度を計算し、該類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する異常検知部と、
を有する。
前記情報処理装置へのアクセスリクエストが該情報処理装置を攻撃するものであるか否かを判定するための基準となるプロファイルを保存するための記憶部と、
前記アクセスリクエストから各パラメタを抽出するパラメタ抽出部と、
前記パラメタ抽出部によって抽出された各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換するクラス変換部と、
学習データとして正常なデータの前記アクセスリクエストについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列の集合のうち、出現頻度が所定値以上のクラス列を前記プロファイルとして前記記憶部に保存するプロファイル保存部と、
分析対象の前記アクセスリクエストについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列と前記プロファイルとの類似度を計算し、該類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する異常検知部と、
を有する。
学習データとして正常なデータの前記情報処理装置へのアクセスリクエストから各パラメタを抽出し、各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換し、該クラス列の集合のうち、出現頻度が所定値以上のクラス列を、分析対象データが前記情報処理装置に対する攻撃を示すものであるか否かを判定するための基準となるプロファイルとして記憶部に保存し、
前記分析対象データの前記アクセスリクエストからパラメタを抽出し、
抽出したパラメタの値を前記文字列クラスに基づいて前記クラス列に変換し、
前記クラス列と前記プロファイルとの類似度を計算し、
前記類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定するものである。
学習データとして正常なデータの前記情報処理装置へのアクセスリクエストから各パラメタを抽出し、各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換し、該クラス列の集合のうち、出現頻度が所定値以上のクラス列を、分析対象データが前記情報処理装置に対する攻撃を示すものであるか否かを判定するための基準となるプロファイルとして記憶部に保存する手順と、
前記分析対象データの前記アクセスリクエストからパラメタを抽出する手順と、
抽出したパラメタの値を前記文字列クラスに基づいて前記クラス列に変換する手順と、
前記クラス列と前記プロファイルとの類似度を計算する手順と、
前記類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する手順を実行させるものである。
本実施形態のWAFを含む通信システムの構成を説明する。
図1は本実施形態のWAFを含む通信システムの一構成例を示すブロック図である。
図1に示すように、通信システムは、ネットワーク80を介してクライアント70にサービスを提供する情報処理装置の一種であるWebサーバ60と、Webサーバ60に対する攻撃を検知するWAF10とを有する。WAF10は、ネットワーク80とWebサーバ60との間に設けられる。クライアント70はネットワーク80およびWAF10を介してWebサーバ60と接続される。
図2は本実施形態のWAFの一構成例を示すブロック図である。
図2に示すように、WAF10は、入力部11と、記憶部12と、制御部13と、検知結果出力部14とを有する。入力部11は、学習データ入力部21および分析対象データ入力部22を有する。
学習データ入力部21には、学習データとして、Webサーバ60への正常なデータがネットワーク80から入力される。分析対象データ入力部22には、Webサーバ60を攻撃するものであるか否かの判定対象となるデータである分析対象データがネットワーク80から入力される。
制御部13は、プロファイル化部40と、分析対象データ処理部50とを有する。プロファイル化部40は、パラメタ抽出部31と、文字列クラス変換部32と、プロファイル保存部43とを有する。分析対象データ処理部50は、パラメタ抽出部31と、文字列クラス変換部32と、異常検知部53とを有する。パラメタ抽出部31と文字列クラス変換部32はプロファイル化部40と分析対象データ処理部50の処理に携わる。
制御部13は、プログラムを記憶するメモリ(不図示)と、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)とを有する。CPUがプログラムにしたがって処理を実行することで、パラメタ抽出部31、文字列クラス変換部32、プロファイル保存部43、および異常検知部53がWAF10に構成される。また、メモリ(不図示)には、アクセスリクエストから抽出されるパラメタの値について、文字列をどのようにクラス分けするかを定めた文字列クラスの情報が格納されている。文字列クラスの詳細は後で説明する。
文字列クラス変換部32は、学習データに関して、パラメタ抽出部31から受け取るパラメタの値を文字列クラスに基づいてクラス列に変換してプロファイル保存部43に出力する。また、文字列クラス変換部32は、分析対象データに関して、パラメタ抽出部31から受け取るパラメタの値を文字列クラスに基づいてクラス列に変換して異常検知部53に出力する。
プロファイル保存部43は、学習データに関して、文字列クラス変換部32による変換後のクラス列の集合を受け取ると、各パラメタのクラス列の集合から最も頻出するクラス列を選択し、選択したクラス列をパラメタのプロファイルとして記憶部12に保存する。
異常検知部53は、分析対象データに関して、文字列クラス変換部32による変換後のクラス列を受け取ると、そのパラメタのプロファイルとの類似度を計算し、算出した類似度を予め決められた閾値と比較することで、アクセスが異常か否かを検知する。異常検知部53は、その検知結果を検知結果出力部14に通知する。具体的には、異常検知部53は、算出した類似度が閾値より大きい場合、正常と判定し、類似度が閾値より小さい場合、異常と判定する。つまり、Webサーバ60に対して、または、Webサーバ60のWebAPに対して、攻撃が発生したと判定する。
検知結果出力部14は、異常検知部53から受け取る検知結果を出力する。
図3は本実施形態のWAFによる攻撃検知方法の処理の流れを示す図である。
本実施形態では、「プロファイルの作成に使用する特徴量」、「学習時におけるプロファイルの作成方法および作成されるプロファイル(の構造、データ)」および「検知時におけるプロファイルと分析対象との比較、照合の方法」に特徴がある。
本実施形態の攻撃検知方法は、学習処理と検知処理の2フェーズに分かれる。
学習処理では、学習データ入力部21がネットワーク80からアクセスリクエスト(学習データ)を取得する。プロファイル化部40は、取得したアクセスリクエストから各パラメタを抽出し(パラメタ抽出部31)、パラメタの値をクラス列に変換する(文字列クラス変換部32)。次に、各パラメタのクラス列の集合から最も頻出するクラス列を選択し、パラメタのプロファイルとする(プロファイル保存部43)。
検知処理では、分析対象データ入力部22がネットワーク80からアクセスリクエスト(分析対象データ)を取得する。分析対象データ処理部50は、取得した分析対象データのアクセスリクエストからパラメタを学習処理と同様に抽出してクラス列に変換し(パラメタ抽出部31、文字列クラス変換部32)、そのパラメタのクラス列とプロファイルのクラス列との類似度を計算し、閾値によって異常を検知する(異常検知部53)。その後、検知結果出力部14は、異常検知部53の検知結果を出力する。
なお、リクエストのパラメタを抽出する元データとしては、アクセスリクエストからではなく、パケットキャプチャなどを用いてもよい。
図4は本実施形態におけるプロファイル化部による学習処理の手順を示すフローチャートである。
プロファイル化部40は、学習対象のパラメタp毎に次のような処理を実施し、当該パラメタpのプロファイルLを作成する。
当該パラメタに関する全ての学習データ(パラメタ値:d1~dn)が入力されると(ステップ101)、プロファイル化部40は未処理の学習データ(dx)を取り出す(ステップ102)。そして、プロファイル化部40は当該学習データdxを予め定めた文字列クラスの定義に基づき、クラス列cxに変換し、記録する(ステップ103)。
プロファイル化部40は、未処理の学習データがあるか否かを判定し(ステップ104)、未処理の学習データがある場合には、ステップ102に戻り、未処理の学習データがない場合には、ステップ105に進む。ステップ105において、プロファイル化部40は記録した全てのクラス列のうち、出現回数が最大となるクラス列のみを選択する(ステップ105)。その後、プロファイル化部40はパラメタpのプロファイルとしてLを記憶部12に記録する(ステップ106)。
図5の上段は、同種のパラメタ値を示す、複数種の文字列を1つのクラスに分類した文字列クラスの定義の一例を示す。文字列クラスには、例えば、「numeric」や「space」などのクラスがある。
図5の中段は、パラメタ値の先頭文字から最後の文字にかけて部分毎に文字列クラスと比較し、文字列クラスとの一致が最長になる文字列クラスにその部分を置換し、文字列クラスが順に配置されたクラス列に変換される様子を示している。図5の下段は、上記のようにして、パラメタ毎にクラス列を求め、クラス列の集合について、クラス列毎の出現頻度を算出し、出現頻度が最大となるクラス列をプロファイルとして保存する様子を示している。
ステップ103において、プロファイル化部40は、パラメタ値をクラス列に変換する際、予め用意した文字列クラスの正規表現に対して、パラメタ値のマッチした部分文字列とクラスが最長一致した部分を1つのクラスと判定し、左から順にすべての文字列をクラスへ変換する。これにより、従来の定義で1つの文字列クラスに定義されたものが複数個連接されたもの、複合されたものなどの、複雑な構造を持つパラメタも、いずれかのクラスに分類可能となる。
ステップ105において、プロファイル化部40は、クラス列を選出する際、出現頻度が最大となるクラス列を選択し、それをプロファイルとして保存する。
なお、具体的には、ステップ103の処理は文字列クラス変換部32で実行され、ステップ105の処理はプロファイル保存部43で実行される。また、文字列クラスの定義の情報は、記憶部12に格納されていてもよい。
図6は本実施形態において、プロファイルとの類似度の計算方法を説明するための図である。分析対象データ処理部50の異常検知部53は次の手順で検知判定を行う。ここでは、分析対象データにテストデータを用いている。
(手順1)学習処理と同様に、パラメタ値をクラス列に変換する。
(手順2)プロファイルとのクラス列類似度を求める。類似度算出方法としては、例えば、図6に示すLCS(最長共通部分列)を用いることができる。
(手順3)類似度Sが閾値Stより小さい場合、異常と判定、そうでなければ正常と判定する。
学習処理では、プロファイル化部40が、出現頻度が最大となるクラス列を1個選出する。検知処理では、分析対象データ処理部50は、クラス列変換を行った後、類似度計算を行い、その結果により、正常か、異常かを判定する。
第1の実施形態では、クラス列の選出において出現頻度が最大となるクラス列を1つだけ選択し、そのクラス列をプロファイルとしたが、本実施形態では、クラス列の選択方法の別の案として、次の変形例1~3のいずれかを適用するものである。
(変形例1)出現頻度が大きい順にu個のクラス列を選出する。
(変形例2)出現頻度がv%以上となるクラス列を選出する。
(変形例3)出現頻度fxを大きい順にソート(f'1, f'2, f'3 …)し、出現頻度の和(寄与率)が初めてFtを超える(f'1 + f'2 + … + f'u > Ft)u個のクラス列(c'1, c'2, … c'u)を選出する。
図8は本実施形態における変形例3を説明するための図である。
プロファイル保存部43は、出現頻度を示すグラフから出現頻度をソートし、図8に示す式を満たすようなu個のクラス列を抽出する。
図9は本実施形態におけるプロファイル化部による学習処理の手順を示すフローチャートである。
本実施形態では、図4に示したフローチャートにおいて、ステップ105の処理の代わりに、図9に示すステップ105-abcの処理が実行される。本実施形態では、ステップ105-abcの処理について説明し、他のステップの処理の説明を省略する。
ステップ105-abcにおいて、プロファイル化部40は、記録した全てのクラス列のうち、変形例1~3の方法のうち、いずれかの方法によって複数のクラス列を選択する。
変形例1~3においてu個のクラス列を選出した場合、検知においての類似度はプロファイルのクラス列とu個のクラス列それぞれとの類似度(s1, s2, … , su)から最大となる類似度Smax = max(s1, s2, … su)をプロファイルとの類似度とする。
この例の場合テストデータとプロファイルの類似度Sは0.8となる。
学習処理では、プロファイル化部40が、変形例1~3のうち、いずれかの案を用いて、クラス列を複数個選出する。検知処理では、分析対象データ処理部50は、クラス列変換を行った後、類似度計算を行い、その結果により、正常か、異常かを判定する。
第1の実施形態では単独のクラス列をプロファイルとし、第2の実施形態では複数のクラス列をプロファイルとするものであったが、本実施形態は、プロファイルに、複数のクラス列(以下では、「クラス列集合」と称する)を用いるか、クラスの順序を考慮しないクラス集合を用いるかを選択するものである。
なお、本実施形態に第2の実施形態で選出される複数のクラス列を適用してもよく、また、本実施形態では、第2の実施形態で説明した変形例1~3のいずれかを適用することが可能である。
ここで、従来技術1の別の課題を説明する。従来技術1では、学習データに実際に現われた1文字ずつの状態遷移モデルを作成するため文字列の自由度が高いパラメタでは誤検知が多く発生するという問題がある。この問題を「課題4」とする。課題4の一例を図22に示す。
図12は本実施形態のプロファイル作成方法を説明するための図であり、圧縮率Rを利用したプロファイルの作成方法を示す。
本実施形態では、図2に示したプロファイル保存部43は、図12に示すように、クラス列集合の圧縮率(R)が閾値Rtより小さいかを求め、圧縮率が閾値よりも小さい場合はクラス列の集合をプロファイルとする。
一方、圧縮率が閾値よりも大きい場合、プロファイル保存部43は、クラス集合をプロファイルとする。クラス集合とは、出現するユニークなクラスの集まりのことであり、クラスの出現順序は保持されない。つまり、クラス集合では、クラス列の集合に含まれる文字列クラス(alpha、numericなど)が重ならず、また、出現する順序も決められていない。
本実施形態では、クラス列の集合は文字列クラスの順序を考慮するが、クラス集合では文字列クラスの順序を考慮しない。
本実施形態では、クラス列集合を利用してプロファイルを作成した場合と、クラス集合を利用してプロファイルを作成した場合とで、検知における類似度計算方法を変更する必要がある。
図13(a)はプロファイルがクラス列集合型の場合の類似度計算方法を示し、図13(b)はプロファイルがクラス集合型の場合の類似度計算方法を示す。
(1)プロファイルがクラス列集合型の場合、検知においての類似度はプロファイルのクラス列とu個のクラス列それぞれとの類似度(s1, s2, … , su)から最大となる類似度Smax = max(s1, s2, … su)をプロファイルとの類似度とする(変形例1~3の類似度計算方法と同じ)。
(2)プロファイルがクラス集合型の場合、クラス集合がプロファイルのクラス集合に含まれる場合、類似度Sを1.0とする、一致しない場合は0.0とする。
図14は本実施形態におけるプロファイル化部による学習処理の手順を示すフローチャートである。
本実施形態では、図9に示したフローチャートにおいて、ステップ105-abcを変形例2に対応したステップ105-bとし、ステップ105-bとステップ106の処理の間に、図14に示すように、ステップ111~113が追加される。本実施形態では、ステップ105-b、およびステップ111~113の処理について説明し、他のステップの処理の説明を省略する。
ステップ105-bにおいて、プロファイル化部40は、記録した全てのクラス列(c1~cn)より、圧縮率Rを算出する。ステップ111において、プロファイル化部40は、圧縮率Rは予め定められた圧縮率閾値Rtより小さいか否かを判定する。
ステップ111の判定でR<Rtの場合、プロファイル化部40は、記録した全てのクラス列のうち、ユニークなもの(クラス列集合)をプロファイルLとする(ステップ112)。一方、ステップ111の判定でR>Rtの場合、プロファイル化部40は、記録したクラス列に表れる全てのクラスのユニークな集合(クラス集合)をプロファイルLとする(ステップ113)。
学習処理では、プロファイル化部40が、変形例1~3の手法のいずれかにより、クラス列を複数個選出する。その後、圧縮率R<Rtのためクラス列集合を保存する。検知処理では、分析対象データ処理部50は、クラス列変換を行った後、プロファイルはクラス列のためクラス列で類似度計算を行い、その結果により、正常か、異常かを判定する。
図21を参照して説明した課題1に対して、本発明では、文字列をクラスへと抽象化して扱うことで添字の異なりなどを考慮した異常判定を行えるため、誤検知を減少させられる。また、検知時にクラス列のLCS類似度を利用することで学習時のデータに添字を付加したようなデータが現れても高い類似度を示すことから誤検知を減少させられる。
図21を参照して説明した課題2に対して、本発明では、文字列クラス変換部でパラメタを文字列クラスが複数個連接、複合したものと考えてクラス列を作成しているため、そのパラメタに適合したプロファイルが作成できる。
図21を参照して説明した課題3に対して、本発明では、文字列クラスにはurl、ipなどの複雑な文字列クラスを定義する以外に単純文字列クラスnumeric, alphaなどを定義することで、文字列"2014.1.1"をdate型と判定できなくてもクラス列(numeric, symbol, numeric, symbol, numeric)をプロファイルとして作成できる。
図22を参照して説明した課題4に対して、第3の実施形態で説明した発明では、クラス集合という概念を導入することで自由度の高いパラメタについてはクラスの順序ではなく制約を下げたクラスが出現するかどうかの条件で異常かどうか判定するため誤検知を減少させることができる。
ログ分析システムは、Webサーバ60と、ログサーバ90と、ログ分析サーバ15とを有する。ログサーバ90はWebサーバ60と接続されている。ログサーバ90は、定期的にWebサーバ60からアクセスログの情報を取得して自装置の記憶部に保存する。
ログ分析サーバ15はログサーバ90と接続されている。ログ分析サーバ15が、上述の実施形態で説明したWAF10の機能を備え、アクセスログからアクセスリクエストを読み出して分析することで、Webサーバ60への攻撃を検知する。
15 ログ分析サーバ
13 制御部
12 記憶部
31 パラメタ抽出部
32 文字列クラス変換部
40 プロファイル化部
43 プロファイル保存部
50 分析対象データ処理部
53 異常検知部
60 Webサーバ
Claims (8)
- ネットワークに接続される情報処理装置からアクセスログを収集して分析するログ分析装置であって、
分析対象データが前記情報処理装置に対する攻撃を示すものであるか否かを判定するための基準となるプロファイルを保存するための記憶部と、
前記アクセスログのリクエストから各パラメタを抽出するパラメタ抽出部と、
前記パラメタ抽出部によって抽出された各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換するクラス変換部と、
学習データとして正常なデータの前記アクセスログについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列の集合のうち、出現頻度が所定値以上のクラス列を前記プロファイルとして前記記憶部に保存するプロファイル保存部と、
前記分析対象データの前記アクセスログについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列と前記プロファイルとの類似度を計算し、該類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する異常検知部と、
を有するログ分析装置。 - ネットワークに接続される情報処理装置に対する攻撃を検知する攻撃検知装置であって、
前記情報処理装置へのアクセスリクエストが該情報処理装置を攻撃するものであるか否かを判定するための基準となるプロファイルを保存するための記憶部と、
前記アクセスリクエストから各パラメタを抽出するパラメタ抽出部と、
前記パラメタ抽出部によって抽出された各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換するクラス変換部と、
学習データとして正常なデータの前記アクセスリクエストについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列の集合のうち、出現頻度が所定値以上のクラス列を前記プロファイルとして前記記憶部に保存するプロファイル保存部と、
分析対象の前記アクセスリクエストについて前記パラメタ抽出部および前記クラス変換部によって求められた前記クラス列と前記プロファイルとの類似度を計算し、該類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する異常検知部と、
を有する攻撃検知装置。 - 請求項2に記載の攻撃検知装置において、
前記プロファイル保存部は、
前記クラス列の集合のうち、前記出現頻度が最大となる1つのクラス列を前記プロファイルとして前記記憶部に保存する、攻撃検知装置。 - 請求項2に記載の攻撃検知装置において、
前記プロファイル保存部は、
前記クラス列の集合のうち、前記出現頻度が所定値以上となる複数のクラス列を前記プロファイルとして前記記憶部に保存する、攻撃検知装置。 - 請求項2に記載の攻撃検知装置において、
前記プロファイル保存部は、
前記クラス列の集合が所定の条件を満たす場合、該クラス列の集合に含まれる全ての前記文字列クラスのユニークな集合を前記プロファイルとして前記記憶部に保存し、
前記異常検知部は、
前記クラス列の集合が所定の条件を満たす場合、前記類似度による判定の際、分析対象データのクラス列の前記文字列クラスのユニークな集合が前記プロファイルに全て含まれているか否かで攻撃が発生したか否かを判定し、
前記クラス列の集合が所定の条件を満たさない場合、前記分析対象データの前記クラス列と前記プロファイルとの前記類似度を計算する、攻撃検知装置。 - 請求項4に記載の攻撃検知装置において、
前記プロファイル保存部は、
前記複数のクラス列が所定の条件を満たす場合、該複数のクラス列に含まれる全ての前記文字列クラスのユニークな集合を前記プロファイルとして前記記憶部に保存し、
前記異常検知部は、
前記複数のクラス列の集合が所定の条件を満たす場合、前記類似度による判定の際、分析対象データのクラス列の前記文字列クラスのユニークな集合が前記プロファイルに全て含まれているか否かで攻撃が発生したか否かを判定し、
前記複数のクラス列の集合が所定の条件を満たさない場合、前記分析対象データのクラス列と前記プロファイルに含まれる前記複数のクラス列のそれぞれとの前記類似度のうち、最大値の類似度を用いて判定する、攻撃検知装置。 - ネットワークに接続される情報処理装置に対する攻撃を検知する攻撃検知装置による攻撃検知方法であって、
学習データとして正常なデータの前記情報処理装置へのアクセスリクエストから各パラメタを抽出し、各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換し、該クラス列の集合のうち、出現頻度が所定値以上のクラス列を、分析対象データが前記情報処理装置に対する攻撃を示すものであるか否かを判定するための基準となるプロファイルとして記憶部に保存し、
前記分析対象データの前記アクセスリクエストからパラメタを抽出し、
抽出したパラメタの値を前記文字列クラスに基づいて前記クラス列に変換し、
前記クラス列と前記プロファイルとの類似度を計算し、
前記類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する、攻撃検知方法。 - ネットワークに接続される情報処理装置に対する攻撃を検知するコンピュータに、
学習データとして正常なデータの前記情報処理装置へのアクセスリクエストから各パラメタを抽出し、各パラメタについて、パラメタ値を先頭文字から部分毎に予め定義された文字列クラスと比較し、該文字列クラスとの一致が最長になる文字列クラスに該部分を置換し、置換した文字列クラスを順に並べたクラス列に変換し、該クラス列の集合のうち、出現頻度が所定値以上のクラス列を、分析対象データが前記情報処理装置に対する攻撃を示すものであるか否かを判定するための基準となるプロファイルとして記憶部に保存する手順と、
前記分析対象データの前記アクセスリクエストからパラメタを抽出する手順と、
抽出したパラメタの値を前記文字列クラスに基づいて前記クラス列に変換する手順と、
前記クラス列と前記プロファイルとの類似度を計算する手順と、
前記類似度にしたがって前記情報処理装置への攻撃が発生したか否かを判定する手順とを実行させるためのプログラム。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016525161A JP6106340B2 (ja) | 2014-06-06 | 2015-06-01 | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム |
| CN201580029516.1A CN106415507B (zh) | 2014-06-06 | 2015-06-01 | 日志分析装置、攻击检测装置、攻击检测方法以及程序 |
| US15/315,756 US10243982B2 (en) | 2014-06-06 | 2015-06-01 | Log analyzing device, attack detecting device, attack detection method, and program |
| EP15803764.8A EP3136249B1 (en) | 2014-06-06 | 2015-06-01 | Log analysis device, attack detection device, attack detection method and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014117756 | 2014-06-06 | ||
| JP2014-117756 | 2014-06-06 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015186662A1 true WO2015186662A1 (ja) | 2015-12-10 |
Family
ID=54766733
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2015/065772 Ceased WO2015186662A1 (ja) | 2014-06-06 | 2015-06-01 | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10243982B2 (ja) |
| EP (1) | EP3136249B1 (ja) |
| JP (1) | JP6106340B2 (ja) |
| CN (1) | CN106415507B (ja) |
| WO (1) | WO2015186662A1 (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108322428A (zh) * | 2017-01-18 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种异常访问检测方法及设备 |
| WO2018159337A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電信電話株式会社 | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム |
| WO2018159362A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電信電話株式会社 | ログ分析装置、ログ分析方法およびログ分析プログラム |
| WO2018159380A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電信電話株式会社 | 学習装置、再学習要否判定方法及び再学習要否判定プログラム |
| WO2019225228A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
| WO2019225251A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
| WO2019235074A1 (ja) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | 生成方法、生成装置および生成プログラム |
| WO2022107296A1 (ja) * | 2020-11-19 | 2022-05-27 | 日本電信電話株式会社 | 推定装置、推定方法、および、推定プログラム |
| CN115967575A (zh) * | 2022-12-30 | 2023-04-14 | 武汉绿色网络信息服务有限责任公司 | Http请求夹带检测方法、装置、电子设备及存储介质 |
| CN118172849A (zh) * | 2024-03-18 | 2024-06-11 | 深圳凯菲尼科技有限公司 | 一种防止技术开锁的智能锁及防技术开锁方法 |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017045347A (ja) * | 2015-08-28 | 2017-03-02 | 日本電気株式会社 | 情報管理装置、通信管理システム、情報通信装置、情報管理方法、および情報管理用プログラム |
| 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 |
| CN107204991A (zh) * | 2017-07-06 | 2017-09-26 | 深信服科技股份有限公司 | 一种服务器异常检测方法及系统 |
| EP3637292B1 (en) * | 2017-07-12 | 2022-08-31 | Nippon Telegraph and Telephone Corporation | Determination device, determination method, and determination program |
| CN107483425B (zh) * | 2017-08-08 | 2020-12-18 | 北京盛华安信息技术有限公司 | 基于攻击链的复合攻击检测方法 |
| CN107644166A (zh) * | 2017-09-22 | 2018-01-30 | 成都知道创宇信息技术有限公司 | 一种基于自动学习的web应用安全防护方法 |
| CN107707545B (zh) * | 2017-09-29 | 2021-06-04 | 深信服科技股份有限公司 | 一种异常网页访问片段检测方法、装置、设备及存储介质 |
| CN111133396B (zh) * | 2017-10-16 | 2023-03-24 | 富士通株式会社 | 生产设备监视装置、生产设备监视方法以及记录介质 |
| JPWO2019181005A1 (ja) * | 2018-03-19 | 2021-03-11 | 日本電気株式会社 | 脅威分析システム、脅威分析方法および脅威分析プログラム |
| US11805149B2 (en) * | 2018-05-21 | 2023-10-31 | Nippon Telegraph And Telephone Corporation | Determination method, determination device and recording medium |
| CN108683670B (zh) * | 2018-05-21 | 2021-08-03 | 中国科学院计算机网络信息中心 | 基于网站应用系统访问的恶意流量识别方法及系统 |
| KR102344293B1 (ko) * | 2018-10-30 | 2021-12-27 | 삼성에스디에스 주식회사 | 보안 로그 전처리 장치 및 방법 |
| JP7297787B2 (ja) * | 2018-11-21 | 2023-06-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 異常検知方法、及び異常検知装置 |
| CN109657475A (zh) * | 2018-12-14 | 2019-04-19 | 平安城市建设科技(深圳)有限公司 | 代码漏洞排查方法、装置、设备及存储介质 |
| RU2724710C1 (ru) * | 2018-12-28 | 2020-06-25 | Акционерное общество "Лаборатория Касперского" | Система и способ классификации объектов вычислительной системы |
| JP7186637B2 (ja) * | 2019-02-21 | 2022-12-09 | 三菱電機株式会社 | 検知ルール群調整装置および検知ルール群調整プログラム |
| US12033035B2 (en) * | 2019-09-04 | 2024-07-09 | Advanced Micro Devices, Inc. | Method and apparatus for predicting kernel tuning parameters |
| US11716338B2 (en) * | 2019-11-26 | 2023-08-01 | Tweenznet Ltd. | System and method for determining a file-access pattern and detecting ransomware attacks in at least one computer network |
| CN111988305B (zh) * | 2019-12-18 | 2022-06-03 | 北京神州慧安科技有限公司 | 应用于物联网的数据节点异常行为检测方法及服务器 |
| US12212590B2 (en) * | 2019-12-24 | 2025-01-28 | Nec Corporation | Information processing apparatus, threat information evaluation system, information processing method, and non-transitory computer readable medium |
| CN110798488B (zh) * | 2020-01-03 | 2020-04-14 | 北京东方通科技股份有限公司 | Web应用攻击检测方法 |
| CN112003824B (zh) * | 2020-07-20 | 2023-04-18 | 中国银联股份有限公司 | 攻击检测方法、装置及计算机可读存储介质 |
| CN114039796B (zh) * | 2021-11-26 | 2023-08-22 | 安天科技集团股份有限公司 | 网络攻击的确定方法、装置、计算机设备及存储介质 |
| JP7647994B2 (ja) * | 2022-02-22 | 2025-03-18 | 日本電信電話株式会社 | 生成装置、生成方法および生成プログラム |
| CN114785621B (zh) * | 2022-06-17 | 2022-11-01 | 上海斗象信息科技有限公司 | 漏洞检测方法、装置、电子设备及计算机可读存储介质 |
| CN117389980B (zh) * | 2023-12-08 | 2024-02-09 | 成都康特电子科技股份有限公司 | 日志文件分析方法及装置、计算机设备和可读存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011086192A (ja) * | 2009-10-16 | 2011-04-28 | Nippon Telegr & Teleph Corp <Ntt> | 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム |
| JP2013236308A (ja) * | 2012-05-10 | 2013-11-21 | Fujitsu Ltd | メールチェック方法、メールチェック装置、及び、メールチェックプログラム |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2881597A1 (fr) | 2005-02-01 | 2006-08-04 | France Telecom | Procede et systeme de detection automatique d'intrusions |
| US20070282982A1 (en) | 2006-06-05 | 2007-12-06 | Rhonda Childress | Policy-Based Management in a Computer Environment |
| CN100504903C (zh) | 2007-09-18 | 2009-06-24 | 北京大学 | 一种恶意代码自动识别方法 |
| CN101350054B (zh) | 2007-10-15 | 2011-05-25 | 北京瑞星信息技术有限公司 | 计算机有害程序自动防护方法及装置 |
| US9110882B2 (en) * | 2010-05-14 | 2015-08-18 | Amazon Technologies, Inc. | Extracting structured knowledge from unstructured text |
| CN101950340B (zh) | 2010-09-17 | 2012-05-23 | 北京航空航天大学 | 一种面向计算机网络防御策略转换的语义相似度检测系统 |
| US9679491B2 (en) * | 2013-05-24 | 2017-06-13 | Qualcomm Incorporated | Signaling device for teaching learning devices |
-
2015
- 2015-06-01 US US15/315,756 patent/US10243982B2/en active Active
- 2015-06-01 EP EP15803764.8A patent/EP3136249B1/en active Active
- 2015-06-01 JP JP2016525161A patent/JP6106340B2/ja active Active
- 2015-06-01 WO PCT/JP2015/065772 patent/WO2015186662A1/ja not_active Ceased
- 2015-06-01 CN CN201580029516.1A patent/CN106415507B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011086192A (ja) * | 2009-10-16 | 2011-04-28 | Nippon Telegr & Teleph Corp <Ntt> | 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム |
| JP2013236308A (ja) * | 2012-05-10 | 2013-11-21 | Fujitsu Ltd | メールチェック方法、メールチェック装置、及び、メールチェックプログラム |
Non-Patent Citations (1)
| Title |
|---|
| YANG ZHONG ET AL.: "An Anomaly Detection Method for Parameter Manipulation Attacks to Web Application", CSS2014 COMPUTER SECURITY SYMPOSIUM 2014 RONBUNSHU GODO KAISAI MALWARE TAISAKU KENKYU JINZAI IKUSEI WORKSHOP 2014 IPSJ SYMPOSIUM SERIES, vol. 2014, no. 2, 15 October 2014 (2014-10-15), pages 474 - 481, XP008185245 * |
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108322428A (zh) * | 2017-01-18 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种异常访问检测方法及设备 |
| CN108322428B (zh) * | 2017-01-18 | 2021-11-05 | 阿里巴巴集团控股有限公司 | 一种异常访问检测方法及设备 |
| WO2018159337A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電信電話株式会社 | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム |
| WO2018159362A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電信電話株式会社 | ログ分析装置、ログ分析方法およびログ分析プログラム |
| WO2018159380A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電信電話株式会社 | 学習装置、再学習要否判定方法及び再学習要否判定プログラム |
| JPWO2018159337A1 (ja) * | 2017-03-03 | 2019-06-27 | 日本電信電話株式会社 | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム |
| JPWO2018159362A1 (ja) * | 2017-03-03 | 2019-08-08 | 日本電信電話株式会社 | ログ分析装置、ログ分析方法およびログ分析プログラム |
| US12160432B2 (en) | 2017-03-03 | 2024-12-03 | Nippon Telegraph And Telephone Corporation | Log analysis apparatus, log analysis method, and log analysis program |
| US11470097B2 (en) | 2017-03-03 | 2022-10-11 | Nippon Telegraph And Telephone Corporation | Profile generation device, attack detection device, profile generation method, and profile generation computer program |
| US11233809B2 (en) | 2017-03-03 | 2022-01-25 | Nippon Telegrape And Telephone Corporation | Learning device, relearning necessity determination method, and relearning necessity determination program |
| JPWO2019225228A1 (ja) * | 2018-05-21 | 2020-12-10 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
| JPWO2019225251A1 (ja) * | 2018-05-21 | 2020-12-10 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
| WO2019225251A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
| US12028352B2 (en) | 2018-05-21 | 2024-07-02 | Nippon Telegraph And Telephone Corporation | Learning method, learning device, and learning program |
| WO2019225228A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 学習方法、学習装置及び学習プログラム |
| WO2019235074A1 (ja) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | 生成方法、生成装置および生成プログラム |
| US11563717B2 (en) | 2018-06-04 | 2023-01-24 | Nippon Telegraph And Telephone Corporation | Generation method, generation device, and recording medium |
| WO2022107296A1 (ja) * | 2020-11-19 | 2022-05-27 | 日本電信電話株式会社 | 推定装置、推定方法、および、推定プログラム |
| AU2020477732B2 (en) * | 2020-11-19 | 2024-02-01 | Ntt, Inc. | Estimation device, estimation method, and estimation program |
| US12513171B2 (en) | 2020-11-19 | 2025-12-30 | Ntt, Inc. | Estimation device, estimation method, and estimation program |
| CN115967575A (zh) * | 2022-12-30 | 2023-04-14 | 武汉绿色网络信息服务有限责任公司 | Http请求夹带检测方法、装置、电子设备及存储介质 |
| CN118172849A (zh) * | 2024-03-18 | 2024-06-11 | 深圳凯菲尼科技有限公司 | 一种防止技术开锁的智能锁及防技术开锁方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6106340B2 (ja) | 2017-03-29 |
| EP3136249B1 (en) | 2018-12-19 |
| CN106415507A (zh) | 2017-02-15 |
| JPWO2015186662A1 (ja) | 2017-04-20 |
| EP3136249A1 (en) | 2017-03-01 |
| US10243982B2 (en) | 2019-03-26 |
| CN106415507B (zh) | 2019-05-21 |
| US20170126724A1 (en) | 2017-05-04 |
| EP3136249A4 (en) | 2018-01-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6106340B2 (ja) | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム | |
| US9032516B2 (en) | System and method for detecting malicious script | |
| Kim et al. | Improvement of malware detection and classification using API call sequence alignment and visualization | |
| Shibahara et al. | Efficient dynamic malware analysis based on network behavior using deep learning | |
| US9781139B2 (en) | Identifying malware communications with DGA generated domains by discriminative learning | |
| US10462168B2 (en) | Access classifying device, access classifying method, and access classifying program | |
| US10158664B2 (en) | Malicious code detection | |
| JP6503141B2 (ja) | アクセス分類装置、アクセス分類方法及びアクセス分類プログラム | |
| JP6697123B2 (ja) | プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム | |
| JP6473234B2 (ja) | 分析方法、分析装置、および分析プログラム | |
| JP2016091549A (ja) | マルウェアイベントとバックグラウンドイベントとを分離するためのシステム、デバイス、および方法 | |
| TWI801287B (zh) | 用於產生階層式有向無環圖的事件視覺化裝置與相關的電腦程式產品 | |
| JPWO2018066221A1 (ja) | 分類装置、分類方法及び分類プログラム | |
| JP6691240B2 (ja) | 判定装置、判定方法、および、判定プログラム | |
| KR20220157565A (ko) | 웹 스캐닝 공격 탐지 장치 및 방법 | |
| Khan et al. | A dynamic method of detecting malicious scripts using classifiers | |
| CN114222989B (zh) | 用于端点扫描的多功能代理 | |
| KR101619059B1 (ko) | 악성 스크립트 탐지를 위한 경량 시그니처 생성 및 배포 장치, 시스템 및 방법 | |
| Erdemir et al. | SCORE: Syntactic Code Representations for Static Script Malware Detection | |
| CN115150160A (zh) | 一种网络攻击特征的检测方法及系统 | |
| Vyawhare et al. | Machine learning system for malicious website detection using concept drift detection | |
| Maqsood et al. | Feature Fusion-Based Ensemble Approach for Robust Malware Detection with Reduced False Positives | |
| Shi et al. | A new multitasking malware classification model based on feature fusion | |
| Rai et al. | Advancing Malware Detection with Machine Learning Algorithms | |
| WO2019225251A1 (ja) | 学習方法、学習装置及び学習プログラム |
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: 15803764 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2016525161 Country of ref document: JP Kind code of ref document: A |
|
| REEP | Request for entry into the european phase |
Ref document number: 2015803764 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2015803764 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15315756 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |