본문 바로가기

춤추는 프로그래머/Security

DDoS

DDoS 보안위협과 대응방안
DDoS 솔루션도 요구사항에 따라 끊임없이 진화


2007년 3분기부터 보고되기 시작한 중국 발 DDoS 공격으로 인한 피해가 계속 확산되고 있다. 지금까지는 아이템거래, 웹디스크, 포털 등의 사이트에서 피해가 보고되었으나 최근에는 금융권을 비롯해 온라인 교육 및 여행 등 다양한 분야로 확산되고 있다. 금품갈취가 목적인 이러한 공격은 이제 기업화된 조직에 의해서 발생되고 있는데 작게는 수백 Mbps에서 많게는 멀티 Gbps의 공격 트래픽 발생을 통해서 서비스를 다운 시키고 있다.


김한기 라드웨어코리아 팀장(hankik@radware.com)



최근 보안 위협의 경향



2007년 ‘Infonestics Research’ 발표에 따르면 보안 위협으로 인해 대기업은 연간 30억 원, 중견기업은 연간 2억 원 정도의 피해를 입는 것으로 보고됐다. 대기업의 경우 DoS (서비스거부) 공격이 50%에 이를 만큼 많은 비율을 차지하고 있으며 소규모 기업의 경우도 37%로 보고되고 있다. 국내의 경우도 일반 보안위협보다 DDoS(분산 서비스 거부공격)로 인한 피해가 더욱 크게 보고되고 있다.


DDoS 공격은 크게 네트워크 기반 공격과 애플리케이션 기반 DDoS 공격으로 구분해 볼 수 있다. 최근 DDoS 공격은 네트워크 기반의 DDoS 공격으로 1단계는 UDP 및 ICMP 기반의 DDoS 공격이 가장 일반적으로 발생한다. UDP 및 ICMP의 경우 데이터그램 추가를 통해 큰 패킷사이즈로 공격을 보낼 수 있는데 이를 통해서 대역폭 고갈을 손쉽게 유발할 수 있기 때문이다. 국내에 크게 이슈가 되었던 아이템거래사이트의 공격도 최초 단계에서는 이러한 UDP 기반 공격이 10Gbps 이상이 발생되었다.


2단계는 세션 및 커넥션 고갈이 목적인 SYN 플러딩 공격이다. 해당 공격은 세션기반 관리장비인 방화벽 및 애플리케이션 스위치(L4/L7)의 세션을 고갈시켜서 서비스를 다운시키는 공격이다. 3단계는 TCP Flag 기반 공격으로 SYN-ACK, ACK, FIN, RST, PSH+ACK 등의 공격이 여기에 해당한다. 해당 공격은 불필요 응답 트래픽을 유발 시키며 방화벽, 애플리케이션 스위치(L4/L7)와 같은 세션기반 관리 장비의 CPU 부하를 증가시켜서 서비스 다운을 유발한다.


마지막 단계로는 소량의 SYN을 반복적으로 발생시키는 SYN Flood 공격이나 웹페이지를 계속 반복적으로 요청하는 HTTP Flood 공격이다. 이를 통해서 애플리케이션 스위치 및 서버의 부하를 유발시켜서 서비스를 다운시키게 된다.


<그림1> DDoS 공격단계 별 공격유형 및 목적



DDoS 공격의 원리



네트워크 기반의 DDoS 공격은 일반적으로 IRC Bot(봇)을 이용하는데, 우리가 로봇이라고 부르는 바로 그 봇과 같은 용어로, 원격에서 조종이 가능한 공격매개체를 지칭한다. 이러한 매개체가 많이 확보될 경우 보다 대용량의 트래픽이 생성 가능하다. 일반적으로 개인 사용자의 경우 자신도 모르는 사이 감염돼 의도하지 않은 공격자가 되는 경우가 많다.


네트워크 기반 DDoS 공격의 경우 이렇게 감염된 봇을 적게는 100개에서 많게는 500개 이상 확보를 통해서 공격을 시도한다. 일반 사용자들이 개인용 바이러스 백신의 설치나 업데이트에 보다 주의를 기울인다면 DDoS로 활용되는 봇 매개체를 줄일 수 있으며 DDoS로 인한 피해를 줄일 수 있다.
국내에 보고된 10Gbps 이상의 공격 또한 이러한 봇에 감염된 PC를 다량으로 확보한 공격이다. KISA에서 보고한 자료에 의하면 Bot에 감염된 PC의 경우 대역폭만 충분히 확보 된다면, 한 대당 48Mbps까지 공격 트래픽 생성이 가능하다. 100대의 Bot을 확보한다면 이론적으로 4.8Gbps의 공격 트래픽이 생성될 수 있다.


<그림2> 네트워크 기반 DDoS 공격의 원리


<그림3> 애플리케이션 기반 HTTP Flood 공격 원리


일반적으로 DDoS(서비스부하 분산 거부)공격은 SYN, UDP, ICMP Flooding과 같은 네트워크 레벨의 공격이 일반적이다. 하지만 최근의 경우 웹 페이지를 반복적으로 요청해 서비스 장애를 유발하는 애플리케이션 레벨의 DDoS 공격이 발생하고 있다. ‘Security Focus(http://www.securityfocus.com/news/9411)’에서는 IRC server를 이용한 대량의 HTTP Bot 공격이 유발 된 사례가 보고되고 있다. 이 공격의 특징은 3-Way 통신 후 특정 페이지나 콘텐츠를 반복적으로 요청해 기존의 IPS 기능으로는 차단하는데 한계점을 가지고 있다.


국내에서도 2년 전 대입수능 원수 접수 당시 다른 수험생들의 원서 접수를 막기 위해 불특정 다수의 학생들이 새로 고침 기능을 이용해 원시적이지만 HTTP Flood 공격을 시도한 적이 있다. 또한 실제 일부 사이트의 경우 ‘새로고침(F5 버튼)’을 반복적으로 시도하는 경우, 웹서버에서 애플리케이션 서버를 쿼리 하는 과정에서 서비스가 다운되는 현상이 보고되기도 했다.



DDoS 공격 위협에 대한 대응방안



DDoS를 차단하기 위해서 활용하는 솔루션은 다양하다. L3스위치의 ACL 기능을 이용해UDP/ICMP 트래픽을 완전히 차단하거나 방화벽의 SYN Cookie 및 Stateful-Inspection 기능 또는 애플리케이션 스위치(L4/L7스위치)의 Delayed Binding이나 임계치 기능을 활용해 DDoS 공격을 차단하기도 한다.


많은 기업에서 도입한 IPS를 활용하는 것이 가장 일반적이며 최근에는 IPS에 비해서 보다 향상된 전용 Anti-DoS 장비를 활용하는 기업도 늘어나고 있다. 아래에서는 방화벽, 애플리케이션 스위치, IPS와 같은 기존의 전통적인 DDoS 차단 방법과 최근의 전용 Anti-DDoS 장비가 가지는 차별점을 알아보도록 하겠다.



전통적 DDoS 공격 차단



방화벽, 애플리케이션스위치, IPS의 경우 전통적인 차단방법을 활용해서 DDoS 공격 차단을 하고 있다. 패턴 및 임계치 그리고 SYN Cookie가 전통적인 차단 방법으로 가장 많이 활용되는 기능이다.


SYN Cookie 기능은 TCP 기반의 공격 차단 방법으로 가장 많이 활용하고 있다. 사용자의 서비스 요청인 SYN Packet의 Sequence를 쿠기 값으로 인증하고 SYN-ACK 응답을 대신 보낸 후 ACK 패킷이 Cookie+1이 되는 값이 들어오는지 체크하는 간단한 원리를 활용한다.


IPS(침입차단시스템) 장비에 따라서 SYN Proxy 또는 Stateful-Inspection의 확장된 기능을 제공하기도 하는데 이는 SYN 테이블이 만들어지지 않은 상황에서 다른 TCP Flag 공격, 예를 들어 SYN-ACK, ACK 등의 패킷이 들어오는 경우 이를 차단해 기타 TCP 기반 공격의 차단이 가능하게 된다. 위에서 설명한 SYN Cookie, SYN Proxy, Stateful-Inspection은 일반 IPS에서 TCP 기반의 DDoS 공격을 차단하기 위해 많이 활용하는 방법이다.


UDP나 ICMP의 경우 3-Way 통신을 하지 않기 때문에 일반적으로는 임계치 기반의 공격 차단방법을 많이 활용한다.


<그림4> SYN Cookie 동작원리



Advanced DDoS 공격 차단



전용 Anti-DoS 장비에는 전통적인 DDoS 차단 방법에서 보다 진보된 행동기반 DDoS 차단 방법이 도입되고 있다. 이는 기존의 차단 방법이 가지고 있는 일부 제약점을 극복하기 위함이다. TCP 기반의 공격 차단 솔루션으로 활용하는 SYN Cookie 경우 인바운드와 아웃바운드 트래픽 경로가 항상 같은 대칭형(Symmetric) 환경에서만 활용이 가능하다.


예를 들어 IDC에서 2개의 회선을 빌려서 사용하고 있는 환경, 즉 인바운드와 아웃바운드 트래픽 경로가 달라질 수 있는 비대칭형(Asymmetric) 환경에서는 사용이 불가능한 제약점이 존재한다. 또한 UDP와 ICMP 기반의 DDoS 공격을 차단하기 위해서는 활용하는 임계치 기능의 경우, Destination IP에 대한 초당 세션 수를 제어하게 되는데 DHCP나 DNS와 같이 대부분의 트래픽이 UDP인 경우 해당 기능의 사용은 불가능하며 오탐에 대한 위험이 클 수밖에 없다. 따라서 이를 극복하기 위한 능동 학습형 차단 방법에 대한 관심을 가지게 되는 것이다.


<그림5> SYN Cookie 동작원리


<그림5>는 능동 학습형 기반 DDoS 공격 차단방법 알고리즘에서 활용하는 퍼지로직 엔진에 대한 설명이다. Y축으로 표시된 임계치 정보, 그리고 X축으로 표시된 전체 트래픽 대비 비정상적 트래픽 분포를 고려해서 공격의 위험도를 판단하는 방법이다.


전통적인 솔루션이 임계치 판단을 위해서 IP와 Port 정보를 활용했다면 능동 학습형 기반 학습차단 방법은 해당 정보외에도 패킷사이즈 ToS, TTL, DNS Query, DNS ID, Packet ID, Sequence Number 등 총 17가지의 정보를 활용한다. 그리고 비정상 트래픽 정보는 전체 패킷대비 TCP, ICMP, UDP의 프로토콜 비율, TCP 패킷 내에서는 SYN, ACK, Reset, FIN, PSH등의 비율을 따져서 특정 트래픽이 전체대비 과도한 경우 이를 공격으로 판단하는 방법이다.


예를 들어 1Gbps HTTP 트래픽 환경 하에서도 일반적인 SYN Packet은 4000 PPS(Packet Per Second)를 넘지 않는다. 하지만 실제 공격이 발생되는 경우 초당 수만 PPS의 SYN 패킷이 발생되므로 SYN Attack을 쉽게 판단할 수 있다. SYN Attack으로 의심이 되면 앞서 언급한 17가지 TCP/IP 헤더 정보 중 어떠한 인수가 과도하게 들어오는지 판단하고 각 인수를 And 연산을 통한 필터생성을 통해서 차단함으로써 오탐을 최소화는 차단 알고리즘을 사용한다.


능동 학습형 알고리즘의 가장 큰 장점은 네트워크 구성의 제약이 크지 않다는 점이다. 앞서 전통적인 차단 방법에서 언급한 대칭형 환경 혹은 비대칭형 환경에 구애 받지 않고 적용이 가능하다. 또한 임계치를 사용하지 않고도 UDP/ICMP 기반의 DDoS 공격이 차단가능 하므로 오탐에 대한 위험을 크게 줄일 수 있다. 현재 Carrier(ISP) 사업자의 경우 DNS 및 DHCP 구간 보호를 위해서 IPS를 사용중이며 패턴기반의 정책을 통해서 차단을 수행하나 능동 학습형 기반 차단 솔루션을 이용하는 경우 별도의 패턴을 등록하지 않고도 대량의 공격 차단이 가능하다.



애플리케이션 DDoS(HTTP Flood) 공격차단



앞서 설명한 네트워크 기반 DDoS 공격뿐 아니라 애플리케이션 기반의 HTTP Flood 공격에 대한 사례도 최근 국내에 보고되고 있다. 일부 능동 학습형 차단 솔루션의 경우 이에 대한 대응방안을 제공하고 있다. HTTP Flood 공격의 경우 특정 페이지에 대한 쿼리 요청이 3-Way 통신 후 정상적인 과정을 통해 반복적이고 대량으로 발생되기 때문에 전통적인 침입차단시스템으로는 차단이 불가능하다. 이를 차단하기 위해서는 평상시 HTTP 트래픽을 학습하고 있다가 과도하게 초과된 페이지 쿼리가 발생하면 자동으로 차단해야만 대응이 가능하다.


<그림6> HTTP Get Request 공격


이러한 대응이 가능하기 위해서는 HTTP Flood 공격인지 판단할 수 있는 아래의 5가지 정보를 지속적으로 모니터링 해야한다. 즉 HTTP Flood 판단을 위해 해당 테이블을 실시간 및 히스토리(학습) 정보로 나누어서 관리하며 실시간 정보가 히스토리 정보를 초과하는 경우 이를 공격으로 간주하는 것이다.


① Get & Post requests
② Other request types
③ Outbound HTTP Mbps
④ Max number of request per source
⑤ Max number of request per connection


<그림7>은 위에서 언급한 5가지 정보에 대해 웹서버 별 HTTP 트래픽을 실시간 및 히스토리 정보로 나누어 체크한 그래프이다.



네트워크 망 설계에 대한 고민



흔히들 한국은 가장 역동적이고 빠르게 IT 시장이 확대되고 있으며 새로운 기술을 적용한다고 말한다. 하지만 이 과정에서 망에 대한 설계를 한 두 곳의 IDC나 전산센터에 집중해서 구축하고 있으며 집중화된 트래픽을 처리하기 위해 다른 어느 나라보다 처리 성능이 뛰어난 고사양의 장비를 도입하고 있다.


최근의 경우 10G 이상의 공격이 발생되고 있는데, 공격 트래픽은 모두 집중화된 IDC 및 전산센터로 전달된다. 이 과정에서 회선 대역폭에 대한 고갈 이슈는 물론 공격 트래픽을 모두 처리할 수 있는 차단시스템 찾기 어려운 문제가 발생하고 있다.


DDoS가 가장 많이 발생하고 있는 중국의 경우 이러한 이슈를 이미 2~3년 전에 겪었으며 이를 해결하기 위해서 서비스를 지역별로 분산해서 처리하고 있다. 즉 대량의 공격이 발생하더라도 공격 트래픽이 분산되어 처리되며 이때 각 지역별로 2~3G 이상의 공격 트래픽은 받지 않고 있다. 해당 시스템은 GSLB(Global Server Load Balancing)를 통해서 구현이 가능한데 원래 이 기능은 서비스를 보다 빠르게 처리하기 위해서 고안된 서비스 방법 중 하나이다.


<그림7> HTTP Traffic Monitoring


국내의 경우 지리적으로 넓지 않기 때문에 그간 GSLB 기능을 활용하기보다 한 두 곳의 IDC에 집중해서 서비스를 제공해왔는데 이제는 트래픽에 대한 분산처리를 적극적으로 고민해 보아야 하는 시점이다. 즉 서비스에 대한 가용성과 응답시간뿐만 아니라 보안을 위한 가용성 보장을 위해서도 트래픽의 분산처리 시스템이 필요하다.



DDoS 차단 솔루션의 진화



DDoS 차단 솔루션이 궁극적으로 지향하는 바는 ‘Three Zero’ 솔루션이다. ‘Zero Touch’ ‘Zero Day’ ‘Zero False-positive’로 공격발생시 사용자의 별도 룰 수정 없이 즉각적으로 공격을 차단하며, 이 과정에서 오탐 발생을 최소화해야 한다. 기존의 전통적인 솔루션에 보다 진일보된 Anti-DoS 기능이 제공되는 것은 이러한 흐름을 반영한 것이다.


최근 대용량의 DDoS 공격으로 인해 보다 대용량 트래픽을 처리할 수 있는 장비가 요구된다. 2008년에는 이러한 요구를 반영해 10Gbps 이상의 트래픽을 처리하는 DDoS 차단 장비가 제공될 계획이다. 하지만 앞에서도 언급한 것과 같이 고사양의 차단 장비와는 별개로 공격 트래픽을 보다 효과적으로 차단하기 위한 서비스 분산 시스템 또한 기업에서 검토가 필요하다.


차단 시스템의 구축도 보다 다양해 질 것으로 본다. 기존의 경우 인바운드와 아웃바운드의 경로가 같은 대칭형환경(Symmetric) 구축이 일반 적이었다면 고객사의 요구를 반영한 DSR(Direct Server Return) 형태의 비대칭형(Asymmetric) 구축도 능동 학습형 기반 차단시스템에서는 구축이 가능하므로 이러한 형태의 구축이 증가할 것으로 보인다.


DDoS의 공격 형태와 규모가 다양하고 커지는 만큼 이에 대한 DDoS 솔루션도 보다 지능화되고 대용량화 되고 있으며 고객의 요구사항에 맞추어 향후에도 꾸준히 진화할 것으로 판단된다.



제공 : DB포탈사이트 DBguide.net