On Saturday 2 November 2024 at 14:27 UTC, a HTTP/2 rapid reset targeted a tax authority portal customer in Western Europe. The attack peaked at 560.4 million requests per second and lasted 186 minutes. Traffic originated from 2693 autonomous systems in 17 countries, predominantly misconfigured open reflectors.
| Vector | HTTP/2 rapid reset |
| Peak | 560.4 million requests per second |
| Duration | 186 min |
| Time to mitigation | 0.837 s |
| Attack traffic reaching origin | 0.068% |
| Legitimate traffic challenged | 0.73% |
Timeline
The attack was preceded by a competitor’s product launch. Request rates on the targeted routes exceeded their hourly baseline by a factor of 497 within 36 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
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Enable authenticated origin pulls.
- Enable log streaming to your SIEM for faster correlation.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Interesting that most attacks are under ten minutes. Our experience is similar.
The point about origin IPs leaking through certificate transparency logs is underrated.
Good question. We will cover that in a follow-up post.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Would love a follow-up on how you handle HTTP/3 fingerprinting.
Our auditors asked for exactly this kind of incident evidence under DORA.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?