二、钓鱼――“语义攻击”
国际著名安全问题专家布鲁斯·施奈尔曾称,攻击计算机网络的方法可分为越来越复杂和抽象的不同波次。第一波攻击在本质上是物理性的,其目标是计算机、网络设备和它们之间的链路,其目的是使信息流发生中断。 第二波攻击由一系列“句法攻击”组成,其目标是网络协议、加密算法或软件运行中的缺陷,“句法攻击”是近十年来安全研究的主要对象。第三波攻击是“语义攻击”,其目标是我们作为人类所赋予内容的意义。
钓鱼攻击是一种“语义攻击”。成功的钓鱼攻击取决于用户对一个信息如一封电子邮件或一个网页的理解方式和该信息实际结果间的差异。图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语法中一种较少用到的特性。用户名和密码可包含在域名前,语法为:https://username:password@domain/。攻击者将一个看起来合理的域名放在用户名位置,并将真实的域名隐藏起来或放在地址栏的最后,例如“https://earthlink.net%6C%6C...%6C@211.112.228.2”。网页浏览器的最近更新已关闭了这个漏洞,其方法是在地址栏显示前将URL中的用户名和密码去掉,或者只是简单的完全禁用含用户名/密码的URL语法,Internet Explorer就使用了后一种办法。
3、IP地址
隐藏一台服务器身份的最简单办法就是使它以IP地址的形式显示,如https://210.93.131.250。这种技术的有效性令人难以置信,由于许多合法URL也包含一些不透明且不易理解的数字,因此,只有懂得解析URL且足够警觉的用户才有可能产生怀疑。
4、欺骗性的超链接
一个超链接的标题完全独立于它实际指向的URL。攻击者利用这种显示和运行间的内在差异,在链接标题中显示一个URL,而在背后使用了一个完全不同的URL。即便是一个有着丰富知识的用户,他在看到消息中显而易见的URL后也可能不会想到去检查其真实的URL。检查超链接目的地址的标准方法是将鼠标放在超链接上,其URL就会在状态栏中显示出来,但这也可能被攻击者利用JavaScript或URL隐藏技术所更改。
5、隐藏提示
还有一种更复杂的攻击,它不是在URL上做文章,而是通过完全替换地址栏或状态栏达到使其提供欺骗性提示信息的目的。最近发生的一次攻击就使用了用JavaScript在Internet Explorer的地址栏上创建的一个简单的小窗口,它显示的是一个完全无关的URL。
6、弹出窗口
最近对Citibank客户的一次攻击使网页复制技术前进了一步,它在浏览器中显示的是真实的Citibank网页,但在页面上弹出了一个简单的窗口,要求用户输入个人信息。
7、社会工程
钓鱼攻击还使用非技术手段使用户坠入陷阱,其中的一个策略就是急迫性,从而使用户急于采取行动,而较少花时间去核实消息的真实性。另一个策略是威胁用户,如果不按照所要求的去做就会造成可怕的后果,如终止服务或关闭帐户,少数攻击还许诺将获得巨额回报(如“你中了一个大奖!”),但威胁攻击更为常见,用户往往会对不劳而获产生怀疑,这可能是人类的本能。
钓鱼攻击还有一些值得关注的特点:
1、持续时间短
大多数钓鱼网站只存在很短的一段时间,其单位以天甚至小时计算。
2、憋脚的语言
许多钓鱼攻击所用的消息存在大量的拼写错误、语法错误或使人困惑的措词。
(责任编辑:luwei) |