On Wednesday 2 June 2021 at 16:53 UTC, a WebSocket connection flood targeted a fashion retail customer in Western Europe. The attack peaked at 956.3 million requests per second and lasted 135 minutes. Traffic originated from 1823 autonomous systems in 52 countries, predominantly a headless-browser farm.
| Vector | WebSocket connection flood |
| Peak | 956.3 million requests per second |
| Duration | 135 min |
| Time to mitigation | 0.172 s |
| Attack traffic reaching origin | 0.070% |
| Legitimate traffic challenged | 0.67% |
Timeline
The attack was preceded by a competitor’s product launch. Request rates on the targeted routes exceeded their hourly baseline by a factor of 794 within 5 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 62 ms during the first minute, then normal service.
Recommendations
- Enable authenticated origin pulls.
- Keep origin IPs out of public DNS history.
- Review allow-listed partner ranges quarterly.
Interesting that most attacks are under ten minutes. Our experience is similar.
Thanks! Yes — the risk score and its components are included in every log record.