KR20190053540A - SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법 - Google Patents

SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법 Download PDF

Info

Publication number
KR20190053540A
KR20190053540A KR1020170149532A KR20170149532A KR20190053540A KR 20190053540 A KR20190053540 A KR 20190053540A KR 1020170149532 A KR1020170149532 A KR 1020170149532A KR 20170149532 A KR20170149532 A KR 20170149532A KR 20190053540 A KR20190053540 A KR 20190053540A
Authority
KR
South Korea
Prior art keywords
request message
http
web server
http request
sdn
Prior art date
Application number
KR1020170149532A
Other languages
English (en)
Other versions
KR102016461B1 (ko
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 KR1020170149532A priority Critical patent/KR102016461B1/ko
Priority to US16/185,662 priority patent/US10931711B2/en
Priority to CN201811330660.0A priority patent/CN109768955B/zh
Publication of KR20190053540A publication Critical patent/KR20190053540A/ko
Application granted granted Critical
Publication of KR102016461B1 publication Critical patent/KR102016461B1/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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/141Denial of service attacks against endpoints in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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]

Landscapes

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

Abstract

본 발명은 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법을 개시한다. 즉, 본 발명은 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단함으로써, 완전하지 않은 HTTP 메시지를 전송해 웹 서버의 가용 연결 자원을 고갈시키는 Slow HTTP DDoS 공격으로 의심되는 트래픽을 웹 서버 대신 SDN 제어기로 입력되도록 하여 Slow HTTP DDoS 공격으로부터 웹 서버를 보호하여 웹 서버의 정상적인 동작 유지를 보장할 수 있다.

Description

SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법{System of defensing against Slow HTTP DDoS attack based on SDN and method thereof}
본 발명은 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법에 관한 것으로, 특히 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법에 관한 것이다.
분산 서비스 거부(DDoS; Distributed Denial of Service) 공격이란 공격자가 악성코드에 감염된 다수의 좀비 PC를 동원하여 공격 대상 시스템이 처리할 수 없을 정도의 엄청난 양의 트래픽을 전송하거나 대량의 접속을 일으켜 시스템의 성능을 저하시킴으로써 정상적인 인터넷 서비스를 방해하는 공격이다.
과거에는 대량 혹은 빠른 속도의 패킷을 발생시키는 TCP/UDP/ICMP 플러딩 공격과 같은 네트워크/전송 계층 DDoS 공격이 주를 이루었다.
이러한 공격은 정상적인 고객이 발생시키는 트래픽 패턴과 비교해 양이나 속도 측면에서 비정상적인 트래픽 패턴을 가지기 때문에 스위치나 라우터와 같은 네트워크 장비에 입력되는 트래픽 패턴을 분석하여 DDoS 공격을 탐지하고, 탐지된 공격을 차단하는 다양한 네트워크 기반의 DDoS 방어 기법들이 개발되어 적용되고 있다.
그러나 최근에는 정상적인 고객이 발생시키는 트래픽 패턴과 유사한 공격 트래픽을 발생시켜 이러한 네트워크 기반의 DDoS 방어 기법들로는 탐지할 수 없는 응용 계층 DDoS 공격이 증가하는 추세이다.
대표적인 응용 계층 DDoS 공격 중에는 HTTP 취약성을 악용하여 웹 서버의 가용 연결 자원을 고갈시키는 Slow HTTP DDoS 공격 형태로서 Slowloris 공격과 Slow HTTP POST DDoS 공격이 있다. Slow HTTP DDoS 공격은 불완전한 HTTP Request 메시지를 발송하여 이를 수신한 웹 서버가 해당 HTTP Request 메시지가 완전해 질 때까지 연결을 유지해야 하는 HTTP의 취약성을 악용한다. 해당 공격에서 공격자는 공격 목표인 웹 서버와 TCP 3 way 핸드쉐이킹을 통해 정상적인 TCP 연결을 설정한 이후에, 웹 서버에 불완전한 HTTP Request 메시지를 전송한다. 이를 수신한 웹 서버는 수신한 불완전한 HTTP Request 메시지와 이어서 연속하여 전달되는 HTTP Request 메시지에 의해 완전하게 될 때까지 연결을 유지한다. 하지만 공격자는 연속해서 전달되는 불완전한 HTTP Request 메시지를 전송함으로써 웹 서버와 설정된 연결을 오랜 시간 유지하게 된다. 만약 공격자가 수많은 불완전한 HTTP Request 메시지를 전송하여 공격 목표 웹 서버의 연결과 정보처리 자원의 대부분을 점유하게 되면 이를 처리해야 하는 해당 웹 서버는 서비스 품질이 떨어지거나 서비스 불능 상태에 빠지게 된다.
Slowloris 공격과 Slow HTTP POST DDoS 공격은 공격자가 전송하는 불완전한 HTTP Request 메시지의 유형에 따라 분류된다. Slowloris 공격에서 공격자는 불완전한 HTTP 헤더를 포함하는 HTTP GET Request 메시지를 전송한다. HTTP 메시지는 '\r\n\r\n'의 개행 문자에 의해 헤더와 바디가 구분되는데, Slowloris 공격에서 공격자는 HTTP 메시지를 비정상적으로 조작하여 개행 문자를 포함하지 않는 HTTP 헤더를 가진 HTTP GET Request 메시지를 연속적으로 웹 서버에 전송한다. 이를 수신한 웹 서버는 '\r\n\r\n'으로 종료되는 완전한 HTTP 헤더를 수신할 때까지 연결을 유지한 채 대기하게 된다. 공격자는 불완전한 HTTP 헤더를 가지는 HTTP 메시지를 일정한 간격으로 웹 서버로 전송하여 웹 서버의 연결을 오랜 시간 유지하도록 만들게 됨으로써, 결국 웹 서버의 가용 연결 자원을 점유하게 되어, 웹 서버가 정상적인 고객에게 연결을 제공할 수 없는 상태로 빠지게 된다.
Slow POST DDoS 공격은 공격자가 HTTP POST Request 메시지를 비정상적으로 조작하여 웹 서버로 전달할 대량의 데이터를 장시간에 걸쳐 분할 전송한다. HTTP POST Request 메시지 헤더 내의 Contents-Length 필드는 HTTP POST Request 메시지의 바디에 포함된 데이터의 크기를 정의하는데, 웹 서버는 수신한 HTTP POST Request 메시지의 Contents-Length 필드 값에 해당하는 데이터를 모두 수신할 때까지 연결을 유지한 채 대기하게 된다. 이러한 점을 악용하여 공격자는 HTTP POST Request 메시지 내의 Contents-Length 필드 값을 매우 큰 값으로 설정하고, 실제 전송되는 HTTP 메시지에는 매우 작은 데이터만을 포함하여 전송함으로써, 웹 서버가 해당 데이터를 수신하기 위한 연결을 종료하지 못하도록 유지시킨다. 만약 공격자가 웹 서버의 최대 연결 수에 도달할 만큼 많은 연결을 점유하고 있다면 웹 서버는 정상적인 고객에게 연결을 제공하지 못하게 되어 서비스 장애가 발생하게 된다.
현재 Slowloris와 Slow HTTP POST DDoS 공격을 방어하기 위해 웹 서버에서 특정 발신 IP 주소당 연결할 수 있는 최대 동시 연결 수를 제한하는 설정을 통하여 공격자가 웹 서버의 가용 연결 자원을 점유하는 것을 방지할 수 있다. 그러나 만약 공격자가 다수의 좀비 PC를 동원하여, 각 좀비 PC가 웹 서버에서 설정한 최대 동시 연결 수 이하의 연결을 유지하게 된다면 결국 웹 서버로의 대부분 연결을 점유하게 되므로, 이러한 방법으로는 Slow HTTP DDoS 공격에 대한 효과적인 방어 결과를 기대할 수가 없다.
또한, 웹 서버는 HTTP Request 메시지 수신을 위한 타이머를 설정하여 Slowloris와 Slow HTTP POST DDoS 공격을 방어할 수 있다. 예를 들어 Apache 웹 서버의 mod_reqtimeout 모듈의 RequestReadTimeout 지시자를 통해 클라이언트로부터의 HTTP Request 메시지가 지정된 시간 내에 완전해 지지 않을 경우 DDoS 공격으로 판단하는 방법으로 공격 탐지가 가능하다. 그러나 웹 서버에서 설정한 타이머가 만료된 이후에야 DDoS 공격이란 사실을 확인할 수 있으며, 웹 서버가 공격을 인지하기까지는 웹 서버의 가용 연결들이 공격자에 의해 점유되므로 웹 서버가 더 이상 정상적인 고객으로부터의 HTTP 요청을 받아들이지 못하게 된다.
이제까지 Slow HTTP DDoS 공격에 대한 방어는 웹 서버 기능의 설정을 통해 웹 서버에서 이를 탐지하고 방어하는 서버 측 방어 메커니즘에 의존해 왔다. 그러나 서버 측에서 동작하는 DDoS 방어 메커니즘은 공격 트래픽이 공격목표인 웹 서버에 도달하여 피해를 발생시키기 전에는 탐지할 수 없을 뿐만 아니라, 탐지 순간까지 웹 서버의 성능이 저하되는 현상을 피할 수 없으며, 또한 공격 발신지에서 공격 목표 시스템까지의 연결에 사용되는 네트워크 자원이 낭비된다는 문제점이 있다.
바람직한 DDoS 방어 메커니즘은 DDoS 공격 트래픽이 네트워크 내에 위치하는 트래픽 스위치나 라우터 등의 장치에서 DDoS 공격을 탐지하고, 탐지된 DDoS 공격 트래픽이 웹 서버에 도착하지 않도록 중간 경로에서 차단하는 네트워크 기반 DDoS 방어 메커니즘이다. 하지만 Slow HTTP DDoS 공격에 사용되는 HTTP 메시지는 스위치 혹은 라우터와 같은 네트워크 장치의 처리 대상이 아닐 뿐만 아니라, Slow HTTP DDoS 공격 트래픽은 정상적인 고객으로부터의 트래픽 크기, 패턴, 속도 면에서 유사하기 때문에, 비정상적인 트래픽을 감별하는 스위치나 라우터 기능에 의존하는 기존의 네트워크 기반의 DDoS 방어 메커니즘으로는 효과를 거두기 어렵다.
한국등록특허 제10-1587845호 [명칭: 디도스 공격을 탐지하는 방법 및 장치]
본 발명의 목적은 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 다른 목적은 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우, SDN 제어기에서 웹 서버로부터 HTTP Request 메시지를 전달받은 직후, SDN 노드들에 트래픽 경로 변경 요청 메시지를 전송하여 클라이언트부로터로 연속적으로 전송되는 HTTP 메시지를 웹 서버를 대신하여 전달받으며, SDN 제어기에서 해당 HTTP Request 메시지에 대한 Slow HTTP DDoS 공격 여부 판별한 결과에 따라 SDN 노드들을 통하여 트래픽 경로를 복원하거나 해당 트래픽을 차단하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법은 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법에 있어서, 웹 서버에 의해, 클라이언트부로부터 전송되는 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지로 판단될 때, 상기 HTTP Request 메시지를 SDN 제어기로 전송하는 단계; 상기 SDN 제어기에 의해, 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버에서 상기 SDN 제어기로 변경하는 정보를 포함하는 제 1 트래픽 경로 변경 요청 메시지를 하나 이상의 SDN 노드에 전송하는 단계; 상기 SDN 제어기에 의해, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지에 대해서 공격성 여부를 확인하는 단계; 상기 확인 결과, 상기 HTTP Request 메시지가 공격을 목적으로 하는 HTTP Request 메시지로 확인될 때, 상기 SDN 제어기에 의해, 목적지를 상기 웹 서버로 하여 공격자인 상기 클라이언트부로부터 전송되는 메시지의 폐기를 위해서 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 단계; 및 상기 하나 이상의 SDN 노드에 의해, 상기 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 폐기하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 공격성 여부의 확인 결과, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인될 때, 상기 SDN 제어기에 의해, 상기 클라이언트부와 상기 웹 서버 사이의 정보 전달 경로를 복구하기 위해서 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기에서 상기 웹 서버로 변경하는 정보를 포함하는 제 2 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 단계; 상기 하나 이상의 SDN 노드에 의해, 상기 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 웹 서버로 전송하는 단계; 및 상기 웹 서버에 의해, 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 제 3 트래픽 경로 변경 요청 메시지는, 공격자인 상기 클라이언트부의 소스 IP 정보, 목적지 IP 정보, 소스 포트 정보 및 목적지 포트 정보 중 적어도 하나를 포함할 수 있다.
본 발명의 실시예에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템은 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템에 있어서, SDN망; 상기 SDN망을 통해 목적지를 웹 서버로 하는 HTTP Request 메시지를 전송하는 클라이언트부; 상기 클라이언트부로부터 전송되는 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지로 판단될 때, 상기 HTTP Request 메시지를 SDN 제어기로 전송하는 웹 서버; 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버에서 상기 SDN 제어기로 변경하는 정보를 포함하는 제 1 트래픽 경로 변경 요청 메시지를 하나 이상의 SDN 노드에 전송하고, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지가 공격을 목적으로 하는 HTTP Request 메시지로 확인될 때, 목적지를 상기 웹 서버로 하여 공격자인 상기 클라이언트부로부터 전송되는 메시지의 폐기를 위해서 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 상기 SDN 제어기; 및 상기 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 폐기하는 상기 하나 이상의 SDN 노드를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 웹 서버는, 상기 클라이언트부로부터 전송되는 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지를 상기 SDN 제어기로 전송한 후, 상기 클라이언트부와의 연결을 종료할 수 있다.
본 발명과 관련된 일 예로서 상기 하나 이상의 SDN 노드는, 상기 제 1 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 SDN 제어기로 전달하며, 상기 SDN 제어기는, 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신하고, 상기 수신된 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부로 전송할 수 있다.
본 발명과 관련된 일 예로서 상기 SDN 제어기는, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인될 때, 상기 클라이언트부와 상기 웹 서버 사이의 정보 전달 경로를 복구하기 위해서 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기에서 상기 웹 서버로 변경하는 정보를 포함하는 제 2 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송할 수 있다.
본 발명과 관련된 일 예로서 상기 하나 이상의 SDN 노드는, 상기 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 웹 서버로 전송하며, 상기 웹 서버는, 복구된 경로를 통해 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신하고, 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부로 전송할 수 있다.
본 발명은 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단함으로써, 완전하지 않은 HTTP 메시지를 전송해 웹 서버의 가용 연결 자원을 고갈시키는 Slow HTTP DDoS 공격으로 의심되는 트래픽을 웹 서버 대신 SDN 제어기로 입력되도록 하여 Slow HTTP DDoS 공격으로부터 웹 서버를 보호하여 웹 서버의 정상적인 동작 유지를 보장할 수 있는 효과가 있다.
또한, 본 발명은 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우, SDN 제어기에서 웹 서버로부터 HTTP Request 메시지를 전달받은 직후, SDN 노드들에 트래픽 경로 변경 요청 메시지를 전송하여 클라이언트부로터로 연속적으로 전송되는 HTTP 메시지를 웹 서버를 대신하여 전달받으며, SDN 제어기에서 해당 HTTP Request 메시지에 대한 Slow HTTP DDoS 공격 여부 판별한 결과에 따라 SDN 노드들을 통하여 트래픽 경로를 복원하거나 해당 트래픽을 차단함으로써, 탐지된 DDoS 공격자로부터의 트래픽을 웹 서버에 도착하기 전의 네트워크 장치에서 차단하도록 하여 웹 서버로 접속되는 트래픽의 연결과 네트워크 경로에서의 점유 대역폭의 낭비를 방지할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템의 구성을 나타낸 블록도이다.
도 2 내지 도 3은 본 발명의 실시예에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법을 나타낸 흐름도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템(10)은 SDN망(100), 클라이언트부(200), 웹 서버(300) 및 SDN 제어기(400)로 구성된다. 도 1에 도시된 방어 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 면적 방어 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 면적 방어 시스템(10)이 구현될 수도 있다.
상기 SDN망(100)은 다수의 SDN(Software Defined Networking: 소프트웨어 정의 네트워킹) 기능을 수행하는 복수의 SDN 노드(110)로 구성된다.
상기 복수의 SDN 노드(110)는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이의 정보 전달 경로를 구성(또는 형성)한다.
본 발명의 실시예에서는 상기 SDN망(100)에 대해서 주로 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 SDN망(100) 이외에도 다양한 형태의 통신망(또는 네트워크)을 통해 상기 클라이언트부(200), 상기 웹 서버(300), 상기 SDN 제어기(400) 등이 상호 연결될 수 있다.
또한, 상기 복수의 SDN 노드(110)는 상기 클라이언트부(200)로부터 전송되는 HTTP Request 메시지를 목적지에 대응하는 상기 웹 서버(300)로 전송한다.
또한, 상기 복수의 SDN 노드(110)는 상기 HTTP Request 메시지에 응답하여 상기 웹 서버(300)로부터 전송되는 상기 HTTP Request 메시지에 대한 응답 메시지(또는 HTTP 응답 메시지)를 상기 클라이언트부(200)로 전송한다.
또한, 상기 복수의(또는 하나 이상의) SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 1 트래픽 경로 변경 요청 메시지를 각각 수신한다. 여기서, 상기 제 1 트래픽 경로 변경 요청 메시지는 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버(300)에서 상기 SDN 제어기(400)로 변경하는 정보(예를 들어 SDN 제어기(400)와 관련된 목적지 IP 정보, SDN 제어기(400)와 관련된 목적지 포트 정보 등 포함)(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보)를 포함한다.
또한, 상기 SDN 노드(110)는 상기 수신된 제 1 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지(또는 HTTP Continuation 메시지)를 상기 SDN 제어기(400)로 전달(또는 전송)한다.
본 발명에서 설명하는 HTTP Request 메시지는 클라이언트부(200)에서 목적지(또는 수신부)인 웹 서버(300)로 전송되는 메시지를 나타낸다. 이때, 상기 HTTP Request 메시지가 복수의 메시지로 분할되고(또는 나뉘고), 상기 복수로 분할된 HTTP Request 메시지가 연속적으로 이어서 상기 목적지인 웹 서버(300)로 전송되는 경우, 연속적으로 전달되는 HTTP Request 메시지(또는 HTTP 메시지)를 HTTP Continuation 메시지로 나타낸다. 또한, 상기 HTTP Request 메시지가 복수의 메시지로 분할된 경우, 마지막 부분의 HTTP 메시지가 수신부(또는 목적지)에 도착하면, 해당 HTTP Request 메시지가 하나의 메시지로 완성될 수 있다. 여기서, 상기 수신부에서 HTTP Request 메시지가 완성되기 전까지 전달되는 부분적인 HTTP Request 메시지를 불완전 메시지라 나타낸다.
또한, 상기 복수의(또는 하나 이상의) SDN 노드(110)는 상기 제 1 트래픽 경로 변경 요청 메시지에 따라 상기 SDN 제어기(400)로 전송된 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 응답하여 상기 SDN 제어기(400)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부(200)로 전송한다.
또한, 상기 복수의(또는 하나 이상의) SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 2 트래픽 경로 변경 요청 메시지를 각각 수신한다. 여기서, 상기 제 2 트래픽 경로 변경 요청 메시지는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이의 정보 전달 경로가 회복되어 정상적인 웹 서비스가 이루어지도록 하기 위한 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기(400)에서 상기 웹 서버(300)로 변경하는 정보를 포함한다.
또한, 상기 SDN 노드(110)는 상기 수신된 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지(또는 HTTP Continuation 메시지)를 상기 SDN 제어기(400) 대신 상기 웹 서버(300)로 전달(또는 전송)한다.
또한, 상기 복수의(또는 하나 이상의) SDN 노드(110)는 상기 제 2 트래픽 경로 변경 요청 메시지에 따라 상기 웹 서버(300)로 전송된 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 응답하여 상기 웹 서버(300)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부(200)로 전송한다.
또한, 상기 복수의(또는 하나 이상의) SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 3 트래픽 경로 변경 요청 메시지를 각각 수신한다. 여기서, 상기 제 3 트래픽 경로 변경 요청 메시지는 목적지를 상기 웹 서버(300)로 하여 공격자인 상기 클라이언트부(200)로부터 전송되는 메시지(또는 패킷)의 폐기를 위한 공격자인 상기 클라이언트부(200)의 소스 IP 정보, 목적지 IP 정보, 소스 포트 정보, 목적지 포트 정보 등을 포함한다.
또한, 상기 SDN 노드(110)는 상기 수신된 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지(또는 공격용 HTTP Request 메시지/공격용 HTTP Request 메시지/공격용 Slow HTTP Request 메시지)를 상기 SDN 제어기(400) 및 상기 웹 서버(300)에 전달하지 않고, 폐기(또는 삭제/리턴)한다.
상기 클라이언트부(200)는 상기 SDN망(100)을 통해 목적지에 해당하는 상기 웹 서버(300)에 정보(또는 메시지/패킷)를 전송한다. 이때, 상기 클라이언트부(200)는 정상적인 메시지를 전송하는 단말이거나, Slow HTTP DDoS 공격을 수행하는 단말(또는 공격자)일 수 있다.
또한, 상기 클라이언트부(200), 상기 웹 서버(300) 및 상기 SDN 제어기(400)는 상호 TCP 3-way handshaking 방식 등으로 구성(또는 연결)되어, 서비스의 요청, 수락, 제공 등의 절차를 수행할 수 있다.
또한, 상기 클라이언트부(200)는 목적지를 상기 웹 서버(300)로 하는 HTTP Request 메시지(HTTP Request Message)(또는 Slow HTTP Request 메시지/패킷)를 상기 웹 서버(300)에 전송한다.
또한, 상기 클라이언트부(200)는 상기 전송된 HTTP Request 메시지에 응답하여 상기 웹 서버(300)로부터 전송되는 상기 HTTP Request 메시지에 대한 응답 메시지(또는 HTTP 응답 메시지)를 수신한다.
또한, 상기 HTTP Request 메시지가 상기 SDN 제어기(400)로 전달된 경우, 상기 클라이언트부(200)는 상기 전송된 HTTP Request 메시지에 응답하여 상기 SDN 제어기(400)로부터 전송되는 HTTP 응답 메시지를 수신하여 인터넷 연결을 유지한다.
또한, 상기 클라이언트부(200)는 목적지를 상기 웹 서버(300)로 하는 상기 HTTP Request 메시지가 완성될 때까지 연속적으로 HTTP 메시지를 상기 웹 서버(300)에 전송한다.
또한, 상기 클라이언트부(200)는 상기 HTTP Request 메시지와 연속적으로 전송되는 HTTP 메시지에 응답하여 상기 웹 서버(300) 또는 상기 SDN 제어기(400)로부터 전송되는 HTTP 응답 메시지를 수신한다.
상기 웹 서버(300)는 상기 SDN망(100)을 통해 소스(또는 출발지)에 해당하는 상기 클라이언트부(200)로부터 전송되는 정보를 수신한다.
또한, 상기 웹 서버(300)는 상기 SDN망(100)(또는 통신망/네트워크)을 통해 연결된 상기 클라이언트부(200)로부터 전송되는 HTTP Request 메시지(또는 Slow HTTP Request 메시지/패킷)를 수신한다.
또한, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지에 대한 응답 메시지(또는 HTTP 응답 메시지/응답 신호/ACK 신호)를 상기 HTTP Request 메시지를 전송한 상기 클라이언트부(200)에 전송한다.
또한, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지인지 여부를 판단(또는 확인/식별)한다. 이때, 상기 웹 서버(300)는 상기 웹 서버(300)로의 메시지 입력 연결의 수(Copen)와 임계 연결의 개수 임계치(Cth)를 비교하여, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지(또는 공격용 HTTP Request 메시지)인지 여부를 판단할 수 있다. 여기서, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지인지 여부를 판단하는 알고리즘은 상기 메시지 입력 연결의 수와 임계 연결의 개수 임계치를 비교하는 방식 이외에도, 다양한 공지된 방식들을 포함할 수 있다.
상기 판단 결과, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되지 않는 경우, 상기 웹 서버(300)는 상기 클라이언트부(200)로부터 상기 수신된 HTTP Request 메시지에 이어서 추가로(또는 연속적으로) 전송되는 HTTP 메시지(또는 HTTP continuation 메시지)를 수신하기 위한 대기 상태를 유지한다.
또한, 상기 판단 결과, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 경우, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)를 SDN 제어기(400)에 전송한다.
또한, 상기 웹 서버(300)는 상기 공격용으로 의심되는 HTTP Request 메시지를 전송한 상기 클라이언트부(200)와의 연결(또는 세션)을 종료(또는 세션 해지)한다.
또한, 상기 SDN 제어기(400)에서 상기 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)에 대한 공격성 여부 확인 결과, 해당 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인될 때, 상기 웹 서버(300)는 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신한다.
또한, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 응답하여, 추가 HTTP 응답 메시지를 상기 클라이언트부(200)에 전송한다.
상기 SDN 제어기(SDN controller)(400)는 상기 SDN망(100)을 통해 상기 클라이언트부(200), 상기 웹 서버(300) 등과 연결된다.
또한, 상기 SDN 제어기(400)는 DDoS 공격의 대응에 필요한 관련 메시지를 교환하기 위해서, 상기 웹 서버(300)와 TCP 3-way handshaking 방식 등으로 구성(또는 연결)되어, 서비스의 요청, 수락, 제공 등의 절차를 수행할 수 있다.
또한, 상기 SDN 제어기(400)는 SDN 특성을 활용하여 Slow HTTP DDoS 공격을 네트워크에서 탐지하고 차단한다. 여기서, 상기 SDN은 네트워크 장치의 제어 평면(control plane)과 데이터 평면(data plane)을 분리하여, 제어 기능을 논리적으로 중앙 집중화된 상기 SDN 제어기(400)에서 수행한다.
또한, 상기 SDN 제어기(400)는 담당 영역에 속한 네트워크의 전반적인 정보를 관리하며, 데이터 평면에서의 데이터 흐름을 제어하고, SDN 애플리케이션에 네트워크 추상화를 제공한다.
또한, 상기 SDN 제어기(400)는 자신이 관리하는 네트워크의 전반적인 지식(또는 정보/데이터)을 축적하고, 관리하고, 갱신하면서, SDN 애플리케이션을 활용하여 네트워크 운영의 효율성을 높이는 기능을 수행한다.
또한, 상기 SDN 제어기(400)(또는 공격 식별부(410))는 이와 같은 SDN의 구조와 특징을 활용하여 DDoS 공격을 탐지할 수 있으며, 탐지된 DDoS 공격은 공격자로부터의 데이터 플로우를 네트워크에서 차단하는 플로우 라우팅 규칙의 변경을 통해 Slow HTTP DDoS 공격에 대응할 수 있다.
이와 같이, 상기 SDN 제어기(400)는 상기 SDN망(100)의 정보를 수집하여, 이미 설정된 정보 전달 경로를 재설정할 수 있다.
또한, 상기 SDN 제어기(400)는 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)에 대한 공격성 여부를 확인하기 위한 공격 식별부(410)와, 상기 공격 식별부(410)에 따른 공격성 여부 확인 결과를 근거로 트래픽 경로를 제어(또는 재설정)하기 위한 트래픽 경로 제어부(420)로 구성할 수 있다.
또한, 상기 SDN 제어기(400)는 상기 웹 서버(300)로부터 전송되는 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)를 수신한다.
또한, 상기 SDN 제어기(400)는 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버(300)에서 상기 SDN 제어기(400)로 변경하는 정보(예를 들어 SDN 제어기(400)와 관련된 목적지 IP 정보, SDN 제어기(400)와 관련된 목적지 포트 정보 등 포함)(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보)를 포함하는 제 1 트래픽 경로 변경 요청 메시지(또는 Route-Change 메시지)를 하나 이상의 SDN 노드(110)에 전송한다.
또한, 상기 SDN 제어기(400)는 상기 제 1 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신한다.
또한, 상기 SDN 제어기(400)는 상기 수신된 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부(200)에 전송한다.
또한, 상기 SDN 제어기(400)는 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)에 대해서 공격성 여부를 확인(또는 판별/식별/판단)한다. 이때, 상기 SDN 제어기(400)는 공지된 다양한 공격성 여부 판별 방식을 이용하여 상기 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지에 대한 공격성 여부를 확인할 수 있다.
또한, 상기 SDN 제어기(400)는 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지 및/또는 연속적으로 수신되는 상기 HTTP 메시지(또는 HTTP Continuation 메시지)에 대한 공격성 여부를 확인할 수도 있다.
즉, 상기 SDN 제어기(400)는 단일한 상기 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지를 근거로 공격성 여부를 확인할 수도 있고, 상기 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지 및 상기 HTTP Request 메시지에 이어서 수신되는 하나 이상의 HTTP 메시지를 근거로 공격성 여부를 확인할 수도 있다.
상기 확인 결과, 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인되는 경우, 상기 SDN 제어기(400)는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이의 정보 전달 경로가 회복되어 정상적인 웹 서비스가 이루어지도록 하기 위해서, 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기(400)에서 상기 웹 서버(300)로 변경하는 정보(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보)를 포함하는 제 2 트래픽 경로 변경 요청 메시지(또는 Route-Change 메시지)를 상기 하나 이상의 SDN 노드(110)에 전송한다.
또한, 상기 확인 결과, 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지가 공격을 목적으로 하는 HTTP Request 메시지(또는 Slow HTTP Request 메시지)로 확인되는 경우, 상기 SDN 제어기(400)는 목적지를 상기 웹 서버(300)로 하여 공격자인 상기 클라이언트부(200)로부터 전송되는 메시지(또는 패킷)의 폐기를 위해서, 공격자인 상기 클라이언트부(200)의 소스 IP 정보, 목적지 IP 정보, 소스 포트 정보, 목적지 포트 정보(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보) 등을 포함하는 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드(110)에 전송한다.
본 발명의 실시예에서는 통신망이 SDN 기반인 경우에 한해 설명하고 있으나, 이에 한정되는 것은 아니며, 다양한 통신 방식을 사용하는 통신망(또는 네트워크)에서 상기 클라이언트부(200)와 상기 웹 서버(300) 사이에 형성되는 통신망 제어기(미도시)(예를 들어 상기 SDN 제어기(400) 등 포함)를 통해서, 상기 웹 서버(300)에서 공격용으로 의심되는 메시지를 수신하는 경우, 해당 웹 서버(300)에서는 해당 공격용으로 의심되는 메시지를 네트워크 단에 위치한 제3의 장치에서 수신하여 해당 메시지의 공격성 여부에 따라 추후 메시지를 상기 웹 서버(300)에 전달하거나 또는 추후 메시지를 네트워크 단에서 폐기하도록 구성할 수도 있다.
이와 같이, 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단할 수 있다.
또한, 이와 같이, 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우, SDN 제어기에서 웹 서버로부터 HTTP Request 메시지를 전달받은 직후, SDN 노드들에 트래픽 경로 변경 요청 메시지를 전송하여 클라이언트부로터로 연속적으로 전송되는 HTTP 메시지를 웹 서버를 대신하여 전달받으며, SDN 제어기에서 해당 HTTP Request 메시지에 대한 Slow HTTP DDoS 공격 여부 판별한 결과에 따라 SDN 노드들을 통하여 트래픽 경로를 복원하거나 해당 트래픽을 차단할 수 있다.
이하에서는, 본 발명에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법을 도 1 내지 도 3을 참조하여 상세히 설명한다.
도 2 내지 도 3은 본 발명의 실시예에 따른 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법을 나타낸 흐름도이다.
먼저, 웹 서버(300)는 SDN망(100)(또는 통신망/네트워크)을 통해 연결된 클라이언트부(200)로부터 전송되는 HTTP Request 메시지(또는 Slow HTTP Request 메시지/패킷)를 수신한다.
또한, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지에 대한 응답 메시지(또는 HTTP 응답 메시지/응답 신호/ACK 신호)를 상기 HTTP Request 메시지를 전송한 상기 클라이언트부(200)에 전송한다.
또한, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지인지 여부를 판단(또는 확인/식별)한다. 이때, 상기 웹 서버(300)는 상기 웹 서버(300)로의 메시지 입력 연결의 수(Copen)와 임계 연결의 개수 임계치(Cth)를 비교하여, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지(또는 공격용 HTTP Request 메시지)인지 여부를 판단할 수 있다. 여기서, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지인지 여부를 판단하는 알고리즘은 상기 메시지 입력 연결의 수와 임계 연결의 개수 임계치를 비교하는 방식 이외에도, 다양한 공지된 방식들을 포함할 수 있다.
일 예로, 상기 웹 서버(300)는 상기 SDN망(100)에 포함된 하나 이상의 SDN 노드(110)를 경유하여 상기 클라이언트부(200)로부터 전송되는 제 1 HTTP Request 메시지를 수신한다.
또한, 상기 웹 서버(300)는 상기 수신된 제 1 HTTP Request 메시지에 대한 응답 메시지인 제 1 HTTP 응답 메시지를 상기 클라이언트부(200)에 전송한다.
또한, 상기 클라이언트부(200)는 앞서 전송된 제 1 HTTP Request 메시지에 응답하여 상기 웹 서버(300)로부터 전송되는 제 1 HTTP 응답 메시지를 수신한다.
또한, 상기 웹 서버(300)는 상기 웹 서버(300)로의 메시지 입력 연결의 수(Copen)와 미리 설정된 임계 연결의 개수 임계치(Cth)를 비교하여, 상기 수신된 제 1 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지인지 여부를 판단한다(S210).
상기 판단 결과, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되지 않는 경우, 상기 웹 서버(300)는 상기 클라이언트부(200)로부터 상기 수신된 HTTP Request 메시지에 이어서 추가로(또는 연속적으로) 전송되는 HTTP 메시지(또는 HTTP continuation 메시지)를 수신하기 위한 대기 상태를 유지한다.
일 예로, 상기 판단 결과, 상기 웹 서버(300)로의 메시지 입력 연결의 수(Copen)가 상기 임계 연결의 개수 임계치(Cth)보다 작을 때, 상기 웹 서버(300)는 상기 제 1 HTTP Request 메시지 이후에 상기 클라이언트부(200)로부터 연속적으로 전송되는 HTTP 메시지(또는 HTTP Continuation 메시지)를 수신하기 위한 대기 상태를 유지한다(S220).
또한, 상기 판단 결과, 상기 수신된 HTTP Request 메시지가 공격용으로 의심되는 경우, 상기 웹 서버(300)는 상기 수신된 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)를 SDN 제어기(400)에 전송한다.
또한, 상기 웹 서버(300)는 상기 공격용으로 의심되는 HTTP Request 메시지를 전송한 상기 클라이언트부(200)와의 연결(또는 세션)을 종료(또는 세션 해지)한다.
일 예로, 상기 판단 결과, 상기 웹 서버(300)로의 메시지 입력 연결의 수(Copen)가 상기 임계 연결의 개수 임계치(Cth)보다 크거나 같을 때, 상기 웹 서버(300)는 상기 수신된 제 1 HTTP Request 메시지(또는 제 1 공격 의심 HTTP Request 메시지)를 상기 SDN 제어기(400)에 전송하고, 상기 클라이언트부(200)와의 연결을 종료한다(S230).
이후, 상기 SDN 제어기(400)는 상기 웹 서버(300)로부터 전송되는 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)를 수신한다.
또한, 상기 SDN 제어기(400)는 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버(300)에서 상기 SDN 제어기(400)로 변경하는 정보(예를 들어 SDN 제어기(400)와 관련된 목적지 IP 정보, SDN 제어기(400)와 관련된 목적지 포트 정보 등 포함)(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보)를 포함하는 제 1 트래픽 경로 변경 요청 메시지(또는 Route-Change 메시지)를 하나 이상의 SDN 노드(110)에 전송한다.
일 예로, 상기 SDN 제어기(400)는 상기 웹 서버(300)로부터 전송되는 제 1 HTTP Request 메시지(또는 제 1 공격 의심 HTTP Request 메시지)를 수신한다.
또한, 상기 SDN 제어기(400)는 상기 제 1 HTTP Request 메시지에 이어서 상기 클라이언트부(200)로부터 전송되는 제 1 HTTP Continuation 메시지의 목적지를 상기 웹 서버(300)에서 상기 SDN 제어기(400)로 변경하는 정보를 포함하는 제 1 트래픽 경로 변경 요청 메시지를 상기 SDN망(100)에 포함된 하나 이상의 SDN 노드(110)(또는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이에 위치한 하나 이상의 SDN 노드(110))에 전송한다(S240).
이후, 상기 하나 이상의 SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 1 트래픽 경로 변경 요청 메시지를 각각 수신한다.
또한, 상기 SDN 노드(110)는 상기 수신된 제 1 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지(또는 HTTP Continuation 메시지)를 상기 SDN 제어기(400)로 전달(또는 전송)한다.
또한, 상기 SDN 제어기(400)는 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신한다.
또한, 상기 SDN 제어기(400)는 상기 수신된 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부(200)에 전송한다.
일 예로, 상기 하나 이상의 SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 1 트래픽 경로 변경 요청 메시지를 각각 수신한다.
또한, 상기 하나 이상의 SDN 노드(110) 각각은 상기 수신된 제 1 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 상기 제 1 HTTP Request 메시지에 연속하여 전송되는 제 1 HTTP Continuation 메시지를 상기 웹 서버(300) 대신 상기 SDN 제어기(400)로 전송한다.
또한, 상기 SDN 제어기(400)는 상기 전송된 제 1 트래픽 경로 변경 요청 메시지 이후, 상기 하나 이상의 SDN 노드(110)를 통해 상기 클라이언트부(200)로부터 상기 제 1 HTTP Request 메시지에 연속하여 전송되는 제 1 HTTP Continuation 메시지를 수신하고, 상기 수신된 제 1 HTTP Continuation 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부(200)에 전송한다(S250).
이후, 상기 SDN 제어기(400)는 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지(또는 공격 의심 HTTP Request 메시지/Slow HTTP Request 메시지/공격 의심 Slow HTTP Request 메시지)에 대해서 공격성 여부를 확인(또는 판별/식별/판단)한다. 이때, 상기 SDN 제어기(400)는 공지된 다양한 공격성 여부 판별 방식을 이용하여 상기 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지에 대한 공격성 여부를 확인할 수 있다.
일 예로, 상기 SDN 제어기(400)는 상기 수신된 제 1 HTTP Request 메시지에 대해서 공격성 여부를 확인한다(S260).
상기 확인 결과, 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인되는 경우, 상기 SDN 제어기(400)는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이의 정보 전달 경로가 회복되어 정상적인 웹 서비스가 이루어지도록 하기 위해서, 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기(400)에서 상기 웹 서버(300)로 변경하는 정보(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보)를 포함하는 제 2 트래픽 경로 변경 요청 메시지(또는 Route-Change 메시지)를 상기 하나 이상의 SDN 노드(110)에 전송한다.
일 예로, 상기 확인 결과, 상기 수신된 제 1 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인될 때, 상기 SDN 제어기(400)는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이의 정보 전달 경로를 원래 상태로 복구하기 위해서, 상기 제 1 HTTP Request 메시지에 이어서 상기 클라이언트부(200)로부터 연속적으로 전송되는 제 1 Continuation 메시지의 목적지를 상기 SDN 제어기(400)에서 상기 웹 서버(300)로 변경하는 정보를 포함하는 제 2 트래픽 경로 변경 요청 메시지를 상기 SDN망(100)에 포함된 하나 이상의 SDN 노드(110)(또는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이에 위치한 하나 이상의 SDN 노드(110))에 전송한다(S270).
이후, 상기 하나 이상의 SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 2 트래픽 경로 변경 요청 메시지를 각각 수신한다.
또한, 상기 SDN 노드(110)는 상기 수신된 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 SDN 제어기(400) 대신 상기 웹 서버(300)로 전달(또는 전송)한다.
또한, 상기 웹 서버(300)는 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신한다.
또한, 상기 웹 서버(300)는 상기 수신된 연속적으로 이어지는 HTTP 메시지에 응답하여, 추가 HTTP 응답 메시지를 상기 클라이언트부(200)에 전송한다.
일 예로, 상기 하나 이상의 SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 2 트래픽 경로 변경 요청 메시지를 각각 수신한다.
또한, 상기 하나 이상의 SDN 노드(110) 각각은 상기 수신된 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 상기 제 1 HTTP Request 메시지에 연속하여 전송되는 제 1 HTTP Continuation 메시지를 상기 SDN 제어기(400) 대신 상기 웹 서버(300)로 전송한다.
또한, 상기 하나 이상의 SDN 노드(110)에서 상기 제 2 트래픽 경로 변경 요청 메시지를 수신한 이후, 상기 웹 서버(300)는 상기 하나 이상의 SDN 노드(110)를 통해 상기 클라이언트부(200)로부터 상기 제 1 HTTP Request 메시지에 연속하여 전송되는 제 1 HTTP Continuation 메시지를 수신한다(S280).
또한, 상기 확인 결과, 상기 수신된 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지가 공격을 목적으로 하는 HTTP Request 메시지(또는 Slow HTTP Request 메시지)로 확인되는 경우, 상기 SDN 제어기(400)는 목적지를 상기 웹 서버(300)로 하여 공격자인 상기 클라이언트부(200)로부터 전송되는 메시지(또는 패킷)의 폐기를 위해서, 공격자인 상기 클라이언트부(200)의 소스 IP 정보, 목적지 IP 정보, 소스 포트 정보, 목적지 포트 정보(또는 SDN 노드(110)의 트래픽 라우팅 규칙을 변경하는 정보) 등을 포함하는 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드(110)에 전송한다.
일 예로, 상기 확인 결과, 상기 수신된 제 1 HTTP Request 메시지가 공격용 HTTP Request 메시지로 확인될 때, 상기 SDN 제어기(400)는 공격자인 상기 클라이언트부(200)로부터 목적지를 상기 웹 서버(300)로 하여 전송되는 제 1 HTTP Continuation 메시지의 폐기를 위해서, 공격자인 상기 클라이언트부(200)의 소스 IP 정보, 목적지 IP 정보, 소스 포트 정보, 목적지 포트 정보 등을 포함하는 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드(110)(또는 상기 클라이언트부(200)와 상기 웹 서버(300) 사이에 위치한 하나 이상의 SDN 노드(110))에 전송한다(S290).
이후, 상기 하나 이상의 SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 3 트래픽 경로 변경 요청 메시지를 각각 수신한다.
또한, 상기 SDN 노드(110)는 상기 수신된 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지(또는 공격용 HTTP Request 메시지/공격용 HTTP Request 메시지/공격용 Slow HTTP Request 메시지)를 상기 SDN 제어기(400) 및 상기 웹 서버(300)에 전달하지 않고, 폐기(또는 삭제/리턴)한다.
일 예로, 상기 하나 이상의 SDN 노드(110)는 상기 SDN 제어기(400)로부터 전송되는 제 3 트래픽 경로 변경 요청 메시지를 각각 수신한다.
또한, 상기 하나 이상의 SDN 노드(110) 중 적어도 하나의 SDN 노드(110)는 상기 수신된 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버(300)를 목적지로 하여 상기 클라이언트부(200)로부터 상기 제 1 HTTP Request 메시지에 연속하여 전송되는 제 1 HTTP Continuation 메시지를 폐기 처리한다(S300).
본 발명의 실시예는 앞서 설명된 바와 같이, 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단하여, 완전하지 않은 HTTP 메시지를 전송해 웹 서버의 가용 연결 자원을 고갈시키는 Slow HTTP DDoS 공격으로 의심되는 트래픽을 웹 서버 대신 SDN 제어기로 입력되도록 하여 Slow HTTP DDoS 공격으로부터 웹 서버를 보호하여 웹 서버의 정상적인 동작 유지를 보장할 수 있다.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우, SDN 제어기에서 웹 서버로부터 HTTP Request 메시지를 전달받은 직후, SDN 노드들에 트래픽 경로 변경 요청 메시지를 전송하여 클라이언트부로터로 연속적으로 전송되는 HTTP 메시지를 웹 서버를 대신하여 전달받으며, SDN 제어기에서 해당 HTTP Request 메시지에 대한 Slow HTTP DDoS 공격 여부 판별한 결과에 따라 SDN 노드들을 통하여 트래픽 경로를 복원하거나 해당 트래픽을 차단하여, 탐지된 DDoS 공격자로부터의 트래픽을 웹 서버에 도착하기 전의 네트워크 장치에서 차단하도록 하여 웹 서버로 접속되는 트래픽의 연결과 네트워크 경로에서의 점유 대역폭의 낭비를 방지할 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 웹 서버에 공격용으로 의심되는 HTTP Request 메시지가 도착하는 경우에 상기 웹 서버에서 상기 공격용으로 의심되는 HTTP Request 메시지를 네트워크에 위치한 SDN 제어기로 전달하고, 상기 SDN 제어기에서 공격 대상인 웹 서버 대신에 Slow HTTP DDoS 공격 여부를 판별하고, 상기 판별 결과에 따라 네트워크 상의 노드(또는 라우터)를 통해 Slow HTTP 공격자로부터의 트래픽을 차단함으로써, 완전하지 않은 HTTP 메시지를 전송해 웹 서버의 가용 연결 자원을 고갈시키는 Slow HTTP DDoS 공격으로 의심되는 트래픽을 웹 서버 대신 SDN 제어기로 입력되도록 하여 Slow HTTP DDoS 공격으로부터 웹 서버를 보호하여 웹 서버의 정상적인 동작 유지를 보장할 수 있는 것으로, DDoS 공격 방어 분야, 네트워크 관리 분야, 분산 서버 분야 등에서 광범위하게 이용될 수 있다.
10: SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템
100: SDN망 110: SDN 노드/SDN 네트워크 노드
200: 클라이언트부 300: 웹 서버
400: SDN 제어기 410: 공격 식별부
420: 트래픽 경로 제어부

Claims (8)

  1. SDN 기반의 Slow HTTP DDoS 공격의 방어 방법에 있어서,
    웹 서버에 의해, 클라이언트부로부터 전송되는 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지로 판단될 때, 상기 HTTP Request 메시지를 SDN 제어기로 전송하는 단계;
    상기 SDN 제어기에 의해, 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버에서 상기 SDN 제어기로 변경하는 정보를 포함하는 제 1 트래픽 경로 변경 요청 메시지를 하나 이상의 SDN 노드에 전송하는 단계;
    상기 SDN 제어기에 의해, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지에 대해서 공격성 여부를 확인하는 단계;
    상기 확인 결과, 상기 HTTP Request 메시지가 공격을 목적으로 하는 HTTP Request 메시지로 확인될 때, 상기 SDN 제어기에 의해, 목적지를 상기 웹 서버로 하여 공격자인 상기 클라이언트부로부터 전송되는 메시지의 폐기를 위해서 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 단계; 및
    상기 하나 이상의 SDN 노드에 의해, 상기 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 폐기하는 단계를 포함하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법.
  2. 제 1 항에 있어서,
    상기 공격성 여부의 확인 결과, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인될 때, 상기 SDN 제어기에 의해, 상기 클라이언트부와 상기 웹 서버 사이의 정보 전달 경로를 복구하기 위해서 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기에서 상기 웹 서버로 변경하는 정보를 포함하는 제 2 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 단계;
    상기 하나 이상의 SDN 노드에 의해, 상기 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 웹 서버로 전송하는 단계; 및
    상기 웹 서버에 의해, 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신하는 단계를 더 포함하는 것을 특징으로 하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법.
  3. 제 1 항에 있어서,
    상기 제 3 트래픽 경로 변경 요청 메시지는,
    공격자인 상기 클라이언트부의 소스 IP 정보, 목적지 IP 정보, 소스 포트 정보 및 목적지 포트 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 방법.
  4. SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템에 있어서,
    SDN망;
    상기 SDN망을 통해 목적지를 웹 서버로 하는 HTTP Request 메시지를 전송하는 클라이언트부;
    상기 클라이언트부로부터 전송되는 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지로 판단될 때, 상기 HTTP Request 메시지를 SDN 제어기로 전송하는 웹 서버;
    상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 웹 서버에서 상기 SDN 제어기로 변경하는 정보를 포함하는 제 1 트래픽 경로 변경 요청 메시지를 하나 이상의 SDN 노드에 전송하고, 공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지가 공격을 목적으로 하는 HTTP Request 메시지로 확인될 때, 목적지를 상기 웹 서버로 하여 공격자인 상기 클라이언트부로부터 전송되는 메시지의 폐기를 위해서 제 3 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 상기 SDN 제어기; 및
    상기 제 3 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 폐기하는 상기 하나 이상의 SDN 노드를 포함하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템.
  5. 제 4 항에 있어서,
    상기 웹 서버는,
    상기 클라이언트부로부터 전송되는 HTTP Request 메시지가 공격용으로 의심되는 완전하지 않은 HTTP Request 메시지를 상기 SDN 제어기로 전송한 후, 상기 클라이언트부와의 연결을 종료하는 것을 특징으로 하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템.
  6. 제 4 항에 있어서,
    상기 하나 이상의 SDN 노드는,
    상기 제 1 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 SDN 제어기로 전달하며,
    상기 SDN 제어기는,
    상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신하고, 상기 수신된 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부로 전송하는 것을 특징으로 하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템.
  7. 제 4 항에 있어서,
    상기 SDN 제어기는,
    공격용으로 의심되는 완전하지 않은 상기 HTTP Request 메시지가 정상적인 HTTP Request 메시지로 확인될 때, 상기 클라이언트부와 상기 웹 서버 사이의 정보 전달 경로를 복구하기 위해서 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지의 목적지를 상기 SDN 제어기에서 상기 웹 서버로 변경하는 정보를 포함하는 제 2 트래픽 경로 변경 요청 메시지를 상기 하나 이상의 SDN 노드에 전송하는 것을 특징으로 하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템.
  8. 제 7 항에 있어서,
    상기 하나 이상의 SDN 노드는,
    상기 제 2 트래픽 경로 변경 요청 메시지를 근거로 상기 웹 서버를 목적지로 하여 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 상기 웹 서버로 전송하며,
    상기 웹 서버는,
    복구된 경로를 통해 상기 클라이언트부로부터 전송되는 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지를 수신하고, 상기 HTTP Request 메시지와 연속적으로 이어지는 HTTP 메시지에 대한 HTTP 응답 메시지를 상기 클라이언트부로 전송하는 것을 특징으로 하는 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템.
KR1020170149532A 2017-11-10 2017-11-10 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법 KR102016461B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170149532A KR102016461B1 (ko) 2017-11-10 2017-11-10 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법
US16/185,662 US10931711B2 (en) 2017-11-10 2018-11-09 System of defending against HTTP DDoS attack based on SDN and method thereof
CN201811330660.0A CN109768955B (zh) 2017-11-10 2018-11-09 基于软件定义网络防御分布式拒绝服务攻击的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170149532A KR102016461B1 (ko) 2017-11-10 2017-11-10 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190053540A true KR20190053540A (ko) 2019-05-20
KR102016461B1 KR102016461B1 (ko) 2019-08-30

Family

ID=66433717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170149532A KR102016461B1 (ko) 2017-11-10 2017-11-10 SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US10931711B2 (ko)
KR (1) KR102016461B1 (ko)
CN (1) CN109768955B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386232B1 (ko) * 2020-10-23 2022-04-13 한국과학기술원 Sdn 웹 인터페이스에 대한 csrf 취약점을 탐지하는 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659507B2 (en) * 2015-03-02 2020-05-19 Qualcomm Incorporated Indication for partial segment
US10749930B2 (en) 2015-03-02 2020-08-18 Qualcomm Incorporated Indication for partial segment
CN111624869B (zh) * 2020-04-25 2023-03-28 中国人民解放军战略支援部队信息工程大学 自动感知攻击行为方法、系统及以太网交换机
CN111835725B (zh) * 2020-06-12 2021-08-13 北京邮电大学 一种sdn控制器集群的网络攻击应对方法
US11405418B2 (en) 2020-06-16 2022-08-02 Bank Of America Corporation Automated distributed denial of service attack detection and prevention
CN111756719B (zh) * 2020-06-17 2022-06-24 哈尔滨工业大学 SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法
CN111885092A (zh) * 2020-09-10 2020-11-03 中国联合网络通信集团有限公司 一种边缘节点的DDoS攻击检测方法、处理方法及SDN
CN113992403A (zh) * 2021-10-27 2022-01-28 北京知道创宇信息技术股份有限公司 访问限速拦截方法及装置、防御服务器和可读存储介质
US11876713B1 (en) * 2023-03-13 2024-01-16 Intuit Inc. Client side backoff filter for rate limiting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100973076B1 (ko) * 2009-08-28 2010-07-29 (주)넷코아테크 분산 서비스 거부 공격 대응 시스템 및 그 방법
KR20110048349A (ko) * 2009-11-02 2011-05-11 한국전자통신연구원 Http를 이용한 통신에서 불완전한 get 요청 메시지에 의한 서비스 거부 공격을 탐지하는 방법 및 그 장치
KR101587845B1 (ko) 2014-09-26 2016-01-22 주식회사 엘지유플러스 디도스 공격을 탐지하는 방법 및 장치
KR20170109949A (ko) * 2016-03-22 2017-10-10 한국전자통신연구원 동적 네트워크 환경에서의 네트워크 보안 강화 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160036837A1 (en) * 2014-08-04 2016-02-04 Microsoft Corporation Detecting attacks on data centers
CN105791205B (zh) * 2014-12-15 2019-06-14 中国移动通信集团公司 一种防止ddos攻击的方法和装置
CN104506531B (zh) * 2014-12-19 2018-05-01 上海斐讯数据通信技术有限公司 针对流量攻击的安全防御系统及方法
US10701103B2 (en) * 2017-02-16 2020-06-30 Dell Products, L.P. Securing devices using network traffic analysis and software-defined networking (SDN)
CN107968785A (zh) * 2017-12-03 2018-04-27 浙江工商大学 一种SDN数据中心中防御DDoS攻击的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100973076B1 (ko) * 2009-08-28 2010-07-29 (주)넷코아테크 분산 서비스 거부 공격 대응 시스템 및 그 방법
KR20110048349A (ko) * 2009-11-02 2011-05-11 한국전자통신연구원 Http를 이용한 통신에서 불완전한 get 요청 메시지에 의한 서비스 거부 공격을 탐지하는 방법 및 그 장치
KR101587845B1 (ko) 2014-09-26 2016-01-22 주식회사 엘지유플러스 디도스 공격을 탐지하는 방법 및 장치
KR20170109949A (ko) * 2016-03-22 2017-10-10 한국전자통신연구원 동적 네트워크 환경에서의 네트워크 보안 강화 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386232B1 (ko) * 2020-10-23 2022-04-13 한국과학기술원 Sdn 웹 인터페이스에 대한 csrf 취약점을 탐지하는 방법 및 장치

Also Published As

Publication number Publication date
KR102016461B1 (ko) 2019-08-30
CN109768955A (zh) 2019-05-17
CN109768955B (zh) 2021-08-17
US10931711B2 (en) 2021-02-23
US20190149573A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
KR20190053540A (ko) SDN 기반의 Slow HTTP DDoS 공격의 방어 시스템 및 그 방법
Dayal et al. Research trends in security and DDoS in SDN
US7930740B2 (en) System and method for detection and mitigation of distributed denial of service attacks
US7596097B1 (en) Methods and apparatus to prevent network mapping
US7389537B1 (en) Rate limiting data traffic in a network
US6973040B1 (en) Method of maintaining lists of network characteristics
US8732832B2 (en) Routing apparatus and method for detecting server attack and network using the same
KR101442020B1 (ko) 송신 제어 프로토콜 플러딩 공격 방어 방법 및 장치
US20090013404A1 (en) Distributed defence against DDoS attacks
Huang et al. Countering denial-of-service attacks using congestion triggered packet sampling and filtering
Kavisankar et al. A mitigation model for TCP SYN flooding with IP spoofing
WO2016177131A1 (zh) 防止dos攻击方法、装置和系统
KR20110049282A (ko) 디도스 공격에 대한 디도스 탐지/차단 시스템 및 그 방법
Wang et al. Efficient and low‐cost defense against distributed denial‐of‐service attacks in SDN‐based networks
JP4259183B2 (ja) 情報処理システム、情報処理装置、プログラム、及び通信ネットワークにおける通信の異常を検知する方法
Adkins et al. Taming IP packet flooding attacks
Gelenbe et al. An autonomic approach to denial of service defence
JP5178573B2 (ja) 通信システムおよび通信方法
Kumarasamy et al. An active defense mechanism for TCP SYN flooding attacks
US8281400B1 (en) Systems and methods for identifying sources of network attacks
Wang et al. DoS attacks and countermeasures on network devices
US11838197B2 (en) Methods and system for securing a SDN controller from denial of service attack
Fowler et al. Impact of denial of service solutions on network quality of service
US20060225141A1 (en) Unauthorized access searching method and device
Kim et al. High-speed router filter for blocking TCP flooding under DDoS 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