热门游戏Pokémon GO可通过令牌获取用户谷歌账户的完整账户访问权限,而不需要用户许可。
前不久Pokémon GO移动应用发布后,该游戏的开发商Niantic公司被迫修复该应用的iOS版本,因为安全研究人员报告称该游戏自身会安装令牌,并获取对其谷歌账户的完全访问。虽然该App本身不能执行这种访问,但这个漏洞带来了令牌交换攻击的风险。
安全公司RedOwl Analytics首席架构师Adam Reeve称,当他使用其谷歌账户开始玩Pokémon GO时,他希望看到“该app将访问哪些数据”或者“该app将查看你的电子邮件地址和姓名”的弹出消息,但他没有看到任何这样的消息,随后在他查看该游戏访问权限时感到非常震惊,他看到“Pokémon GO可完全访问用户的谷歌账户”。
Pokémon GO允许通过Pokémon Trainer Club网站或使用谷歌账户登录;然而,Pokémon Trainer Club因大量新注册用户不堪重负,而暂停注册,让用户只有一个选择:使用谷歌账户登录。这种完整权限访问仅发生在iOS版的该应用中;Android用户没有受到影响。
Niantic承认了这个错误并解释称,尽管Pokémon GO得到了完全访问令牌权限,但该应用并不能访问所有谷歌账户信息。
“我们最近发现,iOS系统中Pokémon GO账户创建过程错误地要求用户谷歌账户的完全访问权限,”Niantic在其网站写道,“但是,Pokémon GO只会访问基本的谷歌账户信息(即用户ID和电子邮件地址),不会对其他谷歌账户信息进行访问或收集。在我们发现这个错误后,我们开始进行客户端修复,仅请求访问基本的谷歌账户信息,以及我们实际访问的数据。谷歌已经证实,Pokémon GO或Niantic没有收到或者访问其他任何信息。谷歌很快会将Pokémon GO的权限降低到Pokémon GO需要的基本配置文件数据,用户不需要亲自采取任何行动。”
Reeve最初报告称,Pokémon GO被授予的令牌可让Niantic读取用户的Gmail,作为用户发送邮件,访问和删除Google Drive中的文件。事实上,谷歌自己表示完全账户访问权限允许应用执行很多潜在危险的行为。
“当被授予完全账户访问权限时,该应用可查看和修改谷歌账户中几乎所有的信息(但它不能修改你的密码、删除你的账户或者以你的名义用谷歌钱包支付),”根据该公司的支持页称,“如果你已对不信任的或识别应用授予完全账户访问,建议你点击撤销按钮取消这种权限。”
然而,其他安全专家后来发现,虽然Pokémon GO不能读取或发送电子邮件,让该游戏只能查看基本谷歌用户信息,但该漏洞可能带来令牌交换攻击的风险。
Slack公司产品安全高级工程师Ari Rubinstein在GibHub谈到了这个漏洞,并指出这个漏洞可能用于交换令牌攻击。虽然Pokémon GO不能使用其完整账户访问权限来访问用户的Gmail和日历,Rubinstein称OAuth访问令牌可被恶意交换为另一个更强大的令牌,被称为uberauth。这将让攻击者能够打开任何谷歌服务的网络会话以及获取真正的完全账户访问权限,这给谷歌的身份验证系统带赖了重大的安全漏洞。
Rubinstein指出这种过度权限授权是Niantic和谷歌的错误,不过这个权限还没有被滥用。
“即使只是最初建议,也很难使用这种权限,因为这种使用类型不是编程的(除非有另一个隐藏的API来授予API令牌)。省略这个范围让身份验证被视为“基本用户信息”而不是“完整账户权限”,Niantic可能会更新客户端。身份验证流程很混乱,并且,谷歌应该了解,使用这个范围来登录可能让令牌被交换。在我看来,谷歌不应该将这种权限范围给予非谷歌应用。”
Niantic此前属于谷歌,去年它作为独立实体从谷歌分离出去。目前我们还不清楚Niantic如何获得这种OAuth范围以及绕过权限通知(通常应用获取完整账户权限都会有这种通知)。网络公司Trail of Bits公司首席执行官Dan Guido表示,他和安全研究人员Jay Little试图在谷歌的OAuth Playground开发者网站复制OAuth令牌的使用,但没有成功。
“这意味着OAuth Playground(谷歌用于测试其API访问的服务)无法准确复制Pokémon GO请求的权限,”Guido写道,“这可能是OAuth 1.0 API的一部分,谷歌在2012年已经将其启用,并在2015年关闭。如果是这样的话,我们无法确认为什么Pokémon GO还能够使用它。我们检查过,迁移到OAuth 2.0 API的账户无法再访问较旧的1.0 API。”
现在,Pokémon GO权限问题似乎已经得到解决。Rubinstein表示:“谷歌将重新限定令牌范围来解决令牌交换攻击的风险,Pokémon GO在未来几天应该是安全可用的。”
其他Pokémon GO的安全问题
虽然Niantic和谷歌已经修复iOS版应用的权限问题,但还有其他安全问题。网络安全公司Proofpoint发现该游戏受感染的Android版本,携带DroidJack远程访问工具。
“虽然我们还没有在实际环境中发现这种恶意Android应用程序包,但在2016年7月7日09:19:17 UTC被上传到恶意文件存储库服务,而该游戏在新西兰和澳大利亚正式发布还不到72小时。”
Proofpoint指出,由于该游戏还没有在全球范围正式推出,很多游戏玩家希望游戏在其地区发布前访问该游戏,这可能导致它们从第三方下载Android应用程序包。
与此同时,微软项目经理兼工程师Dennis Delimarsky称Pokémon GO在连接公共Wi-Fi网络时还可能遭受中间人攻击。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
如何处理云端特权用户管理?
很多企业正在试图保护员工使用的各种云应用和服务中的用户账户,这样做是因为:攻击者越来越多地通过钓鱼攻击和路过式下载等方式获取云账户和登录凭证,以试图获取对企业IT环境的访问权限。
-
都是套路:Pokémon GO被网络攻击者盯上了
尽管尚未登陆中国,移动游戏Pokémon GO仍旧占据了各大科技媒体的推送头条,在游戏发布的短短一周内该款游戏已获得了超百万次的安装量。与狂热的用户群同在的是,网络攻击者也盯上了游戏玩家……
-
国内身份认证发展里程碑:网络空间可信身份管理技术研讨会在京召开
4月27日,网络空间可信身份管理技术研讨会在北京京仪大酒店顺利召开,会议旨在进一步推动网络空间可信身份体系建设,统一互联网用户身份认证管理,构建互联网应用健康发展的环境。
-
你了解行为生物识别吗?
我们几乎不可能复制或模仿他人的行为来欺骗行为识别验证技术,因为每个人的举止和身体语言特征都是由社会和心理因素所塑造,具有其独特性。