宝哥软件园

DNS欺骗攻击是什么意思?如何检测和防范DNS欺骗攻击?

编辑:宝哥软件园 来源:互联网 时间:2021-09-01

DNS欺骗攻击是什么意思?如何检测和防范DNS欺骗攻击?,DNS欺骗是攻击者冒充域名服务器的行为。那么,如何才能防止DNS被欺骗呢?下面小编以DNS ID欺骗为例,介绍DNS欺骗攻击的原理及其防护方案。

DNS欺骗攻击是什么意思?如何检测和防范DNS欺骗攻击?

  前言:

域名系统是一个分布式数据库,它将域名和IP地址相互映射。DNS是网络应用的基础设施,其安全性对互联网的安全有着决定性的影响。

  一、DNS SERVER的服务工作过程

域名系统是实现域名和IP地址转换的系统。它的工作原理是在它们之间进行映射,相当于起到了翻译的作用,所以被称为域名解析系统。域名系统分为服务器和客户端,服务器的通用端口为53。当客户端向服务器发送解析请求时,本地DNS服务器首先查询自己的数据库是否有需要的内容,如果有,则发送响应数据包并给出相应的结果;否则,它将查询下一个域名系统服务器。这样,查询将继续进行,直到找到相应的结果或将查询失败信息反馈给客户端。如果本地域名系统服务器找到信息,它会先将其保存在本地缓存中,然后向客户发送回复。我们日常使用浏览器申请域名到IP地址的解析,即客户端向DNS服务器提交域名翻译申请,希望得到对应的IP地址。这里以作者所在学院为例,说明DNS的工作原理。

比如客户端的地址是10.252.2.16,学校的DNS服务器是218.30.19.40。从这个客户端,访问Xi财经大学的网站。在地址栏中输入学校网站的www.xaufe.edu.cn,通过DNS服务器找到其对应的IP地址。应用程序从10.252.2.16的随机端口发送,应用程序由218.30.19.40的53绑定端口接收和翻译。首先在218.30.19.40的缓存中搜索www.xaufe.edu.cn的IP地址,如果有对应的映射关系,则直接发送给客户端。如果不在缓存中,218.30.19.40将查询上层DNS服务器,最后将查询结果发送给218.30.19.40。最后,218.30.19.40将把Xi财经大学的IP地址(281.195.32.1)返还给客户端10.252.2.16。这样,10.252.2.16就可以连接到Xi财经大学的网站并访问。

  二、DNS欺骗攻击原理

2.1欺骗原则

根据域名系统消息的标识,客户端的域名系统查询请求和域名系统服务器的回复包相互对应。执行域名解析时,客户端首先向DNS服务器发送一个带有特定标识号的域名解析包,该标识号是随机生成的。当域名系统服务器发现结果时,它使用这个标识向客户端发送回复数据包。客户端收到响应包后,会将收到的标识与请求包的标识进行比较。如果相同,则表示接收到的数据包正是它所需要的。如果不同,它会丢弃响应数据包。根据攻击者的查询和响应原理,可以使用不同的方法来实现攻击,例如:

(1)由于DNS Message只使用一个简单的认证码来实现真实性验证,该认证码由Client程序生成,由DNS Server返回,客户端只使用这个认证码来识别响应是否与应用查询匹配,这就使得对id认证码的攻击成为可能。

(2)可以在DNS请求消息中添加信息,这些信息不一定与客户端应用的查询内容相关,因此攻击者可以根据自己的目的在请求消息中添加一些虚假信息,例如添加其他域服务器的域名和IP地址。此时,客户端在被攻击的域服务器上的查询应用全部转向攻击者之前在请求消息中添加的假域服务器,从而产生DNS欺骗,对网络构成威胁。

(3)当DNS服务器收到域名和IP地址之间映射的数据时,会将其保存在本地缓存中。如果客户端请求再次查询该域名对应的IP地址,域服务器会将映射信息从缓存回复给客户端,而不会在数据库中再次查询。如果黑客将DNS请求消息的存在周期设置得很长,就可以欺骗很长时间。

2.2域名欺骗攻击的方式

常见的DNS欺骗技术有两种:内部攻击和序列号攻击。内部攻击,即黑客控制域名系统服务器后,改变其域名数据库的内容,并为特定域名分配一个虚假的IP地址。当客户端请求查询这个特定域名的IP时,会得到一个假的IP。

序列号攻击是指伪装的DNS服务器先于真实的DNS服务器向客户端发送回复数据消息,消息中包含的序列号ID与客户端发送给真实DNS服务器的请求包中包含的ID相同,因此客户端会收到伪造的消息,丢弃延迟到达的真实消息,从而成功欺骗DNS ID序列号。客户端获取的假消息中提供的域名的IP是攻击者设置的IP,会将客户端带到攻击者指定的站点。

2.3 DNS序列号欺骗攻击原理

域名系统序列号欺骗是基于检测标识和端口。在Switch构建的网络中,攻击者首先对目标实施ARP欺骗。当客户端、攻击者和DNS服务器在同一个网络中时,攻击流程如下:攻击者反复向目标发送伪造的ARP请求报文,修改目标机器的ARP缓存内容,同时通过IP延续使数据通过攻击者流向目的地;攻击者利用Sniffer软件检测DNS请求包,获取ID序列号和Potr(2)一旦攻击者获得ID和Potr,他会立即向客户端发送虚假的DNS请求消息。客户端收到后,验证ID和Potr是否正确,认为收到了合法的DNS响应;但客户端获取的IP可能会被转到攻击者诱导的非法站点,威胁客户端的信息安全;客户端再次收到来自DNS服务器的请求消息,被客户端丢弃,因为它落后于错误的DNS响应。当客户端访问攻击者指向的假IP时,就完成了域名欺骗。

  三、DNS欺骗检测和防范思路

3.1检测思路

当域名系统欺骗发生时,客户端将收到至少两条回复数据消息,它们都包含相同的标识序列号,一条是合法的,另一条是伪装的。根据这一特点,有两种检测方法:

(1)被动监测和检测。也就是监视和检测所有的DNS请求和响应消息。一般情况下,DNS Server对一个请求查询只发送一条回复数据消息(即使一个域名和多个ip之间存在映射关系,那么一条消息中也会回答多个关系)。因此,如果一个请求在有限的时间内收到两条或更多的响应数据消息,则怀疑它遭受了DNS欺骗。

(2)主动启发式检测。即主动发送认证数据包,检查是否存在DNS欺骗。通常,发送身份验证数据包时不会收到回复。然而,黑客不会检查DNS服务器的IP合法性,并继续欺骗,以便在合法的回复数据包到达客户端之前向客户端发送欺骗信息。如果收到响应数据包,则表示它已被欺骗。

3.2预防理念

检测到网络中可能存在DNS欺骗攻击后,防范措施如下:(1)利用IP地址直接在客户端访问重要站点,避免DNS欺骗;对DNS服务器和客户端的数据流进行加密,服务器可以使用SSH加密协议,客户端使用PGP软件实现数据加密。

对于常见的ID序列号欺骗攻击,使用专业软件在网络中进行监控和检查。短时间内,如果客户端收到两个以上的响应数据包,则表明可能存在DNS欺骗攻击。将后面的合法数据包发送到DNS服务器,并修改DNS数据,以便下次查询应用程序时获得正确的结果。

  四、DNS防护方案

4.1绑定IP地址和MAC地址

(1)防止ARP欺骗攻击。由于DNS攻击的欺骗行为是从ARP欺骗开始的,如果能有效防止或避免ARP欺骗,就无法启动DNS ID欺骗攻击。例如,网关路由器的Ip地址和MAC地址可以静态绑定在一起,以防止ARP攻击欺骗。

(2)DNS信息绑定。域名系统欺骗攻击使用被更改或伪装成域名系统服务器的IP地址,因此也可以使用媒体访问控制地址和IP地址的静态绑定来防止域名系统欺骗。每个网卡的MAC地址都是唯一的,所以DNS服务器的MAC地址可以绑定到它的IP地址,然后绑定信息存储在客户端网卡的Eprom中。每次客户端向DNS服务器发送查询申请时,都会检测DNS服务器响应包中的MAC地址是否与Eprom内存中的MAC地址相同。如果是不同的,很有可能这个网络中的DNS服务器会受到DNS欺骗的攻击。这种方法有一些缺点,因为如果局域网中的客户端主机也保存了域名系统服务器的媒体访问控制地址,它仍然可以使用媒体访问控制地址进行欺骗攻击。

4.2使用数字密码区分

在不同子网的文件数据传输中,为了防止信息被窃取或篡改的发生,可以使用任务数字签名(TSIG)技术,即在主从域名服务器中使用相同的Password和数学模型算法,在数据通信过程中进行识别和确认。由于密码验证机制,很难伪装主从服务器的身份状态,加强了域名信息传输的安全性。

安全性和可靠性更好的域名服务是域名系统安全(DNSSEC),它使用数字签名来区分搜索中的信息源并检查数据的完整性。DNSSEC的规格可参考RFC2605。因为设置域的时候会生成密码,而上层的域名也必须进行相关的域密码签名,显然这种方法非常复杂,所以互联网域名管理到现在还没有使用。但是在技术层面,DNSSEC应该是建立和解析域名最完善的方式,对于防范域名欺骗攻击等安全事件非常有效。

4.3优化DNS服务器的相关项目设置

DNS服务器的优化可以使DNS的安全性达到更高的标准。常见的工作如下:对不同子网使用物理上分离的域名服务器,以获得DNS功能的冗余;物理隔离外部和内部域名服务器,使用转发器。外部域名服务器可以查询任何客户端的应用程序,但转发器不能。转发器设置为只接收内部客户端的应用查询;采取技术措施限制DNS动态更新;限制区域转移到授权设备;区域传输的数字签名和交易签名的区域更新;隐藏服务器上的绑定版本;删除DNS服务器上运行的不必要的服务,如FTP、telnet、Http使用网络外围的防火墙和DNS服务器来限制对DNS功能所需的那些端口的访问。

4.4直接使用IP地址访问

对个人信息安全级别有严格要求的网站应尽量不使用DNS进行解析。由于很多DNS欺骗攻击都是针对窃取客户的隐私数据,而大多数用户访问的网站都不涉及这些隐私信息,因此在访问有严格保密信息的网站时,无需DNS解析就可以直接使用IP地址,这样就可以避免DNS欺骗攻击带来的一切可能的危害。此外,还要做好DNS Server的安全配置,升级DNS软件,合理限制DNS Server响应的IP地址范围,关闭DNS Server的递归查询项目。

4.5监控域名系统数据包

在域名系统欺骗攻击中,客户端将收到至少两个域名系统数据响应数据包,一个是真实数据包,另一个是攻击数据包。为了在真实回复包之前回复客户端,欺骗攻击包的信息数据结构与真实包相比非常简单,真实包只有回复域,但不包括授权域和附加域。因此,通过监控DNS响应包,我们可以根据相应的原理和模型算法区分这两种响应包,从而避免虚假数据包的攻击。

以上说明了DNS欺骗攻击的原理及其防护方案。应用上述方案将大大提高域名系统的安全性和可靠性。希望边肖的分享能对大家有所帮助!

更多资讯
游戏推荐
更多+