On Monday 25 December 2023 at 13:48 UTC, a TLS handshake exhaustion targeted a online payments customer in Southeast Asia. The attack peaked at 692.8 million requests per second and lasted 11 minutes. Traffic originated from 2124 autonomous systems in 59 countries, predominantly a Mirai-derived IoT botnet.
| Vector | TLS handshake exhaustion |
| Peak | 692.8 million requests per second |
| Duration | 11 min |
| Time to mitigation | 0.224 s |
| Attack traffic reaching origin | 0.077% |
| Legitimate traffic challenged | 0.76% |
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 343 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
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Review allow-listed partner ranges quarterly.
- Keep origin IPs out of public DNS history.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Verified good bots and allow-listed partners bypass challenges entirely.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Verified good bots and allow-listed partners bypass challenges entirely.
This matches what we see in iGaming around big matches.
Great write-up. We saw almost the same pattern on our login endpoint last month.
Do you publish the edge IP ranges in a machine-readable format?
Solid runbook advice. The DNS-at-2am point hit home.
Good question. We will cover that in a follow-up post.