On Saturday 21 December 2024 at 02:27 UTC, a TLS handshake exhaustion targeted a video streaming customer in Western Europe. The attack peaked at 704.1 million requests per second and lasted 40 minutes. Traffic originated from 615 autonomous systems in 114 countries, predominantly compromised cloud VMs.
| Vector | TLS handshake exhaustion |
| Peak | 704.1 million requests per second |
| Duration | 40 min |
| Time to mitigation | 0.584 s |
| Attack traffic reaching origin | 0.078% |
| Legitimate traffic challenged | 0.26% |
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 268 within 26 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
- Add a dedicated rate limit for the targeted route.
- Keep origin IPs out of public DNS history.
- Enable authenticated origin pulls.
Clear and practical, thanks.
How do you avoid challenging uptime monitors and partners?
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.