On Saturday 19 November 2022 at 21:50 UTC, a TLS handshake exhaustion targeted a fashion retail customer in North America. The attack peaked at 103.5 million requests per second and lasted 25 minutes. Traffic originated from 2894 autonomous systems in 27 countries, predominantly misconfigured open reflectors.
| Vector | TLS handshake exhaustion |
| Peak | 103.5 million requests per second |
| Duration | 25 min |
| Time to mitigation | 0.023 s |
| Attack traffic reaching origin | 0.077% |
| Legitimate traffic challenged | 0.80% |
Timeline
The attack was preceded by a ransom note demanding payment in Monero. Request rates on the targeted routes exceeded their hourly baseline by a factor of 775 within 9 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
A brief increase in p99 latency of 182 ms during the first minute, then normal service.
Recommendations
- Enable log streaming to your SIEM for faster correlation.
- Keep origin IPs out of public DNS history.
- Add a dedicated rate limit for the targeted route.
The point about origin IPs leaking through certificate transparency logs is underrated.
Solid runbook advice. The DNS-at-2am point hit home.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
Could you share the dataset behind the percentages?
Our auditors asked for exactly this kind of incident evidence under DORA.
How do you avoid challenging uptime monitors and partners?