苹果公司的Wifi定位服务(WPS)存在被滥用的风险

安全博客 Krebs on Security 2024年5月21日发布博文,表示苹果公司的定位服务存在被滥用风险,通过 "窃取"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 为其设备提供了足够多的有关该地区已知接入点位置的数据,设备可以自行进行估算。

根据论文描述,WPS定位主要两种工作方式:1)在服务器计算手机端位置,2)返回一些的BSSID的地理位置,并让手机端进行计算以确定其位置。谷歌的WPS采用前者,而苹果的WPS采用后者。

研究人员指出,谷歌和苹果的WPS系统在基本工作原理上有根本区别,苹果的系统由于其开放性,为安全研究人员和潜在的攻击者提供了进行这项研究的途径。

研究人员指出,苹果的WPS系统特别“热情健谈”(下图):
在这里插入图片描述

论文指出:“除了客户端提交的BSSID的地理位置,苹果的API还会随机性地返回多达数百个附近BSSID的地理位置。”

“在苹果的WPS版本中,用户提交BSSID进行地理定位,苹果WPS则会返回其认为的BSSID位置,同时返回的还包括用户未请求的多达400个附近BSSID的位置。这400个额外的BSSID对于安全研究人员/黑客的研究非常重要,因为它们允许研究人员在短时间内积累大量的地理定位BSSID。此外,苹果的WPS服务接口没有设置认证或速率限制,可以免费使用。”

相比之下,谷歌的WPS则仅返回计算出的位置,并且经过认证、速率限制和收费,使得进行类似攻击或安全研究变得难以负担,因此比苹果的WPS要安全得多。

苹果定位方式漏洞

马里兰大学的研究人员表示可以利用苹果公司 API 的冗长功能,绘制出单个设备进出世界上几乎任何指定区域的移动地图。

马里兰大学的这对研究人员说,他们在研究初期花了一个月的时间不断查询 API,询问随机生成的十亿多个 BSSID 的位置。

在这些随机生成的 BSSID 中,只有约 300 万个是苹果公司的 Wi-Fi 地理定位 API 所知道的,但苹果公司还返回了另外 4.88 亿个 BSSID 位置,这些位置已经通过其他查询存储在其 WPS 中。

研究人员说,通过归零(zeroing)或“地理围栏”苹果公司位置 API 索引的其他较小区域,他们可以监控 Wi-Fi 接入点随着时间的推移是如何移动的。

这个问题在实际层面可能会是个大问题,团队可以对俄乌冲突区域进行定位,能确认乌克兰和俄罗斯军队使用的星链设备的位置和移动情况。

参考

IT 之家博文

Krebs on Security 博文

Maryland大学的研究论文

安全内参博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/40524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Perl 语言开发(五):循环语句

目录 1. 循环语句概述 2. while 循环 2.1 基本语法 2.2 示例 2.3 无限循环 3. until 循环 3.1 基本语法 3.2 示例 3.3 无限循环 4. for 循环 4.1 基本语法 4.2 示例 4.3 嵌套循环 5. foreach 循环 5.1 基本语法 5.2 示例 5.3 遍历哈希 6. 循环控制语句 6.1 …

新建Vue工程的几种方法

文章目录 使用CLI2 : vue-cli使用CLI3 : vue/cli使用 vue3构建 (内置Vite)直接使用Vite使用parcel (最少配置方案) 使用CLI2 : vue-cli vue-cli是针对构建vue的脚手架CLI2,只能新建vue2工程。 全局安装vue-cli之后,构建vue2项目的…

03.C1W2.Sentiment Analysis with Naïve Bayes

目录 Probability and Bayes’ RuleIntroductionProbabilitiesProbability of the intersection Bayes’ RuleConditional ProbabilitiesBayes’ RuleQuiz: Bayes’ Rule Applied Nave Bayes IntroductionNave Bayes for Sentiment Analysis P ( w i ∣ c l a s s ) P(w_i|clas…

大数据领域的深度分析——AI是在帮助开发者还是取代他们?

在大数据领域,生成式人工智能(AIGC)的应用正在迅速扩展,改变了数据科学家和开发者的工作方式。本文将从大数据的专业视角,探讨AI工具在这一领域的作用,以及它们是如何帮助开发者而非取代他们的。 1. 大数据…

npm 淘宝镜像证书过期,错误信息 Could not retrieve https://npm.taobao.org/mirrors/node/latest

更换 npm 证书 问题描述报错原因更换步骤1 找到 nvm 安装目录2 发现证书过期3 更换新地址4 保存后,重新安装成功 问题描述 在使用 nvm 安装新版本时,未成功,出现报错: Could not retrieve https://npm.taobao.org/mirrors/node/l…

【postgresql】表操作

创建表 (CREATE TABLE): CREATE TABLE table_name ( column1 data_type constraint,column2 data_type constraint,... ); 插入数据 (INSERT INTO): INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 查询数据 (SELECT): SELECT column1, c…

火山引擎数据飞轮实践:在电商场景中,如何建设全链路数据血缘?

数据作为新型生产要素,正支撑企业的数智化转型。但企业数字化建设也存在管理成本高、数据产品使用门槛高、数据资产价值不够的问题,其原因在于业务和数据之间没有形成双向良性驱动。 结合新时代企业数字化转型需求,火山引擎基于字节跳动十余…

IC烧录员-带着工程师的梦想远航!

如果说软件工程师是代码程序的创造者,那么IC烧录员就是把工程师们辛苦敲代码,日夜辛劳的成果烧录到芯片里面的实践者,是他们,让工程师们的梦想运用到实践中,是他们带着工程师的梦想远航,他们的薪酬或许没有…

第一节-k8s架构图

一个Deployment,可以由多个不同Node下的Pod组成,每个Pod又由多个Container组成。 区分Deployment是用Labels(key:value),区分Pod是用PodName,区分Container是用ContainerName。 一个Node可以包含多个不同Deployment中的pod&…

MySQL-作业1

一、数据库 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo 二、创建表 1、创建一个名称为db_system的数据库 2、在该数据库下创建两张表,具体要求如下: 员工表 user …

米国政府呼吁抛弃 C 和 C++

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 很多观点认为C 或 C永远不可被…

页面集成技术方案汇总

1.window.open() 优点: 新开窗口或标签页展示内容:允许在新的浏览器窗口或标签页中打开指定的URL,适用于需要独立页面交互的场景。隔离性:新窗口拥有独立的执行环境,不会干扰主页面的JavaScript上下文和DOM结构。易于实现&#…

聚鼎装饰画:装饰画生意现在做晚吗

在这个充满机遇与挑战的时代,涉足装饰画领域是否为时已晚?许多人心中或许有着这样的疑问。事实上,尽管市场上的竞争者众多,但正如“朝霞映满天,别样红”一般,每个行业的黄金时期都有所不同,关键在于我们能…

设计模式-装饰器

装饰器模式是一种结构型设计模式,它允许在运行时扩展一个对象的功能,而不需要改变其现有结构。这种模式的核心思想是通过创建一个装饰器来动态地增强或修改原有对象的行为。装饰器模式是继承的一个补充,提供了比继承更加灵活的方式来扩展对象…

在线JSON可视化工具--改进

先前发布了JSON格式化可视化在线工具,提供图形化界面显示结构关系功能,并提供JSON快速格式化、JSON压缩、快捷复制、下载导出、对存在语法错误的地方能明确显示,而且还支持全屏,极大扩大视野区域。 在线JSON格式化可视化工具 但…

Cannot load configuration class: com.xxx.NacosConfigApplication

Cannot load configuration class: com.xxx.NacosConfigApplication 无法启动成功 表象错误的日志信息解决方案结言 表象 最简单的Spring Boot maven 配置 properties配置 启动类,但是,就是无法启动成功。 错误的日志信息 java.lang.IllegalStateEx…

Java面试题系列 - 第1天

题目:解释Java中的垃圾回收机制(GC)并描述至少两种不同的垃圾回收算法。 背景说明:Java的垃圾回收机制是其自动内存管理的关键特性之一,它自动追踪并回收不再使用的对象所占用的内存空间,从而避免了手动管…

硅纪元AI应用推荐 | 国产创作引擎即梦AI助力创作者探索创作新境界

“硅纪元AI应用推荐”栏目,为您精选最新、最实用的人工智能应用,无论您是AI发烧友还是新手,都能在这里找到提升生活和工作的利器。与我们一起探索AI的无限可能,开启智慧新时代! 在人工智能快速发展的今天,各…

怎么还有人分不清路由器、交换机、光猫、WiFi……你真的都了解吗?

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 讲某个具体技术,说不定你头头是道,但关于路由器、交换机、光猫、WiFi的知识细节&…