A reflected TCP SYN-ACK Flood is a DDoS technique in which an attacker spoofs a victim’s IP address as the source of TCP SYN packets sent to large numbers of third-party servers, causing those uninvolved servers to send their SYN-ACK responses to the victim instead of back to the attacker. The victim receives a flood of unsolicited SYN-ACK packets it never requested, consuming inbound bandwidth and forcing stateful devices to classify traffic that matches no local connection.
TL;DR: The attacker never contacts the victim directly. It sends SYN packets with the victim’s spoofed IP as the source to many public, uninvolved servers (“reflectors”). Each reflector, believing it received a legitimate connection request, replies with a SYN-ACK — but sends it to the spoofed address, meaning the victim’s network. The victim is buried under a volume of SYN-ACK packets from IPs it never contacted, none of which correspond to any connection it initiated. Unlike classic SYN Flood, which exhausts the connection queue, reflected SYN-ACK Flood primarily exhausts inbound bandwidth and stateful-inspection capacity. Mitigation depends on discarding SYN-ACKs that don’t match an outbound SYN the victim actually sent, plus provider-side anti-spoofing filtering (BCP38/uRPF) to reduce the pool of reflectors attackers can abuse.
Last updated: 2026-08-27
How a Reflected TCP SYN-ACK Flood Works
- The attacker selects a large list of reachable TCP servers on the internet — these become unwitting reflectors. Any server that responds to SYN packets on an open port qualifies.
- The attacker sends a TCP SYN packet to each reflector’s open port, but sets the source IP address to the victim’s IP instead of its own.
- Each reflector processes the SYN as a normal connection request, allocates a half-open connection entry, and replies with a SYN-ACK — addressed to the spoofed source, which is the victim.
- The victim receives a SYN-ACK for a connection it never initiated. Its TCP stack or firewall finds no matching outbound SYN in its state table and classifies the packet as unsolicited/out-of-state.
- Multiplied across thousands of reflectors and repeated at high frequency, the victim is hit with a large volume of inbound SYN-ACK traffic simultaneously, none of which required the attacker to send any traffic directly to the victim.
- The reflectors’ own half-open connections eventually time out on their end since the spoofed victim never sends the final ACK — but the damage to the victim happens from the SYN-ACK backscatter itself, not from the reflectors’ internal queue state.
Normal traffic (victim initiates a connection):Victim ──SYN──▶ Remote serverVictim ◀─SYN-ACK── Remote server [SYN-ACK matches Victim's own outbound SYN]Victim ──ACK──▶ Remote server [Connection established]
Reflected SYN-ACK Flood:Attacker ──SYN (spoofed src = Victim IP)──▶ Reflector AAttacker ──SYN (spoofed src = Victim IP)──▶ Reflector BAttacker ──SYN (spoofed src = Victim IP)──▶ Reflector C ... [thousands of reflectors, repeated continuously]
Reflector A ──SYN-ACK──▶ Victim [Victim never sent this SYN]Reflector B ──SYN-ACK──▶ Victim [Victim never sent this SYN]Reflector C ──SYN-ACK──▶ Victim [Victim never sent this SYN] ... [victim receives SYN-ACK backscatter from every reflector]
Result: Victim's inbound bandwidth and stateful inspection capacity are consumed by SYN-ACK packets matching no local connectionWhich TCP Flag Attack Is This? Comparison Table
| Attack | Flag pattern | Targeted resource | Requires spoofing? | Requires established session? | Typical detection signal |
|---|---|---|---|---|---|
| SYN Flood | SYN only, sent directly to victim | SYN backlog queue / TCB memory | Optional | No | High SYN_RECV, low handshake completion rate |
| TCP ACK Flood | ACK only, sent directly to victim | Firewall/CPU state lookup | Optional | No | High invalid-state ACK volume |
| Reflected TCP SYN-ACK Flood (this article) | SYN-ACK, sent by reflectors, arriving unsolicited | Inbound bandwidth/PPS + stateful inspection at the victim | Required — spoofed SYN sent to third-party reflectors | No | Inbound SYN-ACK with no corresponding local outbound SYN, from many distinct source IPs (the reflectors) |
| TCP Out-of-State Flood | Mixed flags violating expected transition | Stateful firewall/conntrack CPU and churn | Optional | No | Rising INVALID-state counters |
| TCP Invalid Packet | Illegal flag combinations, bad checksums | Packet parser/IDS-IPS CPU | Optional | No | Checksum failures, illegal-flag alerts |
The defining trait of the reflected SYN-ACK Flood is that the victim never sees a single attacker-controlled packet — every packet the victim receives comes from a legitimate, uninvolved third-party server. This is fundamentally different from a direct SYN-ACK flood, in which an attacker (or botnet) sends SYN-ACK packets straight to the victim without any reflector involved; a direct variant mainly stresses the victim’s out-of-state classification logic without amplifying volume through third parties.
Attack Variations
Direct SYN-ACK flood (no reflection). A botnet sends SYN-ACK packets directly to the victim, with no third-party reflectors in the path. This lacks the amplification and IP-spoofing-attribution benefits of the reflected variant but is simpler to execute since it doesn’t depend on finding responsive reflectors.
Reflected SYN-ACK Flood combined with amplification protocols. Attackers sometimes run reflected SYN-ACK floods alongside UDP-based amplification (DNS, NTP) against the same victim to stress both TCP state handling and raw bandwidth simultaneously. See DDoS Attack Types for the amplification category.
Rotating reflector pools. Sophisticated campaigns rotate through large lists of reflectors to avoid any single reflector network detecting and rate-limiting the spoofed SYN traffic it’s unwittingly relaying.
Detection Signals and Telemetry
# Socket summary — reflected SYN-ACK floods typically don't move SYN_RECVss -s
# TCP counters — watch for anomalies in received SYN-ACKs without matching outbound SYNsnstat -az
# Conntrack: SYN-ACK packets with no matching NEW/ESTABLISHED entry are classified INVALIDconntrack -L | grep -i syn_recvconntrack -S
# nftables rule to count/log unsolicited SYN-ACKsnft add rule inet filter input tcp flags syn,ack / syn,ack ct state invalid counter log prefix "unsolicited-synack "
# iptables equivalentiptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate INVALID -j LOG --log-prefix "unsolicited-synack "| Indicator | Normal | Under reflected SYN-ACK Flood |
|---|---|---|
| Inbound SYN-ACK volume | Proportional to outbound SYNs sent | Sharp spike, disproportionate to any outbound SYN activity |
| Source IP diversity of inbound SYN-ACKs | Small, tied to servers you actually contacted | Very high — hundreds or thousands of distinct reflector IPs |
| conntrack INVALID classification for SYN-ACK packets | Near zero | Climbing continuously |
| SYN_RECV state count | Unaffected | Unaffected — this is not a queue-exhaustion attack |
| Correlation with outbound SYN log | Every inbound SYN-ACK matches a recent outbound SYN | Most inbound SYN-ACKs have no matching outbound SYN |
Flow analysis (NetFlow/IPFIX/sFlow) is particularly effective here: correlate the volume of inbound SYN-ACK packets against the volume of outbound SYN packets your own network generated in the same window. A large, sustained imbalance is the clearest signature of reflected SYN-ACK backscatter.
Mitigation Techniques
| Technique | How it works | Effectiveness |
|---|---|---|
| Stateful inspection discarding unmatched SYN-ACK | Drop any inbound SYN-ACK that doesn’t correspond to a locally tracked outbound SYN | High — directly targets the attack’s mechanism |
| BCP38 / uRPF at the network edge (provider-side) | Prevents spoofed source IPs from leaving networks in the first place, shrinking the pool of usable reflectors industry-wide | High long-term, but depends on adoption outside your control |
| Upstream scrubbing / bandwidth absorption | Filters high-volume SYN-ACK backscatter before it reaches your uplink | High for large-scale reflection floods |
| Rate limiting inbound SYN-ACK by source diversity | Flag and throttle when SYN-ACK traffic arrives from an unusually large number of distinct new source IPs | Medium-high |
| Stateful edge/proxy termination | Origin only receives traffic for sessions the edge itself completed; unsolicited SYN-ACKs are filtered upstream | Very high |
Common Mistakes and Fixes
| Mistake | Impact | Fix |
|---|---|---|
| Confusing this with a classic SYN Flood | SYN Cookies are deployed but address the wrong resource — this attack doesn’t touch the SYN backlog queue | Confirm whether the anomaly is inbound SYN or inbound SYN-ACK before selecting mitigation |
| Blocking source IPs of the SYN-ACK traffic | The source IPs are innocent third-party servers, not the attacker; blocking them may break legitimate services you rely on | Filter based on state-table mismatch, not the source IP identity |
| Assuming BCP38 gives immediate protection | BCP38 depends on adoption by other networks and providers, not just your own | Combine with local stateful filtering; don’t treat BCP38 as a complete standalone defense |
| No correlation between outbound SYN and inbound SYN-ACK logs | Backscatter goes unnoticed until bandwidth or CPU symptoms appear | Instrument flow correlation between outbound SYN and inbound SYN-ACK volumes |
| Ignoring reflector abuse reports | Your own servers, if misconfigured as open reflectors, can be used against other victims | Apply the same anti-spoofing and rate-limiting hygiene to outbound-facing services |
How to Implement on Azion
Azion’s distributed network can filter reflected SYN-ACK traffic before it consumes your origin’s bandwidth or processing capacity:
- DDoS Protection is designed to detect abnormal inbound SYN-ACK volume and other Layer 3/4 reflection patterns at the edge, before traffic reaches your origin.
- Network Shield applies filtering rules that can discard packets not matching any tracked outbound connection.
- Firewall allows custom rules for state-based and rate-based blocking of unsolicited traffic.
- WAAP combines network- and application-layer protection for teams needing broader coverage.
Because Azion can terminate and track TCP state at the edge, unsolicited SYN-ACK backscatter directed at an origin behind Azion is generally filtered before it reaches origin infrastructure. Actual protection depends on your specific configuration; validate behavior against your traffic profile.
Related Resources
- What Is a DDoS Attack?
- DDoS Attack Types
- What Is a SYN Flood Attack?
- What Is DDoS Protection and Mitigation?
- What Is a TCP ACK Flood Attack?
- What Is a TCP Out-of-State Flood Attack?
- What Is a TCP Invalid Packet Attack?
Frequently Asked Questions
What is a reflected TCP SYN-ACK Flood attack? It’s a DDoS technique where an attacker spoofs a victim’s IP address in SYN packets sent to many third-party servers. Those servers respond with SYN-ACK packets addressed to the spoofed IP — the victim — flooding it with unsolicited traffic it never requested.
How is a reflected SYN-ACK Flood different from a SYN Flood? A SYN Flood sends SYN packets directly to the victim, exhausting its connection queue with half-open sessions. A reflected SYN-ACK Flood sends no traffic to the victim directly; it abuses third-party servers as reflectors, and the victim only receives their SYN-ACK responses, which primarily consume bandwidth and stateful-inspection capacity rather than the connection queue.
Does a reflected SYN-ACK Flood always require IP spoofing? Yes, by definition. The attack depends on forging the victim’s IP as the source address in SYN packets sent to reflectors. Without spoofing, the reflectors would send their SYN-ACK responses back to the attacker instead of the victim.
What is the difference between a reflected and a direct SYN-ACK flood? A reflected SYN-ACK Flood uses third-party servers to generate the SYN-ACK traffic that hits the victim, requiring IP spoofing against those reflectors. A direct SYN-ACK flood has a botnet or attacker send SYN-ACK packets straight to the victim with no reflectors involved, which is simpler but doesn’t amplify volume the same way.
How is this different from a TCP ACK Flood? A TCP ACK Flood sends ACK-only packets directly to the victim for non-existent connections, mainly costing CPU on state lookups. A reflected SYN-ACK Flood sends SYN-ACK packets that originate from innocent third-party servers, not the attacker, and mainly costs inbound bandwidth and stateful-inspection capacity at the victim.
Can SYN Cookies stop a reflected SYN-ACK Flood? No. SYN Cookies protect the target’s own SYN backlog queue against SYN Flood. A reflected SYN-ACK Flood doesn’t target the SYN queue at all — the victim never sent a SYN to trigger cookie logic in the first place, since it’s receiving unsolicited SYN-ACKs, not SYN requests.
How do I detect reflected SYN-ACK backscatter? Correlate outbound SYN volume against inbound SYN-ACK volume using flow data (NetFlow/IPFIX/sFlow) or conntrack logs. A large, sustained imbalance — many more inbound SYN-ACKs than outbound SYNs you actually sent — combined with high source-IP diversity on the SYN-ACK traffic is the clearest signal.
Are the servers sending the SYN-ACK flood traffic malicious? No. The reflectors are typically legitimate, uninvolved servers responding normally to what looks like a valid connection request. They are unwitting participants; the malicious act is the attacker’s initial IP-spoofed SYN, not the reflector’s response.
Does BCP38 fully prevent reflected SYN-ACK Flood attacks? No. BCP38 (RFC 2827) filters spoofed traffic leaving a network, but it must be adopted broadly across the internet to be effective — a single organization’s adoption doesn’t stop attackers from spoofing through networks that haven’t implemented it. It reduces the pool of usable reflectors over time rather than eliminating the technique immediately.
Can my own infrastructure be used as a reflector in this type of attack against someone else? Yes, if your servers respond to SYN packets from any source without additional validation, they can be abused as reflectors against a third-party victim. Applying the same anti-spoofing and rate-limiting hygiene recommended for defense also reduces this exposure.
Sources
- IETF. “Transmission Control Protocol.” RFC 793. 1981.
- IETF. “Transmission Control Protocol (TCP) Specification.” RFC 9293. 2022.
- IETF. “Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing.” RFC 2827 (BCP 38). 2000.
- NIST. “Guide to Intrusion Detection and Prevention Systems.” SP 800-94.
- CISA. “Understanding and Responding to Distributed Denial-of-Service Attacks.”