Android、iOS应用说没监听可以,但说实现不了不行

本文转载自网络尖刀。

最近这几天关于通过手机监听用户敏感信息,通过 NLP 处理传到云端做大数据分析的事儿吵得沸沸扬扬的。

搞技术的人忙着撕逼能不能监听、搞 PR 的人忙着各种自证、媒体记者忙着找专家追热、互联网网民对于隐私,除了慌张显然也干不了什么。

我们不一样,我这个人向来嘴贱啊,莫名其妙的总爱得罪人,所以澎湃新闻的小可爱记者找过来的时候,我们还是本质较真且不作恶的态度,让我们的安卓小伙子,写了一个不痛不痒的 demo。

观看视频前我想做如下重要声明:

  1. 本视频仅用于技术研究的测试用途,不会考虑使用在其它路径,恶意有心人不要打扰,别来试探我们的底线;
  2. 本视频所演示内容,是基于安卓环境下的测试演示,与安卓系统有关,但与手机品牌无关;
  3. 本视频所演示内容,只是强调从技术角度是可以实现后台监听,然后再用于大数据分析的,但并不是说某些厂商干了这些事;
  4. 技术能不能实现是一回事儿,别人做没做是另外一件事儿,有心人不要恶意混搅。

这应该是网络尖刀人工智能实验室正式对外界的第一个首秀,所以还是有我亲自来做大白话讲解,不要咬文嚼字去抠我语言描述的精准度,我讲大白话是希望普通网民都听得懂。

视频看完了,我把我目前能想到的所有争议,都写在这里,做一个简单解答吧。

关于演示内容

由于时间关系,我只做了后台无感知监听,语音转文字传到服务器,做了一些基础的 nlp 处理,懂技术的人都了解,无感知拿数据是最麻烦的环节,而后面基于 nlp 分词,提取特征关键词,再做大数据推荐,其实就没啥难度了,都是时间问题。

自问与自答

这个能证明某些 app 偷听吗?

我再次强调我的观点,对于是否偷听这个事情我不评价,这个需要相关部门做取证,做技术分析才能得出结论,我录制视频的目的是想回应某些自称目前的技术无法实现用户手机锁屏情况下,进行监听、上传、分析、大数据营销这样的能力的观点。

不好意思,我觉得这个观点不服。

安卓上面的门槛是怎样的?

网络尖刀人工智能实验室不是研发出身,我们是安全出身,所以一定是按照黑客的习惯,用恶意软件、恶意木马的思路来实现这个需求,如视频所示,我们只在用户界面获取了一个麦克风录音权限,所以说在安卓上的门槛并不是很高,这个思路就是典型的。

持续这样监听对电池电量损耗很高,怎么可能不会被发现?

如果是我来写代码,我会把需要触发的词做个库留在 App 上,用户讲话内容触发特定的词,则开始唤醒这个应用开始监听及分析,这样就可以降低能耗到无感知。

安卓上退掉这个 app 就可以抑制我监听了?

首先大部分用户都是按 home 键去返回菜单和切换 App,进程一直都是挂在后台进程上的,这样不是杀掉进程,即便是你把我的 App 退了,那我在给你们说一个组合攻击的方法。

用户在手机后台关掉了 A 应用,但 B 应用仍在后台运行,A 应用注册了一个服务对外暴露出去,B 应用根据它的服务名仍然可以把 A 唤醒,这样就不怕服务因人工杀掉(编注:从手机后台彻底关闭)导致无法监听了。

另外,很多手机厂商会对一些大型互联网厂商提供白名单,白名单厂商的 app 不需要授权,就可以获取一定的权限,这个是杀不掉的。

占用音频锁不释放,被打断是不是就不行了?

某些研发同学提出这个质疑的时候,我表示是懵逼的,哥们代码可能写的不行啊,首先我希望你明白一个这样的思路,监听的本质并不一定非得去对某业务进行持续占有和使用,监听的本质是窃取啊。

当用户打电话的时候,本质上虽然在使用麦克风,我再调取一个麦克风就会有可能被占用,但是电话录音是如何做的呢?

copy 流啊,我只是在 copy 你麦克风的流,这样就可以监听了啊,录音功能的 App 使用麦克风不允许占用,要打断前一个音频,本意是担心串流,所以写代码的时候判断有没有人占用,如果有,就提示另外一个要断开,但不代表这样就没办法实现了。

安卓没问题,iOS 系统也可以?

安卓门槛很低,但是 iOS 确实还是要有技术水平的,避免有些人以此作恶,我不讲那么细致,我只提一个思路,做一些特殊的处理想办法沙箱逃逸,开发两个 App 植入在目标手机里,用 A 去调用 B 的录音权限,然后在后台监听,这样 B 就可以欺骗系统,实际是在前台监听,所以就没有显示被「录音」。

至于怎么欺骗过审核?苹果对此有无白名单?我不知道,我不说,我不会,我只是个单纯的技术研究爱好者,全团队都是。

录音解决了,你怎么在后台防止被打断呢?

某些人说 iOS 下,你后台怎么运行?避免有人可疑作恶,我只能说多去想一下组合拳思路,至于 iOS 的不死进程,可以查看一下「keepAliveTimeout handler」的相关内容。

相比安卓,iOS 无感知门槛真的很高,这个我认可的,但是不是不知道,要看你付出的成本到底是怎样的。

和锁屏叫 Siri 一样吗?

hey Siri 是苹果自己的底层应用,写在系统里的,给足了权限,但是 iOS 系统上面的应用,需要使用权限的时候,苹果控制的还是很严格的。