On Thursday 21 December 2023 at 02:03 UTC, a search endpoint flood targeted a online casino customer in North America. The attack peaked at 960.3 million requests per second and lasted 86 minutes. Traffic originated from 3212 autonomous systems in 82 countries, predominantly a headless-browser farm.
| Vector | search endpoint flood |
| Peak | 960.3 million requests per second |
| Duration | 86 min |
| Time to mitigation | 0.053 s |
| Attack traffic reaching origin | 0.060% |
| Legitimate traffic challenged | 0.50% |
Timeline
The attack was preceded by a hacktivist channel announcing the target. Request rates on the targeted routes exceeded their hourly baseline by a factor of 40 within 33 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
- Review allow-listed partner ranges quarterly.
- Enable authenticated origin pulls.
- Keep origin IPs out of public DNS history.
Our auditors asked for exactly this kind of incident evidence under DORA.
Great to hear, thanks for sharing your experience.
Our auditors asked for exactly this kind of incident evidence under DORA.
Is the risk score exposed in the logs so we can build our own dashboards on it?
Our auditors asked for exactly this kind of incident evidence under DORA.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
Great write-up. We saw almost the same pattern on our login endpoint last month.
Great to hear, thanks for sharing your experience.
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.
How do you avoid challenging uptime monitors and partners?
Thanks! Yes — the risk score and its components are included in every log record.