南方的早春总是伴着绵绵细雨,难得今天是个晴朗天,某服装公司的张经理带着十几个重要员工来到郊外一个鱼塘进行垂钓活动。张经理放置好钓具后,便打开了随身携带的笔记本电脑并连上网络,他想利用这点时间处理一下最近的一笔生意。秘书见他在这种时候还离不开工作,便劝他:“经理,今天是游玩的日子,难得放松一下,今天还是不要处理公司业务了吧……您不怕钓竿被鱼叼走了?”张经理对秘书笑了笑,看着身前的钓竿缓缓说道:“都说姜太公钓鱼,愿者上钩,但是如果不知道提竿的时机,即将到手的鱼也会溜走的。等这笔生意谈妥,我再休息也不迟。”说罢又继续低头敲键盘。
生意终于谈妥,客户把货款转入张经理的银行账户,张经理笑了:“这条大鱼终于被我钓到了。”然后他登上网络银行账户查看转账情况。当页面上显示出账户剩余金额时,张经理心里一紧,接着有了晕眩的感觉:账户里原来的存款不翼而飞,页面里惟有客户刚刚转入的货款,仿佛在嘲笑着张经理。
张经理做梦也没想到,这一次,他成了别人钓上的鱼,而且是大鱼。
释疑网络钓鱼
网络钓鱼(Phishing),并不是一种新的入侵方法,但是它的危害范围却在逐渐扩大,成为近期最严重的网络威胁之一。Phishing就是指入侵者通过处心积虑的技术手段伪造出一些以假乱真的网站和诱惑受害者根据指定方法操作的email等方法,使得受害者“自愿”交出重要信息或被窃取重要信息(例如银行账户密码)的手段。入侵者并不需要主动攻击,他只需要静静等候这些钓竿的反应并提起一条又一条鱼就可以了,就好像是“姜太公钓鱼,愿者上钩”。
看到这里,有些读者可能会说,这不是社会工程学吗?两者都是骗人的手段啊。不错,网络钓鱼里面的确有社会工程学的影子,但是与后者相比,网络钓鱼更趋向于技术方面,因为它不仅仅是欺骗,里面还必须掺入技术成分,否则如果连“垂钓者”自己都无法控制“钓竿”的话,又怎么可能钓到鱼呢?
视觉陷阱:网页背后的钓竿
警察正在分析张经理那台笔记本电脑硬盘里的数据,张经理本人在报案时因心脏病发作而住进了医院。由于无法得知张经理最后一次登录网络银行的时间,而且系统里也没有感染任何偷盗账号的后门程序,案件变得有点扑朔迷离起来。一个分析员无意中打开了Foxmail,发现最后一封信件是银行发送的,主题为“XX网络银行关于加强账户安全的通告”,分析员预测案件与这封信件有重大关系,马上打开阅读。这是一封HTML网页模板的信件,内容大意为银行为了加强账户安全而升级了系统,请各位客户尽快重新设置账户密码,末尾还给出了设置密码的URL链接。
幕后黑手果然在这里!分析员马上查看信件源代码,很快就找出了其中的猫腻:正如常说的 “说的一套,做的一套”,这个邮件的作者采用了“看的一套,进的一套”这种简单的欺骗手法,入侵者利用HTML语言里URL标记的特性,把它写成了这样:“〈A HREF="http://www.xxxbank.com.cn/account/index.asp"〉http://www.xxbank.com.cn/account/index.asp〈/A〉”,由于心理作用,受害者潜意识里都会直接点击那个写着“http://www.xxbank.com.cn/account/index.asp”的URL链接,然而他们并不知道,这个点击实际上是把他们引向“http://www.xxxbank.com.cn/account/index.asp”这条钓竿!而这个所谓的更改密码页面,当然伪造得与真正的银行页面完全一致,但是它的“更改密码”功能却是把账号和密码发送到了幕后的“垂钓者”手上,然后“垂钓者”登录上真正的网络银行改了受害者设置的密码,并顺手牵羊把银行账户里的存款转移掉。这样钓来的鱼,即使是小鱼也会让“垂钓者”在梦里发出笑声来了,即使一条太小,积累起来的数目也会变得相当可观了。在金钱的诱惑下,“垂钓者”一次又一次提竿,殊不知,他自己也是被金钱钓竿钓上的一条鱼。
拙劣手段成功的关键
为什么如此拙劣的技术却能频频得手呢?在你的实际生活中有没有遇到类似的情况呢?你会采取什么样的预防措施呢?
因为网络钓鱼充分利用了人们的心理漏洞,首先,人们收到银行这类影响力很大的商务邮件时几乎都会紧张,很多人都不曾怀疑信件的真实性,更会下意识地根据要求打开邮件里面指定的URL进行操作;其次,页面打开后,我们通常都只会留意页面内容而不会注意浏览器地址栏的显示,正是这点让“垂钓者”有了可乘之机。
其实“垂钓者”们是可以利用IE的URL欺骗漏洞把自己伪装得更像一回事似的,只是现在IE普遍打了补丁,这种情况下还使用这个漏洞就会“不打自招”了,所以只有极少数“垂钓者”会采用这个方法,有的“垂钓者”根本连个看起来“比较正规”的域名都没有,而是采用IP地址形式甚至直接光明正大把真实地址显示在浏览器的地址栏里——因为他们知道,除非出现意外情况,否则大部分人根本是不会注意浏览器的地址栏的。
这里顺便提一下那封email,为什么张经理会上当呢?纵然,如果那封email的发件人地址不是银行网站的,那么白痴都看得出来这是伪造的邮件。但是问题就出在这里,这封email的发件人地址清清楚楚写着该银行网站的技术支持信箱地址!“垂钓者”是怎么做到的呢?很简单,一些未经设置的email服务器并不会验证用户信息是否真实,于是骗子用这样的邮件服务器发送一封伪造了发件人地址的信件简直是易如反掌。
借竿钓鱼:爱恨交加的搜索引擎
由于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提供用户信息,最常见的就是泄漏磁盘数据。利用这个漏洞提供的信息,“垂钓者”可以伪造相关信件并建立欺骗性的电子商务网站,让用户误以为是大公司发给自己的信函而受欺骗。一些“垂钓者”用假的口令验证得以窃取用户信息,另一些则欺骗用户点击一些商品信息而被种植木马程序。
典型的Phishing攻击示例
跨站钓鱼:真实网站的噩梦
前面提到的伪造页面欺骗是“垂钓者”利用虚假信函和人们寻求方便的心理,直接点击信函给出的恶意链接而达到钓鱼的目的,如今随着媒体的揭露以及用户警惕性的提高,这种手段成功率逐渐降低了。于是处心积虑的骗子们开始制造一种新的迷雾:他们同样是用某种手段把用户骗到商务网站,但是与以前不同的是,这次用户访问到的是真正的商务站点。难道“垂钓者”们改邪归正了?答案是否定的,这个真正的商务站点依然会把用户带到“垂钓者”的恶意页面——骗子利用一种称为“跨站攻击”的技术,在真实网站上插入恶意链接,用户即使再细心也很难想到真实网站也会暗藏杀机。这种被称为“鸡尾酒钓鱼术”的手段使商务网站的可信度大大降低。
什么是“跨站攻击”呢?业界对其定义如下:“跨站攻击是指入侵者在远程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表映射原理
系统升级补丁:骗子的鱼饵
相信每个Windows用户都会对Windows时不时冒出一个漏洞然后再冒出一个补丁的做法恨得牙齿发痒,也因为漏洞危害的日趋严重,一般用户都会很紧张地留意新的Windows升级补丁,骗子也不例外,不过他们更在意的是如何借用漏洞补丁程序入侵用户机器。骗子伪造一封貌似Microsoft“好心”主动发送给用户的“针对某个严重安全漏洞而开发的补丁”,然而附件里是个木马程序。一般用户难得碰上这种殊遇,自然不会起戒心而运行这个“补丁”。而骗子也够精明,他们会将运行后出现的界面做得与真正的补丁程序一模一样,但是最后安装到用户机器的是什么呢?这个不用我说了吧。
除了这些涉及技术手段的“网络钓鱼”,还有许多接近社会工程学的手段,如利用QQ骗取信任、发送假冒中奖资讯、买空卖空骗钱术等,骗子们处心积虑用尽一切方法,就是为了侵害你的利益!
跨站攻击示例
远离钓鱼:一道沉重的难题
网络钓鱼之所以如此猖獗并且能够频频得手,最大的原因就是利用了人们疏于防范的心理以及“贪小便宜”和“贪图便利”的弱点。“垂钓者”投下足够吸引猎物上钩的“美味鱼饵”——或恐吓,或诱惑,用户的防线在这些因素的干扰下彻底崩溃而咬住了钩子。这是任何杀毒软件也无法解决的,因为“毒”在内心,而非软件。当然这些骗术也涉及了一些技术手段,但是社会工程学的影响却成了最大的干扰。我们无法阻止全部网络钓鱼攻击,稍不留意,厄运就会降临,我们能做的,惟有提高自己的警惕性和降低贪欲,同时学习网络安全技术,才能尽量减少“上钩”的几率。