四、对钓鱼攻击的防范
正如前面提到的eBay网站被攻击的例子,我们可将在线交流分为四步(图5):
消息获取。一封电子邮件或一个网页从互联网到达用户的个人计算机。
显示。消息在用户界面上显示,用户查看消息,并形成思想模型。
行动。在思想模型的指引下,用户在用户界面中采取行动,如点击链接或填表。
系统操作。用户的行动被转变为系统操作,如连接一台网络服务器并提交数据。
图5 人-计算机交流的四个步骤
1、消息获取阶段
在理想状态下,对钓鱼攻击的最佳防范是通过在消息获取时过滤所有钓鱼攻击通信并进行拦截,使他们不能显示给用户。这种解决办法的基本要求是计算机必须能准确地从合法消息中识别出钓鱼消息。在消息获取时过滤的防范措施取决于计算机易于理解的消息的属性。
发信人的身份
其中的一个属性是发信人的身份,“黑名单”被广泛用于拦截潜在的危险或不受欢迎的消息,如垃圾邮件。如果发信人的IP地址在“黑名单”中,接收的消息就被当作垃圾邮件,或者甚至在不通知用户的情况下简单地拒收。“黑名单”可以由单独的用户来管理,Internet Explorer的Content Advisor(内容顾问)(图6)就是采用这种方法,它还可以由一个组织或由许多用户协作进行管理。
图6 Internet Explorer的Content Advisor
对今天的互联网来说,“黑名单”已不再是一种有效的防范措施,因为攻击者很容易制造新的身份,如新的邮件地址和新的域名,甚至新的IP地址的费用也很低,且很容易获得。“黑名单”必须不断进行更新,才能向用户提供来自新创建消息源的危险消息的警报。由于钓鱼网站只存在很短的时间,“黑名单”每隔几小时甚至几分钟就必须进行更新,以保持拦截攻击的有效性。
与“黑名单”相对的是“白名单”,它允许用户只查看来自可接受消息源列表的消息,例如,Secure Browser(安全浏览器)使用许可的URL列表来控制用户在互联网上浏览的内容。“白名单”避免了新身份的问题,因为新创建源的初始状态被标记为不可接受,但是,确定“白名单”是一个很头疼的问题,因为要预测用户可能需要浏览的内容是不可能的,一个预先确定的、固定的“白名单”不可避免地会拦截用户访问合法的网站,另一方面,一个动态的“白名单”需要用户不断维护,这给用户造成了负担,因为对于用户要访问的每一个网站,他们首先必须决定是否将它放入“白名单”中。这还造成一个缺陷,即如果一个钓鱼网站能获得用户的信任并向其提交敏感数据,它也能获得用户的信任并将其放入“白名单”中。
消息的文本内容
消息过滤所涉及的另一个属性是消息的文本内容,这种内容分析的方法被广泛用于反垃圾邮件和防病毒解决方案中。危险的消息可通过搜索已知的模式如垃圾邮件关键词和病毒代码特征进行探测。为了对付内容分析,攻击者可将内容进行篡改,使其能绕过已知的过滤规则,例如,目前的病毒采用了加密和压缩的方法以绕过反病毒扫描,另外,还可在垃圾邮件中插入任意的字符,使其能绕过垃圾邮件过滤器,还有一种更复杂的钓鱼攻击,它使用图片的方式显示文本消息,因此能逃过内容分析。
垃圾邮件过滤是在消息获取时应用的一种防范措施。由于几乎所有的钓鱼攻击目前都是通过垃圾邮件进行的,因此,控制垃圾邮件可以大大降低遭受钓鱼攻击的危险。然而,许多垃圾邮件过滤器所使用的技术是通过扫描消息内容中的关键词来分辨垃圾邮件和合法邮件,这种技术已不足以识别钓鱼攻击,因为钓鱼消息是经过精心设计的,它模仿来自已同用户建立信任关系的组织发送的合法邮件。即使垃圾邮件过滤器设法大量减少了垃圾邮件问题,我们也可以预见,钓鱼攻击将采用其他传播途径,如在讨论网站上发表匿名评论,或严格筛选邮件攻击的目标,而不是通过广播方式发送垃圾邮件。
2、显示阶段
当一个消息通过邮件客户端程序或网页浏览器提供给用户时,用户界面也能提供一些可视线索,帮助用户确定该消息是否是合法的。
当前的网页浏览器通过一系列可视线索提供网页的源地址和完整性信息,例如,窗口上方的地址栏能显示所打开网页的URL,状态栏还会显示一个有代表性的锁的图标,表明该网页是否通过一个加密的、已被验证的连接打开的。目前这些线索在应对钓鱼攻击的防范中被广泛应用且最易为用户所理解,对钓鱼攻击的安全建议也提醒用户要在任何时候都密切关注这些线索。
但是,这些可视的线索也有一些缺陷。首先,这些线索显示在浏览器的外围区域,同网页的内容是分离的,而内容位于中央,且永远是用户的关注焦点,外围的线索必须要能引起用户的注意。其次,这些线索可被“钓鱼者”直接攻击。前面已经提到的URL隐藏和域名相似就是地址栏欺骗的一个例证,攻击者还利用JavaScript和Java程序隐藏或伪造其他安全线索,包括地址栏、状态栏、验证对话框、SSL锁图标、SSL证书信息等。
eBay的Account Guard将一个地址身份指示器放入专用的工具栏,Account Guard将互联网分为三类:
真正属于eBay或PayPal的网站,用绿色图标指示
已知的eBay或PayPal欺骗网站,用红色图标指示
所有其他网站,用中灰色图标指示
图7 eBay的Account Guard工具栏
这种方法的一个问题是它缺乏可量测性,钓鱼攻击的对象不仅限于eBay和PayPal,截止2004年10月,反钓鱼攻击工作组已收集了针对39个不同组织客户的攻击。要想把所有可能的工具栏(每一个工具栏代表单独的一个组织)都放进一个浏览器是不可能的,一种较好的办法是由一个权威机构如VeriSign或TRUSTe创建和管理一个工具栏,其他组织如果已经成为或害怕成为钓鱼攻击的受害者可以订购该工具栏。VeriSign可能会立即着手这项计划,推出一个能自动验证其所有VeriSign安全戳记计划成员的工具栏。
SpoofStick是一个浏览器的扩展,它帮助用户解析URL并通过在一个专用工具栏上显示最相关的域信息来探测URL欺骗,例如,当目前的URL是“https://signin.ebay.com@10.19.32.4”时,SpoofStick就会显示“你在10.19.32.4上”,当目前的URL是“https://www.citibank.com.intl-en.us”时,SpoofStick就会显示“你在intl-en.us上”。由于SpoofStick使用了彩色的大字体,该工具栏较易被用户所注意,但SpoofStick不能解决相似域名问题,例如,它不能确定ebay-members-security.com是否是eBay拥有的域名,或者mypaypal.com是否是PayPal的合法域名。如果用户认为这两个域名是合法的,那么即使用户安装了SpoofStick,他也会上当受骗,而且,目前尚不清楚是否IP地址而不是域名能在用户的头脑中引起足够的警觉,因为一些合法的网站也使用纯粹的IP地址,如Google缓冲存储器。
图8 SpoofStick工具栏
为了解决伪造线索的问题,一些专家提出了同步随机动态边界技术,按照这种方法,所有合法的浏览器窗口以任意的时间间隔同时变换它们的边界颜色,由于远程机器产生的欺骗窗口无法得到本地机器产生的随机值,因此,其边界颜色的变化不会与合法窗口边界颜色的变化同步。Mozilla网络浏览器对这种方法进行了考虑,但由于担心用户不易理解,因此放弃了。
还有一些专家提出了一种相关的方法――个性化显示,按照这种方法,合法的浏览器窗口将被打上个人标记,如一幅用户的脸部照片。同样的原理还可用于区分合法网页和钓鱼攻击网页,例如,Amazon和Yahoo!使用姓名向注册用户传递问候。PassMark甚至走得更远,它将用户设置的一幅图片作为网站登录页面的一部分进行显示,因此在网站验证用户的同时用户也可验证网站。
个性化较难于进行欺骗,但要求用户进行更多的设置,如果网站能自动为用户选择一幅随机图片,用户就不用进行设置,但系统选择的图片对用户来说易于忘记。个性化的另一个问题是,缺少个性化的钓鱼攻击网页是否能引起用户的足够警觉,正面线索如个性化的缺少可能不会象负面线索如工具栏上红灯的存在那样引起用户的注意。
3、行动阶段
钓鱼攻击不仅要使用户上当受骗,而且要使用户按照欺骗信息的指示采取行动,因此,安全专家建议用户不要执行有潜在危险性的行动。例如,目前大多数钓鱼攻击利用电子邮件消息作为初始诱饵,并骗使接收者点击电子邮件中提供的链接,而该链接指向一台钓鱼攻击服务器。在此情况下,用户应无视电子邮件中的链接,并打开一个新浏览器窗口,手动输入合法网站的URL。这个建议可能不会被用户所采纳。考虑到钓鱼攻击消息相对于合法消息出现的频率很低,该建议为了防止用户点击极少数钓鱼邮件中的错误链接而牺牲了大多数合法邮件中超链接所带来的高效。
4、系统操作阶段
在一次成功钓鱼攻击的最后一步,用户的行动被转变成系统操作,这也是我们防止攻击的最后机会。但是,由于钓鱼攻击不是利用系统缺陷,攻击所涉及的系统操作都是非常正当的,例如,向远程服务器发送信息是一件很平常的事。只基于系统操作的告警将不可避免地导致较高的虚假错误率,即就合法行动向用户发出警告。这种高虚假错误率的最终结果是使用户关闭告警或按照习惯取消告警。
图9 基于系统操作的告警
有一种较为有趣的方法是按照系统操作的目的地修改系统操作,网络密码散列将这种思想应用于防范盗取网站密码的钓鱼攻击。浏览器自动将用户输入的密码同密码要发送到的域名进行散列,为每个网站产生一个唯一的密码,因此,它向钓鱼网站发送的就是经过散列的无用的垃圾信息。网络密码散列认为用户将在HTML环境中输入他们的密码,但高级攻击可以诱骗用户通过其他途径泄露其密码。
(责任编辑:luwei) |