最新OAuth 2.0漏洞影响10亿用户 接近250个流行安卓应用都有问题 苹果IOS应用也一样【转】

发布时间:2016年11月10日 09:29

OAuth 2.0漏洞导致账户被非法接管。安全研究人员发现,攻击者可利用OAuth 2.0中的漏洞入侵移动应用账户,并对其进行控制。

接近250个流行安卓应用都有问题

来自香港中文大学的三位研究人员在其最近发布的 OAuth 2.0漏洞研究论文 (PDF文档下载见文末)(也在欧洲黑帽安全大会BlackHat进行了分享)中,介绍了该漏洞的流行程度和严重影响。研究人员指出,在采用了Facebook、Google和Sina提供的基于OAuth 2.0的认证服务的600个最流行的安卓应用中,41.21%的存在漏洞。

由于第三方网站广泛采用基于OAuth 2.0的单点登录(SSO)服务,安全研究人员称,身份标识服务提供商如Facebook、Google和新浪,已为其社交媒体平台上的第三方移动应用采用了OAuth 2.0,以便支持单点登录。然而,由于系统环境存在差异,“ 原始的OAuth 2.0协议缺乏明确的含义。

身份标识服务提供商对基于OAuth 2.0的API进行了扩展,以便使其平台上的第三方移动应用支持单点登录,但通常不会记录或考虑此类调整的运营需求。

认证过程也很复杂,依赖于第三方(客户端侧)应用、客户端侧的IDP应用,以及第三方的后端服务器和IDP服务器之间的交互。如果移动应用服务器从其他相关实体接收的数据缺乏合理验证,就会出现问题。

安全研究人员解释说,

此漏洞的根本原因是第三方应用的后端服务器,普遍误认为从其客户端侧的移动应用接收的认证信息是可靠的,而这些认证信息一般是从IDP的客户端侧的移动应用处获取的可能已修改过的信息。

为演示此安全缺陷,研究人员构建了一个远程漏洞利用程序,可使攻击者无需与受害者交互即可通过OAuth 2.0入侵其移动应用账户。研究人员在安卓操作系统上演示了攻击,但他们表示iOS应用同样存在此漏洞。

安全研究人员也解释了某些不安全的OAuth 2.0实现,例如,

  • 后端服务器并不检查其收到的用户标识是否与已发放的OAuth访问令牌进行了绑定;
  • 移动应用并未对用户身份资料的IDP数字签名进行验证;
  • 移动应用从移动设备检索用户信息并将其作为身份凭证发送给后端服务器。

OAuth 2.0漏洞影响10亿用户

在分析使用OAuth 2.0的移动应用时,研究人员发现41.21%的此类应用均存在漏洞,称这为超过10亿用户带来安全风险。受影响的应用包括旅行规划、酒店预订、聊天、交友、金融、下载、购物方面的应用。此外,利用媒体播放器播放内容也存在此漏洞。对受影响的应用的总下载次数已超过24亿次。

研究人员称,

“通过利用我们的漏洞应用程序入侵受害者的受影响的移动应用帐号,攻击者在很多时候均可获得受害者在受影响的移动应用的后端服务器托管的敏感私人信息的所有访问权限。对于某些移动应用来说,受害者账户的在线货币/服务信用均在攻击者的掌控之中。”

OAuth 授权的工作原理

知乎李天放是这样解释的

新浪微博就是你的家。偶尔你会想让一些人(第三方应用)去你的家里帮你做一些事,或取点东西。你可以复制一把钥匙(用户名和密码)给他们,但这里有三个问题:

1)别人拿了钥匙后可以去所有的房间
2)别人拿到你的钥匙后也许会不小心丢到,甚至故意送到它人手里。这样你都不知到谁有你家钥匙。
3)过一段时间你也许会想要回自己的钥匙,但别人不还怎么办?

OAuth 是高级钥匙:

1)你可以配置不同权限的钥匙。有些只能进大厅(读取你的微博流)。有些钥匙可以进储藏柜(读取你的相片)
2)钥匙上带着指纹验证的(指纹 = appkey)。 收到钥匙的人只能自己用,不能转让
3)你可以远程废除之前发出的钥匙

相对来说, OAuth比给出用户名密码安全

OAuth2.0是什么

OAuth2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。2012年10月,OAuth 2.0协议正式发布为RFC 6749

OAuth 2.0漏洞怎么应对

研究人员建议,针对基于OAuth 2.0的单点登录API,IDP应为第三方应用开发人员提供更为清晰的安全相关的使用指南。研究人员同时指出,移动应用的后端服务器应只信任与IDP的服务器直接交换的信息。IDP应针对每个移动应用发放用户标识,且应对第三方移动应用开展或强调更为彻底的安全测试。

相关文章请参看

【期待荷兰研究员在欧洲BlackHat 2016 发布PLC Rootkit】

绿盟科技研究员刚实现PLC蠕虫 荷兰研究员就要发布PLC Rootkit 据说这种攻击难以检测

BlackHat上的工控蠕虫病毒 绿盟科技工控研究员用SCL语言编写实现 录像让你亲眼看看

Blackhat黑客15分钟让ATM吐出5万美金

此条目发表在Android, 漏洞攻击分类目录。将固定链接加入收藏夹。