2

微信看了你的相册?别慌,并没有

 2 years ago
source link: https://www.ifanr.com/app/1446346
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

微信看了你的相册?别慌,并没有

01-2.jpg!720

我们越来越关注隐私了。

早在 2018 年,大家在使用弹出式摄像头的机型,发现打开某些 app 时,没有拍照却弹出了摄像头;到了 2020 年,MIUI 12 的「照明弹」功能,让几分钟获取上千次位置信息的 app 无处遁形。

1-9.jpg!720

▲MIUI 12 发布会.

而微信昨天上了热搜,也正是因为类似的情况:有用户开启了 iOS 15 的隐私新特性「记录 App 活动」,通过《隐私洞见(App Privacy Insights)》查看后发现,微信、淘宝等多款 app 在未使用的情况下,多次读取用户手机相册。

2-7.jpg!720

▲ 图片来自:微博@Hackl0us

对此,微信官方给出了回应:

iOS 系统为 app 开发者提供相册更新通知标准能力,相册发生内容更新时会通知到 app,提醒 app 可以提前做准备,app 的该准备行为会被记录成读取系统相册。

也就是说, 微信在用户授权「系统相册权限」的前提下,为了方便用户在微信聊天时按下聊天框旁边的「+」时出现缩略图从而快速发图,微信使用了 iOS 系统的能力,让用户发送图片的体验更加快速流畅。这个操作都在手机本地完成。

3-7.jpg!720

▲也就是这个功能.

那么问题来了,微信到底是大晚上在后台悄悄看用户的照片,还是像它说的那样,是因为 iOS 机制导致的呢?

微信真的在读取用户相册里的照片吗?

当然没有。

在知乎上,有博主举了一个非常容易理解的例子:他刚清理过的相册有 30MB 相册,按照这一大小乘以微信月活人数 12.5 亿,大概是 3.5PB,而实际用户的相册大小要远超这个数字。微信用至少数十 PB 的存储空间去做一件违反《数据安全法》、侵犯用户隐私被巨额罚款、公司声誉受损风险的事,这有什么意义呢?

微信为了实现在 iPhone 上「快捷发图」,利用了一个 iOS 的协议,即 PHPhotoLibraryChangeObserver。这个功能让微信成为了相册的观察者,可以时时接收相册改变的消息。

4-8.jpg!720

也就是说,当你拍摄照片、截图、存储下载的图片后,iOS 就会将「用户存照片啦」这个信息告诉微信,而微信就会获得这个消息。不过,「微信获得用户存照片」这一消息,被「记录 App 活动」这一系统功能标记为「读取相册」。

那么,微信为什么会在并没有使用它的时间(也就是凌晨)获取消息呢?

我们用一个简单的例子说明,比如你晚上 11 点和女友互道晚安,然后自己玩手机时保存了几张搞笑图片——这时你虽然没有打开微信,但 iOS 系统依然把「用户存照片」这一信息发送给了微信。

等到你休息时(可能是凌晨 3 点),微信被 iOS 系统叫醒,在 CPU 空闲期间来获取了这一信息(这是一种名为 background fetch 的后台唤醒机制,app 无法控制唤醒时间,由系统确定)。

这就相当于微信在苹果报社订阅了一份名为「用户更新照片」的报纸,苹果卖报员将报纸送到了微信家里,微信则在苹果安排的休息时间打开报纸看了一眼——只不过看报纸的时间是它自己无法确定的凌晨罢了。

5-1.jpeg!720

▲ 拍照后保持微信前台,耗电量并没有明显增加,也就是说微信没有上传照片.

那微信为什么要用这么一个容易引发争议的接口协议呢?

这也和 iOS 系统有关,在 Android 平台,点击「+」后,微信可以调用 Android 相册接口,直接扫描最新的照片,并且把它呈现出来。但如果在 iOS 系统用同样的方法,就会因为繁杂的相簿、目录以及和亲友共享的网络相簿等拖慢运行时间,所以只得通过 PHPhotoLibraryChangeObserver 这一接口,提前观察用户相册是否发生变化,实现提前准备。

微信的「快捷发图」功能,真的在本地实现么?

这个问题的答案也是肯定的,我们进行了一轮测试。

在最新的 iOS 15 中,app 获取照片的权限有三种,分别为「选中的照片」、「所有照片」以及「无」。我们便在手机开启飞行模式的状态下,对系统截图、相机拍摄以及微信 app 内截图三种使用场景,进行三种权限的测试。

  • 开启「所有照片」

7-3.gif

▲可以识别系统截图

8-2.gif

▲ 可以识别相机拍照.

9-2.gif

▲可以识别系统内截图.

  • 开启「选中的照片」

10-1.gif

▲ 无法识别系统截图.

11-2.gif

▲ 无法识别相机拍照.

12-2.gif

▲ 可以识别微信内截图.

  • 开启「无」

13-1.gif

▲ 无法识别系统截图.

14.gif

▲无法识别相机拍照.

15-1.gif

▲可以识别微信内截图.

具体测试结果,我们也制作了一个表格进行展示:

16-2.jpg!720

据了解,如果微信在前台,微信 app 就可以利用应用内截图实现「快捷发图」的功能。所以,微信「快捷发图」的功能,确实是在本地完成的。而且如果不开启照片权限,也确实无法正常使用此功能。

关注隐私,但也不用太过紧张

今年二月份,工信部组织的 App 个人信息保护监管座谈会在北京召开,除了中国信息通信研究院、北京互联网法院、中国消费者协会等单位的专家学者,我们熟悉的百度、腾讯、阿里巴巴等 14 家企业的负责人也都参会研讨。

在会中,针对 App 过度索取麦克风、相册、通讯录等权限问题,工业和信息化部专题开展技术检测,对发现存在问题的 179 款 App 提出了责令限期整改,对其中未按期整改的 26 款 App 予以公开通报。

17.jpg!720

▲图片来自:微博@工信微报.

国家监管的加强、用户对隐私的关注、硬件厂商的跟进,我们手机里的 app 也越来越「听话」了,而微信、淘宝等常用 app,自然也不会在用户隐私上犯迷糊。

作为普通用户,我们只要通过正规渠道下载安装 app,在安装 app 时仔细确认联系人、相册、定位信息等的权限信息是否与 app 共享,就足够在保证 app 体验的同时,保护我们的隐私了。

sysappso.jpg!720


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK