如果你认为HTTP2.0协议比标准HTTP(超文本传输协议)更安全,那你就错了。有研究人员花费4个月的时间在HTTP2.0协议中发现4个漏洞!
去年2月,谷歌把自家的SPDY项目捆绑进HTTP2.0,意在加强网页加载速度和用户的在线浏览体验。三个月后HTTP2.0正式发布,HTTP2.0如今已成为大部分网站最主要的HTTP协议版本。
来自Imperva(一家全球领先的新型数据应用安全的技术领导者和知名公司)的几位安全专家在Black Hat大会上公布了至少4个高危漏洞的详细说明。漏洞允许攻击者通过传输千兆级别的数据有效载荷到目标服务器,导致服务器无限循环,使Web服务器的处理速度变慢,甚至瘫痪。
HTTP2.0协议可以分为以下三层
·传输层(包括数据流、帧及流控制)
·HPACK二进制编码和压缩协议
·语义层——HTTP 1.1推送功能的拓展版本。
研究人员分别在Apache,微软,NGINX,Jetty和nghttp2上深入分析使用Http2协议的服务器的表现。他们发现:在所有使用HTTP2的服务器都存在可以利用的漏洞,其中两个漏洞是HTTP1.1版本中常客。
四个主要漏洞
1、 慢速连接攻击 (CVE-2016-1546)
这种攻击方式类似于Slowloris DDoS攻击,Slowloris是在2009年由著名Web安全专家RSnake提出的一种攻击方法,其原理是以极低的速度向服务器发送HTTP请求。由于Web Server对于并发的连接数都有一定的上限,因此若是恶意地占用住这些连接不释放,那么Web Server的所有连接都将被恶意连接占用,从而无法接受新的请求,导致拒绝服务。
慢速连接攻击在HTTP1.1版本被人们所熟知,其特点到了HTTP2依然没有改变。客户端的浏览速度会变得很慢。
2.HPACK BOMB (CVE-2016-1544, CVE-2016-2525)
HPACK Bomb 是一种压缩层攻击,类似于压缩炸弹攻击和“解压缩炸弹”。
HPACK主要被用来减小数据包头部的长度。减小数据包头部长度后,发送者会告知接收方,这个数据包的头部需要解压。一个专业的黑客能利用这个漏洞可以将一个数Gb大小的数据包压缩成一条很短的消息,发送到目标服务器导致该服务器疲于处理,甚至瘫痪。
Imperva的研究人员解释说:
我们把一个数据包头部压缩成4KB,然后发送向服务端服务器14个同样的数据流,连接完成后,显示服务端接收到了896MB的数据,最终导致该服务器崩溃。
3.依赖循环攻击 (CVE-2015-8659)
这种攻击利用了HTTP/ 2使用网络流量优化的控制机制。
恶意客户端可以制造特殊的请求,向服务器寻求依赖循环服务,从而迫使服务器进入一个无限循环。该漏洞允许攻击者构成拒绝服务(DoS)攻击,甚至在存在漏洞的系统上运行任意代码。
4.数据流多路复用(CVE-2016-0150)
这种攻击允许攻击者利用服务器多路复用的功能,从而导致服务器崩溃实现流量反复功能。这种攻击最终导致服务器拒绝服务(DoS)的效果。
以上四个HTTP2.0漏洞都已被修复。
Imperva的首席技术官Amichai Shulman说
对于大多数互联网用户来说,HTTP2.0的出现提高了网站性能、增强了移动端应用的可能性,但是短期内大量出现的新代码也给伺机而动的攻击者带来了一些绝佳的机会。
虽说HTTP2.0协议继承了HTTP1.x版本的缺陷,这很正常。但是,企业或是厂商是否有进行尽职的调查和实施保障措施是解决问题的关键,毕竟关系到企业能否在飞速发展的网络威胁中延长防御体系,保护重要的客户数据。
可以看出这些漏洞都是利用了HTTP2.0宽带使用少、加载时间短的特点来实现攻击。Imperva的研究员给出一个建议,企业或用户通过建立Web应用防火墙(WAF)和打虚拟补丁,就可以在引入HTTP2.0的同时,保护他们的关键数据和应用。
点击这里可下载详细报告