On Friday 9 August 2024 at 04:12 UTC, a credential stuffing targeted a online payments customer in North America. The attack peaked at 100.9 million requests per second and lasted 165 minutes. Traffic originated from 3277 autonomous systems in 109 countries, predominantly a Mirai-derived IoT botnet.
| Vector | credential stuffing |
| Peak | 100.9 million requests per second |
| Duration | 165 min |
| Time to mitigation | 0.936 s |
| Attack traffic reaching origin | 0.033% |
| Legitimate traffic challenged | 0.03% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 747 within 13 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
- Keep origin IPs out of public DNS history.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
Could you share the dataset behind the percentages?
Could you share the dataset behind the percentages?
Is the risk score exposed in the logs so we can build our own dashboards on it?
Great write-up. We saw almost the same pattern on our login endpoint last month.
Thanks! Yes — the risk score and its components are included in every log record.
Carpet bombing is nasty. Good to see a clear explanation of it.