0x00 关于DRDOS反射***

作为DDOS,也有各种流派,有大力出奇迹的DDOS远控集群,有以巧取胜的反射放大,也有精巧的LOT僵尸网路。这里我们只讨论udp反射DRDOS.

DRDOS靠的是发送大量带有被害者IP地址的UDP数据包给放大器主机,然后放大器主机对伪造的IP地址源做出大量回应,形成分布式拒绝服务***。 ***往往会选择那些响应包远大于请求包的udp服务,这样就可以四两拨千斤。

***流程

要完成一次反射放大***:可以简化成下面三个环节。

作为***者,需要伪造IP。发送海量伪造来源的请求。未采取BCP38的机房。(firewall rules and uRPF)

作为反射服务器:需要满足2个条件,第一上面运行着容易放大的udp协议,指的就是那些使用不当或设计不当的udp服务,能够满足特定条件下,响应包远远大于请求包。第二个条件就是,该协议或服务在互联网上有一定的使用量,比如dns,ntp等基础服务。

受害者,由于ddos的意图,受害者一般是金融,游戏,政治等目标。不过也有单纯搞破坏或炫技的。

常见协议

上图是近三个月来,打反射ddos比较流行的协议,数据来源于360网络安全研究院。 可以看到,NTP,DNS等古老的协议,依然占据反射ddos的半壁江山。 这里比较新颖的是9.29号时,cldap的***数量暴涨,且大部分***的来源端口都是26383。所以有可能是地下***的一次实战测试,或是地下市场的ldap***工具开始流传.

***强度

上图是近年来比较大型的DRDOS***数据,可以看到放大的流量是越来越大,现在是动辄上百G,而放大的协议有DNS,NTP等古老的协议,也有比较新型的SSDP,CLDAP,MSSQL等。

但***强度是怎么计算的呢?决定因素又是什么?

一般是用pps和bps这2个指标来比表示DDOS的***强度。

pps: packets per second (每秒的数据包个数,主要是消耗服务器,网关,路由等设备的CPU性能)

bps: bits per second (每秒的带宽量,单位是小b,主要是消耗带宽,通常约定按bps表示强度)

比如阿里云被D,发现有邮件告诉你遭到了5G的混合DDOS,已友情将你的ip黑洞。 而腾讯云被D,有时候会短信告诉你遭到了100wPPS的DDOS,已友情将你的服务器进行清退。

而对DRDOS的***强度,主要是由放大器数量和放大强度决定的。

$$BPS = Amplifiers * Amplification Factor ( 1 )$$

我们这里有个不严谨的公式,就是Spoof带宽不受限制时,单一DRDOS的***强度和放大器数量乘以平均放大倍数成正相关的。

放大系数(Amplification Factor)

根据我们上面的公式,***流量是由放大倍数和放大器的数量决定的。 我们先看一看常见协议放大倍数。 NTP,557倍,CHARGEN 358倍,DNS和LDAP都是50倍左右,ssdp是30倍。 但这些放大倍数,是怎么得出的呢?下面我们简单分析下背后的原理:

1. ntp是123端口校对时间的服务。放大参数是monlist,主要用于监控 NTP 服务器,可以同步的最后 600 个客户端的 IP,响应包是请求包的500多倍。所以放大倍数就是响应包大小/请求包大小。(也有另外一种计算方法,传输层的大小也计算进去)

2. 而Ldap是未授权的用户,可执行一些基本的请求,如查询组织机构,最后造成了55倍的放大效果。

放大器数量(Amplifiers)

上图是全网不同类型的的放大器数量。数据来源于某机构,扫描时间是今年10月。 放大器千万级的有sip,百万级的有dns.ntp,rpc,ssdp等。

结合之前实际***比例可以发现,ntp和dns由于海量的分布,所以***占比非常高。 而分布较少的ldap,mssql等,由于出色的放大倍数和优良的网络,实际***也有不错的效果,

***策略和条件

结合前面的数据,我们可以发现,实际***要么是利用放大倍数高的协议,要么是用分布广泛的基础服务。通过监控放大器数量和更新放大倍数(比如新型协议支持,DNS的edns),我们就可以得到大概的***强度.

为了提高反射放大的流量。我们可以采取以下策略。

我们可以研究那些通用的UDP协议,这样就可以获取海量的放大器。

然后就是挖掘放大倍数高的协议,这样就可以以最小的成本获得最好的反射效果。

当放大器和放大倍数都到达瓶颈后,我们就需要更高的带宽来发送伪造请求包,这里可以全球分散部署这些服务器。

0x01 关于Memcache

定义

Memcached它是基于一个存储键/值对的内存对象缓存系统,常用于动态Web应用以减轻数据库负载。性能优越,在互联网上使用量巨大。

常见***面

从协议看,memcache同时监听tcp和udp。且数据接口容错性强,tcp上有很多***f***的案例。另外由于支持udp,天然满足了反射ddos***条件。

另外我们注意到:memcache大部分是作为企业应用的组件,常常具有很高的上传带宽。

而最重要的是memcache不需要认证就可以随意交互。

而很多用户编译安装时,错误的监听了0.0.0.0,且未设置iptables或云安全组。

放大系数

在我们的调试之下,memcache的放大倍数可以稳定在5w倍以上,最高达到50w倍。

***链

扫描端口和服务

抓取指纹,获取未认证的memcache

过滤出可以反射回来的udp memcache

0x02 实战***

全网memcache放大器预估

shodan搜索查看  从tcp协议上看,Memcache全网开放的主要分布在中美,其次是香港,法国,日本,印度等。开放的数量为116534,在10w级别左右。

exploit

进行一系列的操作后,获取可以成功放大的memcache主机ip。

***强度和演示

我们随机选择了一台可利用的主机(digital ocean),进行ddos放大测试,ddos目标为我们的aws ec2(扛D),发现反射流量最大达到了700m/s,稳定在500m/s. 而全网可以利用的主机数量在5w以上。 而仅仅是memcache这样一个协议,就可以造成很可观的放大效果,像这样的协议其实还有很多。

最大***效果计算:

100M(企业服务器的平均上传流量,主要为国外) * 5w <= 5T (上1T应该是没问题的)

0x03 影响范围

Top 20 ASN 信息

从asn信息上看,可简单分为下面四类:

– ec2: aliyun,tencent,aws,azure,google cloud

– vps: digital ocean,linode,vultr,godaddy

– dedicated server: ovh,online

– idc: 一些idc。

从市场份额上看:

– 同属于云服务器的亚马逊和阿里云差别很大。亚马逊市场份额全球第一,阿里云全球第三,而阿里云的受影响主机数目是aws的15倍。我们分析主要有2个原因:1. aws的vpc做的非常方便,且默认存在,形成了一个安全的私有云网络组,进行了网络隔离,只开放有限的端口。而阿里云在vpc的研发过程中,经典网络作为一种过渡,在引导用户的过程中,可能有些许不当,很多用户往往会选择`0.0.0.0`完全开放,在主机上也不会设置iptables等。当然也可能是由于租户的的安全习惯,会觉得网络安全组很麻烦,安全意识也比较低,所以有了这后面的风险。针对云服务,应该还是要遵循租户完全隔离,最小权限2个基本原则。

– 针对ec2和vps对比可以看到,vps是受影响的重灾区,因为其架构了就没有一个完整或方便的vpc和网络安全组,即使有,如vultr等,为了用户的方便,也不是默认要求,会设置成作为可选的高级选项。所以网络隔离对安全事件的防御使尤为重要的。这点上亚马逊的lightsail同为vps,却做的非常好,默认有vpc,且可以很方便的与ec2,rdp等服务合并或分离vpc。

– 针对独立服务器(dedicated server),不管是硬件还是软件上,做安全组都是很不方便的,所以基本无安全组,数据上看ovh和online都是份额很低,但是可利用的主机却排在前列。

– idc这一块,国内idc在数据上比较突出,可以反映出国内厂商的安全架构和意识,还有企业的acl策略等,都亟待提高。

TOP 20 地理分布

从国家分布上看:

中美都是名列前茅,因为其体量和基数都是比较全世界份额比较高的,

Shodan tcp 开放主机数量上,美国第一,中国第二,但受影响的数量上却是相反的,说明美国对udp的一些服务还是有防御的,可以看出我们安全体系和架构,还有运维能力和意识上,都有不少的差距。

0x04 缓解措施和总结

Memcache 使用者

memcache的用户建议将服务放置于可信域内,有外网时不要监听0.0.0.0,有特殊需求可以设置acl或者添加安全组。

为预防机器扫描和***f等***,可以将memcache的监听端口随机改为其他的。

鼓励用户升级到最新版本的memcache,并且使用SASL设置密码来进行权限控制。

网络层防御

网络管理员应确保监控和防御来自UDP端口11211的入站流量。

打击***源:互联网服务提供商不应该允许在他们的网络上执行IP欺骗。IP欺骗DRDOS的根本原因。具体措施可以参考BCP38。

ISP(互联网服务提供商) 应允许他们的客户使用BGP flowspec来限制入站UDP11211的流量,以减轻大型DRDOS***期间的拥塞。

开发者

开发人员不应该在没有仔细考虑UDP放大问题的情况下,推出自己的UDP协议。

转载于:https://blog.51cto.com/jschu/2084846

旧瓶装新酒——memcache作为DRDOS反射放大器相关推荐

  1. DRDoS(memcache漏洞导致的反射型分布式拒绝服务攻击)

    一.DDoS基础 见博文:DDoS攻击与防御 二.Memcached 反射DDOS攻击原理 反射DDOS是发送大量带有被害者IP地址的请求给反射服务器,反射服务器对IP地址源做出大量回应,形成拒绝服务 ...

  2. 基于Memcached的DRDos的研究与攻击复现

    [声明]本文仅作学习研究之用,欢迎一起探讨,请勿发动恶意攻击,否则后果自负! 核弹级DDoS攻击肆掠全球 进入3月,春天到了,万物复苏,又到了动物交配的季节!咦!不对不对,我要说什么来着..O(∩_∩ ...

  3. 哪种修复redis未授权访问漏洞的方法是相对不安全的_关于Linux挖矿、DDOS等应急事件处置方法...

    前言 从去年六月份到现在做的应急响应.事件分析大大小小的做了数百个,主要遇到的有挖矿.DDoS.短信接口盗刷.用户接口泄漏.越权信息获取.挂黑页.删数据等.本文只针对自己做的应急响应中的挖矿和DDoS ...

  4. DDoS***如此猖獗,我们该如何解决?

    网络安全始终是人们讨论的热点话题,对于互联网企业而言:无安全.无生存. 网易云易盾的产品架构师高洪亮 在***日益泛滥的今天,如何保障企业安全成为了大家研究的热点.4月14日架构和运维技术高峰论坛上, ...

  5. 基于知识图谱的DNS Query Flood攻击检测研究

    摘要: 摘要: 针对具有成本低廉.破坏性大.防御困难特性的DNS Query Flood攻击,本文构建UDP请求的知识图谱.基于攻击者通过发送大量伪造源IP地址的小UDP包冲击DNS服务器实施攻击的原 ...

  6. 知名技术社区连续三天遭 DDos 攻击,高达 20 万次/秒请求

    By 超神经 内容提要:知名技术创意社区 V2EX,最近连续三天遭到 DDoS 攻击,攻击源来自 200 多个国家/地区的 IP,攻击至今尚未停止. 关键词:V2EX DDoS V2EX 连续三天被 ...

  7. 2016 JSAC Towards Energy-Efficient Routing in Satellite Networks 阅读报告

    引用:Yang Y, Xu M, Wang D, et al. Towards energy-efficient routing in satellite networks[J]. IEEE Jour ...

  8. 旁路部署是什么?它是如何解决大型数据中心的DDOS防护问题的?

    随着DDoS攻击越来越频繁的威胁到基础业务系统和数据安全,把DDoS防护的需求交给专业的服务提供企业是现在普遍的防护手段.通常大型数据中心都会使用旁路部署技术来应对:抗拒绝服务产品可以不必串联在原有网 ...

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

    本周,阿里云安全DDoS监控中心数据显示,利用Memcached 进行DDoS攻击的趋势快速升温.今天, 阿里云已经成功监控和防御一起流量高达758.6Gbps的Memcached DDoS反射攻击. ...

  10. begin end会产生事务吗_无线信号放大器会产生同频干扰吗?

    先简单介绍一下同频干扰:在对讲系统中,当两个基站相距几十公里,而且其频率相同时,其相邻覆盖区会存在同频干扰.如图所示: 主要原因有两点: 1.      由于基站的频率稳定度只有10的-6次方,即频率 ...

最新文章

  1. 40个出色的Wordpress cms插件
  2. Java语言中的生僻知识
  3. IT人的学习方法论-2 学习的误区
  4. MY_SQLCode
  5. C#实现水晶报表绑定数据并实现打印
  6. mysql数据库 数据类型自动编号选哪个_MySQL表类型、选择合适数据类型、字符集...
  7. Spark基础学习笔记01:初步了解Spark
  8. Sliverlight变换特性
  9. 十大PHP程序员必备工具
  10. 数分下(第2讲):二阶线性微分方程的解法
  11. endnote插入参考文献
  12. 学习笔记10:程序设计基础(C)实验(函数)
  13. Java连rabbitMQ 报错 An unexpected connection driver error occured
  14. gsensor方向调试【转】
  15. 正则表达式:密码必须为8~16位非空字符,并包含大小写字母、数字、特殊字符
  16. 如何免费获取IEEE论文,亲测有效,【分享给有需要的人】
  17. vue+iView实现导入与导出excel功能
  18. perl范围声明our,my,local
  19. Henry捡钱 Java 动态规划
  20. uniapp图片详情

热门文章

  1. JAVA日志框架与日志系统
  2. 食堂配送公司订餐微信小程序开发制作定制功能需求文档
  3. 钓鱼网站与反钓鱼技术剖析(圆桌会议)
  4. 火车头采集html5游戏,火车采集器7.6-火车头数据采集平台1.6教程
  5. R_Studio(关联)对Groceries数据集进行关联分析
  6. ds5100更换电池 ibm_IBMDS5100更换电池
  7. 完美世界:你病了,要么离职,要么996,要么小黑屋三选一
  8. html语言中%3cp%3e%3cbr%3e,求一段弹出窗口代码
  9. 对txt文件的高频词汇统计
  10. java实验——回文是一种“从前向后读”和“从后向前读”都相同的字符串,如“上海自来水来自海上”。设计一个程序,判断字符串是否是回文。