KR20130017333A - 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법 - Google Patents

응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법 Download PDF

Info

Publication number
KR20130017333A
KR20130017333A KR1020110079705A KR20110079705A KR20130017333A KR 20130017333 A KR20130017333 A KR 20130017333A KR 1020110079705 A KR1020110079705 A KR 1020110079705A KR 20110079705 A KR20110079705 A KR 20110079705A KR 20130017333 A KR20130017333 A KR 20130017333A
Authority
KR
South Korea
Prior art keywords
information
ddos attack
session
packet
application layer
Prior art date
Application number
KR1020110079705A
Other languages
English (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 KR1020110079705A priority Critical patent/KR20130017333A/ko
Priority to US13/572,230 priority patent/US8800039B2/en
Publication of KR20130017333A publication Critical patent/KR20130017333A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering

Landscapes

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

Abstract

본 발명은 분산서비스거부(DDoS: Distributed Denial-of-Service) 공격 방어 기술에 관한 것으로, 네트워크 상에서 패킷을 수집하는 패킷 수집부, 수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출하는 패킷 파싱부, 및 세션 테이블 및 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 DDoS 공격 판단부를 포함할 수 있다.

Description

응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법{ATTACK DECISION SYSTEM OF SLOW DISTRIBUTED DENIAL OF SERVICE BASED APPLICATION LAYER AND METHOD OF THE SAME}
분산서비스거부(DDoS: Distributed Denial-of-Service) 공격 방어 기술에 관한 것으로, 특히 소량의 트래픽 만으로 커넥션 리소스 고갈(Connection Resource Consumption)을 야기시키는 응용 계층(Layer 7) 기반 Slow DDoS 공격 탐지 및 대응에 관한 것이다.
분산서비스거부 공격은 불특정 다수의 공격자가 시스템의 정상적인 서비스를 방해할 목적으로 대량의 데이터를 보내 대상 네트워크나 시스템의 성능을 급격히 저하시켜 시스템에서 제공하는 서비스를 사용하지 못하게 하는 공격이다.
과거에는 네트워크 대역폭(Bandwidth)이나 서버의 중앙처리장치(CPU), 메모리(Memory) 등의 리소스를 고갈시키는 TCP/UDP/ICMP Flooding류의 L3/L4 공격이 주를 이루었으나, 이러한 공격들이 Anti-DDoS 솔루션 개발로 무력화되었다.
그러나, 최근에는 이러한 Anti-DDoS 솔루션으로 무력화될 수 없는 응용 계층 L7에서의 DDoS 공격이 증가하는 추세이다.
특히 응용 계층 L7 DDoS 공격 중, 유명한 DDoS 공격 툴인 NetBot Attacker에서 사용하는 HTTP Get Flooding과 같은 Flooding류의 Fast Attack에서 Slowloris나 R.U.D.Y./OWASP HTTP Post Tool과 같은 Slow Attack으로 옮겨가는 추세이다.
이러한 추세의 변화는, L3/L4 뿐만 아니라 L7 Flooding 공격은 많은 좀비(Zombie) PC를 확보해야 하고, 공격 시 다량의 트래픽을 유발하기 때문에 쉽게 탐지되는 특징을 갖고 있기 때문이다.
지금까지 대부분의 응용 계층 L7 DDoS 공격은 HTTP Protocol의 취약점을 이용한 공격이 주를 이루고 있는데, L7 Connection 리소스 고갈을 야기하는 Slow Attack은 다음 두 종류가 알려져 있다.
참고로, 본 명세서 상에서는 필요에 의해서 'Connection'의 용어와 'Session'의 용어를 같은 의미로 혼용해서 사용한다.
1. Slow Request Headers: Slowloris Attack
2. Slow Request Bodies: r-u-dead-yet(R.U.D.Y.)/OWASP HTTP Post Attack
Slow Request Headers를 이용하는 Slowloris는 Apache 웹 서버를 대상으로 한 DDoS 공격 도구이다. 다시 말해, 불완전한(Incomplete) HTTP Get Request 메시지를 서버로 전달하여 단시간에 해당 웹 서버의 Connection 리소스를 고갈시켜 서비스 불능 상태로 빠트리는 공격이다. 합법적인 TCP 3-Way Handshaking 과정을 거쳐 연결 설정이 이루어지면 HTTP Get Request 메시지를 전송하는데, Request 메시지의 끝을 알려주는 키워드 'CRLFCRLF'(|0d0a0d0a| or '\r\n\r\n')를 보내지 않는다. 웹 서버는 Get Request 메시지가 끝날 때까지, 즉 완전한 Request 메시지를 다 수신할 때까지 해당 Connection을 Open된 상태로 유지한다. 결국, 웹 서버의 모든 Connection은 공격에 의한 Connection으로 가득 채워지고, 새로운 Connection은 더 이상 연결될 수 없는 상태로 빠지게 된다.
현재, Slowloris 공격을 방어하기 위해 IIS 웹 서버에서는 Request Header를 수신하는데 Timeout 값을 설정하여, Timeout 시간 안에 완전한 Request Header 메시지를 수신하지 못하면 해당 Connection을 닫는다. 그러나 Apache 웹 서버는 이러한 방어 기법을 적용하지 않고 있어서 해당 공격에 대해 여전히 취약한 상태이다.
Slow Request Bodies를 이용하는 공격 툴은 r-u-dead-yet(R.U.D.Y.)와 OWASP HTTP Post Tool 두 종류가 있는데, 공격 방식은 서로 동일하다. 공격 대상 웹 서버로 완전한 HTTP Post Request Header 메시지를 전달하고 난 후, 아주 천천히 소량의 Body 부분을 전송함으로써 공격을 시도하는데, 실제로 110초에 1바이트씩 Body 부분을 전송하여 공격을 시도한 예가 있다.
따라서 Slowloris와 같은 Request Header의 Timeout을 설정하여 방어하는 기법으로는 R.U.D.Y.나 OWASP HTTP Post Attack을 막을 수 없다.
해당 공격은 클라이언트와 서버간에 정상적인 TCP 세션 연결이 이루어지고 난 후, 클라이언트는 HTTP Post Request 메시지를 전송하는 방식으로 이뤄진다. 이 메시지 안에 Content-Length 필드를 20000으로 지정해서 보내면, 서버는 20000 바이트만큼 서버 자원을 확보하고, 데이터가 모두 수신될 때까지 해당 세션을 열어둔다. 하지만 클라이언트는 1초에 1바이트씩 Post Body 메시지를 전송하는데, 서버는 데이터를 모두 수신하는 동안, 즉 20000초(약 5시간 30분)동안 세션을 열어둔 상태로 유지하게 된다.
대부분의 웹 서버는 하나의 HTTP Post Request에 대해 최대 2GB의 Body를 수용하기 때문에, 매우 오랜 시간 동안 Connection 자원을 점유할 수 있다. 또한, 기본적으로 웹 서버는 하드웨어 성능(고성능 CPU, Memory 등)과 무관하게 20,000개의 Connection 연결만으로도 서비스 거부 상태가 발생되는 것으로 알려져 있다.
따라서, 소수의 공격 시스템 만을 이용하더라도 손쉽게 해당 서버의 제공 가능한 모든 Connection 리소스를 고갈 시켜 DDoS 공격을 성공시킬 수 있다.
현재, 이러한 공격을 탐지하기 위해 Apache 웹 서버를 위한 오픈 소스 웹 방화벽인 ModSecurity를 통해 "RequestReadTimeoutbody=30"으로 설정하여 방어를 하는데, 이는 Request Body를 30초 안에 다 수신 못하면 공격으로 탐지하는 방식이다.
그러나, 감염 좀비에 의해 공격이 이루어지면, 30초는 해당 서버가 제공할 수 있는 모든 세션 수를 고갈 시킬 수 있는 너무나 긴 시간으로써, DoS 상태로 빠질 확률이 크게 되어 효과적인 대응이 되지 못한다.
또한, 웹사이트 입력 FORM의 설정된 데이터 양을 제한하여 POST로 입력되는 데이터의 사이즈가 미리 설정된 양을 넘어서면 탐지하는 방식이 있는데, 예를 들면 일반적으로 Login Form은 ID 필드와 Password 필드가 모두 20 바이트를 넘지 않으므로, 해당 사이즈를 넘지 않도록 제한하고 이를 넘을 경우 탐지하는 것이다. 그러나 이는 웹 서버의 특성과 모든 POST Form에 대하여, 해당 Form이 가질 수 있는 모든 범위 값을 인식하고 있어야 하므로 성능 문제가 발생할 수 있으며, 실제 적용하는데도 한계가 있어서 효과적이지 못한 방법이다.
지금까지의 내용을 요약해보면, 일반적인 Flooding류의 Fast DDoS 공격은 다량의 트래픽을 이용하여 공격을 하므로 정상적인 경우에 비해서 트래픽의 양이 급격히 증가하여 쉽게 탐지가 가능하나, 전술한 Connection 리소스 고갈을 이용하는 Slow DDoS 공격은 정상적인 TCP 연결 상에서 소량의 트래픽만을 이용하여 HTTP Protocol의 취약점을 이용하므로 공격을 탐지하기가 매우 어려운 실정이다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템은 네트워크 상에서 패킷을 수집하는 패킷 수집부, 수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출하는 패킷 파싱부, 및 세션 테이블 및 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 DDoS 공격 판단부를 포함할 수 있다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템의 동작 방법은 패킷 수집부에서, 네트워크 상에서 패킷을 수집하는 단계, 패킷 파싱부에서, 수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출하는 단계, 및 DDoS 공격 판단부에서, 세션 테이블 및 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 단계를 포함하고, 상기 적어도 하나 이상의 헤더 필드는, Protocol 정보, Source IP 정보, Source Port 정보, Destination IP 정보, Destination Port 정보, TCP Flags 정보, Sequence Number, 및 Window Size 정보 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일실시예에 따르면, 소량의 트래픽 만으로 Connection 리소스 고갈을 유도하는 응용 계층 기반의 슬로우 분산서비스거부 공격(Slow Layer 7 DDoS 공격)을 효과적으로 탐지하고 대응할 수 있다.
본 발명의 일실시예에 따르면, 슬로우 분산서비스거부 공격과 같은 저속/소량의 트래픽을 이용하는 응용계층 기반의 공격을 탐지할 수 있다.
본 발명의 일실시예에 따르면, Slow Request Headers을 이용하는 Slowloris Attack 이나 Slow Request Bodies를 이용하는 r-u-dead-yet(R.U.D.Y.)/OWASP HTTP Post Attack의 공통된 특성인 'Connection 리소스 고갈' 이라는 슬로우 분산서비스거부 공격의 특징을 이용한 방어 기법으로, 현존하는 모든 슬로우 분산서비스거부 공격 툴에 의한 공격을 탐지하고 방어할 뿐만 아니라, 앞으로 출현할 이러한 종류의 어떤 DDoS 공격도 방어하는데 효과적이다.
본 발명의 일실시예에 따르면, 응용계층 보다 하위계층인 네트워크 계층에서 처리가 되기 때문에 성능상 효과적이다.
본 발명의 일실시예에 따르면, 네트워크 단 및 호스트 단에서도 적용되어 효과적으로 분산서비스거부 공격을 예방할 수 있다.
도 1은 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템을 설명하는 도면이다.
도 2는 본 발명의 일실시예에 따른 세션 테이블에서 추적하는 세션의 상태와 천이를 설명하는 도면이다.
도 3 및 도 4는 세션 연결에 따른 세션 상태를 표시하는 그래프를 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 방법을 설명하는 도면이다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템(100)을 설명하는 도면이다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템(100)은 패킷 수집부(110), 패킷 파싱부(120), 및 DDoS 공격 판단부(130)를 포함할 수 있다.
패킷 수집부(110)는 네트워크 상에서 패킷을 수집할 수 있다.
패킷 파싱부(120)는 수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출할 수 있다.
본 발명의 일실시예에 따른 상기 적어도 하나 이상의 헤더 필드는, Protocol 정보, Source IP 정보, Source Port 정보, Destination IP 정보, Destination Port 정보, TCP Flags 정보, Sequence Number, 및 Window Size 정보 중에서 적어도 하나를 포함할 수 있다.
다시 말해, 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템(100)은 응용 계층 기반 Slow DDoS 공격을 탐지하고 대응하기 위해, 네트워크 상에서 패킷을 수집하고, 수집된 패킷은 패킷 파싱(Packet Parsing)된 후 공격 탐지 및 대응에 필요한 헤더 필드들이 추출될 수 있다.
DDoS 공격 판단부(130)는 세션 테이블(session table) 및 플로우 테이블(flow table)을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단할 수 있다.
DDoS 공격 판단부(130)는 패킷 파싱부(120)에서 추출된 상기 헤더 필드를 이용하여 세션 테이블(session table) 및 플로우 테이블(flow table)을 관리할 수 있다.
본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 상기 세션 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Source Port 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라, 세션 엔트리들의 상태를 추적 및 관리할 수 있다.
세션 테이블에서 추적 및 관리되는 세션의 상태 정보, 이를 이용한 플로우 테이블에서의 특정 세션 상태에 대한 측정 정보는 DDoS 공격을 탐지하는 기본 정보가 되며, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 이렇게 탐지된 공격에 대해서는 도면부호 140과 같이 경보 메시지를 발생하고, 도면부호 150과 같이 대응 모듈을 통해 차단할 수 있다.
또한, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 상기 플로우 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라 세션 상태 정보를 측정할 수 있다.
본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 상기 세션 상태 정보로서 TCP 3-Way Handshaking 과정을 통해 합법적인 세션 연결이 이루어진 세션의 개수를 측정하거나, 상기 세션 상태 정보로서 연결 설정된 세션이 Reset 이나 FIN 패킷에 의해 합법적으로 종료된 세션의 개수를 측정하거나, 상기 세션 상태 정보로서 현재 연결 설정되어 데이터 전송이 진행되는 세션의 개수를 측정하여 DDoS 공격을 판단할 수 있다.
상기 세션 테이블은 TCP 연결 설정을 위한 기본 5-Tuple로서, Protocol 정보, Source IP 정보, Source Port 정보, Destination IP 정보, 및 Destination Port 정보 중에서 적어도 하나의 정보를 기반으로 각각의 세션 엔트리들의 상태를 추적하고 관리할 수 있다.
상기 세션 테이블에서 추적하는 세션의 상태와 천이는 도 2를 통해서 상세히 설명한다.
도 2는 본 발명의 일실시예에 따른 세션 테이블에서 추적하는 세션의 상태와 천이를 설명하는 도면이다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템은 기본적으로 3-Way 핸드셰이킹(Handshaking)을 통한 세션 연결 설정 및 4-Way 핸드셰이킹을 통한 세션 종료 과정을 추적한다.
이렇게 관리되는 세션과 세션 상태 정보는, 4-Tuple(Protocol 정보, Source IP 정보, Destination IP 정보, 및 Destination Port 정보) 기반으로 관리되는 플로우 테이블에 의해 그 개수가 측정될 수 있다.
플로우 테이블에서 측정되는 세션에 대한 특정 상태 정보는 다음과 같다.
Session Trial Count : 클라이언트에서 서버로 SYN 패킷을 보내 세션 연결을 시도한 회수의 정보
Established Session Count : TCP 3-Way 핸드셰이킹 과정을 통해 합법적인 세션 연결이 이루어진 세션의 개수의 정보
Terminated Session Count : 연결 설정된 세션이 Reset 이나 FIN 패킷에 의해 합법적으로 종료된 세션의 개수의 정보
Active Session Count : 현재 연결 설정되어 데이터 전송이 이루어지고 있는 세션의 개수의 정보
TCP 세션 연결을 위해 클라이언트에서 서버로 SYN 패킷을 전송하면 세션 테이블의 세션 엔트리 검색을 통해 없으면 새로운 엔트리가 생성되고, 초기 상태인 'S0'에서 'S1'으로 상태가 천이될 수 있다.
이때 플로우 테이블에도 엔트리가 생성되고 'Session Trial Count'가 1만큼 증가한다. 서버에서 클라이언트로 SYN/ACK 패킷이 전송되면 'S1'에서 'S2'로 상태가 천이되며, 3-Way 핸드셰이킹의 마지막 ACK 패킷이 클라이언트에서 서버로 전송되면 'S2'에서 'S3'으로 상태가 천이된다.
이때 플로우 테이블 해당 엔트리의 'Established Session Count'가 1만큼 증가하고, 'Active Session Count'도 1만큼 증가한다.
세션 연결이 이루어지고 난 후, 데이터 전송이 이루어지고 Reset 패킷이나 FIN 패킷이 전송되면 'S3', 'S4', 'S5' 의 적당한 세션 상태에서 초기 상태인 'S0' 상태로 천이된다.
이때, 세션이 종료되면 플로우 테이블의 'Terminated Session Count'가 1만큼 증가하고, 'Active Session Count'는 1만큼 감소한다.
결국, 세션의 연결 설정 및 종료 과정의 추적을 통해 세션 테이블과 플로우 테이블이 유기적으로 연동하여 DDoS 공격 탐지에 필요한 정보를 생성할 수 있다.
이렇게 세션 테이블과 플로우 테이블에 의해 생성된 정보는 DDoS 공격 판단부(130)의 판단에 이용될 수 있다.
도 3 및 도 4는 세션 연결에 따른 세션 상태를 표시하는 그래프를 설명하는 도면이다.
합법적인 사용자 PC가 클라이언트 일 때, 서버로 서비스를 요청하면 도 4와 같은 형태의 그래프들(310, 320, 330, 340)이 그려질 수 있다.
세션 연결 시도가 이루어지면 시도된 만큼 세션 연결이 이루어지고, 데이터 전송이 완료된 후, 해당 세션 들이 거의 다 종료된다.
즉, 그래프(310)에서 보는 바와 같이 'Session Trial Count'가 증가함에 따라 그래프(320)의 'Established Session Count'와 그래프(330)의 'Terminated Session Count'가 모두 증가될 수 있다.
이러한 결과는 그래프(340)의 'Active Session Count'가 낮은 일정한 개수 범위에서 유지되도록 하여 정상적인 상태 유지가 가능하다.
그러나, 좀비 PC가 클라이언트인 경우에 서버로 DDoS 공격을 시도하면 도 5와 같은 그래프들(410, 420, 430, 440)이 그려진다.
도 5에서는, 합법적인 사용자가 서비스를 요청할 때가 표현되는 도 4와는 확연히 다른 양상을 보여준다.
공격자가 설정한 만큼의 세션 연결 시도가 이루어지는 상황에서는 세션 연결이 이루어지지만, 해당 세션에 대한 데이터 전송 완료를 최대한 미루어 세션의 종료가 일어나지 않도록 할 수 있다.
그래프(410)에서 보는 바와 같이 'Session Trial Count'가 증가함에 따라 그래프(420)의 'Established Session Count'는 증가하지만, 그래프(430)의 'Terminated Session Count'는 증가되지 않는다. 이러한 결과는 그래프(440)의 'Active Session Count'를 공격자가 의도한 데로 세션 연결된 개수만큼 증가하도록 만든다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템은 도 3 및 도 4의 그래프들에서 확인되는 바와 같이 합법적인 사용자 PC와 좀비 PC간의 서비스 요청 시, 서로 다른 형태의 특성을 이용하여 DDoS 공격을 탐지할 수 있다.
구체적으로, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 아래와 같이 세 가지 특성을 이용하여, 응용 계층에서 슬로우 DDoS 공격을 판단할 수 있다.
첫 번째로, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 'Active Session Count'가 Threshold 인 경우에 응용 계층에서 슬로우 DDoS 공격이 탐지되었다고 판단할 수 있다.
구체적으로, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 정상적인 사용자의 경우 Active Session Count가 항상 일정한 낮은 범위의 구간에서 유지 되는 점에 기초하여, 응용 계층에서 슬로우 DDoS 공격이 발생하는 경우에 일정 수준까지 지속적으로 증가하는지를 확인할 수 있다.
본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는, Active Session Count, 즉 현재 연결 설정되어 데이터 전송이 이루어지고 있는 세션의 개수의 정보가 정상 사용자에서는 나올 수 없는 임계치(Threshold) 이상으로 증가하면 DDoS 공격으로 간주하여 탐지할 수 있다.
두 번째로, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는
Figure pat00001
인 경우에 응용 계층에서 슬로우 DDoS 공격이 탐지되었다고 판단할 수 있다.
다시 말해, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 시간의 변화에 따른 'Terminated Session Count'의 변화량 ΔT가 다른 변화량 ΔS, ΔE에 비해 현저히 작아지면, 이는 Slow DDoS 공격으로 간주할 수 있다.
구체적으로, 시간의 변화 x축에서 n과 n+1 시점을 tn, tn+1이라고 하면, 시간의 변화량 Δt = tn-tn+1로 표현할 수 있다. 마찬가지로,
'Session Trial Count'의 변화량은 ΔS = Sn-Sn+1으로,
'Established Session Count'의 변화량은 ΔE = En-En+1으로,
'Terminated Session Count'의 변화량은 ΔT = Tn-Tn+1으로,
'Active Session Count'의 변화량은 ΔA = An-An+1으로 표현될 수 있다.
즉, 정상적인 사용자의 경우에는
Figure pat00002
이나, 시간의 변화에 따른 'Terminated Session Count'의 변화량 ΔT가 다른 변화량 ΔS 및 ΔE에 비해 현저히 작아지면, 이는 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)가 응용 계층에서 발생하는 슬로우 DDoS 공격으로 간주하여 탐지할 수 있다.
세 번째로, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 ΔS = 0, ΔE = 0, ΔT = 0, ΔA = 0 이고 An = c (c는 상수)인 경우에 응용 계층에서 슬로우 DDoS 공격이 탐지되었다고 판단할 수 있다.
다시 말해, 정상적인 사용자의 경우 'Active Session Count'의 값이 일정한 값으로 유지된다고 하더라도, 'Session Trial Count', 'Established Session Count', 'Terminated Session Count'의 값이 변화하는데, 본 발명의 일실시예에 따른 DDoS 공격 판단부(130)는 Slow DDoS 공격 시 이러한 변화없이 'Active Session Count'의 값이 일정한 값으로 유지되는 것을 탐지하여 응용 계층에서 슬로우 DDoS 공격으로 판단할 수 있다.
결국, 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템을 이용하면, 소량의 트래픽 만으로 Connection 리소스 고갈을 유도하는 응용 계층 기반의 슬로우 분산서비스거부 공격(Slow Layer 7 DDoS 공격)을 효과적으로 탐지하고 대응할 수 있다.
뿐만 아니라, 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템을 이용하면, 슬로우 분산서비스거부 공격과 같은 저속/소량의 트래픽을 이용하는 응용계층 기반의 공격을 탐지할 수 있고, Slow Request Headers을 이용하는 Slowloris Attack 이나 Slow Request Bodies를 이용하는 r-u-dead-yet(R.U.D.Y.)/OWASP HTTP Post Attack의 공통된 특성인 'Connection 리소스 고갈' 이라는 슬로우 분산서비스거부 공격의 특징을 이용한 방어 기법으로, 현존하는 모든 슬로우 분산서비스거부 공격 툴에 의한 공격을 탐지하고 방어할 뿐만 아니라, 앞으로 출현할 이러한 종류의 어떤 DDoS 공격도 방어하는데 효과적이다.
또한, 본 발명의 일실시예에 따르면, 응용계층 보다 하위계층인 네트워크 계층에서 처리가 되기 때문에 성능상 효과적이고, 네트워크 단 및 호스트 단에서도 적용되어 효과적으로 분산서비스거부 공격을 예방할 수 있다.
도 5는 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 방법을 설명하는 도면이다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 방법은 패킷 수집부에서, 네트워크 상에서 패킷을 수집하고(단계 501), 패킷 파싱부에서, 수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출하며(단계 502), DDoS 공격 판단부에서, 세션 테이블 및 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단할 수 있다(단계 503).
이때, 상기 적어도 하나 이상의 헤더 필드는 Protocol 정보, Source IP 정보, Source Port 정보, Destination IP 정보, Destination Port 정보, TCP Flags 정보, Sequence Number, 및 Window Size 정보 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 방법에서 상기 세션 테이블 및 상기 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 상기 단계는, 상기 세션 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Source Port 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라, 세션 엔트리들의 상태를 추적 및 관리할 수 있다.
또한, 본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 방법에서 상기 세션 테이블 및 상기 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 상기 단계는, 상기 플로우 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라 세션 상태 정보를 측정할 수 있다.
본 발명의 일실시예에 따른 응용 계층 기반 슬로우 DDoS 공격판단 시스템의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 응용 계층 기반 슬로우 DDoS 공격판단 시스템
110: 패킷 수집부 120: 패킷 파싱부
130: DDoS 공격 판단부 140: DDoS 공격 감지 신호
150: DDoS 공격 감지 대응

Claims (10)

  1. 네트워크 상에서 패킷을 수집하는 패킷 수집부;
    수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출하는 패킷 파싱부; 및
    세션 테이블 및 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 DDoS 공격 판단부
    를 포함하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  2. 제1항에 있어서,
    상기 적어도 하나 이상의 헤더 필드는,
    Protocol 정보, Source IP 정보, Source Port 정보, Destination IP 정보, Destination Port 정보, TCP Flags 정보, Sequence Number, 및 Window Size 정보 중에서 적어도 하나를 포함하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  3. 제2항에 있어서,
    상기 DDoS 공격 판단부는,
    상기 세션 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Source Port 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라, 세션 엔트리들의 상태를 추적 및 관리하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  4. 제2항에 있어서,
    상기 DDoS 공격 판단부는,
    상기 플로우 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라 세션 상태 정보를 측정하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  5. 제4항에 있어서,
    상기 DDoS 공격 판단부는,
    상기 세션 상태 정보로서 클라이언트에서 서버로 SYN 패킷을 보내 세션 연결을 시도한 회수 정보를 측정하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  6. 제4항에 있어서,
    상기 DDoS 공격 판단부는,
    상기 세션 상태 정보로서 TCP 3-Way 핸드셰이킹 과정을 통해 합법적인 세션 연결이 이루어진 세션의 개수를 측정하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  7. 제4항에 있어서,
    상기 DDoS 공격 판단부는,
    상기 세션 상태 정보로서 연결 설정된 세션이 Reset 이나 FIN 패킷에 의해 합법적으로 종료된 세션의 개수를 측정하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  8. 제4항에 있어서,
    상기 DDoS 공격 판단부는,
    상기 세션 상태 정보로서 현재 연결 설정되어 데이터 전송이 진행되는 세션의 개수를 측정하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템.
  9. 패킷 수집부에서, 네트워크 상에서 패킷을 수집하는 단계;
    패킷 파싱부에서, 수집된 패킷으로부터 적어도 하나 이상의 헤더 필드를 추출하는 단계; 및
    DDoS 공격 판단부에서, 세션 테이블 및 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 단계
    를 포함하고,
    상기 적어도 하나 이상의 헤더 필드는,
    Protocol 정보, Source IP 정보, Source Port 정보, Destination IP 정보, Destination Port 정보, TCP Flags 정보, Sequence Number, 및 Window Size 정보 중에서 적어도 하나를 포함하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템의 동작 방법.
  10. 제9항에 있어서,
    상기 DDoS 공격 판단부에서, 상기 세션 테이블 및 상기 플로우 테이블을 이용하여, 상기 패킷에 대해 DDoS 공격을 판단하는 상기 단계는,
    상기 세션 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Source Port 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라, 세션 엔트리들의 상태를 추적 및 관리하는 단계; 및
    상기 플로우 테이블을 이용하여, 상기 Protocol 정보, 상기 Source IP 정보, 상기 Destination IP 정보, 및 상기 Destination Port 정보에 따라 세션 상태 정보를 측정하는 단계
    를 포함하는 응용 계층 기반 슬로우 DDoS 공격판단 시스템의 동작 방법.
KR1020110079705A 2011-08-10 2011-08-10 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법 KR20130017333A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110079705A KR20130017333A (ko) 2011-08-10 2011-08-10 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법
US13/572,230 US8800039B2 (en) 2011-08-10 2012-08-10 System and method for determining application layer-based slow distributed denial of service (DDoS) attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110079705A KR20130017333A (ko) 2011-08-10 2011-08-10 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20130017333A true KR20130017333A (ko) 2013-02-20

Family

ID=47678378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110079705A KR20130017333A (ko) 2011-08-10 2011-08-10 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법

Country Status (2)

Country Link
US (1) US8800039B2 (ko)
KR (1) KR20130017333A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200009366A (ko) * 2018-07-18 2020-01-30 한국중부발전(주) 슬로우 에이치티티피 포스트 도스 공격 탐지장치
KR102474682B1 (ko) * 2022-06-14 2022-12-06 한국인터넷진흥원 슬로우 http/2 도스 공격 탐지 장치 및 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130030086A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치
US9043912B2 (en) 2013-03-15 2015-05-26 Mehdi Mahvi Method for thwarting application layer hypertext transport protocol flood attacks focused on consecutively similar application-specific data packets
US8978138B2 (en) 2013-03-15 2015-03-10 Mehdi Mahvi TCP validation via systematic transmission regulation and regeneration
US9197362B2 (en) 2013-03-15 2015-11-24 Mehdi Mahvi Global state synchronization for securely managed asymmetric network communication
US8997232B2 (en) 2013-04-22 2015-03-31 Imperva, Inc. Iterative automatic generation of attribute values for rules of a web application layer attack detector
CN104348811B (zh) * 2013-08-05 2018-01-26 深圳市腾讯计算机系统有限公司 分布式拒绝服务攻击检测方法及装置
CN104852887B (zh) * 2014-02-17 2019-03-15 上海宽带技术及应用工程研究中心 基于OpenFlow技术的网络流量溯源系统及方法
JP5947838B2 (ja) 2014-07-04 2016-07-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃検出装置、攻撃検出方法、および攻撃検出プログラム
US9712546B2 (en) 2014-09-12 2017-07-18 Level 3 Communications, Llc Dynamic configuration of settings in response to DDOS attack
CN105763531B (zh) * 2016-01-04 2019-04-09 新华三技术有限公司 一种报文检测方法及装置
CN105610856A (zh) * 2016-01-26 2016-05-25 深圳一卡易网络科技有限公司 一种基于多重特征识别的应用层DDoS攻击防御系统
EP3361694A4 (en) * 2016-05-10 2019-01-02 Huawei Technologies Co., Ltd. Method and device for detecting network attack
US10367832B2 (en) 2017-01-27 2019-07-30 Rapid7, Inc. Reactive virtual security appliances
CN106911726B (zh) * 2017-05-02 2020-09-08 深圳大学 一种软件定义网络的DDoS攻击模拟和攻击检测方法及装置
JP6873032B2 (ja) * 2017-12-28 2021-05-19 株式会社日立製作所 通信監視システム、通信監視装置および通信監視方法
US11405418B2 (en) 2020-06-16 2022-08-02 Bank Of America Corporation Automated distributed denial of service attack detection and prevention
CN113242260B (zh) * 2021-06-09 2023-02-21 中国银行股份有限公司 攻击检测方法、装置、电子设备及存储介质
US20230231874A1 (en) * 2022-01-19 2023-07-20 Arbor Networks, Inc. Slowing requests from malicious network clients using a tarpitting technique
CN114422272B (zh) * 2022-03-28 2022-07-22 北京信安世纪科技股份有限公司 数据处理系统、方法及服务端设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032871A1 (en) * 2000-09-08 2002-03-14 The Regents Of The University Of Michigan Method and system for detecting, tracking and blocking denial of service attacks over a computer network
US7971237B2 (en) * 2003-05-15 2011-06-28 Verizon Business Global Llc Method and system for providing fraud detection for remote access services
US7817791B2 (en) * 2003-05-15 2010-10-19 Verizon Business Global Llc Method and apparatus for providing fraud detection using hot or cold originating attributes
US20050278779A1 (en) * 2004-05-25 2005-12-15 Lucent Technologies Inc. System and method for identifying the source of a denial-of-service attack
CN100370757C (zh) 2004-07-09 2008-02-20 国际商业机器公司 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统
US7779471B2 (en) * 2005-04-05 2010-08-17 Cisco Technology, Inc. Method and system for preventing DOS attacks
US7818786B2 (en) * 2005-08-19 2010-10-19 Electronics And Telecommunications Research Institute Apparatus and method for managing session state
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
EP2134057B1 (en) * 2008-06-12 2013-05-01 Alcatel Lucent Method for protecting a packet-based network from attacks, as well as security border node
KR101231801B1 (ko) 2009-07-14 2013-02-08 한국전자통신연구원 네트워크 상의 응용 계층 보호 방법 및 장치
KR101077135B1 (ko) 2009-10-22 2011-10-26 한국인터넷진흥원 웹 서비스 대상 응용계층 디도스 공격 탐지 및 대응 장치
US8756684B2 (en) * 2010-03-01 2014-06-17 Emc Corporation System and method for network security including detection of attacks through partner websites

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200009366A (ko) * 2018-07-18 2020-01-30 한국중부발전(주) 슬로우 에이치티티피 포스트 도스 공격 탐지장치
KR102474682B1 (ko) * 2022-06-14 2022-12-06 한국인터넷진흥원 슬로우 http/2 도스 공격 탐지 장치 및 방법

Also Published As

Publication number Publication date
US20130042322A1 (en) 2013-02-14
US8800039B2 (en) 2014-08-05

Similar Documents

Publication Publication Date Title
KR20130017333A (ko) 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법
US8966627B2 (en) Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session
KR101424490B1 (ko) 지연시간 기반 역 접속 탐지 시스템 및 그 탐지 방법
EP2289221B1 (en) Network intrusion protection
US20190034631A1 (en) System and method for malware detection
US8438639B2 (en) Apparatus for detecting and filtering application layer DDoS attack of web service
KR101574193B1 (ko) 분산 서비스 거부 공격 탐지 및 방어 장치 및 방법
EP2904539B1 (en) Server with mechanism for reducing internal resources associated with a selected client connection
KR101219796B1 (ko) 분산 서비스 거부 방어 장치 및 그 방법
US10693908B2 (en) Apparatus and method for detecting distributed reflection denial of service attack
CN110166480B (zh) 一种数据包的分析方法及装置
CN114830112A (zh) 通过QUIC通信协议执行的检测和缓解DDoS攻击
US20140304817A1 (en) APPARATUS AND METHOD FOR DETECTING SLOW READ DoS ATTACK
KR101250899B1 (ko) 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법
Deshpande et al. Formal analysis of the DNS bandwidth amplification attack and its countermeasures using probabilistic model checking
Muraleedharan et al. Behaviour analysis of HTTP based slow denial of service attack
Arafat et al. A practical approach and mitigation techniques on application layer DDoS attack in web server
KR101072981B1 (ko) 분산 서비스 거부 공격의 방어 시스템
Gonzalez et al. The impact of application-layer denial-of-service attacks
KR20130009130A (ko) 좀비 피씨 및 디도스 대응 장치 및 방법
Kumar et al. An analysis of tcp syn flooding attack and defense mechanism
KR101449627B1 (ko) 비정상 세션 탐지 방법 및 장치
JP2007074087A (ja) DDoS攻撃に対する不正アクセス検知システム及びプログラム
KR101686472B1 (ko) 네트워크 보안 장치, 네트워크 보안 장치에서 수행되는 악성 행위 방어 방법
Muraleedharan et al. A flow-based anomaly detection system for slow DDoS attack on HTTP

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid