水坑攻击

在技术日新月异的今天,网络攻防永无止日。技术的发展使得网络攻击形态不断变化,并衍生出不少新的攻击方法,水坑攻击便是其中一种。根据赛门铁克(Symantec)最新发布的2012网络安全威胁报告,水坑攻击已经成为APT攻击的一种常用手段,影响范围也越来越广。



据国外媒体报道,在今年,包括苹果、Facebook和Twitter在内的科技公司网站纷纷遭遇了黑客入侵事件,而且有迹象显示更多网站可能在未来遭遇相同的命运。而在这一连串黑客攻击的背后,人们发现竟然存在着一个惊人的共同点,那就是这些公司员工都曾访问过一个颇受欢迎的移动开发者信息共享网站。



据Facebook针对被黑事件调查公布的信息显示,这个具备“重大作案嫌疑”的网站名为iPhoneDevSdk,许多专注于自身移动平台发展的公 司都将这一网站视为进行信息交流、分享的重要平台。而在Facebook一名员工浏览了这个网站后,该网站HTML中内嵌的木马代码便利用甲骨文Java 漏洞侵入了这名员工的笔记本电脑。



所谓“水坑攻击”,是指黑客通过分析被攻击者的网络活动规律,寻找被攻击者经常访问的网站的弱点,先攻下该网站并植入攻击代码,等待被攻击者来访时实施攻击。这种攻击行为类似《动物世界》纪录片中的一种情节:捕食者埋伏在水里或者水坑周围,等其他动物前来喝水时发起攻击猎取食物。



水坑攻击属于APT攻击的一种,与钓鱼攻击相比,黑客无需耗费精力制作钓鱼网站,而是利用合法网站的弱点,隐蔽性比较强。在人们安全意识不断加强的今天,黑客处心积虑地制作钓鱼网站却被有心人轻易识破,而水坑攻击则利用了被攻击者对网站的信任。水坑攻击利用网站的弱点在其中植入攻击代码,攻击代码利用浏览器的缺陷,被攻击者访问网站时终端会被植入恶意程序或者直接被盗取个人重要信息。



因此,水坑攻击相对于通过社会工程方式引诱目标用户访问恶意网站更具欺骗性,效率也更高。水坑方法主要被用于有针对性的间谍攻击,而Adobe Reader、Java运行时环境(JRE)、Flash和IE中的零日漏洞被用于安装恶意软件。



由于水坑攻击的实现需要具备很多条件(比如被攻击者访问的网站存在漏洞,浏览器或者其他程序存在漏洞等),因此目前并不常见。通常情况下,攻击低安全性目标以接近高安全性目标是其典型的攻击模式。低安全性目标可能是业务合作伙伴、连接到企业网络的供应商,或者是靠近目标的咖啡店内不安全的无线网络。



目前多数网站使用的广告网络平台也是实施水坑攻击的有效途径。水坑攻击可以通过攻击目标网站使用的广告网络来执行。这涉及将恶意网站广告,或者恶意广告 (文字或图片)插入到将被传送到不同网站的跳转广告。由于大部分网站都使用同一广告网络,因此布设攻击网络时可以达到事半功倍的效果。



从最新的网络威胁安全报告中可以看到,水坑攻击正在取代社交工程邮件攻击。很多水坑攻击结合零日漏洞,防病毒软件以及其他安全软件很难侦测得到,这也是其备受瞩目的原因之一。


URL跳转漏洞

由于应用越来越多的需要和其他的第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,譬如一个典型的登录接口就经常需要在认证成功之后将用户引导到登录之前的页面,整个过程中如果实现不好就可能导致一些安全问题,特定条件下可能引起严重的安全漏洞。

恶意用户完全可以借用URL跳转漏洞来欺骗安全意识低的用户,从而导致“中奖”之类的欺诈,这对于一些有在线业务的企业如淘宝等,危害较大,同时借助URL跳转,也可以突破常见的基于“白名单方式”的一些安全限制,如传统IM里对于URL的传播会进行安全校验,但是对于大公司的域名及URL将直接允许通过并且显示会可信的URL,而一旦该URL里包含一些跳转漏洞将可能导致安全限制被绕过。

如果引用一些资源的限制是依赖于“白名单方式”,同样可能被绕过导致安全风险,譬如常见的一些应用允许引入可信站点如youku.com的视频,限制方式往往是检查URL是否是youku.com来实现,如果youku.com内含一个url跳转漏洞,将导致最终引入的资源属于不可信的第三方资源或者恶意站点,最终导致安全问题。