2021-09-18 09:40 (토)
DDoS 공격자는 DNS 공격을 준비하고 있다
상태바
DDoS 공격자는 DNS 공격을 준비하고 있다
  • 홍석범
  • 승인 2011.07.05 21:49
이 기사를 공유합니다

DNS서버, DDoS 공격시 큰 피해 발생...대응방안 마련해야
동서고금을 막론하고, 뚫는 자와 막는 자의 관계에 있어 뚫는 자(공격자)는 항상 막는 자의 가장 약한 곳을 찾아 공격하기 나름이다. 그렇다면, 공격자의 입장에서 막으려는 자에게 가장 큰 피해를 주면서도 약한 곳은 어디일까? 바로 DNS라고 말할 수 있다. 특정 도메인에 대한 위임정보를 제공하는 DNS에 장애가 나면, 웹은 물론이고 메일 등 모든 도메인 서비스가 중단되어 초유의 서비스 장애가 유발될 수 밖에 없을 것이기 때문이다. 이번 글에서는 기술적으로 향후 DNS가 왜 DDoS 공격의 주 타깃이 될 수 밖에 없고, 실제 공격 발생시에 큰 피해가 유발되는지에 대해 살펴보도록 하자.
 
도메인(사이트주소)을 근간으로 인터넷 서비스를 제공하는 업체에 있어 외부에 노출되는 정보는 두 가지이다. 바로 웹 서버(www.domain.net) 및 이 도메인의 IP주소를 제공하는 DNS서버(ns1.domain.net/ns2.domain.net) 정보이다. 결국, DDoS 공격의 목적이 인터넷 비즈니스를 정상적으로 하지 못하도록 하는 것이라면, 공격자는 즉각적인 효과를 볼 수 있는 웹서버 또는 웹서버의 IP정보를 제공하는 DNS서버에 집중될 것이다. 현재까지는 대부분 웹 서버에 DDoS 공격이 집중되어, 적지 않은 기관과 업체들은 상단 라우터에서 ACL을 이용하여 ICMP/UDP를 차단하거나 웹 서버 앞 단에 anti-ddos, L7스위치, 캐싱 서버 등을 설치하여 다단계 대응 체계를 구축하여 왔다. 그만큼 축적된 경험과 노하우를 기반으로 현재는 최적의 대응체계를 구축하였다고 말할 수 있다. 하지만 인터넷 서비스의 근간이라 할 수 있는 DNS는 어떠한가?(사진출처. www.flick.com / hisperati)
 
첫째, DNS는 기본적으로 53/udp를 사용하기 때문에, 웹과 달리 만약의 UDP Flooding에 대해 상단 백본에서 ACL로 UDP 필터링이 불가능하다. 물론 PBR을 이용하여 특정 사이즈의 UDP 패킷을 차단하도록 설정은 가능하지만, 이는 이론적인 기능일 뿐이며 적용시에 장비의 급격한 성능 문제로 인하여 실제 적용은 불가능하다. 이는, 만약의 UDP Flooding 시에 공격 트래픽이 백본을 지나 각 서버가 연결된 access 단까지 그대로 전달된다는 것을 의미한다. 통상적으로 한 좀비가 30Mbps 정도의 Flooding 트래픽을 유발할 수 있고, 평균적인 DDoS 공격시 좀비의 개수를 1,000개인 점을 감안하면 서버가 연결되어 있는 access 단까지 30Gbps의 UDP 공격 트래픽이 유입될 수 있다는 것을 의미한다. 따라서, 10Gbps 이하의 망을 운영중인 대부분의 조직이나 기관의 경우 손을 써 볼 겨를도 없이 당할 수 밖에 없을 것이다.
 
둘째, DNS서버는 처리 가능한 Query의 수 즉, QPS(Query Per Second) 의 한계가 있다. 통상적으로 DNS는 캐시(TTL)의 개념이 있기 때문에 한번 질의한 후에는 일정 기간 재 질의를 하지 않아 일반적인 PC급 사양의 서버로도 충분히 서비스 가능하다. 따라서, 대부분의 기관이나 조직에서 사용하는 Bind DNS의 경우 대당 최대 5-7만 QPS를 처리 가능한데 만약 수십만, 수백만 QPS의 공격이 들어온다면 제대로 대응하지 못하고 당할 수 밖에 없을 것이다. 실제로 한 PC에서 수 천~1만 QPS 이상 발생 가능한 툴들도 있어 적은 양의 좀비로도 수백만 QPS의 공격이 가능할 것으로 보고 있어 큰 위협이 되는 것이 사실이다. 물론 DNS의 캐시 및 2차/3차로 구성하여 DNS에 장애가 발생해도 당장 대규모 서비스 장애로 연결 되지는 않겠지만, 공격이 지속될수록 점차 피해범위는 극도로 커질 수 밖에 없을 것이다. 또한 DNS가 복구되어도 DNS가 정상 작동하지 않았던 정보 자체도 캐시(negative cache)하기 때문에 피해가 전면 복구되기 까지는 적지 않은 시간이 소요된다는 문제점을 안고 있다.
 
셋째로, 웹 서버는 DNS에서 쉽게 IP 변경이 가능하지만, DNS에 대한 공격을 받아 DNS 서버 자체의 IP를 변경하여야 할 경우 whois 정보 변경이 어렵고, .com이나 .net등 국제 도메인의 경우 변경 내역이 수시간~수일 후에 반영되는 등 많은 시간이 소요된다는 문제가 있다.
 
넷째로, 대부분의 조직이나 기관에서는 한 DNS 서버에 여러 개의 도메인을 셋팅하여 운영하거나 심지어 호스팅 업체의 경우 수 만개 이상의 도메인을 한꺼번에 서비스하는 경우가 많다. 따라서 DDoS 공격이 발생하여 수시간 동안 DNS 서비스가 정상 작동하지 않으면 그 피해는 한
고객사에만 한정되지 않고 상상을 초월할 만큼 커질 수 밖에 없을 것이다.
 
다섯째로, DNS 기반 공격은 차단하기 어렵다.
현재까지 대부분을 이루고 있는 TCP기반의 HTTP기반 공격과 비교를 하면, HTTP는 헤더와 Referer, Cookie, Redirect 등 여러 가지 복잡한 상관관계를 이용하여 정상 트래픽과 공격 트래픽을 어느 정도 구분이 가능하지만 DNS 트래픽은 워낙 단순하기 때문에 정상과 비정상 트래픽을 구분 하기가 매우 어렵다. 또한, 공격IP 위조가 불가능한 HTTP 공격에 비해, DNS가 UDP인 특성상 소스 IP를 쉽게 위조할 수 있기 때문에 만약 168.126.63.1과 같이 정상 DNS 서버의 IP인 것처럼 스푸핑하여 공격을 하면 공격 트래픽인 것을 알면서도 IP 차단이 불가능할 수도 있다. 마지막으로, DNS 공격에 대한 경험과 지식이 전무한 것도 큰 문제이다. 미국의 경우 수 년 전부터 DNS에 대한 공격이 자주 발생하였지만 한국은 아주 극소수만 발생하였을 뿐 대부분 웹에 집중되어 있어 anti-DDoS 장비에서도 마땅한 차단 방법이 없는 등 보안업체에게도 골치거리인 것이 사실이다.
 
지금까지 DDoS 대응의 아킬레스건이라 할 수 있는 DNS 서비스의 취약성과 그 한계에 대해 살펴 보았다. 아직 공격자들이 DNS에 대한 본격적인 공격을 감행하지 않은 것은 그나마 다행이겠지만, 살얼음판과 같이 언제든 발생 가능하며 만약의 발생시 큰 피해가 유발될 Risk임은 분명할 것이다. 다음 글에서는 이의 피해를 줄이고, 최소화하기 위한 대응 방안에 대해 살펴보도록 하겠다. [씨디네트웍스 홍석범 팀장 antihong@gmail.com]