DNS服务是互联网的一项核心服务,通过使用DNS,人们在访问网络时不需要记住其IP地址,而只需输入其域名即可,在IPv6网络环境下,由于IP地址由原来的32位扩展到了128位,变得更加难以记忆,DNS服务也就变得更加重要,当DNS服务的可用性收到威胁时,互联网上的大量设备都会受到影响甚至无法正常运行,历史上曾有多次针对DNS的攻击事件,都造成了较大影响。
针对DNS服务的攻击方法主要有DNS QUERY洪水攻击和DNS NXDOMAIN洪水攻击两种
DNS QUERY洪水攻击
DNS查询和解析过程:当客户端向DNS服务器查询某域名时,DNS服务器会首先检查其本地缓存中是否有该域名的记录,如果缓存中有该域名的记录(即命中),则直接讲缓存中记录的IP地址作为非权威应答返回给客户端,如果在缓存中没有找到该域名的记录,则会进行迭代查询,从根域名开始,逐级进行域名解析,直到解析出完整的域名,之后服务器会将域名解析结果作为应答发送给客户端,并生成一条解析记录保存到缓存中。
在DNS解析的过程中,客户端发起一次查询请求,DNS服务器可能需要进行额外的多次查询才能完成解析的过程并给出应答,在这个过程中会消耗一定的计算和网络资源,如果攻击者利用大量受控主机不断发送不同域名的解析请求,那么DNS服务器的缓存会被不断刷新,而大量解析请求不能命中缓存又导致DNS服务器必须消耗额外的资源进行迭代查询,这会极大的增加DNS服务器的资源消耗,导致DNS响应缓慢甚至完全拒绝服务。
进行DNS QUERY洪水攻击的要点在于每一个DNS解析要求所查询的域名应是不同的,这样可以比较有效的避开NDS服务器缓存中的解析记录,达到更好的资源消耗效果。
DNS NXDOMAIN洪水攻击
DNS NXDOMAIN洪水攻击是DNS QUERY洪水攻击的一个变种攻击方式,区别在于后者是向DNS服务器查询一个真实存在的域名,而前者是向DNS服务器查询一个不存在的域名。
在进行DNS NXDOMAIN洪水攻击时,DNS服务器会进行多次域名查询,同时,其缓存会被大量NXDOMAIN记录所填满,导致响应正常用户的DNS解析请求的速度变慢,这与DNS QUERY洪水攻击所达到的效果类似,除此之外,一部分DNS服务器在获取不到域名的解析结果时,还会再次进行递归查询,向其上一级的DNS服务器发送解析请求并等待应答,这进一步增加了DNS服务器的资源消耗,因此,DNS NXDOMAIN洪水攻击通常比DNS QUERY洪水攻击的效果更好。
阿里云:阿里云2000元优惠券领取
腾讯云:腾讯云2860元优惠券领取