On Sunday 12 November 2023 at 10:47 UTC, a HTTP GET flood targeted a sports betting customer in Central Europe. The attack peaked at 972.9 million requests per second and lasted 15 minutes. Traffic originated from 2912 autonomous systems in 82 countries, predominantly misconfigured open reflectors.
| Vector | HTTP GET flood |
| Peak | 972.9 million requests per second |
| Duration | 15 min |
| Time to mitigation | 0.735 s |
| Attack traffic reaching origin | 0.026% |
| Legitimate traffic challenged | 0.72% |
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 72 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
A brief increase in p99 latency of 81 ms during the first minute, then normal service.
Recommendations
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
- Add a dedicated rate limit for the targeted route.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
The point about origin IPs leaking through certificate transparency logs is underrated.
Great to hear, thanks for sharing your experience.
Do you publish the edge IP ranges in a machine-readable format?
Any plans to support per-tenant limits keyed on a JWT claim?
The point about origin IPs leaking through certificate transparency logs is underrated.