断网也能上传数据!苹果用户又可以了 | 开源

移动开发 Android
这项功能让苹果用户的外设即使在断网或GPS关闭时,也能被附近其他苹果设备发现。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

 2019年,苹果系统上线了查找(Find My)功能。

这项功能让苹果用户的外设即使在断网或GPS关闭时,也能被附近其他苹果设备发现。

这样,当你追踪定位自己的设备时,就可以喊附近其他苹果设备上传它们自己的位置信息。

[[404092]]

基本原理跟遇到困难摇人帮忙差不多,总之就是突出一个“我为人人,人人为我”。

可就是这样还是有用户表示:光Find My怎么行,再帮忙Send My一下吧?

今天,就一起来看看这个离线无网时仍然能上传数据,来自柏林的研究团队Positive Security开发的应用,Send My

断网也能上传数据!苹果用户又可以了 | 开源

查找功能的“可乘之机”

先来看看查找系统具体是如何运行的。

首先,当苹果设备用户通过Find My app将自己的苹果设备与其他外设连接时,会协商出一对密钥对

Find My app保存私钥和公钥,外设保存公钥。

这时的外设相当于一个BLE beacon(蓝牙低能耗广播),会不断广播一个由公钥衍生而来的变化密钥。

周围的苹果设备在检测到后,就将这一密钥和自己的位置信息打包,一起上传苹果服务器。

最终,再由最开始的苹果设备从服务器下载这一信息包,并通过保存在己设备app上的密钥解密,得到具体位置数据。

断网也能上传数据!苹果用户又可以了 | 开源

注意到了吗?上述流程中是有一个数据上传的步骤的。

如果能将我们想要上传的数据混入其中,就有可能搭着Find My离线网络机制的便车一并上传。

而上传的数据内容为密钥+位置报告。

其中,位置报告只有正确的私钥(存储在所有者设备上)才能解密,不能被暴力破解。

那么,突破点就在那个由公钥衍生而来的密钥上了。

将数据“渗漏”进去

研究团队设计了这样一个数据渗漏(Data Exfiltration)协议:

设定公钥中的任意位(bit),并进行不断的循环播报,直到发送一条完整信息。当发送端和接收端都承认同一个编码方案时,就可以成功传输数据。

当发送特定位数据时,创建一个结构为[4b bit index] [4b message ID] [4b modem ID] [padding 0s…] [bit value]的28字节数组。

然后建立一个调制解调器(modem),通过串行接口接收一个信息并循环发送。

断网也能上传数据!苹果用户又可以了 | 开源

△将信息位编码为可广播的有效载荷

研究团队使用低成本,低功耗的ESP32作为发送固件

这种集成了Wi-Fi和双模蓝牙的单片机微控制器可以快速改变其蓝牙MAC地址。

在启动时会广播一个硬件编码的默认信息,然后在串行接口上监听并进行循环广播,直到收到一个新信息。

断网也能上传数据!苹果用户又可以了 | 开源

获取数据时,接收程序生成同样结构的28字节的数据。

断网也能上传数据!苹果用户又可以了 | 开源

△从连接互联网的macOS设备中检索以前发送的数据。

应用程序的开发

Send My的应用程序基于OpenHaystack,由达姆施塔特工业大学的研究人员开发,是一个有些黑客化的逆向工程。

断网也能上传数据!苹果用户又可以了 | 开源

OpenHaystack在今年3月份开源,当时苹果还尚未向第三方配件制造商开放Find My应用程序。

但此时用户已经可以利用OpenHaystack自定义可被Find My跟踪的配件了。

断网也能上传数据!苹果用户又可以了 | 开源

参照OpenHaystack,Send My使用相同的AppleMail插件技巧,向苹果后端发送位置检索(retrieval)的请求。

这时会提示用户输入一个4位的调制解调器ID,这可以在刷新ESP固件时设置。

之后,应用程序就可以自动获取、解码并显示ID为0的信息

测试一下

在成功配备了硬件和应用程序后,研究团队进行了第一次测试:接收32位信息。

几分钟后,其中的23位信息成功到达。

研究团队猜测,剩余9位生成的公钥可能被附近的苹果设备作为无效公钥拒绝了。

对此,他们决定在广播一个有效载荷(payloads)之前,先检查它所代表的的EC点对其所使用的曲线(curve)是否真的有效。

如果否,就递增计数器,直到找到一个有效公钥为止。

断网也能上传数据!苹果用户又可以了 | 开源

△此过程可以在问询密钥ID之前,由位置检索程序离线执行

目前Send My的发送速度约为每秒3字节

断网也能上传数据!苹果用户又可以了 | 开源

根据周围的设备数和其他随机因素,可能会有1分钟到1小时的延迟。

断网也能上传数据!苹果用户又可以了 | 开源

△公钥广播和相应的位置报告被上传之间的延迟分布

苹果很难ban掉这种应用。

研究团队在最后表示。

因为Find My系统根本无法读取未加密的位置信息,也不知道公钥所属,更不知道位置信息与公钥之间的联系。

如果要禁止这种基于OpenHaystack的黑客化应用的滥用,那么或许应该重新考虑Find My的安全性。

比如加强BLE广播的认证,或限制位置报告的检索速率。

团队介绍

Positive Security是一家来自德国柏林的IT安全咨询和研究公司,主要提供网络安全支持服务。

断网也能上传数据!苹果用户又可以了 | 开源

创始人有两位。其中fabian毕业于德国波茨坦大学,lukas毕业于卡尔斯鲁厄理工学院,两人都曾效力与德国安全研究室SRLabs。

[[404093]]

参考链接:
https://positive.security/blog/send-my

应用下载:
https://github.com/positive-security/send-my

团队官网:
https://positive.security

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2015-06-18 06:23:30

苹果开源

2020-02-24 11:02:37

断网网络故障

2015-06-15 09:40:41

swift苹果开源

2022-03-07 17:51:39

恶意软件网络安全

2023-03-28 15:48:39

开源模型

2021-11-11 11:30:11

GET图片Java

2019-05-27 22:55:45

GitHub开源赞赏

2023-05-07 07:45:31

2010-09-02 17:31:42

VisualStudi微软flash

2021-07-27 12:52:16

苹果WiFi漏洞

2011-09-15 14:22:28

2018-06-14 14:02:30

苹果防水iPhone

2015-07-21 09:27:30

2015-12-04 10:39:00

数据中心可穿戴设备

2021-07-30 15:43:57

谷歌苹果工具

2021-06-23 09:52:22

Web开发数据

2017-01-19 09:08:07

2017-11-23 07:13:28

iOS安卓苹果

2023-09-11 14:20:39

苹果开源AI

2020-01-18 14:44:32

iPhone 11iOS 13.3.1超宽带
点赞
收藏

51CTO技术栈公众号