https://dwz.cn/nxIG6bYJ


下班之后,差评君习惯刷刷平时加的几个技术群,看看近期有什么瓜可以吃。

突然发现有一条提醒。。嗯,点开看看。

1.jpg

这段话大概意思就是,Facebook 会在用户下载照片时,嵌入一段非常隐蔽的追踪代码,即使用户下载图片通过其他平台传播,Facebook 依旧可以通过这段代码,追查到图片的第一个转发者。

美国的《 福布斯新闻网 》推测,这种的追踪代码如果使用的好的话,Facebook 可以根据一张照片流传的轨迹,刻画出用户的网络活动轨迹:常联系的朋友、常逛的论坛、活跃的时间段等等。

如果这是真的话,那可就恐怖了。。

因隐私问题出席听证会的扎克伯格

2.jpg

Facebook 最近的名声已经很不好了,小扎自己谈起隐私也只能尴尬一笑,这时候又爆出追踪图片的事情……

差评君在看到这个消息之后,想到了两件事情:

1. 这件事情是真是假,需要验证一下;

2. 国内的几家主流平台会不会也有类似的追踪代码。

3.jpg

差评君首先来验证下, Facebook 会在你下载图片的时候植入追踪代码是否为真。。那么,差评君必须先往自己的账号上上传一张照片。。

就这个了,锅哥不羁的身影!

4.jpg

然后,差评君再把锅哥图片下载下来,在 Facebook 上这么转了一圈,按理说,这张图片上就有了 Facebook 植入的小尾巴了~

据推文的发布者所述,这段追踪代码可以在十六进制查看器下观察到。

能够查看图片的十六进制编码的工具有很多,差评君这次使用的是 VS Code 内的十六进制查看插件「 hexdump for VSCode 」。

VS Code 是程序猿们的代码编写工具

5.jpg

之后我们在 VS Code 内打开图片文件,会发现界面右上角新增加了一个「Show Hexdump」(显示十六进制编码),点击后就会将文件转换为十六进制进行显示。

眨眼间火锅就变成了一串数字

6.gifGIF

接下来多图预警!

接下来多图预警!

接下来多图预警!

我们先来看一下原始照片的十六进制信息↓↓

原始图片在十六进制下能看到拍摄设备信息

7.jpg

那么我们将照片上传到 Facebook 之后再下载回来,查看其中的区别。

8.jpg

此时这部分信息从一加手机变成了 Photoshop 3.0;不仅如此,后面还跟上了一串由英文字母和数字组成的序号,这串序号就是被推测用于追踪的识别码。

那么有没有可能 Facebook 在上传照片的时候真的使用了 Photoshop 的部分功能呢?比如压缩图片大小、剪裁画面、增加滤镜,听着都像是和 Photoshop 有关的操作。

如果是这样,那下载回来的图片中真的出现 Photoshop 相关的字样也不是没有可能的。

所以作为对比,我们使用 Photoshop 处理一下锅哥的靓照,再观察描述信息会发生什么变化。

9.jpg

真正使用 Photoshop 编辑的文件,的确会有 Photoshop 版本信息的字样,但不会在其后添加不明意义的序号。

差评君又查看了一下使用另一款图像处理工具「 泼辣修图 」编辑过的图片的十六进制信息,其后也没有出现不明意义的序号。

之后差评君又从 Facebook 上下载了几张图片,查看了一下十六进制编码信息。

火锅:听说你在网上看别的狗?

10.jpg

果然,这张图片对应的十六进制编码信息中也出现奇怪的序号。。

11.jpg

所以这件事情差不多实锤了,Facebook 的确在图片中嵌入了可能用于追踪的代码,而且还妄图把这口锅甩给了 Photoshop。

做了坏事,还想告诉大家这是隔壁小孩做的,啧啧啧。

初步实锤之后,还有一个问题需要验证:这段代码是上传照片时加入的,还是下载照片时加入的?

有人倾向认为 Facebook 添加这段代码的本意是确定文件的最初所有权,在出现文件归属/版权争议的时候可以作为辅助证据使用。

12.jpg

若真相如此,Facebook 只需要在图片上传时加入追踪代码就可以了。

然而差评君对这个说法是不认同的,针对版权归属而做的追踪,早就可以通过向图片添加隐水印的方式实现了。

举个栗子,在火锅这张图片上通过频谱转换添加上了 「 差评吉祥物 」的水印,加上隐水印的火锅图片人眼看上去和原图片区别并不大,但在频谱上确确实实有差评的签名。。

13.jpg

而若要追踪每个下载了这张照片的用户的网络轨迹,则需要在每次下载照片时加入不同的序号,用于区分要追踪的目标。

为了解决这个问题,差评君和同事分别用各自的账号下载了数次火锅的靓照,结果发现有些同事得到的追踪代码是一致的,有些则与其他同事的不一致。。。

14.jpg

然而就在差评君准备第二天召唤更多同事做一波测试,挖掘其中规律的时候……

发现在新下载的图片文件中,追踪代码不见了……

被媒体爆料之后,Facebook 悄悄把追踪代码都撤掉了!

序号消失,只留下了孤单的「Photoshop 3.0.8BIM」…

15.jpg



好吧,虽然 Facebook 的反应十分迅速,不过想必差友们也和差评君一样,对一家美国「 不知名科技企业 」的日常是不怎么关心的。

差评君更好奇的是,我们常用的几家主流平台会不会给图片嵌入类似的追踪代码呢?

在测试了微信(聊天、朋友圈)、QQ(聊天、空间)、知乎、微博和钉钉之后,差评君发现……

什么都没有,描述信息干净的像小黑胖的钱包。。

16.jpg

其实这件事情也很好理解,国外的聊天工具和论坛大多默认采用发送原图的选项,因此 Facebook 加入的追踪代码多数情况下能够得以保留。

而国内的多数聊天工具默认都会压缩图片,有些论坛甚至没有发送原图的选项,经过压缩图片大小这类二次处理步骤后,原有的描述信息很容易就被抹掉了。。

因此,在国内的网络环境下,通过在描述信息中添加追踪代码就妄图追踪用户的网络活动轨迹,纯属费力不讨好。

其实早在 4 年前,就已经有技术人员发现 Facebook 的追踪代码了,并在程序员社区 Stack Overflow 引发了讨论,但未能引起更多关注。

Facebook 虽然移除了描述信息中的追踪代码,但会不会有「Plan B」呢?

毕竟 AI 早就可以快速识别图片并进行标记。

至于是否真的存在「Plan B」,也只有 Facebook 自己知道了。

“ 为了追踪你,这是要费多大劲 ”


NINGBOCAT: 国内在图片和视频上不用做手脚,根据图片或视频第一次出现的时间和转发的关系,图片和视频信息的后台自动比对,

很容易找到首犯或是进行各种追踪。


因为:很少有人会把网上看到的图片保存到自己手机然后再用软件清空资料,再PS成电脑不太好判断为同一张图片的“新”图片,再转发出去的。 再退一步,这张图片PS的人还是可以追到的,再根据好友清单或是群清单电脑自动排查。


所以个人认为:在图片上加信息的方式是最愚蠢的。