下载本文的PDF版本 PDF

禁止网络钓鱼

当前的反网络钓鱼技术阻止用户上当受骗。

NAVEEN AGARWAL、SCOTT RENFRO和ARTURO BEJAR,雅虎!

网络钓鱼是当今互联网用户面临的重大风险。1,2 通过电子邮件或即时消息,用户被引导至伪造的网站,这些网站旨在诱骗他们泄露用户名、密码、账号和个人信息。确保网站的真实性取决于用户自身。

浏览器提供了一些工具(例如,URL、SSL 指示器和可选工具栏),但这些工具至少受到以下三个问题的限制

登录印章概述

雅虎! 登录印章是一项功能,允许用户使用他们选择的图像个性化登录页面。3,4 与美国银行使用的 Passmark SiteKey5 不同,个性化设置与浏览器/计算机绑定,而不是与特定的用户帐户绑定。这是一个关键的区别,赋予了这两种解决方案截然不同的属性。

在登录雅虎!时,尚未个性化其登录页面的用户会收到一个 CTA(行动号召),提示他们这样做。这以标题为“防止密码盗窃”的图像形式出现在登录页面的登录字段旁边。

用户可以使用上传的图像或用户提供的文本创建登录印章。文本背景和边框颜色是随机选择的,但用户可以选择更改颜色。如果用户选择上传图像,则会调整图像大小以进行存储;如果用户选择输入文本,则会从提供的文本创建图像。准备好的图像存储在雅虎!的图像服务器上,并在那里接收唯一的 ID。该图像只能使用有效的令牌访问,该令牌是限时的,并受登录服务器和图像服务器之间共享的密钥保护。

图像存储后,会以预览形式显示。用户可以进行其他更改,然后保存它。此印章特定于正在使用的计算机,并且不与用户的帐户关联。因此,此计算机的登录印章不会出现在其他计算机上,除非用户恰好设置了外观相同的印章——即便如此,这两个印章虽然看起来相同,但彼此无关。

由于印章特定于特定计算机可能并不明显,因此在用户保存印章时会提醒用户,该印章仅在当前计算机上设置,并且用户必须为其他计算机创建印章。雅虎! 将加密的唯一 ID 保存在 cookie 中,以便登录服务器稍后生成包含有效令牌的图像 URL。此图像 URL 嵌入在登录页面中,导致从图像服务器获取图像。由于用户可能会在无意中清除 cookie,从而删除登录印章,因此雅虎! 还通过浏览器中可用的其他机制(例如,Flash Shared Object、Internet Explorer Persistent User Data6)缓存该信息。仅当 cookie 丢失时,此缓存信息才用于显示登录印章。用户可以通过设置页面删除其印章。尽管这些缓存可能会失去同步,但它们不常用;因此,定期同步它们通常就足够了。

然后用户将被带到一个登录页面,印章会突出显示在登录框内。将来任何时候,使用同一浏览器/计算机的任何人都可以更改登录印章。

设计考虑因素

在雅虎!创建登录印章之前,我们确定了一组三个公理,这些公理对于分析反网络钓鱼解决方案至关重要。我们将这些公理称为 Rusty 的公理,以 Rusty Shackleford 命名,Rusty Shackleford 是电视卡通片《山丘之王》中偏执狂角色 Dale Gribble 常用的笔名。

公理 1: 网络钓鱼者能看到的任何东西,他们都可以欺骗。如果使用通用指示器向用户提供有关站点/网页的信息,则网络钓鱼者可以轻松地复制该指示器并将其显示给用户。示例包括锁图标、浏览器 chrome 中的任何其他指示器或工具栏中的指示器。许多研究表明,大多数用户不注意这些指示器。7,8

 登录印章根据用户选择的图像或文本为每个浏览器/计算机进行个性化设置。只有给定浏览器/计算机的用户才能看到与该浏览器/计算机关联的登录印章。用户选择的图像和文本的多样性使得欺骗登录印章比欺骗一小组库存图像或网络钓鱼指示器更困难。

公理 2: 用户知道的任何东西,他们都可以透露给网络钓鱼者。用户为保护其帐户而持有的秘密数量应受到限制,因为用户可能会并且将会被诱骗泄露这些秘密。所有基于密码的系统都面临用户泄露密码的风险。基于文本的印章和基于少量图像的系统可能存在很小的网络钓鱼风险(印章的实际文本可能会被网络钓鱼)。如果安全指示器的显示基于用户提供一些秘密信息,那么该解决方案就存在风险。

由于雅虎! 登录印章不允许跨计算机传输印章,因此除了印章本身之外,无法进行网络钓鱼。登录印章的显示基于在浏览器中设置的 cookie。与密码和帐户恢复信息不同,普通用户不容易将其 cookie 提供给网络钓鱼者。当然,防止可能在没有用户参与的情况下泄露此信息的浏览器或页面漏洞(例如,跨站点脚本)仍然很重要。

公理 3: 任何网络钓鱼解决方案都 只与其 第一步一样好。任何解决方案的缺点是,通常第一步是可欺骗的操作。解决方案应限制要求用户泄露秘密的可欺骗操作的数量。

登录印章不需要用户输入任何凭据(用户 ID、密码等)即可设置或查看印章。如果解决方案要求用户在使用他们知道的信息进行身份验证后才能显示,则存在用户被网络钓鱼的风险,因为网络钓鱼者可以欺骗此类页面。登录印章消除了这个问题,因为是站点需要向用户验证自身。

反网络钓鱼解决方案之间的一个常见区别是用户如何关联新计算机。在新计算机上设置登录印章不需要用户泄露秘密(而 SiteKey 解决方案需要秘密信息才能使用新计算机)。登录印章将新计算机用例与首次设置用例同等对待,鼓励用户确保他们实际上在雅虎!(通过检查 URL 以确保它以 https://login.yahoo.com/ 开头和/或手动在浏览器的位置栏中键入 yahoo.com)并在完成该过程之前设置新计算机。

我们在登录印章的设计早期也确定了一组业务和功能需求

登录应保持为一步过程。 雅虎! 拥有数百万每天登录的用户,他们已经习惯了当前的过程。保持登录为一步过程非常重要。

现有用户流程应在新解决方案存在或不存在的情况下继续工作。 雅虎! 为其用户提供许多服务,用户通过多种流程登录雅虎!(例如,Messenger、其他客户端、特定国家/地区的流程)。一次性更改所有流程是不切实际的。

用户应该能够从咖啡馆或手机轻松登录。 许多用户(尤其是在国际上)通过咖啡馆的公共计算机或手机访问雅虎! 服务。不能期望这些用户在登录前进行特殊设置。即使他们没有登录印章,他们也应该能够继续正常登录。

登录印章图像 URL 应频繁更改。 虽然用户不可见,但登录印章 URL 仅在短时间内有效且频繁更改。如果登录印章图像的 URL 不频繁更改,则有权访问用户浏览器历史记录或浏览器缓存的攻击者稍后可以重播嵌入在恶意页面中的同一图像。此外,对于长期存在的图像 URL,可能会说服用户泄露其登录印章图像 URL。使 URL 过期限制了这些攻击的有效性。

登录印章和任何包含它的页面都不能被框架化。 任何显示登录印章的页面都包含 JavaScript 防框架代码。允许框架化登录印章将允许攻击者将印章集成到恶意页面中。

登录印章使用用户提供的图片或文本而不是通用库存照片进行自定义。 我们预计,用户拥有给定自己选择的图像的时间越长,用户对该图像的亲和力就越强。

比较

当前的反网络钓鱼解决方案分为两大类:站点徽章和网络钓鱼指示器。

站点徽章。 站点徽章,如 Passmark SiteKey 和雅虎! 登录印章,允许用户自定义其登录页面。目的是更好地向用户验证站点。

Passmark SiteKey 针对部署该解决方案的每个站点进行自定义。设置发生在用户进行身份验证之后,并且涉及用户提供一些文本并选择其中一个库存图像。图像和文本与用户的浏览器/计算机以及用户的帐户相关联。

在同一浏览器/计算机上查看的未来登录页面上,用户的图像和文本会在用户输入用户 ID 后显示。从不同的计算机登录时,系统会要求用户提供一些帐户信息(类似于帐户恢复),以便与该帐户关联的图像和文本可以与该浏览器/计算机关联。

相比之下,雅虎! 登录印章仅与浏览器/计算机关联,而不与用户帐户关联。即使在不同的计算机上进行设置,设置也不需要任何帐户信息,这限制了提示用户提供泄露其图像的第一层身份验证数据的攻击的有效性。此外,登录印章基于个人图片而不是库存照片,这旨在提高对图像的亲和力。共享计算机的用户可以选择对整个群体有意义的图像(例如,家庭宠物的照片)。登录印章不适用于已知的公共计算机。

网络钓鱼指示器。 各种工具栏和浏览器加载项突出显示网络钓鱼和合法站点。这些解决方案通常依赖于启发式方法、黑名单和白名单。此解决方案通常不针对特定站点进行自定义,应有助于保护用户在任何互联网站点上的安全。

之前的研究评估了各种解决方案,发现大多数用户很少或根本不注意安全/网络钓鱼指示器。9,10 此外,可能存在隐私问题,以及黑名单中的误报和白名单中的漏报。

登录印章的有效性

轶事数据表明,用户随着时间的推移会对他们的图像产生强烈的亲和力,并且雅虎! 登录印章对于某些用户来说可能非常有效。不幸的是,我们尚未能够设计一项客观的研究来评估登录印章的实际性能。在实验室中准确衡量有效性是不太可能的,因为很难复制随着时间的推移对个人图像的亲和力增长的效果。

此外,由于登录印章不与用户关联,因此无法判断帐户被盗用的用户是否在使用配置了登录印章的浏览器/计算机时被网络钓鱼。

然而,我们从雅虎! 用户那里听说,登录印章帮助他们避免了被网络钓鱼。例如,这来自一位用户:“我今天在我的雅虎! messenger 中收到了这个。[文本和链接已删除。] 幸运的是,我一直在使用登录印章,所以当我点击链接时,我立刻知道这不是真的。我以前从未像这样被网络钓鱼过,所以我认为我应该提请您注意。”

可能的局限性

登录印章解决方案依赖于用户在登录时注意到印章。如果用户忽略了他们的印章未显示的事实并且仍然登录,他们很容易受到网络钓鱼的攻击。为了缓解这个问题,印章显示在他们输入信息的登录框内。印章也是个性化的,因此用户对其产生亲和力。雅虎! 已开始发放有效期为两周的身份验证凭据,因此用户登录频率较低,使登录过程成为一个特殊的事件。过去,用户必须每天登录;这使他们习惯于在不经过太多思考的情况下输入密码。随着用户习惯于每两周登录一次,他们可能会更容易注意到他们是否被要求更频繁地登录。

此解决方案的主要问题之一与清除 cookie 有关。如果用户将图像上传到雅虎! 服务器,他们希望它是持久的,而不是仅仅通过清除 cookie 和私人数据就消失了。我们已尝试通过浏览器中可用的其他机制(例如,Flash Shared Object、Internet Explorer Persistent User Data11)缓存信息来克服此问题。Internet Explorer 7 和 Firefox 2.0 为用户提供了一种轻松清除所有私人数据的方法。这会导致用户印章丢失,迫使他们重新设置印章。

登录印章的另一个问题与用户教育有关。SiteKey 解决方案经常与此解决方案混淆,一些用户(错误地)认为他们的印章与其帐户相关联。他们希望在他们使用的所有计算机上显示相同的印章,类似于 SiteKey。我们已尝试通过在用户设置印章时清楚地向他们传达信息来解决此问题。

从经验中学习

网络钓鱼是一个行业范围内的挑战,威胁和对策不断演变。社会和人为因素意味着没有完全有效的解决方案。只有通过从我们共同的经验中学习,我们才能希望更有效地保护互联网用户。我们发现 Rusty 的公理在分析登录印章和雅虎! 的其他几个功能时非常有用。问

参考文献

  1. 反网络钓鱼工作组。2007 年。网络钓鱼活动趋势报告(3 月); http://www.antiphishing.org/reports/apwg_report_february_2007.pdf
  2. 反网络钓鱼工作组,APWG 网络钓鱼档案; http://anti-phishing.org/phishing_archive.htm
  3. 雅虎! 公司。什么是登录印章?雅虎! 帐户安全; http://help.yahoo.com/l/us/yahoo/security/phishing/phishing-110140.html
  4. 雅虎! 公司。雅虎! 个性化登录印章; https://protect.login.yahoo.com/
  5. 美国银行。SiteKey:在线银行安全; http://www.bankofamerica.com/privacy/sitekey/index.cfm
  6. 持久化会话信息; http://msdn2.microsoft.com/en-us/library/ms533015.aspx
  7. Dhamija, R., Tygar, J., Hearst, M. 2006。为什么网络钓鱼会奏效。在人机交互系统 (CHI 2006),加拿大魁北克市(4 月 22–27 日)。
  8. Dhamija, R., Tygar, J. 2005。对抗网络钓鱼的战斗:动态安全皮肤。在可用隐私和安全研讨会论文集(7 月)。
  9. 参见参考文献 7。
  10. 参见参考文献 8。
  11. 参见参考文献 6。

NAVEEN AGARWAL 大部分时间都在想出创新的方法来保护用户。SCOTT RENFRO 通过嗅探和修复大型应用程序(包括他自己的应用程序)中的安全漏洞来谋生。ARTURO BEJAR 以偏执和让其他人偏执为生。所有作者都在雅虎!工作。

 

acmqueue

最初发表于 Queue vol. 5, no. 5
数字图书馆 中评论本文





更多相关文章

Shylaja Nukala, Vivek Rau - 为什么 SRE 文档很重要
SRE(站点可靠性工程)是一种职位职能、一种思维模式以及一组工程方法,用于使 Web 产品和服务可靠运行。SRE 在软件开发和系统工程的交叉点工作,以解决运营问题并设计解决方案,从而可扩展、可靠且高效地设计、构建和运行大型分布式系统。成熟的 SRE 团队可能拥有与许多 SRE 职能相关的完善的文档体系。


Taylor Savage - 组件化 Web
在当今的软件工程中,没有哪项任务比 Web 开发更艰巨。Web 应用程序的典型规范可能如下:该应用程序必须跨各种浏览器工作。它必须以 60 fps 的速度运行动画。它必须立即响应触摸。它必须符合特定的一组设计原则和规范。它必须在几乎所有可以想象的屏幕尺寸上工作,从电视和 30 英寸显示器到手机和手表表面。它必须在长期内得到良好的工程设计和可维护性。


Arie van Deursen - 超越页面对象:使用状态对象测试 Web 应用程序
Web 应用程序的端到端测试通常涉及使用诸如 Selenium WebDriver 之类的框架与网页进行棘手的交互。隐藏此类网页复杂性的推荐方法是使用页面对象,但是首先要回答一些问题:在测试 Web 应用程序时,应该创建哪些页面对象?页面对象中应包含哪些操作?给定页面对象,应该指定哪些测试场景?


Rich Harris - 消除准入壁垒
一场战争正在 Web 开发领域展开。一方是工具制造者和工具用户的先锋,他们以破坏糟糕的旧观念(在这个环境中,“旧”意味着一个月前在 Hacker News 上首次亮相的任何事物)以及关于转译器等问题的喧嚣辩论为乐。





© 保留所有权利。

© . All rights reserved.