安全專家發現鏈接預覽會洩漏敏感數據/消耗帶寬/榨乾電池
鏈接預覽幾乎是主流聊天和即時信息應用中標配的功能,它能預覽鏈接中關聯的圖像和文本,從而讓在線對話更加輕鬆。但遺憾的是,它們還可能會洩漏我們的敏感數據、消耗我們有限的帶寬、耗盡我們的電池,甚至在某些情況下能夠暴露原本應該端到端加密的聊天內容。根據本週一發布的研究,目前Facebook,Instagram,LinkedIn和Line中的信息就存在這樣的問題。
當發送者發送了一條包含鏈接的信息,應用可能會顯示該鏈接隨附的文本(通常是標題)和圖像,通常看起來會是下面這樣的:
為此,應用程序本身(或由應用程序指定的代理)必須要先訪問該鏈接,打開文件,並調查其中的內容。而在這個過程中可能會下載惡意程序。其他形式的惡意行為可能會迫使應用下載太大的文件,以至於導致應用崩潰,耗盡電池或消耗有限的帶寬。而且,如果鏈接指向私人材料(例如,將報稅表發佈到私人OneDrive或DropBox帳戶),則應用服務器可以無限期查看和存儲它。
本週一,安全研究人員塔拉爾·哈吉·巴克里(Talal Haj Bakry)和湯米·邁斯克(Tommy Mysk)發現,Facebook Messenger 和Instagram 在方面的表現比較糟糕。如下圖所示,兩個應用程序都會下載並複制整個鏈接文件,即使文件大小為千兆字節也是如此。同樣,如果文件是用戶希望保密的文件,則可能會引起關注。
即使鏈接的文件容量高達2.6 GB,在Facebook Messenger 和Instagram 兩款應用中發送鏈接預覽之後依然會進行下載。
Haj Bakry 和Mysk 向Facebook報告了他們的發現,該公司表示這兩個應用程序都可以正常工作。Instagram 的所有者Facebook 在一封電子郵件中說,其服務器僅下載圖像的縮小版本,而不下載原始文件,並且該公司不存儲該數據。
但是Mysk 表示,該視頻演示了Instagram 全部下載了2.6GB 文件(Ubuntu ISO,文件重命名為ubuntu.png )。他還指出,大多數其他Messenger 會剝離JavaScript,而不是下載並在其服務器上運行。LinkedIn的表現略好。唯一的區別是,它沒有復制任何大小的文件,而是僅複製了前50兆字節。
同時,當Line 應用程序打開加密消息並找到鏈接時,它似乎會將鏈接發送到Line 服務器以生成預覽。Haj Bakry 和Mysk 寫道:“我們認為這違反了端到端加密的目的,因為LINE服務器知道通過應用程序發送的所有鏈接,以及誰與誰共享鏈接。”
Discord,Google Hangouts,Slack,Twitter和Zoom也會復製文件,但它們將數據量限制在15MB到50MB之間。下圖提供了研究中每個應用程序的比較。