KR101091204B1 - A method for intrusion detection by pattern search - Google Patents
A method for intrusion detection by pattern search Download PDFInfo
- Publication number
- KR101091204B1 KR101091204B1 KR1020100017807A KR20100017807A KR101091204B1 KR 101091204 B1 KR101091204 B1 KR 101091204B1 KR 1020100017807 A KR1020100017807 A KR 1020100017807A KR 20100017807 A KR20100017807 A KR 20100017807A KR 101091204 B1 KR101091204 B1 KR 101091204B1
- Authority
- KR
- South Korea
- Prior art keywords
- string
- forbidden
- vertices
- pattern
- vertex
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Virology (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 대량 패턴 검색을 통한 침입 탐지 방법에 관한 것으로서, 보다 구체적으로는 특정 문자열들을 금지문자열 집합으로 정의하는 단계, 정의된 상기 금지문자열 집합의 부분 문자열을 정점과 간선으로 표시하여 일반화접미사트리(Generalized Suffix Tree, 일반화접미사트리)를 생성하는 단계, 상기 일반화접미사트리를 이용하여 상기 금지문자열 집합의 진접미사 집합으로 정점을 표시하고 간선으로 방향 구조를 나타내어, 상기 금지문자열이 포함되는 경우 다른 정점으로 이동하지 않는 방향 그래프를 생성하는 단계, 및 네트워크상의 문자열을 상기 방향 그래프에 통과시켜 상기 방향 그래프 내의 간선을 따라 정점들을 순회하는지에 여부에 따라 악성 패턴 발생을 판단하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는, 패턴 검색을 통한 침입 탐지 방법 및 그 기록 매체에 따르면, 알려진 공격 기법 또는 악성 코드들이 가지는 패턴을 금지문자열들로 정의한 뒤, 주어진 입력 문자열에 대해 금지문자열 여부를 효율적으로 판단할 수 있다. 특히 이러한 판단 알고리즘의 성능을 높이기 위해 금지문자열들을 전처리하여 효율적인 방향 그래프를 생성함으로써, 금지문자열의 수와 무관하게 이 그래프의 1회 처리만으로 판단이 완료할 수 있다.The present invention relates to an intrusion detection method using a bulk pattern search, and more particularly, to define specific strings as a prohibited string set, and to display a generalized suffix tree by displaying a substring of the defined prohibited string set as vertices and edges. Creating a generalized suffix tree, using the generalized suffix tree to represent vertices as a set of suffixes of the set of forbidden strings and indicating a direction structure with edges, where the forbidden string is included; Generating a directional graph that does not move, and determining the occurrence of a malicious pattern according to whether a string on a network passes through the directional graph to traverse vertices along the edges in the directional graph; It features.
According to the intrusion detection method through the pattern search and the recording medium proposed by the present invention, the pattern of known attack techniques or malicious codes are defined as prohibited strings, and then efficient determination of a prohibited string for a given input string is performed. can do. In particular, in order to improve the performance of the decision algorithm, by generating the efficient direction graph by preprocessing the forbidden strings, the judgment can be completed by only one process of the graph regardless of the number of forbidden strings.
Description
본 발명은 패턴 검색을 통한 침입 탐지 방법에 관한 것으로서, 보다 구체적으로는 컴퓨터 시스템 또는 네트워크상에서 공격 패턴을 효율적으로 탐지하기 위한 패턴 검색을 통한 침입 탐지 방법에 관한 것이다.The present invention relates to an intrusion detection method through a pattern search, and more particularly, to an intrusion detection method through a pattern search for efficiently detecting attack patterns on a computer system or a network.
컴퓨터 및 인터넷의 보급과 함께 해킹(hacking) 및 크래킹(cracking) 등 불법적인 방법으로 시스템에 침입하고자 하는 시도도 증가하고 있으며 이러한 공격 방법들은 점차 지능화되고 다양해지고 있다. 이에 안티바이러스 소프트웨어(anti-virus software), 방화벽(firewall), 침입탐지시스템(intrusion detection system) 등 공격을 막기 위한 다양한 수단들이 개발되어 사용되고 있으며, 이들은 주로 알려진 악성 코드(malicious code)나 공격 기법들이 가지고 있는 패턴(pattern) 또는 규칙(rule)에 대한 데이터베이스를 구성하여 현재 네트워크를 오고 가는 패킷들이 이 데이터베이스에 저장된 패턴 또는 규칙에 해당하는지를 검사하는 방식을 많이 사용하고 있다.
With the spread of computers and the Internet, attempts to break into systems by illegal methods such as hacking and cracking are increasing, and these attack methods are becoming more intelligent and diversified. Therefore, various means for preventing attacks such as anti-virus software, firewall, intrusion detection system, etc. have been developed and used, and these are mainly known malicious codes or attack techniques. We use a lot of methods to construct a database of patterns or rules that we have to check whether packets going to and from the current network correspond to patterns or rules stored in this database.
즉, 현재 검사 대상인 패킷의 형태가 알려진 공격 패턴 또는 알려진 악성 코드와 유사할 경우 경고를 발생시키거나 해당 패킷을 제거하는 등 적절한 조치를 취하는 방식으로 동작하게 된다. 그러나 공격 기법이 점차 다양해지면서 검사 대상이 되는 패턴 데이터베이스의 크기는 커지는 데 반해 네트워크의 속도는 빨라지면서 단위 시간에 검사해야 하는 대상의 수는 기하급수적으로 증가하고 있다.
In other words, if the shape of the packet currently being inspected is similar to a known attack pattern or a known malicious code, it operates by taking appropriate measures such as generating a warning or removing the packet. However, as the attack techniques become more diverse, the pattern database to be examined increases in size, while the network speed increases, and the number of targets to be scanned in unit time increases exponentially.
특히 패턴을 검사하는 부분이 병목이 되어 전체 네트워크의 성능에 영향을 주어서는 안 되기 때문에 실시간으로 대량의 패턴을 검색할 수 있는 방법을 제공하는 것이 매우 중요하게 된다. 기존에 알려진 있는 패턴 검색 방법으로는 이러한 요구사항을 만족시키기가 어려우며, 성능을 만족시키기 위해 별도의 하드웨어를 장착하는 방법도 많이 이용되고 있으나 이는 비용 측면에서 문제점을 가지고 있다.In particular, it is very important to provide a method for retrieving a large amount of patterns in real time because the part of pattern checking should not be a bottleneck and affect the performance of the entire network. It is difficult to satisfy these requirements with the known pattern search method, and a lot of methods for attaching additional hardware to satisfy the performance are used, but this has a problem in terms of cost.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 알려진 공격 기법 또는 악성 코드들이 가지는 패턴을 금지문자열들로 정의한 뒤, 주어진 입력 문자열에 대해 금지문자열 여부를 효율적으로 판단하는 것을 그 목적으로 한다. 특히 이러한 판단 알고리즘의 성능을 높이기 위해 금지문자열들을 전처리하여 효율적인 방향 그래프를 생성함으로써, 금지문자열의 수와 무관하게 이 그래프의 1회 처리만으로 판단이 완료되도록 하는 패턴 검색을 통한 침입 탐지 방법을 제공하는 것을 그 목적으로 한다.The present invention has been proposed to solve the above problems of the conventionally proposed methods, and after defining a pattern of known attack techniques or malicious codes as prohibited strings, efficiently determining whether the prohibited string is given to a given input string. It is for that purpose. In particular, in order to improve the performance of the decision algorithm, by generating the efficient direction graph by preprocessing the prohibited strings, it provides an intrusion detection method through the pattern search that allows the determination to be completed by only one processing of the graph regardless of the number of prohibited strings. For that purpose.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 패턴 검색을 통한 침입 탐지 방법은,Intrusion detection method through a pattern search, according to a feature of the present invention for achieving the above object,
(1) 특정 문자열들을 금지문자열 집합으로 정의하는 단계;(1) defining specific strings as a prohibited string set;
(2) 정의된 상기 금지문자열 집합의 부분 문자열을 정점과 간선으로 표시하여 일반화접미사트리(Generalized Suffix Tree, 일반화접미사트리)를 생성하는 단계;(2) generating a generalized suffix tree by displaying the defined substring of the forbidden string set as vertices and edges;
(3) 상기 일반화접미사트리를 이용하여 상기 금지문자열 집합의 진접미사 집합으로 정점을 표시하고 간선으로 방향 구조를 나타내어, 상기 금지문자열이 포함되는 경우 다른 정점으로 이동하지 않는 방향 그래프를 생성하는 단계; 및(3) using the generalized suffix tree to display vertices as a set of true suffixes of the forbidden string set and a direction structure with an edge, thereby generating a direction graph that does not move to another vertex when the forbidden string is included; And
(4) 네트워크상의 문자열을 상기 방향 그래프에 통과시켜 상기 방향 그래프 내의 간선을 따라 정점들을 순회하는지에 여부에 따라 악성 패턴 발생을 판단하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
And (4) determining the occurrence of the malicious pattern according to whether or not the character string on the network is passed through the direction graph to traverse the vertices along the edge in the direction graph.
바람직하게는, 금지문자열 집합으로 정의하는 상기 단계는,Preferably, the step of defining a forbidden string set,
유한의 알파벳 집합에서 알려진 공격 패턴 및 악성 코드가 가지는 1개 이상의 문자들이 연결된 문자열을 상기 금지문자열의 집합으로 정의할 수 있다.
In the finite alphabet set, a string in which one or more characters of a known attack pattern and a malicious code are connected may be defined as the forbidden string set.
바람직하게는, 일반화접미사트리를 생성하는 상기 단계는,Preferably, the step of generating a generalized suffix tree,
개시 정점으로부터 단말 정점까지의 경로에 있는 간선의 문자들을 접합시킨 문자열이 상기 정의된 금지문자열 집합 문자열의 접미사와 같도록 표시하여, 상기 금지문자열 집합의 접미사 동일한 개수의 단말 정점이 선형 시간에 생성할 수 있다.
A character string concatenating the characters of the edges in the path from the starting vertex to the terminal vertex is the set of prohibited strings defined above. By displaying the same as the suffix of the character string, the same number of terminal vertices of the suffix of the forbidden string set may be generated in a linear time.
바람직하게는, 방향 그래프를 생성하는 상기 단계는,Preferably, the step of generating a direction graph,
상기 금지문자열 집합의 진접미사 집합으로 정점들을 표시하는 단계,Displaying vertices in the set of pseudo-suffixes of the forbidden string set,
상기 일반화접미사트리의 정점들의 최근접 접미사 조상 정점을 계산하는 단계,Calculating the nearest suffix ancestor vertices of the vertices of the generalized suffix tree;
상기 최근접 접미사 조상 정점의 문자열에 상기 알파벳 중 어느 한 문자로 접두사를 형성한 문자열과 동일한 기존 정점을 계산하는 단계, 및Calculating an existing vertex that is the same as a string formed by prefixing any character of the alphabet to the string of the nearest suffix ancestor vertex, and
상기 표시된 정점들 사이를 상기 계산된 정점으로부터 접두사 형성 전의 상기 최근접 접미사 조상 정점 방향으로 간선을 표시하는 단계를 포함할 수 있다.
And displaying an edge between the displayed vertices from the computed vertex in the direction of the nearest suffix ancestor vertex prior to prefix formation.
바람직하게는, 악성 패턴 발생을 판단하는 상기 단계는,Preferably, the step of determining the occurrence of a malicious pattern,
상기 네트워크상의 문자열을 상기 방향 그래프에 통과시킴으로써 상기 방향 그래프 내의 정점들을 순회하는 경우에는 상기 금지문자열 집합의 문자열들을 포함하지 않고, 다른 정점으로 더 이상 이동 불가능한 경우에는 상기 금지문자열 집합의 문자열들을 포함한 것으로 인식하여 악성 패턴 발생을 판단할 수 있다.The direction graph by passing a character string on the network through the direction graph When traversing the vertices within, the strings of the forbidden string set are not included, and when it is no longer possible to move to another vertex, the occurrence of the malicious pattern may be determined by including the strings of the forbidden string set.
본 발명에서 제안하고 있는, 패턴 검색을 통한 침입 탐지 방법 및 그 기록 매체에 따르면, 알려진 공격 기법 또는 악성 코드들이 가지는 패턴을 금지문자열들로 정의한 뒤, 주어진 입력 문자열에 대해 금지문자열 여부를 효율적으로 판단할 수 있다. 특히 ,이러한 판단 알고리즘의 성능을 높이기 위해 금지문자열들을 전처리하여 효율적인 방향 그래프를 생성함으로써, 금지문자열의 수와 무관하게 이 그래프의 1회 처리만으로 판단이 완료하는 효과가 있다.According to the intrusion detection method through the pattern search and the recording medium proposed by the present invention, the pattern of known attack techniques or malicious codes are defined as prohibited strings, and then efficient determination of a prohibited string for a given input string is performed. can do. In particular, in order to increase the performance of such a decision algorithm, by generating the efficient direction graph by preprocessing the forbidden strings, the decision is completed by only one process of the graph regardless of the number of forbidden strings.
도 1은 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 블록도.
도 2는 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 일반화접미사트리를 나타내는 도면.
도 3은 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 방향 그래프를 생성하는 단계의 순서도.
도 4는 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 방향 그래프를 나타내는 도면.
도 5는 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 악성 패턴 발생을 판단하는 단계의 블록도.1 is a block diagram of an intrusion detection method using a pattern search according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a generalized suffix tree in which a prohibition string set of an intrusion detection method using pattern search according to an embodiment of the present invention is F = {aaa, aba, abb, bbb}. FIG.
Figure 3 is a flow chart of the step of generating a direction graph of the intrusion detection method through a pattern search according to an embodiment of the present invention.
4 is a diagram illustrating a direction graph in which a set of forbidden strings of an intrusion detection method through pattern search according to an embodiment of the present invention is F = {aaa, aba, abb, bbb};
5 is a block diagram of a step of determining the occurrence of a malicious pattern of the intrusion detection method through the pattern search according to an embodiment of the present invention.
이하에서는 첨부된 도면들을 참조하여, 본 발명에 따른 실시예에 대하여 상세하게 설명하기로 한다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 블록도이다. 패턴 검색을 통한 침입 탐지 방법은, 도 1에 도시된 바와 같이, 특정 문자열들을 금지문자열 집합으로 정의하는 단계(200), 정의된 금지문자열 집합의 부분 문자열을 정점과 간선으로 표시하여 일반화접미사트리(Generalized Suffix Tree, 일반화접미사트리)를 생성하는 단계(300), 일반화접미사트리를 이용하여 금지문자열 집합의 진접미사 집합으로 정점을 표시하고 간선으로 방향 구조를 나타내어, 금지문자열이 포함되는 경우 다른 정점으로 이동하지 않는 방향 그래프를 생성하는 단계(400) 및 네트워크상의 문자열을 상기 방향 그래프에 통과시켜 방향 그래프 내의 간선을 따라 정점들을 순회하는지에 여부에 따라 악성 패턴 발생을 판단하는 단계(500)를 포함하는 것을 그 구성상의 특징으로 한다. 알려진 공격 기법 또는 악성 코드들이 가지는 패턴을 금지문자열들로 정의한 뒤, 주어진 입력 문자열에 대해 금지문자열 여부를 효율적으로 판단할 수 있다. 특히 이러한 판단 알고리즘의 성능을 높이기 위해 금지문자열들을 전처리하여 효율적인 방향 그래프를 생성함으로써, 금지문자열의 수와 무관하게 이 그래프의 1회 처리만으로 판단이 완료될 수 있다.
1 is a block diagram of an intrusion detection method using a pattern search according to an embodiment of the present invention. Intrusion detection method using a pattern search, as shown in Figure 1, defining a specific string as a set of prohibited string (200), the substring of the defined forbidden string set is displayed as a vertex and the edge to the generalized suffix tree ( Creating a generalized suffix tree (300), using the generalized suffix tree to mark the vertices as a set of suffixes of the forbidden string set, and to indicate the direction structure as the edges, and to include other forbidden strings. Generating a direction graph that does not move (400) and determining a malicious pattern occurrence according to whether to traverse the vertices along an edge in the direction graph by passing a string on the network through the direction graph; It is characterized by the configuration thereof. By defining the patterns of known attack techniques or malicious codes as prohibited strings, it is possible to efficiently determine whether a prohibited string is provided for a given input string. In particular, in order to improve the performance of the decision algorithm, by generating the efficient direction graph by preprocessing the forbidden strings, the determination can be completed by only one process of the graph regardless of the number of the forbidden strings.
금지문자열 집합으로 정의하는 단계(200)는, 도 1에 도시된 바와 같이, 유한의 알파벳 집합에서 알려진 공격 패턴 및 악성 코드가 가지는 1개 이상의 문자들이 연결된 문자열을 금지문자열의 집합으로 정의할 수 있다. 문자열은 유한 알파벳 집합 Σ에서 0개 이상의 문자들이 연결된 형태이다. 공백문자열은 ε로 나타낼 수 있다. 상수 크기 알파벳에서, 금지문자열로 구성된 집합 F ={f1, f2, …, fm}이 주어질 때, 문자열 x가 금지문자열 fi를 포함하지 않으면, x를 fi의 비상위문자열(nonsuperstring)이라 하고 만약 문자열 x가 F내의 모든 금지문자열 fi(1≤i≤m)를 포함하지 않으면, x를 F의 공통비상위문자열(common nonsuperstring)이라 한다. 또한, 문자열 x가 유한길이이고, F의 공통비상위문자열들 중 가장 긴 문자열이면, x를 F의 최장 공통 비상위문자열(the longest common nonsuperstring)이라 한다. 편의를 위해 입력으로 들어오는 금지문자열집합 F에 대해 다음을 만족함을 가정한다. 첫째, 금지문자열 fi는 다른 금지문자열 fj(i≠j)의 부분문자열이 아니다. 만약 상기 조건을 만족하지 않는다 해도 O(∥F∥) 시간인 선형 시간에 동일한 공통비상위문자열 집합을 생성하는 금지문자열집합을 생성할 수 있다.The defining
도 2는 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 일반화접미사트리를 나타내는 도면이다. 일반화접미사트리(Generalized Suffix Tree, 일반화접미사트리)를 생성하는 단계(300)는, 도 2에 도시된 바와 같이, 개시 정점으로부터 단말 정점까지의 경로에 있는 간선의 문자들을 접합시킨 문자열이 정의된 금지문자열 집합 문자열의 접미사와 같도록 표시하여, 금지문자열 집합의 접미사 동일한 개수의 단말 정점이 선형 시간에 생성할 수 있다. 두 문자열 α,β의 연결(concatennation)을 αβ 라고 표기하고 문자열 α의 길이를 |α|로 표기하고 α의 i번째 문자는 α[i]로 나타내기로 하는 경우, 공백문자열의 길이는 |ε|=0이다. 문자열 β가 α[i]α[i+1]…α[j]의 연결이라 할 때, β를 α[i…j]라 표기하고, β를 α의 부분문자열(substring)이라 한다. 반대로 α를 β의 상위문자열(superstring)이라 한다. 문자열 α에서 i≤|α|일 때 α[i…j]를 α의 접두사(prefix)라 하고, i<|α|일 때 α[i…j]를 α의 진접두사(proper prefix)라 한다. 유사하게 i≥1 일 때 α[i…|α|]를 α의 접미사(suffix)라 하고, i>1 일 때 α[i…|α|]를 α의 진접미사(proper suffix)라 한다.
FIG. 2 is a diagram illustrating a generalized suffix tree in which a prohibition string set is F = {aaa, aba, abb, bbb} of the intrusion detection method through pattern search according to an embodiment of the present invention. Generating a generalized suffix tree (300), as shown in Fig. 2, is a prohibition in which a character string concatenating the characters of the edges in the path from the starting vertex to the terminal vertex, as shown in FIG. String set By displaying the same as the suffix of the string, the same number of terminal vertices of the suffix of the forbidden string set can be generated in a linear time. When the concatennation of two strings α and β is denoted by αβ, the length of the string α is denoted by | α |, and the i-th character of α is denoted by α [i], the length of the empty string is | ε | = 0. The character string β is alpha [i] alpha [i + 1]... When [alpha] [j] is connected, β is represented by α [i…]. j] and β is called a substring of α. In contrast, α is called the superstring of β. Α [i…] when i ≦ | α | j] is called the prefix of α, and when i <| α | j] is called the prefix prefix of α. Similarly, when i≥1, α [i... | α |] is referred to as the suffix of α, and when i> 1, α [i... | α |] is called the proper suffix of α.
단말 정점에 있는 숫자는 접미사의 인덱스이고, 간선에 표시된 문자열은 각 간선이 나타내는 부분 문자열로서 접미사 트리의 단말 정점은 각 접미사와 일대일 대응을 이룬다. 따라서 단말 정점의 개수는 접미사 개수의 수와 같다. 그리고 모든 내부 정점은 두 개 이상의 자식을 가지므로 전체 정점의 수는 접미사 개수의 2배를 넘지 않는다. 그리고 각 정점은 문자열을 표시하기 위해 시작과 끝 위치를 저장하므로 접미사 트리를 유지하기 위한 저장 공간은 문자열의 길이에 비례한다. 그러므로 일반화접미사트리는 선형 시간에 생성될 수 있으므로, 일반화접미사트리를 생성하는 단계(300)는 O(∥F∥)에 완료할 수 있다.The number at the terminal vertex is the index of the suffix, and the string displayed on the edge is a substring represented by each edge, and the terminal vertex of the suffix tree has one-to-one correspondence with each suffix. Thus, the number of terminal vertices is equal to the number of suffixes. And since every internal vertex has more than one child, the total number of vertices is no more than twice the number of suffixes. Each vertex stores its start and end positions to represent the string, so the storage space for holding the suffix tree is proportional to the length of the string. Therefore, since the generalized suffix tree may be generated in linear time, the
도 3은 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 방향 그래프를 생성하는 단계의 순서도이고 도 4는 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 금지 문자열 집합이 F={aaa, aba, abb, bbb}인 방향 그래프를 나타내는 도면이다. 방향 그래프를 생성하는 단계(400)는, 도 3 및 4에 도시된 바와 같이, 금지문자열 집합의 진접미사 집합으로 정점들을 표시하는 단계(410), 일반화접미사트리의 정점들의 최근접 접미사 조상 정점을 계산하는 단계(420), 최근접 접미사 조상 정점의 문자열에 알파벳 중 어느 한 문자로 접두사를 형성한 문자열과 동일한 기존 정점을 계산하는 단계(430) 및 표시된 정점들 사이를 계산된 정점으로부터 접두사 형성 전의 최근접 접미사 조상 정점 방향으로 간선을 표시하는 단계(440)를 포함할 수 있다.
3 is a flowchart of a step of generating a direction graph of the intrusion detection method through the pattern search according to an embodiment of the present invention and FIG. 4 is a set of prohibition strings of the intrusion detection method through the pattern search according to an embodiment of the present invention. It is a figure which shows the direction graph which F = {aaa, aba, abb, bbb}. In
금지문자열 집합의 진접미사 집합으로 정점들을 표시하는 단계(410)는 F내의 모든 금지문자열 fi(1≤i≤m)의 진접미사 집합을 S라 하고 S에 n개의 서로 다른 원소가 있다고 가정하면 즉, S={s1, …, sn}이고 정점 집합(the set of vertices) V는 각 si∈S(1≤i≤n)에 대해, 새로운 정점 vi가 대응된다. 따라서 정점 집합 V와 진접미사 집합 S는 1:1 대응된다.
Marking the vertices as a set of forbidden strings of the forbidden string set 410 assumes that the set of all of the forbidden strings of forbidden string fi (1 ≦ i ≦ m) in F is S and that there are n different elements in S; , S = {s 1 ,.. , s n } and the set of vertices V corresponds to a new vertex vi for each s i ∈S (1 ≦ i ≦ n). Therefore, the vertex set V and the pseudo-similar set S correspond to 1: 1.
일반화접미사트리의 정점들의 최근접 접미사 조상 정점을 계산하는 단계(420)는 일반화접미사트리에서 정점 x가 L(x)∈S∪F를 만족하면 정점 x를 접미사 정점(suffix-node)라 한다. 따라서 x가 접미사 정점이면 x의 자식(leaf) 정점 y에 대해 label(x,y)=$를 만족한다. 이때 리프 y를 x의 접미사 정점(suffix-node)이라 한다. 정점 x의 최근접 접미사 조상 (nearest suffix-ancestor) z는, x 조상들 중 접미사 정점을 만족하는 가장 가까운 정점을 의미한다.
Computing the closest suffix ancestor vertexes of the vertices of the generalized suffix tree is vertex x in the generalized suffix tree. When L (x) ∈S∪F is satisfied, vertex x is called a suffix-node. Thus, if x is a suffix vertex, then label (x, y) = $ is satisfied for the leaf vertex y of x. The leaf y is called the suffix-node of x. The nearest suffix-ancestor z of vertex x means the nearest vertex that satisfies the suffix vertex among the x ancestors.
최근접 접미사 조상 정점의 문자열에 알파벳 중 어느 한 문자로 접두사를 형성한 문자열과 동일한 기존 정점을 계산하는 단계(430)는 각 리프 li와 각 문자 σ(∈Σ)의 쌍에 대해 link(li,σ)를 다음과 같이 정의한다. 문자열 σstr(li)의 접두사중 S∪F에 속하는 최장 접두사를 α라 할 때, str(lj)=α를 만족하는 리프 lj를 계산할 수 있다. 일반화접미사트리는 S∪F의 모든 문자열을 나타내므로 lj는 항상 존재 한다. 이때, link(li,σ)=lj 로 정의된다.
Computing an existing vertex that is identical to a string prefixed with any one of the letters in the string of the nearest suffix ancestor vertex,
표시된 정점들 사이를 계산된 정점으로부터 접두사 형성 전의 최근접 접미사 조상 정점 방향으로 간선을 표시하는 단계(440)의 간선 집합(the set of edges) E는 우선 각 si∈S(1≤i≤n)에 대해, Pi σ를 다음과 같이 정의한다. Pi σ={y|y∈S∪F 이고 y는 σsi의 접두사이다.} 또한, Pi σ의 원소 중 가장 긴 문자열이 sj(∈S)일 때, 대응되는 정점 vj에서 vi로 향하는 간선을 정의한다. 즉, 임의의 두 정점의 쌍 <vj, vi>에 대해서, vj에서 vi로 가는 간선이 존재한다 함은, Pi sj [1]의 원소 중 가장 긴 문자열이 sj인 것을 의미한다. 또한 Pi σ의 원소 중 가장 긴 문자열이 F에 속하라 때, 어떠한 간선도 정의되지 않는다. 각 si∈S와 σ∈Σ에 대해, 하나의 간선만 정의되므로, 각 정점마다 기껏해야 |Σ| 만큼의 들어오는 간선만 정의된다. 따라서 상수 크기 알파벳에서, 총 간선의 수는 O(∥F∥)에 바운드 된다.
The set of edges E in
도 5는 본 발명의 일실시예에 따른 패턴 검색을 통한 침입 탐지 방법의 악성 패턴 발생을 판단하는 단계의 블록도이다. 악성 패턴 발생을 판단하는 단계(500)는, 도 5에 도시된 바와 같이, 네트워크상의 문자열을 방향 그래프에 통과시킴으로써 방향 그래프 내의 정점들을 순회(510)하는 경우에는 금지문자열 집합의 문자열들을 포함하지 않고, 다른 정점으로 더 이상 이동 불가능(520)한 경우에는 금지문자열 집합의 문자열들을 포함한 것으로 인식하여 악성 패턴 발생을 판단할 수 있다. 정의된 금지문자열들의 x 패킷(문자열) 전체를 방향 그래프에 통과시킨다. 방향 그래프의 정의와 특성에 의해 문자열이 방향 그래프 내의 간선을 따라 정점들을 순회하고 있다면 그 경로에 존재하는 간선들의 문자들을 차례로 연결하여 얻어진 문자열은 금지문자열들을 포함하지 않고 있다. 그러나 패킷에 금지패턴이 포함되어 있다면 그 패턴이 발생하는 순간 방향 그래프에서는 다른 정점으로 이동할 수 없게 되며 이에 따라 금지패턴이 발생했음을 인지할 수 있다.
5 is a block diagram of a step of determining the occurrence of a malicious pattern of the intrusion detection method through the pattern search according to an embodiment of the present invention. Determining the occurrence of the
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.The present invention described above may be variously modified or applied by those skilled in the art, and the scope of the technical idea according to the present invention should be defined by the following claims.
200: 금지문자열 정의
300: 일반화접미사트리 생성
400: 방향 그래프 생성
410: 진접미사 집합으로 정점표시
420: 최근접 접미사 조상 정점 계산
430: 접두사 형성 문자열과 동일한 기존 정점 계산
440: 계산 정점으로부터 최근접 접미사 조상 정점으로 간선 표시
500: 악성패턴 발생 판단
510: 네트워크 상의 문자열
520: 방향 그래프 순회
530: 방향 그래프 이동 불가능200: Define prohibited string
300: Create generalized suffix tree
400: Create Direction Graph
410: vertex as a set of close miss
420: Calculate nearest suffix ancestor vertexes
430: Calculate existing vertices equal to prefix-formed string
440: Show edges from computed vertices to nearest suffix ancestor vertices
500: Determination of malicious pattern occurrence
510: string on the network
520: directional graph traversal
530: Cannot move direction graph
Claims (5)
(1) 특정 문자열들을 금지문자열 집합으로 정의하는 단계;
(2) 정의된 상기 금지문자열 집합의 부분 문자열을 정점과 간선으로 표시하여 일반화접미사트리(Generalized Suffix Tree)를 생성하는 단계 - 여기서, '일반화접미사트리'란, 접미사트리를 문자열 집합에 대한 자료구조로 확장한 것을 말함 -;
(3) 상기 일반화접미사트리를 이용하여 상기 금지문자열 집합의 진접미사 집합으로 정점을 표시하고 간선으로 방향 구조를 나타내어, 상기 금지문자열이 포함되는 경우 다른 정점으로 이동하지 않는 방향 그래프를 생성하는 단계 - 여기서, i>1일 때 α[i…|α|]를 α의 '진접미사(proper suffix)'라 함 -; 및
(4) 네트워크상의 문자열을 상기 방향 그래프에 통과시켜 상기 방향 그래프 내의 간선을 따라 정점들을 순회하는지에 여부에 따라 악성 패턴 발생을 판단하는 단계를 포함하며,
악성 패턴 발생을 판단하는 상기 단계는,
상기 네트워크상의 문자열을 상기 방향 그래프에 통과시킴으로써 상기 방향 그래프 내의 정점들을 순회하는 경우에는 상기 금지문자열 집합의 문자열들을 포함하지 않고, 다른 정점으로 더 이상 이동 불가능한 경우에는 상기 금지문자열 집합의 문자열들을 포함한 것으로 인식하여 악성 패턴 발생을 판단하는 것을 특징으로 하는, 패턴 검색을 통한 침입 탐지 방법.
Intrusion detection method through pattern search on computer system or network,
(1) defining specific strings as a prohibited string set;
(2) generating a generalized suffix tree by displaying the defined substring of the forbidden string set as vertices and edges, where 'generalized suffix tree' is a data structure for a string set. Expands to-;
(3) using the generalized suffix tree to display vertices as a set of true suffixes of the forbidden string set and to indicate a direction structure with an edge, and generating a direction graph that does not move to another vertex when the forbidden string is included; Here, when i> 1, α [i... | α |] is referred to as the 'proper suffix' of α-; And
(4) passing a character string on a network through the direction graph to determine occurrence of a malicious pattern according to whether to traverse vertices along an edge in the direction graph,
The step of determining the occurrence of a malicious pattern,
The direction graph by passing a character string on the network through the direction graph When circulating the vertices in the pattern does not include the string of the set of prohibited string, if it is impossible to move to another vertex, it is recognized as including the string of the forbidden string set pattern, characterized in that determining the occurrence of a malicious pattern How to detect intrusions by searching.
유한의 알파벳 집합에서 알려진 공격 패턴 및 악성 코드가 가지는 1개 이상의 문자들이 연결된 문자열을 상기 금지문자열의 집합으로 정의하는 것을 특징으로 하는, 패턴 검색을 통한 침입 탐지 방법.
The method of claim 1, wherein the defining of the forbidden string set includes:
Intrusion detection method using a pattern search, characterized in that the character string of the at least one character of the attack pattern and the malicious code in a set of finite alphabet set is defined as the set of the forbidden string.
개시 정점으로부터 단말 정점까지의 경로에 있는 간선의 문자들을 접합시킨 문자열이 상기 정의된 금지문자열 집합 문자열의 접미사와 같도록 표시하여, 상기 금지문자열 집합의 접미사와 동일한 개수의 단말 정점을 선형 시간에 생성하는 것을 특징으로 하는, 패턴 검색을 통한 침입 탐지 방법.
The method of claim 1, wherein generating a generalized suffix tree comprises:
A character string concatenating the characters of the edges in the path from the starting vertex to the terminal vertex is the set of prohibited strings defined above. Displaying the same as the suffix of the character string, to generate the same number of terminal vertices in the linear time to the suffix of the forbidden string set, intrusion detection method through the pattern search.
상기 금지문자열 집합의 진접미사 집합으로 정점들을 표시하는 단계;
상기 일반화접미사트리의 정점들의 최근접(最近接) 접미사 조상 정점을 계산하는 단계;
상기 최근접 접미사 조상 정점의 문자열에 알파벳 중 어느 한 문자로 접두사를 형성한 문자열과 동일한 기존 정점을 계산하는 단계; 및
상기 표시된 정점들 사이를 상기 계산된 정점으로부터 접두사 형성전의 상기 최근접 접미사 조상 정점 방향으로 간선을 표시하는 단계를 포함하는 것을 특징으로 하는, 패턴 검색을 통한 침입 탐지 방법.The method of claim 1, wherein generating the direction graph comprises:
Displaying vertices in the set of pseudo-suffixes of the forbidden string set;
Calculating the nearest suffix ancestor vertexes of the vertices of the generalized suffix tree;
Calculating an existing vertex that is the same as a string formed by prefixing any character of the alphabet to the string of the nearest suffix ancestor vertex; And
And displaying an edge between the displayed vertices from the calculated vertex in the direction of the nearest suffix ancestor vertex prior to prefix formation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100017807A KR101091204B1 (en) | 2010-02-26 | 2010-02-26 | A method for intrusion detection by pattern search |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100017807A KR101091204B1 (en) | 2010-02-26 | 2010-02-26 | A method for intrusion detection by pattern search |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110098269A KR20110098269A (en) | 2011-09-01 |
KR101091204B1 true KR101091204B1 (en) | 2011-12-09 |
Family
ID=44951849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100017807A KR101091204B1 (en) | 2010-02-26 | 2010-02-26 | A method for intrusion detection by pattern search |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101091204B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465912B2 (en) | 2013-05-03 | 2016-10-11 | Samsung Electronics Co., Ltd. | Method and apparatus for mining temporal pattern |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9342366B2 (en) | 2012-10-17 | 2016-05-17 | Electronics And Telecommunications Research Institute | Intrusion detection apparatus and method using load balancer responsive to traffic conditions between central processing unit and graphics processing unit |
KR101537996B1 (en) * | 2012-10-17 | 2015-07-23 | 한국전자통신연구원 | Apparatus and method for intrusion detection with traffic condition load balancer between cpu and gpu |
KR101436874B1 (en) * | 2013-10-18 | 2014-09-11 | 한국전자통신연구원 | Apparatus and method for improving detection performance of intrusion detection system |
KR102192479B1 (en) * | 2014-04-23 | 2020-12-17 | 삼성전자주식회사 | Method for analysing prgoram code of electonic device and electronic device |
KR101726360B1 (en) * | 2015-06-29 | 2017-04-13 | 한양대학교 산학협력단 | Method and server for generating suffix tree, method and server for detecting malicious code with using suffix tree |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120947A1 (en) * | 2001-12-26 | 2003-06-26 | Moore Robert Edward | Identifying malware containing computer files using embedded text |
-
2010
- 2010-02-26 KR KR1020100017807A patent/KR101091204B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120947A1 (en) * | 2001-12-26 | 2003-06-26 | Moore Robert Edward | Identifying malware containing computer files using embedded text |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465912B2 (en) | 2013-05-03 | 2016-10-11 | Samsung Electronics Co., Ltd. | Method and apparatus for mining temporal pattern |
Also Published As
Publication number | Publication date |
---|---|
KR20110098269A (en) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Le et al. | URLNet: Learning a URL representation with deep learning for malicious URL detection | |
US8990259B2 (en) | Anchored patterns | |
KR101091204B1 (en) | A method for intrusion detection by pattern search | |
Jiang et al. | A deep learning based online malicious URL and DNS detection scheme | |
Liu et al. | A fast string-matching algorithm for network processor-based intrusion detection system | |
JP4855400B2 (en) | Method and system for multi-pattern search | |
US20120331554A1 (en) | Regex Compiler | |
US20140330850A1 (en) | Fast identification of complex strings in a data stream | |
Najam et al. | Speculative parallel pattern matching using stride-k DFA for deep packet inspection | |
US20160321289A1 (en) | Method and Apparatus for Generating a Plurality of Indexed Data Fields | |
Abbasi et al. | Deep learning-based feature extraction and optimizing pattern matching for intrusion detection using finite state machine | |
Hwang et al. | Semi-supervised based unknown attack detection in EDR environment | |
Geethanjali | A multi-fusion pattern matching algorithm for signature-based network intrusion detection system | |
Levy et al. | Online parameterized dictionary matching with one gap | |
Kozik et al. | The http content segmentation method combined with adaboost classifier for web-layer anomaly detection system | |
CN114024701A (en) | Domain name detection method, device and communication system | |
CN107463845A (en) | A kind of detection method, system and the computer-processing equipment of SQL injection attack | |
Sheu et al. | Hierarchical multi-pattern matching algorithm for network content inspection | |
Mendivelso et al. | Finding overlaps within regular expressions with variable-length gaps | |
Haghighat et al. | Hes: highly efficient and scalable technique for matching regex patterns | |
Zhang et al. | A fast regular expressions matching algorithm for nids | |
Rayala et al. | Malicious URL Detection using Logistic Regression | |
Ho et al. | A study of a pattern matching performance scheme using q-gram index with next byte range | |
CN116668074A (en) | Method, equipment, medium and system for detecting malicious PDF (portable document format) file | |
Kouzinopoulos et al. | Multiple pattern matching: Survey and experimental results |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140818 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151001 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160912 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170829 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |