数百万个应用程序如何受到单个安全黑客的攻击

在今年的Black Hat Europe安全会议上,来自香港中文大学的两名研究人员进行了研究,结果表明,该漏洞影响了Android应用程序,可能使超过10亿个已安装的应用程序容易受到攻击。

exploit依靠OAuth 2.0授权标准的移动实施的中间人攻击。这听起来很技术性,但实际上是什么意思,您的数据安全吗?

什么是OAuth?

OAuth是许多网站和应用程序使用的开放标准,可让您通过使用许多OAuth提供者之一的帐户登录到第三方应用或网站。谷歌,Facebook和Twitter是一些最常见和众所周知的示例。

“单点登录"(SSO)按钮允许您授予对帐户信息的访问权限。当您单击Facebook按钮时,第三方应用程序或网站将查找访问令牌,以授予其访问您的Facebook信息的权限。

如果未找到此令牌,将要求您允许第三个方访问您的Facebook帐户。授权后,Facebook会从第三方收到一条消息,要求获取访问令牌。

Facebook会以令牌进行响应,向第三方授予对您指定信息的访问权限。例如,您授予访问基本个人资料信息和朋友列表的权限,但不授予照片的访问权限。第三方接收令牌,并允许您使用Facebook凭据登录。然后,只要令牌没有过期,它就可以访问您授权的信息。

这似乎是一个很好的系统。您只需要记住较少的密码,就可以轻松登录并使用您已经拥有的帐户来验证您的信息。 SSO按钮在移动设备上更有用,在移动设备上创建新密码,在其中授权新帐户可能很耗时。

出了什么问题?

最新的OAuth框架-OAuth 2.0 —于2012年10月发布,并非专为移动应用而设计。这导致许多应用程序开发人员不得不自己实施OAuth,而没有关于应如何安全地完成OAuth的指导。

网站上的OAuth使用第三方与SSO提供商的服务器之间的直接通信(移动设备)应用程序不使用这种直接通信方法。而是,移动应用程序通过您的设备相互通信。

在网站上使用OAuth时,Facebook会将访问令牌和身份验证信息直接传递给第三方服务器。然后可以在登录用户或访问任何个人数据之前验证此信息。

研究人员发现,很大比例的Android应用程序都缺少此验证。相反,Facebook的服务器将访问令牌发送到Facebook应用。然后,访问令牌将被传递到第三方应用程序。然后,该第三方应用程序将允许您登录,而无需向Facebook的服务器验证用户信息是否合法。

攻击者可以自己登录,触发OAuth令牌请求。一旦Facebook授权了令牌,他们便可以将自己插入Facebook的服务器和Facebook应用之间。然后,攻击者可以将令牌上的用户ID更改为受害者的ID。用户名通常也是公开可用的信息,因此攻击者几乎没有障碍。一旦更改了用户ID(但仍授予了授权),该第三方应用将以受害者的帐户登录。

这种类型的利用被称为中间人( MitM)攻击。这是攻击者能够截取和更改数据的地方,而两方都认为他们是彼此直接通信的。

这如何影响您?

如果攻击者是能够欺骗应用程序使其相信自己就是您,然后黑客可以访问您存储在该服务中的所有信息。研究人员创建了下面显示的表格,其中列出了您可能在不同类型的应用程序上看到的一些信息。

某些类型的信息的破坏性要小于其他类型。与所有旅行计划相比,您不太可能担心暴露新闻阅读历史记录,也不会担心以您的名义发送和接收私人消息。这使人警醒地提醒我们,我们经常将信息委托给第三方-以及滥用信息的后果。

您是否会担心?

研究人员发现,其中41.21%在Google Play商店中,支持SSO的600种最受欢迎​​的应用容易受到MitM攻击。这可能会使全球数十亿用户遭受这种攻击。该团队在Android上进行了研究,但他们相信可以在iOS上进行复制。这可能会使两个最大的移动操作系统上的数百万个应用程序容易受到此攻击。

在撰写本文时,尚无互联网工程任务组(IETF)的官方声明, OAuth 2.0规范。研究人员拒绝透露受影响的应用的名称,因此在移动应用上使用SSO时应谨慎行事。

有一线希望。研究人员已经提醒Google和Facebook以及该漏洞利用的其他SSO提供者。最重要的是,他们正在与受影响的第三方开发人员一起解决该问题。

您现在可以做什么?

虽然可能正在进行修复,但是很多受影响的应用程序需要更新。这可能会花费一些时间,因此不建议同时使用SSO。相反,当您注册一个新帐户时,请确保创建一个强密码来为您完成繁重的工作。

进行自己的安全性检查是一个好习惯。

< strong>您认为现在该离开单点登录了吗?您认为最好的登录方法是什么?您受此漏洞影响了吗?让我们在下面的评论中知道!

图片来源:Marc Bruxelle / Shutterstock

标签: Facebook 智能手机安全性