软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络技术 > 安全防护 > DNS漏洞防不胜防 管理员应高度重视

DNS漏洞防不胜防 管理员应高度重视

日前IOActive的安全研究员Dan Kaminsky揭露了一个DNS安全漏洞,由于这是基于DNS本身的设计而造成的安全漏洞,Kaminsky日前在自己的部落格上这样写着:「现在放出的修补程序虽然有办法让攻击难度提高个几千倍,但是还是无法根本的解决这个问题。

  恶意攻击者将有办法透过这个漏洞来假冒DNS主要服务器(DNS Master Server),将使用者导向恶意攻击者假冒的网页。由于使用者端输入的网址是正确的,所以使用者会在毫无警觉性的状况下误入恶意网站,因而泄漏出各种个人数据,或是直接在假冒的网页被植入木马或是其它恶意程序。

  DNS网域劫持,可以影响所有网站

  由于这个漏洞最主要的问题是发生在DNS本身的设计上,这也使得所有的网站都有可能受到此一漏洞的影响。DNS全名是(Domain Name Service),是负责网址转译的机制,将网址转译为计算机可以识别的数字地址。举例来说,使用者如果在浏览器上输入一串「www.xxx.com」的网址,透过DNS转译,会成为像「192.168.255.255」这样的IP地址,让服务器和终端计算机可以识别,把使用者的流量导到正确的网站。

  一般来说,整个DNS运作的流程是这样的,DNS服务器存有网域名称比对的数据,当使用者要浏览某个网站时,计算机会发出一个UDP协议的请求到本地端的缓存DNS服务器(一般是电信商的缓存DNS服务器),等候缓存DNS服务器比对这个请求,如果缓存DNS服务器里面存有该网站地址的记录,就会把正确的网站IP地址转送给终端计算机,引导使用者连上正确的网站。若缓存DNS服务器没有此一地址,它会再进一步查询上一层的根目录DNS服务器或主要DNS服务器,找寻正确的地址,然后响应给使用者,引导进入正确的网站。缓存DNS服务器会将查询过的地址暂存下来,加快使用者连网时比对DNS的速度。

  由于UDP协议在设计上,不像TCP协议一般,包含有响应方与来源方的信息,在这样的状况下,DNS机制为了比对是由哪一台服务器发出查询的请求、哪一台服务器发出响应,会利用连接端口和一个称为TXID的16位识别码,作为联机辨识的依据,如此一来,即便2台DNS服务器使用相同的对外连接端口,也能透过TXID辨识出是由哪一台DNS服务器发出查询的请求。

  由此可知,TXID的识别对于DNS机制来说,非常重要,可以说是DNS服务器在查询时辨识其它服务器响应的主要依据,而此次被发现的漏洞,正是TXID这种设计本身的不足所造成。因为TXID本身只有16位的长度,恶意攻击者只要假造UDP封包的来源,欺骗使用者的暂存DNS服务器,就可以把该暂存DNS服务器下的所有使用者(数千,甚至是数万台终端计算机)流量,转至任何他想转到的网页。

  要欺骗暂存DNS服务器,恶意攻击者只需要做到2件事。一是设法让暂存服务器发出对外查询的请求;其二则是取得回应DNS服务器的TXID。第一点可以透过很多方式做到,第二点则就是本次发现漏洞的重点。

  Dan Kaminsky发现,攻击者可以用猜的。攻击者只要在真的DNS服务器发出回应给暂存DNS服务器之前,发出大量的UDP封包,逐号猜测TXID,猜中了,就能假冒成响应查询的DNS服务器,劫持网域,然后就能为所欲为了。以16位的长度来计算,这代表每一个攻击者发出的伪造UDP响应,都有65335分之1的机会猜中(但实际上,如果DNS服务器使用固定的连接端口,则攻击者成功的机会就更高)。也因为这是利用DNS设计上的漏洞,无论暂存DNS服务器使用的是哪一种DNS服务器软件,多数都会受到这种攻击的影响。

  还有5成DNS服务器未更新,企业可自行检测

  相关人员表示,这种劫持网域的攻击手法,并不是新的攻击手法,但是随着此一漏洞被发现,黑客组织已经释出了攻击的程序,让恶意使用者能以更简易的方式进行TXID的猜号,这的确是一个隐忧。

  由于这种攻击手法耗时良久,攻击者也必须伪造大量的UDP响应,目前还没有听过有传出任何灾情。他表示,企业如果想要防范这种攻击方式,可以安装各家DNS服务器厂商所放出的更新,安装更新将会大幅减少被此种手法攻下的机会,比如说动态TXID、随机连接端口等机制。

  此外,企业提供的网络服务,如果没有透过暂存服务器,也不会受到影响。

  不过,虽然更新已经释出,但更新的速度似乎并没有想象中快。

  Dan Kaminsky在7月初发表此一漏洞,根据他7月底在部落格上发表的追踪文章,目前全球至少还有52%的DNS服务器没有透过更新来遏止此一漏洞。

  那么,企业本身到底能做些什么呢?难道只能被动的等待ISP更新其DNS服务器?事实上,包括DNS-OARC、DNSstuff.com、Kaminsky网站,都已经提供在线的DNS漏洞检测工具,企业可以透过这些工具检查自己网络服务所使用的DNS服务器是不是还未更新,进而要求服务商更新,或是更新自己的DNS服务器。

  企业可先将内部使用的服务器更新,要完全杜绝需靠DNSsec

  此外,企业除了透过在线检测DNS漏洞工具检查,进而要求网络服务商或企业内部负责DNS服务器的人员更新外,企业内部的服务器也可以先做相关的更新。以微软为例,7月8日时就已经放出了包括Windows 2000、XP、Server 2003、Server 2008等系统平台的更新,微软的DNS服务器使用者可以直接使用Microsoft Update进行更新,单独更新则可安装MS08-037的安全修补程序;ISC BIND的DNS服务器使用者,可以更新至9.5.0-P1版本;RedHat、Fedora linux等DNS服务器的使用者,则可以直接透过yum update更新。除了这些厂商之外,多数的DNS服务器厂商也都已经推出更新,可以直接与厂商连系,寻求修补程序。

  要完全杜绝此一漏洞,现在看来安装DNSsec(DNS安全性扩充)会是一个好方案,DNSsec是一个针对DNS传送网域数据做金钥加密的扩充通讯协议,在DNSsec的规范中,每个区域都有用来加密与解密数字签章的私密金钥与公开金钥,用这样的方式,没有拥有金钥的恶意攻击者,即便用上述的攻击手法,也无法成功的假冒主要DNS服务器,这将能有效杜绝这种猜号的攻击模式。但是要使用DNSsec,牵涉到终端计算机必须支持,并且所有拜访网站的DNS服务器也都必须支持,短期间看来,还是一个不可能的任务。这也代表短期之内,恶意攻击者永远都有机会透过这个漏洞,对DNS服务器展开一场乐透猜号竞赛。
    相关阅读
    网友评论
    栏目导航
    推荐软件