On Saturday 27 July 2024 at 12:35 UTC, a login endpoint flood targeted a airline booking customer in Iberia. The attack peaked at 719.7 million requests per second and lasted 33 minutes. Traffic originated from 882 autonomous systems in 64 countries, predominantly hijacked home routers.
| Vector | login endpoint flood |
| Peak | 719.7 million requests per second |
| Duration | 33 min |
| Time to mitigation | 0.491 s |
| Attack traffic reaching origin | 0.074% |
| Legitimate traffic challenged | 0.09% |
Timeline
The attack was preceded by a hacktivist channel announcing the target. Request rates on the targeted routes exceeded their hourly baseline by a factor of 533 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
- Enable authenticated origin pulls.
- Enable log streaming to your SIEM for faster correlation.
- Lower challenge thresholds on authentication endpoints during high-risk events.
Thanks — sharing this with our on-call team.
Thanks! Yes — the risk score and its components are included in every log record.
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.
Our auditors asked for exactly this kind of incident evidence under DORA.
Is the risk score exposed in the logs so we can build our own dashboards on it?
Any plans to support per-tenant limits keyed on a JWT claim?
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Do you publish the edge IP ranges in a machine-readable format?
Thanks! Yes — the risk score and its components are included in every log record.
Solid runbook advice. The DNS-at-2am point hit home.