我们越来越关注隐私了。
早在 2018 年,大家在使用弹出式摄像头的机型,发现打开某些 app 时,没有拍照却弹出了摄像头;到了 2020 年,MIUI 12 的「照明弹」功能,让几分钟获取上千次位置信息的 app 无处遁形。
▲MIUI 12 发布会.
而微信昨天上了热搜,也正是因为类似的情况:有用户开启了 iOS 15 的隐私新特性「记录 App 活动」,通过《隐私洞见(App Privacy Insights)》查看后发现,微信、淘宝等多款 app 在未使用的情况下,多次读取用户手机相册。
▲ 图片来自:微博@Hackl0us
对此,微信官方给出了回应:
iOS 系统为 app 开发者提供相册更新通知标准能力,相册发生内容更新时会通知到 app,提醒 app 可以提前做准备,app 的该准备行为会被记录成读取系统相册。
也就是说, 微信在用户授权「系统相册权限」的前提下,为了方便用户在微信聊天时按下聊天框旁边的「+」时出现缩略图从而快速发图,微信使用了 iOS 系统的能力,让用户发送图片的体验更加快速流畅。这个操作都在手机本地完成。
▲也就是这个功能.
那么问题来了,微信到底是大晚上在后台悄悄看用户的照片,还是像它说的那样,是因为 iOS 机制导致的呢?
当然没有。
在知乎上,有博主举了一个非常容易理解的例子:他刚清理过的相册有 30MB 相册,按照这一大小乘以微信月活人数 12.5 亿,大概是 3.5PB,而实际用户的相册大小要远超这个数字。微信用至少数十 PB 的存储空间去做一件违反《数据安全法》、侵犯用户隐私被巨额罚款、公司声誉受损风险的事,这有什么意义呢?
微信为了实现在 iPhone 上「快捷发图」,利用了一个 iOS 的协议,即 PHPhotoLibraryChangeObserver。这个功能让微信成为了相册的观察者,可以时时接收相册改变的消息。
也就是说,当你拍摄照片、截图、存储下载的图片后,iOS 就会将「用户存照片啦」这个信息告诉微信,而微信就会获得这个消息。不过,「微信获得用户存照片」这一消息,被「记录 App 活动」这一系统功能标记为「读取相册」。
那么,微信为什么会在并没有使用它的时间(也就是凌晨)获取消息呢?
我们用一个简单的例子说明,比如你晚上 11 点和女友互道晚安,然后自己玩手机时保存了几张搞笑图片——这时你虽然没有打开微信,但 iOS 系统依然把「用户存照片」这一信息发送给了微信。
等到你休息时(可能是凌晨 3 点),微信被 iOS 系统叫醒,在 CPU 空闲期间来获取了这一信息(这是一种名为 background fetch 的后台唤醒机制,app 无法控制唤醒时间,由系统确定)。
这就相当于微信在苹果报社订阅了一份名为「用户更新照片」的报纸,苹果卖报员将报纸送到了微信家里,微信则在苹果安排的休息时间打开报纸看了一眼——只不过看报纸的时间是它自己无法确定的凌晨罢了。
▲ 拍照后保持微信前台,耗电量并没有明显增加,也就是说微信没有上传照片.
那微信为什么要用这么一个容易引发争议的接口协议呢?
这也和 iOS 系统有关,在 Android 平台,点击「+」后,微信可以调用 Android 相册接口,直接扫描最新的照片,并且把它呈现出来。但如果在 iOS 系统用同样的方法,就会因为繁杂的相簿、目录以及和亲友共享的网络相簿等拖慢运行时间,所以只得通过 PHPhotoLibraryChangeObserver 这一接口,提前观察用户相册是否发生变化,实现提前准备。
这个问题的答案也是肯定的,我们进行了一轮测试。
在最新的 iOS 15 中,app 获取照片的权限有三种,分别为「选中的照片」、「所有照片」以及「无」。我们便在手机开启飞行模式的状态下,对系统截图、相机拍摄以及微信 app 内截图三种使用场景,进行三种权限的测试。
开启「所有照片」
▲可以识别系统截图
▲ 可以识别相机拍照.
▲可以识别系统内截图.
开启「选中的照片」
▲ 无法识别系统截图.
▲ 无法识别相机拍照.
▲ 可以识别微信内截图.
开启「无」
▲ 无法识别系统截图.
▲无法识别相机拍照.
▲可以识别微信内截图.
具体测试结果,我们也制作了一个表格进行展示:
据了解,如果微信在前台,微信 app 就可以利用应用内截图实现「快捷发图」的功能。所以,微信「快捷发图」的功能,确实是在本地完成的。而且如果不开启照片权限,也确实无法正常使用此功能。
今年二月份,工信部组织的 App 个人信息保护监管座谈会在北京召开,除了中国信息通信研究院、北京互联网法院、中国消费者协会等单位的专家学者,我们熟悉的百度、腾讯、阿里巴巴等 14 家企业的负责人也都参会研讨。
在会中,针对 App 过度索取麦克风、相册、通讯录等权限问题,工业和信息化部专题开展技术检测,对发现存在问题的 179 款 App 提出了责令限期整改,对其中未按期整改的 26 款 App 予以公开通报。
▲图片来自:微博@工信微报.
国家监管的加强、用户对隐私的关注、硬件厂商的跟进,我们手机里的 app 也越来越「听话」了,而微信、淘宝等常用 app,自然也不会在用户隐私上犯迷糊。
作为普通用户,我们只要通过正规渠道下载安装 app,在安装 app 时仔细确认联系人、相册、定位信息等的权限信息是否与 app 共享,就足够在保证 app 体验的同时,保护我们的隐私了。