KR20140050450A - Apparatus and method for detecting distributed denial of service attack - Google Patents

Apparatus and method for detecting distributed denial of service attack Download PDF

Info

Publication number
KR20140050450A
KR20140050450A KR1020120116878A KR20120116878A KR20140050450A KR 20140050450 A KR20140050450 A KR 20140050450A KR 1020120116878 A KR1020120116878 A KR 1020120116878A KR 20120116878 A KR20120116878 A KR 20120116878A KR 20140050450 A KR20140050450 A KR 20140050450A
Authority
KR
South Korea
Prior art keywords
attack
tcp
network
packet
control block
Prior art date
Application number
KR1020120116878A
Other languages
Korean (ko)
Other versions
KR101970721B1 (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 KR1020120116878A priority Critical patent/KR101970721B1/en
Publication of KR20140050450A publication Critical patent/KR20140050450A/en
Application granted granted Critical
Publication of KR101970721B1 publication Critical patent/KR101970721B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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/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

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)
  • Computer And Data Communications (AREA)

Abstract

The present invention relates to a device for detecting a distributed service denial attack on a protection target server. The device for detecting a distributed service denial attack includes a packet for collection unit collecting a network packet related to the connection and completion of a network coming into or out from the protection target server between the protection target server and a network device and a detection unit which monitors the state of a network connection resource of the protection target server based on the network packet and detects an attack of the network connection resource based on the state of the network connection resource. [Reference numerals] (10) Attack client; (100) Detection unit; (200) Protection target server; (300) Network device

Description

분산서비스거부공격 탐지 방법 및 장치{APPARATUS AND METHOD FOR DETECTING DISTRIBUTED DENIAL OF SERVICE ATTACK}[0001] APPARATUS AND METHOD FOR DETECTING DISTRIBUTED DENIAL OF SERVICE ATTACK [0002]

본 발명은 분산서비스거부공격 탐지 방법 및 장치에 관한 것이다.The present invention relates to a distributed denial of service attack detection method and apparatus.

2009년 이후 정부 및 민간부분에서는 DDoS 방어체계 구축을 위해 수백억 원의 예산을 투입해 왔으며 그 결과 대부분의 정부 및 민간분야에 DDoS 대응을 위한 전용장비가 설치되었다. 그러나 이러한 장비가 잘 갖추어진 기관에 대한 공격발생 시 이에 대한 성공적인 방어가 이루어지지 않는 경우가 많이 있다. 이는 현재의 공격방어가 장비의 방어기능 중심으로 이루어져 새로운 기법을 이용한 공격 혹은 기존의 공격에 간단한 변형을 추가하는 등의 진화하는 공격에 적절하게 대응하지 못하고 있으며 또한 장비운용인력의 숙련도에 따라 방어수준에 큰 편차가 있기 때문이다. Since 2009, government and private sectors have spent tens of billions of won in budget for DDoS defense system. As a result, dedicated equipment has been installed in most government and private sectors to respond to DDoS. However, there are many cases in which such equipment does not successfully defend against an attack on well-equipped organs. This is because the current attack defense is centered on the defense function of the equipment, and it does not respond appropriately to evolving attacks such as attack using a new technique or simple modification to an existing attack. Also, This is because there is a large deviation.

인터넷 패킷 중계지역에서 대규모 패킷 전송의 탐지와 대응 체계가 강화됨에 따라 중계구간에서는 공격 행위가 탐지/차단되지 않으면서 공격 목표 웹서버의 서비스거부상태를 이끌어내는 형태로 진화하고 있다. 즉, 네트워크의 물리적인 가용성을 침해하는 네트워크 대역폭 소진(Network Bandwidth Consumption) 공격 방식에서 중계구간에서는 상대적으로 적은 트래픽을 유발시키면서 목표지점의 웹서버 가용성을 직접 타격하기 위한 호스트/어플리케이션 자원 소모 공격으로 전환되었다. As the detection and response system of large packet transmissions in Internet packet relay area is strengthened, it evolves into a form of denial of service of attack target web server without detecting / blocking attack activity in relay interval. In other words, in Network Bandwidth Consumption attack method that infringes on the physical availability of the network, it becomes a host / application resource consumption attack in order to directly hit the availability of the web server at the target point while causing relatively low traffic in the relay interval .

호스트/어플리케이션 자원 소모 공격은 통신구간의 종단에 위치한 전산 자원의 한계용량을 초과하도록 공격대상의 논리적 자원을 공격한다. 전통적인 서비스거부공격 분류 방법은 공격 방법의 자동화 상태, 공격에 사용된 주소의 위조 여부, 공격량의 변화, 공격 대상 자원의 종류, 공격의 결과로 발생하는 현상 등 공격 자체의 특성을 도출함으로써 서비스거부공격에 대한 분류 방법을 제공하였으나 공격이 발생하는 현장에서 공격 방어를 위한 가이드라인으로 사용되기에는 적합하지 않다. 또한 새로운 공격이 발생한 경우, 기존 분류 체계를 업데이트 해야 하는 문제점이 있다. 이러한 분류 방법에 기초한 방어 방법 역시 공격의 형태와 공격 정도에 대한 정량적 측정 방법이 수립되어 있지 않아 실제 방어에 적용하기에는 적합하지 않다.The host / application resource consumption attack attacks the logical resource of the attack target to exceed the limit capacity of the computational resource located at the end of the communication interval. The traditional denial-of-service attack classification method derives the characteristics of the attack itself, such as the automation state of the attack method, the falsification of the address used in the attack, the change of the attack amount, the kind of the attack target resource, Although it provides a classification method for attacks, it is not suitable to be used as a guideline for attack defense in an attack site. Also, when a new attack occurs, there is a problem that the existing classification system needs to be updated. Defense methods based on these classification methods are also not suitable for real defense because there is no quantitative measurement method of attack type and attack type.

본 발명이 해결하고자 하는 과제는 분산서비스거부공격 탐지를 위한 탐지 지표를 설정하고, 탐지 지표를 기초로 보호대상서버의 자원 상태를 모니터링함으로써 분산서비스거부공격의 종류를 분류하여 분산서비스거부공격에 적합한 방어를 수행하는 분산서비스거부공격 탐지 방법 및 장치를 제공하는 것이다.A problem to be solved by the present invention is to set a detection index for detecting a distributed denial of service attack and to monitor the resource status of a protected server based on a detection index to classify types of distributed denial of service attacks, And to provide a method and apparatus for detecting a distributed denial of service attack.

본 발명의 한 실시예에 따른 보호대상서버에 대한 분산서비스거부공격을 탐지하는 탐지장치로서, 상기 보호대상서버와 네트워크 장치 사이에서 상기 보호대상서버로 입출입하는 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 패킷 수집부, 그리고 상기 네트워크 패킷을 기초로 상기 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 네트워크 연결 자원의 상태를 기초로 상기 네트워크 연결 자원의 공격을 탐지하는 탐지부를 포함한다.A detection device for detecting a distributed denial of service attack on a protected server according to an exemplary embodiment of the present invention is a detection device for collecting network packets related to network connection and termination between a protected server and a network device And a detection unit for monitoring a state of network connection resources of the protected server based on the network packet and detecting an attack of the network connection resource based on the state of the network connection resource.

상기 네트워크 패킷은 TCP 연결 및 종료에 관련된 연결요청시도(SYN) 패킷, 연결요청응답(SYN_ACK) 패킷, 최종응답(ACK) 패킷, 그리고 연결종료(FIN/RST) 패킷 중 적어도 하나를 포함할 수 있다.The network packet may include at least one of a connection request attempt (SYN) packet, a connection request response (SYN_ACK) packet, a final acknowledgment (ACK) packet, and a connection end FIN / RST .

상기 탐지부는 상기 네트워크 패킷을 기초로 백로그 큐와 TCP 제어 블록(TCP Control Block, TCB)을 포함하는 상기 네트워크 연결 자원의 상태를 모니터링하며, 상기 네트워크 연결 자원의 상태를 기초로, 백로그 큐 공격과 TCP 제어 블록(TCP Control Block, TCB) 공격 중 적어도 하나를 탐지할 수 있다.The detection unit monitors the state of the network connection resource including a backlog queue and a TCP control block (TCB) based on the network packet, and based on the state of the network connection resource, And a TCP control block (TCB) attack.

상기 탐지부는 상기 네트워크 패킷을 기초로 적어도 하나의 탐지 지표를 계산하고, 적어도 하나의 탐지 지표를 기초로 상기 네트워크 연결 자원의 상태를 모니터링하며, 상기 탐지 지표는 상기 네트워크 패킷 중 연결요청시도(SYN) 패킷에 대한 연결요청응답(SYN_ACK) 패킷의 비율인 연결요청응답율, 공격 IP 분포, TCP 세션수, 그리고 TCP 세션 지속 시간 중 적어도 하나를 포함할 수 있다.The detection unit calculates at least one detection index based on the network packet and monitors the status of the network connection resource based on at least one detection index. The detection index indicates a connection request attempt (SYN) An attack IP distribution, a number of TCP sessions, and a TCP session duration, which is a ratio of a connection request response (SYN_ACK) packet to a packet.

상기 탐지부는 상기 연결요청응답율, 상기 공격 IP 분포, 그리고 상기 TCP 세션수 중 적어도 하나를 기초로 상기 백로그 큐가 서비스거부상태인지 판단하여 상기 백로그 큐 공격을 탐지할 수 있다.The detection unit may detect the backlog queue attack by determining whether the backlog queue is in a service denial state based on at least one of the connection request response rate, the attack IP distribution, and the number of TCP sessions.

상기 탐지부는 상기 TCP 세션수와 상기 연결요청응답율을 기초로 상기 TCP 제어 블록이 서비스거부상태인지 판단하여 상기 TCP 제어 블록 공격을 탐지할 수 있다.The detection unit may detect the TCP control block attack by determining whether the TCP control block is in a denial-of-service state based on the number of TCP sessions and the connection request response rate.

상기 탐지부는 상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 TCP 제어 블록 공격을 빠른 TCP 제어 블록 공격과 느린 TCP 제어 블록 공격으로 분류할 수 있다.The detection unit can classify the TCP control block attack into a fast TCP control block attack and a slow TCP control block attack based on the TCP session duration of the TCP control block.

상기 탐지장치는 각 네트워크 연결 자원의 서비스거부공격을 방어하기 위한 적어도 하나의 대응 정책을 설정하고, 상기 탐지부에서 어느 네트워크 연결 자원의 공격을 탐지한 경우, 탐지한 네트워크 연결 자원에 설정된 대응 정책을 상기 보호대상서버에 적용하는 방어부를 더 포함할 수 있다.The detection device sets at least one response policy for defending against a denial of service attack of each network connection resource. When the detection module detects an attack of a network connection resource, the detection device sets a corresponding policy set in the detected network connection resource And a defensive unit applied to the protected server.

상기 방어부는 상기 탐지한 네트워크 연결 자원의 상태를 모니터링하면서 대응 정책을 가변할 수 있다.The defending unit may change the corresponding policy while monitoring the state of the detected network connection resource.

상기 패킷 수집부는 상기 네트워크 장치에 복수의 보호대상서버가 연결된 경우, 보호대상서버별 네트워크 패킷을 수집하여 가상 연결정보 테이블로 관리할 수 있다.When a plurality of protected servers are connected to the network device, the packet collector may collect network packets for each protected server and manage the virtual packets according to a virtual connection information table.

상기 탐지부는 상기 가상 연결정보 테이블을 기초로 각 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 가상 연결정보 테이블을 기초로 보호대상서버로 향하는 분산서비스거부공격을 탐지할 수 있다.The detection unit monitors the status of network connection resources of each protected server based on the virtual connection information table and detects a distributed denial of service attack directed to the protected server based on the virtual connection information table.

본 발명의 다른 실시예에 따른 분산서비스거부공격 탐지장치가 보호대상서버에 대한 분산서비스거부공격을 탐지하는 방법으로서, 상기 보호대상서버의 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 단계, 상기 네트워크 패킷을 기초로 복수의 탐지 지표를 계산하는 단계, 상기 복수의 탐지 지표 중 적어도 하나의 탐지 지표를 기초로 상기 보호대상서버의 백로그 큐와 TCP 제어 블록(TCP Control Block, TCB)을 포함하는 네트워크 연결 자원의 상태를 판단하는 단계, 그리고 상기 네트워크 연결 자원의 상태를 기초로 백로그 큐 공격과 TCP 제어 블록 공격 중 적어도 하나를 탐지하는 단계를 포함한다.A method for detecting a distributed denial of service attack on a protected server according to another embodiment of the present invention includes collecting network packets related to network connection and termination of the protected server, (TCP) control block (TCB) on the basis of at least one detection index among the plurality of detection indices, Determining a state of the connection resource, and detecting at least one of a backlog queue attack and a TCP control block attack based on the state of the network connection resource.

상기 네트워크 패킷을 수집하는 단계는 상기 보호대상서버와 네트워크 장치 사이에서 상기 보호대상서버로 입출입하는 상기 네트워크 패킷을 수집할 수 있다.The collecting of the network packets may collect the network packets between the protected server and the network device.

상기 복수의 탐지 지표를 계산하는 단계는 TCP 연결 및 종료에 관련된 연결요청시도(SYN) 패킷, 연결요청응답(SYN_ACK) 패킷, 최종응답(ACK) 패킷, 그리고 연결종료(FIN/RST) 패킷 중 적어도 하나를 포함하는 상기 네트워크 패킷을 기초로 상기 복수의 탐지 지표를 계산할 수 있다.Wherein the step of calculating the plurality of detection indices includes at least one of a connection request attempt (SYN) packet, a connection request response (SYN_ACK) packet, a final acknowledgment (ACK) packet, and a connection end FIN / RST And calculate the plurality of detection indices based on the network packet including one of the plurality of detection indices.

상기 복수의 탐지 지표를 계산하는 단계는 상기 연결요청시도(SYN) 패킷에 대한 상기 연결요청응답(SYN_ACK) 패킷의 비율인 연결요청응답율, 공격 IP 분포, TCP 세션수, 그리고 TCP 세션 지속 시간 중 적어도 하나를 포함하는 탐지 지표를 계산할 수 있다.Wherein the step of calculating the plurality of detection indices includes calculating a ratio of the connection request response (SYN_ACK) packet to the connection request attempt (SYN) packet, the connection request response rate, the attack IP distribution, the number of TCP sessions, A detection index including one can be calculated.

상기 네트워크 연결 자원의 상태를 판단하는 단계는 상기 연결요청응답율, 상기 공격 IP 분포, 그리고 상기 TCP 세션수 중 적어도 하나를 기초로 상기 백로그 큐가 서비스거부상태인지 판단할 수 있다.The step of determining the state of the network connection resource may determine whether the backlog queue is in a denial state based on at least one of the connection request response rate, the attack IP distribution, and the number of TCP sessions.

상기 네트워크 연결 자원의 상태를 판단하는 단계는 상기 TCP 세션수와 상기 연결요청응답율을 기초로 상기 TCP 제어 블록이 서비스거부상태인지 판단할 수 있다.The step of determining the state of the network connection resource may determine whether the TCP control block is in a denial-of-service state based on the number of TCP sessions and the connection request response rate.

상기 백로그 큐 공격과 TCP 제어 블록(TCP Control Block, TCB) 공격 중 적어도 하나를 탐지하는 단계는 상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 TCP 제어 블록 공격을 빠른 TCP 제어 블록 공격과 느린 TCP 제어 블록 공격으로 분류할 수 있다.The step of detecting at least one of the backlog queue attack and the TCP control block (TCB) attack may include a TCP control block attack based on the TCP session duration of the TCP control block, TCP control block attacks.

본 발명의 또 다른 실시예에 따른 분산서비스거부공격 탐지장치가 보호대상서버에 대한 분산서비스거부공격을 탐지하는 방법으로서, 상기 보호대상서버의 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 단계, 상기 네트워크 패킷을 기초로 상기 보호대상서버의 백로그 큐가 포화 상태인지 판단하는 단계, 상기 백로그 큐가 포화 상태인 경우, 상기 네트워크 패킷을 기초로 상기 보호대상서버의 TCP 제어 블록(TCP Control Block, TCB)이 포화 상태인지 판단하는 단계, 상기 TCP 제어 블록이 포화 상태가 아닌 경우, 상기 백로그 큐에 대한 백로그 큐 공격을 탐지하는 단계, 그리고 상기 TCP 제어 블록이 포화 상태인 경우, 상기 TCP 제어 블록에 대한 TCP 제어 블록 공격을 탐지하는 단계를 포함한다.A method of detecting a distributed denial of service attack on a protected server according to another embodiment of the present invention includes collecting network packets related to network connection and termination of the protected server, Determining whether a backlog queue of the protected server is in a saturation state based on a network packet when the backlog queue is in a saturation state and transmitting a TCP control block of the protected server based on the network packet, Detecting a backlog queue attack for the backlog queue if the TCP control block is not in a saturation state; and if the TCP control block is in a saturation state, And detecting a TCP control block attack on the block.

상기 TCP 제어 블록 공격을 탐지하는 단계는 상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 TCP 제어 블록 공격을 빠른 TCP 제어 블록 공격과 느린 TCP 제어 블록 공격으로 분류할 수 있다.The step of detecting the TCP control block attack may classify the TCP control block attack as a fast TCP control block attack and a slow TCP control block attack based on the TCP session duration of the TCP control block.

상기 네트워크 패킷은 TCP 연결 및 종료에 관련된 연결요청시도(SYN) 패킷과 연결요청응답(SYN_ACK) 패킷을 포함하고, 상기 백로그 큐가 포화 상태인지 판단하는 단계는 상기 연결요청시도(SYN) 패킷에 대한 상기 연결요청응답(SYN_ACK) 패킷의 비율이 기준값보다 낮은 경우, 상기 백로그 큐가 포화 상태라고 판단할 수 있다.Wherein the network packet includes a connection request attempt (SYN) packet and a connection request response (SYN_ACK) packet related to TCP connection and termination, and the step of determining whether the backlog queue is in a saturation state comprises: If the ratio of the connection request response (SYN_ACK) packet to the backlog queue is lower than the reference value, it can be determined that the backlog queue is saturated.

상기 TCP 제어 블록이 포화 상태인지 판단하는 단계는 상기 TCP 제어 블록의 TCP 세션수가 일정하고 새로운 연결요청을 거부하는 경우, 상기 TCP 제어 블록이 포화 상태라고 판단하고, 상기 TCP 세션수는 상기 네트워크 패킷 중 최종응답(ACK) 패킷과 연결종료(FIN/RST) 패킷을 기초로 계산될 수 있다.Wherein the step of determining whether the TCP control block is in a saturation state determines that the TCP control block is in a saturation state when the number of TCP sessions of the TCP control block is constant and rejects a new connection request, Can be computed based on a final acknowledgment (ACK) packet and a connection termination (FIN / RST) packet.

본 발명의 실시예에 따르면 서비스거부공격 발생 시 가장 먼저 병목현상이 발생하는 구간을 특정하고 보호대상서버의 자원 상태를 모니터링함으로써 서비스거부상태에 이르기 전에 공격을 탐지하고 대응할 수 있다. 본 발명의 실시예에 따르면 보호대상서버의 자원 상태를 기초로 서비스거부공격의 종류를 결정하므로, 공격자가 다양한 공격 형태로 서비스거부공격을 시도하더라도 공격의 종류에 따른 일관된 방어를 할 수 있다. 또한, 본 발명의 실시예에 따르면 점점 더 정상요청과 유사하게 진화하고 있는 최근 공격 형태에 대해서도 효과적으로 대응할 수 있다. According to the embodiment of the present invention, when a denial of service attack occurs, a zone in which a bottleneck occurs first is identified and the resource status of the protected server is monitored to detect and respond to an attack before reaching a denial of service. According to the embodiment of the present invention, since the type of denial-of-service attack is determined based on the resource status of the protected server, even if the attacker tries to deny the denial of service attack, it can perform consistent defense according to the type of attack. In addition, according to the embodiment of the present invention, it is possible to effectively cope with a recent attack type that is evolving more and more like a normal request.

도 1a와 도 1b 각각은 본 발명의 한 실시예에 따른 분산서비스거부공격에 관계된 네트워크를 개략적으로 설명하는 도면이다.
도 2는 본 발명의 한 실시예에 따른 TCP 연결을 설명하는 도면이다.
도 3은 본 발명의 한 실시예에 따른 탐지장치의 블록도이다.
도 4는 본 발명의 한 실시예에 따른 분산서비스거부공격 탐지 방법의 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 분산서비스거부공격 탐지 방법의 흐름도이다.
1A and 1B are diagrams schematically illustrating a network related to a distributed denial of service attack according to an embodiment of the present invention.
2 is a diagram illustrating a TCP connection according to an embodiment of the present invention.
3 is a block diagram of a detection apparatus according to an embodiment of the present invention.
4 is a flowchart of a distributed denial of service attack detection method according to an embodiment of the present invention.
5 is a flowchart of a distributed denial of service attack detection method according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이제 도면을 참고하여 본 발명의 실시예에 따른 분산서비스거부공격 탐지 방법 및 장치에 대해 설명한다.A distributed denial of service attack detection method and apparatus according to an embodiment of the present invention will now be described with reference to the drawings.

도 1a와 도 1b 각각은 본 발명의 한 실시예에 따른 분산서비스거부공격에 관계된 네트워크를 개략적으로 설명하는 도면이다.1A and 1B are diagrams schematically illustrating a network related to a distributed denial of service attack according to an embodiment of the present invention.

도 1a를 참고하면, 복수의 공격클라이언트(10)는 대량 트래픽을 전송하여 네트워크 대역폭을 소진하는 공격 대신에, 보호대상서버(200)의 호스트/어플리케이션 자원을 소모시키는 공격을 한다. 호스트/어플리케이션 자원 소모 공격은 통신구간의 종단에 위치한 자원의 한계용량을 넘도록 공격하여 서비스를 거부하도록 하는 공격이다.Referring to FIG. 1A, a plurality of attack clients 10 attack attacks consuming host / application resources of the protected server 200 instead of attacking exhausting network bandwidth by transmitting a large amount of traffic. A host / application resource consumption attack is an attack that attacks a service exceeding the limit capacity of a resource located at the end of a communication section to deny service.

분산서비스거부공격 탐지장치(앞으로 "탐지장치"라고 한다)(100)는 보호대상서버(200)가 공격클라이언트(10)로부터 분산서비스거부(Distributed Denial of Service, DDoS) 공격을 받는지 탐지한다.A distributed denial-of-service attack detecting apparatus 100 (hereinafter referred to as a "detecting apparatus") detects whether a protected server 200 receives a distributed denial of service (DDoS) attack from an attacking client 10.

탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이를 관측구간으로 설정한다. 탐지장치(100)는 관측구간에서 네트워크 패킷을 수집한다. 네트워크 장치(300)는 보호대상서버(200)의 패킷이 입출입되는 관문으로서, 예를 들면, 게이트웨이 라우터일 수 있다. 네트워크 패킷은 네트워크 연결 및 종료에 관련된 패킷으로서, TCP(Transmission Control Protocol) 연결 및 종료에 관련된 패킷일 수 있다.The detection apparatus 100 sets an observation interval between the protection target server 200 and the network apparatus 300. The detection apparatus 100 collects network packets in an observation period. The network device 300 may be, for example, a gateway router as a gateway through which packets of the protected server 200 are input and output. A network packet is a packet related to network connection and termination, and may be a packet related to Transmission Control Protocol (TCP) connection and termination.

탐지장치(100)는 보호대상서버(200)의 네트워크 연결 및 종료에 관련된 패킷을 기초로 복수의 탐지 지표를 계산한다. 탐지장치(100)는 적어도 하나의 탐지 지표를 기초로 보호대상서버(200)에 관계된 네트워크 연결 자원의 상태를 판단한다. 여기서, 네트워크 연결 자원은 HTTP 서버가 설치된 호스트가 HTTP 요청에 사용된 TCP 연결을 처리하는데 필요한 자원으로서, 예를 들면 백로그 큐(Backlog Queue)와 TCP 제어 블록(TCP Control Block, TCB)일 수 있다. 백로그 큐는 TCP 초기 연결에 관계된 자원이고, TCP 제어 블록은 TCP 연결을 처리하는 자원이다.The detection apparatus 100 calculates a plurality of detection indications based on the packets related to the network connection and termination of the protection target server 200. The detection apparatus 100 determines the state of the network connection resource related to the protection target server 200 based on at least one detection index. Here, the network connection resource is a resource required by the host where the HTTP server is installed to process the TCP connection used in the HTTP request, for example, a backlog queue and a TCP control block (TCB) . The backlog queue is a resource related to the TCP initial connection, and the TCP control block is the resource that handles the TCP connection.

탐지장치(100)는 네트워크 연결 자원의 상태를 기초로 보호대상서버(200)가 받은 공격을 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격으로 분류한다.The detection apparatus 100 classifies the attacks received by the protection target server 200 as a backlog queue attack, a fast TCB attack, and a slow TCB attack based on the state of network connection resources.

탐지장치(100)는 공격클라이언트(10)의 공격이 발생하면 상대적으로 가장 빠른 자원 소모가 이루어져 전체 구간에서 사용자의 정상적 서비스 사용을 방해하는 논리적 병목구간을 모니터링한다. 여기서 논리적 병목구간은 보호대상서버(200)의 네트워크 연결을 위한 자원이 설치된 구간으로서, 시스템 커널과 HTTP 서버어플리케이션, 그리고 웹서버 데이터베이스와 같이 서버어플리케이션에 연결된 외부 구간일 수 있다. 따라서, 탐지장치(100)는 즉각적으로 공격을 탐지할 수 있다.The detection apparatus 100 monitors the logical bottleneck interval that is the fastest resource consumption when the attack of the attack client 10 occurs and hinders the user's use of the normal service in the entire interval. Here, the logical bottleneck section is an interval in which resources for network connection of the protected server 200 are installed, and may be an external section connected to the server application such as a system kernel, an HTTP server application, and a web server database. Thus, the detection device 100 can immediately detect an attack.

또한, 탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이를 관측하면 되므로, 서비스거부공격이 진행되는 동안에도 송수신 패킷만으로 보호대상서버(200)와 떨어진 위치에서도 서비스거부공격을 탐지할 수 있다. 탐지장치(100)는 보호대상서버(200)의 운영체제, 웹캐시 L7스위치 등 어플리케이션 수준의 부가장비의 구성에 영향을 받지 않고, 어느 보호대상서버(200)라도 동일한 방법으로 서비스거부공격을 탐지할 수 있다.In addition, since the detection apparatus 100 can observe between the protection target server 200 and the network apparatus 300, even during a denial of service attack, a service denial attack Can be detected. The detection apparatus 100 detects a denial of service attack in the same manner as any of the protected servers 200 without being affected by the configuration of the application level additional equipment such as the operating system of the protected server 200 and the switch of the web cache L7 .

탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이의 패킷을 관측할 수 있는 다양한 위치에 설치될 수 있다. 예를 들면, 탐지장치(100)는 네트워크 장치(300)에 구현될 수 있다.The detection device 100 may be installed at various positions where packets between the protected server 200 and the network device 300 can be observed. For example, the detection device 100 may be implemented in the network device 300.

도 1b를 참고하면, 탐지장치(100)가 네트워크 장치(300)에 연결된 시스템으로 가정한다. 1B, it is assumed that the detection apparatus 100 is a system connected to the network apparatus 300. FIG.

탐지장치(100)는 네트워크 길목에서, 복수의 보호대상서버(200a-200n)로 향하는 트래픽을 패시브환경에서 관찰한다. 탐지장치(100)는 네트워크 패킷모니터링을 통해 가상 연결정보 테이블(Virtual Connection Table)을 생성할 수 있다. 연결정보테이블은 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격의 탐지 지표를 도출하기 위한 각종 네트워크 트래픽 통계정보, 그리고 흐름(flow)정보를 포함한다. 예를 들면, 연결정보테이블은 각 서버별 세션 수, 세션지속시간 등을 포함할 수 있다.The detection apparatus 100 observes, in a passive environment, traffic directed to a plurality of protected servers 200a-200n in the network route. The detection apparatus 100 can generate a virtual connection table through network packet monitoring. The connection information table includes various network traffic statistics information and flow information for deriving a backlog queue attack, a fast TCB attack, a detection index of a slow TCB attack, and the like. For example, the connection information table may include the number of sessions per server, session duration, and the like.

이를 통해, 탐지장치(100)는 연결정보테이블을 기초로 동일 네트워크상에 위치한 보호대상서버의 수에 관계없이 보호대상서버에 관계된 네트워크 패킷을 모니터링할 수 있다. 그리고, 탐지장치(100)는 연결정보테이블을 기초로 공격서버의 상태, 공격의 종류, 공격자의 수 등을 추적할 수 있고, 이를 바탕으로 정책기반 방어를 할 수 있다.Accordingly, the detection apparatus 100 can monitor the network packets related to the protection target server regardless of the number of the protection target servers located on the same network based on the connection information table. Then, the detection apparatus 100 can track the state of an attacking server, the type of an attack, the number of attackers and the like based on the connection information table, and can perform policy-based defense based on this.

종래에는 각 보호대상서버에서 측정된 네트워크 상태를 기초로 서비스거부공격을 탐지했다. 그러나, 보호대상서버에서 네트워크 상태를 측정하면, 서버의 부하 혹은 퍼포먼스 저하가 발생할 수 있고, 공격으로 유발된 과부하로 정확한 서버상태를 측정하기 어려울 수 있다. 이를 해결하기 위해, 탐지장치(100)는 보호대상서버에서 네트워크 상태를 측정하는 것이 아니라, 보호대상서버(200)로 출입하는 패킷을 모니터링하고, 모니터링한 패킷을 기초로 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격의 탐지 지표를 도출한다. In the past, a denial of service attack was detected based on the network status measured at each protected server. However, measuring the network status on the protected server can cause the load or performance degradation of the server, and it may be difficult to measure the accurate server status due to an overload caused by an attack. In order to solve this problem, instead of measuring the network status at the protection target server, the detection apparatus 100 monitors packets entering and leaving the protected server 200, and based on the monitored packets, Attack, and slow TCB attack.

도 2는 본 발명의 한 실시예에 따른 TCP 연결을 설명하는 도면이다.2 is a diagram illustrating a TCP connection according to an embodiment of the present invention.

도 2를 참고하면, TCP은 3단계의 메시지 교환(3-way handshake)을 통해 연결된다. 즉, 클라이언트가 서버로 연결요청시도(SYN) 패킷을 보내면, 서버가 클라이언트로 연결요청응답(SYN_ACK) 패킷을 보내며, 다시 클라이언트가 최종응답(ACK) 패킷을 보내서 TCP 연결이 성립된다. 이러한 네트워크 연결을 위한 자원은 백로그 큐(230)와 TCP 제어 블록(250)이다.Referring to FIG. 2, TCP is connected through a three-way handshake. That is, when the client sends a SYN packet to the server, the server sends a SYN_ACK packet to the client, and the client sends a final ACK packet to establish a TCP connection. The resources for this network connection are the backlog queue 230 and the TCP control block 250.

보호대상서버(200)가 어느 클라이언트로부터 SYN 패킷을 수신한다. 그러면, 보호대상서버(200)는 TCP 초기 연결을 위해 백로그 큐(230)의 자원을 할당한다. 연결 정보는 백로그 큐(230)에 쌓이고, 백로그 큐(230)는 TCP 연결을 유지하기 위해 일정시간 동안 Half Open 상태로 유지된다. The protected server 200 receives a SYN packet from a client. Then, the protected server 200 allocates resources of the backlog queue 230 for initial TCP connection. The connection information is accumulated in the backlog queue 230, and the backlog queue 230 is kept in the Half Open state for a predetermined time to maintain the TCP connection.

백로그 큐(230)의 크기는 운영체제에 따라 일정한 값을 가지게 되는데, 연결 상태를 유지하는 기간 동안 백로그 큐(230)가 포화되면, 보호대상서버(200)는 더 이상 TCP 연결을 받아들일 수 없다. 따라서, 보호대상서버(200)는 한계용량을 초과한 SYN 패킷에 대해서 SYN_ACK 패킷을 전송하지 못한다. 따라서, 공격클라이언트(10)는 위조된 IP로 SYN 플러딩(Flooding) 공격을 하여, 보호대상서버(200)의 백로그 큐(230)를 포화시킬 수 있다. 이러한 백로그 큐(230)의 소진은 HTTP TCP 연결을 사용하는 특정 포트, 일반적으로 포트 80번에만 선택적으로 적용된다. 따라서, 보호대상서버(200)는 CPU, 메모리 값에 영향을 미치지 않은 큰 부하가 발생하지 않음에도 불구하고, HTTP 포트로 전송된 트래픽을 처리하지 못해 서비스를 거부할 수 있다.When the backlog queue 230 is saturated during the period of maintaining the connection state, the protected server 200 can no longer accept the TCP connection none. Therefore, the protected server 200 can not transmit the SYN_ACK packet to the SYN packet exceeding the limit capacity. Accordingly, the attacking client 10 may perform a SYN flooding attack on the forged IP to saturate the backlog queue 230 of the protected server 200. The exhaustion of this backlog queue 230 is selectively applied to a specific port using an HTTP TCP connection, generally only to port 80. Therefore, the protected server 200 can deny the service because it can not process the traffic transmitted to the HTTP port although the CPU and the memory value do not affect a large load.

보호대상서버(200)는 ACK 패킷을 수신하면, TCP 연결을 위하여 TCP 제어 블록(250)의 자원을 할당한다. 이때, TCP 제어 블록(250)이 모두 할당되면, TCP 제어 블록(250)은 TCP 연결 포화(Connection Full) 상태가 된다. 따라서, 공격클라이언트(10)는 위조되지 않은 IP로 정상적인 TCP 연결을 수립하면서 보호대상서버(200)의 TCP 제어 블록(250)을 포화시킬 수 있다.When receiving the ACK packet, the protected server 200 allocates resources of the TCP control block 250 for TCP connection. At this time, if all of the TCP control blocks 250 are allocated, the TCP control block 250 becomes a TCP connection saturation state. Therefore, the attacking client 10 can saturate the TCP control block 250 of the protected server 200 while establishing a normal TCP connection with the non-falsified IP.

공격클라이언트(10)는 빠른 TCB 공격이나 느린 TCB 공격을 하여 보호대상서버(200)의 TCP 제어 블록을 포화시킬 수 있다. 여기서, 빠른 TCB 공격이란 정상적 연결을 맺은 TCP 연결을 통해 짧은 시간 동안 다수의 HTTP GET 요청을 발생시키는 공격이다. 느린 TCB 공격이란 정상 TCP 연결을 맺은 뒤 상대적으로 긴 시간 동안 지속적인 연결을 유지하는 공격이다.The attacking client 10 may saturate the TCP control block of the protected server 200 by performing an early TCB attack or a slow TCB attack. Here, an early TCB attack is an attack that generates a large number of HTTP GET requests over a TCP connection with a normal connection. A slow TCB attack is an attack that maintains a persistent connection for a relatively long time after establishing a normal TCP connection.

빠른 TCB 공격은 다수의 좀비컴퓨터로 이루어진 봇넷을 통해 공격이 수행된다. 보호대상서버(200)의 한계용량 관점에서 볼 때, TCP 제어 블록(250)이 포화된 뒤, 단위시간 당 이루어지는 연결 요청 속도가 TCP 연결 타임아웃을 통해 종료되는 종료 속도보다 빠르면, 보호대상서버(200)는 더 이상 연결을 맺지 못하는 상태에 이르게 된다.Fast TCB attacks are attacked by botnets made up of many zombie computers. In view of the limited capacity of the protected server 200, if the connection request rate per unit time after the TCP control block 250 is saturated is earlier than the termination rate that is terminated through the TCP connection timeout, 200) is no longer able to establish a connection.

느린 TCB 공격은 빠른 TCB 공격과 같이 병목현상이 발생하는 네트워크 연결 자원인 TCP 제어 블록(250)을 공격한다. 그러나, 느린 TCB 공격은 빠른 TCB 공격과 달리 비교적 소수의 공격자원을 이용해 상대적으로 지속적인 연결을 유지하는 방법으로 TCP 제어 블록(250)을 소진한다. 따라서 공격클라이언트(10)는 빠른 TCB 공격보다 현저하게 낮은 공격 노이즈를 발생시키면서 동일한 효과를 얻을 수 있다. 빠른 TCB 공격은 정상 사용자와 공격자의 연결시도 수의 차이에 따라 정상 사용자의 접속 가능성을 확률적으로 낮추는 공격이다. 느린 TCB 공격은 모든 TCP 제어 블록(250)을 선점한 뒤 이를 유지하는 동안은 공격자를 제외한 정상 사용자의 접근을 완전히 차단할 수 있어 더욱 높은 공격효과를 얻을 수 있다. A slow TCB attack attacks the TCP control block 250, which is a bottleneck network connection resource, such as a fast TCB attack. However, a slow TCB attack exhausts the TCP control block 250 in a manner that maintains a relatively persistent connection using a relatively small number of attack resources, unlike a fast TCB attack. Therefore, the attacking client 10 can achieve the same effect while generating significantly lower attack noise than the fast TCB attack. The fast TCB attack is an attack that probabilistically lowers the accessibility of the normal user according to the difference in the number of connection attempts between the normal user and the attacker. A slow TCB attack can preempt all TCP control blocks (250) and completely block the access of the normal user except the attacker while maintaining it, so that a higher attack effect can be obtained.

이와 같이, 공격클라이언트(10)의 다양한 공격 형태에 따라 보호대상서버(200)의 네트워크 연결 자원은 포화되어 서비스거부상태에 도달할 수 있다. In this manner, the network connection resources of the protected server 200 are saturated according to various attack types of the attack client 10, and the service denial state can be reached.

다음에서, 탐지장치(100)가 네트워크 연결 및 종료에 관련된 패킷을 기초로 네트워크 연결 자원의 상태를 파악하고, 공격을 분류하는 방법에 대해 자세히 살펴본다.In the following, a detailed description will be given of a method for the detection apparatus 100 to grasp the state of network connection resources based on packets related to network connection and termination and to classify attacks.

도 3은 본 발명의 한 실시예에 따른 탐지장치의 블록도이다.3 is a block diagram of a detection apparatus according to an embodiment of the present invention.

도 3을 참고하면, 탐지장치(100)는 패킷 수집부(110), 그리고 탐지부(130), 그리고 방어부(150)를 포함한다.3, the detection apparatus 100 includes a packet collection unit 110, a detection unit 130, and a defensive unit 150. [

패킷 수집부(110)는 관측구간에서 보호대상서버(200)의 TCP 연결 및 종료에 관련된 패킷을 수집한다. TCP 연결 및 종료에 관련된 패킷은 SYN 패킷, SYN_ACK 패킷, ACK 패킷, 그리고 연결종료 패킷을 포함한다. 연결종료 패킷은 세션을 종료 시키는 패킷(finish, FIN)과 세션을 재설정하는 패킷(reset, RST)을 포함한다.The packet collection unit 110 collects packets related to TCP connection and termination of the protection target server 200 in the observation period. Packets related to TCP connection and termination include SYN packet, SYN_ACK packet, ACK packet, and connection termination packet. The connection termination packet includes a packet for finishing the session (finish, FIN) and a packet for resetting the session (reset, RST).

패킷 수집부(110)는 복수의 보호대상서버(200a-200n)의 네트워크 패킷을 수집할 수 있다. The packet collecting unit 110 may collect network packets of a plurality of protected servers 200a-200n.

탐지부(130)는 TCP 연결 및 종료에 관련된 패킷을 기초로 보호대상서버(200)의 네트워크 연결 자원 중에서 공격받는 자원을 탐지한다. 즉, 탐지부(130)는 보호대상서버(200)의 백로그 큐를 공격하는 백로그 큐 공격인지, TCP 제어 블록 공격인지 판단한다.The detection unit 130 detects an attacked resource among the network connection resources of the protection target server 200 based on the packets related to TCP connection and termination. That is, the detection unit 130 determines whether it is a backlog queue attack attacking the backlog queue of the protected server 200 or a TCP control block attack.

공격받는 자원을 탐지하기 위해서, 탐지부(130)는 TCP 연결 및 종료에 관련된 패킷을 기초로 탐지 지표를 계산한다. 탐지 지표는 연결요청응답율, Half-Open 비율, 공격 IP 분포, TCP 세션수, TCP 세션 지속 시간을 포함한다. 연결요청응답율은 SYN 패킷에 대한 SYN_ACK 패킷의 비율일 수 있다. Half-Open 비율은 SYN_ACK 패킷과 ACK 패킷을 기초로 계산될 수 있다. 공격 IP 분포는 SYN 패킷으로부터 추출된다. TCP 세션수는 TCP 연결이 수립되어 연결된 세션수로서, ACK 패킷과 FIN/RST 패킷을 기초로 계산될 수 있다. TCP 세션 지속 시간은 TCP 세션들의 평균 연결 시간일 수 있다.In order to detect an attacked resource, the detection unit 130 calculates a detection index based on a packet related to the TCP connection and termination. Detection indexes include connection request response rate, Half-Open rate, attack IP distribution, number of TCP sessions, and TCP session duration. The connection request response rate may be a ratio of SYN_ACK packets to SYN packets. The Half-Open ratio can be calculated based on the SYN_ACK packet and the ACK packet. The attack IP distribution is extracted from the SYN packet. The number of TCP sessions can be calculated based on the ACK packet and the FIN / RST packet, which is the number of sessions connected with the TCP connection established. The TCP session duration may be the average connection time of the TCP sessions.

탐지부(130)는 적어도 하나의 탐지지표를 기초로 백로그 큐 공격을 탐지한다. 탐지부(130)는 연결요청응답율이 기준값, 예를 들면 1보다 작은 경우, 백로그 큐가 포화 상태인 것으로 판단한다. 이때 보호대상서버(200)가 응답한 SYN_ACK 패킷의 수가 백로그 큐의 한계용량일 수 있다. 탐지부(130)는 백로그 큐의 Half-Open 비율을 고려하여 백로그 큐의 가용 자원을 판단할 수 있다.The detection unit 130 detects backlog cue attacks based on at least one detection index. The detection unit 130 determines that the backlog queue is saturated when the connection request response rate is smaller than a reference value, for example, 1. At this time, the number of SYN_ACK packets that the protected server 200 responds to may be the limit capacity of the backlog queue. The detection unit 130 can determine the available resources of the backlog queue in consideration of the half-open ratio of the backlog queue.

탐지부(130)는 공격 IP 분포를 더 고려하여 백로그 큐 공격을 더 정확하게 탐지할 수 있다. 왜냐하면, 공격클라이언트(10)는 대부분 위조된 불특정 다수의 비정상 IP 주소를 통해 공격한다. 따라서, 탐지부(130)는 비정상 IP의 분포를 기초로 백로그 큐 자원 소모를 노린 공격으로 판단할 수 있다. The detection unit 130 can more accurately detect backlog cue attacks considering the attack IP distribution. Because the attacking client 10 mostly attacks via an unspecified number of forged IP addresses. Accordingly, the detection unit 130 can determine that the attack is aimed at consumption of the backlog queue resource based on the distribution of the abnormal IP.

탐지부(130)는 TCP 세션수 또는 SYN_ACK 패킷에 대한 ACK 패킷 비율을 더 고려하여 백로그 큐 공격을 더 정확하게 탐지할 수 있다. 백로그 큐의 포화가 발생한 시점에서 TCP 제어 블록에 연결된 TCP 세션수가 SYN 패킷에 비해 현저히 낮은 값인 경우, 탐지부(130)는 비정상 IP주소를 이용한 백로그 큐 공격으로 판단할 수 있다. 왜냐하면, 공격클라이언트(10)가 비정상 IP주소를 통해 SYN 패킷을 전송했기 때문에, 보호대상서버(200)는 SYN_ACK을 보내더라도 ACK 패킷을 수신하지 못한다. 따라서, 대부분 정상적으로 TCP 세션이 연결되지 않기 때문에, TCP 제어 블록에 연결된 세션수는 많지 않게 된다.The detection unit 130 can more accurately detect the backlog queue attack considering the TCP session number or the ratio of the ACK packet to the SYN_ACK packet. If the number of TCP sessions connected to the TCP control block at the time of saturation of the backlog queue is significantly lower than that of the SYN packet, the detection unit 130 can determine that the attack is a backlog attack using an abnormal IP address. Because the attacking client 10 has transmitted the SYN packet through the abnormal IP address, the protected server 200 does not receive the ACK packet even if it sends the SYN_ACK. Therefore, since most of the TCP sessions are not normally connected, the number of sessions connected to the TCP control block is not large.

탐지부(130)는 적어도 하나의 탐지지표를 기초로 TCB 공격을 탐지한다. 탐지부(130)는 TCP 세션수와 연결요청응답율을 기초로 TCB 공격을 탐지할 수 있다. 탐지부(130)는 TCP 세션수가 일정값을 유지하면서, 새로운 연결요청을 거부하는 경우, TCP 제어 블록이 포화 상태인 것으로 판단한다. 탐지부(130)는 연결요청응답율이 기준값보다 낮은 경우, 연결요청이 거부되고 있는지 판단할 수 있다. The detection unit 130 detects a TCB attack based on at least one detection index. The detection unit 130 can detect a TCB attack based on the number of TCP sessions and the connection request response rate. The detection unit 130 determines that the TCP control block is in a saturated state when the number of TCP sessions is maintained and a new connection request is rejected. The detection unit 130 may determine whether the connection request is rejected when the connection request response rate is lower than the reference value.

또는 탐지부(130)는 TCP 제어 블록이 포화 상태에서 SYN 패킷수가 FIN/RST 패킷수보다 많을 경우, TCB 공격으로 판단할 수도 있다.Alternatively, the detection unit 130 may determine that the TCP control block is a TCB attack when the number of SYN packets is greater than the number of FIN / RST packets in a saturated state.

탐지부(130)는 TCP 세션 지속 시간을 고려하여 TCB 공격을 빠른 TCB 공격과 느린 TCB 공격으로 구분할 수 있다. 느린 TCB 공격은 빠른 TCB 공격과 유사하나 연결시도 속도가 매우 느리거나 연결시도가 거의 존재하지 않으며 일정 수의 연결이 장시간 지속되는 특징이 있다. 따라서, 탐지부(130)는 IP당 TCP 세션 지속 시간이 기준값보다 긴 경우, 느린 TCB 공격으로 탐지한다.The detection unit 130 can classify the TCB attack into a fast TCB attack and a slow TCB attack in consideration of the TCP session duration. A slow TCB attack is similar to a fast TCB attack, but it is characterized by very slow connection attempts, very few connection attempts, and a certain number of connections that last for a long time. Accordingly, the detection unit 130 detects a slow TCB attack when the TCP session duration per IP is longer than the reference value.

탐지부(130)는 보호대상서버별 네트워크 패킷을 기초로 가상 연결정보 테이블을 관리할 수 있다. 즉, 탐지부(130)는 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격을 탐지하기 위한 각종 정보를 가상 연결정보 테이블에 저장하여, 복수 보호대상서버의 상태를 통합 관리할 수 있다.The detection unit 130 can manage the virtual connection information table based on the network packet for each protection target server. That is, the detection unit 130 may store various information for detecting the backlog queue attack, the fast TCB attack, and the slow TCB attack in the virtual connection information table, and manage the states of the plurality of protection target servers.

방어부(150)는 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격 각각에 대한 대응 정책을 수립한다. 그리고 방어부(150)는 탐지부(130)에서 탐지한 공격 종류에 따라 대응 정책을 적용한다. 특히, 방어부(150)는 패킷 수집부(110)와 탐지부(130)에서 도출한 네트워크 연결 자원의 상태를 기초로 공격의 진행 정도를 측정한다. 그리고, 방어부(150)는 공격의 진행 정도를 기초로 방어 기법의 종류 및 적용강도를 선택적으로 적용한다. 또한 방어부(150)는 하나의 방어정책이 적용된 이후 네트워크 연결 자원의 상태 변화를 모니터링하여 적용 효과를 측정한다. The defensive unit 150 establishes a response policy for backlog cue attack, fast TCB attack, and slow TCB attack, respectively. Then, the defending unit 150 applies the corresponding policy according to the type of attack detected by the detecting unit 130. In particular, the defending unit 150 measures the progress of the attack based on the state of the network connection resources derived from the packet collecting unit 110 and the detecting unit 130. Then, the defending unit 150 selectively applies the type and application strength of the defense technique based on the progress of the attack. Also, the defensive unit 150 monitors the state change of the network connection resource after one defense policy is applied, and measures the application effect.

방어부(150)는 백로그 큐 공격이 탐지되는 경우, SYN 쿠키(COOKIE) 등이 설정된 캐시 서버의 배치 또는 FIRST-SYN-DROP 방식의 인라인 장비 사용을 대응 정책으로 수립한다. 예를 들면, 방어부(150)는 백로그 큐 공격이 탐지되는 경우, 비용 대비 큰 효과를 보이는 FIRST-SYN-DROP 방식으로 대응하도록 하는 제1 대응 정책을 설정한다. 방어부(150)는 FIRST-SYN-DROP 방식으로 백로그 큐의 포화도가 회복되는 경우 제1 대응 정책을 유지한다. 만약, FIRST-SYN-DROP 방식으로 별다른 효과가 발생하지 않는 경우, 방어부(150)는 SYN COOKIE 기능이 적용된 캐시 서버를 배치하도록 하는 제2 대응 정책을 설정한다.When a backlog-queuing attack is detected, the defensive unit 150 establishes a cache server arrangement in which a SYN cookie (COOKIE) or the like is set or an inline device use of the FIRST-SYN-DROP scheme as a corresponding policy. For example, if a backlog queue attack is detected, the defensive unit 150 sets a first response policy to cope with a cost-effective FIRST-SYN-DROP method. The defensive unit 150 maintains the first response policy when the saturation degree of the backlog queue is restored by the FIRST-SYN-DROP method. If no effect is generated by the FIRST-SYN-DROP scheme, the defensive unit 150 sets a second response policy to arrange a cache server to which the SYN COOKIE function is applied.

방어부(150)는 빠른 TCB 공격이 탐지되는 경우, 단위시간당 접속횟수를 차단하는 방법을 제1 대응 정책으로 수립한다. 제1 대응 정책이 효과가 없는 경우, 방어부(150)는 HTTP Redirection을 통해 브라우저 수준으로 동작하지 못하는 공격 에이전트를 차단하는 제2 대응 정책으로 수립한다. 만약 공격에이전트가 브라우저 수준으로 동작한다면, 방어부(150)는 TCP 연결을 시도한 주체가 사람인지 브라우저 기능을 가진 봇인지 탐지할 수 있는 정책을 수립해야 한다.When the fast TCB attack is detected, the defensive unit 150 establishes a method of blocking the number of accesses per unit time as a first corresponding policy. If the first response policy is not effective, the defensive unit 150 establishes a second response policy that blocks an attack agent that does not operate at the browser level through HTTP Redirection. If the attacking agent operates at the browser level, the defending unit 150 should establish a policy to detect whether the subject attempting to make a TCP connection is a human or a browser-capable bot.

방어부(150)는 느린 TCB 공격이 탐지되는 경우, 평균 세션지속시간을 기록하여 평균 세션 지속시간의 기준치, 예를 들면 평균 세션지속시간의 10배를 상회하는 경우 느린 TCB 공격으로 간주하여 차단정책을 설정한다. If a slow TCB attack is detected, the defensive unit 150 records the average session duration and regards it as a slow TCB attack if the average session duration exceeds 10 times the average session duration, for example, .

도 4는 본 발명의 한 실시예에 따른 분산서비스거부공격 탐지 방법의 흐름도이다.4 is a flowchart of a distributed denial of service attack detection method according to an embodiment of the present invention.

도 4를 참고하면, 탐지장치(100)는 보호대상서버(200)의 네트워크 연결 및 종료에 관련된 패킷을 수집한다(S410). 탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이에서 네트워크 연결 및 종료에 관련된 패킷을 수집한다. 네트워크 연결 및 종료에 관련된 패킷은 SYN 패킷, SYN_ACK 패킷, ACK 패킷, 그리고 연결종료(FIN/RST) 패킷을 포함한다.Referring to FIG. 4, the detection apparatus 100 collects packets related to network connection and termination of the protection target server 200 (S410). The detection device 100 collects packets related to network connection and termination between the protection target server 200 and the network device 300. Packets related to network connection and termination include SYN packet, SYN_ACK packet, ACK packet, and connection termination (FIN / RST) packet.

탐지장치(100)는 네트워크 연결 및 종료에 관련된 패킷을 기초로 복수의 탐지 지표를 계산한다(S420). 탐지 지표는 연결요청응답율, Half-Open 비율, 공격 IP 분포, TCP 세션수, TCP 세션 지속 시간을 포함한다.The detection apparatus 100 calculates a plurality of detection indices based on the packets related to the network connection and termination (S420). Detection indexes include connection request response rate, Half-Open rate, attack IP distribution, number of TCP sessions, and TCP session duration.

탐지장치(100)는 적어도 하나의 탐지 지표를 기초로 보호대상서버(200)의 네트워크 연결 자원의 상태를 판단한다(S430). 탐지장치(100)는 SYN 패킷에 대한 SYN_ACK 패킷의 비율인 연결요청응답율을 기초로 백로그 큐가 포화 상태인지 판단할 수 있다. 탐지장치(100)는 TCP 세션수와 연결요청응답율을 기초로 TCP 제어 블록이 포화 상태인지 판단할 수 있다.The detection apparatus 100 determines the state of the network connection resource of the protection target server 200 based on at least one detection index (S430). The detection apparatus 100 may determine whether the backlog queue is saturated based on the connection request response rate which is the ratio of the SYN_ACK packet to the SYN packet. The detection apparatus 100 can determine whether the TCP control block is saturated based on the number of TCP sessions and the connection request response rate.

탐지장치(100)는 탐지 지표와 네트워크 연결 자원의 상태를 기초로 보호대상서버(200)가 받은 공격을 탐지한다(S440). 탐지장치(100)는 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격으로 분류한다. The detection apparatus 100 detects an attack received by the protection target server 200 based on the detection index and the state of the network connection resource (S440). Detector 100 classifies as backlog queue attack, fast TCB attack, and slow TCB attack.

탐지장치(100)는 백로그 큐가 포화 상태이고 공격 IP 분포로 보아 비정상 IP로 다수의 SYN 패킷이 전송된 경우, 백로그 큐 공격으로 탐지할 수 있다. 또는 탐지장치(100)는 백로그 큐가 포화 상태이고, TCP 제어 블록에 연결된 TCP 세션수가 SYN 패킷수에 비해 적은 경우, 백로그 큐 공격으로 탐지할 수 있다. The detection apparatus 100 can detect a backlog queue attack when a plurality of SYN packets are transmitted in an abnormal IP based on the backlog queue saturation and attack IP distribution. Or the detection apparatus 100 can detect a backlog queue attack when the backlog queue is saturated and the number of TCP sessions connected to the TCP control block is smaller than the number of SYN packets.

탐지장치(100)는 TCP 제어 블록이 포화 상태이고, SYN 패킷수가 FIN/RST 패킷수에 비해 많은 경우, TCB 공격으로 탐지할 수도 있다. 탐지장치(100)는 TCP 세션 지속 시간을 기초로 TCB 공격을 빠른 TCB 공격과 느린 TCB 공격으로 구분할 수 있다.Detector 100 may detect a TCB attack if the TCP control block is saturated and the number of SYN packets is greater than the number of FIN / RST packets. The detection apparatus 100 can distinguish the TCB attack from the fast TCB attack and the slow TCB attack based on the TCP session duration.

도 5는 본 발명의 다른 실시예에 따른 분산서비스거부공격 탐지 방법의 흐름도이다.5 is a flowchart of a distributed denial of service attack detection method according to another embodiment of the present invention.

도 5를 참고하면, 탐지장치(100)는 보호대상서버(200)의 네트워크 연결 및 종료에 관련된 패킷을 수집한다(S510).Referring to FIG. 5, the detection apparatus 100 collects packets related to network connection and termination of the protection target server 200 (S510).

탐지장치(100)는 네트워크 연결 및 종료에 관련된 패킷을 분석하여 보호대상서버(200)의 백로그 큐가 포화 상태인지 판단한다(S520). 탐지장치(100)는 SYN 패킷에 대한 SYN_ACK 패킷의 비율이 기준값보다 낮은 경우, 백로그 큐가 포화 상태라고 판단할 수 있다. The detection apparatus 100 analyzes packets related to network connection and termination and determines whether the backlog queue of the protection target server 200 is saturated (S520). The detection apparatus 100 may determine that the backlog queue is saturated if the ratio of the SYN_ACK packet to the SYN packet is lower than the reference value.

백로그 큐가 포화 상태인 경우, 탐지장치(100)는 보호대상서버(200)의 TCP 제어 블록이 포화 상태인지 판단한다(S530). 탐지장치(100)는 TCP 세션수가 일정하고 새로운 연결요청을 거부하는 경우, TCP 제어 블록이 포화 상태라고 판단할 수 있다. TCP 세션수는 ACK 패킷과 FIN/RST 패킷을 기초로 계산될 수 있다.If the backlog queue is saturated, the detection apparatus 100 determines whether the TCP control block of the protection target server 200 is saturated (S530). If the number of TCP sessions is constant and the new connection request is rejected, the detection apparatus 100 may determine that the TCP control block is in a saturated state. The number of TCP sessions can be calculated based on the ACK packet and the FIN / RST packet.

TCP 제어 블록이 포화 상태가 아닌 경우, 탐지장치(100)는 보호대상서버(200)가 백로그 큐 공격을 당하고 있다고 탐지한다(S540).If the TCP control block is not in the saturation state, the detection apparatus 100 detects that the protection target server 200 is being attacked by the backlog queue (S540).

TCP 제어 블록이 포화 상태인 경우, 탐지장치(100)는 TCP 세션이 기준 시간보다 길게 지속되는지 판단한다(S550). TCP 세션 지속 시간은 TCP 세션들의 평균 연결 시간일 수 있다.If the TCP control block is in the saturation state, the detection apparatus 100 determines whether the TCP session lasts longer than the reference time (S550). The TCP session duration may be the average connection time of the TCP sessions.

TCP 세션이 기준 시간보다 짧은 경우, 탐지장치(100)는 보호대상서버(200)가 빠른 TCB 공격을 당하고 있다고 탐지한다(S560). If the TCP session is shorter than the reference time, the detection apparatus 100 detects that the protected server 200 is being subjected to a quick TCB attack (S560).

TCP 세션이 기준 시간보다 긴 경우, 탐지장치(100)는 보호대상서버(200)가 느린 TCB 공격을 당하고 있다고 탐지한다(S570).If the TCP session is longer than the reference time, the detection apparatus 100 detects that the protected server 200 is under a slow TCB attack (S570).

지금까지는 SYN 플러딩이나 Get Attack과 같이 공격클라이언트(10)의 공격 형태로 분산서비스거부공격을 분류하였다. 그러나, 보호대상서버들이 동일한 공격을 받더라도, 각 보호대상서버의 네트워크 자원의 용량에 따라 SYN 플러딩이나 Get Attack에 영향을 받는 자원이 달라진다. 또한 공격클라이언트(10)의 공격은 다양한 형태로 진화하고 있다. 그럼에도 불구하고, 지금까지 방어자는 어느 네트워크 자원이 포화되어 서비스거부상태에 이른 것인지 알지 못하기 때문에, 서비스거부공격을 받으면 네트워크를 아예 차단하는 등 무리한 대응을 함으로써 정상 사용자의 서비스마저 차단해버리는 문제가 있었다.Until now, distributed denial-of-service attacks have been classified as attacks of attack client 10, such as SYN flooding or Get Attack. However, even if the protected servers receive the same attack, the resource affected by SYN flooding or Get Attack changes depending on the capacity of network resources of each protected server. The attack of the attack client 10 is evolving into various forms. Nevertheless, since defenders do not know which network resources are saturated and reach a denial of service, if a denial-of-service attack occurs, they block the network at all, there was.

그러나, 탐지장치(100)는 보호대상서버(200)의 네트워크 연결 자원의 상태를 기초로 공격을 탐지하고 대응한다. 그러므로, 탐지장치(100)는 공격클라이언트가 다양한 형태로 공격하더라도, 서비스거부상태에 이른 자원을 알 수 있다. 따라서, 탐지장치(100)는 해당 자원의 포화 상태를 해결하기 위한 대응만을 하면 되므로, 신속하게 대응할 수 있다.However, the detection apparatus 100 detects and responds to an attack based on the status of the network connection resources of the protection target server 200. Therefore, the detection apparatus 100 can know the resource that has reached the denial of service even if the attacking client attacks in various forms. Accordingly, the detection apparatus 100 can respond quickly because it has only to respond to the saturation state of the resource.

특히, 느린 TCB 공격은 서버 프로그램 자체의 취약점을 사용하거나 R.U.D.Y와 같이 HTTP 프로토콜 처리방법에서 발생하는 구조적인 취약점을 이용한다. 따라서 알려진 공격 도구를 사용할 때 발견되는 특정 시그니처를 통해 공격을 탐지하려고 한다면, 기존 공격 도구를 변형하거나 동일한 호스트 자원을 공격하는 다른 공격 방법이 나타나는 경우 해당 공격에 대한 분석, 대응기법도출, 도출된 대응기법 적용의 작업이 완료되기 이전에는 이러한 위협에 효과적으로 대응할 수 없다. In particular, a slow TCB attack exploits a vulnerability in the server program itself or a structural vulnerability in HTTP protocol handling methods such as R.U.D.Y. Therefore, if you want to detect an attack through a specific signature that is found when you use a known attack tool, modify the existing attack tool, or if there are other attack methods that attack the same host resource, analyze the attack, It is not possible to respond effectively to such threats until the work of applying techniques is completed.

그러나, 탐지장치(100)는 공격도구가 가진 지엽적인 시그니처의 형태에 관계없이, TCP 세션 지속 시간을 기초로 느린 TCB 공격을 탐지할 수 있다. However, the detection device 100 can detect a slow TCB attack based on TCP session duration, regardless of the type of local signature the attack tool has.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not implemented only by the apparatus and method, but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (22)

보호대상서버에 대한 분산서비스거부공격을 탐지하는 탐지장치로서,
상기 보호대상서버와 네트워크 장치 사이에서 상기 보호대상서버로 입출입하는 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 패킷 수집부, 그리고
상기 네트워크 패킷을 기초로 상기 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 네트워크 연결 자원의 상태를 기초로 상기 네트워크 연결 자원의 공격을 탐지하는 탐지부
를 포함하는 탐지장치.
A detection device for detecting a distributed denial of service attack on a protected server,
A packet collector for collecting network packets related to network connection and termination between the protected server and the network device,
Monitoring a state of a network connection resource of the protected server based on the network packet and detecting an attack of the network connection resource based on the state of the network connection resource;
.
제1항에서,
상기 네트워크 패킷은
TCP 연결 및 종료에 관련된 연결요청시도(SYN) 패킷, 연결요청응답(SYN_ACK) 패킷, 최종응답(ACK) 패킷, 그리고 연결종료(FIN/RST) 패킷 중 적어도 하나를 포함하는 탐지장치.
The method of claim 1,
The network packet
A connection request (SYN) packet, a connection request response (SYN_ACK) packet, a final acknowledgment (ACK) packet, and a connection termination (FIN / RST) packet related to TCP connection and termination.
제1항에서,
상기 탐지부는
상기 네트워크 패킷을 기초로 백로그 큐와 TCP 제어 블록(TCP Control Block, TCB)을 포함하는 상기 네트워크 연결 자원의 상태를 모니터링하며, 상기 네트워크 연결 자원의 상태를 기초로, 백로그 큐 공격과 TCP 제어 블록(TCP Control Block, TCB) 공격 중 적어도 하나를 탐지하는 탐지장치.
The method of claim 1,
The detection unit
Monitoring a state of the network connection resource including a backlog queue and a TCP control block (TCB) on the basis of the network packet, and based on the state of the network connection resource, Block (TCP Control Block, TCB) attack.
제3항에서,
상기 탐지부는 상기 네트워크 패킷을 기초로 적어도 하나의 탐지 지표를 계산하고, 적어도 하나의 탐지 지표를 기초로 상기 네트워크 연결 자원의 상태를 모니터링하며,
상기 탐지 지표는 상기 네트워크 패킷 중 연결요청시도(SYN) 패킷에 대한 연결요청응답(SYN_ACK) 패킷의 비율인 연결요청응답율, 공격 IP 분포, TCP 세션수, 그리고 TCP 세션 지속 시간 중 적어도 하나를 포함하는 탐지장치.
4. The method of claim 3,
The detection unit calculates at least one detection index based on the network packet, monitors the status of the network connection resource based on the at least one detection index,
Wherein the detection indicator includes at least one of a connection request response rate, an attack IP distribution, a number of TCP sessions, and a TCP session duration, which are ratios of connection request response (SYN_ACK) packets for a connection request attempt (SYN) Detector.
제4항에서,
상기 탐지부는
상기 연결요청응답율, 상기 공격 IP 분포, 그리고 상기 TCP 세션수 중 적어도 하나를 기초로 상기 백로그 큐가 서비스거부상태인지 판단하여 상기 백로그 큐 공격을 탐지하는 탐지장치.
5. The method of claim 4,
The detection unit
Detecting a backlog queue attack based on at least one of a connection request response rate, an attack IP distribution, and the number of TCP sessions.
제4항에서,
상기 탐지부는
상기 TCP 세션수와 상기 연결요청응답율을 기초로 상기 TCP 제어 블록이 서비스거부상태인지 판단하여 상기 TCP 제어 블록 공격을 탐지하는 탐지장치.
5. The method of claim 4,
The detection unit
And detecting whether the TCP control block is in a denial-of-service state based on the number of TCP sessions and the connection request response rate.
제4항에서,
상기 탐지부는
상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 TCP 제어 블록 공격을 빠른 TCP 제어 블록 공격과 느린 TCP 제어 블록 공격으로 분류하는 탐지장치.
5. The method of claim 4,
The detection unit
And classifying the TCP control block attack into a fast TCP control block attack and a slow TCP control block attack based on a TCP session duration of the TCP control block.
제1항에서,
각 네트워크 연결 자원의 서비스거부공격을 방어하기 위한 적어도 하나의 대응 정책을 설정하고, 상기 탐지부에서 어느 네트워크 연결 자원의 공격을 탐지한 경우, 탐지한 네트워크 연결 자원에 설정된 대응 정책을 상기 보호대상서버에 적용하는 방어부
를 더 포함하는 탐지장치.
The method of claim 1,
The method of claim 1, further comprising: setting at least one response policy for defending against a denial of service attack of each network connection resource; when detecting an attack of a network connection resource by the detection unit, A defensive portion
Further comprising:
제8항에서,
상기 방어부는
상기 탐지한 네트워크 연결 자원의 상태를 모니터링하면서 대응 정책을 가변하는 탐지장치.
9. The method of claim 8,
The defensive portion
And changes the corresponding policy while monitoring the status of the detected network connection resource.
제1항에서,
상기 패킷 수집부는
상기 네트워크 장치에 복수의 보호대상서버가 연결된 경우, 보호대상서버별 네트워크 패킷을 수집하여 가상 연결정보 테이블로 관리하는 탐지장치.
The method of claim 1,
The packet collecting unit
And collecting network packets for each protection target server and managing the collected network packets in a virtual connection information table when a plurality of protection target servers are connected to the network device.
제10항에서,
상기 탐지부는
상기 가상 연결정보 테이블을 기초로 각 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 가상 연결정보 테이블을 기초로 보호대상서버로 향하는 분산서비스거부공격을 탐지하는 탐지장치.
11. The method of claim 10,
The detection unit
Monitors the status of network connection resources of each protected server based on the virtual connection information table, and detects a distributed denial of service attack directed to a protected server based on the virtual connection information table.
분산서비스거부공격 탐지장치가 보호대상서버에 대한 분산서비스거부공격을 탐지하는 방법으로서,
상기 보호대상서버의 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 단계,
상기 네트워크 패킷을 기초로 복수의 탐지 지표를 계산하는 단계,
상기 복수의 탐지 지표 중 적어도 하나의 탐지 지표를 기초로 상기 보호대상서버의 백로그 큐와 TCP 제어 블록(TCP Control Block, TCB)을 포함하는 네트워크 연결 자원의 상태를 판단하는 단계, 그리고
상기 네트워크 연결 자원의 상태를 기초로 백로그 큐 공격과 TCP 제어 블록 공격 중 적어도 하나를 탐지하는 단계
를 포함하는 분산서비스거부공격 탐지 방법.
A method for a distributed denial of service attack detection device to detect a distributed denial of service attack on a protected server,
Collecting network packets related to network connection and termination of the protected server,
Calculating a plurality of detection indices based on the network packet,
Determining a state of a network connection resource including a backlog queue and a TCP control block (TCB) of the protected server based on at least one detection index among the plurality of detection indices; and
Detecting at least one of a backlog queue attack and a TCP control block attack based on the state of the network connection resource
And a distributed denial of service attack detection method.
제12항에서,
상기 네트워크 패킷을 수집하는 단계는
상기 보호대상서버와 네트워크 장치 사이에서 상기 보호대상서버로 입출입하는 상기 네트워크 패킷을 수집하는 분산서비스거부공격 탐지 방법.
The method of claim 12,
The step of collecting the network packet
And collecting the network packets between the protected server and the network device to and from the protected server.
제12항에서,
상기 복수의 탐지 지표를 계산하는 단계는
TCP 연결 및 종료에 관련된 연결요청시도(SYN) 패킷, 연결요청응답(SYN_ACK) 패킷, 최종응답(ACK) 패킷, 그리고 연결종료(FIN/RST) 패킷 중 적어도 하나를 포함하는 상기 네트워크 패킷을 기초로 상기 복수의 탐지 지표를 계산하는 분산서비스거부공격 탐지 방법.
The method of claim 12,
The step of calculating the plurality of detection indices
Based on the network packet including at least one of a connection request attempt (SYN) packet, a connection request response (SYN_ACK) packet, a final acknowledgment (ACK) packet, and a connection termination (FIN / RST) packet related to TCP connection and termination And calculating the plurality of detection indices.
제14항에서,
상기 복수의 탐지 지표를 계산하는 단계는
상기 연결요청시도(SYN) 패킷에 대한 상기 연결요청응답(SYN_ACK) 패킷의 비율인 연결요청응답율, 공격 IP 분포, TCP 세션수, 그리고 TCP 세션 지속 시간 중 적어도 하나를 포함하는 탐지 지표를 계산하는 분산서비스거부공격 탐지 방법.
The method of claim 14,
The step of calculating the plurality of detection indices
A distribution for calculating a detection index including at least one of a connection request response rate, an attack IP distribution, a number of TCP sessions, and a TCP session duration, which is a ratio of the connection request response (SYN_ACK) packet to the connection request attempt (SYN) How to detect denial of service attacks.
제15항에서,
상기 네트워크 연결 자원의 상태를 판단하는 단계는
상기 연결요청응답율, 상기 공격 IP 분포, 그리고 상기 TCP 세션수 중 적어도 하나를 기초로 상기 백로그 큐가 서비스거부상태인지 판단하는 분산서비스거부공격 탐지 방법.
16. The method of claim 15,
The step of determining the status of the network connection resource
And determining whether the backlog queue is in a denial-of-service state based on at least one of the connection request response rate, the attack IP distribution, and the number of TCP sessions.
제15항에서,
상기 네트워크 연결 자원의 상태를 판단하는 단계는
상기 TCP 세션수와 상기 연결요청응답율을 기초로 상기 TCP 제어 블록이 서비스거부상태인지 판단하는 분산서비스거부공격 탐지 방법.
16. The method of claim 15,
The step of determining the status of the network connection resource
And determining whether the TCP control block is in a denial-of-service state based on the number of TCP sessions and the connection request response rate.
제12항에서,
상기 백로그 큐 공격과 TCP 제어 블록(TCP Control Block, TCB) 공격 중 적어도 하나를 탐지하는 단계는
상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 TCP 제어 블록 공격을 빠른 TCP 제어 블록 공격과 느린 TCP 제어 블록 공격으로 분류하는 분산서비스거부공격 탐지 방법.
The method of claim 12,
The step of detecting at least one of the backlog queue attack and the TCP control block (TCB) attack
And classifying the TCP control block attack as a fast TCP control block attack and a slow TCP control block attack based on a TCP session duration of the TCP control block.
분산서비스거부공격 탐지장치가 보호대상서버에 대한 분산서비스거부공격을 탐지하는 방법으로서,
상기 보호대상서버의 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 단계,
상기 네트워크 패킷을 기초로 상기 보호대상서버의 백로그 큐가 포화 상태인지 판단하는 단계,
상기 백로그 큐가 포화 상태인 경우, 상기 네트워크 패킷을 기초로 상기 보호대상서버의 TCP 제어 블록(TCP Control Block, TCB)이 포화 상태인지 판단하는 단계,
상기 TCP 제어 블록이 포화 상태가 아닌 경우, 상기 백로그 큐에 대한 백로그 큐 공격을 탐지하는 단계, 그리고
상기 TCP 제어 블록이 포화 상태인 경우, 상기 TCP 제어 블록에 대한 TCP 제어 블록 공격을 탐지하는 단계
를 포함하는 분산서비스거부공격 탐지 방법.
A method for a distributed denial of service attack detection device to detect a distributed denial of service attack on a protected server,
Collecting network packets related to network connection and termination of the protected server,
Determining whether a backlog queue of the protection target server is saturated based on the network packet,
Determining whether a TCP control block (TCB) of the protected server is saturated based on the network packet when the backlog queue is in a saturated state,
Detecting a backlog queue attack on the backlog queue if the TCP control block is not saturated; and
Detecting a TCP control block attack on the TCP control block when the TCP control block is in a saturation state;
And a distributed denial of service attack detection method.
제19항에서,
상기 TCP 제어 블록 공격을 탐지하는 단계는
상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 TCP 제어 블록 공격을 빠른 TCP 제어 블록 공격과 느린 TCP 제어 블록 공격으로 분류하는 분산서비스거부공격 탐지 방법.
20. The method of claim 19,
The step of detecting the TCP control block attack
And classifying the TCP control block attack as a fast TCP control block attack and a slow TCP control block attack based on a TCP session duration of the TCP control block.
제19항에서,
상기 네트워크 패킷은 TCP 연결 및 종료에 관련된 연결요청시도(SYN) 패킷과 연결요청응답(SYN_ACK) 패킷을 포함하고,
상기 백로그 큐가 포화 상태인지 판단하는 단계는
상기 연결요청시도(SYN) 패킷에 대한 상기 연결요청응답(SYN_ACK) 패킷의 비율이 기준값보다 낮은 경우, 상기 백로그 큐가 포화 상태라고 판단하는 분산서비스거부공격 탐지 방법.
20. The method of claim 19,
The network packet includes a connection request challenge (SYN) packet and a connection request response (SYN_ACK) packet related to TCP connection and termination,
The step of determining whether the backlog queue is saturated
And determining that the backlog queue is in a saturation state when the ratio of the connection request response (SYN_ACK) packet to the connection request attempt (SYN) packet is lower than a reference value.
제19항에서,
상기 TCP 제어 블록이 포화 상태인지 판단하는 단계는
상기 TCP 제어 블록의 TCP 세션수가 일정하고 새로운 연결요청을 거부하는 경우, 상기 TCP 제어 블록이 포화 상태라고 판단하고,
상기 TCP 세션수는 상기 네트워크 패킷 중 최종응답(ACK) 패킷과 연결종료(FIN/RST) 패킷을 기초로 계산되는 분산서비스거부공격 탐지 방법.
20. The method of claim 19,
The step of determining whether the TCP control block is saturated
When the number of TCP sessions in the TCP control block is constant and the new connection request is rejected, the TCP control block is judged to be in a saturated state,
Wherein the number of TCP sessions is calculated based on a final acknowledgment (ACK) packet and a connection end (FIN / RST) packet among the network packets.
KR1020120116878A 2012-10-19 2012-10-19 Apparatus and method for detecting distributed denial of service attack KR101970721B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120116878A KR101970721B1 (en) 2012-10-19 2012-10-19 Apparatus and method for detecting distributed denial of service attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120116878A KR101970721B1 (en) 2012-10-19 2012-10-19 Apparatus and method for detecting distributed denial of service attack

Publications (2)

Publication Number Publication Date
KR20140050450A true KR20140050450A (en) 2014-04-29
KR101970721B1 KR101970721B1 (en) 2019-04-22

Family

ID=50655621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120116878A KR101970721B1 (en) 2012-10-19 2012-10-19 Apparatus and method for detecting distributed denial of service attack

Country Status (1)

Country Link
KR (1) KR101970721B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110049282A (en) * 2009-11-04 2011-05-12 주식회사 컴트루테크놀로지 System and method for detecting and blocking to distributed denial of service attack
KR20120060655A (en) * 2010-12-02 2012-06-12 한국전자통신연구원 Routing Method And Apparatus For Detecting Server Attacking And Network Using Method Thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110049282A (en) * 2009-11-04 2011-05-12 주식회사 컴트루테크놀로지 System and method for detecting and blocking to distributed denial of service attack
KR20120060655A (en) * 2010-12-02 2012-06-12 한국전자통신연구원 Routing Method And Apparatus For Detecting Server Attacking And Network Using Method Thereof

Also Published As

Publication number Publication date
KR101970721B1 (en) 2019-04-22

Similar Documents

Publication Publication Date Title
KR101077135B1 (en) Apparatus for detecting and filtering application layer DDoS Attack of web service
KR101519623B1 (en) DDoS detection apparatus and method, DDoS detection and prevention apparatus for reducing positive false
US8966627B2 (en) Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session
US8634717B2 (en) DDoS attack detection and defense apparatus and method using packet data
US10911473B2 (en) Distributed denial-of-service attack detection and mitigation based on autonomous system number
US11005865B2 (en) Distributed denial-of-service attack detection and mitigation based on autonomous system number
CN104243408B (en) The method, apparatus and system of message are monitored in domain name resolution service DNS systems
KR102088299B1 (en) Apparatus and method for detecting drdos
KR20130017333A (en) Attack decision system of slow distributed denial of service based application layer and method of the same
KR20130006750A (en) Method for identifying a denial of service attack and apparatus for the same
Wu et al. A novel distributed denial-of-service attack detection scheme for software defined networking environments
Muraleedharan et al. Behaviour analysis of HTTP based slow denial of service attack
CN106534068A (en) Method and device for cleaning forged source IP in DDOS (Distributed Denial of Service) defense system
Lukaseder et al. An extensible host-agnostic framework for SDN-assisted DDoS-mitigation
Goksel et al. DoS attack detection using packet statistics in SDN
Ono et al. A design of port scan detection method based on the characteristics of packet-in messages in openflow networks
WO2009064114A2 (en) Protection method and system for distributed denial of service attack
Voitovych et al. Investigation of simple Denial-of-Service attacks
Bellaiche et al. SYN flooding attack detection based on entropy computing
US20210234871A1 (en) Infection-spreading attack detection system and method, and program
Bala et al. Quality based Bottom-up-Detection and Prevention Techniques for DDOS in MANET
RU2531878C1 (en) Method of detection of computer attacks in information and telecommunication network
KR101970721B1 (en) Apparatus and method for detecting distributed denial of service attack
Preetha et al. Combat model-based DDoS detection and defence using experimental testbed: a quantitative approach
Bojjagani et al. Early DDoS Detection and Prevention with Traced-Back Blocking in SDN Environment.

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