On Tuesday 23 November 2021 at 21:40 UTC, a cache-busting query flood targeted a retail banking customer in the Middle East. The attack peaked at 775.4 million requests per second and lasted 180 minutes. Traffic originated from 3253 autonomous systems in 82 countries, predominantly misconfigured open reflectors.
| Vector | cache-busting query flood |
| Peak | 775.4 million requests per second |
| Duration | 180 min |
| Time to mitigation | 0.717 s |
| Attack traffic reaching origin | 0.080% |
| Legitimate traffic challenged | 0.30% |
Timeline
The attack was preceded by a breaking political story. Request rates on the targeted routes exceeded their hourly baseline by a factor of 259 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
No customer-visible impact. The on-call engineer was notified and acknowledged the incident from the dashboard.
Recommendations
- Enable log streaming to your SIEM for faster correlation.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
Our auditors asked for exactly this kind of incident evidence under DORA.
Verified good bots and allow-listed partners bypass challenges entirely.
Interesting that most attacks are under ten minutes. Our experience is similar.
Could you share the dataset behind the percentages?
Thanks! Yes — the risk score and its components are included in every log record.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Could you share the dataset behind the percentages?
Do you publish the edge IP ranges in a machine-readable format?
Solid runbook advice. The DNS-at-2am point hit home.
Do you publish the edge IP ranges in a machine-readable format?