[互动交流]大厂应用再度窃取隐私?再细谈 Android 应用权限管理问题

3820

38

2018-1-12 12:57

显示全部楼层

轻松注册,让你轻松玩转Flyme社区

您需要 登录 才可以下载或查看,没有帐号?注册
x
上周,江苏省消保委正式对百度提起公益诉讼,新闻传出后网友们再度发起了关于 Android 应用程序是否在窃取隐私的讨论。尽管应用超过自身功能范围申请敏感信息权限的行为在过去并不罕见,用户可借助一些简单手段轻松阻止,但近年来厂商的态度愈加强硬,作为用户要如何在不影响使用的前提保护自己的隐私呢?

Android 权限是什么?

社会中每个人都有自己的角色、职位,在自己所拥有的权限范围内各司其职。Android 应用亦是如此,各种行为小到保持屏幕常亮、控制设备震动,大到读取手机状态、短信、通讯录等敏感信息,都需要预先声明权限以保证用户的知情权。

不同的权限又被分为普通权限和危险权限,正如字面意思危险权限关乎到用户最关心的隐私信息,它在过去一直缺乏 Google 重视,直至 Android 6.0 棉花糖版本,Google 才开始对编译时 Target SDK 设置为 23(即 Android 6.0)的应用程序进行要求限制,使用危险权限前必须通过系统的权限管理机制弹出请求对话框,只有用户同意了才能获得权限。
4bf117540a11129484be444cf4f930c3.jpg
系统咨询是否允许相机权限

当中,危险权限归为九大类:日历、相机、通讯录、地理定位、录音、电话、身体传感器、信息(短信、彩信)和外部储存读写。

在这里我们从 “电话” 类权限详说,它是最危险的权限之一,也是国内厂商们最常申请的权限,到底为什么大大小小的应用都非要这个危险的权限呢?

在 Android 官方文档中指出,“电话” 类权限包含:

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

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

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

这些权限看似都让应用为我们提供了许多便利,然而,我们很难保证它们真的老老实实使用这些权限,网上曾有恶意软件借助短信权限偷取银行账户的手机验证码盗走资金的新闻,而正规应用背后又有多少涉及重要隐私的操作则不得而知。除了像文章开头提到的运用法律武器保护自己的权益,我们还要做到未雨绸缪,控制好 Android 手机上的权限,将隐私泄露的可能性最小化。

如何管好权限?

1、 原生系统(Android 6.0+)的权限管理
c63be8c868f94b37c4980534340ec900.jpg
系统设置中查看微信的权限列表

原生系统在 Android 6.0 中加入了权限管理,但是它的设计同时面向于开发者和用户,用户拒绝的同时应用也会得知,流氓厂商则会“死缠烂打”向你要求同意,防君子不防小人的机制在某种意义上形同虚设。

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

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

除了厂商定制的系统,还有过去的 CyanogenMod、现在的 Lineage OS 及国内的魔趣团队为各种机型开发的 ROM 也有类似的“隐私保护”功能,无需额外安装任何工具即可对应用权限进行管控,同样是不影响应用正常运行,但需要逐一设置权限或者设置好默认模版为新安装的应用套用。

3、 系统没有 「安全中心/隐私保护」?试试 App Ops 类管理应用

是不是系统没有加入 「安全中心/隐私保护」 功能就无法在不影响应用运行的情况下控制权限,事实上 Android 系统内还有一套名为 “App Ops” 权限管理机制,它和上面第三方定制系统所做到的效果基本一致,但本身没有开放可用的设置界面。

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

● 目前最完善方便的 「App Ops」

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

●「AppOpsX」 = 更强?

同样出自国人之手,名字上多了一个 “X”,让人认为是更强的版本,事实上由于系统机制的限制,「AppOpsX」 和 「App Ops」 的控制效果实质上是一样的。不同的是,「AppOpsX」 是一款完全免费且无广告的开源应用。
7da0e4d5987c5939b7876f5c3c4f8a4f.jpg
AppOpsX 应用

4、 App Ops 都管不住,试试 Xposed 模块:XPrivacy

道高一尺魔高一丈,国内一些应用已经开始检测系统的 App Ops 状态得知自己是否被阻止,更有甚者以安全风控为由将用户登录的帐号冻结,导致无法再使用。面对这些可恶的应用,我们自然是不会罢休的,如果你的手机 root 过且安装了 Xposed 框架,不妨试试 XPrivacy 模块:它不仅可以控制各种权限,还可以修改返回给应用的数据,真正地做到 “欺骗” 应用。
0f3a79027d7cee4d89466b326e181b0b.jpg
XPrivacy 模块

最后的选择:“轻应用”

应用不给权限不让用,又不想折腾,不妨试试 “轻应用”——网页版应用、微信小程序等即点即用的平台。
65aea44c7752546da7979882222b3f27.jpeg
微博 Lite(网页版)、美团外卖和 ofo 小黄车小程序

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


转自:少数派