On Monday 1 March 2021 at 00:00 UTC, a cache-busting query flood targeted a retail banking customer in the Nordics. The attack peaked at 399.0 million requests per second and lasted 130 minutes. Traffic originated from 1026 autonomous systems in 55 countries, predominantly misconfigured open reflectors.
| Vector | cache-busting query flood |
| Peak | 399.0 million requests per second |
| Duration | 130 min |
| Time to mitigation | 0.155 s |
| Attack traffic reaching origin | 0.004% |
| Legitimate traffic challenged | 0.57% |
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 89 within 33 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
- Keep origin IPs out of public DNS history.
- Enable log streaming to your SIEM for faster correlation.
- Review allow-listed partner ranges quarterly.
Any plans to support per-tenant limits keyed on a JWT claim?
The point about origin IPs leaking through certificate transparency logs is underrated.
Machine-readable ranges are at /ips.json and via the API.