DNS缓存漏洞
了解缓存中毒攻击
近来,网络上出现史上最强大的互联网漏洞——DNS缓存漏洞,此漏洞直指我们应用中互联网脆弱的安全系统,而安全性差的根源在于设计缺陷。利用该漏洞轻则可以让用户无法打开网页,重则是网络钓鱼和金融诈骗,给受害者造成巨大损失。
缓存中毒攻击者(cachepoisoning)给DNS服务器注入非法网络域名地址,如果服务器接受这个非法地址,那说明其缓存就被攻击了,而且以后响应的域名请求将会受黑客所控。当这些非法地址进入服务器缓存,用户的浏览器或者邮件服务器就会自动跳转到DNS指定的地址。
这种攻击往往被归类为域欺骗攻击(pharmingattack),由此它会导致出现很多严重问题。首先,用户往往会以为登陆的是自己熟悉的网站,而它们却并不是。与钓鱼攻击采用非法URL不同的是,这种攻击使用的是合法的URL地址。
另外一个问题是,成百上千的用户会被植入缓存中毒攻击的服务器重定向,引导至黑客设立的圈套站点上。这种问题的严重性,会与使用域名请求的用户多少相关。在这样的情况下,即使没有丰富技术的黑客也可以造成很大的麻烦,让用户稀里糊涂的就把自己网银帐号密码,网游帐号密码告诉给他人。
用这种类似的方法,邮件系统也会受到黑客攻击。只不过不是给Web服务器,而是给邮件服务器非法地址,从而让系统引导至受到控制的邮件服务器中。
那么,黑客究竟是怎么做到使缓存服务器接受非法地址呢?当一个DNS缓存服务器从用户处获得域名请求时,服务器会在缓存中寻找是否有这个地址。如果没有,它就会上级DNS服务器发出请求。
在出现这种漏洞之前,攻击者很难攻击DNS服务器:他们必须通过发送伪造查询响应、获得正确的查询参数以进入缓存服务器,进而控制合法DNS服务器。这个过程通常持续不到一秒钟,因此黑客攻击很难获得成功。
但是,现在有安全人员找到该漏洞,使得这一过程朝向有利于攻击者转变。这是因为攻击者获悉,对缓存服务器进行持续不断的查询请求,服务器不能给与回应。比如,一个黑客可能会发出类似请求:1q2w3e.google.com,而且他也知道缓存服务器中不可能有这个域名。这就会引起缓存服务器发出更多查询请求,并且会出现很多欺骗应答的机会。
当然,这并不是说攻击者拥有很多机会来猜测查询参数的正确值。事实上,是这种开放源DNS服务器漏洞的公布,会让它在10秒钟内受到危险攻击。
要知道,即使1q2w3e.google.com受到缓存DNS中毒攻击危害也不大,因为没有人会发出这样的域名请求,但是,这正是攻击者发挥威力的地方所在。通过欺骗应答,黑客也可以给缓存服务器指向一个非法的服务器域名地址,该地址一般为黑客所控制。而且通常来说,这两方面的信息缓存服务器都会存储。
网友评论