KR101250899B1 - Apparatus for detecting and preventing application layer distribute denial of service attack and method - Google Patents

Apparatus for detecting and preventing application layer distribute denial of service attack and method Download PDF

Info

Publication number
KR101250899B1
KR101250899B1 KR1020090079569A KR20090079569A KR101250899B1 KR 101250899 B1 KR101250899 B1 KR 101250899B1 KR 1020090079569 A KR1020090079569 A KR 1020090079569A KR 20090079569 A KR20090079569 A KR 20090079569A KR 101250899 B1 KR101250899 B1 KR 101250899B1
Authority
KR
South Korea
Prior art keywords
traffic
information
unit
attack
during
Prior art date
Application number
KR1020090079569A
Other languages
Korean (ko)
Other versions
KR20110022141A (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 KR1020090079569A priority Critical patent/KR101250899B1/en
Publication of KR20110022141A publication Critical patent/KR20110022141A/en
Application granted granted Critical
Publication of KR101250899B1 publication Critical patent/KR101250899B1/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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

Landscapes

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

Abstract

본 발명은 응용계층 분산 서비스 거부 공격 탐지 및 차단 기술에 관한 것으로, 모든 프로그램의 응용계층을 대상으로 시도되는 다양한 DDoS 공격을 트래픽의 양을 기반으로 탐지하는 것이 아니라, 사전에 정의한 정상 트래픽 모델과 비교하여 공격 여부를 판단함으로써, 비록 공격 트래픽의 양이 정상 상황하의 트래픽 양과 비교해 많지 않더라도, 발생되는 공격을 탐지하고, 공격의 탐지 결과 특정 공격자의 IP주소를 도출하여, 해당 공격자로부터 전달되는 공격 트래픽만을 원하는 기간 동안 차단할 수 있도록 구현하는 것을 특징으로 한다. 본 발명에 의하면, 정상 사용자의 트래픽을 보호하고 서비스의 지속성을 확보할 수 있다.The present invention relates to an application layer distributed denial of service attack detection and blocking technology, and does not detect various DDoS attacks that are attempted at the application layer of all programs based on the amount of traffic, but compares them with a predefined normal traffic model. By determining whether an attack is performed, even if the amount of attack traffic is not as large as that under normal conditions, the attack is detected and the IP address of a specific attacker is derived as a result of the detection, and only the attack traffic delivered from the attacker is detected. Characterized in that it can be implemented to block for a desired period. According to the present invention, it is possible to protect the traffic of the normal user and to ensure the continuity of the service.

응용계층, 분산서비스거부(DDoS) 공격, 공격 트래픽 모델링 Application Layer, Distributed Service Denial (DDoS) Attack, Attack Traffic Modeling

Description

응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법{Apparatus for detecting and preventing application layer distribute denial of service attack and method}Apparatus for detecting and preventing application layer distribute denial of service attack and method}

본 발명은 네트워크 망을 위협하는 공격들에 대한 탐지 및 차단을 수행하는 기술에 관한 것으로서, 특히 분산 서비스 거부(Distribute Denial of Service, 이하 DDoS라 한다) 공격의 주된 공격 대상인 응용계층의 서비스에 대한 공격을 효과적으로 탐지하여 이에 대한 차단을 수행하는데 적합한 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법에 관한 것이다. The present invention relates to a technology for performing detection and blocking of threats that threaten network networks, and particularly, attacks on services of an application layer, which is a main target of a distributed denial of service (DDoS) attack. Apparatus and method for detecting and blocking distributed application denial of service attacks suitable for effective detection and blocking thereof.

본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-S-038-01, 과제명: 분산서비스거부(DDoS) 공격 대응 기술 개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy [Task management number: 2009-S-038-01, Task name: Development of a response service for distributed service rejection (DDoS) attack].

일반적으로 DDoS 공격이란, 여러 대의 컴퓨터를 일제히 동작시켜 특정 사이트에 과도한 부하를 유발하는 방식의 공격을 말한다. 특정 사이트를 공격하기 위해서는 해커가 DDoS 공격용 프로그램들을 여러 컴퓨터에 심어놓고 공격대상 사이트의 시스템이 처리할 수 없는 엄청난 분량의 패킷을 동시에 목표 사이트로 전송함으로써, 시스템 과부하로 인한 네트워크의 성능 저하, 시스템에서 제공하는 특정 서비스의 마비, 또는 시스템 자체의 마비를 유발하는 것이다. 이러한 DDoS 공격을 받으면 특정 사이트에 대한 정상적인 이용자의 사이트 접속이 불가능해지며, 심한 경우 네트워크 장비나 서버의 하드웨어가 손상될 수도 있다.In general, a DDoS attack is an attack in which multiple computers are operated simultaneously to cause excessive load on a specific site. In order to attack a specific site, a hacker has installed DDoS attack programs on several computers and sends a huge amount of packets to the target site that cannot be processed by the system at the target site simultaneously. It may cause paralysis of certain services or paralysis of the system itself. This DDoS attack prevents normal users from accessing the site to a specific site and, in severe cases, may damage the network equipment or server hardware.

또한, 어떤 경로로든지 DDoS 공격도구가 설치된 컴퓨터 시스템들은 자신도 모르는 사이에 DDoS 공격 시스템으로 이용될 수 있다. 이러한 DDoS 공격도구 중 널리 알려진 것으로는 과거에는 트리누(Trinoo), 트리벌 플러드(TFN;Tribal Flood Network), 슈타첼드라트(Stacheldraht) 등이 있으며, 최근에는 봇넷을 구성하는 넷봇(NetBot), 블랙에너지(BlackEnergy) 등이 있다. DDoS 공격도구는 웜(worm), 바이러스(virus) 등의 형태로 다양한 경로를 통해 일반인들의 컴퓨터 시스템에 침입한다. Also, computer systems with DDoS attack tools installed in any path can be used as DDoS attack systems without their knowledge. Popular DDoS attack tools include Trinooo, Tribal Flood Network, and Stacheldraht. Recently, NetBot, a botnet, BlackEnergy, etc. DDoS attack tools invade the public's computer systems through various routes in the form of worms and viruses.

종래의 DDoS 공격 탐지 및 차단기술은 DDoS 고유의 공격패턴을 탐지하여 차단하거나, 네트워크나 서버 단에서의 트래픽을 제한하여 서버의 유효성을 보장하는 방법을 사용하였다. 여기서 고유의 공격패턴이란 서버에 부하를 주기 위하여 DDoS마다 특정한 형태로 변조된 패킷(packet)을 과다하게 발생시키는 것을 말하며, 대표적인 것으로는TCP SYN Flood, TCP Flag Flood, HTTP Flood, UDP Flood, ICMP Flood 등이 있다.Conventional DDoS attack detection and blocking technology used a method of detecting and blocking DDoS-specific attack patterns, or by limiting the traffic on the network or server side to ensure the validity of the server. The unique attack pattern refers to excessive generation of packets modulated in a specific form for each DDoS in order to put a load on the server. Typical examples include TCP SYN Flood, TCP Flag Flood, HTTP Flood, UDP Flood, ICMP Flood. Etc.

대부분의 DDoS 공격 탐지 기술은 네트워크 트래픽이 평상시 정상 상황일 때 보다 갑자기 많이 발생하면 이를 공격으로 판단하는 방법이다. 즉, 공격여부 판단 기준이 단순히 과거에 비해 얼마나 많은 트래픽이 전송되는가에 있다.Most DDoS attack detection techniques use this method to determine if network traffic suddenly occurs more frequently than usual. In other words, the criterion for attack is simply how much traffic is transmitted compared to the past.

이러한 형태의 공격 탐지 방안은 응용계층의 DDoS 공격을 탐지하는 데는 매우 부적합하다. 왜냐하면, 최근 발생하고 있는 응용계층에 대한 DDoS 공격은 그 트래픽의 양이 정상범위를 벗어날 만큼 많지 않아, 트래픽의 양으로 탐지하는 것이 매우 어렵기 때문이다. 예를 들어 HTTP 서버에 대한 일부 DDoS 공격의 경우, 수백 Kbps ~ 수 Mbps의 공격 트래픽 만으로도 해당 서버의 동작을 마비시킬 수 있다. 이는 대형 포털사이트의 정상 트래픽의 1% 미만의 트래픽 밖에는 되지 않는다. 일반적으로 전체 트래픽의 양으로 공격을 판단하는 경우, 특정 서버로 전달되는 트래픽의 양을 분석하여 공격여부를 판단하게 되는데, 이는 DDoS 공격이 발생 되었다는 공격 발생 여부만을 판단할 수 있을 뿐이지, 실제 공격자가 누구인지를 파악할 수 있는 방법은 아니다. 또한, 최근에 HTTP 프로토콜을 이용하는 웹 서비스에 대한 DDoS 공격을 탐지하고 차단하기 위한 기술제안이 이루어지고 있으나, 아직까지 전체 응용계층 서비스에 공통적으로 적용할 수 있는 DDoS 공격 탐지 기법은 개발되지 못하고 있다.This type of attack detection is very inadequate for detecting DDoS attacks at the application layer. This is because the recent DDoS attack on the application layer is not so large that the amount of traffic is out of the normal range, so it is very difficult to detect the amount of traffic. For example, some DDoS attacks against an HTTP server can disrupt the server's behavior with only a few hundred Kbps to several Mbps of attack traffic. This is less than 1% of the normal traffic of a large portal site. In general, when the attack is judged by the total traffic volume, it is determined whether the attack is made by analyzing the amount of traffic delivered to a specific server, which can only determine whether an attack has occurred that a DDoS attack has occurred. It's not a way to know who it is. Recently, technical proposals for detecting and blocking DDoS attacks on web services using the HTTP protocol have been made, but DDoS attack detection techniques that can be applied to all application layer services in common have not been developed.

상기한 바와 같이 동작하는 종래 기술에 의한 공격 탐지 및 차단 방식에 있어서는, 트래픽 양의 급격한 변화에 대한 탐지를 통하여 공격여부를 탐지하므로 공격자로부터 전달되는 트래픽만을 정확히 선별하여 차단할 수 있는 탐지방법이 아니 다. 이로 인해, 과거의 공격 탐지 기법들은 다량의 트래픽 발생시, 전체 트래픽의 양을 일정 수준 이하로 유지하기 위해 대역폭 제한(Rate Limit) 방식의 대응 방법을 이용하였으나, 이런 경우에도 차단되는 트래픽에 일반 정상 사용자의 트래픽도 포함될 수 있게 된다는 문제점이 있었다. 또한, 응용 계층에 대한 DDoS 공격 탐지 기술로 제안되는 것은 오직 HTTP 프로토콜을 이용하는 웹 서비스에 대한 DDoS 공격만을 탐지할 수 있는 것들로, 전체 응용 서비스에 대해 공통적으로 적용할 수 있는 방안은 아니었다. In the attack detection and blocking method according to the prior art operating as described above, it is not a detection method capable of accurately selecting and blocking only the traffic transmitted from the attacker since the attack is detected by detecting a sudden change in the traffic amount. . For this reason, in the past, the attack detection techniques used a bandwidth limit method in order to keep the total amount of traffic below a certain level when a large amount of traffic occurred, but even in this case, the normal normal user to the blocked traffic There was a problem that could also include traffic. In addition, the proposed DDoS attack detection technology for the application layer can detect only DDoS attacks for web services using the HTTP protocol, and is not a method that can be applied to all application services in common.

이에 본 발명은, 응용계층 서비스의 네트워크 트래픽을 모델링하여 응용계층의 서비스에 대한 DDoS 공격 트래픽을 정확히 탐지하고, 탐지된 공격 트래픽 만을 차단할 수 있으며, 응용계층의 모든 서비스에 대해 적용할 수 있는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법을 제공한다.Accordingly, the present invention can accurately detect DDoS attack traffic for the service of the application layer by modeling network traffic of the application layer service, block only the detected attack traffic, and apply the application layer to all services of the application layer. A distributed denial of service attack detection and blocking device and a method thereof are provided.

또한 본 발명은, 모든 프로그램의 응용계층을 대상으로 시도되는 다양한 DDoS 공격을 트래픽의 양을 기반으로 탐지하는 것이 아니라, 사전에 정의한 정상 트래픽 모델과 비교하여 공격 여부를 판단함으로써, 비록 공격 트래픽의 양이 정상 상황하의 트래픽 양과 비교해 많지 않더라도, 발생되는 공격을 탐지하고, 공격의 탐지 결과 특정 공격자의 IP주소를 도출하여, 해당 공격자로부터 전달되는 공격 트래픽만을 원하는 기간 동안 차단할 수 있도록 함으로써, 정상 사용자의 트래픽을 보호하고 서비스의 지속성을 확보할 수 있는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법을 제공한다.In addition, the present invention does not detect various DDoS attacks that are attempted at the application layer of all programs based on the amount of traffic, but determines whether the attack is compared to a predefined normal traffic model, even though the amount of attack traffic is increased. Although it is not much compared with the traffic volume under this normal situation, it detects an attack that occurs, derives the IP address of a specific attacker as a result of the detection, and blocks only the attack traffic delivered from the attacker for a desired period of time. It provides an application layer distributed denial-of-service detection and blocking device and method for protecting the service and securing service continuity.

본 발명을 임의의 응용계층 서비스에 적용하기 위해 가장 먼저 선행되어야 하는 것은 해당 서비스로부터 "서비스 요청"을 정의하는 것이다. 다시 말하면, 일반 사용자는 해당 서비스를 사용하기 위해 각 응용 서비스 별로 정의된 서로 다른 형태의 서비스 사용 요청을 하게 되는데, 이때 어떤 행위를 "서비스 요청"으로 할지 정의하는 것이다. The first thing to do in order to apply the present invention to any application layer service is to define a "service request" from that service. In other words, the general user makes a request for using a different type of service defined for each application service in order to use the corresponding service. In this case, the user defines what action is referred to as a "service request."

예를 들면, HTTP 프로토콜에서는 HTTP GET Request 패킷을 "서비스 요청"으로 정의할 수 있고, FTP 서비스의 경우에는 FTP서버에 접속을 요청하는 네트워크 패킷을 "서비스 요청"으로 정의할 수 있다. 이러한 방식으로 "서비스 요청"만을 정의하면 모든 응용계층 서비스에 대해 본 발명을 적용하여 사용할 수 있게 된다.For example, in the HTTP protocol, an HTTP GET Request packet may be defined as a "service request", and in the case of an FTP service, a network packet requesting connection to an FTP server may be defined as a "service request". If only "service request" is defined in this manner, the present invention can be applied to all application layer services.

본 발명에서는 DDoS 공격 탐지를 위해 상기 "서비스 요청" 외에도 특정 응용계층 서비스에 특화된 공격 탐지에 활용 가능한 정보들도 함께 사용될 수 있다. In the present invention, in addition to the "service request" for DDoS attack detection, information available for attack detection specific to a specific application layer service may be used together.

여기서는 본 발명의 일 실시예로 HTTP 프로토콜을 이용하는 웹 서비스를 적용하여 설명하도록 한다. Here, an embodiment of the present invention will be described by applying a web service using the HTTP protocol.

본 발명의 일 실시예에 따른 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치는, 복수의 서버 및 클라이언트가 연결된 네트워크를 통해 기 설정된 감시기간 동안 상기 복수의 서버 및 클라이언트를 모니터링하여 응용계층으로 전송되는 데이터 정보를 수집하는 정보 수집부와, 상기 감시기간을 설정하고, 설정된 감시기간 동안 수집된 데이터 정보에서 트래픽 정보를 도출하는 감시부와, 상기 도출된 트래픽 정보를 기 학습된 트래픽 모델과 비교하여 공격 트래픽 여부를 판단하는 분 석부를 포함한다. Applied layer distributed denial of service attack detection and blocking device according to an embodiment of the present invention, the data transmitted to the application layer by monitoring the plurality of servers and clients for a predetermined monitoring period through a network connected to a plurality of servers and clients An information collecting unit for collecting information, a monitoring unit for setting the monitoring period, deriving traffic information from data information collected during the set monitoring period, and comparing the derived traffic information with a previously learned traffic model Includes an analysis section to determine whether or not.

여기서, 상기 기 설정된 감시기간은, 복수의 단위 시간을 포함하는 것을 특징으로 한다. The preset monitoring period may include a plurality of unit times.

그리고 상기 정보 수집부에서 수집된 데이터 정보는, 상기 서비스 요청 패킷에 포함된 목적지(DST) 포트가 하이퍼텍스트 전송 프로토콜(HTTP)인 경우, 상기 감시기간 내 단위시간 동안 요청된 "서비스 요청"(본 예에서는 GET 요청(Request)) 패킷의 개수 및 패킷 개수의 변화량과, HTTP 서비스에 특화된 정보로서 상기 단위시간 동안 요청된 GET Request 패킷 중 캐쉬 제어(Cache Control) 패킷 개수 및 패킷 개수의 변화량과, 상기 단위시간 동안 요청된 GET Request의 URI(Uniform Resource Identifier)에 대한 바이트 분포 정보와, 상기 단위시간 동안 요청된 GET Request의 URI에 대한 바이트 분포의 엔트로피 값 중 적어도 어느 하나인 것을 특징으로 한다. In addition, the data information collected by the information collection unit is a "service request" requested during a unit time in the monitoring period when the destination (DST) port included in the service request packet is a hypertext transfer protocol (HTTP). In the example, the amount of change in the number of GET request packets and the number of packets, the amount of change in the cache control packet count and the number of packets among the GET Request packets requested during the unit time as information specific to the HTTP service, At least one of the byte distribution information for the Uniform Resource Identifier (URI) of the GET Request requested for a unit time, and the entropy value of the byte distribution for the URI of the GET Request requested for the unit time.

또한, 상기 감시부에서 도출된 트래픽 정보는, 상기 정보수집부에서 수집된 데이터 정보를 토대로 전체 감시기간 동안 GET Request 패킷이 존재 및 존재하지 않았던 단위시간의 개수와, 상기 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와 상기 전체 감시기간 동안 캐쉬 제어 패킷이 존재 및 존재하지 않았던 단위시간의 개수와, 상기 전체 감시기간 동안 캐쉬 제어 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와, 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 및 CC 패킷 개수의 총합과, 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수 변화량의 분산값과, 상기 전체 감시기간 동안 단위시간 단위로 추출된 엔트로피 값들의 분산값 중 적어도 어느 하나인 것을 특징으로 한다.In addition, the traffic information derived from the monitoring unit is based on the data information collected by the information collecting unit, the number of unit times that the GET Request packet is present and non-existing during the entire monitoring period, and the GET Request packet during the entire monitoring period. The maximum number of consecutive time units that existed and did not exist, the number of unit time cache units existed and did not exist during the entire monitoring period, and the presence or absence of cache control packets consecutively during the whole monitoring period. A variance value of the maximum number of unit times, the sum of the number of GET Request packets and CC packets extracted in unit time during the entire monitoring period, the amount of change in the number of GET Request packet extracted in unit time during the whole monitoring period, At least one of the variance values of the entropy values extracted in units of time during the entire monitoring period It is characterized by one.

이와 같이 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치는, 상기 분석부를 통해 상기 감시기간 동안 수집된 데이터 정보로부터 도출된 트래픽 정보가 공격 트래픽 정보로 판단된 경우, 상기 트래픽 정보를 전송한 IP주소를 차단하는 차단부를 더 포함하는 것을 특징으로 한다. As described above, the application layer distributed denial of service attack detection and blocking device, when it is determined that the traffic information derived from the data information collected during the monitoring period as the attack traffic information through the analysis unit, the IP address transmitting the traffic information It characterized in that it further comprises a blocking unit for blocking.

그리고 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치는, 상기 감시부로부터 기 전달된 복수의 감시기간 샘플의 트래픽 정보를 벡터형태로 각각 표현하고, 상기 벡터형태의 추출정보에 패턴 분류 알고리즘을 이용하여 정상 트래픽 및 공격 트래픽의 임계 구간이 설정된 정상 트래픽 모델 및 공격 트래픽 모델을 형성하는 학습부를 더 포함하는 것을 특징으로 한다.The application layer distributed denial of service attack detection and blocking device expresses traffic information of a plurality of monitoring period samples previously transmitted from the monitoring unit in a vector form, and uses a pattern classification algorithm on the extracted information of the vector form. The apparatus may further include a learning unit configured to form a normal traffic model and an attack traffic model in which the critical sections of the normal traffic and the attack traffic are set.

그리고 이때, 상기 학습부는, 상기 분석부를 통해 상기 공격 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 공격 트래픽 모델을 업데이트하고, 상기 정상 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 정상 트래픽 모델을 업데이트하는 것을 특징으로 한다.In this case, the learning unit updates the attack traffic model by transmitting the traffic information determined as the attack traffic to the traffic model through the analysis unit, and delivers the traffic information determined as the normal traffic to the traffic model. It is characterized by updating the normal traffic model.

또한, 상기 분석부는, 상기 도출된 트래픽 정보를 패턴 분류 알고리즘을 이용하여 분류하고, 상기 분류된 트래픽 정보를 상기 공격 트래픽 모델과 비교하는 것을 특징으로 한다. The analyzing unit may classify the derived traffic information using a pattern classification algorithm and compare the classified traffic information with the attack traffic model.

여기서, 상기 패턴 분류 알고리즘은, Support Vector Machine, K-Means알고리즘, KNN알고리즘, Euclidean Distance 알고리즘, Bayes' Theorem 중 어느 하나 인 것을 특징으로 한다. Here, the pattern classification algorithm is characterized in that any one of Support Vector Machine, K-Means algorithm, KNN algorithm, Euclidean Distance algorithm, Bayes' Theorem.

한편, 상기 감시부는, 상기 설정된 감시기간이 종료된 경우, 기 설정된 큐에 세션 종료 정보를 포함시킨 후, 상기 정보 수집부로 전달하여 상기 복수의 서버 및 클라이언트에 대한 모니터링 종료를 알리는 것을 특징으로 한다. When the set monitoring period ends, the monitoring unit includes session termination information in a preset queue and transmits the information to the information collection unit to notify the monitoring end of the plurality of servers and clients.

그리고 상기 감시부에서 도출되는 트래픽 정보는, 데이터 패킷의 목적지(DST) 포트가 하이퍼텍스트 전송 프로토콜(HTTP)인 것을 특징으로 한다.The traffic information derived from the monitoring unit is characterized in that the destination (DST) port of the data packet is a hypertext transfer protocol (HTTP).

본 발명의 일 실시예에 따른 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은, 복수의 서버 및 클라이언트와 연결된 네트워크를 통해 기 설정된 감시기간 동안 상기 복수의 서버 및 클라이언트가 요청하는 서비스 요청 패킷을 모니터링하여 응용계층으로 전송되는 데이터 정보를 수집하는 과정과, 상기 감시기간을 설정하고, 설정된 감시기간 동안 수집된 데이터 정보에서 트래픽 정보를 도출하는 과정과, 상기 도출된 트래픽 정보를 기 학습된 트래픽 모델과 비교하여 공격 트래픽 여부를 판단하는 과정을 포함한다. Application layer distributed denial of service attack detection and blocking method according to an embodiment of the present invention, by monitoring the service request packets requested by the plurality of servers and clients through a network connected to a plurality of servers and clients Collecting data information transmitted to an application layer, setting the monitoring period, deriving traffic information from the data information collected during the set monitoring period, and comparing the derived traffic information with previously learned traffic models. And determining the attack traffic.

여기서, 상기 기 설정된 감시기간은, 복수의 단위 시간을 포함하는 것을 특징으로 한다. The preset monitoring period may include a plurality of unit times.

그리고 상기 데이터 정보를 수집하는 과정은, 상기 서비스 요청 패킷에 포함된 목적지(DST) 포트가 하이퍼텍스트 전송 프로토콜(HTTP)인 경우, 상기 감시기간 내 단위시간 동안 요청된 GET 요청(Request) 패킷의 개수 및 패킷 개수의 변화량과, 상기 단위시간 동안 요청된 GET Request 패킷 중 캐쉬 제어(Cache Control) 패킷 개수 및 패킷 개수의 변화량과, 상기 단위시간 동안 요청된 GET Request의 URI(Uniform Resource Identifier)에 대한 바이트 분포 정보와, 상기 단위시간 동안 요청된 GET Request의 URI에 대한 바이트 분포의 엔트로피 값 중 적어도 어느 하나를 수집하는 것을 특징으로 한다. In the collecting of the data information, when the destination (DST) port included in the service request packet is a hypertext transfer protocol (HTTP), the number of GET request packets requested for a unit time within the monitoring period. And a change amount of the packet number, a change amount of a cache control packet and a packet number of the GET Request packets requested during the unit time, and a byte for a Uniform Resource Identifier (URI) of the GET Request requested during the unit time. At least one of the distribution information and the entropy value of the byte distribution for the URI of the GET Request requested during the unit time is collected.

또한, 상기 트래픽 정보를 도출하는 과정은, 상기 수집된 데이터 정보로부터 전체 감시기간 동안 GET Request 패킷이 존재 및 존재하지 않았던 단위시간의 개수와, 상기 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와, 상기 전체 감시기간 동안 캐쉬 제어 패킷이 존재 및 존재하지 않았던 단위시간의 개수와, 상기 전체 감시기간 동안 캐쉬 제어 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와, 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 및 캐쉬 제어 패킷 개수의 총합과, 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수 변화량의 분산값과, 상기 전체 감시기간 동안 단위시간 단위로 추출된 엔트로피 값들의 분산값 중 적어도 어느 하나를 도출하는 것을 특징으로 한다.In addition, the derivation of the traffic information includes the number of unit times during which the GET Request packet is present and nonexistent during the entire monitoring period from the collected data information, and the GET Request packet is continuously present and present during the entire monitoring period. The maximum number of unit times that did not exist, the number of unit times during which the cache control packets existed and did not exist during the entire monitoring period, and the maximum number of unit times during which the cache control packets continued and existed during the entire monitoring period. And a sum of the number of GET Request packets and cache control packets extracted in unit time during the entire monitoring period, the variance value of the amount of change in the number of GET Request packets extracted in unit time during the entire monitoring period, and the total monitoring period. At least one of the variance values of the entropy values extracted in units of And it characterized in that.

이와 같이 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은, 상기 공격 트래픽 여부의 판단 결과, 공격 트래픽 정보로 판단된 경우, 상기 공격 트래픽 정보를 전송한 IP주소를 차단하는 과정을 더 포함하는 것을 특징으로 한다.As described above, the application layer distributed denial of service attack detection and blocking method further includes the step of blocking the IP address transmitting the attack traffic information when it is determined that the attack traffic information is the result of the determination of the attack traffic. It is done.

그리고 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은, 이전에 복수의 감시기간 동안 도출된 샘플 트래픽 정보를 벡터형태로 각각 표현하고, 상기 벡터형태의 추출정보에 패턴 분류 알고리즘을 이용하는 학습을 통하여 정상 트래픽 및 공격 트래픽의 임계 구간이 설정된 정상 트래픽 모델 및 공격 트래픽 모델을 형 성하는 과정을 더 포함하는 것을 특징으로 한다.In the distributed application denial of service attack detection and blocking method, the sample traffic information previously obtained during a plurality of monitoring periods is represented in a vector form, and the information is extracted through a pattern classification algorithm on the extracted information of the vector form. The method may further include forming a normal traffic model and an attack traffic model in which the critical sections of the traffic and the attack traffic are set.

또한, 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은, 상기 공격 트래픽 여부를 판단하는 과정을 통해 상기 공격 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 공격 트래픽 모델을 업데이트하는 과정과, 상기 정상 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 정상 트래픽 모델을 업데이트하는 과정을 더 포함하는 것을 특징으로 한다.The application layer distributed denial of service attack detection and blocking method may further include: updating the attack traffic model by transmitting traffic information determined as the attack traffic to the traffic model through determining whether the attack traffic is present; And transmitting the traffic information determined as the normal traffic to the traffic model to update the normal traffic model.

한편, 상기 공격 트래픽 여부를 판단하는 과정은, 상기 도출된 트래픽 정보를 패턴 분류 알고리즘을 이용하여 분류하는 과정과, 상기 분류된 트래픽 정보를 상기 공격 트래픽 모델과 비교하는 과정을 포함하는 것을 특징으로 한다.On the other hand, the process of determining whether the attack traffic, characterized in that it comprises the step of classifying the derived traffic information by using a pattern classification algorithm, and comparing the classified traffic information with the attack traffic model .

여기서, 상기 패턴 분류 알고리즘은, Support Vector Machine, K-Means알고리즘, KNN알고리즘, Euclidean Distance 알고리즘, Bayes' Theorem 중 어느 하나 인 것을 특징으로 한다.Here, the pattern classification algorithm is characterized in that any one of Support Vector Machine, K-Means algorithm, KNN algorithm, Euclidean Distance algorithm, Bayes' Theorem.

한편, 상기 도출하는 과정은, 상기 설정된 감시기간이 종료된 경우, 기 설정된 큐에 세션 종료 정보를 포함시킨 후, 상기 복수의 서버 및 클라이언트에 대한 모니터링을 수행하는 정보 수집부로 이를 전달하여 모니터링을 종료 시키는 것을 특징으로 한다.On the other hand, in the derivation process, when the set monitoring period ends, the session termination information is included in a preset queue, and the monitoring is terminated by transferring it to an information collection unit that monitors the plurality of servers and clients. It is characterized by.

그리고 상기 트래픽 정보를 도출하는 과정은, 데이터 패킷의 목적지(DST) 포트가 지정된 응용계층 서비스, 즉 본 예에서는 하이퍼텍스트 전송 프로토콜(HTTP, 80)인 것을 특징으로 한다.The deriving of the traffic information is characterized in that the application layer service, that is, the destination (DST) port of the data packet is designated, that is, the hypertext transfer protocol (HTTP, 80) in this example.

상기와 같은 본 발명의 실시예에 따른 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상이 있다.According to the application layer distributed denial of service attack detection and blocking apparatus and method thereof according to an embodiment of the present invention as described above, there are one or more of the following effects.

본 발명의 실시예에 따른 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법에 의하면, 종래에는 응용계층에 대한 DDoS 공격의 탐지 시 트래픽 양을 기반으로 공격을 탐지하거나 특정 응용계층의 특징을 이용하여 해당 응용계층에만 활용할 수 있는 국지적인 탐지 방법들이 제안되어 왔다.Applied layer distributed denial of service attack detection and blocking apparatus and method according to an embodiment of the present invention, conventionally detects an attack based on the amount of traffic or detects the characteristics of a specific application layer when detecting a DDoS attack on the application layer Local detection methods that can be used only for the application layer have been proposed.

특히, 트래픽 양의 변화량에 기반하여 공격을 탐지하는 경우에는 공격 발생여부는 파악할 수 있으나, 어떤 트래픽이 공격자가 송신한 것인지를 알 수 없어 정상적인 사용자의 트래픽 역시 차단되는 단점을 가지고 있었다.In particular, when detecting an attack based on the amount of change in traffic amount, it is possible to determine whether an attack has occurred, but it does not know which traffic is sent by the attacker.

이에, 본 발명에서는 DDoS 공격 발생시 해당 공격을 짧은 감시기간 내에 탐지하고, 탐지된 정보를 바탕으로 공격을 시도하는 공격자의 IP 주소를 정확하게 추출하여 공격자 트래픽만을 제거함으로써, 일반 사용자는 지속적으로 서비스를 이용할 수 있으며, 사전에 수행된 학습 정보를 바탕으로 탐지를 구현하기 때문에 실제 공격 탐지 시에는 매우 짧은 시간 안에 공격 여부를 정확히 판단할 수 있다. Therefore, in the present invention, when a DDoS attack occurs, the attack is detected within a short monitoring period, and based on the detected information, the attacker's IP address is accurately extracted to remove only the attacker's traffic. In addition, since detection is implemented based on previously-trained learning information, it is possible to accurately determine whether the attack is performed in a very short time when the actual attack is detected.

또한, 특정 응용 프로그램만을 대상으로 하는 것이 아니라, 네트워크로 연결된 장치에서 모든 응용 프로그램의 응용계층을 대상으로 적용할 수 있으며, 본 발명을 통해 공격 트래픽으로부터 추출한 공격자 IP 주소를 기존의 정보보안 장비에 제공함으로써, 현재 운영중인 정보보안 장비들을 적극 활용하여 DDoS 공격을 차단 할 수 있는 효과가 있다.In addition, it is possible to apply not only to a specific application but also to the application layer of all applications in a networked device. The present invention provides an attacker's IP address extracted from attack traffic to existing information security equipment. By doing so, it is possible to prevent DDoS attacks by actively utilizing the currently operated information security equipment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments, the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

본 발명의 실시예에서는 DDoS 공격의 주된 공격 대상인 응용계층의 서비스에 대한 공격을 효과적으로 탐지하여 이에 대한 차단을 수행하는 것으로서, 모든 프로그램의 응용계층을 대상으로 시도되는 다양한 DDoS 공격을 트래픽의 양을 기반으로 탐지하는 것이 아니라, 사전에 정의한 정상 트래픽 모델과 비교하여 공격 여부를 판단함으로써, 비록 공격 트래픽의 양이 정상 상황하의 트래픽 양과 비교해 많지 않더라도, 발생되는 공격을 탐지하고, 공격의 탐지 결과 특정 공격자의 IP주소를 도출하여, 해당 공격자로부터 전달되는 공격 트래픽만을 원하는 기간 동안 차단할 수 있도록 함으로써, 정상 사용자의 트래픽을 보호하고 서비스의 지속성을 확보할 수 있도록 하는 것이다.In the embodiment of the present invention, the DDoS attack effectively detects and blocks an attack on a service of an application layer, which is a main target of a DDoS attack, and performs various DDoS attacks based on the amount of traffic to the application layer of all programs. By detecting whether the attack is compared with the predefined normal traffic model, the attack is detected even if the amount of attack traffic is not large compared to the amount of traffic under normal conditions. By deriving an IP address, it is possible to block only the attack traffic delivered from the attacker for a desired period, thereby protecting the traffic of the normal user and ensuring the continuity of the service.

이에 하기 실시예에서는 기존의 DDoS 공격 탐지 기술에서 사용해온 트래픽 양의 변화에 따른 공격 탐지 방법을 극복하고자 새로운 트래픽 모델을 정의하고, 이를 바탕으로 공격 탐지를 수행하기 위해서 트래픽 모델을 정의하기 이전에 HTTP 트래픽을 예로 들어 일반적인 응용계층의 트래픽에 대한 동작을 설명하도록 한다. Accordingly, the following embodiment defines a new traffic model to overcome the attack detection method according to the change of traffic amount used in the existing DDoS attack detection technology, and based on this, before defining the traffic model to perform the attack detection, HTTP Taking the traffic as an example, the operation of the traffic of the general application layer will be described.

정상적인 사용자들이 웹 브라우저를 이용하여 특정 웹 서버에 접속하고, 데이터를 수신할 때의 동작을 살펴보면, 일반적으로 다음과 같은 순으로 진행한다.When normal users access a specific web server by using a web browser and look at the operation when receiving data, generally, the procedure is as follows.

(1) 먼저 사용자는 특정 서버에 웹 페이지(예컨대, index.html)를 요청하고,(1) First, the user requests a web page (eg index.html) from a specific server,

(2) 이후, 서버가 해당 웹 페이지의 내용을 사용자에게 전달하면, (2) After that, if the server delivers the contents of the web page to the user,

(3) 사용자는 전달된 웹 페이지를 인지하고, 자신이 원하는 다른 페이지로 이동하기 위해 원하는 하이퍼링크로된 URL을 선택하여, 해당 웹 페이지를 서버에게 2차로 요구하게 된다. (3) The user recognizes the delivered web page, selects a desired hyperlinked URL to move to another page he / she wants, and requests the web page secondly from the server.

(4) 사용자는 원하는 정보를 획득할 때까지 (2)~(3)을 반복한다. (4) The user repeats (2) to (3) until the desired information is obtained.

일반적으로 정상 사용자들은 상기 (1)~(4)의 순서로 자신이 원하는 정보를 얻을 때까지 웹 페이지를 요청하게 된다. 이때, 사용자로부터 서버로 전달되는 데이터는 특정 웹 페이지를 요구하는 GET 요청(Request)이 될 것이다. In general, normal users request a web page until they obtain the desired information in the order of (1) to (4). At this time, the data transferred from the user to the server will be a GET request requesting a specific web page.

이때 나타나는 중요한 특징은, 일반적으로 이러한 GET 요청 사이에는 대기 시간이 발생한다는 것이다. 즉, 사용자가 최초 요청한 웹 페이지의 내용을 인지하고 자신이 원하는 추가적인 데이터가 어떤 것인지를 판단하여 추가적인 데이터를 요청하는 데까지 상당기간(예컨대, 수초~수십초)이 소요되는 것이다.An important feature of this is that there is typically a waiting time between these GET requests. That is, it takes a long time (for example, several seconds to several tens) to recognize the content of the web page requested by the user first, determine what additional data the user wants, and request additional data.

즉, 특정 시간기간(Time period) 동안 사용자가 서버로 전송하는 트래픽의 형태를 살펴보면, 일반적으로 작은 양의 트래픽을 이용하여 자신이 원하는 대상의 정보를 전달하고, 해당 요청에 대한 모든 응답이 사용자로 전달될 때까지 대기하게 되는 것이다.In other words, when looking at the type of traffic that a user sends to the server during a specific time period, generally, a small amount of traffic is used to convey information of a desired destination, and all responses to the request are sent to the user. It will wait until it is delivered.

이러한 특징은 사용자가 사용하는 대부분의 응용 프로그램에서 동일하게 발생하게 된다. 즉, 인간에게 어떤 상황이 발생했을 때, 이에 대한 대처를 위해서는 일정기간 동안 분석하고 판단하는 시간이 필요하기 때문이다. 그러나, DDoS 공격간에는 매우 짧은 기간 동안 다량의 트래픽이 발생하므로 사용자, 즉 사람에 의해 발생되는 트래픽 형태와는 정확하게 구별될 수 있다.This feature occurs equally in most applications that users use. That is, when a situation occurs in humans, it takes time to analyze and judge for a certain period of time to cope with it. However, since a large amount of traffic is generated between DDoS attacks in a very short period of time, it can be accurately distinguished from the type of traffic generated by a user, that is, a person.

이러한 특성을 이용하여 정상 트래픽의 네트워크 트래픽 형태를 모델링하고 이를 바탕으로 DDoS 공격을 분류해 낼 수 있다. 이는 비록 본 발명의 실시예에서는 HTTP 프로토콜을 예로 들고 있으나, 사용자가 접근하여 사용하는 모든 응용계층에 대한 DDoS 공격에 동일한 방식으로 적용할 수 있다.Using these characteristics, we can model the network traffic type of normal traffic and classify DDoS attacks based on this. Although the embodiment of the present invention uses the HTTP protocol as an example, it can be applied to the DDoS attack on all application layers accessed and used by the user in the same manner.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 DDoS 공격 탐지 및 차단 장치의 구조를 도시한 블록도이다.1 is a block diagram showing the structure of a DDoS attack detection and blocking device according to an embodiment of the present invention.

도 1을 참조하면, DDoS 공격 탐지 및 차단 장치(100)는 클라이언트로부터 서버로 송신되는 네트워크 패킷을 모니터링하고 차단할 수 있는 위치에 설치되어 구현되며, 송신되는 네트워크 패킷으로부터 사전에 정의된 "서비스 요청" 패킷(예컨대, HTTP의 경우 GET 요청패킷)이 네트워크 상에서 송신되는지 여부를 확인하여, GET 요청 패킷의 요청 형태를 분석하고, 이를 사전에 학습을 통해 생성한 공격 및 정상 GET 요청 트래픽 패턴 모델과 비교하여 공격 여부를 판단하며, 공격으로 판단되는 경우 해당 공격을 차단하는 것으로서, 네트워크 연결부(102), 정보 수집부(104), 감시부(106), 분석부(108), 트래픽 모델(110), 차단부(112), 학습부(114) 등을 포함한다.Referring to FIG. 1, the DDoS attack detection and blocking apparatus 100 is installed and implemented at a position capable of monitoring and blocking a network packet transmitted from a client to a server, and a predefined "service request" from the transmitted network packet. Check whether the packet (eg GET request packet in HTTP) is transmitted on the network, analyze the request type of the GET request packet, and compare it with the attack and normal GET request traffic pattern model generated through learning Determining whether or not an attack, and if the attack is determined to block the attack, the network connection unit 102, information collection unit 104, monitoring unit 106, analysis unit 108, traffic model 110, blocking The unit 112, the learning unit 114 and the like.

이때, 클라이언트(도시하지 않음)는 개인용 컴퓨터, 노트북, 휴대용 사용자기기 등과 같이 네트워크망을 통해 서버에 서비스를 요청하는 다양한 컴퓨팅 장치가 될 수 있으며, 기 설치된 악성코드를 통해 DDoS 공격용 컴퓨터로 이용되어 공격의 타겟이 된 서버 또는 다른 시스템으로 공격을 수행하게 되며, 여기서 서버(도시하지 않음)는 클라이언트들에 의해 공격 받는 시스템을 의미한다.In this case, the client (not shown) may be a variety of computing devices that request services through a network such as a personal computer, a laptop, a portable user device, and the like, and are used as a computer for DDoS attack through pre-installed malware. An attack is performed by a server or another system that is targeted by a server, where a server (not shown) refers to a system that is attacked by clients.

DDoS 공격 탐지 및 차단 장치(100)를 구체적으로 설명하면, 네트워크 연결부(102)는 서버와 복수의 클라이언트 간의 데이터 송수신을 모니터링하여 사전에 정의된 응용계층 서비스로 전달되는 "서비스 요청" 패킷을 수집하여 정보 수집부(104)로 전달한다. 이에 정보 수집부(104)에서는 감시부(106)를 통해 설정된 감시기간 동안, 복수의 클라이언트들과 서버 간의 "서비스 요청"을 모니터링하여 각각의 클라이언트들에 대한 데이터 송수신 정보를 토대로 다양한 정보를 수집한다.Referring to the DDoS attack detection and blocking device 100 in detail, the network connection unit 102 monitors the transmission and reception of data between the server and the plurality of clients to collect a "service request" packet delivered to a predefined application layer service Transfer to the information collecting unit 104. Accordingly, the information collecting unit 104 collects various information based on data transmission / reception information for each client by monitoring a “service request” between the plurality of clients and the server during the monitoring period set by the monitoring unit 106. .

감시부(106)에서는 감시기간을 설정하여 정보 수집부(104)로 전달하며, 정보 수집부(104)로부터 해당 감시기간 동안 수집된 정보를 전달받아 수집된 정보에서 필요한 트래픽 패턴 정보를 추출하게 된다. 이때 감시기간은 사용자에 의해 설정되거나 일정한 감시시간으로 설정된다.The monitoring unit 106 sets the monitoring period and transmits the information to the information collecting unit 104, and receives the information collected during the monitoring period from the information collecting unit 104 to extract necessary traffic pattern information from the collected information. . At this time, the monitoring period is set by the user or a constant monitoring time.

한편, 설정된 감시기간이 종료된 경우에는 기 설정된 큐(Queue)에 세션 종료 정보를 삽입시킨 후, 정보 수집부(104)로 전달하여 정보 수집부(104)에서 복수의 클라이언트 및 서버간의 통신에 대한 모니터링 종료를 인지하고, 정보 수집을 종료하게 된다.On the other hand, when the set monitoring period is over, the session termination information is inserted into a preset queue, and the session termination information is transmitted to the information collection unit 104 to transmit information about the communication between the plurality of clients and the server. Recognizes the end of monitoring and ends the collection of information.

한편, 감시부(106)에서는 감시시간 동안 추출된 트래픽 정보를 분석부(108)로 전달하여, 분석부(108)에서는 정보 수집부(104) 및 감시부(106)와 연동하여 감시기간 동안 도출된 트래픽 정보를 패턴 분류 알고리즘을 이용하여 분류하고, 분류된 트래픽 정보를 기 학습된 트래픽 모델(110)과 비교하여, 분류된 트래픽 정보, 즉, 감시기간 동안 모니터링된 트래픽 정보가 공격 트래픽 인지 여부를 판단하게 된다.On the other hand, the monitoring unit 106 delivers the traffic information extracted during the monitoring time to the analysis unit 108, the analysis unit 108 is derived during the monitoring period in conjunction with the information collection unit 104 and the monitoring unit 106 The classified traffic information is classified using a pattern classification algorithm, and the classified traffic information is compared with the previously learned traffic model 110 to determine whether the classified traffic information, that is, whether the traffic information monitored during the monitoring period is the attack traffic. You will be judged.

이때, 트래픽 모델(110)은 기본적으로 DDoS 공격 탐지개시 이전에 학습을 통해 형성되는 것으로서, 공격 트래픽 모델과 정상 트래픽 모델을 포함하고 있다. At this time, the traffic model 110 is basically formed through learning prior to the start of DDoS attack detection, and includes an attack traffic model and a normal traffic model.

학습부(114)에서는 분석부(108)의 분석 결과를 바탕으로 분석 결과에 사용된 정보를 트래픽 모델(110)에 전달하여 기존의 공격 트래픽과 정상 트래픽 모델을 업데이트 하는데 사용할 수 있다. 즉, 감시부(106)로부터 전달된 복수의 감시기간 동안 모니터링을 통하여 도출된 트래픽 정보들을 수신하여 복수의 감시기간 동안 도출된 트래픽 정보들을 바탕으로 해당 공격 트래픽과 정상 트래픽에 대한 학습을 추가적으로 진행하는 것이다.The learning unit 114 may transmit the information used in the analysis result to the traffic model 110 based on the analysis result of the analysis unit 108 and use it to update the existing attack traffic and the normal traffic model. That is, receiving traffic information derived through monitoring during the plurality of monitoring periods transmitted from the monitoring unit 106 and further learning about the attack traffic and the normal traffic based on the traffic information derived during the plurality of monitoring periods. will be.

이러한 학습부(114)는 추출된 정보들을 벡터 형태로 표현한 후, 패턴 분류 알고리즘을 이용하여 학습된 데이터의 임계구간을 결정하는 트래픽 모델링을 수행함으로써, 이를 통해 공격 트래픽 및 정상 트래픽을 분류하는 것이 가능하다. 이와 같이 패턴 분류를 통해 공객 트래픽 및 정상 트래픽의 임계 구간이 결정된 공격 트래픽 및 정상 트래픽 모델링 정보는 트래픽모델(110)로 전달된다.The learning unit 114 expresses the extracted information in a vector form, and then performs traffic modeling to determine a critical section of the learned data using a pattern classification algorithm, thereby classifying attack traffic and normal traffic. Do. As described above, the attack traffic and the normal traffic modeling information in which the critical sections of the public traffic and the normal traffic are determined through the pattern classification are transmitted to the traffic model 110.

분석부(108)에서는 사전에 정의된 트래픽 모델(110) 또는 위와 같이 학습부(114)를 통해 학습된 트래픽 모델(110)을 참조하여, 감시기간 동안 모니터링된 트래픽이 공격 트래픽인지 여부를 판단하게 된다. 이에 판단결과 감시기간 동안의 트래픽 내에 공격 트래픽이 포함된 것으로 판단된 경우에는, 분석부(108)에서 공격 트래픽에 해당하는 IP 주소를 차단부(112)로 전달하여, 차단부(112)에서는 해당 IP주소에 대해서만 통신 및 데이터 송수신을 차단함으로써, 공격 트래픽만 차단하는 것이 가능하다.The analysis unit 108 refers to the predefined traffic model 110 or the traffic model 110 learned through the learning unit 114 as described above, and determines whether the traffic monitored during the monitoring period is attack traffic. do. As a result, when it is determined that the attack traffic is included in the traffic during the monitoring period, the analysis unit 108 delivers the IP address corresponding to the attack traffic to the blocking unit 112, and the blocking unit 112 transmits the corresponding traffic. By blocking communication and data transmission and reception only for IP addresses, it is possible to block only attack traffic.

하기 도 2 내지 7을 통해 DDoS 공격 탐지 및 차단 장치(100)에 대해 구체적으로 설명하도록 한다.Hereinafter, the DDoS attack detection and blocking apparatus 100 will be described in detail with reference to FIGS. 2 to 7.

도 2는 본 발명의 실시예에 따른 감시기간 및 단위시간 설명 방식을 도시한 도면이다.2 is a diagram illustrating a monitoring period and a unit time description method according to an embodiment of the present invention.

도 2를 참조하면, 사용자들의 동작을 모델링 즉, 정상 트래픽의 네트워크 트래픽 형태를 모델링하기 위해 먼저 감시부(106)에서는 감시기간(MP: Monitoring Period)(200)을 설정한다. 이 감시기간(200)은 총 N개의 단위시간(TS: Time Slot)(202)으로 구성된다. 이때, 단위시간(202)은 정상 상황에서의 트래픽의 형태에 따라 그 기간이 휴리스틱(heuristic)하게 정의될 수 있다. 일반 HTTP 서버의 경우에는 약 100ms 정도가 적당할 수 있다.Referring to FIG. 2, the monitoring unit 106 sets a monitoring period (MP) 200 in order to model the operation of users, that is, the network traffic type of normal traffic. The monitoring period 200 is composed of a total of N unit time slots (TS) 202. In this case, the unit time 202 may be heuristically defined in accordance with the type of traffic in a normal situation. For a typical HTTP server, about 100ms may be appropriate.

이렇게 정의된 감시기간(200)과 단위시간(202)을 기본으로 정보 수집부(104)에서는 해당 단위시간(202) 내에 발생하는 다양한 정보를 수집하게 된다. 이때 수집되는 정보는 근원지 IP주소와 목적지 IP주소를 짝(pair)으로 하여 계산된다. 수집되는 정보를 HTTP 프로토콜을 예로 들어 설명하면 다음과 같다.Based on the monitoring period 200 and the unit time 202 defined as above, the information collecting unit 104 collects various information generated in the unit time 202. The information collected at this time is calculated by pairing the source IP address and the destination IP address. The collected information is explained using the HTTP protocol as an example.

먼저, 단위시간 동안 수집하는 정보는 아래와 같다. First, the information collected during the unit time is as follows.

(1-1) 단위시간 동안 요청된 GET Request 패킷 개수 (1-1) Number of GET Request packets requested during unit time

(1-2) 단위시간 동안 요청된 GET Request 패킷 개수의 변화량 (1-2) The amount of change in the number of GET Request packets requested during the unit time

(1-3) 단위시간 동안 요청된 GET Request 패킷 중 캐쉬제어(CC:Cache Control) 패킷 개수 (1-3) Number of Cache Control (CC) Packets among GET Request Packets Requested during Unit Time

(1-4) 단위시간 동안 요청된 GET Request 패킷 중 캐쉬제어 패킷 개수의 변 화량 (1-4) Change in Cache Control Packet Count among GET Request Packets Requested during Unit Time

(1-5) 단위시간 동안 요청된 GET Request의 URI(Uniform Resource Identifier)에 대한 바이트 분포(Byte Distribution) (1-5) Byte Distribution of URI (Uniform Resource Identifier) of GET Request requested for unit time

(1-6) 단위시간 동안 요청된 GET Request의 URI에 대한 바이트 분포의 엔트로피(Entropy)값(1-6) Entropy value of byte distribution for URI of GET Request requested during unit time

상기 정보들을 이용하여 감시기간 동안 추출하는 정보는 아래와 같다. Information extracted during the monitoring period using the above information is as follows.

(2-1) 전체 감시기간 동안 GET Request 패킷이 존재했던 단위시간의 개수 (2-1) Number of unit times that GET Request packet existed during the entire monitoring period

(2-2) 전체 감시기간 동안 GET Request 패킷이 존재하지 않았던 단위시간의 개수 (2-2) Number of unit times during which the GET Request packet did not exist for the entire monitoring period

(2-3) 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재했던 단위시간의 최대 개수 (2-3) The maximum number of unit times that GET Request packets existed continuously during the entire monitoring period.

(2-4) 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재하지 않았던 단위시간의 최대 개수 (2-4) The maximum number of unit times during which the GET Request packet did not exist continuously during the entire monitoring period.

(2-5) 전체 감시기간 동안 캐쉬제어 패킷이 존재했던 단위시간의 개수 (2-5) Number of unit times that cache control packets existed during the entire monitoring period

(2-6) 전체 감시기간 동안 캐쉬제어 패킷이 존재하지 않았던 단위시간의 개수(2-6) Number of unit times when cache control packet did not exist for all monitoring periods

(2-7) 전체 감시기간 동안 캐쉬제어 패킷이 연속적으로 존재했던 단위시간의 최대 개수 (2-7) Maximum number of unit times of continuous cache control packets during the entire monitoring period

(2-8) 전체 감시기간 동안 캐쉬제어 패킷이 연속적으로 존재하지 않았던 단위시간의 최대 개수 (2-8) The maximum number of unit times during which no cache control packets existed continuously for the entire monitoring period.

(2-9) 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수의 총합 (2-9) Total number of GET Request packets extracted per unit time during the entire monitoring period

(2-10) 전체 감시기간 동안 단위시간 단위로 추출된 캐쉬제어 패킷 개수의 총합 (2-10) The total number of cache control packets extracted in unit time unit during the entire monitoring period

(2-11) 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수 변화량의 분산값 (2-11) Variance value of the amount of change in the number of GET Request packets extracted in unit time during the entire monitoring period

(2-12) 전체 감시기간 동안 단위시간 단위로 추출된 엔트로피 값들의 분산값(2-12) The variance of entropy values extracted in units of time during the entire monitoring period

이와 같이 추출된 값들은 트래픽 모델(110)을 형성하는데, 사용될 수 있으며, 트래픽 모델(110)을 생성하는 과정은 다음과 같다. 먼저, 정보수집부(104)를 통해 사전에 보호하고자 하는 응용 서비스에 대한 DDoS 공격 트래픽과 정상 트래픽을 수집한다. 수집된 트래픽으로부터 정의된 감시기간을 대상으로 (1-1) ~ (1-6)의 정보를 추출하고, 이를 바탕으로 감시부(106)에서는 (2-1) ~ (2-12)의 정보를 생성한다. The extracted values may be used to form the traffic model 110, and the process of generating the traffic model 110 is as follows. First, the DDoS attack traffic and normal traffic for the application service to be protected in advance are collected through the information collecting unit 104. From the collected traffic, the information of (1-1) to (1-6) is extracted for the defined monitoring period, and based on this, the monitoring unit 106 collects the information of (2-1) to (2-12). Create

이때, 감시기간은 수집된 전체 트래픽에 비해 매우 적은 시간이기 때문에 수집된 전체 트래픽에 대해 정의된 감시기간을 대상으로 반복적으로 (1-1)~(1-6), (2-1)~(2-12)정보를 추출한다. 이후, 학습부(114)에서는 이렇게 추출된 전체 트래픽에 대한 일련의 정보들을 벡터형태로 표현하고, 이를 패턴 분류 알고리즘을 이용하여 트래픽 모델(110)을 생성하는데 사용한다. 이때, 공격 트래픽에서 추출한 정보들은 공격 트래픽 모델을 생성하는데 사용되고, 정상 트래픽으로부터 추출한 정 보들은 정상 트래픽 모델을 생성하는데 사용한다.At this time, since the monitoring period is very small compared to the total traffic collected, the monitoring period defined for the collected traffic is repeatedly (1-1) to (1-6), (2-1) to ( 2-12) Extract information. Thereafter, the learning unit 114 expresses a series of information about the extracted traffic in a vector form and uses it to generate the traffic model 110 using a pattern classification algorithm. At this time, the information extracted from the attack traffic is used to generate the attack traffic model, and the information extracted from the normal traffic is used to generate the normal traffic model.

한편, 상기와 같이 추출된 값들에 대해, 정상 트래픽에 대한 일부 추출값과 공격 트래픽에 대한 일부 추출값을 서로 비교하면 도 3 내지 도 5 와 같다.On the other hand, with respect to the extracted values as described above, the partial extraction value for the normal traffic and the partial extraction value for the attack traffic is compared with each other as shown in Figs.

도 3은 본 발명의 실시예에 따른 전체 감시기간 동안 GET Request 패킷이 존재했던 단위시간의 개수에 대한 그래프이다. 3 is a graph of the number of unit times of a GET Request packet during the entire monitoring period according to an embodiment of the present invention.

도 3의 그래프에서 알 수 있듯이, 공격 트래픽인 77DDoS(300)와 BlackEnergy(302)의 트래픽에서는 GET Request 패킷이 존재한 단위시간이 다수 존재하였으나, 일반 정상 트래픽(304)에서는 상대적으로 매우 적은 양의 단위시간 개수가 존재함을 알 수 있다.As can be seen in the graph of FIG. 3, although the traffic of 77DDoS 300 and the BlackEnergy 302, which are the attack traffic, a large number of unit times in which a GET Request packet existed existed, in general normal traffic 304, a relatively small amount of unit time was present. It can be seen that there is a unit time number.

도 4는 본 발명의 실시예에 따른 공격 트래픽 및 정상 트래픽의 GET Request가 연속적으로 존재한 최대 TS개수에 대한 그래프이다.4 is a graph showing the maximum number of TSs in which GET Requests of attack traffic and normal traffic are continuously present according to an embodiment of the present invention.

도 4의 그래프를 참조하면, 공격 트래픽 및 정상 트래픽의 (2-3) 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재했던 단위시간의 최대 개수를 표현한 것으로 도 3에서와 마찬가지로 공격 트래픽인 77DDoS(400)와 BlackEnergy(402)가 정상 트래픽(404) 보다 단위시간 당 최대 개수가 많으므로 쉽게 구분할 수 있다.Referring to the graph of FIG. 4, 77DDoS (400) of attack traffic, which represents the maximum number of unit times in which GET Request packets existed continuously during the entire monitoring period of attack traffic and normal traffic (2-3). ) And BlackEnergy 402 can be easily distinguished since the maximum number per unit time is greater than that of normal traffic 404.

도 5는 본 발명의 실시예에 따른 공격트래픽 및 정상트래픽의 단위시간 단위의 전체 GET Request 패킷 개수를 도시한 그래프이다. 5 is a graph showing the total number of GET Request packets in unit time units of attack traffic and normal traffic according to an embodiment of the present invention.

도 5의 그래프를 참조하면, (2-9) 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수의 총합을 표현한 것으로, 도 3내지 4와 같이 공격 트 래픽인 77DDoS(500)와 BlackEnergy(502)가 정상 트래픽(504) 보다 단위시간 단위의 GET Request 패킷 개수가 많으므로 쉽게 구별이 가능하다.Referring to the graph of FIG. 5, (2-9) represents the total number of GET Request packets extracted in unit time units during the entire monitoring period. As shown in FIGS. 3 to 4, 77DDoS 500 and BlackEnergy ( Since 502 has more GET Request packets per unit time than normal traffic 504, it is easily distinguishable.

이와 같이, 정보 수집부(104)에서 수집된 정보들을 통해 감시부(106)에서 추출된 트래픽 정보들은 공격 트래픽과 정상 트래픽을 구분하는데 유용하게 사용될 수 있는 정보들이다. As such, the traffic information extracted by the monitoring unit 106 through the information collected by the information collecting unit 104 are information that may be usefully used to distinguish the attack traffic from the normal traffic.

그러므로 감시부(106)에서는 이와 같은 정보들을 이용하여 정상 트래픽과 공격 트래픽에 대해 상기한 감시기간과 단위시간을 바탕으로 해당 정보들을 도출하여 분석부(108)로 전달함으로써, 분석부(108)에서는 감시기간과 단위시간을 바탕으로 도출된 트래픽 정보들을 토대로 공격 트래픽과 정상 트래픽에 대한 패턴 분류를 수행하게 된다.Therefore, the monitoring unit 106 derives the corresponding information based on the monitoring period and the unit time for the normal traffic and the attack traffic by using such information, and delivers the corresponding information to the analyzing unit 108, so that the analyzing unit 108 Pattern classification for attack traffic and normal traffic is performed based on traffic information derived based on monitoring period and unit time.

한편, 학습부(114)에서는 이전 감시시간을 토대로 추출되었던 트래픽 정보들을 벡터형태로 표현한 후, 정보통신연구에 널리 사용되는 다양한 기계학습 및 패턴 분류 알고리즘을 이용하여 학습된 데이터의 임계구간을 결정한다. 그러므로 이와 같이 사전에 수행되었던 학습의 결과를 기반으로 공격 트래픽 모델(110)을 형성하게 되며, 분석부(108)에서는 감시부(106)로부터 도출된 트래픽 정보를 해당 패턴 분류 알고리즘을 이용하여 패턴 분류하고, 패턴 분류된 트래픽 정보에 공격 트래픽 모델(110)을 참조하여 감시기간 또는 단위시간 동안의 트래픽에서 공격 트래픽의 수신 여부를 판단하게 된다. On the other hand, the learning unit 114 represents the traffic information extracted based on the previous monitoring time in a vector form, and then determines the critical section of the learned data using various machine learning and pattern classification algorithms widely used in ICT research. . Therefore, the attack traffic model 110 is formed on the basis of the result of the learning that has been performed in advance, and the analysis unit 108 classifies the traffic information derived from the monitoring unit 106 by using the pattern classification algorithm. The attack traffic model 110 is referred to the pattern classified traffic information to determine whether the attack traffic is received in the traffic during the monitoring period or the unit time.

이때 사용될 수 있는 패턴 분류알고리즘은 일반적으로 정보통신 연구분야에서 널리 사용되고 있는 Support Vector Machine, K-Means알고리즘, KNN알고리즘, Euclidean Distance알고리즘, Bayes'Theorem 등과 패턴 분류가 가능한 모든 분류 기법이 적용될 수 있다. The pattern classification algorithm that can be used can be applied to all classification techniques that can classify patterns such as Support Vector Machine, K-Means Algorithm, KNN Algorithm, Euclidean Distance Algorithm, Bayes'Theorem.

이와 같은 형태의 공격 트래픽 탐지의 결과는 앞서 언급한 바와 같이 특정 근원지 IP주소와 목적지 IP주소이다. 따라서, 해당 트래픽이 공격이라고 판단되었다면, 분석결과 도출된 근원지 IP주소가 곧 공격자의 IP주소를 의미하게 된다. The result of this type of attack traffic detection is a specific source IP address and a destination IP address as mentioned above. Therefore, if the traffic is determined to be an attack, the source IP address derived from the analysis means the attacker's IP address.

일부 DDoS 공격의 경우, IP주소를 조작하여 공격을 시도하는 IP Spoofing 기법이 적용되기도 한다. 그러나 응용 계층의 DDoS 공격에서는 IP Spoofing 기법을 적용할 수 없다. 왜냐하면, 응용계층까지 공격자가 원하는 데이터를 전달하기 위해서는 네트워크계층의 3-Way 핸드쉐이크(Handshake) 과정을 거쳐야만 하는데, 만약 IP주소가 조작된 경우라면 이 3-Way Handshake 과정이 성립될 수 없기 때문에 응용계층으로 데이터를 전달하는 것 자체가 불가능해진다. In some DDoS attacks, an IP spoofing technique is applied that attempts to attack by manipulating an IP address. However, IP Spoofing cannot be applied to DDoS attacks at the application layer. Because in order to deliver the data the attacker wants to the application layer, the network layer must go through the 3-way handshake process. If the IP address is manipulated, the 3-way handshake process cannot be established. Passing data to the layer itself becomes impossible.

따라서, 응용계층에 대한 DDoS 공격에 사용되는 모든 근원지 IP주소는 조작되지 않은 순수 IP주소라고 할 수 있으므로, 트래픽 분석의 결과로 도출되는 근원지 IP주소는 결국 공격자의 IP주소인 것이다. Therefore, since all source IP addresses used in DDoS attacks on the application layer can be said to be unmanipulated pure IP addresses, the source IP address resulting from the traffic analysis is the attacker's IP address.

이에 분석부(108)에서는 공격 트래픽 여부 및 공격 트래픽을 전송하는 특정 공격자 IP주소를 직접 찾아낼 수 있으며, 찾아낸 정보를 차단부(112)로 전달하여, 차단부(112)에서 해당 공격자 IP주소로부터의 트래픽 전송만을 선별적으로 차단할 수 있다. 물론 차단부(112) 뿐만 아니라 기존의 일반 네트워크 보안 장비(IPS, IDS, Firewall 등)과 연동을 통해 차단할 대상 시스템의 목록을 제공함으로써 그 효과를 극대화할 수도 있다. 따라서, 차단부(112) 및 네트워크 보안 장비를 통해 공격 트래픽은 차단하고 정상 사용자는 지속적으로 데이터 송수신 서비스를 받을 수 있는 환경을 제공하게 된다. Accordingly, the analysis unit 108 may directly detect whether or not the attack traffic and a specific attacker IP address transmitting the attack traffic, and transfers the found information to the blocking unit 112, the blocking unit 112 from the attacker IP address Only traffic transmission can be selectively blocked. Of course, by providing a list of target systems to be blocked by interlocking with the existing general network security equipment (IPS, IDS, Firewall, etc.) as well as the blocker 112 may maximize the effect. Therefore, the blocking unit 112 and the network security equipment to block the attack traffic and provide a normal user can continuously receive data transmission and reception services.

이에 이러한 응용계층의 DDoS 공격에 대한 차단과정의 동작흐름을 도 6 a 내지 도 6b를 통해 구체적으로 설명하도록 한다.Therefore, the operation flow of the blocking process for the DDoS attack of the application layer will be described in detail with reference to FIGS. 6A to 6B.

도 6a는 본 발명의 실시예에 따른 DDoS 공격 탐지 및 차단 장치에서 트래픽 정보의 추출을 위한 동작 절차를 도시한 흐름도이다.6A is a flowchart illustrating an operation procedure for extracting traffic information in a DDoS attack detection and blocking device according to an embodiment of the present invention.

도 6a를 참조하면, 600단계에서 감시부(106)는 N개의 단위시간으로 구성된 감시시간을 설정한 후, 정보 수집부(104)를 통하여 네트워크 연결부(102)에 연결된 네트워크 상에서 송수신되는 복수의 클라이언트가 서버와 통신하기 위해 생성한 모든 세션에 대한 서비스 요청 패킷의 모니터링을 수행한다. Referring to FIG. 6A, in step 600, the monitoring unit 106 sets a monitoring time including N unit times, and then transmits and receives a plurality of clients transmitted and received on a network connected to the network connection unit 102 through the information collection unit 104. Monitors the service request packet for all sessions created to communicate with the server.

이에 602단계에서 정보 수집부(104)는 모든 통신 세션을 통해 복수의 클라이언트들이 서버로 전송하는 "서비스 요청" 데이터 정보를 수집하고, 수집된 정보는 감시부(106)로 전달한다. 이에 감시부(106)에서는 감시기간 내에 단위시간 별로 수신된 데이터 패킷에서 필요한 트래픽 정보를 추출하게 된다.In step 602, the information collecting unit 104 collects "service request" data information transmitted by the plurality of clients to the server through all communication sessions, and transmits the collected information to the monitoring unit 106. Accordingly, the monitoring unit 106 extracts the necessary traffic information from the data packet received for each unit time within the monitoring period.

먼저 604단계에서 수신된 데이터 패킷의 데이터 패킷의 목적지(DST: destination) 포트가 하이퍼 텍스트 전송 프로토콜(HTTP: HyperText Transport Protocol)인지 여부를 확인하여 HTTP인 경우에는 606단계로 진행하고, HTTP가 아닌 경우에는 604단계로 복귀하여 다른 패킷에 대한 정보를 추출한다.First, in step 604, if the destination (DST) port of the data packet of the data packet received in step 604 is Hyper Text Transport Protocol (HTTP), it is checked and proceeds to step 606 in the case of HTTP. The process returns to step 604 to extract information about another packet.

606단계에서는 각 패킷의 GET 패킷 및 GET 중 CC패킷의 존재여부를 확인하여 608단계에서 다른 단위 시간에 속하는 패킷인지 여부를 판단한다. In step 606, the presence of the GET packet and the CC packet among the GETs is checked to determine whether the packet belongs to a different unit time in step 608.

이에 해당 패킷이 같은 단위 시간에 속하는 패킷인 경우에는 610단계로 진행하여 해당 단위 시간 내의 GET 패킷 및 CC 패킷 개수의 카운트 값을 업데이트, GET 패킷의 URI 바이트 분포 정보 업데이트, GET 패킷 및 CC 패킷 개수의 총합 업데이트 등을 수행한 후, 602단계로 복귀하여 같은 단위 시간 내 다른 패킷의 정보를 추출하여 확인하게 된다.If the packet belongs to the same unit time, the process proceeds to step 610 to update the count value of the GET packet and the number of CC packets in the unit time, update the URI byte distribution information of the GET packet, and update the count of the GET packet and the CC packet number. After performing the sum update or the like, the process returns to step 602 to extract and confirm information of another packet within the same unit time.

다만, 608단계에서 다른 단위 시간에 속하는 패킷인 경우에는, 612단계로 진행하여 해당 단위 시간의 패킷 확인은 종료하고, GET 패킷 및 CC 패킷 개수의 총합을 산출하고, URI에 대한 바이트 분포의 엔트로피값을 산출하게 된다.However, if the packet belongs to a different unit time in step 608, the flow proceeds to step 612, where the packet checking of the unit time is terminated, the total number of GET packets and CC packets are calculated, and the entropy value of the byte distribution for the URI. Will yield

이후 614단계에서 감시기간을 구성하는 모든 단위 시간에 대한 패킷 확인이 완료된 경우에는 패킷 확인을 종료한 후, 도 6b의 618단계로 진행하고, 완료되지 않은 경우에는 616단계로 진행하여 다음 단위시간 동안 수신된 데이터 패킷에서 정보를 추출하여 604단계로 진행한다.If the packet check for all the unit time constituting the monitoring period is completed in step 614, after the packet check is completed, proceed to step 618 of Figure 6b, if not completed in step 616 proceeds to the next unit time In step 604, information is extracted from the received data packet.

도 6b는 본 발명의 실시예에 따른 DDoS 공격 탐지 및 차단 장치에서 공격 트래픽 모델링 및 공격 트래픽의 차단 절차를 도시한 흐름도이다.6B is a flowchart illustrating an attack traffic modeling and an attack traffic blocking procedure in a DDoS attack detection and blocking device according to an embodiment of the present invention.

도 6b의 618단계에서는 감시기간 내 모든 패킷 확인이 종료된 경우, 감시기간 동안의 모든 단위 시간별 정보를 합산하여, 620단계에서 GET 패킷 및 CC 패킷의 변화량과 엔트로피 값들의 분산값을 산출하여, 패킷에 대한 정보 추출을 통해 도출된 트래픽 정보들을 분석부(108)로 전달한다. In step 618 of FIG. 6B, when the checking of all packets in the monitoring period is completed, all unit time-specific information for the monitoring period is added, and in step 620, the dispersion value of the GET packet and the CC packet and the variance of entropy values are calculated. The traffic information derived through the extraction of information is transferred to the analysis unit 108.

이에 622단계에서 분석부(108)는 도출된 정보와 기 설정된 정상 트래픽과 공격 트래픽 패턴이 분류되어 임계값이 설정되어 있는 트래픽 모델(110)과의 비교 를 통해 해당 트래픽이 공격 트래픽 인지 여부를 분석하여 624단계에서 트래픽 정보 내에 공격 트래픽이 존재하는 경우에는 626단계에서 공격 트래픽을 전송하는 해당 IP주소를 차단부(112)로 전달하여 차단부(112)에서 해당 IP에 대한 데이터 전송 또는 통신 세션을 차단하게 된다. In step 622, the analysis unit 108 analyzes whether the corresponding traffic is the attack traffic by comparing the derived information with the predetermined normal traffic and the attack traffic pattern and comparing the traffic model 110 with a threshold value. If attack traffic exists in the traffic information in step 624, the corresponding IP address transmitting the attack traffic is forwarded to the blocking unit 112 in step 626, so that the blocking unit 112 performs a data transmission or communication session for the IP. Will be blocked.

이후, 630 단계에서 공격으로 판단된 트래픽 정보는 학습부(114)를 통해 트래픽 모델(110)로 전달하여 공격 트래픽 모델로 업데이트를 수행한다. Thereafter, the traffic information determined as an attack in step 630 is transmitted to the traffic model 110 through the learning unit 114 to update the attack traffic model.

또한 624 단계에서 트래픽 정보 내에 공격 트래픽이 존재하지 않는 정상 트래픽으로 판단된 경우에는, 630 단계에서 학습부(114)를 통해 해당 트래픽 정보를 트래픽 모델(110)로 전달하여 정상 트래픽 모델로 업데이트를 수행한다. In addition, if it is determined in step 624 that the normal traffic does not exist in the traffic information in the traffic information, in step 630, the corresponding traffic information is transferred to the traffic model 110 through the learning unit 114 to update to the normal traffic model. do.

이상 설명한 바와 같이, 본 발명의 실시예에 따른 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법은, DDoS 공격의 주된 공격 대상인 응용계층의 서비스에 대한 공격을 효과적으로 탐지하여 이에 대한 차단을 수행하는 것으로서, 모든 프로그램의 응용계층을 대상으로 시도되는 다양한 DDoS 공격을 트래픽의 양을 기반으로 탐지하는 것이 아니라, 사전에 정의한 정상 트래픽 모델과 비교하여 공격 여부를 판단함으로써, 비록 공격 트래픽의 양이 정상 상황하의 트래픽 양과 비교해 많지 않더라도, 발생되는 공격을 탐지하고, 공격의 탐지 결과 특정 공격자의 IP주소를 도출하여, 해당 공격자로부터 전달되는 공격 트래픽만을 원하는 기간 동안 차단할 수 있도록 함으로써, 정상 사용자의 트래픽을 보호하고 서비스의 지속성을 확보할 수 있도록 한다.As described above, the application layer distributed denial of service attack detection and blocking apparatus and method thereof according to an embodiment of the present invention effectively detect and block an attack on a service of an application layer which is a main target of a DDoS attack. Instead of detecting various DDoS attacks targeted to the application layer of all programs based on the amount of traffic, it is determined whether the attack is compared with a predefined normal traffic model, even if the amount of attack traffic is normal. It protects the traffic of normal users by detecting the attack that occurs even if it is not much compared to the traffic volume, and by extracting the IP address of a specific attacker as a result of the detection, and blocking only the attack traffic from the attacker for a desired period. To ensure continuity of service The.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims, and equivalents thereof.

도 1은 본 발명의 실시예에 따른 DDoS 공격 탐지 및 차단 장치의 구조를 도시한 블록도,1 is a block diagram showing the structure of a DDoS attack detection and blocking device according to an embodiment of the present invention;

도 2는 본 발명의 실시예에 따른 감시기간 및 단위시간 설명 방식을 도시한 도면,2 is a diagram illustrating a monitoring period and a unit time description method according to an embodiment of the present invention;

도 3은 본 발명의 실시예에 따른 전체 감시기간 동안 GET Request 패킷이 존재했던 단위시간의 개수에 대한 그래프,3 is a graph of the number of unit times of a GET Request packet during the entire monitoring period according to an embodiment of the present invention;

도 4는 본 발명의 실시예에 따른 공격 트래픽 및 정상 트래픽의 GET Request가 연속적으로 존재한 최대 TS개수에 대한 그래프,4 is a graph showing the maximum number of TSs in which GET Requests of attack traffic and normal traffic are continuously present according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 공격트래픽 및 정상트래픽의 단위시간 단위의 전체 GET Request 패킷 개수를 도시한 그래프,5 is a graph showing the total number of GET Request packets in unit time units of attack traffic and normal traffic according to an embodiment of the present invention;

도 6a는 본 발명의 실시예에 따른 DDoS 공격 탐지 및 차단 장치에서 트래픽 정보의 추출을 위한 동작 절차를 도시한 흐름도,6A is a flowchart illustrating an operation procedure for extracting traffic information in a DDoS attack detection and blocking device according to an embodiment of the present invention;

도 6b는 본 발명의 실시예에 따른 DDoS 공격 탐지 및 차단 장치에서 공격 트래픽 모델링 및 공격 트래픽의 차단 절차를 도시한 흐름도.6B is a flowchart illustrating an attack traffic modeling and blocking procedure of an attack traffic in a DDoS attack detection and blocking device according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호 설명 > <Description of Signs of Major Parts of Drawings>

100 : DDoS 공격 탐지 및 차단 장치 102 : 네트워크 연결부100: DDoS attack detection and blocking device 102: network connection

104 : 정보 수집부 106 : 감시부104: information collecting unit 106: monitoring unit

108 : 분석부 110 : 트래픽 모델108: analysis unit 110: traffic model

112 : 차단부 114 : 학습부 112: blocking unit 114: learning unit

Claims (20)

복수의 서버 및 클라이언트가 송신하는 네트워크 트래픽을 모니터링 할 수 있는 네트워크를 통해 기 설정된 감시기간 동안 상기 복수의 서버 및 클라이언트가 요청하는 서비스 요청 패킷을 모니터링하여 응용계층으로 전송되는 데이터 정보를 수집하는 정보 수집부와,Collecting information collecting data information transmitted to an application layer by monitoring service request packets requested by the plurality of servers and clients during a preset monitoring period through a network capable of monitoring network traffic transmitted by the plurality of servers and clients Wealth, 상기 감시기간을 설정하고, 설정된 감시기간 동안 수집된 데이터 정보에서 트래픽 정보를 도출하는 감시부와,A monitoring unit for setting the monitoring period and deriving traffic information from data information collected during the set monitoring period; 상기 도출된 트래픽 정보를 기 학습된 트래픽 모델과 비교하여 공격 트래픽 여부를 판단하는 분석부Analysis unit for determining the attack traffic by comparing the derived traffic information with the previously learned traffic model 를 포함하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.App layer distributed denial of service attack detection and blocking device comprising a. 제 1항에 있어서,The method of claim 1, 상기 기 설정된 감시기간은,The preset monitoring period is 복수의 단위 시간을 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.App layer distributed denial of service attack detection and blocking device comprising a plurality of unit times. 제 1항에 있어서,The method of claim 1, 상기 정보 수집부에서 수집된 데이터 정보는,Data information collected by the information collecting unit, 상기 서비스 요청 패킷에 포함된 목적지(DST) 포트가 하이퍼텍스트 전송 프로토콜(HTTP)인 경우, 상기 감시기간 내 단위시간 동안 요청된 GET 요청(Request) 패킷의 개수 및 패킷 개수의 변화량과, If the destination (DST) port included in the service request packet is a hypertext transfer protocol (HTTP), the number of changes and the number of packet requests requested during the unit time within the monitoring period and the number of packets, 상기 단위시간 동안 요청된 GET Request 패킷 중 캐쉬 제어(Cache Control) 패킷 개수 및 패킷 개수의 변화량과, A change amount of the cache control packet and the number of packets among the GET request packets requested during the unit time; 상기 단위시간 동안 요청된 GET Request의 URI(Uniform Resource Identifier)에 대한 바이트 분포 정보와, Byte distribution information on a Uniform Resource Identifier (URI) of a GET Request requested during the unit time; 상기 단위시간 동안 요청된 GET Request의 URI에 대한 바이트 분포의 엔트로피 값 중 적어도 어느 하나인 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.Applied layer distributed denial of service attack detection and blocking device, characterized in that at least one of the entropy value of the byte distribution for the URI of the GET Request requested during the unit time. 제 3항에 있어서,The method of claim 3, 상기 정보수집부에서 수집된 데이터 정보를 토대로 상기 감시부에서 도출된 트래픽 정보는,Traffic information derived from the monitoring unit based on the data information collected by the information collecting unit, 전체 감시기간 동안 GET Request 패킷이 존재 및 존재하지 않았던 단위시간의 개수와, The number of unit times the GET Request packet was present and nonexistent during the entire monitoring period, 상기 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와The maximum number of unit times of continuous and non-existent GET Request packets during the entire monitoring period. 상기 전체 감시기간 동안 캐쉬 제어 패킷이 존재 및 존재하지 않았던 단위시간의 개수와,The number of unit times during which the cache control packet existed and did not exist during the entire monitoring period; 상기 전체 감시기간 동안 캐쉬 제어 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와,The maximum number of unit times during which the cache control packet was continuously present and nonexistent during the entire monitoring period; 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 및 CC 패킷 개수의 총합과, The total number of GET Request packets and CC packets extracted in unit time units during the entire monitoring period; 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수 변화량의 분산값과, A variance value of the amount of change in the number of GET Request packets extracted in unit time units during the entire monitoring period; 상기 전체 감시기간 동안 단위시간 단위로 추출된 엔트로피 값들의 분산값 중 적어도 어느 하나인 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.Applied layer distributed denial of service attack detection and blocking device, characterized in that at least one of the variance of the entropy values extracted in units of time during the entire monitoring period. 제 1항에 있어서, The method of claim 1, 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치는,The application layer distributed denial of service attack detection and blocking device, 상기 분석부를 통해 상기 감시기간 동안 수집된 데이터 정보로부터 도출된 트래픽 정보가 공격 트래픽 정보로 판단된 경우, 상기 트래픽 정보를 전송한 IP주소를 차단하는 차단부Blocking unit for blocking the IP address that transmitted the traffic information, if the traffic information derived from the data information collected during the monitoring period through the analysis unit is determined as attack traffic information 를 더 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.App layer distributed denial of service attack detection and blocking device further comprising. 제 1항에 있어서, The method of claim 1, 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치는,The application layer distributed denial of service attack detection and blocking device, 상기 감시부로부터 기 전달된 복수의 감시기간 샘플의 트래픽 정보를 벡터형태로 각각 표현하고, 상기 벡터형태의 추출정보에 패턴 분류 알고리즘을 이용하여 정상 트래픽 및 공격 트래픽의 임계 구간이 설정된 정상 트래픽 모델 및 공격 트래픽 모델을 형성하는 학습부를 더 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.A normal traffic model in which traffic information of a plurality of monitoring period samples previously transmitted from the monitoring unit is expressed in a vector form, and a critical section of normal traffic and attack traffic is set using a pattern classification algorithm in the extracted information of the vector form; Application layer distributed denial of service attack detection and blocking device further comprising a learning unit for forming an attack traffic model. 제 6항에 있어서, The method according to claim 6, 상기 학습부는,The learning unit, 상기 분석부를 통해 상기 공격 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 공격 트래픽 모델을 업데이트하고,Update the attack traffic model by transmitting traffic information determined as the attack traffic to the traffic model through the analysis unit; 상기 정상 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 정상 트래픽 모델을 업데이트하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.Applied layer distributed denial of service attack detection and blocking device, characterized in that for updating the normal traffic model by passing the traffic information determined as the normal traffic to the traffic model. 제 1항에 있어서,The method of claim 1, 상기 분석부는,The analysis unit, 상기 도출된 트래픽 정보를 패턴 분류 알고리즘을 이용하여 분류하고, Classify the derived traffic information using a pattern classification algorithm, 상기 분류된 트래픽 정보를 상기 공격 트래픽 모델과 비교하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.Applied layer distributed denial of service attack detection and blocking device, characterized in that for comparing the classified traffic information with the attack traffic model. 제 8항에 있어서,9. The method of claim 8, 상기 패턴 분류 알고리즘은,The pattern classification algorithm, Support Vector Machine, K-Means알고리즘, KNN알고리즘, Euclidean Distance 알고리즘, Bayes'Theorem 중 어느 하나 인 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.Application layer distributed denial of service attack detection and blocking device, characterized in that any one of Support Vector Machine, K-Means algorithm, KNN algorithm, Euclidean Distance algorithm, Bayes'Theorem. 제 1항에 있어서,The method of claim 1, 상기 감시부는,The monitoring unit, 상기 설정된 감시기간이 종료된 경우, 기 설정된 큐에 세션 종료 정보를 포함시킨 후, 상기 정보 수집부로 전달하여 상기 복수의 서버 및 클라이언트에 대한 모니터링 종료를 알리는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치.When the set monitoring period is over, the application layer distributed denial of service attack detection including session termination information in a predetermined queue and transmitting the information to the information collection unit to notify the termination of monitoring of the plurality of servers and clients. And blocking device. 복수의 서버 및 클라이언트와 연결된 네트워크를 통해 기 설정된 감시기간 동안 상기 복수의 서버 및 클라이언트가 요청하는 서비스 요청 패킷을 모니터링하여 응용계층으로 전송되는 데이터 정보를 수집하는 과정과,Collecting data information transmitted to an application layer by monitoring service request packets requested by the plurality of servers and clients during a preset monitoring period through a network connected to a plurality of servers and clients; 상기 감시기간을 설정하고, 설정된 감시기간 동안 수집된 데이터 정보에서 트래픽 정보를 도출하는 과정과,Setting the monitoring period and deriving traffic information from the data information collected during the set monitoring period; 상기 도출된 트래픽 정보를 기 학습된 트래픽 모델과 비교하여 공격 트래픽 여부를 판단하는 과정The process of determining whether the attack traffic is compared by comparing the derived traffic information with the previously learned traffic model 을 포함하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method comprising a. 제 11항에 있어서,12. The method of claim 11, 상기 기 설정된 감시기간은,The preset monitoring period is 복수의 단위 시간을 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method comprising a plurality of unit times. 제 11항에 있어서,12. The method of claim 11, 상기 데이터 정보를 수집하는 과정은,The process of collecting the data information, 상기 서비스 요청 패킷에 포함된 목적지(DST) 포트가 하이퍼텍스트 전송 프로토콜(HTTP)인 경우, 상기 감시기간 내 단위시간 동안 요청된 GET 요청(Request) 패킷의 개수 및 패킷 개수의 변화량과, If the destination (DST) port included in the service request packet is a hypertext transfer protocol (HTTP), the number of changes and the number of packet requests requested during the unit time within the monitoring period and the number of packets, 상기 단위시간 동안 요청된 GET Request 패킷 중 캐쉬 제어(Cache Control) 패킷 개수 및 패킷 개수의 변화량과, A change amount of the cache control packet and the number of packets among the GET request packets requested during the unit time; 상기 단위시간 동안 요청된 GET Request의 URI(Uniform Resource Identifier)에 대한 바이트 분포 정보와, Byte distribution information on a Uniform Resource Identifier (URI) of a GET Request requested during the unit time; 상기 단위시간 동안 요청된 GET Request의 URI에 대한 바이트 분포의 엔트로피 값 중 적어도 어느 하나를 수집하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method characterized in that for collecting at least one of the entropy value of the byte distribution for the URI of the GET Request requested during the unit time. 제 13항에 있어서,14. The method of claim 13, 상기 트래픽 정보를 도출하는 과정은, Deriving the traffic information, 상기 수집된 데이터 정보로부터 전체 감시기간 동안 GET Request 패킷이 존재 및 존재하지 않았던 단위시간의 개수와, The number of unit times during which the GET Request packet was present or absent during the entire monitoring period from the collected data information, 상기 전체 감시기간 동안 GET Request 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와The maximum number of unit times of continuous and non-existent GET Request packets during the entire monitoring period. 상기 전체 감시기간 동안 캐쉬 제어 패킷이 존재 및 존재하지 않았던 단위시간의 개수와,The number of unit times during which the cache control packet existed and did not exist during the entire monitoring period; 상기 전체 감시기간 동안 캐쉬 제어 패킷이 연속적으로 존재 및 존재하지 않았던 단위시간의 최대 개수와,The maximum number of unit times during which the cache control packet was continuously present and nonexistent during the entire monitoring period; 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 및 캐쉬 제어 패킷 개수의 총합과, The total number of GET Request packets and cache control packets extracted in unit time units during the entire monitoring period; 상기 전체 감시기간 동안 단위시간 단위로 추출된 GET Request 패킷 개수 변화량의 분산값과, A variance value of the amount of change in the number of GET Request packets extracted in unit time units during the entire monitoring period; 상기 전체 감시기간 동안 단위시간 단위로 추출된 엔트로피 값들의 분산값 중 적어도 어느 하나를 도출하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method, characterized in that for deriving at least one of the variance value of the entropy values extracted in units of time during the entire monitoring period. 제 11항에 있어서, 12. The method of claim 11, 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은,The application layer distributed denial of service attack detection and blocking method, 상기 공격 트래픽 여부의 판단 결과, 공격 트래픽 정보로 판단된 경우, 상기 공격 트래픽 정보를 전송한 IP주소를 차단하는 과정Blocking the IP address that transmitted the attack traffic information when it is determined as the attack traffic information as a result of the determination of the attack traffic; 을 더 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method further comprising. 제 11항에 있어서, 12. The method of claim 11, 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은,The application layer distributed denial of service attack detection and blocking method, 이전에 복수의 감시기간 동안 도출된 샘플 트래픽 정보를 벡터형태로 각각 표현하고, 상기 벡터형태의 추출정보에 패턴 분류 알고리즘을 이용하는 학습을 통하여 정상 트래픽 및 공격 트래픽의 임계 구간이 설정된 정상 트래픽 모델 및 공격 트래픽 모델을 형성하는 과정The normal traffic model and the attack where the critical sections of the normal traffic and the attack traffic are set by learning the sample traffic information previously derived during the plurality of monitoring periods in vector form and using a pattern classification algorithm on the extracted information of the vector form. The process of forming a traffic model 을 더 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method further comprising. 제 16항에 있어서,17. The method of claim 16, 상기 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법은,The application layer distributed denial of service attack detection and blocking method, 상기 공격 트래픽 여부를 판단하는 과정을 통해 상기 공격 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 공격 트래픽 모델을 업데이트하는 과정과,Updating the attack traffic model by transmitting traffic information determined as the attack traffic to the traffic model through determining the attack traffic; 상기 정상 트래픽으로 판단된 트래픽 정보를 상기 트래픽 모델로 전달하여 상기 정상 트래픽 모델을 업데이트하는 과정Updating the normal traffic model by transmitting traffic information determined as the normal traffic to the traffic model; 을 더 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method further comprising. 제 11항에 있어서,12. The method of claim 11, 상기 공격 트래픽 여부를 판단하는 과정은,The process of determining whether the attack traffic, 상기 도출된 트래픽 정보를 패턴 분류 알고리즘을 이용하여 분류하는 과정과,Classifying the derived traffic information using a pattern classification algorithm; 상기 분류된 트래픽 정보를 상기 공격 트래픽 모델과 비교하는 과정을 포함하는 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.And comparing the classified traffic information with the attack traffic model. 제 18항에 있어서,19. The method of claim 18, 상기 패턴 분류 알고리즘은,The pattern classification algorithm, Support Vector Machine, K-Means알고리즘, KNN알고리즘, Euclidean Distance 알고리즘, Bayes'Theorem 중 어느 하나 인 것을 특징으로 하는 응용계층 분산 서비스 거부 공격 탐지 및 차단 방법.Application layer distributed denial of service attack detection and blocking method comprising any one of Support Vector Machine, K-Means Algorithm, KNN Algorithm, Euclidean Distance Algorithm, Bayes'Theorem. 제 11항에 있어서,12. The method of claim 11, 상기 도출하는 과정은,The derivation process, 상기 설정된 감시기간이 종료된 경우, 기 설정된 큐에 세션 종료 정보를 포함시킨 후, 상기 복수의 클라이언트에 대한 모니터링을 수행하는 정보 수집부로 이를 전달하여 모니터링을 종료 시키는 것을 특징으로 하는 응용계층 분산 서비스 거 부 공격 탐지 및 차단 방법.When the set monitoring period ends, the application layer distributed service service comprises including session termination information in a preset queue and transferring the information to the information collection unit that monitors the plurality of clients to terminate the monitoring. How to detect and block secondary attacks.
KR1020090079569A 2009-08-27 2009-08-27 Apparatus for detecting and preventing application layer distribute denial of service attack and method KR101250899B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090079569A KR101250899B1 (en) 2009-08-27 2009-08-27 Apparatus for detecting and preventing application layer distribute denial of service attack and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090079569A KR101250899B1 (en) 2009-08-27 2009-08-27 Apparatus for detecting and preventing application layer distribute denial of service attack and method

Publications (2)

Publication Number Publication Date
KR20110022141A KR20110022141A (en) 2011-03-07
KR101250899B1 true KR101250899B1 (en) 2013-04-04

Family

ID=43930598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090079569A KR101250899B1 (en) 2009-08-27 2009-08-27 Apparatus for detecting and preventing application layer distribute denial of service attack and method

Country Status (1)

Country Link
KR (1) KR101250899B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701310B1 (en) 2015-09-30 2017-02-02 고려대학교 산학협력단 DEVICE AND METHOD FOR DETECTING DDoS ATTACK
US9596321B2 (en) 2015-06-24 2017-03-14 Cisco Technology, Inc. Server grouping system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101878409B1 (en) * 2014-05-26 2018-07-13 엘에스산전 주식회사 Apparatus and method for data processing
KR101692982B1 (en) * 2015-10-06 2017-01-04 (주)아이와즈 Automatic access control system of detecting threat using log analysis and automatic feature learning
KR101948634B1 (en) * 2016-11-15 2019-02-18 (주) 글루시스 Failure prediction method of system resource for smart computing
JP6932779B2 (en) * 2016-11-23 2021-09-08 Line株式会社 Methods and systems to verify that detection results are valid
KR20200025665A (en) 2018-08-31 2020-03-10 현종화 A mutual moving locker
KR102096785B1 (en) * 2019-07-25 2020-04-03 주식회사 로그프레소 Method for Web Server Attack Detection Based on Behavior Probability

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068468A (en) * 2004-12-16 2006-06-21 한국정보보호진흥원 Intrusion tolerant technologies of dns and dhcp server for survival of internet service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068468A (en) * 2004-12-16 2006-06-21 한국정보보호진흥원 Intrusion tolerant technologies of dns and dhcp server for survival of internet service

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9596321B2 (en) 2015-06-24 2017-03-14 Cisco Technology, Inc. Server grouping system
US9813442B2 (en) 2015-06-24 2017-11-07 Cisco Technology, Inc. Server grouping system
KR101701310B1 (en) 2015-09-30 2017-02-02 고려대학교 산학협력단 DEVICE AND METHOD FOR DETECTING DDoS ATTACK

Also Published As

Publication number Publication date
KR20110022141A (en) 2011-03-07

Similar Documents

Publication Publication Date Title
US10721243B2 (en) Apparatus, system and method for identifying and mitigating malicious network threats
US11316878B2 (en) System and method for malware detection
Li et al. RTVD: A real-time volumetric detection scheme for DDoS in the Internet of Things
KR101250899B1 (en) Apparatus for detecting and preventing application layer distribute denial of service attack and method
Choi et al. A method of DDoS attack detection using HTTP packet pattern and rule engine in cloud computing environment
US8438639B2 (en) Apparatus for detecting and filtering application layer DDoS attack of web service
Jeya et al. Efficient classifier for R2L and U2R attacks
Thapngam et al. Distributed Denial of Service (DDoS) detection by traffic pattern analysis
JP5844938B2 (en) Network monitoring device, network monitoring method, and network monitoring program
EP2863611B1 (en) Device for detecting cyber attack based on event analysis and method thereof
KR101812403B1 (en) Mitigating System for DoS Attacks in SDN
WO2015107861A1 (en) Information processing device, illicit activity determination method, illicit activity determination program, information processing device, activity determination method, and activity determination program
US20120159623A1 (en) Method and apparatus for monitoring and processing dns query traffic
JP2020140723A (en) Network attack defense system and method
KR20130017333A (en) Attack decision system of slow distributed denial of service based application layer and method of the same
Seo et al. A study on efficient detection of network-based IP spoofing DDoS and malware-infected Systems
Sudar et al. TFAD: TCP flooding attack detection in software-defined networking using proxy-based and machine learning-based mechanisms
Batool et al. Lightweight statistical approach towards tcp syn flood ddos attack detection and mitigation in sdn environment
KR101210622B1 (en) Method for detecting ip shared router and system thereof
Oo et al. Enhancement of preventing application layer based on DDoS attacks by using hidden semi-Markov model
Seo et al. Abnormal behavior detection to identify infected systems using the APChain algorithm and behavioral profiling
KR20130009130A (en) Apparatus and method for dealing with zombie pc and ddos
KR101196325B1 (en) Distributed denial of service attack search apparatus and method thereof
KR101045332B1 (en) System for sharing information and method of irc and http botnet
Pattinson et al. Trojan detection using MIB-based IDS/IPS system

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee