网络安全公司 Cloudflare  的研究人员发现,攻击分子可利用相当有限的计算资源,滥用 Memcached 服务器发动大规模 DDoS (分布式拒绝服务)攻击。此类 DDoS  攻击之所以成为可能,是因为 Memcached 开发人员在产品中提供 UDP 协议支持的方式不安全。更为糟糕的是,Memcached  服务器在默认配置中将 UDP 端口暴露在外部连接中,这意味着未置于防火墙之后的所有 Memcached 服务器均可能被滥用发起 DDoS 攻击。

Memcached是什么?

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcached  是 LiveJournal 旗下 Danga Interactive 公司开发的一款软件。现在已成为  mixi、hatena、Facebook、Vox、LiveJournal、GitHub 等众多服务中提高 Web 应用扩展性的重要因素。许多Web  应用都将数据保存到 RDBMS(关系数据库管理系统)中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的不断增大,会出现 RDBMS 负担加重,数据库响应恶化、网站显示延迟等影响。这时Memcached 能通过缓存数据库查询结果,减少数据库访问次数,提高动态Web 应用的速度、提高可扩展性。

Memcached 服务器可发动反射型DDoS 攻击

Cloudflare 公司表示,攻击者通过暴露的 Memcachedd 服务器发起反射型 DDoS 攻击。 攻击者将请求发送至11211端口上的 Memcached 服务器。由于未正确实现 UDP 协议,Memcached 服务器并未以类似或较小的数据包予以响应,有时甚至以比初始请求大上数千倍的数据包予以响应。

反射型 DDoS 攻击

攻击者并不直接攻击目标服务 IP,而是利用互联网的某些特殊服务开放的服务器,通过伪造被攻击者的 IP 地址、向有开放服务的服务器发送构造的请求报文,该服务器会将数倍于请求报文的回复数据发送到被攻击 IP,从而对后者间接形成 DDoS 攻击。

由于  Memcached 服务器采用的是 UDP 协议,其数据包的源 IP 地址能被轻易欺骗,这就意味着攻击者可以诱骗 Memcached  服务器将过大的响应包发送给另一个 IP 地址,也就是 DDoS 攻击受害者的 IP 地址。响应包放大的倍数即是 DDoS 攻击的“放大倍数”。

超大倍数反射型 DDoS 攻击

Cloudflare公司表示,对于基于  Memcached 反射型 DDoS 攻击,其放大倍数最高可达51200。最近一起 DDoS  攻击中,攻击者发送了15字节的数据包,Memcached 服务器以750KB的数据包予以响应。  放大倍数可能会有所不同,这取决于攻击者是否有能力发送恶意请求,欺骗 Memcached 服务器以更大的数据包予以响应。

Cloudflare 还指出,其观察到的最大反射型 DDoS 攻击(基于Memcached)峰值达到260 Gbps,吞吐量为23Mpps(每秒数百万个数据包)。Cloudflare工程师马雷克·闵可夫斯基表示,大多数 Memcached 响应包为1400字节。

51200的放大倍数相当巨大。除了 UDP 协议,其它协议和技术也能被滥用发动反射型 DDoS 攻击,例如 DNS、TFTP、LDAP、CLDAP、SNMP 和 BitTorrent。

反射型 DDoS 攻击的放大倍数通常介于2-10之间,最大的范围介于50-100倍之间。很少看到放大倍数超过100的反射型 DDoS 攻击,而在这起攻击案例中,放大倍数却高得匪夷所思。

9.3万台Memcached服务器暴露

如果 Memcached 不是热门的网页缓存解决方案,问题不算大。截至2018年2月27日,暴露在互联网上的 Memcached 服务器超过9.3万台,中国暴露了接近2.5万台。2015年,互联网上的 Memcached 服务器为13.4万台。

安全专家建议, Memcached 服务器所有者在尽可能的情况下禁用UDP端口,并将这些服务器放在部署了防火墙的专用网上。

声明:本文来自E安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。