APP滥用存储权限,威胁个人隐私安全,安卓:这锅我不背
那时,负评君关上智能手机的文档命令行,忽然辨认出快照里多了好些QQ的闲聊相片。
那么细看居然却是博客的冰雕图较为多。。。
不过怪异,负评君并没在QQ里全自动留存过那些闲聊相片啊。
历经一阵阵检查和,负评君辨认出那些相片都源自智能手机储存里两个名为 tencent( 百度 )/ MicroMsg( QQ )的配置文档。
除闲聊操作过程中推送的相片,即使闲聊中推送的音频也安安心心的躺在那个配置文档的龙首濶濑里。
黄色工具栏的 .amr 文档就相关联了两条QQ音频最新消息
这可出事了。要晓得,QQ里的音频不过连转贴都转贴没法的,QQ非官方也专门针对说明过,这是为的是使用者的个人隐私考量。
结果我却能直接在文档命令行里,看到所有的音频文档,还能随便复制、粘贴、传到电脑上?
不过等负评君想关上的时候,辨认出音频被加密了,打不开。
看起来似乎是虚惊一场。。。但负评君眉头一皱,辨认出事情并没那么简单!
这玩意儿加没加密是一回事,可为啥要老老实实地躺在谁都可以访问的地方呢?你会把自己的保险箱扔到马路上吗?
难不成是我智能手机里有病毒,已经悄悄破解了QQ的闲聊记录?
一想到有那么个可能,负评君吓得赶紧把世超拽了过来一探究竟。
结果还没等负评君说完,就收到了世超的两个大白眼:
「 别担心,你智能手机没中毒,这文档就是QQ自己放的,我大学的时候还用这招提取过QQ里的音频文档呢。 」
世超那么一说,反而给负评君搞了个云里雾里,又缠着世超问了半天,才搞明白为什么QQ的闲聊文档出现在了智能手机的文档命令行里。
( 大家先放心,具体的闲聊记录都是安全可靠的,只是闲聊相片和音频有泄露的可能 )
如果你和负评君一样用过Android智能手机,想必遇到过这种情况:
首次启动两个 App 时,会弹出两个「 为的是优化您的使用体验,我们需要 XXX 职权 」的提示;接着就会一股脑地弹出来一堆索要职权的提示框。
其中通常会有一项名为「 储存空间读写 」的职权。
像电话、短信,我们都晓得是很危险的职权。但像储存空间读写这种看起来好像没什么影响的职权,通常 App 要了,我们也就给了。
负评君的智能手机上的大部分国产 App 都申请了储存空间职权
一般情况下,App 要这项职权的理由是「 留存必要的数据 」。
但实际上,App 要想留存数据的话,根本不需要申请储存空间读写职权。
因为谷歌早就考量到了 App 储存数据的问题,在Android系统里专门针对给每个 App 都划分了两个独立的「 内部储存 」。
来源:谷歌开发者文档
就好比我们住酒店,会拿到一张门卡,门卡只能关上自己入住的房间,打不开别人入住的房间。
如果说智能手机就是那个酒店的话,那 App 是拿了房卡的住客,内部储存则是 App 的房间,每个 App 都是没法看到对方留存过的数据的。
所以要是只说 App 的数据储存方式,Android其实和 iPhone 是一样安全可靠的。
不仅如此,Android还能自动识别「 内部储存 」里的临时文档,缓存超过一定大小后就会被自动清理。
( 所以其实我们本来不需要市面上各种「 垃圾清理工具 」的,系统本身就可以帮我们全搞定了。 )
但Android和 iPhone 最大的一点区别就是:Android这家酒店,它有两个特别大的「 酒店大堂 」。
Android提倡开放,所以在内部储存之外又设置了两个「内部共享储存空间」( 简称储存空间 )。
像我们插上 USB 线,能在电脑里直接看到的智能手机目录,就是那个内部共享储存空间。
本来那个设计是方便给使用者传照片、传歌曲的,结果却被 App 开发者们当成了可以用来钻的孔子。
内部空间虽然好,但开发者也需要更认真地设计自己的 App 数据留存结构。
如果因为开发者自己的疏忽,不小心把 App 的重要数据留存到了Android系统的缓存目录,到时候数据被删了都没地方哭去。
开发者需要认真设计自己 App,才不会在运行时出错
所以比起掉头发去费力设计储存方案来解决那个问题,当然却是把东西一股脑扔到「 三不管地带 」来的更省事了。
而「 内部共享储存空间 」就是那个三不管地带,只要 App 从使用者手里拿到了储存空间读写职权,就可以想干嘛干嘛了。
而QQ,恰巧就是这千万 App 大军中的一员。
那个操作,在Android开发界早就不是什么秘密了,像 alipay 配置文档是支付宝生成的,netease 配置文档是网易相关的 App 生成的,而那些却是愿意自正身份的。
更有一些 App 会把文档叫起名为 data( 数据 )、system( 系统 )或者 .SystemConfig( 系统参数 )这类令人不敢轻易删除的名称。
就好像有个人,不想去费脑筋做垃圾分类,所以就偷偷挖了个坑,把垃圾给埋了,旁边还竖了个「 内有高压线缆 」的牌子吓唬人。
开发者不但不优化自己的 App,反而想方设法让使用者给职权
负评君辨认出,假设我们有所顾虑,拒绝给 App 授权访问储存空间,App 马上就会「 甩脸子 」,自己结束运行。
直到什么时候点了允许,才能继续进入到 App 后续的界面。
一件本来不那么光彩的事,随着那么干的开发者越来越多,反而变得「 名正言顺 」了起来。
如果开发者只是犯懒,把自己的数据导出乱扔,那对我们来说无非就是目录乱一点,需要额外花点精力清理储存垃圾。
但最要命的是,获得了这项职权的 App,实际上可以读取共享储存空间内的所有文档!
别忘了,那个共享储存空间就好像酒店的大堂,两个 App 放在这里的东西,自然别的 App 也可以随便查看。
一旦怀有坏心思的 App 获得了储存空间职权,不但能读取到我们拍摄的照片和视频,像QQ这种没规范储存自己数据的 App 也有信息泄露的风险。
如果那些相片里有我们拍摄的身份证照片、自拍近照,那很有可能下个月就能收到网贷公司的催债电话了。。。
虽然我们有心防范这种问题,但在国内,储存空间职权已经被开发者搞成了「 必需职权 」,导致使用者根本没法分辨哪些 App 包藏祸心 。
比如前一阵阵就有使用者辨认出京东金融 App 偷偷上传快照相片,但之后非官方回复称,只是预先收集了可能会用于客服咨询的屏幕截图。
这件事情虽然直到最后都没定论,但也从侧面证明了负评君说的事情是很有可能会发生的。
说不定现在你智能手机里就存在着某个 App,表面看着无害,实际却在后台偷偷收集并上传着你的快照相片和QQ音频数据。。。
QQ的整体设计显然是在乎使用者个人隐私的,比如在 App 内可以转贴相片、视频、附件,但就是不能转贴音频。
负评君后来辨认出,现在QQ的音频文档,已经不能像世超大学时那样,直接使用智能手机自带播放器播放了。
显然QQ团队也辨认出了那个问题,这才给音频文档套上了一层加密,只有百度自家的「 百度文档命令行 」才能正常播放。
但是你既然都意识到了,为什么不能一开始就把它做好啊!
QQ作为百度的头牌产品,开发人员不可能在这上面犯懒,现在的做法难道是当初欠下的「 技术债 」?
显然QQ现在的解决办法,负评君觉得还不够:只要音频文档还暴露在公共储存空间,我们的个人隐私就依旧有暴露的可能。
毕竟那个世界上有人研究加密技术的同时,也有无数的人在研究解密技术。
BAT 作为国内互联网的头部企业,在 App 的质量上没起表率作用,更别提其他国内小厂商的 App 了,误用储存职权现象常常发生。
储存职权被误用,谷歌曾建议大家不要那么做,国内的《Android绿色应用公约》也对相应内容提出了要求,但响应者寥寥无几。
《 Android绿色应用公约 》中建议避免获取储存空间职权的相关条款
毕竟「 建议 」和「 公约 」不是强制的,开发者不愿意,谁也没办法强迫。
说不动开发者,谷歌干脆在Android 10 的测试版中强行隔离了 App 的储存空间读写职权,只允许 App 访问快照和其他一些配置文档。
即便是这种不需要开发者做多少改动的办法,也遭受了开发者的强烈抵制,搞得谷歌不得不按下这项改动,宣布推迟到Android 11 再强制执行。。。
我们老说用 iPhone 省心,其实如果按照谷歌对Android的设想,用Android也可以很省心。
但就像一块没围挡的草坪,即使旁边立起了警示牌,也依旧会被踩得面目全非。
显然,一些什么「 建议 」和「 公约 」根本没法就能让开发者做出改变的,公约需要搭配有力的执行手段,才能发挥出应有的效果。
在工信部的统一推送联盟与《 Android绿色应用公约 》联手后,事情明显出现了好转。
负评君又检查和了一遍自己的智能手机,辨认出包括京东、知乎、爱奇艺和智能手机淘宝在内的不少头部 App,已经可以在不授予储存空间职权的情况下正常运行了。
有些事情,在技术上可能并没那么难,只是因为缺乏强力的外部监管导致一拖再拖。
负评君相信,只要Android生态的各个环节都齐心向上了,Android智能手机的使用体验未必会比 iPhone 差。
特别感谢:冯森林先生对本篇文章撰写提供的技术支持。冯森林( Oasis Feng ),《 Android绿色应用公约 》发起人,开发了绿色守护、Island、Nevolution 等增强Android使用体验的 App,前阿里无线事业部资深技术专家。想要了解更多数码知识,获取最新科技资讯,那就赶紧关注我吧~
我们评论见~
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~