KR102006475B1 - Method and apparatus for detecting intrusion - Google Patents

Method and apparatus for detecting intrusion Download PDF

Info

Publication number
KR102006475B1
KR102006475B1 KR1020190006548A KR20190006548A KR102006475B1 KR 102006475 B1 KR102006475 B1 KR 102006475B1 KR 1020190006548 A KR1020190006548 A KR 1020190006548A KR 20190006548 A KR20190006548 A KR 20190006548A KR 102006475 B1 KR102006475 B1 KR 102006475B1
Authority
KR
South Korea
Prior art keywords
session
data packet
intrusion
data
intrusion detection
Prior art date
Application number
KR1020190006548A
Other languages
Korean (ko)
Inventor
배대한
전수원
조석래
Original Assignee
넷마블 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 넷마블 주식회사 filed Critical 넷마블 주식회사
Priority to KR1020190006548A priority Critical patent/KR102006475B1/en
Application granted granted Critical
Publication of KR102006475B1 publication Critical patent/KR102006475B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L61/2061
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Abstract

A method and apparatus for detecting intrusion are disclosed. According to the present invention, the method for detecting intrusion comprises the steps of: receiving a data packet; detecting whether an intrusion has occurred in the received data packet; assigning a data flag value corresponding to the intrusion occurrence to a data flag of the data packet when the intrusion is detected to occur; and reassembling data packets corresponding to a session identification (ID) of the data packet where the intrusion occurred.

Description

침입 감지 방법 및 장치{METHOD AND APPARATUS FOR DETECTING INTRUSION}≪ Desc / Clms Page number 1 > METHOD AND APPARATUS FOR DETECTING INTRUSION &

아래 실시예들은 침입 감지 기술에 관한 것이다.The following embodiments relate to intrusion detection techniques.

인터넷 서비스에서 침입 감지 시스템은 유입되는 데이터 패킷을 검사하여 해당 데이터 패킷에 대한 침입 또는 공격이 발생된 것을 확인하는 경우, 해당 데이터 패킷을 폐기하거나, 해당 데이터 패킷에 대한 정보를 데이터베이스화함으로써 추후 분석을 위한 데이터를 확보할 수 있다.In the Internet service, the intrusion detection system inspects an incoming data packet and discards the data packet when it detects an intrusion or an attack on the data packet. Data can be secured.

만약 공격 또는 침입을 위한 데이터 코드의 길이가 긴 경우, 이전 방식을 토대로 한다면, 공격을 받은 데이터 패킷에 드러나는 일부 데이터 코드만을 분석할 수 있고, 해당 데이터 패킷 이전 또는 이후의 데이터 패킷에 대한 분석을 진행할 수 없어 공격을 위한 데이터 코드에 대한 정확한 분석이 제한될 수 있다.If the length of the data code for an attack or intrusion is long, based on the previous method, only a part of the data code exposed in the attacked data packet can be analyzed, and the analysis of the data packet before or after the corresponding data packet And therefore accurate analysis of the data code for the attack may be limited.

일 실시예에 따른 세션 기반의 침입 감지 방법은 데이터 패킷을 수신하는 단계; 상기 수신한 데이터 패킷에 침입이 발생하였는지 여부를 감지하는 단계; 상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷의 데이터 플래그에 상기 침입 발생에 대응하는 데이터 플래그 값을 할당하는 단계; 및 상기 침입이 발생한 데이터 패킷의 세션 ID(identification; ID)에 대응되는 데이터 패킷들을 재조합하는 단계를 포함할 수 있다.A session-based intrusion detection method according to an exemplary embodiment includes receiving a data packet; Detecting whether an intrusion has occurred in the received data packet; Assigning a data flag value corresponding to the intrusion to a data flag of the data packet when the intrusion is detected to have occurred; And reassembling data packets corresponding to a session ID (ID) of a data packet in which the intrusion has occurred.

일 실시예에 따른 세션 기반의 침입 감지 방법은 상기 데이터 패킷을 전처리하는 단계를 더 포함하고, 상기 데이터 패킷을 전처리하는 단계는 상기 데이터 패킷에 대한 세션 ID를 생성하는 단계; 상기 세션 ID가 세션 풀(session pool)에 존재하는지 여부를 결정하는 단계; 및 상기 세션 ID가 상기 세션 풀에 존재하는 것으로 결정된 경우, 상기 데이터 패킷 및 상기 세션 ID의 관계에 기초하여, 상기 세션 풀 상의 상기 세션 ID에 대한 정보를 업데이트하는 단계를 포함할 수 있다.The session-based intrusion detection method according to an exemplary embodiment of the present invention further includes a step of preprocessing the data packet, wherein the step of preprocessing the data packet comprises: generating a session ID for the data packet; Determining whether the session ID is in a session pool; And updating information on the session ID on the session pool based on the relationship of the data packet and the session ID if the session ID is determined to exist in the session pool.

일 실시예에 따른 상기 세션 ID를 생성하는 단계는 상기 데이터 패킷에 대한 해쉬 값을 생성하는 단계; 및 상기 해쉬 값에 기초하여 상기 세션 ID를 생성하는 단계를 포함할 수 있다.The step of generating the session ID according to an exemplary embodiment of the present invention includes: generating a hash value for the data packet; And generating the session ID based on the hash value.

일 실시예에 따른 세션 기반의 침입 감지 방법에서 상기 세션 ID가 상기 세션 풀에 존재하지 않는 것으로 결정된 경우, 상기 세션 ID를 상기 세션 풀에 등록하는 단계를 더 포함할 수 있다.In the session-based intrusion detection method according to an exemplary embodiment, when the session ID is determined not to exist in the session pool, the session ID may be registered in the session pool.

일 실시예에 따른 상기 감지하는 단계는 미리 정의된 시그니처가 상기 데이터 패킷의 페이로드와 매칭되는지 여부를 결정하는 단계; 및 상기 시그니처가 상기 데이터 패킷의 페이로드에 매칭되는 것으로 결정된 경우, 매칭 결과에 기초하여 상기 데이터 패킷의 데이터 플래그에 상기 침입 발생에 대응하는 데이터 플래그 값을 할당하는 단계를 포함할 수 있다.The sensing according to an embodiment may include determining whether a predefined signature matches a payload of the data packet; And if the signature is determined to match the payload of the data packet, assigning a data flag value corresponding to the intrusion to the data flag of the data packet based on the matching result.

일 실시예에 따른 상기 재조합하는 단계는 상기 세션 ID에 대응되는 데이터 패킷들을 검색하는 단계; 상기 검색된 데이터 패킷의 데이터 플래그 값들에 기초하여 누적 값을 산출하는 단계; 및 상기 누적 값이 미리 설정된 조건을 만족하는 경우, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합하는 단계를 포함할 수 있다.The reconfiguring step according to an exemplary embodiment of the present invention includes: retrieving data packets corresponding to the session ID; Calculating an accumulated value based on data flag values of the searched data packet; And reassembling data packets corresponding to the session ID if the accumulated value satisfies a predetermined condition.

일 실시예에 따른 세션 기반의 침입 감지 방법은 데이터 패킷을 수신하는 단계; 상기 데이터 패킷에 침입이 발생하였는지 여부를 감지하는 단계; 및 상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷 및 상기 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들을 데이터베이스에 저장하는 단계를 포함할 수 있다.A session-based intrusion detection method according to an exemplary embodiment includes receiving a data packet; Detecting whether an intrusion has occurred in the data packet; And storing the data packet and other data packets corresponding to the same session as the data packet in the database when the intrusion is detected to have occurred.

일 실시예에 따른 상기 저장하는 단계는 상기 데이터 패킷 및 상기 다른 데이터 패킷들을 재조합하는 단계; 및 상기 재조합된 데이터 패킷들을 상기 데이터베이스에 저장하는 단계를 포함할 수 있다.The storing according to an embodiment includes the steps of: recombining the data packet and the other data packets; And storing the reconfigured data packets in the database.

일 실시예에 따른 침입 감지 방법에서 상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷에 포함된 데이터 플래그에 상기 침입에 대응하는 데이터 플래그 값을 할당하는 단계를 더 포함할 수 있다.The method may further include the step of assigning a data flag value corresponding to the intrusion to a data flag included in the data packet when the intrusion is detected to have occurred in the intrusion detection method according to an exemplary embodiment.

일 실시예에 따른 세션 기반으로 데이터 패킷에 침입을 감지하는 침입 감지 장치는 메모리 및 프로세서를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하고, 상기 프로세서는 데이터 패킷을 수신하고, 상기 수신된 데이터 패킷에 침입이 발생하였는지 여부를 감지하고, 상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷의 데이터 플래그에 상기 침입의 발생에 대응하는 데이터 플래그 값을 할당하고, 상기 침입이 발생한 데이터 패킷의 세션 ID(identification; ID)에 대응되는 데이터 패킷들을 재조합할 수 있다.An intrusion detection device that detects an intrusion into a data packet based on a session according to an embodiment includes a memory and a processor, the memory storing instructions executable by the processor, Detecting whether an intrusion has occurred in the received data packet, assigning a data flag value corresponding to the occurrence of the intrusion to a data flag of the data packet when the intrusion is detected, The data packets corresponding to the session identification (ID) of the generated data packet can be reassembled.

상기 프로세서는, 상기 데이터 패킷에 대한 해쉬 값을 생성하고, 상기 해쉬 값에 기초하여 상기 세션 ID를 생성할 수 있다.The processor may generate a hash value for the data packet and generate the session ID based on the hash value.

상기 프로세서는, 상기 데이터 패킷에 대한 세션 ID를 생성하고, 상기 데이터 패킷을 패킷 풀(packet pool)에 등록하고, 상기 세션 ID가 세션 풀(session pool)에 존재하는지 여부를 결정하고, 상기 세션 ID가 상기 세션 풀에 존재하는 것으로 결정된 경우, 상기 데이터 패킷 및 상기 세션 ID의 관계에 기초하여, 상기 세션 풀 상의 상기 세션 ID에 대한 정보를 업데이트할 수 있다.Wherein the processor is further configured to generate a session ID for the data packet, register the data packet in a packet pool, determine whether the session ID is in a session pool, May update information on the session ID on the session pool based on the relationship of the data packet and the session ID.

상기 프로세서는, 미리 정의된 시그니처가 상기 데이터 패킷의 페이로드와 매칭되는지 여부를 결정하고, 상기 시그니처가 상기 데이터 패킷의 페이로드에 매칭되는 것으로 결정된 경우, 매칭 결과에 기초하여 상기 데이터 패킷의 데이터 플래그에 상기 매칭 결과에 대응하는 데이터 플래그 값을 상기 데이터 패킷의 데이터 플래그에 할당할 수 있다.Wherein the processor is further configured to determine whether a predefined signature matches a payload of the data packet, and if the signature is determined to match the payload of the data packet, The data flag value corresponding to the matching result may be assigned to the data flag of the data packet.

상기 프로세서는, 상기 침입이 발생한 것으로 감지된 경우, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합하고, 상기 재조합된 데이터 패킷들을 데이터베이스에 저장할 수 있다.The processor can reassemble the data packets corresponding to the session ID and store the reconfigured data packets in the database when the intrusion is detected to have occurred.

상기 프로세서는, 상기 세션 ID에 대응되는 데이터 패킷들을 검색하고, 상기 검색된 데이터 패킷의 데이터 플래그 값들에 기초하여 누적 값을 산출하고, 상기 누적 값이 미리 설정된 조건을 만족하는 경우, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합할 수 있다.The processor searches for data packets corresponding to the session ID, calculates an accumulated value based on data flag values of the retrieved data packet, and when the accumulated value satisfies a preset condition, Lt; / RTI >

일 실시예에 따른 세션 기반의 침입 감지 장치는 메모리 및 프로세서를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하고, 상기 프로세서는 데이터 패킷을 수신하고, 상기 데이터 패킷에 침입이 발생하였는지 여부를 감지하고, 상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷 및 상기 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들을 데이터베이스에 저장할 수 있다.A session-based intrusion detection device in accordance with one embodiment includes a memory and a processor, the memory storing instructions executable by the processor, the processor receiving a data packet, If it is detected that the intrusion has occurred, store the data packet and other data packets corresponding to the same session as the data packet in the database.

상기 프로세서는, 상기 데이터 패킷 및 상기 다른 데이터 패킷들을 재조합하고, 상기 재조합된 데이터 패킷들을 상기 데이터베이스에 저장할 수 있다.The processor may reassemble the data packet and the other data packets, and store the reconfigured data packets in the database.

상기 프로세서는, 상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷의 데이터 플래그 값을 변경할 수 있다.The processor may change the data flag value of the data packet when the intrusion is detected to have occurred.

도 1은 일 실시예에 침입 감지 시스템의 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 침입 감지 장치에서 사용되는 데이터 패킷의 구조를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 침입 감지 장치가 수행하는 침입 감지 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 침입 감지 장치가 수신한 데이터 패킷에 대한 전처리를 수행하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 침입 감지 장치가 데이터 패킷에 대한 침입 발생 여부를 감지하는 방식을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 침입 감지 장치가 데이터 패킷에 대한 후처리를 수행하는 방식을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 침입 감지 장치가 침입이 발생한 데이터 패킷을 감지하는 방식을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 침입 감지 장치의 전체적인 구성을 도시하는 도면이다.
1 is a view for explaining the operation of an intrusion detection system in an embodiment.
2 is a view for explaining a structure of a data packet used in an intrusion detection apparatus according to an embodiment.
3 is a flowchart illustrating an intrusion detection method performed by the intrusion detection apparatus according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a method of performing a preprocessing on a data packet received by the intrusion detection apparatus according to an exemplary embodiment.
5 is a flowchart illustrating a method of detecting an intrusion of a data packet according to an exemplary embodiment of the present invention.
FIG. 6 is a flowchart illustrating a method of performing post-processing on a data packet according to an embodiment of the present invention.
FIG. 7 is a diagram for explaining a method of detecting a data packet in which an intrusion detection device according to an exemplary embodiment of the present invention occurs.
8 is a diagram showing the overall configuration of an intrusion detection apparatus according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.In the following, embodiments will be described in detail with reference to the accompanying drawings. However, various modifications may be made in the embodiments, and the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and alternatives to the embodiments are included in the scope of the right.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for descriptive purposes only and are not to be construed as limiting. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

도 1은 일 실시예에 침입 감지 시스템의 동작을 설명하기 위한 도면이다.1 is a view for explaining the operation of an intrusion detection system in an embodiment.

침입 감지 시스템은 네트워크를 통해 수집되는 데이터 패킷을 모니터링하여, 각각의 데이터 패킷에 외부의 침입(예를 들어, 악성 코드 등을 통한 공격)이 발생하였는지 여부를 감지하는 시스템을 의미할 수 있다. 침입 감지 시스템은 사전에 알려진 시그니처(signature)와 데이터 패킷의 페이 로드가 매칭되는지 여부에 기초하여 데이터 패킷에 침입이 발생하였는지 여부를 감지할 수 있다.The intrusion detection system may refer to a system that monitors data packets collected through a network and detects whether an intrusion (e.g., an attack via malicious code or the like) has occurred in each data packet. The intrusion detection system can detect whether an intrusion has occurred in a data packet based on a previously known signature and whether the payload of the data packet is matched.

침입 감지 시스템은 데이터 패킷에 침입이 감지되는 경우, 해당 데이터 패킷을 데이터베이스에 저장할 수 있다.The intrusion detection system can store the data packet in the database when an intrusion is detected in the data packet.

(a)에 도시된 기존의 침입 감지 시스템(110)은 유입되는 데이터 패킷들(111)을 미리 정의된 시그니처에 매칭함으로써 침입이 발생된 데이터 패킷(112)을 감지하고, 침입이 감지된 데이터 패킷(112)을 데이터베이스에 저장할 수 있다.the existing intrusion detection system 110 shown in FIG. 1A detects an intruded data packet 112 by matching the incoming data packets 111 to a predefined signature, Lt; RTI ID = 0.0 > 112 < / RTI >

침입 감지 시스템(110)은 침입이 감지된 데이터 패킷(112)을 기준으로 데이터 처리를 수행하고, 침입이 감지된 데이터 패킷(112)만을 데이터베이스에 저장한다. 침입 감지 시스템(110)은 데이터 패킷(112)이 수신되지 직전에 수신된 데이터 패킷 또는 직후에 수신된 데이터 패킷은 고려하지 않으므로, 침입 감지 시스템(110)을 통해 저장된 데이터를 통한 침입에 대한 분석은 제한이 따를 수 있다. 왜냐하면, 침입이 발생된 데이터 패킷(112)만을 분석하는 경우, 침입 과정에서 사용된 데이터 코드의 일부분 만을 확인할 수 있기 때문이다.The intrusion detection system 110 performs data processing based on the intrusion-detected data packet 112, and stores only the intrusion-detected data packet 112 in the database. Since the intrusion detection system 110 does not consider the data packet received immediately before or after the data packet 112 received the data packet 112, the analysis of the intrusion through the stored data through the intrusion detection system 110 There may be restrictions. This is because, when analyzing only the data packet 112 in which an intrusion has occurred, only a part of the data code used in the intrusion process can be identified.

일 실시예에 따른 침입 감지 시스템(120)은 유입되는 데이터 패킷들(121) 중 침입이 감지된 데이터 패킷(122)과 더불어 데이터 패킷(122)과 유사한 시기에 유입된 데이터 패킷들(123, 124, 125)에 대한 데이터를 데이터베이스에 저장할 수 있다. 침임 감지 시스템(120)을 통해 저장된 데이터를 통해 침입에 대한 분석은 보다 상세하게 이루어질 수 있다.The intrusion detection system 120 according to an exemplary embodiment of the present invention includes data packets 122 that are detected in the incoming data packets 121 as well as data packets 123 and 124 , ≪ / RTI > 125) can be stored in the database. The analysis of the intrusion through the stored data through the intrusion detection system 120 can be done in more detail.

일 실시예에 따른 침입 감지 시스템(120)은 세션(session) 단위로 수신한 데이터 패킷을 처리할 수 있다. 예를 들어, 침입 감지 시스템(120)은 미리 설정된 시간 동안에 수신되는 데이터 패킷을 동일한 세션에 대응되는 데이터 패킷으로 결정할 수 있다.The intrusion detection system 120 according to an exemplary embodiment may process a data packet received on a session basis. For example, the intrusion detection system 120 may determine a data packet received during a predetermined time as a data packet corresponding to the same session.

침입 감지 시스템(120)은 특정 세션에 대응되는 기간 동안 수신되는 데이터 패킷들(122, 123, 124, 125)을 메모리에 저장하고, 각각의 데이터 패킷들(122, 123, 124, 125)에 대한 침입 감지를 수행할 수 있다.The intrusion detection system 120 stores the received data packets 122, 123, 124, 125 for a period corresponding to a particular session and stores the received data packets 122, 123, 124, Intrusion detection can be performed.

침입 감지 시스템(120)은 동일한 세션에 대응되는 데이터 패킷들(122, 123, 124, 125) 중 적어도 하나의 데이터 패킷(122)에 침입이 감지된 경우, 해당 세션에 대응되는 모든 데이터 패킷들을 데이터베이스에 저장할 수 있다.When intrusion is detected in at least one of the data packets 122, 123, 124, and 125 corresponding to the same session, the intrusion detection system 120 detects all data packets corresponding to the session, Lt; / RTI >

침입 감지 시스템(120)은 세션에 대응되는 기간 동안 수집된 데이터 패킷들(122, 123, 124, 125) 모두에 대해 침입이 감지되지 않은 경우, 해당 세션에 대응하여 메모리에 저장된 데이터 패킷들(122, 123, 124, 125)을 폐기할 수 있다.If intrusion is not detected for all of the data packets 122, 123, 124, 125 collected during the period corresponding to the session, the intrusion detection system 120 may transmit the data packets 122 , 123, 124, 125) can be discarded.

침입 감지 시스템(120)은 침입이 감지된 데이터 패킷(122)뿐만 아니라 데이터 패킷(122)이 수신되는 시점의 이전 또는 이후에 수신한 데이터 패킷들(123, 124, 125)에 대한 정보를 제공함으로써 데이터 패킷에 대한 침입을 보다 용이하게 분석할 수 있는 수단을 제공할 수 있다.The intrusion detection system 120 provides information on the data packets 122 that have been detected as intrusions as well as data packets 123, 124, and 125 received before or after the time when the data packets 122 are received It is possible to provide a means for more easily analyzing the intrusion into the data packet.

도 2는 일 실시예에 따른 침입 감지 장치에서 사용되는 데이터 패킷의 구조를 설명하기 위한 도면이다.2 is a view for explaining a structure of a data packet used in an intrusion detection apparatus according to an embodiment.

일 실시예에 따른 침입 감지 장치는 수신되는 데이터 패킷(211, 212, 213, 214, 215, 216, 217)을 세션(210) 단위로 식별할 수 있고, 세션 단위로 식별된 데이터 패킷(211, 212, 213, 214, 215, 216, 217)에 기초하여 데이터 처리를 수행할 수 있다. 침입 감지 장치는 수신한 데이터 패킷(211, 212, 213, 214, 215, 216, 217)을 메모리에 저장하고, 저장된 데이터 패킷(211, 212, 213, 214, 215, 216, 217) 각각에 대한 침입을 감지할 수 있다. 침입 감지 장치는 세션(210) 동안 수신된 데이터 패킷(211, 212, 213, 214, 215, 216, 217) 모두에 대해 침입이 감지되지 않은 경우 메모리에 저장된 데이터 패킷(211, 212, 213, 214, 215, 216, 217)을 폐기할 수 있다.The intrusion detection apparatus according to an exemplary embodiment may identify received data packets 211, 212, 213, 214, 215, 216 and 217 in units of sessions 210 and may identify data packets 211, 212, 213, 214, 215, 216, 217). The intrusion detection device stores the received data packets 211, 212, 213, 214, 215, 216 and 217 in a memory and stores the received data packets 211, 212, 213, 214, 215, 216, Intrusion can be detected. The intrusion detection device may send a data packet 211, 212, 213, 214 stored in memory if no intrusion is detected for all of the data packets 211, 212, 213, 214, 215, 216, , 215, 216, 217) can be discarded.

일 실시예에 따르면, 세션(210)은 세션 ID(Session ID; SSID)에 기초하여 식별될 수 있다. 세션 ID는 세션(210)에 포함되는 데이터 패킷(211, 212, 213, 214, 215, 216, 217)에 포함된 데이터에 기초하여 생성될 수 있다. 예를 들어, 침입 감지 장치는 각각의 데이터 패킷(211, 212, 213, 214, 215, 216, 217) 각각의 5-tuple 정보에 기초하여 해쉬 값을 생성하고, 생성된 해쉬 값에 기초하여 데이터 패킷(211, 212, 213, 214, 215, 216, 217) 각각에 대응되는 세션 ID를 생성할 수 있다.According to one embodiment, the session 210 may be identified based on a Session ID (SSID). The session ID may be generated based on data contained in the data packets 211, 212, 213, 214, 215, 216, 217 included in the session 210. For example, the intrusion detection apparatus may generate a hash value based on the 5-tuple information of each of the data packets 211, 212, 213, 214, 215, 216, and 217, The session ID corresponding to each of the packets 211, 212, 213, 214, 215, 216, and 217 can be generated.

일 실시예에 따르면, 각각의 데이터 패킷(211, 212, 213, 214, 215, 216, 217)은 침입이 감지되었는지 여부와 관련한 정보를 나타내는 데이터 플래그를 포함할 수 있다. 데이터 플래그 값은 미리 정의된 시그니처와 데이터 패킷의 페이로드 사이의 패턴 매칭에 기초하여 할당될 수 있다. 예를 들어, 데이터 패킷의 페이로드와 미리 정의된 1개의 시그니처가 매칭되는 경우, 데이터 플래그 값은 '1'로 할당될 수 있고, 데이터 패킷의 페이로드와 매칭되는 시그니처가 존재하지 않는 경우, '0'에 해당하는 기본 값으로 데이터 플래그 값이 할당될 수 있다.According to one embodiment, each data packet 211, 212, 213, 214, 215, 216, 217 may include a data flag indicating information relating to whether an intrusion has been detected. The data flag value may be assigned based on a pattern match between the predefined signature and the payload of the data packet. For example, if the payload of the data packet matches one of the predefined signatures, the data flag value may be assigned a value of '1', and if there is no signature matching the payload of the data packet, A data flag value may be assigned as a basic value corresponding to '0'.

세션(210)에 대응되는 데이터 패킷(211, 212, 213, 214, 215, 216, 217) 중 적어도 하나의 데이터 패킷(214)에 대해 침입이 감지된 경우, 침입 감지 장치는 세션(210)에 대응하는 모든 데이터 패킷(211, 212, 213, 214, 215, 216, 217)을 데이터베이스에 저장할 수 있다. 침입 감지 장치는 데이터 패킷(211, 212, 213, 214, 215, 216)을 저장하는 과정에서 데이터 패킷에 대한 후처리를 수행할 수 있고, 구체적인 후처리 방식은 이후 첨부되는 도면을 통해 보다 상세히 설명된다.If an intrusion is detected for at least one data packet 214 of the data packets 211, 212, 213, 214, 215, 216, 217 corresponding to the session 210, All corresponding data packets 211, 212, 213, 214, 215, 216, 217 may be stored in the database. The intrusion detection device may perform post-processing on the data packet in the process of storing the data packets 211, 212, 213, 214, 215, and 216, and the specific post-processing method will be described in detail later do.

도 3은 일 실시예에 따른 침입 감지 장치가 수행하는 침입 감지 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating an intrusion detection method performed by the intrusion detection apparatus according to an exemplary embodiment of the present invention.

일 실시예에 따르면, 침입 감지 장치는 단계(310)에서 데이터 패킷을 수신할 수 있다. 침입 감지 장치는 단계(310)를 통해 수신한 데이터 패킷에 대한 전처리를 수행할 수 있다. 데이터 패킷에 대한 전처리는 데이터 패킷에 대응되는 세션 ID를 생성하고, 세션 ID에 대한 정보를 업데이트하는 과정으로, 구체적인 동작은 도 4를 통해 보다 상세하게 설명된다. According to one embodiment, the intrusion detection device may receive the data packet at step 310. [ The intrusion detection device may perform a preprocessing on the received data packet through step 310. [ The preprocessing for the data packet is a process of generating the session ID corresponding to the data packet and updating the information about the session ID, and the detailed operation will be described in detail with reference to FIG.

침입 감지 장치는 단계(330)에서 수신한 데이터 패킷에 침입이 발생하였는지 여부를 감지할 수 있다. 예를 들어, 침입 감지 장치는 미리 정의된 시그니처와 데이터 패킷의 페이로드 사이의 패턴 매칭을 통해 데이터 패킷에 침입이 발생되었는지 여부를 결정할 수 있다.The intrusion detection device can detect whether an intrusion has occurred in the data packet received in step 330. [ For example, the intrusion detection device can determine whether an intrusion has occurred to a data packet through pattern matching between the predefined signature and the payload of the data packet.

단계(350)에서의 침입 감지 장치는 단계(330)의 감지 결과에 기초하여 데이터 패킷에 포함된 데이터 플래그에 감지 결과에 대응되는 데이터 플래그 값을 할당할 수 있다. 예를 들어, 침입 감지 장치는 데이터 패킷에 침입이 발생되지 않은 것으로 감지된 경우, 데이터 패킷의 데이터 플래그 값을 '0'으로 할당할 수 있다. 침입 감지 장치는 1개의 시그니처에 데이터 패킷이 매칭되는 경우, 데이터 패킷의 데이터 플래그 값에 '1'을 할당할 수 있다.The intrusion detection apparatus in step 350 may assign a data flag value corresponding to the detection result to the data flag included in the data packet based on the detection result of step 330. [ For example, if the intrusion detection device detects that an intrusion into a data packet has not occurred, it can assign a data flag value of the data packet to '0'. The intrusion detection device can assign '1' to the data flag value of the data packet when the data packet is matched to one signature.

단계(370)에서 침입 감지 장치는 데이터 플래그 값이 할당된 데이터 패킷에 대한 후처리를 수행할 수 있다.In step 370, the intrusion detection device may perform post processing on the data packet to which the data flag value is assigned.

구체적으로, 침입 감지 장치는 수신한 데이터 패킷에 침입이 발생한 것으로 감지된 경우, 데이터 패킷의 세션 ID에 대응되는 데이터 패킷들을 재조합하고, 재조합된 데이터 패킷들을 데이터베이스에 저장할 수 있다. 데이터베이스에 저장된 재조합된 데이터 패킷들은 이후 침입에 대한 분석을 수행하는 과정에서 제공될 수 있다. 침입 감지 장치가 제공하는 침입이 발생한 것으로 감지된 데이터 패킷 및 해당 데이터 패킷 전후 시점에 수신된 데이터 패킷을 통해 보다 효과적인 침입 분석이 수행될 수 있다. 데이터 패킷들을 재조합하는 방식은 도 6을 통해 보다 상세하게 설명된다.Specifically, if the intrusion detection device detects that an intrusion has occurred in the received data packet, it can reassemble the data packets corresponding to the session ID of the data packet, and store the reconfigured data packets in the database. The reconfigured data packets stored in the database may be provided in the course of performing an analysis of subsequent intrusions. A more effective intrusion analysis can be performed through a data packet detected as an intrusion provided by the intrusion detection device and a data packet received before and after the corresponding data packet. The manner of recombining data packets is described in more detail in FIG.

또한, 침입 감지 장치는 일 세션 동안 수집되어 동일한 세션 ID에 대응되는 모든 데이터 패킷에서 침입이 감지되지 않은 경우, 해당 세션 ID에 대응되는 데이터 패킷을 데이터베이스에 저장하지 않고 폐기할 수 있다. 이를 통해 침입 감지 장치는 메모리 리소스를 보다 효율적으로 사용할 수 있다.In addition, if the intrusion detection device is not detected in all data packets collected during one session and corresponding to the same session ID, the intrusion detection device can discard the data packet corresponding to the session ID without storing it in the database. This allows the intrusion detection device to use memory resources more efficiently.

도 4는 일 실시예에 따른 침입 감지 장치가 수신한 데이터 패킷에 대한 전처리를 수행하는 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method of performing a preprocessing on a data packet received by the intrusion detection apparatus according to an exemplary embodiment.

일 실시예에 따르면, 침입 감지 장치는 단계(320)를 통해 수신한 데이터 패킷에 대한 전처리를 수행할 수 있다. 구체적으로, 침입 감지 장치는 단계(321)에서 침입 감지 장치는 수신한 데이터 패킷에 대한 세션 ID를 생성할 수 있다. 침입 감지 장치는 데이터 패킷에 포함된 정보를 통해 해쉬 값을 생성하고, 생성된 해쉬 값을 해당 데이터 패킷의 세션 ID로 설정할 수 있다. 예를 들어, 침입 감지 장치는 데이터 패킷의 5 튜플(tuple) 정보에 기초하여 해쉬 값을 생성할 수 있다.According to one embodiment, the intrusion detection device may perform preprocessing on the received data packet via step 320. [ Specifically, in step 321, the intrusion detection device may generate a session ID for the received data packet. The intrusion detection device may generate a hash value based on the information included in the data packet and set the generated hash value to the session ID of the corresponding data packet. For example, the intrusion detection device may generate a hash value based on five tuple information of a data packet.

단계(322)에서 침입 감지 장치는 데이터 패킷을 패킷 풀(packet pool)에 등록할 수 있다. 패킷 풀은 수신되는 데이터 패킷을 등록하기 위해 메모리 또는 데이터베이스에 미리 설정된 영역일 수 있다.In step 322, the intrusion detection device may register the data packet in a packet pool. The packet pool may be a memory or a preconfigured area in the database to register the received data packet.

단계(323)에서 침입 감지 장치는 생성된 세션 ID가 세션 풀(Session Pool)에 존재하는지 여부를 결정할 수 있다. 세션 풀은 세션 ID를 등록하기 위해 메모리 또는 데이터베이스에 설정된 영역일 수 있다.In step 323, the intrusion detection device may determine whether the generated session ID is in a session pool. The session pool may be an area set in the memory or database to register the session ID.

단계(323)에서 생성된 세션 ID가 세션 풀에 존재하지 않는 경우, 침입 감지 장치는 단계(324)를 통해 데이터 패킷에 대해 생성된 세션 ID를 세션 풀에 등록할 수 있다. 침입 감지 장치는 세션 ID를 세션 풀에 등록한 후, 단계(325)를 통해 세션 상태를 업데이트할 수 있다. 세션 상태는 세션 ID에 대응되는 데이터 패킷에 대한 정보에 기초하여 결정될 수 있다. 또한, 세션 상태는 TCP Flag 값에 기초하여 결정되고, TCP flag 값은 RFC(Request For Comments; RFC) 규약에 따라 정의될 수 있다.If the session ID generated in step 323 does not exist in the session pool, the intrusion detection device may register the session ID generated for the data packet in step 324 to the session pool. The intrusion detection device may update the session state via step 325 after registering the session ID in the session pool. The session state may be determined based on information on the data packet corresponding to the session ID. Also, the session state is determined based on the TCP Flag value, and the TCP flag value can be defined according to the RFC (Request For Comments) protocol.

단계(323)에서 생성된 세션 ID가 세션 풀에 존재하는 경우, 침입 감지 장치는 단계(325)를 통해 세션 상태를 업데이트할 수 있다. 예를 들어, 침입 감지 장치는 단계(322)를 통해 등록된 데이터 패킷이 세션 풀에 미리 저장된 세션 ID에 대응되도록 세션 상태를 업데이트할 수 있다.If the session ID generated in step 323 is present in the session pool, then the intrusion detection device may update the session state via step 325. For example, the intrusion detection device may update the session state through step 322 such that the registered data packet corresponds to a session ID previously stored in the session pool.

도 5는 일 실시예에 따른 침입 감지 장치가 수신한 데이터 패킷에 대한 침입 발생 여부를 감지하는 방식을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a method of detecting an intrusion of a data packet received by the intrusion detection apparatus according to an exemplary embodiment of the present invention.

도 5를 참조하면, 침입 감지 장치는 단계(331)를 통해 미리 정의된 시그니처와 데이터 패킷의 페이로드 사이의 패턴 매칭을 수행할 수 있다.Referring to FIG. 5, the intrusion detection device may perform pattern matching between the payload of the data packet and the predefined signature through step 331. [

단계(331)에서의 매칭 결과에 기초하여, 단계(333)에서 침입 감지 장치는 데이터 패킷에 침입 발생 여부를 감지할 수 있다. 예를 들어, 침입 감지 장치는 시그니처를 통해 미리 정의된 패턴(예를 들어 유해 공격과 관련된 패턴)이 패킷의 페이로드에 포함되어 있는지 여부를 바이트 단위로 비교하고, 시그니처를 통해 미리 정의된 패턴이 데이터 패킷의 페이로드에 포함되어 있는 경우, 해당 데이터 패킷에 침입이 발생한 것으로 감지할 수 있다.Based on the matching result in step 331, in step 333, the intrusion detection device may detect whether an intrusion has occurred in the data packet. For example, an intrusion detection device may compare a signature with a predefined pattern (e.g., a pattern associated with a harmful attack) in the payload of a packet and compare the signature with a predefined pattern If it is included in the payload of the data packet, it can be detected that an intrusion has occurred in the data packet.

도 6은 일 실시예에 따른 침입 감지 장치가 데이터 패킷에 대한 후처리를 수행하는 방식을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a method of performing post-processing on a data packet according to an embodiment of the present invention.

일 실시예에 따르면, 침입 감지 장치는 데이터 패킷에 침입이 발생한 것으로 감지된 경우, 세션 ID에 대응되는 데이터 패킷들을 재조합하고, 재조합된 데이터 패킷들을 데이터베이스에 저장할 수 있다.According to one embodiment, the intrusion detection device can reassemble data packets corresponding to the session ID and store the reconfigured data packets in the database when an intrusion into the data packet is detected.

일 실시예에 따르면, 침입 감지 장치는 단계(371)에서 침입이 감지된 데이터 패킷의 세션 ID에 대응되는 세션이 미리 설정된 조건을 만족하는지 여부를 결정할 수 있다. 예를 들어, 미리 결정된 조건은 세션의 상태가 Fin(Finish) Flag인 것일 수 있다. Fin Flag는 세션이 종료된 상태임을 나타내는 정보일 수 있다.According to one embodiment, the intrusion detection device may determine in step 371 whether the session corresponding to the session ID of the data packet in which the intrusion was detected satisfies a predetermined condition. For example, the predetermined condition may be that the state of the session is Fin (Finish) Flag. The Fin Flag may be information indicating that the session is terminated.

단계(371)에서 세션이 미리 설정된 조건을 만족하는 경우, 침입 감지 장치는 단계(372)를 통해 해당 세션 ID에 대응되는 데이터 패킷들을 검색할 수 있다.If the session meets a predetermined condition at step 371, the intrusion detection device may retrieve data packets corresponding to the session ID at step 372.

침입 감지 장치는 단계(373)를 통해 검색된 패킷들에 대한 데이터 플래그의 누적 값을 산출할 수 있다. 예를 들어, 침입 감지 장치는 'A'에 해당하는 세션 ID에 대응되는 데이터 패킷이 6개 존재하고, 그 중, 두 개의 데이터 패킷의 데이터 플래그 값이 '1'이고, 나머지에 해당하는 데이터 플래그 값은 '0'인 경우, A 세션 ID에 대한 누적 값은 '2'에 해당하는 것으로 산출할 수 있다.The intrusion detection device can calculate the cumulative value of the data flags for the retrieved packets through step 373. [ For example, in the intrusion detection apparatus, there are six data packets corresponding to the session ID corresponding to 'A', of which the data flag value of the two data packets is '1' If the value is '0', the accumulated value for the A session ID can be calculated to correspond to '2'.

침입 감지 장치는 단계(374)를 통해 산출된 누적 값이 0을 초과하는지 여부를 결정하고, 산출된 누적 값이 0을 초과하는 경우, 단계(375)를 통해 세션 ID에 대응되는 데이터 패킷들을 재조합하고, 재조합된 데이터 패킷들에 대한 데이터를 데이터베이스에 저장할 수 있다. 예를 들어, 침입 감지 장치는 'A'에 대응하는 세션 ID의 누적 값이 '2'에 해당하여, 누적 값이 '0'보다 크므로, 'A'에 대응하는 세션 ID에 대응되는 6개의 데이터 패킷을 재조합할 수 있고, 재조합된 데이터 패킷들을 데이터베이스에 저장할 수 있다. 침입 감지 장치는 수신되는 순서에 따라 나열되는 데이터 패킷의 순서를 다시 조합함으로써, 데이터 패킷에 대한 재조합을 수행할 수 있다.The intrusion detection apparatus determines whether the accumulated value calculated through step 374 exceeds 0, and if the calculated accumulated value exceeds 0, the data packets corresponding to the session ID through step 375 are reassembled And store the data for the reassembled data packets in the database. For example, since the cumulative value of the session ID corresponding to 'A' corresponds to '2' and the cumulative value of the session ID corresponding to 'A' is greater than '0' The data packets can be reassembled, and the reassembled data packets can be stored in the database. The intrusion detection device can perform the recombination for the data packet by recombining the order of the data packets to be listed in the order in which they are received.

침입 감지 장치는 재조합이 수행된 데이터 패킷들을 Pcap(Packet capture) 파일의 형태로 데이터베이스에 저장할 수 있다.The intrusion detection apparatus can store the reconfigured data packets in a database in the form of a Pcap (packet capture) file.

단계(374)에서 누적 값이 '0'을 초과하지 않는 것으로 결정된 경우, 침입 감지 장치는 해당 세션에 대응되는 데이터 패킷을 폐기할 수 있다.If it is determined in step 374 that the accumulated value does not exceed '0', the intrusion detection device may discard the data packet corresponding to the session.

단계(371)에서 세션의 상태가 미리 설정된 조건을 만족하지 않는 경우(예를 들어 세션의 상태가 Fin Flag가 아닌 경우), 침입 감지 장치는 세션의 상태가 미리 설정된 조건을 만족할 때까지 추가적인 동작을 수행하지 않고 대기할 수 있다.If the state of the session does not satisfy a preset condition (for example, the state of the session is not a Fin Flag) in step 371, the intrusion detection device performs an additional operation until the state of the session satisfies a preset condition You can wait without doing.

도 7은 일 실시예에 따른 침입 감지 장치가 침입이 발생한 데이터 패킷을 감지하는 방식을 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining a method of detecting a data packet in which an intrusion detection device according to an exemplary embodiment of the present invention occurs.

도 7을 참조하면, 침입 감지 장치는 단계(710)를 통해 데이터 패킷을 수신할 수 있다. 수신한 데이터 패킷은 도 4에서 설명된 방식과 동일하게 등록되고, 데이터 패킷에 대응되는 세션 ID가 결정될 수 있다.Referring to FIG. 7, the intrusion detection device may receive a data packet via step 710. [ The received data packet is registered in the same manner as described in Fig. 4, and the session ID corresponding to the data packet can be determined.

단계(720)에서 침입 감지 장치는 데이터 패킷에 침입이 발생하였는지 여부를 감지할 수 있다. 데이터 패킷에 침입이 발생하였는지 여부를 감지하는 방식은 도 5를 통해 설명된 방식과 동일하다.In step 720, the intrusion detection device may detect whether an intrusion has occurred in the data packet. A method of detecting whether an intrusion into a data packet has occurred is the same as that described with reference to Fig.

단계(730)에서 침입 감지 장치는 데이터 패킷에 침입이 발생한 것으로 감지된 경우 데이터 패킷 및 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들에 대한 데이터를 데이터베이스에 저장할 수 있다. 구체적으로, 침입 감지 장치는 도 6에서 설명된 방식으로 재조합될 수 있고, 재조합된 데이터 패킷들은 데이터베이스에 저장될 수 있다. 침입이 감지된 데이터 패킷은 대응되는 세션이 동일한 데이터 패킷들(수집 시점이 유사한 데이터 패킷들)과 함께 데이터베이스에 저장됨으로써, 침입 감지 장치는 추후 침입을 분석하는 과정에서 침입이 발생된 데이터 패킷 뿐만 아니라 유사한 시점에 수신된 데이터 패킷들에 대한 데이터를 제공할 수 있다.In step 730, the intrusion detection device may store the data packet and data for other data packets corresponding to the same session as the data packet in the database when an intrusion into the data packet is detected. Specifically, the intrusion detection device can be reassembled in the manner described in Fig. 6, and the reassembled data packets can be stored in the database. The data packet in which the intrusion has been detected is stored in the database together with the same data packets (data packets with similar collection time points) so that the intrusion detection device can not only detect the intruded data packet in the course of analyzing the intrusion, And may provide data for data packets received at similar times.

침입 감지 장치는 데이터 패킷에 침입이 발생한 것으로 감지된 경우, 데이터 패킷에 포함된 데이터 플래그에 침입에 대응되는 데이터 플래그 값을 할당할 수 있다. 예를 들어, 침입 감지 장치는 침입이 감지된 횟수에 비례하는 데이터 플래그 값을 데이터 패킷에 할당할 수 있다.When the intrusion detection apparatus detects that an intrusion has occurred in a data packet, it can assign a data flag value corresponding to the intrusion to the data flag included in the data packet. For example, the intrusion detection device may assign a data flag value to a data packet that is proportional to the number of times an intrusion has been detected.

또한, 세션은 세션에 대응되는 데이터 패킷에 포함된 정보에 기초하여 생성되는 해쉬 값을 통해 생성되는 세션 ID에 기초하여 식별될 수 있다.A session may also be identified based on a session ID generated via a hash value generated based on information contained in a data packet corresponding to the session.

도 8은 일 실시예에 따른 침입 감지 장치의 전체적인 구성을 도시하는 도면이다.8 is a diagram showing the overall configuration of an intrusion detection apparatus according to an embodiment.

도 8을 참조하면, 침입 감지 장치(800)는 프로세서(810), 메모리(820) 및 통신 인터페이스(830)를 포함할 수 있다. 실시예에 따라, 침입 감지 장치(800)는 데이터베이스(840)를 더 포함할 수도 있다. 침입 감지 장치(800)는 본 명세서에서 설명된 침입 감지 장치에 대응할 수 있다.8, the intrusion detection device 800 may include a processor 810, a memory 820, and a communication interface 830. [ In accordance with an embodiment, intrusion detection device 800 may further include a database 840. [ Intrusion detection device 800 may correspond to the intrusion detection device described herein.

메모리(820)는 프로세서(810)에 연결되고, 프로세서(80)에 의해 실행가능한 인스트럭션들, 프로세서(810)가 연산할 데이터 또는 프로세서(810)에 의해 처리된 데이터를 저장할 수 있다. 메모리(820)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.The memory 820 is coupled to the processor 810 and may store instructions executable by the processor 80, data to be processed by the processor 810, or data processed by the processor 810. [ The memory 820 may be a non-volatile computer readable medium such as a high speed random access memory and / or a non-volatile computer readable storage medium (e.g., one or more disk storage devices, flash memory devices, or other non- volatile solid state memory devices) .

통신 인터페이스(830)는 외부 장치와 통신하기 위한 인터페이스를 제공한다. 통신 인터페이스(830)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다.The communication interface 830 provides an interface for communicating with external devices. The communication interface 830 may communicate with an external device via a wired or wireless network.

데이터베이스(840)는 침입 감지 장치(800)가 동작하는데 필요한 정보 및 데이터를 저장할 수 있다. 예를 들어, 데이터베이스(840)는 미리 정의된 시그니처에 대한 정보를 저장하거나, 침입 발생에 대한 감지 결과에 기초하여 앞서 설명된 방식으로 재조합된 데이터 패킷들을 저장할 수 있다.The database 840 may store information and data necessary for the intrusion detection device 800 to operate. For example, the database 840 may store information about predefined signatures, or may store reconfigured data packets in a manner described above based on the detection result of an intrusion occurrence.

프로세서(810)는 데이터 패킷을 수신하고, 수신한 데이터 패킷에 침입이 발생하였는지 여부를 감지하고, 데이터 패킷에 침입이 발생한 것으로 감지된 경우, 데이터 패킷의 데이터 플래그에 침입에 대응되는 데이터 플래그 값을 할당할 수 있다. 또한, 프로세서(810)는 침입이 발생한 데이터 패킷과, 해당 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들을 재조합하고, 재조합된 데이터 패킷들을 데이터베이스에 저장할 수 있다.The processor 810 receives the data packet, detects whether or not an intrusion has occurred in the received data packet, and when it is detected that an intrusion has occurred in the data packet, the processor 810 sets the data flag value corresponding to the intrusion into the data flag of the data packet Can be assigned. The processor 810 may also reassemble the data packet in which the intrusion occurred and other data packets corresponding to the same session as the data packet, and store the reconfigured data packets in the database.

또한, 프로세서(810)는 데이터 패킷을 수신하고, 데이터 패킷에 침입이 발생하였는지 여부를 감지하고, 침입이 발생한 것으로 감지된 경우, 데이터 패킷 및 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들에 대한 데이터를 데이터베이스에 저장할 수 있다.The processor 810 also receives a data packet, detects whether an intrusion has occurred in the data packet, and if it is detected that an intrusion has occurred, transmits the data packet and other data packets corresponding to the same session as the data packet Data can be stored in the database.

프로세서(810)는 도 1 내지 도 7에서 설명된 세션 기반의 침입 감지 방법과 관련된 하나 이상의 동작을 수행할 수 있다.The processor 810 may perform one or more operations associated with the session-based intrusion detection method described in Figures 1-7.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

세션 기반의 침입 감지 방법에 있어서,
데이터 패킷을 수신하는 단계;
상기 수신한 데이터 패킷에 침입이 발생하였는지 여부를 감지하는 단계;
상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷의 데이터 플래그에 상기 침입 발생에 대응하는 데이터 플래그 값을 할당하는 단계; 및
상기 침입이 발생한 데이터 패킷의 세션 ID(identification; ID)에 대응되는 데이터 패킷들을 재조합하는 단계를 포함하고,
상기 재조합하는 단계는,
상기 세션 ID에 대응하는 데이터 패킷들을 검색하는 단계;
상기 검색된 데이터 패킷들의 데이터 플래그 값들에 기초하여 누적 값을 산출하는 단계; 및
상기 누적 값이 미리 설정된 조건을 만족하는 경우, 상기 수신한 데이터 패킷에 침입이 발생한 것으로 감지하고, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합하는 단계
를 포함하는,
세션 기반의 침입 감지 방법.
In a session-based intrusion detection method,
Receiving a data packet;
Detecting whether an intrusion has occurred in the received data packet;
Assigning a data flag value corresponding to the intrusion to a data flag of the data packet when the intrusion is detected to have occurred; And
And reassembling data packets corresponding to a session identification (ID) of the data packet in which the intrusion occurred,
Wherein the recombining step comprises:
Retrieving data packets corresponding to the session ID;
Calculating an accumulated value based on data flag values of the retrieved data packets; And
Detecting that an intrusion has occurred in the received data packet and reassembling data packets corresponding to the session ID if the accumulated value satisfies a preset condition
/ RTI >
Session based intrusion detection method.
제1항에 있어서,
상기 데이터 패킷을 전처리하는 단계
를 더 포함하고,
상기 데이터 패킷을 전처리하는 단계는,
상기 데이터 패킷에 대한 세션 ID를 생성하는 단계;
상기 세션 ID가 세션 풀(session pool)에 존재하는지 여부를 결정하는 단계; 및
상기 세션 ID가 상기 세션 풀에 존재하는 것으로 결정된 경우, 상기 데이터 패킷 및 상기 세션 ID의 관계에 기초하여, 상기 세션 풀 상의 상기 세션 ID에 대한 정보를 업데이트하는 단계
를 포함하는,
세션 기반의 침입 감지 방법.
The method according to claim 1,
Pre-processing the data packet
Further comprising:
Wherein the pre-processing of the data packet comprises:
Generating a session ID for the data packet;
Determining whether the session ID is in a session pool; And
Updating the information about the session ID on the session pool based on the relationship of the data packet and the session ID if the session ID is determined to exist in the session pool
/ RTI >
Session based intrusion detection method.
제2항에 있어서,
상기 세션 ID를 생성하는 단계는,
상기 데이터 패킷에 대한 해쉬 값을 생성하는 단계; 및
상기 해쉬 값에 기초하여 상기 세션 ID를 생성하는 단계
를 포함하는,
세션 기반의 침입 감지 방법.
3. The method of claim 2,
Wherein the step of generating the session ID comprises:
Generating a hash value for the data packet; And
Generating the session ID based on the hash value
/ RTI >
Session based intrusion detection method.
제2항에 있어서,
상기 세션 ID가 상기 세션 풀에 존재하지 않는 것으로 결정된 경우,
상기 세션 ID를 상기 세션 풀에 등록하는 단계
를 더 포함하는,
세션 기반의 침입 감지 방법.
3. The method of claim 2,
If it is determined that the session ID does not exist in the session pool,
Registering the session ID in the session pool
≪ / RTI >
Session based intrusion detection method.
제1항에 있어서,
상기 감지하는 단계는,
미리 정의된 시그니처가 상기 데이터 패킷의 페이로드와 매칭되는지 여부를 결정하는 단계; 및
상기 시그니처가 상기 데이터 패킷의 페이로드에 매칭되는 것으로 결정된 경우, 매칭 결과에 기초하여 상기 데이터 패킷의 데이터 플래그에 상기 침입 발생에 대응하는 데이터 플래그 값을 할당하는 단계
를 포함하는,
세션 기반의 침입 감지 방법.
The method according to claim 1,
Wherein the sensing comprises:
Determining whether a predefined signature matches a payload of the data packet; And
Assigning a data flag value corresponding to the occurrence of the intrusion to a data flag of the data packet based on a matching result when it is determined that the signature matches the payload of the data packet;
/ RTI >
Session based intrusion detection method.
삭제delete 세션 기반의 침입 감지 방법에 있어서,
데이터 패킷을 수신하는 단계;
상기 데이터 패킷에 침입이 발생하였는지 여부를 감지하는 단계; 및
상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷 및 상기 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들을 데이터베이스에 저장하는 단계를 포함하고,
상기 저장하는 단계는,
상기 침입이 발생한 데이터 패킷의 세션 ID(identification; ID)에 대응하는 데이터 패킷들을 검색하는 단계;
상기 검색된 데이터 패킷들의 데이터 플래그 값들에 기초하여 누적 값을 산출하는 단계; 및
상기 누적 값이 미리 설정된 조건을 만족하는 경우, 상기 수신한 데이터 패킷에 침입이 발생한 것으로 감지하고, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합하는 단계
를 포함하는,
세션 기반의 침입 감지 방법.
In a session-based intrusion detection method,
Receiving a data packet;
Detecting whether an intrusion has occurred in the data packet; And
Storing the data packet and other data packets corresponding to the same session as the data packet in the database if the intrusion is detected to have occurred,
Wherein the storing step comprises:
Retrieving data packets corresponding to a session identification (ID) of a data packet in which the intrusion occurred;
Calculating an accumulated value based on data flag values of the retrieved data packets; And
Detecting that an intrusion has occurred in the received data packet and reassembling data packets corresponding to the session ID if the accumulated value satisfies a preset condition
/ RTI >
Session based intrusion detection method.
제7항에 있어서,
상기 저장하는 단계는,
상기 재조합된 데이터 패킷들을 상기 데이터베이스에 저장하는 단계
를 포함하는,
세션 기반의 침입 감지 방법.
8. The method of claim 7,
Wherein the storing step comprises:
Storing the reconfigured data packets in the database
/ RTI >
Session based intrusion detection method.
제7항에 있어서,
상기 침입이 발생한 것으로 감지된 경우,
상기 데이터 패킷에 포함된 데이터 플래그에 상기 침입에 대응하는 데이터 플래그 값을 할당하는 단계
를 더 포함하는,
세션 기반의 침입 감지 방법.
8. The method of claim 7,
If it is detected that the intrusion has occurred,
Assigning a data flag value corresponding to the intrusion to a data flag included in the data packet
≪ / RTI >
Session based intrusion detection method.
제7항에 있어서,
상기 세션은,
상기 세션에 대응되는 데이터 패킷에 포함된 정보에 기초하여 생성되는 해쉬 값에 기초하여 식별되는,
세션 기반의 침입 감지 방법.
8. The method of claim 7,
The session includes:
A hash value generated based on information contained in a data packet corresponding to the session,
Session based intrusion detection method.
제1항 내지 제5항 및 제7항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 5 and 7 to 10.
세션 기반으로 데이터 패킷에 침입을 감지하는 침입 감지 장치에 있어서,
메모리 및 프로세서를 포함하고,
상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하고,
상기 프로세서는,
데이터 패킷을 수신하고,
상기 수신된 데이터 패킷에 침입이 발생하였는지 여부를 감지하고,
상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷의 데이터 플래그에 상기 침입의 발생에 대응하는 데이터 플래그 값을 할당하고,
상기 침입이 발생한 데이터 패킷의 세션 ID(identification; ID)에 대응되는 데이터 패킷들을 재조합하고,
상기 프로세서는, 상기 데이터 패킷들을 재조합하는 과정에서,
상기 세션 ID에 대응하는 데이터 패킷들을 검색하고,
상기 검색된 데이터 패킷들의 데이터 플래그 값들에 기초하여 누적 값을 산출하고,
상기 누적 값이 미리 설정된 조건을 만족하는 경우, 상기 수신한 데이터 패킷에 침입이 발생한 것으로 감지하고, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합하는,
침입 감지 장치.
An intrusion detection apparatus for detecting an intrusion into a data packet based on a session,
Memory and a processor,
The memory storing instructions executable by the processor,
The processor comprising:
Receiving a data packet,
Detecting whether an intrusion has occurred in the received data packet,
Assigning a data flag value corresponding to the occurrence of the intrusion to a data flag of the data packet when it is detected that the intrusion has occurred,
Reassembles data packets corresponding to a session identification (ID) of a data packet in which the intrusion occurred,
Wherein the processor, in the process of recombining the data packets,
Retrieves data packets corresponding to the session ID,
Calculating an accumulated value based on the data flag values of the retrieved data packets,
Detecting that an intrusion has occurred in the received data packet and reassembling data packets corresponding to the session ID if the accumulated value satisfies a preset condition;
Intrusion detection device.
제12항에 있어서,
상기 프로세서는,
상기 데이터 패킷에 대한 세션 ID를 생성하고,
상기 데이터 패킷을 패킷 풀(packet pool)에 등록하고,
상기 세션 ID가 세션 풀(session pool)에 존재하는지 여부를 결정하고,
상기 세션 ID가 상기 세션 풀에 존재하는 것으로 결정된 경우, 상기 데이터 패킷 및 상기 세션 ID의 관계에 기초하여, 상기 세션 풀 상의 상기 세션 ID에 대한 정보를 업데이트하는,
침입 감지 장치.
13. The method of claim 12,
The processor comprising:
Generates a session ID for the data packet,
Registers the data packet in a packet pool,
Determining whether the session ID is in a session pool,
Updating information about the session ID on the session pool based on the relationship of the data packet and the session ID when the session ID is determined to exist in the session pool,
Intrusion detection device.
제13항에 있어서,
상기 프로세서는,
상기 데이터 패킷에 대한 해쉬 값을 생성하고,
상기 해쉬 값에 기초하여 상기 세션 ID를 생성하는,
침입 감지 장치.
14. The method of claim 13,
The processor comprising:
Generating a hash value for the data packet,
And generates the session ID based on the hash value.
Intrusion detection device.
제12항에 있어서,
상기 프로세서는,
미리 정의된 시그니처가 상기 데이터 패킷의 페이로드와 매칭되는지 여부를 결정하고,
상기 시그니처가 상기 데이터 패킷의 페이로드에 매칭되는 것으로 결정된 경우, 매칭 결과에 기초하여 상기 데이터 패킷의 데이터 플래그에 상기 매칭 결과에 대응하는 데이터 플래그 값을 상기 데이터 패킷의 데이터 플래그에 할당하는,
침입 감지 장치.
13. The method of claim 12,
The processor comprising:
Determining whether a predefined signature matches the payload of the data packet,
Assigning a data flag value corresponding to the matching result to a data flag of the data packet based on a matching result when the signature is determined to match the payload of the data packet;
Intrusion detection device.
제13항에 있어서,
상기 프로세서는,
상기 재조합된 데이터 패킷들을 데이터베이스에 저장하는,
침입 감지 장치.
14. The method of claim 13,
The processor comprising:
Storing the reconfigured data packets in a database,
Intrusion detection device.
삭제delete 세션 기반의 침입 감지 장치에 있어서,
메모리 및 프로세서를 포함하고,
상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하고,
상기 프로세서는,
데이터 패킷을 수신하고,
상기 데이터 패킷에 침입이 발생하였는지 여부를 감지하고,
상기 침입이 발생한 것으로 감지된 경우, 상기 데이터 패킷 및 상기 데이터 패킷과 동일한 세션에 대응되는 다른 데이터 패킷들을 데이터베이스에 저장하고,
상기 프로세서는, 상기 저장하는 과정에서,
상기 침입이 발생한 데이터 패킷의 세션 ID(identification; ID)에 대응하는 데이터 패킷들을 검색하고,
상기 검색된 데이터 패킷들의 데이터 플래그 값들에 기초하여 누적 값을 산출하고,
상기 누적 값이 미리 설정된 조건을 만족하는 경우, 상기 수신한 데이터 패킷에 침입이 발생한 것으로 감지하고, 상기 세션 ID에 대응되는 데이터 패킷들을 재조합하는,
침입 감지 장치.
A session-based intrusion detection device,
Memory and a processor,
The memory storing instructions executable by the processor,
The processor comprising:
Receiving a data packet,
Detecting whether an intrusion has occurred in the data packet,
Storing the data packet and other data packets corresponding to the same session as the data packet in the database when the intrusion is detected to occur,
Wherein, in the storing step,
Searching for data packets corresponding to a session identification (ID) of a data packet in which the intrusion occurred,
Calculating an accumulated value based on the data flag values of the retrieved data packets,
Detecting that an intrusion has occurred in the received data packet and reassembling data packets corresponding to the session ID if the accumulated value satisfies a preset condition;
Intrusion detection device.
제18항에 있어서,
상기 프로세서는,
상기 재조합된 데이터 패킷들을 상기 데이터베이스에 저장하는,
침입 감지 장치.
19. The method of claim 18,
The processor comprising:
Storing the reconfigured data packets in the database,
Intrusion detection device.
제18항에 있어서,
상기 프로세서는,
상기 침입이 발생한 것으로 감지된 경우,
상기 데이터 패킷의 데이터 플래그 값을 변경하는,
침입 감지 장치.
19. The method of claim 18,
The processor comprising:
If it is detected that the intrusion has occurred,
Changing a data flag value of the data packet,
Intrusion detection device.
KR1020190006548A 2019-01-18 2019-01-18 Method and apparatus for detecting intrusion KR102006475B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190006548A KR102006475B1 (en) 2019-01-18 2019-01-18 Method and apparatus for detecting intrusion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190006548A KR102006475B1 (en) 2019-01-18 2019-01-18 Method and apparatus for detecting intrusion

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190090235A Division KR20200090084A (en) 2019-07-25 2019-07-25 Method and apparatus for detecting intrusion

Publications (1)

Publication Number Publication Date
KR102006475B1 true KR102006475B1 (en) 2019-08-01

Family

ID=67615862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190006548A KR102006475B1 (en) 2019-01-18 2019-01-18 Method and apparatus for detecting intrusion

Country Status (1)

Country Link
KR (1) KR102006475B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210090044A (en) * 2020-01-09 2021-07-19 국방과학연구소 Appartus and method for converting real threat traffic into simulated threat traffic

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008526109A (en) * 2004-12-23 2008-07-17 ソレラ ネットワークス インコーポレイテッド Method and apparatus for network packet capture distributed storage system
JP2008271347A (en) * 2007-04-24 2008-11-06 Nec Engineering Ltd Illegal access prevention apparatus, and determination result transmission method
JP2013009185A (en) * 2011-06-24 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> Communication monitoring system and method, communication monitoring device, virtual host device, and communication monitoring program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008526109A (en) * 2004-12-23 2008-07-17 ソレラ ネットワークス インコーポレイテッド Method and apparatus for network packet capture distributed storage system
JP2008271347A (en) * 2007-04-24 2008-11-06 Nec Engineering Ltd Illegal access prevention apparatus, and determination result transmission method
JP2013009185A (en) * 2011-06-24 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> Communication monitoring system and method, communication monitoring device, virtual host device, and communication monitoring program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210090044A (en) * 2020-01-09 2021-07-19 국방과학연구소 Appartus and method for converting real threat traffic into simulated threat traffic
KR102287926B1 (en) * 2020-01-09 2021-08-09 국방과학연구소 Appartus and method for converting real threat traffic into simulated threat traffic

Similar Documents

Publication Publication Date Title
CN106657001B (en) Botnet detection method based on Netflow and DNS log
US11290484B2 (en) Bot characteristic detection method and apparatus
CN107968791B (en) Attack message detection method and device
US10505952B2 (en) Attack detection device, attack detection method, and attack detection program
CN108293039B (en) Computing device, method and storage medium for handling cyber threats
US20170034195A1 (en) Apparatus and method for detecting abnormal connection behavior based on analysis of network data
US9491190B2 (en) Dynamic selection of network traffic for file extraction shellcode detection
US20080120721A1 (en) Apparatus and method for extracting signature candidates of attacking packets
US10341364B2 (en) Systems and methods for monitoring and mitigating network attacks
JP2018026747A (en) Aggression detection device, aggression detection system and aggression detection method
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
US20140075537A1 (en) Method and apparatus for controlling blocking of service attack by using access control list
CN108011850B (en) Data packet reassembly method and apparatus, computer device, and readable medium
KR102006475B1 (en) Method and apparatus for detecting intrusion
KR20160093791A (en) Method and apparatus for effective intrusion detection in internal network
CN114785567A (en) Traffic identification method, device, equipment and medium
KR101880705B1 (en) System for collecting device information using internet and method thereof
US10963562B2 (en) Malicious event detection device, malicious event detection method, and malicious event detection program
KR102040371B1 (en) Apparatus and method for analyzing network attack pattern
CN111131180B (en) Distributed deployed HTTP POST (hyper text transport protocol) interception method in large-scale cloud environment
KR20200090084A (en) Method and apparatus for detecting intrusion
US10257093B2 (en) Information processing device, method, and medium
CN114281547B (en) Data message processing method and device, electronic equipment and storage medium
US20200195674A1 (en) Method and apparatus for detecting anomaly in a plurality of devices by collectively analyzing information on devices
CN117040841A (en) Weak password scanning behavior identification method and device, storage medium and electronic equipment

Legal Events

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