腾讯云安全团队支招:放大比超过5万倍的 Memcached DDoS 攻击如何防御

近日,腾讯云安全大禹团队监测到利用 Memcached 服务作为放大器进行反射类 DDoS 攻击的行为,这种攻击的放大比可以达到惊人的5万倍。

这5万倍的放大效应是如何产生的?这类攻击跟其它反射类 DDoS 方式相比哪个危害更大?用户又应当如何防御?腾讯云安全大禹团队深度剖析了这类攻击的原理、危害以及应对策略。

一、5万倍从何而来

首先来看 Memcached 反射攻击的利用条件。

可被利用进行反射攻击的 Memcached 服务需满足三个条件:

1、对公网开放。

2、未禁用 UDP 协议支持。

3、未启用验证。

由于 Memcached 默认开启了 UDP 支持并且关闭了验证,所以可被利用的 Memcached 放大器数量众多,腾讯云安全团队发现全网可以利用的数量有100078个

Memcached 反射类 DDoS 攻击利用的是 Memcached 中的 set 和 get 两个指令。

第一个是上传 payload 的 set 命令, set 命令用于将 value 存储在指定的 key中。

如果 set 的 key 已经存在,该命令可以更新该 key 所对应的原来的数据,也就是实现更新的作用。

set 命令的基本语法格式如下:

set key flags exptime bytes [noreply]

value

参数说明如下:

•  key:键值 key-value 结构中的 key,用于查找缓存值。

•  flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。

•  exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

•  bytes:在缓存中存储的字节数

•  value:存储的值(始终位于第二行)(可直接理解为 key-value 结构中的value)

如图我们插入一个 key 为 qcloud 的 payload

第二个是获取payload的get命令。

get 命令获取存储在 key 中的 value ,如果 key 不存在,则返回空。

get 命令的基本语法格式如下:

get key

多个 key 使用空格隔开,如下:

get key1 key2 key3

参数说明如下:

key:键值  key-value 结构中的 key,用于查找缓存值。

如图获取 key 为 qcloud 的有效载荷。

到了这里也就清楚了流量放大是如何产生的。因为 value 部分可以自己插入超长的内容,所以导致响应内容远大于请求内容,达到流量放大效果,实际测试中,通过插入超长的 value,可以获得上万倍的放大效果。如下图所示,一个  payload 为27字节的请求包可以返回数百个 payload 为1400字节的响应。

二、Memcached 反射攻击相比其他反射方式哪个危害

反射类 DDoS 攻击方式靠的是发送大量带有被害者 IP 地址的数据包给攻击主机,然后攻击主机对 IP 地址源做出大量回应,形成拒绝服务攻击。

黑客往往会选择那些响应包远大于请求包的服务来利用,这样才可以以较小的流量换取更大的流量,获得几倍甚至几十倍的放大效果。腾讯云安全团队监测到的数据表明,主流的放大反射攻击的服务包括 DNS 服务、NTP 服务、SSDP 服务、Chargen 服务等。

反射攻击能产生的流量大小主要取决于放大比、反射源数量、反射源带宽、反射源稳定性。主流反射方式的反射比和可用反射源数量如下:

从上图可知,SSDP 虽然放大比只有31倍,但由于数量最多且稳定(多为 IOT 设备),可产生的攻击效果不可忽视。而 Memcached 放大比高达5万倍,对黑客来说无疑是最经济的攻击方式,同时考虑到大部分 Memcached 服务带宽较大,无论是对受影响的 Memcached 用户还是对被攻击者而言,都会造成很大的危害。

三、如何应对

1

针对 Memcached 用户

a、腾讯云云缓存 Memcached 产品采用自研架构,未使用 UDP 协议,默认不受该问题影响,您可以放心使用。

b、腾讯云上自己部署 Memcached 服务的用户也可以使用安全组来禁用 UDP 11211端口来获得免疫,同时不需要重启服务和中断业务。

2

针对遭受攻击的用户

对于遭受到攻击的用户可以使用腾讯云大禹 BGP 高防。大禹 BGP 高防是腾讯云针对游戏、金融、网站等用户遭受大流量 DDoS 攻击时服务不可用的情况推出的增值服务。高达 300G 的防护服务和多达 28 线的BGP 线路,让用户业务不再畏惧 DDoS 攻击的挑战,同时拥有极速的访问体验。

大禹 BGP 高防同时也有应对反射类 DDoS 攻击的杀手锏-UDP 封堵,如果用户用不到 UDP 协议,可以在骨干网络对 UDP 流量进行封堵,提前消灭反射类 DDoS 攻击,并且帮助用户降低防护成本。

原文发布于微信公众号 - 腾讯云安全(TencentCloudSecurity)

原文发表时间:2018-03-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

京东金融一面+滴滴一面

2025

Apache Hadoop:通过重构降低技术债务

如果没有将实际行动纳入代码来控制和解决技术债务的话,那么技术债务将一文不值。为了阐述这种能自动修正代码缺陷的能力,而这些缺陷恰恰又是增加这些意外债务的元凶,我们...

1112
来自专栏编码前线

设计模式之责任链模式

在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可...

511
来自专栏Java技术栈

春节跳槽最新Java面试题及答案整理

大年初七好,今天大部分码农同学已经上班了吧,最近也是跳槽人才流动的高峰期,拿了年终奖,找找更好的机会。 小编也面了几家公司了,回来整理下面经分享给大家做个参考。...

3497
来自专栏FreeBuf

遨游浏览器把全球用户的这些数据偷偷传回了北京服务器

其实咱中国的Maxthon遨游浏览器在国际上也还是有一定知名度的,从StatsMonkey前年的数据来看,它在中国的市场份额排名第6,在波兰的份额也是第6。 最...

2009
来自专栏程序员互动联盟

【计算机基本概念】中央处理器

中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control U...

3405
来自专栏张善友的专栏

Web 单点登录系统

对于企业内部系统来说,CAS系统是一个应用最广的开源单点登陆实现了,其实现模仿Kerberos的一些概念,例如KDC、TGS等等,都是来自于Kerberos。具...

26710
来自专栏大数据挖掘DT机器学习

如何用R语言从网上读取多样格式数据

第一部分:数据信息 生活中,我们面临着各种各样的数据:比如你的成绩单,比如公司的财务报表,比如朋友圈的一些状态,比如微信里的一段语音……我们生活的大数据时代的一...

3667
来自专栏JAVA烂猪皮

淘宝面试回来,想对程序员们谈谈

因为我是一个不管做什么事情都喜欢进行总结的一个人。所以对于在上周去淘宝面试的经历,现在面试回来总结,我想对所有程序员们谈谈。

1193
来自专栏FreeBuf

两张图片告诉你为什么域名会被解析到65.49.2.178

2014年1月21日中国出现重大网络事故,大量域名被解析到一个65.49.2.178 这个IP了。 中国的一家DNS服务商DNSPOD于 2014 年 1 月...

2487

扫码关注云+社区