On Sunday 26 March 2023 at 11:22 UTC, a search endpoint flood targeted a tax authority portal customer in the Nordics. The attack peaked at 870.9 million requests per second and lasted 99 minutes. Traffic originated from 2660 autonomous systems in 110 countries, predominantly hijacked home routers.
| Vector | search endpoint flood |
| Peak | 870.9 million requests per second |
| Duration | 99 min |
| Time to mitigation | 0.312 s |
| Attack traffic reaching origin | 0.017% |
| Legitimate traffic challenged | 0.22% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 647 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
No customer-visible impact. The on-call engineer was notified and acknowledged the incident from the dashboard.
Recommendations
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Review allow-listed partner ranges quarterly.
- Enable authenticated origin pulls.
How do you avoid challenging uptime monitors and partners?
Nice to read a vendor blog that admits what went wrong.
Machine-readable ranges are at /ips.json and via the API.
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.
Good question. We will cover that in a follow-up post.
Interesting that most attacks are under ten minutes. Our experience is similar.