dns缓存攻击:DNS缓存Cache中毒攻击原理

近来网络上出现史上最强大互联网漏洞——DNS缓存Cache漏洞此漏洞直指我们应用中互联网脆弱安全系统而安全性差根源在于设计缺陷利用该漏洞轻则可以让用户无法打开网页重则是网络钓鱼和金融诈骗给受害者造成巨大损失

  缓存Cache中毒攻击者(cache poisoning)给DNS服务器注入非法网络域名地址如果服务器接受这个非法地址那介绍说明其缓存Cache就被攻击了而且以后响应域名请求将会受黑客所控当这些非法地址进入服务器缓存Cache用户浏览器或者邮件服务器就会自动跳转到DNS指定地址







这种攻击往往被归类为域欺骗攻击(pharming attack)由此它会导致出现很多严重问题首先用户往往会以为登陆是自己熟悉网站WebSite而它们却并不是和钓鱼攻击采用非法URL区别这种攻击使用是合法URL地址

  另外个问题是成百上千用户会被植入缓存Cache中毒攻击服务器重定向引导至黑客设立圈套站点上这种问题严重性会和使用域名请求用户多少相关在这样情况下即使没有丰富技术黑客也可以造成很大麻烦让用户稀里糊涂就把自己网银帐号密码网游帐号密码告诉给他人

  用这种类似思路方法邮件系统也会受到黑客攻击只不过不是给Web服务器而是给邮件服务器非法地址从而让系统引导至受到控制邮件服务器中

  那么黑客究竟是如何做到使缓存Cache服务器接受非法地址呢?当个DNS缓存Cache服务器从用户处获得域名请求时服务器会在缓存Cache中寻找是否有这个地址如果没有它就会上级DNS服务器发出请求

  在出现这种漏洞的前攻击者很难攻击DNS服务器:他们必须通过发送伪造查询响应、获得正确查询参数以进入缓存Cache服务器进而控制合法DNS服务器这个过程通常持续不到秒钟因此黑客攻击很难获得成功

  但是现在有安全人员找到该漏洞使得这过程朝向有利于攻击者转变这是攻击者获悉对缓存Cache服务器进行持续不断查询请求服务器不能给和回应比如个黑客可能会发出类似请求:1q2w3e.google.com而且他也知道缓存Cache服务器中不可能有这个域名这就会引起缓存Cache服务器发出更多查询请求并且会出现很多欺骗应答机会

  当然这并不是说攻击者拥有很多机会来猜测查询参数正确值事实上是这种开放源DNS服务器漏洞公布会让它在10秒钟内受到危险攻击

  要知道即使1q2w3e.google.com受到缓存CacheDNS中毒攻击危害也不大没有人会发出这样域名请求但是这正是攻击者发挥威力地方所在通过欺骗应答黑客也可以给缓存Cache服务器指向个非法服务器域名地址该地址般为黑客所控制而且通常来说这两方面信息缓存Cache服务器都会存储

  由于攻击者现在可以控制域名服务器每个查询请求都会被重定向到黑客指定服务器上这也就意味着黑客可以控制所有域名下子域网址:www.bigbank.commail.bigbank.comftp.bigbank.com等等这非常强大任何涉及到子域网址查询都可以引导至由黑客指定任何服务器上



如何应对?

  为了解决这些问题用于查询UDP端口不应该再是默认53而是应该在UDP端口范围内随机选择(排除预留端口)

  但是很多企业发现他们DNS服务器远落后于提供网络地址转换(network address translation NAT)各种设备大部分NAT设备会随机选择NDS服务器使用UDP端口这样就会使得新安全补丁会失去效果IT经理也不会在防火墙中开放全方位UDP端口更严重有安全研究员证明即使提供64000UDP端口中随机选择保护DNS服务器也照样有可能受到中毒攻击

  现在是时候考虑保护DNS其他方案了UDP源端口随机化选择是种比较有用防护举措但是这会打破UDP源端口随机化给和DNS服务器保护同由此全方位开放端口面临风险或者降低防火墙性能这两者间平衡关系还有种比较有效防护措施就是当检测到面临潜在攻击风险时让DNS服务器切换到使用TCP连接

  如果攻击者猜测到了必要参数以欺骗查询响应那么就需要额外防御措施了这意味着DNS服务器需要更智能化能够准确分析每个查询响应以便剔除攻击者发送非法应答中有害信息

Tags:  无法清除dns缓存 清除dns缓存 dns缓存 dns缓存攻击

延伸阅读

最新评论

发表评论