On Wednesday 29 December 2021 at 06:16 UTC, a cache-busting query flood targeted a developer platform customer in the Nordics. The attack peaked at 179.7 million requests per second and lasted 172 minutes. Traffic originated from 3921 autonomous systems in 103 countries, predominantly a headless-browser farm.
| Vector | cache-busting query flood |
| Peak | 179.7 million requests per second |
| Duration | 172 min |
| Time to mitigation | 0.681 s |
| Attack traffic reaching origin | 0.035% |
| Legitimate traffic challenged | 0.69% |
Timeline
The attack was preceded by a competitor’s product launch. Request rates on the targeted routes exceeded their hourly baseline by a factor of 859 within 6 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 93 ms during the first minute, then normal service.
Recommendations
- Add a dedicated rate limit for the targeted route.
- Enable log streaming to your SIEM for faster correlation.
- Lower challenge thresholds on authentication endpoints during high-risk events.
Our auditors asked for exactly this kind of incident evidence under DORA.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Carpet bombing is nasty. Good to see a clear explanation of it.
Thanks — sharing this with our on-call team.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Solid runbook advice. The DNS-at-2am point hit home.