On Wednesday 27 March 2024 at 08:14 UTC, a WebSocket connection flood targeted a sports betting customer in North America. The attack peaked at 11.0 million requests per second and lasted 171 minutes. Traffic originated from 2409 autonomous systems in 6 countries, predominantly a headless-browser farm.
| Vector | WebSocket connection flood |
| Peak | 11.0 million requests per second |
| Duration | 171 min |
| Time to mitigation | 0.906 s |
| Attack traffic reaching origin | 0.016% |
| Legitimate traffic challenged | 0.33% |
Timeline
The attack was preceded by an extortion email received two days earlier. Request rates on the targeted routes exceeded their hourly baseline by a factor of 41 within 39 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 240 ms during the first minute, then normal service.
Recommendations
- Keep origin IPs out of public DNS history.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Thanks — sharing this with our on-call team.
Solid runbook advice. The DNS-at-2am point hit home.