导读:一种新型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攻击技术时,取得了以下之结果:
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,并在前端部署代理/防火墙,强制执行严格的头部数量限制。
作者:场长
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。