UDP 플러드 공격

UDP 폭주는 서버와 서버를 보호하는 방화벽 모두를 압도할 수 있습니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • UDP 폭주 DDoS 공격의 정의
  • UDP 폭주 공격의 작동 방식을 설명할 수 있습니다
  • UDP 폭주에 대한 몇 가지 완화 전략 이해하기

글 링크 복사

UDP 폭주 공격이란?

UDP 폭주는 많은 수의 사용자 데이터그램 프로토콜(UDP) 패킷을 대상 서버로 전송하여 해당 장치의 처리 및 응답 능력을 압도하려는 서비스 거부 공격의 한 유형입니다.대상 서버를 보호하는 방화벽도 UDP 폭주의 결과로 고갈되므로 합법적인 트래픽에 대한 서비스 거부가 발생할 수 있습니다.

UDP 폭주 공격의 작동 방식은?

UDP 폭주는 주로 서버가 포트 중 하나로 전송된 UDP 패킷에 응답할 때 수행하는 단계를 악용하여 작동합니다. 정상적인 조건에서 서버가 특정 포트에서 UDP 패킷을 수신하면 그에 대한 응답으로 두 단계를 거칩니다.

  1. 서버는 먼저 지정된 포트에서 현재 요청을 수신 대기하는 프로그램이 실행 중인지 확인합니다.
  2. 이 포트에 패킷을 수신하는 프로그램이 없으면, 서버는 대상에 도달할 수 없음을 알리기 위해 ICMP(ping) 패킷으로 발신자에게 응답합니다.

UDP 폭주는 호텔 리셉셔니스트가 통화를 라우팅하는 맥락에 빗대어 생각할 수 있습니다. 먼저 리셉셔니스트는 발신자가 특정 방에 연결해달라고 요청하는 전화를 받습니다. 그런 다음 리셉셔니스트는 모든 객실 목록을 살펴보고 손님이 객실에 있고 전화를 받을 의향이 있는지 확인해야 합니다. 리셉셔니스트는 손님이 어떤 전화도 받지 않는다는 것을 알게 되면 수화기를 다시 들고 발신자에게 손님이 전화를 받지 않을 것이라고 이야기해야 합니다. 갑자기 모든 전화선에 그와 유사한 요청으로 동시에 불이 들어오면 모든 전화선이 빠르게 압도됩니다.

DDoS 봇 트래픽 비유

서버에서 각각의 새 UDP 패킷을 수신하면 프로세스에서 서버 리소스를 활용하여 요청을 처리하기 위해 단계를 거칩니다.UDP 패킷이 전송되면 각 패킷에는 소스 디바이스의 IP 주소가 포함됩니다.이러한 유형의 DDoS 공격 중에 공격자는 일반적으로 자신의 실제 IP 주소를 사용하지 않고 대신 UDP 패킷의 소스 IP 주소를 스푸핑하여 공격자의 실제 위치가 노출되고 대상 서버의 응답 패킷으로 포화되는 것을 방지합니다.

목표물이 된 서버가 수신한 각 UDP 패킷을 확인한 다음에 응답하기 위해 리소스를 활용하므로 UDP 패킷을 대량으로 수신한다면 목표 서버의 리소스가 빠르게 소진되어 정상 트래픽에 대한 서비스 거부가 발생할 수 있습니다.

UDP 폭주 DDoS 공격 애니메이션

UDP 폭주 공격의 완화 방법은?

대부분의 운영 체제에서는 ICMP 패킷의 응답 속도를 부분적으로 제한하여 ICMP 응답이 필요한 DDoS 공격을 차단합니다. 이러한 완화 유형의 한 가지 단점은 공격 중에 합법적인 패킷이 프로세스에서 필터링될 수도 있다는 것입니다. UDP 폭주의 볼륨이 대상 서버 방화벽의 상태 테이블을 포화시킬 정도로 충분히 큰 경우, 병목 현상이 대상 장치의 업스트림에서 발생하므로 서버 수준에서 발생하는 완화는 충분하지 않습니다.

Cloudflare에서는 어떻게 UDP 폭주 공격을 완화할까요?

UDP 공격 트래픽이 공격 대상에 도달하기 전에 완화하기 위해 Cloudflare에서는 네트워크 에지에서 DNS와 관련이 없는 모든 UDP 트래픽을 삭제합니다.Cloudflare의 Anycast 네트워크에서는 웹 트래픽을 여러 데이터 센터에 분산시키므로 모든 규모의 UDP 폭주 공격을 처리할 수 있는 충분한 용량을 보유하고 있습니다.Cloudflare DDoS 방어에 대하여 자세히 알아보세요.