52naifei

新闻中心

Android泄露连接检查流量

Android泄露连通性检查流量

2022年10月10日 隐私 应用

我们应用程序的一项持续安全审计发现,Android系统泄露了某些流量,这是VPN服务无法阻止的。审计报告将很快公开。本文旨在深入探讨这一发现,称为MUL2203。

我们对报告的泄露进行了研究,得出的结论是Android在VPN隧道之外发送连通性检查。这在设备每次连接到WiFi网络时都会发生,即使启用了“在没有VPN的情况下阻止连接”设置。

我们理解Android系统为什么默认要发送这些流量。例如,如果网络上有一个限制性门户,连接在用户登录之前将无法使用。因此,大多数用户希望能够进行限制性门户检查,从而让他们能够显示和使用该门户。不过,这对某些用户来说可能会形成隐私问题,因为似乎没有办法阻止Android泄露这些流量,我们已经在Android问题追踪器上报告了这个问题。

Android泄露连接检查流量

即使您对某些流量通过VPN隧道外泄感到无所谓,我们认为该设置的名称“在没有VPN的情况下阻止连接”以及Android文档内容具有误导性。用户的印象是,除了通过VPN,所有流量都不会离开手机。因此,我们还报告了另一个问题,建议改善Android的文档。

用户界面没有设置可禁用连通性检查,但可以通过开发工具adb实现。我们发布了一份指南,说明如何做到这一点。请注意,这相当技术性,并且需要将设备连接到计算机并安装软件。

复现步骤

在系统设置中确保启用“始终保持VPN连接”和“在没有VPN的情况下阻止连接”。断开WiFi连接。开始监测从Android设备进出的网络流量,如在路由器上运行tcpdump。连接到WiFi。观察流量不仅限于VPN流量,还包括DNS查找、HTTP(S)流量,甚至可能还有NTP流量。

比较来说,专注于隐私和安全的Android基础发行版GrapheneOS为用户提供了禁用连通性检查的选项。如果启用了该选项,我们就无法观察到上述泄露。

隐私忧虑

连通性检查流量可以被控制检查服务器的方以及任何观察网络流量的实体观测和分析。即使消息内容并没有透露除“某个Android设备已连接”之外的更多信息,元数据包括源IP可以用来推导出更多信息,特别是与WiFi接入点位置等数据相结合时。不过,由于这种去匿名化的尝试需要相当复杂的参与者,因此我们大部分用户可能不会认为这是一个重大风险。

结论与建议

我们在应用中没有任何方式来修复这些泄露。然而,我们可以告诉用户这些问题的存在,并对Android操作系统的局限性保持透明。这将使每个人都能做出明智的决定。

最后,我们建议Google在标准Android中采纳能够禁用连通性检查的功能,类似于GrapheneOS的做法。

52naifei