On Wednesday 15 May 2024 at 23:15 UTC, a cache-busting query flood targeted a developer platform customer in the Nordics. The attack peaked at 778.7 million requests per second and lasted 186 minutes. Traffic originated from 3342 autonomous systems in 102 countries, predominantly compromised cloud VMs.
| Vector | cache-busting query flood |
| Peak | 778.7 million requests per second |
| Duration | 186 min |
| Time to mitigation | 0.276 s |
| Attack traffic reaching origin | 0.035% |
| Legitimate traffic challenged | 0.47% |
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 489 within 22 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
Checkout conversion was unchanged compared with the same hour of the previous week.
Recommendations
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
Do you publish the edge IP ranges in a machine-readable format?
Machine-readable ranges are at /ips.json and via the API.
Interesting that most attacks are under ten minutes. Our experience is similar.
The point about origin IPs leaking through certificate transparency logs is underrated.
The point about origin IPs leaking through certificate transparency logs is underrated.
Carpet bombing is nasty. Good to see a clear explanation of it.
The point about origin IPs leaking through certificate transparency logs is underrated.
Is the risk score exposed in the logs so we can build our own dashboards on it?