利用Memcached的反射型DDOS攻击技术分析

Posted 奇安信威胁情报中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Memcached的反射型DDOS攻击技术分析相关的知识,希望对你有一定的参考价值。

背景


360网络安全研究院通过全网DDOS实时攻击的采样数据可以很清楚的看到,这种利用Memcached服务进行DDOS的攻击事件在最近几天突然大量增加:


360网络研究院对目前此类反射型攻击状况做了深入分析,更详情请参考链接:

http://blog.netlab.360.com/what-we-know-about-memcache-udp-reflection-ddos/


Memcached

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


Memcached通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性:

利用Memcached的反射型DDOS攻击技术分析


基于UDP协议的反射型DDOS攻击

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



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

利用Memcached的反射型DDOS攻击技术分析


基于Memcached的反射型攻击技术分析

利用Memcache的反射型攻击最初由360信息安全部0kee Team在2017年6月发现,并于当年11月在 PoC 2017 会议上做了公开报告,详细报告可参见参考链接[6]。


要完成一次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包。

  • Memcached主机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 94.**.251.*** 11211 |less

利用Memcached的反射型DDOS攻击技术分析


被攻击机器B:

测试指令:

tcpdump -ni eth0 port 11211 -t

利用Memcached的反射型DDOS攻击技术分析


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


利用条件

  1. Memcached服务必须开了UDP 11211端口。

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

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


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


影响面

国内影响面统计,国内受影响Memcached服务器数量在20000+

利用Memcached的反射型DDOS攻击技术分析


全球影响面统计,全球受影响Memcached服务器数量在10万左右


可行缓解措施

非常时期,建议采取快速有效防御措施:


针对于国内存在风险的机器:

云厂商、运营商、IDC限流UDP 11211双向流量;若有强业务需求最好单独申请点对点白名单,然后启用放行机制。


针对于国外存在风险的机器:

在国际出口限制UDP源端口为11211的回包流量,封堵利用国外机器打国内的情况。


参考

[1] https://blog.cloudflare.com/memcrashed-major-amplification-attacks-from-port-11211/

[2] http://blog.netlab.360.com/what-we-know-about-memcache-udp-reflection-ddos/

[3] https://www.anquanke.com/post/id/87233

[4] https://ddosmon.net/insight/

[5] https://github.com/Memcached/Memcached/blob/master/doc/protocol.txt

[6] http://powerofcommunity.net/poc2017/shengbao.pdf

以上是关于利用Memcached的反射型DDOS攻击技术分析的主要内容,如果未能解决你的问题,请参考以下文章

关于利用memcached服务器实施反射DDoS攻击的情况通报

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

758.6G每秒:阿里云成功防御国内最大规模Memcached DDoS反射攻击

DDoS防御|从“Memcached反射攻击”剖析DDoS攻防领域的“道法术”

注意了!有人利用memcached服务漏洞实施反射DDOS攻击,如何防范看这里——

「安全公告」Memcached 反射攻击安全风险公告