上周,江苏省消保委正式对百度提起公益诉讼,称后者一直未对旗下手机百度和百度浏览器两款手机应用中「监听电话」「读取短 / 彩信」「读取联系人」等与应用功能无关但涉及消费者个人信息安全的权限进行整改,无法有效保障消费者知情权和选择权。

此事一出,再度引发了不少网友对 Android 应用的权限管理和个人隐私信息的讨论。应用超过自身功能范围申请敏感信息权限的行为并不少见,加之近年来部分厂商的态度愈加强硬,作为用户要如何在不影响使用的前提下保护自己的隐私呢?

为什么「电话」权限会成为焦点?

社会中每个人都有自己的角色、职位,在自己所拥有的权限范围内各司其职。

Android 应用亦是如此,小到保持屏幕常亮、控制设备震动,大到读取手机状态、短信、通讯录等敏感信息,Android 应用的各种行为原则上来说都需要预先进行相应的权限声明来保证用户的知情权。

这当中,文章开头所提到的电话、短 / 彩信和联系人都属于关乎用户隐私信息的危险权限。以「电话」权限为例,Android 官方文档中指出,「电话」类权限包含:

  • 读取手机状态:设备的手机号码、当前移动网络状态(IMEI、MEID、ESN、IMSI 码、信号强度等)以及通话状态(不含通话声音)。
  • 拨打电话:无需用户手动点击通话键打开拨号界面直接拨出电话
  • 应答拨入的电话,然而只有 Android 8.0 以及更新版本才能用
  • 读 / 写通话记录
  • 添加语音邮箱
  • 设置 SIP 网络电话
  • 处理拨出的电话:允许应用获取拨出的电话号码,允许重定向到另一个号码或者中断通话。

Google 从 Android 6.0 开始要求编译时 Target SDK 设置为 23(即 Android 6.0)的应用在使用危险权限前必须通过请求对话框征得用户同意,部分厂商因此索性走上了「不给权限不让用」的极端,散尽原本应由企业恪守的职业操守、将这个要求扔给用户,造成功能与隐私「二选一」的两难局面。

系统咨询是否允许相机权限

另一方面,由于国内没有 Google Play 服务,一些开发厂商为了准确统计自家应用的装机量、活跃度、崩溃日志等信息,不得不引入第三方统计工具包(SDK)或者自制统计服务,这当中又大会申请「读取手机状态(READ_PHONE_STATE)」权限来获取用户设备的 IMEI 码(IMEI 码被作为统计中用户手机的唯一识别码,可以避免重复计算装机量)。

除了「电话」类权限,我们还经常见到应用会申请「信息」和「通讯录」的读取,一些社交通讯软件会读取通讯录借助手机号码来查找已注册的好友,而在登录时又会借助「信息」权限接收验证码短信自动填写,免去了手动输入的麻烦。

这些权限看似都让应用为我们提供了许多便利,然而,我们很难保证它们真的老老实实使用这些权限,网上曾有恶意软件借助短信权限偷取银行账户的手机验证码盗走资金的新闻,而正规应用背后又有多少涉及重要隐私的操作则不得而知。

因此,除了像文章开头提到的运用法律武器保护自己的权益,我们还要做到未雨绸缪,控制好 Android 手机上的权限,将隐私泄露的可能性最小化。

如何管好权限?

原生系统(Android 6.0+)的权限管理

系统设置中查看微信的权限列表

原生系统在 Android 6.0 中加入了权限管理,一般能够在系统设置中通过搜索功能找到。

但是原生 Android 的权限管理功能同时面向于开发者和用户,用户拒绝的同时应用也会得知。因此,流氓厂商轻者「死缠烂打」要求用户同意,重者直接在未得到用户授权后拒绝用户使用应用的其他功能。

这种防君子不防小人的机制在某种意义上形同虚设。

第三方定制系统的「安全中心 / 隐私保护」

开放的 Android 衍生了许多第三方的定制系统,如国内著名的 MIUI、Flyme、EMUI 等厂商定制系统都有 「安全中心」,和系统深度结合提供 「应用权限管理」 功能,可以在不影响应用正常运行的情况下阻止应用读写隐私数据,有些系统还会为用户自动配置好权限,我们仍需要逐个检查以防万一。

除了厂商定制的系统,还有过去的 CyanogenMod、现在的 Lineage OS 及国内的魔趣团队为各种机型开发的 ROM 也有类似的「隐私保护」功能,无需额外安装任何工具即可对应用权限进行管控,也能在不影响应用正常运行的前提下进行权限管理。

不过这类权限管理方式由于 ROM 限制并不具备通用性。

App Ops 类管理应用

如果你的系统中没有类似「安全中心/隐私保护」这样的功能,也可以通过 App Ops 这类应用获取到「允许/拒绝」以外的第三个选择——忽略。

利用 Android 系统内建的一套名为「App Ops」权限管理机制,App Ops 能够和上面提到的第三方定制系统做到类似的权限效果,除此之外,还能够对应用的权限请求进行「忽略」,让应用获取到没有任何信息的权限许可。这样既能正常使用应用,又能保证隐私不被强行掠夺。

另外,App Ops 无需 Root,对不少不方便解锁破解手机的朋友来说是个好消息,我们只需借助第三方应用来设置即可,下面推荐两款不错的应用给大家:

功能最为完善的 「App Ops


这款与系统机制同名的应用出自国人开发者之手,支持搜索、多用户、多种排序方式,还可以按权限来分类,快速地关闭敏感权限。界面交互也做得非常不错,感觉和原生系统设置融为一体。

App Ops 应用 按权限分类

免费开源的「AppOpsX


同样出自国人之手,名字上多了一个「X」,让人认为是更强的版本,而事实上由于系统机制的限制,「AppOpsX」和「App Ops」的控制效果是一样的。、

不同的是,「AppOpsX」是一款完全免费且无广告的开源应用。

AppOpsX 应用

Xposed 模块:XPrivacy

道高一尺魔高一丈,国内一些应用已经开始检测系统的 App Ops 状态得知自己是否被阻止,更有甚者以安全风控为由将用户登录的帐号冻结,导致无法再使用。

面对这些可恶的应用,我们自然是不会罢休的,如果你的手机 root 过且安装了 Xposed 框架,不妨试试 XPrivacy 模块:它不仅可以控制各种权限,还可以随意修改返回给应用的数据,真正地做到 “欺骗” 应用。

XPrivacy 模块

使用「轻应用」

应用不给权限不让用,又不想折腾,不妨试试「轻应用」——网页版应用、微信小程序等即点即用的平台。

微博 Lite(网页版)、美团外卖和 ofo 小黄车小程序

过去的潮流是从网页版转向客户端,如今许多大厂又开始积极推动网页、小应用的开发,比如微信推出的小程序、Google 主导的渐进式网页应用(Progressive Web App),相信大家都曾了解过,它们受于平台的限制,无法获取手机状态、短信、联系人等敏感信息,使用起来更加安全放心,而体验也十分流畅。