KR102006220B1 - Apparatus and method for reconfiguring signiture - Google Patents

Apparatus and method for reconfiguring signiture Download PDF

Info

Publication number
KR102006220B1
KR102006220B1 KR1020180059159A KR20180059159A KR102006220B1 KR 102006220 B1 KR102006220 B1 KR 102006220B1 KR 1020180059159 A KR1020180059159 A KR 1020180059159A KR 20180059159 A KR20180059159 A KR 20180059159A KR 102006220 B1 KR102006220 B1 KR 102006220B1
Authority
KR
South Korea
Prior art keywords
signature
fragment
load
impact
influence
Prior art date
Application number
KR1020180059159A
Other languages
Korean (ko)
Inventor
진용식
Original Assignee
주식회사 윈스
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 주식회사 윈스 filed Critical 주식회사 윈스
Priority to KR1020180059159A priority Critical patent/KR102006220B1/en
Priority to US16/420,836 priority patent/US11223641B2/en
Application granted granted Critical
Publication of KR102006220B1 publication Critical patent/KR102006220B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to an apparatus and method for reconstructing a signature used in a signature-based abnormal traffic detection technique. To this end, according to the present invention, the method for reconstructing a signature comprises the steps of: selecting one signature from a signature list stored in a database, and dividing the selected signature into a plurality of signature fragments; inspecting the plurality of signature fragments for a plurality of load elements to calculate a first influence degree for each of the plurality of load elements; calculating a second influence degree for each of the plurality of load elements by applying weights for the plurality of load elements to the first influence degree, respectively; summing second influence degrees corresponding to each signature fragment from the calculated second influence degrees to calculate a final load impact for each signature fragment; and rearranging the order of the plurality of signature fragments according to a magnitude of the calculated final load impact.

Description

시그니처 재구성 장치 및 방법{APPARATUS AND METHOD FOR RECONFIGURING SIGNITURE}Signature reconstruction apparatus and method {APPARATUS AND METHOD FOR RECONFIGURING SIGNITURE}

본 발명은 시그니처 기반의 비정상 트래픽 탐지 기법에 이용되는 시그니처를 재구성하기 위한 장치 및 방법에 관한 것이고, 더 상세하게 시그니처를 이루는 복수의 시그니처 단편들의 순서를 재배치함으로써 각 시그니처를 최적화시킬 수 있는 시그니처 재구성 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for reconstructing a signature used in a signature-based abnormal traffic detection technique, and more particularly to a signature reconstruction apparatus capable of optimizing each signature by rearranging a sequence of a plurality of signature fragments that make up a signature. And to a method.

컴퓨터 및 인터넷 보급의 확산에 따라 ISP(Internet Service Provider) 업체가 늘어나고 있다. ISP는 개인이나 기업에게 인터넷 접속 서비스, 웹 사이트 구축 등을 제공하는 회사를 의미하며, ISP 업체는 광범위한 정보통신망을 제공하고 있다. 그러나, ISP 업체가 증가함에 따라, 이에 따른 부작용도 급증하고 있다. 특히, P2P(Peer-to-Peer) 응용서비스, 이메일 등을 통해 비정상 트래픽을 발생시키는 웜, 바이러스, 백도어, 랜섬웨어 등이 인터넷에 다량으로 유포되고 있으며, 이들의 공격기법 또한 고도화되고 다양화되어 가는 추세이다. 이들 공격기법은 정보통신망의 안전성 및 신뢰성을 위협하고 있어서, 공격에 대한 발생 징후를 사전에 탐지하여 대응할 수 있는 방안의 필요성이 대두되고 있다.Internet service provider (ISP) companies are increasing due to the proliferation of computers and the Internet. ISP refers to a company that provides Internet access services and web sites to individuals and companies. ISP companies provide a wide range of information and communication networks. However, as the number of ISP companies increases, the side effects are increasing rapidly. In particular, worms, viruses, backdoors and ransomware that generate abnormal traffic through peer-to-peer (P2P) application services and e-mail are widely distributed on the Internet, and their attack techniques are also advanced and diversified. The trend is going. Since these attack techniques threaten the safety and reliability of the information communication network, there is a need for a method for detecting and responding to the occurrence of an attack in advance.

정보통신망의 이상 징후를 탐지하는 기법 중에는 시그니처 기반의 비정상 트래픽 탐지 기법이 있다. 시그니처란 트래픽의 특징을 나타내는 것으로서, 특정 응용 프로토콜 수행을 위해서 네트워크 상으로 주고 받는 메시지 중에서 해당 응용 프로토콜에서만 발견되는 비트 패턴을 의미한다. 시그니처는 보통 정규표현식(Regular Expression)의 형태로 메모리에 저장될 수 있다. Among the techniques for detecting abnormal signs of information and communication network, there is a signature-based abnormal traffic detection technique. The signature indicates the characteristics of the traffic, and means a bit pattern found only in the corresponding application protocol among messages transmitted and received on the network to perform a specific application protocol. Signatures can usually be stored in memory in the form of regular expressions.

정규표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용되는 형식 언어로서, 다양한 검색 엔진, 문서 편집기 등을 포함하는 대부분의 어플리케이션 상에서 주로 텍스트 패턴 매칭에 활용되고 있다. 그런데 정규표현식이 유연성이 높은 형태로 이루어지는 경우(예를 들어, 정규표현식이 불특정 표현 또는 길이를 나타내는 자료형 또는 짧은 길이로 표현되는 경우), 매칭되는 텍스트 패턴이 과도하게 많아지고, 계산량이 증가될 수 있다. 또한, 매칭 범위가 모호한 경우 이를 자료구조로 표현하였을 때, 탐색 구조의 회귀가 빈번하게 발생할 수 있다. 이렇듯 탐색 과정에서 빈번한 회기의 발생 등으로 많은 반복적인 계산이 발생하는 경우에 대해서 '부하 비용이 크다'라고 표현한다.Regular expressions are a formal language used to represent a set of strings with specific rules, and are used primarily for text pattern matching in most applications, including various search engines and text editors. However, if the regular expression is formed in a highly flexible form (for example, if the regular expression is represented by a data type representing an unspecified expression or length or a short length), the pattern of texts to be matched may be excessively large and the calculation amount may increase. have. In addition, when the matching range is ambiguous, when the data structure is expressed, regression of the search structure may occur frequently. As such, the load cost is high for the case where many repetitive calculations occur due to the occurrence of frequent sessions.

한편, 시그니처를 이용한 비정상 트래픽 탐지 기법은 서버로 송신되는 패킷들 중 시그니처를 포함하는 패킷을 탐지하고, 탐지된 패킷이 비정상 패킷인지 여부를 판단함으로써 이루어진다. 다만, 부하 비용이 큰 시그니처를 이용하여 비정상 트래픽을 탐지할 경우, 송신되는 매 패킷에 대해 큰 부하 비용을 갖는 시그니처를 활용하여 비정상 트래픽 여부를 확인해야 하므로, 보안 시스템의 시스템 부하가 높아진다. 이러한 문제는 DDoS(Distributed Denial of Service Attack)와 같이 대규모 공격이 발생할 경우, 심각한 문제를 초래할 수 있다. 따라서, 부하 비용을 고려하여, 비정상 트래픽의 탐지에 이용되는 시그니처를 재구성할 수 있는 새로운 방법이 요구된다.Meanwhile, the abnormal traffic detection technique using the signature is performed by detecting a packet including a signature among the packets transmitted to the server, and determining whether the detected packet is an abnormal packet. However, when detecting abnormal traffic using a signature with a high load cost, the system load of the security system is increased because a signature having a large load cost should be checked for every packet transmitted. This problem can cause serious problems when large attacks such as Distributed Denial of Service Attack (DDoS) occur. Therefore, in view of the load cost, a new method for reconfiguring signatures used for detection of abnormal traffic is required.

한국등록특허 제1633649호Korean Registered Patent No.1633649

본 발명은 시그니처 기반으로 비정상 트래픽을 탐지하는 네트워크 장비에 적용되어, 다수의 시그니처를 탐색이 가능한 자료구조로 변환하는 과정에서 탐색 시간에 영향을 주는 요소별 영향도를 계산하고 이를 기반으로 한 최적화 과정을 통해 시그니처를 구성하는 시그니처 단편들의 순서를 재배치할 수 있는 시그니처 재구성 장치 및 방법을 제공하는데 그 목적이 있다.The present invention is applied to network equipment that detects abnormal traffic on the basis of signature, and calculates the influence of each element that affects search time in the process of converting multiple signatures into searchable data structures, and based on the optimization process It is an object of the present invention to provide a signature reconstruction apparatus and method capable of rearranging the order of the signature fragments constituting the signature.

상기와 같은 과제를 해결하기 위한 본 발명의 시그니처 기반 비정상 트래픽 탐지를 위한 시그니처 재구성 방법은 데이터베이스에 저장된 시그니처 리스트에서 하나의 시그니처를 선택하고, 선택된 시그니처를 복수의 시그니처 단편들로 분할하는 단계; 복수의 시그니처 단편들을 복수의 부하요소에 대해 검사하여, 복수의 부하요소마다 제1 영향도를 산출하는 단계; 복수의 부하요소에 대한 가중치를 제1 영향도에 각각 적용함으로써, 복수의 부하요소마다 제2 영향도를 산출하는 단계; 산출된 제2 영향도 중에서 각 시그니처 단편에 대응하는 제2 영향도들을 합산하여, 각 시그니처 단편에 대한 최종 부하 영향도를 산출하는 단계; 및 산출된 최종 부하 영향도의 크기에 따라, 복수의 시그니처 단편들의 순서를 재배치하는 단계를 포함하는 것을 특징으로 한다.The signature reconstruction method for signature-based abnormal traffic detection of the present invention for solving the above problems comprises the steps of selecting one signature from a signature list stored in a database, and dividing the selected signature into a plurality of signature fragments; Inspecting the plurality of signature fragments for a plurality of load elements to produce a first degree of influence for each of the plurality of load elements; Calculating second influence for each of the plurality of load elements by applying weights for the plurality of load elements to the first influence; Summing second influences corresponding to each signature fragment from the calculated second influences to calculate a final load impact for each signature fragment; And rearranging the order of the plurality of signature fragments according to the magnitude of the calculated final load impact.

또한, 복수의 부하요소에 대한 가중치 중 적어도 두 개는 상이할 수 있다.In addition, at least two of the weights for the plurality of load elements may be different.

또한, 가중치는 시그니처 구성, 패턴 탐색 알고리즘, 시그니처 기반 비정상 트래픽 탐지를 수행하는 보안 장치의 사양 중 적어도 하나에 따라 각각 조절될 수 있다.The weight may be adjusted according to at least one of a signature configuration, a pattern search algorithm, and a specification of a security device that performs signature-based abnormal traffic detection.

또한, 복수의 부하요소에 대한 검사는 시그니처 단편에 포함된 패턴의 문법 검사를 포함하고, 제1 영향도를 산출하는 단계는 시그니처 단편에 포함된 패턴의 문법에 따른 제1 영향도를 산출하는 단계를 포함할 수 있다.In addition, the checking of the plurality of load elements may include a grammar check of the pattern included in the signature fragment, and the calculating of the first impact may include calculating a first influence according to the grammar of the pattern included in the signature fragment. It may include.

또한, 복수의 부하요소에 대한 검사는 시그니처 단편의 길이 검사를 포함하고, 제1 영향도를 산출하는 단계는 시그니처 단편의 길이가 짧을수록 크기가 커지도록 길이 검사에 따른 제1 영향도를 산출하는 단계를 포함할 수 있다. In addition, the inspection of the plurality of load elements includes the inspection of the length of the signature fragment, and the calculating of the first impact may include calculating the first impact according to the length inspection so that the smaller the length of the signature fragment is, the larger the size becomes. It may include a step.

또한, 복수의 부하요소에 대한 검사는 시그니처 단편에 대한 오토마타 활성 상태 크기 검사를 포함하고, 제1 영향도를 산출하는 단계는 시그니처 단편의 오토마타 활성 상태 크기에 따른 제1 영향도를 산출하는 단계를 포함할 수 있다.In addition, the checking of the plurality of load elements may include checking an automata active state size of the signature fragment, and calculating the first impact level comprises calculating a first influence according to the automata active state size of the signature fragment. It may include.

또한, 복수의 부하요소에 대한 검사는 시그니처 단편에 대한 오토마타 활성상태 검색공간 크기 검사를 포함하고, 제1 영향도를 산출하는 단계는 시그니처 단편의 오토마타 활성상태 검색공간 크기에 따른 제1 영향도를 산출하는 단계를 포함할 수 있다.In addition, the inspection of the plurality of load elements may include checking the automata active state search space size of the signature fragment, and calculating the first influence may include determining a first influence according to the automata active state search space size of the signature fragment. It may include the step of calculating.

또한, 본 발명의 일 실시예에 따른 시그니처 재구성 방법은 복수의 시그니처 단편이 미리 설정된 패널티 조건에 일치하는지 확인하는 단계; 및 패널티 조건에 일치하는 시그니처 단편에 패널티 값을 부여하는 단계를 더 포함하고, 각 시그니처 단편에 대한 최종 부하 영향도를 산출하는 단계는 패널티 값이 부여된 시그니처 단편의 경우, 산출된 최종 부하 영향도에 부여된 패널티 값을 합하는 단계를 포함할 수 있다.In addition, the signature reconstruction method according to an embodiment of the present invention comprises the steps of checking whether a plurality of signature fragments match a predetermined penalty condition; And assigning a penalty value to the signature fragment that matches the penalty condition, and calculating the final load impact for each signature fragment comprises, in the case of a signature fragment given a penalty value, the final load impact calculated. And summing the penalty values assigned to.

상기와 같은 과제를 해결하기 위한 본 발명의 시그니처 기반 비정상 트래픽 탐지를 위한 시그니처 재구성 장치는 데이터베이스에 저장된 시그니처 리스트에서 하나의 시그니처를 선택하고, 선택된 시그니처를 복수의 시그니처 단편들로 분할하는 시그니처 분할부; 복수의 시그니처 단편들을 복수의 부하요소에 대해 검사하여, 복수의 부하요소마다 제1 영향도를 산출하는 부하요소 검사부; 복수의 부하요소에 대한 가중치를 제1 영향도에 각각 적용함으로써, 복수의 부하요소마다 제2 영향도를 산출하는 가중치 처리부; 및 산출된 제2 영향도 중에서 각 시그니처 단편에 대응하는 제2 영향도들을 합산하여, 각 시그니처 단편에 대한 최종 부하 영향도를 산출하고, 산출된 최종 부하 영향도의 크기에 따라 복수의 시그니처 단편들의 순서를 재배치하는 시그니처 재구성부를 포함할 수 있다.The signature reconstruction apparatus for detecting signature-based abnormal traffic according to the present invention for solving the above problems comprises: a signature division unit for selecting one signature from a signature list stored in a database and dividing the selected signature into a plurality of signature fragments; A load element inspecting unit inspecting a plurality of signature fragments with respect to the plurality of load elements, and calculating a first degree of influence for each of the plurality of load elements; A weight processor configured to calculate a second influence degree for each of the plurality of load elements by applying weights of the plurality of load elements to the first influence degree, respectively; And summing second influences corresponding to each signature fragment from the calculated second influences to calculate a final load influence on each signature fragment, and calculating a plurality of signature fragments according to the calculated final load influence. It may include a signature reconstruction unit for rearranging the order.

상기와 같은 과제를 해결하기 위한 본 발명의 시그니처 재구성 장치는 상술한 방법을 수행하는 제어부를 포함할 수 있다.The signature reconstruction apparatus of the present invention for solving the above problems may include a controller for performing the above-described method.

본 발명의 일 실시예에 따른 시그니처 재구성 장치 및 방법은 각 시그니처에 포함된 시그니처 단편 중 주요 요소로 판단되는 부하 요인에 기반하여 각 순서를 재배치함으로써 보다 최적화된 탐색 환경을 구성할 수 있다.The signature reconstruction apparatus and method according to an embodiment of the present invention may configure a more optimized search environment by rearranging each order based on a load factor determined as a main element among signature fragments included in each signature.

또한, 본 발명의 일 실시예에 따른 시그니처 재구성 장치 및 방법은 시그니처와 하드웨어 장비, 네트워크 망 등의 영향을 산술적인 수치로 부하 영향도에 반영할 수 있다.In addition, the signature reconstruction apparatus and method according to an embodiment of the present invention may reflect the influence of the signature, hardware equipment, network, etc. in an arithmetic numerical value to the load influence.

도 1은 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 시스템에 대한 개념도이다.
도 2는 본 발명의 제1 실시예에 따른 시그니처 재구성 장치에 대한 블록도이다.
도 3은 본 발명의 제1 실시예에 따른 시그니처 재구성 장치를 통해, 하나의 시그니처를 재구성하는 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 제2 실시예에 따른 시그니처 재구성 장치에 대한 블록도이다.
도 5는 본 발명의 제2 실시예에 따른 시그니처 재구성 장치를 통해, 하나의 시그니처를 재구성하는 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 제3 실시예에 따른 시그니처 재구성 장치에 대한 블록도이다.
도 7은 오토마타 생성부를 통해 생성된 오토마타의 일 예시를 도시한다.
도 8은 본 발명의 제3 실시예에 따른 시그니처 재구성 장치를 통해, 하나의 시그니처를 재구성하는 방법을 설명하기 위한 개념도이다.
도 9는 본 발명의 일 실시예에 따른 시그니처 재구성 방법에 대한 흐름도이다.
1 is a conceptual diagram of an abnormal traffic detection system according to an embodiment of the present invention.
2 is a block diagram of a signature reconstruction apparatus according to a first embodiment of the present invention.
3 is a conceptual view illustrating a method of reconfiguring one signature through the signature reconstruction apparatus according to the first embodiment of the present invention.
4 is a block diagram of a signature reconstruction apparatus according to a second embodiment of the present invention.
5 is a conceptual diagram illustrating a method of reconstructing one signature through the signature reconstruction apparatus according to the second embodiment of the present invention.
6 is a block diagram of a signature reconstruction apparatus according to a third embodiment of the present invention.
7 illustrates an example of an automata generated through the automata generator.
FIG. 8 is a conceptual diagram illustrating a method of reconfiguring one signature through the signature reconstruction apparatus according to the third embodiment of the present invention.
9 is a flowchart illustrating a signature reconstruction method according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.

도 1은 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 시스템(1000)에 대한 개념도이다. 본 발명의 일 실시예에 따른 비정상 트래픽 탐지 시스템(1000)은 복수의 클라이언트(1a, 1b, 1c)들, 서버(2), 보안 장치(10), 데이터베이스(20) 및 시그니처 재구성 장치(100)를 포함한다. 시그니처 재구성 장치(100)는 보안 장치(10)의 내부에 장착되거나 소프트웨어의 형태로 설치될 수 있고, 별도의 장치 형태로 보안 장치(10)에 직접 연결될 수도 있다. 도 1에서, 클라이언트의 개수는 3개인 것으로 도시되었으나, 이는 예시일 뿐이고 실제 환경에 따라 다양한 수의 클라이언트들이 포함될 수 있다.1 is a conceptual diagram of an abnormal traffic detection system 1000 according to an embodiment of the present invention. The abnormal traffic detection system 1000 according to an embodiment of the present invention includes a plurality of clients 1a, 1b, and 1c, a server 2, a security device 10, a database 20, and a signature reconstruction device 100. It includes. The signature reconstruction device 100 may be mounted in the security device 10 or installed in the form of software, or may be directly connected to the security device 10 in the form of a separate device. In FIG. 1, the number of clients is shown as three, but this is only an example and may include various numbers of clients according to actual environments.

보안 장치(10)는 복수의 클라이언트들(1a, 1b, 1c)로부터 송신된 패킷들을 분석함으로써 비정상 트래픽을 탐지하는 기능을 한다. 여기서, 보안 장치(10)는 데이터베이스(20)에 저장된 탐지패턴 리스트(이하, 시그니처 리스트)를 이용하여, 복수의 클라이언트들(1a, 1b, 1c)로부터 서버(2)로 송신된 패킷(또는 패킷에 포함된 페이로드)들을 분석하고 비정상 트래픽을 탐지할 수 있다. 구체적으로, 보안 장치(10)는 패킷을 수집하고, 패킷의 내용과 시그니처 리스트에 포함된 각 시그니처를 순차적으로 비교하는 과정을 수행한다. 여기서, 각 시그니처는 적어도 하나의 시그니처 단편을 포함하고, 시그니처 단편의 패턴은 정규표현식의 형태를 가질 수 있다.The security device 10 functions to detect abnormal traffic by analyzing packets transmitted from the plurality of clients 1a, 1b, 1c. Here, the security device 10 uses a detection pattern list (hereinafter referred to as a signature list) stored in the database 20 to transmit a packet (or a packet transmitted from the plurality of clients 1a, 1b, and 1c to the server 2). Payloads included in the A-PCI can be analyzed and abnormal traffic can be detected. In detail, the security apparatus 10 collects packets and performs a process of sequentially comparing the contents of the packets with each of the signatures included in the signature list. Here, each signature may include at least one signature fragment, and the pattern of the signature fragment may have a form of regular expression.

예를 들어, 복수의 클라이언트들(1a, 1b, 1c) 중 제1 클라이언트(1a)가 패킷을 보낸 상황을 가정한다. 보안 장치(10)는 제1 클라이언트(1a)가 송신한 패킷을 분석하고, 패킷의 내용을 추출할 수 있다. 그 후, 보안 장치(10)는 제1 클라이언트(1a)가 송신한 패킷의 내용이 데이터베이스(20)에 저장된 각 시그니처에 대응하는지 비교한다. 상술한 것처럼, 데이터베이스(20)는 복수의 시그니처들을 포함하는 시그니처 리스트를 포함하고, 각 시그니처는 정규표현식으로 표현된 복수의 시그니처 단편을 포함한다. 본 발명의 설명을 위한 예시로서, 시그니처 리스트는 n개의 시그니처를 포함하고, 각 시그니처는 아래의 수학식 1과 같이 표현되는 것으로 가정한다.For example, assume a situation in which the first client 1a sends a packet among the plurality of clients 1a, 1b, and 1c. The security device 10 may analyze the packet transmitted by the first client 1a and extract the contents of the packet. Thereafter, the security apparatus 10 compares whether the contents of the packet transmitted by the first client 1a correspond to each signature stored in the database 20. As described above, the database 20 includes a signature list that includes a plurality of signatures, each signature including a plurality of signature fragments represented by regular expressions. As an example for description of the present invention, it is assumed that the signature list includes n signatures, and each signature is represented by Equation 1 below.

Figure 112018051089679-pat00001
Figure 112018051089679-pat00001

수학식 1에서 Sn는 n 번째 시그니처를 나타내고, P'는 시그니처에 포함된 시그니처 단편을 나타낸다. 수학식 1에서 A, B, C, D, E, F, G, X, Y, Z는 각 시그니처 단편의 구분을 위해 상이한 문자를 기재하였으나, 이들 중 적어도 일부는 동일할 수도 있다.In Equation 1, S n represents the n-th signature and P ′ represents a signature fragment included in the signature. In Equation 1, A, B, C, D, E, F, G, X, Y, and Z describe different characters to distinguish each signature fragment, but at least some of them may be the same.

이 예시에서, 보안 장치(10)는 제1 클라이언트(1a)가 송신한 패킷의 내용과 데이터베이스(20)에 저장된 n개의 시그니처(S1, S2, Sn)를 순차적으로 비교할 수 있다. 예를 들어, 보안 장치(10)는 패킷의 내용과 제1 시그니처(S1)에 포함된 첫 번째 시그니처 단편(P'A')의 패턴을 비교하고, 패킷의 내용이 제1 시그니처(S1)의 첫 번째 시그니처 단편(P'A')의 패턴에 일치하는지 판단한다. 판단 결과, 패킷의 내용이 제1 시그니처(S1)에 포함된 첫 번째 시그니처 단편(P'A')의 패턴에 일치하는 경우, 보안 장치(10)는 패킷의 내용과 제1 시그니처(S1)에 포함된 두 번째 시그니처 단편(P'B')의 패턴을 비교한다. 또한, 패킷의 내용이 제1 시그니처(S1)에 포함된 두 번째 시그니처 단편(P'B')의 패턴에도 일치하는 경우, 보안 장치(10)는 패킷의 내용과 제1 시그니처(S1)에 포함된 세 번째 시그니처 단편(P'C')의 패턴을 비교한다. 판단 결과, 패킷의 내용이 제1 시그니처(S1)에 포함된 두 번째 시그니처 단편(P'C')의 패턴에도 일치하는 경우, 보안 장치(10)는 패킷이 제1 시그니처(S1)와 대응되는 비정상 트래픽인 것으로 판단하고, 수신한 패킷을 버릴 것이다.In this example, the security device 10 may sequentially compare the contents of the packet transmitted by the first client 1a with the n signatures S 1 , S 2 , S n stored in the database 20. For example, the security device 10 compares the contents of the packet with the pattern of the first signature fragment P'A 'included in the first signature S 1 , and the contents of the packet are the first signature S 1. To match the pattern of the first signature fragment (P'A '). As a result of the determination, when the content of the packet matches the pattern of the first signature fragment P'A 'included in the first signature S 1 , the security apparatus 10 may determine the content of the packet and the first signature S 1. ) Compares the pattern of the second signature fragment (P'B ') included in the. In addition, when the content of the packet matches the pattern of the second signature fragment P'B 'included in the first signature S 1 , the security device 10 may determine the content of the packet and the first signature S 1 . Compare the pattern of the third signature fragment (P'C ') included in the. As a result of the determination, when the contents of the packet also match the pattern of the second signature fragment P'C 'included in the first signature S 1 , the security apparatus 10 may determine that the packet is equal to the first signature S 1 . It will determine that it is the corresponding abnormal traffic and discard the received packet.

반대로, 보안 장치(10)는 패킷의 내용이 제1 시그니처(S1)에 포함된 시그니처 단편들(P'A', P'B', P'C')의 패턴 중 적어도 하나에 일치하지 않는 경우, 패킷의 내용과 다음 시그니처(본 예시에서 제2 시그니처(S2))의 첫 번째 시그니처 단편의 패턴의 비교를 수행한다. 보안 장치(10)에서 이루어지는 패킷의 내용과 제2 시그니처(S2) 내지 제n 시그니처(Sn)의 비교 과정은 제1 시그니처(S1)와의 비교 과정과 실질적으로 동일하므로, 중복되는 설명은 생략한다.On the contrary, the security device 10 does not match the contents of the packet to at least one of the patterns of the signature fragments P'A ', P'B', and P'C 'included in the first signature S 1 . If so, compare the contents of the packet with the pattern of the first signature fragment of the next signature (second signature S 2 in this example). Since the process of comparing the contents of the packet made in the security device 10 with the second signatures S 2 to n-th signature S n is substantially the same as the comparison process with the first signature S 1 , overlapping description will be given. Omit.

보안 장치(10)는 패킷의 내용과 각 시그니처를 순차적으로 비교하여, 패킷의 내용이 적어도 하나의 시그니처와 일치하는 경우, 해당 패킷을 비정상 트래픽으로 판단하고 버린다. 반대로, 패킷의 내용이 모든 시그니처와 일치하지 않는 경우, 보안 장치(10)는 제1 클라이언트(1a)가 송신한 패킷을 정상 트래픽으로 판단하고, 패킷을 서버(2)로 전달한다.The security apparatus 10 sequentially compares the contents of the packets with the respective signatures, and if the contents of the packets match at least one signature, the security apparatus 10 determines and discards the packets as abnormal traffic. On the contrary, if the contents of the packet do not match all the signatures, the security apparatus 10 judges the packet transmitted by the first client 1a as normal traffic, and delivers the packet to the server 2.

이처럼, 보안 장치(10)는 클라이언트로부터 수신한 패킷에 대해, 시그니처 리스트에 속한 시그니처 순으로, 그리고 각 시그니처에 포함된 시그니처 단편 순으로 비교 과정을 수행한다. 즉, 보안 장치(10)를 통해 이루어지는 비정상 트래픽 검사 과정은 시그니처 단편의 배열에 따라 복잡도가 결정될 수 있다.As such, the security apparatus 10 performs a comparison process on the packets received from the client in the order of signatures belonging to the signature list and the order of signature fragments included in each signature. That is, the complexity of the abnormal traffic inspection process performed through the security device 10 may be determined according to the arrangement of the signature fragments.

본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 보안 장치(10)가 이용하는 데이터베이스(20) 내의 시그니처 리스트를 분석하고, 분석 결과에 따라 시그니처 리스트에 포함된 각 시그니처의 순서를 재배치함으로써 비정상 트래픽 검사 효율을 높일 수 있다. 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)가 각 시그니처를 재구성할 때 고려되는 사항들은 다음과 같다.The signature reconstruction apparatus 100 according to an embodiment of the present invention analyzes the signature list in the database 20 used by the security apparatus 10, and realigns the sequence of each signature included in the signature list according to the analysis result. Traffic inspection efficiency can be improved. Considerations when the signature reconstruction apparatus 100 according to an embodiment of the present invention reconstructs each signature are as follows.

첫째, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 정규표현식 문법을 검사한다. 구체적으로, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법(예를 들어, 메타문자, 문자 클래스 등)이 시그니처 단편에 포함되어있는지 여부를 검사할 수 있다. 앞서 설명한 것처럼 정규표현식이 단순한 자료구조로 표현되는 경우, 어느 시그니처 단편은 공격 패턴이 명확하게 포함된 한편, 어느 시그니처 단편은 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법(예를 들어, '*', '+', ".{x, }" 등)을 포함할 수 있다. 다만, 불특정 길이 또는 불특정 자료형을 나타내는 문법은 정상 트래픽에 포함된 데이터에도 매칭될 확률이 높다.First, the signature reconstruction apparatus 100 according to an embodiment of the present invention checks the regular expression grammar. Specifically, the signature reconstruction apparatus 100 according to an embodiment of the present invention checks whether a regular expression grammar (eg, metacharacter, character class, etc.) representing an unspecified length or unspecified data type is included in the signature fragment. can do. As mentioned earlier, when a regular expression is represented by a simple data structure, some signature fragments clearly contain attack patterns, while some signature fragments contain regular expression grammars (eg, '*', '+', ". {x,}", etc.). However, a grammar representing an unspecified length or an unspecified data type has a high probability of matching with data included in normal traffic.

예를 들어, 제1 시그니처(S1)에서, P'A'는 "*g"이고, P'B'는 "abcd"이고, P'C'는 "12345jpg"이며, 유입되는 패킷은 "bcc345defg"의 내용을 갖는 상황을 가정한다. 그리고, "*"은 모든 길이의 문자를 의미하는 것으로 가정한다. P'A'에서 '*g'는 마지막 문자가 g인 모든 문자열(예를 들어, "g", "baaag", "bcdddsg", "baabbaag" 등)을 나타내므로, 텍스트 등으로 이루어진 다른 패턴들에 비해 매칭 확률이 높을 것이다.For example, in the first signature S 1 , P'A 'is "* g", P'B' is "abcd", P'C 'is "12345jpg", and the incoming packet is "bcc345defg." Assume a situation with the contents of ". And, "*" is assumed to mean a character of all lengths. In P'A ',' * g 'represents all strings with the last character g (eg, "g", "baaag", "bcdddsg", "baabbaag", etc.), so that other patterns of text, etc. The matching probability will be higher than.

이 예시에서, 보안 장치(10)는 패킷의 내용과 제1 시그니처(S1)의 첫 번째 시그니처 단편(P'A')인 "*g"를 비교한다. 여기서, 보안 장치(10)가 송신한 패킷에는 "bcc345defg"와 같이 마지막 문자가 'g'이므로, 보안 장치(10)는 패킷의 내용이 제1 시그니처(S1)의 첫 번째 시그니처 단편(P'A')과 일치하는 것으로 판단하고, 패킷의 내용과 두 번째 시그니처 단편(P'B')과 비교를 할 것이다. 그 후, 보안 장치(10)는 패킷의 내용과 제1 시그니처(S1)의 두 번째 시그니처 단편(P'B')인 "abcd"를 비교한다. 이 예시에서, 패킷의 내용과 제1 시그니처(S1)의 두 번째 시그니처 단편(P'B')은 서로 일치하지 않으므로, 보안 장치(10)는 패킷의 내용과 제2 시그니처(S2) 간 비교를 수행하게 될 것이다.In this example, the security device 10 compares the contents of the packet with "* g", which is the first signature fragment P'A 'of the first signature S 1 . Here, since the last character is 'g' in the packet transmitted by the security device 10, such as "bcc345defg," the security device 10 has a content of the packet as the first signature fragment P of the first signature S 1 . A '), and compare the contents of the packet with the second signature fragment (P'B'). The security device 10 then compares the contents of the packet with "abcd" which is the second signature fragment P'B 'of the first signature S 1 . In this example, since the contents of the packet and the second signature fragment P'B 'of the first signature S 1 do not coincide with each other, the security device 10 is configured between the contents of the packet and the second signature S 2 . You will be doing a comparison.

다른 예시로서, 제1 시그니처(S1)가 P'B' P'C' P'A' 순으로 구성된 상황을 가정한다. 보안 장치(10)는 제1 시그니처(S1)의 첫 번째 시그니처 단편인 P'B'와 패킷의 내용을 비교할 것이다. 이 경우, 패킷의 내용과 제1 시그니처(S1)의 첫 번째 시그니처 단편(P'B')은 서로 일치하지 않으므로, 보안 장치(10)는 제1 시그니처(S1)에 대한 추가적인 비교 과정 없이, 바로 제2 시그니처(S2)를 통한 비교를 수행할 것이다.As another example, assume a situation in which the first signature S 1 is configured in order of P'B 'P'C'P'A'. The security device 10 will compare the contents of the packet with P'B ', the first signature fragment of the first signature S 1 . In this case, since the contents of the packet and the first signature fragment P'B 'of the first signature S 1 do not coincide with each other, the security device 10 does not perform further comparison with respect to the first signature S 1 . , The comparison will be performed via the second signature S 2 .

이처럼, 시그니처에 불특정 길이 또는 불특정 자료형인 메타문자 또는 문자 클래스를 포함하는 시그니처 단편이 우선적으로 배치된 경우 클라이언트로부터 송신된 패킷이 정상 패킷이더라도, 이 메타문자 또는 문자 클래스로 인해 가능한, 문자열의 다양한 조합만큼 시그니처의 두 번째 시그니처 단편에 대한 검사가 수행될 확률이 높다. 다시 말해, 이러한 시그니처를 이용한 비정상 트래픽의 검사 효율은 상당히 떨어질 것이다. 반면, 불특정 길이 또는 불특정 자료형의 문자를 포함하는 시그니처 단편이 차후에 비교될 수 있도록 시그니처의 뒤쪽에 배치되면, 이 시그니처를 이용한 비정상 트래픽의 검사 효율을 높일 수 있다.Thus, if signature fragments containing metacharacters or character classes of unspecified length or unspecified type are preferentially placed in the signature, various combinations of strings possible due to this metacharacter or character class, even if the packet sent from the client is a normal packet As such, there is a high probability that a check is performed on the second signature fragment of the signature. In other words, the inspection efficiency of abnormal traffic using this signature will be considerably reduced. On the other hand, if signature fragments containing characters of unspecified length or unspecified data type are placed behind the signature so that they can be compared later, the efficiency of inspection of abnormal traffic using the signature can be improved.

둘째, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 패턴의 길이를 고려한다. 하나의 시그니처는 복수의 시그니처 단편을 가질 수 있고, 각 시그니처 단편은 서로 상이한 패턴 길이를 가질 수 있다. 일반적으로, 시그니처 단편들에서, 상대적으로 길이가 긴 시그니처 단편은 희소성이 있는 것으로 볼 수 있고, 길이가 짧은 시그니처 단편은 패킷의 내용과 일치 확률이 높으므로, 전처리 과정에서 높은 부하를 야기할 가능성이 있다. 따라서, 일정 길이 범위 내에서 희소성이 높은 시그니처 단편에 대해서는 낮은 부하 영향도를 부여할 수 있고, 희소성이 낮은 시그니처 단편(예를 들어, 문자 길이가 일정 길이 미만인 시그니처 단편)은 높은 부하 영향도를 부여할 수 있다. 또한, 길이가 정의한 범위를 벗어나는 경우는 매칭 비용 발생을 고려하여 부하 영향도를 추가적으로 부여할 수 있다. 여기서, 부하 영향도란 아래에서 설명되는 부하요소 별로 보안 장치 또는 네트워크에 발생시킬 부하 정도를 나타낸다.Second, the signature reconstruction apparatus 100 according to an embodiment of the present invention considers the length of the pattern. One signature may have a plurality of signature fragments, and each signature fragment may have a different pattern length from each other. In general, for signature fragments, relatively long signature fragments can be seen as sparse, and shorter signature fragments have a high probability of matching the contents of the packet, which is likely to cause high loads in preprocessing. have. Thus, a low load impact can be given to signature fragments with high sparsity within a certain length range, and a low fragmentation signature fragment (eg, signature fragments having a character length less than a certain length) gives high load impact. can do. In addition, in the case where the length is out of the defined range, a load influence degree may be additionally given in consideration of occurrence of a matching cost. Here, the load impact degree indicates a load degree to be generated in the security device or network for each load factor described below.

이처럼, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 상술한 메타문자 또는 문자 클래스의 존재여부와, 시그니처 단편에 포함된 패턴의 길이를 이용하여 각 시그니처를 재구성할 수 있다. 또한, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 아래에서 설명되는 사항들을 선택적으로 더 고려할 수도 있다.As such, the signature reconstruction apparatus 100 according to an embodiment of the present invention may reconstruct each signature by using the presence or absence of the aforementioned metacharacter or character class and the length of the pattern included in the signature fragment. In addition, the signature reconstruction apparatus 100 according to an embodiment of the present invention may selectively further consider the matters described below.

본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 오토마타 활성상태 크기를 더 고려할 수 있다. 오토마타는 복수의 상태를 포함할 수 있고, 오토마타 활성상태가 크다는 것은 상태의 개수가 많아, 문자열을 검색하는 과정에서 많은 상태 전이를 거쳐야 한다는 것을 의미한다. 오토마타의 상태가 많을수록 매칭되기까지 많은 조건을 만족시켜야 하기 때문에 전이 상태를 보관하는 시간, 활성상태를 지속적으로 변경하며 오토마타 전체를 검색하는 시간이 탐색 부하에 직접적 연관 요소로 작용할 수 있다.Signature reconstruction apparatus 100 according to an embodiment of the present invention may further consider the size of the automata active state. An automata may include a plurality of states, and a large automata active state means that the number of states is large, and that a lot of state transitions are required in the process of searching for a string. The more states of automata, the more conditions must be met before they are matched, so the time to keep the transition state and the time to constantly change the active state and search the entire automata can be directly related to the search load.

또한, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 오토마타 활성상태 검색공간 크기를 더 고려할 수 있다. 오토마타 활성상태 검색공간 크기는 활성상태 개수와는 별개로 부하 영향도를 표현할 수 있는 또 다른 요소로서, 검색공간 크기가 커지면, 부하 영향도도 비례하여 증가된다. 여기서, 오토마타 활성상태 검색공간 크기란 오토마타의 활성상태 개수와 무관하게, 매칭 범위가 모호하거나 반복적인 계산을 하는 정규표현식 문법을 위해 확보하는 메모리 공간을 나타낸다. 오토마타 활성상태 검색공간 크기는 정규표현식의 표현에 따라 매칭을 결정하기 전에, 가능성이 있는 모든 문자열에 대해 저장을 하는 공간의 크기로 볼 수 있다. 예를 들어, 정규표현식에서 '*'이라는 문자는 '모든 길이의 문자'라는 의미를 갖는다. 따라서, "*.co.kr"이라는 패턴이 있다고 가정할 때, .co.kr이 검출되기 전까지 내부적으로 ".co.kr을 포함할 가능성이 있는" 모든 문자열에 대한 정보를 메모리에 저장해야 한다. 이 때의 저장 공간의 크기가 오토마타 활성상태 검색공간 크기로 정의될 수 있다.In addition, the signature reconstruction apparatus 100 according to an embodiment of the present invention may further consider the size of the automata active state search space. The automata active search space size is another factor that can express the load influence independently of the number of active states. As the size of the search space increases, the load influence increases proportionally. Here, the size of the automata active state search space refers to a memory space reserved for a regular expression grammar having an ambiguous or iterative calculation of a matching range, regardless of the number of active states of the automata. The size of the automata active search space can be thought of as the amount of space to store for all possible strings before determining matching according to the expression in the regular expression. For example, in regular expressions, the character '*' means 'character of any length'. Therefore, assuming that there is a pattern "* .co.kr", information about all strings "possibly including .co.kr" must be stored in memory until .co.kr is detected. . The size of the storage space at this time may be defined as the size of the automata active search space.

도 2는 본 발명의 제1 실시예에 따른 시그니처 재구성 장치(100)에 대한 블록도이다. 본 발명의 제1 실시예에 따른 시그니처 재구성 장치(100)는 시그니처 기반 비정상 트래픽 탐지가 효율적으로 수행될 수 있도록, 시그니처에 포함된 각 시그니처 단편의 배치 순서를 재구성할 수 있다. 이를 위해, 본 발명의 제1 실시예에 따른 시그니처 재구성 장치(100)는 시그니처 분할부(110), 부하요소 검사부(120) 및 시그니처 재구성부(140)를 포함한다. 여기서, 시그니처 분할부(110), 부하요소 검사부(120) 및 시그니처 재구성부(140)는 본 발명의 이해를 돕기 위해 기능별로 구분한 것이고, 시그니처 재구성 장치(100)는 하나의 제어부 또는 소프트웨어의 형태로 구현될 수 있다. 또한, 시그니처 재구성 장치(100)는 단일 코어 또는 다중 코어로 이루어진 CPU, MPU 등으로 구현될 수도 있다.2 is a block diagram of the signature reconstruction apparatus 100 according to the first embodiment of the present invention. The signature reconstruction apparatus 100 according to the first embodiment of the present invention may reconfigure the arrangement order of each signature fragment included in the signature so that signature-based abnormal traffic detection can be efficiently performed. To this end, the signature reconstruction apparatus 100 according to the first embodiment of the present invention includes a signature division unit 110, a load element inspection unit 120 and a signature reconstruction unit 140. Here, the signature dividing unit 110, the load element inspection unit 120 and the signature reconstruction unit 140 is divided by function to help the understanding of the present invention, the signature reconstruction device 100 is a form of one controller or software It can be implemented as. In addition, the signature reconstruction apparatus 100 may be implemented with a CPU, MPU, etc. consisting of a single core or multiple cores.

데이터베이스(20)는 복수의 시그니처를 시그니처 리스트의 형태로 저장할 수 있다. 또한, 시그니처 분할부(110)는 데이터베이스(20)에 저장된 시그니처들 중 하나의 시그니처를 선택하고, 시그니처를 복수의 시그니처 단편들로 분할할 수 있다. 예를 들어, 시그니처 분할부(110)는 파서(parser)일 수 있고, 시그니처를 입력 받아, 문자열 패턴과 정규표현식 문법 등을 고려하여 복수의 시그니처 단편들(예를 들어, 구문을 해석할 수 있는 단위)로 분할한다. 또한, 시그니처 분할부(110)는 컴파일러 또는 인터프리터에서 시그니처를 읽고, 그 구조를 알아내는 구문 분석(parsing)을 하는 구성을 나타낸다. 시그니처 분할부(110)에 의해 수행되는 시그니처 분할 방식은 특정 방식으로 제한되지 않고 다양한 방식으로 이루어질 수 있다.The database 20 may store a plurality of signatures in the form of a signature list. In addition, the signature dividing unit 110 may select one signature from among the signatures stored in the database 20 and divide the signature into a plurality of signature fragments. For example, the signature divider 110 may be a parser, receive a signature, and consider a plurality of signature fragments (for example, a syntax that may be interpreted in consideration of a string pattern and a regular expression grammar). Unit). In addition, the signature dividing unit 110 shows a configuration in which a signature is read by a compiler or an interpreter, and parsing is performed to find out its structure. The signature division method performed by the signature division unit 110 may be performed in various ways without being limited to a specific method.

부하요소 검사부(120)는 시그니처 분할부(110)를 통해 분할된 각 시그니처 단편에 대해, 부하요소마다 제1 영향도를 산출한다. 여기서, 부하요소는 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법이 시그니처 단편에 포함되어있는지 여부와 시그니처 단편의 패턴의 길이, 오토마타 활성상태 크기 및 오토마타 활성상태 검색공간 크기 중 적어도 일부를 포함한다. 본 발명의 제1 실시예는 부하요소 검사부(120)가 위의 두 개의 부하요소에 대해 검사를 수행하는 것으로 설명되나 이는 예시일 뿐이고, 부하요소 검사부(120)를 통해 이루어지는 검사는 이 두 개의 부하요소 외에 다른 부하요소가 더 추가될 수 있다. 아래의 설명에서는 제1 검사 모듈(121)이 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법의 존재 여부를 고려하고, 제2 검사 모듈(122)이 시그니처 단편의 패턴의 길이를 고려하는 상황을 가정한다.The load element inspecting unit 120 calculates a first degree of influence for each load element for each signature fragment divided by the signature dividing unit 110. Here, the load element includes at least a part of whether the regular expression grammar indicating the unspecified length or unspecified data type is included in the signature fragment, the length of the pattern of the signature fragment, the automata active state size, and the automata active state search space size. The first embodiment of the present invention is described as the load element inspection unit 120 performs the inspection for the above two load elements, but this is only an example, the inspection made through the load element inspection unit 120 is the two loads Other load elements may be added in addition to the elements. In the following description, it is assumed that the first inspection module 121 considers the existence of a regular expression grammar representing an unspecified length or an unspecified data type, and the second inspection module 122 considers a length of a pattern of a signature fragment. .

제1 검사 모듈(121)은 데이터베이스(20)로부터 선택된 시그니처(예를 들어, 제1 시그니처)에 포함된 각 시그니처 단편에 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법(예를 들어, 메타문자, 문자 클래스 등)을 포함하는지 확인하고, 이에 따라 영향도를 부여한다. 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법(예를 들어, 메타문자, 문자 클래스 등)은 다양하게 존재하고, 각 정규표현식 문법(예를 들어, 메타문자 또는 문자 클래스)마다 비정상 트래픽 탐지를 수행하는 보안 장치(10)에 야기될 부하도 상이하다. 따라서, 제1 검사 모듈(121)은 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법의 존재 여부 및 종류를 확인하고, 이의 존재 여부 또는 종류에 따라 상이한 부하 영향도를 부여한다.The first checking module 121 may include a regular expression grammar (eg, a metacharacter, a character) indicating an unspecified length or an unspecified data type in each signature fragment included in a signature (for example, a first signature) selected from the database 20. Class, etc.), and give an impact accordingly. There are a variety of regular expression grammars (e.g. metacharacters, character classes, etc.) representing unspecified lengths or unspecified data types, and for each regular expression grammar (e.g. metacharacters or character classes). The load to be placed on the security device 10 is also different. Therefore, the first inspection module 121 confirms the existence and type of the regular expression grammar indicating the unspecified length or the unspecified data type, and gives different load influences according to the existence or the kind thereof.

예를 들어, 제1 검사 모듈(121)은 시그니처 단편에 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법이 존재하지 않음을 확인한 경우, 제1 영향도를 기본값(예를 들어, 0 또는 다른 부하요소의 제1 영향도와 비교하여 상대적으로 낮은 값)으로 결정할 수 있다. 반대로, 제1 검사 모듈(121)은 시그니처 단편에 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법이 존재함을 확인한 경우, 제1 부하요소의 제1 영향도를 해당 정규표현식 문법(예를 들어, 메타문자, 문자 클래스 등)에 따라 미리 설정된 값으로 결정한다. 따라서, 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법 중 상대적으로 부하 영향도가 낮은 정규표현식 문법이 포함된 시그니처 단편은 낮은 영향도 값이 설정될 수 있고, 상대적으로 부하 영향도가 높은 정규표현식 문법이 포함된 시그니처 단편은 높은 영향도 값이 설정될 수 있다.For example, when the first inspection module 121 determines that a regular expression grammar indicating an unspecified length or an unspecified data type does not exist in the signature fragment, the first inspection module 121 sets the first impact degree to a default value (for example, 0 or other load factor). Relatively low value in comparison with the first influence). On the contrary, when the first checking module 121 determines that a regular expression grammar indicating an unspecified length or an unspecified data type exists in the signature fragment, the first inspection module 121 may determine the first influence of the first load factor corresponding to the regular expression grammar (eg, meta). Character, character class, etc.). Therefore, a signature fragment that includes a regular expression grammar having a relatively low load impact among regular expression grammars having an unspecified length or an unspecified data type may have a low impact value, and a regular expression grammar having a relatively high load impact may be used. The included signature fragment may have a high impact value set.

제2 검사 모듈(122)은 시그니처 단편의 패턴 길이를 확인하고, 패턴 길이에 따라 상이한 영향도를 부여한다. 앞서 설명한 것처럼, 상대적으로 길이가 긴 패턴은 희소성이 높은 것으로 볼 수 있고, 상대적으로 길이가 짧은 패턴은 희소성이 낮은 것으로 볼 수 있다. 또한, 상대적으로 길이가 짧은 패턴은 패킷과의 일치 확률이 높아서 높은 부하를 야기할 가능성이 있다. 따라서, 제2 검사 모듈(122)은 시그니처 단편의 패턴의 길이를 확인하고, 패턴의 길이가 낮을수록 제2 부하요소의 제1 영향도에 높은 값을 부여한다. 예를 들어, 제2 검사 모듈(122)은 시그니처 단편의 패턴 길이를 복수 개의 패턴 길이 판단 범위와 비교하고, 시그니처 단편의 패턴 길이가 속하는 패턴 길이 판단 범위에 따라 상이한 값을 제2 부하요소의 제1 영향도로 설정할 수 있다. 또한, 제2 검사 모듈(122)은 패턴의 길이가 미리 정의된 패턴 길이 판단 범위 미만인 경우, 매칭 비용 발생을 고려하여 부하 영향도를 추가적으로 부여할 수 있다.The second inspection module 122 checks the pattern length of the signature fragment and gives different influences according to the pattern length. As described above, a relatively long pattern may be regarded as having high sparsity, and a relatively short pattern may be regarded as having low sparsity. In addition, a relatively short pattern has a high probability of matching with a packet, which may cause a high load. Accordingly, the second inspection module 122 checks the length of the pattern of the signature fragment, and the lower the length of the pattern, the higher the value of the first influence of the second load element. For example, the second inspection module 122 compares the pattern length of the signature fragment with the plurality of pattern length determination ranges, and sets a different value according to the pattern length determination range to which the pattern length of the signature fragment belongs. Can be set to 1 impact. In addition, when the length of the pattern is less than a predetermined pattern length determination range, the second inspection module 122 may additionally assign a load influence in consideration of occurrence of a matching cost.

도 1을 참조로 설명한 것처럼, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 비정상 트래픽 탐지에서 주요 부하요소로 판단되는 부하 요인을 강조함으로써 시그니처를 재구성할 수 있다. 이를 위해, 본 발명의 일 실시예에 따른 시그니처 재구성 장치(100)는 시그니처 재구성부(140)를 더 포함한다.As described with reference to FIG. 1, the signature reconstruction apparatus 100 according to an embodiment of the present invention may reconstruct a signature by emphasizing a load factor that is determined as a major load factor in abnormal traffic detection. To this end, the signature reconstruction apparatus 100 according to an embodiment of the present invention further includes a signature reconstruction unit 140.

시그니처 재구성부(140)는 부하요소 검사부(120)를 통해 계산된 시그니처 단편 별로 각 부하요소에 대한 제1 영향도를 이용하여 시그니처 단편 별로 최종 부하 영향도를 산출한다. 예를 들어, 제1 시그니처 단편의 제1 부하요소의 제1 영향도가 20, 제1 시그니처 단편의 제2 부하요소의 제1 영향도가 50으로 부여된 상황을 가정하면, 제1 시그니처 단편의 최종 부하 영향도는 제1 부하요소의 제1 영향도와 제2 부하요소의 제1 영향도를 합한 70이 된다. 시그니처 재구성부(140)는 부하요소 검사부(120)를 통해 산출된 제1 영향도를 합산하는 과정을 시그니처 단편 별로 수행함으로써, 시그니처 단편 별 최종 부하 영향도를 산출한다.The signature reconstruction unit 140 calculates the final load influence for each signature fragment by using the first influence on each load element for each of the signature fragments calculated by the load element checker 120. For example, assuming that the first influence of the first load element of the first signature fragment is 20 and the first influence of the second load element of the first signature fragment is 50, The final load influence is 70, which is the sum of the first influence of the first load element and the first influence of the second load element. The signature reconstruction unit 140 calculates the final load influence for each signature fragment by performing the process of summing the first influence calculated by the load element inspection unit 120 for each signature fragment.

또한, 시그니처 재구성부(140)는 데이터베이스(20)로부터 선택된 시그니처의 시그니처 단편마다 최종 부하 영향도를 산출하고, 최종 부하 영향도에 따라 시그니처 단편들을 재배치한다. 예를 들어, 시그니처 재구성부(140)는 시그니처 단편들의 최종 부하 영향도를 비교하고, 최종 부하 영향도가 낮을수록 시그니처의 전단에 시그니처 단편을 배치하고, 최종 부하 영향도가 높을수록 시그니처의 후단에 시그니처 단편을 배치하는 재배치를 수행할 수 있다.In addition, the signature reconstruction unit 140 calculates the final load impact for each signature fragment of the signature selected from the database 20 and rearranges the signature fragments according to the final load impact. For example, the signature reconstruction unit 140 compares the final load influence of the signature fragments, and as the final load impact is lower, the signature fragment is placed at the front of the signature, and the higher the final load impact is at the rear of the signature. Relocation to place signature fragments can be performed.

도 3은 본 발명의 제1 실시예에 따른 시그니처 재구성 장치(100)를 통해, 하나의 시그니처를 재구성하는 방법을 설명하기 위한 개념도이다. 도 3에 도시된 예시에서는 데이터베이스(20)에서 제1 시그니처(S1)가 선택되었고, 제1 시그니처(S1)는 제1 시그니처 단편(P'A'), 제2 시그니처 단편(P'B') 및 제3 시그니처 단편(P'C')을 포함하고, S1이 P'A' P'B' P'C' 순으로 시그니처 단편을 포함한 상황을 가정한다. 또한, 부하요소 검사부(120)는 두 개의 부하요소에 대해 검사를 수행하는 상황을 가정한다.3 is a conceptual diagram illustrating a method of reconstructing one signature through the signature reconstruction apparatus 100 according to the first embodiment of the present invention. In the example shown in FIG. 3, the first signature S 1 is selected in the database 20, and the first signature S 1 is the first signature fragment P′A ′ and the second signature fragment P′B. Suppose ') and the third signature fragment (P'C'), and S 1 includes the signature fragment in order of P'A 'P'B'P'C'. In addition, it is assumed that the load element inspection unit 120 performs the inspection for the two load elements.

시그니처 분할부(110)는 문자열 패턴과 정규표현식 문법 등을 고려하여 제1 시그니처(S1)를 분석하고, 분석 결과에 따라 제1 시그니처(S1)를 복수의 시그니처 단편들로 분할한다. 본 예시에서는 위의 가정에 따라 시그니처 분할부(110)가 제1 시그니처(S1)를 제1 시그니처 단편(P'A'), 제2 시그니처 단편(P'B') 및 제3 시그니처 단편(P'C')으로 분할할 수 있다.The signature dividing unit 110 analyzes the first signature S 1 in consideration of a string pattern, a regular expression grammar, and the like, and divides the first signature S 1 into a plurality of signature fragments according to the analysis result. In the present example, according to the above assumption, the signature division unit 110 may include the first signature S 1 as the first signature fragment P'A ', the second signature fragment P'B', and the third signature fragment ( P'C ').

부하요소 검사부(120)는 시그니처 분할부(110)를 통해 분할된 각 시그니처 단편(P'A', P'B', P'C')에 대해, 부하요소에 대한 제1 영향도를 산출한다. 예를 들어, 부하요소 검사부(120)가 두 개의 부하요소에 대해 검사를 수행한다고 가정하면, 부하요소 검사부(120)는 시그니처 단편 순으로 시그니처 단편마다 제1 영향도를 산출할 수 있다. 예를 들어, 부하요소 검사부(120)는 순차적으로 제1 시그니처 단편(P'A')에 대해 제1 및 제2 부하요소의 제1 영향도를 산출하고, 제2 시그니처 단편(P'B')에 대해 제1 및 제2 부하요소의 제1 영향도를 산출하며, 제3 시그니처 단편(P'C')에 대해 제1 및 제2 부하요소의 제1 영향도를 산출할 수 있다. 다른 예시로서, 부하요소 검사부(120)는 부하요소 순으로 시그니처 단편 별로 제1 영향도를 산출할 수 있다. 예를 들어, 부하요소 검사부는 (120)는 순차적으로, 제1 부하요소에 대해 제1, 제2 및 제3 시그니처 단편(P'A', P'B', P'C')을 검사한 후, 제2 부하요소에 대해 제1, 제2 및 제3 시그니처 단편(P'A', P'B', P'C')을 검사하여 시그니처 단편 별로 각 부하요소의 제1 영향도를 산출할 수 있다. 부하요소 검사부(120)를 통해 이루어지는 제1 영향도 산출 순서는 위의 순서로 제한되지 않고, 이의 조합 또는 역순으로도 가능하다. 또한, 위의 설명에서는 부하요소 검사부(120)를 통해 이루어지는 제1 영향도 산출이 시그니처 단편 순으로 또는 부하요소 순으로 순차적으로 이루어지는 것으로 설명하였으나, 이러한 산출 과정은 병렬적으로 동시에 이루어질 수도 있다.The load element inspecting unit 120 calculates a first influence degree on the load element for each of the signature fragments P'A ', P'B', and P'C 'divided through the signature division unit 110. . For example, assuming that the load element inspecting unit 120 inspects two load elements, the load element inspecting unit 120 may calculate a first impact degree for each of the signature fragments in the order of the signature fragments. For example, the load element inspecting unit 120 sequentially calculates first influences of the first and second load elements with respect to the first signature fragment P'A ', and the second signature fragment P'B'. ) And the first influence of the first and second load elements, and the first influence of the first and second load elements for the third signature fragment P'C '. As another example, the load element inspecting unit 120 may calculate a first influence degree for each signature fragment in order of load elements. For example, the load element inspector 120 sequentially inspects the first, second, and third signature fragments P'A ', P'B', and P'C 'for the first load element. Afterwards, the first, second and third signature fragments P'A ', P'B', and P'C 'are examined for the second load element to calculate the first influence of each load element for each signature fragment. can do. The order of calculating the first impact degree made through the load element inspecting unit 120 is not limited to the above order, but may be a combination or the reverse order thereof. In addition, in the above description, the first influence calculation through the load element inspecting unit 120 has been described as being sequentially performed in the order of signature fragments or in the order of load elements. However, the calculation process may be performed in parallel at the same time.

시그니처 재구성부(140)는 부하요소 검사부(120)를 통해 산출된 시그니처 단편 별로 제1 영향도를 합산함으로써 시그니처 단편 별로 최종 부하 영향도를 산출한다. 그 후, 시그니처 재구성부(140)는 각 시그니처 단편의 최종 부하 영향도를 비교하고, 최종 부하 영향도의 크기가 상대적으로 낮은 시그니처 단편을 시그니처의 전단에, 최종 부하 영향도의 크기가 상대적으로 높은 시그니처 단편을 시그니처의 후단에 배치함으로써, 시그니처를 재구성한다.The signature reconstruction unit 140 calculates the final load impact for each signature fragment by summing the first impact for each of the signature fragments calculated by the load element inspector 120. Thereafter, the signature reconstruction unit 140 compares the final load influence of each signature fragment, and places the signature fragment having a relatively low magnitude of the final load impact at the front end of the signature, and has a relatively high magnitude of the final load impact. The signature is reconstructed by placing the signature fragment at the end of the signature.

예를 들어, 시그니처 재구성부(140)를 통해 산출된 결과가 제1 시그니처 단편(P'A')의 최종 부하 영향도가 70이고, 제2 시그니처 단편(P'B')의 최종 부하 영향도가 60이며, 제3 시그니처 단편(P'C')의 최종 부하 영향도가 80인 상황을 가정하면, 시그니처 재구성부(140)는 각 시그니처 단편의 최종 부하 영향도의 크기를 고려하여, 제1 시그니처(S1)를 제2 시그니처 단편(P'B'), 제1 시그니처 단편(P'A'), 제3 시그니처 단편(P'C') 순으로 재구성 할 것이다. 다른 예시로서, 시그니처 재구성부(140)를 통해 산출된 결과가 제1 시그니처 단편(P'A')의 최종 부하 영향도가 80이고, 제2 시그니처 단편(P'B')의 최종 부하 영향도가 30이며, 제3 시그니처 단편(P'C')의 최종 부하 영향도가 50인 상황을 가정하면, 시그니처 재구성부(140)는 각 시그니처 단편의 최종 부하 영향도의 크기를 고려하여, 제1 시그니처(S1)를 제2 시그니처 단편(P'B'), 제3 시그니처 단편(P'C'), 제1 시그니처 단편(P'A') 순으로 재배치 할 것이다.For example, the result calculated by the signature reconstructing unit 140 is the final load impact degree of the first signature fragment P'A 'is 70, and the final load impact degree of the second signature fragment P'B'. Is 60 and the final load impact degree of the third signature fragment P'C 'is 80, the signature reconstruction unit 140 considers the magnitude of the final load impact of each signature fragment, The signature S 1 may be reconstructed in the order of the second signature fragment P'B ', the first signature fragment P'A', and the third signature fragment P'C '. As another example, the result calculated by the signature reconstruction unit 140 is the final load impact degree of the first signature fragment P'A 'is 80, and the final load impact degree of the second signature fragment P'B'. Is 30 and the final load impact degree of the third signature fragment P'C 'is 50, the signature reconstruction unit 140 considers the magnitude of the final load impact of each signature fragment, The signature S 1 may be rearranged in order of the second signature fragment P'B ', the third signature fragment P'C', and the first signature fragment P'A '.

도 4는 본 발명의 제2 실시예에 따른 시그니처 재구성 장치(200)에 대한 블록도이다. 본 발명의 제2 실시예에 따른 시그니처 재구성 장치(200)는 시그니처 분할부(210), 부하요소 검사부(220), 가중치 처리부(230) 및 시그니처 재구성부(240)를 포함하여 구성될 수 있다. 여기서, 시그니처 분할부(210), 부하요소 검사부(220), 가중치 처리부(230) 및 시그니처 재구성부(240)는 본 발명의 이해를 돕기 위해 기능별로 구분한 것이고, 시그니처 재구성 장치(200)는 하나의 제어부 또는 소프트웨어의 형태로 구현될 수 있다. 또한, 시그니처 재구성 장치(200)는 단일 코어 또는 다중 코어로 이루어진 CPU, MPU 등으로 구현될 수도 있다. 또한, 본 발명의 제2 실시예는 시그니처 재구성 장치(200)가 가중치 처리부(230)를 더 포함하는 점, 그리고 시그니처 재구성부(240)가 가중치 처리부(230)를 이용하여 시그니처를 재구성한다는 점을 제외하고, 제1 실시예와 실질적으로 동일하다. 따라서, 아래에서는 제1 실시예와 차이점을 중심으로 그 설명이 이루어진다.4 is a block diagram of the signature reconstruction apparatus 200 according to the second embodiment of the present invention. The signature reconstruction apparatus 200 according to the second embodiment of the present invention may include a signature dividing unit 210, a load element inspecting unit 220, a weight processor 230, and a signature reconstructing unit 240. Here, the signature dividing unit 210, the load element checker 220, the weight processor 230 and the signature reconstructor 240 is divided by function to help the understanding of the present invention, the signature reconstruction device 200 is one It can be implemented in the form of a control unit or software. In addition, the signature reconstruction apparatus 200 may be implemented as a CPU, MPU, etc. consisting of a single core or multiple cores. In addition, the second embodiment of the present invention is that the signature reconstruction apparatus 200 further includes a weight processor 230, and that the signature reconstructor 240 uses the weight processor 230 to reconstruct the signature. Except for the above, it is substantially the same as the first embodiment. Therefore, the following description focuses on differences from the first embodiment.

가중치 처리부(230)는 복수의 부하요소에 대한 가중치를 산출하고, 부하요소 검사부(220)에서 출력된 각 부하요소의 제1 영향도에 복수의 부하요소에 대한 가중치를 반영함으로써, 각 부하요소의 제2 영향도를 산출한다. 즉, 가중치 처리부(230)는 각 부하요소의 제1 영향도에 가중치를 각각 반영함으로써, 제1 영향도 값들을 조절한다. 가중치 처리부(230)를 통해 가중치를 고려하는 이유는 본 발명의 실시예에 따른 시그니처 재구성 장치 또는 방법이 적용되는 보안 장치(10)의 성능(예를 들어, CPU의 사양, 메모리의 용량 등)과 통신 환경이 상이할 수 있기 때문이다. 예를 들어, 어떠한 환경에서는 각 시그니처 단편의 구성(예를 들어, 단순 텍스트 또는 정규표현식)이 보안 장치(10)의 부하에 크게 관여할 수 있는 한편, 다른 환경에서는 그렇지 않을 수 있다. 따라서, 가중치 처리부(230)는 아래의 사항을 고려하여 각 부하요소에 대한 가중치를 산출하고, 산출된 가중치들을 이용하여, 부하요소 검사부(220)에서 출력된 제1 영향도의 크기를 각각 조절한다.The weight processor 230 calculates the weights of the plurality of load elements, and reflects the weights of the plurality of load elements in the first degree of influence of each load element output from the load element inspector 220. The second influence is calculated. That is, the weight processor 230 adjusts the first influence values by reflecting the weights to the first influence of each load element, respectively. Reasons for considering weights through the weight processor 230 may include performance (eg, CPU specifications, memory capacity, etc.) of the security device 10 to which the signature reconstruction device or method according to the embodiment of the present invention is applied. This is because the communication environment may be different. For example, in some circumstances, the configuration of each signature fragment (eg, simple text or regular expression) may be heavily involved in the load of security device 10, while in other environments it may not. Therefore, the weight processor 230 calculates a weight for each load element in consideration of the following matters, and adjusts the magnitude of the first influence degree output from the load element inspector 220 using the calculated weights. .

먼저, 가중치 처리부(230)는 제1 부하요소로 언급된 데이터베이스(20)에 저장된 시그니처의 구성을 고려한다. 시그니처의 구성은 단순 텍스트로만 구성되거나 또는, 여러 반복문과 정규표현식이 포함된 문자열 등으로 구성될 수 있다. 예를 들어, 데이터베이스(20)에 저장된 시그니처 리스트에서 대부분의 시그니처들이 단순 텍스트만으로 이루어진 경우, 시그니처의 문법으로 인해 발생할 부하 영향도는 상당히 낮을 것이다.First, the weight processor 230 considers the configuration of the signature stored in the database 20 referred to as the first load element. The signature may consist of simple text only, or may consist of multiple loops and strings containing regular expressions. For example, if most of the signatures in the signature list stored in the database 20 consist of simple text only, the load impact that would occur due to the grammar of the signature would be quite low.

따라서, 가중치 처리부(230)는 전체 시그니처에서 구성이 단순 텍스트로 이루어진 시그니처 단편의 비율을 확인하고, 이 비율이 미리 설정된 비율(예를 들어, 30%, 40%, 50% 등)을 벗어난 경우 제1 부하요소에 대한 가중치를 높일 수 있다. 일 실시예에서, 가중치 처리부(230)는 시그니처 구성에서 단순 텍스트의 비율이 미리 설정된 비율을 초과하는 경우, 제1 부하요소의 가중치를 다른 가중치에 비해 상대적으로 높게 결정할 수 있다.Therefore, the weight processor 230 checks the ratio of the signature fragments composed of simple text in the entire signature, and if the ratio is outside the preset ratio (eg, 30%, 40%, 50%, etc.) 1 You can increase the weight for the load factor. In one embodiment, when the ratio of the simple text in the signature configuration exceeds the preset ratio, the weight processor 230 may determine the weight of the first load element relatively higher than other weights.

또한, 가중치 처리부(230)는 보안 장치(10)가 이용하는 패턴 탐색 알고리즘을 확인하고, 패턴 탐색 알고리즘의 종류에 따라 제2 부하요소의 가중치를 높거나 낮게 설정할 수 있다. 보안 장치(10)가 적용되는 네트워크 망 환경은 다양한 트래픽이 흐르는 인터넷 망뿐만 아니라, 특정 서비스망으로 한정할 수 있다. 보안 장치(10)는 보안 장치(10)가 적용될 망에 따라 상이한 패턴 탐색 알고리즘이 적용될 수 있는데, 이들 중 어떤 패턴 탐색 알고리즘은 패턴의 길이에 따라 문자열 탐색 시간이 길어지는 방식일 수 있다. 따라서, 가중치 처리부(230)는 보안 장치(10)가 이용하는 패턴 탐색 알고리즘을 확인함으로써 제2 부하요소의 가중치를 조절할 수 있다.In addition, the weight processor 230 may check the pattern search algorithm used by the security apparatus 10, and set the weight of the second load element higher or lower according to the type of the pattern search algorithm. The network environment to which the security device 10 is applied may be limited to a specific service network as well as an internet network through which various traffic flows. The security device 10 may be applied with a different pattern search algorithm according to a network to which the security device 10 is to be applied, and any of the pattern search algorithms may be a method in which a string search time is lengthened depending on the length of the pattern. Therefore, the weight processor 230 may adjust the weight of the second load element by checking the pattern search algorithm used by the security apparatus 10.

가중치는 각 부하요소 별로 고정된 값이 아니다. 가중치의 부여는 시그니처의 구성, 운용 장비의 물리적 장치의 특성, 장비를 운용하는 네트워크망의 트래픽 특성을 고려하여 가변적으로 이루어질 수 있다. The weight is not a fixed value for each load factor. The weighting may be made in consideration of the configuration of the signature, the characteristics of the physical device of the operation equipment, and the traffic characteristics of the network for operating the equipment.

또한, 가중치 처리부(230)는 각 부하요소의 제2 영향도에 대해 추가적인 조정이 필요한지 확인할 수 있다. 예를 들어, 가중치 처리부(230)는 패널티 정보를 확인하고, 패널티 정보를 이용하여 아래에서 설명되는 시그니처 단편에 대한 최종 부하 영향도에 추가적인 조정이 필요한지 확인할 수 있다. 패널티 정보는 시그니처 단편에 추가적인 부하 영향도를 부여할지 판단하기 위한 패널티 조건을 포함하는 정보이다. 즉, 패널티 정보는 부하요소 검사부(220)를 통한 각 부하요소의 검사과정에서 산술적인 부하 판단기준 이외에, 추가적인 판단 과정을 통해 시그니처 단편이 패널티 정보에 포함된 추가적인 패널티 조건에 일치하는지 판단할 때 이용될 수 있다. 가중치 처리부(230)는 패널티 정보에 포함된 추가적인 판단 조건(예를 들어, 패널티 조건)에 일치하는 경우, 이 시그니처 단편에 대한 패널티 값을 부여한다.In addition, the weight processor 230 may determine whether additional adjustment is required for the second influence of each load element. For example, the weight processor 230 may check the penalty information and use the penalty information to determine whether additional adjustment is required for the final load impact on the signature fragment described below. The penalty information is information including a penalty condition for determining whether to give an additional load impact to the signature fragment. That is, the penalty information is used to determine whether the signature fragment matches the additional penalty condition included in the penalty information through an additional decision process in addition to the arithmetic load judgment criteria in the inspection process of each load element through the load factor inspector 220. Can be. The weight processor 230 assigns a penalty value to the signature fragment when the weight determination unit 230 meets an additional determination condition (eg, a penalty condition) included in the penalty information.

예를 들어, 가중치 처리부(230)는 위에서 설명한 부하요소들에 대한 영향도 산출 이외에, 추가적인 패널티 조건을 이용한 비교 과정을 수행하고 패널티 조건에 일치하는 시그니처 단편이 검색되면, 검색된 시그니처 단편의 순서를 최종 부하 영향도에 재배치하는 패널티 값을 부여할 수 있다. 다시 말해, 가중치는 부하요소에 대한 제1 영향도에 적용되는 값이고, 패널티 값은 시그니처 단편에 대해 적용되는 값이다.For example, in addition to calculating the influence on the load factors described above, the weight processor 230 performs a comparison process using an additional penalty condition, and when a signature fragment matching the penalty condition is found, the order of the found signature fragments is finalized. You can assign a penalty value to relocate the load impact. In other words, the weight is a value applied to the first influence on the load factor, and the penalty value is a value applied to the signature fragment.

시그니처 재구성부(240)는 가중치 처리부(230)에서 출력된 각 부하요소의 제2 영향도를 받고, 제2 영향도를 이용하여 시그니처 단편의 최종 부하 영향도를 산출한다. 또한, 시그니처 재구성부(240)는 최종 부하 영향도를 산출하기 전, 시그니처 단편에 패널티 값이 부여되었는지 확인하고, 패널티값이 부여된 경우 각 부하요소 제2 영향도와 패널티 값 모두를 합하여 시그니처 단편의 최종 부하 영향도를 산출할 수 있다.The signature reconstruction unit 240 receives the second influence of each load element output from the weight processor 230, and calculates the final load influence of the signature fragment using the second influence. In addition, the signature reconstruction unit 240 checks whether a penalty value is assigned to the signature fragment before calculating the final load impact degree, and if the penalty value is assigned, adds both the second impact factor and the penalty value to each of the signature fragments. The final load impact can be calculated.

또한, 시그니처 재구성부(240)는 시그니처의 모든 시그니처 단편에 대해 최종 부하 영향도가 산출되었는지 확인하고, 모든 시그니처 단편에 대한 최종 부하 영향도가 산출된 경우, 시그니처에서 최종 부하 영향도의 크기에 따라 각 시그니처 단편을 재배치함으로써 시그니처를 재구성한다. 시그니처 재구성부(240)를 통해 이루어지는 동작은 도 2 및 도 3을 참조로 상세히 설명하였으므로, 중복되는 설명은 생략한다.In addition, the signature reconstruction unit 240 checks whether the final load influence is calculated for all the signature fragments of the signature, and if the final load influence is calculated for all the signature fragments, the signature reconstruction unit 240 according to the magnitude of the final load impact in the signature. The signature is reconstructed by rearranging each signature fragment. Since the operation performed through the signature reconstruction unit 240 has been described in detail with reference to FIGS. 2 and 3, redundant descriptions thereof will be omitted.

본 발명의 제2 실시예에 따른 시그니처 재구성 장치(200)는 가중치를 반영하여(예를 들어, 시그니처 구성과 패턴 탐색 알고리즘 등을 고려하여) 부하요소에 대해 영향도를 산출할 수 있다. 가중치는 검색 성능에 영향이 큰 부하요소에서 계산된 부하 발생 비용이 통합 비용(예를 들어, 최종 부하 영향도)에 적용될 때의 비중을 높이는 역할을 한다. 상황에 따라 조절된 크기의 가중치를 반영함으로써, 가중치가 적용되지 않을 때보다 시그니처의 부하 여부 검출 확률을 높일 수 있으며, 적은 탐색 시간도 보장할 수 있다.The signature reconstruction apparatus 200 according to the second embodiment of the present invention may calculate the influence on the load factor by reflecting the weight (for example, considering the signature configuration and the pattern search algorithm). The weights play a role in increasing the proportion of the load incurred cost calculated in the load factor that has a high impact on search performance when applied to the integration cost (eg, final load impact). By reflecting the weight of the size adjusted according to the situation, it is possible to increase the probability of detecting whether the signature is loaded than when the weight is not applied, and it is possible to guarantee a small search time.

도 5는 본 발명의 제2 실시예에 따른 시그니처 재구성 장치(200)를 통해, 하나의 시그니처를 재구성하는 방법을 설명하기 위한 개념도이다. 도 5에 도시된 예시는 도 3에 도시된 예시와 마찬가지로, 데이터베이스(20)에서 제1 시그니처(S1)가 선택되었고, 제1 시그니처(S1)는 제1 시그니처 단편(P'A'), 제2 시그니처 단편(P'B') 및 제3 시그니처 단편(P'C')을 포함하고, 제1 시그니처(S1)가 P'A' P'B' P'C' 순으로 시그니처 단편을 포함한 상황을 가정한다. 부하요소 검사부(220)는 두 개의 부하요소에 대해 검사를 수행하는 상황을 가정한다. 또한, 본 발명의 제2 실시예는 가중치를 고려한다는 점을 제외하고, 제1 실시예와 실질적으로 동일하므로 아래에서는 차이점 위주로 설명이 이루어진다.5 is a conceptual diagram illustrating a method of reconstructing one signature through the signature reconstruction apparatus 200 according to the second embodiment of the present invention. In the example illustrated in FIG. 5, similar to the example illustrated in FIG. 3, the first signature S 1 is selected in the database 20, and the first signature S 1 is the first signature fragment P′A ′. And a second signature fragment P'B 'and a third signature fragment P'C', wherein the first signature S 1 is in the order of P'A 'P'B'P'C' Assume a situation involving It is assumed that the load element inspecting unit 220 performs inspection on two load elements. In addition, since the second embodiment of the present invention is substantially the same as the first embodiment except that weight is considered, the following description will focus on differences.

가중치 처리부(230)는 부하요소 검사부(220)에서 출력된 각 부하요소의 제1 영향도(도 5에서, 제1 부하요소의 제1 영향도 및 제2 부하요소의 제1 영향도)에 복수의 부하요소에 대한 가중치를 적용함으로써, 각 부하요소의 제2 영향도(도 5에서, 제1 부하요소의 제2 영향도 및 제2 부하요소의 제2 영향도)를 산출한다. 도 5에 도시된 예시는 제1 부하요소에 대한 가중치가 제2 부하요소에 대한 가중치보다 높은 상황을 가정한다. 예를 들어, 제1 부하요소의 제1 영향도 및 제1 부하요소의 제2 영향도가 각각 30이고, 제1 부하요소의 가중치 및 제2 부하요소의 가중치가 각각 1.5 및 0.5인 상황을 가정하면, 제1 부하요소의 제2 영향도는 45, 그리고 제2 부하요소의 제2 영향도는 15가 될 것이다. 또한, 제1 부하요소의 제1 영향도 및 제1 부하요소의 제2 영향도가 각각 60 및 30이고, 제1 부하요소의 가중치 및 제2 부하요소의 가중치가 각각 1.5 및 0.5인 상황을 가정하면, 제1 부하요소의 제2 영향도는 90, 그리고 제2 부하요소의 제2 영향도는 15가 될 것이다.The weight processor 230 has a plurality of first influence degrees (in FIG. 5, the first influence degree of the first load element and the first influence degree of the second load element) of the load elements output from the load element inspecting unit 220. By applying the weights for the load elements, the second influence of each load element (in FIG. 5, the second influence of the first load element and the second influence of the second load element) is calculated. The example illustrated in FIG. 5 assumes a situation in which the weight for the first load element is higher than the weight for the second load element. For example, assume that the first influence factor and the second influence factor of the first load element are each 30, and the weight of the first load element and the weight of the second load element are 1.5 and 0.5, respectively. Then, the second impact factor of the first load element will be 45, and the second impact factor of the second load element will be 15. In addition, it is assumed that the first influence factor and the second influence factor of the first load element are 60 and 30, respectively, and the weight of the first load element and the weight of the second load element are 1.5 and 0.5, respectively. Then, the second influence of the first load element will be 90, and the second influence of the second load element will be 15.

시그니처 재구성부(240)는 가중치 처리부(230)를 통해 가중치가 반영된 제2 영향도들을 합산함으로써, 각 시그니처 단편의 최종 부하 영향도를 계산한다. 또한, 시그니처 재구성부(240)는 시그니처에 포함된 모든 시그니처 단편들의 최종 부하 영향도 계산이 완료되면, 최종 부하 영향도의 크기에 따라 시그니처 단편들을 P'B' P'C' P'A' 순으로 재배치함으로써, 시그니처를 재구성한다.The signature reconstruction unit 240 calculates the final load influence of each signature fragment by summing the second influences reflecting the weights through the weight processor 230. In addition, when the final load impact calculation of all the signature fragments included in the signature is completed, the signature reconstruction unit 240 orders the signature fragments in order of P'B 'P'C' P'A 'according to the magnitude of the final load impact. By relocating, the signature is reconstructed.

도 6은 본 발명의 제3 실시예에 따른 시그니처 재구성 장치(300)에 대한 블록도이다. 본 발명의 제3 실시예에 따른 시그니처 재구성 장치(300)는 시그니처 분할부(310), 부하요소 검사부(320), 가중치 처리부(330), 시그니처 재구성부(340) 및 오토마타 생성부(350)를 포함하여 구성될 수 있다. 여기서, 시그니처 분할부(310), 부하요소 검사부(320), 가중치 처리부(330), 시그니처 재구성부(340) 및 오토마타 생성부(350)는 본 발명의 이해를 돕기 위해 기능별로 구분한 것이고, 시그니처 재구성 장치(300)는 하나의 제어부 또는 소프트웨어의 형태로 구현될 수 있다. 또한, 시그니처 재구성 장치(300)는 단일 코어 또는 다중 코어로 이루어진 CPU, MPU 등으로 구현될 수도 있다. 또한, 본 발명의 제3 실시예는 부하요소 검사부(320)가 N개의 부하요소를 고려하는 점, 그리고 부하요소 검사부(320)를 통해 고려될 오토마타를 생성하기 위한 오토마타 생성부(350)를 더 포함하는 점을 제외하고, 제1 실시예 또는 제2 실시예와 실질적으로 동일하다. 따라서, 아래에서는 제1 실시예 또는 제2 실시예와의 차이점을 중심으로 그 설명이 이루어진다.6 is a block diagram of the signature reconstruction apparatus 300 according to the third embodiment of the present invention. The signature reconstruction apparatus 300 according to the third embodiment of the present invention includes a signature division unit 310, a load element inspection unit 320, a weight processing unit 330, a signature reconstruction unit 340, and an automata generator 350. It can be configured to include. Here, the signature divider 310, the load factor checker 320, the weight processor 330, the signature reconstructor 340, and the automata generator 350 are classified by functions to help the present invention. The reconstruction device 300 may be implemented in the form of one controller or software. In addition, the signature reconstruction apparatus 300 may be implemented as a CPU, MPU, etc. consisting of a single core or multiple cores. In addition, the third embodiment of the present invention further includes an automata generator 350 for generating the automata to be considered through the load element inspector 320 and the load element inspector 320 considering the N load elements. It is substantially the same as a 1st Example or a 2nd Example except for including. Therefore, the description will be made below based on differences from the first embodiment or the second embodiment.

시그니처 분할부(310)는 데이터베이스(20)에 저장된 시그니처들 중 하나의 시그니처를 선택하고, 시그니처를 복수의 시그니처 단편들로 분할한다.The signature dividing unit 310 selects one signature from among the signatures stored in the database 20, and divides the signature into a plurality of signature fragments.

오토마타 생성부(350)는 시그니처 분할부(310)를 통해 분할된 복수의 시그니처 단편들에 대한 오토마타를 하나씩 순차적으로 생성하거나 동시에 생성할 수 있다. 여기서, 오토마타는 디지털 컴퓨터에 대한 추상적 모델을 나타내며, 유한 상태일 수 있다. 유한 상태의 오토마타는 유한개의 상태, 입력, 상태전이 함수, 하나의 초기 상태, 적어도 하나의 종료 상태를 포함한다. 일반적으로, 유한 상태 모델은 연속적으로 입력되는 입력에 대한 처리를 위한 모델이다. 오토마타 생성부(350)를 통해 생성한 오토마타의 예시는 도 7에 도시된다.The automata generator 350 may sequentially generate or automatically generate automata for each of the plurality of signature fragments divided by the signature divider 310. Here, the automata represents an abstract model for the digital computer and may be in a finite state. A finite state automata includes a finite state, an input, a state transition function, one initial state, and at least one end state. In general, a finite state model is a model for processing input that is continuously input. An example of an automata generated by the automata generator 350 is illustrated in FIG. 7.

도 7은 오토마타(예를 들어, 유한 상태 오토마타)의 개념을 설명하기 위한 개념도이다. 도 7에서 숫자 0 내지 숫자 5를 포함하는 원은 유한 오토마타의 상태를 각각 나타내고, 화살표에 병기된 문자(a, b, d)는 상태 전이 조건을 나타낸다. 입력된 문자가 상태 전이 조건을 만족할 경우 화살표 방향으로 상태가 전이된다. 예를 들어, 0이 표시된 원은 시작 상태를 나타내고, 시작 상태에서 a가 입력되면 상태 1로 전이된다. 또한, 두 개의 동심원으로 이루어진 5로 표시된 원은 최종 상태를 나타낸다. 시작 상태에서부터 출발하여, 상태가 전이(transition)된 결과 종료 상태에 도달하면 검색하고자 하는 문자열이 검색되었음을 의미한다. 다시 도 6을 참조한다.7 is a conceptual diagram illustrating the concept of an automata (for example, a finite state automata). In Fig. 7, circles containing numerals 0 to 5 represent the states of the finite automata, respectively, and letters (a, b, d) written in the arrows indicate state transition conditions. If the entered character satisfies the transition condition, the transition is made in the direction of the arrow. For example, a circle with 0 indicates a start state, and when a is entered in the start state, the state transitions to state 1. Also, a circle marked 5 consisting of two concentric circles represents the final state. Starting from the start state, when the state reaches the end state as a result of transition, it means that the string to be searched is searched. Referring back to FIG.

부하요소 검사부(320)는 시그니처 분할부(310)를 통해 각 시그니처 단편에 대해, 각 부하요소의 제1 영향도를 산출한다. 제1 및 제2 실시예에서 두 개의 부하요소에 대해 제1 영향도를 산출한 것과 달리, 부하요소 검사부(320)는 N 개(예를 들어, 3개, 4개 또는 그 이상)의 부하요소에 대한 제1 영향도를 산출할 수 있다. 예를 들어, 부하요소는 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법이 시그니처 단편에 포함되어있는지의 여부, 시그니처 단편의 패턴의 길이, 오토마타 활성상태 크기 및 오토마타 활성상태 검색공간 크기 중 적어도 일부를 포함한다. 도 6에서는 부하요소가 4개인 것으로 도시되나, 이는 예시일 뿐이고 부하요소 검사부(320)는 위의 부하요소 중 일부 또는 전체, 또는 위의 부하요소 외의 다른 부하요소를 고려하여 각 부하요소에 대한 제1 영향도를 산출할 수 있다.The load element inspecting unit 320 calculates a first influence degree of each load element for each signature fragment through the signature division unit 310. Unlike the first impact factor calculated for the two load elements in the first and second embodiments, the load element inspection unit 320 includes N load elements (for example, three, four, or more). The first influence on can be calculated. For example, the load factor includes at least some of whether the signature fragment contains a regular expression grammar representing an unspecified length or an unspecified data type, the length of the pattern of the signature fragment, the automata active size, and the automata active search space size. do. In FIG. 6, four load elements are illustrated, but this is only an example, and the load element inspecting unit 320 may be configured for each load element in consideration of some or all of the above load elements, or other load elements other than the load elements. 1 Impact can be calculated.

부하요소 검사부(320)는 이들 네 개의 부하요소 중 적어도 일부 또는 전체, 또는 상술한 부하요소 이외의 다른 부하요소에 대해 제1 영향도를 산출할 수 있다. 아래에서는 부하요소 검사부(320)가 네 개의 검사 모듈(321, 322, 323, 324)을 포함하여 네 개의 부하요소에 대한 제1 영향도를 산출하는 상황을 가정한다. 예를 들어, 제1 검사 모듈(321)이 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법의 존재 여부를 고려하고, 제2 검사 모듈(322)이 시그니처 단편의 패턴의 길이를 고려하고, 제3 검사 모듈(323)이 오토마타 활성상태 크기를 고려하며, 제4 검사 모듈(324)이 오토마타 활성상태 검색공간 크기를 고려하는 상황을 가정한다. 여기서, 제1 및 제2 검사 모듈(321, 322)을 통해 이루어지는 동작은 도 2를 참조로 설명한 제1 및 제2 검사 모듈(121, 122)과 실질적으로 동일하므로, 중복되는 설명은 생략한다.The load element inspecting unit 320 may calculate a first degree of influence on at least some or all of these four load elements, or other load elements other than the load elements described above. In the following, it is assumed that the load element inspecting unit 320 calculates a first degree of influence on four load elements, including four inspection modules 321, 322, 323, and 324. For example, the first inspection module 321 considers the existence of a regular expression grammar representing an unspecified length or an unspecified data type, the second inspection module 322 considers the length of the pattern of the signature fragment, and the third inspection. Assume that the module 323 considers the size of the automata active state, and the fourth inspection module 324 considers the size of the automata active state search space. Here, since operations performed through the first and second test modules 321 and 322 are substantially the same as the first and second test modules 121 and 122 described with reference to FIG. 2, redundant descriptions thereof will be omitted.

제3 검사 모듈(323)은 오토마타 생성부(350)를 통해 생성된 시그니처 단편의 오토마타의 활성상태 크기에 따라 제3 부하요소의 제1 영향도를 부여할 수 있다. 앞서 설명한 바와 같이, 오토마타의 활성상태가 크다는 것은, 문자열을 검색하는 과정에서 많은 상태 전이를 거쳐야 함을 의미한다. 예를 들어, 활성상태가 큰 오토마타를 갖는 시그니처 단편을 이용하여 비정상 트래픽을 검출할 경우, 매칭되기 까지 많은 조건을 만족시켜야 하기 때문에 전이 상태를 보관하는 시간과, 활성상태를 지속적으로 변경하며 오토마타 전체를 검색하는 시간이 탐색 부하에 직접적 연관 요소로 작용할 수 있다. 따라서, 제3 검사모듈(323)은 이러한 특성을 고려하여 활성상태가 클수록 높은 값을, 그리고 활성상태가 낮을수록 낮은 값을 제3 부하요소의 제1 영향도에 부여할 수 있다.The third inspection module 323 may give a first influence of the third load element according to the size of the automata of the signature fragment generated by the automata generator 350. As described above, the high activation state of the automata means that a lot of state transitions are required in the process of searching for a string. For example, when an abnormal traffic is detected by using a signature fragment with a high automata, many conditions must be satisfied until a match is found, so the time to keep the transition state and the automata are changed continuously. The search time can be a direct factor in the search load. Accordingly, in consideration of these characteristics, the third inspection module 323 may assign a higher value as the active state is higher and a lower value as the active state is lower to the first influence of the third load element.

제4 검사 모듈(324)은 오토마타 생성부(350)를 통해 생성된 시그니처 단편의 오토마타의 활성상태 검색공간 크기에 따라 제4 부하요소의 제1 영향도를 부여할 수 있다. 오토마타의 활성상태 개수는 적으나 매칭 범위가 모호하거나 반복적인 계산을 하는 정규표현식 문법을 위해 확보하는 메모리 공간은 활성상태 검색공간의 크기로서 표현될 수 있다. 이는 활성상태 개수와는 별개로 부하 영향도를 표현할 수 있는 오토마타 검증의 또 다른 주요 요소로서, 검색공간 크기와 비례하여 부하 영향도가 부여된다.The fourth inspection module 324 may give the first influence of the fourth load element according to the size of the active state search space of the automata of the signature fragment generated by the automata generator 350. The memory space reserved for the regular expression grammar that has a small number of active states but an ambiguous matching range or performs an iterative calculation may be expressed as the size of the active state search space. This is another major element of automata verification that can express the load impact independent of the number of active states, and the load impact is given in proportion to the size of the search space.

가중치 처리부(330)는 부하요소 검사부(320)에서 출력된 각 부하요소의 제1 영향도에 가중치를 각각 반영함으로써, 각 부하요소의 제2 영향도를 산출한다. 즉, 가중치 처리부(330)는 각 부하요소의 제1 영향도에 가중치를 반영함으로써, 각 부하요소의 제1 영향도 값을 조절한다. 제2 실시예와는 달리, 가중치 처리부(330)는 제1 및 제2 검사 모듈(321, 322)에서 출력된 제1 및 제2 부하요소에 대한 제1 영향도 뿐 아니라, 제3 및 제4 검사 모듈(323, 324)에서 출력된 제3 및 제4 부하요소에 대한 제1 영향도에 제3 및 제4 부하요소에 대한 가중치를 적용함으로써, 제1 내지 제4 부하요소에 대한 제2 영향도를 산출할 수 있다. 한편, 제1 및 제2 부하요소에 대해 가중치를 반영할 때에 고려되어야 할 사항은 위에서 상세히 설명하였으므로, 아래에서는 제3 및 제4 부하요소에 대한 가중치를 반영할 때에 고려되어야 할 사항을 중심으로 설명이 이루어진다.The weight processor 330 calculates a second influence degree of each load element by reflecting weights to the first influence degree of each load element output from the load element inspector 320. That is, the weight processor 330 adjusts the first influence value of each load element by reflecting the weight in the first influence degree of each load element. Unlike the second embodiment, the weight processor 330 may not only have a first influence on the first and second load elements output from the first and second inspection modules 321 and 322, but also a third and fourth. The second influence on the first to fourth load elements by applying weights for the third and fourth load elements to the first influence on the third and fourth load elements output from the inspection modules 323 and 324. The degree can be calculated. Meanwhile, since the matters to be considered when reflecting the weights of the first and second load elements have been described in detail above, the following description will focus on the matters to be considered when reflecting the weights of the third and fourth load elements. This is done.

가중치 처리부(330)는 시그니처 재구성 장치(300) 또는 방법이 적용되는 보안 장비의 성능을 고려할 수 있다. 본 발명의 실시예들에 따른 시그니처 재구성 장치(300)는 시그니처를 운용하는 장비를 대용량 네트워크 트렁크를 처리하는 고성능의 시스템을 가정하고 있으나, 본 발명의 실시예들을 적용하는 기술이 소프트웨어 기반에서 동작할 수 있기 때문에 운용 장비의 환경이 변수가 될 수 있다. 메모리가 적은 시스템에서 오토마타 활성상태 검색공간 크기는 주요 검토 요소가 되며, 가급적 가중치를 높여 그 패턴이 후 순위로 처리될 수 있도록 조치하는 것이 옳다. The weight processor 330 may consider the performance of the security equipment to which the signature reconstruction apparatus 300 or the method is applied. Although the signature reconstruction apparatus 300 according to the embodiments of the present invention assumes a high performance system that processes a large network trunk of equipment that operates a signature, the technology to which the embodiments of the present invention are applied may operate based on software. The environment of the operating equipment can be variable. In low-memory systems, the size of the automata active search space is a major review factor, and it is correct to increase the weight as much as possible so that the pattern can be processed in a lower order.

따라서, 가중치 처리부(330)는 제1 부하요소로 언급된 시그니처 구성이 정규 표현식인 경우(정규 표현식은 오토마타 활성상태 또는 오토마타 활성상태 검색 공간 크기에 영향을 미침), 그리고 보안 장치(10)에서 메모리의 여유 공간이 적은 경우, 제3 부하요소 및 제4 부하요소에 대한 가중치를 상대적으로 높일 수 있다. 또한, 가중치 처리부(330)는 시그니처 구성이 단순 텍스트인 경우, 텍스트를 구성하는 문자의 개수가 오토마타의 상태 개수에 영향을 미치므로 제3 부하요소의 가중치를 증가시킬 수 있다.Accordingly, the weight processing unit 330 may determine that the signature configuration referred to as the first load element is a regular expression (the regular expression affects the automata active state or automata active state search space size), and the memory in the security device 10. When the amount of free space is small, weights for the third load element and the fourth load element may be relatively increased. In addition, when the signature configuration is simple text, the weight processing unit 330 may increase the weight of the third load element because the number of characters constituting the text affects the number of states of the automata.

부하를 나타내는 각 요소는 서로 연관성이 있다. 예를 들어, 하나의 시그니처 단편이 100 바이트를 초과하는 텍스트 패턴인 상황을 가정한다. 100 바이트를 초과하는 텍스트 패턴은 예를 들어, 100개를 초과하는 숫자 또는 문자의 조합을 포함할 수 있고, 이 텍스트 패턴에 대해 생성된 오토마타는 100개를 초과하는 상태를 포함하므로, 오토마타의 활성상태 크기도 상대적으로 크다. 그러나, 시그니처 단편이 큰 텍스트 패턴의 경우, 이와 완전히 일치하는 문자열을 찾기 어렵기 때문에, 상대적으로 반복적인 계산의 수행 횟수가 적어진다. 따라서, 오토마타 활성상태 검색공간 크기는 크지 않다. Each factor representing a load is related to each other. For example, suppose that one signature fragment is a text pattern that exceeds 100 bytes. Text patterns exceeding 100 bytes may include, for example, more than 100 numbers or combinations of characters, and automata generated for this text pattern may contain more than 100 states, thus enabling the activation of automata. The state size is also relatively large. However, in the case of a large text pattern with a signature fragment, it is difficult to find a string that perfectly matches this, so that the number of relatively repetitive calculations is performed. Therefore, the size of the automata active search space is not large.

다른 예시로서, 동일 문자가 4개 이상 100개 이하 반복을 의미하는 '.{4,100}'와 같은 시그니처 단편은 그 길이가 길지 않기 때문에, 오토마타의 활성상태 크기도 크지 않다. 그러나 탐색이 종료되는 시점까지 최소 4 바이트에서 100 바이트까지의 문자열 범위에 대하여 매칭 가능성을 확보해야 하기 때문에, 오토마타 활성상태 검색공간의 크기는 커야 한다.As another example, a signature fragment such as '. {4,100}', which means 4 to 100 or more repetitions of the same character, does not have a long length, so the size of the active state of the automata is not large. However, the size of the automata active search space must be large because matching possibilities must be ensured for a string range of at least 4 bytes to 100 bytes until the end of the search.

이처럼, 가중치 처리부(330)는 본 발명의 실시예들에 따른 시그니처 재구성 장치(300) 또는 방법이 적용될 장비의 성능, 그리고 시그니처 리스트에 포함된 각 시그니처의 구조 등을 고려하여, 부하요소 별로 상이한(또는 적어도 두 개가 상이한) 가중치를 적용할 수 있다. 또한, 위에서는 가중치를 증가시키거나 감소시키는 상황에 대해 설명하였다. 다만 이는 예시일 뿐이고, 상기 조건 외에도 다양한 조건을 통해 또는 다양한 상황에 따라 각 부하요소에 대한 가중치가 산출 또는 조절될 수 있다.As such, the weight processor 330 may be different for each load element in consideration of the performance of the apparatus for applying the signature reconstruction apparatus 300 or the method according to the embodiments of the present invention, and the structure of each signature included in the signature list. Or at least two different) weights. In addition, the above has described the situation of increasing or decreasing the weight. However, this is only an example, and in addition to the above conditions, the weight of each load element may be calculated or adjusted through various conditions or according to various situations.

가중치 처리부(330)는 제2 실시예와 마찬가지로, 패널티 정보를 확인하고, 패널티 정보를 이용하여 시그니처 단편에 패널티 값을 부여할지 여부를 결정할 수 있다. 패널티 정보를 이용하여 시그니처 단편의 최종 부하 영향도를 조정하는 방법에 대한 설명은 도 4를 참조로 상세히 언급하였으므로, 중복되는 설명을 생략한다.Like the second embodiment, the weight processor 330 may check the penalty information and determine whether to assign a penalty value to the signature fragment using the penalty information. Since the description of the method for adjusting the final load impact degree of the signature fragment using the penalty information has been described in detail with reference to FIG. 4, redundant descriptions are omitted.

시그니처 재구성부(340)는 가중치 처리부(330)에서 출력된 각 부하요소의 제2 영향도를 수신하고, 제2 영향도를 이용하여 시그니처 단편의 최종 부하 영향도를 산출한다. 또한, 시그니처 재구성부(340)는 시그니처 단편에 패널티 값이 부여된 경우, 각 부하요소의 제2 영향도와 패널티 값 모두를 합산함으로써 시그니처 단편의 최종 부하 영향도를 산출할 수 있다. 그 후, 시그니처 재구성부(340)는 그 시그니처에서 최종 부하 영향도의 크기에 따라 각 시그니처 단편을 재배치함으로써, 시그니처를 재구성한다. 시그니처 재구성부(340)를 통해 이루어지는 동작은 위에서 상세히 설명하였으므로, 중복되는 설명은 생략한다.The signature reconstructor 340 receives the second influence of each load element output from the weight processor 330, and calculates the final load influence of the signature fragment using the second influence. In addition, when the penalty value is assigned to the signature fragment, the signature reconstruction unit 340 may calculate the final load impact degree of the signature fragment by summing both the second impact factor and the penalty value of each load element. Thereafter, the signature reconstruction unit 340 reconstructs the signature by rearranging each signature fragment according to the magnitude of the final load impact degree in the signature. Since the operation performed through the signature reconstruction unit 340 has been described in detail above, redundant description thereof will be omitted.

도 8은 본 발명의 제3 실시예에 따른 시그니처 재구성 장치(300)를 통해, 하나의 시그니처를 재구성하는 방법을 설명하기 위한 개념도이다. 도 8에 도시된 예시는 도 3 및 도 5에 도시된 예시와 마찬가지로, 데이터베이스(20)에서 제1 시그니처(S1)가 선택되었고, 제1 시그니처(S1)는 제1 시그니처 단편(P'A'), 제2 시그니처 단편(P'B') 및 제3 시그니처 단편(P'C')을 포함하고, 제1 시그니처(S1)가 P'A' P'B' P'C' 순으로 시그니처 단편을 포함한 상황을 가정한다. 이에 부가하여, 부하요소 검사부(320)는 네 개의 부하요소에 대해 검사를 수행하는 상황을 가정한다. 8 is a conceptual diagram illustrating a method of reconstructing one signature through the signature reconstruction apparatus 300 according to the third embodiment of the present invention. In the example illustrated in FIG. 8, similar to the example illustrated in FIGS. 3 and 5, the first signature S 1 is selected in the database 20, and the first signature S 1 is the first signature fragment P ′. A '), a second signature fragment (P'B') and a third signature fragment (P'C '), wherein the first signature (S 1 ) is P'A'P'B'P'C' Assume a situation involving a signature fragment. In addition, it is assumed that the load element inspecting unit 320 performs a test on four load elements.

도 8을 참고하면, 부하요소 검사부(320)는 시그니처 분할부(310)를 통해 분할된 각 시그니처 단편(P'A', P'B', P'C')에 대해, 각 부하요소의 제1 영향도를 산출한다. 예를 들어, 부하요소 검사부(320)는 시그니처 단편 순으로, 또는 부하요소 순으로, 제1 부하요소 내지 제4 부하요소에 대한 제1 영향도를 산출할 수 있다. 도 3을 참조로 설명한 바와 같이, 부하요소 검사부(320)를 통해 이루어지는 제1 영향도 산출은 순차적으로는 물론, 병렬적으로 동시에 이루어질 수도 있다. 도 6을 참조로 설명한 것처럼, 제1 부하요소는 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법이 시그니처 단편에 포함되어있는지의 여부를 나타내고, 제2 부하요소는 시그니처 단편의 패턴의 길이를 나타내고, 제3 부하요소는 오토마타 활성상태 크기를 나타내며, 제4 부하요소는 오토마타 활성상태 검색공간 크기를 나타낼 수 있다.Referring to FIG. 8, the load element inspecting unit 320 is configured to generate each load element for each of the signature fragments P'A ', P'B', and P'C 'divided through the signature division unit 310. Calculate the impact. For example, the load element inspecting unit 320 may calculate a first degree of influence on the first to fourth load elements in the order of the signature fragments or in the order of the load elements. As described with reference to FIG. 3, the calculation of the first influence degree made through the load element inspecting unit 320 may be performed sequentially as well as in parallel. As described with reference to FIG. 6, the first load element indicates whether a regular expression grammar indicating an unspecified length or an unspecified data type is included in the signature fragment, and the second load element indicates the length of the pattern of the signature fragment. The third load element may indicate an automata active state size, and the fourth load element may indicate an automata active state search space size.

가중치 처리부(330)는 부하요소 검사부(320)에서 출력된 제1 내지 제4 부하요소의 제1 영향도에 복수의 부하요소에 대한 가중치를 적용함으로써 각 부하요소의 제2 영향도를 산출한다. 또한, 가중치 처리부(330)는 패널티 조건 등을 고려하여 제2 영향도를 산출할 수 있다.The weight processor 330 calculates a second influence degree of each load element by applying weights for the plurality of load elements to the first influence degrees of the first to fourth load elements output from the load element inspector 320. In addition, the weight processor 330 may calculate the second influence degree in consideration of a penalty condition.

시그니처 재구성부(340)는 가중치 처리부(330)를 통해 가중치가 반영된(또는 패널티가 반영된) 각 부하요소의 제2 영향도를 합산함으로써, 각 시그니처 단편의 최종 부하 영향도를 계산한다. 또한, 시그니처 재구성부(340)는 시그니처에 포함된 모든 시그니처 단편들의 최종 부하 영향도 계산이 완료되면, 최종 부하 영향도의 크기에 따라 시그니처 단편들을 P'B' P'C' P'A' 순으로 재배치함으로써, 시그니처를 재구성한다.The signature reconstructor 340 calculates the final load influence of each signature fragment by summing the second influences of each load factor with weights (or penalties) through the weight processor 330. In addition, when the final load impact calculation of all the signature fragments included in the signature is completed, the signature reconstructor 340 orders the signature fragments in order of P'B 'P'C' P'A 'according to the magnitude of the final load impact. By relocating, the signature is reconstructed.

도 9는 본 발명의 일 실시예에 따른 시그니처 재구성 방법에 대한 흐름도이다. 상술한 바와 같이, 본 발명의 일 실시예에 따른 시그니처 재구성 방법은 시그니처 기반 비정상 트래픽 탐지 기법이 보다 효율적으로 이루어질 수 있도록, 시그니처에 포함된 각 시그니처 단편을 재구성함으로써 각 시그니처를 재구성할 수 있다. 본 발명의 일 실시예에 따른 시그니처 재구성 방법은 도 1 내지 도 8을 참조로 설명된 장치(예를 들어, 복수의 구성들 또는 하나의 제어부를 포함하는 장치)에 의해 이루어지거나, 다른 실시예에서 소프트웨어의 형태로 보안 장치에 설치됨으로써 적용될 수 있다. 이하에서는 위에서 설명된 사항과 중복되는 부분은 생략하여 그 설명이 이루어진다.9 is a flowchart illustrating a signature reconstruction method according to an embodiment of the present invention. As described above, the signature reconstruction method according to an embodiment of the present invention may reconstruct each signature by reconstructing each signature fragment included in the signature so that the signature-based abnormal traffic detection technique can be performed more efficiently. The signature reconstruction method according to an embodiment of the present invention may be performed by the apparatus described above with reference to FIGS. 1 through 8 (for example, a plurality of configurations or an apparatus including one controller), or in another embodiment. It can be applied by being installed in the security device in the form of software. In the following description is omitted to omit the overlapping parts described above.

S110 단계는 데이터베이스(20)에 저장된 시그니처 중 하나의 시그니처(예를 들어, 제1 시그니처)를 선택하는 단계이다. 앞서 설명한 것처럼, 데이터베이스는 복수의 시그니처들을 시그니처 리스트의 형태로 구비할 수 있다.In step S110, a signature (eg, a first signature) of one of the signatures stored in the database 20 is selected. As described above, the database may include a plurality of signatures in the form of a signature list.

S120 단계는 S110 단계를 통해 선택한 시그니처(예를 들어, 제1 시그니처)를 복수의 단편들로 분할하는 단계이다. 예를 들어, S120 단계는 파서 등을 이용하여 시그니처를 수신하고, 문자열 패턴과 정규표현식 문법 등을 고려하여 복수의 시그니처 단편들로(예를 들어, 구문을 해석할 수 있는 단위로) 분할함으로써 이루어질 수 있다. S120 단계에서 이루어지는 구문 분석 방식은 다양한 방식이 존재하므로, 본 발명에서는 이를 특정 방식으로 제한하지 않는다.In step S120, the signature (for example, the first signature) selected through step S110 is divided into a plurality of fragments. For example, step S120 may be performed by receiving a signature using a parser or the like and dividing the signature into a plurality of signature fragments (for example, in a unit that can parse a syntax) in consideration of a string pattern and a regular expression grammar. Can be. Since the parsing method performed in step S120 exists in various ways, the present invention does not limit it to a specific method.

S130 단계는 S120 단계를 통해 분할된 각 시그니처 단편들 중 하나의 시그니처 단편을 선택하고, 선택한 시그니처 단편의 각 부하요소의 제1 영향도를 산출하는 단계이다. 부하요소는 불특정 길이 또는 불특정 자료형을 나타내는 정규표현식 문법이 시그니처 단편에 포함되어있는지의 여부, 시그니처 단편의 패턴의 길이, 오토마타 활성상태 크기 및 오토마타 활성상태 검색공간 크기 중 적어도 일부를 포함한다. 예를 들어, S130 단계는 선택한 시그니처 단편에 대해, 두 개, 세 개, 네 개 또는 그 이상의 부하요소의 제1 영향도를 산출할 수 있다. 부하요소는 위에서 설명한 것으로 제한되지 않고 다른 부하요소가 더 고려될 수 있다. 그리고, 각 부하요소에 대한 제1 영향도 산출 방법은 위에서 상세히 언급하였으므로, 중복되는 설명은 생략한다.In operation S130, a signature fragment of one of the signature fragments divided through the operation S120 may be selected, and a first influence of each load element of the selected signature fragment may be calculated. The load factor includes at least some of whether a regular expression grammar representing an unspecified length or unspecified data type is included in the signature fragment, the length of the pattern of the signature fragment, the size of the automata active state, and the size of the automata active state search space. For example, step S130 may calculate the first impact of two, three, four or more load factors for the selected signature fragment. The load element is not limited to that described above, and other load elements may be further considered. In addition, since the method of calculating the first impact degree for each load element has been described in detail above, redundant description thereof will be omitted.

S140 단계는 복수의 부하요소에 대한 가중치를 산출 하는 단계이다. 앞서 설명한 바와 같이, 본 발명의 일 실시예에 따른 시그니처 재구성 방법은 시그니처의 구성, 패턴 탐색 알고리즘의 종류, 시스템 메모리의 여유 공간 등을 고려하여, 각 부하요소에 대한 가중치를 산출한다. 가중치를 산출하는 방법과 이에 이용되는 조건 등은 위에서 상세히 설명하였으므로, 중복되는 설명은 생략한다.Step S140 is a step of calculating weights for the plurality of load elements. As described above, the signature reconstruction method according to an embodiment of the present invention calculates a weight for each load element in consideration of the configuration of the signature, the type of pattern search algorithm, the free space of the system memory, and the like. Since the method for calculating the weight and the conditions used therein have been described in detail above, redundant descriptions will be omitted.

S150 단계는 S130 단계를 통해 산출한 각 부하요소의 제1 영향도에 S140 단계를 통해 산출된 복수의 부하요소에 대한 가중치를 각각 적용함으로써, 각 부하요소의 제2 영향도를 산출하는 단계이다.In step S150, the second influence of each load element is calculated by applying weights for the plurality of load elements calculated in step S140 to the first influence of each load element calculated in step S130.

S150 단계 이후, 도 9에서 블록 A로 도시된, 패널티 정보를 확인하고, 시그니처 단편이 패널티 정보에 포함된 패널티 조건에 매칭하는지 확인한다. 확인 결과, 패널티 조건에 매칭하는 시그니처 단편에 패널티 값을 부여하는 단계가 수행될 수 있다. 패널티 조건을 이용한 확인 단계 및 패널티 조건에 매칭하는 시그니처 단편에 패널티 값을 부여하는 단계는 필수적이지 않다. 그리고, 이들 단계에 대한 설명은 위에서 상세히 설명하였으므로, 중복되는 설명은 생략한다.After step S150, the penalty information, which is illustrated by block A in FIG. 9, is checked, and whether the signature fragment matches the penalty condition included in the penalty information is checked. As a result of the check, a step of assigning a penalty value to the signature fragment matching the penalty condition may be performed. The step of checking using the penalty condition and assigning a penalty value to the signature fragment matching the penalty condition is not essential. In addition, since the description of these steps has been described in detail above, redundant descriptions are omitted.

S160 단계는 시그니처 단편 별로, 각 부하요소의 제2 영향도를 합산함으로써 각 시그니처 단편에 대한 최종 부하 영향도를 산출하는 단계이다.In step S160, for each signature fragment, the final load impact for each signature fragment may be calculated by summing the second impact of each load element.

S170 단계는 S110 단계를 통해 선택한 시그니처에서 모든 시그니처 단편에 대한 최종 부하 영향도가 산출되었는지 확인하는 단계이다. 확인 결과, 모든 시그니처 단편에 대한 최종 부하 영향도가 산출된 경우, S180 단계가 수행된다. S110 단계에서 선택된 시그니처에 다른 시그니처 단편이 더 존재하는 경우, S130 단계 내지 S160 단계가 더 수행될 수 있다. S170 단계를 통해, S130 단계 내지 S160 단계는 하나의 시그니처에서 모든 시그니처 단편에 대한 최종 부하 영향도가 산출될 때까지 반복될 수 있다.In step S170, the final load influence on all signature fragments is calculated from the signature selected through step S110. As a result, when the final load influence on all the signature fragments is calculated, step S180 is performed. If another signature fragment is further present in the signature selected in step S110, steps S130 to S160 may be further performed. Through step S170, steps S130 to S160 may be repeated until the final load impact for all signature fragments is calculated in one signature.

위의 설명에서는, S130 단계 내지 S160 단계는 S120 단계를 통해 분할한 시그니처 단편 순으로 반복적으로 이루어지는 것으로 설명되었다. 다만 이는 예시일 뿐이고, S130 단계 내지 S160 단계는 각 시그니처에 대해 병렬적으로 제1 영향도, 제2 영향도 및 최종 부하 영향도를 산출함으로써 이루어질 수 있다.In the above description, it has been described that steps S130 to S160 are repeatedly performed in the order of signature fragments divided through step S120. However, this is merely an example, and steps S130 to S160 may be performed by calculating first impact degree, second impact degree, and final load impact degree in parallel with respect to each signature.

S180 단계는 하나의 시그니처(예를 들어, 제1 시그니처)에 대한 최종 부하 영향도 산출이 완료될 때 수행되고, 각 시그니처 단편의 최종 부하 영향도에 따라 상기 시그니처에 포함된 각 시그니처 단편의 순서를 재배치하는 단계이다. 앞서 설명한 것처럼, S180 단계는 최종 부하 영향도가 낮은 시그니처 단편을 시그니처의 전단에 재배치하고, 최종 부하 영향도가 높은 시그니처 단편을 시그니처의 후단에 재배치함으로써 이루어질 수 있다.Step S180 is performed when the final load impact calculation for one signature (eg, the first signature) is completed, and the order of each signature fragment included in the signature is determined according to the final load impact of each signature fragment. It is the stage of relocation. As described above, the step S180 may be performed by relocating the signature fragment having a low final load impact to the front end of the signature and relocating the signature fragment having a high final load impact to the rear end of the signature.

S190 단계는 데이터베이스(20)에서(예를 들어, 시그니처 리스트에서) 다른 시그니처가 존재하는지 확인하는 단계이다. 확인 결과, 시그니처의 재구성이 이루어지지 않은 다른 시그니처가 존재하는 경우, S110 단계 내지 S180 단계가 재수행된다. 그렇지 않은 경우, 모든 과정이 종료된다.Step S190 is a step for checking whether there is another signature in the database 20 (eg, in the signature list). As a result of the check, when there is another signature for which the signature is not reconstructed, steps S110 to S180 are performed again. Otherwise, all the processes are terminated.

본 발명에 따른 상기 예시적인 방법들은 프로세서에 의해 실행되는 프로그램 명령들, 소프트웨어 모듈, 마이크로코드, 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함함)로 읽을 수 있는 기록 매체에 기록된 컴퓨터 프로그램 제품, 애플리케이션, 논리 회로들, 주문형 반도체, 또는 펌웨어 등 다양한 방식으로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD, DVD, 자기 테이프, 하드 디스크, 플로피 디스크, 하드 디스크, 광데이터 저장 장치 등이 있으며, 이에 제한되는 것은 아니다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The exemplary methods according to the present invention are computer program products recorded on a recording medium readable by a computer (including an apparatus having an information processing function), program instructions executed by a processor, a software module, microcode, a computer, Applications, logic circuits, application specific semiconductors, or firmware can be implemented in a variety of ways. Examples of the computer-readable recording medium include, but are not limited to, a ROM, a RAM, a CD, a DVD, a magnetic tape, a hard disk, a floppy disk, a hard disk, an optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.

이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다.The above description is merely illustrative of the present invention, and various modifications may be made by those skilled in the art without departing from the technical spirit of the present invention.

100: 시그니처 재구성 장치 110: 시그니처 분할부
120: 부하요소 검사부 140: 시그니처 재구성부
200: 시그니처 재구성 장치 210: 시그니처 분할부
220: 부하요소 검사부 230: 가중치 처리부
240: 시그니처 재구성부
100: signature reconstruction device 110: signature divider
120: load element inspection unit 140: signature reconstruction unit
200: signature reconstruction device 210: signature divider
220: load element inspection unit 230: weight processing unit
240: signature reconstruction unit

Claims (10)

시그니처 기반 비정상 트래픽 탐지를 위한 시그니처 재구성 방법으로서,
데이터베이스에 저장된 시그니처 리스트에서 하나의 시그니처를 선택하고, 상기 선택된 시그니처를 복수의 시그니처 단편들로 분할하는 단계;
상기 복수의 시그니처 단편들을 복수의 부하요소에 대해 검사하여, 상기 복수의 부하요소마다 제1 영향도를 산출하는 단계;
상기 복수의 부하요소에 대한 가중치를 상기 제1 영향도에 각각 적용함으로써, 상기 복수의 부하요소마다 제2 영향도를 산출하는 단계;
상기 복수의 시그니처 단편들에 포함된 시그니처 단편이 미리 설정된 패널티 조건에 일치할 경우 상기 시그니처 단편에 패널티 값을 부여하는 단계;
상기 산출된 제2 영향도 중에서 각 시그니처 단편에 대응하는 제2 영향도 및 상기 각 시그니처 단편에 부여된 패널티 값을 기반으로 각 시그니처 단편에 대한 최종 부하 영향도를 산출하는 단계; 및
상기 산출된 최종 부하 영향도의 크기에 따라, 상기 복수의 시그니처 단편들의 순서를 재배치하는 단계를 포함하는 것을 특징으로 하는 시그니처 재구성 방법.
Signature reconfiguration method for signature based abnormal traffic detection,
Selecting one signature from a signature list stored in a database, and dividing the selected signature into a plurality of signature fragments;
Inspecting the plurality of signature fragments against a plurality of load elements to produce a first degree of influence for each of the plurality of load elements;
Calculating a second influence degree for each of the plurality of load elements by applying weights of the plurality of load elements to the first influence degree, respectively;
Assigning a penalty value to the signature fragment when the signature fragment included in the plurality of signature fragments meets a preset penalty condition;
Calculating a final load impact on each signature fragment based on a second impact corresponding to each signature fragment among the calculated second impact and a penalty value assigned to each signature fragment; And
And reordering the plurality of signature fragments according to the calculated magnitude of the final load impact.
제1항에 있어서,
상기 복수의 부하요소에 대한 가중치 중 적어도 두 개는 상이한 것을 특징으로 하는 시그니처 재구성 방법.
The method of claim 1,
And wherein at least two of the weights for the plurality of load elements are different.
제2항에 있어서,
상기 가중치는 시그니처 구성, 패턴 탐색 알고리즘, 시그니처 기반 비정상 트래픽 탐지를 수행하는 보안 장치의 사양 중 적어도 하나에 따라 각각 조절되는 것을 특징으로 하는 시그니처 재구성 방법.
3. The method of claim 2,
And the weight is adjusted according to at least one of a signature configuration, a pattern search algorithm, and a specification of a security device that performs signature-based abnormal traffic detection.
제1항에 있어서,
상기 복수의 부하요소에 대한 검사는,
상기 시그니처 단편에 포함된 패턴의 문법 검사를 포함하고, 상기 제1 영향도를 산출하는 단계는 상기 시그니처 단편에 포함된 패턴의 문법에 따른 제1 영향도를 산출하는 단계를 포함하는 것을 특징으로 하는 시그니처 재구성 방법.
The method of claim 1,
Inspection of the plurality of load elements,
Including the grammar check of the pattern included in the signature fragment, wherein calculating the first impact degree comprises the step of calculating a first impact degree according to the grammar of the pattern included in the signature fragment Signature reconstruction method.
제1항에 있어서,
상기 복수의 부하요소에 대한 검사는,
상기 시그니처 단편의 길이 검사를 포함하고, 상기 제1 영향도를 산출하는 단계는, 상기 시그니처 단편의 길이가 짧을수록 크기가 커지도록 상기 길이 검사에 따른 제1 영향도를 산출하는 단계를 포함하는 것을 특징으로 하는 시그니처 재구성 방법.
The method of claim 1,
Inspection of the plurality of load elements,
And including checking the length of the signature fragment, and calculating the first influence, calculating the first impact according to the length checking such that the smaller the length of the signature fragment is, the larger the size becomes. Characterized by the signature reconstruction method.
제1항에 있어서,
상기 복수의 부하요소에 대한 검사는,
상기 시그니처 단편에 대한 오토마타 활성 상태 크기 검사를 포함하고, 상기 제1 영향도를 산출하는 단계는 상기 시그니처 단편의 오토마타 활성 상태 크기에 따른 제1 영향도를 산출하는 단계를 포함하는 것을 특징으로 하는 시그니처 재구성 방법.
The method of claim 1,
Inspection of the plurality of load elements,
Checking an automata active state size for the signature fragment, and calculating the first impact level comprising calculating a first influence according to the automata active state size of the signature fragment. Reconstruction method.
제1항에 있어서,
상기 복수의 부하요소에 대한 검사는,
상기 시그니처 단편에 대한 오토마타 활성상태 검색공간 크기 검사를 포함하고, 상기 제1 영향도를 산출하는 단계는 상기 시그니처 단편의 오토마타 활성상태 검색공간 크기에 따른 제1 영향도를 산출하는 단계를 포함하는 것을 특징으로 하는 시그니처 재구성 방법.
The method of claim 1,
Inspection of the plurality of load elements,
Checking the size of the automata active state search space for the signature fragment, wherein calculating the first impact includes calculating a first degree of influence according to the size of the automata active state search space of the signature fragment. Characterized by the signature reconstruction method.
제1항에 있어서,
상기 최종 부하 영향도는 상기 각 시그니처 단편에 대응하는 제2 영향도 및 상기 각 시그니처 단편에 부여된 패널티 값을 합산하여 결정되는 것을 특징으로 하는 시그니처 재구성 방법.
The method of claim 1,
And the final load impact is determined by summing the second impact corresponding to each signature fragment and the penalty value assigned to each signature fragment.
시그니처 기반 비정상 트래픽 탐지를 위한 시그니처 재구성 장치로서,
데이터베이스에 저장된 시그니처 리스트에서 하나의 시그니처를 선택하고, 상기 선택된 시그니처를 복수의 시그니처 단편들로 분할하는 시그니처 분할부;
상기 복수의 시그니처 단편들을 복수의 부하요소에 대해 검사하여, 상기 복수의 부하요소마다 제1 영향도를 산출하는 부하요소 검사부;
상기 복수의 부하요소에 대한 가중치를 상기 제1 영향도에 각각 적용함으로써, 상기 복수의 부하요소마다 제2 영향도를 산출하는 가중치 처리부; 및
상기 복수의 시그니처 단편들에 포함된 시그니처 단편이 미리 설정된 패널티 조건에 일치할 경우 상기 시그니처 단편에 패널티 값을 부여하고, 상기 산출된 제2 영향도 중에서 각 시그니처 단편에 대응하는 제2 영향도 및 상기 각 시그니처 단편에 부여된 패널티 값을 기반으로, 상기 각 시그니처 단편에 대한 최종 부하 영향도를 산출하고, 상기 산출된 최종 부하 영향도의 크기에 따라 상기 복수의 시그니처 단편들의 순서를 재배치하는 시그니처 재구성부를 포함하는 것을 특징으로 하는 시그니처 재구성 장치.
A signature reconstruction device for signature-based abnormal traffic detection,
A signature division unit that selects one signature from a signature list stored in a database, and divides the selected signature into a plurality of signature fragments;
A load element inspecting unit inspecting the plurality of signature fragments with respect to a plurality of load elements and calculating a first degree of influence for each of the plurality of load elements;
A weight processor configured to calculate a second influence degree for each of the plurality of load elements by applying weights of the plurality of load elements to the first influence degree, respectively; And
When a signature fragment included in the plurality of signature fragments meets a preset penalty condition, a penalty value is assigned to the signature fragment, and a second impact degree corresponding to each signature fragment among the calculated second impact degrees and the The signature reconstruction unit calculates a final load impact for each signature fragment based on the penalty value assigned to each signature fragment and rearranges the sequence of the plurality of signature fragments according to the calculated magnitude of the final load impact. Signature reconstruction apparatus comprising a.
시그니처 기반 비정상 트래픽 탐지를 위한 시그니처 재구성 장치로서,
제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행하는 제어부를 포함하는, 시그니처 재구성 장치.
A signature reconstruction device for signature-based abnormal traffic detection,
A signature reconstruction apparatus comprising a control unit for performing a method according to any one of claims 1 to 8.
KR1020180059159A 2018-05-24 2018-05-24 Apparatus and method for reconfiguring signiture KR102006220B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180059159A KR102006220B1 (en) 2018-05-24 2018-05-24 Apparatus and method for reconfiguring signiture
US16/420,836 US11223641B2 (en) 2018-05-24 2019-05-23 Apparatus and method for reconfiguring signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180059159A KR102006220B1 (en) 2018-05-24 2018-05-24 Apparatus and method for reconfiguring signiture

Publications (1)

Publication Number Publication Date
KR102006220B1 true KR102006220B1 (en) 2019-08-02

Family

ID=67614184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180059159A KR102006220B1 (en) 2018-05-24 2018-05-24 Apparatus and method for reconfiguring signiture

Country Status (2)

Country Link
US (1) US11223641B2 (en)
KR (1) KR102006220B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11616759B2 (en) * 2021-04-09 2023-03-28 Palo Alto Networks, Inc. Increased coverage of application-based traffic classification with local and cloud classification services
CA3212858A1 (en) * 2021-04-09 2022-10-13 Mengying JIANG Increased coverage of application-based traffic classification with local and cloud classification services

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229012B1 (en) * 2011-12-29 2013-02-15 시큐아이닷컴 주식회사 Signature detecting device and method
KR101631242B1 (en) * 2015-01-27 2016-06-16 한국전자통신연구원 Method and apparatus for automated identification of sifnature of malicious traffic signature using latent dirichlet allocation
KR101633649B1 (en) 2014-01-31 2016-06-28 캐비엄, 인코포레이티드 Method and apparatus for optimizing finite automata processing
KR20160085593A (en) * 2015-01-08 2016-07-18 주식회사 윈스 Method and apparatus for profiling service of network security element based signature

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016073457A2 (en) * 2014-11-03 2016-05-12 Level 3 Communications, Llc Identifying a potential ddos attack using statistical analysis
US11244225B2 (en) 2015-07-10 2022-02-08 Samsung Electronics Co., Ltd. Neural network processor configurable using macro instructions
KR20170060280A (en) * 2015-11-24 2017-06-01 한국전자통신연구원 Apparatus and method for automatically generating rules for malware detection
US20180063178A1 (en) * 2016-09-01 2018-03-01 Promithius Inc. Method and systems for real-time internal network threat detection and enforcement
FR3057123A1 (en) * 2016-09-30 2018-04-06 Orange METHOD AND SYSTEM FOR DETECTING INTRUSIONS ON A NETWORK

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229012B1 (en) * 2011-12-29 2013-02-15 시큐아이닷컴 주식회사 Signature detecting device and method
KR101633649B1 (en) 2014-01-31 2016-06-28 캐비엄, 인코포레이티드 Method and apparatus for optimizing finite automata processing
KR20160085593A (en) * 2015-01-08 2016-07-18 주식회사 윈스 Method and apparatus for profiling service of network security element based signature
KR101631242B1 (en) * 2015-01-27 2016-06-16 한국전자통신연구원 Method and apparatus for automated identification of sifnature of malicious traffic signature using latent dirichlet allocation

Also Published As

Publication number Publication date
US11223641B2 (en) 2022-01-11
US20190364066A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
US11899786B2 (en) Detecting security-violation-associated event data
JP5240475B2 (en) Approximate pattern matching method and apparatus
Widodo et al. A new content-defined chunking algorithm for data deduplication in cloud storage
CN103733590B (en) Compiler for regular expressions
US20200183986A1 (en) Method and system for document similarity analysis
US20090235357A1 (en) Method and System for Generating a Malware Sequence File
Rudd et al. Meade: Towards a malicious email attachment detection engine
US20210097177A1 (en) System and method for detection of malicious files
US20160321255A1 (en) Unsolicited bulk email detection using url tree hashes
US11288368B1 (en) Signature generation
US11080398B2 (en) Identifying signatures for data sets
KR101913141B1 (en) Enhancing apparatus and method of the search ability for regular expressions based on cost optimized
Pungila et al. A highly-efficient memory-compression approach for GPU-accelerated virus signature matching
US9075836B2 (en) Partitioning keys for hash tables
Naik et al. Fuzzy-import hashing: A static analysis technique for malware detection
KR102006220B1 (en) Apparatus and method for reconfiguring signiture
US8260780B2 (en) Protection of database operations
CN112199344A (en) Log classification method and device
EP3798885B1 (en) System and method for detection of malicious files
CN110196952A (en) Search processing method, device, equipment and the storage medium of program code
CN113486359B (en) Method and device for detecting software loopholes, electronic device and storage medium
Kawano et al. High-speed DPI method using multi-stage packet flow analyses
US20150081649A1 (en) In-line deduplication for a network and/or storage platform
US20220272125A1 (en) Systems and methods for malicious url pattern detection
Pungila Hybrid compression of the aho-corasick automaton for static analysis in intrusion detection systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant