Android系統在啟用VPN的情況下仍會洩漏DNS查詢Google回應正在調查
Google在設計Android 系統時基於安全和隱私考慮,已經為啟用VPN 加密隧道時添加始終使用加密隧道以及阻止沒有經過加密的連接,該功能原則上可以在用戶重啟系統、切換VPN 以及其他情況下,僅在VPN 已經成功連線時才發送DNS 請求,避免相關請求直接透過非加密隧道傳送。
瑞典加密隧道提供商Mulvad VPN 的用戶反饋稱,Android系統的相關阻止選項不起作用仍然會洩露用戶的DNS 查詢,Mulvad VPN 經過調查後確認了這個問題,並且在Android 14 上都可以復現該問題。
這意味著Android 14 及更早版本可能都存在類似的問題,即洩漏用戶的DNS 查詢引起一些隱私問題,這個問題必須由Google發布更新進行修復。
問題發生在哪裡:
調查發現直接呼叫getaddrinfo C 函數的應用程式會碰到這個錯誤,該函數提供從網域到IP 位址的協定轉換。
當VPN 處於活動狀態但並未配置DNS 伺服器或VPN 應用程式重新配置加密隧道、崩潰以及被迫終止時,Android系統都沒有按照設計預期阻止DNS 請求,也就是直接透過非加密隧道發送DNS 請求。
DNS 請求的洩漏可被攻擊者用來收集使用者造訪的網站和平台並分析使用者的偏好以及進行針對性的釣魚等,這個問題屬於比較嚴重的隱私錯誤。
理論上說所有相關應用程式都受這個問題的影響,同時Mulvad VPN 並未找到潛在的緩解方案,相反這個漏洞必須由上游提供者處理。
Google回應正在調查:
Mulvad VPN 已經將這個問題通報給Google,Google方面回應稱Android 系統的安全性和隱私是重中之重,Google已經收到相關報告目前正在調查中。
當Google確認問題後Google應該會發布補丁進行修復,問題在於一些老舊的Android 版本如何修復是個問題,這些老舊版本可能已經停止支援或搭載這些版本的手機無法獲得OEM 提供的更新,這都會導致用戶處於不安全狀態。