HTTP/2 快速重置漏洞于 2023 年 10 月 10 日公布。
最近,CDNetworks Security Platform 检测到一个名为 CVE-2023-44487 的零日漏洞,该漏洞利用了 HTTP/2 协议拒绝服务漏洞。恶意攻击者利用该漏洞对HTTP/2服务器发起大规模DDoS攻击。
据公开数据显示,利用该漏洞发起的DDoS攻击规模已达到惊人的3.98亿QPS,将全球攻击峰值记录提升了一个数量级。
关于 HTTP/2
HTTP/2(超文本传输协议2.0)是互联网上的下一代HTTP 协议。 HTTP/2引入了多路复用技术,允许通过单个连接同时发送多个请求和响应,从而提高资源利用率。它还支持标头压缩和服务器推送等功能,减少网络传输开销。此外,HTTP/2支持加密传输,提供增强的安全性。
漏洞详情
在传统的 HTTP 1.1 下,浏览器对每个域可以同时发出的请求数量有一定的限制。如果超出限制,则会阻止其他请求。 HTTP/2 引入了一项称为流复用的新功能。由标头和数据帧组成的多个请求(称为流)可以在 TCP 连接上同时且无序地发送。这是因为每个流都有一个关联的 ID,这使得服务器可以识别帧属于哪个流以及如何响应。此功能极大地提高了性能。
然而,HTTP/2的这些特性也可能被攻击者利用,使得DDoS攻击更加高效。
由于服务器需要消耗CPU和内存资源来处理每一帧和流,如果滥用并发流功能,会很快耗尽服务器资源。为了控制最大资源使用量,服务器设置了最大并发流数的限制。然而,HTTP/2 协议允许客户端发送 RST_STREAM 帧来单方面取消之前的流。这用于通知服务器停止响应之前的请求,防止带宽浪费。这就导致了以下现象:
当客户端在 TCP 连接上同时为同一请求发送请求和重置帧 (RST_STREAM) 时,服务器不会将该请求视为活动状态,并且不会将其计入并发流限制。客户端可以在同一个 TCP 连接上快速打开和重置大量流,而服务器仍然需要为取消的请求执行大量工作。这最终会耗尽服务器资源,导致拒绝服务。
通过利用这种方法,攻击者获得了不公平的优势,攻击成本明显低于防御成本:
- 客户端的最大并发请求数不再取决于往返时间 (RTT),而是仅依赖于可用的网络带宽,从而允许客户端显着增加可发送的并发请求数。
- 由于服务器在收到RST_STREAM后停止响应之前的请求,因此减少了攻击所需的服务器带宽。
CDNetworks的对策
CDNetworks 已立即采取措施,通过实施相应的缓解措施来解决此漏洞。 CDNetworks 配置了整个平台上单个连接可以传输的 HTTP 请求的最大数量。这有助于减轻漏洞的影响,并且配置是可定制的,允许客户根据需要调整阈值。
由于攻击者可以利用该漏洞发起大规模DDoS攻击,未实施的客户 DDoS 保护 建议尽快采取措施启用相应的保护。
CDNetworks及时增强了Web应用和API防护能力,提供更好的DDoS防护,从而确保客户业务的安全和稳定。为了受益于全面的保护,请及时与您的客户服务团队联系以实施 CDNetworks Web应用与API防护解决方案 解决方案。
CDNetworks的安全平台将继续实时分析和识别发起HTTP/2快速重置攻击的IP地址,并在网络层拦截恶意IP。利用网络层强大的处理性能,可以有效应对大规模攻击。理论上,这种机制可以实现无限的保护。
与此同时,我们将继续监控使用我们 WAAP 解决、及时干预、应对各类安全事故。