网络安全研究员 Bartek Nowotarski 于 1 月 25 日报告,发现 HTTP / 2 协议中存在一个高危漏洞,黑客利用该漏洞可以发起拒绝服务(DoS)攻击。
Nowotarski 于 1 月 25 日向卡内基梅隆大学计算机应急小组(CERT)协调中心报告了这个发现,该漏洞被命名为“HTTP / 2 CONTINUATION Flood”。
该漏洞主要利用 HTTP / 2 的配置不当实现,主要是未能限制或净化请求数据流中的 CONTINUATION 帧。
CONTINUATION 帧是一种用于延续报头块片段序列的方法,允许在多个帧中分割报头块(header block)。
当服务器收到一个特定的 END_HEADERS 标志,表明没有其他 CONTINUATION 或其他帧时,先前分割的报头块就被视为已完成。
如果 HTTP / 2 实现不限制单个数据流中可发送的 CONTINUATION 帧的数量,就很容易受到攻击。如果攻击者开始向未设置 END_HEADERS 标志的易受攻击服务器发送 HTTP 请求,该请求将允许攻击者向该服务器持续发送 CONTINUATION 帧流,最终导致服务器内存不足而崩溃,并导致成功发起拒绝服务 (DoS) 攻击。
HTTP / 2(原名 HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP / 2 主要基于 SPDY 协议,通过对 HTTP 头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载速度。