你還在傻樂,別人已經順著網線找上了門…
下班之後,差評君習慣刷刷平時加的幾個技術群,看看近期有什麼瓜可以吃。
突然發現有一條提醒。。嗯,點開看看。
這段話大概意思就是,Facebook 會在用戶下載照片時,嵌入一段非常隱蔽的追蹤代碼,即使用戶下載圖片通過其他平台傳播,Facebook 依舊可以通過這段代碼,追查到圖片的第一個轉發者。
美國的《 福布斯新聞網 》推測,這種的追蹤代碼如果使用的好的話,Facebook 可以根據一張照片流傳的軌跡,刻畫出用戶的網路活動軌跡:常聯繫的朋友、常逛的論壇、活躍的時間段等等。
如果這是真的話,那可就恐怖了。。
因隱私問題出席聽證會的扎克伯格
Facebook 最近的名聲已經很不好了,小扎自己談起隱私也只能尷尬一笑,這時候又爆出追蹤圖片的事情……
差評君在看到這個消息之後,想到了兩件事情:
1. 這件事情是真是假,需要驗證一下;
2. 國內的幾家主流平台會不會也有類似的追蹤代碼。
差評君首先來驗證下, Facebook 會在你下載圖片的時候植入追蹤代碼是否為真。。那麼,差評君必須先往自己的賬號上上傳一張照片。。
就這個了,鍋哥不羈的身影!
然後,差評君再把鍋哥圖片下載下來,在 Facebook 上這麼轉了一圈,按理說,這張圖片上就有了 Facebook 植入的小尾巴了~
據推文的發布者所述,這段追蹤代碼可以在十六進位查看器下觀察到。
能夠查看圖片的十六進位編碼的工具有很多,差評君這次使用的是 VS Code 內的十六進位查看插件「 hexdump for VSCode 」。
VS Code 是程序猿們的代碼編寫工具
之後我們在 VS Code 內打開圖片文件,會發現界面右上角新增加了一個「Show Hexdump」(顯示十六進位編碼),點擊後就會將文件轉換為十六進位進行顯示。
眨眼間火鍋就變成了一串數字
接下來多圖預警!
接下來多圖預警!
接下來多圖預警!
我們先來看一下原始照片的十六進位信息
原始圖片在十六進位下能看到拍攝設備信息
那麼我們將照片上傳到 Facebook 之後再下載回來,查看其中的區別。
此時這部分信息從一加手機變成了 Photoshop 3.0;不僅如此,後面還跟上了一串由英文字母和數字組成的序號,這串序號就是被推測用於追蹤的識別碼。
那麼有沒有可能 Facebook 在上傳照片的時候真的使用了 Photoshop 的部分功能呢?比如壓縮圖片大小、剪裁畫面、增加濾鏡,聽著都像是和 Photoshop 有關的操作。
如果是這樣,那下載回來的圖片中真的出現 Photoshop 相關的字樣也不是沒有可能的。
所以作為對比,我們使用 Photoshop 處理一下鍋哥的靚照,再觀察描述信息會發生什麼變化。
真正使用 Photoshop 編輯的文件,的確會有 Photoshop 版本信息的字樣,但不會在其後添加不明意義的序號。
差評君又查看了一下使用另一款圖像處理工具「 潑辣修圖 」編輯過的圖片的十六進位信息,其後也沒有出現不明意義的序號。
之後差評君又從 Facebook 上下載了幾張圖片,查看了一下十六進位編碼信息。
火鍋:聽說你在網上看別的狗?
果然,這張圖片對應的十六進位編碼信息中也出現奇怪的序號。。
所以這件事情差不多實錘了,Facebook 的確在圖片中嵌入了可能用於追蹤的代碼,而且還妄圖把這口鍋甩給了 Photoshop。
做了壞事,還想告訴大家這是隔壁小孩做的,嘖嘖嘖。
初步實錘之後,還有一個問題需要驗證:這段代碼是上傳照片時加入的,還是下載照片時加入的?
有人傾向認為 Facebook 添加這段代碼的本意是確定文件的最初所有權,在出現文件歸屬/版權爭議的時候可以作為輔助證據使用。
若真相如此,Facebook 只需要在圖片上傳時加入追蹤代碼就可以了。
然而差評君對這個說法是不認同的,針對版權歸屬而做的追蹤,早就可以通過向圖片添加隱水印的方式實現了。
舉個栗子,在火鍋這張圖片上通過頻譜轉換添加上了 「 差評吉祥物 」的水印,加上隱水印的火鍋圖片人眼看上去和原圖片區別並不大,但在頻譜上確確實實有差評的簽名。。
而若要追蹤每個下載了這張照片的用戶的網路軌跡,則需要在每次下載照片時加入不同的序號,用於區分要追蹤的目標。
為了解決這個問題,差評君和同事分別用各自的賬號下載了數次火鍋的靚照,結果發現有些同事得到的追蹤代碼是一致的,有些則與其他同事的不一致。。。
然而就在差評君準備第二天召喚更多同事做一波測試,挖掘其中規律的時候……
發現在新下載的圖片文件中,追蹤代碼不見了……
被媒體爆料之後,Facebook 悄悄把追蹤代碼都撤掉了!
序號消失,只留下了孤單的「Photoshop 3.0.8BIM」…
好吧,雖然 Facebook 的反應十分迅速,不過想必差友們也和差評君一樣,對一家美國「 不知名科技企業 」的日常是不怎麼關心的。
差評君更好奇的是,我們常用的幾家主流平台會不會給圖片嵌入類似的追蹤代碼呢?
在測試了微信(聊天、朋友圈)、QQ(聊天、空間)、知乎、微博和釘釘之後,差評君發現……
什麼都沒有,描述信息乾淨的像小黑胖的錢包。。
其實這件事情也很好理解,國外的聊天工具和論壇大多默認採用發送原圖的選項,因此 Facebook 加入的追蹤代碼多數情況下能夠得以保留。
而國內的多數聊天工具默認都會壓縮圖片,有些論壇甚至沒有發送原圖的選項,經過壓縮圖片大小這類二次處理步驟後,原有的描述信息很容易就被抹掉了。。
因此,在國內的網路環境下,通過在描述信息中添加追蹤代碼就妄圖追蹤用戶的網路活動軌跡,純屬費力不討好。
其實早在 4 年前,就已經有技術人員發現 Facebook 的追蹤代碼了,並在程序員社區 Stack Overflow 引發了討論,但未能引起更多關注。
Facebook 雖然移除了描述信息中的追蹤代碼,但會不會有「Plan B」呢?
畢竟 AI 早就可以快速識別圖片並進行標記。
至於是否真的存在「Plan B」,也只有 Facebook 自己知道了。
參考資料
https://www.forbes.com/sites/zakdoffman/2019/07/14/facebook-is-embedding-hidden-codes-to-track-all-your-uploaded-photos-report/
https://twitter.com/oasace/status/1149181539000864769
https://stackoverflow.com/questions/31120222/iptc-metadata-automatically-added-to-uploaded-images-on-facebook
「 為了追蹤你,這是要費多大勁 」
※今日最佳:來品品外國留學生寫的中文郵件
※今日最佳:在電影名稱里加個字會發生什麼?
TAG:差評 |