Apple 的 Wi-Fi 定位系统 (WPS) 可用于映射和跟踪全球的 Wi-Fi 接入点 (AP)。但在 Black Hat 2024 的一次演讲中,马里兰大学研究员 Erik Rye 将展示他如何在几天内映射数以亿计的接入点,甚至不需要 Apple 设备或任何类型的权限。
Apple 如何公开全球 AP
你有没有想过你的手机是怎么知道它在世界上的位置的?
当然,全球定位系统(GPS)是它使用的一种工具,但它并不是一个完美的工具。当设备失去一条清晰的线到天空时,它的效果会降低,并且它会消耗大量电力,这对于如此持久的任务来说并不理想。
这就是 Wi-Fi 定位系统的用武之地。如果您用 Wi-Fi 接入点 (AP) 替换卫星,WPS 的工作原理有点像 GPS。
首先,运行 Apple 或 Google 操作系统的设备会定期报告其位置(通过 GPS 或手机信号塔三角测量)以及来自附近网络的相对信号强度(由其基本服务集标识符或 BSSID 标记),这在一定程度上表明了它们的距离。通过这种众包,这些公司开发了庞大的数据库,记录了全球接入点的位置。
正如 Rye 所解释的那样,“你可能没有一台 Apple 设备,但尽管如此,你的 Wi-Fi 接入点仍然会在这个系统中,仅仅因为拥有 Apple 设备的人会经过你的房子,送你的包裹,或者住在你旁边。
然后,各个设备可以通过扫描附近的 Wi-Fi 网络并将其报告给公司服务器来确定其位置。在Apple的案例中,WPS服务器将返回这些Wi-Fi网络的位置,设备可以将其与观察到的信号强度进行比较,以确定其相对位置。那么,问题出在哪里呢?
Apple 的 WPS API 是开放且免费使用的。它专为 Apple 设备设计,但任何人都可以从非 Apple 设备查询它,而无需任何类型的身份验证或 API 密钥。使用用 Go 编写并在 Linux 上运行的程序,Rye 暴力破解猜出了大量的 BSSID 数字,直到他最终命中了一个真实的数字,为此,WPS API 端点为他提供了一组靠近它的其他 BSSID。
他解释说:“一旦你开始获得命中,你就可以进行所谓的'滚雪球采样',然后将它们反馈回去,并一遍又一遍地连续采样。“在不到一周的时间里,我们积累了大约五亿个独特的 BSSID。”
Apple WPS 中的一个特殊怪癖使该过程变得更加高效。在响应位置查询时,它将自愿返回多达 400 个结果,而不仅仅是附近的几个网络。
有什么风险?
“我们基本上能够创建地球的Wi-Fi地图,包括一些最偏远的地方:南极洲,大西洋中部的小岛,诸如此类,”Rye说。
他的成果包括:一张在饱受战争蹂躏的乌克兰提供互联网接入的 Starlink 接入点的地图,以及一幅在加沙地区提供互联网接入的不断发展的图片,这些可能是有价值的军事情报。
更有针对性的隐私攻击可能涉及跟踪个人搬家或使用移动接入点(例如,在房车中)出行。
“这很有趣——每个人都有自己的案例研究,他们想知道,”Rye 说。“有人问过(我们)关于火人节的事情,这很容易,因为火人节在偏僻的地方。因此,如果你的接入点出现在那里,我们知道你在那里是为了火人节。
细心的读者可能会问:如果苹果和谷歌都有WPS,为什么我们只选择一个呢?
这两个系统都使用庞大的全球 BSSID 数据库来对设备位置进行三角测量。但是,当 Android 设备查询 Google 的 WPS API 而不是回复一长串 BSSID 时,Google 的服务器会进行三角测量并回复结果。因此,所有这些额外的数据都不会暴露。
Google 还需要一个 API 密钥,它用它来对查询施加成本(最多每两个请求一美分)。对于普通用户来说微不足道,对于需要在攻击真实 BSSID 之前需要猜测大量 BSSID 的攻击者来说,这种微小的成本将被证明是令人望而却步的,就像 Rye 在他的测试中所做的那样。
这些只是苹果、接入点制造商甚至立法者可以改进 AP 安全性的众多可能方式中的两种。在此期间,个人可以采取一些预防措施。
“如果你是一个特别精通技术的用户——运行 OpenWrt 或类似的东西——你可以自己手动随机化你的 BSSID。但这超出了大多数人的范围,“Rye 说。
特别高危的人可以完全避免旅行 AP,并在他们搬家时采用新的 AP。而且,Rye 补充道,“Apple 已经实施了选择退出功能。如果您在网络名称的末尾添加“_nomap”,Apple 表示这将防止您的 Wi-Fi 接入点最终进入他们的系统。