KR102027440B1 - Ddos 공격 차단 장치 및 방법 - Google Patents

Ddos 공격 차단 장치 및 방법 Download PDF

Info

Publication number
KR102027440B1
KR102027440B1 KR1020170132761A KR20170132761A KR102027440B1 KR 102027440 B1 KR102027440 B1 KR 102027440B1 KR 1020170132761 A KR1020170132761 A KR 1020170132761A KR 20170132761 A KR20170132761 A KR 20170132761A KR 102027440 B1 KR102027440 B1 KR 102027440B1
Authority
KR
South Korea
Prior art keywords
client
address
ticket
allowance
packet
Prior art date
Application number
KR1020170132761A
Other languages
English (en)
Other versions
KR20190041325A (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 KR1020170132761A priority Critical patent/KR102027440B1/ko
Publication of KR20190041325A publication Critical patent/KR20190041325A/ko
Application granted granted Critical
Publication of KR102027440B1 publication Critical patent/KR102027440B1/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
    • 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/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

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

Abstract

본 발명은 분산서비스거부공격(이하, DDOS) 공격 차단 장치 및 방법에 관한 것이다. 이를 위한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치는 클라이언트로부터 패킷을 수신하고, 패킷을 송신한 클라이언트의 IP 주소가 티켓리스트에 포함되어 있는지 판단하고; 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 클라이언트의 IP 주소를 비인증 IP 주소로 분류하고, 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하고; 접속 시도 세션의 개수가 세션 허용치 미만일 때, 제1 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하며; 접속 시도 세션의 개수가 세션 허용치 이상이고, 세션 허용치 보다 높은 재인증 허용치 미만일 때, 제1 인증 알고리즘과 상이한 제2 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 것을 특징으로 한다.

Description

DDOS 공격 차단 장치 및 방법{APPARATUS AND METHOD FOR BLOCKING DDOS ATTACK}
본 발명은 분산서비스거부공격(이하, DDOS) 공격 차단 장치 및 방법에 관한 것이고, 보다 상세하게 DDOS 공격 발생 시 유입되는 패킷 자체만을 이용하여 정상 사용자와 비정상 사용자를 판단하되, 이러한 판단 과정의 효율을 보다 개선시킨 DDOS 공격 차단 장치 및 방법에 관한 것이다.
네트워크 망에서 외부로부터 내부 시스템으로 들어오는 트래픽에는 네트워크 망을 위협하는 여러 공격들이 존재한다. 따라서, 이러한 공격들을 차단하여 양호한 네트워크 망을 구성하기 위해 보안장비가 내부 시스템에 설치된다. 외부로부터 내부 시스템으로 들어오는 공격 유형으로는 네트워크 대역폭을 위협하는 DOS(Denial of Service), DDOS(Distributed Denial of Service), 플러딩(Flooding) 공격 등이 대표적이고, 그 이외에도 다양한 해킹, 바이러스 공격 등이 있다.
여기서, DOS 공격이란, 목적 망/서버에 유해 트래픽을 유입시켜 네트워크의 서비스 기능을 일시적으로 또는 완전히 정지시키는 공격 방식을 말한다. DOS 공격의 한 형태인 DDOS 공격은, 분산 설치된 다수의 공격 프로그램이 서로 통합된 형태로 목적 망/서버에 트래픽을 집중시키는 공격으로서 일반적인 DOS 공격에 비해 탐지가 어렵고, DOS 공격에 비해 훨씬 더 강력한 파괴력을 가지고 있다. DDOS 공격은 다량의 유해 트래픽으로 네트워크 전체의 자원을 고갈시키는 한편, 네트워크에 심각한 부하를 주어 해당 네트워크를 마비시키기도 한다.
DDOS 공격에 대비하기 위해, 종래에는 보안 장비에 SYN 프록시(SYN Proxy) 모듈 또는 SYN 쿠키(SYN Cookie) 모듈을 탑재하는 방식을 채택하였다. 여기서, SYN 프록시 모듈을 이용한 DDOS 공격 차단 방법은 도 1a 및 도 1b에 도시되고, SYN 쿠키 모듈을 이용한 DDOS 공격 차단 방법은 도 2에 도시된다.
도 1a 및 도 1b를 참조하면, SYN 프록시 모듈을 이용한 방식은 1) 클라이언트(10)가 세션을 맺기 위해 서버로 SYN 패킷을 보내는 단계, 2) SYN 프록시 모듈에서 SYN/ACK로 응답하는 단계, 3) 클라이언트(10)에서 다시 ACK를 보내면 SYN 프록시 모듈은 해당 클라이언트(10)를 정상 클라이언트로 판단하는 단계, 그리고 4) 이를 SYN 프록시 테이블에 등록하는 단계를 포함하여, 해당 클라이언트(10)의 통신을 허용하는 방식이다. 다만, SYN 프록시 모듈을 이용한 방식은 아래와 같은 세 가지 문제를 갖는다.
첫째, 이 방식은 클라이언트(10)에서 송신한 초기 세션이 모두 드롭되는 문제가 있다. 이는 SYN 프록시 모듈에서 수신한 SYN 패킷을 서버(40)로 전달하지 않고, SYN/ACK 패킷을 생성하여 다시 클라이언트(10)로 전달하게 되는데, 이로 인해 첫 번째 세션은 서버와 연결되지 않게 된다. 또한, SYN 프록시 모듈에서 보내는 SYN/ACK로 인해, 정상적인 트래픽에 대한 네트워크 대역폭도 줄어드는 문제도 있다.
둘째, 이 방식은 SYN 프록시 테이블의 정보 습득 기간이 필요하다. 이는 SYN 패킷을 보낸 클라이언트를 다음부터 정상적인 IP 또는 사용자로 보기 위해서는 최소한 한 번의 학습기간이 필요하기 때문이다.
셋째, 프록시 테이블의 크기 한계로 인하여 고용량 네트워크 망에서는 적용하기 어렵다. 프록시 테이블은 네트워크 IP 및 가사용자에 대한 SYN 테이블을 관리하는데, 대용량 네트워크에서는 많은 SYN 테이블을 모두 관리하지 못하고 일부만 관리하게 된다. 즉, 일부 관리하지 못하는 IP에 대해서는 다시 학습을 갖는 방식이 요구되며 이로 인해, 지속적인 SYN 세션에 대한 드롭이 발생하는 문제가 있다.
그리고, SYN 쿠키 모듈을 이용한 DDOS 공격 차단 방법은 도 2에 도시된 것처럼, 1) 클라이언트(10)의 서비스 요청인 SYN 패킷의 시퀀스를 쿠키 값으로 인증하는 단계, 2) SYN/ACK 패킷과 쿠키 값을 클라이언트(10)로 보내는 단계, 그리고 3) 클라이언트(10)에서 송신한 ACK 패킷이 쿠키 값+1이 되는 값이 들어오는지 검사하는 단계를 포함한다. 다만, 이 방식도 위에서 설명한 SYN 프록시 모듈을 이용한 방식과 마찬가지로, 클라이언트(10)에서 송신한 초기 세션(즉, 도 2에서 도면부호 is로 나타난 영역)이 모두 드롭된다. 그리고, SYN 쿠키 모듈에서 받은 모든 첫 번째 세션은 SYN 패킷에 대하여 SYN/ACK 패킷을 보내기 때문에 정상적인 트래픽에 대한 네트워크 대역폭도 줄어드는 문제가 있다.
상술한 문제점을 해소하기 위해, 본 발명의 출원인은 한국등록특허 제0858271호를 통해, 서버로 접속 요청을 한 IP 주소가 정상 세션인지 판단할 수 있게 하는 티켓리스트의 개념과, 티켓의 보유 여부에 따라 대역폭(또는 SYN 레이트)을 조절하여 DDOS 공격을 차단하는 장치(도 3 참조)를 제안하였다. 여기서, 한국등록특허 제0858271호는 도 4a 및 도 4b에 도시된 것처럼 티켓을 보유한 IP 주소에 대해서는 인증 IP 터널을 통해 정상 속도로 서버에 접속을 수행하게 하되, 티켓이 없는 IP 주소에 대해서는 비인증 IP 터널(즉, 대역폭(또는 SYN 레이트)이 제한된 IP 터널)을 통해 해당 IP 주소의 정상 여부를 판단하게 하는 기술을 개시한다.
보안장비(20)와 서버(40) 사이에는 통신이 가능하도록 인증 IP 터널과 비인증 IP 터널이 있다. 즉, 인증 IP 터널과 비인증 IP 터널은 물리적(예를 들어, 보안장비와 서버 사이에 복수의 통신 회선들이 존재하는 경우, 서로 다른 회선을 이용하는 방식) 또는 논리적(예를 들어, 하나 또는 복수의 회선에 대해 서로 다른 대역폭을 갖는 2개의 통신 터널을 구성하는 방식)으로 구현될 수 있다. 그리고, 보안장비에 따른 네트워크 망의 전체 트래픽 중 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 큰 것이 바람직하다. 즉, 한국등록특허 제0858271호에 따르면, 티켓이 존재하지 않는 세션은 비인증 IP 터널에 전달되어 대역폭을 제한 받고, 티켓이 존재하는 세션은 인증 IP 터널에 전달되어 정상 속도로 통신이 가능하다.
그리고, 한국등록특허 제0858271호는, 도 4c에 도시된 것처럼 티켓이 없는 IP 주소들 중 세션 허용치(s_a1) 이내에 들어온 IP 주소들에 대해서는 비인증 IP 터널을 통한 해당 IP 주소의 정상 여부의 판단을 수행하되, 나머지 IP 주소(즉, 도 4c에서 영역(da)에 속한 IP 주소들)는 드롭시키는 기술을 개시한다.
한국등록특허 제0858271호에 따르면, 클라이언트(10)에서 접속 요청을 위해 SYN 패킷을 보낼 때, 클라이언트(10)의 티켓 보유 여부에 따라 서로 다른 SYN 레이트로 통신을 수행하므로 SYN 패킷은 드롭되지 않고 서버(40)로 전달되게 된다. 이로 인해, 한국등록특허 제0858271호는 초기 세션이 드롭되지 않는 장점이 있다.
다만, 이 방식은 대규모 접속 시도 공격 상황에서 정상적인 클라이언트가 서버로 접속을 시도할 때 일부 문제가 있다. 예를 들어, 대규모 접속 시도 공격 상황에서, 티켓이 없는 다수의 공격 IP 들과 정상 클라이언트의 IP가 접속을 시도하는 상황을 가정한다. 한국등록특허 제0858271호에서 제안된 기법은 대규모 접속 시도 공격이 발생한 상황에서, 접속 시도를 한 전체 IP들 중 세션 허용치에 속하지 못한 IP들에서 송신된 패킷을 드롭시킬 것이다. 이로 인해, 정상 클라이언트가 서버에 접속을 시도하더라도, 정상 클라이언트에서 송신된 패킷은 다른 공격 IP들에 의한 패킷들과 경합 과정을 수행하게 되고, 위에서 설명한 세션 허용치(s_a1)를 이용한 드롭 방식을 통해 높은 확률로 드롭될 것이다. 이로 인해, 이러한 대규모의 접속 시도 공격 상황에서, 티켓이 없는 클라이언트들은 서버로 접속하기가 쉽지 않다. 또한, 세션 허용치(s_a1)내에 포함되지 못한 정상 클라이언트(10)는 상기 서버로 재접속 요청을 하게 되나, 이 또한 다른 클라이언트들과의 경합이 이루어져야 하므로 지연 발생이 길어지는 단점이 존재한다.
따라서, DDOS 공격에 대한 차단이 가능하면서, 대규모 접속 시도 공격 발생 시, 공격 IP와 정상 클라이언트를 보다 빠르게 분리할 수 있는 새로운 기법이 요구된다.
한국등록특허 제0858271호
본 발명은 DDOS 공격에 대한 대처뿐만 아니라, 대규모 접속 시도 공격 발생 시, 공격 IP와 정상 클라이언트를 보다 빠르게 분리할 수 있는 DDOS 공격 차단 장치 및 방법을 제공하는데 그 목적이 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 DDOS 공격 차단 장치는 서버에 연결되어 상기 서버로의 DDOS(Distributed Denial of Service) 공격을 차단하고, 티켓이 발행된 IP 주소가 저장되는 티켓리스트를 포함하는 티켓리스트 데이터베이스; 클라이언트로부터 패킷을 수신하고, 패킷을 송신한 클라이언트의 IP 주소가 티켓리스트에 포함되어 있는지 판단하는 티켓 확인부; 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 클라이언트의 IP 주소를 비인증 IP 주소로 분류하고, 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 세션 허용치 판단부; 접속 시도 세션의 개수가 세션 허용치 미만일 때, 제1 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 비인증 IP 처리부; 및 접속 시도 세션의 개수가 세션 허용치 이상이고, 세션 허용치 보다 높은 재인증 허용치 미만일 때, 제1 인증 알고리즘과 상이한 제2 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 재인증 IP 처리부를 포함하는 것을 특징으로 한다.
또한, DDOS 공격 차단 장치에 따른 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 크고, 비인증 IP 처리부는 대역폭이 제한된 비인증 IP 터널을 통해 송수신 되는 정보를 이용하여 클라이언트에 대한 정상 여부를 판단할 수 있다.
또한, 제2 인증 알고리즘은, 클라이언트와 DDOS 공격 차단 장치간 통신 구간 사이에서 이루어질 수 있다.
또한, 제2 인증 알고리즘은 SYN 프록시, SYN 쿠키 또는 HTTP 쿠키를 포함할 수 있다.
또한, 비인증 IP 처리부는 클라이언트와의 초기 통신 과정에서 클라이언트가 SYN 패킷을 송신할 때 클라이언트를 정상 클라이언트로 판단하고 클라이언트에 임시 티켓을 부여할 수 있다.
또한, 비인증 IP 처리부는 임시 티켓이 부여된 클라이언트가 ACK 패킷을 송신할 때, 해당 클라이언트를 정상 클라이언트로 확정하고 티켓을 부여하고, 해당 클라이언트에 티켓이 부여되었음을 티켓리스트 데이터베이스에 반영할 수 있다.
또한, 티켓 확인부는, 클라이언트의 IP 주소가 티켓리스트에 포함되어 있는 경우, 클라이언트로부터 수신한 패킷을 인증 IP 터널을 통해 서버로 송신할 수 있다.
또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치는 접속 시도 세션의 개수와 재인증 허용치를 비교하는 재인증 허용치 판단부를 더 포함하고, 재인증 허용치 판단부는 접속 시도 세션의 개수가 재인증 허용치 이상일 때 패킷을 드롭시킬 수 있다.
또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치는 클라이언트의 IP 주소가 티켓리스트에 존재할 경우, IP 주소가 오버플로우(overflow)인지, 및 IP 주소가 공격(attack) 중인지 중 적어도 하나를 검사하는 한계치 및 공격 검사부를 더 포함할 수 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 DDOS 공격 차단 방법은 서버에 연결되어 서버로의 DDOS 공격을 차단하는 DDOS 공격 차단 장치에 의해 수행되고, 방법은 티켓 확인부에 의해, 클라이언트로부터 패킷을 수신하고, 패킷을 송신한 클라이언트의 IP 주소가, 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 포함되어 있는지 판단하는 단계; 세션 허용치 판단부에 의해, 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 클라이언트의 IP 주소를 비인증 IP 주소로 분류하는 단계; 세션 허용치 판단부에 의해, 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 단계; 비인증 IP 처리부에 의해, 접속 시도 세션의 개수가 세션 허용치 미만일 때, 제1 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 단계; 및 재인증 IP 처리부에 의해, 접속 시도 세션의 개수가 세션 허용치 이상이고, 세션 허용치 보다 높은 재인증 허용치 미만일 때, 제1 인증 알고리즘과 상이한 제2 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 단계를 포함하는 것을 특징으로 한다.
또한, 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 크기는 비인증 IP 터널의 크기보다 크고, 제1 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 단계는 대역폭이 제한된 비인증 IP 터널을 통해 송수신 되는 정보를 이용하여 이루어질 수 있다.
또한, 제2 인증 알고리즘은, 클라이언트와 DDOS 공격 차단 장치간 통신 구간 사이에서 이루어질 수 있다.
또한, 제2 인증 알고리즘은 SYN 프록시, SYN 쿠키 또는 HTTP 쿠키를 포함할 수 있다.
또한, 제1 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 단계는, 클라이언트와의 초기 통신 과정에서 클라이언트가 SYN 패킷을 송신할 때 클라이언트를 정상 클라이언트로 판단하고 클라이언트에 임시 티켓을 부여하는 단계를 포함할 수 있다.
또한, 제1 인증 알고리즘을 이용하여 클라이언트에 대한 정상 여부를 판단하는 단계는, 임시 티켓이 부여된 클라이언트가 ACK 패킷을 송신할 때, 해당 클라이언트를 정상 클라이언트로 확정하고 티켓을 부여하는 단계; 및 해당 클라이언트에 티켓이 부여되었음을 티켓리스트 데이터베이스에 반영하는 단계를 더 포함할 수 있다.
또한, 클라이언트의 IP 주소가 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 포함되어 있는지 판단하는 단계는, 클라이언트의 IP 주소가 티켓리스트에 포함되어 있는 경우, 클라이언트로부터 수신한 패킷을 인증 IP 터널을 통해 서버로 송신하는 단계를 포함할 수 있다.
또한, 재인증 허용치 판단부에 의해, 접속 시도 세션의 개수와 재인증 허용치를 비교하는 단계를 더 포함하고, 접속 시도 세션의 개수와 재인증 허용치를 비교하는 단계는 접속 시도 세션의 개수가 재인증 허용치 이상일 때 패킷을 드롭시키는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 한계치 및 공격 검사부에 의해, 클라이언트의 IP 주소가 티켓리스트에 존재할 경우, IP 주소가 오버플로우인지, 및 IP 주소가 공격 중인지 중 적어도 하나를 검사하는 단계를 더 포함할 수 있다.
본 발명의 DDOS 공격 차단 장치 및 방법에 따르면, DDOS 공격 상황에서 클라이언트들에 대한 정상 인증을 더 빠르게 수행할 수 있어서, 공격 IP와 정상 클라이언트 간 분리 속도를 개선시킬 수 있고, 이로 인해 정상 클라이언트의 접속 지연 시간을 최소화시킬 수 있다.
또한, 본 발명의 DDOS 공격 차단 장치 및 방법에 따르면, 재인증 허용치의 조절을 통해 리다이렉션 공격 범위를 조절할 수 있다.
도 1a 및 도 1b는 SYN 프록시 모듈을 이용한 DDOS 공격 차단 방법을 설명하기 위한 개념도이다.
도 2는 SYN 쿠키 모듈을 이용한 DDOS 공격 차단 방법을 설명하기 위한 개념도이다.
도 3은 종래기술에 따른 보안 장비에 대한 개념도이다.
도 4a 내지 도 4c는 종래기술에 따른 보안 장비의 동작 방법을 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치에 대한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 재인증 허용치를 설명하기 위한 개념도이다.
도 7은 리다이렉션 공격(Redirection attack)을 설명하기 위한 개념도이다.
도 8 내지 도 10은 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치의 동작 방법에 대한 흐름도이다.
도 11 및 도 12는 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대한 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명의 실시예에 따른 DDOS 공격 차단 장치(100)에 대하여 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)에 대한 블록도이다. 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 블랙리스트 검사부(110), 티켓 확인부(120), 한계치 및 공격 검사부(130), 패킷 분석부(140), 세션 허용치 판단부(150), 비인증 IP 처리부(160), 재인증 허용치 판단부(170) 및 재인증 IP 처리부(180)를 포함하여 구성될 수 있다. 다른 실시예에서 하나 이상의 구성이 생략될 수 있다. 예컨대, 블랙리스트 검사부(110)가 생략될 수 있다. 여기서, 상기 구성들은 본 발명의 이해를 돕기 위해 기능별로 각 구성을 구분한 것이고, 실제로는 CPU, MPU, GPU와 같은 하나의 처리 장치를 통해 구현되는 것도 가능하다.
블랙리스트 검사부(110)는 접속 요청 패킷을 송신한 클라이언트(10)가 블랙리스트에 해당하는지 검사하는 기능을 한다. 이를 위해, 블랙리스트 검사부(110)는 먼저, 클라이언트(10)로부터 송신된 패킷을 수신하고, 수신한 패킷을 근거로 클라이언트(10)의 IP 주소를 추출한다. 블랙리스트 검사부(110)는 블랙리스트 데이터베이스(DB1)와 연동하여, 추출한 클라이언트(10)의 IP 주소가 블랙리스트에 해당하는지 확인하는 과정을 거친다. 여기서, 블랙리스트 데이터베이스(DB1)는 IPS(Intrusion Prevention Systems) 엔진 및 IDS(Intrusion Detection Systems) 엔진을 통하여 유해 트래픽이라 판단될 경우 블랙리스트 테이블에 등록되어 일정 시간 동안 차단될 수 있도록 관리하는 데이터베이스를 나타낸다.
블랙리스트 검사부(110)를 통한 검사 결과, 클라이언트(10)가 블랙리스트에 해당하는 경우, 블랙리스트 검사부(110)는 클라이언트(10)의 접속 요청 패킷을 드롭시키는 과정을 수행한다. 그렇지 않은 경우, 아래에서 설명되는 인증 IP의 확인 여부가 수행된다.
티켓 확인부(120)는 티켓리스트 데이터베이스(DB2)와의 연동을 통해 클라이언트(10)가 인증된 클라이언트인지 확인하는 기능을 한다. 구체적으로, 티켓 확인부(120)는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하는지 확인함으로써, 클라이언트(10)가 인증된 클라이언트인지 확인한다. 확인 결과, 인증된 클라이언트인 경우, 티켓 확인부(120)는 해당 클라이언트에 발급된 티켓 시간을 갱신하는 과정을 수행할 수 있다.
여기서, 티켓리스트 데이터베이스(DB2)는 일정 클라이언트(10)의 IP 주소가 정상 세션(session)이라 판단할 수 있도록 하는 티켓리스트를 저장하는 저장소를 나타낸다. 즉, 상기 티켓리스트는 접속하는 클라이언트(10)의 IP 주소 등에 대하여 정상 세션인지를 판단할 수 있도록, 통행 티켓을 발급한 내역을 저장한 리스트이다. 따라서, 티켓이 존재하지 않는 세션은 비인증 IP 처리부(160) 또는 재인증 IP 처리부(180)로 전달되어 대역폭을 제한 받게 된다. 그리고, 티켓이 존재하는 세션의 경우, 티켓 확인부(120)가 티켓 세션(또는 후술하는 인증 IP 터널)으로 전달한다.
한계치 및 공격 검사부(130)는 티켓 확인부(120)를 통해 클라이언트(10)가 인증 완료된 이후, 클라이언트(10)의 추가적인 검증을 수행하기 위한 구성으로서, 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 기능을 한다. 판단 결과 클라이언트(10)의 IP 주소가 오버플로우이거나 비정상인 것으로 판단되면, 해당 클라이언트(10)의 IP 주소를 블랙리스트 데이터베이스(DB1)에 추가하는 과정을 수행한다. 그리고, 한계치 및 공격 검사부(130)를 통해 이루어지는 검사 방법은 다양한 방식이 존재하므로 본 발명에선 이를 특정 방식으로 제한하지 않는다.
패킷 분석부(140)는 클라이언트(10)로부터 수신한 패킷을 분석하여, 패킷의 종류를 판단하는 기능을 한다. 잘 알려진 것처럼 TCP(Transmission Control Protocol)는 3-웨이 핸드셰이크(3-way handshake) 방식을 통해 통신이 이루어진다(도 2 참조). 3-웨이 핸드셰이크 방식은 클라이언트에서 SYN 패킷을 송신하면 서버에서 SYN/ACK 패킷을 송신하고, 클라이언트에서 ACK 패킷을 송신하면 이들 간의 통신 연결이 이루어지는 것을 나타낸다. 즉, 클라이언트(10)는 통신 접속 과정에서 두 종류의 패킷(즉, SYN 패킷 또는 ACK 패킷)을 송신하게 되므로, 패킷 분석부(140)에서는 클라이언트(10)에서 송신된 패킷이 SYN 패킷인지 또는 ACK 패킷인지 판단한다.
세션 허용치 판단부(150)는 클라이언트(10)의 IP 주소가 티켓리스트에 존재하지 않을 경우, 해당 클라이언트(10)의 IP 주소를 비인증 IP 주소로 분류하는 기능을 한다. 여기서, 용어 비인증 IP 주소는 티켓이 발급되지 않은 IP 주소를 나타낸다.
그 후, 세션 허용치 판단부(150)는 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 기능을 한다. 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 위에서 설명한 한국등록특허 제0858271호와 마찬가지로 세션 허용치의 개념을 도입한다. 즉, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 비인증 IP 주소에 해당하는 모든 클라이언트들에 대해 정상 여부를 판단하는 것이 아닌, 세션 허용치(예를 들어, 100 CPS(Connection Per Second))를 두고, 세션 허용치 범위 내의 클라이언트들에 대하여만 정상 여부를 판단한다. 판단 결과, 클라이언트(10)가 세션 허용치 내에 해당이 되면 제어는 비인증 IP 처리부(160)로 전달되고, 그렇지 않은 경우 제어는 재인증 허용치 판단부(170)로 전달된다.
비인증 IP 처리부(160)는 비인증 IP 주소에 대한 정상 클라이언트 여부 판단을 수행한다. 구체적으로, 비인증 IP 처리부(160)는 제1 인증 알고리즘을 비인증 IP 주소 즉, 클라이언트(10)의 IP 주소에 반영하여, 해당 클라이언트(10)의 정상 클라이언트 여부를 판단한다. 또한, 비인증 IP 처리부(160)는 도 4b를 참조로 설명한, 대역폭이 제한된(또는 통신 속도가 제한된) 비인증 IP 터널을 통해 상기 인증을 수행할 수 있다. 여기서, 제1 인증 알고리즘은 클라이언트(10)로부터 전달된 패킷의 분석과 해당 클라이언트(10)에 임시 티켓이 발행되어있는지의 여부를 확인함으로써 해당 클라이언트(10)의 IP 주소의 배드 세션 여부를 확인하는 알고리즘이며, 제1 인증 알고리즘은 다음과 같은 동작을 통해 이루어질 수 있다.
위에서 설명한 것처럼, 3-웨이 핸드셰이크 방식을 통한 통신 접속 과정에서, 클라이언트(10)는 SYN 패킷을 먼저 송신하고, DDOS 공격 차단 장치(100)는 SYN 패킷의 인증 과정 이후, 수신한 SYN 패킷을 서버(40)로 전달한다. 그 후, 서버(40)에서는 SYN 패킷을 기반으로 SYN/ACK 패킷을 생성하고, 이를 다시 DDOS 공격 차단 장치(100)를 거쳐 클라이언트(10)로 송신한다. 클라이언트(10)는 SYN/ACK 패킷을 수신한 후, ACK 패킷을 서버(40)로 송신하게 된다. 즉, 해당 클라이언트가 정상적인 클라이언트인 경우, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)의 입장에서 보면 먼저, SYN 패킷을 수신하고, 다음 통신 과정에서 ACK 패킷을 수신하게 될 것이다. 만일 DDOS 공격 차단 장치(100)가, SYN 패킷 보다 ACK 패킷을 먼저 수신할 때, 또는 SYN 패킷을 수신하여 ACK 패킷을 수신하여야 하는데, SYN 패킷이 다시 수신될 때, 해당 패킷이 정상적이지 않다는 판단을 할 수 있다. 제1 인증 알고리즘은 이러한 방식을 고려한 알고리즘이다.
또한, 제1 인증 알고리즘은 정상적으로 SYN 패킷을 송신한 클라이언트에 임시 티켓을 발행할 수 있다. 즉, 제1 인증 알고리즘은 임시 티켓이 없는 클라이언트가 SYN 패킷을 송신할 때에는 해당 클라이언트를 정상으로 판단하고 임시 티켓을 발행하는 과정을 포함할 수 있다. 이로 인해, 제1 인증 알고리즘에서 임시 티켓이 없는 클라이언트가 ACK 패킷을 송신할 때에는 해당 클라이언트를 비정상으로 판단하고 해당 패킷을 드롭시킬 수 있다. 그리고, 제1 인증 알고리즘은 임시 티켓이 있는 클라이언트가 ACK 패킷을 송신할 때에는 해당 클라이언트가 정상인 것으로 확정하고 이후 과정을 수행하며, 임시 티켓이 있는 클라이언트가 SYN 패킷을 송신할 때에는 해당 클라이언트가 비정상인 것으로 확정할 수 있다.
다시 말해, 비인증 IP 처리부(160)는 수신한 패킷이 SYN 패킷인지 또는 ACK 패킷인지, 그리고 해당 클라이언트가 임시 티켓을 보유하였는지의 여부를 판단함으로써 해당 클라이언트의 정상 클라이언트 여부(또는 배드 세션 여부)를 판단할 수 있다. 물론, 통신 장애나 클라이언트(10) 또는 DDOS 공격 차단 장치(100)의 일시적 오류 등으로 인해 패킷이 재전송되는 상황이 존재할 수 있으므로, 제1 인증 알고리즘은 패킷의 종류에 대한 비일치 임계값을 두고, 이를 더 고려하는 방식도 생각해볼 수 있다.
종래기술에 따른 보안 장치(20)는 세션 허용치를 두고, 세션 허용치 안에 속한 클라이언트에 대해서는 위에서 설명한 인증 과정을 수행하되, 세션 허용치 안에 속하지 못한 클라이언트는 모두 드롭 시켰었다. 또한, 종래기술에 따른 보안 장치(20)는 인증 IP 터널과 비인증 IP 터널을 구분하고, 인증 IP에 대해서는 인증 IP 터널을 통해, 그리고 비인증 IP 중 일부는 비인증 IP 터널을 통해 처리를 수행하였으며, 나머지 비인증 IP는 모두 드롭시켰었다. 이로 인해, 종래기술에 따른 보안 장치(20)는 DDOS 공격을 받더라도 인증된(즉, 티켓을 보유한) IP에 대해서는 정상적인 서비스를 제공할 수 있었으나, 접속 시도 공격이 많을수록 정상적인 클라이언트가 세션 임계치 내(즉, 허용 구간 내)에 통과할 확률이 적어져서 접속 지연 시간이 길어지는 문제도 있었다.
이에 따라, 본 발명의 출원인은 상술한 문제점을 해소하기 위해 세션 허용치의 값을 원래의 값보다 조금 더 높임으로써 세션 허용치 구간을 늘리는 방안이 효율적인지 여부도 검토해보았다. 즉, 본 발명의 출원인은 세션 허용치 구간을 늘림으로써, 보다 많은 클라이언트들에 대해 제1 인증 알고리즘을 통한 인증 과정을 수행하는 방식을 검토하였다. 이 방식은 일부 증가된 부분에 대해서는 정상 여부 판단에 대한 속도 개선이 있었다. 하지만, 클라이언트의 정상 여부 판단에 사용되는 비인증 IP 터널이 인증 IP 터널보다 작고 대역폭이 제한된 터널인 점에 기인하여, 세션 허용치 구간의 크기가 특정 범위에 도달하면 비인증 IP 터널에 과부하가 발생하는 문제가 있었다. 이에 따라, 세션 허용치의 값을 조절하는 방식만으로는 기대할 만큼의 성능 개선이 이루어지진 않았다.
상술한 문제점을 개선하기 위해, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 제1 인증 알고리즘과 다른 통신 구간(즉, 클라이언트(10)와 DDOS 공격 차단 장치(100) 사이의 통신 구간)을 이용하여 인증을 수행하는 제2 인증 알고리즘을 더 적용한 것을 특징으로 한다. 또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 세션 허용치와 구분되는 재인증 허용치를 이용하여 제2 인증 알고리즘의 적용 여부를 결정한다. 즉, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 두 개의 상이한 기준을 두고, 하나의 기준에 충족 시 제1 인증 알고리즘을, 그리고 다른 기준에 충족 시 제2 인증 알고리즘을 적용할 수 있다. 여기서, 제2 인증 알고리즘은 비인증 IP 터널을 이용하는 것이 아닌, 클라이언트(10)와 DDOS 공격 차단 장치(100) 사이의 통신 구간을 이용하므로, 제1 인증 알고리즘을 통한 인증 과정에 전혀 영향을 미치지 않게 된다. 이로 인해, 이들 두 개의 인증 알고리즘은 각자 동작되는 통신 구간에 과부하를 야기하지 않고, 이로 인해, 위에서 설명한 인증 효율을 개선할 수 있다. 이러한 기능을 수행하기 위해, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 재인증 허용치 판단부(170) 및 재인증 IP 처리부(180)를 포함하여 구성될 수 있다.
재인증 허용치 판단부(170)는 클라이언트들로부터 송신된 접속 시도 세션의 개수와 재인증 허용치를 비교하는 기능을 한다. 여기서, 재인증 허용치(s_a2)는 도 6에 도시된 것처럼 세션 허용치(s_a1)외에 추가적으로 설정되는 수치로서, 세션 허용치(s_a1) 보다 높게 설정된다. 즉, 재인증 허용치는 세션 허용치 구간을 벗어난 영역 중, 재인증 허용치 구간(ra)을 설정하기 위해 이용된다. 이러한 재인증 허용치를 설정함으로써, 재인증 허용치 판단부(170)는 접속 요청을 한 클라이언트가 재인증 허용치 구간(ra)에는 포함되어 있는지 확인할 수 있다.
비교 결과, 접속 시도 세션의 개수가 세션 허용치 이상이나, 재인증 허용치 미만인 경우, 재인증 허용치 판단부(170)는 해당 클라이언트의 IP 주소를 재인증 IP 주소로 구분하고, 제어를 재인증 IP 처리부(180)로 전달하여 해당 클라이언트(10)에 대한 인증 과정이 수행되게 한다. 그렇지 않은 경우, 재인증 허용치 판단부(170)는 클라이언트(10)로부터 송신된 패킷을 드롭시킨다.
재인증 IP 처리부(180)는 클라이언트들의 접속 시도 세션의 개수가 세션 허용치와 재인증 허용치 사이일 때 동작되고, 제2 인증 알고리즘을 재인증 IP 주소 즉, 클라이언트(10)의 IP 주소에 반영하여 해당 클라이언트(10)의 정상 클라이언트 여부 판단을 수행한다. 위에서 설명한 것처럼, 제2 인증 알고리즘은 제1 인증 알고리즘과 다른 알고리즘이며, 제1 인증 알고리즘과는 다른 통신 구간을 통해 인증을 수행한다.
제1 인증 알고리즘은 DDOS 공격 차단 장치(100)와 서버(40) 사이에 있는 비인증 IP 터널을 통해 이루어진다. 만일 제2 인증 알고리즘도 비인증 IP 터널을 통해 인증을 수행하면, 비인증 IP 터널 내의 통신 부하로 인해 클라이언트에 대한 인증 효율이 떨어질 것이다. 이에 따라, 제2 인증 알고리즘은 제1 인증 알고리즘과는 달리 비인증 IP 터널이 아닌, 클라이언트(10)와 DDOS 공격 차단 장치(100) 사이의 통신 구간을 통해 이루어진다. 즉, 제1 인증 알고리즘을 통해 수행되는 인증 과정과 제2 인증 알고리즘을 통해 수행되는 인증 과정에서의 통신 부하는 서로 다른 통신 구간에서 발생하게 되어, 두 개의 인증 알고리즘을 적용하더라도 비인증 IP 터널의 부하는 이전의 방식과 동일할 것이다. 이에 따라, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 기존 방식 대비 정상 클라이언트와 공격 IP 분리를 보다 빠르게 수행할 수 있는 장점이 있다.
또한, 제2 인증 알고리즘은 다양한 방식이 채택될 수 있다. 제2 인증 알고리즘은 클라이언트(10)와 보안 장비(즉, DDOS 공격 차단 장치(100)) 사이의 통신 구간에서 클라이언트에 대한 인증을 수행할 수 있는 방식이라면 그 어떤 것이라도 적용될 수 있다. 예를 들어, 제2 인증 알고리즘은 SYN 프록시, SYN 쿠키 또는 HTTP 쿠키 방식을 포함할 수 있다. 여기서, SYN 프록시, SYN 쿠키 및 HTTP 쿠키 방식은 위에서 설명한 것처럼, 인증 과정에서 초기 세션이 버려지는 문제가 있다. 하지만, 이들 방식 모두 클라이언트와 보안 장비(즉, DDOS 공격 차단 장치(100)) 간 패킷 교환을 통해 클라이언트에 대한 인증을 수행하는 방식이다. 즉, 앞서 설명한 제1 인증 알고리즘으로는 DDOS 공격 차단 장치(100)와 서버(40) 간 통신 터널을 이용하여 인증을 수행하고, 제2 인증 알고리즘으로는 SYN 프록시, SYN 쿠키 및 HTTP 쿠키 방식 중 적어도 하나를 이용하여 인증을 수행한다면, 종래의 방식 대비 수배 빠르게 정상 클라이언트를 가려낼 수 있을 것이다. 이는 정상 클라이언트의 접속 시간에 직결되어, DDOS 공격이 발생하더라도 정상 클라이언트의 접속 지연 시간을 줄일 수 있다.
예를 들어, DDOS 공격 상황에서 전체 접속 요청 중 10%가 정상 세션이고, 설정된 세션 허용치에 따라 기존에는 접속 요청들 중 10% 이내에서만 정상 IP와 비정상 IP에 대한 판단이 가능하다고 가정한다. 이 경우, 접속 요청들 중 10% 이내에서만 판단이 이루어지므로 예를 들어, 정상 사용자는 초당 1%만 인증이 가능할 것이다. 반면, 본 발명의 일 실시예에서는 원래대로라면 차단될 나머지 90% 중 예를 들어, 10%를 재인증함으로써 정상 사용자에 대해 초당 1.08% 인증을 더 수행하여, 초당 2.08%의 인증을 할 수 있을 것이다. 물론, 재인증 허용치 이내에도 속하지 못한 접속 요청 모두는 버려지겠지만, 대규모 공격 유입시 인증 속도를 수 배 이상 효율화 가능하다.
그리고, 이러한 재인증 허용치(s_a2)의 크기를 높게 설정할수록, 대규모 공격 상황에서 정상 클라이언트들이 드롭되는 비율을 줄여, 결국 정상 클라이언트와 공격 IP를 더욱 효과적으로 분리할 수 있을 것이다. 하지만, 재인증 허용치(s_a2)의 크기가 지나치게 높게 된다면, 제2 인증 알고리즘을 수행하기 위해 필요한 연산도 늘어날 뿐만 아니라, DDOS 공격 차단 장치(100)가 리다이렉션 공격(Redirection Attack)의 공격 서버로 활용될 가능성도 높아질 수 있다. 따라서, 재인증 허용치(s_a2)의 크기는 세션 허용치(s_a1)를 기준으로 800%, 바람직하게는 500%를 초과하지 않는 것이 좋다. 여기서, 재인증 허용치(s_a2)의 크기는 단지 예시적일 뿐이고, 재인증 IP의 응답 지연시간(latency)을 고려하여 설정하는 것이 좋다.
여기서, 리다이렉션 공격이란 도 7에 도시된 것처럼, 제1 클라이언트(11)가 자신의 IP가 아닌 다른 클라이언트(예를 들어, 제2 클라이언트(12))의 IP 주소를 SYN 패킷에 실어 보안 장비(20) 또는 서버(미도시)에 보내는 것을 말한다. 일반적으로, 보안 장비(20) 또는 서버는 SYN 패킷을 받을 시, SYN/ACK 패킷을 생성하고 이를 송신자에게 보낸다. 다만 리다이렉션 공격 상황에서, SYN 패킷에는 제2 클라이언트(12)의 IP 주소가 포함되어 있어, 보안 장비(20) 또는 서버는 제1 클라이언트(11)가 아닌 제2 클라이언트(12)로 SYN/ACK 패킷을 보내게 된다. 만일 다수의 클라이언트들이 제2 클라이언트(12)의 IP 주소로 보안 장비(20)에 리다이렉션 공격을 하게 되면, 보안 장비(20)는 제2 클라이언트(12)로 다수의 SYN/ACK 패킷을 보낼 것이다. 이 경우, 보안 장비(20)와 제2 클라이언트(12)의 통신 및 시스템 부하가 높아지고 이로 인해 장애가 발생하게 될 수 있다.
일반적인 통신 방식과 마찬가지로, 클라이언트(10)의 재인증을 위해서는 클라이언트와 DDOS 공격 차단 장치(100) 간 패킷 교환 과정이 요구된다. 이때, DDOS 공격 차단 장치(100)로 패킷을 보내는 클라이언트들 중 대부분이 리다이렉션 공격을 하는 공격자라면, DDOS 공격 차단 장치(100)는 도 7을 설명한 것처럼 SYN/ACK 패킷을 송신자가 아닌 다른 클라이언트(공격 대상 IP 주소를 갖는 클라이언트)로 송신하게 될 것이다. 이 경우, 이 클라이언트는 DDOS 공격 차단 장치(100)로부터 수신된 SYN/ACK 패킷을 통한 공격을 받게 되고, DDOS 공격 차단 장치(100)는 의도치 않게 공격자가 될 것이다.
만일 SYN 프록시 또는 SYN 쿠키 방식을 이용한 재인증 방식을 채용하지 않는다면 상술한 리다이렉션 공격을 염려하지 않아도 되지만, 재인증 방식을 채용하지 않을 경우 정상 사용자의 분류 과정에 대한 효율이 너무 떨어지는 문제가 있다. 이에 따라, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는, 위에서 설명한 재인증 방식을 채용하되, 재인증 허용치의 크기가 너무 높지 않도록 설정함으로써 리다이렉션 공격에 대비할 수 있다(예를 들어, 세션 허용치의 500%). 또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 재인증 허용치의 크기를 조절함으로써 상황에 따라 유연한 대처를 할 수 있다.
또한, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 학습 데이터베이스(Knowledge database) 및 학습부(미도시)를 더 포함하여 구성될 수 있다. 여기서, 학습 데이터베이스는 티켓리스트를 클래스화하여 저장하는 데이터베이스이다. 여기서, 클래스화 방법은 티켓리스트의 관리 기법으로서, IP 주소들 중 일정 대역의 IP 주소가 티켓리스트에 일정량 이상 등록되게 될 경우 일정 대역의 IP 주소는 정상적으로 통신을 원하는 IP 주소 대역일 가능성이 높다고 간주하는 방식이다. 즉, 클래스화 방법은 일정 클래스 단위(네트워크의 충돌을 피하기 위해 규모에 따른 IP 주소 할당의 범위를 지정하는 단위)로 티켓리스트를 클래스화하고 다시 발행하여 학습 데이터베이스에 저장함으로써, 일정 대역의 IP 주소이면서도 티켓리스트에 등록되지 않은 IP 주소가 접속하더라도, 이를 티켓리스트에 등록된 것으로 보아 정상적인 티켓을 가진 IP 주소가 전달되는 다음 상태로 전달되는 관리 기법이다.
학습부는 IP 주소의 티켓리스트가 일정치에 이르렀을 경우 클래스화 하여 학습 데이터베이스에 저장하거나 티켓 확인부(120)에 의해 검사된 IP 주소가 학습 데이터베이스에 포함되는지를 검사한다.
본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)의 동작 방법은 도 8 내지 도 10에 도시된다. 여기서, 도 8 내지 도 10은 모두 정상 클라이언트가 서버로 접속을 시도할 때의 상황을 가정하고, 도 8은 클라이언트들의 접속 시도 세션의 개수가 세션 허용치 이내일 때의 상황을, 그리고 도 9 및 도 10은 클라이언트들의 접속 시도 세션의 개수가 세선 허용치 이상이되, 한계 허용치 이내일 때의 상황을 가정한다.
먼저, 도 8을 참조로, 클라이언트들의 접속 시도 세션의 개수가 세션 허용치 이내일 때 클라이언트(10)가 서버로 접속을 시도하는 상황에 대해 설명한다. 클라이언트(10)는 DDOS 공격 차단 장치(100)로 SYN 패킷을 송신한다. 이때, DDOS 공격 차단 장치(100)는 블랙리스트 데이터베이스와 티켓리스트 데이터베이스에서 해당 클라이언트(10)의 IP 주소를 검색함으로써 클라이언트(10)의 블랙리스트 여부, 그리고 티켓 보유 여부(즉, 인증 여부)를 확인한다.
확인 결과, 클라이언트(10)가 블랙리스트에 해당하는 경우 DDOS 공격 차단 장치(100)는 해당 SYN 패킷을 드롭시킨다. 클라이언트(10)가 티켓이 있는(즉, 인증된) 클라이언트로 확인되면, DDOS 공격 차단 장치(100)는 SYN 패킷을 인증 IP 터널(즉, 대역폭 제약이 없는 통신 터널)을 통해 서버(40)로 전달하여, 클라이언트(10)와 서버(40) 간 통신이 이루어지게 한다. 물론, 클라이언트(10)가 티켓이 있는 인증된 클라이언트이더라도, DDOS 공격 차단 장치는 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 더 수행할 수 있다. 확인 과정에서 이상이 발견되면, DDOS 공격 차단 장치(100)는 클라이언트(10)로부터 송신된 SYN 패킷을 드롭시키고, 해당 클라이언트(10)의 IP 주소를 블랙리스트에 추가하는 과정을 수행할 수 있다. 일 실시예에서는, 클라이언트(10)에 부여된 티켓도 제거할 수 있다.
클라이언트(10)가 블랙리스트에는 해당되지 않으나 티켓이 없는 클라이언트(즉, 비인증 클라이언트)로 확인되면, DDOS 공격 차단 장치(100)는 클라이언트(10)의 인증이 가능한지 확인한다. 여기서, 클라이언트(10)의 인증이 가능한지에 대한 판단은 DDOS 공격 차단 장치(100)로의 접속 시도 세션의 개수와 세션 허용치 및 재인증 허용치의 비교를 수행함으로써 이루어진다. 여기서, 접속 시도 세션의 개수가 세션 허용치 미만인 경우, 제1 인증 알고리즘을 이용하여 DDOS 공격 차단 장치(100)는 클라이언트(10)에서 송신된 패킷이 정상적인 패킷인지 확인하는 과정을 수행한다. 그리고, 접속 시도 세션의 개수가 세션 허용치 이상이나 재인증 허용치 미만인 경우, 아래에서 도 9 및 도 10을 참조로 설명되는 것처럼 제2 인증 알고리즘을 통한 확인 과정이 이루어진다.
접속 시도 세션의 개수가 세션 허용치 미만인 경우, DDOS 공격 차단 장치(100)는 제1 인증 알고리즘에 따라 수신한 패킷이 SYN 패킷인지 또는 ACK 패킷인지 확인한다. 판단 결과, SYN 패킷인 경우 DDOS 공격 차단 장치(100)는 해당 패킷이 정상 패킷인 것으로 간주하고, 수신한 SYN 패킷을 서버(40)로 전달한다. 이때, 클라이언트(10)는 티켓이 없는 사용자이므로, DDOS 공격 차단 장치(100)는 대역폭이 제한된 비인증 IP 터널을 통해 해당 SYN 패킷을 서버(40)로 전달한다. 반대로, SYN 패킷이 아닌 ACK 패킷이 수신된 상황이라면, DDOS 공격 차단 장치(100)는 해당 패킷을 드롭시킨다.
DDOS 공격 차단 장치(100)에서 SYN 패킷을 서버(40)로 송신하면, 서버(40)에서는 SYN/ACK 패킷을 생성하여 이를 클라이언트(10)로 전달한다. 이때, DDOS 공격 차단 장치(100)는 클라이언트(10)의 IP 주소에 임시 티켓을 부여한다.
그 후, 클라이언트(10)에서 ACK 패킷을 송신하면, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)가 정상 클라이언트인 것으로 확정하고, ACK 패킷을 서버(40)로 전달한다. 반대로, 클라이언트(10)에서 ACK 패킷이 아닌 SYN 패킷을 송신하면, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)가 비정상 클라이언트인 것으로 판단하고, 해당 패킷을 드롭시킨다.
그 후, 클라이언트(10)에서 Push/ACK 패킷이 다시 송신되면, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)에 티켓을 부여하고, 티켓리스트를 갱신하며, 티켓리스트 데이터베이스(DB2)에 이를 반영할 수 있다. 이후, 클라이언트(10)에 티켓이 부여된 이후에도, DDOS 공격 차단 장치는 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정이 더 수행될 수 있다.
이제, 접속 시도 세션의 개수가 세션 허용치 이상이나 재인증 허용치 미만일 때의 상황을 가정하여, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)의 동작 방법에 대해 설명한다. 도 9는 제2 인증 알고리즘이 SYN 쿠키일 때, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)의 동작 방법에 대한 흐름도이다. 그리고, 아래에서 도 8을 참조로 설명한 부분과 중복되는 사항은 생략하여 설명한다.
먼저, 클라이언트(10)는 DDOS 공격 차단 장치(100)로 SYN 패킷을 송신한다. 이때, DDOS 공격 차단 장치(100)는 클라이언트(10)의 블랙리스트 여부, 그리고 티켓 보유 여부(즉, 인증 여부)를 확인하는 과정을 수행한다. 클라이언트(10)가 블랙리스트에 해당할 경우, DDOS 공격 차단 장치(100)는 해당 패킷을 드롭하고, 클라이언트(10)가 티켓이 있는 사용자로 판단되면 인증 IP 터널을 통해 서버(40)로 해당 패킷을 전달할 것이다. 물론, DDOS 공격 차단 장치(100)는 클라이언트(10)의 IP 주소에 티켓이 부여되었더라도, 클라이언트(10)의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 더 수행할 수 있다.
클라이언트(10)가 블랙리스트에는 해당되지 않으나 티켓이 없는 클라이언트(즉, 비인증 클라이언트)로 확인되면, DDOS 공격 차단 장치(100)는 DDOS 공격 차단 장치(100)로의 접속 시도 세션의 개수와 세션 허용치 및 재인증 허용치의 비교를 수행한다. 여기서, 접속 시도 세션의 개수가 세션 허용치 미만인 경우, 위에서 도 8을 참조로 설명한 제1 인증 알고리즘이 수행된다. 접속 시도 세션의 개수가 재인증 허용치를 초과하는 경우 해당 패킷은 드롭된다. 그리고, 접속 시도 세션의 개수가 세션 허용치 이상이되 재인증 허용치 미만인 경우, 아래에서 설명되는 제2 인증 알고리즘(본 예시에서는 SYN 쿠키 알고리즘)이 수행된다.
구체적으로, DDOS 공격 차단 장치(100)는 SYN 패킷을 보낸 클라이언트(10)에 임시 티켓을 부여하고, SYN/ACK 패킷을 송신한다. 여기서, SYN/ACK 패킷의 시퀀스 넘버에는 쿠키값이 포함된다. 그 후, 클라이언트(10)에서 ACK 패킷을 송신하면, DDOS 공격 차단 장치(100)는 ACK 패킷을 분석하여 쿠키값에 대한 확인을 수행한다. 확인 결과 ACK 패킷이 정상 패킷인 경우, DDOS 공격 차단 장치(100)는 해당 클라이언트(10)에 티켓을 부여한다. 그렇지 않은 경우, DDOS 공격 차단 장치(100)는 해당 패킷을 드롭시킬 수 있다. 이후, 클라이언트(10)에 티켓이 부여된 이후에도, DDOS 공격 차단 장치는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 더 수행할 수 있다. 위에서 설명한 것처럼, 과거에 인증된 IP(즉, 티켓이 발행된 IP)의 경우 IP 주소의 오버플로우 여부를 확인하는 과정이 수행되나, 새롭게 인증된 IP에 대해서는 통신 과정을 통해 오버플로우 여부를 확인할 수 있다. 이에 따라, 과거에 인증된 IP에 대해서는 오버플로우 여부 및 공격 IP 여부 모두를 확인하는 과정이 요구되나, 새롭게 인증된 IP에 대해서는 공격 IP 여부에 대해서는 확인 과정이 이루어지되, 오버플로우 여부에 대해서는 선택적으로 확인 과정이 이루어진다.
위에서 설명한 것처럼, 본 발명의 일 실시예에 따른 DDOS 공격 차단 장치(100)는 클라이언트(10)와 서버(40)간 존재하는 두 개의 통신 구간(즉, 클라이언트와 DDOS 공격 차단 장치 간의 제1 통신 구간 및, DDOS 공격 차단 장치와 서버 간 제2 통신 구간) 모두를 활용하여 인증을 수행하고, 종래기술 대비 클라이언트에 대한 인증 속도를 크게 개선할 수 있다. 그리고, DDOS 공격 차단 장치(100)는 상황에 따라 재인증 허용치 구간의 설정에 이용되는 재인증 허용치를 높임으로써 정상 클라이언트에 대한 인증 효율을 크게 개선시키거나, 또는 재인증 허용치를 적절하게 설정하여 리다이렉션 공격에도 대비할 수 있다.
그리고, 제2 인증 알고리즘은 SYN 쿠키 방식 외에도 다양한 방식이 이루어질 수 있고, 제2 인증 알고리즘이 HTTP 쿠키 방식인 경우, 도 10에 도시된 흐름을 통해 클라이언트(10)에 대한 인증이 수행될 수 있다. 물론 제2 인증 알고리즘은 클라이언트와 DDOS 공격 차단 장치 간 통신 구간을 통해 인증을 수행하는 SYN 프록시 등 다양한 방식이 적용될 수 있다.
도 11 및 도 12는 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대한 흐름도이다. 구체적으로, 도 11은 클라이언트에서 접속 요청을 위해 SYN 패킷을 송신할 때의 흐름을, 그리고 도 12는 클라이언트에서 ACK 패킷을 송신할 때의 흐름을 나타낸다. 먼저, 도 11을 참조로, 클라이언트에서 SYN 패킷을 송신할 때의, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대해 설명한다. 그리고, 아래에서는 상술한 부분과 중복되는 사항은 생략된다.
S101 단계는 패킷 수집부에 의해, 클라이언트로부터 송신된 패킷을 수집하는 단계이다.
S102 단계는 블랙리스트 검사부에 의해, 패킷을 송신한 클라이언트가 블랙리스트에 해당하는지 검사하는 단계이다. 앞서 설명한 것처럼, S102 단계는 블랙리스트 데이터베이스와 연동하여, 패킷을 송신한 클라이언트의 IP 주소가 블랙리스트에 해당하는지 확인함으로써 이루어질 수 있다. 검사 결과, 클라이언트의 IP 주소가 블랙리스트에 해당할 경우, S102 단계는 해당 패킷을 드롭시킨다. 반대로, 클라이언트의 IP 주소가 블랙리스트에 해당하지 않을 경우, S102 단계는 제어를 S103 단계로 전달한다.
S103 단계는 S102 단계를 통해 블랙리스트에 해당하지 않는 것으로 확인된 클라이언트가 티켓을 보유한 클라이언트인지 확인하는 단계이다. 구체적으로, S103 단계는 티켓리스트 데이터베이스에서 해당 클라이언트의 IP 주소가 티켓리스트에 존재하는지 검색함으로써 이루어질 수 있다.
확인 결과, 해당 클라이언트의 IP 주소가 티켓리스트에 존재하는 것으로 확인된 경우 S103 단계는 해당 클라이언트를 인증된 클라이언트로 판단하고, 제어를 S104 단계로 전달하여 티켓 시간을 갱신하고, 인증 IP 터널을 통해 해당 패킷을 서버로 전달하는 과정이 이루어진다.
이후, 클라이언트의 IP 주소가 티켓리스트에 존재하는 것으로 확인될 때, S103 단계 이후, 한계치 및 공격 검사부를 통해, 클라이언트의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 단계가 더 수행될 수 있다(도시 생략). 이러한 IP 주소의 오버플로우 여부 및 다른 공격 방법에 해당되는지의 판단에 대한 설명은 위에서 도 5를 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다. 반대로, 해당 클라이언트의 IP 주소가 티켓리스트에 존재하지 않는 것으로 확인될 때, 해당 클라이언트를 비인증 클라이언트로(즉, 해당 클라이언트의 주소를 비인증 IP 주소로) 분류하고, 제어를 S105 단계로 전달된다.
아래에서 설명되는 S105 단계 내지 S111 단계는 해당 클라이언트에 대한 정상 여부를 판단하고, 해당 클라이언트에 대해 티켓을 발행할 것인지 판단을 위한 과정을 수행하는 단계이다. 다만, DDOS 공격의 특성 상 모든 클라이언트들을 대상으로 해당 과정을 판단하기는 어려우므로, 본 발명의 일 실시예에서는 세션 허용치와 재인증 허용치를 두고, 이들을 근거로 설정된 구간 내에 속한 클라이언트에 대해 인증을 수행한다.
S105 단계는 세션 허용치 판단부에 의해, 클라이언트들로부터 송신된 접속 시도 세션의 개수와 세션 허용치를 비교하는 단계이다. S105 단계를 통한 판단 결과 접속 시도 세션의 개수가 세션 허용치 미만인 경우 제어는 S106 단계로 전달된다. 그렇지 않은 경우 제어는 S107 단계로 전달된다.
S106 단계는 비인증 IP 처리부에 의해, 비인증 IP 주소에 대한 정상 클라이언트 여부를 판단하는 단계이다. 구체적으로, S106 단계는 제1 인증 알고리즘을 클라이언트의 IP 주소에 반영하여 이루어질 수 있으며, S106 단계에서 이루어지는 인증은 DDOS 공격 차단 장치와 서버 간에 있는 비인증 IP 터널을 통해 이루어진다.
또한, S106 단계는 클라이언트로부터 송신된 패킷이 SYN 패킷인지 확인하는 단계를 포함할 수 있다. 위에서 설명한 것처럼, 제1 인증 알고리즘은 통신 과정에서 클라이언트가 올바른 패킷을 송신하였는지 확인함으로써 이루어질 수 있는데, 이러한 확인 과정은 만일 초기 통신 과정에서 클라이언트가 SYN 패킷이 아닌 ACK 패킷과 같이 다른 패킷을 보낼 경우 이를 비정상으로 판단한다. 확인 결과, 클라이언트로부터 송신된 패킷이 SYN 패킷인 경우, S106 단계는 해당 패킷을 서버로 전달하는 단계를 포함할 수 있다. 반대로, 클라이언트로부터 송신된 패킷이 SYN 패킷이 아닌 다른 패킷(예를 들어, ACK 패킷)인 경우, S106 단계는 해당 패킷을 드롭시키는 단계를 포함할 수 있다.
또한, S106 단계는 서버가 SYN 패킷에 대한 응답으로 SYN/ACK을 송신한 경우, 해당 클라이언트에 임시 티켓을 부여하고 수신한 SYN/ACK 패킷을 클라이언트로 전달하는 단계를 포함할 수 있다.
S107 단계는 재인증 허용치 판단부에 의해, 클라이언트들로부터 송신된 접속 시도 세션의 개수와 재인증 허용치를 비교하는 단계이다. 즉, S107 단계는 접속 시도 세션의 개수가 세션 허용치를 초과하나, 재인증 허용치 이내(즉, 재인증 허용치 구간 내)인지 판단하는 단계이다. 판단 결과, 접속 시도 세션의 개수가 재인증 허용치 이내인 경우, S107 단계는 클라이언트의 IP를 재인증 IP로 분류하고, 제어를 S108 단계로 전달한다. 그렇지 않은 경우 제어는 S111 단계로 전달되어 클라이언트로부터 송신된 패킷을 드롭하는 과정이 이루어진다.
S108 단계는 재인증 IP 처리부에 의해, 클라이언트의 IP에 대한 인증 방식을 선택하는 단계이다. 여기서, S108 단계는 제2 인증 알고리즘 중 어떠한 알고리즘을 통해 인증을 수행할지 결정하는 단계이다. 제2 인증 알고리즘은 클라이언트와 DDOS 공격 차단 장치 간의 통신 구간에서 인증을 수행하는 다양한 알고리즘(예를 들어, SYN 프록시, SYN 쿠키 및 HTTP 쿠키 중 적어도 하나)을 포함할 수 있고, S108 단계는 이들 중 어떤 알고리즘을 채택할지 선택하는 단계이다.
S109 단계는 재인증 IP 처리부에 의해, S108 단계를 통해 선택한 알고리즘에 따라 패킷 처리를 수행하는 단계이고, S110 단계는 처리된 패킷을 다시 클라이언트로 송신하는 단계이다.
이제, 도 12를 참조로 클라이언트에서 ACK 패킷을 송신할 때, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법에 대해 설명한다. 그리고, S201 단계 내지 S205 단계는 도 11을 참조로 언급한 S101 단계 내지 S105 단계와 실질적으로 동일하므로, 아래에서는 도 11의 설명과 차이점 위주로 그 설명이 이루어진다.
S206 단계는 비인증 IP 처리부에 의해, 비인증 IP 주소에 대한 정상 클라이언트 여부를 판단하는 단계이다. 구체적으로, S206 단계는 클라이언트가 임시 티켓이 부여된 클라이언트인지 확인하고, 임시 티켓이 부여된 클라이언트인 경우, S106 단계와는 달리 ACK 패킷을 수신할 때 클라이언트가 올바른 패킷을 송신하였다고 판단한다. 즉, S206 단계는 임시 티켓이 있는 클라이언트로부터 ACK 패킷을 수신할 때, 해당 클라이언트를 정상 클라이언트로 즉, 클라이언트의 IP 주소를 정상 IP 주소로 판단할 수 있다. 이후, 한계치 및 공격 검사부에 의해, 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 더 수행할 수 있다. 여기서, 클라이언트의 IP 주소를 정상 IP 주소로 판단할 때, 클라이언트의 IP 주소가 오버플로우인지 확인하는 과정이 더 수행될 수 있다. 다만, 상술한 재인증 과정 중 클라이언트의 IP 주소가 오버플로우인지의 여부도 확인이 가능하므로, 이에 대한 과정은 생략될 수도 있다.
그 후, S206 단계는 ACK 패킷을 서버로 전달하는 단계를 포함한다.
그리고 판단 결과 ACK 패킷이 아닌 다른 패킷(예를 들어, SYN 패킷)을 수신한 경우, S206 단계는 해당 패킷을 드롭시키는 단계를 포함할 수 있다.
S207 단계는 재인증 허용치 판단부에 의해, S201 단계를 통해 수집한 패킷의 클라이언트의 IP가 재인증 IP인지 판단하는 단계이다. S207 단계는 S206 단계와 마찬가지로, 해당 클라이언트에 임시 티켓이 부여되어있는지를 근거로, 재인증 IP의 인증 여부를 판단할 수 있다. 판단 결과 패킷을 송신한 클라이언트에 임시 티켓이 부여되어 있는 경우, 제어는 S208 단계로 전달된다. 그렇지 않은 경우, 제어는 S211 단계로 전달되어, 해당 패킷을 드롭시키는 과정이 수행된다.
S208 단계는 재인증 허용치 판단부에 의해, 제2 인증 알고리즘에 따라 패킷을 분석하는 단계이고, S209 단계는 제2 인증 알고리즘에 따른 판단 결과 해당 클라이언트가 정상 클라이언트인지 판단하는 단계이다. 판단 결과, 정상 클라이언트로 판단되면 제어는 S210 단계로 전달되어 해당 클라이언트에 티켓을 부여하고, 이 클라이언트의 IP 주소를 티켓리스트에 등록하는 과정이 수행된다. 이후, 한계치 및 공격 검사부에 의해, 클라이언트의 IP 주소가 오버플로우인지, 또는 다른 공격 방법인 어택, 해킹 및 바이러스(또는 비정상 공격방법)에 해당되는지 확인하는 과정을 더 수행할 수 있다. 그리고, S209 단계를 통한 판단 결과, 정상 클라이언트가 아닌 것으로 판단될 때, 제어는 S211 단계로 전달되어 해당 패킷을 드롭시키는 과정이 수행된다.
도 11 및 도 12를 참조로 설명한 것처럼, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 클라이언트로부터 송신된 패킷(즉, SYN 패킷 또는 ACK 패킷)을 이용하여 클라이언트의 비인증 IP 여부를 확인할 수 있다. 그리고, 본 발명의 일 실시예에 따른 DDOS 공격 차단 방법은 패킷을 수신할 때, 해당 패킷이 SYN 패킷인지 또는 ACK 패킷인지에 관계 없이 패킷을 송신한 클라이언트의 IP 주소에 대해 블랙리스트 여부 및 티켓리스트 여부를 확인한다.
물론, 한 번 검사가 완료된 클라이언트의 IP 주소에 대해서는 이후 블랙리스트 및 티켓리스트 검사를 수행하지 않는 방식으로, 본 발명의 실시예에 따른 방법을 구현할 수도 있다. 다만, 이를 위해서는 검사가 이루어진 클라이언트의 소스 포트 정보를 별도의 저장부(즉, 메모리)를 통해 관리해야 한다. 일반적으로, 웹서버 접속 통신의 경우, 홈페이지 접속 당 많게는 32개의 세션이 생성되는데, 이들 모두를 관리하기 위해서는 저장부에 대한 부하량이 높아지고 효율이 저하될 것이다. 이에 따라, 도 11 및 도 12에 도시된 것처럼 클라이언트로부터 송신된 패킷마다 상술한 검사를 수행하는 것이 보다 바람직하다.
본 발명의 원리들의 교시들은 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다. 또한, 소프트웨어는 프로그램 저장부 상에서 실재로 구현되는 응용 프로그램으로서 구현될 수 있다. 응용 프로그램은 임의의 적절한 아키텍쳐를 포함하는 머신에 업로드되고 머신에 의해 실행될 수 있다. 바람직하게는, 머신은 하나 이상의 중앙 처리 장치들(CPU), 컴퓨터 프로세서, 랜덤 액세스 메모리(RAM), 및 입/출력(I/O) 인터페이스들과 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에 구현될 수 있다. 또한, 컴퓨터 플랫폼은 운영 체제 및 마이크로 명령 코드를 포함할 수 있다. 여기서 설명된 다양한 프로세스들 및 기능들은 마이크로 명령 코드의 일부 또는 응용 프로그램의 일부, 또는 이들의 임의의 조합일 수 있고, 이들은 CPU를 포함하는 다양한 처리 장치에 의해 실행될 수 있다. 추가로, 추가 데이터 저장부 및 프린터와 같은 다양한 다른 주변 장치들이 컴퓨터 플랫폼에 접속될 수 있다.
첨부 도면들에서 도시된 구성 시스템 컴포넌트들 및 방법들의 일부가 바람직하게는 소프트웨어로 구현되므로, 시스템 컴포넌트들 또는 프로세스 기능 블록들 사이의 실제 접속들은 본 발명의 원리들이 프로그래밍되는 방식에 따라 달라질 수 있다는 점이 추가로 이해되어야 한다. 여기서의 교시들이 주어지면, 관련 기술분야의 당업자는 본 발명의 원리들의 이들 및 유사한 구현예들 또는 구성들을 참작할 수 있을 것이다.
예시적인 실시예들이 여기서 첨부 도면들과 관련하여 기술되었지만, 본 발명의 원리들이 이들 정확한 실시예들에 제한되지 않으며, 다양한 변경들 및 수정들이 본 발명의 원리들의 범위 또는 사상으로부터 벗어나지 않고 관련 기술 분야의 당업자에 의해 수행될 수 있다는 점이 이해되어야 한다. 모든 이러한 변경들 및 수정들은 첨부된 청구항들에서 설명되는 바와 같은 본 발명의 원리들의 범위 내에 포함되는 것으로 의도된다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: DDOS 공격 차단 장치 110: 블랙리스트 검사부
120: 티켓 확인부 130: 한계치 및 공격 검사부
140: 패킷 분석부 150: 세션 허용치 판단부
160: 비인증 IP 처리부 170: 재인증 허용치 판단부
180: 재인증 IP 처리부

Claims (18)

  1. 서버에 연결되어 상기 서버로의 DDOS(Distributed Denial of Service) 공격을 차단하는 DDOS 공격 차단 장치로서,
    티켓이 발행된 IP 주소가 저장되는 티켓리스트를 포함하는 티켓리스트 데이터베이스;
    클라이언트로부터 패킷을 수신하고, 상기 패킷을 송신한 클라이언트의 IP 주소가 상기 티켓리스트에 포함되어 있는지 판단하는 티켓 확인부;
    상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 상기 클라이언트의 IP 주소를 비인증 IP 주소로 분류하고, 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 세션 허용치 판단부;
    상기 접속 시도 세션의 개수가 상기 세션 허용치 미만일 때, 제1 인증 알고리즘을 이용하여 상기 서버와 상기 DDOS 공격 차단 장치 사이의 비인증 IP 터널을 통해 상기 클라이언트에 대한 정상 여부를 판단하는 비인증 IP 처리부; 및
    상기 접속 시도 세션의 개수가 상기 세션 허용치 이상이고, 상기 세션 허용치 보다 높은 재인증 허용치 미만일 때, 제1 인증 알고리즘과 상이한 제2 인증 알고리즘을 이용하여 상기 클라이언트가 전송한 정보를 기반으로 상기 클라이언트와 상기 DDOS 공격 차단 장치 사이의 통신구간 상에서 상기 클라이언트에 대한 정상 여부를 판단하는 재인증 IP 처리부를 포함하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  2. 제1항에 있어서,
    상기 DDOS 공격 차단 장치에 따른 네트워크 망의 트래픽이 통신되는 인증 IP 터널의 대역폭 크기는 상기 비인증 IP 터널의 대역폭 크기보다 크고, 상기 비인증 IP 처리부는 대역폭이 제한된 상기 비인증 IP 터널을 통해 송수신 되는 정보를 이용하여 상기 클라이언트에 대한 정상 여부를 판단하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  3. 제1항에 있어서,
    상기 제1 인증 알고리즘은, 상기 클라이언트가 전송한 패킷의 종류 및 상기 클라이언트에 대응하는 IP 주소를 기반으로 상기 클라이언트에 대한 정상 여부를 판단하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  4. 제1항에 있어서,
    상기 제2 인증 알고리즘은 SYN 프록시, SYN 쿠키 또는 HTTP 쿠키를 기반으로 상기 클라이언트에 대한 정상 여부를 판단하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  5. 제1항에 있어서,
    상기 비인증 IP 처리부는 상기 클라이언트와의 초기 통신 과정에서 상기 클라이언트로부터 SYN 패킷이 수신된 경우, 상기 클라이언트를 정상 클라이언트로 판단하고 상기 클라이언트에 임시 티켓을 부여하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  6. 제5항에 있어서,
    상기 비인증 IP 처리부는 임시 티켓이 부여된 클라이언트가 ACK 패킷을 송신할 때, 해당 클라이언트를 정상 클라이언트로 확정하고 티켓을 부여하며, 해당 클라이언트에 티켓이 부여되었음을 상기 티켓리스트 데이터베이스에 반영하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  7. 제2항에 있어서,
    상기 티켓 확인부는, 상기 클라이언트의 IP 주소가 상기 티켓리스트에 포함되어 있는 경우, 상기 클라이언트로부터 수신한 패킷을 상기 인증 IP 터널을 통해 상기 서버로 송신하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  8. 제1항에 있어서,
    상기 접속 시도 세션의 개수와 상기 재인증 허용치를 비교하는 재인증 허용치 판단부를 더 포함하고, 상기 재인증 허용치 판단부는 상기 접속 시도 세션의 개수가 상기 재인증 허용치 이상일 때 상기 패킷을 드롭시키는 것을 특징으로 하는 DDOS 공격 차단 장치.
  9. 제1항에 있어서,
    상기 클라이언트의 IP 주소가 티켓리스트에 존재할 경우, 상기 IP 주소가 오버플로우(overflow)인지, 및 상기 IP 주소가 공격(attack) 중인지 중 적어도 하나를 검사하는 한계치 및 공격 검사부를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 장치.
  10. 서버에 연결된 DOS 공격 차단 장치를 통해 수행되어, 상기 서버로의 DDOS 공격을 차단하는 DDOS 공격 차단 방법으로서,
    티켓 확인부에 의해, 클라이언트로부터 패킷을 수신하고, 상기 패킷을 송신한 클라이언트의 IP 주소가, 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 포함되어 있는지 판단하는 단계;
    세션 허용치 판단부에 의해, 상기 클라이언트의 IP 주소가 티켓리스트에 존재하지 않을 경우 상기 클라이언트의 IP 주소를 비인증 IP 주소로 분류하는 단계;
    상기 세션 허용치 판단부에 의해, 복수의 클라이언트들로부터 수신한 접속 시도 세션의 개수와 세션 허용치를 비교하는 단계;
    비인증 IP 처리부에 의해, 상기 접속 시도 세션의 개수가 상기 세션 허용치 미만일 때, 제1 인증 알고리즘을 이용하여 상기 서버와 상기 DDOS 공격 차단 장치 사이의 비인증 IP 터널을 통해 상기 클라이언트에 대한 정상 여부를 판단하는 단계; 및
    재인증 IP 처리부에 의해, 상기 접속 시도 세션의 개수가 상기 세션 허용치 이상이고, 상기 세션 허용치 보다 높은 재인증 허용치 미만일 때, 상기 클라이언트가 전송한 정보를 기반으로 제1 인증 알고리즘과 상이한 제2 인증 알고리즘을 이용하여 상기 클라이언트와 상기 DDOS 공격 차단 장치 사이의 통신구간 상에서 상기 클라이언트에 대한 정상 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  11. 제10항에 있어서,
    네트워크 망의 트래픽이 통신되는 인증 IP 터널의 대역폭 크기는 상기 비인증 IP 터널의 대역폭 크기보다 크고, 상기 제1 인증 알고리즘을 이용하여 상기 클라이언트에 대한 정상 여부를 판단하는 단계는 대역폭이 제한된 상기 비인증 IP 터널을 통해 송수신 되는 정보를 이용하여 이루어지는 것을 특징으로 하는 DDOS 공격 차단 방법.
  12. 제10항에 있어서,
    상기 제1 인증 알고리즘은, 상기 클라이언트가 전송한 패킷의 종류 및 상기 클라이언트에 대응하는 IP 주소를 기반으로 상기 클라이언트에 대한 정상 여부를 판단하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  13. 제10항에 있어서,
    상기 제2 인증 알고리즘은 SYN 프록시, SYN 쿠키 또는 HTTP 쿠키를 기반으로 상기 클라이언트에 대한 정상 여부를 판단하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  14. 제10항에 있어서,
    상기 제1 인증 알고리즘을 이용하여 상기 클라이언트에 대한 정상 여부를 판단하는 단계는,
    상기 클라이언트와의 초기 통신 과정에서 상기 클라이언트로부터 SYN 패킷이 수신된 경우, 상기 클라이언트를 정상 클라이언트로 판단하고 상기 클라이언트에 임시 티켓을 부여하는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  15. 제14항에 있어서,
    상기 제1 인증 알고리즘을 이용하여 상기 클라이언트에 대한 정상 여부를 판단하는 단계는,
    임시 티켓이 부여된 클라이언트가 ACK 패킷을 송신할 때, 해당 클라이언트를 정상 클라이언트로 확정하고 티켓을 부여하는 단계; 및
    해당 클라이언트에 티켓이 부여되었음을 상기 티켓리스트에 반영하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  16. 제11항에 있어서,
    상기 클라이언트의 IP 주소가 티켓이 발행된 IP 주소가 저장되는 티켓리스트에 포함되어 있는지 판단하는 단계는,
    상기 클라이언트의 IP 주소가 상기 티켓리스트에 포함되어 있는 경우, 상기 클라이언트로부터 수신한 패킷을 상기 인증 IP 터널을 통해 상기 서버로 송신하는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  17. 제10항에 있어서,
    재인증 허용치 판단부에 의해, 상기 접속 시도 세션의 개수와 상기 재인증 허용치를 비교하는 단계를 더 포함하고,
    상기 접속 시도 세션의 개수와 상기 재인증 허용치를 비교하는 단계는 상기 접속 시도 세션의 개수가 상기 재인증 허용치 이상일 때 상기 패킷을 드롭시키는 단계를 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
  18. 제10항에 있어서,
    한계치 및 공격 검사부에 의해, 상기 클라이언트의 IP 주소가 티켓리스트에 존재할 경우, 상기 IP 주소가 오버플로우인지, 및 상기 IP 주소가 공격 중인지 중 적어도 하나를 검사하는 단계를 더 포함하는 것을 특징으로 하는 DDOS 공격 차단 방법.
KR1020170132761A 2017-10-12 2017-10-12 Ddos 공격 차단 장치 및 방법 KR102027440B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170132761A KR102027440B1 (ko) 2017-10-12 2017-10-12 Ddos 공격 차단 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170132761A KR102027440B1 (ko) 2017-10-12 2017-10-12 Ddos 공격 차단 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190041325A KR20190041325A (ko) 2019-04-22
KR102027440B1 true KR102027440B1 (ko) 2019-10-02

Family

ID=66282974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170132761A KR102027440B1 (ko) 2017-10-12 2017-10-12 Ddos 공격 차단 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102027440B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858271B1 (ko) * 2007-11-27 2008-09-11 주식회사 나우콤 분산서비스거부공격 차단장치 및 그 방법
JP2015158881A (ja) * 2014-02-25 2015-09-03 株式会社ウェブサービス・ディベロップメント セッションハイジャック防止のためのアクセス可否管理システム、プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101263329B1 (ko) * 2009-12-02 2013-05-16 한국전자통신연구원 네트워크 공격 방어 장치 및 방법, 이를 포함한 패킷 송수신 처리 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858271B1 (ko) * 2007-11-27 2008-09-11 주식회사 나우콤 분산서비스거부공격 차단장치 및 그 방법
JP2015158881A (ja) * 2014-02-25 2015-09-03 株式会社ウェブサービス・ディベロップメント セッションハイジャック防止のためのアクセス可否管理システム、プログラム

Also Published As

Publication number Publication date
KR20190041325A (ko) 2019-04-22

Similar Documents

Publication Publication Date Title
US8453208B2 (en) Network authentication method, method for client to request authentication, client, and device
US7552323B2 (en) System, apparatuses, methods, and computer-readable media using identification data in packet communications
US5699513A (en) Method for secure network access via message intercept
US7313618B2 (en) Network architecture using firewalls
US7979694B2 (en) Using TCP to authenticate IP source addresses
US7624437B1 (en) Methods and apparatus for user authentication and interactive unit authentication
US20160269421A1 (en) Method for network security using statistical object identification
EP1519541B1 (en) DOS attack mitigation using upstream router suggested remedies
US8978138B2 (en) TCP validation via systematic transmission regulation and regeneration
CA2506418C (en) Systems and apparatuses using identification data in network communication
KR20110049282A (ko) 디도스 공격에 대한 디도스 탐지/차단 시스템 및 그 방법
KR20180032864A (ko) 사용자 인증을 통한 비정상 네트워크 트래픽 제어 장치 및 방법
CN115603932A (zh) 一种访问控制方法、访问控制系统及相关设备
KR101263381B1 (ko) TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치
Shoeb et al. Resource management of switches and Controller during saturation time to avoid DDoS in SDN
KR101463873B1 (ko) 정보 유출 차단 장치 및 방법
KR101020470B1 (ko) 네트워크 침입차단 방법 및 장치
US11310265B2 (en) Detecting MAC/IP spoofing attacks on networks
CN1905553B (zh) 在dos攻击或者设备过载时保障所选用户访问的方法
KR102027440B1 (ko) Ddos 공격 차단 장치 및 방법
EP3618396B1 (en) Protection method and system for http flood attack
KR102027434B1 (ko) 보안 장치 및 이의 동작 방법
KR20180028742A (ko) 모드 변경이 가능한 양방향 통신 장치 및 방법
KR102027438B1 (ko) Ddos 공격 차단 장치 및 방법
CN111585972B (zh) 面向网闸的安全防护方法、装置及网络系统

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