DNS重新绑定对浏览器的影响

2010-03-20 23:20任从容
网络安全技术与应用 2010年8期
关键词:插件IP地址攻击者

任从容

达州职业技术学院 四川 635001

0 引言

使用DNS重新绑定的易受攻击性,攻击者需要进行直接套接字访问,这种访问通过DNS使用Flash与Java重新绑定,其请求仅具有从目标主机读取HTTP响应的能力。这种攻击有两种典型防火墙欺骗和IP劫持。

1 防御DNS重新绑定攻击

防御DNS重新绑定攻击可以在浏览器、插件、DNS解析、防火墙和服务器中实现。

1.1 修复防火墙欺骗攻击

网络系统防御防火墙欺骗攻击通过禁止外部主机解析到内部IP地址,这样能够有效地防御攻击者重命名到目标服务器。如果不能重命名到目标服务器,攻击者就不能汇聚众多目标服务器到其控制下的区域源内。这样恶意绑定就能够在防火墙端通过过滤包而被阻止,或者通过在客户端修改DNS解析而阻止。

1.2 修复浏览器拒绝缺省套接字

通过拒绝缺省方式直接套接字访问可以阻止相关DNS重新绑定的攻击。如果浏览器插件缺省设置成拒绝套接字访问,对于使用Flash或TCP连接,这些防御是可行的。像Java以及一些未知名的插件请求套接字连接访问是被允许的。

1.2.1 检查主机报头

HTTP请求用户代理,该代理包括一个在HTTP请求中Host头,该HTTP请求详细描述服务器的主机。这个特性广泛应用于HTTP代理与Web服务器,去定位大多数虚拟主机到一个IP地址。如果拒绝缺省套接字访问,Host头能够可靠地指向正连接到服务器的浏览器所使用的主机,这是因为XMLHTTP请求限制欺骗Host头。对于服务器而言,防御这些攻击是通过拒绝引入不是预知的Host头的HTTP请求。

1.2.2 细化区域源

防御:DNS重新绑定攻击还可以通过提取包括额外信息的区域源,这些额外信息可以是服务器的IP地址或者公钥等,这样当攻击者重新绑定其域名到目标主机时,浏览器将认为该重新绑定主机作用一个新区域。

IP地址:使用IP地址的细化区域比使用单一浏览会话的插件更具有可靠性,单一浏览会话策略可能会使从一个IP地址转换到另一个IP地址时出错。当这种转换错误发生时,很可能破坏已经运行存在的AJAX应用程序,这是因为它们将被阻止使用XMLHTTP请求新IP地址,用户能够通过使用单击浏览器刷新按钮来重载该请求。

公钥:使用公钥增加区域源预防可以使两类HTTPS网页服务免受来自相同区域源的攻击,避免相同区域源使用不同的公钥去读取其状态值。这种防御应用于用户丢失HTTPS无效证书警告的情况下,其主要防御用于攻击只有HTTPS的个人安全设置。

2 智能插件策略

为了减少重新绑定攻击,浏览器可以实现更为智能的插件策略。插件策略是为了防御DNS重新绑定,而使解析域名更加安全。RFC1035提出一个较小值的(甚至是0)TTLs使动态DNS成为可能,这些TTLs不允许重新绑定攻击。浏览器可以实现不同插件的持续时间策略,这样提高了浏览器的稳定性。但是,TTLs不是能够改变插件策略的惟一参数。

如果允许主机重新绑定到一组IP地址,使浏览器能够改变其插件的宽度,这样可以用到一些相似的策略。选择最佳宽度与持续时间使安全与稳定性间的转换成为可能,而不是单独持续时间的优化。一个较好的策略是允许在一个网络内重新绑定。例如,如果一台主机解析到202.117.112.10,客户端可能也允许另一个IP地址开始于202.117.112.内。Firefox扩展功能采用了该智能插件策略。

当浏览器使用一个C类网络插件时,攻击者可能定位那个受攻击的服务器在其相同的C类网络作为其目标,这样使重新绑定攻击定位更加困难。如果攻击者协助定位到一个服务器,这个服务器使用相同协作定位的设备,或者这个协助定位的服务器具有交叉脚本嵌入的弱点,这种攻击也是可能的。

浏览器能够在公网与内网IP地址之间预防重新绑定,这对于不安全的数据通过与动态DNS提供了更加稳定性。在实现公网与内网IP地址转换中,JavaScript插件的Firefox扩展时使用了LocalRodeo。对于安全而言,内外网间IP地址的插件很大程度上预防了防火墙欺骗。但是在一些特殊情况下,不但不能保护IP欺骗也不能预防防火墙欺骗,这些特殊情况是防火墙保护非私有IP地址。

更宽的插件策略可以预防一些合法的DNS重新绑定。由组织机构掌管的公网主机通常有两个IP地址,一个私有IP地址内部用户防火墙使用,一个公用IP地址由Internet用户使用。插件可以防御内部员工完全地连接到这些服务器之后又连接到该组织的VPN,又要防御公网IP地址重新绑定到私有IP地址。

2.1 通用插件数据库

为了消除多插件的攻击,基于插件的防御需要所有的浏览器共享一个通用的插件数据库。许多插件,当发出HTTP请求时就已经使用了浏览器的插件,这是因为它们通过浏览器发出这些请求。为了共享DNS插件给其它类型的网络访问,另外一些浏览器可能暴露其插件数据库的一个接口,或者操作系统可能插入它的DNS解析。浏览器暴露了这些接口与操作系统插件,要么是为了其它应用程序而改变DNS的语义,要么需要操作系统处理浏览器与不同应用程序的插件。

2.2 基于策略的插件

如果不使用插件的策略,可以让浏览器使用服务器替代策略以确定重新将插件从一个IP地址转换到另一个IP地址的主机什么时候是安全的,其条件是不使用非正规的安全机制提供稳定性。为了重新插入安全性,浏览器必须获得一个来自于新旧IP地址主机的策略,这是因为一些攻击者首先绑定到攻击者,反之另外一些首先绑定目标主机。服务器在一些定位中能够提供这种策略,例如逆向DNS解析。

缓存:浏览器与所有插件的缓存必须通过改进才可以预防重新绑定攻击。通常,存储在缓存中目标主机通过URL重新得到而不管其最初的IP地址,建立一个重新绑定攻击,当攻击者主机绑定到目标主机时,从攻击者来的缓存脚本可能稍后运行。为了预防这种攻击,缓存中的目标必须通过URL与最初的IP地址重新获得。当浏览器插进一个新的IP地址时就可以降低系统性能,当第一次IP地址定位失败时这种降低性能就成为可能,用户启动一个新的浏览器进程,或者用户的网络连接发生改变。

document.domain:即使使用最严谨的插件,如果主机打开执行下面的似乎无缺陷Java脚本的网页:document.domain=document.domain,服务器也是易受重新绑定攻击的。

在页面属性设置域属性值之后,浏览器允许具有交叉区域源的页面与其它页面相互访问,这些页面已经设置了相同的域属性值。通过使用Java脚本库的值,在受攻击者控制的当前主机的情况下,达到设置域属性值的目的。

3 主机认证策略

为了代替预防主机免受来自一个IP地址到另一个IP地址重新绑定攻击,另一种防御重新绑定攻击的策略就是预防攻击者命名目标服务器。如果不具备命名目标服务器能力,攻击者就不可能登录到DNS重新绑定攻击到目标服务器。这种方法防御重新绑定攻击,能够允许使用缺省值进行套接字访问,也能够保护动态DNS的稳定性。

在互联网中,客户端需要附加信息以确定一个给定IP地址主机设置的有效性。网络服务器广播主机的设置,并且服务器认为它们自身是有效的,客户端在绑定主机到IP地址之前检查这些广播,以确定这些主机名能够映射到这些IP地址。主机名认证能够预防重新绑定攻击,这是因为真实的主机不能广播这些被攻击者控制的主机名。

逆DNS已经提供了一个从IP址到主机的映射。具有IP地址的用户委派授权命名认证该IP到其域名,同时存储一个PTR记录,该记录包括与其IP地址相关联的主机名。这些记录对于主机认证还是不够的,这是因为一个单IP地址能够有许多有效的主机名,现有的PTR记录不可以预示那些另外的主机名是无效的。

逆向DNS系统在向后不兼容时不能扩展认证主机。为了认证主机到IP地址(例,a.b.c.d),IP地址的所有者可以插入下面的DNS记录:

auth a.b.c.in-addr.arpa.in A a.b.c.d

www.eg.com.Auth a.b.c.in-addr.arpa.in A a.b.c.d

为了使策略可以解析主机,首先按正常情况解析一组IP地址的主机名,然后按下面步骤验证每个IP地址的有效性:

(1)解析主机名auth.ip.in-addr.arpa。

(2)如果主机名存在,ip是策略使能(policy-enabled)同时接受仅仅已经验证的主机名,否则,ip不是策略使能同时接受任何主机名。

(3)最后,如果ip是策略使能,解析主机名www.eg.com.auth.ip.in-addr.arpa,以确定主机名是否已经验证通过。

IP地址ip验证每一个由*.auth.ip.in-addr.arpa组成的主机名,预防不正确的递归策略检查。对于具有多个IP地址的主机名,只有通过验证的IP地址才可以包括在其结果中。如果没有IP地址通过验证,其结果是没有找到。如果IP地址不是策略使能,那么DNS重新绑定攻击就能够减少在拒绝缺省套接字中的使用。

由相关机构或ISP运行控制的策略检查能够在DNS解析中实现,显然这样可以保护大量计算机免受IP地址劫持攻击。像浏览器与插件这样的用户代理也能进行策略记录检查,这是因为它们存储了记录且使用HTTP请求时执行策略检查。标准DNS缓存减化了大量的过多的策略检查。当进行进一步优化时,具有策略使能的解析能够在DNS请求附加部分中包括策略记录,允许逆向解析缓存。

主机认证策略的特点是IP地址的拥有者与ISP可能不是那个IP地址主机的拥有者。当且仅当ISP愿意授权anth子域给拥有者或者插入适当的DNS记录,主机才可能广播那组已经验证的主机。相反,主机可能广播已经验证的主机在HTTP已知的定位中,类似Flash的crossdomain.xml。

4 总结

攻击者能够使用DNS重新绑定的缺点绕过防火墙和劫持IP地址。典型防御与插件技术具有防御基本DNS重新绑定攻击的能力,减少了稳定性与保护使用了插件的浏览器失败就导致允许攻击者直接访问客户端的主机。这些攻击能够劫持成千上万的IP地址主机进行发送垃圾邮件与点击欺骗。预防DNS重新绑定攻击欺骗防火墙可以使用阻止外部DNS域名解析到内部IP地址的策略。对于防火墙欺骗与IP劫持提出两种防御方案:基于策略的智能插件与主机名认证。

[1]闫伯儒,方滨兴,等.DNS欺骗攻击的检测和防范[J].上海:计算机工程.2006.

[2]何旭.DNS重新绑定对Web浏览器的影响[J].上海:计算机工程.2010.

[3]宗兆伟,黎峰,翟征德.基于统计分析和流量控制的DNS分布式拒绝服务攻击的检测及防御[C].北京:2009全国计算机网络与通信学术会议.2009.

[4]任勉.DNS安全与防护[D].北京邮电大学.2007.

[5]李军利,卜晓燕,张根耀,张震.恶意DNS流量攻击研究[J].北京:计算机应用与软件.2007.

[6]李基,杨义先.DNS安全问题及解决方案[J].电信科学.2005.

猜你喜欢
插件IP地址攻击者
机动能力受限的目标-攻击-防御定性微分对策
铁路远动系统几种组网方式IP地址的申请和设置
自编插件完善App Inventor与乐高机器人通信
正面迎接批判
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
基于jQUerY的自定义插件开发
公安网络中IP地址智能管理的研究与思考
有限次重复博弈下的网络攻击行为研究
基于Revit MEP的插件制作探讨