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

腾讯云安全团队支招:放大比超过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)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Facebook又双叒叕爆用户数据泄露!企业该如何保护数据资产安全?

    当企业上云成为普遍趋势,数据安全成为企业核心资产安全之一,是贯穿企业安全生命周期的重要挑战。近期Facebook事件就再一次为企业数据安全敲响警钟。 企业应当...

    腾讯云安全
  • 追击实录 (一):DDoS 黑产集团运作模式曝光,腾讯云联合警方主动出击

    一次小小攻击,竟导致重庆 2 万用户断网。直播平台主播为何被黑产盯上?警方顺藤摸瓜调查后,DDoS 黑产集团运作模式曝光,本篇为追击实录(一)。

    腾讯云安全
  • 决战9小时,产品上线的危机时刻

    ? 游戏公司正在经历异常凛冽的寒冬,对于专注于游戏行业攻击的黑客们而言,同样也是隐匿于黑暗的潜伏期。随着版号的开放,黑客如同伺机而动的毒蛇开始发动DDoS勒索...

    腾讯云安全
  • React基础语法04-循环数组渲染数据的方法

    首先在this.state里面定义数组list: ['111', '222', '3333'], 写方法过滤,map循环遍历更改数组,返回一个li,把valu...

    王小婷
  • 如何通过设计思维创造更好的软件系统?

    对我们大多数人来说,“设计”这个词是对经典的思考。建筑风格的吸引力或漂亮汽车的吸引力,从美学的角度来看,汽车或家庭可能设计得很好,但它们可能不太适合自己的工作。

    程序你好
  • Java基础知识总结(异常机制、集合、JUC、IO)

        3)、第三个是异常信息回答了为什么被抛出。Throwable是所有异常体系的顶级父类,包含了Error类和Exception类。从概念角度分析Java的...

    别先生
  • ThreadLocal面试六连问,你能Hold住吗?

    中高级阶段开发者出去面试,应该躲不开ThreadLocal相关问题,本文就常见问题做出一些解答,欢迎留言探讨。

    黄泽杰
  • 哈希表问题-LeetCode 146、290、299、300(哈希表,双向链表,最小上升序列)

    运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作:获取数据 get 和 写入数据 put 。

    算法工程师之路
  • 设计思维面面观

    很多人都有一个误解,认为设计思维才刚刚兴起。实际上,人们对设计思维的运用已有年头:纪念碑、桥梁、汽车、地铁系统等都是其产物。纵观历史,优秀的设计师早通过以人为本...

    Shawn.W
  • Java Web之Tomcat调优

    Tomcat调优是一个老话题,目的都是为了提高站点的吞吐和并发。这里面涉及到Tomcat本身参数的优化和JVM优化。近期在研究JVM的参数设置和Tomcat集群...

    YungFan

扫码关注云+社区

领取腾讯云代金券