On Sunday 7 November 2021 at 22:14 UTC, a search endpoint flood targeted a gaming community customer in the Nordics. The attack peaked at 694.3 million requests per second and lasted 86 minutes. Traffic originated from 3702 autonomous systems in 109 countries, predominantly a headless-browser farm.
| Vector | search endpoint flood |
| Peak | 694.3 million requests per second |
| Duration | 86 min |
| Time to mitigation | 0.828 s |
| Attack traffic reaching origin | 0.027% |
| Legitimate traffic challenged | 0.65% |
Timeline
The attack was preceded by a ransom note demanding payment in Monero. Request rates on the targeted routes exceeded their hourly baseline by a factor of 220 within 8 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 86 ms during the first minute, then normal service.
Recommendations
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
Carpet bombing is nasty. Good to see a clear explanation of it.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Thanks! Yes — the risk score and its components are included in every log record.
Clear and practical, thanks.
The billing model is what got our finance team on board, honestly.
Great to hear, thanks for sharing your experience.
Carpet bombing is nasty. Good to see a clear explanation of it.
Thanks! Yes — the risk score and its components are included in every log record.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
Good question. We will cover that in a follow-up post.
How do you avoid challenging uptime monitors and partners?
Would love a follow-up on how you handle HTTP/3 fingerprinting.