OpenID和OAuth易受攻击,需保持警惕

2014 年05 月5日

在发现恼人的Heartbleed bug短短数周之后,像你我这样的普通网民可能需要关心一下另一个看似普遍的问题,这个问题无法轻易给出答案。这个问题就是”隐蔽重定向”bug的准确定义,并于近期由新加坡南洋理工大学数学系的王晶博士公布。这些问题是在流行的互联网协议OpenID和OAuth中发现的;前者在您使用来自谷歌、Facebook和LinkedIn的现有登录信息来登录网站时使用,后者是在您授权网站、应用程序或服务使用您的Facebook/G+账号而非真正输入您的密码并登录第三方网站时使用。这两个协议通常结合使用,但事实证明,这可能会导致您的信息泄露。

威胁

我们在Threatpost的朋友针对这一问题给出了更具技术性的解释,并顺带提供一个原始研究链接,但我们会省略不必要的细节,只说明可能发生的攻击场景和后果。首先,用户访问一个恶意钓鱼网站,其中出现典型的”使用Facebook账号”登录的按钮。钓鱼网站可能酷似流行的第三方服务或将自己伪装为一个全新服务。一旦您点击该按钮,则会出现一个逼真的Facebook/G+/LI弹出窗口,提示用户输入自己的登录名和密码信息以授权上述(并且可能有声誉的)服务来访问他们的用户配置文件。最后,使用不当的重定向方式,将使用该配置文件的授权被发送到不正当(钓鱼)网站。

首先,用户访问钓鱼网站,并尝试使用Facebook账户或其他OpenID提供商账户登录。

在当天结束的时候,网络罪犯收到一个适当的授权(OAuth token),利用原始应用程序拥有的任何权限来访问受害人的配置文件——最好的情况下,只是访问基本的用户详细信息;最坏的情况下,可读取联系人、发送消息等内容。

这一bug已被修复?事实并非如此

这个威胁不会很快消失,因为修复必须在提供商端(如Facebook/LinkedIn/谷歌)和客户端(第三方应用程序或服务)同时执行。OAuth协议仍处于测试阶段,各个供应商使用不同的手段措施,并依据抵御上述攻击的能力而各有不同。LinkedIn在修复方面处于更有利的位置,因采取了更为严格的处理措施:即要求第三方开发人员提供适当重定向的”白名单”。到目前为止,每个使用LinkedIn授权的应用程序或安全或依然无法运行。而Facebook面临的情况则有所不同,因为其所拥有大量第三方应用程序,并且这些应用可能使用更早版本的OAuth执行。这就是为什么Facebook的代表告诉王晶,”无法在短期内修复的原因”。

此外,还存在众多似乎易受攻击的其他供应商(查看以下图片),因此如果您使用这些服务登录某些网站,则必须采取行动。

您的行动计划

对于最谨小慎微的用户来说,最可靠的解决方案是在未来数月放弃使用OpenID和这些便利的”使用……登录”按钮。您可能会受益于增强的隐私性,但使用社交网络账户登陆将导致您线上行为被更有效地追踪,并使越来越多的网站可以读取您的个人基本数据。为了避免因登录各种网站而不得不记住几十甚至上百个不同密码,您可能最终会使用有效密码管理器。当今的大多数服务都配有多平台客户端和云同步,以确保您能在自己不同的设备上访问您所有密码。

对于谨慎的用户来说,最好的解决方案莫过于在今后几个月放弃使用Facebook/谷歌账号登录。#OpenID #CovertRedirect

然而,如果你打算继续使用OpenID授权,并不会发生什么直接的危险。你只需要保持高度警惕,避免任何网络钓鱼诈骗,它们的通常手法是首先向您的邮箱发送骚扰邮件,或者在Facebook或其他社交网络上提供吸引眼球的链接。如果您使用Facebook/Google等账号登录到某些服务,应确保您使用手动输入的地址或书签打开此服务的网站,而不是点击您的邮件或者消息中的链接。仔细检查地址栏,避免访问粗制滥造的假网站,且不使用OpenID注册新服务,除非您100%肯定相应服务信誉良好且登录的是正确网站。此外,请在您所有设备上使用安全浏览解决方案,如卡巴斯基安全软件多设备版,以防止浏览器访问危险站点,包括网络钓鱼网站。

这只是一个为谨慎起见而采用的普通防范练习,每位互联网用户应每天进行这样的练习。网络钓鱼的威胁分布广泛而危害巨大,它会导致各类数字财产损失,包括:信用卡卡号和电子邮件登录账号等。OpenID和OAuth中出现的”隐蔽重定向”bug只是让您更有理由进行防范——没有例外。