开发者学堂课程【互联网安全-DDoS 攻防原理及实战:DDoS 攻防之 DNS Flood】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/356/detail/4190
DDoS 攻防原理之 DNS Flood
内容介绍:
一、协议基础
二、HTTPS 攻击介绍
三、DNS FLOOD 成为 UDP 攻击趋势
四、针对授权域服务器的 DRDoS
五、DNS 攻击---反射攻击
一、协议基础
1.UDP 协议介绍
(1)UDP(User Datagram Protocol)不可靠的、无连接的服务,传输效率高(发送前时延小),一对一、一对多、多对一、多对多、面向报文,尽最大努力服务,无拥塞控制。
使用 UDP 的应用:域名系统(DNS);视频流;IP 语音(VoIP)。
(2)TCP 协议和 UDP 协议的特点:
TCP |
UDP |
|
可靠性 |
可靠 |
不可靠 |
连接性 |
面向连接 |
无连接 |
报文 |
面向字节流 |
面向报文(保留报文边界) |
效率 |
传输效率低 |
传输效率高 |
双工性 |
全双工 |
一对一、一对多、多对一、多对多 |
流量控制 |
有(滑动窗口) |
无 |
拥塞控制 |
有(慢开始、拥塞避免、快重传、快恢复) |
无 |
二、DNS请求&应答报文
DNS 构建在 UDP 协议之上,截图是 NDS 请求报文,左侧是 query DNS 请求,右侧是 response 应答报文。DNS 是一问一答的形式。
左侧查询了 www.sina.com.cn 的记录,右侧对这个域名的请求进行了应答
2.DNS 结构图
从客户开始,向代理到缓存服务器进行 DNS 请求,由缓存服务器向根服务器(迭代域服务器)发起迭代请求,DNS 参与迭代的过程,最后获取到 DNS 解析记录。
3.DNS 解析举例
Client 端向缓存 client DNS server 发起请求获取 www.abc.com 的 IP 地址,解析记录;
有些情况下,缓存 client DNS server 不知道,所以向跟域“.com”去查询www.abc.com 的 DNS Server 以及它的 IP;
跟域知道 www.abc.com 的 DNS Server 向缓存服务器发送 www.abc.com 的 DNS Server 及它的 IP 地址;
缓存服务器再次向 abc.com 二级域名 DNS Server 发送查询请求,由 abc.com DNS Server 返回发送 www.abc.com 的 IP 地址;
缓存服务器把 www.abc.com 的 IP 地址1.1.1.1存起来以备日后使用并发送到 client端。
三、DNS FLOOD 成为 UDP 攻击趋势
1.UDP 攻击源 IP 随机伪造难以追查。是一个不可靠的协议,不需要向 TCP 一样三次握手验证。一问一答可以随机构造很多请求。
2.UDP 协议承载的 DNS Flood 攻击。简单地说,越上层协议上发动的 DDoS 攻击越难以防御,因为协议越上层,与业务关联越大,防御系统面临的情况越复杂。
四、针对授权域服务器的 DRDoS
攻击者向海量的递归服务器发送请求,如果所有递归服务器都没有地址的话就会向他们的授权域服务器发起请求得到地址并保存。
全球有近1600万缓存服务器,如果都来查询那授权域服务器是扛不住的。
五、DNS 攻击---反射攻击
1.DNS 攻击--解析
小带宽攻击者用很小的流量模拟发送电子请求,原地址伪造为一个被攻击者的用户,DNS 服务器不知道攻击源是伪造的,会把 DNS 请求回给源 IP(其实现在已经是被攻击者 IP),回应与请求的比例达到数十倍甚至上百倍,图中是25倍,发送 4M 的请求得到 100M 的反射流量,扩大攻击能力,是现在 DNS 及其他方式中常用的反射攻击方式。
2.DNS 攻击--示例
抓包示例:
可以看到,源 IP 都是随机的,攻击 IP 打的是 DNS 协议,被攻击的地址被查询了域名。