On Saturday 15 February 2025 at 21:10 UTC, a TLS handshake exhaustion targeted a electronics retail customer in the UK. The attack peaked at 960.5 million requests per second and lasted 68 minutes. Traffic originated from 2996 autonomous systems in 46 countries, predominantly residential proxy networks.
| Vector | TLS handshake exhaustion |
| Peak | 960.5 million requests per second |
| Duration | 68 min |
| Time to mitigation | 0.927 s |
| Attack traffic reaching origin | 0.052% |
| Legitimate traffic challenged | 0.14% |
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 378 within 20 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.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
Clear and practical, thanks.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Verified good bots and allow-listed partners bypass challenges entirely.