On Thursday 20 October 2022 at 20:07 UTC, a TLS handshake exhaustion targeted a news publisher customer in Iberia. The attack peaked at 155.7 million requests per second and lasted 73 minutes. Traffic originated from 3718 autonomous systems in 94 countries, predominantly residential proxy networks.
| Vector | TLS handshake exhaustion |
| Peak | 155.7 million requests per second |
| Duration | 73 min |
| Time to mitigation | 0.489 s |
| Attack traffic reaching origin | 0.046% |
| Legitimate traffic challenged | 0.56% |
Timeline
The attack was preceded by a publicly announced sales event. Request rates on the targeted routes exceeded their hourly baseline by a factor of 306 within 31 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
Checkout conversion was unchanged compared with the same hour of the previous week.
Recommendations
- Add a dedicated rate limit for the targeted route.
- Keep origin IPs out of public DNS history.
- Enable authenticated origin pulls.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Good question. We will cover that in a follow-up post.
Interesting that most attacks are under ten minutes. Our experience is similar.
Thanks — sharing this with our on-call team.
Good question. We will cover that in a follow-up post.
Solid runbook advice. The DNS-at-2am point hit home.
Could you share the dataset behind the percentages?