由于Internet的迅速发展,信息量大爆炸时代随着网络的普及耸立在世人面前,我们可以获取信息的途径越来越多,但是查找特定的信息数据也开始变得困难,为此人们急切需要一种能尽量把各种信息统一管理并提供简便搜索功能的工具,搜索引擎因此而诞生。与此同时,搜索引擎的代表作Google由于技术的强大已经成为病毒和入侵者窥视的焦点。
这次,依旧是Google惹的祸。很早以前,Google就“提供”了一种“搜索入侵”:入侵者通过在Google上查询某些特定的字符,可以发现甚至直接进入存在该漏洞的计算机,当年有许多存在Unicode漏洞的计算机就是被Google拎了出来——只要搜索诸如“/scripts/..%255c../winnt/system32/cmd.exe?/c+dir”此类的关键字就能发现很多包含“Directory of”字符串的IP地址,点击进去,你会发现你已经用Unicode漏洞入侵了该计算机……现在虽然这个方法已经基本失效,但是Google带来的安全性问题却更值得引起所有人的重视。面对强大的Google,“垂钓者”已经不满足于仅靠Web页面钓鱼,他们还看上了Google的桌面搜索工具Desktop Search,这个工具存在一个信息泄漏的漏洞,入侵者能通过脚本程序欺骗Desktop Search提供用户信息,最常见的就是泄漏磁盘数据。利用这个漏洞提供的信息,“垂钓者”可以伪造相关信件并建立欺骗性的电子商务网站,让用户误以为是大公司发给自己的信函而受欺骗。一些“垂钓者”用假的口令验证得以窃取用户信息,另一些则欺骗用户点击一些商品信息而被种植木马程序。
跨站钓鱼:真实网站的噩梦
前面提到的伪造页面欺骗是“垂钓者”利用虚假信函和人们寻求方便的心理,直接点击信函给出的恶意链接而达到钓鱼的目的,如今随着媒体的揭露以及用户警惕性的提高,这种手段成功率逐渐降低了。于是处心积虑的骗子们开始制造一种新的迷雾:他们同样是用某种手段把用户骗到商务网站,但是与以前不同的是,这次用户访问到的是真正的商务站点。难道“垂钓者”们改邪归正了?答案是否定的,这个真正的商务站点依然会把用户带到“垂钓者”的恶意页面——骗子利用一种称为“跨站攻击”的技术,在真实网站上插入恶意链接,用户即使再细心也很难想到真实网站也会暗藏杀机。这种被称为“鸡尾酒钓鱼术”的手段使商务网站的可信度大大降低。
什么是“跨站攻击”呢?业界对其定义如下:“跨站攻击是指入侵者在远程Web页面的HTML代码中插入具有恶意目的的数据,使得用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。”
跨站攻击有多种方式,典型的方式有两种:其一,由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码——例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。让我们举一个例子来说明这种情况:比如某个正规论坛是你经常去的,你当然不会怀疑这个论坛有问题,但是有些无聊的用户可能在这个论坛发布带有恶意脚本的帖子,当你浏览这个帖子时,就有可能被攻击。
“垂钓者”自然不会索要用户的Cookie信息,如今有多少商务网站会允许用户保存Cookie呢?所以他们只能让用户自己送上门来,这就出现了第二种同时也是目前更为流行的跨站攻击方式:“垂钓者”利用一段特殊的跨站攻击脚本代码让页面弹出一个设计时根本不曾有的网页对话框,它要求用户输入密码或者把用户带到伪造的站点。因为这些对话框是用户在正常网站看到的,他们自然不会怀疑它的合法性,然而正是这种心理欺骗法导致了又一场信任危机。
这种方法迫害的不仅仅是用户,更是无辜的商务站点,因为跨站攻击并不是入侵服务器,而是在客户那边进行篡改,商务站点根本不知道发生了什么事情,直到用户找上门来,他们才发现自己的信誉被这些骗子给毁了。
危险的HOSTS文件
对网络了解较多的读者一般都会知道Windows的系统目录中有个HOSTS文件,它的作用是把IP地址和网址映射起来。大家都知道,访问网站时必须通过DNS服务器把域名解析为IP地址,这样浏览器才能知道连接到哪里才是我们要的网站。在Windows的处理逻辑里,它总是先在HOSTS文件里查找这个域名和IP的对应关系,如果对应关系存在,Windows就直接连接HOSTS表里描述的IP地址,只有在找不到的时候才向DNS服务器发送解析域名的请求,这个逻辑关系在某些程度上的确方便了用户,因为HOSTS表的优先度比任何一个DNS服务器都高,然而可怕的是,正是由于HOSTS表的特性,我们可能再次成为被钓的“鱼”。
HOSTS表的原理是更改域名与IP的映射关系,我们能改,“垂钓者”就也能更改。通过利用诸如MIME、EML等下载漏洞,甚至只是简单的网页脚本,骗子就能在HOSTS表里添加任何他们想要的映射关系,因为HOSTS藏得太深了,一般用户很少会留意到这个文件的变化,这就给“垂钓者”钻了个空子,虽然HOSTS表是为域名和IP地址建立映射关系,但是它并不能判断这个映射关系的准确性!于是“垂钓者”把用户访问几率较大的商务网站域名和他们伪造的网站IP地址映射起来,以后用户即使是自己输入的域名,即使安装了无数杀毒监视程序也无法扭转被带入欺骗站点的厄运——谁让HOSTS的优先权那么高呢?
HOSTS表映射原理
远离钓鱼:一道沉重的难题
网络钓鱼之所以如此猖獗并且能够频频得手,最大的原因就是利用了人们疏于防范的心理以及“贪小便宜”和“贪图便利”的弱点。“垂钓者”投下足够吸引猎物上钩的“美味鱼饵”——或恐吓,或诱惑,用户的防线在这些因素的干扰下彻底崩溃而咬住了钩子。这是任何杀毒软件也无法解决的,因为“毒”在内心,而非软件。当然这些骗术也涉及了一些技术手段,但是社会工程学的影响却成了最大的干扰。我们无法阻止全部网络钓鱼攻击,稍不留意,厄运就会降临,我们能做的,惟有提高自己的警惕性和降低贪欲,同时学习网络安全技术,才能尽量减少“上钩”的几率。