G.O.S.S.I.P閱讀推薦2025-06-06127.0.0.1竊聽風暴

明天就要高考了,預祝我們的讀者中即將參加高考的群體明天能夠順風順水,旗開得勝!

大家還記得我們在《G.O.S.S.I.P 閱讀推薦 2025-05-17 本地網路立入禁止》介紹的iOS本地網路通訊限制的研究嗎?今天要給大家介紹的研究內容和此前的研究密切相關:正是因為沒有對本地網路的通訊進行嚴格限制,導致了一眾APP悄悄但是瘋狂地竊取使用者的隱私
在Android平臺上,由於缺乏對本地網路通訊的細粒度管控,任何擁有INTERNET許可權的APP都可以監聽本地網路地址(也就是127.0.0.1)的特定埠;而瀏覽器上執行的各種指令碼和本地地址進行通訊的時候,系統和瀏覽器也不會做什麼特別的限制,因此就出現了這麼一個奇怪的場景:Meta和Yandex這些美國和俄國的網際網路大廠一方面竟然讓旗下的APP(包括Facebook、Instagram、Yandex Maps、Yandex Navigator、Yandex Search、Yandex Browser等)偷偷在本地Android系統上監聽特定的埠,另一方面則透過各種手段讓許多第三方網站的網頁整合他們開發的JavaScript指令碼(Meta Pixel 和 Yandex Metrica)。這兩件事情完成之後,當用戶訪問某個第三方網站,相關的指令碼就會立即嘗試往本地特定埠傳送相關的資訊(後面會介紹),而那些監聽本地埠的APP則透過接收這些資訊獲得了大量使用者的隱私資料!這就是整個攻擊的完整流程(注:在這項研究公佈之後,Meta在6月3日偷偷停止了自家Meta Pixel指令碼往本地埠傳送資料的行為,而Yandex也緊隨其後停止了相關操作)。
實際上從技術層面,這種竊取使用者隱私資料的攻擊原理並不複雜,只是需要Meta、Yandex這種使用者數量眾多且能夠影響諸多網站的大廠商去實施,效果才會好——Meta Pixel指令碼被超過五百八十萬網站整合,而Yandex Metrica指令碼也有接近三百萬網站整合。這個規模可以保證廠商收集到足夠多的不同網站發來的使用者資料,建立精確的使用者畫像。
很有意思的是,估計這些大廠自己都知道這種行為令人不齒,於是還使用了各種手段來隱藏從網站指令碼往本地APP傳送資料這一過程,比如Meta Pixel此前(今年5月17日以後改掉了)使用了一種叫做SDP Munging的技術(WebRTC領域的一種hack手法,技術細節可以參見 https://webrtchacks.com/not-a-guide-to-sdp-munging 的相關解釋)來發送相關的cookie,可以讓Chrome的DevTools無法很好地觀察:
而對於Yandex Metrica指令碼,它的手段是不直接傳送給127.0.0.1,而傳送至yandexmetrica[.]com這個域名,只不過在DNS解析記錄裡面把域名指向127.0.0.1而已,這真是欲蓋彌彰的做法啊!
研究人員還分析了到底這些大廠是從什麼時候開始開展這種並不是那麼光彩的行為的,結果發現Yandex竟然從2017年就開始這麼幹了,而Meta明顯缺乏加班效率,旗下的工程師到了2024年才學會。當然Meta的工程師也更謹慎,不像Yandex那樣直接就HTTP/HTTPS協議傳送,而是用了WebSocket、WebRTC STUN和WebRTC TURN等多種更加隱蔽的傳輸方法。
其實最可怕的一點在於,有些人會覺得我們反正不在美帝也不在沙俄,我們就不用擔心會安裝他們那些APP,可是你有沒有想過,如果其他APP也在監聽127.0.0.1的相同埠,這些APP不也能收集到同樣的資料嗎?細思恐極,期待更深入的調研。
最後,這項研究工作由來自西班牙、荷蘭和比利時的研究人員聯合完成,我們不僅稱讚他們的研究,還實名羨慕一下他們的男子足球國家隊,畢竟我們的男足已經開始備戰2030年世界盃了~

研究網站:https://localmess.github.io/

相關文章