频道栏目
首页 > 资讯 > 安全公告 > 正文

OAuth2.0部署不当,数十亿Android App账户存泄露风险

16-11-11        来源:[db:作者]  
收藏   我要投稿

香港大学的三名安全研究人员发现,众多支持单点登录的App没有正确部署OAuth2.0认证协议,攻击者可利用此漏洞远程登陆任何用户的App账户。

Ronghai Yang、Wing Cheong Lau和Tianyu Liu调查了美国和中国最热门的600个Android应用,发现182个应用支持单点登录服务,这其中有41%没有正确部署OAuth2.0协议。

具体问题

OAuth认证是什么?

许多社交网络平台,包括新浪微博、Google、Facebook等,都在使用OAuth 2.0认证协议。这个认证协议可以让用户在一处登录后,通过认证已有的身份,登录第三方服务,而不需要提供其它信息。比如下图:

App开发者应当如何实现OAuth认证 ?

当用户通过OAuth登录第三方应用时,该应用将检验用户ID提供方(比如新浪微博)是否提供了正确的认证信息。如果认证信息正确,OAuth将从微博处得到一个访问token,然后发放给第三方App的服务器。

访问token发放后,App服务器将向微博索取用户认证信息,进行验证,而后让用户使用微博登录信息登录这个第三方App。

App开发者实际如何部署OAuth认证?

研究人员发现,许多Android App的开发者并没有正确地核对微博等ID提供方发来的信息的有效性。

这些第三方App并没有验证上文提到的访问token,以核查用户与ID提供方是否关联;第三方App服务器只检查了这个信息是否由一个有效的ID提供方发出。

这种部署给了攻击者可乘之机,他们可以下载存在此漏洞的App,使用自己的信息登录,通过建立服务器,修改新浪微博等ID提供方发送的数据,将自己的用户名改为目标对象的用户名。

影响范围

攻击者可以利用这种方法,泄露用户敏感信息,或者以用户名义在相应App上操作。

在接受福布斯采访时,Lau表示OAuth2.0部署问题其实是个基础性的错误。但是,影响范围却可能很严重。攻击者如果黑入旅游App,可以获得用户的完整行程信息;如果黑的是酒店预订App,可以预定房间并让受害用户支付;攻击者也有可能盗取地址、银行账户等个人信息。

“OAuth协议挺复杂的。许多第三方开发商都是小本经营,他们没有能力。大多数时候,他们用的是Google和Facebook的推荐,但是如果他们不正确操作的话,他们的App就很容易受到攻击。”

研究人员发现有OAuth部署问题的各类App总共有24亿的下载量,专家估计将有10亿不同的手机App账户可能被劫持。下图列出了存在此漏洞的App类型:

是否影响iPhone用户?

研究人员并没有测试iOS设备,但他们认为这个攻击在苹果App上一样可以实现。

虽然他们的攻击是在Android平台演示的,但是这个exploit与平台无关:任何iOS或者Android用户,只要曾经用过存在此漏洞的App,都会受到影响。

相关TAG标签
上一篇:Qbxt 模拟赛&&day-8
下一篇:布隆过滤器
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站