DRDoS 공격의 반사·증폭 구조와 방어 전략
DRDoS의 IP 스푸핑·반사·증폭 구조를 살피고 DNS, NTP, SSDP, Memcached 공격과 방어 방안, Slow Read 연결 관찰 방법을 정리한다.
2026-08-15 · 최초 발행 2025-06-28
반사 서버가 공격 트래픽을 대신 보내는 방식
DRDoS(Distributed Reflect DoS)는 반사와 증폭을 결합한 DDoS 공격 방식이다. 공격자는 직접 대량 트래픽을 보내는 대신, 인터넷에 노출된 서버가 응답을 표적으로 전송하도록 유도한다. 이 경로 때문에 공격자의 신원을 추적하기 어려워지고, 비교적 적은 자원으로도 큰 트래픽을 만들 수 있다.
공격은 출발지 IP 주소를 희생자의 IP로 위조하는 데서 시작한다. 공격자는 이 패킷을 DNS, NTP, SSDP 같은 다수의 반사 서버로 보내고, 서버들은 위조된 출발지를 향해 응답한다. 요청보다 큰 응답이 생성되면 그 차이만큼 표적에 유입되는 트래픽도 커진다.
일반 DDoS와 비교하면 차이가 분명하다.
| 특성 | DRDoS | 일반 DDoS |
|---|---|---|
| 공격 경로 | 반사 서버를 거치는 간접 공격 | 좀비 PC가 타겟에 직접 공격 |
| IP 추적 | 반사 서버 때문에 추적이 어려움 | 상대적으로 추적이 쉬움 |
| 증폭 효과 | 프로토콜 특성에 따라 수십~수백배 증폭 | 증폭 효과 없음 |
| 필요 자원 | 적은 자원으로 큰 효과 | 대규모 좀비 네트워크 필요 |
프로토콜별 증폭 지점과 차단 방법
DNS 응답을 키우는 공격
DNS(Domain Name System) 증폭 공격은 작은 DNS 쿼리에 큰 응답이 돌아오도록 만든다. ANY 쿼리로 모든 DNS 레코드 정보를 요청하며, 증폭 비율은 28-54배, 최대 54배다.
DNSSEC 구현, DNS Rate Limiting 설정, 오픈 리졸버 차단이 예방 수단이다.
NTP의 monlist 명령 악용
NTP(Network Time Protocol) 증폭 공격은 NTP 서버의 monlist 명령을 이용한다. 이 명령으로 서버가 통신했던 최근 600개 클라이언트 목록을 요청하며, 최대 556.9배까지 증폭될 수 있다.
NTP 서버를 4.2.7p26 이상 최신 버전으로 유지하고, monlist 명령을 비활성화하며, 서버 접근을 제한해야 한다.
SSDP와 UPnP 장치 검색
SSDP(Simple Service Discovery Protocol)는 UPnP 장치를 찾는 데 쓰이는 프로토콜이다. 공격자는 M-SEARCH 메서드로 네트워크 장치 정보를 요청해 응답을 표적으로 반사시키며, 증폭 비율은 최대 30배다.
사용하지 않는 UPnP 기능을 끄고 인터넷 경계에서 SSDP 트래픽을 필터링하는 방식으로 노출을 줄일 수 있다.
Memcached의 UDP 인터페이스
Memcached 증폭 공격은 캐시 서버를 대상으로 한다. UDP 기반 Memcached 서버에 stats 명령어를 보내는 방식이며, 최대 51,000배(!)의 증폭 비율이 언급된다.
Memcached의 UDP 지원을 비활성화하고, 방화벽으로 인터넷 노출을 막아야 한다.
증폭 계수와 공격 트래픽의 관측 신호
증폭 계수는 요청 크기와 응답 크기의 비율로 공격 효율을 나타낸다.
증폭 계수 = 응답 패킷 크기 / 요청 패킷 크기
CLDAP은 56-70배의 증폭 계수가 언급된다. 프로토콜별 계수 차이는 반사 서버가 만드는 응답 크기와 공격 트래픽의 양상을 함께 살펴야 하는 이유다.
DRDoS 트래픽은 다수의 소스 IP에서 나타나며, 특정 프로토콜 응답 패킷 비율이 급증하는 경향을 보인다. 비정상적인 패킷 크기 분포와 특정 대상 IP로의 집중도 함께 확인 대상이다.
공격 규모가 드러난 사건들
2013년 Spamhaus 공격은 DNS 증폭 공격으로 발생했으며, 당시 역대 최대 규모인 300Gbps로 기록됐다. 스팸 차단 서비스에 대한 보복성 공격이 배경이었고, 유럽 전역의 인터넷 속도 저하가 영향으로 언급됐다.
2018년 GitHub 공격은 Memcached 증폭 공격으로 1.35Tbps 규모였다. GitHub 서비스는 약 10분간 중단됐으며, Memcached 프로토콜 취약점을 처음으로 대규모 악용한 사례로 설명된다.
2020년 AWS Shield가 방어한 사례는 CLDAP을 주요하게 활용한 복합 증폭 공격으로, 규모는 2.3Tbps였다. AWS 방어 시스템이 작동해 실제 피해는 제한적이었고, 역대 최대 규모의 DDoS 공격 기록으로 제시됐다.
방어는 공격원과 반사 지점을 함께 다뤄야 한다
네트워크 경계에서는 RFC 2827/BCP 38을 적용한 인그레스·이그레스 필터링으로 IP 스푸핑을 막는 것이 핵심이다. 비정상 트래픽 패턴을 모니터링하고, BGP Flowspec으로 특정 트래픽 패턴을 경계에서 필터링하는 방법도 사용할 수 있다.
반사 서버 자체의 설정도 공격 표면을 좌우한다. DNS에는 Response Rate Limiting을 적용하고, NTP는 최신 버전을 유지하면서 monlist 기능을 끈다. Memcached는 UDP 인터페이스를 비활성화한다. 외부에는 필요한 서비스만 노출하도록 방화벽을 구성해야 한다.
대용량 공격에는 Cloudflare, AWS Shield, Akamai 같은 DDoS 방어 서비스와 트래픽 스크러빙 센터를 활용할 수 있다. 분산 아키텍처로 단일 장애점을 없애는 접근도 필요하다. 조직 차원에서는 인시던트 대응 프로세스를 마련하고, 대규모 공격 시 ISP와 협력할 체계를 구축하며, 보안 커뮤니티와 위협 정보를 공유해야 한다.
Slow Read 연결을 별도로 관찰하는 방법
Slow Read DDOS는 반사·증폭 공격과 달리 대역폭보다 웹 서버의 연결과 소켓 자원을 노린다. 정상적인 HTTP 연결을 세운 뒤 응답 수신을 지연시키므로, 적은 대역폭으로도 서버 자원을 고갈시킬 수 있고 일반 트래픽과 구분하기 어렵다.
정상 HTTP 요청 뒤에 TCP Window 크기를 작게 유지하고 응답 데이터를 극도로 천천히 읽으면 서버 연결이 오래 유지된다. 이러한 연결이 누적되면 웹 서버의 연결 풀과 가용 소켓이 고갈돼 새 정상 사용자의 연결도 받을 수 없다.
관찰할 때는 연결이 오래 유지되는지, 응답 데이터를 읽는 속도가 비정상적으로 낮은지, 특정 클라이언트의 연결 수가 늘어나는지를 연결 상태와 함께 확인한다. 읽기 타임아웃(Read Timeout), 비활성 연결 자동 종료, IP당 최대 연결 수, 다운로드 속도 최소 임계값이 제한 기준이 된다. 행동 기반 분석으로 비정상 연결 패턴을 탐지해 의심스러운 연결을 자동 종료하는 하드웨어 방화벽 역시 대응 수단이다.
웹 서버 설정에서는 다음과 같이 제한을 둘 수 있다.
# Apache 서버 예시 설정
RequestReadTimeout header=10-20,MinRate=500
RequestReadTimeout body=10-20,MinRate=500
넓어지는 공격 경로
공격자는 DNS와 NTP뿐 아니라 CLDAP, WS-Discovery, Apple Remote Desktop 같은 여러 프로토콜을 악용하고 있다. 방어 기술이 발전하는 과정에서 새로운 취약점을 찾는 적응 전략으로 볼 수 있다.
공격 형태도 단일 프로토콜에서 여러 증폭 프로토콜을 동시에 쓰는 복합 공격으로 옮겨가고 있다. 이런 방식은 방어 시스템을 우회하거나 포화시키는 데 더 효과적이다.
DRDoS를 랜섬웨어 전략의 일부로 사용하는 추세도 증가하고 있다. 서비스 중단 또는 금전 지불 형태의 위협은 대응 과제를 더 복잡하게 만든다.
안전하지 않은 IoT 장치는 반사 지점으로 활용되는 사례가 늘고 있다. SSDP, CoAP 등 IoT 관련 프로토콜도 새로운 공격 벡터로 부상하고 있다.
DRDoS 대응은 네트워크 인프라 보안, 반사 서버 취약점 제거, 실시간 모니터링, 전문 DDoS 방어 서비스를 결합하는 문제다. 특히 공격 원천인 IP 스푸핑을 막기 위한 ISP 수준의 필터링과, 조직의 대응 계획을 정기적으로 검토하는 체계가 필요하다.