安卓系统里有两个很多人依赖的安全开关:始终开启VPN,以及“阻止无VPN的连接”。它们给出的承诺很明确——被覆盖的应用,流量不会从非VPN的路径出去。安全研究者Armin Šupuk在7月29日公开的一份技术报告指出,这个承诺可以被一个普通应用绕过,而且是利用安卓自己公开的API。
漏洞的原理藏在一条很长的调用链里。普通应用可以调用安卓公开的NAT-T Socket Keepalive接口,最终让系统框架把格式固定的UDP/4500保活包,直接发到物理路由器上。这些包走的是Wi-Fi后端和芯片固件,发射行为发生在普通应用socket写入路径之下,而VPN锁定通常只能约束普通socket路径。也就是说,应用看到的是“网络已锁定”,但保活包已经绕开隧道出了网卡。报告特别强调,发起这种操作既不需要root,也不需要ADB、隐藏API、原始Binder或者特权权限,只要能上网、能读网络状态就够。
攻击者能拿到什么,也要说准确。泄露的是设备的真实非VPN源IP地址、设备是否在线,以及数据包的发送节奏(公共最小间隔约10秒,载荷固定为1字节,攻击者无法控制内容)。这些信息不足以窃取你的聊天记录,但足以推断你的ISP、所在组织、是否在旅行,也能把本该藏在VPN后面的设备与某个非VPN接入网关联起来。对做渗透测试、反欺诈、网络审查研究的人来说,这个能力已经很有价值了。
影响面不小。报告称漏洞源于安卓12引入的框架路径,运行时验证主要在Android 16上完成,实测覆盖了Pixel 8 Pro(Broadcom无线芯片)、三星SM-F966B和Nothing A059(高通芯片)三家不同厂商的机型。其中三星那台设备在一个活跃的物理网关Wi-Fi租约上保持了24小时32分钟。研究者还做了固件普查,覆盖高通、博通、联发科、紫光展锐、三星LSI、海思等7个无线系列,占2021年第四季度到2026年第一季度安卓衍生出货量的约91.24%。剩余约8.76%未能解析。
修复状态需要如实说明:目前没有已修补的安卓构建版本,也没有打过补丁的设备抓包验证,报告给出的修复方案停留在源码级建议——在准入环节校验调用者的资源所有权和当前VPN策略,在检查完成前让非特权的NAT-T卸载“失败关闭”。披露时间线显示,研究者5月15日提交报告,Google当天分类,5月19日标记为已有问题(编号386376240)的重复项,记录中没有CVE编号、修复状态更新或严重度判定。报告作者也声明了利益冲突:他销售一款名为VPN Leak Guard的商业应用,报告中的部分观测证据来自该应用。
给普通用户的结论不用夸大:VPN仍然是有效的隐私工具,但它不是一层绝对不会漏的壳。在需要真正保密的场景里,把VPN当成一层防护而不是唯一一层——确认终端系统已更新到最新版本,敏感操作尽量走可信网络,别在一台设备上把“网络匿名”和“身份保密”当成同一件事。对做移动端产品的开发团队来说,这份报告也提醒了一件事:系统级的隐私开关背后是漫长的框架演进史,早期为了解死锁回退掉的校验,可能几年后以漏洞的形式还回来。
A5创业网 版权所有