安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击

Posted 360企业安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击相关的知识,希望对你有一定的参考价值。

Memcached是一个非常流行的分布式高速缓存系统,广泛应用于一些大型网站中,用以提升网站的访问速度,尤其对于一些大型的或者需要频繁访问数据库的网站来说,其提升访问速度的效果十分显著。



Memcached 工作在 TCP 11211 与 UDP 11211 端口,且 UDP 11211 端口默认对外开放。攻击者可向 UDP 11211 端口发送一个小的原始数据包来诱使 Memcached 返回一个大于原始数据包上千倍(理论可达数万倍)的数据包。


而又因为UDP协议可以伪造源IP的特性。攻击者可以伪装成受害者的IP来向Memcached发送一个小的原始数据包,导致 Memcached 向受害者的IP返回一个千倍大小的数据包,导致了对受害者的 “反射型 DDOS 攻击”。Memcached 服务器往往位于拥有高速带宽的IDC中,一旦被攻击者用于反射型DDOS攻击,威力极大。


本次Memcrashed技术特点:

  • 反射倍数较大,已经确认可以稳定的达到5万倍

  • 反射点带宽充裕,且主要来自IDC机房服务器


本次Memcrashed攻击特点:

  • 反射点分布,中国占较大比例(43%)

  • 攻击频率,最近一周(2018-02-24日开始)突然上升了一个数量级。之前约 <50 件/天,当前约 300~400 件/天

  • 实际现网中,已经出现了 0.5Tbps 的攻击,并且我们相信有更大的攻击案例并未被公开报道


在接下来的一段时间内,我们预计会出现更多利用memcached进行DRDoS的事件,如果本次攻击效果被其他DDoS团队所效仿,将会带来后果更严重的攻击。


风险等级


360安全监测与响应中心风险评级为:高危

预警等级:蓝色预警(一般网络安全预警)


影响范围


版本在Memcached 1.5.6 以下,并且对公网开放 UDP 11211 访问的 Memcached 服务器都可以被攻击者用来进行反射型 DDOS 攻击。


通过360CERT QUAKE全网测绘显示,在外开放的Memcache存储系统有94489,在十万量级上下:



其中美国最多,占38899,中国次之,占22944:


安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击
安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击


国内情况,香港地区数量最多,分布如下:

安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击


处置建议


1.1  缓解措施


对于Memcache使用者:


1. 官方最新版本 1.5.6 中已经默认关闭了 UDP 11211 端口,可升级至最新版本,并且使用SASL设置密码来进行权限控制。

2. 在边界防火墙上关闭 UDP 11211 端口的入站以及出站流量。

3. 如非必要,应在服务器上关闭 Memcached 的 UDP 11211 端口,或只允许其监听在 127.0.0.1:11211。


运营商缓解措施:


1. 运营商的互联互通设备上对出口网络中对源端口为 UDP 11211的请求进行控制

2. 运营商内部的骨干节点接入设备对出口网络中源端口为 UDP 11211的请求进行控制

3. IDC 在网络出口对出口网络中的源端口为 UDP

11211的请求进行控制


1.2  控制方式


1. 直接封禁UDP协议的11211端口

2. 通过netflow等监控方式统计UDP 11211的流量,超过阈值再进行封禁


技术分析


基于UDP协议的DDOS反射攻击


分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动拒绝服务攻击,从而成倍地提高拒绝服务攻击的威力。



下图引用了CLOUDFLARE对UDP协议的DDOS反射攻击图例来说明攻击过程:

安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击

Memcached反射DDOS攻击技术分析


要完成一次UDP反射放大攻击,需要满足以下几个基本条件:


  • 作为攻击者,需要能伪造IP,并发送海量伪造来源的请求。

  • 作为反射服务器,上面需要运行着容易放大反射攻击的服务,而运行了设计不当的UDP协议的服务是最佳的选择。

  • 反射服务器的响应包最好远远大于请求包,这样才能使用较小的攻击流量进行高流量的DDOS攻击。

  • 反射服务器对应的协议或服务在互联网上有一定的使用量,比如本次攻击中的Memcached。

 

而Memcached提供的基于UDP协议的服务正好满足上诉的UDP反射放大攻击的各种条件:


  • 从协议看,Memcached支持UDP。

  • Memcached大部分是作为企业应用的组件,往往具有很高的上传带宽。

  • Memcached不需要认证就可以随意交互。

  • 很多用户编译安装时,错误的监听了0.0.0.0,且未设置iptables或云安全组,这使得攻击者可以自由访问这些服务,从而进行UDP反射攻击。


攻击流程


完成一次针对Memcached的UDP反射放大攻击,基本攻击流程如下:


  • 扫描端口和服务,抓取协议指纹,获取未认证的Memcached。

  • 向可以放大UDP返回数据的Memcached主机ip发送伪造成被攻击主机IP的UDP包。

  • Memcache主机ip将放大了上万倍的UDP数据发送给被攻击主机IP,造成DDOS攻击。


放大倍数


测试了多个Memcached server,反射放大系数是有上限的,放大倍数最高可以在6W倍左右,使用tcpdump分析请求响应的报文:

 

攻击机器A:

测试指令:

python -c "print '\0\x01\0\0\0\x01\0\0gets a b c d e\r\n'" |nc -nvvu 9x.xx.xx.2 11211 |less


安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击


被攻击机器B:

测试指令:

tcpdump -ni eth0 port 11211 -t

 

安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击


可以看到,一个15字节的UDP请求触发了分片后总量达到近百个,单个1400字节长度的响应,重复数百次,DDOS攻击的放大倍数达到了近万倍。


利用条件


1、Memcached服务必须开了UDP 11211端口。(注意:开了TCP 11211端口无效)

2、可被利用的Memcached存在Authentication Disable缺陷,即无需认证。

3、Memcached服务存在的节点有比较充足的带宽资源。


以上3个条件必须同时满足时,才可以打出放大倍数比较大的反射流量。

 

参考资料


[1] https://cert.360.cn/warning/detail?id=c63eb87058834e37c7c112c35ef5f9fd

[2] https://www.arbornetworks.com/blog/asert/memcached-reflection-amplification-description-ddos-attack-mitigation-recommendations/


以上是关于安全预警:攻击者利用Memcached服务器可发动大规模DDoS攻击的主要内容,如果未能解决你的问题,请参考以下文章

攻击者正在利用memcached协议发动DDoS攻击

网络安全省互联网信息办关于“利用memcached服务器实施反射DDoS攻击”的预警提示

DDoS攻击告警!中国2.5万Memcached服务器暴露

无惧1.35TB Memcached DRDoS攻击,华为云安全一直在行动

[漏洞预警]利用Memcached 服务器实施反射DDos攻击情况报告

提示省网信办关于“利用 memcached 服务器实施反射 DDoS 攻击”的预警提示