HTTP2.0 协议被曝 4 个高危漏洞,可致服务器崩溃

简介:

image
如果你认为HTTP2.0协议比标准HTTP(超文本传输协议)更安全,那你就错了。有研究人员花费4个月的时间在HTTP2.0协议中发现4个漏洞!

去年2月,谷歌把自家的SPDY项目捆绑进HTTP2.0,意在加强网页加载速度和用户的在线浏览体验。三个月后HTTP2.0正式发布,HTTP2.0如今已成为大部分网站最主要的HTTP协议版本。

来自Imperva(一家全球领先的新型数据应用安全的技术领导者和知名公司)的几位安全专家在Black Hat大会上公布了至少4个高危漏洞的详细说明。漏洞允许攻击者通过传输千兆级别的数据有效载荷到目标服务器,导致服务器无限循环,使Web服务器的处理速度变慢,甚至瘫痪。

HTTP2.0协议可以分为以下三层
image

·传输层(包括数据流、帧及流控制)

·HPACK二进制编码和压缩协议

·语义层——HTTP 1.1推送功能的拓展版本。

研究人员分别在Apache,微软,NGINX,Jetty和nghttp2上深入分析使用Http2协议的服务器的表现。他们发现:在所有使用HTTP2的服务器都存在可以利用的漏洞,其中两个漏洞是HTTP1.1版本中常客。

四个主要漏洞

1、 慢速连接攻击 (CVE-2016-1546)

image

这种攻击方式类似于Slowloris DDoS攻击,Slowloris是在2009年由著名Web安全专家RSnake提出的一种攻击方法,其原理是以极低的速度向服务器发送HTTP请求。由于Web Server对于并发的连接数都有一定的上限,因此若是恶意地占用住这些连接不释放,那么Web Server的所有连接都将被恶意连接占用,从而无法接受新的请求,导致拒绝服务。

慢速连接攻击在HTTP1.1版本被人们所熟知,其特点到了HTTP2依然没有改变。客户端的浏览速度会变得很慢。

2.HPACK BOMB (CVE-2016-1544, CVE-2016-2525)

image

HPACK Bomb 是一种压缩层攻击,类似于压缩炸弹攻击和“解压缩炸弹”。

HPACK主要被用来减小数据包头部的长度。减小数据包头部长度后,发送者会告知接收方,这个数据包的头部需要解压。一个专业的黑客能利用这个漏洞可以将一个数Gb大小的数据包压缩成一条很短的消息,发送到目标服务器导致该服务器疲于处理,甚至瘫痪。

Imperva的研究人员解释说:

我们把一个数据包头部压缩成4KB,然后发送向服务端服务器14个同样的数据流,连接完成后,显示服务端接收到了896MB的数据,最终导致该服务器崩溃。

3.依赖循环攻击 (CVE-2015-8659)
image

这种攻击利用了HTTP/ 2使用网络流量优化的控制机制。

恶意客户端可以制造特殊的请求,向服务器寻求依赖循环服务,从而迫使服务器进入一个无限循环。该漏洞允许攻击者构成拒绝服务(DoS)攻击,甚至在存在漏洞的系统上运行任意代码。

4.数据流多路复用(CVE-2016-0150)

image

这种攻击允许攻击者利用服务器多路复用的功能,从而导致服务器崩溃实现流量反复功能。这种攻击最终导致服务器拒绝服务(DoS)的效果。

以上四个HTTP2.0漏洞都已被修复。

Imperva的首席技术官Amichai Shulman说

对于大多数互联网用户来说,HTTP2.0的出现提高了网站性能、增强了移动端应用的可能性,但是短期内大量出现的新代码也给伺机而动的攻击者带来了一些绝佳的机会。

虽说HTTP2.0协议继承了HTTP1.x版本的缺陷,这很正常。但是,企业或是厂商是否有进行尽职的调查和实施保障措施是解决问题的关键,毕竟关系到企业能否在飞速发展的网络威胁中延长防御体系,保护重要的客户数据。

可以看出这些漏洞都是利用了HTTP2.0宽带使用少、加载时间短的特点来实现攻击。Imperva的研究员给出一个建议,企业或用户通过建立Web应用防火墙(WAF)和打虚拟补丁,就可以在引入HTTP2.0的同时,保护他们的关键数据和应用。

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
16小时前
|
Oracle 关系型数据库 Linux
服务器数据恢复—磁盘掉线但热备盘没有启用导致RAID5阵列崩溃的数据恢复案例
某公司的一台服务器中的raid5磁盘阵列有两块磁盘先后掉线,服务器崩溃。故障服务器的操作系统为linux,操作系统部署了oa,数据库为oracle。oracle数据库已经不再对该oa系统提供后续支持,用户要求尽可能恢复操作系统和数据。 经过北亚企安数据恢复工程师检测,发现热备盘完全无启用,所有硬盘不存在明显物理故障,无明显同步的表现。
服务器数据恢复—磁盘掉线但热备盘没有启用导致RAID5阵列崩溃的数据恢复案例
|
18小时前
|
网络协议 数据格式 Python
Python进阶---HTTP协议和Web服务器
Python进阶---HTTP协议和Web服务器
15 4
|
4天前
|
自然语言处理 负载均衡 监控
处理HTTP请求的服务器
处理HTTP请求的服务器
12 1
http协议 报文 给你讲明白咯,web开发基础
http协议 报文 给你讲明白咯,web开发基础
|
5天前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
5天前
|
缓存 安全 前端开发
探索HTTP协议:网络通信的基石
探索HTTP协议:网络通信的基石
|
5天前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
|
6天前
|
JSON JavaScript API
使用 Node.js 开发一个简单的 web 服务器响应 HTTP post 请求
使用 Node.js 开发一个简单的 web 服务器响应 HTTP post 请求
19 1
|
6天前
|
JSON JavaScript 中间件
使用 Node.js 开发一个简单的 web 服务器响应 HTTP get 请求
使用 Node.js 开发一个简单的 web 服务器响应 HTTP get 请求
10 2
|
6天前
|
存储 JSON JavaScript
Node.js 上开发一个 HTTP 服务器,监听某个端口,接收 HTTP POST 请求并处理传入的数据
Node.js 上开发一个 HTTP 服务器,监听某个端口,接收 HTTP POST 请求并处理传入的数据
14 0

热门文章

最新文章