WO2019139295A1 - Character distribution-type memory access-based network intrusion detection system and method therefor - Google Patents

Character distribution-type memory access-based network intrusion detection system and method therefor Download PDF

Info

Publication number
WO2019139295A1
WO2019139295A1 PCT/KR2018/016976 KR2018016976W WO2019139295A1 WO 2019139295 A1 WO2019139295 A1 WO 2019139295A1 KR 2018016976 W KR2018016976 W KR 2018016976W WO 2019139295 A1 WO2019139295 A1 WO 2019139295A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
psid
storage module
extracted
signature
Prior art date
Application number
PCT/KR2018/016976
Other languages
French (fr)
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 주식회사 로그인어스
Publication of WO2019139295A1 publication Critical patent/WO2019139295A1/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]

Definitions

  • the present invention relates to a network intrusion detection system based on character distributed memory access and a method thereof, and more particularly, to a system and method for detecting a network intrusion based on a character distributed memory access,
  • the present invention relates to a network intrusion detection system based on a character distributed memory access and a method thereof for solving a bottleneck problem.
  • Signature-based security devices each compiled with a list of intrusions, have been spotlighted as a system to cope with security problems caused by explosion of Internet use in recent years. However, It is too much time to compare all the registered signatures and payloads by separating the payloads.
  • a signature is searched using Non-deterministic Finite Automata (NFA) or Deterministic Finite Automata (DFA) .
  • NFA Non-deterministic Finite Automata
  • DFA Deterministic Finite Automata
  • NFA Non-deterministic Finite Automata
  • DFA Deterministic Finite Automata
  • a state transition table represented by a Goto table and a failure table in a conventional signature and PCRE search processor 10 is inputted on one memory device 20,
  • a signature is searched through a memory access by a processor
  • the number and size of signatures increases, the number of state transitions increases and the number of memory accesses increases.
  • the memory bottleneck phenomenon is solved There is a limit that can not be done.
  • the present invention has been made to solve the above problems, and it is an object of the present invention to provide a method for storing a state transition table in one memory and accessing one memory according to a state, And a method for accessing each corresponding character-specific table according to a character, thereby greatly improving the efficiency of signature and PCRE search, and a method for searching for a network-based network intrusion search system based on a character distributed memory access .
  • the present invention solves the bottleneck problem through memory distribution for each character, but can solve the loop to the specific state number performing the same function as the setting of the transition function or the movement to the initial state number
  • the present invention provides a system and method for searching for a network intrusion based on a character distributed memory access.
  • a method of searching for a network intrusion based on a character distributed memory access includes a step of dividing a storage unit 200 into a first character distribution storage module 200u- A first step of logically dividing the storage module 200u-n (n is a natural number equal to or greater than 2 as a whole constituent character); And a PSID (Pre-State ID) for the extracted character are extracted, and the first character distribution storage module 200u-1 to the nth character storage module 200u-1 of the storage unit 200 extracts a character corresponding to the first character of the signature, The character distribution storage module 200u matching the characters extracted from the character distribution storage module 200u-n is extracted and signature detection is performed for each character to perform character access memory access distribution on the storage unit 200 A second step; And a control unit.
  • PSID Pre-State ID
  • a character dispersed access device unit 100 extracts a character corresponding to a first character of a signature, A first step of extracting a PSID (Pre-State ID) for the extracted character;
  • the character dispersed access device unit 100 may be a character distributed storage device that matches characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200, A second step of extracting the module 200u; Corresponding to the state number corresponding to the state number corresponding to the PSID in the PSID_Valid table 210 of the character scatter distributed storage module 200u from which the character scattered access unit 100 is extracted A third step of verifying information of 1 bit (1, 0) for informing whether a progress state number or SID (State number ID) exists; And the character scattered access device 100 checks if the bit of the PSID position of the PS
  • the character dispersed access device 100 extracts a character corresponding to a first character of a signature And the packet ID of the data is generated beforehand.
  • the character scattered access device unit 100 transmits SID information as PSID information to the next character
  • the character distribution storage module 200u matching the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200 is extracted, A fifth step of performing the first step to the fourth step according to all the signature lists; .
  • the fourth step may include a PSID_V table (PSID_V table) 210 identified in the third step
  • PSID_V table PSID_V table
  • the method for searching for a network intrusion based on character distributed memory access may further include, after step 4-2, a PSID_Valid table 210 of a move table 240 ,
  • the character scattered access device 100 moves to the determined initial state SID, and then moves to the initial state SID of the storage device 200 corresponding to the next character
  • the character distribution storage module 200u matching the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n is extracted and the first through A fourth step of performing the process of the fourth step according to all the signature lists; .
  • a system for searching for a network intrusion based on character distributed memory access comprising: a first character distribution storage module 200u-1 to an nth character distribution storage module 200u- (n is a natural number equal to or greater than 2 and equal to or different from the entire configuration character); And a PSID (Pre-State ID) for the extracted character are extracted, and the first character distribution storage module 200u-1 to the nth character storage module 200u-1 of the storage unit 200 extracts a character corresponding to the first character of the signature,
  • the character distribution storage module 200u matching the characters extracted from the character distribution storage module 200u-n is extracted and signature detection is performed for each character to perform character access memory access distribution on the storage unit 200
  • a network intrusion detection system based on a character distributed memory access and a method thereof includes a state transition table storing unit for storing a state transition table in one memory, By dividing the state transaction table into character-by-character tables, and storing the character-by-character table in a distributed manner, the signature and PCRE search efficiency can be dramatically improved.
  • the system for searching for a network intrusion based on character scattered memory access and the method thereof according to another embodiment of the present invention solve the bottleneck problem through memory distribution for each character, It is also possible to solve the problem of moving to a loop or an initial state number for a specific state number to be performed.
  • FIG. 1 is a view for explaining a conventional bottleneck phenomenon by a signature and a PCRE search processor 10.
  • FIG. 1 is a view for explaining a conventional bottleneck phenomenon by a signature and a PCRE search processor 10.
  • FIG. 2 is a diagram illustrating a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention.
  • FIG. 3 illustrates a configuration of a PSID_Valid table 210 formed in a character distribution storage module 200u of a storage unit 200 of a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating a VC table (Valid Count table) 220 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (State ID) table (SID table) 230 shown in FIG.
  • VC table Value Count table
  • SID table State ID table
  • FIG. 5 is a diagram illustrating a configuration of a move table 240 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (Move table) 240 and a SID_V table (PSID_Valid table) 210.
  • Move table a move table formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention
  • SID_V table PSID_Valid table
  • FIG. 6 is a flowchart illustrating a method of searching for a network intrusion based on a character distributed memory access according to an embodiment of the present invention.
  • the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
  • FIG. 2 is a diagram illustrating a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention.
  • 3 illustrates a configuration of a PSID_Valid table 210 formed in a character distribution storage module 200u of a storage unit 200 of a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating a VC table (Valid Count table) 220 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (State ID) table (SID table) 230 shown in FIG.
  • FIG. 5 is a diagram illustrating a configuration of a move table 240 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (Move table) 240 and a SID_V table (PSID_Valid table) 210.
  • Move table a move table formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention
  • SID_V table PSID_Valid table
  • the network intrusion detection system 1 based on character scattered memory access may include a character scattered access device unit 100 and a storage unit 200 as two large components .
  • the character dispersed access unit 100 includes a transceiver unit 110, a control unit 120 and an input / output interface 130.
  • the control unit 120 includes a character extraction module 121 ), A state search module 122, a first progress state extraction module 123, and a second progress state extraction module 124.
  • a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware.
  • the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and it does not necessarily mean a physically connected code or a kind of hardware. Can be easily deduced to the average expert in the field of < / RTI >
  • the storage unit 200 is a non-volatile memory (NVM) that does not lose power even if power is not supplied, and is not deleted, and may be a flash memory, an MRAM (Magnetic Random Access Memory) , Phase-change random access memory (PRAM), ferroelectric random access memory (FRAM), or volatile memory or other memory storage devices.
  • NVM non-volatile memory
  • MRAM Magnetic Random Access Memory
  • PRAM Phase-change random access memory
  • FRAM ferroelectric random access memory
  • the storage unit 200 logically stores the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n (where n is a natural number equal to or different from that of the entire configuration character) Can be distinguished.
  • FIG. 1 A character intrusion detection system based on a character dispersed type memory access will be described in detail with reference to components of the control unit 120 of the character scattered access device 100.
  • FIG. 1 A character intrusion detection system based on a character dispersed type memory access will be described in detail with reference to components of the control unit 120 of the character scattered access device 100.
  • the character extracting module 121 extracts an n-tuple (m-tuple) m (m-tuple) when a packet, a payload or user data is inputted from an external communication network or an external device through the transceiver 110 (N is a natural number equal to or different from n), and generates a packet ID, extracts a character corresponding to the first character of the signature among the character strings extracted from the payload or the user data The extracted character, and the PSID (Pre-State ID) and the packet ID for the extracted character to the PSID state search module 122.
  • N is a natural number equal to or different from n
  • the character extraction module 121 may have a separate memory storing the first character of the previously registered signature, or may be provided with access to the storage unit 200 in which the first character of the previously registered signature is stored in advance ) To control the input / output I / F 130 to detect whether the input / output I / F 130 is correct.
  • the state search module 122 receives the packet ID, the character, and the PSID (Pre-State ID) extracted by the character extraction module 121 and then transmits the first character distribution storage module 200u- 1) to the nth character distribution storage module 200u-n.
  • the character distribution storage module 200u matches the character extracted from the nth character distribution storage module 200u-n.
  • the state search module 122 searches for a character extracted from the state number corresponding to the PSID in the PSID_V table 210 (FIG. 3B) included in the extracted character distribution storage module 200u, (1, 0) to indicate whether there is a progress state number or a SID (State number ID) corresponding to the number is "1 ".
  • the state search module 122 accesses the PSID_Valid table 210 with the received PSID (Pre-State ID) bits to check whether the PSID location is available ('1') , It is possible to search whether or not the character for the received PSID (Pre-State ID) corresponds to the character assigned to the extracted character distribution storage module 200u.
  • the PSID_Val table 210 is a table in which each character string on a state transition table generated for searching for a signature in a conventional NFA (Non-deterministic Finite Automata) or DFA (Deterministic Finite Automata) (1, 0) information for notifying the presence or absence of a state number or a SID (State number ID) for each cell to be extracted and rearranged, By constructing a table for each character constituting each state transition table, it is possible to arrange a state transaction in the storage unit 200 corresponding to one memory device by the character distributed access device unit 100, By allowing distribution to be performed by accessing each character-specific table rather than accessing a table (state transition table), a memory bottleneck (Memory bottleneck phenomenon.
  • NFA Non-deterministic Finite Automata
  • DFA Deterministic Finite Automata
  • the SID table 230 is stored together with the VC table 220 in the character distribution storage module 200u extracted by the state search module 122 so that the SID_V table (PSID_V table) (VC table) 220 to the corresponding bit in the row corresponding to the PSID value of the table 210 and sets the value as a Match value.
  • the SID of the column corresponding to the Match value So that the value can be extracted as the SID value corresponding to the proceeding state number to be processed next.
  • the first progress state extraction module 123 accesses the SID table 230 to analyze Match ('1': match) information and SID information, and then transmits SID information together with the packet ID To the character extraction module 121, so that the above-described process for the next character corresponding to the signature can be performed.
  • the first progress state extracting module 123 provides the SID information to the character extracting module 121 so that the SID information is converted into the PSID information according to the control of the character extracting module 121,
  • the character distribution storage module 200u matching the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the unit 200 is extracted, To the state search module 122 together with the packet ID.
  • the present invention provides an effect of setting a transition function while solving the bottleneck problem through memory distribution by character by providing the input PSID to the character extraction module 121 (keep now state).
  • FIG. 6 is a flowchart illustrating a method of searching for a network intrusion based on a character distributed memory access according to an embodiment of the present invention.
  • the character scattered access device 100 generates a packet ID of data received from the outside, extracts a character corresponding to the first character of the signature, and then generates a PSID (Pre- State ID) is extracted (S11).
  • PSID Pre- State ID
  • the character scattered access device 100 acquires the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200
  • the character distribution storage module 200u is extracted (S12).
  • the character scattered access device 100 reads the character extracted from the state number corresponding to the PSID in the PSID_V table 210 of the extracted character distribution storage module 200u (1, 0) information for informing whether there is a progress state number or a SID (State number ID) corresponding to the next state number (S13).
  • step S13 the character scattered access device unit 100 determines whether the information of 1 bit identified in step S13 is " 1 "(S14).
  • PSID_V table PSID_V table
  • the character scattered access device 100 transmits SID information as PSID information to the first character distribution storage module 200u-1 to the n-th character disperse storage module 200u-1 of the storage unit 200 corresponding to the next character
  • the character distribution storage module 200u that matches the character extracted from the storage module 200u-n is extracted and the process of steps S11 to S15 for the next character is performed according to all the signature lists (S16) .
  • the distributed access device 100 extracts the SID information using position information matching the position bit value of the PSID_V table 210 among the move table 240 in step S17.
  • step S19 If the bit value of the position matched with the position bit value of the PSID_V table 210 of the MOVE table 240 is "0 " as a result of the determination of step S19, The first and second character distributing and storing modules 200u-1 to 200u-n of the storage unit 200 corresponding to the next character The character distribution storage module 200u matching the extracted character is extracted and the process of steps S11 to S15 for the next character is performed according to all the signature lists (S20).
  • step S19 if it is determined in step S19 that the bit value of the position matched with the position bit value of the PSID_V table 210 of the MOVE table 240 is "1 &
  • the access device unit 100 moves to the PSID extracted in step S11 and then transmits the PSID to the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-1 of the storage unit 200 corresponding to the next character
  • the character distribution storage module 200u matching the character extracted from the character extraction unit 200u-n is extracted and the process of step S11 to step S15 for the next character is performed according to all the signature lists at step S21.
  • the present invention can also be embodied as computer-readable codes on a computer-readable recording medium.
  • a computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.
  • Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) .
  • a carrier wave for example, transmission over the Internet
  • the computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.
  • functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

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

The present invention relates to a character distribution-type memory access-based network intrusion detection system and a method therefor. The present invention may comprise: a first step of logically dividing a storage device portion (200) into a first character distribution storage module (200u-1) to an nth character distribution storage module (200u-n) (n is a natural number which is equal to or larger than 2, and which is equal to or different from the number of all constituent characters); and a second step of extracting a character corresponding to the first character of a signature, extracting a pre-state ID (PSID) related to the extracted character, extracting a character distribution storage module (200u) matching with characters extracted from the first character distribution storage module (200u-1) to the nth character distribution storage module (200u-n) of the storage device (200), performing signature detection with regard to each character, and performing character-specific memory access distribution on the storage device portion (200). Accordingly, the conventional scheme of storing a state transition table in a single memory and accessing the single memory according to the state is converted to a scheme of dividing a state transition table into character-specific tables, distributing/storing the same, and accessing each corresponding character-specific table according to the character, thereby providing the advantageous effect of substantially improving the efficiency of signature and PCRE detection.

Description

캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법Network Intrusion Detection System Based on Character Distributed Memory Access and Its Method
본 발명은 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법에 관한 것으로, 보다 구체적으로는, 시그니처 기반 보안장비의 시그니처 및 PCRE 탐지 성능을 높이기 위한 방법으로 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하도록 하기 위한 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법에 관한 것이다. The present invention relates to a network intrusion detection system based on character distributed memory access and a method thereof, and more particularly, to a system and method for detecting a network intrusion based on a character distributed memory access, The present invention relates to a network intrusion detection system based on a character distributed memory access and a method thereof for solving a bottleneck problem.
최근 폭발적인 인터넷 사용의 증가와 맞물려 발생하는 보안 문제들에 대응하기 위한 시스템으로 각 침입 리스트로 정리된 시그니처-기반(Signature-Based) 방식의 보안장비가 각광받고 있으나, 각 패킷(Packet)의 페이로드(Payload)를 분리하여 등록된 모든 시그니처와 페이로드를 비교하는 것은 너무 많은 시간이 걸려 현실적으로 불가능한 한계점이 있다.Signature-based security devices, each compiled with a list of intrusions, have been spotlighted as a system to cope with security problems caused by explosion of Internet use in recent years. However, It is too much time to compare all the registered signatures and payloads by separating the payloads.
이에 따라 변형이 많고 고정 캐릭터열로 표현될 수 없는 공격들을 탐지하기 위해 보안장비에서는 Perl 호환 정규 표현식(PCRE, Perl Compatible Regular Expressions) 엔진을 지원하고 있으나 속도가 느려 표본 캐릭터 열(Sample String) 등의 편법을 사용하고 있는 현실이다. In order to detect attacks that can not be represented by a lot of deformed and fixed character strings, security devices support Perl Compatible Regular Expressions (PCRE) engines, but they are slower and slower than sample strings It is a reality that uses shortcut.
보다 구체적으로, 종래의 시그니처-기반(Signature-Based) 방식의 보안장비에서 시간이 너무 오래 걸리는 한계점을 극복하기 위해 NFA(Non-deterministic Finite Automata) 또는 DFA(Deterministic Finite Automata)을 사용하여 시그니처를 탐색하고 있다.More specifically, in order to overcome the time-consuming limitation of a conventional signature-based security device, a signature is searched using Non-deterministic Finite Automata (NFA) or Deterministic Finite Automata (DFA) .
이러한 NFA(Non-deterministic Finite Automata) 또는 DFA(Deterministic Finite Automata)에서는 각 스테이트 넘버(State Number)를 이용해 Goto-graph 상의 시그니처 상의 스트링(String) 중 첫 캐릭터를 중심으로 분열 가능한 다음 스테이트 넘버를 설정함으로써, 목적 스테이트 넘버로 도달하는 방식을 취할 수 있다. In the Non-deterministic Finite Automata (NFA) or the Deterministic Finite Automata (DFA), by setting the next state number that can be divided around the first character in the signature on the Goto-graph using each state number , And reach the destination state number.
즉 도 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 PCRE search processor 10 is inputted on one memory device 20, When a signature is searched through a memory access by a processor, as the number and size of signatures increases, the number of state transitions increases and the number of memory accesses increases. In order to overcome this limit, there is an attempt to increase the number of processing processes or increase the performance of the processing process in a hardware manner. However, as the amount of traffic increases to one memory, the memory bottleneck phenomenon is solved There is a limit that can not be done.
본 발명은 상기의 문제점을 해결하기 위한 것으로, 스테이트 트랜젝션 테이블(State transition table)을 하나의 메모리에 저장하고 스테이트에 따라 하나의 메모리를 액세스하는 기존의 방식을 스테이트 트랜젝션 테이블을 캐릭터 별 테이블로 나누고 분산 저장하여 캐릭터에 따라 각 해당하는 캐릭터 별 테이블을 액세스하는 방식으로 전환함으로써, 시그니처와 PCRE 탐색의 효율성을 획기적으로 향상시키기 위한 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법을 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a method for storing a state transition table in one memory and accessing one memory according to a state, And a method for accessing each corresponding character-specific table according to a character, thereby greatly improving the efficiency of signature and PCRE search, and a method for searching for a network-based network intrusion search system based on a character distributed memory access .
또한, 본 발명은 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하면서도 전이함수를 설정과 동일한 기능을 수행하는 특정 스테이트 넘버에 대한 루프(loop) 또는 초기 스테이트 넘버로의 이동도 함께 해결할 수 있도록 하기 위한 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법을 제공하기 위한 것이다.In addition, the present invention solves the bottleneck problem through memory distribution for each character, but can solve the loop to the specific state number performing the same function as the setting of the transition function or the movement to the initial state number The present invention provides a system and method for searching for a network intrusion based on a character distributed memory access.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.However, the objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can 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, a method of searching for a network intrusion based on a character distributed memory access according to an embodiment of the present invention includes a step of dividing a storage unit 200 into a first character distribution storage module 200u- A first step of logically dividing the storage module 200u-n (n is a natural number equal to or greater than 2 as a whole constituent character); And a PSID (Pre-State ID) for the extracted character are extracted, and the first character distribution storage module 200u-1 to the nth character storage module 200u-1 of the storage unit 200 extracts a character corresponding to the first character of the signature, The character distribution storage module 200u matching the characters extracted from the character distribution storage module 200u-n is extracted and signature detection is performed for each character to perform character access memory access distribution on the storage unit 200 A second step; And a control unit.
상기의 목적을 달성하기 위해 본 발명의 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 캐릭터 분산형 액세스 장치부(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, there is provided a method for searching for a network intrusion based on character scattered memory access, wherein a character dispersed access device unit 100 extracts a character corresponding to a first character of a signature, A first step of extracting a PSID (Pre-State ID) for the extracted character; The character dispersed access device unit 100 may be a character distributed storage device that matches characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200, A second step of extracting the module 200u; Corresponding to the state number corresponding to the state number corresponding to the PSID in the PSID_Valid table 210 of the character scatter distributed storage module 200u from which the character scattered access unit 100 is extracted A third step of verifying information of 1 bit (1, 0) for informing whether a progress state number or SID (State number ID) exists; And the character scattered access device 100 checks if 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 (VC table) corresponding to the row matched with the summed number after summing the number of '1's' to the corresponding bit in the row corresponding to the PSID value of the table (PSID_V table) 210 A fourth step of extracting an SID value on a SID table (SID table) 230, which is summed with the value of the SID table 220; And a control unit.
이때, 본 발명의 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법에 있어서, 상기 제 1 단계는, 캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출 전에 데이터의 패킷 ID를 생성하는 것을 특징으로 한다.In the method of searching for a network intrusion based on character distributed memory access according to another embodiment of the present invention, in the first step, the character dispersed access device 100 extracts a character corresponding to a first character of a signature And the packet ID of the data is generated beforehand.
또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 상기 제 4 단계 이후, 캐릭터 분산형 액세스 장치부(100)가 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 5 단계; 를 더 포함하는 것이 바람직하다. In addition, in the method of searching for a network intrusion based on a character distributed memory access according to yet another embodiment of the present invention, the character scattered access device unit 100 transmits SID information as PSID information to the next character The character distribution storage module 200u matching the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200 is extracted, A fifth step of performing the first step to the fourth step according to all the signature lists; .
또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법에 있어서, 상기 제 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 단계; 를 더 포함하는 것이 바람직하다.Also, in the method of searching for a network intrusion based on character distributed memory access according to yet another embodiment of the present invention, the fourth step may include a PSID_V table (PSID_V table) 210 identified in the third step The character scattered access device 100 reads the PSID_V table 210 of the move table 240 when the bit of the PSID_V table is '0' (bit of PSID_V table = '0' 4-1) extracting the SID information using the position information matched with the position bit value of the SID; .
또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 상기 제 4-1 단계 이후, 캐릭터 분산형 액세스 장치부(100)가 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인지 여부(Bit of Move table = '0')를 판단하는 제 4-2 단계; 를 더 포함하는 것이 바람직하다.In addition, in the method of searching for a network intrusion based on character distributed memory access according to yet another embodiment of the present invention, after the step 4-1, when the character scattered access device unit 100 receives a move table 240 (Bit of Move table = '0') of the position matched with the position bit value of the PSID_V table 210 of the PSID_V table 210 is determined to be '0'. .
또한, 본 발명의 또 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법은, 상기 제 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 단계; 를 더 포함하는 것이 바람직하다.In addition, the method for searching for a network intrusion based on character distributed memory access according to another embodiment of the present invention may further include, after step 4-2, a PSID_Valid table 210 of a move table 240 , The character scattered access device 100 moves to the determined initial state SID, and then moves to the initial state SID of the storage device 200 corresponding to the next character The character distribution storage module 200u matching the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n is extracted and the first through A fourth step of performing the process of the fourth step according to all the signature lists; .
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템은, 제 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, according to an embodiment of the present invention, there is provided a system for searching for a network intrusion based on character distributed memory access, comprising: a first character distribution storage module 200u-1 to an nth character distribution storage module 200u- (n is a natural number equal to or greater than 2 and equal to or different from the entire configuration character); And a PSID (Pre-State ID) for the extracted character are extracted, and the first character distribution storage module 200u-1 to the nth character storage module 200u-1 of the storage unit 200 extracts a character corresponding to the first character of the signature, The character distribution storage module 200u matching the characters extracted from the character distribution storage module 200u-n is extracted and signature detection is performed for each character to perform character access memory access distribution on the storage unit 200 A character dispersed access device unit 100; . ≪ / RTI >
본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법은, 스테이트 트랜젝션 테이블(State transition table)을 하나의 메모리에 저장하고 스테이트에 따라 하나의 메모리를 액세스하는 기존의 방식을 스테이트 트랜젝션 테이블을 캐릭터 별 테이블로 나누고 분산 저장하여 캐릭터에 따라 각 해당하는 캐릭터 별 테이블을 액세스하는 방식으로 전환함으로써, 시그니처와 PCRE 탐색의 효율성을 획기적으로 향상시킬 수 있는 효과를 제공한다. A network intrusion detection system based on a character distributed memory access and a method thereof according to an embodiment of the present invention includes a state transition table storing unit for storing a state transition table in one memory, By dividing the state transaction table into character-by-character tables, and storing the character-by-character table in a distributed manner, the signature and PCRE search efficiency can be dramatically improved.
뿐만 아니라, 본 발명의 다른 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법은, 캐릭터별 메모리 분산을 통한 보틀넥(bottleneck) 문제를 해결하면서도 전이함수를 설정과 동일한 기능을 수행하는 특정 스테이트 넘버에 대한 루프(loop) 또는 초기 스테이트 넘버로의 이동도 함께 해결할 수 있는 효과를 제공한다. In addition, the system for searching for a network intrusion based on character scattered memory access and the method thereof according to another embodiment of the present invention solve the bottleneck problem through memory distribution for each character, It is also possible to solve the problem of moving to a loop or an initial state number for a specific state number to be performed.
도 1은 종래의 시그니처와 PCRE 탐색 프로세서(10)에 의한 메모리 보틀넥 현상을 설명하기 위한 도면이다. FIG. 1 is a view for explaining a conventional bottleneck phenomenon by a signature and a PCRE search processor 10. FIG.
도 2는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템을 나타내는 도면이다. 2 is a diagram illustrating a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 PSID_V 테이블(PSID_Valid table)(210)의 구성을 나타내는 도면이다. 3 illustrates a configuration of a PSID_Valid table 210 formed in a character distribution storage module 200u of a storage unit 200 of a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention. Fig.
도 4는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 VC 테이블(Valid Count table)(220)과 SID(State ID) 테이블(SID table)(230)의 구성을 나타내는 도면이다. FIG. 4 is a block diagram illustrating a VC table (Valid Count table) 220 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (State ID) table (SID table) 230 shown in FIG.
도 5는 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 중 저장 장치부(200)의 캐릭터 분산 저장모듈(200u)에 형성된 무브 테이블(Move table)(240)의 구성과, 무브 테이블(Move table)(240)과 SID_V 테이블(PSID_Valid table)(210)의 관계를 나타내는 도면이다. 5 is a diagram illustrating a configuration of a move table 240 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (Move table) 240 and a SID_V table (PSID_Valid table) 210. In the example of FIG.
도 6은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법을 나타내는 흐름도이다. FIG. 6 is a flowchart illustrating a method of searching for a network intrusion based on a character distributed memory access according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention can be variously modified and may have various embodiments, and specific embodiments will be described in detail with reference to the drawings. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.Terms including ordinals, such as first, second, etc., may be used to describe various elements, but the elements are not limited to these 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 a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, 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 commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be construed as ideal or overly formal in meaning unless explicitly defined in the present application Do not.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템 및 그 방법의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. In this process, the thicknesses of the lines and the sizes of the components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, the terms described below are defined in consideration of the functions of the present invention, which may vary depending on the intention or custom of the user, the operator. Therefore, definitions of these terms should be made based on the contents throughout this 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 a character distributed memory access according to an embodiment of the present invention. 3 illustrates a configuration of a PSID_Valid table 210 formed in a character distribution storage module 200u of a storage unit 200 of a network intrusion detection system based on a character distributed memory access according to an embodiment of the present invention. Fig. FIG. 4 is a block diagram illustrating a VC table (Valid Count table) 220 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (State ID) table (SID table) 230 shown in FIG. 5 is a diagram illustrating a configuration of a move table 240 formed in the character distribution storage module 200u of the storage unit 200 among the network intrusion detection systems based on the character distributed memory access according to the embodiment of the present invention, (Move table) 240 and a SID_V table (PSID_Valid table) 210. In the example of FIG.
먼저, 도 2를 참조하면, 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템(1)은 2개의 큰 구성요소로 캐릭터 분산형 액세스 장치부(100) 및 저장 장치부(200)를 포함할 수 있다. 2, the network intrusion detection system 1 based on character scattered memory access may include a character scattered access device unit 100 and a storage unit 200 as two large components .
그리고, 캐릭터 분산형 액세스 장치부(100)는 송수신부(110), 제어부(120) 및 입출력 I/F(Input/Output Interface)(130)를 구비하며, 제어부(120)는 캐릭터 추출모듈(121), 스테이트 검색 모듈(122), 제 1 진행 스테이트 추출 모듈(123) 및 제 2 진행 스테이트 추출 모듈(124)로 이루어질 수 있다. The character dispersed access unit 100 includes a transceiver unit 110, a control unit 120 and an input / output interface 130. The control unit 120 includes a character extraction module 121 ), A state search module 122, a first progress state extraction module 123, and a second progress state extraction module 124.
그리고 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In this specification, a module may mean a functional and structural combination of hardware for carrying out 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 executing the predetermined code, and it does not necessarily mean a physically connected code or a kind of hardware. Can be easily deduced to the average expert in the field of < / RTI >
한편, 저장 장치부(200)는 비휘발성 메모리(Non-volatile memory, NVM)로써 전원이 공급되지 않아도 저장된 데이터를 계속 유지하며 삭제되지 않으며, 플래시 메모리(Flash Memory), MRAM(Magnetic Random Access Memory), PRAM(Phase-change Random Access memory: 상변화 램), FRAM(Ferroelectric RAM: 강유전체 램) 등으로 구성되거나 휘발성 메모리, 그 밖의 메모리 저장장치로 변형 가능하다.Meanwhile, the storage unit 200 is a non-volatile memory (NVM) that does not lose power even if power is not supplied, and is not deleted, and may be a flash memory, an MRAM (Magnetic Random Access Memory) , Phase-change random access memory (PRAM), ferroelectric random access memory (FRAM), or volatile memory or other memory storage devices.
그리고, 저장 장치부(200)는 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분될 수 있다. The storage unit 200 logically stores the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n (where n is a natural number equal to or different from that of the entire configuration character) Can be distinguished.
이하에서는 캐릭터 분산형 액세스 장치부(100)의 제어부(120) 구성요소를 중심으로 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템에 대해서 구체적으로 살펴보도록 한다.Hereinafter, a character intrusion detection system based on a character dispersed type memory access will be described in detail with reference to components of the control unit 120 of the character scattered access device 100. FIG.
캐릭터 추출모듈(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)를 제어할 수 있다. The character extracting module 121 extracts an n-tuple (m-tuple) m (m-tuple) when a packet, a payload or user data is inputted from an external communication network or an external device through the transceiver 110 (N is a natural number equal to or different from n), and generates a packet ID, extracts a character corresponding to the first character of the signature among the character strings extracted from the payload or the user data The extracted character, and the PSID (Pre-State ID) and the packet ID for the extracted character to the PSID state search module 122. To this end, the character extraction module 121 may have a separate memory storing the first character of the previously registered signature, or may be provided with access to the storage unit 200 in which the first character of the previously registered signature is stored in advance ) To control the input / output I / F 130 to detect whether the input / output I / F 130 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 search module 122 receives the packet ID, the character, and the PSID (Pre-State ID) extracted by the character extraction module 121 and then transmits the first character distribution storage module 200u- 1) to the nth character distribution storage module 200u-n. The character distribution storage module 200u matches the character extracted from the nth character distribution storage module 200u-n. The state search module 122 then searches for a character extracted from the state number corresponding to the PSID in the PSID_V table 210 (FIG. 3B) included in the extracted character distribution storage module 200u, (1, 0) to indicate whether there is a progress state number or a SID (State number ID) corresponding to the number 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 search module 122 accesses the PSID_Valid table 210 with the received PSID (Pre-State ID) bits to check whether the PSID location is available ('1') , It is possible to search whether or not the character for 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) 현상을 해소하는 기능을 제공한다. Meanwhile, the PSID_Val table 210 is a table in which each character string on a state transition table generated for searching for a signature in a conventional NFA (Non-deterministic Finite Automata) or DFA (Deterministic Finite Automata) (1, 0) information for notifying the presence or absence of a state number or a SID (State number ID) for each cell to be extracted and rearranged, By constructing a table for each character constituting each state transition table, it is possible to arrange a state transaction in the storage unit 200 corresponding to one memory device by the character distributed access device unit 100, By allowing distribution to be performed by accessing each character-specific table rather than accessing a table (state transition table), a memory bottleneck (Memory 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 값을 추출할 수 있다.The first progress state extraction module 123 extracts the PSID_V table 210 from the PSID_V table 210 if the bit of the PSID position of the PSID_V table 210 is '1' (bit of PSID_V table = '1' A valid table 220 (see FIG. 4A) corresponding to a row matched with the summed number is added to the number of '1' s to a corresponding bit in the row corresponding to the PSID value, (SID) table (SID table) 230 (see FIG. 4B), which is summed and matched with the value of the SID table 230 (see FIG.
여기서, 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 값으로 추출할 수 있도록 한다. The SID table 230 is stored together with the VC table 220 in the character distribution storage module 200u extracted by the state search module 122 so that the SID_V table (PSID_V table) (VC table) 220 to the corresponding bit in the row corresponding to the PSID value of the table 210 and sets the value as a Match value. The SID of the column corresponding to the Match value So that the value can be extracted as the SID value corresponding to the proceeding state number to be processed next.
즉, 제 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 to analyze Match ('1': match) information and SID information, and then transmits SID information together with the packet ID To the character extraction module 121, so that the above-described process for the next character corresponding to the signature can be performed.
보다 구체적으로, 제 1 진행 스테이트 추출 모듈(123)은 SID 정보를 캐릭터 추출모듈(121)로 제공함으로써, 캐릭터 추출모듈(121)의 제어에 따라 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출한 뒤, 추출된 정보를 패킷 ID와 함께 스테이트 검색 모듈(122)로 제공하도록 할 수 있다. More specifically, the first progress state extracting module 123 provides the SID information to the character extracting module 121 so that the SID information is converted into the PSID information according to the control of the character extracting module 121, The character distribution storage module 200u matching the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the unit 200 is extracted, To the state search module 122 together 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)로 제공함으로써, 시그니처에 해당하는 다음 캐릭터에 추가 과정을 진행할 수 있도록 한다. The second progress state extracting module 124 determines whether the bit of the PSID position of the PSID_V table 210 is '0' (bit of PSID_V table = '0'), (SID) information to the packet ID and character extraction module 121 by using the position information matched with the position bit value of the PSID_V table 210 of the PSID_V table (FIG. 5B), thereby adding the SID information to the next character corresponding to the signature .
여기서 무브 테이블(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 (mxl) of the PSID_V table 210, so that the PSID_V table 210 corresponding to the order of the received PSID (Pre-State ID) ), If there is no progress state number in the PSID bit of '0' (bit of PSID_V table = '0'), then to return to the state number corresponding to the initial state SID and the repetition of the inputted PSID, A cell can be created with 1 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, the second progress state extraction module 124 should proceed to the next initial state SID if the value extracted from the move table 240 is '0' (bit of Move table = '0') If the value extracted from the move table 240 is '1' (bit of Move table = '1'), the character extraction module 121 may provide the SID value corresponding to the progress state number. The present invention provides an effect of setting a transition function while solving the bottleneck problem through memory distribution by character by providing the input PSID to the character extraction module 121 (keep now state).
도 6은 본 발명의 실시예에 따른 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법을 나타내는 흐름도이다. 도 6을 참조하면, 캐릭터 분산형 액세스 장치부(100)는 외부로부터 수신된 데이터의 패킷 ID를 생성한 뒤, 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고 한다(S11).FIG. 6 is a flowchart illustrating a method of searching for a network intrusion based on a character distributed memory access according to an embodiment of the present invention. 6, the character scattered access device 100 generates a packet ID of data received from the outside, extracts a character corresponding to the first character of the signature, and then generates a PSID (Pre- State ID) is extracted (S11).
단계(S11) 이후, 캐릭터 분산형 액세스 장치부(100)는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출한다(S12).After the step S11, the character scattered access device 100 acquires the characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200 The character distribution storage module 200u is extracted (S12).
단계(S12) 이후, 캐릭터 분산형 액세스 장치부(100)는 추출된 캐릭터 분산 저장모듈(200u)의PSID_V 테이블(PSID_Valid table)(210))에서, PSID에 해당하는 스테이트 넘버에서 추출된 캐릭터에 대해서 다음 스테이트 넘버에 해당하는 진행 스테이트 넘버 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보를 확인한다(S13).After step S12, the character scattered access device 100 reads the character extracted from the state number corresponding to the PSID in the PSID_V table 210 of the extracted character distribution storage module 200u (1, 0) information for informing whether there is a progress state number or a SID (State number ID) corresponding to the next state number (S13).
단계(S13) 이후, 캐릭터 분산형 액세스 장치부(100)는 단계(S13)에서 확인된 1 비트의 정보가 “1"인지 여부를 판단한다(S14).After step S13, the character scattered access device unit 100 determines whether the information of 1 bit identified 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, if the bit of the PSID position of the PSID_V table 210 identified in step S13 is '1' (bit of PSID_V table = '1'), unit 100 PSID_V table (PSID_V table) (210) behind one of summing the row corresponding to the PSID values the number of '1' to the corresponding bit (bit), VC for the matching and the summed number row The SID value on the SID table 230 is summed with the value of the VC table 220 in step S15.
단계(S15) 이후, 캐릭터 분산형 액세스 장치부(100)는 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 단계(S11) 내지 단계(S15)의 과정을 모든 시그니처 목록에 따라 수행한다(S16).After step S15, the character scattered access device 100 transmits SID information as PSID information to the first character distribution storage module 200u-1 to the n-th character disperse storage module 200u-1 of the storage unit 200 corresponding to the next character The character distribution storage module 200u that matches the character extracted from the storage module 200u-n is extracted and the process of steps S11 to S15 for the next character is performed according to all the 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 is '0' (bit of PSID_V table = '0') as a result of the determination of step S14, The distributed access device 100 extracts the SID information using position information matching the position bit value of the PSID_V table 210 among the move table 240 in step S17.
단계(S17) 이후, 캐릭터 분산형 액세스 장치부(100)는 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인지 여부(Bit of Move table = '0')를 판단한다(S19).After step S17, the character scattered access device 100 checks whether the bit value of the position matched with the position bit value of the PSID_V table 210 of the MOVE table 240 is "0" (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).If the bit value of the position matched with the position bit value of the PSID_V table 210 of the MOVE table 240 is "0 " as a result of the determination of step S19, The first and second character distributing and storing modules 200u-1 to 200u-n of the storage unit 200 corresponding to the next character The character distribution storage module 200u matching the extracted character is extracted and the process of steps S11 to S15 for the next character is performed according to all the 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, if it is determined in step S19 that the bit value of the position matched with the position bit value of the PSID_V table 210 of the MOVE table 240 is "1 & The access device unit 100 moves to the PSID extracted in step S11 and then transmits the PSID to the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-1 of the storage unit 200 corresponding to the next character The character distribution storage module 200u matching the character extracted from the character extraction unit 200u-n is extracted and the process of step S11 to step S15 for the next character is performed according to all the signature lists at step S21.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) .
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.As described above, preferred embodiments of the present invention have been disclosed in the present specification and drawings, and although specific terms have been used, they have been used only in a general sense to easily describe the technical contents of the present invention and to facilitate understanding of the invention , And are not intended to limit the scope of the present invention. It is to be understood by those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

Claims (8)

  1. 저장 장치부(200)를 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분하는 제 1 단계; 및 The storage unit 200 is logically divided into the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n (n is equal to or more than 2 as a whole constituent character) A first step; And
    시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고, 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 각 캐릭터별 시그니처 탐지를 수행하여 저장 장치부(200) 상에 캐릭터별 메모리 액세스 분산을 수행하는 제 2 단계; 를 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.The PSID (Pre-State ID) of the extracted character is extracted after the character corresponding to the first character of the signature is extracted, and the first character distribution storage module 200u-1 to the nth character A character distributing and storing module 200u that matches a character extracted from the distributed storage module 200u-n is extracted to perform signature detection for each character to distribute memory access for each character on the storage unit 200 Step 2; The method comprising the steps of: (a) searching for a network intrusion based on a character distributed memory access.
  2. 캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하는 제 1 단계;A first step of extracting a character corresponding to a first character of the signature and a PSID (Pre-State ID) of the extracted character after the character scatter access device unit 100 extracts the character corresponding to the first character of the signature;
    캐릭터 분산형 액세스 장치부(100)가 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하는 제 2 단계;The character dispersed access device unit 100 may be a character distributed storage device that matches characters extracted from the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200, A second step of extracting the module 200u;
    캐릭터 분산형 액세스 장치부(100)가 추출된 캐릭터 분산 저장모듈(200u)의PSID_V 테이블(PSID_Valid table)(210))에서, PSID에 해당하는 스테이트 넘버에서 추출된 캐릭터에 대해서 다음 스테이트 넘버에 해당하는 진행 스테이트 넘버 또는 SID(State number ID)의 존재 여부를 알리기 위한 1 비트(1, 0)의 정보를 확인하는 제 3 단계; 및 Corresponding to the state number corresponding to the state number corresponding to the PSID in the PSID_Valid table 210 of the character scatter distributed storage module 200u from which the character scattered access unit 100 is extracted A third step of verifying information of 1 bit (1, 0) for informing whether a progress state number or SID (State number ID) exists; And
    캐릭터 분산형 액세스 장치부(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 단계; 를 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.When the character scattered access device 100 determines that 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'), the PSID_V table (VC table) 220 corresponding to a row matched with the summed numbers after summing the number of '1' s to the corresponding bit in the row corresponding to the PSID value of the PSID_V table 210 (SID) table 230, which is a sum of the SID value and the SID value; The method comprising the steps of: (a) searching for a network intrusion based on a character distributed memory access.
  3. 청구항 2에 있어서, 상기 제 1 단계는, The method according to claim 2,
    캐릭터 분산형 액세스 장치부(100)가 시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출 전에 데이터의 패킷 ID를 생성하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.Characterized in that the character scattered access device (100) generates a packet ID of data before extracting a character corresponding to the first character of the signature.
  4. 청구항 3에 있어서, 상기 제 4 단계 이후,4. The method of claim 3,
    캐릭터 분산형 액세스 장치부(100)가 SID 정보를 PSID 정보로 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 5 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.The character dispersed access device unit 100 stores the SID information as the PSID information in the first character distribution storage module 200u-1 to the nth character distribution storage module 200u-n of the storage unit 200 corresponding to the next character A fifth step of extracting the character distribution storage module 200u matching the extracted character and performing the first to fourth steps for the next character according to all the signature lists; Further comprising the step of: detecting a network intrusion based on a character distributed memory access.
  5. 청구항 3에 있어서, 상기 제 4 단계는,4. The method of claim 3,
    상기 제 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 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.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 dispersed access device unit 100 (4-1) extracting SID information using position information matched with a position bit value of a PSID_V table (210) among a move table (240); Further comprising the step of: detecting a network intrusion based on a character distributed memory access.
  6. 청구항 5에 있어서, 상기 제 4-1 단계 이후, [6] The method of claim 5,
    캐릭터 분산형 액세스 장치부(100)가 무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인지 여부(Bit of Move table = '0')를 판단하는 제 4-2 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.The character scattered access device 100 checks whether the bit value of the position matched with the position bit value of the PSID_V table 210 among the move table 240 is " table = " 0 "); Further comprising the step of: detecting a network intrusion based on a character distributed memory access.
  7. 청구항 6에 있어서, 상기 제 4-2 단계 이후, The method as claimed in claim 6,
    무브 테이블(Move table)(240) 중 PSID_V 테이블(PSID_Valid table)(210)의 위치 비트 값과 매칭되는 위치의 비트 값이 "0"인 경우, 캐릭터 분산형 액세스 장치부(100)가 정해진 초기 상태 SID로 이동한 뒤, 다음 캐릭터에 해당하는 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 다음 캐릭터에 대한 상기 제 1 단계 내지 상기 제 4 단계의 과정을 모든 시그니처 목록에 따라 수행하는 제 4-3 단계; 를 더 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 방법.When the bit value of the position matched with the position bit value of the PSID_V table 210 is "0" among the move table 240, the character scattered access device 100 sets the initial state SID, and then the characters dispersed and stored in the first character distribution storage module 200u-1 through the nth character distribution storage module 200u-n of the storage unit 200 corresponding to the next character A fourth step of extracting the storage module 200u and performing the first through fourth steps for the next character according to all the signature lists; Further comprising the step of: detecting a network intrusion based on a character distributed memory access.
  8. 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)(n은 2 이상으로 전체 구성 캐릭터와 같거나 다른 자연수)로 논리적으로 구분되는 저장 장치부(200); 및 A storage unit 200 logically divided into a first character distributed storage module 200u-1 to an nth character distributed storage module 200u-n (n is equal to or more than 2 as a whole constituent character); And
    시그니처의 첫 캐릭터에 해당하는 캐릭터를 추출한 뒤, 추출된 캐릭터에 대한 PSID(Pre-State ID)를 추출하고, 저장 장치부(200)의 제 1 캐릭터 분산 저장모듈(200u-1) 내지 제 n 캐릭터 분산 저장모듈(200u-n)에서 추출된 캐릭터와 매칭되는 캐릭터 분산 저장모듈(200u)을 추출하여 각 캐릭터별 시그니처 탐지를 수행하여 저장 장치부(200) 상에 캐릭터별 메모리 액세스 분산을 수행하는 캐릭터 분산형 액세스 장치부(100); 를 포함하는 것을 특징으로 하는 캐릭터 분산형 메모리 액세스 기반의 네트워크 침입 탐색 시스템. The PSID (Pre-State ID) of the extracted character is extracted after the character corresponding to the first character of the signature is extracted, and the first character distribution storage module 200u-1 to the nth character A character distributing and storing module 200u that matches a character extracted from the distributed storage module 200u-n is extracted to perform signature detection for each character and a character for performing character access memory access distribution on the storage unit 200 A distributed access device part (100); Wherein the network intrusion detection system is based on a character distributed memory access.
PCT/KR2018/016976 2018-01-12 2018-12-31 Character distribution-type memory access-based network intrusion detection system and method therefor WO2019139295A1 (en)

Applications Claiming Priority (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
KR10-2018-0004219 2018-01-12

Publications (1)

Publication Number Publication Date
WO2019139295A1 true WO2019139295A1 (en) 2019-07-18

Family

ID=67218647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/016976 WO2019139295A1 (en) 2018-01-12 2018-12-31 Character distribution-type memory access-based network intrusion detection system and method therefor

Country Status (2)

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

Citations (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
US20170010931A1 (en) * 2015-07-08 2017-01-12 Cisco Technology, Inc. Correctly identifying potential anomalies in a distributed storage system

Patent Citations (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
US20170010931A1 (en) * 2015-07-08 2017-01-12 Cisco Technology, Inc. Correctly identifying potential anomalies in a distributed storage system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DEREK PAO: "Pipelined Architecture for Multi-String Matching", IEEE COMPUTER ARCHITECTURE LETTERS, vol. 7, no. 2, 6 June 2008 (2008-06-06), pages 33 - 36, XP011266547 *
LIN TAN: "A High Throughput String Matching Architecture for Intrusion Detection and Prevention", 32ND INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA'05, 20 June 2005 (2005-06-20), pages 112 - 122, XP010807899 *
MUHAMMAD JAMSHED: "Kargus: A Highly-scalable Software-based Intrusion Detection System", 19TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'' 12, 9 August 2012 (2012-08-09), XP055625224 *

Also Published As

Publication number Publication date
KR20190086107A (en) 2019-07-22
KR102055326B1 (en) 2019-12-13

Similar Documents

Publication Publication Date Title
CN103733590B (en) Compiler for regular expressions
US9514246B2 (en) Anchored patterns
US20230041014A1 (en) Data pattern analysis using optimized deterministic finite automaton
US20210019406A1 (en) System and method of allocating computer resources for detection of malicious files
Wang et al. Shield: Vulnerability-driven network filters for preventing known vulnerability exploits
JP4855400B2 (en) Method and system for multi-pattern search
US7596809B2 (en) System security approaches using multiple processing units
US20040123117A1 (en) Validation for behavior-blocking system
US20130291111A1 (en) Method and Device for Program Identification Based on Machine Learning
US20050273450A1 (en) Regular expression acceleration engine and processing model
US20150040142A1 (en) Efficient dfa generation for non-matching characters and character classes in regular expressions
EP3474175B1 (en) System and method of managing computing resources for detection of malicious files based on machine learning model
CN104426909A (en) Generating a non-deterministic finite automata (NFA) graph for regular expression patterns with advanced features
US9038161B2 (en) Exploit nonspecific host intrusion prevention/detection methods and systems and smart filters therefor
CN107122657B (en) Database agent device for defending SQL injection attack
CN111787018A (en) Method, device, electronic equipment and medium for identifying network attack behaviors
CN111865996A (en) Data detection method and device and electronic equipment
CN110855715B (en) DOS attack and defense simulation method based on stochastic Petri network
WO2019139295A1 (en) Character distribution-type memory access-based network intrusion detection system and method therefor
CN103139169A (en) Virus detection system and method based on network behavior
US8145650B2 (en) Network of single-word processors for searching predefined data in transmission packets and databases
WO2011037321A2 (en) Windows kernel alteration searching method
WO2022270678A1 (en) Network intrusion detection system using determination delay for packets
CN104714995A (en) System and method to traverse a non-deterministic finite automata (NFA) graph generated for regular expression patterns with advanced features
CN117579385B (en) Method, system and equipment for rapidly screening novel WebShell flow

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18900213

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18900213

Country of ref document: EP

Kind code of ref document: A1