DNS解析是互联网中一项非常重要的功能,是用户访问网站的关键环节,我们日常工作生活使用网络都伴随着大量的DNS服务做支撑。DNS将用户容易记忆输入的域名指向可由计算机直接识别的IP地址,是确保用户通过域名访问网站,维持网络空间正常秩序的导航系统。
但DNS在设计之初只注重实用性和便捷性,而忽视了安全性,DNS查询过程通常是基于无连接不可靠的UDP协议,这就导致DNS查询过程中验证机制的缺失,黑客很容易利用该漏洞进行攻击。DNS服务器可能面临如下DNS攻击风险:
(1)黑客伪造客户端源IP地址发送大量的DNS请求报文,造成DNS request flood攻击。
(2)黑客伪造成授权服务器发送大量的DNS回应报文,造成DNS reply flood攻击。
(3)黑客篡改某些网站的域名和IP地址对应关系,导致用户访问被导向至其他网站。
(4)黑客向DNS服务器发送大量错误格式的DNS异常报文,或者发送大量超长DNS报文,导致DNS服务器处理这些报文时出现异常,拒绝正常服务。
接下来我们重点介绍常见的一些DNS攻击以及相应的防御措施。
DNS Request Flood 攻击与防御
DNS request
flood攻击原理非常简单,就是黑客通过控制僵尸网络向DNS服务器发送大量域名的解析请求,导致DNS服务器因大量解析请求而过载,无法响应正常用户的DNS请求。
在DNS request
flood攻击过程中,攻击目标可能是权威服务器,也可能是递归服务器,攻击目标不同,所采用的防御手段也不同。对于递归服务器,向它发送DNS请求的是终端用户,所以防御过程中,需要判定这个DNS请求是否是由真实的浏览器客户端发出;而对于权威服务器,向它发送DNS请求的可能就是递归服务器,所以认证方式也应有所不同。
1.针对虚假源攻击
授权服务器源认证(即ns重定向方式),可以有效防御DNS Request
Flood虚假源攻击。重定向只针对访问受攻击域名的源IP地址实施,以减少误判和避免对正常业务的访问延时。
基于目的地址对DNS Request报文的速率进行统计,当DNS request报文的速率超过阈值时,启动重定向。
(1)返回给请求源一个别名地址,如果请求源是虚假源,则不会回应重定向报文,认证不通过报文丢弃。
(2)如果请求源是真实源,则重新请求发送的重定向地址。认证通过将此真实源加入白名单。
(3)再次重定向正确的地址,请求源重新请求正确地址,报文命中白名单,直接放行到达授权服务器,完成报文交互。
2.针对真实源攻击
如果是真实源攻击,经过上述防御过程后,通过的DNS报文还很大,则可以继续采用以下方式进行防御。
(1)DNS请求报文限速:对于大流量的DNS request flood攻击是一种非常有效的防御方式。
(2)DNS request报文限速源IP行为控制,丢弃超出阈值的DNS request报文。
(3)另外还需要对异常DNS报文进行检查,将非标准格式的DNS报文直接丢弃。
DNS Reply Flood 攻击与防御
DNS服务器收到DNS回应报文时,不管自己有没有发过解析请求,都会处理这些DNS回应报文。DNS
reply flood攻击是黑客发送大量的DNS回应报文到DNS缓存服务器,导致缓存服务器因为处理这些DNS回应报文而耗尽资源,影响正常业务的过程。
DNS reply flood大多都是虚假源攻击,黑客控制僵尸主机发出的DNS
reply报文的源IP地址通常都是伪造的,是不存在的,所以在防御的时候,就可以从回应源IP地址的真假性入手,判定这个源IP是否是真实源。
针对DNS reply flood攻击的应对方式主要有:
1.DNS reply报文限速
DNS reply报文限速对于大流量的DNS Reply
flood攻击是一种非常有效的防御手段,主要分为对指定域名限速和对指定IP限速两种,分别将匹配了指定域名和指定IP的DNS
reply报文进行限速,将超过阈值的DNS reply报文直接丢弃处理。
2.异常DNS报文的检查
除DNS reply报文限速外,还可以针对异常DNS报文进行检查,从而过滤掉恶意的DNS请求数据。
(1)DNS报文格式:对DNS报文格式进行检查,将非标准的DNS报文直接丢弃。
(2)DNS报文长度:通常情况下,基于UDP协议的DNS协议长度都不大于512字节,而很多DNS
flood经常采用超大DNS报文以造成链路堵塞,因此可以将报文长度作为检测DNS报文是否正常的一个标准,当DNS报文长度超过阈值时,直接将DNS报文丢弃处理
。
(3)DNS报文的TTL值
将DNS报文的跳数限制在DNS报文允许跳数范围内,当DNS报文的跳数超出阈值时,直接丢弃该DNS请求报文。
此外,还有一种升级版的DNS reply flood攻击,它的破坏性更强,这就是DNS反射攻击。
黑客将自己的源IP地址伪造成被攻击目标的IP地址,然后向网络中开放的DNS服务器发送大量的查询请求。
由于DNS回应报文通常是请求报文的几倍甚至几十倍,这些放大后的DNS回应报文被引导至被攻击目标,导致网络拥塞,拒绝正常服务器,从而达到放大攻击的效果。
DNS反射攻击和前面介绍的传统DNS reply flood攻击有两点本质的不同。
(1)传统DNS reply flood攻击的攻击目标一般是DNS缓存服务器;而DNS反射攻击的攻击目标一般是客户端。
(2)传统DNS reply flood攻击大多是虚假源攻击,而在DNS反射攻击中,DNS请求报文都是真实的,DNS回应报文也都是真实的。
DNS 缓存投毒攻击
在实际的DNS解析过程中,当用户对某个域名发起请求时,递归服务器首先会查看自身的DNS缓存,如果缓存中恰好有该域名的记录,就会直接将结果返回给用户,用户对所得的IP地址发起访问。如果缓存中没有记录,才会发起全球解析查询。
这种查询机制,缩短了解析查询的时间,可以让用户获得更快的访问体验,但也存在一定的安全风险。如果攻击者通过控制用户的主机或者使用恶意软件攻击用户的DNS缓存,就可以对DNS缓存中的域名映射关系进行篡改,将域名解析结果指向一个虚假IP。
在这种情况下,用户对该网站发起请求时,通过DNS系统的解析会直接将虚假的映射关系返给用户,将用户引导至虚假站点之上,从而造成信息泄露,财产安全受到影响。
针对DNS缓存投毒,主要有以下几种应对措施:
1.使用可信的ISP或DNS服务器
由于用户的计算机通常会直接使用ISP所提供的DNS服务器。因此,尽量选择信誉良好且配备了全面安全措施的ISP,才能有效预防缓存投毒。如果不放心ISP提供的默认DNS服务器的话,也可以自行改用其他可信的DNS服务器,以减少受攻击的可能性。
2.刷新DNS缓存
为了获取最新的DNS解析记录,预防遭受DNS缓存投毒攻击,用户可以定期对自己的系统进行DNS缓存清理工作,操作方法:Win+R快捷键→输入:cmd→输入:ipconfig/flushdns→回车。
3.复查访问过的目标网站
虽然计算机会机械地认为,只要你输入的网站URL没错的话,它访问到的就是真实的IP地址。但是我们可以更谨慎地检查访问的网站是否是目标网站,检查网页的地址栏上是否有HTTPS加密,以及它的界面是否看起来可疑。一旦发现自己访问的是虚假网站,立即退出该网站,并执行病毒扫描和DNS缓存刷新。
4.重新启动路由器以清除其DNS缓存
我们常用的路由器也可能带有自己的DNS缓存功能,它们和上面提到的用户计算机以及DNS服务器一样,容易受到DNS投毒的攻击。因此,定期重启路由器,将有利于清除已有的DNS缓存,并重新获取新的映射记录。
由器以清除其DNS缓存**
我们常用的路由器也可能带有自己的DNS缓存功能,它们和上面提到的用户计算机以及DNS服务器一样,容易受到DNS投毒的攻击。因此,定期重启路由器,将有利于清除已有的DNS缓存,并重新获取新的映射记录。
网络安全学习路线
这是一份网络安全从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aqxV3iJ-1691466746699)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑
阶段一:基础入门
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lUKcuC3D-1691466746700)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
网络安全导论
渗透测试基础
网络基础
操作系统基础
Web安全基础
数据库基础
编程基础
CTF基础
该阶段学完即可年薪15w+
阶段二:技术进阶(到了这一步你才算入门)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bnp58R1T-1691466746701)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
弱口令与口令爆破
XSS漏洞
CSRF漏洞
SSRF漏洞
XXE漏洞
SQL注入
任意文件操作漏洞
业务逻辑漏洞
该阶段学完年薪25w+
阶段三:高阶提升
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKa9Fkdh-1691466746702)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
反序列化漏洞
RCE
综合靶场实操项目
内网渗透
流量分析
日志分析
恶意代码分析
应急响应
实战训练
该阶段学完即可年薪30w+
阶段四:蓝队课程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bPYhRz5l-1691466746703)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
蓝队基础
蓝队进阶
该部分主攻蓝队的防御,即更容易被大家理解的网络安全工程师。
攻防兼备,年薪收入可以达到40w+
阶段五:面试指南&阶段六:升级内容
需要上述路线图对应的网络安全配套视频、源码以及更多网络安全相关书籍&面试题等内容
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
同学们可以扫描下方二维码获取哦!