DNS 安全威胁调研报告

DNS 安全威胁调研报告 隐私泄露NSEC 行走隐藏主服务器D(DoS)攻击主服务器攻陷存储区损坏信息更改辅服务器攻陷解析器攻陷主机渗入DNS 安全威胁数据损坏系统损坏客户端攻陷恶意软件过分自由的附加

DNS 安全威胁调研报告 隐私泄露NSEC 行走隐藏主服务器

D(DoS)攻击主服务器攻陷

存储区损坏信息更改辅服务器攻陷

解析器攻陷主机渗入DNS 安全威胁数据损坏系统损坏客户端攻陷恶意软件过分自由的附加信息递归开放协议问题固定端口号

查询预测弱ID 算法不安全的网络路径特制数据包系统/应用程序崩溃针对DNS 服务器

资源耗尽

拒绝服务

核心设施针对网络基础设施DoS 攻击服务器端设施

客户端设施

,

一、 缓存窥探(Cache Snooping)

DNS 缓存窥探是一个确定某一个资源记录是否存在于一个特定的DNS 缓存中的过程。通过这个过程攻击者可以得到一些信息,例如解析器处理了哪些域名查询,等等。

DNS 递归服务器接收到一个没有设置递归位的域名查询,当它对该查询进行响应时,就会为一个远程攻击者提供一次窥探的机会,使攻击者能够确定最近该服务器对哪些域名进行了解析,更进一步,有哪些主机或站点被访问过。因此,通过DNS 缓存窥探,攻击者可以发现例如B2B 商业伙伴、网络用户行为模式、外部邮件服务器等重要信息。

防范建议:

1. DNS 递归服务器应该只允许本地用户的访问。由于缓存的局部性原理,允许处于不同网络的用户访问本地的缓存本身就没有意义。

2. 不允许非权威的请求。例如,DNS 缓存服务器(仅有缓存的DNS 服务器实现)应尽力通过拒绝对非递归查询进行响应来防止缓存窥探。另一种选择是在响应非递归查询时避免访问缓存。

3. 递归服务器从权威服务器获取记录以及其对应的TTL 时,随机地对TTL 增加或减少很小的一段时间,这样,仅利用递归查询就不可能进行DNS 缓存窥探。

二、 重放攻击(Replay Attack)

由于DNSSEC 方案的设计中缺少一种“签名撤销”机制,使得部署了DNSSEC 的DNS 服务器仍有遭受到“DNS 重放攻击”的可能。如图1所示:

,

图1 DNS重放攻击原理

在t 0时刻,RRset 1产生并且被签名。签名中包含生存期,指出在t 2时刻该签名过期。在t 1时刻RRset 1的值被修改(例如,主机IP 地址的更改),则之后被修改的RRset 1会被同步到所有的权威服务器并且当递归服务器缓存中的TTL 过期后,存储在缓存中的之前的RRset 1的值也会被清除。然而,在t 2时刻到来即签名过期之前,攻击者可以继续用之前那个旧的RRset 1响应解析器。解析器在收到已无效的RRset 1之后,将会检验还未过期的签名,并错误地认为该记录是有效的。

防范建议:

在DNSSEC 方案部署过程中加入“签名撤销”机制。

三、 社会工程攻击(Social Engineering Attack)

社会工程攻击是一种利用" 社会工程学" 来实施的网络攻击行为。社会工程学是一种利用人的弱点如人的本能反应、好奇心、信任、贪便宜等弱点进行诸如欺骗、伤害等危害手段,获取自身利益的手法。现实中运用社会工程学的犯罪很多。短信诈骗如诈骗银行信用卡号码,电话诈骗如以知名人士的名义去推销诈骗等,都运用了社会工程学的方法。

近年来,更多的黑客转向利用人的弱点即社会工程学方法来实施网络攻击。

,

利用社会工程学手段,突破信息安全防御措施的事件,已经呈现出上升甚至泛滥的趋势。最近流行的免费下载软件中捆绑流氓软件、免费音乐中包含病毒、网络钓鱼、垃圾电子邮件中包括间谍软件等,都是近来社会工程学的代表应用。

防范建议:

社会工程攻击不属于传统信息安全的范畴,传统信息安全办法解决不了非传统信息安全的威胁。一般认为,解决非传统信息安全威胁也要运用社会工程学来反制社会工程攻击。

四、 域名劫持(Domain Name Hijacking)

域名劫持通常是指,通过采用黑客手段控制了域名管理密码和域名管理邮箱,然后将该域名的NS 纪录指向到黑客可以控制的DNS 服务器,然后通过在该DNS 服务器上添加相应域名纪录,从而使网民访问该域名时,进入了黑客所指向的内容。如图2所示。

图2 域名劫持

值得注意的是:域名被劫持后,不仅网站内容会被改变,甚至可以导致域名所有权也旁落他人。如果是国内的CN 域名被劫持,还可以通过和注册服务商或注册管理机构联系,较快地拿回控制权。如果是国际域名被劫持,恰巧又是通过国际注册商注册,那么其复杂的解决流程,再加上非本地化的服务,

会使得夺回

,

域名变得异常复杂。

域名劫持的具体实施步骤如下:

1. 获取劫持域名注册信息:首先攻击者会访问域名查询站点,通过MAKE CHANGES 功能,输入要查询的域名以取得该域名注册信息。

2. 控制该域名的E-MAIL 账号:此时攻击者会利用社会工程学或暴力破解进行该E-MAIL 密码破解,有能力的攻击者将直接对该E-MAIL 进行入侵行为,以获取所需信息。

3. 修改注册信息:当攻击者破获了E-MAIL 后,会利用相关的MAKE CHANGES 功能修改该域名的注册信息,包括拥有者信息,DNS 服务器信息等。

4. 使用E-MAIL 收发确认函:此时的攻击者会在信件账号的真正拥有者之前,截获网络公司回溃的网络确认注册信息更改件,并进行回件确认,此时攻击者成功劫持域名。

防范建议:

1. 在技术上解决,应遵循DNS 使用最佳惯例:

a) 在不同的网络上运行分离的域名服务器来取得冗余性。

b) 将外部和内部域名服务器分开(物理上分开或运行BIND Views)并使

用转发器(forwarder )。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能。这可以限制哪些DNS 服务器与Internet 联系。

c) 可能时,限制动态DNS 更新。

,

d) 将区域传送仅限制在授权的设备上。

e) 利用事务签名对区域传送和区域更新进行数字签名。

f) 隐藏运行在服务器上的BIND 版本。

g) 删除运行在DNS 服务器上的不必要服务,如FTP 、telnet 和HTTP 。 h) 在网络外围和DNS 服务器上使用防火墙服务。将访问限制在那些DNS

功能需要的端口/服务上。

2. 在组织上解决,应让注册商承担责任:

a) 要求注册商拿出书面的、可执行的政策声明。将“如果需要转移域名,

注册商必须及时与用户联系”的条款写入书面文件。

b) 锁定域名。要求注册商在得到解锁口令或其他身份信息后才允许转移。 c) 用户需使保存在注册商那里的正式联系信息保持最新状态。

d) 选择提供24/7服务的注册商,这样他们可以在发生违规事件时迅速

采取行动。

e) 若发现未经授权的转移,立即与有关注册商联系。

f) 如果问题仍未解决,与域名注册机构联系,如果在拿回自己的域名时

仍遇到问题,与ICANN 联系。

g) 如果拥有一个大型的域,那就像Google 那样,成为自己的注册商或

自己的转销商,控制属于自己的所有域名。

五、 缓存中毒(或DNS 欺骗)(Cache Poisoning or DNS

Spoofing )

域名欺骗的方式有多种多样,但其攻击现象就是利用控制DNS 缓存服务器,把原本准备访问某网站的用户在不知不觉中带到黑客指向的其他网站上,其实现方

,

式可以通过利用网民ISP 端的DNS 缓存服务器的漏洞进行攻击或控制,从而改变该ISP 内的用户访问域名的响应结果。或者黑客通过利用用户权威域名服务器上的漏洞,如当用户权威域名服务器同时可以被当作缓存服务器使用,黑客可以实现缓存投毒,将错误的域名纪录存入缓存中,从而使所有使用该缓存服务器的用户得到错误的DNS 解析结果。缓存中毒对于普通用户而言,危害很大,而且非常难于防范,在目前的DNS 攻击中非常常见。

关于缓存中毒有很多手段和方法,下面列举几种比较典型的手段。

方法一:直接攻陷一个域名服务器,假设为A ,然后向其他的DNS 服务器发送域名解析请求,且请求的域名属于A 负责的域,并且要求采用递归请求,那么其他的DNS 服务器就会向A 提出查询请求,询问A 的IP 地址,由于A 已经被攻击者控制,所以就回送一个假的IP 地址,这样,正常的DNS 缓存中就存放了假的IP 地址。

方法二:生日攻击,其出现的原因是“生日悖论”。“生日悖论”得名于一个能产生奇怪现象的数学模型,即如果有23人在一起,那么很有可能其中的两人有相同的生日。而生日攻击正是利用这一特点,向一台域名服务器发出同一个域名的查询请求的同时,也发送大量的该域名的回应报文,但是其transaction ID 是不同的,从而就有很大可能使该域名服务器受骗。

方法三:侦听DNS 服务器发出的查询请求,猜测其transaction ID,从而在他发出某个请求后,立刻给出回应。

方法四、本地主机(攻击者)至少与DNS 服务器或客户端主机中的某一台处在同一个局域网内,攻击者可以通过ARP 欺骗来实现可靠而稳定的transaction ID 欺骗。

,

防范建议:

1、 反向查询。对于自己发出的查询请求得到的IP 地址,再进行一次反向查询,如果得到的域名和自己查的域名一致,则认为是对的,否则认为是被改写,通知相关人员检查该域名的权威服务器。缺点是并不是所有的DNS 服务器都支持反向查询。

2、 缓存中毒往往把TTL 值设置很大。TTL>=12h,要进行关注,缺点是易受攻击的网站本身就是一些TTL 值很大的网站。

3、 缓存中毒的对象一般是银行网站、搜索网站、热门的新闻网站等等,可以自行记录这些IP 地址,即自学习域名IP 地址对应表,如果查询到的IP 地址与这个IP 地址不一样,就认为返回信息不可靠。

4、 被动监听检测:如果对于一个查询报文,有两个或多个应答,则怀疑有欺骗,正常的请求应该只有一个服务器应答,而且只回一次。

5、 部署DNSSEC 。

六、 中间人攻击(Man in the Middle Attack)

中间人攻击,是攻击者冒充域名服务器的一种欺骗行为,它主要用于向主机提供错误DNS 信息。

执行中间人攻击的方法有很多,在这里介绍一种称为DNS ID欺骗的技术。每个通过互联网发送的DNS 请求都包含一个独特的识别码,其目的在于辨识查询和响应,并将对应的查询和响应配对在一起。这就意味着,如果攻击计算机可以拦截目标设备发送的DNS 查询,只需要做一个包含该识别码的假数据包,这样目标计算机就会根据识别码而接受查询结果。可以分两个步骤来完成整个操作。首先,对目标设备进行ARP 缓存中毒攻击以重新路由通过攻击主机的目标设备的通信,这样攻击者就能够拦截DNS 查询请求,然后就能够发送欺骗性的数据包。

,

这样做的目的是为了让目标网络的用户访问攻击者制造的恶意网址而不是他们试图访问的网址,如图3所示。

图3 DNS中间人攻击

防范建议:

DNS 中间人攻击是很难防御的,因为这种攻击大多数本质都是被动的。通常情况下,除非发生攻击,否则用户不可能知道DNS 已经被欺骗,只是用户打开的网页与想要看到的网页有所不同。在很多针对性的攻击中,用户都无法知道自己已经将网上银行帐号信息输入到错误的网址,直到接到银行的电话告知其账号已购买某某高价商品时用户才会知道。这就是说,在抵御这种类型攻击方面还是有迹可循:

1. 保护内部设备:像这样的攻击大多数都是从网络内部执行攻击的,如果网络设备很安全,那么那些感染的主机就很难向设备发动欺骗攻击。

2. 不要依赖DNS:在高度敏感和安全的系统,

网络用户通常不会在这些系统

,

上浏览网页,最后不要使用DNS 。如果用户的软件依赖于主机名来运行,那么可以在设备主机文件里手动指定。

3. 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP 缓存中毒攻击和DNS 中间人攻击。

4. 使用DNSSEC 。

七、 分布式拒绝服务攻击(DDoS Attack)

DNS 服务器作为“受害者”:

DoS 的攻击方式有很多种,最基本的DoS 攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。DDoS 攻击手段是在传统的DoS 攻击基础之上产生的一类攻击方式。单一的DoS 攻击一般是采用一对一方式的,当攻击目标CPU 速度低、内存小或者网络带宽小等等各项性能指标不高的时候,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS 攻击的困难程度加大了,因为攻击目标对恶意攻击包的" 消化能力" 加强了不少。这时分布式拒绝服务攻击手段(DDoS )就应运而生。

DDoS 就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。高速广泛连接的网络给大家带来了方便,也为DDoS 攻击创造了极为有利的条件。在低速网络时代,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离较近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G 为级别的,大城市之间更可以达到2.5G 的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以分布在更大的范围,选择起来更加灵活。

标签: