5 月 25 日消息,安全博客 krebs on security 本月发布博文,表示苹果公司的定位服务存在被滥用风险,通过 "窃取"wps 数据库,可以定位部队行踪。
相关背景知识
手机定位固然主要依赖卫星定位,不过在城市地区,密集的高楼会导致移动设备难以接收卫星的微弱信号,因此移动设备在这种场景中会依赖基于 wi-fi 的定位系统(wps)。
wps 使用一个包含近 5 亿台 wi-fi 路由器的全球数据库。最重要的是,这不仅仅是他们能实际访问的公共路由器,而且他们能看到的所有 bssid,这也包括很多家庭中的 wi-fi 路由器。
设备无法访问你的路由器,但它们可以检测到路由器并查询数据库,找出路由器的确切位置。这些数据库是由四处行驶的汽车创建的,它们使用多种方法跟踪自己的位置,并收集 bssid,然后将其与这些位置进行匹配。
代码网注:制造商设置的 bssid 与用户选择的路由器 ssid 不同,简单来说可以将其视为路由器中无线网卡的 mac 地址。
苹果和谷歌都有自己的 wps 数据库,它们使用的方法基本相同。检测附近的 bssid,测量每个信号的强度,然后将这些数据与 wps 数据库进行比较,找出移动设备的位置。
谷歌定位方式
手机会记录它能看到的 bssid 及其信号强度,并将数据发送到谷歌服务器,服务器使用 wps 数据库计算手机的位置,并将其发送给手机。
苹果定位方式
苹果的 wps 还接受附近 bssid 的列表,不是根据观察到的接入点及其接收到的信号强度来计算设备的位置,而是苹果通过 api 返回最多 400 个 bssid 的地理位置,然后使用其中大约 8 个 bssid 根据已知地标确定用户的位置。
从本质上讲,谷歌的 wps 可以计算用户的位置,并与设备共享。苹果的 wps 为其设备提供了足够多的有关该地区已知接入点位置的数据,设备可以自行进行估算。
苹果定位方式漏洞
马里兰大学的研究人员表示可以利用苹果公司 api 的冗长功能,绘制出单个设备进出世界上几乎任何指定区域的移动地图。
马里兰大学的这对研究人员说,他们在研究初期花了一个月的时间不断查询 api,询问随机生成的十亿多个 bssid 的位置。
在这些随机生成的 bssid 中,只有约 300 万个是苹果公司的 wi-fi 地理定位 api 所知道的,但苹果公司还返回了另外 4.88 亿个 bssid 位置,这些位置已经通过其他查询存储在其 wps 中。
研究人员说,通过归零(zeroing)或“地理围栏”苹果公司位置 api 索引的其他较小区域,他们可以监控 wi-fi 接入点随着时间的推移是如何移动的。
这个问题在实际层面可能会是个大问题,团队可以对俄乌冲突区域进行定位,能确认乌克兰和俄罗斯军队使用的星链设备的位置和移动情况。
代码网附上参考地址
发表评论