On Thursday 1 September 2022 at 13:39 UTC, a TLS handshake exhaustion targeted a developer platform customer in Western Europe. The attack peaked at 958.4 million requests per second and lasted 35 minutes. Traffic originated from 743 autonomous systems in 50 countries, predominantly mobile carrier ranges.
| Vector | TLS handshake exhaustion |
| Peak | 958.4 million requests per second |
| Duration | 35 min |
| Time to mitigation | 0.747 s |
| Attack traffic reaching origin | 0.028% |
| Legitimate traffic challenged | 0.43% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 478 within 30 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
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
- Lower challenge thresholds on authentication endpoints during high-risk events.
Great write-up. We saw almost the same pattern on our login endpoint last month.
Machine-readable ranges are at /ips.json and via the API.
The point about origin IPs leaking through certificate transparency logs is underrated.
Verified good bots and allow-listed partners bypass challenges entirely.
Great write-up. We saw almost the same pattern on our login endpoint last month.
Carpet bombing is nasty. Good to see a clear explanation of it.
Interesting that most attacks are under ten minutes. Our experience is similar.