前言
DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。僵尸网络也会控制一大批肉鸡进行DDOS攻击,在暗网上可以买到很大的攻击流量,破坏受害者的正常服务,这些都比较常见了。但是还存在一种比较特殊的Dos攻击,这种攻击的成本很低,不需要肉鸡,只需要利用某些正常服务,就可以给受害者返回海量的数据,对正常业务造成很大的影响,这就是反射型DDOS(放大攻击)。威胁情报划分此类攻击比较有争议,这些IP上运行的是正常的服务,可以他们又被攻击者恶意利用,给受害者的服务的稳定性带来挑战,360威胁情报针对此类的IP有标签NTP/DNS
。
常见的放大攻击
NTP/DNS反射放大
- NTP是网络时间协议 NTP基于UDP报文进行传输,使用的UDP端口号为123。
- DNS域名解析协议 使用端口号为53
无论是基于 DNS 还是基于 NTP,其最终都是基于 UDP 协议的。在 UDP 协议中正常情况下客户端发送请求包到服务端,服务端返回响应包到客户端,但是 UDP 协议是面向无连接的,所以客户端发送请求包的源 IP 很容易进行伪造,当把源 IP 修改为受害者的 IP,最终服务端返回的响应包就会返回到受害者的 IP。这就形成了一次反射攻击
Memcache反射攻击
- 使用UDP 11211
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
攻击者向端口11211 上的 Memcache 服务器发送小字节请求。由于 UDP 协议并未正确执行,因此 Memcache 服务器并未以类似或更小的包予以响应,而是以有时候比原始请求大数千倍的包予以响应。由于 UDP 协议即包的原始 IP 地址能轻易遭欺骗,也就是说攻击者能诱骗 Memcache 服务器将过大规模的响应包发送给另外一个 IP 地址即 DDoS 攻击的受害者的 IP 地址。这种类型的 DDoS 攻击被称为“反射型 DDoS”或“反射 DDoS”。响应数据包被放大的倍数被称为 DDoS 攻击的“放大系数”。Memcache协议的放大倍数可达5w倍。
阅读文章
Memcache放大
ATT&CK矩阵
网络拒绝服务: 反射放大
https://attack.mitre.org/techniques/T1498/002/
解决方案
DNS协议
- 不允许未经请求的DNS响应
当一个响应到达时候,如果没有相应的请求通过,回应就被丢弃。这种机制能够有效地缓解DDos攻击影响。
- 丢弃快速重传的数据包
如果从相同IP地址发送至同一目标地址的相同查询请求发送频率过高,那么数据包可丢弃。
- 如果DNS服务器已经发送了响应信息,应禁止服务器在较短时间间隔内对相同的查询请求信息进行响应——启用TTL
一个合法的DNS客户端在收到响应后都会缓存信息,直到缓存过期都不会重复请求
Memcache协议
1、更改默认端口,链接外网时不要所有IP可以连接,可以添加防火墙策略。
2、Memcache新版本支持SASL认证
参考链接:
[1] DNS反射攻击解决方案 https://www.aqniu.com/learn/14769.html