On Sunday 2 July 2023 at 18:49 UTC, a HTTP/2 rapid reset targeted a crypto exchange customer in the Nordics. The attack peaked at 896.1 million requests per second and lasted 70 minutes. Traffic originated from 3591 autonomous systems in 106 countries, predominantly compromised cloud VMs.
| Vector | HTTP/2 rapid reset |
| Peak | 896.1 million requests per second |
| Duration | 70 min |
| Time to mitigation | 0.602 s |
| Attack traffic reaching origin | 0.064% |
| Legitimate traffic challenged | 0.35% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 827 within 16 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
The customer’s status page stayed green throughout; they learned about the attack from our notification.
Recommendations
- Add a dedicated rate limit for the targeted route.
- Enable log streaming to your SIEM for faster correlation.
- Review allow-listed partner ranges quarterly.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Great to hear, thanks for sharing your experience.
This matches what we see in iGaming around big matches.
Carpet bombing is nasty. Good to see a clear explanation of it.
Is the risk score exposed in the logs so we can build our own dashboards on it?
The billing model is what got our finance team on board, honestly.
The point about origin IPs leaking through certificate transparency logs is underrated.