17611538698
info@21cto.com

新型“HTTP/2炸弹”DDOS攻击出现,不到一分钟内让服务器崩溃

动态 0 19 17小时前
图片

导读:一种新型DDos“病毒”出现,看看它有多厉害。包括如何堵住这个漏洞。

一种名为 HTTP/2 Bomb 的新型拒绝服务 (DoS) 攻击出现,可以从单台机器发起,在几秒钟内使 Web 服务器瘫痪。

该技术适用于主流 Web 服务器使用默认 HTTP/2 配置,包括 Nginx、Apache HTTP Server、Microsoft IIS、Envoy 和 Cloudflare Pingora。

HTTP/2 Bomb 由 OpenAI 的 Codex 软件代理在攻击性安全公司 Calif 的研究人员的指导下发现,它结合了两种先前已知的 HTTP/2 DoS 方法:HPACK 压缩放大和通过 HTTP/2 流控制停滞实现的 Slowloris 式资源保留。

当多个客户端同时使用时,100 Mbps 连接上的单个客户端可以在几秒钟内耗尽数十 GB 的内存,迫使服务器重分配内存,然后阻止服务器释放内存。

研究人员表示: “一台连接速度为 100Mbps 的家用电脑可以在几秒钟内使存在漏洞的服务器无法访问。针对 Apache httpd 和 Envoy,单个客户端可以在大约 20 秒内消耗并占用 32GB 的服务器内存。

HTTP/2 Bomb DoS 攻击滥用了 HTTP/2 协议用于头部压缩的 HPACK 机制,方法是将头部插入 HPACK 动态表中,并通过一个字节大小的紧凑索引表示反复引用它。

因此,攻击者发送的一个字节可能会导致服务器端分配数千字节的内存,其中 Envoy 和 Apache httpd 的比例最差,分别为 5,700:1 和 4,000:1。

攻击的第二部分在于阻止请求完成后内存被释放。这可以通过通告一个零字节的流控制窗口来实现。服务器不会发送响应,而是定期发送微小的 WINDOW_UPDATE 帧来避免超时。

在这种情况下,请求永远不会完全完成,分配的内存会不断增长而不会被释放。

加州的研究人员解释说,这种方法绕过了现有的防御措施,例如对解码后的报头总大小的限制,因为攻击中使用的报头值非常小,放大作用来自内部的逐报头记账和内存分配。

研究人员在对四台主流网络服务器测试新的DoS攻击技术时,取得了以下之结果:

  • Envoy 1.37.2 在大约 10 秒内耗尽了 32 GB 内存。
  • Apache httpd 2.4.67 在约 18 秒内耗尽了 32 GB 内存。
  • nginx 1.29.7 在约 45 秒内耗尽了 32 GB 内存。
  • IIS(Windows Server 2025)在约 45 秒内耗尽了 64 GB 内存。


HTTP/2 Bomb DoS 攻击的完整技术细节将在本月下旬的 Real World AI Security 会议上由研究员 Quang Luong 进行演讲披露。

然而,针对这种新攻击方法的概念验证 (PoC) 漏洞利用程序已经发布

图片
影响和修复

加州的研究人员强调,虽然他们攻击的两个部分都不是特别新颖,但将这两种技术结合起来会产生重大影响。

他们指出,尽管 HPACK 算法的规范侧重于内存放大风险,但并未解决攻击者通过 HTTP/2 流控制无限期持有已分配内存时会发生什么情况。

然而,并非所有Web服务器都容易受到“HTTP/2炸弹”攻击,因为部分平台已经发布了补丁。此外,某些自定义服务器配置可能提供针对该攻击的间接保护。

例如,运行在 CDN 或反向代理后面的系统不会暴露易受攻击的 HTTP/2 端点,因此更难被攻击。此外,某些部署可能已经设置了自定义的标头数量限制、启用了 Web 应用防火墙 (WAF)、反向代理,或者禁用了 HTTP/2。

该问题已经在 Nginx 版本 1.29.8 中得到修复,该版本添加了“max_headers”指令;在 Apache httpd mod_http2 2.0.41 中也得到了修复,该问题被分配了标识符 CVE-2026-49975。

截至到本文完稿为止,IIS、Envoy 和 Pingora 尚无可用补丁。建议在这些 Web 服务器上尽可能禁用 HTTP/2,并在前端部署代理/防火墙,强制执行严格的头部数量限制。

作者:场长

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信