KR101970721B1 - Apparatus and method for detecting distributed denial of service attack - Google Patents
Apparatus and method for detecting distributed denial of service attack Download PDFInfo
- Publication number
- KR101970721B1 KR101970721B1 KR1020120116878A KR20120116878A KR101970721B1 KR 101970721 B1 KR101970721 B1 KR 101970721B1 KR 1020120116878 A KR1020120116878 A KR 1020120116878A KR 20120116878 A KR20120116878 A KR 20120116878A KR 101970721 B1 KR101970721 B1 KR 101970721B1
- Authority
- KR
- South Korea
- Prior art keywords
- attack
- tcp
- control block
- packet
- network
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial 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
보호대상서버에 대한 분산서비스거부공격을 탐지하는 탐지장치로서, 상기 보호대상서버와 네트워크 장치 사이에서 상기 보호대상서버로 입출입하는 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 패킷 수집부, 그리고 상기 네트워크 패킷을 기초로 상기 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 네트워크 연결 자원의 상태를 기초로 상기 네트워크 연결 자원의 공격을 탐지하는 탐지부를 포함한다.A detection device for detecting a distributed denial of service attack on a protected server, comprising: a packet collecting unit for collecting network packets related to network connection and termination between the protected server and the network device to and from the protected server; Monitoring a state of the network connection resource of the protection target server based on the packet, and detecting an attack of the network connection resource based on the state of the network connection resource.
Description
본 발명은 분산서비스거부공격 탐지 방법 및 장치에 관한 것이다.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 to directly hit the availability of the web server at the target point while causing relatively less 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
분산서비스거부공격 탐지장치(앞으로 "탐지장치"라고 한다)(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
탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이를 관측구간으로 설정한다. 탐지장치(100)는 관측구간에서 네트워크 패킷을 수집한다. 네트워크 장치(300)는 보호대상서버(200)의 패킷이 입출입되는 관문으로서, 예를 들면, 게이트웨이 라우터일 수 있다. 네트워크 패킷은 네트워크 연결 및 종료에 관련된 패킷으로서, TCP(Transmission Control Protocol) 연결 및 종료에 관련된 패킷일 수 있다.The
탐지장치(100)는 보호대상서버(200)의 네트워크 연결 및 종료에 관련된 패킷을 기초로 복수의 탐지 지표를 계산한다. 탐지장치(100)는 적어도 하나의 탐지 지표를 기초로 보호대상서버(200)에 관계된 네트워크 연결 자원의 상태를 판단한다. 여기서, 네트워크 연결 자원은 HTTP 서버가 설치된 호스트가 HTTP 요청에 사용된 TCP 연결을 처리하는데 필요한 자원으로서, 예를 들면 백로그 큐(Backlog Queue)와 TCP 제어 블록(TCP Control Block, TCB)일 수 있다. 백로그 큐는 TCP 초기 연결에 관계된 자원이고, TCP 제어 블록은 TCP 연결을 처리하는 자원이다.The
탐지장치(100)는 네트워크 연결 자원의 상태를 기초로 보호대상서버(200)가 받은 공격을 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격으로 분류한다.The
탐지장치(100)는 공격클라이언트(10)의 공격이 발생하면 상대적으로 가장 빠른 자원 소모가 이루어져 전체 구간에서 사용자의 정상적 서비스 사용을 방해하는 논리적 병목구간을 모니터링한다. 여기서 논리적 병목구간은 보호대상서버(200)의 네트워크 연결을 위한 자원이 설치된 구간으로서, 시스템 커널과 HTTP 서버어플리케이션, 그리고 웹서버 데이터베이스와 같이 서버어플리케이션에 연결된 외부 구간일 수 있다. 따라서, 탐지장치(100)는 즉각적으로 공격을 탐지할 수 있다.The
또한, 탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이를 관측하면 되므로, 서비스거부공격이 진행되는 동안에도 송수신 패킷만으로 보호대상서버(200)와 떨어진 위치에서도 서비스거부공격을 탐지할 수 있다. 탐지장치(100)는 보호대상서버(200)의 운영체제, 웹캐시 L7스위치 등 어플리케이션 수준의 부가장비의 구성에 영향을 받지 않고, 어느 보호대상서버(200)라도 동일한 방법으로 서비스거부공격을 탐지할 수 있다.In addition, since the
탐지장치(100)는 보호대상서버(200)와 네트워크 장치(300) 사이의 패킷을 관측할 수 있는 다양한 위치에 설치될 수 있다. 예를 들면, 탐지장치(100)는 네트워크 장치(300)에 구현될 수 있다.The
도 1b를 참고하면, 탐지장치(100)가 네트워크 장치(300)에 연결된 시스템으로 가정한다. 1B, it is assumed that the
탐지장치(100)는 네트워크 길목에서, 복수의 보호대상서버(200a-200n)로 향하는 트래픽을 패시브환경에서 관찰한다. 탐지장치(100)는 네트워크 패킷모니터링을 통해 가상 연결정보 테이블(Virtual Connection Table)을 생성할 수 있다. 연결정보테이블은 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격의 탐지 지표를 도출하기 위한 각종 네트워크 트래픽 통계정보, 그리고 흐름(flow)정보를 포함한다. 예를 들면, 연결정보테이블은 각 서버별 세션 수, 세션지속시간 등을 포함할 수 있다.The
이를 통해, 탐지장치(100)는 연결정보테이블을 기초로 동일 네트워크상에 위치한 보호대상서버의 수에 관계없이 보호대상서버에 관계된 네트워크 패킷을 모니터링할 수 있다. 그리고, 탐지장치(100)는 연결정보테이블을 기초로 공격서버의 상태, 공격의 종류, 공격자의 수 등을 추적할 수 있고, 이를 바탕으로 정책기반 방어를 할 수 있다.Accordingly, the
종래에는 각 보호대상서버에서 측정된 네트워크 상태를 기초로 서비스거부공격을 탐지했다. 그러나, 보호대상서버에서 네트워크 상태를 측정하면, 서버의 부하 혹은 퍼포먼스 저하가 발생할 수 있고, 공격으로 유발된 과부하로 정확한 서버상태를 측정하기 어려울 수 있다. 이를 해결하기 위해, 탐지장치(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
도 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
보호대상서버(200)가 어느 클라이언트로부터 SYN 패킷을 수신한다. 그러면, 보호대상서버(200)는 TCP 초기 연결을 위해 백로그 큐(230)의 자원을 할당한다. 연결 정보는 백로그 큐(230)에 쌓이고, 백로그 큐(230)는 TCP 연결을 유지하기 위해 일정시간 동안 Half Open 상태로 유지된다. The protected
백로그 큐(230)의 크기는 운영체제에 따라 일정한 값을 가지게 되는데, 연결 상태를 유지하는 기간 동안 백로그 큐(230)가 포화되면, 보호대상서버(200)는 더 이상 TCP 연결을 받아들일 수 없다. 따라서, 보호대상서버(200)는 한계용량을 초과한 SYN 패킷에 대해서 SYN_ACK 패킷을 전송하지 못한다. 따라서, 공격클라이언트(10)는 위조된 IP로 SYN 플러딩(Flooding) 공격을 하여, 보호대상서버(200)의 백로그 큐(230)를 포화시킬 수 있다. 이러한 백로그 큐(230)의 소진은 HTTP TCP 연결을 사용하는 특정 포트, 일반적으로 포트 80번에만 선택적으로 적용된다. 따라서, 보호대상서버(200)는 CPU, 메모리 값에 영향을 미치지 않은 큰 부하가 발생하지 않음에도 불구하고, HTTP 포트로 전송된 트래픽을 처리하지 못해 서비스를 거부할 수 있다.When the
보호대상서버(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
공격클라이언트(10)는 빠른 TCB 공격이나 느린 TCB 공격을 하여 보호대상서버(200)의 TCP 제어 블록을 포화시킬 수 있다. 여기서, 빠른 TCB 공격이란 정상적 연결을 맺은 TCP 연결을 통해 짧은 시간 동안 다수의 HTTP GET 요청을 발생시키는 공격이다. 느린 TCB 공격이란 정상 TCP 연결을 맺은 뒤 상대적으로 긴 시간 동안 지속적인 연결을 유지하는 공격이다.The attacking
빠른 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
느린 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
이와 같이, 공격클라이언트(10)의 다양한 공격 형태에 따라 보호대상서버(200)의 네트워크 연결 자원은 포화되어 서비스거부상태에 도달할 수 있다. In this manner, the network connection resources of the protected
다음에서, 탐지장치(100)가 네트워크 연결 및 종료에 관련된 패킷을 기초로 네트워크 연결 자원의 상태를 파악하고, 공격을 분류하는 방법에 대해 자세히 살펴본다.In the following, a detailed description will be given of a method for the
도 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
패킷 수집부(110)는 관측구간에서 보호대상서버(200)의 TCP 연결 및 종료에 관련된 패킷을 수집한다. TCP 연결 및 종료에 관련된 패킷은 SYN 패킷, SYN_ACK 패킷, ACK 패킷, 그리고 연결종료 패킷을 포함한다. 연결종료 패킷은 세션을 종료 시키는 패킷(finish, FIN)과 세션을 재설정하는 패킷(reset, RST)을 포함한다.The
패킷 수집부(110)는 복수의 보호대상서버(200a-200n)의 네트워크 패킷을 수집할 수 있다. The
탐지부(130)는 TCP 연결 및 종료에 관련된 패킷을 기초로 보호대상서버(200)의 네트워크 연결 자원 중에서 공격받는 자원을 탐지한다. 즉, 탐지부(130)는 보호대상서버(200)의 백로그 큐를 공격하는 백로그 큐 공격인지, TCP 제어 블록 공격인지 판단한다.The
공격받는 자원을 탐지하기 위해서, 탐지부(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
탐지부(130)는 적어도 하나의 탐지지표를 기초로 백로그 큐 공격을 탐지한다. 탐지부(130)는 연결요청응답율이 기준값, 예를 들면 1보다 작은 경우, 백로그 큐가 포화 상태인 것으로 판단한다. 이때 보호대상서버(200)가 응답한 SYN_ACK 패킷의 수가 백로그 큐의 한계용량일 수 있다. 탐지부(130)는 백로그 큐의 Half-Open 비율을 고려하여 백로그 큐의 가용 자원을 판단할 수 있다.The
탐지부(130)는 공격 IP 분포를 더 고려하여 백로그 큐 공격을 더 정확하게 탐지할 수 있다. 왜냐하면, 공격클라이언트(10)는 대부분 위조된 불특정 다수의 비정상 IP 주소를 통해 공격한다. 따라서, 탐지부(130)는 비정상 IP의 분포를 기초로 백로그 큐 자원 소모를 노린 공격으로 판단할 수 있다. The
탐지부(130)는 TCP 세션수 또는 SYN_ACK 패킷에 대한 ACK 패킷 비율을 더 고려하여 백로그 큐 공격을 더 정확하게 탐지할 수 있다. 백로그 큐의 포화가 발생한 시점에서 TCP 제어 블록에 연결된 TCP 세션수가 SYN 패킷에 비해 현저히 낮은 값인 경우, 탐지부(130)는 비정상 IP주소를 이용한 백로그 큐 공격으로 판단할 수 있다. 왜냐하면, 공격클라이언트(10)가 비정상 IP주소를 통해 SYN 패킷을 전송했기 때문에, 보호대상서버(200)는 SYN_ACK을 보내더라도 ACK 패킷을 수신하지 못한다. 따라서, 대부분 정상적으로 TCP 세션이 연결되지 않기 때문에, TCP 제어 블록에 연결된 세션수는 많지 않게 된다.The
탐지부(130)는 적어도 하나의 탐지지표를 기초로 TCB 공격을 탐지한다. 탐지부(130)는 TCP 세션수와 연결요청응답율을 기초로 TCB 공격을 탐지할 수 있다. 탐지부(130)는 TCP 세션수가 일정값을 유지하면서, 새로운 연결요청을 거부하는 경우, TCP 제어 블록이 포화 상태인 것으로 판단한다. 탐지부(130)는 연결요청응답율이 기준값보다 낮은 경우, 연결요청이 거부되고 있는지 판단할 수 있다. The
또는 탐지부(130)는 TCP 제어 블록이 포화 상태에서 SYN 패킷수가 FIN/RST 패킷수보다 많을 경우, TCB 공격으로 판단할 수도 있다.Alternatively, the
탐지부(130)는 TCP 세션 지속 시간을 고려하여 TCB 공격을 빠른 TCB 공격과 느린 TCB 공격으로 구분할 수 있다. 느린 TCB 공격은 빠른 TCB 공격과 유사하나 연결시도 속도가 매우 느리거나 연결시도가 거의 존재하지 않으며 일정 수의 연결이 장시간 지속되는 특징이 있다. 따라서, 탐지부(130)는 IP당 TCP 세션 지속 시간이 기준값보다 긴 경우, 느린 TCB 공격으로 탐지한다.The
탐지부(130)는 보호대상서버별 네트워크 패킷을 기초로 가상 연결정보 테이블을 관리할 수 있다. 즉, 탐지부(130)는 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격을 탐지하기 위한 각종 정보를 가상 연결정보 테이블에 저장하여, 복수 보호대상서버의 상태를 통합 관리할 수 있다.The
방어부(150)는 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격 각각에 대한 대응 정책을 수립한다. 그리고 방어부(150)는 탐지부(130)에서 탐지한 공격 종류에 따라 대응 정책을 적용한다. 특히, 방어부(150)는 패킷 수집부(110)와 탐지부(130)에서 도출한 네트워크 연결 자원의 상태를 기초로 공격의 진행 정도를 측정한다. 그리고, 방어부(150)는 공격의 진행 정도를 기초로 방어 기법의 종류 및 적용강도를 선택적으로 적용한다. 또한 방어부(150)는 하나의 방어정책이 적용된 이후 네트워크 연결 자원의 상태 변화를 모니터링하여 적용 효과를 측정한다. The
방어부(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
방어부(150)는 빠른 TCB 공격이 탐지되는 경우, 단위시간당 접속횟수를 차단하는 방법을 제1 대응 정책으로 수립한다. 제1 대응 정책이 효과가 없는 경우, 방어부(150)는 HTTP Redirection을 통해 브라우저 수준으로 동작하지 못하는 공격 에이전트를 차단하는 제2 대응 정책으로 수립한다. 만약 공격에이전트가 브라우저 수준으로 동작한다면, 방어부(150)는 TCP 연결을 시도한 주체가 사람인지 브라우저 기능을 가진 봇인지 탐지할 수 있는 정책을 수립해야 한다.When the fast TCB attack is detected, the
방어부(150)는 느린 TCB 공격이 탐지되는 경우, 평균 세션지속시간을 기록하여 평균 세션 지속시간의 기준치, 예를 들면 평균 세션지속시간의 10배를 상회하는 경우 느린 TCB 공격으로 간주하여 차단정책을 설정한다. If a slow TCB attack is detected, the
도 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
탐지장치(100)는 네트워크 연결 및 종료에 관련된 패킷을 기초로 복수의 탐지 지표를 계산한다(S420). 탐지 지표는 연결요청응답율, Half-Open 비율, 공격 IP 분포, TCP 세션수, TCP 세션 지속 시간을 포함한다.The
탐지장치(100)는 적어도 하나의 탐지 지표를 기초로 보호대상서버(200)의 네트워크 연결 자원의 상태를 판단한다(S430). 탐지장치(100)는 SYN 패킷에 대한 SYN_ACK 패킷의 비율인 연결요청응답율을 기초로 백로그 큐가 포화 상태인지 판단할 수 있다. 탐지장치(100)는 TCP 세션수와 연결요청응답율을 기초로 TCP 제어 블록이 포화 상태인지 판단할 수 있다.The
탐지장치(100)는 탐지 지표와 네트워크 연결 자원의 상태를 기초로 보호대상서버(200)가 받은 공격을 탐지한다(S440). 탐지장치(100)는 백로그 큐 공격, 빠른 TCB 공격, 느린 TCB 공격으로 분류한다. The
탐지장치(100)는 백로그 큐가 포화 상태이고 공격 IP 분포로 보아 비정상 IP로 다수의 SYN 패킷이 전송된 경우, 백로그 큐 공격으로 탐지할 수 있다. 또는 탐지장치(100)는 백로그 큐가 포화 상태이고, TCP 제어 블록에 연결된 TCP 세션수가 SYN 패킷수에 비해 적은 경우, 백로그 큐 공격으로 탐지할 수 있다. The
탐지장치(100)는 TCP 제어 블록이 포화 상태이고, SYN 패킷수가 FIN/RST 패킷수에 비해 많은 경우, TCB 공격으로 탐지할 수도 있다. 탐지장치(100)는 TCP 세션 지속 시간을 기초로 TCB 공격을 빠른 TCB 공격과 느린 TCB 공격으로 구분할 수 있다.
도 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
탐지장치(100)는 네트워크 연결 및 종료에 관련된 패킷을 분석하여 보호대상서버(200)의 백로그 큐가 포화 상태인지 판단한다(S520). 탐지장치(100)는 SYN 패킷에 대한 SYN_ACK 패킷의 비율이 기준값보다 낮은 경우, 백로그 큐가 포화 상태라고 판단할 수 있다. The
백로그 큐가 포화 상태인 경우, 탐지장치(100)는 보호대상서버(200)의 TCP 제어 블록이 포화 상태인지 판단한다(S530). 탐지장치(100)는 TCP 세션수가 일정하고 새로운 연결요청을 거부하는 경우, TCP 제어 블록이 포화 상태라고 판단할 수 있다. TCP 세션수는 ACK 패킷과 FIN/RST 패킷을 기초로 계산될 수 있다.If the backlog queue is saturated, the
TCP 제어 블록이 포화 상태가 아닌 경우, 탐지장치(100)는 보호대상서버(200)가 백로그 큐 공격을 당하고 있다고 탐지한다(S540).If the TCP control block is not in the saturation state, the
TCP 제어 블록이 포화 상태인 경우, 탐지장치(100)는 TCP 세션이 기준 시간보다 길게 지속되는지 판단한다(S550). TCP 세션 지속 시간은 TCP 세션들의 평균 연결 시간일 수 있다.If the TCP control block is in the saturation state, the
TCP 세션이 기준 시간보다 짧은 경우, 탐지장치(100)는 보호대상서버(200)가 빠른 TCB 공격을 당하고 있다고 탐지한다(S560). If the TCP session is shorter than the reference time, the
TCP 세션이 기준 시간보다 긴 경우, 탐지장치(100)는 보호대상서버(200)가 느린 TCB 공격을 당하고 있다고 탐지한다(S570).If the TCP session is longer than the reference time, the
지금까지는 SYN 플러딩이나 Get Attack과 같이 공격클라이언트(10)의 공격 형태로 분산서비스거부공격을 분류하였다. 그러나, 보호대상서버들이 동일한 공격을 받더라도, 각 보호대상서버의 네트워크 자원의 용량에 따라 SYN 플러딩이나 Get Attack에 영향을 받는 자원이 달라진다. 또한 공격클라이언트(10)의 공격은 다양한 형태로 진화하고 있다. 그럼에도 불구하고, 지금까지 방어자는 어느 네트워크 자원이 포화되어 서비스거부상태에 이른 것인지 알지 못하기 때문에, 서비스거부공격을 받으면 네트워크를 아예 차단하는 등 무리한 대응을 함으로써 정상 사용자의 서비스마저 차단해버리는 문제가 있었다.Until now, distributed denial-of-service attacks have been classified as attacks of
그러나, 탐지장치(100)는 보호대상서버(200)의 네트워크 연결 자원의 상태를 기초로 공격을 탐지하고 대응한다. 그러므로, 탐지장치(100)는 공격클라이언트가 다양한 형태로 공격하더라도, 서비스거부상태에 이른 자원을 알 수 있다. 따라서, 탐지장치(100)는 해당 자원의 포화 상태를 해결하기 위한 대응만을 하면 되므로, 신속하게 대응할 수 있다.However, the
특히, 느린 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
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.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)
상기 보호대상서버와 네트워크 장치 사이에서 상기 보호대상서버로 입출입하는 네트워크 연결 및 종료에 관련된 네트워크 패킷을 수집하는 패킷 수집부, 그리고
상기 네트워크 패킷을 기초로 상기 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 네트워크 연결 자원의 상태를 기초로 상기 네트워크 연결 자원에 대한 공격 여부 및 공격의 종류를 탐지하는 탐지부를 포함하며,
상기 공격의 종류는 백로그 큐 공격, 빠른 TCP 제어 블록 공격, 그리고 느린 TCP 제어 블록 공격을 포함하고,
상기 탐지부는
상기 네트워크 패킷을 기초로 백로그 큐와 TCP 제어 블록(TCP Control Block, TCB)을 포함하는 상기 네트워크 연결 자원의 상태를 모니터링하며, ⅰ) 상기 네트워크 패킷을 기초로 상기 백로그 큐가 포화 상태인지 판단하고, ⅱ) 상기 백로그 큐가 포화 상태이고 상기 TCP 제어 블록이 포화 상태가 아닌 경우, 상기 백로그 큐 공격으로 탐지하고, ⅲ) 상기 백로그 큐가 포화 상태이고 상기 TCP 제어 블록이 포화 상태인 경우, 상기 TCP 제어 블록 공격으로 탐지하며, ⅳ) 상기 TCP 제어 블록 공격으로 탐지된 경우, 상기 TCP 제어 블록의 TCP 세션 지속 시간을 기초로 상기 빠른 TCP 제어 블록 공격과 상기 느린 TCP 제어 블록 공격으로 분류하는, 탐지장치. 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,
And a detection unit for monitoring the state of the network connection resource of the protected server based on the network packet and detecting an attack against the network connection resource and a type of attack based on the state of the network connection resource,
The types of attacks include backlog cue attacks, fast TCP control block attacks, and slow TCP control block attacks,
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 i) determining whether the backlog queue is saturated based on the network packet, If the backlog queue is in a saturation state and the TCP control block is not in a saturation state, iii) the backlog queue is in a saturation state and the TCP control block is in a saturation state If it is detected by the TCP control block attack, it is classified as the fast TCP control block attack and the slow TCP control block attack based on the TCP session duration of the TCP control block Detecting device.
상기 네트워크 패킷은
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.
상기 탐지부는 상기 네트워크 패킷을 기초로 적어도 하나의 탐지 지표를 계산하고, 적어도 하나의 탐지 지표를 기초로 상기 네트워크 연결 자원의 상태를 모니터링하며,
상기 탐지 지표는 상기 네트워크 패킷 중 연결요청시도(SYN) 패킷에 대한 연결요청응답(SYN_ACK) 패킷의 비율인 연결요청응답율, 공격 IP 분포, TCP 세션수, 그리고 TCP 세션 지속 시간 중 적어도 하나를 포함하는 탐지장치.The method of claim 1,
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.
상기 탐지부는
상기 연결요청응답율, 상기 공격 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.
상기 탐지부는
상기 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.
각 네트워크 연결 자원의 서비스거부공격을 방어하기 위한 적어도 하나의 대응 정책을 설정하고, 상기 탐지부에서 어느 네트워크 연결 자원의 공격을 탐지한 경우, 탐지한 네트워크 연결 자원에 설정된 대응 정책을 상기 보호대상서버에 적용하는 방어부
를 더 포함하는 탐지장치.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:
상기 방어부는
상기 탐지한 네트워크 연결 자원의 상태를 모니터링하면서 대응 정책을 가변하는 탐지장치.9. The method of claim 8,
The defensive portion
And changes the corresponding policy while monitoring the status of the detected network connection resource.
상기 패킷 수집부는
상기 네트워크 장치에 복수의 보호대상서버가 연결된 경우, 보호대상서버별 네트워크 패킷을 수집하여 가상 연결정보 테이블로 관리하는 탐지장치.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.
상기 탐지부는
상기 가상 연결정보 테이블을 기초로 각 보호대상서버의 네트워크 연결 자원의 상태를 모니터링하고, 상기 가상 연결정보 테이블을 기초로 보호대상서버로 향하는 분산서비스거부공격을 탐지하는 탐지장치.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 제어 블록이 포화 상태가 아닌 경우, 상기 백로그 큐에 대한 백로그 큐 공격으로 탐지하는 단계,
상기 백로그 큐가 포화 상태이고, 상기 TCP 제어 블록이 포화 상태인 경우, 상기 TCP 제어 블록에 대한 TCP 제어 블록 공격으로 탐지하는 단계, 그리고
상기 TCP 제어 블록 공격으로 탐지된 경우, 상기 TCP 제어 블록의 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,
Monitoring a state of a network connection resource including a backlog queue of the protected server and a TCP control block (TCB) based on the network packet;
Determining whether a backlog queue of the protection target server is saturated based on the network packet,
Detecting a backlog queue attack for the backlog queue if the backlog queue is saturated and the TCP control block is not saturated;
Detecting a TCP control block attack on the TCP control block if the backlog queue is saturated and the TCP control block is in a saturation state;
Classifying 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 when the TCP control block attack is detected
And a distributed denial of service attack detection method.
상기 네트워크 패킷은 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.
상기 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.
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 KR20140050450A (en) | 2014-04-29 |
KR101970721B1 true 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) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101042291B1 (en) * | 2009-11-04 | 2011-06-17 | 주식회사 컴트루테크놀로지 | 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 |
-
2012
- 2012-10-19 KR KR1020120116878A patent/KR101970721B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20140050450A (en) | 2014-04-29 |
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 | |
KR101747079B1 (en) | Methods and systems for detecting and mitigating a high-rate distributed denial of service (ddos) attack | |
US9467462B2 (en) | Traffic anomaly analysis for the detection of aberrant network code | |
US8634717B2 (en) | DDoS attack detection and defense apparatus and method using packet data | |
Manavi | Defense mechanisms against distributed denial of service attacks: A survey | |
US11005865B2 (en) | Distributed denial-of-service attack detection and mitigation based on autonomous system number | |
US10911473B2 (en) | Distributed denial-of-service attack detection and mitigation based on autonomous system number | |
KR20130017333A (en) | Attack decision system of slow distributed denial of service based application layer and method of the same | |
KR20120126674A (en) | Method of defending a spoofing attack using a blocking server | |
Muraleedharan et al. | Behaviour analysis of HTTP based slow denial of service attack | |
Wu et al. | A novel distributed denial-of-service attack detection scheme for software defined networking environments | |
Hong et al. | Dynamic threshold for DDoS mitigation in SDN environment | |
CN106534068A (en) | Method and device for cleaning forged source IP in DDOS (Distributed Denial of Service) defense system | |
CN106713220A (en) | DDOS-attack-based prevention method and device | |
Lukaseder et al. | An extensible host-agnostic framework for SDN-assisted DDoS-mitigation | |
Goksel et al. | DoS attack detection using packet statistics in SDN | |
JP2004356915A (en) | System and apparatus for information processing, program, and method for detecting abnormality of communication through communication network | |
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 | |
Bellaiche et al. | SYN flooding attack detection based on entropy computing | |
US20210234871A1 (en) | Infection-spreading attack detection system and method, and program | |
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 |
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 |