KR101077136B1 - IP filtering method for countering DDoS attacks based on history - Google Patents

IP filtering method for countering DDoS attacks based on history Download PDF

Info

Publication number
KR101077136B1
KR101077136B1 KR1020090128211A KR20090128211A KR101077136B1 KR 101077136 B1 KR101077136 B1 KR 101077136B1 KR 1020090128211 A KR1020090128211 A KR 1020090128211A KR 20090128211 A KR20090128211 A KR 20090128211A KR 101077136 B1 KR101077136 B1 KR 101077136B1
Authority
KR
South Korea
Prior art keywords
address
source
addresses
destination
ddos
Prior art date
Application number
KR1020090128211A
Other languages
Korean (ko)
Other versions
KR20110034530A (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 한국인터넷진흥원
Publication of KR20110034530A publication Critical patent/KR20110034530A/en
Application granted granted Critical
Publication of KR101077136B1 publication Critical patent/KR101077136B1/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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

Landscapes

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

Abstract

히스토리 기반 DDoS 대응 방법이 개시된다. (a) 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하는 단계, (b) 상기 목적 IP 어드레스별 상기 소스 IP 어드레스의 수를 제1 임계치와 비교하는 단계, (c) 상기 소스 IP 어드레스의 수가 상기 제1 임계치 이상인 상기 목적 IP 어드레스를 특정하는 단계, (d) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 기록하는 단계, (e) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 제2 임계치와 비교하는 단계, (f) 상기 소스 IP 어드레스의 수가 상기 제2 임계치 이상인 경우 상기 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하는 단계 및 (g) 상기 저장된 소스 IP 어드레스에 상기 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여하는 단계를 포함하는 히스토리 기반 DDoS 대응 방법은 샘플링을 통해 모니터링되는 IP 어드레스 세트를 감소시키고 메모리 크기를 줄이며 기존의 연결 상태를 효과적으로 보호할 수 있는 효과가 있다. A history based DDoS response method is disclosed. (a) recording the number of source IP addresses that access the destination IP address, (b) comparing the number of source IP addresses per destination IP address with a first threshold, (c) the source IP address of Specifying the destination IP address whose number is greater than or equal to the first threshold; (d) recording the number of the source IP addresses that access the specified destination IP address; (e) accessing the specified destination IP address. Comparing the number of source IP addresses with a second threshold; (f) determining that a DDoS attack is initiated against the specified destination IP address if the number of source IP addresses is greater than or equal to the second threshold; and (g) The history-based DDoS correspondence method comprising assigning the stored source IP address a high priority for accessing the specified destination IP address. Sampling reduces the set of monitored IP addresses, reduces memory size, and effectively protects existing connections.

DDoS, 히스토리, 샘플링, 메모리. DDoS, History, Sampling, Memory.

Description

히스토리 기반 DDoS 대응 방법{IP filtering method for countering DDoS attacks based on history}IP filtering method for countering DDoS attacks based on history}

본 발명은 전자 기기에 관한 것으로, 특히 히스토리 기반 DDoS 대응 방법에 관한 것이다.The present invention relates to an electronic device, and more particularly, to a history-based DDoS response method.

DoS(denial of service) 공격은 네트워크 또는 서버에서 제공되는 서비스를 방해하기 위한 악의적인 시도이다. 요즘, DoS 공격은 봇넷(botnet)을 통해 수천대의 좀비 PC를 이용함으로써 DDoS(distributed denial of service) 공격으로 강화되었다. DDoS 공격을 방어하기 위해 많은 방어 메커니즘이 제안되었으나, 최근에는 그 공격이 정상적인 트래픽과 유사하여 방어에 어려움을 겪고 있다. Denial of service (DoS) attacks are malicious attempts to disrupt services provided by a network or server. Nowadays, DoS attacks have been enhanced with distributed denial of service (DDoS) attacks by using thousands of zombie PCs via botnets. Many defense mechanisms have been proposed to defend against DDoS attacks, but recently, the attacks are difficult to defend because they are similar to normal traffic.

기존에 연구된 히스토리 기반 DDoS 공격대응 알고리즘은 적게는 며칠, 많게는 최근 몇 달간 접속한 적이 있던 IP를 화이트 리스트(whitelist)로 관리하고 있다가 특정 시점에 다수의 IP들로부터 DDoS 공격을 받게 될 때, 기존에 접속한 기록이 있는 화이트 리스트를 중심으로 높은 우선 순위를 부여하여 접속을 허용하고, DDoS 공격상황에서 처음 발생한 IP로부터의 패킷은 필터링하는 알고리즘을 의미한다. Historically, the history-based DDoS attack response algorithm manages whitelisted IPs that have been accessed for a few days or more in recent months. When a DDoS attack is received from multiple IPs at a given time, It is an algorithm that allows access by giving high priority to the white list with existing access records and filtering packets from IP that is first generated in DDoS attack situation.

또한, 만약 소수의 기기가 특정 서버에 DDoS 공격을 수행하는 경우, 이러한 공격 기기의 IP 어드레스는 플로우 상태를 관리하지 않더라도 비교적 쉽게 탐지될 수 있다. 반면, 매우 많은 기기가 DDoS 공격에 참여하는 경우, DDoS 공격을 수행하는 IP 어드레스는 거의 그 전에 웹 사이트에 보이지 않기 때문에, 갑자기 늘어난 IP 어드레스가 그 전에 해당 웹 사이트에 통상적으로 존재하였는지 관찰함으로써 악의적인 IP 어드레스를 감지할 수 있다. 종래 기술에 따르면, 상술한 관찰 방식에 기반하여 새로운 IP 어드레스가 증가하였는지 모니터링함으로써 DDoS 공격을 감지하는 방법이 제시된다. In addition, if a small number of devices perform a DDoS attack on a particular server, the IP address of the attacking device can be detected relatively easily without managing the flow status. On the other hand, if a large number of devices participate in a DDoS attack, the IP address carrying out the DDoS attack is almost invisible to the Web site before, so it is malicious to observe whether the sudden increase in IP address has normally existed on that Web site before. IP address can be detected. According to the prior art, a method of detecting a DDoS attack by monitoring whether the new IP address has increased based on the above-described observation scheme is proposed.

그러나, 종래 기술에 따르면, 히스토리 기반 대응방법은 공격자의 입장에서 우회하기가 매우 쉽다. 즉, 본격적인 DDoS 공격을 발생시키 전, 패킷을 보내는 것만으로 충분히 방어를 우회할 수 있는 문제점이 있다. 또한, 종래 기술에 따르면, 메모리는 고려하지 않기 때문에 고속 링크 또는 하이 프로필 웹사이트(high profile website)에 대해서는 플로우 마다의 정보 관리가 매우 어려운 실정이다. However, according to the prior art, the history-based countermeasure is very easy to bypass from the attacker's point of view. In other words, there is a problem that it is possible to bypass the defense sufficiently by sending a packet before generating a full-scale DDoS attack. In addition, according to the related art, since memory is not taken into consideration, it is very difficult to manage information on a flow-by-flow basis for a high-speed link or a high profile website.

또한, 종래 기술에 따르면, DDoS 공격시 클라이언트 단말기의 수가 늘어나는 경우, 대부분의 클라이언트 단말기는 전에 보지 못했던 새로운 IP 어드레스를 가지며, 이러한 관찰에 기반하여, IP 이력 데이터베이스를 사용하였다. 그러나 종래 기술은 플로우마다 상태 관리를 요구하여, 계산이 복잡하고 과도하게 메모리를 요구하기 때문에 에지 라우터에서는 이용할 수 없는 문제점이 있다. In addition, according to the related art, when the number of client terminals increases during a DDoS attack, most client terminals have new IP addresses not seen before, and based on these observations, an IP history database is used. However, the prior art requires a state management for each flow, which is a problem that cannot be used in an edge router because the computation is complicated and requires excessive memory.

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The background art described above is technical information possessed by the inventors for the derivation of the present invention or acquired during 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.

본 발명은 IP 이력 정보에 기반하여 기존 플로우와 새로운 플로우에 대해 서로 다른 우선 순위를 부여함으로써 네트워크를 보호할 수 있는 히스토리 기반 DDoS 대응 방법을 제공하기 위한 것이다. The present invention is to provide a history-based DDoS response method that can protect the network by assigning different priorities to the existing flow and the new flow based on the IP history information.

또한, 본 발명은 DDoS 공격을 당하는 기기는 많은 기기에 의해 접근 가능하므로, 샘플링을 통해 소수의 패킷을 탐지하여도, 피해 기기를 쉽게 감지할 수 있는 점을 이용하여 첫 단계에서 샘플링을 통해 모니터링되는 IP 어드레스 세트를 감소시키고 메모리 크기를 줄이며 기존의 연결 상태를 효과적으로 보호할 수 있는 히스토리 기반 DDoS 대응 방법을 제공하기 위한 것이다. In addition, in the present invention, since a device subjected to a DDoS attack is accessible by many devices, even if a small number of packets are detected through sampling, the device is monitored through sampling at the first stage by using a point that can easily detect a damaged device. It is intended to provide a history-based DDoS countermeasure that can reduce the set of IP addresses, reduce memory size, and effectively protect existing connectivity.

또한, 본 발명은 샘플링을 통해 모니터링되는 트래픽의 양을 조정함으로써 프로세싱 및 메모리 요구 사항을 줄일 수 있으며, 특히, 주어진 서브 네트워크의 보호에 초점을 두어 많은 외부 IP 어드레스에 의해 접근가능한 호스트만을 모니터링함으로써, 플로우마다의 상태 관리를 회피할 수 있는 히스토리 기반 DDoS 대응 방법을 제공하기 위한 것이다. In addition, the present invention can reduce processing and memory requirements by adjusting the amount of traffic monitored through sampling, in particular by monitoring only hosts accessible by many external IP addresses, focusing on the protection of a given subnetwork, It is to provide a history-based DDoS response method that can avoid the state management for each flow.

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

본 발명의 일 측면에 따르면, (a) 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하는 단계; (b) 상기 목적 IP 어드레스별 상기 소스 IP 어드레스의 수를 제1 임계치와 비교하는 단계; (c) 상기 소스 IP 어드레스의 수가 상기 제1 임계치 이상인 상기 목적 IP 어드레스를 특정하는 단계; (d) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 기록하는 단계; (e) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 제2 임계치와 비교하는 단계; (f) 상기 소스 IP 어드레스의 수가 상기 제2 임계치 이상인 경우 상기 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하는 단계 및 (g) 상기 저장된 소스 IP 어드레스에 상기 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여하는 단계를 포함하는 히스토리 기반 DDoS 대응 방법이 제공된다. According to one aspect of the invention, (a) recording the number of source IP address to access the destination IP address; (b) comparing the number of source IP addresses per destination IP address with a first threshold; (c) specifying the destination IP address whose number of source IP addresses is greater than or equal to the first threshold; (d) recording the number of source IP addresses that access the specified destination IP address; (e) comparing the number of source IP addresses that access the specified destination IP address with a second threshold; (f) determining that a DDoS attack is initiated against the specified destination IP address if the number of source IP addresses is greater than or equal to the second threshold and (g) accessing the specified destination IP address to the stored source IP address. There is provided a history based DDoS countermeasure method comprising the step of assigning a high priority.

여기서, 상기 (a) 단계와 상기 (d) 단계는, 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 대응값을 해시값으로 변환하여 저장할 수 있다. Here, in step (a) and step (d), the corresponding value of the destination IP address and the source IP address may be converted into a hash value and stored.

또한, 상기 (a) 단계와 상기 (d) 단계는, 상기 소스 IP 어드레스를 블룸 필터에 등록할 수 있으며, 상기 블룸 필터는 서로 다른 상기 목적 IP 어드레스에 대해 공유될 수 있다. In addition, in step (a) and step (d), the source IP address may be registered in a bloom filter, and the bloom filter may be shared for different destination IP addresses.

여기서, 상기 (d) 단계는, 상기 블룸 필터는 미리 설정된 시간 구간 동안 상 기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷의 유무를 판단하기 위한 타이머를 포함하되, 상기 시간 구간 동안 상기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷이 없는 경우 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 연결은 끊긴 것으로 판단할 수 있다. Here, the step (d), the bloom filter includes a timer for determining the presence or absence of packets transmitted between the target IP address and the source IP address for a predetermined time interval, the target IP during the time interval If there is no packet transmitted between the address and the source IP address, it may be determined that the connection between the destination IP address and the source IP address is lost.

또한, 상기 제2 임계치는 상기 제1 임계치보다 클 수 있으며, 상기 목적 IP 어드레스는 에지 라우터에 연결되는 단말기의 IP 어드레스가 될 수 있다. The second threshold may be greater than the first threshold, and the destination IP address may be an IP address of a terminal connected to the edge router.

본 발명의 다른 측면에 따르면, 상술한 히스토리 기반 DDoS 대응 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체가 제공될 수 있다.According to another aspect of the present invention, in order to perform the above history-based DDoS corresponding method, a program of instructions that can be executed by a digital processing apparatus is tangibly embodied, and a recording medium recording a program that can be read by the digital processing apparatus. May be provided.

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

본 발명에 따른 히스토리 기반 DDoS 대응 방법은 IP 이력 정보에 기반하여 기존 플로우와 새로운 플로우에 대해 서로 다른 우선 순위를 부여함으로써 네트워크를 보호할 수 있는 효과가 있다. The history-based DDoS response method according to the present invention has an effect of protecting a network by assigning different priorities to existing flows and new flows based on IP history information.

또한, 본 발명은 DDoS 공격을 당하는 기기는 많은 기기에 의해 접근 가능하므로, 샘플링을 통해 소수의 패킷을 탐지하여도, 피해 기기를 쉽게 감지할 수 있는 점을 이용하여 첫 단계에서 샘플링을 통해 모니터링되는 IP 어드레스 세트를 감소 시키고 메모리 크기를 줄이며 기존의 연결 상태를 효과적으로 보호할 수 있는 효과가 있다. In addition, in the present invention, since a device subjected to a DDoS attack is accessible by many devices, even if a small number of packets are detected through sampling, the device is monitored through sampling at the first stage by using a point that can easily detect a damaged device. This reduces the set of IP addresses, reduces memory size, and effectively protects existing connections.

또한, 본 발명은 샘플링을 통해 모니터링되는 트래픽의 양을 조정함으로써 프로세싱 및 메모리 요구 사항을 줄일 수 있으며, 특히, 주어진 서브 네트워크의 보호에 초점을 두어 많은 외부 IP 어드레스에 의해 접근가능한 호스트만을 모니터링함으로써, 플로우마다의 상태 관리를 회피할 수 있는 효과가 있다. In addition, the present invention can reduce processing and memory requirements by adjusting the amount of traffic monitored through sampling, in particular by monitoring only hosts accessible by many external IP addresses, focusing on the protection of a given subnetwork, There is an effect that the state management for each flow can be avoided.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.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.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.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), 서버(150), 내부 사용자(160)가 도시된다. 1 is a network diagram including a history-based DDoS detection apparatus according to an embodiment of the present invention. Referring to FIG. 1, an attacker 110, an external user 120, a network 130, a router 140, a server 150, and an internal user 160 are shown.

본 실시예는 크게 두 단계를 수행하여 메모리를 효율적으로 이용하면서 DDoS 공격을 방어할 수 있는 특징이 있다. 본 발명은 DDoS 공격시 등장하는 새로운 IP 어드레스에 대응하기 위하여 IP 이력 데이터베이스를 사용하며, DDoS 공격 플로우를 정상 플로우와 구별하기 위해, 본 명세서에서는 IP 이력 데이터베이스를 'LEA'(List of Existing IP Addresses)로 지칭한다. This embodiment is characterized by being able to prevent DDoS attacks while efficiently using memory by performing two steps. The present invention uses an IP history database to correspond to a new IP address appearing during a DDoS attack. In order to distinguish a DDoS attack flow from a normal flow, in the present specification, the IP history database is referred to as 'LEA' (List of Existing IP Addresses). Refer to.

본 실시예에 따른 DDoS 방어 메커니즘은 다음과 같은 두 단계를 포함할 수 있다. 첫 번째 단계에서는 LEA에 대한 메모리 사이즈를 줄이기 위해서, 샘플링을 통해 많은 외부 커넥션을 가지는 내부 IP 어드레스를 선택한다. 두 번째 단계에서는, 첫 번째 단계에서 선택된 IP 어드레스에 대해서만 LEA를 기록하여 저장한다. LEA 작성 후, 특정 내부 IP 어드레스에 접근하는 외부 IP 어드레스의 수가 미리 설정된 임계치를 넘는 경우, 이는 DDoS 공격으로 간주되고, 미리 저장된 LEA의 정보에 기반하여 현재 커넥션은 새로운 커넥션 시도보다 높은 우선 순위를 가진다. The DDoS defense mechanism according to the present embodiment may include the following two steps. In the first step, to reduce the memory size for the LEA, sampling selects an internal IP address with many external connections. In the second step, the LEA is recorded and stored only for the IP address selected in the first step. After the LEA is created, if the number of external IP addresses accessing a specific internal IP address exceeds a preset threshold, it is considered a DDoS attack, and the current connection has a higher priority than a new connection attempt based on the information of the pre-stored LEA. .

공격자(110)와 외부 사용자(120)는 유무선 네트워크(130)에 연결되며, 라우터(140)를 경유하여 서버(150) 및 내부 사용자(160)에 연결될 수 있다. 공격자(110), 외부 사용자(120), 서버(150) 및 내부 사용자(160)는 통신이 가능한 단말기를 지칭한다. 서버(150) 및 내부 사용자(160)는 라우터(140)에 연결되어 이를 통해 네트워크(130)에 결합하므로, 공격자(110)와 외부 사용자(120)와 구분하기 위해 내부 IP 어드레스를 가지는 것으로 지칭된다. 여기서, 라우터(140)는 에지(edge) 라우터가 될 수 있다. The attacker 110 and the external user 120 may be connected to the wired / wireless network 130 and may be connected to the server 150 and the internal user 160 via the router 140. The attacker 110, the external user 120, the server 150, and the internal user 160 refer to terminals that can communicate. Server 150 and internal user 160 are referred to as having an internal IP address to distinguish them from attacker 110 and external user 120 because they connect to router 140 and thereby connect to network 130. . Here, the router 140 may be an edge router.

본 실시예에 따른 히스토리 기반 DDoS 탐지 장치는 에지 라우터, DDoS 전용 장비 등에서 적용될 수 있으며, 내부의 시스템을 보호하는 것이 목적이므로 내부 시스템으로 유입되는 인바운드(Inbound) 트래픽에 대해 적용될 수 있다. The history-based DDoS detection apparatus according to the present embodiment may be applied to edge routers, DDoS-dedicated equipment, and the like, and may be applied to inbound traffic flowing into the internal system because the purpose is to protect the internal system.

본 실시예의 첫 번째 단계는 유입되는 모든 트래픽에서 대해 히스토리 기반 대응 모듈을 적용하는 것은 연산량 및 관리할 데이터 크기 등이 커서 비효율적이므로, 데이터량을 줄이기 위해 적용된다. 또한, 본 실시예의 두 번째 단계는 첫 번째 단계에서 샘플링된 목적 IP 어드레스에 대해서만 종래 접속한 소스 IP 어드레스 목록을 작성하여 관리한다. 이하에서 이러한 두 단계에 대해 상세히 설명한다. The first step of this embodiment is to apply the history-based correspondence module to all the incoming traffic is inefficient because of the large amount of computation and the size of data to be managed, it is applied to reduce the amount of data. In addition, the second step of the present embodiment creates and manages a list of source IP addresses that are conventionally accessed only for the destination IP address sampled in the first step. The two steps are described in detail below.

도 2는 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 블록 구성도이다. 도 2를 참조하면, 제1 연결 상태 테이블(141), 제1 블룸 필터(142), 제2 연결 상태 테이블(143), 제2 블룸 필터(144), 저장부(145), 제어부(146)가 도시된다. 2 is a block diagram of a history-based DDoS detection apparatus according to an embodiment of the present invention. 2, a first connection state table 141, a first bloom filter 142, a second connection state table 143, a second bloom filter 144, a storage unit 145, and a controller 146. Is shown.

본 실시예에 따른 첫 번째 단계에서, 각 패킷은 소스 IP 어드레스 및 목적 IP 어드레스의 쌍으로 분류되는데, 이를 균일 랜덤 해시값으로 변환하여, 샘플링 패킷들을 대상으로 DDoS 공격발생여부를 탐지한다. In the first step according to this embodiment, each packet is classified into a pair of source IP address and destination IP address, which is converted into a uniform random hash value to detect whether a DDoS attack has occurred on the sampling packets.

샘플링한 패킷들에 대해 제1 연결 상태 테이블(141)을 관리한다. 제1 연결 상태 테이블(141)을 관리하기 위해 제1 블룸 필터(142)가 사용될 수 있다. 제1 연결 상태 테이블(141)에서 소스 IP 어드레스의 수가 제1 임계치를 넘는 목적 IP 어드레스에 대해서는 두 번째 단계로 넘어간다. 제1 연결 상태 테이블(141)에서 관리하는 정보는 각 목적 IP 어드레스별, 단위시간 당 유입된 소스 IP 어드레스의 수가 될 수 있다. The first connection state table 141 is managed for the sampled packets. The first bloom filter 142 may be used to manage the first connection state table 141. For a destination IP address in the first connection state table 141 where the number of source IP addresses exceeds the first threshold, the second step is passed. Information managed in the first connection state table 141 may be the number of source IP addresses introduced per unit time for each destination IP address.

본 실시예에 따른 첫 번째 단계의 목적은 유입되는 트래픽 분석에 있어 모든 패킷을 분석하는 것이 아니라, 샘플링한 패킷을 대상으로 보는 것과 모든 목적 IP 어드레스에 대해서 분석하는 것이 아니라, 일정 이상의 유입 트래픽이 발생하는 시스템에 대해서 DDoS 대응기능을 적용하기 위한 것이다. 특정 목적 IP 어드레스에 해당하는 소스 IP 어드레스 수가 제1 임계치를 넘는 경우, 제1 연결 상태 테이 블(141)에서 해당 데이터를 모두 삭제하고, 해당 목적 IP 어드레스는 두 번째 단계에서 관리하는 제2 연결 상태 테이블(143)로 옮겨가게 된다. 물론, 제1 연결 상태 테이블(141)의 해당 목적 IP 어드레스는 제2 연결 상태 테이블(143)에 저장되어 이용될 수 있다. The purpose of the first step according to the present embodiment is not to analyze all packets in incoming traffic analysis, but to view sampled packets and not to analyze all destination IP addresses. It is to apply DDoS response function to the system. If the number of source IP addresses corresponding to the specific destination IP address exceeds the first threshold, all the corresponding data is deleted from the first connection state table 141, and the destination IP address is the second connection state managed in the second step. The table 143 is moved. Of course, the corresponding destination IP address of the first connection state table 141 may be stored and used in the second connection state table 143.

또한, 본 실시예에 따른 두 번째 단계는, 첫 번째 단계를 통과한 목적 IP 어드레스에 대해서 수행된다. 두 번째 단계에서는 목적 IP 어드레스를 대상으로 제2 연결 상태 테이블(143)이 관리되며, 여기서 관리되는 정보는 목적 IP 어드레스별 접속한 소스 IP 어드레스 개수 및 각 소스 IP 어드레스별 타이머가 될 수 있다. In addition, the second step according to the present embodiment is performed for the destination IP address passing through the first step. In the second step, the second connection state table 143 is managed for the target IP address, and the managed information may be the number of connected source IP addresses for each target IP address and a timer for each source IP address.

타이머는 제2 블룸 필터(144)에 구비될 수 있으며, 신규 소스 IP 어드레스가 유입되거나, 기존에 유입되었던 소스 IP 어드레스가 재유입되면 미리 설정된 시간인 R로 설정된다. 타이머는 특정 시간당 1씩 줄어들며 0이 되면, 해당 소스 IP 어드레스는 제2 블룸 필터(144)에서 삭제된다. 즉, 특정 소스 IP 어드레스에서 R 시간동안 트래픽 유입이 없으면 해당 IP는 삭제된다. The timer may be provided in the second bloom filter 144 and set to R, which is a preset time when a new source IP address is introduced or a previously introduced source IP address is introduced again. When the timer is decremented by 1 per specific time and becomes 0, the corresponding source IP address is deleted from the second bloom filter 144. That is, if there is no traffic inflow for R time from a specific source IP address, the corresponding IP is deleted.

제2 연결 상태 테이블(143)에서 목적 IP 어드레스별 접속한 소스 IP 어드레스의 수가 관리되는데, 그 수가 제2 임계치를 초과하는 소스 IP 어드레스가 발생하면, 이는 해당 목적 IP 어드레스에 대해 DDoS 공격이 발생한 것으로 판단할 수 있다. 이때, 제2 임계치의 수만큼 관리되고 있는 소스 IP 어드레스에서의 패킷은 DDoS 공격상황에서도 높은 우선 순위를 부여하여 처리될 수 있도록 설정되고, 제2 임계치를 넘는 선에서 새롭게 접속된 소스 IP 어드레스는 기존에 접속이 없었던 새로운 것이므로, DDoS 공격으로 새롭게 발생된 트래픽으로 예측할 수 있다. 따라서 새로 유입된 소스 IP 어드레스의 패킷은 낮은 우선 순위를 부여하여 처리하도록 한다. In the second connection state table 143, the number of connected source IP addresses for each destination IP address is managed. If a source IP address occurs that exceeds the second threshold, this indicates that a DDoS attack has occurred for the corresponding destination IP address. You can judge. At this time, the packet at the source IP address managed as many as the second threshold is set to be processed with high priority even in the DDoS attack situation, and the newly connected source IP address at the line exceeding the second threshold is existing. Because it is new without access, it can be predicted by the traffic newly generated by DDoS attack. Therefore, the newly introduced packet of the source IP address is given a low priority to be processed.

또한, 제2 임계치는 특정 목적 IP 어드레스에서의 소스 IP 어드레스 개수가 임계치를 초과할 때, DDoS 공격이 발생한 것으로 간주하는 기준이다. 제3 임계치는 반대로 소스 IP 어드레스 개수가 현저히 줄어들어 제2 연결 상태 테이블(143)에서 관리할 필요가 없는 기준을 의미한다. 제3 임계치 이하로 소스 IP 어드레스 개수가 발생하면 정상적인 상황으로 간주하고, 해당 목적 IP 어드레스에 관한 데이터는 제2 연결 상태 테이블(143)에서 모두 삭제될 수 있다. Also, the second threshold is a criterion to consider that a DDoS attack has occurred when the number of source IP addresses in the specific destination IP address exceeds the threshold. The third threshold, on the contrary, refers to a criterion for which the number of source IP addresses is significantly reduced and does not need to be managed in the second connection state table 143. If the number of source IP addresses occurs below the third threshold, it is regarded as a normal situation, and all data regarding the corresponding destination IP address may be deleted from the second connection state table 143.

제1 연결 상태 테이블(141), 제1 블룸 필터(142), 제2 연결 상태 테이블(143) 및 제2 블룸 필터(144)는 제어부(146)에 의해 관리될 수 있다. 제어부(146)는 테이블 및 블룸 필터 관리를 위해 정보 입력, 수정 및 삭제와 같은 기능을 수행할 수 있다. 또한, 본 발명의 다른 실시예에 따르면, 테이블 관리 모듈 및 블룸 필터 관리 모듈을 별도로 구비하여 이러한 모듈에서 제어부(146)의 상술한 기능들을 수행할 수 있다. 제1 연결 상태 테이블(141), 제1 블룸 필터(142), 제2 연결 상태 테이블(143), 제2 블룸 필터(144) 및 제어부(146)는 라우터(140)에 내부 또는 외부에 별도의 하드웨어 또는 소프트웨어로 구현될 수 있다. 저장부(145)는 본 실시예에 따른 변수들, 예를 들면, 제1 내지 제3 임계치를 저장하며, 제어부(146)는 저장부(145)에 액세스하여 필요 정보를 추출하여 이용할 수 있다. The first connection state table 141, the first bloom filter 142, the second connection state table 143, and the second bloom filter 144 may be managed by the controller 146. The controller 146 may perform functions such as information input, modification, and deletion for managing the table and the bloom filter. In addition, according to another embodiment of the present invention, the table management module and the bloom filter management module may be separately provided to perform the above-described functions of the controller 146 in such a module. The first connection state table 141, the first bloom filter 142, the second connection state table 143, the second bloom filter 144, and the controller 146 may be separately inside or outside the router 140. It may be implemented in hardware or software. The storage unit 145 stores the variables according to the present embodiment, for example, the first to third threshold values, and the control unit 146 may access the storage unit 145 to extract and use necessary information.

도 3은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 흐름도이다. 이하에서 설명하는 흐름도는 상술한 히스토리 기반 DDoS 탐지 장치가 수행하는 방법에 대한 흐름도가 될 수 있다. 3 is a flowchart of a history-based DDoS correspondence method according to an embodiment of the present invention. The flowchart described below may be a flowchart of a method performed by the history-based DDoS detection apparatus described above.

단계 S310에서, 소스 IP 어드레스에서 목적 IP 어드레스로 패킷이 유입되는 경우, 단계 S320에서, 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록한다. When the packet flows from the source IP address to the destination IP address in step S310, the number of source IP addresses that access the destination IP address is recorded in step S320.

단계 S330에서, 목적 IP 어드레스별 소스 IP 어드레스의 수를 제1 임계치와 비교하고, 단계 S340에서, 소스 IP 어드레스의 수가 제1 임계치 이상인 특정 목적 IP 어드레스를 추출함으로써 상술한 첫 번째 과정이 수행된다. In step S330, the first process described above is performed by comparing the number of source IP addresses per destination IP address with a first threshold, and extracting a specific destination IP address whose number of source IP addresses is greater than or equal to the first threshold in step S340.

단계 S350에서, 상술한 두 번째 과정을 수행하기 위해서, 특정된 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하고, 단계 S360에서, 특정된 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 제2 임계치와 비교한다. In step S350, in order to perform the above-described second process, the number of source IP addresses that access the specified destination IP address is recorded, and in step S360, the number of source IP addresses that access the specified destination IP address is obtained. Compare with 2 thresholds.

단계 S370에서, 소스 IP 어드레스의 수가 제2 임계치 이상인 경우 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하며, 단계 S380에서, 저장된 소스 IP 어드레스에 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여함으로써 DDoS 공격에 대응할 수 있다. 이하에서는 상술한 바와 같은 DDoS 대응을 위한 두가지 단계에 대해 자세히 설명한다. In step S370, when the number of source IP addresses is greater than or equal to the second threshold, it is determined that a DDoS attack is initiated for the specified destination IP address. In step S380, a high priority for accessing the destination IP address specified in the stored source IP address is determined. By doing so, it can respond to DDoS attacks. Hereinafter, two steps for DDoS correspondence as described above will be described in detail.

도 4는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제1 단계에서 관리되는 테이블의 구조도이다. 4 is a structural diagram of a table managed in a first step of a history-based DDoS correspondence method according to an embodiment of the present invention.

첫 번째 단계에서, 도착하는 패킷들의 소스 및 목적 IP 어드레스 쌍(SrcIP, DstIP)이 샘플링된다. (SrcIP, DstIP) 쌍은 소정의 샘플링 확률(PS)을 이용하여 샘 플링된다. hp는 (SrcIP, DstIP)를 [0, 1)에 매핑시키는 균일 랜덤 해시 함수(uniform random hash function)로 정의된다. s와 d가 도착하는 패킷의 소스 및 목적 IP 어드레스인 경우 hp(s, d) < PS 이면, IP 어드레스 쌍(s, d)은 샘플링된다. In the first step, source and destination IP address pairs (SrcIP, DstIP) of arriving packets are sampled. The (SrcIP, DstIP) pair is sampled using a predetermined sampling probability P S. h p is defined as a uniform random hash function that maps (SrcIP, DstIP) to [0, 1). If s and d are the source and destination IP addresses of the arriving packet, then if h p (s, d) < P S, then the IP address pair (s, d) is sampled.

본 실시예에 따른 첫 번째 단계에서, 도 4에 도시된 바와 같이 제1 연결 상태 테이블 (T1)과 제1 블룸 필터 (B1)를 관리한다. 제1 연결 상태 테이블 (T1)은 미리 설정된 시간 구간 (I1) 동안 특정 목적 IP에 접근하는 IP 어드레스의 수를 카운트한다. DDoS 공격으로부터 내부 노드를 보호하기 위해서, T1에 있는 목적 IP 어드레스에 대해서는 내부 IP 어드레스만을 고려한다. COUNT1(d)은 샘플링된 목적 어드레스(d)에 접근하는 IP 어드레스의 수를 카운트한다. 샘플링된 소스 IP 어드레스가 카운트 되었는지 여부를 체크하기 위해서, 각 샘플링된 소스 IP 어드레스는 제1 블룸 필터 (B1)에 등록되며, 도 4(b)에 도시된 바와 같이 제1 블룸 필터 (B1)의 길이는 M1 비트이고, k개의 해시 함수를 가진다. 본 실시예는 메모리 사이즈를 줄이기 위해서 블룸 필터를 사용하며, 제한된 메모리 공간의 효율성을 높이기 위해서 제1 블룸 필터 (B1)는 서로 다른 목적 IP 어드레스 사이에 공유된다. 제1 블룸 필터 (B1)가 충돌되는 경우 COUNT1(d), 즉, (d)에 접근하는 IP 어드레스의 수는 작게 측정될 수 있으므로, 제1 블룸 필터 (B1)의 크기, 즉, M1은 충돌 가능성이 낮도록 충분히 커야 한다. In the first step according to this embodiment, as shown in FIG. 4, the first connection state table T 1 and the first bloom filter B 1 are managed. The first connection state table T 1 counts the number of IP addresses that access the specific destination IP during the preset time interval I 1 . To protect internal nodes from DDoS attacks, only internal IP addresses are considered for the destination IP address in T 1 . COUNT1 (d) counts the number of IP addresses that access the sampled destination address d. In order to check whether the sampled source IP address has been counted, each sampled source IP address is registered with the first bloom filter B 1 , and as shown in FIG. 4B, the first bloom filter B 1. ) Is M 1 bits long and has k hash functions. The present embodiment uses a bloom filter to reduce the memory size, and in order to increase the efficiency of the limited memory space, the first bloom filter B 1 is shared between different destination IP addresses. If the first bloom filter (B 1 ) collides, the number of IP addresses approaching COUNT1 (d), that is, (d) can be measured small, so that the size of the first bloom filter (B 1 ), i.e., M 1 must be large enough to reduce the probability of collision.

COUNT1(d)의 값이 미리 설정된 제1 임계치(N1) 보다 크다면, IP 어드레스(d)는 공격될 가능성이 있는 것으로 판단되며, DDoS 공격이 활발히 개시할 때까지 두 번째 단계 동안 d에 대해 LEA가 작성된다. COUNT1(d)은 단지 d에 접근하는 샘플링된 소스 어드레스만을 카운트한다. 따라서 본 실시예에 따르면, COUNT1(d)= N1일 때, 실제 d에 접근하는 전체 IP 어드레스의 수는 평균적으로 N1/PS가 된다. If the value of COUNT1 (d) is greater than the preset first threshold value N 1 , the IP address d is determined to be attacked, and for d during the second phase until the DDoS attack is actively initiated. The LEA is created. COUNT1 (d) only counts sampled source addresses that approach d. Therefore, according to this embodiment, when COUNT1 (d) = N 1 , the total number of IP addresses actually accessing d becomes N 1 / P S on average.

두 번째 단계를 고려하기 전에, 제1 연결 상태 테이블 (T1)의 충돌에 대해 설명한다. 소스 어드레스(s)에서 d까지 가는 첫 번째 패킷이 본 실시예에 따른 DDoS 탐지 장치를 포함하는 라우터에 도착하는 경우, 목적 어드레스(d)에 대한 커넥션 정보가 제1 연결 상태 테이블 (T1)의 행(ha(d))에 저장된다. 여기서, ha(d)는 균일 랜덤 해시 함수이다. 목적 어드레스 d1이 해시 함수 ha에 의해 행(r)에 매핑될 때, 만약 그 행에 다른 어드레스 d2가 저장되어 있다면, 이러한 종류의 경합은 제1 연결 상태 테이블 (T1)에서의 충돌이라고 지칭된다. 이러한 종류의 충돌은 무시할 수 없는 확률로 일어나며, 방어 시스템에 심각한 영향을 끼칠 수 있으므로, 엔트리 관리 정책은 충돌의 경우 매우 중요하다. Before considering the second step, the collision of the first connection state table T 1 will be described. When the first packet from the source address s to d arrives at the router including the DDoS detection apparatus according to the present embodiment, the connection information for the destination address d is determined in the first connection state table T 1 . Stored in row h a (d). Where h a (d) is a uniform random hash function. When the destination address d 1 is mapped to a row r by the hash function h a , if another address d 2 is stored in that row, this kind of contention would conflict in the first linked state table T 1. It is referred to as. This kind of collision occurs with a negligible probability and can have a serious impact on the defense system, so entry management policies are very important in the event of a collision.

본 실시예에 따르면, 다음과 같이 제1 연결 상태 테이블 (T1)의 엔트리를 관리한다. 많은 IP 어드레스에 연결된 IP 어드레스는 DDoS 공격의 대상이 될 수 있으므로, 제1 연결 상태 테이블에 유지될 필요가 있다. 따라서 본 실시예에 따르면, 다음과 같은 방식에 의해 제1 연결 상태 테이블 (T1)의 경합을 관리한다. 즉, 새로운 IP 어드레스 dn이 다른 IP 어드레스 do가 저장된 행에 도달하는 경우, COUNT1(do) > 1이라면, 예전 IP 어드레스 do을 위해 엔트리를 보유하고, 만약 COUNT1(do) = 1이라면, 새로운 IP 어드레스가 예전 IP 어드레스 대신 엔트리에 저장된다. According to this embodiment, the entry of the first connection state table T 1 is managed as follows. IP addresses linked to many IP addresses may be subject to a DDoS attack and therefore need to be maintained in the first connection state table. Therefore, according to the present embodiment, contention of the first connection state table T 1 is managed in the following manner. That is, if the new IP address d n reaches a row where another IP address d o is stored, if COUNT1 (d o )> 1, then the entry is retained for the old IP address d o , and if COUNT1 (d o ) = 1 If so, the new IP address is stored in the entry instead of the old IP address.

만약 IP 어드레스 d가, COUNT1(d)의 값이 N1보다 커서, 첫 번째 단계에서 선택되는 경우, IP 어드레스 d는 DDoS 공격의 대상이 될 확률이 높다. 그러나, 첫 번째 제1 임계치(N1)는 일반적으로 DDoS 탐지를 위해 사용하기에는 너무 작기 때문에 이러한 확률은 이 레벨에서 확실하게 DDoS 공격을 탐지할 수 없다. 첫 번째 제1 임계치(N1)는 단지 작은 수의 IP 어드레스에 의해 접근되는 목적 IP 어드레스를 필터링하기 위해 사용되며, 이러한 목적 IP 어드레스는 DDoS 공격의 대상이 될 확률은 낮다. 따라서, 본 실시예에 따른 두 번째 단계에서는, DDoS 공격 발생시 첫 번째 단계에서 선택된 내부 IP 어드레스들에 접근하도록 허용된 IP 어드레스의 리스트, 즉, LEA를 기록한다. If the IP address d is selected in the first step because the value of COUNT1 (d) is greater than N 1 , the IP address d is likely to be the target of the DDoS attack. However, since the first first threshold N 1 is generally too small to be used for DDoS detection, this probability cannot reliably detect a DDoS attack at this level. The first first threshold N 1 is used to filter destination IP addresses accessed by only a small number of IP addresses, which are less likely to be subject to DDoS attacks. Therefore, in the second step according to the present embodiment, when a DDoS attack occurs, the list of IP addresses allowed to access internal IP addresses selected in the first step, that is, LEA, is recorded.

첫 번째 단계에서 선택되지 않은 목적 IP 어드레스에 대해서는, 접근하는 IP 어드레스의 수가 작기 때문에 어떠한 트래픽 규제도 적용되지 않을 것이다. 첫 번째 단계에서 선택된 목적 IP 어드레스에 대해서는, DDoS 공격의 발생 시 다음과 같은 트래픽 컨트롤이 적용된다. 만약 내부 IP 어드레스에 접근하는 IP 어드레스의 수가 제2 임계치(N2)보다 큰 경우, 내부 IP 어드레스는 DDoS 공격을 받는 것으로 판단되고, LEA에 있는 IP 어드레스들로부터 오는 패킷은 다른 IP 어드레스들로부터 오는 패킷보다 높은 우선 순위를 갖는다. 여기서, N2는 N1/PS 보다 크다. 새로운 IP 어드레스로부터 오는 패킷은 보다 낮은 우선 순위로 서비스되거나 또는 과도한 로드가 발생하는 경우 버려진다. 따라서 본 실시예에 따른 방어 시스템을 가지는 에지 라우터는 LEA 정보에 기반하여 내부 IP 어드레스와 연관된 외부 IP 어드레스의 수를 제한함으로써 패킷의 허용 여부를 제어할 수 있다. 만약, 특정 내부 IP 어드레스에 접근하는 IP 어드레스의 수가 N2보다 작은 경우, 연결되는 외부 IP 어드레스의 수가 다시 N2와 같아질 때까지 새로운 IP 어드레스는 LEA에 등록될 수 있다. 만약, 외부 IP 어드레스의 수가 제3 임계치(N3)(= N1/PS) 보다 작은 경우, 이에 상응하는 내부 IP 어드레스는 DDoS 공격을 받지 않는 것으로 판단되며, 이러한 IP 어드레스를 위한 LEA는 더 이상 관리되지 않는다. For destination IP addresses not selected in the first step, no traffic restrictions will apply because of the small number of IP addresses being accessed. For the destination IP address selected in the first step, the following traffic control is applied when a DDoS attack occurs. If the number of IP addresses accessing the internal IP address is greater than the second threshold N 2 , the internal IP address is determined to be subject to a DDoS attack, and packets from IP addresses in the LEA come from other IP addresses. It has a higher priority than a packet. Where N 2 is greater than N 1 / P S. Packets coming from the new IP address are either serviced at a lower priority or discarded if excessive load occurs. Therefore, the edge router having the defense system according to the present embodiment can control the acceptance of the packet by limiting the number of external IP addresses associated with the internal IP address based on the LEA information. If, when the number of IP addresses to access a particular internal IP address is less than N 2, the new IP address, until the number of the external IP address that is connected equal to N 2 again may be registered with the LEA. If the number of external IP addresses is smaller than the third threshold N 3 (= N 1 / P S ), it is determined that the corresponding internal IP addresses are not subjected to DDoS attacks, and the LEA for these IP addresses is further determined. No longer managed.

도 5는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제2 단계에서 관리되는 테이블의 구조도이다. 5 is a structural diagram of a table managed in a second step of the history-based DDoS correspondence method according to an embodiment of the present invention.

이하에서는, LEA에 대한 관리 방식을 보다 자세히 설명한다. 두 번째 단계에서는, 도 5에 도시된 바와 같이 제2 연결 상태 테이블 (T2)과 제2 블룸 필터 (B2)가 관리된다. 제2 연결 상태 테이블 (T2)은 첫 번째 단계에서 선택된 각 내부 IP 어드레스와 현재 연결되는 외부 IP 어드레스의 수를 기록한다. COUNT2(d)는 내부 IP 어 드레스 (d)에 현재 접근하는 IP 어드레스의 수를 카운트한다. 1비트 크기의 필드 D는 처음에 0으로 기록되고, 이에 상응하는 내부 어드레스에 대해 DDoS 공격이 탐지되는 경우 1로 기록된다. COUNTp(d)는 COUNT2(d)의 예전 값을 유지하며, 이에 대한 사용 방식은 이하 COUNT2(d)의 수정에 대한 설명시 자세히 설명한다. 메모리 사이즈를 줄이기 위해, 특정 내부 IP 어드레스에 접근하는 외부 IP 어드레스는 제2 블룸 필터 B2에 등록 및 관리된다. 메모리 사이즈를 더 줄이기 위해, B2는 첫 번째 단계에서 선택된 모든 내부 IP 어드레스 사이에서 공유되며, 따라서, 제2 블룸 필터 B2는 선택된 내부 IP 어드레스를 위해 LEA를 관리한다. B1과 B2의 주된 차이는 도 5(b)에 도시된 바와 같이 B2를 위해 각 비트별로 서로 다른 타이머가 할당된다는 점이다. TIMER(i)는 M2 비트의 제2 블룸 필터 B2에 있는 i번째 비트를 위해 할당된 타이머를 나타낸다. A(i) 필드는 주어진 시간 간격동안 B2에서 i번째 비트를 사용하는 외부 IP 어드레스로부터의 패킷 도착을 기록한다. A(i)의 값은 COUNT2(d)의 수정을 위해 사용되며, 이에 대해서는 이하에서 자세히 설명한다. 본 실시예에 따르면, 미리 설정된 시간 간격동안 특정 IP 어드레스 쌍간에 전달되는 패킷이 없으면, 해당 IP 어드레스 쌍의 연결은 끊긴 것으로 판단된다. 따라서 제2 블룸 필터 (B2)의 타이머는 내부 및 외부 IP 어드레스 쌍간의 연결을 모니터링하는데 사용된다.Hereinafter, the management method for the LEA will be described in more detail. In the second step, the second connection state table T 2 and the second bloom filter B 2 are managed as shown in FIG. 5. The second connection state table T 2 records the number of external IP addresses currently connected with each internal IP address selected in the first step. COUNT2 (d) counts the number of IP addresses currently accessing internal IP address (d). A field D of 1 bit size is initially written as 0, and is 1 when a DDoS attack is detected for a corresponding internal address. COUNTp (d) maintains the old value of COUNT2 (d), and its usage is described in detail below when modifying COUNT2 (d). To reduce the memory size, an external IP address that accesses a particular internal IP address is registered and managed in the second bloom filter B2. To further reduce the memory size, B 2 is shared among all internal IP addresses selected in the first step, so the second bloom filter B 2 manages the LEA for the selected internal IP address. The main difference between B 1 and B 2 is that different timers are allocated for each bit for B 2 as shown in FIG. 5 (b). TIMER (i) represents the timer assigned for the i th bit in the second bloom filter B 2 of M 2 bits. The A (i) field records the arrival of a packet from an external IP address using the i th bit in B 2 for a given time interval. The value of A (i) is used to modify COUNT2 (d), which will be described in detail below. According to the present embodiment, if there is no packet transmitted between specific pairs of IP addresses during a predetermined time interval, it is determined that the pair of IP addresses is disconnected. The timer of the second bloom filter B 2 is thus used to monitor the connection between the internal and external IP address pair.

타이머의 기능에 대해 보다 자세히 설명하면 다음과 같다. k2는 제2 블룸 필터 B2에 사용된 해시 함수의 수이며, hi는 B2에 사용되는 i번째 해시 함수를 나타낸 다. 내부 IP 어드레스 (d)가 첫 번째 단계에서 선택되고 T2에 등록될 때, 라우터에서 새로운 소스 어드레스 s'에서 d로 가는 첫 번째 패킷이 탐지되는 경우, COUNT2(d)의 값은 1만큼 증가하고, B2의 hi(s') (i=1,2,...,k2)에 상응하는 k2 비트 위치는 1로 설정되며, 타이머(TIMER(hi(s')) (i=1,2,...,k2))의 값은 정수 R로 설정된다. 각 타이머의 값은 간격 IT에서 주기적으로 1만큼 감소된다. 따라서 (R-1) × IT 시간(예를 들면, 초) 경과 후에 주어진 외부 IP 어드레스에 대한 적어도 하나의 타이머가 0으로 감소되는 경우, 소진된 타이머에 상응하는 비트 값은 0으로 변경되고 s'는 d와 연결이 끊긴 것으로 간주된다. 만약, s'에서 d까지 가는 새로운 패킷이 타이머가 소진되기 전에 도착하는 경우, s'의 해시 값에 상응하는 타이머는 R로 다시 설정된다. R과 IT에 대한 상세값은 정상 플로우의 패킷간 도착 패턴을 고려하여 설정될 수 있다 The function of the timer will be described in more detail as follows. k 2 is the number of hash functions used for the second bloom filter B 2 , and h i represents the i th hash function used for B 2 . When the internal IP address (d) is selected in the first step and registered with T 2 , if the router detects the first packet from the new source address s' to d, the value of COUNT2 (d) is increased by one and , K 2 bit position corresponding to h i (s ') (i = 1,2, ..., k 2 ) of B 2 is set to 1, and a timer (TIMER (h i (s'))) (i = 1, 2, ..., k2)) is set to the constant R. The value of each timer is periodically decremented by one in the interval I T. Thus, if at least one timer for a given external IP address is reduced to zero after (R-1) x I T time (e.g., seconds), the bit value corresponding to the exhausted timer is changed to zero and s 'Is considered to be disconnected from d. If a new packet from s 'to d arrives before the timer runs out, the timer corresponding to the hash value of s' is set back to R. The detailed values for R and I T may be set in consideration of the inter-packet arrival pattern of the normal flow.

종래 분석에 따르면, 월드 와이드 웹(WWW) 트래픽은 자기 유사성(self-similarity)을 보였으며, 웹 트래픽의 ON/OF 패턴에서의 침묵 시간은 주로 사용자가 생각하는 시간에 영향을 받아서 두꺼운 꼬리(heavy-tailed) 분포를 보인다. 또한, HTTP 패킷 도착간 시간은 긴 꼬리(long-tailed) 분포를 보이지만, 2초 이상의 패킷 도착간 시간의 비율은 3% 이하로서 다소 낮다. 따라서, 본 실시예에 따르면, 300초 동안 노드 쌍간에 패킷 교환이 없는 경우 노드 쌍간의 연결은 끊긴 것으로 간주된다. 외부 IP 어드레스가 최소 300초 동안 B2에 유지되어야 하므로, (R-1) × IT은 제2 블룸 필터 B2에서 300초 이상 되어야 한다. 타이머의 메모리 사이즈를 줄이기 위해서, R에 대해 3 비트 이상을 할당하고, R은 7로 설정된다. 만약 IT를 50초로 설정하는 경우 (R-1) × IT은 300초가 된다. 이러한 R과 IT의 값들은 본 발명의 최초 설정 변수가 된다. According to the conventional analysis, the world wide web (WWW) traffic showed self-similarity, and the silence time in the ON / OF pattern of the web traffic was mainly influenced by the user's thinking time, which resulted in a heavy tail. -tailed) show distribution. In addition, the time between HTTP packet arrivals shows a long-tailed distribution, but the ratio of time between packet arrivals of 2 seconds or more is somewhat lower, which is 3% or less. Therefore, according to the present embodiment, if there is no packet exchange between the pair of nodes for 300 seconds, the connection between the pair of nodes is considered to be disconnected. Since the external IP address must be maintained at B 2 for at least 300 seconds, (R-1) x I T must be at least 300 seconds on the second bloom filter B 2 . In order to reduce the memory size of the timer, at least three bits are allocated to R, and R is set to seven. If I T is set to 50 seconds, (R-1) × I T is 300 seconds. These values of R and I T become initial setting variables of the present invention.

본 실시예에 따르면, 타이머가 소진된 후에도 COUNT2(d)의 값을 제2 블룸 필터 B2에 존재하는 IP 어드레스들과 일관되게 유지하는 것이 중요하다. B2가 내부 IP 어드레스 d에 현재 접근하는 외부 IP 어드레스를 정확하게 관리한다고 가정한다. 만약, 타이머 소진 결과가 아직 반영되지 않아서 COUNT2(d)가 d에 현재 연결된 외부 IP 어드레스의 수를 크게 기록하는 경우, 본 실시예에 따른 방어 시스템은 보수적으로 작동할 것이다. 이러한 오작동 때문에 링크 또는 내부 노드의 활용성이 다소 낮다고 하더라도, 내부 노드 d는 DDoS 공격으로부터 보호될 것이다. 한편, 만약 COUNT2(d)가 현재 d에 접근하고 있는 외부 IP 어드레스의 수를 작게 기록하는 경우, COUNT2(d)의 값이 작아서 진행되고 있는 DDoS 공격은 탐지되지 않을 것이며, 노드 d는 DDoS 공격으로부터 보호되지 않을 것이다. 따라서 COUNT2(d)가 현재 연결 수를 작게 기록하지 않도록 할 필요가 있다.According to this embodiment, it is important to keep the value of COUNT2 (d) consistent with the IP addresses present in the second bloom filter B 2 even after the timer runs out. Assume that B 2 correctly manages the external IP address currently accessing the internal IP address d. If COUNT2 (d) records a large number of external IP addresses currently connected to d if the timer exhaustion result has not yet been reflected, the defense system according to the present embodiment will operate conservatively. Even if the utilization of the link or internal node is rather low due to this malfunction, the internal node d will be protected from DDoS attack. On the other hand, if COUNT2 (d) records a small number of external IP addresses that are currently accessing d, then the ongoing DDoS attack will not be detected because the value of COUNT2 (d) is small and node d will not be able to detect DDoS attacks. Will not be protected. Therefore, you need to make sure that COUNT2 (d) does not record the current number of connections small.

도 6은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 테이블을 수정하는 방법을 도시한 도면이다. 여기에서는, 본 실시예에 따라 COUNT2(d)를 관리하는 방법이 도시된다. 6 is a diagram illustrating a method of modifying a table of a history-based DDoS detection apparatus according to an embodiment of the present invention. Here, a method of managing COUNT2 (d) according to this embodiment is shown.

새로운 외부 IP 어드레스 s''가 내부 IP 어드레스 d에 접근할 때마다, COUNT2(d)의 값은 1씩 감소된다. 동시에 s''는 제2 블룸 필터 (B2)에 등록되며, s''의 해시 값에 상응하는 타이머는 R로 설정되고, 같은 해시 값에 상응하는 A의 값들은 1로 설정된다. 모든 A의 값들은 (R-1)×IT에 0이 된다. 도 6을 참조하면, 이러한 경계선이 일점 쇄선으로 도시된다. 따라서 (R-1) × IT 기간 동안 기존의 또는 새로운 외부 IP 어드레스로부터 새로운 패킷이 전송되더라도 A 값은 기록된다. Each time a new external IP address s '' approaches internal IP address d, the value of COUNT2 (d) is decremented by one. At the same time s '' is registered in the second bloom filter B 2 , the timer corresponding to the hash value of s '' is set to R, and the values of A corresponding to the same hash value are set to one. The values of all As become zero in (R-1) × I T. Referring to FIG. 6, this boundary line is shown by the dashed-dotted line. Therefore, the A value is recorded even if a new packet is transmitted from an existing or new external IP address during (R-1) x I T period.

COUNT2(d)가 d와 현재 연결된 IP 어드레스의 수를 작게 기록하지 않도록 하기 위해, 새로운 외부 IP 어드레스가 d에 접근하는 것이 탐지되는 즉시 COUNT2(d)의 값은 증가되지만, 현재 구간에서 연결이 끊긴 상태는 다음과 같은 방식으로 현재 구간의 끝에서만 반영된다. 10개의 새로운 외부 IP 어드레스가 j번째 구간에서 탐지될 때, 만약 모든 어드레스가 단지 하나의 패킷만을 전송하는 경우, 이러한 모든 어드레스를 위한 타이머는 j+1번째 구간에서 소멸될 것이며, 그들과 d간의 연결은 끊긴 것으로 간주된다. j+1번째 구간이 시작될 때, COUNTp(d)는 j번째 구간의 끝에 d와 연결된 IP 어드레스의 수로 설정되며, 그 구간동안 유지된다. COUNTp(d)에 카운트되는 IP 어드레스들은 j+2번째 구간의 시작시 COUNT2(d)에서 차감되며, 이는 이러한 IP 어드레스들로부터 어떠한 패킷도 발생하지 않는 경우 이들에 상응하는 타이머들이 j+1번째 구간에서 소진되어야 하기 때문이다. COUNTp(d)의 값은 각 구간의 시작점에 새롭게 계산된 COUNT2(d)로 설정된다. 만약, j+1번째 구간 전에 도착한 IP 어드레스가 j+1번째 구간에 d에 새로운 패킷을 전송하는 경우, 그 연결의 존속 기간이 최소한 (R-1) × IT 만큼 연장되므로, COUNT2(d)는 패킷 도착 즉 시 증가된다. 이러한 경우는 도 6의 s2에 대응된다. 만약 COUNT2(d)의 값이 이러한 방식, 즉, 즉시 값을 올리고 감소량은 차후에 반영하는 방식으로 관리되는 경우, COUNT2(d)는 도 6에 도시된 바와 같이 실제 IP 값보다 작지 않도록 유지될 수 있다.To prevent COUNT2 (d) from recording a small number of IP addresses currently associated with d, the value of COUNT2 (d) is increased as soon as a new external IP address is detected to access d, but disconnected from the current interval. The status is reflected only at the end of the current section in the following way. When ten new external IP addresses are detected in the j th interval, if all addresses send only one packet, the timer for all these addresses will be expired in the j + 1 th interval, the connection between them and d Is considered broken. When the j + 1th interval starts, COUNTp (d) is set to the number of IP addresses associated with d at the end of the jth interval, and is maintained for that interval. IP addresses counted in COUNTp (d) are subtracted from COUNT2 (d) at the beginning of the j + 2th interval, which means that if no packets are generated from these IP addresses, the corresponding timers are j + 1th intervals. Because they must be exhausted. The value of COUNTp (d) is set to the newly calculated COUNT2 (d) at the start of each section. If the IP address arrived before j + 1 section transmits a new packet to d in j + 1 section, the duration of the connection is extended by at least (R-1) × I T , so COUNT2 (d) Increases immediately upon packet arrival. This case corresponds to s 2 in FIG. 6. If the value of COUNT2 (d) is managed in this way, i.e., to raise the value immediately and reflect the decrease later, COUNT2 (d) can be kept not smaller than the actual IP value as shown in FIG. .

도 7은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법을 구현하기 위한 알고리즘을 도시한 도면이다. 본 실시예에 따른 DDoS 탐지 및 제어 방법은 도 7에 도시된 바와 같이 구현될 수 있으나, 이외에도 상술한 본 발명의 특징을 구현하기 위한 기타 다양한 방식의 알고리즘이 구현될 수 있음은 물론이다. 7 is a diagram illustrating an algorithm for implementing a history-based DDoS correspondence method according to an embodiment of the present invention. The DDoS detection and control method according to the present embodiment may be implemented as shown in FIG. 7, but in addition, various other algorithms for implementing the above-described features of the present invention may be implemented.

만약, COUNT2(d) > N2이라면, LEA에 등록된 현재 플로우, 즉, B2는 새로운 플로우보다 더 큰 우선 순위로 서비스된다. 새로운 패킷이 악의적인 노드의 IP 어드레스 sm으로부터 도착할 때, 만약 sm의 해시 값에 상응하는 모든 비트 값들이 B2에 존재하는 다른 IP 어드레스들에 의해 1로 이미 설정된 경우 이는 B2에서의 충돌로 판단되고, 이러한 플로우는 보다 높은 우선 순위로 서비스된다. 따라서 블롬 필터 B2의 크기는 충돌이 발생하지 않도록 충분히 클 필요가 있다. If COUNT2 (d)> N 2 , the current flow registered in the LEA, that is, B 2, is serviced at a higher priority than the new flow. When a new packet arrives from the IP address s m of the malicious nodes, if any bit value corresponding to the hash value of s m are already set to 1 by the other IP addresses present in B 2, which collisions in B 2 It is determined that this flow is serviced at a higher priority. Therefore, the size of the filter beulrom B 2 is required to be sufficiently large to avoid a conflict.

RT2를 도 5의 제2 연결 상태 테이블 T2의 행의 수라고 하면, 만약 COUNT2의 값이 T2에서의 각 내부 IP 어드레스에 대해 N2보다 큰 경우 더 이상의 어드레스는 허용되지 않기 때문에, 제2 블룸 필터 B2는 단지 RT2 × N2 개의 외부 IP 어드레스만 을 수용할 수 있다. k2는 B2에 사용되는 해시 함수의 수이다. n'개의 IP 어드레스를 M2 크기의 비트 벡터에 삽입한 후 특정 비트가 여전히 0일 확률은 (1-1/M2)k2n'이다. 새로운 외부 IP 어드레스가 k2개의 해시 함수가 가리키는 모든 비트의 위치에서 1을 보는 경우 블룸 필터의 충돌이 발생한다. (RT2N2) 번째 등록된 어드레스 보다 이후에 도착하는 소스 IP 어드레스의 충돌 확률은 다음과 같다. If R T2 is the number of rows in the second link state table T 2 of FIG. 5, since no more addresses are allowed if the value of COUNT2 is greater than N 2 for each internal IP address in T 2 , The two bloom filter B 2 can only accept R T2 × N 2 external IP addresses. k 2 is the number of hash functions used for B 2 . After inserting n 'IP addresses into a bit vector of M 2 size, the probability that a particular bit is still zero is (1-1 / M 2 ) k 2n' . If the new external IP address sees 1 at the position of every bit pointed to by k 2 hash functions, a bloom filter collision occurs. The collision probability of the source IP address arriving after the (R T2 N 2 ) th address is as follows.

Figure 112009079029864-pat00001
(1)
Figure 112009079029864-pat00001
(One)

식 (1)의 우변은

Figure 112009079029864-pat00002
인 경우 다음과 같이 최소화된다. The right side of equation (1) is
Figure 112009079029864-pat00002
Is minimized as follows.

Figure 112009079029864-pat00003
(2)
Figure 112009079029864-pat00003
(2)

식 (2)에 따르면, k2는 충돌 확률을 1%보다 작게 유지하기 위해 7보다 크거나 같아야 한다. 따라서 본 실시예에 따르면, k2는 7로 설정되며, 이 경우 M2는 RT2와 N2를 이용하여 다음과 같이 표현된다. According to equation (2), k 2 must be greater than or equal to 7 to keep the collision probability less than 1%. Therefore, according to the present embodiment, k 2 is set to 7, in which case M 2 is expressed as follows using R T2 and N 2 .

Figure 112009079029864-pat00004
(3)
Figure 112009079029864-pat00004
(3)

M2의 크기도 이와 유사한 방식으로 결정될 수 있다.The size of M 2 can also be determined in a similar manner.

도 8은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법에 대한 네트워크 구성도 및 시뮬레이션 결과를 도시한 도면이다. 이하에서 본 실시예에 따른 방법을 평가하기 위한 OPNET 시뮬레이션 결과에 대해서 설명한다. 8 is a diagram illustrating a network configuration and simulation results for a history-based DDoS response method according to an embodiment of the present invention. Hereinafter, the OPNET simulation result for evaluating the method according to the present embodiment will be described.

여기서, 현재 트래픽이 DDoS 공격시 얼마나 잘 보호될 수 있는지 실험하며, 이를 위해 전송된 트래픽 대비 성공적으로 전달된 트래픽의 비율, 즉, 처리량을 측정한다. 도 8(a)는 시뮬레이션에 대한 네트워크 구조를 도시한다. 제안된 DDoS 탐지 장치는 에지 라우터 R1에 사용된다. Z2 클라이언트가 서버 U에 접근하며, Z1은 이후에 이들을 공격한다. 외부 사용자 Z3은 DDoS 공격전에 내부 사용자 V에 연결된다. 대역폭 정체 공격(bandwidth congestion attack)의 경우를 대비하여, 외부 네트워크의 모든 트래픽이 링크 레이트가 100Mbps가 되는 R1과 R2 사이의 단일 링크를 통과하도록 한다. 공격 트래픽 패턴이 정상 트래픽 패턴과 구별되지 않을 때 본 방법을 검토하기 위해서, on-off 트래픽을 사용함으로써 공격과 정상 트래픽을 모델링하며, 이는 on과 off 시간대에 파레토 분포(Pareto distributions)를 가진다. 확률 밀도 함수는

Figure 112009079029864-pat00005
로 주어진다. 변수들은 αON= 1.2, αOFF =1.5, kON =0.167 및 kOFF = 10이다. 평균적인 on과 off 기간은 각각 1과 30초이다. 주기 동안, 일정하게 1.55 Mbps로 500 바이트 패킷을 전송한다. 하나의 플로우의 평균 속도는 50 Kbps이다. 본 실험에서, 공격자 Z1의 수는 4000이며, 따라서 공격 트래픽의 평균 속도는 200 Mbps이고, 이는 R1과 R2간의 링크 레이트보다 훨씬 크다. 공격 대상 서버 U는 10개이고, 내부 유저 V는 100개이며, 공격 대상 서버에 접속하는 정상 클라이언트 Z2는 200개이고, 내부 사용자 Z3에 접속하는 외부 사용자는 200개이다. Here, we test how well the current traffic can be protected during DDoS attack, and measure the ratio of traffic transmitted successfully, that is, throughput. 8 (a) shows the network structure for the simulation. The proposed DDoS detection device is used for edge router R1. The Z2 client accesses server U, which Z1 then attacks. External user Z3 is connected to internal user V before the DDoS attack. In case of a bandwidth congestion attack, all traffic from the external network passes through a single link between R1 and R2, which has a link rate of 100 Mbps. In order to examine the method when the attack traffic pattern is not distinguished from the normal traffic pattern, the attack and the normal traffic are modeled by using on-off traffic, which has Pareto distributions on and off time. The probability density function
Figure 112009079029864-pat00005
Is given by The variables are α ON = 1.2, α OFF = 1.5, k ON = 0.167 and k OFF = 10. Average on and off durations are 1 and 30 seconds respectively. During the period, 500 byte packets are constantly transmitted at 1.55 Mbps. The average speed of one flow is 50 Kbps. In this experiment, the number of attackers Z1 is 4000, so the average speed of attack traffic is 200 Mbps, which is much higher than the link rate between R1 and R2. The target server U is 10, the internal user V is 100, 200 normal clients Z2 are connected to the target server, and 200 external users are connected to the internal user Z3.

도 8(b)는 본 실시예에 따른 방어 방법에 의해 구현된 처리량을 방어 시스템이 없는 FIFO 큐에 의해 얻어진 처리량과 비교한 도면이다. DDoS 공격은 900초 동안 수행되었으며, 도 8(b)를 참조하면, 본 실시예에 따른 방어 시스템에 의한 경우 휠씬 많은 처리량이 유지됨을 알 수 있다. 또한, 본 실시예에 따른 방어 시스템은 DDoS 공격의 대상이 되지는 않았지만, 그 대상이 된 노드와 같은 서브 네트워크에 있는 사용자들을 보다 효과적으로 보호할 수 있음을 알 수 있다. 만약, RT1과 RT2가 T1과 T2의 행의 수를 지칭하는 경우 필요한 전체 메모리 크기는

Figure 112009079029864-pat00006
이다. 본 실험에서는, RT1 = 50, RT2 = 20, N1 =3, N2 = 50이다. 이 경우 필요한 메모리 크기는 2KB보다 작다.8 (b) is a diagram comparing the throughput implemented by the defense method according to the present embodiment with the throughput obtained by the FIFO queue without defense system. The DDoS attack was performed for 900 seconds, and referring to FIG. 8 (b), it can be seen that much more throughput is maintained by the defense system according to the present embodiment. In addition, although the defense system according to the present embodiment has not been subjected to the DDoS attack, it can be seen that the user in the same subnetwork as the target node can be more effectively protected. If R T1 and R T2 refer to the number of rows of T 1 and T 2 , the total memory size required is
Figure 112009079029864-pat00006
to be. In this experiment, R T1 = 50, R T2 = 20, N 1 = 3, N 2 = 50. In this case, the required memory size is less than 2KB.

따라서 본 실시예에 따르면, 감소된 메모리 크기를 가지고 IP 이력 정보에 기반하여 서로 다른 우선 순위를 가지는 기존의 플로우와 새로운 플로우를 이용하여 서브 네트워크를 보호할 수 있는 두 단계의 DDoS 방어 메커니즘이 제시된다. 첫 번째 단계에서 샘플링을 통해 모니터링되는 IP 어드레스의 수를 줄이고 두 단계 모두 블룸 필터를 이용함으로써 메모리가 감소된다. 시뮬레이션 결과는 메모리 크기가 작더라도 DDoS 공격시 현재의 플로우에 대해 높은 작업 처리량이 유지될 수 있음을 보여준다.Therefore, according to the present embodiment, a two-step DDoS defense mechanism is proposed that can protect a subnetwork by using an existing flow and a new flow having a different priority based on IP history information with a reduced memory size. . In the first stage, memory is reduced by reducing the number of IP addresses monitored through sampling and using bloom filters in both stages. Simulation results show that even with a small memory size, high throughput can be maintained for the current flow during DDoS attacks.

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

본 발명에 따른 히스토리 기반 DDoS 대응 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 즉, 기록 매체는 컴퓨터에 상술한 각 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 될 수 있다.The history-based DDoS correspondence method according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. That is, the recording medium may be a computer-readable recording medium having recorded thereon a program for causing a computer to execute the steps described above.

상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합한 형태로 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.The computer readable medium may include a program command, a data file, a data structure, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical recording media such as CD-ROM and DVD, magnetic recording media such as a floppy disk Optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.

해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Those skilled in the art will appreciate that various modifications and changes can be made in the present invention without departing from the spirit and scope of the invention as set forth in the claims below.

도 1은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치를 포함한 네트워크 구성도. 1 is a network diagram including a history-based DDoS detection apparatus according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 블록 구성도. 2 is a block diagram of a history-based DDoS detection apparatus according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 흐름도.3 is a flowchart of a history-based DDoS correspondence method according to an embodiment of the present invention;

도 4는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제1 단계에서 관리되는 테이블의 구조도. 4 is a structural diagram of a table managed in a first step of a history-based DDoS correspondence method according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법의 제2 단계에서 관리되는 테이블의 구조도. 5 is a structural diagram of a table managed in a second step of the history-based DDoS correspondence method according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 히스토리 기반 DDoS 탐지 장치의 테이블을 수정하는 방법을 도시한 도면. 6 is a diagram illustrating a method of modifying a table of a history-based DDoS detection apparatus according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법을 구현하기 위한 알고리즘을 도시한 도면. 7 illustrates an algorithm for implementing a history-based DDoS correspondence method according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 히스토리 기반 DDoS 대응 방법에 대한 네트워크 구성도 및 시뮬레이션 결과를 도시한 도면. 8 is a diagram illustrating a network configuration and simulation results for a history-based DDoS response method according to an embodiment of the present invention.

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

110 : 공격자 120 : 외부 사용자110: attacker 120: external user

130 : 네트워크 140 : 라우터130: network 140: router

141 : 제1 연결 상태 테이블 142 : 제1 블룸 필터141: first connection state table 142: first bloom filter

143 : 제2 연결 상태 테이블 144 : 제2 블룸 필터143: second connection state table 144: second bloom filter

145 : 저장부 146 : 제어부145: storage unit 146: control unit

150 : 서버 160 : 내부 사용자150: server 160: internal users

Claims (8)

(a) 목적 IP 어드레스에 접근하는 소스 IP 어드레스의 수를 기록하는 단계;(a) recording the number of source IP addresses that access the destination IP address; (b) 상기 목적 IP 어드레스별 상기 소스 IP 어드레스의 수를 제1 임계치와 비교하는 단계;(b) comparing the number of source IP addresses per destination IP address with a first threshold; (c) 상기 소스 IP 어드레스의 수가 상기 제1 임계치 이상인 상기 목적 IP 어드레스를 특정하는 단계;(c) specifying the destination IP address whose number of source IP addresses is greater than or equal to the first threshold; (d) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스 및 상기 소스 IP 어드레스의 수를 저장하는 단계;(d) storing the source IP address and the number of source IP addresses that access the specified destination IP address; (e) 상기 특정된 목적 IP 어드레스에 접근하는 상기 소스 IP 어드레스의 수를 제2 임계치와 비교하는 단계-상기 제2 임계치는 상기 제1 임계치보다 큼-;(e) comparing the number of source IP addresses accessing the specified destination IP address with a second threshold, wherein the second threshold is greater than the first threshold; (f) 상기 소스 IP 어드레스의 수가 상기 제2 임계치 이상인 경우 상기 특정된 목적 IP 어드레스에 대한 DDoS 공격이 개시된 것으로 판단하는 단계; 및(f) determining that a DDoS attack has been initiated against the specified destination IP address if the number of source IP addresses is greater than or equal to the second threshold; And (g) 상기 저장된 소스 IP 어드레스에 상기 특정된 목적 IP 어드레스 접근에 대한 높은 우선 순위를 부여하는 단계를 포함하는 히스토리 기반 DDoS 대응 방법.(g) assigning the stored source IP address a high priority for accessing the specified destination IP address. 제1항에 있어서, The method of claim 1, 상기 (a) 단계와 상기 (d) 단계는, Step (a) and step (d), 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 대응값을 해시값으로 변 환하여 저장하는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법. And a corresponding value between the destination IP address and the source IP address is converted into a hash value and stored. 제1항에 있어서, The method of claim 1, 상기 (a) 단계와 상기 (d) 단계는, Step (a) and step (d), 상기 소스 IP 어드레스를 블룸 필터에 등록하는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법. And registering the source IP address in a bloom filter. 제3항에 있어서, The method of claim 3, 상기 블룸 필터는 서로 다른 상기 목적 IP 어드레스에 대해 공유되는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법. The bloom filter is a history-based DDoS corresponding method, characterized in that shared for the different destination IP address. 제3항에 있어서, The method of claim 3, 상기 (d) 단계는, The step (d) 상기 블룸 필터는 미리 설정된 시간 구간 동안 상기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷의 유무를 판단하기 위한 타이머를 포함하되, The bloom filter includes a timer for determining the presence or absence of a packet transmitted between the destination IP address and the source IP address during a preset time interval. 상기 시간 구간 동안 상기 목적 IP 어드레스와 상기 소스 IP 어드레스간 전달되는 패킷이 없는 경우 상기 목적 IP 어드레스와 상기 소스 IP 어드레스의 연결 은 끊긴 것으로 판단하는 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법. And if there is no packet transmitted between the destination IP address and the source IP address during the time period, determining that the connection between the destination IP address and the source IP address is lost. 삭제delete 제1항에 있어서, The method of claim 1, 상기 목적 IP 어드레스는 에지 라우터에 연결되는 단말기의 IP 어드레스인 것을 특징으로 하는 히스토리 기반 DDoS 대응 방법. The target IP address is a history-based DDoS corresponding method, characterized in that the IP address of the terminal connected to the edge router. 제1항 내지 제5항 및 제7항 중 어느 하나에 기재된 히스토리 기반 DDoS 대응 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체.A program of instructions that can be executed by a digital processing apparatus for performing the history-based DDoS correspondence method according to any one of claims 1 to 5 and 7 is tangibly implemented and can be read by the digital processing apparatus. Recording medium that records the program.
KR1020090128211A 2009-09-28 2009-12-21 IP filtering method for countering DDoS attacks based on history KR101077136B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090091850 2009-09-28
KR20090091850 2009-09-28

Publications (2)

Publication Number Publication Date
KR20110034530A KR20110034530A (en) 2011-04-05
KR101077136B1 true KR101077136B1 (en) 2011-10-26

Family

ID=44043128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090128211A KR101077136B1 (en) 2009-09-28 2009-12-21 IP filtering method for countering DDoS attacks based on history

Country Status (1)

Country Link
KR (1) KR101077136B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499666B1 (en) * 2013-08-08 2015-03-06 주식회사 시큐아이 Apparatus and method for detecting network scanning
KR101701310B1 (en) * 2015-09-30 2017-02-02 고려대학교 산학협력단 DEVICE AND METHOD FOR DETECTING DDoS ATTACK
LT3297221T (en) * 2016-09-19 2018-12-27 Retarus Gmbh Technique for detecting suspicious electronic messages

Also Published As

Publication number Publication date
KR20110034530A (en) 2011-04-05

Similar Documents

Publication Publication Date Title
US9935974B2 (en) Hardware-logic based flow collector for distributed denial of service (DDoS) attack mitigation
US8272044B2 (en) Method and system to mitigate low rate denial of service (DoS) attacks
CN108063765B (en) SDN system suitable for solving network security
US8201252B2 (en) Methods and devices for providing distributed, adaptive IP filtering against distributed denial of service attacks
US10075468B2 (en) Denial-of-service (DoS) mitigation approach based on connection characteristics
KR102039842B1 (en) How to prevent network attacks, devices, and systems
CN105991637B (en) The means of defence and device of network attack
CN108737447B (en) User datagram protocol flow filtering method, device, server and storage medium
JP5870009B2 (en) Network system, network relay method and apparatus
EP2009864A1 (en) Method and apparatus for attack prevention
Chou et al. Proactive surge protection: a defense mechanism for bandwidth-based attacks
WO2016139910A1 (en) Communication system, communication method, and non-transitory computer readable medium storing program
KR101077136B1 (en) IP filtering method for countering DDoS attacks based on history
JP6923809B2 (en) Communication control system, network controller and computer program
CN111131337B (en) UDP Flood attack detection method and device
Liljenstam et al. Comparing passive and active worm defenses
CN106357661B (en) A kind of distributed refusal service attack defending method based on interchanger rotation
JP2008219149A (en) Traffic control system and traffic control method
KR100656348B1 (en) Apparatus and method for controlling bandwidth using token bucket
Chen et al. A two-tier coordinated defense scheme against DDoS attacks
Wei et al. An early stage detecting method against SYN flooding attack
Nam et al. Memory-efficient IP filtering for countering DDoS attacks
Sardana et al. Honeypot based routing to mitigate ddos attacks on servers at isp level
CN115913784B (en) Network attack defense system, method and device and electronic equipment
WO2015196799A1 (en) Packet processing method and device, and line card

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: 20141016

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee