找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5978

积分

0

好友

729

主题
发表于 4 天前 | 查看: 5| 回复: 0

该技术仅可读取已经主动对你开放位置共享权限的账号,并非任意窃取他人定位,不存在可被黑客滥用的系统漏洞。

一名安全研究员完成了苹果「查找(Find My People)」私有协议完整逆向工程,在完全没有苹果硬件的前提下,依靠一台 Linux 主机,成功获取并解密好友实时共享的位置信息。

整个项目的初衷十分简单:研究者想写一套自动化脚本,当好友到达指定地点时,自动在 Discord 推送提醒。原本以为只是简单调用公开 API,实际上手后才发现,苹果这套位置共享能力仅向自家硬件开放,公开 iCloud 网页接口并不支持读取好友位置,市面上也没有完整复现这套流程的开源项目,于是开启了为期一周的逆向分析工作。

研究者反编译苹果系统内部守护进程 fmfd、findmylocated、searchpartyd,结合 FindMy.py、pypush 等开源工具,一点点还原整套加密通信链路。这也是典型的 逆向工程 实践:从黑盒协议出发,借助现有工具与反编译结果逐步还原通信细节。

核心难点:在 Linux 上伪装成一台合法苹果设备

想要拿到位置,第一步并不是直接读取坐标,而是让苹果服务器把这台 Linux 电脑识别成一台正规的苹果终端。

1. 账号认证特殊限制

普通 iCloud 登录令牌无法调用查找好友接口。苹果每一项服务都有独立权限凭证。研究者使用苹果内部 GrandSlam 登录协议完成账号校验,拿到 IDS 服务委托令牌。IDS 是苹果底层设备身份与加密消息底层框架,iMessage、查找功能都建立在它之上。

2. 严苛的证书注册规则

想要生成合法设备身份,证书签名请求必须满足大量未公开硬性条件:2048 位 RSA 密钥、SHA‑1 签名,通用名称由账号配置 ID 做 SHA‑1 哈希生成,数据包还需要压缩为 gzip 包装的 XML 属性列表。任意一项格式不对,就会认证失败。

3. 服务注册不能直接注册查找功能

不能直接注册「查找好友」服务,需要先注册苹果 alloy 多路复用总服务,再挂载 6 个子服务,才能完成设备登记。

关键一步:向新「虚拟设备」下发位置密钥

设备注册完成之后,最大难题来了:如何让苹果把已经建立好的位置共享密钥下发给这台凭空生成的 Linux 虚拟设备?

不需要好友重新开启位置共享,不用修改原有共享关系

苹果原生设计中,用户新增一台苹果设备,服务器就会自动把已有共享关系的密钥下发给新设备。研究者通过发送 SubscribeAndFetch 请求,设置 distributeKeys 指令,触发苹果推送密钥流程。

密钥通过苹果推送 APNs 下发,包裹在 pair-ec 加密信封内,经过 ECDH 校验、签名验证,保证消息来源真实。

这里有一处技术细节:消息信封使用 P‑256 椭圆曲线,但位置共享密钥却是 P‑224 曲线,两套加密体系相互独立。

拿到这份专属共享密钥后,就可以向苹果 SearchParty 服务拉取加密位置报文。服务器返回加密后的定位数据,在本地完成 ECDH 密钥交换、AES‑GCM 解密,最终输出实时坐标、定位精度、时间戳,全程位置明文不会经过苹果服务器。

不是安全漏洞,是底层协议完整解密

很多人看到「读取位置」,第一反应是苹果出现高危漏洞,这里需要厘清事实:

  1. 只能读取已经主动分享给该 Apple 账号的位置,不能入侵、窃取任意陌生人定位;
  2. 好友设备必须保持在线,才可以完成密钥分发;
  3. 该过程属于协议逆向研究,不属于可被利用的系统漏洞,苹果无需发布补丁修复;
  4. 研究价值:完整公开了苹果查找功能密钥分发、轮换底层逻辑,为第三方兼容客户端开发者提供参考资料。

三张柱状图对比动图,展示不同帧中右侧柱体高度变化

资讯来源: zerotistic.blog 技术博客、CyberSecurityNews




上一篇:2026 KCTF 第七题《戌时·暗能潜流》HexMaze 密码题解析与设计思路
下一篇:存储巨头集体回购护盘,DRAM与HBM“超级周期”走到哪一步了?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-26 00:59 , Processed in 1.087677 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表