KR20130030086A - 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치 - Google Patents

비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치 Download PDF

Info

Publication number
KR20130030086A
KR20130030086A KR1020110093618A KR20110093618A KR20130030086A KR 20130030086 A KR20130030086 A KR 20130030086A KR 1020110093618 A KR1020110093618 A KR 1020110093618A KR 20110093618 A KR20110093618 A KR 20110093618A KR 20130030086 A KR20130030086 A KR 20130030086A
Authority
KR
South Korea
Prior art keywords
session
attack
server
client
abnormal
Prior art date
Application number
KR1020110093618A
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 KR1020110093618A priority Critical patent/KR20130030086A/ko
Priority to US13/612,749 priority patent/US8966627B2/en
Publication of KR20130030086A publication Critical patent/KR20130030086A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering
    • 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/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

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

Abstract

비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치이 개시된다. 분산 서비스 거부 공격 방어 장치는 수집한 패킷을 파싱하여 헤더 정보를 추출하고, 추출된 헤더 정보에 기초하여 미리 정의된 유형의 비정상 세션 연결 종료를 추적한 후, 비정상 세션 연결 종료 개수를 측정하는 세션 추적부 및 측정된 비정상 세션 연결 종료 개수를 미리 설정된 임계값과 비교하여 분산 서비스 거부(DDoS) 공격 여부를 판단하는 공격 탐지부를 포함한다. 따라서, 분산 서비스 거부 공격에 대한 오탐율 및 탐지를 위한 연산량을 획기적으로 감소시킬 수 있다.

Description

비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치{METHOD AND APPARATUS FOR DEFENDING DISTRIBUTED DENIAL OF SERVICE ATTACK THROUGH ABNOMAL TERMINATED SESSION}
본 발명은 분산 서비스 거부 공격 방어 기술에 관한 것으로, 더욱 상세하게는 TCP 기반의 분산 서비스 거부 공격을 탐지하고 대응할 수 있는 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치에 관한 것이다.
분산 서비스 거부(DDoS: Distributed Denial-of-Service) 공격은, 불특정 다수의 공격자가 서버의 정상적인 서비스를 방해할 목적으로 대량의 데이터를 공격 대상 서버에 전송하여 공격 대상 네트워크나 서버의 성능을 급격하게 저하시킴으로써, 서버에서 제공하는 서비스를 사용하지 못하도록 하는 것을 의미한다.
DDoS 공격은 크게 네트워크 계층(Network Layer) 공격과 응용 계층(Application Layer) 공격으로 분류될 수 있다. 네트워크 계층 공격은 TCP Flooding, UDP Flooding, ICMP Flooding 등의 네트워크 계층의 공격을 의미하고, 응용 계층 공격은 HTTP Get Flooding, SIP Flooding, DNS Flooding 등의 응용 계층의 공격을 의미한다.
과거의 DDoS 공격은 변조된 IP(Spoofed IP)를 이용하여 비정상적인 트래픽을 대량으로 발생시켜 네트워크 대역폭이나 서버의 자원을 고갈시키는 공격이 주를 이루었기 때문에 트래픽 볼륨 기반의 통계적 기법을 이용하여 공격을 쉽게 탐지하고 대응할 수 있었다.
그러나, 최근에는 변조된 IP를 사용하지 않고 정상적인 IP를 이용하여 TCP 연결을 설정한 후 공격을 진행하는 방식이 사용되어, 공격 트래픽과 정상 트래픽의 구분이 어렵게 되었고, 이에 따라 단순 행위 기반이나 통계적 기법으로는 공격의 탐지가 불가능하게 되었다. 이와 같은 공격의 대표적인 예로는 TCP Connection Flooding을 들 수 있다.
TCP Connection Flooding은 TCP 세션 연결 후 아무런 데이터 패킷의 전송 없이 바로 FIN(finish) 또는 Reset 패킷을 전송하여 세션을 종료함으로써 서버의 부하를 가중시키는 공격이다. 즉, 정상적인 경우에는 TCP 세션을 연결하고 데이터를 전송한 후 세션을 종료하는 과정을 거치지만, TCP Connection Flooding 공격의 경우에는 TCP 세션을 연결하고 데이터 전송 과정 없이 바로 세션을 종료한다. 이와 같은 공격은 서버의 초당 세션 연결 개수(Connections per Second: CPS)를 가중시키기 때문에 CPS Flooding이라 불리기도 한다.
현재, TCP Connection Flooding 공격의 탐지를 위한 대부분의 DDoS 공격 탐지 장치들은 세션 연결을 요청하는 SYN 패킷의 개수만을 측정하고, 측정된 SYN 패킷의 개수가 임의의 임계치 이상인 경우 DDoS 공격으로 판단하는 방법을 사용하기 때문에 DDoS 공격에 대한 오탐율이 높은 단점이 있다.
상술한 바와 같은 TCP Connection Flooding 공격이 네트워크 계층의 대표적인 TCP 기반 DDoS 공격이라면, HTTP Get Flooding 공격은 응용 계층의 대표적인 DDoS 공격이라고 할 수 있다. HTTP Get Flooding 공격은 정상적으로 TCP 세션을 연결한 후 HTTP Get Request 메시지를 대량으로 서버에 전송하여 서버의 자원에 부하를 가중시킴으로써 서버의 서비스를 불능 상태로 만드는 공격이다.
HTTP Get Flooding 공격을 탐지하기 위한 종래의 방법은 HTTP Get Request 패킷의 개수를 측정하고, 측정된 개수가 정상적인 경우보다 많으면(즉, 측정된 개수가 임의의 임계치 이상이면) DDoS 공격으로 판단하는 방법을 사용함으로써 DDoS 공격에 대한 오탐율이 높은 단점이 있다. 이외에도 HTTP Get Flooding 공격을 탐지하기 위한 많은 방법들이 제안되었다. 예를 들어, 특정 URI(Unique Resource Identifier)에 HTTP Get Request 메시지를 전송하는 Source IP 들의 히스토리를 추적하여 탐지하는 기법, 서버의 URI 페이지 히트(Hit) 분포를 분석하는 기법, 서버에서 HTTP Get Request 메시지를 수신한 시간의 분포를 분석하여 공격을 탐지하는 기법, 응용 계층의 상태를 추적하여 공격을 탐지하는 기법 등이 있다. 그러나, 이와 같은 공격 탐지 방법들은 모두 응용 계층의 데이터, 즉 패킷의 유료부하(Payload)를 분석하여 Get 스트링을 검색하고 응용 계층에서의 연결 상태 추적 혹은 응용 계층에서의 플로우 별(예를 들면, URI 별) 분석 처리에 따른 많은 연산 작업을 필요로 하는 단점이 있다.
한국 공개특허 제2011-0054537호(발명의 명칭 : 분포 기반 디도스 공격 탐지 및 대응 장치)는 응용 계층의 DDoS 공격 중 HTTP Get Flooding 공격을 방어하기 위하여, HTTP 요청의 수신시간을 소정의 관측시간 동안 측정하여 HTTP 요청간의 수신시간 차를 산출한 후, 산출된 수신시간 차의 분포를 정상 트래픽 분포 정보와 비교한 후, 비교 결과에 기초하여 DDoS 공격을 탐지하는 기술을 개시하고 있다.
그러나, 한국 공개특허 제2011-0054537호는 HTTP 요청의 수신시간을 고려하여 DDoS 공격을 탐지하기 때문에 특정 이벤트로 인하여 서버에 정상적인 HTTP 요청이 대량으로 발생하는 경우에도 DDoS 공격으로 오탐지할 수 있는 단점이 있고, 응용 계층의 공격에 대한 탐지 방법만을 제시하고 있는 한계가 있다.
상술한 단점을 극복하기 위한 본 발명의 목적은 분산 서비스 거부 공격에 대한 오탐율 및 탐지를 위한 연산량을 획기적으로 감소시킬 수 있는 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은 분산 서비스 거부 공격에 대한 오탐율 및 탐지를 위한 연산량을 획기적으로 감소시킬 수 있는 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 장치는 수집한 패킷을 파싱하여 헤더 정보를 추출하고, 추출된 헤더 정보에 기초하여 미리 정의된 유형의 비정상 세션 연결 종료를 추적한 후, 상기 비정상 세션 연결 종료 개수를 측정하는 세션 추적부 및 상기 측정된 비정상 세션 연결 종료 개수를 미리 설정된 임계값과 비교하여 분산 서비스 거부(DDoS) 공격 여부를 판단하는 공격 탐지부를 포함한다.
여기서, 상기 세션 추적부는 상기 수집한 패킷으로부터 프로토콜, Source IP, Source Port, Destination IP 및 Destination Port 정보 중 적어도 하나의 헤더 정보와, TCP 플래그(flags) 정보를 추출할 수 있다.
여기서, 상기 세션 추적부는 상기 추출된 헤더 정보를 이용하여 세션의 상태를 추적하기 위한 세션 테이블 및 세션의 상태를 추적한 결과에 따라 상기 미리 정의된 유형의 비정상 세션 연결 종료 개수를 저장하는 플로우 테이블을 관리할 수 있고, 상기 분산 서비스 거부 공격 방어 장치는, 상기 세션 테이블 및 상기 플로우 테이블이 저장되는 저장부를 더 포함할 수 있다.
여기서, 상기 미리 정의된 유형의 비정상 세션 연결 종료는 클라이언트가 서버로부터 SYN/ACK 패킷을 수신하자마자 Reset 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 FIN 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 Reset 패킷을 전송하여 세션을 종료하는 유형 및 클라이언트와 서버간에 TCP 세션 연결 설정 후 데이터 전송을 마치고 클라이언트가 FIN 패킷을 서버로 전송한 후 다시 Reset 패킷을 전송하여 세션을 종료하는 유형 중 적어도 하나의 유형을 포함할 수 있다.
여기서, 상기 공격 탐지부는 상기 미리 정의된 유형의 비정상 세션 연결 종료 각각의 유형에 대해 측정된 비정상 세션 연결 종료 개수를 상기 임계값과 비교하고, 상기 미리 정의된 유형의 비정상 세션 연결 종료 각각의 유형 중 상기 임계값을 초과하는 비정상 세션 연결 종료 유형이 존재하는 경우 분산 서비스 거부 공격이 발생하는 것으로 판단할 수 있다.
여기서, 상기 공격 탐지부는 분산 서비스 거부 공격을 탐지하는 경우, 공격 탐지 정보 또는 경보 메시지를 생성하여 미리 정해진 방법에 따라 해당 장치에 전송하되, 상기 공격 탐지 정보는 해당 클라이언트의 프로토콜, Source IP, Destination Port 및 Destination IP 정보 중 적어도 하나의 정보를 포함할 수 있다.
여기서, 상기 분산 서비스 거부 공격 방어 장치는 상기 공격 탐지부로부터 제공된 공격 탐지 정보에 기초하여 상기 해당 클라이언트의 프로토콜, Source IP, Destination Port 및 Destination IP 정보 중 적어도 하나의 정보를 접근 제어 목록에 등록하여 상기 해당 클라이언트로부터 전송되는 패킷을 차단하는 공격 대응부를 더 포함할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법은, 수집된 패킷을 파싱하여 헤더 정보를 추출하는 단계와, 상기 추출된 헤더 정보에 기초하여 미리 정의된 유형의 비정상 세션 연결 종료를 추적하여 비정상 세션 연결 종료 개수를 측정하는 단계 및 상기 측정된 비정상 세션 연결 종료 개수를 미리 설정된 임계값과 비교하여 분산 서비스 거부 공격 발생 여부를 판단하는 단계를 포함한다.
여기서, 상기 미리 정의된 유형의 비정상 세션 연결 종료는 클라이언트가 서버로부터 SYN/ACK 패킷을 수신하자마자 Reset 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 FIN 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 Reset 패킷을 전송하여 세션을 종료하는 유형 및 클라이언트와 서버간에 TCP 세션 연결 설정 후 데이터 전송을 마치고 클라이언트가 FIN 패킷을 서버로 전송한 후 다시 Reset 패킷을 전송하여 세션을 종료하는 유형 중 적어도 하나의 유형을 포함할 수 있다.
상술한 바와 같은 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치에 따르면, 네트워크 상의 패킷을 수집하고 수십한 패킷을 파싱하여 헤더 정보를 추출한 후, 추출한 헤더 정보를 세션 테이블 및 플로우 테이블을 이용하여 관리함으로써 세션의 상태을 추적하고 이를 통해 미리 정의된 유형의 비정상 세션 연결 종료 개수를 측정한 후 미리 설정된 임계값과 비교하여 DDoS 공격을 탐지한다. 또한, DDoS 공격이 탐지되는 경우, 상기 추출한 헤더 정보의 4-Tuple 정보를 ACL에 등록한 후 해당 클라이언트로부터 전송되는 모든 패킷을 차단한다.
따라서, TCP 기반 DDoS 공격에서 나타나는 주요 특징인 비정상 세션 연결 종료 행위를 기반으로 공격을 탐지하므로, 네트워크 계층의 TCP Connection Flooding 공격 뿐만 아니라, 응용 계층의 HTTP Get Flooding 공격도 모두 탐지할 수 있다.
또한, 비정상 세션 연결 종료 행위를 기반으로 공격을 탐지하므로, DDoS 공격을 탐지하는 방법이 단순하므로, 소프트웨어 뿐만 아니라, 하드웨어 로직으로 구현이 가능하고, DDoS 공격의 오탐지율을 거의 0%로 유지할 수 있다.
또한, 응용 계층의 하위 계층인 네트워크 계층에서 모든 처리가 수행되므로, 탐지에 필요한 연산량을 획기적으로 감소시킬 수 있다.
또한, 반복적인 세션 연결과 종료를 통해 서버의 부하를 가중시키는 새로운 종료의 DDoS 공격이 출현하는 경우에도 이를 정확하게 탐지하고 대응할 수 있다.
도 1 내지 도 4는 클라이언트와 서버간의 정상적인 세션 연결 종료 과정을 나타내는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 첫 번째 경우를 나타내는 순서도이다.
도 6은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 두 번째 경우를 나타내는 순서도이다.
도 7은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 세 번째 경우를 나타내는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 네 번째 경우를 나타내는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 장치의 구성을 나타내는 블록도이다.
도 10은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 탐지를 위한 세션 추적 과정을 나타내는 상태 천이도이다.
도 11은 본 발명의 일 실시예에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법을 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 실시예에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어은 TCP 기반의 DDoS 공격을 대상으로 하며, 네트워크 계층의 TCP Flooding 공격뿐만 아니라 TCP 계층의 상위 계층에서 동작하는 응용 계층 공격(예를 들면, HTTP Get Flooding 공격)도 포함한다.
또한, 본 발명의 실시예에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법에서는 TCP 기반의 DDoS 공격을 탐지하기 위해 비정상 세션 연결 종료 행위를 추적한다. 이하에서는 비정상 세션 연결 종료 행위를 정의하기 전에 정상적인 세션 연결 종료 과정에 대해 먼저 설명한다.
도 1 내지 도 4는 클라이언트와 서버간의 정상적인 세션 연결 종료 과정을 나타내는 순서도이다.
먼저 첫 번째 정상적인 세션 종료의 경우는 도 1에 도시한 바와 같이 클라이언트에서 서버로 SYN 패킷을 전송하여 세션 연결을 요청하였으나, 요청받은 서버의 해당 포트가 폐쇄 포트(Closed Port) 상태인 경우, 서버는 클라이언트에 Reset(RST) 패킷을 전송함으로써 세션을 정상적으로 종료하는 경우이다.
두 번째 정상적인 세션 종료의 경우는 도 2에 도시한 바와 같이, 클라이언트가 SYN 패킷을 서버에 전송하고 서버가 이에 대한 응답으로 SYN/ACK 패킷을 클라이언트에 전송한 후 클라이언트가 ACK 패킷을 서버에 전송함으로써 클라이언트와 서버간에 세션 연결이 설정된 후, 클라이언트와 서버 사이에 데이터 전송이 수행되고, 데이터 전송이 완료되면 클라이언트가 서버에 FIN 패킷을 전송하고, 서버가 이에 대한 응답으로 ACK 패킷을 클라이언트에 전송한 후 FIN 패킷을 전송하면 클라이언트가 서버로부터 수신된 FIN 패킷에 대한 응답으로 서버에 ACK 패킷을 전송함으로써 세션을 정상적으로 종료하는 경우이다. 도 2에 도시한 바와 같은 세션 종료의 경우는 TCP 4-Way Handshaking 과정을 통해 정상적으로 세션을 종료하는 가장 일반적인 경우로서, 서버에서 클라이언트로 먼저 FIN 패킷을 전송하여 세션을 종료하는 경우도 정상적인 세션 종료에 해당한다고 할 수 있다.
세 번째 정상적인 세션 종료의 경우는 도 3에 도시한 바와 같이, 서버와 클라이언트간에 세션 연결이 설정되어 데이터 전송이 이루어진 후, 클라이언트가 서버에 FIN 패킷을 전송하고, 서버가 이에 대한 응답으로 ACK 패킷을 클라이언트에 전송한 후 FIN 패킷 대신 Reset(RST) 패킷을 전송하여 세션을 정상적으로 종료하는 경우이다.
네 번째 정상적인 세션 종료의 경우는 도 4에 도시한 바와 같이, 서버와 클라이언트간에 세션 연결이 설정되어 데이터 전송이 이루어진 후, 클라이언트가 서버에 바로 Reset(RST) 패킷을 전송하여 세션을 종료하는 경우이다.
한편, 본 발명의 실시예에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법에서는 TCP 기반 DDoS 공격을 탐지하기 위해 클라이언트와 서버간의 비정상 세션 연결 종료 과정을 모니터링한다. 이하, 도 5 내지 도 8을 참조하여 본 발명의 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 과정을 정의한다.
도 5는 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 첫 번째 경우를 나타내는 순서도이다.
도 5를 참조하면, 첫 번째 비정상 세션 연결 종료의 경우는 클라이언트가 서버로부터 SYN/ACK 패킷을 수신하자마자 Reset 패킷을 전송하여 세션을 종료하는 경우이다.
정상적인 세션 연결 종류의 경우라면 클라이언트에서 서버로 SYN 패킷을 전송하여 TCP 세션 연결 요청을 하고, 서버가 이에 대한 응답으로 SYN/ACK 패킷을 전송하면 클라이언트는 서버로 ACK 패킷을 전송하여 TCP 3-Way Handshaking 과정을 수행함으로써 세션 연결 설정을 완료한다. 그러나, 클라이언트가 DDoS 공격에 이용되는 좀비 PC의 경우에는 클라이언트가 서버로부터 SYN/ACK 패킷을 수신한 후 연결 설정을 위한 ACK 패킷을 전송하는 대신 Reset 패킷을 보내 세션 연결이 비정상적으로 종료되도록 한다.
일반적으로 세션 연결을 요청한 클라이언트가 연결 요청을 수락한 서버의 응답에 아무런 이유없이 바로 Reset 패킷을 전송하여 연결을 종료하는 것은 비정상적인 경우라 할 수 있다.
한편, 포트 스캔 기법 중 Half-Open Scan 기법이 도 5에 도시한 첫 번째 비정상적 세션 연결 종료와 유사한 양상을 보이는데, DDoS 공격과 다른 점은 Half-Open Scan 과정에서는 목적 포트(Destination Port)가 변화하는 반면, DDoS 공격에 이용되는 트래픽은 목적 포트가 고정된다는 것이다. 2009년 7월 7일 발생한 DDoS 공격 당시의 공격 트래픽을 분석한 결과, 도 5에 도시한 바와 같은 비정상 세션 종료 트래픽이 관찰되었다.
도 6은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 두 번째 경우를 나타내는 순서도이다.
도 6을 참조하면, 두 번째 비정상 세션 연결 종료의 경우는 클라이언트와 서버간에 TCP 세션 연결이 설정된 후, 아무런 데이터 전송 없이 클라이언트가 서버로 FIN 패킷을 전송하여 세션을 종료하는 경우이다.
일반적으로 TCP 3-Way Handshaking 과정을 거쳐 클라이언트와 서버간에 TCP 세션 연결 설정이 완료되면, 클라이언트는 서버로 데이터 요구(Data Request) 메시지를 전송하고 서버로부터 이에 대한 응답을 수신한다. 대표적인 데이터 요구 메시지로 HTTP Get Request 메시지를 들 수 있다. 그러나, 클라이언트가 DDoS 공격에 이용된 좀비 PC인 경우에는 서버의 자원에 부하를 가중시키기 위해 세션 연결 설정된 후 곧바로 FIN 패킷을 전송하여 해당 세션의 연결을 종료시킨다.
일반적으로 클라이언트와 서버간에 세션 연결 설정이 이루어진 후, 세션 연결을 요청한 클라이언트가 아무런 데이터 전송없이 바로 세션 연결을 종료하는 것은 비정상적인 경우라 할 수 있다. 이와 같은 공격은 서버의 초당 세션 연결 개수(Connections per Second: CPS)를 가중시키므로 CPS Flooding이라고도 불리며, DDoS 공격 툴인 Netbot Attacker의 메뉴 6번 'TCP Multi-Connect' 공격이 이러한 비정상 세션 종료 트래픽을 이용하여 공격한다.
도 7은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 세 번째 경우를 나타내는 순서도이다.
도 7을 참조하면, 세 번째 비정상 세션 연결 종료의 경우는 클라이언트와 서버간에 TCP 세션 연결이 설정된 후, 아무런 데이터 전송 없이 클라이언트가 서버로 Reset(RST) 패킷을 전송하여 세션을 종료하는 경우이다.
세 번째 비정상 세션 연결 종료의 경우는 도 6에 도시한 두 번째 비정상 세션 연결 종료의 경우와 유사하다. 즉, 클라이언트와 서버간에 TCP 세션 연결 설정이 이루어진 후, 세션 연결을 요청한 클라이언트가 아무런 데이터를 전송하지 않고 세션을 종료하기 위해 Reset 패킷을 서버에 전송한다. 여기서, Reset 패킷은 FIN 패킷과 달리 클라이언트와 서버간에 핸드쉐이킹(Handshaking) 과정을 거치지 않고, 단 하나의 Reset 패킷을 전송하는 것만으로 세션을 종료시킨다.
도 8은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법에서 모니터링되는 비정상 세션 연결 종료 중 네 번째 경우를 나타낸다.
도 8을 참조하면, 네 번째 비정상 세션 연결 종료의 경우는 클라이언트와 서버간에 TCP 세션 연결 설정 후 데이터 전송을 마치고, 클라이언트가 FIN 패킷을 서버로 전송한 후 다시 Reset 패킷을 전송하여 세션을 종료하는 경우이다.
일반적으로 TCP 3-Way Handshaking 과정을 거쳐 클라이언트와 서버간 TCP 세션 연결 설정이 완료되면, 클라이언트는 서버로 데이터 요구(Data Request) 메시지를 전송하고 이에 대한 응답을 수신한다. 이후, 클라이언트는 세션 연결을 종료하기 위한 FIN 패킷을 서버로 전송하고, 정상적인 경우 클라이언트는 서버로부터 ACK 패킷을 수신한 후, 서버로부터 FIN 패킷이나 Reset 패킷을 수신하여 세션을 종료한다.
그러나, DDoS 공격의 경우에는 보다 신속하게 세션 연결 설정 요구 및 데이터 요구(Data Request) 메시지 전송을 통한 공격 패킷을 발송하기 위해 클라이언트는 직전에 서버로 FIN 패킷을 전송했음에도 불구하고 다시 Reset 패킷을 전송한다. 이는 DDoS 공격으로 인해 서버에 부하가 증가하게 되면 FIN 패킷에 대한 응답으로 서버로부터 ACK 패킷 전송이나, 핸드쉐이킹(Handshaking) 과정에서 서버로부터 클라이언트로 전송되는 두 번째 FIN 패킷을 수신하는데 오랜 시간이 걸리므로, 공격자인 클라이언트는 보다 빠르게 기존의 세션을 종료시키기 위해 FIN 패킷을 전송한 후 곧바로 Reset 패킷을 전송하는 것이다.
상기한 바와 같은 DDoS 공격에서 클라이언트가 처음부터 Reset 패킷을 전송하여 세션을 종료하지 않고, FIN 패킷을 전송하는 이유는 서버에 보다 많은 부하를 주기 위함이다. 서버는 클라이언트로부터 FIN 패킷을 수신하여도 바로 세션을 종료하지 않고 FIN 패킷에 대한 응답으로 ACK 패킷을 전송한 후, 서버에서 클라이언트로 데이터 전송할 것이 있는 경우 데이터를 모두 전송한 후 FIN 패킷을 클라이언트로 전송하여 세션을 종료한다. 그러나 Reset 패킷을 전송하면 바로 세션을 종료하게 되므로, 공격자는 서버에 보다 많은 부하를 주기 위해 처음에는 FIN 패킷을 전송하고 이후에 Reset 패킷을 전송하여 자신의 세션 자원을 빠르게 반환하여 다음 공격에 이용한다. 서버는 DDoS 공격으로 인한 극심한 부하가 걸린 상태로 클라이언트부터 전달된 Reset 패킷을 제대로 처리하지 못하여 DDoS 상태로 계속해서 남아있게 된다.
도 8에 도시한 바와 같은 네 번째 비정상 세션 연결 종료를 이용한 DDoS 공격은 DDoS 공격 툴인 Netbot Attacker의 메뉴 중, Web Attack 관련하여 메뉴 7번 'NoCache Get Flood', 메뉴 8번 'CC Attack', 메뉴 9번 'HTTP Get Nothing' 공격이 이러한 형태의 트래픽을 이용하여 공격한다. 즉, 세션 연결이 설정된 후, 데이터 요구 메시지로 HTTP Get Request 메시지를 이용하는 것이다. 또한 2009년 7.7 DDoS 공격 당시의 공격 트래픽을 분석한 결과, HTTP Get Flooding 공격에서 위와 같은 비정상 세션 종료 트래픽이 관찰되었다.
이하, 도 5 내지 도 8에 도시한 바와 같은 4 가지 비정상 세션 연결 종료를 추적하여 DDoS 공격의 방어 과정을 설명한다.
도 9는 본 발명의 일 실시예에 따른 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 장치의 구성을 나타내는 블록도이다.
도 9를 참조하면, 분산 서비스 거부 공격 방어 장치는 세션 추적부(110), 저장부(130), 공격 탐지부(150) 및 공격 대응부(170)를 포함할 수 있다.
세션 추적부(110)는 네트워크 상에서 패킷을 수집하고, 수집된 패킷을 파싱(parsing)하여 공격 탐지 및 대응에 필요한 헤더 정보를 추출한다. 이를 위해 세션 추적부(110)는 패킷 파싱 모듈(111)을 포함할 수 있다. 추출된 헤더 정보에는 세션 추적 및 관리를 위한 5-Tuple 정보(예를 들면, 프로토콜, source IP, source Port, Destination IP, Destination Port)와, 세션 상태 정보를 추적하기 위한 TCP Flags 정보(예를 들면, SYN(Synchronization), ACK(Acknowledgement), FIN(Finish), RST(Reset) 등)를 포함한다.
또한, 세션 추적부(110)는 후술하는 바와 같이 상기 추출된 헤더 정보들을 이용하여 세션 테이블(Session Table, 131) 및 플로우 테이블(Flow Table, 133)을 관리한다. 여기서, 상기 세션 테이블(131)은 세션의 상태 정보를 추적 및 관리하기 위해 사용되고, 상기 플로우 테이블(133)은 상기 세션 테이블(131)을 통해 세션의 상태 정보를 추적한 결과에 상응하여 상술한 바와 같이 정의된 비정상 세션 연결 종료의 4가지 경우 각각에 대해 비정상 세션 연결 종료 개수를 측정하기 위해 사용된다. 즉, 본 발명의 일 실시예에서 세션 테이블(131)과 플로우 테이블(133)은 DDoS 공격을 탐지하기 위한 기본 정보로 사용된다.
저장부(130)에는 상기 세션 추적부(110)에 의해 관리되는 세션 테이블(131) 및 플로우 테이블(133)이 저장된다.
공격 탐지부(150)는 상기 저장부(130)에 저장된 플로우 테이블(133)에 포함된 비정상 세션 연결 종료 개수를 미리 설정된 임계값(threshold)과 비교하여 미리 정해진 소정 시간 동안 비정상 세션 연결 종료 개수가 상기 임계값 보다 큰 경우 DDoS 공격이 발생된 것으로 판단함으로써, DDoS 공격을 탐지한다.
여기서, 공격 탐지부(150)는 도 5 내지 도 8에 도시한 바와 같은 비정상 세션 연결 종료의 4 가지 경우 각각의 발생 개수를 미리 설정된 임계값과 비교할 수 있고, 상기 임계값은 비정상 세션 연결 종료의 각 경우 별로 다르게 설정될 수도 있고, 모든 비정상 세션 연결 종료의 경우에 대해 동일한 값으로 설정될 수도 있다. 또한, 본 발명의 일 실시예에 따르면, 비정상 세션 연결 종료가 하나라도 발생하는 경우 이를 탐지할 수 있으나, DDoS 공격의 오탐율을 최소화하기 위해 미리 설정된 최적의 임계치와 비교하여 비정상 세션 연결 종료 개수가 임계치를 초과할 때 해당 플로우에 대해 DDoS 공격을 탐지하도록 한다.
공격 탐지부(150)는 상술한 바에 따라 DDoS 공격을 탐지하는 경우, 공격 탐지 정보 또는 경보 메시지를 생성하여 미리 정해진 방법에 따라 해당 장치(예를 들면 관리자의 장치)에 전송할 수 있다. 또한 공격 탐지부(150)는 DDoS 공격이 탐지되는 경우, 공격 탐지 정보를 공격 대응부(170)에 제공한다. 여기서, 상기 공격 탐지 정보는 DDoS 공격을 수행하는 해당 클라이언트의 정보를 포함할 수 있다.
공격 대응부(170)는 공격 탐지부(150)로부터 공격 탐지 정보가 제공되면 이에 상응하여 해당 클라이언트 장치로부터 전송되는 모든 패킷을 차단한다.
구체적으로 공격 대응부(170)는 공격 대응부(170)로부터 제공된 공격 탐지 정보에 포함된 해당 클라이언트의 Source IP를 기반으로 하는 4-Tuple 정보(예를 들면, 프로토콜, Source IP, Destination Port, Destination IP) 정보를 접근 제어 목록(ACL: Access Control List)에 등록하여 해당 클라이언트로부터 전송되는 모든 패킷을 차단한다. 본 발명의 실시예에서는 공격 탐지가 이루어진 플로우에 대해서는 클라이언트와 서버간에 핸드쉐이킹 과정을 거치므로 Source IP는 변조될 수 없다는 점을 이용하여 Souce IP 기반으로 해당 클라이언트의 패킷 전송을 차단함으로써 DDoS 공격을 차단한다.
도 9에 도시한 분산 서비스 거부 공격 방어 장치는 네트워크 단 및/또는 호스트 단에 적용되어 DDoS 공격을 탐지하도록 설치될 수 있다. 또한, 분산 서비스 거부 공격 방어 장치는 특정 호스트에 소프트웨어적으로 구성될 수도 있고, FPGA(Field Programmable Gate Array) 등을 이용한 하드웨어 로직으로 구현될 수도 있다.
도 10은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 탐지를 위한 세션 추적 과정을 나타내는 상태 천이도로서, 도 9에 도시한 세션 추적부(110)에 의해 수행되는 세션 추적 과정을 나타낸다.
세션 테이블(131)은 TCP 연결 설정을 위한 기본 5-Tuple 정보(예를 들면, Protocol, Source IP, Source Port, Destination IP, Destination Port)를 기반으로 각각의 세션 엔트리들의 상태를 추적하고 관리하기 위해 사용된다.
구체적으로, 세션 추적부(110)는 기본적으로 3-Way Handshaking을 통한 세션 연결 설정, 데이터 전송 및 세션 종료 과정을 추적한다. 또한, 세션 추적부(110)는 상기 방식을 통해 관리되는 세션과 세션 상태 정보 추적을 통해 모니터링되는 비정상 세션 연결 종료에 해당하는 세션(또는 플로우)에 대해, 4-Tuple 정보(예를 들면, Protocol, Source IP, Destination IP, Destination Port)를 기반으로 플로우 테이블(133)을 이용하여 그 개수를 측정한다. 여기서, 플로우 테이블(133)을 통해 측정되는 비정상 세션 연결 종료의 경우는 도 5 내지 도 8에 도시한 바와 같은 4 가지 경우이다.
즉, 플로우 테이블(133)을 통해 관리되는 비정상 세션 연결 종료의 개수는 하기의 4 가지 경우를 포함한다.
- 비정상 세션 연결 종료의 제1 경우 발생 개수(Abnormal Terminated Session Case 1 Count): 클라이언트가 서버로부터 SYN/ACK 패킷을 수신하자마자 Reset 패킷을 전송하여 연결을 종료하는 세션의 개수
- 비정상 세션 연결 종료의 제2 경우 발생 개수(Abnormal Terminated Session Case 2 Count): TCP 세션 연결 설정 후, 아무런 데이터 전송없이 클라이언트가 FIN 패킷을 전송하여 연결을 종료하는 세션의 개수
- 비정상 세션 연결 종료의 제3 경우 발생 개수(Abnormal Terminated Session Case 3 Count): TCP 세션 연결 설정 후, 아무런 데이터 전송없이 클라이언트가 Reset 패킷을 전송하여 연결을 종료하는 세션의 개수
- 비정상 세션 연결 종료의 제4 경우 발생 개수(Abnormal Terminated Session Case 4 Count): TCP 세션 연결 후 데이터 전송을 마치고, 클라이언트가 FIN 패킷을 전송한 후 다시 Reset 패킷을 전송하여 연결을 종료하는 세션의 개수
이하, 도 10을 참조하여 세션 테이블(131) 및 플로우 테이블(133) 관리 방법을 보다 구체적으로 설명한다.
먼저, 소정의 클라이언트가 TCP 세션 연결을 위해 서버로 SYN 패킷을 전송하면, 세션 추적부(110)는 세션 테이블(131)의 세션 엔트리를 검색하여 해당 엔트리가 존재하지 않는 경우 세션 테이블(131) 및 플로우 테이블(133)에 새로운 엔트리를 생성하고, 초기 상태인 'S0'에서 'S1'으로 상태를 천이시킨다.
이후, 서버에서 클라이언트로 SYN/ACK 패킷이 전송되면 세션 추적부(110)는 상태를 'S1'에서 'S2'로 천이시키고, 세션 연결을 위한 3-Way Handshaking의 마지막 단계인 ACK 패킷이 클라이언트에서 서버로 전송되면 상태를 'S2'에서 'S3'로 천이시킨다. 만약, 상태 'S2'에서 ACK 패킷이 아닌 Reset 패킷이 클라이언트에서 서버로 전송되면 세션 추적부(110)는 상태를 'S2'에서 'S0'로 천이시키고, 플로우 테이블(133)의 해당 엔트리에 대해 'Abnormal Terminated Session Case 1 Count'를 1 만큼 증가시킨다. 여기서, 상기 'Abnormal Terminated Session Case 1 Count'의 증가값은 해당 4-Tuple 정보와 대응되어 플로우 테이블(133)에 저장될 수 있다.
또한, 클라이언트와 서버간에 세션 연결이 설정된 후(즉, 상태 'S3'), 데이터 전송없이 바로 FIN 패킷이나 Reset 패킷이 클라이언트에서 서버로 전송되면 세션 추적부(110)는 'S3' 상태에서 초기 상태인 'S0' 상태로 상태를 천이시킨다. 이 때, 클라이언트에서 서버로 전송되는 패킷이 FIN 패킷인 경우 상태 추적부는 플로우 테이블(133)의 해당 엔트리에서 'Abnormal Terminated Session Case 2 Count'를 1 만큼 증가시키고, 클라이언트에서 서버로 전송되는 패킷이 Reset 패킷인 경우에는 플로우 테이블(133)의 해당 엔트리에서 'Abnormal Terminated Session Case 3 Count'를 1 만큼 증가시킨다. 여기서, 상기'Abnormal Terminated Session Case 2 Count' 또는 'Abnormal Terminated Session Case 3 Count'의 증가값은 해당 4-Tuple 정보와 대응되어 플로우 테이블(133)에 저장될 수 있다.
또는, 클라이언트와 서버간에 세션 연결이 설정된 후(즉, 상태 'S3'), 데이터 전송이 이루어지면 세션 추적부(110)는 상태를 'S3'에서 'S4'로 천이시키고, 이후 클라이언트에서 서버로 FIN 패킷이 전송되면 상태를 'S4'에서 'S5'로 천이시킨다. 이후, 'S5'상태에서 클라이언트가 서버로 Reset 패킷을 전송하면 세션 추적부(110)는 상태를 현재 상태인 'S5'에서 초기 상태인 'S0' 상태로 천이시키고, 플로우 테이블(133)의 해당 엔트리에 대한 'Abnormal Terminated Session Case 4 Count'를 1 만큼 증가시킨다. 여기서, 상기 'Abnormal Terminated Session Case 4 Count'의 증가값은 해당 4-Tuple 정보와 대응되어 플로우 테이블(133)에 저장될 수 있다.
도 9 및 도 10에 도시한 바와 같이 본 발명의 일 실시예에 따른 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 장치는 클라이언트와 서버간의 각 세션의 연결 설정 및 종료 과정의 추적을 통해 세션 테이블(131)과 플로우 테이블(133)을 관리하고 이를 유기적으로 연동시켜 DDoS 공격 탐지에 필요한 측정 정보를 생성하고, 생성한 측정 정보에 기초하여 DDoS 공격의 탐지 및 대응을 수행한다.
도 11은 본 발명의 일 실시예에 따른 분산 서비스 거부 공격 방어 방법을 나타내는 흐름도로서, 도 9에 도시한 분산 서비스 거부 공격 방어 장치에 의해 수행될 수 있다. 이하, 설명의 편의를 위해 분산 서비스 거부 공격 방어 장치를 DDoS 공격 방어 장치라 지칭한다.
도 11을 참조하면, 먼저 DDoS 공격 방어 장치는 네트워크 상에서 송수신 되는 패킷을 획득한다(단계 210).
이후, DDoS 공격 방어 장치는 획득한 패킷을 파싱하여 패킷의 헤더 정보 추출한다(단계 220). 여기서, 추출된 헤더 정보에는 세션 추적 및 관리를 위한 5-Tuple 정보(예를 들면, 프로토콜, source IP, source Port, Destination IP, Destination Port)와, 세션 상태 정보를 추적하기 위한 TCP Flags 정보(예를 들면, SYN(Synchronization), ACK(Acknowledgement), FIN(Finish), RST(Reset) 등)를 포함한다.
DDoS 공격 방어 장치는 추출된 헤더 정보를 이용하여 세션의 상태를 추적하여 상기한 바와 같이 정의된 4 가지 비정상 세션 연결 종료의 경우를 모니터링하여 비정상 세션 연결 종료 개수를 측정한다(단계 230). 여기서, DDoS 공격 방어 장치는 도 10에 도시한 바와 같이 추출된 헤더 정보를 이용하여 세션의 상태를 판단하고 판단된 세션의 상태를 세션 테이블(131) 및 플로우 테이블(133)을 통해 관리함으로써 세션 테이블(131) 및 플로우 테이블(133)을 DDoS 공격 탐지를 위한 기본 정보로 사용한다.
이후, DDoS 공격 방어 장치는 플로우 테이블(133)에 저장된 비정상 세션 연결 종료 개수를 미리 설정된 임계값과 비교하고(단계 240), 비교 결과에 따라 DDoS 공격의 탐지 여부를 판단한다(단계 250). 여기서, DDoS 공격 방어 장치는 미리 정해진 소정 시간 동안 비정상 세션 연결 종료 개수가 상기 임계값 보다 큰 경우 DDoS 공격이 발생된 것으로 판단한다.
이후, DDoS 공격 방어 장치는 DDoS 공격이 발생한 것으로 판단되면, 해당 클라이언트의 Source IP를 기반으로 하는 4-Tuple 정보(예를 들면, 프로토콜, Source IP, Destination Port, Destination IP) 정보를 접근 제어 목록(ACL: Access Control List)에 등록하여 해당 클라이언트로부터 전송되는 모든 패킷을 차단한다(단계 260).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110 : 세션 추적부 111 : 패킷 파싱 모듈
130 : 저장부 131 : 세션 테이블
133 : 플로우 테이블 150 : 공격 탐지부
170 : 공격 대응부

Claims (12)

  1. 수집한 패킷을 파싱하여 헤더 정보를 추출하고, 추출된 헤더 정보에 기초하여 미리 정의된 유형의 비정상 세션 연결 종료를 추적한 후, 상기 비정상 세션 연결 종료 개수를 측정하는 세션 추적부; 및
    상기 측정된 비정상 세션 연결 종료 개수를 미리 설정된 임계값과 비교하여 분산 서비스 거부(DDoS) 공격 여부를 판단하는 공격 탐지부를 포함하는 분산 서비스 거부 공격 방어 장치.
  2. 제1항에 있어서, 상기 세션 추적부는
    상기 수집한 패킷으로부터 프로토콜, Source IP, Source Port, Destination IP 및 Destination Port 정보 중 적어도 하나의 헤더 정보와, TCP 플래그(flags) 정보를 추출하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 장치.
  3. 제1항에 있어서, 상기 세션 추적부는
    상기 추출된 헤더 정보를 이용하여 세션의 상태를 추적하기 위한 세션 테이블 및 세션의 상태를 추적한 결과에 따라 상기 미리 정의된 유형의 비정상 세션 연결 종료 개수를 저장하는 플로우 테이블을 관리하고,
    상기 분산 서비스 거부 공격 방어 장치는, 상기 세션 테이블 및 상기 플로우 테이블이 저장되는 저장부를 더 포함하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 장치.
  4. 제1항에 있어서, 상기 미리 정의된 유형의 비정상 세션 연결 종료는
    클라이언트가 서버로부터 SYN/ACK 패킷을 수신하자마자 Reset 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 FIN 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 Reset 패킷을 전송하여 세션을 종료하는 유형 및 클라이언트와 서버간에 TCP 세션 연결 설정 후 데이터 전송을 마치고 클라이언트가 FIN 패킷을 서버로 전송한 후 다시 Reset 패킷을 전송하여 세션을 종료하는 유형 중 적어도 하나의 유형을 포함하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 장치.
  5. 제4항에 있어서, 상기 공격 탐지부는
    상기 미리 정의된 유형의 비정상 세션 연결 종료 각각의 유형에 대해 측정된 비정상 세션 연결 종료 개수를 상기 임계값과 비교하고, 상기 미리 정의된 유형의 비정상 세션 연결 종료 각각의 유형 중 상기 임계값을 초과하는 비정상 세션 연결 종료 유형이 존재하는 경우 분산 서비스 거부 공격이 발생하는 것으로 판단하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 장치.
  6. 제1항에 있어서, 상기 공격 탐지부는
    분산 서비스 거부 공격을 탐지하는 경우, 공격 탐지 정보 또는 경보 메시지를 생성하여 미리 정해진 방법에 따라 해당 장치에 전송하되, 상기 공격 탐지 정보는 해당 클라이언트의 프로토콜, Source IP, Destination Port 및 Destination IP 정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 장치.
  7. 제6항에 있어서, 상기 분산 서비스 거부 공격 방어 장치는
    상기 공격 탐지부로부터 제공된 공격 탐지 정보에 기초하여 상기 해당 클라이언트의 프로토콜, Source IP, Destination Port 및 Destination IP 정보 중 적어도 하나의 정보를 접근 제어 목록에 등록하여 상기 해당 클라이언트로부터 전송되는 패킷을 차단하는 공격 대응부를 더 포함하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 장치.
  8. 수집된 패킷을 파싱하여 헤더 정보를 추출하는 단계;
    상기 추출된 헤더 정보에 기초하여 미리 정의된 유형의 비정상 세션 연결 종료를 추적하여 비정상 세션 연결 종료 개수를 측정하는 단계; 및
    상기 측정된 비정상 세션 연결 종료 개수를 미리 설정된 임계값과 비교하여 분산 서비스 거부 공격 발생 여부를 판단하는 단계를 포함하는 분산 서비스 거부 공격 방어 방법.
  9. 제8항에 있어서, 상기 수집된 패킷을 파싱하여 헤더 정보를 추출하는 단계는,
    상기 수집한 패킷으로부터 프로토콜, Source IP, Source Port, Destination IP 및 Destination Port 정보 중 적어도 하나의 헤더 정보와, TCP 플래그(flags) 정보를 추출하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 방법.
  10. 제8항에 있어서, 상기 비정상 세션 연결 종료 개수를 측정하는 단계는,
    상기 추출된 헤더 정보를 이용하여 세션의 상태를 추적하기 위한 세션 테이블 및 세션의 상태를 추적한 결과에 따라 상기 미리 정의된 유형의 비정상 세션 연결 종료 개수를 저장하는 플로우 테이블을 통해 상기 비정상 세션 연결 종료 개수를 측정하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 방법.
  11. 제8항에 있어서, 상기 미리 정의된 유형의 비정상 세션 연결 종료는
    클라이언트가 서버로부터 SYN/ACK 패킷을 수신하자마자 Reset 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 FIN 패킷을 전송하여 세션을 종료하는 유형, 클라이언트와 서버간에 TCP 세션 연결이 설정된 후 데이터 전송 없이 클라이언트가 서버로 Reset 패킷을 전송하여 세션을 종료하는 유형 및 클라이언트와 서버간에 TCP 세션 연결 설정 후 데이터 전송을 마치고 클라이언트가 FIN 패킷을 서버로 전송한 후 다시 Reset 패킷을 전송하여 세션을 종료하는 유형 중 적어도 하나의 유형을 포함하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 방법.
  12. 제8항에 있어서, 상기 분산 서비스 거부 공격 방어 방법은,
    상기 분산 서비스 거부 공격 발생 여부를 판단하는 단계의 실행을 통해 분산 서비스 거부 공격을 탐지하는 경우,
    분산 서비스 거부 공격을 발생시킨 해당 클라이언트의 프로토콜, Source IP, Destination Port 및 Destination IP 정보 중 적어도 하나의 정보를 접근 제어 목록에 등록하여 상기 해당 클라이언트로부터 전송되는 패킷을 차단하는 단계를 더 포함하는 것을 특징으로 하는 분산 서비스 거부 공격 방어 방법.
KR1020110093618A 2011-09-16 2011-09-16 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치 KR20130030086A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110093618A KR20130030086A (ko) 2011-09-16 2011-09-16 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치
US13/612,749 US8966627B2 (en) 2011-09-16 2012-09-12 Method and apparatus for defending distributed denial-of-service (DDoS) attack through abnormally terminated session

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110093618A KR20130030086A (ko) 2011-09-16 2011-09-16 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130030086A true KR20130030086A (ko) 2013-03-26

Family

ID=47881952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110093618A KR20130030086A (ko) 2011-09-16 2011-09-16 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치

Country Status (2)

Country Link
US (1) US8966627B2 (ko)
KR (1) KR20130030086A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701794A (zh) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 拒绝服务攻击的识别方法和装置
KR101419861B1 (ko) * 2013-07-30 2014-07-16 (주) 시스메이트 가공된 하프 클로즈 순서에 따른 패킷을 사용한 세션 관리 및 세션 자원 소모형 디도스 공격 방어 장치 및 방법
US9894074B2 (en) 2014-07-03 2018-02-13 Electronics And Telecommunications Research Institute Method and system for extracting access control list

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200091A (zh) * 2013-03-29 2013-07-10 北京蓝汛通信技术有限责任公司 一种抗干扰方法
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
CN104660565B (zh) * 2013-11-22 2018-07-20 华为技术有限公司 恶意攻击的检测方法和装置
US20150264073A1 (en) * 2014-03-11 2015-09-17 Vectra Networks, Inc. System and method for detecting intrusions through real-time processing of traffic with extensive historical perspective
US9497215B2 (en) * 2014-07-23 2016-11-15 Cisco Technology, Inc. Stealth mitigation for simulating the success of an attack
WO2016055668A1 (es) * 2014-10-10 2016-04-14 Keelwit Laiseca Internet Security Solutions, S.L. Dispositivo y método de protección en redes de comunicaciones
US10560466B2 (en) * 2015-01-13 2020-02-11 Level 3 Communications, Llc Vertical threat analytics for DDoS attacks
CN106302347B (zh) * 2015-05-28 2019-11-05 阿里巴巴集团控股有限公司 一种网络攻击处理方法和装置
CN105119753B (zh) * 2015-09-08 2018-09-21 中国联合网络通信集团有限公司 一种确定告警故障的方法及装置
CN106921612A (zh) * 2015-12-24 2017-07-04 阿里巴巴集团控股有限公司 发现DDoS攻击的方法及装置
US9893997B2 (en) * 2016-04-07 2018-02-13 Nxp Usa,Inc. System and method for creating session entry
CN107395550B (zh) * 2016-05-16 2020-03-03 腾讯科技(深圳)有限公司 一种网络攻击的防御方法及服务器
US10425443B2 (en) 2016-06-14 2019-09-24 Microsoft Technology Licensing, Llc Detecting volumetric attacks
US10425473B1 (en) * 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US11750622B1 (en) 2017-09-05 2023-09-05 Barefoot Networks, Inc. Forwarding element with a data plane DDoS attack detector
JP6873032B2 (ja) * 2017-12-28 2021-05-19 株式会社日立製作所 通信監視システム、通信監視装置および通信監視方法
US11108812B1 (en) 2018-04-16 2021-08-31 Barefoot Networks, Inc. Data plane with connection validation circuits
US11055411B2 (en) * 2018-05-10 2021-07-06 Acronis International Gmbh System and method for protection against ransomware attacks
CN108494805B (zh) * 2018-05-25 2020-10-30 何林明 一种cc攻击的处理方法及装置
US11218506B2 (en) * 2018-12-17 2022-01-04 Microsoft Technology Licensing, Llc Session maturity model with trusted sources
CN110519248B (zh) * 2019-08-19 2020-11-24 光通天下网络科技股份有限公司 DDoS攻击判定及流量清洗的方法、装置和电子设备
US11539728B1 (en) * 2020-03-16 2022-12-27 Amazon Technologies, Inc. Detecting connectivity disruptions by observing traffic flow patterns
US11405418B2 (en) 2020-06-16 2022-08-02 Bank Of America Corporation Automated distributed denial of service attack detection and prevention
CN113179247B (zh) * 2021-03-23 2023-05-23 杭州安恒信息技术股份有限公司 拒绝服务攻击防护方法、电子装置和存储介质
CN115499216B (zh) * 2022-09-15 2024-03-19 中国电信股份有限公司 防御攻击方法及装置、存储介质及电子设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104717A (en) * 1995-11-03 2000-08-15 Cisco Technology, Inc. System and method for providing backup machines for implementing multiple IP addresses on multiple ports
US5958053A (en) * 1997-01-30 1999-09-28 At&T Corp. Communications protocol with improved security
US6052785A (en) * 1997-11-21 2000-04-18 International Business Machines Corporation Multiple remote data access security mechanism for multitiered internet computer networks
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US7380272B2 (en) * 2000-05-17 2008-05-27 Deep Nines Incorporated System and method for detecting and eliminating IP spoofing in a data transmission network
US7185368B2 (en) * 2000-11-30 2007-02-27 Lancope, Inc. Flow-based detection of network intrusions
US7512980B2 (en) * 2001-11-30 2009-03-31 Lancope, Inc. Packet sampling flow-based detection of network intrusions
US20050141508A1 (en) * 2002-09-09 2005-06-30 Ip Square Inc. Information processing apparatus and method
US7266754B2 (en) * 2003-08-14 2007-09-04 Cisco Technology, Inc. Detecting network denial of service attacks
JP2005277804A (ja) * 2004-03-25 2005-10-06 Hitachi Ltd 情報中継装置
WO2005093576A1 (en) * 2004-03-28 2005-10-06 Robert Iakobashvili Visualization of packet network performance, analysis and optimization for design
US20050278779A1 (en) * 2004-05-25 2005-12-15 Lucent Technologies Inc. System and method for identifying the source of a denial-of-service attack
JP4512196B2 (ja) * 2005-10-20 2010-07-28 アラクサラネットワークス株式会社 異常トラヒックの検出方法およびパケット中継装置
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
KR20120019475A (ko) * 2009-05-08 2012-03-06 세이블 네트웍스 인코포레이티드 데이터 통신 세션을 제어하기 위한 방법 및 장치
KR101061377B1 (ko) 2009-11-18 2011-09-02 한국인터넷진흥원 분포 기반 디도스 공격 탐지 및 대응 장치
KR101263329B1 (ko) * 2009-12-02 2013-05-16 한국전자통신연구원 네트워크 공격 방어 장치 및 방법, 이를 포함한 패킷 송수신 처리 장치 및 방법
KR101442020B1 (ko) * 2010-11-04 2014-09-24 한국전자통신연구원 송신 제어 프로토콜 플러딩 공격 방어 방법 및 장치
KR20130017333A (ko) * 2011-08-10 2013-02-20 한국전자통신연구원 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101419861B1 (ko) * 2013-07-30 2014-07-16 (주) 시스메이트 가공된 하프 클로즈 순서에 따른 패킷을 사용한 세션 관리 및 세션 자원 소모형 디도스 공격 방어 장치 및 방법
CN103701794A (zh) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 拒绝服务攻击的识别方法和装置
US9894074B2 (en) 2014-07-03 2018-02-13 Electronics And Telecommunications Research Institute Method and system for extracting access control list

Also Published As

Publication number Publication date
US20130074183A1 (en) 2013-03-21
US8966627B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
KR20130030086A (ko) 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치
US9633202B2 (en) Managing a DDoS attack
KR101442020B1 (ko) 송신 제어 프로토콜 플러딩 공격 방어 방법 및 장치
KR101077135B1 (ko) 웹 서비스 대상 응용계층 디도스 공격 탐지 및 대응 장치
Izhikevich et al. {LZR}: Identifying unexpected internet services
US20140189867A1 (en) DDoS ATTACK PROCESSING APPARATUS AND METHOD IN OPENFLOW SWITCH
US20060191003A1 (en) Method of improving security performance in stateful inspection of TCP connections
KR20130017333A (ko) 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법
KR102088299B1 (ko) 분산 반사 서비스 거부 공격 탐지 장치 및 방법
KR101219796B1 (ko) 분산 서비스 거부 방어 장치 및 그 방법
KR20130006750A (ko) 서비스 거부 공격 탐지 방법 및 장치
CN114830112A (zh) 通过QUIC通信协议执行的检测和缓解DDoS攻击
CN106534068A (zh) 一种ddos防御系统中清洗伪造源ip的方法和装置
Aborujilah et al. Detecting TCP SYN based flooding attacks by analyzing CPU and network resources performance
Gonzalez et al. The impact of application-layer denial-of-service attacks
Goksel et al. DoS attack detection using packet statistics in SDN
KR101061377B1 (ko) 분포 기반 디도스 공격 탐지 및 대응 장치
JP7222260B2 (ja) 試験装置
Bellaiche et al. SYN flooding attack detection based on entropy computing
Maheshwari et al. Mitigation of ddos attacks using probability based distributed hop count filtering and round trip time
Oliveira et al. Investigation of amplification-based DDoS attacks on IoT devices
Selvaraj Distributed Denial of Service Attack Detection, Prevention and Mitigation Service on Cloud Environment
KR101449627B1 (ko) 비정상 세션 탐지 방법 및 장치
KR20110006565A (ko) 분산서비스거부 공격 탐지장치 및 방법
Raj et al. Low-rate Denial of Service Attack Mitigation Using Resource Usage Tracking

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