随着人们越来越多地依靠互联网进行商业、个人财政和投资等活动,互联网诈骗已经成为一个越来越大的威胁。互联网诈骗有多种形式,从eBay网站上销售的假冒商品到操纵股票价格的恶语流言,再到承诺如果你通过自己的银行帐户帮助进行一笔国外金融交易就能得到大笔财富的骗局,不一而足。
网络钓鱼就是互联网诈骗中很有趣且发展最快的一种。网络钓鱼(Phishing)的名称来自使用精心布置的诱饵(如看起来很像来自一个真实公司或机构的E-mail),这些诱饵是一些别有用心的人所设置,用于“钓取”用户的财政状况、信用卡详细情况和密码。钓鱼攻击使用的E-mail消息和网站看起来很像是来自一家合法的知名组织,其目的是骗取用户透露其个人、财政或计算机帐户信息。攻击者然后利用这些信息进行犯罪活动,如身分窃取、盗窃或欺诈。用户在被欺骗的情况下,或者通过网页形式透露信息,或者通过下载和安装恶意软件而透露信息。
当用户上当受骗,对在线交流形成一种错误的观念,并进而采取违背用户真实意图的行动时,钓鱼攻击就获得成功。由于推断一个用户的意图是很困难的,因此,要创建一种自动系统保护用户免遭钓鱼攻击是一个很具有挑战性的问题。
近来,钓鱼攻击发生的频率越来越高,其中许多足以以假乱真,欺骗用户。据反钓鱼攻击工作组(APWG)透露,仅2004年4月,对钓鱼攻击的报告就增加了180%,而在之前的六个月内则增加了4000%。从事反垃圾邮件的邮件边界公司最近一项研究发现,钓鱼邮件欺骗用户的成功率为28%。2002年,钓鱼攻击所造成的损失估计近3700万美元。
一、一个钓鱼攻击案例的剖析
反钓鱼攻击工作组对钓鱼攻击的案例进行收集和存档,这是一项很有价值的工作,因为攻击所用网址只存在很短的时间。其中一件案例就是对eBay消费者的攻击,它首次在2004年3月9日被报道。
攻击从潜在的受害者收到一封声称来自eBay的电子邮件开始(图1),信中称用户的帐户信息已经过期,必须进行更改。信件还包含了一个看起来很像是指向eBay网站页面的嵌入式超链接,该网页要求用户输入信用卡号、联系方式、社会安全号码以及eBay的用户名和密码(图2)。
图1 一封钓鱼邮件的屏幕截图
图2 一个钓鱼邮件指向的钓鱼网页的屏幕截图
然而,隐藏在表面下的事实却是,信件的内容和网页都不是它看起来的那样,图3给出了欺骗过程的示意图。钓鱼邮件看起来像一封来自eBay的合法邮件,在“发信人”栏列出的是“S-HarboreBay.com”,它指向eBay公司的合法域名,信件中嵌入的链接也指向“eBay.com”,甚至还使用了加密通道(“https:”)。在这些暗示和信件内容的基础上,用户对该信件就会建立一种思想模型,即eBay要求更新用户信息,然后用户就采取行动,点击嵌入的超链接,并认为它指向eBay。但用户的行动被转变为一种完全不同的系统操作,即从“210.93.131.250”的IP地址获取网页,该IP地址代表在韩国汉城注册的一家通信公司的服务器,这家公司同eBay公司没有任何关系。
图3 一次钓鱼攻击的剖析
钓鱼网站的欺骗模式也与此类似,其网页看起来很像是合法的eBay网页,它包含了一个eBay标识,其内容和版面同真实eBay网站网页的格式也相同。在这种情况下,用户就会建立一种思想模型,即浏览器所打开的是eBay的网页,用户必须提供所要求的信息,以保持用户eBay帐户的有效性。然后用户就采取行动,输入个人和财政数据,并点击“提交”按钮,希望将这些信息发送给eBay,但用户的行动被网页浏览器转变为这样一种系统操作:将用户输入的数据加密转变成一个HTTP请求并发送给“210.93.131.250”,而该IP并不是一个合法的eBay服务器。
二、钓鱼――“语义攻击”
国际著名安全问题专家布鲁斯·施奈尔曾称,攻击计算机网络的方法可分为越来越复杂和抽象的不同波次。第一波攻击在本质上是物理性的,其目标是计算机、网络设备和它们之间的链路,其目的是使信息流发生中断。第二波攻击由一系列“句法攻击”组成,其目标是网络协议、加密算法或软件运行中的缺陷,“句法攻击”是近十年来安全研究的主要对象。第三波攻击是“语义攻击”,其目标是我们作为人类所赋予内容的意义。
钓鱼攻击是一种“语义攻击”。成功的钓鱼攻击取决于用户对一个信息如一封电子邮件或一个网页的理解方式和该信息实际结果间的差异。图4给出了一个典型的互联网通信结构,它将通信分为两部分,系统模型涉及的是计算机如何交换位信息――协议、显示和软件。但是,当用户参与到通信中,仅理解和保护系统模型是不够的,因为所传递的真实消息不仅取决于交换的位信息,而且取决于用户从这些位信息所得出的语义含义,这个语义层就是用户的思想模型。钓鱼攻击的有效性表明,人们并不总是为他们的在线交流赋予正确的语义含义。
图4 人-互联网通信
当用户面对一次钓鱼攻击,他对交流的思想模型往往会同系统模型发生错位,例如,用户的本意是要“进入eBay网站”,但超链接的实际运行可能“进入一台韩国的服务器”,正是这种错位使攻击得以成功,而且也正是这种错位使钓鱼攻击非常难于防范。用户根据交流的显示,即交流在计算机屏幕上所出现的方式,来建立其对交流的思想模型,而网页和电子邮件信息运行的细节被隐藏起来,且对大多数用户来说是不可获知的。因此,用户是不可能对其思想模型和系统模型进行比较的,即便能比较,也将费力甚巨,另一方面,电子邮件客户端程序和网页浏览器按照消息所提供的编码指令运行,而不会去核实用户的意图。由于不了解这两类模型,用户和计算机都不能察觉钓鱼攻击所造成的错位。
对钓鱼攻击问题的一个很极端的解决办法就是简单的丢弃互联网通信的显示部分,因为它不可信任,而且正是显示部分产生了用户的思想模型,并相应地再从运行中直接产生新的显示。但这种思想在可用性和功能性方面的成本都非常高,毕竟大多数在线消息都是合法的,其显示正确反映了运行,钓鱼消息只是很少见(但有害)的特例。因此,这种解决办法为了制止少数做坏事的人,将会不恰当地牺牲合法发信人显示和标识自己的自由。
因此,我们必须接受这一事实,即用户将查看带有误导性的显示和运行的消息。本文所讨论的从计算机方面防范钓鱼攻击就是为了使计算机能成为用户的思想模型和真实的系统模型间联系的桥梁,但用户将是判断一个消息是否是钓鱼攻击的最终决定者,因为钓鱼攻击的目标是用户如何为其在线交流赋予语义含义,这种赋予过程不在系统的控制范围之内。
三、常见钓鱼攻击技术
钓鱼攻击使用多种技术,使一封电子邮件信息或网页的显示同其运行表现出欺骗性差异。下面列出了一些较为常见攻击技术。
1、复制图片和网页设计、相似的域名
用户鉴别网站的一种方法是检查地址栏中显示的URL。为了达到欺骗目的,攻击者会注册一个域名,它看起来同要假冒的网站域名相似,有时攻击者还会改变大小写或使用特殊字符。由于大多数浏览器是以无衬线字体显示URL的,因此,“paypaI.com”可用来假冒“paypal.com”,“barcIays.com”可用来假冒“barclays.com”。更常见的是,假域名只简单地将真域名的一部分插入其中,例如,用“ebay-members-security.com”假冒“ebay.com”,用“users-paypal.com”假冒“paypal.com”。而大多数用户缺少判断一个假域名是否真正为被仿冒公司所拥有的工具和知识。
2、URL隐藏
假冒URL的另一种方法利用了URL语法中一种较少用到的特性。用户名和密码可包含在域名前,语法为:http://username:password@domain/。攻击者将一个看起来合理的域名放在用户名位置,并将真实的域名隐藏起来或放在地址栏的最后,例如“http://earthlink.net%6C%6C...%6C@211.112.228.2”。网页浏览器的最近更新已关闭了这个漏洞,其方法是在地址栏显示前将URL中的用户名和密码去掉,或者只是简单的完全禁用含用户名/密码的URL语法,Internet Explorer就使用了后一种办法。
3、IP地址
隐藏一台服务器身份的最简单办法就是使它以IP地址的形式显示,如http://210.93.131.250。这种技术的有效性令人难以置信,由于许多合法URL也包含一些不透明且不易理解的数字,因此,只有懂得解析URL且足够警觉的用户才有可能产生怀疑。
4、欺骗性的超链接
一个超链接的标题完全独立于它实际指向的URL。攻击者利用这种显示和运行间的内在差异,在链接标题中显示一个URL,而在背后使用了一个完全不同的URL。即便是一个有着丰富知识的用户,他在看到消息中显而易见的URL后也可能不会想到去检查其真实的URL。检查超链接目的地址的标准方法是将鼠标放在超链接上,其URL就会在状态栏中显示出来,但这也可能被攻击者利用JavaScript或URL隐藏技术所更改。
5、隐藏提示
还有一种更复杂的攻击,它不是在URL上做文章,而是通过完全替换地址栏或状态栏达到使其提供欺骗性提示信息的目的。最近发生的一次攻击就使用了用JavaScript在Internet Explorer的地址栏上创建的一个简单的小窗口,它显示的是一个完全无关的URL。
6、弹出窗口
最近对Citibank客户的一次攻击使网页复制技术前进了一步,它在浏览器中显示的是真实的Citibank网页,但在页面上弹出了一个简单的窗口,要求用户输入个人信息。 |