보안 이슈

AhnLab 보안 전문가의 심층분석! 보안 이슈 정보를 전해드립니다.

[DDoS 기획] DDoS 최신 공격 기법과 방어 기법

  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.

  • 안철수연구소
  • 2010-06-30

2009년 발생한 7•7 DDoS 대란으로 공공기관뿐만 아니라 금융, 민간 기업 등 인터넷을 이용하는 모든 기관 및 기업들이 매우 큰 혼란에 빠졌었다. 올해는 아직까지 DDoS 공격으로 인한 국가적인 비상 사태는 없었다. 하지만 지속적으로 DDoS 공격이 발생되고 있는 것도 사실이다. 또한 7•7 DDoS 대란을 기점으로 하여 기존의 봇넷(BotNet) 기반의 DDoS 공격뿐만 아니라 새로운 형태의 DDoS 공격 기법이 포함된 DDoS 공격 툴을 수동적 배포하여 사용자가 직접 DDoS 공격에 개입하는 형태로 발전하고 있는 것을 볼 수 있다.


지난해 7•7 DDoS 대란과 같은 일을 겪지 않기 위해서는 현재의 DDoS 공격은 어떠한 형태가 있고 어떻게 변화하고 있으며, 어떠한 대응 기법이 있는지를 숙지할 필요가 있다. 즉, ‘지피지기 백전불태(知彼知己 百戰不殆)’로 명확한 DDoS 공격 이해가 이루어지면 방어할 수 있는 방법을 생각할 수 있다.


이 글에서는 현재 발생되고 있는 DDoS 공격을 분류해 보고 각 공격 유형별로 어떠한 피해를 야기할 수 있으며, 방어 기법은 어떠한 것이 있는지 살펴보고자 한다.


최신 DDoS 공격 트렌드 분석


최근의 DDoS 공격 양상을 보면 전통적인 악성코드 감염 기반의 좀비 PC를 이용한 DDoS 공격과 직접 공격 툴(Tool)을 다운로드 받아 DDoS 공격을 감행하는 자의적인 DDoS 공격 형태로 분류해 볼 수 있다. 좀비 PC 기반의 DDoS 공격은 이미 우리가 경험해온 바와 같이 악성코드를 이용하여 특정 유포지를 통하여 많은 PC가 감염되도록 한다. 이러한 악성코드에 감염되면 공격자가 중앙에서 제어할 수 있는 ‘봇넷’에 등록이 된다. 그 시점으로부터 감염된 PC는 공격자의 ‘좀비 PC’가 되는 것이다. 공격자는 이렇게 획득한 좀비 PC를 이용하여 다양한 형태의 DDoS 공격을 수행하게 된다. 
물론, 이러한 봇넷 없이 악성코드 자체가 공격을 자동으로 수행하고 공격 목표와 기법을 업데이트 하는 형태의 공격 기법도 존재한다. 지난해 7•7 DDoS 대란을 일으킨 악성코드가 바로 그것이다. 이 경우 중앙에서 공격을 제어하는 공격자를 찾기 쉽지 않기 때문에 악성코드 자체가 치료되기 전까지는 DDoS 공격이 계속 수행될 수 밖에 없다..


반면 자의적인 DDoS 공격의 경우, 앞서 설명한 좀비 PC의 획득 과정 없이 공통된 특정 목적을 가진 사람들이 같은 시간에 같은 목표(Target)을 향하여 동시에 공격을 수행하는 형태로 이루어지고 있다. 실제로 올해 6월초 발생한 중국발 DDoS 공격이 대표적인 예이다. 즉, 동일한 공격 목적을 가진 사람들이 스스로 공격에 참여하고, 주동자는 DDoS 공격 툴을 배포하여 DDoS 공격을 수행했다.


여기서 주목해야 할 것은 자의적인 DDoS 공격에 이용되는 공격 툴과 공격 기법이다.
먼저 악성코드 기반의 공격의 경우 새로운 DDoS 공격 기법을 적용시키기 위해서는 이미 감염시켜 놓은 악성코드를 업데이트 하는 등의 일련의 과정을 거쳐야 한다. 이 경우 은닉되어 있던 봇넷이 백신프로그램 등으로 인해 검출되면 공격자는 한 순간의 실수로 애써 획득한 좀비 PC들을 잃어버릴 가능성이 크다. 하지만, 자의적인 DDoS 공격의 경우 공격 수행자에게 공격 시작 전 직접 배포를 할 수 있으므로 새로운 DDoS 공격 기법이 포함된 공격 툴을 손쉽게 배포할 수 있다. 아울러 같은 시간에 같은 목표를 공격하므로 새로운 기법의 DDoS 공격을 시도할 수 있다. 이로 인하여 기존의 DDoS 공격 방어 전용 제품의 기능을 무력화 또는 우회하면서 공격을 성공시킬 수 있는 새로운 형태의 DDoS 공격 기법을 빠르게 확산시킬 수 있다.

 

[그림 1] 안철수연구소 DDoS 전용 장비 ‘트러스가드 DPX’의 DDoS 방어 기법


DDoS 공격의 분류


DDoS 공격의 종류를 분류할 경우 다양한 기준을 통하여 분류할 수 있으나 최근 발생하는 DDoS공격 트렌드에 맞추어 분류하면 ‘정상적인 세션 연결’ 여부에 따라 아래와 같이 분류할 수 있다.


1. 정상적인 세션 연결을 고려하지 않은 DDoS 공격


전통적인 DoS/DDoS 공격은 많은 트래픽을 유발함으로써 서비스를 제공하는 서버의 과부하를 일으키는 기법을 사용한다. 이는 일반적인 인터넷 환경에서 생성될 수 있는 여러 가지 프로토콜(Protocol)을 기반으로 하여 네트워크 입장에서는 정상적으로 보이는 패킷을 과도하게 발생함으로써 서비스의 과부하를 일으켜 서비스 거부 공격을 수행하게 되는 것이다.
이러한 유형에는 인터넷 환경에서 가장 많이 사용하는 TCP 프로토콜을 이용하는 기법과 TCP 프로토콜이 아닌 UDP/ICMP 프로토콜 기법의 DDoS 공격 유형이 존재한다.


▶ TCP 프로토콜을 이용한 Flooding Attack


TCP 의 경우 RFC 규약에 의하면 6가지의 ‘TCP Flag’라는 옵션값을 제공한다. 특히 TCP의 경우 연결 지향성(Connection-Oriented) 프로토콜로 클라이언트와 서버의 정상적인 세션 연결 상태를 상호 작용을 통하여 항상 확인하는 특성이 있다. 특히 정상적인 세션을 연결하기 위해서는 TCP 3-Way Handshake라고 명명되는 정상적인 세션 연결 요청 및 응답이 선행되어야 한다. 이후에는 각각 클라이언트와 서버 간의 주고받는 데이터의 정확한 전달 확인을 위한 신호가 매 패킷마다 이루어지는 과정을 거치게 된다.


이러한 과정에서 일어나는 신호를 TCP의 Flag 옵션을 선택하여 이루어지게 되며, DDoS 공격 시에는 이 TCP Flag 값을 임의적으로 선택하여 해당 패킷을 과도하게 보냄으로써 서비스의 과부하를 야기시키게 되는 공격이다.


TCP 프로토콜을 이용한 상세한 DDoS 공격 유형은 다음과 같다.


A. TCP Syn Flooding


TCP Flag 중 TCP 세션 요청 과정 중 가장 먼저 발생하는 TCP Syn 패킷을 기반으로 한 DDoS 공격 유형이다.


• 공격 증상
가장 쉽게 발생시킬 수 있으며 서비스의 부하의 영향도가 큰 DDoS 공격 유형이다. TCP 3-Way Handshake 과정에서 제일 처음 발생되는 ‘TCP Syn’ Flag 패킷을 과도하게 발송함으로써 공격 대상지는 TCP 세션의 정상적인 연결을 위하여 세션 성립 대기를 하게 된다. 이 때 과도한 TCP 연결 대기에 의해 서버의 과부하를 야기하는 공격 유형이다.


• 공격 방어 기법

[그림 2] TCP Syn Flooding 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


이러한 공격에 가장 효과적으로 방어할 수 있는 기법은 해당 TCP Syn 패킷이 정상적으로 요청하는지에 대해 서버 대신 DDoS 공격 대응 장비에서 대리 응답을 통하여 검증하는 기법이 가장 효과적이다. 이 기법을 통하여 정상적인 TCP 연결 요청만 통과시키고 비정상적인 TCP 연결 요청은 차단할 수 있는 방법을 제공한다. 아울러 정상 트래픽 임계치보다 과도한 TCP Syn을 요청하는 출발지 IP에 대해 차단할 수 있는 임계치 기반의 DDoS 공격 방어 기법도 효과적인 대응 기법으로 사용된다.


B. TCP Syn 이외의 Flooding (TCP Syn-Ack / Ack / Push-Ack / Fin / Rst / Urg 등)


TCP Syn 이외의 다른 TCP Flag를 이용하는 공격 기법이다.


• 공격 증상
해당 DDoS 공격 발생 시 서버는 자신이 연결하고 있지 않은 출발지에서 유입되는 다양한 패킷을 처리하고 확인하는 과정에서 과부하를 야기하게 된다.


• 공격 방어 기법

[그림 3] TCP Syn 이외의 Flooding 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


가장 쉽게 해당 공격을 방어할 수 있는 기법은 TCP 프로토콜이 연결 지향성(Connection-Oriented)이라는 점을 이용한 공격 방어 기법이 있다. 정상적인 TCP의 경우에는 TCP 3-Way Handshake 과정을 거쳐야만 한다. 하지만, 이러한 Handshake 과정에 위배된 TCP 패킷이 유입될 경우 비정상적인 트래픽으로 구분하여 차단하는 방법이 가장 효과적이다. 또한 정상적인 트래픽의 임계치에 의거하여 비정상적으로 많은 트래픽을 유발하는 출발지 IP에 대해 차단하는 임계치 기반의 DDoS 방어 기법도 효과적인 대응 기법이다.
트러스가드 DPX 의 경우 각 TCP Flag 별 임계치를 정의하고 탐지할 수 있는 기능이 제공되므로, 네트워크의 환경에 맞는 임계치를 설정할 경우 해당 공격에 대해 쉽게 방어가 가능하다.


▶ TCP 프로토콜 이외의 UDP/ICMP 프로토콜을 이용한 Flooding


UDP나 ICMP 프로토콜은 TCP와 다르게 연결 지향형 프로토콜이 아니다. 즉 클라이언트와 서버간의 UDP/ICMP의 전송은 송신에만 주력하며 제대로 전달되었는지에 대한 검증이 이루어지지 않은 프로토콜이다. 따라서 DDoS 공격자 입장에서는 단순히 패킷만 발송하면 되기 때문에 TCP보다 더 쉬운 DDoS 공격을 유발할 수 있다.


• 공격 증상
UDP/ICMP 의 경우 패킷의 크기를 임의적으로 조정하여 서비스의 과부하를 야기하게 된다. 만약 패킷 크기를 가장 작은 단위로 사용할 경우 서버 입장에서는 매 초당 많은 패킷을 수신해야 하므로 이 과정에서 과부하를 일으키게 된다. 반대로 패킷 크기를 가장 큰 단위로 사용할 경우 Server 입장에서는 상대적으로 매 초당 처리해야 하는 패킷의 수는 적은 반면 회선 대역폭 (Bandwidth) 의 용량 초과로 인하여 서비스 거부 현상을 일으키게 된다.


• 공격 방어 기법

[그림 4] TCP 프로토콜 이외의 UDP/ICMP 프로토콜을 이용한 Flooding 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


일반적으로 서비스의 특성 상 UDP나 ICMP를 서비스에 이용하는 유형은 제한되어 있다. 따라서 UDP나 ICMP를 서비스에서 사용하지 않을 경우에는 미리 차단하는 것을 일반적으로 권고하게 된다. 이 경우 불필요한 트래픽을 사전에 차단함에 따라 Server 및 회선의 과부하를 사전에 방지할 수 있다. 또한 TCP 프로토콜 기반의 Flooding을 방어하는 기법과 마찬가지로 임계치 기반에 의거한 DDoS 공격 탐지 및 방어 기법도 사용이 가능하다.


▶ 잘못된 프로토콜 헤더를 이용한 Flooding


앞서 언급한 세가지 기법의 DDoS 공격의 경우 정상적인 프로토콜의 헤더를 가지고 있는 DDoS 공격 유형이다. 그러나 공격자에 따라 이러한 프로토콜의 헤더 규약까지도 무시한 패킷을 DDoS 공격으로 이용할 수도 있다.


• 공격 증상
비정상적인 헤더를 가진 트래픽을 수신한 서버는 잘못된 헤더에 대한 무시 등의 처리를 수행해야 하며, 아울러 비정상적인 트래픽이 회선의 용량을 고갈시킴에 따라 서비스에 이상 영향을 초래할 수 있다.


• 공격 방어 기법
일반적인 네트워크 보안 제품에서는 정상적이지 않은 패킷의 헤더는 즉시 차단하도록 내부 보안 기능을 가지고 있다. 이를 통해 비정상적인 트래픽을 자동으로 차단해 줌으로써 서비스 가용성을 확보할 수 있다.

 

2. 정상적인 세션 연결 기반의 DDoS 공격


앞서 살펴본 여러 가지 DDoS 공격 유형은 정상적인 세션 연결을 고려하지 않고 과도하게 많은 트래픽을 발송하여 서비스의 과부하를 유발하는 공격 기법이다. 이와 반대로 정상적인 세션을 연결하는 기법을 이용한 DDoS 공격 유형도 있다. 특히 이러한 DDoS 공격은 정상적인 세션을 정상적으로 연결하기 때문에 전통적으로 사용하는 보안 제품의 본연의 기능 및 정상 세션 검증 절차를 쉽게 회피할 수 있다. 또한 공격이 집중되는 서버 입장에서는 정상적인 세션 처리까지 수행해야 하기 때문에 단순한 Flooding 공격보다 더 많은 서비스의 부하를 일으킨다. 이러한 정상적인 세션 연결 기반의 DDoS 공격 종류는 다음과 같다.


▶ TCP Connection Flooding


TCP Connection Flooding 은 TCP 3-Way Handshake 과정을 과도하게 유발함으로써 서비스의 과부하를 야기시키는 공격 유형이다.


• 공격 증상
공격 트래픽을 수신하는 서버는 정상적인 TCP 세션을 지속적으로 세션 연결을 하여 서비스를 위하여 수행하는 서버의 세션 처리 자원(Resource)를 고갈시켜 정상적인 세션 연결을 더 이상 수행하지 못하게 한다. 결국 정상적으로 접근하는 사용자가 더 이상 서비스에 접근할 수 없게 된다. 이 공격 기법을 세분화하면 크게 세 가지로 나눠볼 수 있다.


 TCP 세션 연결을 유지하는 DDoS 공격
 TCP 세션 연결/해제를 반복하는 DDoS 공격
 TCP 세션 연결 후 정상적인 트랜잭션(Transaction)처럼 보이는 트래픽을 발송하는 DDoS 공격


• 공격 방어 기법

[그림 5] TCP Connection Flooding 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


이러한 DDoS 공격을 방어하기 위해서는 다음과 같은 다양한 형태의 DDoS 방어 기법을 사용해야 한다. 먼저 정상적인 TCP 세션 연결 이후 정상적인 트랜잭션(Transaction)이 수행되는지에 대해 검증하여 만약 정상적인 트랜잭션이 이루어질 경우 서버로 전달해야 하고, 정상적인 트랜잭션 없이 TCP 세션 연결만 수행할 경우에는 서버로 전달하지 않아야 서버에 부하 증가 현상을 막을 수 있다. 또한 네트워크의 정상적인 환경에서 설정된 각 트래픽 유형별 임계치를 통하여 과도한 TCP 세션 연결에 대해 차단할 수 있는 방법도 권고하는 DDoS 방어 기법이다.


▶ HTTP Get Flooding


앞서 설명한 TCP Connection Flooding 의 경우 TCP 3-Way Handshake 과정 이후 정상적인 트랜잭션이 일어나지 않는 반면 TCP 3-Way Handshake 과정 이후 정상적으로 보이는 트랜잭션이 추가적으로 발생되는 DDoS 공격 기법이다. 일반적으로 DDoS 공격은 웹 서버(Web Service)를 대상으로 DDoS 공격이 발생되며, TCP 세션 연결 이후 발생하는 일반적인 공격 형태가 바로 HTTP Get Flooding 형태가 그것이다. 다시 말하면, HTTP Get Flooding 은 정상적인 TCP 연결 과정 이후 정상적으로 보이는 HTTP Transaction 과정이 수행되는 DDoS 공격 기법이다.


• 공격 증상
공격 트래픽을 수신하는 서버는 정상적인 TCP 세션과 함께 정상적으로 보이는 HTTP Get 요청을 지속적으로 요청하게 되므로, 서비스를 위하여 수행하는 서버는 기본적인 TCP 세션 처리뿐만 아니라 HTTP 요청 처리까지 수행해야 한다. 이 경우 HTTP 처리 모듈의 과부하까지도 야기시킬 수 있는 DDoS 공격 기법이다.


• 공격 방어 기법

[그림 6] HTTP Get Flooding 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


전통적인 DDoS 공격 대응 장비에서 이러한 HTTP Get Flooding 공격을 방어하기 위해서는 일반적으로 임계치 기반의 방어 기법을 적용한다. 즉 HTTP Get Flooding 시 수행되는 TCP 연결 요청의 임계치 값과 HTTP Get 요청의 임계치 값의 모니터링을 통하여 비정상적으로 많은 트래픽을 발생하는 출발지 IP에 대한 선별적인 차단 적용이 가능해 진다. 다행히도 이러한 세션 연결 기반 공격의 경우 출발지 IP는 변조될 수가 없기 때문에 출발지 IP 기준의 임계치를 통하여 방어가 가능하다.
하지만, 향후 이러한 세션 기반 공격의 경우 다수의 사용자를 이용한 DDoS 공격이 이루어지며 하나의 출발지 IP 당 발생하는 DDoS 공격 트래픽 양은 방어 장비에서 설정된 임계치 정책보다도 더 작게 공격할 수 있는 위험을 가지고 있다.
따라서 상세한 DDoS 공격을 방어하기 위해서는 정상적으로 HTTP Get 요청을 하는지에 대한 정밀한 검사 기법이 요구된다. 안철수연구소의 트러스가드 DPX는 이러한 TCP/HTTP 연결 요청에 대한 검증 기증을 가지고 있어 임계치 기반의 방어 동작뿐만 아니라 정상적인 HTTP 트랜잭션의 검증 기능을 통하여 HTTP Get Flooding 형태의 DDoS 공격을 효과적으로 방어할 수 있다.


▶ HTTP CC Attack


HTTP Get Flooding 의 경우 기본적인 HTTP 요청을 하는 반면에 HTTP CC Attack 은 일반적인 HTTP Get Flooding 보다 더 많은 부하를 야기하기 위하여 HTTP 1.1 RFC 2616 에 규정되어 있는 ‘Cache-Control’이라는 헤더 옵션값을 사용함으로써 웹 서버에 더 많은 부하를 유발시키는 지능화된 DDoS 공격 기법이다. 일반적으로 HTTP 1.1 의 Cache-Control 헤더 옵션은 웹 트랜잭션의 효율화를 이용하여 사용하게 되는 Cache 기능을 사용하지 않고 자주 변경되는 데이터에 대해 새롭게 HTTP 요청 및 응답을 요구하기 위하여 사용되는 옵션이다. 이를 DDoS 공격 기법에 응용하게 되면 웹 서버는 Cache를 사용하지 않고 응답을 해야 하므로 웹 서비스의 부하가 증가하게 된다. 이러한 Cache-Control에 사용되는 헤더 옵션은 다음과 같다.
 


※ 일반적으로 알려진 중국 DDoS 공격 툴의 HTTP CC Attack 의 경우 ‘Cache-Control: no-store, must-revalidate’로 설정되어 DDoS 공격에 이용되나, 이는 HTTP 1.1 헤더 규약인 ‘Cache-Control’ 헤더 옵션에 지정되는 것이 아니라 클라이언트의 사용 브라우저 정보를 나타내는 ‘User-Agent’ 헤더 옵션에 추가된 잘못 기재된 사항이다.


• 공격 증상
Cache-Control 헤더 옵션을 이용한 HTTP 공격은 정적인 웹 페이지의 연결 요청보다 게시판과 같은 동적인 웹 페이지를 공격할 때 공격 효과가 뛰어나다. 특히 동적인 페이지의 경우 웹 응답 시 다양한 형태의 웹 어플리케이션과 미들웨어, 데이터베이스의 트랜잭션 연계가 수행되므로, 이로 인하여 웹 서버 부하뿐만 아니라 웹 서버에 연관된 모든 요소의 부하를 증가시킬 수 있다.


• 공격 방어 기법

[그림 7] HTTP CC Attack 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


이러한 HTTP CC Attack을 방어하기 위해서는 HTTP Get Flooding 과 마찬가지로 일반적인 방어 기법인 임계치 기반의 DDoS 공격 방어가 효과적이다. 즉, TCP 세션 요청과 HTTP 요청에 대한 임계치 기법으로 방어가 가능하다. 하지만 이 공격은 Cache-Control이라는 HTTP 헤더 옵션을 사용하는 공격이므로, HTTP Cache-Control 헤더 옵션 별 임계치 정책으로 방어해야지만 큰 효과를 얻을 수 있다. 이를 통하여 만약 Cache-Control 헤더 옵션을 이용하여 많은 트래픽이 유입될 필요가 없는 서비스 환경이라면 해당 정책을 엄격하게 제한하여 과도한 트래픽을 유발하여 임계치 정책에 위반되는 출발지 IP를 차단하는 것이 효과적인 공격 방어 기법이다.
아울러, HTTP CC Attack 도 Cache-Control 헤더 옵션을 사용하는 기법만 제외하면 HTTP Get Flooding 과 동일한 형태의 공격 트래픽이 발송이 된다. 따라서 안철수연구소의 트러스가드 DPX에서 제공하는 정상적인 TCP/HTTP 세션 요청 검증 기능을 이용하여 임계치 이하의 DDoS 공격 트래픽도 효과적으로 방어해야 한다.


▶ Dynamic HTTP Request Flooding


HTTP Get Flooding 이나 HTTP CC Attack 은 일반적으로 지정된 웹 페이지를 지속적으로 요청하는 DDoS 공격 유형이다. 그러나 이 경우 위에서 언급한 다양한 DDoS 공격 방어 기법 이외에 특징적인 HTTP 요청 패턴으로 방어할 수 있는 기법도 적용이 가능하다. 물론 정상적인 요청과 비정상적인 요청을 구분할 수는 없으나 기존의 공격 대상 웹 페이지의 이름을 변경하면서 공격 트래픽의 요청을 일괄적으로 차단하면 방어는 가능할 수 있다.
이러한 DDoS 공격 차단 기법을 회피하기 위하여 정해진 웹 페이지를 요청하는 것이 아니라 지속적으로 요청 페이지를 변경할 수 있는 DDoS 공격 기법도 존재한다. 특히 더 많은 부하를 일으킬 수 있는 동적인 웹 페이지를 요청하는 공격 기법에서 발전하여 동적인 웹 페이지 요청을 수시로 변경하며 웹 페이지를 요청할 경우 부하는 더 증가할 수 있다. 또한 방어하는 입장에서도 해당 공격을 정규화된 패턴으로 방어할 수가 없다. 아울러 게시판과 같은 규정화된 데이터베이스의 호출에서 변화하여 데이터베이스를 검색해서 결과를 얻을 수 있는 검색 질의어(Query)를 과도하게 요청할 수도 있다.
이를 Dynamic HTTP Request Flooding 이라고 이 글에서는 명명한다.


• 공격 증상
공격 트래픽을 수신하는 서버는 정상적인 TCP 세션과 함께 정상적으로 보이는 HTTP Get 요청을 동적인 웹 페이지를 통하여 요청 시 마다 다른 웹 페이지를 지속적으로 요청하게 된다. 그러므로 서비스를 위하여 수행하는 서버는 기본적인 TCP 세션 처리뿐만 아니라 매번 다른 동적인 HTTP 요청 처리까지 수행해야 한다. 이 경우 HTTP 처리 모듈 및 데이터베이스, 미들웨어 등의 과부하까지도 동시에 야기시킬 수 있는 DDoS 공격 기법이다.


• 공격 방어 기법

[그림 8] Dynamic HTTP Request Flooding 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


위에서 언급한 바와 같이 Dynamic HTTP Request Flooding은 정형화된 패턴이 없으므로 패턴 매칭 기법을 통한 DDoS 공격 방어 기법은 사용할 수 없다. 하지만 DDoS 공격은 정상적인 형태처럼 보이는 TCP/HTTP 트랜잭션 트래픽을 과도하게 유발하게 되므로, 평상시 네트워크 트래픽의 양을 각 트래픽 유형별로 설정하는 임계치 기반의 방어 기법으로 방어가 가능하다. 즉, TCP 연결 요청과 HTTP Get 요청의 임계치를 통하여 DDoS 공격 발생 시 과도한 트래픽을 발생하는 출발지 IP 를 차단하는 DDoS 방어 기법을 사용할 수 있다.
아울러 HTTP 요청을 기반으로 한 공격이므로, 앞서 설명한 바와 같이 TCP/HTTP 요청의 검증 기능을 통하여 효과적으로 방어할 수 있다.


▶ HTTP 취약점 기반 DDoS Attack

HTTP 요청 공격의 경우 정상적으로 보이는 HTTP 트랜잭션 과정을 과도하게 유발함으로써 서비스 거부 현상을 야기시키는 공격 유형이나, HTTP 취약점 기반 DDoS 공격은 전통적인 웹 서버의 취약점을 대상으로 한 DDoS 공격 형태이다.


• 공격 증상
이 HTTP 취약점을 대상으로 한 DDoS 공격은 HTTP 웹 데몬의 경우 몇몇 취약점을 가지고 있다. 이러한 취약점을 통하여 과도한 트래픽을 유발할 경우 서버의 부하 또는 장애를 유발시킴으로써 서비스 거부를 유발하게 된다.


• 공격 방어 기법

[그림 9] HTTP 취약점 기반 DDoS Attack 공격 방어에 이용되는 ‘트러스가드 DPX’ 방어 기법


HTTP 취약점을 대상으로 한 공격의 경우 이미 해당 공격에 대한 위협 분석이 이루어지고 있으므로 시그니처 기반의 유해 패킷 차단 기술이 선행되어야 한다. 안철수연구소의 경우에는 각종 네트워크 취약점에 대한 시그니처를 분석하고 실시간으로 배포하고 있어 최신 취약점 유형 공격에 대해 방어가 가능하다.
또한 취약점을 대상으로 한 다량의 DDoS 공격 트래픽 방어를 위하여 기존의 DDoS 제품에서 사용되는 임계치 기반의 방어 기법과 함께, HTTP 요청 트래픽을 이용한 DDoS 공격에 대응하기 위하여 트러스가드 DPX에서 제공되는 정상 TCP/HTTP 요청 검증 기능을 통하여 유해한 트래픽을 방어할 수 있는 기법을 제시할 수 있다.


향후 DDoS 공격의 변화 예측 및 대응 방안 제언


위에서 살펴본 바와 같이 DDoS 공격은 매우 다양하다. 공격자 입장에서는 DDoS 공격을 좀 더 효과적으로 수행하기 위하여 지속적으로 여러 가지 DDoS 공격 기법들을 발전시키고 있다. 반면, 방어자 입장에서도 새로운 DDoS 공격 유형을 방어하기 위한 기법들을 발전시키고 있다. 이러한 순환 생태계에서 지금 순간에도 공격자와 방어자는 치열한 싸움을 하고 있다. 이 싸움에서 이기기 위해서는 새로운 형태의 DDoS 공격 대응 기법이 필요하다. 다시 말하면, 기존의 DDoS 공격 대응 제품의 경우 단순 임계치 기반의 DDoS 공격 방어에 초점을 맞추고 있지만, 이제는 이러한 방식으로는 DDoS 공격에 효과적으로 대응하기에는 한계가 있다.


안철수연구소는 다양한 악성코드 정보와 DDoS 공격 정보의 유기적인 연동을 통하여 DDoS 공격 대응 전용 제품인 트러스가드 DPX 의 연계를 구축하고 있다. 이를 바탕으로 DDoS 공격 근원인 좀비 PC를 유발하는 악성코드 정보를 분석하고 관련 정보를 네트워크 어플라이언스 제품인 트러스가드 및 트러스가드 DPX로 정책을 신속하게 업데이트 한다. 또한 새로운 DDoS 공격 기법 분석을 통하여 신규 DDoS 공격 방어를 위한 기법을 트러스가드 DPX로 적용시켜 새로운 DDoS 공격 유형에 대한 사전 예방 기능을 제공한다.


아울러, 향후 DDoS 공격은 임계치 기반의 DDoS 공격 전용 제품을 우회하기 위하여 소규모 트래픽을 유발하는 좀비 PC가 광범위하게 이용될 것으로 판단된다. 따라서 단순히 임계치 기반의 DDoS 제품에서 발전하여 안철수연구소의 트러스가드 DPX와 같이 정상적인 TCP 및 HTTP 트랜잭션의 검증 과정을 수행할 수 있는 제품을 통하여 새로운 DDoS 공격 양상에 대응할 수 있다. 이를 통하여 정상적인 트래픽과 비정상적인 트래픽을 지능적으로 판단할 수 있어야 DDoS 공격 방어와 함께 서비스의 연속성을 보장할 수 있다.@

  • 안철수연구소 로고
  • 안철수연구소 제품마케팅팀 대리 김우겸

보안정보의 저작권은 저자 및 ㈜AhnLab에 있으므로 무단 도용 및 배포를 금합니다.

  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.