安全预警:攻击者利用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:
国内情况,香港地区数量最多,分布如下:
处置建议
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攻击技术分析
要完成一次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
被攻击机器B:
测试指令:
tcpdump -ni eth0 port 11211 -t
可以看到,一个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攻击”的预警提示
无惧1.35TB Memcached DRDoS攻击,华为云安全一直在行动