0x00概述
全球DDoS网络攻击次数不断增长,反射攻击次数也是逐年上升,笔者在之前撰写的文章《史上最大DDoS攻击"之争"》中提到的几次”最大”攻击,都是以CLDAP为主的反射攻击。
除了CLDAP反射攻击外,SSDP、NTP等反射攻击也是历年来最为流行的攻击类型,最近几年不断有新的攻击类型被发现,行业内监测到的反射类型有50多种,其中智云盾团队针对其中12种做了首次技术分析和攻击预警。
0x01反射攻击态势
DDoS攻击峰值和攻击频率不断增高,反射攻击的占比从2017年的21%,增长到2021年接近50%,下图展示了DDoS攻击次数与反射攻击增长的趋势。
图1 DDoS攻击与反射攻击趋势(数据来源:百度安全年报)
统计2021上半年DDoS攻击类型占比,udp反射攻击拥有高达38.85%的占比,相较于2020年同期上升明显。
图2 2021上半年攻击类型占比
统计反射攻击类型TOP6的数据,SSDP、NTP、SNMP、Memcache、DNS和CLDAP是最为活跃的反射攻击。
图3 2021上半年反射型攻击TOP6
其中CLDAP是近年来较火的攻击类型,业内披露的多次T级以上的超大攻击,都有CLDAP攻击的参与,CLDAP协议广泛应用于Windows服务器的活动目录服务(AD),反射放大倍数超过70倍。
0x02反射攻击原理
原理如下图所示:
图4 反射攻击原理示意图
图中攻击者Attacker伪造了请求包Pva发送到反射服务器Amplifiers(简称A),但Pva的源IP是受害者Victim(简称V),所以A响应的时候发送Pav给到V,Pav往往是Pva的好几倍,甚至是成千上万倍。
反射攻击一方面隐藏了黑客IP,同时还有一个重要特征是放大攻击流量。
1)隐藏黑客IP
黑客实施攻击时,不是直接攻击受害者IP,而是伪造受害者IP的大量请求发给相应的开放服务,相应服务将大量的恶意流量发送给受害者,这样就产生的隐藏了发送者真实身份的效果。
有一种情况是国内三大运营商的边缘网络或路由器会检查源IP,对不是同一网络的IP出向包进行丢弃。
针对这种情况,黑客会在使用相应手段储备攻击资源,下图展示了BillGates木马收集的过程。
图5 BillGates木马
上图中序号19、20两个包中红色打码的是BillGates木马用真实IP收发心跳包,序号21和22是木马伪造不同的IP段发包,payload中记录了真实IP。木马收到请求包后根据payload是否包含真实IP来确定哪些IP段可以用于伪造。
BiillGates木马通过收发心跳包来确定哪些IP段是可以将伪造的请求顺利通过边缘网络或路由器发到主控端。
2)放大攻击流量
反射攻击流行的另一个重要原因是反射服务带有放大效果,这些服务使用的协议通常不对来源请求进行安全性校验,直接响应数倍乃至数万倍于请求的数据包,例如我们熟知的Memcache反射攻击,最大的放大倍数可达十几万倍。
很多知名的服务都可以用作反射攻击,如:NTP、SNMP,行业内监测到的50多种攻击类型中就有21种利用了物联网协议,7种游戏协议,16种网络服务以及6种私有协议,这些反射攻击的放大倍数少则几倍,多则高达十几万倍,这些反射攻击的放大倍数少则几倍,多则高达十几万倍,甚至payload为空的的情况下,也能响应超量数据包。
0x03攻防对抗
我们在长期与DDoS黑客”打交道”中,提炼出一套高效准确的研究识别方法,该方法包括两个方面:
1)监测防御系统
智云盾在全球部署了大量节点,包含一些蜜罐节点,可以有机会观测到反射攻击的全过程。
图6 新型反射攻击发现
当黑客伪造的反射请求对监控系统进行攻击时,监测节点实时上报攻击事件到威胁中心,向全网节点下发采集被攻击IP地址的指令,深度包分析程序根据IP对应关系提取黑客使用新型反射攻击的请求指令。
使用这种方法,我们识别了多个新型反射攻击类型,如CoAP、PMDP等反射攻击,但是由于资源有限,仍然有许多新型类型难以识别。于是我们提出了基于协议模板fuzz的反射源攻击手法自动化探测方法。
2)基于协议模板fuzz的反射源攻击手法自动化探测方法
使用RFC协议库,构建协议模板库,通过fuzz算法生成大量的反射请求数据包。对于捕获到大量响应包的反射攻击,通过协议模板库,fuzz识别协议类型,精准生成协议类型。
图7生成反射请求包
识别协议时:
- 如果协议载荷为文本——可打印的ASCII字符,选择简单协议分类的模版库进行比对,采用文本相似性算法
- 如果协议载荷为复杂协议——二进制数据和偶尔包含的人可读的ASCII字符串,选择复杂协议的模版库进行比对,采用二进制结构相似性算法。
使用基于生成generation-based的fuzz技术,对生成的协议进行文本建模,基于模型生成请求数据包。这样能够高效的获取新型反射攻击的请求指令。
3)研究成果
自2018年首次发现IPMI反射攻击以来,我们累计挖掘出12种新型反射放大攻击,同时也对业内流行的TCP反射攻击进行过深入研究,下表展示了我们近年来在反射攻击领域的研究成果。
0x04反射攻击汇总
黑客在寻找新的攻击方式上不再拘泥于传统公共服务,而是对暴露在公网,并且具备一定规模的UDP服务都尝试利用作为反射源。我们结合了自己的研究成果以及查阅多方资料,对反射攻击类型进行了总结,结果如下表:
注:表格科学倍数数据为安全专家计算得出,部分数据结合业内披露的信息,未查询到相关信息的部分留白
0x05防御措施
反射攻击都是互联网上开放服务参与的,作为这些开放服务的运营者应遵循以下防御措施避免成为DDoS反射攻击的帮凶。
- 能使用TCP的服务,尽量不要启用UDP服务
- 必须使用UDP服务时,应启用授权认证
- 使用UDP服务无法启用授权认证时,应确保响应与请求的倍数不要大于1
- 增强自身应对恶意请求的能力,及时封禁恶意IP
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。