您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 论DNS协议安全漏洞及防范
论DNS协议安全漏洞及防范姓名:苑中梁学号:2010063030029摘要本文分为3部分,首先对DNS的协议特点进行了分析,了解了DNS协议的工作原理,之后对DNS的漏洞进行了简要的分析,最后对这一漏洞的防范给出了建议。AbstractThepassageisdividedinto3parts,firstofallweanalysisthecharactersofDNSandgetaformalunderstandingaboutitthenwewillfindtheweakpointofDNS,andgetknowledgeaboutattackingDNS,intheend,wegivesomesuggestionswhichistoprotectDNSformattacking.前言21世纪以来,计算机网络渗透到了人类生活得方方面面,然而网络攻击等安全问题也开始逐渐进入人们视野,网络协议当初在编写时由于并未考虑身份认证等机制,使得其很容易被进行漏洞攻击,域名系统是一种分布在网络协议TCP/IP协议的分布式数据库,主要提供主机和IP地址的域名对应,从而方便用户更加方便的访问Internet。DNS是多种Internet应用的基础,如E-mail、、Telnet等。一旦DNS被入侵者控制,主机名及其IP地址之间的对应关系有可能被更改,从而造成主机遭受拒绝服务,或者网站被篡改等严重后果。因而如何保证DNS服务的可用,防范DDOS攻击成为了每一个网站搭建者要考虑的问题,本文就将从DNS的工作原理谈起,了解DNS的漏洞并且给出相关的防范措施。DNS(DomainNameSystem)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。在DNS进行解析前,其工作模式主要有2种,一种为ITERATIVE迭代。如果服务器查找不到对应的记录,会返回另一个可能知道结果的服务器的地址给查询的发起者,以便它向新的,服务器发送查询请求递归,另一种模式为recursive递归,当客户向服务器提出请求之后,从该服务器本地得到服务器发出请求直到得到查询结果或出现超时错误为止,相当于由收到递归请求的服务器来完成迭代查询中用户的工作。为了更加明显的理解DNS工作原理假如要查询(1)首先主机会向本地域名服务器发出请求,本地主机DNS服务器若存储有对应IP地址则直接返回主机,进行访问。(2)加入本地DNS服务器没有相关的记录,则向自己的根服务器发出迭代查询请求。(3)若根域名服务器无法解析则换回管理域cn的DNS服务器的IP地址。(4)本地服务器向管理域cn的DNS服务器发出迭代查询请求。(5)若授权管理cn域的DNS服务器无法在本地数据库中找到对应记录,则返回授权管理.uestc.edu.cn域的DNS服务器的IP地址。(6)本地服务器向管理.uestc.edu.cn域的DNS服务器发出迭代查询请求(7)若授权管理.uestc.edu.cn域的DNS服务器在本地数据库中找到的地址,否则返回超时错误信息。(8)本地DNS域名服务器返回此网站超时的记录。那么这种迭代进行查询的方式在安全性上是否足够有保障呢,实则不然,DNS服务在很多层面上并无身份认证设置,这使得DNS很容易就会被攻破实际生活中,DNS服务存在如下的漏洞:(1)NS没有提供认证机制:DNS服务本质上是通过客户/服务器方式提供域名解析服务,但它自己没有提供认证机制,查询者在收到应答时无法确认应答信息的真假,这样极易导致欺骗。同样地每一台DNS服务器也无法知道请求域名服务的主机或其他的DNS服务器是否合法,是否盗用了地址。(2)超高速缓存:由于DNS服务器实际上是在存储主机域名和IP地址的映射,这些是通过超高速缓存进行存储的,当一个服务器收到有关的映射信息,ip和对应主机,就会把他们存入到高速缓存中,下一次若再遇到相同的请求时,则直接调用高速缓存中存储的数据而不用访问根DNS服务器,这种映射基于高速缓存,以时间单位进行更新,这一方面成为它的特色,另一方面也成为弱点,由于正常映射的刷新时间都是有限的,因此一旦敌手在下次更新之前通过修改高速缓存的方式更改了映射,那么就可以方便的进行拒绝攻击了。(3)DNS服务器管理软件的漏洞:BerkeleyInternetNameDaemon(BIND)是人们熟知的一款广泛用于DNS服务器上的系统软件,具有广泛的使用基础,然而,来自DIMAP/UFRN即北格兰德联邦大学等诸多机构对BIND的几个版本进行了详细的测试,证明了在BIND4以及BIND8上存在着严重的软件BUG,攻击者可以利用此漏洞进行攻击。(4)有的时候在配置上存在失误:这也是很严重的一点,有的时候程序员防范意识不强,相关配置不注意,这很有可能将主机的IP地址等重要信息直接泄露给攻击者。那么DNS面临着什么样的攻击呢:(1)DDOS攻击:一个正常的DNS查询过程可能直接被敌手控制而成为一个DDOS攻击。假设攻击者已知被攻击机器的IP地址,然后攻击者使用该地址作为发送解析命令的源地址。这样当使用DNS服务器递归查询后,DNS服务器响应给最初用户,而这个用户正是被攻击者。那么如果攻击者控制了足够多的肉鸡,反复的进行如上操作,那么被攻击者就会受到来自于DNS服务器的响应信息DDOS攻击。(2)DNS缓存感染:攻击者通过一定的DNS请求将数据放入一个具有漏洞的的DNS服务器的缓存当中。这些缓存信息,在用户访问此DNS服务器寻求IP的时候将会直接返回,从而使得用户不能到达正确的网页,极易被引导进入敌手事先设计好的网站,或者通过伪造的邮件和其他的server服务获取用户口令信息,导致客户遭遇进一步的侵害。(3)DNS信息劫持:原则上来讲,TCP/IP协议严禁向内部添加仿冒数据,但是入侵者一旦监听到了用户和DNS服务器之间的通讯,了解了用户和DNS服务器的ID,敌手就可以在用户和真实的DNS服务器进行交互之前,冒充DNS服务器向用户发送虚假消息,将用户诱骗到之前设计的网站上。(4)DNS重定向:这种攻击危害极大,将用户直接恶意定向到敌手自己的DNS服务器上,从而直接把用户的域名接续服务完全控制。(5)本机劫持:通过木马等方式劫持计算机,干扰用户进行DNS解析,将用户引导至错误的IP。那么DNS攻击要怎么防范呢,其实根据DNS攻击的特点,我们可以总结出防范DNS攻击的方式:(1)严格的系统配置:例如,隐藏BIND的版本号,让敌手不能轻易查找到系统的漏洞,同时配置区域传送,防止相关信息外泄(2)使用双DNS服务器,在内部用一个DNS服务器,这个服务器不在上级进行登记,也就是说在Internet上不可见,当遇到IP查询请求时直接查询返回,如果查询不到则传递给外部DNS服务器,外部服务器询问后再传回来,之间架设防火墙。(3)使用双交叉检验:即当通过DNS服务器使用IP地址查询到了目的主机时,目的主机再次回查查询源IP地址,若两次查询均成功则进行通讯,若两次查询结果不一致,则很有可能遭受DNS攻击。著名的DNS攻击事件:(1)事件1:百度遇DDOS攻击事件2006年09月12日17点30分,有北京、重庆等地的网友反映百度无法正常使用,出现Requesttimedout)的信息。这次攻击使得百度搜索服务在全国各地出现了近30分钟的故障。近乎使得整个百度网站在一段时间内完全瘫痪。随后,百度技术部门及时反应,将问题解决并恢复百度服务。9月12日晚上11时37分,百度空间发表了针对不明攻击事件的声明。“今天下午,百度遭受有史以来最大规模的不明身份黑客攻击,导致百度搜索服务在全国各地出现了近30分钟的故障。”(2)事件2:新网DNS服务器遭到攻击2006年09月22日,新网对外做出证实DNS服务器遭到大规模黑客攻击,从21日下午4点多开始持续到凌晨12点。尽管目前服务已经恢复正常,但是技术人员正在追踪攻击来源,并分析攻击技术手段。新网是国内最大域名服务商之一,黑客持续8小时的攻击,导致在新网注册30%的网站无法正常访问。其中包括天空软件、艾瑞视点、中国网库等知名网站。(3)事件3:暴风影音事件2009年5月18日晚上22点左右,DNSPod主站及多个DNS服务器受超过10G流量的恶意攻击。耗尽了整个机房约三分之一的带宽资源,为了不影响机房其他用户,最终导致DNS服务器被迫离线。该事件关联导致了使用DNSPod进行解析的暴风影音程序频繁的发生域名重新申请,产生请求风暴,大量积累的不断访问申请导致各地电信网络负担成倍增加,网络出现堵塞。于2009年5月19日晚21时左右开始,江苏、安徽、广西、海南、甘肃、浙江六省陆续出现大规模网络故障,很多互联网用户出现访问互联网速度变慢或者无法访问网站等情况。在零点以前,部分地区运营商将暴风影音服务器IP加入DNS缓存或者禁止其域名解析,网络情况陆续开始恢复。参考文献:《电信科学》2005年02期-DNS安全问题及解决方案《协议的安全漏洞及其防范浅析》罗杰云五邑大学信息学院《科技广场》2011年09期-DNSSEC与DNS安全防范研究-《浅谈近年来最著名的DNS攻击》王璞《北京理工大学2011年硕士论文》DNS安全检测技术研究-张东良《基于DNS服务器漏洞攻击的防范》厉阳春人人公共主页----网络程序员维基百科---DNS
本文标题:论DNS协议安全漏洞及防范
链接地址:https://www.777doc.com/doc-5288213 .html