CDN海啸攻击:利用HTTP/3协议转换实现350倍DoS放大
CDN Tsunami攻击利用HTTP/3到HTTP/1.1转换中的QPACK头部压缩机制,将低带宽请求放大350倍,对源站实施DoS攻击。阿里云、百度、腾讯等六家CDN受影响,连接放大可耗尽源站连接池,导致HTTP 504/503。了解攻击原理与缓解措施。
🔓 High 漏洞利用
研究人员披露名为“CDN Tsunami”的拒绝服务攻击,利用CDN将客户端HTTP/3流量转换为源站HTTP/1.1请求时的协议差异,通过QPACK头部压缩放大带宽,以及通过HTTP/3多路复用消耗连接资源。攻击者仅需低带宽即可对源站造成最高350倍的流量放大,阿里云、百度、腾讯、Cloudflare、CloudFront和Fastly均受影响。
来源:The Hacker News | 2026-08-20 | 原文链接
🔍 关键发现
- CDN将HTTP/3转为HTTP/1.1时,QPACK压缩索引被解压为完整HTTP头部,导致带宽放大,阿里云/百度/腾讯因支持动态表最高可达350倍。
- 连接放大变体利用HTTP/3多路复用和低速率DATA帧占用CDN到源站的TCP连接,可耗尽源站连接池,导致正常请求延迟达90秒并返回504/503。
- 实验测量151,685个子域,其中42,330个响应HTTP/3被视为潜在受影响;CloudFront、Cloudflare和Fastly暴露面最大。
⚔️ 攻击链分析
1. 攻击者与CDN建立HTTP/3连接,发送携带超大HTTP头的请求以填充QPACK动态表(HBA)。 2. 攻击者发送大量仅含小索引值的请求,CDN解压为完整HTTP/1.1头并转发至源站,形成带宽放大。 3. 对于连接放大(HCA),攻击者在HTTP/3多路复用流中发送HEADERS后仅以极低速率发送DATA,使CDN保持后端连接不释放。 4. 大量连接耗尽源站连接池,导致正常用户访问超时或服务不可用。
🚩 失陷指标 (IOC)
暂无公开IOC
🛡️ 缓解建议
- ✅ CDN应限制QPACK动态表头字段大小(建议512字节)及单个流中动态表条目的引用次数(建议不超过10次)。
- ✅ 强制设置解压后HTTP/1.1请求大小上限(建议64KB),超限直接拒绝。
- ✅ 在CDN侧缓冲完整HTTP/3请求(含HEADERS和DATA)后再建立到源站的连接,并对后端连接设置独立超时和数量限制。
涉及漏洞:[]
⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。
🤖 常见问题解答(FAQ)
❓ 哪些CDN受影响?
阿里云、百度、腾讯、Cloudflare、CloudFront和Fastly均受带宽放大影响;除Cloudflare因缓冲完整请求外,其余五家均受连接放大影响。
❓ 为什么能放大350倍?
QPACK动态表允许攻击者用几字节索引代替大头部,CDN转成HTTP/1.1时必须展开完整头部。在动态表支持和约64并发流条件下产生350倍峰值放大。
❓ 源站如何防御此攻击?
源站无法直接修复,需依赖CDN侧补丁。可暂时限制请求头大小、缩短后端超时、限制单IP连接数,并使用WAF过滤可疑HTTP/3请求。