上期文章里我描述过搜索引擎的概念:它是一种能够获得网站网页资料并建立数据库并提供查询服务的系统,由于Internet的迅速发展进入信息量大爆炸时代,可以获取信息的途径越来越多,查找一个特定的信息数据开始变得困难,往往在瀚如烟海的网络中找寻半天也无法得到你想要的信息,这种环境同时也导致了信息更新速度的不同步,也许你找了半天才找到的信息已经是昨日黄花,为此人们急切需要一种能尽量把各种信息统一管理并提供简便搜索功能的工具,搜索引擎因此而诞生,而GOOGLE由于技术的强大已经成为病毒和入侵者窥视的焦点。
这次,依旧是GOOGLE惹的祸。很早以前,GOOGLE就“提供”了一种“搜索入侵”:入侵者通过在GOOGLE上查询某些特定的字符,可以发现甚至直接进入存在该漏洞的计算机,当年有许多存在Unicode漏洞的计算机就是被GOOGLE拎了出来——只要搜索诸如“/scripts/..%255c../winnt/system32/cmd.exe?/c+dir”此类的关键字就能发现很多包含“Directory of”字符串的IP地址,点击进去,你会发现你已经用Unicode漏洞入侵了该计算机……现在虽然这个方法已经失效,但是GOOGLE带来的恐怖影响却足以让初学者汗颜。
当GOOGLE遇上了“垂钓者”,一场新的噩梦开始肆虐全球。由于GOOGLE是通过查找页面元素完成记录工作的,“垂钓者”便利用一些网页脚本语言来干扰GOOGLE的判断逻辑,使得GOOGLE把内容不符的页面加入到“垂钓者”指定的关键字索引里去,受害者搜索这个关键字时就有可能会被带入这个恶意页面而遭受损失。面对强大的GOOGLE,“垂钓者”已经不满足于仅靠WEB页面钓鱼,他们还看上了GOOGLE的桌面搜索工具Desktop Search,这个工具存在一个信息泄漏的漏洞,入侵者能通过脚本程序欺骗Desktop Search提供用户信息,最常见的就是泄漏磁盘数据。利用这个漏洞提供的信息,“垂钓者”可以伪造相关信件并建立欺骗性的电子商务网站,让用户误以为是大公司发给自己的信函而受欺骗。一些“垂钓者”用假的口令验证得以窃取用户信息,另一些则欺骗用户点击一些商品信息而被种植木马程序。
四、跨站钓鱼:真实网站的噩梦
前面提到的伪造页面欺骗是“垂钓者”利用虚假信函和人们寻求方便的心理,直接点击信函给出的恶意连接而达到钓鱼的目的,如今随着媒体的揭露,或者遇上警惕性高的用户,这种手段成功率逐渐降低了。于是处心积虑的骗子们开始制造一种新的迷雾:他们同样是用某种手段把用户骗到商务网站,但是与以前不同的是,这次用户访问到的是真正的商务站点。难道“垂钓者”们改邪归正了?答案是否定的,这个真正的商务站点依然会把用户带到“垂钓者”的恶意页面——骗子利用一种称为“跨站攻击”的技术,在真实网站上插入恶意连接,用户即使再细心也很难想到真实网站也会暗藏杀机。这种被称为“鸡尾酒钓鱼术”的手段使商务网站的可信度变得扑朔迷离。
什么是“跨站攻击”呢?业界对其定义如下:“跨站攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。”由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码,例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。如这句简单的Java脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。入侵者运用脚本就能把用户信息发送到他们自己的记录页面中,稍做分析便获取了用户的敏感信息。
“垂钓者”自然不会索要用户的Cookie信息,如今有多少商务网站会允许用户保存Cookie呢?所以他们只能让用户自己送上门来。“垂钓者”利用一段特殊的跨站攻击脚本代码让页面弹出一个设计时根本不曾有的网页对话框,它要求用户输入密码或者把用户带到伪造的站点。因为这些对话框是用户在正常网站看到的,他们自然不会怀疑它的合法性,然而正是这个心理导致了又一场信任危机……
这个方法迫害的不仅仅是用户,更是无辜的商务站点,因为跨站攻击并不是入侵服务器,而是在客户那边进行篡改,商务站点根本不知道发生了什么事情,直到用户找上门来,他们才发现自己的信誉被这些骗子给毁了。
五、Windows特性惹的祸:危险的HOSTS文件
对网络了解较多的读者一般都会知道Windows有个HOSTS文件,它的作用是把IP和网址映射起来。大家都知道,访问网站时必须通过DNS服务器把域名解析为IP地址,这样浏览器才能知道连接到哪里才是我们要的网站,如果每个域名请求都要等待域名服务器解析后返回IP地址,就会降低访问网络的效率,为了提高访问效率,在Windows的处理逻辑里,它总是先在HOSTS文件里查找这个域名和IP的对应关系,如果对应关系存在,Windows就直接连接HOSTS表里描述的IP地址,只有在找不到的时候才向DNS服务器发送解析域名的请求,这个逻辑关系在某些程度上的确方便了用户,因为HOSTS表的优先度比任何一个DNS服务器都高,我们能用它跳过域名解析这一步,访问网站的速度就能提高,也不怕DNS服务器出故障时叫天不应叫地不灵了;局域网用户还能通过HOSTS表用自己设定的域名访问本网段内某台机器提供的网站,而不用记忆复杂的IP;鉴于HOSTS表的优先度,还能用它屏蔽恶意站点。
然而正是由于HOSTS表的特性,我们再次成为被钓的鱼。
HOSTS表的原理是更改域名与IP的映射关系,我们能改,“垂钓者”就也能更改。通过利用一些诸如MIME、EML等下载漏洞,甚至只是简单的网页脚本,骗子就能在HOSTS表里添加任何他们想要的映射关系,因为HOSTS藏得太深了,一般用户很少会留意到这个文件的变化,这就给“垂钓者”钻了个空子,虽然HOSTS表是让域名和IP建立映射关系,但是它并不能判断这个映射关系的准确性!于是“垂钓者”把用户访问几率较大的商务网站域名和他们伪造的网站IP地址映射起来,以后用户即使是自己输入的域名,即使安装了无数杀毒监视程序也无法扭转被带入欺骗站点的厄运,谁让HOSTS的优先度那么高呢?
六、系统升级补丁:骗子的鱼饵
相信每个Windows用户都会对Windows时不时冒出一个漏洞然后再冒出一个补丁的做法恨得牙齿发痒,也因为漏洞危害的日趋严重,一般用户都会很紧张的留意新的Windows升级补丁,骗子也不例外,不过他们更在意的是如何借用漏洞补丁程序入侵用户机器。骗子伪造一封Microsoft“好心”主动发送给用户的“针对某个严重安全漏洞而开发的补丁”,然而附件里是个木马程序。一般用户难得碰上这种殊遇,自然不会起戒心而运行这个“补丁”。而骗子也够精明,运行后出现的界面与真正的补丁程序没两样,但是最后安装到用户机器的是什么呢?这个不用我说了吧。
除了这些涉及技术手段的“网络钓鱼”,还有许多接近社会工程学的手段,如利用QQ骗取信任、发送假冒中奖资讯、买空卖空骗钱术等,骗子们处心积虑用尽一切方法,就是为了你口袋里的钱!
七、远离钓鱼:一道沉重的难题
网络钓鱼之所以能如此猖獗,最大的原因就是人们的心理暗去或强烈的贪欲,“垂钓者”投下足够吸引猎物上钩的“美味鱼饵”——或恐吓,或诱惑,用户的防线在这些因素的干扰下彻底崩溃而咬住了钩子。这是任何杀毒软件也无法解决的,因为“毒”在内心,而非软件。当然这些骗术也涉及了一些技术手段,但是社会工程学的影响却成了最大的干扰。我们无法阻止全部网络钓鱼攻击,稍不留意,厄运就会降临,我们能做的,唯有提高自己的警惕性和降低贪欲,同时学习网络安全技术,才能尽量减少“上钩”的几率。