On Monday 7 October 2024 at 08:11 UTC, a cache-busting query flood targeted a developer platform customer in Latin America. The attack peaked at 653.9 million requests per second and lasted 87 minutes. Traffic originated from 1568 autonomous systems in 58 countries, predominantly mobile carrier ranges.
| Vector | cache-busting query flood |
| Peak | 653.9 million requests per second |
| Duration | 87 min |
| Time to mitigation | 0.563 s |
| Attack traffic reaching origin | 0.001% |
| Legitimate traffic challenged | 0.40% |
Timeline
The attack was preceded by a ransom note demanding payment in Monero. Request rates on the targeted routes exceeded their hourly baseline by a factor of 808 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
- Enable authenticated origin pulls.
- Enable log streaming to your SIEM for faster correlation.
- Keep origin IPs out of public DNS history.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Machine-readable ranges are at /ips.json and via the API.
Any plans to support per-tenant limits keyed on a JWT claim?
The point about origin IPs leaking through certificate transparency logs is underrated.
Thanks! Yes — the risk score and its components are included in every log record.
Great write-up. We saw almost the same pattern on our login endpoint last month.
Great write-up. We saw almost the same pattern on our login endpoint last month.
The billing model is what got our finance team on board, honestly.