On Tuesday 12 April 2022 at 23:06 UTC, a WebSocket connection flood targeted a crypto exchange customer in the Middle East. The attack peaked at 562.9 million requests per second and lasted 50 minutes. Traffic originated from 1427 autonomous systems in 91 countries, predominantly misconfigured open reflectors.
| Vector | WebSocket connection flood |
| Peak | 562.9 million requests per second |
| Duration | 50 min |
| Time to mitigation | 0.107 s |
| Attack traffic reaching origin | 0.084% |
| Legitimate traffic challenged | 0.38% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 583 within 17 seconds. The risk score of participating clients crossed the challenge threshold automatically and proof-of-work difficulty rose with origin load.
What the customer saw
A brief increase in p99 latency of 196 ms during the first minute, then normal service.
Recommendations
- Add a dedicated rate limit for the targeted route.
- Keep origin IPs out of public DNS history.
- Enable log streaming to your SIEM for faster correlation.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
How do you avoid challenging uptime monitors and partners?
Do you publish the edge IP ranges in a machine-readable format?
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.
Verified good bots and allow-listed partners bypass challenges entirely.
Nice to read a vendor blog that admits what went wrong.