发现“钓鱼网站”的一些思路

  背景:

  钓鱼网站是那些模仿社交、银行、电商等网站,用于骗取用户账户名与密码的“套牌网站”。人们在访问网站时,其URL显示在地址栏中,但URL相似时(可以显示虚假URL),人们常常忽视,如sohu.com写成s0hu.com;同时大多数情况是网站验证用户的身份,而用户不验证网站的身份,这样的结果就是用户以为自己登录的是正常网站,输入账户与密码,但实际上是把隐私信息送给了钓鱼者。

  发现“钓鱼网站”的一些思路

  为了让用户不易发觉自己上当了,钓鱼网站有两种处理方法:一是第一次告诉你密码输入错误,让你重新输入(很多人以为自己输入手误了),当然第二次就让你连入真实的网站了。二是自己作为中间人,帮你把账户与密码再转发给正确的网站,并把网站返回的正常信息转发给你,这样还可以监控你的实时通讯。

  钓鱼网站需要你去主动访问它,所以一般采用诱惑性手段,其实方法也很简单:

  1、用户输入的错误:一般是瞎猫撞上死耗子,如sohu.com输入成sohu.net;

  2、通过垃圾邮件发送,诱惑用户点击链接。这是钓鱼者常用的伎俩,诱人的图片、吸引眼球的新闻、感兴趣的话题、安全软件的升级包、新游戏试用……这与木马的传播有些相像;

  3、入侵一些热门网站,修改用户常点击的链接,或添加一些诱惑性广告。这是黑客常用的方法,如官方网站的友好链接、电商网站的付款按钮、社交网站的常用链接…

  4、在社交网站上载信息。一般是经常发布“热点消息”的人,上载热门资料,诱惑人们去点击它;

  钓鱼网站的危害是不言而喻的,密码被盗的后果是严重的。无论是对用户,还是对网站都是厌恶的,钓鱼网站应该成为“风箱中的老鼠”,但如何发现它、如何识别它呢?

  用户很想做的事情:

  用户要识别钓鱼网站,这好像不是一件很容易的事情,既然是钓鱼网站,就做得足可以以假乱真,让你不易察觉,很多“安全专家”建议你瞪大眼睛,注意URL的细节,注意网页的细节…即使用户都成了“火眼金睛”,骗术也是防不胜防,通常的结果是钓鱼网站更加“逼真”了,方法更加出乎意料了。

  有两种方法是容易选择的:

  1、双向认证:一些安全网站为了表明自己的身份,提供了双向认证的机制,用户可以通过网站的证书去第三方公正机关(互联网上)进行身份验证,确保自己上的是正确的网站。

  但是,双向认证方法不能保护用户的利益。因为Web应用是访问服务器时得到的页面代码,浏览器本身没有存放“验证代码”。当访问的是正确网站时,用户端执行对服务器的认证流程;但访问的是钓鱼网站时,钓鱼者不会让用户去验证自己的钓鱼网站吧。因此,用户此时根本不知道是否执行了验证服务器的过程。

  2、安全软件过滤:终端安全厂家推荐的方法,具体做法是,安装安全软件时时监控,类似防病毒软件,当用户访问某个链接时,安全软件先截获URL链接,并送给安全公司(安全服务商)去验证这个链接的安全性,当发现不处于“白名单”时,或者处于“黑名单”时,立即阻止用户访问,并报警。

  但是,这种方法无疑增大了用户访问时的延迟,并且互联网如此广大,URL每天都在疯狂增长,建立这样的URL信誉库,本身就是一件庞大的工程(目前一些互联网安全公司声称在建立)。还是有一个问题是难解决的,就是钓鱼网站本身也可以通过安全测试,进入URL信誉库,这样白名单策略就失灵了。

  这种方法对于阻止用户访问有木马的URL是有用的,目前百度、Google搜索提供对搜索结果的安全提示,就类似于这种机制。但是,对于钓鱼网站效果不是很好,因为要判断两个URL的页面雷同(相似有可能是钓鱼网站),需要比对的工作量实在是太大了。

  网站应该做的:

  发现钓鱼网站,用户的发现是被动的,网站应该积极主动起来,不应该做旁观者。

  常见的钓鱼网站有两种类型,可分别采用不同的方式去主动发现:

  a)一是仿真型:模拟真实的网站;

  b)二是代理型:作为中间人,代理转发用户请求与网站反馈。

  代理型钓鱼网站比较好发现,因为网站会发现用户的请求来自一个互联网公共地址,它还提供用户访问页面(钓鱼页面),你尝试访问它时,会发想同样账户与口令的请求又送回给你。

  仿真型钓鱼网站比较麻烦,因为它与真实网站不联系,只是访问时的页面雷同。这好比是北京人要去查找自己的“套牌车”,除非两辆车开到了一起,才容易对比出来。首先,你如何知道自己的车已经被套牌了呢?往往是你发现有了违章,而你在那个时间就根本没有去那个地方,当警察调出你“违章”的照片证据时,你才发现那是辆套牌车。然后,你尝试去发现套牌车目前在哪里。你可以让警察调出全城甚至全国的监控录像,搜索那辆套牌车出现的位置,当然这是件几乎不可能的事情。

  搜索套牌车的最佳方法是建立这样一套系统:

  让全城甚至全国的道路、停车场的违章摄像头统统联网。这些摄像头都有一个共同的功能,就是可以识别出通过车辆的车牌号。你想发现车被套牌的时候(或你想看看是否被套牌时),就把这个车牌以“通缉犯”的名义下发给所有的摄像头,当某个摄像头发现这个车牌时,立即报告自己的位置。这套系统可以与停车场的管理系统相连,停车场一般在车辆出入口都有摄像,记录进出车辆的车牌号,所以,直接搜索系统的数据库就可以得到停车场内的车辆信息了。

  用这种思路去发现仿真型钓鱼网站也是可行的。我们可以先学习自己的网站,总结出容易比较的特征,如Hash运算。然后,去互联网上搜索其他的网站,是否可以发现同样特征的网页,若有,就应该是钓鱼网站。实际中我们比较一两个页面就可以初步判断了,不用把网站上的大部分页面都做比较。

  具体的方法是:

  在互联网上提供一个服务平台,输入要保护的网站URL,学习网站页面特征(定期更新),建立保护者单。与互联网搜索公司合作(也可以与互联网运营商合作),因为搜索公司的爬虫、互联网运营商核心链路上流量跟踪,都是URL更新最快、数量最全的数据库,访问他们提供的URL,去比较每个网页的特征是否匹配,发现雷同立即报警。

  “主动发现”钓鱼网站的方案:

  把仿真型与代理型钓鱼网站的发现思路合在一起,可以给出下面的具体方案。

  网站安全监控平台可以旁路在网站出口上,主要的工作有两个:

  1、与WAF合作,因为WAF是网站前的必经之路,可以提取所有访问网站者的IP地址,进行代理型钓鱼网站的探测。尝试访问该地址,会发现该地址再发来一个用户请求,请求同样的页面;

  2、学习自身网站关键页面(容易被钓鱼的网页)的特征,访问互联网运营商,或者是搜索门户的URL数据库(更新部分),尝试访问这些页面,与关键页面的特征进行比对,发现雷同,立即报警。

  该方案也可以由第三方机构建立一个互联网URL公共数据库,为每个网站提供钓鱼网站的查询使用。该数据库可以在互联网上部署探针,收集最新的URL,更新数据库。

  该方案还有一个好处,就是可以用来抵御DNS攻击或DNS欺骗:

  建立了URL的公共数据库,可以同时存储URL的IP地址,当发生DNS欺骗时,用户可以主动进行相同URL的IP地址比对,发现不同时,可以报警。

 

上一篇:安卓防火墙 PS DroidWall

下一篇:学linux必知基本知识