先说一个悲伤的故事。
有一天,小明跟爸爸说,爸,我要搞学习,需要下载一个报名补习班的App。然后,小明装模作样地用爸爸的手机下载了一个正经App,然后打开了一些不可描述的网站,偷偷进行成人知识储备,最后,他默默清除了浏览记录,放心地把手机还给了爸爸。
不料,那天深夜,爸妈的房间传来一阵争吵,爸爸抽着烟坐在沙发上,一脸委屈:为什么不相信我呢。
原来,爸爸收到了一条短信:先生,在XXX网上的体验还好吗?我们最近有个XXX新产品,让你“更高、不快、更强”。
你以为是不可描述的网站出卖了无辜的小明爸爸?不,是那个一本正经的App。
让人后背发凉的是,这不是故事,这可能是事实。
装作一本正经干些不正经事情的,还有这个天气App。
▲LOOK,就是这货!
1月4日,《华尔街日报》称,名为“天气预报-世界天气精准雷达( Weather Forecast - World Weather Accurate Radar)”的免费应用被发现窃取用户数据信息,这些信息包括地理位置、电子邮件地址和用户移动设备的唯一标识号。
“但凡是个手机,装个天气APP简直再正常不过了。然而现如今查个天气预报个人信息就有可能到了你从未谋面过的陌生人手里,还不知道会被用来干些神马事,你说可怕不可怕?”
为什么一个正经App 会变得不正经?下面编辑来探讨一下这个话题。
首先,原本一个天然无公害的天气App真能绕开权限通知,自动获取用户的数据信息吗?它是怎么操作的?
显然,除过那些突破root权限获取手机最高权限的病毒之外,几乎所有的权限开关都是由用户来确定开启与否的。
以Android6.0系统为风水岭,权限只是从台后走到了前台。原来,在MarshMallow之前,权限都是在安装时授予的。在6.0之后,Google为了简化安装流程且方便用户控制权限,正式引入了runtime-permission,允许用户在运行的时候动态控制权限。
先来科普一下,runtime-permission究竟是个什么鬼:
实际上,这是Android6.0新引进的权限管理方式。在该系统中,谷歌摒弃了之前的install time permissions model,取而代之的是runtime permissions model。显然,从前面这句话基本看不出这俩货的区别是啥,不过机智的雷锋网决定用两张图给大家举个栗子,保证秒懂:
▲install time permissions model
▲runtime permissions model
没错,install time permissions model会在Android App安装的时候向用户展示一坨权限。相比之下,runtime permissions model也会在安装APP时跳出权限请求,但这并不意味着重要权限也一起被授权给应用,在用户实际使用某项功能时仍需要应用主动申请这些高风险权限。而在这之前,一次授权过后权限就全部被开启,其安全系数也只能是在优先“阵亡”的级别。
爱加密解决方案总监魏超告诉雷锋网编辑,这种获取天气App权限之外操作又称为 “过度获取”。
他说:“国内在2017年初出台了《个人信息安全规范》以及《数据安全管理办法》,其中对如何界定由过度获取权限导致用户信息泄露给出了明确说明——如果你的App只是在未告知用户的情况下获取了额外信息,这个叫过度获取;在相关法律法规中,这并不能被算作窃取行为,开发商也基本不需要承担过多责任。”
为了更好地解释,我们举个栗子——假如你下载了一个地图App,常规软件只需获取你的地理位置信息,而在用户需知中也只提到了这一点。但是,实际上它还获取了你的邮箱、姓名乃至家庭住址,而你却还傻乎乎被蒙在鼓里。
那这行为算窃取吗?
抱歉,不算。所谓窃取用户信息的行为,要看厂商拿你的信息做了些啥事。如果只是为了App的某项业务做分析,那就无关紧要;如果是为了卖人贩子或者支持美国大选,那就一定会被警察叔叔当场拿下。
过度采集用户信息只是一个“前端”过程,相关的法律法规并不以此来判定厂商是否属于窃取行为,而是看“结果”怎样,也就是信息有没有被用作营利活动或是被出售。
目前来看,纰漏此次事件的Upstream Systems和该App开发商TCL也是各执其词:
前者认为,这款软件收集了超过常规范围内的用户信息数据,并以此为阿尔卡特智能手机的10万多用户提供付费的虚拟现实服务,这种隐晦的做法可能导致用户被迫支付超过150万美元的费用。后者则称,该款App在上线前经过超70种不同的杀毒扫描来检查每款App,以确保它们符合Google Play商店要求的安全级别。直接明了的说,意思就是这些信息绝对不会被滥用。
所以,这款天气App软件是否窃取了用户数据信息呢?
如果一个人和一箱黄金共处一室,给他一晚的时间,事后也不检查箱子里的黄金数量,直接放他出门,那么,拿没拿黄金,就只能看他的良心了。对于这种“过度获取”的行为,相关监管部门也仅仅是进行合法性要求授权同意或者暂时限制获取权限。
围绕着权限选项,厂商们用一个如今已经烂大街的点子来“挑选顾客”。权限选项就像个“大筛子”一样,“你不同意,那就不是我的菜,也别想使用我的App!”,更甚者有的App直接弹出些诱导信息,它们长得和权限选项一模一样,却夹杂其中浑水摸鱼。
魏超透露,一些初期的App发布者原本就是通过初期的免费获得大量用户,然后通过相应的信息流和数据流做广告服务以及其他的信息推送或者是一些比较低端的擦边球的数据信息来支撑App的运营。
“对于中小企业来说,想要生存的唯一办法就是拼命获取用户数据,描摹用户画像。在以商业目的为原动力的情况下,行业整体的发展趋势才是造成用户各项权限被无故获取的真实原因。”
那么,如何避免权限被过度获取的情况出现?
雷锋网归纳了以下几种控制权限的方式:
1、AppOps 4.3以上系统的原生权限控制(目前官方的Android系统还未开放这项功能,需要用XPrivacy工具开启);
2、第三方应用。也就是LBE、360这一类手机助手,它们的使用门槛最低,缺点在于提供的选项比较单一、效率较低;
3、强行吊销应用权限。包括修改apk文件和CM系统自带的权限管理。效率最高,但容易导致闪退;
4、XPrivacy。基于Xposed框架,直接从虚拟机层面进行操作,其效率高于第一类应用,具有丰富具体的选项,还可以用伪造数据等方法确保应用稳定运行。
如果上述专业建议你看不懂,没关系,还可以谨守一个原则——免费的服务还是要谨慎一些,使用免费服务的时候,你就是商品本身。