全面剖析DNS 0DAY攻击、威胁以及防治

发布者:系统管理员发布时间:2016-11-28浏览次数:805

如果你访问大型知名网站打开的却是病毒网站,如果你访问网银的官方网站打开的却是假冒网银页面,如果访问的是正规网站打开的却是色情网站……这些情况听起来不可思议,输入的网址是正确的为什么打开的却是其他网站呢?想知道这个黑客圈中的秘密吗?

本次曝光的DNS漏洞危害性非常大,该漏洞能够让黑客在10 秒之内发起一个“缓存毒药攻击”,轻松地伪造任何网站,比如当你输入一个正确的银行网站域名时,你可能访问到的是一个黑客伪造的站点。

小知识:

DNS 是域名系统 (Domain Name System) 的缩写。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

博弈主题:DNS 0DAY攻击

技术难度:★★★★

重点知识:DNS 0DAY攻击和威胁

由于该漏洞的利用细节被一名提前知情的黑客“意外”的写在了自己的博客上,因此很快就有黑客根据这些细节找到了漏洞并编写可以利用的攻击代码.由于该漏洞公布出来还不到一个月的时间,因此仍然有部分受到该漏洞威胁的设备和软件厂商没有发布补丁,这也将许多用户置于了危险的黑客攻击范围之中,因为从今以后没有人知道自己输入网址之后出现的网站是否是真实的,DNS突然让网络变得不可信起来。

此次的DNS漏洞并不是针对某一个操作系统或者软件的,而是可以广泛的应用于所有的DNS服务器中,不受操作系统等限制,因此包括Cisco、Apple、Linux等许多知名厂商的产品都或多或少会受到影响。

当DNS喝下“毒药”

在互联网中,DNS负责转换主机名为IP地址,是Internet连接系统中重要的操作,网络中每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。

通常我们在浏览网站的时候会直接输入网站的域名,但是互联网中的计算机并不能够依靠域名来实现链接,他们仍然需要IP地址来互相识别,因此DNS服务器就承担了将域名解析为IP地址的工作。

由于针对DNS请求的时序和带宽考虑,多数DNS服务器本地存储从其他DNS服务器接收到的应答,这些存储应答的区域成为缓存,一旦应答存储在缓存中,DNS服务器就可以在一段时间里(称为存活时间)使用本地存储的响应,直至下次查询DNS服务器重刷新应答拷贝。

DNS缓存毒药攻击就是更改DNS服务器的DNS缓存中的条目,导致缓存中与主机名相关的IP地址不匹配正确的位置。如www. antiy.com映射到IP地址192.168.0.1,成功进行DNS缓存毒药攻击后就可以将www. antiy.com映射到10.0.0.1。

此次的DNS漏洞主要是因为验证DNS响应的DNS事件ID和源端口号随机性不强,导致攻击者创建匹配的DNS请求伪造响应的难度下降,从而实现了可缓存攻击。

通常在DNS协议规定中包含一个16位的事务ID字段,如果正确实现这个规定并使用加强的随机数生成器使用事务ID,攻击者就需要平均32,768次尝试才能成功猜测到这个ID。但由于协议实现的缺陷,黑客可使用比较小的位数来处理这个事务ID,也就表示猜测数值将大大减少。