On Sunday 9 April 2023 at 15:21 UTC, a WebSocket connection flood targeted a education platform customer in Central Europe. The attack peaked at 682.9 million requests per second and lasted 16 minutes. Traffic originated from 2468 autonomous systems in 41 countries, predominantly residential proxy networks.
| Vector | WebSocket connection flood |
| Peak | 682.9 million requests per second |
| Duration | 16 min |
| Time to mitigation | 0.427 s |
| Attack traffic reaching origin | 0.051% |
| Legitimate traffic challenged | 0.61% |
Timeline
The attack was preceded by a publicly announced sales event. Request rates on the targeted routes exceeded their hourly baseline by a factor of 381 within 11 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
No customer-visible impact. The on-call engineer was notified and acknowledged the incident from the dashboard.
Recommendations
- Add a dedicated rate limit for the targeted route.
- Enable log streaming to your SIEM for faster correlation.
- Keep origin IPs out of public DNS history.
Clear and practical, thanks.
Great to hear, thanks for sharing your experience.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Thanks! Yes — the risk score and its components are included in every log record.
Interesting that most attacks are under ten minutes. Our experience is similar.
Nice to read a vendor blog that admits what went wrong.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Nice to read a vendor blog that admits what went wrong.