KR20110054537A - Apparatus for detecting and filtering ddos attack based on distribution - Google Patents

Apparatus for detecting and filtering ddos attack based on distribution Download PDF

Info

Publication number
KR20110054537A
KR20110054537A KR1020090111217A KR20090111217A KR20110054537A KR 20110054537 A KR20110054537 A KR 20110054537A KR 1020090111217 A KR1020090111217 A KR 1020090111217A KR 20090111217 A KR20090111217 A KR 20090111217A KR 20110054537 A KR20110054537 A KR 20110054537A
Authority
KR
South Korea
Prior art keywords
distribution
time
ddos attack
ddos
value
Prior art date
Application number
KR1020090111217A
Other languages
Korean (ko)
Other versions
KR101061377B1 (en
Inventor
이태진
원용근
오주형
지승구
강동완
임채태
정현철
Original Assignee
한국인터넷진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국인터넷진흥원 filed Critical 한국인터넷진흥원
Priority to KR1020090111217A priority Critical patent/KR101061377B1/en
Publication of KR20110054537A publication Critical patent/KR20110054537A/en
Application granted granted Critical
Publication of KR101061377B1 publication Critical patent/KR101061377B1/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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Abstract

PURPOSE: An apparatus for detecting and measuring a DDoS(Distribute Denial of Service) attack based on distribution is provided to deal with a DDoS attack while minimizing the amount of calculations. CONSTITUTION: A time distribution calculating unit(135) produces the distribution of a difference between reception time of an HTTP request. A time information comparing unit(137) compares the pre-stored normal traffic distribution information. The time information comparing unit generates the sum of distribution values which is larger than normal traffic distribution information. If the sum is larger than a predetermined threshold value, a DDoS determining unit(139) detects an access of a client terminal as a DDoS attack.

Description

분포 기반 디도스 공격 탐지 및 대응 장치{Apparatus for detecting and filtering DDoS attack based on distribution}Apparatus for detecting and filtering DDoS attack based on distribution}

본 발명은 전자 기기에 관한 것으로, 특히 분포 기반 디도스 공격 탐지 및 대응 장치에 관한 것이다.TECHNICAL FIELD The present invention relates to electronic devices, and more particularly, to a distribution-based DDoS attack detection and response device.

오래전부터 많은 피해를 발생시켜 온 디도스(DDoS : Distributed Denial of Service) 공격은 최근 Netbot Attacker, Blackenergy, 7.7 DDoS 등 봇넷을 이용한 공격방식을 통해 대응하기 점차 어려워지고 있다. 특히, 기존 DDoS 공격은 SYN, UDP, SYN + ACK, ICMP Flooding 등 네트워크 계층에서의 대역폭(bandwidth) 소모위주의 공격이 발생한 반면, 최근에는 HTTP GET Flooding, CC(Cache Control) Attack 등과 같은 시스템의 CPU, 메모리, DB 서버 자원을 고갈시키는 응용계층 기반 디도스 공격이 발생하고 있다. Distributed Denial of Service (DDoS) attacks, which have been causing a lot of damage for a long time, are becoming more difficult to cope with attack methods using botnets such as Netbot Attacker, Blackenergy, and 7.7 DDoS. In particular, the existing DDoS attack has occurred bandwidth-intensive attacks at the network layer such as SYN, UDP, SYN + ACK, ICMP Flooding, etc. Recently, the CPU of the system such as HTTP GET Flooding, Cache Control (CC) Attack, etc. Application-based DDoS attacks that deplete resources, memory, and DB server resources are occurring.

그러나 현재 출시된 대부분의 디도스 대응장비는 네트워크 계층에서의 디도스 공격대응 위주의 기능을 제공하고 있어서, 소량의 HTTP 트래픽이 발생하면서 특 정 호스트의 동작을 중지시키는 Netbot Attacker, Blackenergy 등의 응용계층의 디도스 공격에는 대응하지 못하고 있다. 이러한 공격도구는 기존 네트워크 계층에 대한 디도스 공격 뿐 아니라 HTTP GET Flooding, CC Attack 등 다양한 공격이 가능하다. However, most DDoS countermeasures on the market provide functions focused on DDoS attacks at the network layer, so that application layers such as Netbot Attacker and Blackenergy, which stops a specific host when a small amount of HTTP traffic is generated. Is unable to respond to DDoS attacks. Such an attack tool is capable of various attacks such as HTTP GET Flooding and CC Attack as well as DDoS attacks on the existing network layer.

이러한 응용계층 디도스 공격에 대응하기 위해 최근 몇가지 연구가 진행되고 있다. 웹 서비스 특성상 이용자 IP 리스트는 균일하게 분포하지 않고 기존에 들어왔던 이들이 계속 들어오는 특징을 이용하여, 그 비율을 이용한 디도스 공격 탐지방안, 웹 서비스 이용패턴 정보를 분석하여 공격자로 의심스러운 IP 들을 대상으로 그레이 리스트(Greylist)로 분류하고, 이들에 대해 적은 리소스를 할당하는 방법에 대한 연구, 각 URL 페이지 히트 분포 등을 통계적 방식에 기반하여 분석 후, 일시적인 요청 폭주와 디도스 공격을 구별하는 방법, 웹 서비스 사용자 페이지 이동경로에 따른 분석, 디도스 공격의 원인이 되는 비정상 사용자에 대한 접속 제어(Admission Control)를 통해 대응하는 방법 등이 제안되어 있다. In order to cope with such application layer DDoS attacks, some researches have recently been conducted. Due to the characteristics of web services, the list of user IPs is not uniformly distributed, and by using the features of those who have already entered, the DDoS attack detection method and the web service usage pattern information are analyzed using the ratio to target the suspicious IPs. A study on how to classify as a greylist, allocate less resources to them, analyze each URL page hit distribution based on statistical method, and then distinguish between temporary request congestion and DDoS attacks, web It has been proposed to respond by analyzing the service user page movement path and controlling the access to the abnormal user that causes the DDoS attack.

하지만 종래 기술에 따르면, URL 페이지 히트 분포는 많은 연산량을 필요로 하며, 웹서비스에 올라가는 컨텐츠 및 시기에 따라 크게 변하여 임계치(threshold) 설정이 어려운 단점이 있고, 접속 제어 기법은 아웃 오브 패스(out of path) 방식으로는 동작할 수 없고, 인라인으로 동작해야 하는데 세션관리가 필요한 단점이 있다. However, according to the related art, the URL page hit distribution requires a large amount of computation, and it is difficult to set a threshold because it varies greatly depending on the content and timing of the web service, and the access control scheme is out of pass. path) cannot be operated, and it must be operated inline, but session management is required.

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공 중에게 공개된 공지기술이라 할 수는 없다.The background art described above is technical information possessed by the inventors for the derivation of the present invention or acquired in the derivation process of the present invention, and is not necessarily a publicly known technique disclosed to the general public before the application of the present invention.

본 발명은 연산량을 최소화하면서 디도스 공격에 대응할 수 있는 대응 메커니즘을 수행할 수 있는 분포 기반 디도스 공격 탐지 및 대응 장치를 제공하기 위한 것이다. The present invention is to provide a distribution-based DDoS attack detection and response device that can perform a response mechanism that can respond to DDoS attacks while minimizing the amount of computation.

또한, 본 발명은 디도스 공격의 주요 대상이 되는 웹 서비스를 대상으로 응용계층 기반 디도스 공격탐지 및 대응 알고리즘을 수행할 수 있는 분포 기반 디도스 공격 탐지 및 대응 장치를 제공하기 위한 것이다. In addition, the present invention is to provide a distribution-based DDoS attack detection and response device that can perform the application layer-based DDoS attack detection and response algorithm for the web service that is the main target of the DDoS attack.

본 발명이 제시하는 이외의 기술적 과제들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Technical problems other than the present invention will be easily understood through the following description.

본 발명의 일 측면에 따르면, 소정의 IP로 특정되는 클라이언트 단말기로부터 HTTP 요청을 수신하는 수신부, 상기 HTTP 요청의 수신시간을 소정의 관측시간동안 측정하여 HTTP 요청간의 수신시간 차를 산출하는 시간 정보 산출부, 상기 HTTP 요청의 상기 수신시간 차의 분포를 산출하는 시간 분포 산출부, 상기 산출된 수신시간 차의 분포값을 미리 저장된 정상 트래픽 분포 정보와 비교하고, 상기 정상 트래픽 분포 정보 보다 큰 분포값을 합산한 합산값을 생성하는 시간 정보 비교부, 상 기 합산값을 소정의 임계치와 비교하고, 상기 합산값이 소정의 임계치보다 큰 경우 상기 IP의 클라이언트 단말기의 접속을 디도스 공격으로 탐지하는 디도스 판별부 및 상기 디도스 판별부가 디도스 공격으로 탐지하는 경우 상기 클라이언트 단말기의 접속을 차단하는 차단부를 포함하는 분포 기반 디도스 공격 탐지 및 대응 장치가 제공된다. According to an aspect of the present invention, the receiving unit for receiving an HTTP request from a client terminal specified by a predetermined IP, calculating the time information for calculating the difference in receiving time between the HTTP request by measuring the receiving time of the HTTP request for a predetermined observation time A time distribution calculator for calculating a distribution of the difference in the reception time of the HTTP request, comparing the calculated distribution of the difference in the reception time with previously stored normal traffic distribution information, and comparing a distribution value larger than the normal traffic distribution information. A time information comparison unit for generating a summed value, and comparing the summed value with a predetermined threshold value and, if the summed value is greater than a predetermined threshold value, a DDoS to detect a connection of the client terminal of the IP as a DDoS attack. Blocking to block the access of the client terminal when the determination unit and the DDoS determination unit detects a DDoS attack The distribution-based DDoS attack detection and a corresponding apparatus is provided comprising a.

여기서, 상기 합산값은 상기 분포값의 상기 정상 트래픽 분포 정보에 대한 초과값을 합산한 것이며, 상기 시간 분포 산출부는, 상기 수신시간 차의 분포를 상기 HTTP 요청의 전체 모집단에 대한 비율에 대해 산출할 수 있다. 여기서, 임계치는 상술한 관측시간이 10초인 경우 40 ~ 60%가 될 수 있다. Here, the sum value is a sum of an excess value of the distribution value for the normal traffic distribution information, and the time distribution calculation unit calculates the distribution of the difference in the reception time with respect to the ratio of the entire population of the HTTP request. Can be. Here, the threshold may be 40 to 60% when the above-described observation time is 10 seconds.

또한, 본 실시예는 상기 합산값을 상기 임계치와 비교하고, 상기 합산값이 상기 임계치의 소정 비율보다 큰 경우 상기 디도스 판별부의 작동을 개시하는 판별 개시부를 더 포함할 수 있다. In addition, the present embodiment may further include a determination initiation unit for comparing the sum with the threshold and initiating the operation of the DDoS determination unit when the sum is greater than a predetermined ratio of the threshold.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

본 발명에 따른 분포 기반 디도스 공격 탐지 및 대응 장치는 분포 특성을 이용하여 연산량을 최소화하면서 디도스 공격에 대응할 수 있고, 디도스 공격의 주요 대상이 되는 웹 서비스를 대상으로 하는 응용계층 기반 디도스 공격 탐지 및 대응 알고리즘을 수행할 수 있는 효과가 있다. The distribution-based DDoS attack detection and response device according to the present invention can respond to DDoS attacks while minimizing the amount of computation by using the distribution characteristic, and the application layer based DDoS that targets web services that are the main targets of the DDoS attacks. There is an effect that can perform attack detection and response algorithm.

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

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described on the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 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 present invention, if it is determined that the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 실시예에 따른 디도스(DDoS) 공격 탐지 및 대응 장치의 시스템 구성도이다. 도 1을 참조하면, 클라이언트 단말기(110), 웹서버(120), 디도스 공격 탐지 및 대응 장치(130), 네트워크(140)가 도시된다. 디도스 공격탐지 및 대응장치(130)는 네트워크 트래픽 경로 상에 인라인으로 위치하거나, 트래픽 정보를 따로 받는 아웃오프패스 방식으로 동작할 수 있다.1 is a system configuration diagram of a device for detecting and responding to DDoS attacks according to an embodiment of the present invention. Referring to FIG. 1, a client terminal 110, a web server 120, a DDoS attack detection and response device 130, and a network 140 are shown. The DDoS attack detection and response device 130 may be located inline on a network traffic path or operate in an out-off pass method that receives traffic information separately.

본 실시예는 정상 트래픽 상태와 디도스 공격 상태에서의 HTTP 요청의 분포가 서로 다른 점을 이용하여 디도스 공격을 탐지하는 특징이 있다. 본 발명은 다양한 실시예로 구체화될 수 있으며, 구체적으로, 본 발명의 제1 실시예는 각 IP별로 HTTP 요청의 수신시간 차에 관한 분포값을 정상 상태의 분포값과 비교함으로써 디도스 공격을 탐지하는 특징이 있다. 즉, 본 제1 실시예는 디도스 공격의 경우 HTTP 요청의 수신시간 차가 정상 상태의 값과 차이가 있음에 착안하여 그 차이값을 이용하여 디도스 공격을 탐지한다. This embodiment has a feature of detecting a DDoS attack by using a difference in the distribution of HTTP requests in a normal traffic state and a DDoS attack state. The present invention can be embodied in various embodiments. Specifically, the first embodiment of the present invention detects a DDoS attack by comparing a distribution value regarding a difference in reception time of an HTTP request for each IP with a distribution value in a steady state. There is a characteristic to. That is, in the first embodiment, in the case of a DDoS attack, the difference in the reception time of the HTTP request is different from the value of the steady state, and the DDoS attack is detected using the difference value.

또한, 본 발명의 제2 실시예에 따르면, 각 IP별 분포 벡터(Distribution Vector)를 통해 디도스 공격징후를 탐지하고, 이상 징후 발생 시 해당 IP로부터의 트래픽을 필터링하는 특징이 있다. 즉, 본 제2 실시예에 따르면, 소량의 HTTP 트래픽이 발생하더라도, 발생한 URI 분포에 기반하여 연산량을 최소화하면서 디도스 공격에 대응할 수 있는 최적의 대응 메커니즘을 제시하는 특징이 있다. In addition, according to the second embodiment of the present invention, a DDoS attack symptom is detected through a distribution vector for each IP, and traffic from the corresponding IP is filtered when an abnormal symptom occurs. That is, according to the second embodiment, even if a small amount of HTTP traffic is generated, there is a feature of providing an optimal response mechanism that can cope with DDoS attacks while minimizing the amount of calculation based on the generated URI distribution.

또한, 본 발명의 제3 실시예에 따르면, HTTP 요청의 분포를 벡터 형태로 변환하여 정상적인 분포와 디도스 공격시 분포를 서로 비교하는 특징이 있다. 즉, 본 발명의 제3 실시예는 HTTP 요청을 종류별로 소정의 N차원의 벡터로 나타내고, 이러 한 벡터의 분포를 기준으로 정상적인 분포와 디도스 공격시 분포를 서로 구별할 수 있다. 상술한 각 실시예는 이하에서 자세히 설명한다. In addition, according to the third embodiment of the present invention, the distribution of the HTTP request is converted into a vector form, thereby comparing the normal distribution with the distribution during the DDoS attack. That is, according to the third embodiment of the present invention, the HTTP request may be represented as a predetermined N-dimensional vector for each type, and the normal distribution and the distribution upon DDoS attack may be distinguished from each other based on the distribution of the vector. Each embodiment described above is described in detail below.

웹 서비스에서의 GET Flooding 공격 유형은 IP별, 단위시간당 대량의 HTTP 요청(request)을 발생시키는 GET Flooding, IP별, 단위시간당 특정 URI에 대해 소정의 임계치를 초과하는 HTTP 요청을 발생시키는 GET Flooding, IP별, 단위시간당 URI당 평균 HTTP 요청이 소정의 임계치를 초과하는 GET Flooding, IP별, 단위시간당 요청된 URI 분포가 비정상적인 GET Flooding, IP별, 단위시간당 다수의 URI를 대상으로 최소한의 HTTP 요청을 발생시키는 GET Flooding 등 다양한 공격 유형을 가진다. 상술한 웹 서비스에서의 GET Flooding 공격 유형은 지금까지 발생한 다수의 디도스 공격도구, 종래의 7.7 디도스 공격 등뿐만 아니라 앞으로 발생가능한 공격 유형을 포함한다. 본 실시예에 따른 디도스 공격 탐지 및 대응 방법은 상술한 공격 유형들에 효과적으로 대처할 수 있는 방법이다. GET Flooding attack types in web services include GET Flooding, which generates a large amount of HTTP requests per IP, per unit time, GET Flooding, which generates HTTP requests that exceed a certain threshold for a specific URI per IP, per unit time, GET flooding, where the average HTTP request per URI per unit time per IP exceeds a certain threshold, GET flooding with abnormal URI distribution per IP, per unit time, minimum HTTP requests for multiple URIs per IP, per unit time It has various types of attacks, including GET Flooding. The GET Flooding attack types in the above-described web services include not only a number of DDoS attack tools, conventional 7.7 DDoS attacks, etc. that have occurred so far, but also future attack types. The DDoS attack detection and response method according to the present embodiment is a method capable of effectively coping with the aforementioned attack types.

클라이언트 단말기(110)는 웹서버(120)를 대상으로 디도스 공격을 하는 단말기로서, 소위 좀비 PC로 지칭될 수 있다. 디도스 공격 탐지 및 대응 장치(130)는 클라이언트 단말기(110)의 디도스 공격을 탐지하고 이를 탐지한 경우 클라이언트 단말기(110)가 웹서버(120)에 접속하지 못하도록 차단한다. The client terminal 110 is a terminal that attacks a DDoS attack against the web server 120 and may be referred to as a so-called zombie PC. The DDoS attack detection and response device 130 detects the DDoS attack of the client terminal 110 and blocks the client terminal 110 from accessing the web server 120 when the DDoS attack is detected.

디도스 공격 탐지 및 대응 장치(130)는 네트워크(140)의 라우터에 구비되거나 수정 라우터 혹은 디도스 전용장비, 침입방지시스템 등에 위치하거나 또는 각 웹서버(120)의 특정 구성요소 또는 파이어월로 구비됨으로써 디도스 공격을 차단할 수 있다. 또한, 본 발명은 클라이언트 단말기(110)가 웹서버(120)에 디도스 공격을 수행하는 경우를 중심으로 설명하지만, 이에 한정되지 않으며, 예를 들면, 특정 웹사이트, 어플리케이션 서버 등 다양한 주체, 하드웨어 또는 소프트웨어 모듈을 공격하는 경우에도 적용될 수 있음은 물론이다. DDoS attack detection and response device 130 is provided in the router of the network 140 or located in a modified router or DDoS dedicated equipment, intrusion prevention system, or as a specific component or firewall of each web server 120 By doing so, it can block DDoS attacks. In addition, the present invention will be described based on the case where the client terminal 110 performs a DDoS attack on the web server 120, but is not limited thereto, for example, various subjects, hardware such as a specific website, application server Alternatively, it may be applied to attacking a software module.

디도스 공격 탐지 및 대응 장치(130)는 디도스 공격의 주요 대상이 되는 웹 서비스를 대상으로 응용계층 기반 디도스 공격 탐지 및 대응 알고리즘이 구현된다. 즉, 디도스 공격 탐지 및 대응 장치(130)는 각 IP별 소량의 HTTP 트래픽을 보내는 디도스 공격이 발생했을 때, 이를 탐지하고 대응하는 메커니즘을 제시한다. 이하에서 본 발명의 다양한 실시예에 관하여 상세히 기술한다. The DDoS attack detection and response device 130 implements an application layer based DDoS attack detection and response algorithm for a web service that is a main target of the DDoS attack. That is, the DDoS attack detection and response device 130 proposes a mechanism for detecting and responding to a DDoS attack when a small amount of HTTP traffic for each IP is generated. Hereinafter, various embodiments of the present invention will be described in detail.

도 2a는 본 발명의 제1 실시예에 따른 디도스 공격 탐지 및 대응 장치의 블록 구성도이다. 도 2a를 참조하면, 수신부(132), 시간 정보 산출부(133), 시간 분포 산출부(135), 시간 정보 비교부(137), 디도스 판별부(139), 차단부(138)가 도시된다. 2A is a block diagram illustrating a device for detecting and responding to a DDoS attack according to a first embodiment of the present invention. Referring to FIG. 2A, a receiver 132, a time information calculator 133, a time distribution calculator 135, a time information comparator 137, a dose determination unit 139, and a blocker 138 are illustrated. do.

본 실시예는 정상 웹서비스에 관한 HTTP 요청의 분포와 비정상 트래픽에서의 HTTP 요청의 분포가 서로 다름을 이용하여 이러한 차이점을 양적으로 계산하고, 계산된 값을 임계치와 비교함으로써 디도스 공격을 탐지하는 특징이 있다. This embodiment calculates this difference quantitatively by using different distributions of HTTP requests for normal web services and distributions of HTTP requests in abnormal traffic, and detects a DDoS attack by comparing the calculated value with a threshold. There is a characteristic.

즉, 정상 웹서비스의 경우, 사용자의 액션에 따라 초기 시점에 거의 동시에 수많은 HTTP 요청이 발생하며, 그 이후에는 해당 요청이 거의 발생하지 않는다. 도 2b를 참조하여 정상 웹서비스와 비정상 웹서비스의 HTTP 요청을 분포를 설명하면 다음과 같다. In other words, in the case of a normal web service, a large number of HTTP requests are generated at the same time at the initial time according to the user's action, and thereafter, the requests are rarely generated. Referring to FIG. 2B, the distribution of HTTP requests between a normal web service and an abnormal web service is described below.

X축을 클라이언트 단말기(110)로부터 수신한 HTTP 요청간의 수신시간 차로 놓고, Y축을 X에 대한 분포 비율(%)로 할 때, 정상 사용자에 의한 HTTP 요청의 경우 검은색의 그래프 모양을 갖는다. 또한, 디도스 공격에 의한 HTTP 요청의 경우 붉은색의 그래프 모양을 갖는다. 여기서, HTTP 요청간의 수신시간 차는 특정 단위, 예를 들면, ms와 같은 단위로 산출될 수 있다. When the X-axis is set as the difference in receiving time between the HTTP requests received from the client terminal 110, and the Y-axis is set as the distribution ratio (%) for X, the HTTP request by the normal user has a black graph shape. In addition, HTTP requests caused by DDoS attacks have a red graph. Here, the reception time difference between the HTTP requests may be calculated in a specific unit, for example, a unit such as ms.

Y축은 전체 모집단에 대한 해당 수신시간 차의 비율이며, 단위 눈금이 10.00%이다. 이러한 설정에 의해 본 실시예는 분포 비율을 서로 비교함으로써, 트래픽의 양에 상관없이 적용할 수 있다. 물론, 분포 비율이 아닌 소정의 관측시간 당 X의 개수를 Y축으로 설정하는 등 다른 방식의 그래프가 본 발명에 적용될 수 있음은 물론이다. The Y axis is the ratio of the corresponding receive time difference to the total population, with a unit scale of 10.00%. By such setting, the present embodiment can be applied regardless of the amount of traffic by comparing the distribution ratios with each other. Of course, other types of graphs may be applied to the present invention, such as setting the number of X's per predetermined observation time to the Y axis instead of the distribution ratio.

현존하는 모든 종류의 디도스 공격도구는 주기성의 특징을 가지고, 디도스 공격시 HTTP 요청이 정상 사용자에 의한 HTTP 요청과 서로 다른 분포를 가진다. 본 실시예는 이러한 차이값을 이용하여 비정상 트래픽을 판별한다. 여기서, 정상 사용자에 의한 HTTP 요청은 미리 저장되어 실시간으로 수신되는 HTTP 요청에 관한 분포와 비교될 수 있다. 정상 사용자에 의한 HTTP 요청에 관한 분포는 정상적인 상태에서 기록되는 트래픽 통계를 통해 산출하거나 소정 기간 정상적인 사용에 의한 테스트 결과로 산출되는 등 다양한 방식에 의해 산출될 수 있다. All existing DDoS attack tools have the characteristics of periodicity, and during a DDoS attack, the HTTP request is different from the HTTP request by the normal user. The present embodiment uses this difference to determine abnormal traffic. Here, the HTTP request by the normal user may be compared with the distribution regarding the HTTP request stored in advance and received in real time. The distribution of the HTTP request by the normal user may be calculated by various methods, such as calculated through traffic statistics recorded in a normal state or as a test result of normal use for a predetermined period.

수신부(132)는 소정의 IP로 특정되는 클라이언트 단말기(110)로부터 HTTP 요청을 수신한다. 수신부(132)는 TCP 80 포트에서 수집된 HTTP 패킷을 수신하고, HTTP 헤더를 파싱함으로써 데이터 측정부(134)가 관련 데이터를 측정 및 산출할 수 있도록 한다. The receiving unit 132 receives an HTTP request from the client terminal 110 specified by a predetermined IP. The receiving unit 132 receives the HTTP packet collected at the TCP 80 port and parses the HTTP header so that the data measuring unit 134 can measure and calculate related data.

시간 정보 산출부(133)는 수신부(132)에서 수신한 HTTP 요청의 수신시간을 소정의 관측시간동안 측정하여 HTTP 요청간의 수신시간 차를 산출한다. 여기서, HTTP 요청간의 수신시간 차는 인접한 HTTP 요청 사이의 수신시간 차이가 될 수 있다. 예를 들면, A, B, C, D와 같은 HTTP 요청이 차례대로 수신부(132)에 수신되는 경우 A와 B의 수신시간 차, B와 C의 수신시간 차 및 C와 D의 수신시간 차가 본 실시예에서 분포값으로 산출되는 데이터가 될 수 있다. The time information calculator 133 calculates a reception time difference between the HTTP requests by measuring the reception time of the HTTP request received by the reception unit 132 for a predetermined observation time. Here, the difference in reception time between HTTP requests may be a difference in reception time between adjacent HTTP requests. For example, when HTTP requests such as A, B, C, and D are sequentially received by the receiver 132, the difference between the reception time of A and B, the difference of the reception time of B and C, and the difference of the reception time of C and D are seen. In an embodiment, the data may be calculated as a distribution value.

시간 분포 산출부(135)는 HTTP 요청의 수신시간 차의 분포를 산출한다. 즉, 시간 분포 산출부(135)는 특정 시간대에 존재하는 수신시간 차를 상술한 바와 같이 전체에 대한 분포 비율로 나타낸다. 도 2b를 참조하면, Netbot Attacker의 디도스 공격의 경우 수신시간 차가 10ms인 비율이 40%가 넘으며, 40ms인 비율이 10% 정도된다. 시간 분포 산출부(135)는 이와 같이 수신시간 차를 분포 비율 또는 절대 개수로 취합함으로써 분포를 산출한다. The time distribution calculator 135 calculates a distribution of the difference in the reception time of the HTTP request. That is, the time distribution calculation unit 135 represents the difference in the reception time existing in a specific time zone as a distribution ratio with respect to the whole as described above. Referring to FIG. 2B, in the case of DDoS attack of Netbot Attacker, the ratio of receiving time difference is more than 40% of 10ms, and the ratio of 40ms is about 10%. The time distribution calculating unit 135 calculates the distribution by collecting the difference in the reception time in the distribution ratio or the absolute number.

시간 정보 비교부(137)는 시간 분포 산출부(135)에서 산출된 수신시간 차의 분포값을 미리 저장된 정상 트래픽 분포 정보와 비교하고, 분포값이 정상 트래픽 분포 정보 보다 큰 경우 해당 분포값을 합산하여 합산값을 생성한다. 여기서, 정상 트래픽 분포 정보는 상술한 바와 같이 정상 사용자에 의한 HTTP 요청에 관한 분포가 될 수 있다. The time information comparison unit 137 compares the distribution value of the received time difference calculated by the time distribution calculation unit 135 with previously stored normal traffic distribution information, and adds the corresponding distribution value when the distribution value is larger than the normal traffic distribution information. To generate a sum value. Here, the normal traffic distribution information may be a distribution regarding an HTTP request by a normal user as described above.

또한, 다른 실시예에 따르면, 시간 정보 비교부(137)는 시간 분포 산출부(135)에서 산출된 수신시간 차의 분포값을 미리 저장된 정상 트래픽 분포 정보와 비교하고, 분포값이 정상 트래픽 분포 정보 보다 큰 경우 해당 분포값의 정상 트래 픽 분포 정보에 대한 초과값을 합산하여 합산값을 생성할 수도 있다. 즉, 정상 트래픽 분포 정보 보다 큰 수신시간 차의 분포값과 정상 트래픽 분포 정보의 차이를 합산하고, 합산된 값을 임계치와 비교함으로써 디도스 공격을 탐지할 수도 있다. Further, according to another embodiment, the time information comparison unit 137 compares the distribution value of the received time difference calculated by the time distribution calculator 135 with the normal traffic distribution information stored in advance, and the distribution value is normal traffic distribution information. If larger, the sum may be generated by summing excess values for the normal traffic distribution information of the corresponding distribution value. That is, the DDoS attack may be detected by summing the difference between the distribution values of the difference in reception time greater than the normal traffic distribution information and the normal traffic distribution information, and comparing the summed value with the threshold value.

디도스 판별부(139)는 합산된 합산값을 소정의 임계치와 비교하고, 합산값이 소정의 임계치보다 큰 경우 해당 클라이언트 단말기의 접속을 디도스 공격으로 탐지할 수 있다. 이에 따른 디도스 공격 탐지 기준은 다음과 같이 제시된다. The DDoS determination unit 139 may compare the sum of the sum with a predetermined threshold, and detect the connection of the client terminal as a DDoS attack when the sum is greater than the predetermined threshold. Accordingly, the criteria for detecting DDoS attacks are presented as follows.

Figure 112009070640943-PAT00001
(1)
Figure 112009070640943-PAT00001
(One)

Figure 112009070640943-PAT00002
Figure 112009070640943-PAT00002

Figure 112009070640943-PAT00003
Figure 112009070640943-PAT00003

여기서, F(x)는 정상 사용자에 의한 HTTP 요청에 대한 분포, G(x)는 디도스 공격에 의한 HTTP 요청에 대한 분포를 나타내는 함수이다. 상술한 식에서 D(x)의 합은 D(x)를 적분할 수 있으며, Y축의 개수를 합하거나 X축의 단위에 관한 수치를 더하는 방법 등에 의해 상술한 합산값을 도출할 수 있음은 물론이다. 여기서, 임계치는 상술한 관측시간이 10초인 경우 40 ~ 60%가 될 수 있다. Here, F (x) is a function representing a distribution of HTTP requests by a normal user, and G (x) is a distribution of HTTP requests by a DDoS attack. In the above formula, the sum of D (x) may integrate D (x), and of course, the summation value may be derived by adding the number of Y-axis or adding a numerical value about the unit of the X-axis. Here, the threshold may be 40 to 60% when the above-described observation time is 10 seconds.

차단부(138)는 디도스 판별부(136)가 디도스 공격으로 탐지하는 경우 해당 클라이언트 단말기(110)의 접속을 차단한다. 차단부(138)는 이 경우 일정 시간 그 접속을 차단하거나, IP의 패킷을 차단하거나 또는 디도스 공격 경고음을 발생하는 등 다양한 대응 방법을 수행할 수 있다. 차단부(138)는 특정 IP의 클라이언트 단말기(110)가 디도스 공격 단말기로 판단되는 경우 해당 클라이언트 단말기(110)의 접속을 차단함으로써 디도스 공격에 대응할 수 있다. The blocking unit 138 blocks the connection of the client terminal 110 when the DDoS determination unit 136 detects the DDoS attack. In this case, the blocking unit 138 may perform various countermeasures such as blocking the connection for a predetermined time, blocking a packet of IP, or generating a DDoS attack warning sound. The blocking unit 138 may respond to the DDoS attack by blocking the connection of the client terminal 110 when the client terminal 110 of the specific IP is determined to be the DDoS attack terminal.

도 3은 본 발명의 제1 실시예에 따른 디도스 공격 탐지 및 대응 방법의 흐름도이다. 도시된 흐름도는 디도스 공격 탐지 및 대응 장치(130)가 수행하는 대응 메커니즘이 될 수 있다. 3 is a flowchart of a DDoS attack detection and response method according to the first embodiment of the present invention. The flowchart shown may be a response mechanism performed by the DDoS attack detection and response device 130.

단계 S310에서, 클라이언트 단말기(110)로부터 패킷이 유입된다. 단계 S320에서, IP를 기반으로 미리 디도스 공격으로 판단된 클라이언트 단말기(110)를 차단한다. 여기서, 만약 클라이언트 단말기(110)의 IP가 신규 IP로 판단되는 경우 클라이언트 단말기(110)의 IP를 신규 IP로 소정의 데이터베이스에 저장할 수 있다. In step S310, a packet is introduced from the client terminal 110. In operation S320, the client terminal 110 determined as a DDoS attack in advance is blocked based on the IP. If the IP of the client terminal 110 is determined to be a new IP, the IP of the client terminal 110 may be stored as a new IP in a predetermined database.

단계 S330에서, TCP 80 포트 및 HTTP 패킷을 수집하고, 단계 S340에서, HTTP 헤더를 파싱한다. 예를 들면, 본 실시예는 커널 기반 고속의 트래픽 처리 엔진을 구비하여 NDIS intermediate Driver 및 커널 오브젝트인 패킷 풀(packet pool)에서 해당 HTTP를 수집하여 HTTP 헤더를 파싱할 수 있다. In step S330, the TCP 80 port and the HTTP packet are collected, and in step S340, the HTTP header is parsed. For example, the present embodiment may include a kernel-based high speed traffic processing engine to collect a corresponding HTTP from a packet pool, which is an NDIS intermediate driver and a kernel object, to parse an HTTP header.

단계 S350에서, 수신한 HTTP 요청의 수신시간 차 및 이에 대한 분포를 산출하고, 단계 S360에서, 상술한 바와 같이 산출한 분포값을 정상 트래픽 분포 정보와 비교하고, 정상 트래픽 분포 정보 보다 큰 분포값의 합산값을 생성한다. In step S350, the difference in the reception time of the received HTTP request and the distribution thereof are calculated. In step S360, the distribution value calculated as described above is compared with the normal traffic distribution information, and the distribution value larger than the normal traffic distribution information is calculated. Generate a sum value.

단계 S370에서, 합산값을 소정의 임계치와 비교하고, 만약 합산값이 해당 임계치보다 큰(같은 경우도 포함될 수 있음) 경우 단계 S320에서 해당 IP에 기반하여 특정 클라이언트 단말기(110)의 접속을 차단하며, 합산값이 해당 임계치보다 크지 않는 경우에는 해당 IP의 접속을 유지한다. In step S370, the sum is compared with a predetermined threshold, and if the sum is greater than the threshold (which may include the same case), in step S320, the connection of the specific client terminal 110 is blocked based on the IP. If the sum is not greater than the threshold, the IP connection is maintained.

도 4는 본 발명의 제2 실시예에 따른 디도스 공격 탐지 및 대응 장치의 블록 구성도이다. 도 4를 참조하면, 수신부(132), 데이터 측정부(134), 디도스 판별부(136), 차단부(138)가 도시된다. 상술한 바와의 차이점을 위주로 설명한다. 4 is a block diagram illustrating a device for detecting and responding to a DDoS attack according to a second embodiment of the present invention. Referring to FIG. 4, a receiver 132, a data measuring unit 134, a ddos determination unit 136, and a blocking unit 138 are illustrated. The differences from the above will be explained mainly.

수신부(132)는 소정의 IP로 특정되는 클라이언트 단말기(110)로부터 HTTP 요청을 수신한다. The receiving unit 132 receives an HTTP request from the client terminal 110 specified by a predetermined IP.

데이터 측정부(134)는 수신한 HTTP의 개수를 소정의 관측시간동안 IP별로 산출하고, 관측시간동안 HTTP의 URI 개수를 산출한다. 구체적으로 데이터 측정부(134)는 수신한 패킷마다 해당 IP, URI 별로 검색하고 이를 업데이트할 수 있다. 본 실시예는 이러한 IP별, 단위시간당, HTTP 개수, URI 개수 등과 같은 데이터를 저장하기 위한 별도의 저장부를 포함할 수 있다. IP별 및 URI별 관리를 위해서 hash/mod 방식 등이 사용될 수 있으며, 이러한 기술은 본 발명의 당업자가 용이하게 실시할 수 있는 기술이므로 자세한 설명은 생략한다. The data measuring unit 134 calculates the number of received HTTPs by IP during a predetermined observation time and calculates the number of URIs of HTTP during the observation time. In detail, the data measuring unit 134 may search for and update the corresponding IP and URI for each received packet. The present embodiment may include a separate storage unit for storing data such as IP, unit time, HTTP number, URI number, and the like. For management by IP and URI, a hash / mod method or the like may be used. Since such a technology is easily implemented by those skilled in the art, a detailed description thereof will be omitted.

디도스 판별부(136)는 측정된 URI 별 HTTP의 개수를 포함하는 연산결과를 소정의 임계치와 비교하고, URI 별 HTTP의 개수가 임계치보다 큰 경우 상기 IP의 클라이언트 단말기(110)의 접속을 디도스 공격으로 탐지한다. The DDoS determination unit 136 compares the operation result including the measured number of HTTPs per URI with a predetermined threshold value, and if the number of HTTPs per URI is larger than the threshold value, the DDoS determination unit 136 detects the connection of the client terminal 110 of the IP. Detect by DOS attack.

본 실시예는 URI 수를 크게 증가시켜서 URI 별 HTTP 임계치를 낮게 유지하는 디도스 공격유형의 경우 URI 히트 분포가 특정 URI에 집중되어 있다면, 비정상적인 트래픽 분포로 탐지 및 차단할 수 있다. 즉, 본 실시예는 소량의 HTTP 트래픽이 발 생하더라도, 발생한 URI 분포(Distribution)에 기반하여 디도스 공격을 탐지하는 방법이 될 수 있다. 이에 따른 디도스 공격 탐지 기준은 다음과 같이 제시된다. This embodiment can detect and block abnormal traffic distributions if the URI hit distribution is concentrated on a specific URI in the case of the DDoS attack type that greatly increases the number of URIs and keeps the HTTP threshold for each URI low. That is, the present embodiment may be a method of detecting a DDoS attack based on the generated URI distribution even if a small amount of HTTP traffic occurs. Accordingly, the criteria for detecting DDoS attacks are presented as follows.

Figure 112009070640943-PAT00004
(2)
Figure 112009070640943-PAT00004
(2)

여기서,

Figure 112009070640943-PAT00005
는 분포에 기반한 임계치,
Figure 112009070640943-PAT00006
이고,
Figure 112009070640943-PAT00007
,
Figure 112009070640943-PAT00008
는 단위시간 t 및 특정 IP인 s에서의 k번째 URI에 대한 HTTP PPS이며, T는 관측시간,
Figure 112009070640943-PAT00009
,
Figure 112009070640943-PAT00010
,
Figure 112009070640943-PAT00011
는 관측시간 T의 시간구간인 t 및 특정 IP인 s에서의 HTTP PPS(packet per second), n은 상기 관측시간 T동안 요청했던 URI 개수이다. 여기서, 단위시간 t는 시간구간, 예를 들면, 1초를 의미한다. 즉,
Figure 112009070640943-PAT00012
는 특정 IP에서 t ~t+1초 사이의 HTTP 개수를 의미한다. 본 실시예에 따르면, 디도스 공격 탐지 및 대응 방법은 관측시간 T를 기준으로 수행될 수 있으며, 본 명세서에서 설명하는 실시예들도 동일하게 관측시간 T를 기준으로 수행될 수 있다. 관측시간 T는 디도스 공격을 유효하게 탐지할 수 있으면서도 빠른 시간내에 탐지할 수 있는 시간, 예를 들면, 5초 내지 20초가 될 수 있다. 이는 웹 서비스의 특 징상 PPS를 기준으로는 해당 IP의 현재 행위를 판단하기 어렵기 때문이다. 또한,
Figure 112009070640943-PAT00013
의 범위는 관측시간 T가 달라지는 비율만큼 그 범위도 달라질 수 있다. here,
Figure 112009070640943-PAT00005
Is a threshold based on the distribution,
Figure 112009070640943-PAT00006
ego,
Figure 112009070640943-PAT00007
,
Figure 112009070640943-PAT00008
Is the HTTP PPS for the k th URI at unit time t and the specific IP s, where T is the observation time,
Figure 112009070640943-PAT00009
,
Figure 112009070640943-PAT00010
,
Figure 112009070640943-PAT00011
Is the time interval t of the observation time T and HTTP PPS (packet per second) at a specific IP s, and n is the number of URIs requested during the observation time T. Here, the unit time t means a time interval, for example, 1 second. In other words,
Figure 112009070640943-PAT00012
Is the number of HTTPs between t and t + 1 seconds for a specific IP. According to the present embodiment, the DDoS attack detection and response method may be performed based on the observation time T, and the embodiments described herein may also be performed based on the observation time T. The observation time T may be a time for detecting a DDoS attack while still being able to detect it within a short time, for example, 5 to 20 seconds. This is because it is difficult to determine the current behavior of the IP based on the PPS. Also,
Figure 112009070640943-PAT00013
The range of may vary according to the rate at which the observation time T varies.

정상적인 웹 서비스에 대해 위 수식을 이용하여 분포값(

Figure 112009070640943-PAT00014
)을 계산하면, 정상적인 웹 서비스의 경우, 분포값(Distribution vector의 분포)은 URI당 평균 히트수와 큰 차이가 나지 않음을 알 수 있다.For a normal web service, the distribution
Figure 112009070640943-PAT00014
), It can be seen that for a normal web service, the distribution value (distribution of the distribution vector) is not significantly different from the average number of hits per URI.

도 5는 본 발명의 제2 실시예에 따른 디도스 공격 탐지 및 대응 방법의 흐름도이다. 도시된 흐름도는 디도스 공격 탐지 및 대응 장치(130)가 수행하는 대응 메커니즘이 될 수 있다. 5 is a flowchart of a DDoS attack detection and response method according to a second embodiment of the present invention. The flowchart shown may be a response mechanism performed by the DDoS attack detection and response device 130.

단계 S510에서, 클라이언트 단말기(110)로부터 패킷이 유입된다. 단계 S520에서, IP를 기반으로 미리 디도스 공격으로 판단된 클라이언트 단말기(110)를 차단한다. 여기서, 만약 클라이언트 단말기(110)의 IP가 신규 IP로 판단되는 경우 클라이언트 단말기(110)의 IP를 신규 IP로 소정의 데이터베이스에 저장할 수 있다. In step S510, the packet flows in from the client terminal 110. In operation S520, the client terminal 110 that is determined to be a DDoS attack in advance is blocked based on the IP. If the IP of the client terminal 110 is determined to be a new IP, the IP of the client terminal 110 may be stored as a new IP in a predetermined database.

단계 S530에서, TCP 80 포트 및 HTTP 패킷을 수집하고, 단계 S540에서, HTTP 헤더를 파싱한다. 예를 들면, 본 실시예는 커널 기반 고속의 트래픽 처리 엔진을 구비하여 NDIS intermediate Driver 및 커널 오브젝트인 패킷 풀(packet pool)에서 해당 HTTP를 수집하여 HTTP 헤더를 파싱할 수 있다. In step S530, the TCP 80 port and the HTTP packet are collected, and in step S540, the HTTP header is parsed. For example, the present embodiment may include a kernel-based high speed traffic processing engine to collect a corresponding HTTP from a packet pool, which is an NDIS intermediate driver and a kernel object, to parse an HTTP header.

단계 S550에서, IP별, URI별 HTTP 개수를 산출하고, 단계 S560에서, 상술한 바와 같이 관측시간 T동안 IP별, URI별 HTTP 누적 개수를 산출한다. In step S550, the number of HTTPs per IP and URI is calculated. In step S560, the cumulative number of HTTPs per IP and URI is calculated for the observation time T as described above.

단계 S570에서, 산출된 URI별 HTTP의 개수에 대한 소정의 분포값을 소정의 임계치와 비교하고, 만약 URI별 HTTP의 개수에 대한 소정의 분포값이 해당 임계치보다 큰(같은 경우도 포함될 수 있음) 경우 단계 S520에서 해당 IP에 기반하여 특정 클라이언트 단말기(110)의 접속을 차단하며, URI별 HTTP의 개수에 대한 소정의 분포값이 해당 임계치보다 크지 않는 경우에는 해당 IP의 접속을 유지한다. In step S570, the predetermined distribution value for the calculated number of HTTPs per URI is compared with a predetermined threshold, and if the predetermined distribution value for the number of HTTPs per URI is larger than the corresponding threshold (the same case may be included). In step S520, the connection of the specific client terminal 110 is blocked based on the corresponding IP, and if the predetermined distribution value for the number of HTTPs per URI is not greater than the corresponding threshold, the connection of the corresponding IP is maintained.

또한, 본 발명의 제3 실시예에 따르면, 디도스 공격 대응 메커니즘은 다음과 같은 다른 형태로 구현될 수도 있다. 일반적으로, 특정 사이트에 GET Request 요청 시, 웹서버(120)는 해당하는 응답(response)을 주게 되는데, 이 응답은 image, iframe, html, flash 등 다양한 정보를 포함한다. 클라이언트 단말기(110)의 웹 브라우저는 이 다양한 정보들에 대해 각각 GET Request를 발생시켜 데이터를 받아오고, 받아온 결과를 웹 브라우저에 디스플레이한다. In addition, according to the third embodiment of the present invention, the DDoS attack response mechanism may be implemented in other forms as follows. In general, when a GET Request is requested to a specific site, the web server 120 gives a corresponding response. The response includes various information such as image, iframe, html, and flash. The web browser of the client terminal 110 generates a GET Request for each of these various pieces of information, receives data, and displays the received result in the web browser.

여기서, 수많은 HTTP 요청(Request)은 사용자가 직접 액션을 취해서 발생한 요청과 해당 요청에 의해 추가로 실행되는 요청으로 구분할 수 있다. 사용자 액션에 의한 요청은, 예를 들면, 웹 브라우저 실행에 의한 요청, F5 누름 등에 의한 웹 페이지 새로고침(refresh)에 의한 요청, 메뉴 또는 링크 등에 대한 사용자의 클릭에 의한 요청 등이 될 수 있다. Here, a number of HTTP requests can be divided into requests generated by a user taking an action directly and requests executed further by the request. The request by the user action may be, for example, a request by executing a web browser, a request by refreshing a web page by pressing F5, or a request by a user clicking on a menu or a link.

사용자 액션에 의한 HTTP 요청과 이의 발생시 추가로 발생하는 HTTP 요청들은 다음과 같은 일정한 성격을 가진다. HTTP requests by user actions and additional HTTP requests that occur when they occur have the following characteristics:

사용자user 접속 URI sequenceConnection URI sequence User1User1 1,2,3,4,5,...,100,1,2,3,4,5,...,1001,2,3,4,5, ..., 100,1,2,3,4,5, ..., 100 User2User2 1,2,3,4,5,1,2,3,4,5,6,...,1001,2,3,4,5,1,2,3,4,5,6, ..., 100 User3User3 1,1,1,1,1,1,1,...,1,1,11,1,1,1,1,1,1, ..., 1,1,1 User4User4 1,101,5,6,101,5,6,...,11,101,5,6,101,5,6, ..., 1 User5User5 1,2,3,4,5,...,100,1,2,3,4,5,...99,1011,2,3,4,5, ..., 100,1,2,3,4,5, ... 99,101

상기 표에서 접속 URI sequence의 1은 사용자 액션에 의한 HTTP 요청이고, 2 내지 101은 1의 발생시 추가로 발생하는 HTTP 요청들이다. 정상적인 경우 User1 및 User2와 같이 동작한다. User2의 접속 URI sequence는 페이지 5까지 받은 시점에서 새로고침(refresh)을 한 경우가 될 수 있다. In the table, 1 in the access URI sequence is an HTTP request by a user action, and 2 to 101 are HTTP requests additionally generated when 1 is generated. Normally, it works like User1 and User2. User2's connection URI sequence may be the case of refreshing when page 5 is received.

일반적인 봇넷(Botnet)의 경우, User3처럼 특정 페이지만 지속적으로 요청하며, 현재 출현하지는 않았지만 지능적인(intelligent) 봇넷의 경우, User4, User5처럼 동작할 것으로 예상된다.In a typical botnet, only certain pages are requested continuously, such as User3.In the case of intelligent botnets, which are not present, they are expected to behave like User4 and User5.

종래 기술에 따르면, 이를 탐지하는 다양한 방법이 있지만, 연산량이 많아 실제 사용하는데 부적합하다. 본 실시예에 따른 알고리즘은 요청 분포(Request Distribution)를 벡터 형태로 변환하여, 비교하는 방법을 사용한다. 상기 표에 기술된 각 행위에 대한 분포 벡터는 다음과 같이 변환되어 표현된다. According to the prior art, there are various methods for detecting this, but there is a large amount of calculation, which is not suitable for actual use. The algorithm according to the present embodiment uses a method of converting a request distribution into a vector form and comparing the same. The distribution vector for each action described in the table is converted and expressed as follows.

사용자user 분포 벡터Distribution vector User1User1 (2,2,2,2,2,2,...2,0)(2,2,2,2,2,2, ... 2,0) User2User2 (2,2,2,2,2,1,...,1,0)(2,2,2,2,2,1, ..., 1,0) User3User3 (67,0,...,0,0,0,0,0)(67,0, ..., 0,0,0,0,0) User4User4 (2,0,0,0,33,33,0,...,0,33)(2,0,0,0,33,33,0, ..., 0,33) User5User5 (2,2,2,2,2,...,2,1,1)(2,2,2,2,2, ..., 2,1,1)

여기서, 분포 벡터가 101차원인 경우, 즉, 접속 URI가 101가지인 경우를 고려하였다. 벡터로 표현된 정상적인 분포를 참조하면, User1의 경우 모든 차원에 대 해 동일하고, User2의 경우, 1 내지 2정도 차이가 나게 된다. 즉, 정상적인 USER의 어떤 형태의 요청도 벡터로 변환하면 그 차이는 크게 나타날 수 없다.Here, the case where the distribution vector is 101-dimensional, that is, the case where 101 connection URIs are considered is considered. Referring to the normal distribution expressed as a vector, User1 is the same for all dimensions, and User2 is about 1 to 2 different. In other words, if you convert any type of request from a normal USER into a vector, the difference will not be significant.

도 6a를 참조하면, 정상적인 사용자에 의한 요청의 분포가 도시된다. X축은 URI의 식별자, Y축은 URI의 개수를 나타낸다. 정상적인 사용자가 새로고침(refresh)을 연속적으로 수행하여도 소정의 관측시간, 예를 들면, 10초 동안 URI의 개수는 33을 넘지 않는다. 또한, 도 6b를 참조하면, 상술한 User1 내지 User5의 각 행위에 대한 분포 벡터가 그래프상에 도시된다. 정상적인 사용자에 의한 요청은 소정의 범위내에 그 분포가 존재한다. 본 실시예는 이를 이용하여 디도스 공격을 탐지한다. 예를 들면, URI의 개수가 33 이상의 영역에 위치하는 분포는 디도스 공격으로 판단될 수 있다. Referring to Figure 6A, the distribution of requests by a normal user is shown. The X axis represents the identifier of the URI and the Y axis represents the number of URIs. Even if a normal user refreshes continuously, the number of URIs does not exceed 33 for a predetermined observation time, for example, 10 seconds. 6B, the distribution vector for each of the above-described actions of User1 to User5 is shown on the graph. The request by a normal user has its distribution within a predetermined range. This embodiment uses this to detect DDoS attacks. For example, a distribution in which the number of URIs is located in an area of 33 or more may be determined as a DDoS attack.

차단부(138)는 디도스 판별부(136)가 디도스 공격으로 탐지하는 경우 IP의 패킷을 차단한다. 차단부(138)는 특정 IP의 클라이언트 단말기(110)가 디도스 공격 단말기로 판단되는 경우 해당 클라이언트 단말기(110)의 패킷을 차단함으로써 디도스 공격에 대응할 수 있다. The blocking unit 138 blocks the packet of the IP when the DDoS determination unit 136 detects the DDoS attack. The blocking unit 138 may respond to the DDoS attack by blocking the packet of the client terminal 110 when the client terminal 110 of the specific IP is determined to be a DDoS attack terminal.

또한, 본 발명은 상술한 디도스 판별부(136, 139)와 차단부(138)가 동작하기 전에 예비적으로 이상 증후를 검사하기 위한 구성요소를 더 포함할 수 있다. 즉, 본 실시예에 따르면, 웹서버(120) 접속이 지연되거나 부하가 심해서 느려지는 등의 이상 징후가 발생하는 경우에만 디도스 공격 탐지 및 대응 장치(130)가 가동될 수 있도록 하여 서버의 부하를 줄이고 효율적으로 연산을 수행할 수 있는 특징이 있다. In addition, the present invention may further include a component for preliminarily checking for abnormal symptoms before the above-described DDOS determination unit 136 and 139 and the blocking unit 138 operate. That is, according to the present embodiment, the DDoS attack detection and countermeasure device 130 can be operated only when the abnormality of the web server 120 connection is delayed or the load is severe. It is possible to reduce the efficiency and perform the operation efficiently.

이를 위하여 본 실시예는 상술한 합산값을 소정의 임계치와 비교하고, 합산값이 해당 임계치의 소정 비율보다 큰 경우 디도스 판별부(139)의 작동을 개시하거나 또는 상술한 각 실시예에서 산출된 URI의 HTTP 개수를 소정의 임계치와 비교하고, URI의 HTTP 개수가 이러한 임계치의 소정 비율보다 큰 경우 디도스 판별부(136)의 작동을 개시하는 판별 개시부(미도시)를 더 포함할 수 있다. To this end, the present embodiment compares the above-described sum with a predetermined threshold, and if the sum is greater than a predetermined ratio of the threshold, starts the operation of the DDoS determination unit 139 or is calculated in each of the above-described embodiments. The apparatus may further include a determination initiation unit (not shown) for comparing the HTTP number of URIs with a predetermined threshold and initiating the operation of the DDoS determination unit 136 when the HTTP number of URIs is greater than a predetermined ratio of the thresholds. .

여기서, 임계치의 소정 비율은 디폴트로 정해지거나, 네트워크 및/또는 서버 환경 등에 따라 자동 설정되거나 또는 사용자 설정에 의해 임의대로 정해질 수 있다. 자동 설정의 경우 네트워크 및/또는 서버에 부하가 걸리는 빈도, 부하량 등에 따라 임계치의 소정 비율을 조절할 수 있다. 예를 들면, 부하의 빈도가 높은 경우 요주의 상황으로서 소정 비율이 높아질 수 있다. 또한. 사용자 설정의 경우 본 실시예는 이러한 임계치의 소정 비율을 조절하기 위한 사용자 인터페이스를 더 포함할 수 있다. 임계치의 소정 비율은 예를 들면, 상술한 임계치의 50 내지 70%가 될 수 있다. Here, the predetermined ratio of the threshold may be determined by default, automatically set according to the network and / or server environment, or arbitrarily determined by user setting. In the case of automatic configuration, a predetermined ratio of the threshold may be adjusted according to the frequency of the network and / or the server, the load, and the like. For example, if the frequency of the load is high, a predetermined ratio may be high as a situation of interest. Also. In the case of user setting, the present embodiment may further include a user interface for adjusting a predetermined ratio of the threshold. The predetermined percentage of the threshold may be, for example, 50 to 70% of the threshold described above.

그 외 본 발명의 실시예에 따른 디도스 공격 탐지 및 대응 장치에 대한 구체적인 시스템 구성도, O/S 등의 공통 플랫폼 기술과 통신 프로토콜, I/O 인터페이스 등 인터페이스 표준화 기술 등에 대한 구체적인 설명은 본 발명이 속하는 기술 분야의 통상의 지식을 가진자에게 자명한 사항이므로 생략하기로 한다.In addition, a detailed system configuration diagram of a DDoS attack detection and response device according to an embodiment of the present invention, a common platform technology such as O / S, a communication protocol, and an interface standardization technology such as an I / O interface will be described in detail. As it is obvious to those skilled in the art, it will be omitted.

상기한 바에서, 본 발명의 실시예에 따른 디도스 공격 탐지 및 대응 장치 및 그 방법은 특정 수식 및 임계치의 수치 등을 일 실시예에 따라 기술하였으나, 반드시 이에 한정될 필요는 없고, 상기 수식 및 수치가 달라지더라도 전체적인 작용 및 효과에는 차이가 없다면 이러한 다른 구성은 본 발명의 권리범위에 포함될 수 있으며, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.In the above description, the apparatus for detecting and responding to a DDoS attack according to an embodiment of the present invention, and a method thereof include specific formulas and numerical values of thresholds, according to an exemplary embodiment, but need not be limited thereto. Even if the numerical value is different, if there is no difference in the overall operation and effect, such other configuration may be included in the scope of the present invention, and those of ordinary skill in the art will have the idea of the present invention described in the claims below. It will be understood that various modifications and variations can be made in the present invention without departing from the scope of the invention.

도 1은 본 발명의 실시예에 따른 디도스 공격 탐지 및 대응 장치의 시스템 구성도. 1 is a system configuration diagram of a DDoS attack detection and response device according to an embodiment of the present invention.

도 2a는 본 발명의 제1 실시예에 따른 디도스 공격 탐지 및 대응 장치의 블록 구성도. 2A is a block diagram of an apparatus for detecting and responding to DDoS attacks in accordance with a first embodiment of the present invention.

도 2b는 본 발명의 제1 실시예에 따른 디도스 공격 탐지 및 대응을 위한 수신시간 차의 비교 그래프.2b is a comparison graph of a reception time difference for detecting and responding to a DDoS attack according to the first embodiment of the present invention;

도 3은 본 발명의 제1 실시예에 따른 디도스 공격 탐지 및 대응 방법의 흐름도. 3 is a flowchart of a DDoS attack detection and response method according to the first embodiment of the present invention.

도 4는 본 발명의 제2 실시예에 따른 디도스 공격 탐지 및 대응 장치의 블록 구성도. 4 is a block diagram illustrating a device for detecting and responding to a DDoS attack according to a second embodiment of the present invention.

도 5는 본 발명의 제2 실시예에 따른 디도스 공격 탐지 및 대응 방법의 흐름도. 5 is a flowchart of a DDoS attack detection and response method according to a second embodiment of the present invention.

도 6a는 본 발명의 제3 실시예에 따른 정상적인 사용자에 의한 요청(request)의 분포를 나타낸 그래프. 6A is a graph showing the distribution of requests by a normal user according to a third embodiment of the present invention.

도 6b는 본 발명의 제3 실시예에 따른 정상적인 사용자 및 디도스 공격에 의한 요청(request)의 분포를 나타낸 그래프. 6B is a graph showing the distribution of requests due to normal user and DDoS attacks according to the third embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

110 : 클라이언트 단말기 120 : 웹서버110: client terminal 120: web server

130 : 디도스 공격 탐지 및 대응 장치 132 : 수신부130: DDoS attack detection and response device 132: Receiver

133 : 시간 정보 산출부 134 : 데이터 측정부133: time information calculation unit 134: data measurement unit

135 : 시간 분포 산출부 136, 139 : 디도스 판별부135: time distribution calculation unit 136, 139: ddos determination unit

137 : 시간 정보 비교부 138 : 차단부137: time information comparing unit 138: blocking unit

140 : 네트워크140: network

Claims (5)

소정의 IP로 특정되는 클라이언트 단말기로부터 HTTP 요청을 수신하는 수신부;A receiving unit which receives an HTTP request from a client terminal specified by a predetermined IP; 상기 HTTP 요청의 수신시간을 소정의 관측시간동안 측정하여 HTTP 요청간의 수신시간 차를 산출하는 시간 정보 산출부;A time information calculator for measuring a reception time of the HTTP request for a predetermined observation time and calculating a difference in reception time between HTTP requests; 상기 HTTP 요청의 상기 수신시간 차의 분포를 산출하는 시간 분포 산출부;A time distribution calculator for calculating a distribution of the difference in reception time of the HTTP request; 상기 산출된 수신시간 차의 분포값을 미리 저장된 정상 트래픽 분포 정보와 비교하고, 상기 정상 트래픽 분포 정보 보다 큰 분포값을 합산한 합산값을 생성하는 시간 정보 비교부;A time information comparison unit for comparing the calculated distribution time difference between the received time difference with pre-stored normal traffic distribution information and generating a sum value obtained by adding a distribution value larger than the normal traffic distribution information; 상기 합산값을 소정의 임계치와 비교하고, 상기 합산값이 소정의 임계치보다 큰 경우 상기 IP의 클라이언트 단말기의 접속을 디도스 공격으로 탐지하는 디도스 판별부; 및A dos determination unit for comparing the sum value with a predetermined threshold value and detecting a connection of the client terminal of the IP as a dos attack if the sum value is larger than a predetermined threshold value; And 상기 디도스 판별부가 디도스 공격으로 탐지하는 경우 상기 클라이언트 단말기의 접속을 차단하는 차단부를 포함하는 분포 기반 디도스 공격 탐지 및 대응 장치. And a blocking unit which blocks a connection of the client terminal when the DDoS determination unit detects the DDoS attack. 제1항에 있어서, The method of claim 1, 상기 합산값은 상기 분포값의 상기 정상 트래픽 분포 정보에 대한 초과값을 합산한 것을 특징으로 하는 분포 기반 디도스 공격 탐지 및 대응 장치. The sum value is a distribution-based DDoS attack detection and response device, characterized in that the sum of the excess value for the normal traffic distribution information of the distribution value. 제1항에 있어서, The method of claim 1, 상기 시간 분포 산출부는,The time distribution calculator, 상기 수신시간 차의 분포를 상기 HTTP 요청의 전체 모집단에 대한 비율에 대해 산출하는 것을 특징으로 하는 분포 기반 디도스 공격 탐지 및 대응 장치. The distribution-based DDoS attack detection and response device, characterized in that for calculating the distribution of the difference in the reception time with respect to the ratio of the entire population of the HTTP request. 제3항에 있어서, The method of claim 3, 상기 임계치는 상기 관측시간이 10초인 경우 40 ~ 60%인 것을 특징으로 하는 분포 기반 디도스 공격 탐지 및 대응 장치. The threshold is distributed based DDoS attack detection and response device, characterized in that 40 ~ 60% when the observation time is 10 seconds. 제1항에 있어서, The method of claim 1, 상기 합산값을 상기 임계치와 비교하고, 상기 합산값이 상기 임계치의 소정 비율보다 큰 경우 상기 디도스 판별부의 작동을 개시하는 판별 개시부를 더 포함하는 분포 기반 디도스 공격 탐지 및 대응 장치. And a determination initiation unit for comparing the sum value with the threshold and starting the operation of the dos determination unit when the sum value is greater than a predetermined ratio of the threshold value.
KR1020090111217A 2009-11-18 2009-11-18 Distribution based DDoS attack detection and response device KR101061377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090111217A KR101061377B1 (en) 2009-11-18 2009-11-18 Distribution based DDoS attack detection and response device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090111217A KR101061377B1 (en) 2009-11-18 2009-11-18 Distribution based DDoS attack detection and response device

Publications (2)

Publication Number Publication Date
KR20110054537A true KR20110054537A (en) 2011-05-25
KR101061377B1 KR101061377B1 (en) 2011-09-02

Family

ID=44363711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090111217A KR101061377B1 (en) 2009-11-18 2009-11-18 Distribution based DDoS attack detection and response device

Country Status (1)

Country Link
KR (1) KR101061377B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101149587B1 (en) * 2011-10-31 2012-05-29 한국인터넷진흥원 Method for detecting signaling dos traffic in 3g wcdma networks
US8966627B2 (en) 2011-09-16 2015-02-24 Electronics And Telecommunications Research Institute Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session
KR101713911B1 (en) 2015-10-06 2017-03-09 주식회사 윈스 Method and system for providing loss protection service of high speed continuous data in network
JP2019021294A (en) * 2017-07-17 2019-02-07 エーオー カスペルスキー ラボAO Kaspersky Lab SYSTEM AND METHOD OF DETERMINING DDoS ATTACKS

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101419861B1 (en) 2013-07-30 2014-07-16 (주) 시스메이트 Apparatus and Method for Managing Session and Protecting DDOS Attack Consuming Session Resource by Managing Session and Using Packet according to Refined Half-Close Order

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100632204B1 (en) * 2004-03-31 2006-10-09 아주대학교산학협력단 Attack detection device on network and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966627B2 (en) 2011-09-16 2015-02-24 Electronics And Telecommunications Research Institute Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session
KR101149587B1 (en) * 2011-10-31 2012-05-29 한국인터넷진흥원 Method for detecting signaling dos traffic in 3g wcdma networks
WO2013065886A1 (en) * 2011-10-31 2013-05-10 한국인터넷진흥원 Detection method for signaling dos traffic in mobile communication networks
KR101713911B1 (en) 2015-10-06 2017-03-09 주식회사 윈스 Method and system for providing loss protection service of high speed continuous data in network
JP2019021294A (en) * 2017-07-17 2019-02-07 エーオー カスペルスキー ラボAO Kaspersky Lab SYSTEM AND METHOD OF DETERMINING DDoS ATTACKS

Also Published As

Publication number Publication date
KR101061377B1 (en) 2011-09-02

Similar Documents

Publication Publication Date Title
KR101061375B1 (en) JR type based DDoS attack detection and response device
KR101077135B1 (en) Apparatus for detecting and filtering application layer DDoS Attack of web service
US11316878B2 (en) System and method for malware detection
US8966627B2 (en) Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session
US8001601B2 (en) Method and apparatus for large-scale automated distributed denial of service attack detection
US11297098B2 (en) DDoS defence in a packet-switched network
US11729209B2 (en) Distributed denial-of-service attack mitigation with reduced latency
US8844034B2 (en) Method and apparatus for detecting and defending against CC attack
US10911473B2 (en) Distributed denial-of-service attack detection and mitigation based on autonomous system number
US11005865B2 (en) Distributed denial-of-service attack detection and mitigation based on autonomous system number
KR101424490B1 (en) Reverse access detecting system and method based on latency
US20110016523A1 (en) Apparatus and method for detecting distributed denial of service attack
KR101061377B1 (en) Distribution based DDoS attack detection and response device
CN113518057B (en) Method and device for detecting distributed denial of service attack and computer equipment thereof
JP2004356915A (en) System and apparatus for information processing, program, and method for detecting abnormality of communication through communication network
EP2112800B1 (en) Method and system for enhanced recognition of attacks to computer systems
JP2017147558A (en) Aggression detector, aggression detection system and aggression detection method
Singh et al. Denial of service attack: analysis of network traffic anormaly using queuing theory
KR101587845B1 (en) Method for detecting distributed denial of services attack apparatus thereto
KR20070083089A (en) Method for analysis of malicious traffic
KR101686472B1 (en) Network security apparatus and method of defending an malicious behavior
KR20170011598A (en) System, method and computer program for detecting and blocking the denial of service attack
Alagiya et al. Performance analysis and enhancement of utm device in local area network
JP2007166154A (en) Attack detection apparatus, attack detection method, and attack detection program
KR101794746B1 (en) Method, firewall system and computer-readable recording medium for detecting intrusion of network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140813

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150813

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee