精灵宝可梦go游戏可能存在风险 软件需要google账号完整权限

《Pokémon Go》是任天堂 Pokémon(中译名口袋妖怪、宠物小精灵、精灵宝可梦)系列的最新游戏,由 Niantic Labs 联合开发,也是第一款 Pokémon 手游。不需多说,看到这篇文章的你,多半正在玩或者已经下载好了游戏。可是这款游戏在国外网友眼中手机上要的权限未免过大了,我想这篇文章你看完,可能会想,这在中国的应用市场根本不算什么,要权限算什么?一起来看看权限在手机上能干什么。

国外玩家发现,《 Pokémon Go》存在严重的账户安全风险。

游戏提供两种登陆方式:Google 或 Pokémon 训练师俱乐部(pokemon.com)。在欧美几乎人人都有 Google 账户,而之前 pokemon.com 由于技术故障无法接受新用户注册,因而大部分玩家都在用 Google 账户登陆。

国外玩家 Adam Revee 注意到,使用 Google 账户登陆之后,《Pokémon Go》直接获取了 Google 账户的“完整账户权限”(full access)。Adam Revee 在自己的博客上记录了这一发现,被 Twitter 上的数据安全大号@SwiftOnSecurity 转发,引起了安全界的广泛关注。

我在手机上检查了自己的账户,发现《Pokémon Go》的确标记为拥有整账户权限,相同待遇的只有 Chrome 浏览器。

精灵宝可梦go游戏可能存在风险 软件需要google账号完整权限_第1张图片

为了重现这个事件,我打开游戏,抓了附近的两只小精灵,等完服务器同步(存盘)的过程,然后打开菜单,注销(sign out)自己的账号,退出游戏。接下来,我点击上面的 Remove 按钮撤销了“Pokemon Go Release”的权限。

然后我重新打开游戏,并使用 Google 账户登陆。更严重的问题出现了:输入 Google 账户→输入密码并确认后,直接进入了游戏的读取界面,并没有弹出一个权限确认的菜单。

精灵宝可梦go游戏可能存在风险 软件需要google账号完整权限_第2张图片

一般来说,使用 Google 账户登陆的第三方服务,在输入账号密码之后会出现下图这样的界面,要求你确认第三方服务可使用的权限。

精灵宝可梦go游戏可能存在风险 软件需要google账号完整权限_第3张图片

以 Medium 和 Soundcloud 举例,前者获取了“电子邮件地址”和“基本资料信息”,后者仅需要“离线使用”权限。这些权限都需要确认允许才可以获取到。

我尝试了一下撤销权限还能不能玩游戏,情况很复杂。有时候能玩,但游戏地图道路读取不出来,只有飘在空中的 Pokéstop 和道场;有时候干脆无法加载游戏,或者显示服务器故障。

为什么不让用户确认权限?@SwiftOnSecurity 指出,登陆界面的确系 Google 的 OAuth 界面,如假包换。但问题在于 Niantic Labs 可能设置了浏览器自动化,跳过了权限确认页面,自动帮用户点了按钮——这是严重的安全事故。

精灵宝可梦go游戏可能存在风险 软件需要google账号完整权限_第4张图片

另外,第三方应用的开发者在设计使用 Google、Facebook、Twitter 或其他更流行的账号体系登陆时,通常应该遵循“最小权限原则”,只申请应用正常运转所必须的权限。《Pokémon Go》从目前的全部功能来看,并没有获取完整权限的必要。现在这样一上来就要求完整权限,还不经确认,比“全家桶”有过之无不及。

Google 的账户帮助页面上有一段这样的描述:

当您向应用授予完整帐户权限后,该应用几乎可以查看和修改您 Google 帐户中的所有信息(但不能更改密码、删除帐户,或以您的名义使用 Google 电子钱包付款)。

某些 Google 应用可能具有完整帐户权限。例如,您可能会看到,您下载到 iPhone 的“Google 地图”应用具有完整帐户权限。

请仅将“完整帐户权限”授予您完全信任且已安装到您的个人计算机、手机或平板电脑上的应用。

更具体讲,授予一个第三方应用“完整账户权限”,意味着它可以:

查看你的邮件;以你的身份发邮件;获取你 Google Drive 云盘里的所有文件,包括已经删除的;调取你的搜索记录,包括地图里的导航记录;看任何你在 Google Photos 里备份的照片,包括隐私照片;了解或修改其他各种各样的资料;登陆其他用 Google 账户登陆的服务。

至于由 Niantic Labs 和任天堂旗下 Pokémon Company 这两家还算知名的公司联合开发的游戏,为何出现如此严重的账户权限事故,除了粗心大意,恐怕暂无其他解释。前面也有提到,“某些 Google 应用可能具有完整权限”,或许是 Niantic Labs 从 Google 旗下拆分之后,没有及时更新自己的开发工具,仍然以为自己开发的是 “Google 应用”吧?

身为架构工程师的 Adam Renee 表示,他并非怀疑 Niantic Labs 会拿着用户 Google 账户的完整权限胡作非为。问题在于,Niantic Labs 的数据安全水平如何,在业界并没有公开的资料。更何况现在《Pokémon Go》如此火爆,难免有黑客盯上这座数据金矿,谁也无法保证之前发生在网易、CSDN、雅虎、Target 等公司内的数据泄露事故,不会发生在 Niantic Labs 身上(此前已经有黑客修改游戏的 Android APK 安装包,在游戏里添加恶意代码。)

目前 Niantic Labs 尚未对此做出回应。

你可能感兴趣的:(精灵宝可梦go游戏可能存在风险 软件需要google账号完整权限)