KR102055326B1 - Network intrusion detection system based on accessing memory with character distributed type, and method thereof - Google Patents

Network intrusion detection system based on accessing memory with character distributed type, and method thereof Download PDF

Info

Publication number
KR102055326B1
KR102055326B1 KR1020180004219A KR20180004219A KR102055326B1 KR 102055326 B1 KR102055326 B1 KR 102055326B1 KR 1020180004219 A KR1020180004219 A KR 1020180004219A KR 20180004219 A KR20180004219 A KR 20180004219A KR 102055326 B1 KR102055326 B1 KR 102055326B1
Authority
KR
South Korea
Prior art keywords
character
psid
distributed
storage module
bit
Prior art date
Application number
KR1020180004219A
Other languages
Korean (ko)
Other versions
KR20190086107A (en
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 KR1020180004219A priority Critical patent/KR102055326B1/en
Priority to PCT/KR2018/016976 priority patent/WO2019139295A1/en
Publication of KR20190086107A publication Critical patent/KR20190086107A/en
Application granted granted Critical
Publication of KR102055326B1 publication Critical patent/KR102055326B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법에 관한 것이다. 본 발명은, 저장 장치부(200)를 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분하는 제 1 단계; 및
시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고, 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 각 캐릭터별 시그니처 탐지를 수행하여 저장 장치부(200) 상에 캐릭터별 메모리 액세스 분산을 수행하는 제 2 단계; 를 포함할 수 있다.
이에 의해, 스테이트 트랜젝션 테이블(State transition table)을 하나의 메모리에 저장하고 스테이트에 따라 하나의 메모리를 액세스하는 기존의 방식을 스테이트 트랜젝션 테이블을 캐릭터 별 테이블로 나누고 분산 저장하여 캐릭터에 따라 각 해당하는 캐릭터 별 테이블을 액세스하는 방식으로 전환함으로써, 시그니처와 PCRE 탐색의 효율성을 획기적으로 향상시킬 수 있는 효과를 제공한다.
The present invention relates to a network intrusion detection system and method thereof based on character distributed memory access. According to an embodiment of the present invention, the storage device 200 is configured as a first character distributed storage module 200u-1 to an nth character distributed storage module 200u-n (where n is two or more, which is the same or different natural number). A first step of logically dividing; And
After extracting the character corresponding to the first character of the signature, and extract the PSID (Pre-State ID) for the extracted character, the first character distributed storage module (200u-1) to n-th character of the storage device 200 Extracts the character distribution storage module 200u matching the extracted characters from the distributed storage module 200u-n and performs signature detection for each character to perform memory access distribution for each character on the storage device 200. Two steps; It may include.
By doing so, the state transition table is stored in one memory and the existing method of accessing one memory according to states is divided into state-by-character tables and distributed and stored according to each character. By switching to accessing the star table, it can significantly improve the efficiency of signature and PCRE lookups.

Description

캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법{Network intrusion detection system based on accessing memory with character distributed type, and method thereof}Network intrusion detection system based on accessing memory with character distributed type, and method

본 발명은 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법에 관한 것으로, 보다 구체적으로는, 시그니처 기반 보안장비의 시그니처 및 PCRE 탐지 성능을 높이기 위한 방법으로 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하도록 하기 위한 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법에 관한 것이다. The present invention relates to a network intrusion detection system based on the character distributed memory access, and a method thereof. More specifically, the bottleneck through the distribution of memory by character in a method for improving the signature and PCRE detection performance of signature-based security equipment ( The present invention relates to a network intrusion detection system based on character distributed memory access and a method for solving the problem.

최근 폭발적인 인터넷 사용의 증가와 맞물려 발생하는 보안 문제들에 대응하기 위한 시스템으로 각 침입 리스트로 정리된 시그니처-기반(Signature-Based) 방식의 보안장비가 각광받고 있으나, 각 패킷(Packet)의 페이로드(Payload)를 분리하여 등록된 모든 시그니처와 페이로드를 비교하는 것은 너무 많은 시간이 걸려 현실적으로 불가능한 한계점이 있다.As a system for responding to the security problems caused by the recent explosion of Internet usage, signature-based security devices organized into each intrusion list have been in the spotlight, but the payload of each packet Comparing all registered signatures and payloads by separating (payload) takes too much time and has a practically impossible limitation.

이에 따라 변형이 많고 고정 캐릭터열로 표현될 수 없는 공격들을 탐지하기 위해 보안장비에서는 Perl 호환 정규 표현식(PCRE, Perl Compatible Regular Expressions) 엔진을 지원하고 있으나 속도가 느려 표본 캐릭터 열(Sample String) 등의 편법을 사용하고 있는 현실이다. As a result, security devices support Perl Compatible Regular Expressions (PCRE) engines to detect attacks that have many variations and cannot be represented as fixed strings. It's a reality that uses shortcuts.

보다 구체적으로, 종래의 시그니처-기반(Signature-Based) 방식의 보안장비에서 시간이 너무 오래 걸리는 한계점을 극복하기 위해 NFA(Non-deterministic Finite Automata) 또는 DFA(Deterministic Finite Automata)을 사용하여 시그니처를 탐색하고 있다.More specifically, signatures are searched using non-deterministic finite automata (NFA) or deterministic finite automata (DFA) to overcome the time-consuming limitations of conventional signature-based security devices. Doing.

이러한 NFA(Non-deterministic Finite Automata) 또는 DFA(Deterministic Finite Automata)에서는 각 스테이트 넘버(State Number)를 이용해 Goto-graph 상의 시그니처 상의 스트링(String) 중 첫 캐릭터를 중심으로 분열 가능한 다음 스테이트 넘버를 설정함으로써, 목적 스테이트 넘버로 도달하는 방식을 취할 수 있다. In such non-deterministic finite automata (NFA) or deterministic finite automata (DFA), each state number is used to set the next cleavable state number around the first character of the string on the signature on the Goto-graph. In this case, the target state number can be reached.

즉 도 1을 참조하면, 종래의 시그니처와 PCRE 탐색 프로세서(10)에서 Goto table 및 Failure table로 표현되는 스테이트 트랜젝션 테이블(State transition table)을 하나의 메모리 장치(20) 상에 입력하여 소프트웨어적이거나 하드웨어적인 프로세서에 의한 메모리 액세스(access)를 통해 시그니처를 탐색시, 시그니처의 개수와 사이즈의 증가에 따라 스테이트 트랜젝션 테이블(State transition table)의 증가와 메모리 액세스(access)의 수의 증가에 따라 성능(performance)의 한계가 오며, 이를 극복하기 위해 처리 프로세스의 개수를 증가 시키거나 하드웨어적인 방식으로 처리 프로세스의 성능을 증가시키는 방식을 시도하고 있으나 하나의 메모리로 트래픽양이 증가 함에 따라 메모리 보틀넥 현상을 해소할 수는 없는 한계점이 발생한다.That is, referring to FIG. 1, a state transition table represented by a Goto table and a failure table in a conventional signature and a PCRE search processor 10 is inputted on one memory device 20 to be software or hardware. When retrieving signatures through memory accesses by a processor, the performance increases as the state transition table and the number of memory accesses increase as the number and size of signatures increase. In order to overcome this problem, we attempt to increase the number of processing processes or increase the performance of the processing processes in a hardware way, but the memory bottleneck is eliminated as the traffic volume increases with a single memory. There is a limitation that cannot be done.

대한민국 특허출원 특허출원번호 제10-1999-0056027호 "랜덤 액세스 채널의 프리앰블 시그니처 탐색 장치(APPARATUS FOR SEARCHING A PREAMBLE SIGNATURE OF ARANDOM ACCESS CHANNEL)"Korean Patent Application No. 10-1999-0056027 "APPARATUS FOR SEARCHING A PREAMBLE SIGNATURE OF ARANDOM ACCESS CHANNEL"

본 발명은 상기의 문제점을 해결하기 위한 것으로, 스테이트 트랜젝션 테이블(State transition table)을 하나의 메모리에 저장하고 스테이트에 따라 하나의 메모리를 액세스하는 기존의 방식을 스테이트 트랜젝션 테이블을 캐릭터 별 테이블로 나누고 분산 저장하여 캐릭터에 따라 각 해당하는 캐릭터 별 테이블을 액세스하는 방식으로 전환함으로써, 시그니처와 PCRE 탐색의 효율성을 획기적으로 향상시키기 위한 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법을 제공하기 위한 것이다.The present invention is to solve the above problems, the state transition table (state transition table) to store the state transition table (state transition table) and the existing method of accessing one memory according to the state by dividing the state transaction table into a character-by-character table It is to provide a network intrusion detection system and method based on a character distributed memory access to dramatically improve the efficiency of signature and PCRE search by storing and switching to a table for each character according to the character. .

또한, 본 발명은 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하면서도 전이함수를 설정과 동일한 기능을 수행하는 특정 스테이트 넘버에 대한 루프(loop) 또는 초기 스테이트 넘버로의 이동도 함께 해결할 수 있도록 하기 위한 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법을 제공하기 위한 것이다.In addition, the present invention solves the bottleneck problem by distributing the memory by character, while also moving to the loop or initial state number for a specific state number that performs the same function as setting the transition function. To provide a character distributed memory access based network intrusion detection system and method thereof.

그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.However, the objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 저장 장치부(200)를 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분하는 제 1 단계; 및 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고, 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 각 캐릭터별 시그니처 탐지를 수행하여 저장 장치부(200) 상에 캐릭터별 메모리 액세스 분산을 수행하는 제 2 단계; 를 포함하는 것을 특징으로 한다.In order to achieve the above object, according to an embodiment of the present invention, a method for searching for network intrusion based on a character distributed memory access may include: storing the storage unit 200 in a first character distributed storage module 200u-1 to an nth character distributed; A first step of logically dividing the storage module into a storage module 200u-n (where n is a natural number equal to or different from the entire constituent character as two or more); And extracting a character corresponding to the first character of the signature, and then extracting a PSID (Pre-State ID) for the extracted character, and the first character distributed storage modules 200u-1 to nth of the storage device 200. Extracting the character distribution storage module 200u matching the extracted characters from the character distribution storage module 200u-n and performing signature detection for each character to perform memory access distribution for each character on the storage device 200. Second step; Characterized in that it comprises a.

상기의 목적을 달성하기 위해 본 발명의 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하는 제 1 단계; 캐릭터 분산형 액세스 장치부(100)가 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하는 제 2 단계; 캐릭터 분산형 액세스 장치부(100)가 추출된 캐릭터 분산 저장모듈(200u)의PSID_V 테이블(PSID_Valid table)(210))에서, PSID에 해당하는 스테이트 넘버에서 추출된 캐릭터에 대해서 다음 스테이트 넘버에 해당하는 진행 스테이트 넘버 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보를 확인하는 제 3 단계; 및 캐릭터 분산형 액세스 장치부(100)가 상기 제 3 단계에서 확인된 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '1'인 경우(bit of PSID_V table = '1'), PSID_V 테이블(PSID_V table)(210) 중 PSID 값에 해당하는 row에 해당 비트(bit)까지의 ‘1’의 개수를 합산한 뒤, 합산된 숫자와 매칭되는 row에 해당하는 VC 테이블(VC table)(220)의 값과 합산하여 Match되는 SID(State ID) 테이블(SID table)(230) 상의 SID 값을 추출하는 제 4 단계; 를 포함하는 것을 특징으로 한다.In order to achieve the above object, according to another embodiment of the present invention, a character distributed memory access based network intrusion search method may include extracting a character corresponding to a first character of a signature from the character distributed access device unit 100. Extracting a PSID (Pre-State ID) for the extracted character; Character-distributed storage in which the character-distributed access device 100 matches a character extracted by the first character-distributed storage module 200u-1 to the n-th character-distributed storage module 200u-n of the storage device 200. A second step of extracting the module 200u; In the PSID_V table (PSID_Valid table 210) of the character distributed storage module 200u from which the character distributed access device 100 is extracted, the character corresponding to the next state number is extracted for the character extracted from the state number corresponding to the PSID. A third step of confirming information of one bit (1, 0) for notifying whether a progress state number or a state number ID (SID) is present; And when the bit of the PSID position of the PSID_V table 210 identified in the third step is '1' (bit of PSID_V table = '1'), PSID_V. After adding up the number of '1's up to the corresponding bit to the row corresponding to the PSID value in the PSID_V table 210, the VC table (VC table) corresponding to the row matching the summed number ( A fourth step of extracting an SID value on a SID table (SID table) 230 to be matched with the value of 220; Characterized in that it comprises a.

이때, 본 발명의 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법에 있어서, 상기 제 1 단계는, 캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출 전에 데이터의 패킷 ID를 생성하는 것을 특징으로 한다.At this time, in the character distributed memory access based network intrusion detection method according to another embodiment of the present invention, the first step, the character distributed access device 100 extracts a character corresponding to the first character of the signature Before generating a packet ID of data.

또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 상기 제 4 단계 이후, 캐릭터 분산형 액세스 장치부(100)가 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 5 단계; 를 더 포함하는 것이 바람직하다. In addition, according to another embodiment of the present invention, after the fourth step, the character distributed memory access based network intrusion search method may include the character distributed access device 100 corresponding to the next character using the SID information as the PSID information. Extracts the character distribution storage module 200u that matches the character extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage device 200 to the next character. A fifth step of performing the processes of the first to fourth steps for all the signature lists; It is preferable to further include.

또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법에 있어서, 상기 제 4 단계는, 상기 제 3 단계에서 확인된 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '0'인 경우(bit of PSID_V table = '0')인 경우, 캐릭터 분산형 액세스 장치부(100)가 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치 정보를 이용해 SID 정보를 추출하는 제 4-1 단계; 를 더 포함하는 것이 바람직하다.In addition, in the method for detecting network intrusions based on character distributed memory access according to another embodiment of the present invention, the fourth step may include: PSID positions of the PSID_V table 210 identified in the third step. If the bit is '0' (bit of PSID_V table = '0'), the character distributed access unit 100 moves the PSID_V table 210 out of the move table 240. Extracting SID information by using location information matching the location bit value of step 4-1; It is preferable to further include.

또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 상기 제 4-1 단계 이후, 캐릭터 분산형 액세스 장치부(100)가 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인지 여부(Bit of Move table = '0')를 판단하는 제 4-2 단계; 를 더 포함하는 것이 바람직하다.In addition, in the character distributed memory access based network intrusion detection method according to another embodiment of the present invention, after the step 4-1, the character distributed access device 100 moves to a move table 240. Step 4-2 of determining whether the bit value of the position corresponding to the position bit value of the PSID_Valid table 210 is "0" (Bit of Move table = '0'); It is preferable to further include.

또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 상기 제 4-2 단계 이후, 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인 경우, 캐릭터 분산형 액세스 장치부(100)가 정해진 초기 상태 SID로 이동한 뒤, 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 4-3 단계; 를 더 포함하는 것이 바람직하다.Further, according to another embodiment of the present invention, in the method of searching for network intrusion based on the character distributed memory access, after the step 4-2, the PSID_V table 210 of the move table 240 is performed. If the bit value of the position matching the location bit value of the ") " is " 0 ", the character distributed access device 100 moves to the predetermined initial state SID, and then, Extracting the character distribution storage module 200u matching the character extracted from the first character distribution storage module 200u-1 to the n-th character distribution storage module 200u-n, and then performing the above steps on the first character. Steps 4-3 to perform the fourth step according to the all signature list; It is preferable to further include.

상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템은, 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분되는 저장 장치부(200); 및 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고, 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 각 캐릭터별 시그니처 탐지를 수행하여 저장 장치부(200) 상에 캐릭터별 메모리 액세스 분산을 수행하는 캐릭터 분산형 액세스 장치부(100); 를 포함할 수 있다. In order to achieve the above object, a network intrusion search system based on a character distributed memory access according to an embodiment of the present invention includes a first character distributed storage module 200u-1 to an nth character distributed storage module 200u-n. a storage unit 200 logically divided into two or more (n is a natural number equal to or different from the entire constituent character); And extracting a character corresponding to the first character of the signature, and then extracting a PSID (Pre-State ID) for the extracted character, and the first character distributed storage modules 200u-1 to nth of the storage device 200. Extracting the character distribution storage module 200u matching the extracted characters from the character distribution storage module 200u-n and performing signature detection for each character to perform memory access distribution for each character on the storage device 200. Character distributed access device unit 100; It may include.

본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법은, 스테이트 트랜젝션 테이블(State transition table)을 하나의 메모리에 저장하고 스테이트에 따라 하나의 메모리를 액세스하는 기존의 방식을 스테이트 트랜젝션 테이블을 캐릭터 별 테이블로 나누고 분산 저장하여 캐릭터에 따라 각 해당하는 캐릭터 별 테이블을 액세스하는 방식으로 전환함으로써, 시그니처와 PCRE 탐색의 효율성을 획기적으로 향상시킬 수 있는 효과를 제공한다. Network intrusion detection system based on the character distributed memory access and the method according to an embodiment of the present invention, the existing method of storing a state transition table (state transition table) in one memory and access one memory according to the state By dividing the state transaction table into a table for each character and distributing it to access the table for each character according to the character, it is possible to dramatically improve the efficiency of signature and PCRE search.

뿐만 아니라, 본 발명의 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법은, 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하면서도 전이함수를 설정과 동일한 기능을 수행하는 특정 스테이트 넘버에 대한 루프(loop) 또는 초기 스테이트 넘버로의 이동도 함께 해결할 수 있는 효과를 제공한다. In addition, the character distributed memory access based network intrusion detection system and method according to another embodiment of the present invention, while solving the bottleneck problem through the memory distribution for each character while maintaining the same function as setting the transition function Moving to a loop or initial state number for a particular state number to perform also provides an effect that can be solved together.

도 1은 종래의 시그니처와 PCRE 탐색 프로세서(10)에 의한 메모리 보틀넥 현상을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 PSID_V 테이블(PSID_Valid table)(210)의 구성을 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 VC 테이블(Valid Count table)(220)과 SID(State ID) 테이블(SID table)(230)의 구성을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 무브 테이블(Move table)(240)의 구성과, 무브 테이블(Move table)(240)과 SID_V 테이블(PSID_Valid table)(210)의 관계를 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법을 나타내는 흐름도이다.
FIG. 1 is a diagram for describing a memory bottleneck phenomenon by the conventional signature and the PCRE search processor 10.
2 is a diagram illustrating a network intrusion detection system based on character distributed memory access according to an embodiment of the present invention.
FIG. 3 illustrates a configuration of a PSID_V table 210 formed in the character distribution storage module 200u of the storage device 200 in the system for network intrusion detection based on the character distributed memory access according to an embodiment of the present invention. It is a figure which shows.
4 is a VC table (Valid Count table) 220 and the SID formed in the character distributed storage module 200u of the storage device 200 in the character distributed memory access based network intrusion search system according to an embodiment of the present invention. A diagram showing the configuration of a (State ID) table (SID table) 230 is shown.
FIG. 5 is a view illustrating a configuration of a move table 240 formed in the character distribution storage module 200u of the storage device 200 in the character intrusion memory access based network intrusion search system according to an embodiment of the present invention. 2 shows a relationship between a move table 240 and a SID_V table PSID_Valid table 210. FIG.
6 is a flowchart illustrating a method for detecting network intrusions based on character distributed memory access according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in detail with reference to the accompanying drawings. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings of the context of the related art, and are not to be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부된 도면들을 참조하여 본 발명에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings will be described with reference to the accompanying drawings, a preferred embodiment of the character distributed memory access based network intrusion detection system and method thereof according to the present invention. In this process, the thickness of the lines or the size of the components shown in the drawings may be exaggerated for clarity and convenience of description. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or convention of a user or an operator. Therefore, definitions of these terms should be made based on the contents throughout the specification.

도 2는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템을 나타내는 도면이다. 도 3은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 PSID_V 테이블(PSID_Valid table)(210)의 구성을 나타내는 도면이다. 도 4는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 VC 테이블(Valid Count table)(220)과 SID(State ID) 테이블(SID table)(230)의 구성을 나타내는 도면이다. 도 5는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 무브 테이블(Move table)(240)의 구성과, 무브 테이블(Move table)(240)과 SID_V 테이블(PSID_Valid table)(210)의 관계를 나타내는 도면이다. 2 is a diagram illustrating a network intrusion detection system based on character distributed memory access according to an embodiment of the present invention. FIG. 3 illustrates a configuration of a PSID_V table 210 formed in the character distribution storage module 200u of the storage device 200 in the system for network intrusion detection based on the character distributed memory access according to an embodiment of the present invention. It is a figure which shows. 4 is a VC table (Valid Count table) 220 and the SID formed in the character distributed storage module 200u of the storage device 200 in the character distributed memory access based network intrusion search system according to an embodiment of the present invention. A diagram showing the configuration of a (State ID) table (SID table) 230 is shown. FIG. 5 is a view illustrating a configuration of a move table 240 formed in the character distribution storage module 200u of the storage device 200 in the character intrusion memory access based network intrusion search system according to an embodiment of the present invention. 2 shows a relationship between a move table 240 and a SID_V table PSID_Valid table 210. FIG.

먼저, 도 2를 참조하면, 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템(1)은 2개의 큰 구성요소로 캐릭터 분산형 액세스 장치부(100) 및 저장 장치부(200)를 포함할 수 있다. First, referring to FIG. 2, the character distributed memory access based network intrusion search system 1 may include a character distributed access device unit 100 and a storage device unit 200 as two large components. .

그리고, 캐릭터 분산형 액세스 장치부(100)는 송수신부(110), 제어부(120) 및 입출력 I/F(Input/Output Interface)(130)를 구비하며, 제어부(120)는 캐릭터 추출모듈(121), 스테이트 검색 모듈(122), 제 1 진행 스테이트 추출 모듈(123) 및 제 2 진행 스테이트 추출 모듈(124)로 이루어질 수 있다. In addition, the character distributed access device 100 includes a transceiver 110, a controller 120, and an input / output interface (I / F) 130, and the controller 120 includes a character extraction module 121. ), The state search module 122, the first progress state extraction module 123, and the second progress state extraction module 124.

그리고 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In the present specification, the module may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and means a physically connected code or does not necessarily mean one kind of hardware. It can be easily inferred by the average expert in the art.

한편, 저장 장치부(200)는 비휘발성 메모리(Non-volatile memory, NVM)로써 전원이 공급되지 않아도 저장된 데이터를 계속 유지하며 삭제되지 않으며, 플래시 메모리(Flash Memory), MRAM(Magnetic Random Access Memory), PRAM(Phase-change Random Access memory: 상변화 램), FRAM(Ferroelectric RAM: 강유전체 램) 등으로 구성되거나 휘발성 메모리, 그 밖의 메모리 저장장치로 변형 가능하다.On the other hand, the storage unit 200 is a non-volatile memory (NVM), even if the power is not supplied to maintain the stored data is not erased, flash memory (Flash Memory), MRAM (Magnetic Random Access Memory) , Phase-change random access memory (PRAM), ferroelectric RAM (FRAM), or the like, or may be transformed into volatile memory or other memory storage devices.

그리고, 저장 장치부(200)는 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분될 수 있다. In addition, the storage device 200 may be logically configured as a first character distributed storage module 200u-1 to an nth character distributed storage module 200u-n (where n is two or more, the same as or different from the entire composition character). Can be distinguished.

이하에서는 캐릭터 분산형 액세스 장치부(100)의 제어부(120) 구성요소를 중심으로 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템에 대해서 구체적으로 살펴보도록 한다.Hereinafter, the network intrusion detection system based on the character distributed memory access will be described in detail with reference to the components of the controller 120 of the character distributed access device unit 100.

캐릭터 추출모듈(121)은 송수신부(110)를 통해서 외부 통신망 또는 외부 장치로부터 패킷(Packet), 페이로드(Payload) 또는 유저 데이터(user data)가 입력되면 n-튜플(m-tuple)(m은 n과 같거나 다른 자연수)로 구분하여 입력된 패킷 ID를 생성하고, 페이로드(Payload) 또는 유저 데이터(user data)에서 추출되는 캐릭터열 중 시그니처(Signature)의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터, 그리고 추출된 캐릭터에 대한 PSID(Pre-State ID)와 패킷 ID를 PSID 스테이트 검색 모듈(122)로 전달한다. 이를 위해, 캐릭터 추출모듈(121)은 미리 등록된 시그니처의 첫 캐릭터를 저장한 별도의 메모리를 구비하거나, 미리 등록된 시그니처의 첫 캐릭터를 사전에 저장한 저장 장치부(200)에 대한 액세스(access)를 수행하여 맞는지 여부를 감지하기 위해 입출력 I/F(130)를 제어할 수 있다. When the packet, payload or user data is input from an external communication network or an external device through the transceiver 110, the character extracting module 121 is n-tuple (m-tuple) (m). Is a packet ID separated by a natural number equal to or different from n), and a character corresponding to the first character of the signature is extracted from a character string extracted from payload or user data. Thereafter, the extracted character and the PSID (Pre-State ID) and the packet ID of the extracted character are transmitted to the PSID state search module 122. To this end, the character extraction module 121 has a separate memory for storing the first character of the pre-registered signature or accesses to the storage device 200 for storing the first character of the pre-registered signature in advance. I / F 130 may be controlled in order to detect whether or not it is correct.

스테이트 검색 모듈(122)은 캐릭터 추출모듈(121)에 의해 추출된 패킷 ID, 캐릭터 및 PSID(Pre-State ID)를 수신한 뒤, 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출한다. 이후, 스테이트 검색 모듈(122)은 추출된 캐릭터 분산 저장모듈(200u)에 포함된 PSID_V 테이블(PSID_Valid table)(210)(도 3b)에서, PSID에 해당하는 스테이트 넘버에서 추출된 캐릭터에 대해서 다음 스테이트 넘버에 해당하는 진행 스테이트 넘버 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보가 "1"인지 여부를 확인한다.The state retrieval module 122 receives the packet ID, character and PSID (Pre-State ID) extracted by the character extraction module 121, and then stores the first character distributed storage module 200u− in the storage device 200. The character distribution storage module 200u matching the extracted character is extracted from the 1) th to n th character distribution storage modules 200u-n. Thereafter, the state search module 122 performs the next state on the character extracted from the state number corresponding to the PSID in the PSID_Valid table 210 (FIG. 3B) included in the extracted character distribution storage module 200u. It is checked whether information of one bit (1, 0) for notifying whether a progress state number or a SID (State number ID) corresponding to the number is present is "1".

즉, 스테이트 검색 모듈(122)은 수신된 PSID(Pre-State ID) 비트(bits)로 PSID_V 테이블(PSID_Valid table)(210)을 액세스(access)하여 PSID 위치의 available(‘1’) 여부를 확인함으로써, 수신된 PSID(Pre-State ID)에 대한 캐릭터가 추출된 캐릭터 분산 저장모듈(200u)에 할당된 캐릭터에 해당하는지 여부를 검색할 수 있다. That is, the state retrieval module 122 accesses the PSID_Valid table 210 with the received PSID bits to determine whether the PSID location is available ('1'). As a result, it is possible to search whether the character corresponding to the received PSID (Pre-State ID) corresponds to the character assigned to the extracted character distribution storage module 200u.

한편, PSID_V 테이블(PSID_Valid table)(210)은 종래의 NFA(Non-deterministic Finite Automata) 또는 DFA(Deterministic Finite Automata) 방식에서 시그니처를 탐색하기 위해 생성된 스테이트 트랜젝션 테이블(State transition table) 상의 각 캐릭터열(Cr)을 추출하여 재정렬하되 각 셀을 다음 진행할 스테이트 넘버(State Number) 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보로 변환 생성된 테이블에 해당하며, 각 스테이트 트랜젝션 테이블(State transition table)를 구성하는 각 캐릭터별로 테이블을 구성함으로써, 캐릭터 분산형 액세스 장치부(100)에 의한 하나의 메모리 디바이스에 해당하는 저장장치부(200)에 구성된 하나의 스테이트 트랜젝션 테이블(State transition table)로의 액세스가 아닌 각 캐릭터별 테이블로의 액세스로 분산이 수행되도록 함으로써, 메모리 보틀넥(Memory bottleneck) 현상을 해소하는 기능을 제공한다. On the other hand, PSID_V table (PSID_Valid table) 210 is a string of each state on the state transition table (State transition table) generated to search for signatures in the conventional Non-deterministic Finite Automata (NFA) or Deterministic Finite Automata (DFA) scheme Corresponds to a table generated by converting (Cr) and converting each cell into 1-bit (1, 0) information for notifying whether a state number or a state number ID (SID) exists next to each cell. By configuring a table for each character constituting each state transition table, one state transaction configured in the storage unit 200 corresponding to one memory device by the character distributed access device unit 100 is provided. Memory bottlenecks can be distributed by accessing each character table rather than a state transition table. It provides a function to solve the bottleneck phenomenon.

제 1 진행 스테이트 추출 모듈(123)은 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '1'인 경우(bit of PSID_V table = '1'), PSID_V 테이블(PSID_V table)(210) 중 PSID 값에 해당하는 row에 해당 비트(bit)까지의 ‘1’의 개수를 합산한 뒤, 합산된 숫자와 매칭되는 row에 해당하는 VC 테이블(Valid Count table)(220)(도 4a 참조)의 값과 합산하여 Match되는 SID(State ID) 테이블(SID table)(230)(도 4b 참조) 상의 SID 값을 추출할 수 있다.If the bit of the PSID position of the PSID_V table 210 is '1' (bit of PSID_V table = '1'), the first progress state extraction module 123 may determine the PSID_V table 210. VC table (Valid Count table) 220 corresponding to the row matching the summed number after adding up the number of '1' up to the corresponding bit in the row corresponding to the PSID value among the rows (see FIG. 4A). The SID value on the SID (State ID) table (SID table) 230 (see FIG. 4B) to be matched may be extracted by summing the values.

여기서, SID 테이블(SID table)(230)은 스테이트 검색 모듈(122)에 의해 추출된 캐릭터 분산 저장모듈(200u)에서 VC 테이블(VC table)(220)과 함께 저장됨으로써, SID_V 테이블(PSID_V table)(210) 중 PSID 값에 해당하는 row에 해당 비트(bit)까지의 '1'의 개수와 VC 테이블(VC table)(220)의 값을 합산하여 Match 값으로 하고, Match 값에 해당하는 열의 SID 값을 다음 진행해야할 진행 스테이트 넘버에 해당하는 SID 값으로 추출할 수 있도록 한다. Here, the SID table 230 is stored together with the VC table 220 in the character distribution storage module 200u extracted by the state retrieval module 122 to thereby form the SID_V table PSID_V table. The number of '1's up to the corresponding bit and the value of the VC table 220 are added to the row corresponding to the PSID value among the 210 values as the match value, and the SID of the column corresponding to the match value. Allows the value to be extracted as the SID value corresponding to the next progress state number to proceed.

즉, 제 1 진행 스테이트 추출 모듈(123)은 SID 테이블(SID table)(230)을 액세스(access)하여 Match(‘1’ : match) 정보와 SID 정보를 분석 후 패킷 ID와 함께 SID 정보를 함께 캐릭터 추출모듈(121)로 제공함으로써, 시그니처에 해당하는 다음 캐릭터에 대한 상술한 과정을 진행할 수 있도록 한다. That is, the first progress state extraction module 123 accesses the SID table 230 and analyzes the match ('1': match) information and the SID information, and then combines the SID information with the packet ID. By providing to the character extraction module 121, it is possible to proceed to the above-described process for the next character corresponding to the signature.

보다 구체적으로, 제 1 진행 스테이트 추출 모듈(123)은 SID 정보를 캐릭터 추출모듈(121)로 제공함으로써, 캐릭터 추출모듈(121)의 제어에 따라 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출한 뒤, 추출된 정보를 패킷 ID와 함께 스테이트 검색 모듈(122)로 제공하도록 할 수 있다. More specifically, the first progress state extraction module 123 provides the SID information to the character extraction module 121, so that the storage device corresponding to the next character is converted into the SID information as the PSID information under the control of the character extraction module 121. After extracting the character distribution storage module 200u matching the extracted characters from the first character distribution storage module (200u-1) to n-th character distribution storage module (200u-n) of the unit 200, the extracted information It may be provided to the state search module 122 with the packet ID.

제 2 진행 스테이트 추출 모듈(124)은 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '0'인 경우(bit of PSID_V table = '0'), 무브 테이블(Move table)(240)(도 5b) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치 정보를 이용해 SID 정보를 패킷 ID와 캐릭터 추출모듈(121)로 제공함으로써, 시그니처에 해당하는 다음 캐릭터에 추가 과정을 진행할 수 있도록 한다. When the bit of the PSID position of the PSID_V table 210 is '0' (bit of PSID_V table = '0'), the second progress state extraction module 124 moves the table 240. In FIG. 5B, the SID information is provided to the packet ID and the character extraction module 121 using the position information matching the position bit value of the PSID_V table 210, thereby adding to the next character corresponding to the signature. To proceed.

여기서 무브 테이블(Move table)(240)은 PSID_V table(210)의 셀 격자(m×l)와 동일한 구조를 갖도록 형성됨으로써, 수신된 PSID(Pre-State ID)의 순번에 해당하는 PSID_V table(210) 상에서 PSID 비트가 '0'인 경우(bit of PSID_V table = '0')의 진행 스테이트 넘버가 없는 경우 초기 상태 SID에 해당하는 스테이트 넘버로의 복귀와, 입력된 PSID의 반복을 표현하기 위해 각 셀을 1비트(0 또는 1)로 생성할 수 있다. Here, the move table 240 is formed to have the same structure as the cell grid m × l of the PSID_V table 210, and thus, the PSID_V table 210 corresponding to the sequence number of the received PSID (Pre-State ID) is provided. If there is no progress state number in the case that the PSID bit is '0' (bit of PSID_V table = '0'), each state is expressed to return to the state number corresponding to the initial state SID and to repeat the input PSID. You can create a cell with one bit (0 or 1).

이에 따라, 제 2 진행 스테이트 추출 모듈(124)은 무브 테이블(Move table)(240)에서 추출된 값이 '0'인 경우(bit of Move table = '0') 정해진 초기 상태 SID를 다음 진행해야할 진행 스테이트 넘버에 해당하는 SID 값으로 캐릭터 추출모듈(121)로 제공할 수 있으며, 무브 테이블(Move table)(240)에서 추출된 값이 '1'인 경우(bit of Move table = '1') 입력된 PSID를 캐릭터 추출모듈(121)로 제공함으로써(Keep now state), 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하면서도 전이함수를 설정할 수 있는 효과를 제공한다. Accordingly, when the value extracted from the move table 240 is '0' (bit of Move table = '0'), the second progress state extraction module 124 may proceed with the predetermined initial state SID. SID value corresponding to the progress state number can be provided to the character extraction module 121, when the value extracted from the move table (Move table 240) is '1' (bit of Move table = '1') By providing the input PSID to the character extraction module 121 (Keep now state), it provides an effect that can set the transition function while solving the bottleneck (bottleneck) problem through the memory distribution for each character.

도 6은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법을 나타내는 흐름도이다. 도 6을 참조하면, 캐릭터 분산형 액세스 장치부(100)는 외부로부터 수신된 데이터의 패킷 ID를 생성한 뒤, 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고 한다(S11).6 is a flowchart illustrating a method for detecting network intrusions based on character distributed memory access according to an embodiment of the present invention. Referring to FIG. 6, the character distributed access device unit 100 generates a packet ID of data received from the outside, extracts a character corresponding to the first character of the signature, and then selects a PSID for the extracted character. State ID) is extracted (S11).

단계(S11) 이후, 캐릭터 분산형 액세스 장치부(100)는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출한다(S12).After the step S11, the character distributed access device 100 may extract the characters extracted from the first character distributed storage module 200u-1 to the nth character distributed storage module 200u-n of the storage device 200. Extract the character distribution storage module 200u matching with (S12).

단계(S12) 이후, 캐릭터 분산형 액세스 장치부(100)는 추출된 캐릭터 분산 저장모듈(200u)의PSID_V 테이블(PSID_Valid table)(210))에서, PSID에 해당하는 스테이트 넘버에서 추출된 캐릭터에 대해서 다음 스테이트 넘버에 해당하는 진행 스테이트 넘버 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보를 확인한다(S13).After the step S12, the character distributed access device 100 performs the character extracted from the state number corresponding to the PSID in the extracted PSID_V table 210 of the extracted character distributed storage module 200u. Information of 1 bit (1, 0) for indicating whether a progress state number or a SID (State number ID) corresponding to the next state number is present is checked (S13).

단계(S13) 이후, 캐릭터 분산형 액세스 장치부(100)는 단계(S13)에서 확인된 1 비트의 정보가 “1"인지 여부를 판단한다(S14).After the step S13, the character distributed access device unit 100 determines whether the 1-bit information checked in step S13 is "1" (S14).

단계(S14)의 판단 결과 단계(S13)에서 확인된 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '1'인 경우(bit of PSID_V table = '1'), 캐릭터 분산형 액세스 장치부(100)는 PSID_V 테이블(PSID_V table)(210) 중 PSID 값에 해당하는 row에 해당 비트(bit)까지의 ‘1’의 개수를 합산한 뒤, 합산된 숫자와 매칭되는 row에 해당하는 VC 테이블(VC table)(220)의 값과 합산하여 Match되는 SID(State ID) 테이블(SID table)(230) 상의 SID 값을 추출한다(S15).As a result of the determination in step S14, when the bit of the PSID position of the PSID_V table 210 identified in step S13 is '1' (bit of PSID_V table = '1'), the character distributed access device The unit 100 adds the number of '1's up to the corresponding bit to the row corresponding to the PSID value in the PSID_V table 210, and then VC corresponding to the row matching the summed number. The SID value on the SID (State ID) table (SID table) 230 to be matched by adding the values of the table VC table 220 is extracted (S15).

단계(S15) 이후, 캐릭터 분산형 액세스 장치부(100)는 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 단계(S11) 내지 단계(S15)의 과정을 모든 시그니처 목록에 따라 수행한다(S16).After the step S15, the character distributed access device 100 distributes the first character distributed storage module 200u-1 to the nth character of the storage device 200 corresponding to the next character using the SID information as the PSID information. The character distribution storage module 200u matching the extracted character in the storage module 200u-n is extracted and the processes of steps S11 to S15 for the next character are performed according to all signature lists (S16). .

한편, 단계(S14)의 판단 결과 단계(S13)에서 확인된 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '0'인 경우(bit of PSID_V table = '0')인 경우, 캐릭터 분산형 액세스 장치부(100)는 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치 정보를 이용해 SID 정보를 추출한다(S17).On the other hand, if the bit of the PSID position of the PSID_V table 210 identified in step S13 as a result of step S14 is '0' (bit of PSID_V table = '0'), the character The distributed access device unit 100 extracts SID information using location information matching the location bit value of the PSID_V table 210 in the move table 240 (S17).

단계(S17) 이후, 캐릭터 분산형 액세스 장치부(100)는 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인지 여부(Bit of Move table = '0')를 판단한다(S19).After the step S17, the character distributed access device 100 may determine that the bit value of the position that matches the position bit value of the PSID_V table 210 in the move table 240 is "0". It is determined whether or not (Bit of Move table = '0') (S19).

단계(S19)의 판단 결과, 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인 경우, 캐릭터 분산형 액세스 장치부(100)는 정해진 초기 상태 SID로 이동한 뒤, 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 단계(S11) 내지 단계(S15)의 과정을 모든 시그니처 목록에 따라 수행한다(S20).As a result of the determination in step S19, when the bit value of the position that matches the position bit value of the PSID_V table 210 in the move table 240 is "0", the character distributed access device The unit 100 moves to a predetermined initial state SID, and then, in the first character distributed storage module 200u-1 to the nth character distributed storage module 200u-n of the storage device 200 corresponding to the next character. The character distribution storage module 200u matching the extracted character is extracted and the processes of steps S11 to S15 for the next character are performed according to all signature lists (S20).

한편, 단계(S19)의 판단 결과, 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "1"인 경우, 캐릭터 분산형 액세스 장치부(100)는 단계(S11)에서 추출된 PSID로 이동한 뒤, 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 단계(S11) 내지 단계(S15)의 과정을 모든 시그니처 목록에 따라 수행한다(S21). On the other hand, when the bit value of the position matching the position bit value of the PSID_V table (PSID_Valid table) 210 of the move table 240 is "1", as a result of the determination in step S19, the character distribution type The access device 100 moves to the PSID extracted in step S11, and then the first character distributed storage module 200u-1 to the nth character distributed storage module of the storage device 200 corresponding to the next character. The character distribution storage module 200u matching the extracted character at 200u-n is extracted and the processes of steps S11 to S15 for the next character are performed according to all signature lists (S21).

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (eg, transmission over the Internet). It also includes.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.As described above, the present specification and drawings have been described with respect to preferred embodiments of the present invention, although specific terms are used, it is only used in a general sense to easily explain the technical contents of the present invention and to help the understanding of the present invention. It is not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention can be carried out in addition to the embodiments disclosed herein.

1 : 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템
100 : 캐릭터 분산형 액세스 장치부
110 : 송수신부
120 : 제어부
121 : 캐릭터 추출모듈
122 : 스테이트 검색 모듈
123 : 제 1 진행 스테이트 추출 모듈
124 : 제 2 진행 스테이트 추출 모듈
130 : 입출력 I/F
200 : 저장 장치부
200u-1 : 제 1 캐릭터 분산 저장모듈
200u-n : 제 n 캐릭터 분산 저장모듈
1: Network Intrusion Detection System based on Character Distributed Memory Access
100: character distributed access device
110: transceiver
120: control unit
121: character extraction module
122: state search module
123: First Progress State Extraction Module
124: second progress state extraction module
130: I / O I / F
200: storage unit
200u-1: first character distributed storage module
200u-n: nth character distributed storage module

Claims (8)

삭제delete 캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하는 제 1 단계;
캐릭터 분산형 액세스 장치부(100)가 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하는 제 2 단계;
캐릭터 분산형 액세스 장치부(100)가 추출된 캐릭터 분산 저장모듈(200u)의PSID_V 테이블(PSID_Valid table)(210))에서, PSID에 해당하는 스테이트 넘버에서 추출된 캐릭터에 대해서 다음 스테이트 넘버에 해당하는 진행 스테이트 넘버 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보를 확인하는 제 3 단계; 및
캐릭터 분산형 액세스 장치부(100)가 상기 제 3 단계에서 확인된 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '1'인 경우(bit of PSID_V table = '1'), PSID_V 테이블(PSID_V table)(210) 중 PSID 값에 해당하는 row에 해당 비트(bit)까지의 ‘1’의 개수를 합산한 뒤, 합산된 숫자와 매칭되는 row에 해당하는 VC 테이블(VC table)(220)의 값과 합산하여 Match되는 SID(State ID) 테이블(SID table)(230) 상의 SID 값을 추출하는 제 4 단계; 를 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.
A first step of the character distributed access device unit 100 extracting a character corresponding to the first character of the signature and then extracting a PSID (Pre-State ID) for the extracted character;
Character distributed storage device that the character distributed access device 100 is matched with the characters extracted from the first character distributed storage module (200u-1) to n-th character distributed storage module (200u-n) of the storage device 200 Extracting the module 200u;
In the PSID_V table (PSID_Valid table 210) of the character distributed storage module 200u from which the character distributed access device 100 is extracted, the character corresponding to the next state number is extracted for the character extracted from the state number corresponding to the PSID. A third step of confirming information of one bit (1, 0) for notifying whether a progress state number or a state number ID (SID) is present; And
If the character distributed access device 100 has a bit of the PSID position of the PSID_V table 210 identified in the third step is '1' (bit of PSID_V table = '1'), the PSID_V table After adding up the number of '1's up to the corresponding bit to the row corresponding to the PSID value among the (PSID_V table) 210, the VC table corresponding to the row matching the summed number (VC table) 220 A fourth step of extracting the SID value on the SID table (SID table) 230 to be matched with the sum of Characteristic distributed memory access based network intrusion detection method comprising a.
청구항 2에 있어서, 상기 제 1 단계는,
캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출 전에 데이터의 패킷 ID를 생성하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.
The method of claim 2, wherein the first step,
Character distributed access device 100 generates a packet ID of the data before extracting the character corresponding to the first character of the signature, character distributed memory access based network intrusion detection method.
청구항 3에 있어서, 상기 제 4 단계 이후,
캐릭터 분산형 액세스 장치부(100)가 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 5 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.
The method according to claim 3, After the fourth step,
The character distributed access device 100 uses the SID information as the PSID information, so that the first character distributed storage module 200u-1 to the nth character distributed storage module 200u-n of the storage device 200 corresponding to the next character. A fifth step of extracting a character distribution storage module 200u matching the extracted character from the first step) and performing the first to fourth steps for the next character according to all the signature lists; Characteristic distributed memory access based network intrusion detection method further comprises.
청구항 3에 있어서, 상기 제 4 단계는,
상기 제 3 단계에서 확인된 PSID_V 테이블(PSID_V table)(210)의 PSID 위치의 비트가 '0'인 경우(bit of PSID_V table = '0')인 경우, 캐릭터 분산형 액세스 장치부(100)가 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치 정보를 이용해 SID 정보를 추출하는 제 4-1 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.
The method of claim 3, wherein the fourth step,
If the bit of the PSID position of the PSID_V table 210 identified in the third step is '0' (bit of PSID_V table = '0'), the character distributed access device 100 A fourth step of extracting SID information using location information matching the location bit value of the PSID_V table 210 of the move table 240; Characteristic distributed memory access based network intrusion detection method further comprises.
청구항 5에 있어서, 상기 제 4-1 단계 이후,
캐릭터 분산형 액세스 장치부(100)가 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인지 여부(Bit of Move table = '0')를 판단하는 제 4-2 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.
The method according to claim 5, After the 4-1 step,
Whether the bit value of the position where the character distributed access device 100 matches the position bit value of the PSID_V table 210 in the move table 240 is "0" (Bit of Move) step 4-2 of determining table = '0'); Characteristic distributed memory access based network intrusion detection method further comprises.
청구항 6에 있어서, 상기 제 4-2 단계 이후,
무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인 경우, 캐릭터 분산형 액세스 장치부(100)가 정해진 초기 상태 SID로 이동한 뒤, 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 4-3 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.
The method according to claim 6, After the step 4-2,
If the bit value of the position that matches the position bit value of the PSID_V table 210 of the move table 240 is "0", the character distributed access device unit 100 determines the initial state. After moving to the SID, the character dispersion is matched with the character extracted from the first character distribution storage module 200u-1 to the n-th character distribution storage module 200u-n of the storage unit 200 corresponding to the next character A fourth to third step of extracting the storage module 200u and performing the first to fourth steps of the next character according to all the signature lists; Characteristic distributed memory access based network intrusion detection method further comprises.
삭제delete
KR1020180004219A 2018-01-12 2018-01-12 Network intrusion detection system based on accessing memory with character distributed type, and method thereof KR102055326B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180004219A KR102055326B1 (en) 2018-01-12 2018-01-12 Network intrusion detection system based on accessing memory with character distributed type, and method thereof
PCT/KR2018/016976 WO2019139295A1 (en) 2018-01-12 2018-12-31 Character distribution-type memory access-based network intrusion detection system and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180004219A KR102055326B1 (en) 2018-01-12 2018-01-12 Network intrusion detection system based on accessing memory with character distributed type, and method thereof

Publications (2)

Publication Number Publication Date
KR20190086107A KR20190086107A (en) 2019-07-22
KR102055326B1 true KR102055326B1 (en) 2019-12-13

Family

ID=67218647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180004219A KR102055326B1 (en) 2018-01-12 2018-01-12 Network intrusion detection system based on accessing memory with character distributed type, and method thereof

Country Status (2)

Country Link
KR (1) KR102055326B1 (en)
WO (1) WO2019139295A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101287592B1 (en) * 2012-01-06 2014-03-19 한남대학교 산학협력단 A Network Intrusion Detection Apparatus using Pattern Matching
US9575828B2 (en) * 2015-07-08 2017-02-21 Cisco Technology, Inc. Correctly identifying potential anomalies in a distributed storage system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DEREK PAO 등, 'Pipelined Architecture for Multi-String Matching', IEEE Computer Architecture Letters, Vol. 7, No. 2, (2008.06.06.)*
LIN TAN 등, 'A High Throughput String Matching Architecture for Intrusion Detection and Prevention', 32nd International Symposium on Computer Architecture, (2005.06.20.)*

Also Published As

Publication number Publication date
KR20190086107A (en) 2019-07-22
WO2019139295A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
US9853991B1 (en) Finding command and control center computers by communication link tracking
JP4855400B2 (en) Method and system for multi-pattern search
US20200012786A1 (en) Computer telemetry analysis
US9990583B2 (en) Match engine for detection of multi-pattern rules
US9514246B2 (en) Anchored patterns
KR101648235B1 (en) Pattern-recognition processor with matching-data reporting module
CN102857493B (en) Content filtering method and device
US9858051B2 (en) Regex compiler
EP2525545B1 (en) Method and device for pattern matching in a deep packet inspection (dpi) device
US9336239B1 (en) System and method for deep packet inspection and intrusion detection
EP3292481B1 (en) Method, system and computer program product for performing numeric searches
CN104820666A (en) Finite Automata Processing Based on a Top of Stack (TOS) Memory
US20060259508A1 (en) Method and apparatus for detecting semantic elements using a push down automaton
US20170083406A1 (en) Method and apparatus for incremental backup
US9355126B2 (en) Active auditing in a database system
US11055399B2 (en) Data recovery through reversal of hash values using probabilistic data structures
US8266135B2 (en) Indexing for regular expressions in text-centric applications
US20240184918A1 (en) Detection of personally identifiable information
US20150156209A1 (en) Process Using Universal Sanitization to Prevent Injection Attacks
KR102055326B1 (en) Network intrusion detection system based on accessing memory with character distributed type, and method thereof
US20200364228A1 (en) In-memory efficient multistep search
EP3964966B1 (en) Message matching table lookup method, system, storage medium, and terminal
US11080028B1 (en) Condenser for user interface changes
US11971851B2 (en) Hash code-based search apparatus and search method
KR102055494B1 (en) Code processor for signature and PCRE search, and method for searching signature and PCRE using the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right