On Monday 27 March 2023 at 14:15 UTC, a WebSocket connection flood targeted a online payments customer in the Nordics. The attack peaked at 712.1 million requests per second and lasted 28 minutes. Traffic originated from 3058 autonomous systems in 34 countries, predominantly a Mirai-derived IoT botnet.
| Vector | WebSocket connection flood |
| Peak | 712.1 million requests per second |
| Duration | 28 min |
| Time to mitigation | 0.441 s |
| Attack traffic reaching origin | 0.077% |
| Legitimate traffic challenged | 0.68% |
Timeline
The attack was preceded by a hacktivist channel announcing the target. Request rates on the targeted routes exceeded their hourly baseline by a factor of 892 within 40 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.
- Keep origin IPs out of public DNS history.
- Enable log streaming to your SIEM for faster correlation.
Nice to read a vendor blog that admits what went wrong.
Is the risk score exposed in the logs so we can build our own dashboards on it?
Great to hear, thanks for sharing your experience.
Do you publish the edge IP ranges in a machine-readable format?