让我们看看 你的App背着你都偷偷干了什么事

让我们看看 你的App背着你都偷偷干了什么事
2020年05月14日 05:54 新浪科技综合

  新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿、最有趣、最好玩的产品吧~!下载客户端还能获得专享福利哦!

  本文来自极客公园

  近期,小米 MIUI 的一次更新,引起了轩然大波。

  小米手机最新版操作系统——MIUI12 中,有一个叫做‘照明弹’的功能。顾名思义,这个功能是要把一些之前在黑暗中的东西暴露在强光下,让用户一目了然。

  在‘照明弹’里,用户可以看到某一应用‘自启动’、被其他应用启动以及读取设备数据等具体行为,手机 App 原本不为人知的动作一览无余。

  MIUI12 照明弹功能部分截图,左侧为App自启动情况,右侧为App被唤醒情况 | MIUI

  个别应用在后台‘反复横跳’,频繁启动各种‘全家桶’应用,读取用户隐私信息,这些问题在社交网络上引起了很多数码圈和产品圈人士的讨论。这些应用为什么要在后台反复刷数据?对开发厂商来说,自启动和读数据会带来哪些好处?普通用户又该如何防范呢?

  刷用户、收数据,APP 启动为了什么?

  App 自启动其实不是什么新鲜事,安卓平台也赋予开发者这种能力,只是很多时候在商业背景下,这一能力被滥用了。

  要想搞明白 App 的自启动,首先要清楚安卓的核心。它是一个开放开源的平台,追求的是被尽可能多的设备使用。因此对于安卓来说,它想要覆盖的,并不仅仅是手机市场,像广告机、自助购票机等很多场景化的设备也是安卓的猎物。

  想要收获更多的应用场景,就要有足够多的接口支持。对于广告机等设备来说,开机自动进入应用程序、即插即用是刚需,因此安卓在设计之初就支持应用程序自启动,有需求的 App 只需调用 API 接口即可实现。

  安卓的本意是好的,但却被部分开发者用坏了。由于可以自启动,一些 App 就开始利用这个 API 接口暗戳戳地自己启动自己,一方面刷 DAU(日活用户),另一方面在后台收集数据。

  不要小看你手机里的数据,它们在应用程序开发商那里可是宝贝。地理位置、录音、通讯录、剪贴板、相册等等都是有料可挖的数据金矿。

  以打车应用为例。很多时候,为了让用户体验更好,平台会设置一项贴心功能,用户在打开 App 的同时,系统自动猜出用户想要去的目的地。比如用户早上在家附近打开叫车 App,系统会自动推荐目的地是公司所在地。傍晚用户在公司附近打开 App,系统猜测用户是要接小孩放学,自动推荐孩子的学校地址。

  这一功能的实现主要基于用户在平台上的交易记录,但如果用户的交易数据不足够多时,系统就需要更丰富的用户地理位置数据来预测用户的生活轨迹。这一问题有一个简便可行的解决方案,那就是每隔一段时间在后台唤醒 App,自动收集用户的地理位置。

  又如,现在支付 App 都有免密支付的功能。用户在经常活动的位置进行小额交易,是不需要输入密码或者刷脸验证的。这背后也需要 App 定期唤醒,获得用户的地理位置数据,从而进行风险控制。

  从 App 自启动中受益的不仅仅是打车、支付这两个场景。事实上,对于大多数 App 来说,拥有自启动的能力都是一个零本万利的事。甚至为了以防哪天万一用得到,很多 App 在开发之初就预留了这一能力。

  一般而言,大公司的 App 受到更多的监管,会相对规范,自启动的目的更多是为了更好地服务用户。相较之下,一些小公司的应用程序路子会更野一些。

  比如偷偷启动麦克风监听或录音,或者访问相册获取隐私照片等等。这些用户数据会被打包售卖,甚至有可能被卖给黑产。这样一来,用户不仅面临着隐私泄漏的风险,更有可能遭受人身和财产安全的威胁。

  互相唤醒:卡顿、发热的元凶

  安卓的开放带来了非常多的‘玩法’,其中最为典型的要数 App 的双进程。简单的理解是,当用户启动 App 时,同时启动了这一 App 的两个进程。当用户关掉 App 时,一个进程被杀死,另一个仍在后台运行。

  这一操作的目的其实和自启动一样:刷 DAU,拿用户数据。二者对用户带来的困扰也是相同的:隐私泄漏。另外,由于这个‘杀不死’的进程一直在后台运行,导致用户手机很快就会发烫、卡顿,需要关机重启,使用感受直线下降。

  事实上,‘进程保活’一直是 App 开发人员与安卓系统的对抗焦点。对于从草莽时期长出的很多 App 来说,如果后台进程被杀死,那么其‘商业模型’将受到根本性的动摇。但是安卓希望对终端用户友好,所以在每一个版本的升级中,都在更新阻碍开发者‘进程保活’的方法。

  魔高一尺,道高一丈。在长期与安卓抗争的过程中,App 开发人员开始抱团取暖。同一生态下的 App 互相合作,一个被杀死了,另一个再把它拉起来。在技术社区内,这一方法被称为‘进程永生技术’。

  在开篇的‘照明弹’截图中,你会发现有些 App 会在后台唤起另一个 App,有很大可能是在互相保活。另外,一个 App 唤醒另一个 App,也可能是为了广告刷量。

  比如 A 公司在 B 公司的 App 上投广告,那么通过 B 向 A 导流的每一次点击都会为 B 带来营收。所以 B 在后台假装用户点击 A,那么在 A 看来就是一个‘真实用户的点击’。B 欺骗 A,从广告效果来说,肯定会对 A 造成损失。

  除保活和刷量之外,App 之间互相唤醒还有交换数据的可能。举例而言,社交 App 的数据对网购 App 来说很有用。通过关系链的拉取,能够精准进行用户画像,识别购买需求。

  不过,这种数据交换的操作在巨头们没有形成生态之前,是通过 API 接口发生在用户手机上的。在有了生态,特别是各公司纷纷开始建立中台之后,用户数据的交换就慢慢地转移到服务器层面了。

  ‘照明’之后,接下来怎么办?

  玩法这么多,感觉防不胜防?事实上,最基本也是最有效的防范,是用户对 App 权限的控制。如果 App 没有访问权限,那么它每天自启动多少次都是徒劳。

  但并不是所有的人都有意识有能力关注手机的权限管理,对于上了年纪的人来说更似如此。因此,监管方和平台方需要共同负起责任。

  平台方是否有动力负这个责任,其实是需要打个问号的。要想识别违规 App 并督促其下架整改,需要成本投入。目前国内很多应用商店的背后,是手机硬件厂商。如果手机厂商抱着‘卖一台算一台’的想法,后续服务就很难跟上。

  MIUI 是小米商业化的重要支点,因此从商业角度来说,小米有动力做这件事。‘照明弹’功能也确实给 MIUI 平台上 App 的合规性带来了提醒。谁自启动了,谁启动了谁,谁的启动请求被系统拒绝了。。。。。。 这些原本就应该让用户知道的信息如今被清晰地展现出来。

  ‘照明弹’推出之后,小米获得了不少好评,但也有人说是个噱头,因为并没有从根本上解决问题。即便是小米,可能也没勇气彻底让违规的 App 整改后再上架。另外,大部分人或许根本没有意识到这照明弹到底照亮了什么。所以,关于用户数据保护和商业伦理的提升,靠企业的自我约束只是起点,这件事最终只有靠更多用户的觉醒来完成。

  责任编辑:宋德胜

  图片来源:MIUI

自启动用户数据
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片