新發現的iCloud私人中繼服務的缺陷洩露了使用者的IP位址
蘋果公司新推出的iCloud私人中繼系統中被發現一個缺陷,在滿足某些條件時暴露了使用者的IP地址,從而破壞了該功能的基礎價值。 正如研究人員和開發人員Sergey Mostsevenko在本周的一篇博文中所詳述的那樣,私人中繼在處理WebRTC方面的一個缺陷會”洩露”用戶的真實IP位址,其在FingerprintJS網站提供了一個概念證明。
在6月的全球開發者大會上宣佈的Private Relay承諾通過將互聯網請求路由到由兩個不同實體運營的兩個單獨的中繼站,來防止第三方對IP位址、使用者位置和其他細節的跟蹤。 蘋果公司說,配置為通過私人中繼的互聯網連接使用匿名的IP位址,映射到使用者所在地區,但不透露他們的確切位置或身份。
理論上,網站應該只看到出口代理的IP位址,但用戶的真實IP在某些WebRTC通信場景中會被保留,可以通過一些巧妙的代碼來發現。
正如Mostsevenko所解釋的,WebRTC API是用來促進網路上的直接通信,而不需要中間伺服器。 在大多數瀏覽器中部署,WebRTC依靠互動連接建立(ICE)框架來連接兩個使用者。 一個瀏覽器收集ICE候選者,並使用潛在的連接方法來尋找並與第二個瀏覽器建立連結。
漏洞出現在伺服器反射性候選,這是一個由NAT(STUN)伺服器會話穿越工具使用的候選,用於連接到位於NAT後面的設備。 網路位址轉換(NAT)是一個協定,使多個設備能夠通過一個IP位址訪問互聯網。 重要的是,STUN伺服器共用一個使用者的公共IP位址和埠號。
“由於Safari不通過iCloud私人中繼代理STUN請求,STUN伺服器知道你的真實IP位址。 這本身並不是一個問題,因為他們沒有其他資訊;然而,Safari將包含真實IP位址的ICE候選者傳遞給JavaScript環境,”Mostsevenko說。 “然後完成去匿名化后,就變成了從ICE候選者中解析你的真實IP地址的問題–這一點很容易通過網路應用程式完成。
據該研究人員稱,通過與STUN伺服器建立連接物件,收集ICE候選者並分析其值,就可以收集到使用者的IP位址。
FingerprintJS向蘋果公司報告了這個漏洞,該公司在本周發佈的最新macOS Monterey測試版中推送了一個修復程式。 但該漏洞在iOS 15上仍未得到修補。
瞭解更多:
https://fingerprintjs.com/blog/ios15-icloud-private-relay-vulnerability/