Quick answer
A reflection attack spoofs the victim's address in requests sent to third-party servers, so their replies flood the victim. Amplification is the multiplier: when the reply is far larger than the request, a modest upstream becomes an enormous flood. Protocols such as NTP, memcached, SSDP and CLDAP answer small spoofed queries with responses tens to thousands of times larger. The defences that matter are source-address validation (BCP 38) and closing the open servers that act as amplifiers.
01How reflection and amplification work
Reflection and amplification are two ideas that usually travel together. Reflection means the attacker never sends traffic to the victim directly: instead it sends requests to innocent third-party servers with the victim's address forged as the source, so every reply is delivered to the victim. This hides the attacker and spreads the apparent origin across thousands of legitimate servers.
Amplification means those replies are bigger than the requests that triggered them. Send a reflector a 60-byte query that provokes a 3,000-byte answer and you have multiplied your traffic fiftyfold at no extra cost. Combine the two and a small, cheap connection produces a large flood that appears to come from everywhere — the pattern pioneered by the smurf attack and now driven by misconfigured UDP services.
UDP is the enabler. Because it is connectionless there is no handshake to prove the requester's address, so the source can be spoofed freely and the reflector has no way to know the reply is unwanted. This is covered protocol-by-protocol for the most abused case in DNS amplification; this page covers the wider family.
02The amplifying protocols
The bandwidth amplification factor (BAF) is the ratio of reply bytes to request bytes. The figures below are from the US-CERT / CISA alert TA14-017A, which compiled them largely from Christian Rossow's NDSS 2014 research. Higher is worse.
| Protocol | Amplification factor (BAF) | Abused request |
|---|---|---|
| Memcached | 10,000 - 51,000 | Spoofed stats/get on open UDP 11211 |
| NTP | 556.9 | monlist (CVE-2013-5211) |
| CharGEN | 358.8 | Character-generation request |
| QOTD | 140.3 | Quote-of-the-day request |
| RIPv1 | 131.24 | Malformed request |
| CLDAP | 56 - 70 | Connectionless LDAP query |
| LDAP | 46 - 55 | Malformed request |
| SSDP | 30.8 | SEARCH (UPnP discovery) |
| DNS | 28 - 54 | ANY / large-record query (see TA13-088A) |
| SNMPv2 | 6.3 | GetBulk request |
03WS-Discovery: a newer reflector on UDP 3702
WS-Discovery is a multicast protocol that devices use to find each other on a local network: a probe goes to UDP port 3702 and matching devices answer with an XML description of themselves. It was never meant to face the internet, but many cameras, video recorders and printers answer probes from anywhere, and in 2019 attackers began reflecting it. It postdates the CISA alert, so it is not in the table above.
ZeroBS, which analysed an attack on one of its clients in August 2019, saw amplification factors of 30 to 100 depending on the device and cited scan data showing roughly 630,000 exposed addresses. On 18 September 2019 Akamai's SIRT described an attack on a gaming customer that peaked at 35 Gbit/s, measured replies of up to 15,300% of the probe's size, about 153 times, and found 802,115 devices answering its internet-wide probe, CCTV cameras and DVRs most often.
For a victim the tell is UDP from source port 3702, which ordinary web or game traffic has no reason to use, so an upstream filter can drop or rate-limit it by that port. To keep your own devices out of the pool, block inbound UDP 3702 at the network border; device makers can close it for good by answering only on the local multicast scope.
04A worked calculation
The amplification factor turns a small committed upstream into the flood the victim actually receives. The sum is just multiplication, but it makes the economics vivid.
Suppose an attacker can send 1 Gbit/s of spoofed NTP monlist requests, and enough open NTP reflectors are available to absorb them. At NTP's factor of 556.9, the theoretical traffic delivered to the victim is 1 Gbit/s x 556.9 = roughly 557 Gbit/s. In practice the ceiling is set by how many reflectors the attacker has and their upstream capacity, not by the factor alone — but the leverage is why a modest upstream can produce a flood hundreds of times its own size.
Not every record is amplified, though. The roughly 840-million-packet-per-second attack OVHcloud mitigated in April 2024 was 99% TCP ACK flood with a 1% DNS reflection component — reflection is often one ingredient in multi-vector campaigns rather than the whole attack.
# traffic arriving from the classic reflector source ports
tcpdump -ni eth0 'udp and (src port 123 or src port 11211
or src port 1900 or src port 389 or src port 19 or src port 53)'
# large NTP replies specifically (source port 123, oversized)
tcpdump -ni eth0 'udp src port 123 and greater 200'05Why spoofing and open reflectors persist
Reflection needs two preconditions, and both are matters of hygiene that someone else has to fix.
The first is source-address spoofing. If every network validated that outbound packets carry a source address it legitimately owns — the practice standardised as RFC 2827 / BCP 38 — an attacker could not forge the victim's address, and reflection would collapse. Adoption is incomplete because the benefit accrues to everyone else, not to the network doing the filtering.
The second is open reflectors: NTP servers still answering monlist, memcached exposed to the internet with UDP on, SSDP devices reachable from outside, resolvers answering recursive queries for strangers. Each one is a weapon waiting to be pointed. Closing them — restricting to local clients, disabling the abused command, firewalling the port — removes amplifiers from the pool one at a time.
06How to check your server is not a reflector
List the UDP ports listening on your machine and close or restrict any that answer strangers with more bytes than they received. The command below shows listeners on the classic amplification ports together with the process that owns each one; anything bound to a public address there deserves a second look. It was run on Debian 12 (iproute2 6.1) in an isolated network namespace with test sockets, and matched exactly the amplification ports that were open.
- Operators: implement BCP 38 ingress filtering so your network cannot emit spoofed packets
- NTP: upgrade past the monlist flaw (CVE-2013-5211) or add noquery to the default restrict line, as CISA advised
- Memcached: keep UDP off (the default since 1.5.6; it is only enabled explicitly with -U) and bind to localhost; never expose UDP 11211 to the internet
- SSDP / CLDAP / SNMP: do not expose these services to the public internet; restrict to the local segment
- Victims: you cannot fix other people's reflectors, so absorb the flood upstream — see how to stop a DDoS attack
ss -Hulnp '( sport = :19 or sport = :53 or sport = :123 or sport = :161 or' \
'sport = :389 or sport = :1900 or sport = :11211 )'07What edge filtering and scrubbing can do
Amplified reflection is purely volumetric, so for the victim there is only one place to deal with it: upstream, on a network with far more capacity than the flood. There, reflected UDP is recognised and discarded — it arrives from predictable service source ports, often with distinctive sizes, and almost never matches a request the victim actually made. Absorbed upstream, it never touches the victim's link.
The honest limits are worth stating. The victim cannot stop reflection at source — the spoofing and the open servers are other people's networks. A local firewall is useless, because the bandwidth is spent crossing the uplink before the firewall sees a packet. And for non-HTTP services an application proxy does not apply; the absorption happens through routed Layer 3/4 filtering, the model behind GRE transit, which is coming soon. For a website behind a reverse proxy such as GuardX, reflected floods land on the proxy's network instead of the origin, but the volume itself is handled by capacity, not cleverness.
Questions
Frequently asked questions
Sources
Sources and verification
Amplification factors quoted from CISA alert TA14-017A; tcpdump filters validated with tcpdump 4.99.3 against a crafted pcap and the ss listener check run with iproute2 6.1 in an isolated network namespace, on Debian 12, October 2026; incident figures from Cloudflare, GitHub, OVHcloud and the memcached release notes; WS-Discovery figures from Akamai SIRT and ZeroBS.
- 01Alert TA14-017A: UDP-Based Amplification Attacks · CISA / US-CERT
- 02Amplification Hell: Revisiting Network Protocols for DDoS Abuse (C. Rossow, NDSS 2014) · NDSS Symposium
- 03Memcrashed: Major amplification attacks from UDP port 11211 · Cloudflare
- 04February 28th DDoS Incident Report (1.35 Tbps memcached) · GitHub
- 05memcached 1.5.6 release notes (UDP disabled by default) · memcached
- 06Alert: NTP Amplification Attacks Using CVE-2013-5211 · CISA / US-CERT
- 07The rise of packet rate attacks: when core routers turn evil (840 Mpps) · OVHcloud
- 08New DDoS Vector Observed in the Wild: WSD attacks hitting 35/Gbps · Akamai
- 09New DDoS attack vector via WS-Discovery/SOAPoverUDP, port 3702 · ZeroBS
Last updated