KR20140122044A - 슬로우 리드 도스 공격 탐지 장치 및 방법 - Google Patents

슬로우 리드 도스 공격 탐지 장치 및 방법 Download PDF

Info

Publication number
KR20140122044A
KR20140122044A KR1020130038599A KR20130038599A KR20140122044A KR 20140122044 A KR20140122044 A KR 20140122044A KR 1020130038599 A KR1020130038599 A KR 1020130038599A KR 20130038599 A KR20130038599 A KR 20130038599A KR 20140122044 A KR20140122044 A KR 20140122044A
Authority
KR
South Korea
Prior art keywords
http
request message
window size
packet
dos attack
Prior art date
Application number
KR1020130038599A
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 KR1020130038599A priority Critical patent/KR20140122044A/ko
Priority to US14/154,888 priority patent/US20140304817A1/en
Publication of KR20140122044A publication Critical patent/KR20140122044A/ko

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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent

Landscapes

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

Abstract

본 발명에서는 가상화 환경에서 슬로우 리드 도스 공격 탐지에 있어, HTTP 접속에서 요구되는 TCP 연결 설정 과정에서 TCP SYN 패킷이 갖는 윈도우 크기와 해당 세션에서 전달되는 HTTP GET 요청 메시지가 갖는 윈도우 크기의 상관관계 및 특성을 고려하여, 정상적인 사용자와 악의적인 사용자의 HTTP GET 요청 메시지를 구분하고 대응함으로써 보다 신속하게 슬로우 리드 도스 형태의 공격을 탐지할 수 있도록 하여, 슬로우 리드 도스 공격과 같은 웹 부하 공격으로부터 웹 서버를 보호하고 정상적인 사용자에게는 원활한 서비스를 제공할 수 있도록 한다.

Description

슬로우 리드 도스 공격 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING SLOW READ DOS}
본 발명은 정상적인 HTTP 연결을 방해하는 형태의 서비스 거부 공격(DDoS : distributed denial of service, DoS : denial of service)에 관한 것으로, 특히 HTTP 접속에서 요구되는 TCP 연결 설정 과정에서 TCP SYN 패킷이 갖는 윈도우 크기(window size)와 해당 세션에서 전달되는 HTTP GET 요청 메시지가 갖는 윈도우 크기의 상관관계 및 특성을 고려하여, 정상적인 사용자와 악의적인 사용자의 HTTP GET 요청 메시지를 구분하고 대응함으로써, 보다 신속하게 슬로우 리드 도스 형태의 공격을 탐지할 수 있도록 하여, 슬로우 리드 도스 공격과 같은 웹 부하 공격으로부터 웹 서버를 보호하고 정상적인 사용자에게는 원활한 서비스를 제공할 수 있도록 하는 가상화 환경에서 슬로우 리드 도스 공격 탐지 장치 및 방법에 관한 것이다.
일반적으로, DDoS( distributed denial of service) 공격은 대량의 좀비 PC를 활용해 타깃 사이트가 감당할 수 없는 트래픽 공격으로 목표 사이트를 마비시키는 공격이다. 그러나, 최근에는 몇 대의 PC만으로도 이와 같은 DoS(denial of service) 공격이 가능하며, 이와 같은 DoS 공격은 슬로우 리드 도스(Slow Read DoS)라는 개념을 통해 단 몇 대의 PC로 웹사이트를 마비시킬 수 있다는 것이 증명되었다.
여기에서 슬로우 리드라는 공격방법은 한 서버가 HTTP를 요청하는데 있어 아주 느리게 반응하도록 하는 것으로, 이러한 공격 방법을 사용한다면 DoS 공격을 위해 많은 좀비 PC가 필요치 않다. 이러한 공격은 인기 웹 서버 소프트웨어인 아파치의 디폴트 구성에 있어서 치명적이며, Nginx HTTP 서버와 Lighttpd 웹 서버의 취약점이기도 하다.
이와 같은 슬로우 리드 공격(Slow Read attack)은 오픈소스 slowhttptest tool로 가능하며 기존 슬로우 공격 중 하나인 Slowloris과는 다른 접근방식을 취하고 있다. 기존 슬로우 공격의 공격방식은 HTTP 요청을 일부만 받도록 해 웹서버 네트워크 포트들을 차단하도록 하는 방식이었던 반면, 슬로우 리드 도스(Slow Read DoS) 공격방식은 완전한 요청을 서버에 보내지만, 그것을 아주 느리게 읽도록 해서 서버가 반응할 수 없도록 만드는 방식이다. 여기에는 TCP 프로토콜의 알려진 취약점이 사용되며 이를 통해 공격자는 데이터의 흐름을 통제할 수 있고 전송을 느리게 할 수 있다.
즉, 슬로우 리드 도스 공격은 기존의 slowloris와 slow POST 공격과 같이 시스템의 자원 고갈을 목적으로 하는 서비스 거부 공격으로써, 공격자는 HTTP GET 요청의 윈도우 크기(window size)를 작게 조작하여 HTTP 응답 수신 속도를 지연시킴으로써 웹 서버의 연결(connection) 자원을 고갈시킨다. 이와 같은 슬로우 리드 도스 공격은 TCP 프로토콜 규약을 위반하지 않기 때문에 정상 트래픽과 공격 트래픽을 판단하기가 어렵다.
도 1은 종래 윈도우 크기에 따른 클라이언트와 서버 간 데이터 송수신 과정을 도시한 것이다.
도 1을 참조하면, 예를 들어 서버(server)(102)와 클라이언트(client)(100) 간 MTU가 1,500bytes이고, 서버(102)가 4,500bytes의 데이터를 클라이언트(100)로 전송할 경우, 윈도우 크기(window size)가 1,500bytes라면 도 1의 (a)에서와 같이, 서버(102)는 매 1,500bytes의 데이터를 전송할 때마다 클라이언트(100)로부터 데이터 수신 확인(ACK)을 받게 된다. 이와 달리, 윈도우 크기가 4,500bytes라면 도 1의 (b)에서와 같이, 서버(102)는 모든 데이터를 전송한 후 클라이언트(100)로부터 수신 확인(ACK)을 받게 된다. 즉, 윈도우 크기란 웹 서버(web server) 등의 서버(102)가 클라이언트(100)로부터의 수신 확인(ACK)을 기다리지 않고, 연속적으로 전송할 수 있는 데이터 크기를 의미한다. 이와 같은 윈도우 크기는 환경에 따라 다른 값을 가지며, 최대 65,535bytes로 설정될 수 있다.
이때, 위와 같이 윈도우 크기를 공격자가 임의로 작게 설정하여 공격 대상 서버에 HTTP GET 요청을 전송하는 경우, 공격자와 공격 대상 서버는 데이터 전송이 완료될 때까지 연결 자원을 점유하게 된다. 즉, 이러한 과정이 대량 발생한다면, 해당 공격 대상 서버의 연결 자원이 모두 고갈되어 서비스 거부 상태에 빠지게 된다. 이에 대한 대책으로 비정상적으로 작은 데이터의 흐름을 차단하거나, 접속 시간에 대한 시간 제한을 설정하는 등이 존재하나, 근본적인 해결책이 되기는 어려운 문제점이 있었다.
대한민국 공개특허번호 10-2012-0129000호 공개일자 2012년 11월 28일에는 분산 서비스 거부 공격 방어 방법 및 그 장치에 관한 기술이 개시되어 있다.
따라서, 본 발명은 HTTP 접속에서 요구되는 TCP 연결 설정 과정에서 TCP SYN 패킷이 갖는 윈도우 크기와 해당 세션에서 전달되는 HTTP GET 요청 메시지가 갖는 윈도우 크기의 상관관계 및 특성을 고려하여, 정상적인 사용자와 악의적인 사용자의 HTTP GET 요청 메시지를 구분하고 대응함으로써, 보다 신속하게 슬로우 리드 도스 형태의 공격을 탐지할 수 있도록 하여, 슬로우 리드 도스 공격과 같은 웹 부하 공격으로부터 웹 서버를 보호하고 정상적인 사용자에게는 원활한 서비스를 제공할 수 있도록 하는 가상화 환경에서 슬로우 리드 도스 공격 탐지 장치 및 방법을 제공하고자 한다.
상술한 본 발명은 가상화 환경에서 슬로우 리드 도스 공격 탐지 방법으로서, 서버에서 클라이언트로부터 웹 프로토콜을 이용하여 전송되는 연결 요청 패킷을 수신하는 단계와, 상기 수신된 패킷이 TCP SYN 패킷 인지 HTTP GET 요청 메시지의 패킷인지 여부를 검사하는 단계와, 상기 수신된 패킷이 HTTP GET 요청 메시지의 패킷인 경우 상기 HTTP GET 요청 메시지의 윈도우 크기를 분석하여 슬로우 리드 도스 공격 여부를 탐지하는 단계를 포함한다.
또한, 상기 탐지하는 단계는, 상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기를 비교하는 단계와, 상기 비교결과, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기가 동일한 경우 슬로우 리드 도스 공격으로 판단하는 단계를 포함한다.
또한, 상기 탐지하는 단계에서, 상기 비교결과, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 기저장된 SYN 패킷의 윈도우 크기보다 작은 경우 슬로우 리드 도스 공격으로 판단하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 탐지하는 단계는, 상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 동일한 SIP과 DIP 쌍이 존재하는지 여부를 검사하는 단계와, 상기 동일한 SIP과 DIP 쌍이 존재하는 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 직전 HTTP GET 요청 메시지의 윈도우 크기를 비교하는 단계와, 상기 비교결과, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 기설정된 기준값 이하로 작은 경우 슬로우 리드 도스 공격으로 판단하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 판단하는 단계에서, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 0.3∼0.5 배 이하인 경우 슬로우 리드 도스 공격으로 판단하는 것을 특징으로 한다.
또한, 상기 검사하는 단계에서, 상기 패킷이 TCP SYN 패킷인 것으로 검사되는 경우 매칭 테이블에 새로운 엔트리를 구성하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은 가상화 환경에서 슬로우 리드 도스 공격 탐지 장치로서, 클라이언트로부터 웹 프로토콜을 이용하여 서버로의 연결을 요청하는 패킷을 수신하는 수신부와, 상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기를 분석하여 슬로우 리드 도스 공격 여부를 탐지하는 분석부를 포함한다.
또한, 상기 분석부는, 상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기를 비교한 후, 상기 윈도우 크기가 동일한 경우 슬로우 리드 도스 공격으로 판단하는 것을 특징으로 한다.
또한, 상기 분석부는, 상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기를 비교한 후, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 기저장된 SYN 패킷의 윈도우 크기보다 작은 경우 슬로우 리드 도스 공격으로 판단하는 것을 특징으로 한다.
또한, 상기 분석부는, 상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지이고, 동일한 SIP과 DIP 쌍이 존재하는 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 직전 HTTP GET 요청 메시지의 윈도우 크기를 비교한 후, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 기설정된 기준값이하로 작은 경우 슬로우 리드 도스 공격으로 판단하는 것을 특징으로 한다.
또한, 상기 분석부는, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 0.3∼0.5 배 이하인 경우 슬로우 리드 도스 공격으로 판단하는 것을 특징으로 한다.
본 발명은 가상화 환경에서 슬로우 리드 도스 공격 탐지에 있어, HTTP 접속에서 요구되는 TCP 연결 설정 과정에서 TCP SYN 패킷이 갖는 윈도우 크기와 해당 세션에서 전달되는 HTTP GET 요청 메시지가 갖는 윈도우 크기의 상관관계 및 특성을 고려하여, 정상적인 사용자와 악의적인 사용자의 HTTP GET 요청 메시지를 구분하고 대응함으로써 보다 신속하게 슬로우 리드 도스 형태의 공격을 탐지할 수 있도록 하여, 슬로우 리드 도스 공격과 같은 웹 부하 공격으로부터 웹 서버를 보호하고 정상적인 사용자에게는 원활한 서비스를 제공할 수 있도록 하는 이점이 있다.
또한, 본 발명에서는 신속하게 악의적인 트래픽을 차단해 줄 수 있는 탐지 기법을 제공함으로써, 대상 웹 서버 자체에 커다란 부하도 주지 않고 대응할 수 있으며, 이는 가상화 환경에 구축되는 웹 서버의 부하 차단에도 효율적으로 사용될 수 있고, 제한된 가상화 서버 자원의 효율적인 사용을 가능케 하는 이점이 있다.
도 1은 종래 도우 크기에 따른 클라이언트와 서버 간 데이터 송수신 처리 흐름도,
도 2는 slowhttptest tool의 슬로우 리드 도스 공격 기법의 특성 예시도,
도 3은 TCP SYN 패킷 헤더 정보 예시도,
도 4는 HTTP GET 메시지를 추출하는 기법 예시도,
도 5는 본 발명의 실시예에 따른 슬로우 리드 도스 공격 탐지 장치의 블록 구성도,
도 6은 본 발명의 실시예에 따른 슬로우 리드 도스 공격을 탐지하기 위한 동작 제어 흐름도,
도 7은 본 발명의 실시예에 따른 매칭 테이블의 구성 예시도,
도 8은 본 발명의 다른 실시예에 따른 슬로우 리드 도스 공격을 탐지하기 위한 동작 제어 흐름도,
도 9는 본 발명의 다른 실시예에 따른 슬로우 리드 도스 공격을 탐지하기 위한 동작 제어 흐름도,
도 10은 본 발명의 실시예에 따른 매칭 테이블의 구성 예시도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2은 대표적인 슬로우 공격 도구인 slowhttptest tool의 슬로우 리드 도스 공격 기법의 특성을 도시한 것이다.
위 도 2에서 보여지는 바와 같이, 슬로우 리드 도스 공격은 공격자가 임의로 윈도우 크기를 고정하여 HTTP GET 접속을 시도하는 것으로, 도 2의 (a)는 클라이언트(100)에서 서버(102)로 윈도우 크기를 500으로 고정한 공격의 형태를 나타내며, 도 2의 (b)는 윈도우 크기를 500에서 1000사이의 가변 사이즈로 설정한 공격 형태를 나타낸다.
위와 같은 도 2을 참조하면, 슬로우 리드 도스 공격에서의 공격 특성은 해당 HTTP GET 요청 메시지를 보내기 위한 TCP 세션 설정 시에 사용하는 TCP SYN 패킷의 윈도우 크기와 해당 세션 상에서의 실제 HTTP GET 요청 메시지의 윈도우 크기가 동일하다는 것이다. 따라서 이러한 특성은 슬로우 리드 도스 공격 탐지의 중요한 정보로 활용될 수 있다.
도 3과 도 4는 도 2의 특성에 따라 추출, 분석해야 할 정보를 도시한 것이다.
먼저, 도 3은 TCP SYN 패킷의 구분 방법 및 윈도우 크기의 추출 위치, 그리고 일반적인 운영체제별 TCP SYN 패킷 헤더 정보를 보인다. 간략히 설명하면, 목적지 포트(Destination Port) 값이 80인 예를 들어 HTTP 서비스 패킷 중에서, TCP 헤더(header)의 TCP 프래그(flags)가 S로 설정된 경우의 윈도우 크기를 추출하게 된다(300). 이러한 TCP SYN 패킷의 일반적인 윈도우 크기는 최소 5,840bytes이나, 이는 시스템 및 선로의 특성에 따라 가변 가능하다.
다음으로, 도 4는 해당 세션에 속한 패킷 중에서 HTTP GET 메시지를 추출하는 기법을 간단히 도시한 것이다. 도 4에서와 같이, 페이로드(payload)의 시작이 "GET"으로 시작하고 1byte이상의 URI 컨텐츠(content) 다음에 "HTTP/1."인 문자열이 존재하는 경우 HTTP GET 요청 메시지를 나타낸다.
도 5는 본 발명의 실시 예에 따른 가상화 환경에서의 슬로우 리드 디도스 공격 탐지 장치의 상세 블록 구성을 도시한 것으로, 수신부(502), 분석부(504), 매칭 테이블(506) 등을 포함할 수 있다. 이와 같은 슬로우 리드 디도스 공격 탐지장치(500)는 서버내 탑재되거나 서버와 통신망 사이에 위치되어 동작할 수도 있다.
이하, 도 5를 참조하여 본 발명의 슬로우 리드 디도스 공격 탐지장치(500)의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 수신부(502)는 클라이언트로부터 서버로 전송되는 패킷을 수신한다.
분석부(504)는 수신부(502)를 통해 클라이언트로부터 수신되는 패킷을 분석하고, 해당 패킷이 TCP SYN 패킷인 경우 매칭 테이블상 새로운 엔트리 구성한다.
또한, 분석부(504)는 수신된 패킷이 TCP SYN 패킷이 아니면서 HTTP GET 요청으로 분석되는 경우, 기설정된 다수의 방법으로 해당 패킷이 슬로우 리드 디도스 공격인지 여부를 검사하여 슬로우 리드 디도스 공격으로 판단되는 경우에는 해당 패킷의 HTTP 서비스 요청을 차단하여 공격을 차단시키게 된다.
분석부(504)에서 슬로우 리드 디도스 공격을 판단하는 방법에 대해서는 후술되는 도 6, 도 8, 도 9의 동작 제어 흐름을 참조하여 상세히 설명하기로 한다.
도 6은 도 3과 도 4를 통해서 추출되는 정보들을 바탕으로 슬로우 리드 도스 공격을 탐지하기 위한 동작 제어 흐름을 도시한 것이며, 도 7은 매칭 테이블의 구성을 도시한 것이다.
먼저, 슬로우 리드 공격 탐지장치(500)의 분석부(504)는 목적지 포트(destination port) 값이 80인 예를 들어 HTTP 서비스인 패킷이 수신되는 경우(S600), TCP SYN 여부를 점검하게 된다(S602).
이때, 만일 수신된 HTTP 서비스 패킷이 SYN 패킷이라면, 분석부(504)는 새로운 엔트리를 구성하여(S604) 매칭 테이블(506)에 추가시키고 다음 패킷의 분석을 시작하게 된다.
그러나, 이와 달리 수신된 HTTP 서비스 패킷이 SYN 패킷이 아닌 경우, 분석부(504)는 HTTP GET 요청 메시지인지를 확인한다(S606). 확인 결과, HTTP GET 요청이 아니라면, 분석부(504)는 다음의 패킷 분석을 시작하게 된다.
이와 달리, 확인결과 HTTP GET 요청 메시지가 맞다면, 분석부(504)는 매칭 테이블(506)로부터 해당 세션(SIP/DIP/sport 쌍)에 속한 엔트리를 읽고(S608), 현재 HTTP GET 요청 메시지의 윈도우 크기와 기 저장된 SYN 패킷의 윈도우 크기를 비교하게 된다(S610).
위와 같은 비교 결과 동일하다면(S612), 분석부(504)는 수신된 HTTP 서비스 패킷을 슬로우 리드 도스 공격으로 판단하게 된다(S614). 여기에서, 슬로우 리드 도스 공격이 웹 서버 등의 서버에 부하를 주기 위해서는 윈도우 크기가 작으면 작을수록 좋다. 따라서, 일반적인 1,500bytes의 MTU 아래에 있는 윈도우 크기인 경우에 한해서 이와 같은 요건이 만족되는 경우를 찾는 것이 가장 효율적이나, 이에 대한 제한 설정은 망 환경에 따라 관리자가 조정하여 적용할 수 있다. 그리고 해당 매칭 테이블에 생성된 엔트리의 삭제는 TCP 세션 관리에 따라 조정될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 슬로우 리드 도스 공격을 탐지하기 위한 동작 제어 흐름을 도시한 것으로, slowhttptest tool의 특성이 변형될 수 있는 형태인 경우에 대한 탐지 기법을 도시한 것이다. 특히 도 8에서는 TCP SYN 패킷의 윈도우 크기는 변형하지 않고 HTTP GET 요청 메시지의 윈도우 크기만 작게 변형한 형태에 대한 탐지 기법을 예를 들어 설명하기로 한다.
도 8을 참조하면, 먼저, 슬로우 리드 공격 탐지장치(500)의 분석부(504)는 HTTP 서비스인 패킷이 수신되는 경우(S800), TCP SYN 여부를 점검하게 된다(S802).
이때, 만일 수신된 HTTP 서비스 패킷이 SYN 패킷이라면, 분석부(504)는 새로운 엔트리를 구성하여(S804) 매칭 테이블에 추가시키고 다음 패킷의 분석을 시작하게 된다.
그러나, 이와 달리 수신된 HTTP 서비스 패킷이 SYN 패킷이 아닌 경우, 분석부(504)는 HTTP GET 요청 메시지인지를 확인한다(S806). 확인 결과, HTTP GET 요청이 아니라면, 분석부(504)는 다음의 패킷 분석을 시작하게 된다.
이와 달리, 확인결과 HTTP GET 요청 메시지가 맞다면, 분석부(504)는 매칭 테이블(506)로부터 해당 세션(SIP/DIP/sport 쌍)에 속한 엔트리를 읽고(S808), 현재 HTTP GET 요청 메시지의 윈도우 크기와 기 저장된 SYN 패킷의 윈도우 크기를 비교하게 된다(S810).
위와 같은 비교 결과 HTTP GET 요청 메시지의 윈도우 크기가 SYN 패킷의 윈도우 크기보다 작은 경우(S812), 분석부(504)는 수신된 HTTP 서비스 패킷을 슬로우 리드 도스 공격으로 판단하게 된다(S814).
일반적으로 TCP SYN 패킷은 도 3과 같은 윈도우 크기를 가지고 전송되는 경우가 대부분이며, 이와 같을 경우 HTTP GET 요청 메시지는 SYN 패킷보다 훨씬 큰 윈도우 크기를 갖는 것이 일반적이다. 즉, 일반적인 윈도우 크기값인 65,535bytes조차도 윈도우 크기로서는 매우 큰 값처럼 보이지만, 고속의 처리율과 긴 지연시간을 가진 전송 매체를 통해서 전달될 때에는 충분하지 않을 수도 있기 때문이다.
따라서, 테이블 구성 및 동작은 모두 동일하나, TCP SYN 패킷과 HTTP GET 요청 메시지의 윈도우 크기 비교 시, TCP SYN 패킷의 윈도우 크기보다 HTTP GET 요청 메시지의 윈도우 크기가 작을 경우에는 슬로우 리드 도스 공격으로 판단 할 수 있다. 이 또한, 도 6에서 언급한 것처럼 해당 HTTP GET 요청 메시지의 윈도우 크기가 최대 MTU보다 작은 경우 또는 망 환경에 따라 관리자가 적용한 정책 값에 따라 적용되는 것이 효율적이다. 그리고, 엔트리 삭제 또한 도 6과 같은 TCP 연결 관리에 따라 삭제될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 슬로우 리드 도스 공격을 탐지하기 위한 동작 제어 흐름을 도시한 것으로, TCP SYN 패킷과 상관없이 HTTP GET 요청의 윈도우 크기만을 가지고 슬로우 리드 도스 공격을 탐지하는 기법을 도시한 것이다.
위와 같은 슬로우 리드 도스 공격 탐지를 위해 도 10에 도시된 테이블에서 보여지는 바와 같이 SIP/DIP 쌍으로 된 엔트리만을 매칭 테이블로 사용한다. 즉, SIP 마다 갖는 가장 최근의 윈도우 크기를 추적하게 된다.
이하, 본 발명의 동작을 상세히 설명하기로 한다. 먼저, 슬로우 리드 공격 탐지장치(500)의 분석부(504)는 HTTP 서비스 패킷을 수신한 후(S900), HTTP GET 요청 메시지인지를 검사한다(S902).
이때, HTTP GET 요청 메시지인 경우, 분석부(504)는 다시 매칭 테이블(506)내 동일 SIP/DIP 쌍이 존재하는지 여부를 검사하게 된다(S904). 동일 SIP/DIP 쌍이 존재하지 않는다면 매칭 테이블(506)에 새로운 엔트리를 추가하고(S906), 존재한다면 현재 HTTP GET 요청 메시지의 윈도우 크기와 바로 직전 HTTP GET 요청 메시지의 윈도우 크기를 비교한다(S908).
비교 결과, 현재의 HTTP GET 요청 메시지의 윈도우 크기가 직전의 HTTP GET 요청 메시지의 윈도우 크기의 1/2보다 작지 않다면(S910), 분석부(504)는 해당 SIP/DIP 쌍의 윈도우 크기 값을 현재의 HTTP GET 요청 메시지의 윈도우 크기로 갱신한다(S912).
그러나, 이와 달리 현재의 HTTP GET 요청 메시지의 윈도우 크기가 직전의 HTTP GET 요청 메시지의 윈도우 크기의 1/3∼1/2보다도 작다면(S910) 슬로우 리드 도스로 탐지하게 된다(S914). 이는 전송 패킷의 누락에 의해 윈도우 크기가 조절되더라도 2배 이하로는 조절될 수 없고, 동일 SIP에서 전달되는 패킷의 윈도우 크기가 이와 같은 급격한 차이를 보이기는 어렵기 때문이다.
이 또한, 도 6에서와 마찬가지로 해당 HTTP GET 요청 메시지의 윈도우 크기가 최대 MTU보다 작은 경우 또는 망 환경에 따라 관리자가 적용한 정책 값에 따라 적용되는 것이 효율적이다. 그리고, 엔트리 삭제는 기존 TCP 연결 관리에 따라 삭제되기 어렵기 때문에, LRU와 같은 메커니즘을 적용한다.
상기한 바와 같이, 본 발명에서는 가상화 환경에서 슬로우 리드 도스 공격 탐지에 있어, HTTP 접속에서 요구되는 TCP 연결 설정 과정에서 TCP SYN 패킷이 갖는 윈도우 크기와 해당 세션에서 전달되는 HTTP GET 요청 메시지가 갖는 윈도우 크기의 상관관계 및 특성을 고려하여, 정상적인 사용자와 악의적인 사용자의 HTTP GET 요청 메시지를 구분하고 대응함으로써 보다 신속하게 슬로우 리드 도스 형태의 공격을 탐지할 수 있도록 하여, 슬로우 리드 도스 공격과 같은 웹 부하 공격으로부터 웹 서버를 보호하고 정상적인 사용자에게는 원활한 서비스를 제공할 수 있도록 한다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
502 : 수신부 504 : 분석부
506 : 매칭 테이블

Claims (11)

  1. 가상화 환경에서 슬로우 리드 도스 공격 탐지 방법으로서,
    서버에서 클라이언트로부터 웹 프로토콜을 이용하여 전송되는 연결 요청 패킷을 수신하는 단계와,
    상기 수신된 패킷이 TCP SYN 패킷 인지 HTTP GET 요청 메시지의 패킷인지 여부를 검사하는 단계와,
    상기 수신된 패킷이 HTTP GET 요청 메시지의 패킷인 경우 상기 HTTP GET 요청 메시지의 윈도우 크기를 분석하여 슬로우 리드 도스 공격 여부를 탐지하는 단계
    를 포함하는 슬로우 리드 도스 공격 탐지 방법.
  2. 제 1 항에 있어서,
    상기 탐지하는 단계는,
    상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기를 비교하는 단계와,
    상기 비교결과, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기가 동일한 경우 슬로우 리드 도스 공격으로 판단하는 단계
    를 포함하는 슬로우 리드 도스 공격 탐지 방법.
  3. 제 2 항에 있어서,
    상기 탐지하는 단계에서,
    상기 비교결과, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 기저장된 SYN 패킷의 윈도우 크기보다 작은 경우 슬로우 리드 도스 공격으로 판단하는 단계
    를 더 포함하는 슬로우 리드 도스 공격 탐지 방법.
  4. 제 1 항에 있어서,
    상기 탐지하는 단계는
    상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 동일한 SIP과 DIP 쌍이 존재하는지 여부를 검사하는 단계와,
    상기 동일한 SIP과 DIP 쌍이 존재하는 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 직전 HTTP GET 요청 메시지의 윈도우 크기를 비교하는 단계와,
    상기 비교결과, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 기설정된 기준값 이하로 작은 경우 슬로우 리드 도스 공격으로 판단하는 단계
    를 더 포함하는 슬로우 리드 도스 공격 탐지 방법.
  5. 제 4 항에 있어서,
    상기 판단하는 단계에서,
    상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 0.3∼0.5 배 이하인 경우 슬로우 리드 도스 공격으로 판단하는 슬로우 리드 도스 공격 탐지 방법.
  6. 제 1 항에 있어서,
    상기 검사하는 단계에서,
    상기 패킷이 TCP SYN 패킷인 것으로 검사되는 경우 매칭 테이블에 새로운 엔트리를 구성하는 단계
    를 더 포함하는 슬로우 리드 도스 공격 탐지 방법.
  7. 가상화 환경에서 슬로우 리드 도스 공격 탐지 장치로서,
    클라이언트로부터 웹 프로토콜을 이용하여 서버로의 연결을 요청하는 패킷을 수신하는 수신부와,
    상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기를 분석하여 슬로우 리드 도스 공격 여부를 탐지하는 분석부
    를 포함하는 슬로우 리드 도스 공격 탐지 장치.
  8. 제 7 항에 있어서,
    상기 분석부는,
    상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기를 비교한 후, 상기 윈도우 크기가 동일한 경우 슬로우 리드 도스 공격으로 판단하는 슬로우 리드 도스 공격 탐지 장치.
  9. 제 7 항에 있어서,
    상기 분석부는,
    상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지인 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 기저장된 SYN 패킷의 윈도우 크기를 비교한 후, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 기저장된 SYN 패킷의 윈도우 크기보다 작은 경우 슬로우 리드 도스 공격으로 판단하는 슬로우 리드 도스 공격 탐지 장치.
  10. 제 7 항에 있어서,
    상기 분석부는,
    상기 수신부로부터 수신된 패킷이 HTTP GET 요청 메시지이고, 동일한 SIP과 DIP 쌍이 존재하는 경우, 상기 HTTP GET 요청 메시지의 윈도우 크기와 직전 HTTP GET 요청 메시지의 윈도우 크기를 비교한 후, 상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 기설정된 기준값이하로 작은 경우 슬로우 리드 도스 공격으로 판단하는 슬로우 리드 도스 공격 탐지 장치.
  11. 제 10 항에 있어서,
    상기 분석부는,
    상기 HTTP GET 요청 메시지의 윈도우 크기가 상기 직전 HTTP GET 요청 메시지의 윈도우 크기보다 0.3∼0.5 배 이하인 경우 슬로우 리드 도스 공격으로 판단하는 슬로우 리드 도스 공격 탐지 장치.
KR1020130038599A 2013-04-09 2013-04-09 슬로우 리드 도스 공격 탐지 장치 및 방법 KR20140122044A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130038599A KR20140122044A (ko) 2013-04-09 2013-04-09 슬로우 리드 도스 공격 탐지 장치 및 방법
US14/154,888 US20140304817A1 (en) 2013-04-09 2014-01-14 APPARATUS AND METHOD FOR DETECTING SLOW READ DoS ATTACK

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130038599A KR20140122044A (ko) 2013-04-09 2013-04-09 슬로우 리드 도스 공격 탐지 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20140122044A true KR20140122044A (ko) 2014-10-17

Family

ID=51655470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130038599A KR20140122044A (ko) 2013-04-09 2013-04-09 슬로우 리드 도스 공격 탐지 장치 및 방법

Country Status (2)

Country Link
US (1) US20140304817A1 (ko)
KR (1) KR20140122044A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474682B1 (ko) * 2022-06-14 2022-12-06 한국인터넷진흥원 슬로우 http/2 도스 공격 탐지 장치 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5947838B2 (ja) * 2014-07-04 2016-07-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃検出装置、攻撃検出方法、および攻撃検出プログラム
US10887341B2 (en) 2017-03-06 2021-01-05 Radware, Ltd. Detection and mitigation of slow application layer DDoS attacks
US10951648B2 (en) 2017-03-06 2021-03-16 Radware, Ltd. Techniques for protecting against excessive utilization of cloud services
US11102239B1 (en) 2017-11-13 2021-08-24 Twitter, Inc. Client device identification on a network
CN110784464B (zh) * 2019-10-24 2022-09-09 新华三信息安全技术有限公司 泛洪攻击的客户端验证方法、装置、系统及电子设备
CN111478893B (zh) * 2020-04-02 2022-06-28 中核武汉核电运行技术股份有限公司 一种慢速http攻击的检测方法
CN113297577A (zh) * 2021-06-16 2021-08-24 深信服科技股份有限公司 一种请求处理方法、装置、电子设备及可读存储介质
CN114513365B (zh) * 2022-02-28 2023-06-30 北京启明星辰信息安全技术有限公司 一种针对SYN Flood攻击的检测与防御方法
CN116074083B (zh) * 2023-01-28 2023-06-23 天翼云科技有限公司 慢速攻击识别方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004056047A1 (en) * 2002-12-13 2004-07-01 Internap Network Services Corporation Topology aware route control
US20100138919A1 (en) * 2006-11-03 2010-06-03 Tao Peng System and process for detecting anomalous network traffic
US8387143B2 (en) * 2009-11-30 2013-02-26 Citrix Systems, Inc. Systems and methods for aggressive window probing
US8843645B2 (en) * 2010-06-24 2014-09-23 Citrix Systems, Inc. Systems and methods for detecting incomplete requests, TCP timeouts and application timeouts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474682B1 (ko) * 2022-06-14 2022-12-06 한국인터넷진흥원 슬로우 http/2 도스 공격 탐지 장치 및 방법

Also Published As

Publication number Publication date
US20140304817A1 (en) 2014-10-09

Similar Documents

Publication Publication Date Title
KR20140122044A (ko) 슬로우 리드 도스 공격 탐지 장치 및 방법
EP2289221B1 (en) Network intrusion protection
JP6106780B2 (ja) マルウェア解析システム
Ambrosin et al. Lineswitch: Efficiently managing switch flow in software-defined networking while effectively tackling dos attacks
US7706378B2 (en) Method and apparatus for processing network packets
KR101424490B1 (ko) 지연시간 기반 역 접속 탐지 시스템 및 그 탐지 방법
KR101095447B1 (ko) 분산 서비스 거부 공격 차단 장치 및 방법
CA2548336A1 (en) Upper-level protocol authentication
WO2003032571A1 (en) Method and apparatus for providing node security in a router of a packet network
Gilad et al. Off-Path Attacking the Web.
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
US20170250998A1 (en) Systems and methods of preventing infection or data leakage from contact with a malicious host system
KR100717635B1 (ko) 패킷 내용 기반 인터넷 트래픽 제어 방법 및 시스템
US8006303B1 (en) System, method and program product for intrusion protection of a network
KR101281160B1 (ko) 하이퍼 텍스터 전송규약 요청 정보 추출을 이용한침입방지시스템 및 그를 이용한 유알엘 차단방법
JP2014236461A (ja) 遮断システム、遮断サーバ、遮断方法、およびプログラム
WO2023040303A1 (zh) 网络流量控制方法以及相关系统
KR100950900B1 (ko) 분산서비스거부 공격 방어방법 및 방어시스템
KR20200109875A (ko) 유해 ip 판단 방법
JP4391455B2 (ja) DDoS攻撃に対する不正アクセス検知システム及びプログラム
US10771391B2 (en) Policy enforcement based on host value classification
Niemi et al. Evading deep inspection for fun and shell
KR20180102884A (ko) 방화벽 및 이의 패킷 처리 방법
KR101449627B1 (ko) 비정상 세션 탐지 방법 및 장치
KR102545705B1 (ko) DDoS 공격의 탐지 및 방어 시스템 및 그 방법

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