freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

新型DoS攻击或对使用了CDN的网站产生巨大威胁
白帽汇 2019-10-25 19:42:47 140939

22.jpg

在当今全球网络中,CDN服务扮演着很重要的角色,它的缓存系统可以极大缓解原网站的压力,并给访问者提供更好的网络体验。

但近期,有安全研究人员发现了一种针对CDN缓存功能的DoS攻击——CPDoS,它有多种变体,不过基本都是通过恶意的HTTP请求头来实现。在攻击成功后,用户就无法正常访问那些使用了CDN的网站。

通过缓存服务器进行DoS

CPDoS瞄准了CDN中的缓存系统,它会向目标网站发送一个包含恶意请求头的HTTP请求,CDN接受到请求后便会直接转发给原网站,并把原网站的响应缓存起来。由于恶意请求头的存在,原网站的响应往往是异常的,但这并不影响CDN对这种异常响应进行缓存,这就导致其他用户在访问同一个页面时会直接看到缓存中的异常响应。这就是CPDoS攻击。

33.png

攻击的变种

来自科隆应用科学大学和德国汉堡大学的Hoai Viet Nguyen、Luigi Lo Iacono和Hannes Federrath展示了CPDoS攻击的三种变体:

  • HTTP Header Oversize (HHO)

  • HTTP me ta Character (HMC)

  • HTTP Method Override (HMO)

在HHO类型的CPDoS攻击中,攻击者主要利用服务器对HTTP请求头大小的限制来发起攻击。

如果CDN所转发的HTTP请求头大于原服务器定义的尺寸,则攻击者可以通过发送包含多个巨大请求头的请求来发动攻击。

例如在下图,CDN转发一个具有多个请求头的HTTP请求,原服务器被成功阻塞,返回一个400 Bad request错误页面,被缓存系统所存储。

44.png

为了更好地说明这个场景,研究人员还制作了一个视频,针对一个托管在Amazon CloudFront上的应用发起测试。

https://vimeo.com/368153261

第二种HMC类型的CPDoS攻击,是利用某些特殊字符来使服务器发生异常,例如\n\r\a等。当把这些字符塞入请求头时,服务器也有可能发生异常,返回错误页面。接着被CDN缓存,影响正常用户的访问。

55.png

而第三种HMO类型的CPDoS攻击,是通过注入和原始请求不同的请求类型来转换请求类型,使服务器无法处理请求,从而返回异常结果。这主要基于原服务器的安全策略,有些服务器并不支持请求类型转换。

66.png

在上图中,GET请求被转换为POST请求,而原服务器又无法处理该页面的POST请求,最终返回异常页面。

在错误页面被缓存后,正常用户对于目标页面的GET请求都出现异常。

研究人员也使用了Postman来演示了这种功能。

https://vimeo.com/368153252

影响

CDN服务器往往会影响一大片区域(甚至跨国),而CPDoS攻击所生成的错误页面也往往会影响多个缓存服务器。

当然,研究人员发现并不是所有的边缘服务器都受到这种攻击的影响,一些用户仍然可收到来自原网站的正常页面。

在整个测试中,研究人员使用了TurboBytes Pulse(全局DNS、HTTP和traceroute测试工具)和一个网站速度测试服务来统计结果。

最后发现来自德国(法兰克福)的针对科隆目标的CPDoS攻击影响了欧洲和亚洲部分地区的CDN服务器。

77.png

解决方法

要防御这种攻击,对于CDN来说,就最简单的方法就是只缓存404405410501之类的常见的,符合标准的错误页面。

当然,这也需要网站开发人员的配合,切勿把所有错误都归类为同一个错误代码和页面。

此外还可以在WAF之类的安全设备上加强防御,阻止恶意内容的通过。

CDN现状

从这三位研究人员进行的测试来看,亚马逊的CloudFront CDN似乎是最容易受到CPDoS攻击的。

在研究人员测试的25种相关服务和产品中,只有3种不受CPDoS攻击影响:Apache TS、谷歌云存储和Squid。

88.png

微软在6月份更新了IIS服务,并发布了关于该漏洞的详细信息(CVE-2019-0941)。Play framework也在版本1.5.3和1.4.6中针对HMO攻击进行了修复。

但并不是所有供应商的反应都很迅速,Flask的开发者就一直无回复。

亚马逊的安全团队也承认了CloudFront确实易受该攻击影响,并在默认情况下禁止缓存400 Bad Request错误页面。

Hoai Viet Nguyen、Luigi Lo Iacono和Hannes Federrath也在一篇题为Your Cache Has Fallen: Cache-Poisoned Denial-of-Service Attack的文章中详细介绍了该攻击。

他们也将在11月14日伦敦举行的第26届ACM计算机与通信安全(CCS)会议上发布报告。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/3088.html
来源:https://www.bleepingcomputer.com/news/security/new-cpdos-web-cache-poisoning-attacks-impact-sites-using-popular-cdns/
# ddos # CDN
本文为 白帽汇 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
白帽汇
白帽汇 LV.4
北京白帽汇科技有限公司
  • 248 文章数
  • 70 关注者
SRVLOC协议与端口扫描
2021-12-07
基于Docker的固件模拟
2020-05-20
第四期 |“有趣”的FOFA
2020-03-19
文章目录