On Monday 5 July 2021 at 16:54 UTC, a cache-busting query flood targeted a electronics retail customer in the UK. The attack peaked at 198.8 million requests per second and lasted 54 minutes. Traffic originated from 2050 autonomous systems in 60 countries, predominantly hijacked home routers.
| Vector | cache-busting query flood |
| Peak | 198.8 million requests per second |
| Duration | 54 min |
| Time to mitigation | 0.199 s |
| Attack traffic reaching origin | 0.081% |
| Legitimate traffic challenged | 0.25% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 460 within 28 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
- Review allow-listed partner ranges quarterly.
- Keep origin IPs out of public DNS history.
- Lower challenge thresholds on authentication endpoints during high-risk events.
The billing model is what got our finance team on board, honestly.
Thanks — sharing this with our on-call team.
Is the risk score exposed in the logs so we can build our own dashboards on it?
Is the risk score exposed in the logs so we can build our own dashboards on it?
Good question. We will cover that in a follow-up post.
Clear and practical, thanks.
The point about origin IPs leaking through certificate transparency logs is underrated.