| 关键词: 攻击者 对等 服务 消耗 拒绝 2019 报头 过多 HTTP 攻击 |
![]() 报告编号:B6-2019-081402 报告来源:360-CERT 报告作者:360-CERT 更新日期:2019-08-14 0x00 漏洞背景2019年08月13日晚,Netflix 安全团队联合Google,CERT / CC向互联网披露了 HTTP/2 协议在被各个中间件服务实现过程中出现的 DDoS(分布式-拒绝服务攻击)漏洞的问题。 0x01 漏洞详情HTTP/2(在RFCs 7540和7541中定义)代表了与HTTP/1.1的区别以及产生的重大变化。有几种新的功能,包括报头压缩和来自多个流的数据的多路复用,这使得它对用户群体具有吸引力。为了支持这些新功能,HTTP/2已经发展到包含第3层传输协议的一些复杂性:
虽然这种增加的复杂性带来了一些激动人心的新特性,但也带来了实现问题。当实现在互联网上运行并暴露给恶意用户时,实现者可能会想:
RFC 7540的安全考虑部分(见第10.5节)以一般方式解决了其中的一些问题。然而,与预期的“正常”行为不同。对于标准中的确切描述来说,在被实现的时候只是满足了接近预期而已。例如用于检测和减轻“异常”行为的算法和机制明显更加模糊,这将是实现者所担负的实践与练习。从对各种中间件软件包的实现回顾来看,这其中有了各种各样的实现,有各种各样的好想法,但这其中也缺点的产生,这就造成了此次的漏洞。 为何影响 这些攻击大多在HTTP/2传输层进行。如下图所示,该层位于TLS传输之上,但在请求概念之下。事实上,许多攻击都涉及0或1个请求。 ![]() 从早期的超文本传输协议开始,中间件服务就以请求为导向:日志以请求为分割(而不是连接);速率限制发生在请求级别;并且流量控制也由请求触发。 相比之下,没有多少工具可以根据客户端在HTTP/2连接层的行为来执行记录、速率限制和修正。因此,中间件服务可能会发现更难发现和阻止恶意的HTTP/2连接,并且可能需要添加额外的工具来处理这些情况。 这些攻击媒介允许远程攻击者消耗过多的系统资源。有些攻击足够高效,单个终端系统可能会对多台服务器造成严重破坏(服务器停机/核心进程崩溃/卡死)。其他攻击效率较低的情况则产生了一些更棘手的问题,他们只会使服务器的运行变得缓慢,可能会是间歇性的,这样的攻击会更难以检测和阻止。 攻击状况 我们发现的许多攻击向量(今天已经修复)都是一个关键点的变体:一个恶意客户端要求服务器做一些产生响应的行为,但是客户端拒绝读取响应。这将考验服务器的队列管理代码。根据服务器处理队列的方式,客户端可以在处理请求时强制它消耗多余的内存和CPU。
0x02 修复建议Nginx 已确认受到影响并已针对此次漏洞情况发布更新 nginx security advisories 其他的中间件服务尚无明确的响应和修复 360CERT 建议广大用户及时更新 http服务中间件的版本以免受到此次漏洞影响。 0x03 时间线2019-08-13 360CERT监测到Netflix发布通告 2019-08-14 360CERT发布预警 0x04 参考链接
|
| 本文出处: https://www.toutiao.com/a6724973573619859982/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|