OAuth和网络钓鱼漏洞是否无情地捆绑在一起?

时间:2010-02-01 20:22:41

标签: security oauth phishing

我最近在OAuth上做了很多工作,我不得不说我真的很喜欢它。我喜欢这个概念,我喜欢它为用户提供一个低门槛,让您将外部数据连接到您的站点(或者为您提供外部消费的数据apis)。就个人而言,我一直拒绝那些要求我直接向他们提供我的登录信息的网站。而OAuth“网络代客密钥”方法很好地解决了这个问题。

我(以及其他许多人)看到的最大问题是,标准的OAuth工作流程鼓励了网络钓鱼攻击使用的相同类型的行为。如果您训练您的用户将重定向到站点以提供登录凭据是正常行为,那么钓鱼网站很容易利用该正常行为,而是重定向到他们捕获您的用户名和密码的克隆站点。 / p>

如果有的话,你做了什么(或看到过)来缓解这个问题?

  • 您是否告诉用户手动登录提供网站,没有自动链接或重定向? (但这会增加进入门槛)

  • 您是否尝试教育您的用户,如果是,何时以及如何?用户必须阅读的任何冗长的安全性解释也会增加进入门槛。

还有什么?

6 个答案:

答案 0 :(得分:2)

我相信OAUth和网络钓鱼它们是无情的联系在一起,至少在OAuth的当前形式中是这样。有一些系统可以防止网络钓鱼,最常见的HTTP(暂停笑声......),但显然它不起作用。

网络钓鱼是对需要用户名/密码组合的系统的非常成功的攻击。只要人们使用用户名和密码进行身份验证,网络钓鱼将始终是一个问题。更好的系统是使用非对称加密进行身份验证。所有现代浏览器都内置了对智能卡的支持。你不能将一张卡片放在某人的钱包中,并且黑客攻击用户的桌面也不会泄露私钥。非对称密钥对不一定是在智能卡上,但我认为它构建的系统比纯粹在软件中实现的系统更强大。

答案 1 :(得分:1)

您在重定向到的网站上有一个帐户,是否应该实施反网络钓鱼措施,例如签名短语和图片?这也利用了用户从例如现有的任何培训。通常使用这些措施的银行。

通常,登录页面应向用户显示用户友好的共享机密,以确认他们登录的网站的身份。

正如Jingle所说,可以使用ssl证书进行身份验证,但在这种情况下,用户无法将证书直接从站点加载到其Web浏览器中,作为OAuth设置过程的一部分?如果已经与该站点建立了信任关系,我不确定是否需要进一步使用CA.

答案 2 :(得分:1)

有一些技术可用于避免或减少网络钓鱼攻击。我列出了便宜的选项:

  1. 相互识别资源。 E.x.仅在用户输入其用户名后显示与特定用户关联的图标。
  2. 使用不确定的用户名,并将电子邮件作为用户名。
  3. 包含用户选项以查看其登录历史记录。
  4. QRCode允许在智能手机之前预先注册的设备中进行身份验证。喜欢whatsapp web。
  5. 在用户可以在官方公司站点中验证的登录页面中显示身份验证号码。
  6. 上面列出的所有选项都高度依赖于用户对信息安全和隐私的教育。仅在第一次身份验证时出现的向导可以帮助实现此目标。

答案 3 :(得分:0)

延长代客比喻:你怎么知道你可以相信男仆,而他/她不仅仅是有人尝试呢?你并不是真的:你只是根据背景做出那种(也许是无意识的)判断:你知道酒店,你以前在那里受益,甚至可能认出你给你钥匙的人。

以同样的方式,当您使用OAuth(或OpenID)登录时,您将用户重定向到他们应该熟悉的站点/ URL,因为他们正在从该站点提供其已知的站点/ URL它们。

答案 4 :(得分:0)

这不仅仅是OAuth问题,也是OpenID的问题。更糟糕的是,对于OpenID,你给了一个网站你的提供者,如果你没有伪造的网站,很容易自动抓取该网站,并生成一个然后引导你的用户。

幸运的是,没有任何严肃的使用OpenID进行身份验证 - 博客文章,flickr评论只不是一个多汁的目标。

现在OpenID正在进行缓解,因为他们开始开发信息卡支持,其中客户端软件形状的固定UI将提供一个安全的身份“钱包”,但MS似乎已经放弃了球他们自己在信息卡上,即使这是他们的(开放)规范。

它不会很快消失。

答案 5 :(得分:0)

如何通过ssl认证来认证oAuth提供商?只有经过认证的oAuth提供商才是值得信赖的。但问题是,与ssl认证一样,CA很重要。