《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 浏览器。
为了重现这个事件,我打开游戏,抓了附近的两只小精灵,等完服务器同步(存盘)的过程,然后打开菜单,注销(sign out)自己的账号,退出游戏。接下来,我点击上面的 Remove 按钮撤销了“Pokemon Go Release”的权限。
然后我重新打开游戏,并使用 Google 账户登陆。更严重的问题出现了:输入 Google 账户→输入密码并确认后,直接进入了游戏的读取界面,并没有弹出一个权限确认的菜单。
一般来说,使用 Google 账户登陆的第三方服务,在输入账号密码之后会出现下图这样的界面,要求你确认第三方服务可使用的权限。
以 Medium 和 Soundcloud 举例,前者获取了“电子邮件地址”和“基本资料信息”,后者仅需要“离线使用”权限。这些权限都需要确认允许才可以获取到。
<strong>查看你的邮件;以你的身份发邮件;获取你 Google Drive 云盘里的所有文件,包括已经删除的;调取你的搜索记录,包括地图里的导航记录;看任何你在 Google Photos 里备份的照片,包括隐私照片;了解或修改其他各种各样的资料;登陆其他用 Google 账户登陆的服务。</strong>
复制代码
至于由 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 尚未对此做出回应。