徐淼
摘 要 在当今的数字经济时代,网络安全十分重要。本文主要论述了DNS的欺骗攻击原理,分析了DNS欺骗攻击的局限性,并给出了一些防范建议。
关键词 DNS 欺骗攻击 域名解析
中图分类号:TP309 文献标识码:A
1 DNS概述
DNS的全称是Domain Name Server即域名服务器,当一台主机发送一个请求要求解析某个域名时,它会首先把解析请求发到自己的DNS服务器上。DNS的功能是提供主机名字和IP地址之间的转换信息。DNS服务器里有一个“DNS缓存表”,里面存储了此DNS服务器所管辖域内主机的域名和IP地址的对应关系。
2 DNS工作原理
例如,客户需要访问www.dhs.com时,首先要知道www.dhs.com的IP地址。客户主机获得www.dhs.com的IP地址的唯一方法就是向所在网络设置的DNS服务器进行查询。
查询过程分四步进行,如图1所示。
图1中有三台主机:客户主机、nipc.com域DNS服务器和dhs.com域DNS服务器。其中nipc.com域DNS服务器直接为客户主机提供DNS服务。
3 DNS欺骗的原理
当客户主机向本地DNS服务器查询域名的时候,如果服务器的缓存中已经有相应记录,DNS服务器就不会再向其他服务器进行查询,而是直接将这条记录返回给用户。
而入侵者欲实现DNS欺骗,关键的一个条件就是在DNS服务器的本地Cache中缓存一条伪造的解析记录。
在图1中,假如dhs.com域DNS服务器返回的是经过攻击者篡改的信息,比如将www.dhs.com指向另一个IP地址5.6.7.8,如图2所示。nipc.com域DNS服务器将会接受这个结果,并将错误的信息存储在本地Cache中。
以后在这条缓存记录的生存期内,再向nipc.com域DNS服务器发送的对www.dhs.com的域名解析请求,所得到的IP地址都将是被篡改过的。有了对DNS服务器进行欺骗的可能,攻击者怎样伪造DNS应答信息就成了问题的焦点。
4 DNS欺骗的局限性
DNS欺骗是一种比较古老的攻击方法,自身不但有着比较大的局限性,而且现在大多数DNS服务器软件,都有防御DNS欺骗的措施。DNS欺骗主要存在两点局限性:
4.1攻击者不能替换缓存中已经存在的记录
例如,如果在202.98.8.1这个DNS上已经有了一条www.dhs.com/222.222.222.222的对应记录,那么入侵者试图替换这条记录是不可能的,也就是说,攻击者不可能修改已经存在的记录。但是在DNS服务器中一些记录可以累加。如果在DNS的缓存中已经存在一条www.dhs.com/222.222.222.222的对应记录,攻击者可以向缓存中再放入另一条伪造的记录www.dhs.com/11.11.11.11。这样在DNS服务器中就有两条www.dhs.com的解析记录,客户主机查询时,服务器会随机返回其中一个,这样就只有50%几率实现DNS欺骗。
4.2 DNS服务器存在缓存刷新时间问题
在DNS应答报文里有一个字段生存时间(TTL)用来设定客户程序保留该资源记录的秒数。如果缓存中记录的TTL为7200,那么DNS服务器会把www.dhs.com的域名解析信息缓存7200秒,即两个小时。假如攻击者放入一条TTL为259200的记录,那么这条记录将会在缓存中保存三天时间。也就是说,DNS欺骗的有效时间是与缓存中记录的TTL相关的,一旦超过缓存有效时间,除非重新构造缓存记录,否则DNS欺骗会自动失效。
5总结
通过分析了DNS欺骗攻击的局限性,在配置DNS服务器的时候应注意,使用最新版本DNS服务器软件并及时安装补丁;关闭DNS服务器的递归功能:DNS服务器利用缓存中的记录信息回答查询请求或是DNS服务器通过查询其它服务器获得查询信息并将它发送给客户机,这两种查询方式称为递归查询,这种查询方式容易导致DNS欺骗。限制区域传输范围:限制域名服务器做出响应的地址、限制域名服务器做出响应的递归请求地址、限制发出请求的地址。
参考文献
[1] 孔政,姜秀柱.DNS欺骗原理及其防御方法[J].计算机工程,2010(2).
[2] 董新科,邢雨,高维银.DNS网络安全系统分析与设计[J].计算机安全,2010(6).
[3] 李基,杨义先.DNS安全问题及解决方案[M].北京:北京邮电大学信息安全中心,2005.