On Friday 11 August 2023 at 01:54 UTC, a cache-busting query flood targeted a retail banking customer in Central Europe. The attack peaked at 940.2 million requests per second and lasted 115 minutes. Traffic originated from 1202 autonomous systems in 68 countries, predominantly compromised cloud VMs.
| Vector | cache-busting query flood |
| Peak | 940.2 million requests per second |
| Duration | 115 min |
| Time to mitigation | 0.145 s |
| Attack traffic reaching origin | 0.021% |
| Legitimate traffic challenged | 0.63% |
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 298 within 5 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
The customer’s status page stayed green throughout; they learned about the attack from our notification.
Recommendations
- Keep origin IPs out of public DNS history.
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Enable authenticated origin pulls.
Do you publish the edge IP ranges in a machine-readable format?
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.
How do you avoid challenging uptime monitors and partners?