anothel의 지식 창고

DNS 증폭 공격: 작은 요청으로 거대한 위협을 만드는 방법 본문

기술 노트/정보보안기사

DNS 증폭 공격: 작은 요청으로 거대한 위협을 만드는 방법

anothel 2025. 3. 7. 13:19

1. 개요

DNS 증폭 공격(DNS Amplification Attack)은 분산 서비스 거부(DDoS) 공격의 한 형태로, 작은 요청 패킷을 이용해 대량의 네트워크 트래픽을 생성하여 목표 시스템의 가용성을 저하시킨다. 이 공격은 DNS 서버의 구조적 특성과 프로토콜의 취약점을 악용하여 공격자가 적은 리소스로도 막대한 피해를 유발할 수 있도록 한다.

이 공격은 공개적으로 접근 가능한 DNS 리졸버(Open DNS Resolver)를 이용해 수행된다. 공격자는 피해자의 IP 주소를 위조한 후 대량의 DNS 질의를 전송하고, 응답 크기를 증폭시켜 목표 시스템에 과부하를 발생시킨다. 특히, DNS 질의 대비 응답 크기가 훨씬 크다는 점을 이용해 트래픽을 극대화하는 것이 핵심적인 전략이다.

 

2. DNS 증폭 공격의 원리

DNS 증폭 공격은 DNS 프로토콜의 특성과 오픈 리졸버(Open Resolver)의 존재를 악용하여 수행된다.

2.1 요청 대비 응답 크기의 차이

DNS 질의는 일반적으로 512바이트 미만이지만, DNS 응답은 질의의 종류에 따라 수백 KB에서 수 MB에 이를 수 있다. 따라서 공격자가 대량의 DNS 질의를 전송하면, DNS 리졸버는 이에 상응하는 대량의 DNS 응답을 생성하여 목표 시스템으로 보낸다. 이러한 특성을 이용하면 공격자는 최소한의 트래픽으로도 네트워크 부하를 대규모로 증가시킬 수 있다.

2.2 DNS 프로토콜의 인증 부재

DNS 프로토콜에는 기본적인 인증 절차가 없기 때문에, 공격자는 Open DNS Resolver 서버에 쉽게 DNS 질의를 보낼 수 있다. DNS 서버는 클라이언트의 신원을 확인하지 않고 요청에 응답하기 때문에, 공격자는 피해자의 IP 주소를 스푸핑하여 DNS 서버가 목표 시스템으로 대량의 응답을 전송하도록 유도할 수 있다.

2.3 Open DNS Resolver의 문제

Open DNS Resolver는 인터넷 어디에서나 접근할 수 있는 DNS 서버로, 보안 설정이 미흡한 경우 공격자가 악용할 가능성이 높다. 특히 ANY 질의는 도메인과 관련된 모든 정보를 반환하므로, 이를 요청하면 응답 크기가 급격히 증가하여 증폭 공격의 효과를 극대화할 수 있다.

 

3. 공격 과정

DNS 증폭 공격의 절차는 다음과 같다.

  1. 공격자는 목표 시스템의 IP 주소를 스푸핑하여 가짜 패킷을 생성한다.
  2. Open DNS Resolver에 ANY 유형의 질의를 포함한 대량의 DNS 요청을 보낸다.
  3. DNS 서버는 대량의 응답을 생성하여 목표 시스템으로 전송한다.
  4. 목표 시스템은 과부하 상태에 빠져 정상적인 서비스 제공이 불가능해진다.

이 과정에서 공격자는 다수의 DNS 서버를 활용하여 공격 효과를 극대화할 수 있으며, 피해자는 대량의 응답 트래픽으로 인해 네트워크 대역폭이 소진되거나 시스템이 다운될 수 있다.

 

4. 실제 사례

DNS 증폭 공격은 다양한 대규모 사이버 공격에서 활용된 바 있다.

  • Spamhaus 공격 (2013년): 스팸 차단 서비스인 Spamhaus가 DNS 증폭 공격을 받아 300Gbps 이상의 트래픽이 발생, 인터넷 전반의 속도 저하가 유발되었다.
  • Dyn DNS 공격 (2016년): 대규모 DNS 서비스 제공업체 Dyn이 DNS 증폭 공격을 포함한 여러 유형의 DDoS 공격을 받아 Twitter, Netflix, Reddit과 같은 주요 웹사이트가 일시적으로 마비되었다.

이러한 사례들은 DNS 증폭 공격이 대규모 인터넷 서비스에 미칠 수 있는 영향을 보여준다.

 

5. 대응 방안

DNS 증폭 공격을 방지하기 위해서는 다음과 같은 보안 조치가 필수적이다.

5.1 Open DNS Resolver 서버에 대한 접근 제한

  • Open DNS Resolver 사용을 지양하고 내부 사용자만 접근할 수 있도록 제한한다.
  • 네트워크 방화벽을 통해 외부에서의 DNS 요청을 차단하는 정책을 적용한다.

5.2 DNS 서버의 TTL(Time to Live) 값 조정

  • DNS 응답의 TTL 값을 줄여 캐싱 시간과 유효 기간을 단축하여 공격의 효과를 감소시킨다.
  • TTL 값을 지나치게 낮추면 정상적인 서비스에도 영향을 미칠 수 있으므로 적절한 값을 설정하는 것이 중요하다.

5.3 DNS 서버의 UDP 포트 제한

  • DNS 서버에서 불필요한 UDP 포트(특히 53번 포트)의 사용을 제한하고, TCP 기반의 DNS 질의를 활용하도록 유도한다.
  • 방화벽 및 보안 장비를 활용하여 의심스러운 UDP 트래픽을 감시하고 차단한다.

5.4 네트워크 보안 강화

  • BCP38과 같은 IP 스푸핑 방지 정책을 적용하여 위조된 IP 패킷을 차단한다.
  • DPI(Deep Packet Inspection) 기술을 활용하여 DNS 증폭 공격 패턴을 탐지하고 차단한다.
  • ISP(인터넷 서비스 제공자) 차원에서 이상 트래픽을 감지하고 필터링하는 방안을 도입한다.

5.5 DNS 트래픽 모니터링

  • DNS 트래픽을 지속적으로 모니터링하여 비정상적인 요청 패턴을 탐지한다.
  • 높은 증폭 비율을 유발하는 특정 질의(예: ANY 질의)의 빈도를 분석하고 차단한다.
 

6. 결론

DNS 증폭 공격은 DNS 프로토콜의 구조적 취약점을 악용한 강력한 DDoS 공격 방식이다. 요청 대비 응답 크기가 매우 크다는 점을 이용하여 공격자는 적은 리소스로도 대규모 네트워크 장애를 유발할 수 있다.

이를 방지하기 위해서는 Open DNS Resolver 설정을 적절히 조정하고, IP 스푸핑 방지 기술을 적용하며, TTL 값을 조정하고 UDP 포트를 제한하는 등의 조치를 병행해야 한다. 또한, 지속적인 네트워크 트래픽 모니터링을 통해 이상 징후를 사전에 감지하는 것이 중요하다. DNS 보안 강화는 개별 서버 운영자뿐만 아니라 ISP 및 인터넷 인프라 제공업체까지 협력해야 하는 중요한 과제이다.

728x90