安全研究人员证实,“Send My”漏洞可以利用苹果的定位服务收集并从附近设备发送信息,然后上传至iCloud服务器。也就是说,苹果公司的“Find My”功能可帮助某些别有用心的人跟踪他们的iOS和macOS设备,这会允许非互联网连接的设备通过使用附近的苹果设备为其上传数据来上传任意数据。
Find My网络使用所有活跃的iOS设备作为节点来传输位置数据,这样黑客便有可能模仿AirTag连接到Find My网络并广播其位置的方式,通过加密的广播发送它的位置,而当这个数据被替换成消息时,它可以被加密广播信息所掩盖了。
安全研究员Fabian Bräunlein开发了一个概念证明,使用一个微控制器和自定义MacOS应用程序,该应用程序可以通过低功耗蓝牙(BLE)将数据从一个设备广播到另一个设备。一旦连接到互联网,接收设备便可以将数据转发到攻击者控制的Apple iCloud服务器。
Bräunlein将该方法称为“Send My”,并提出了该方法的几个用例,包括为物联网(IoT)传感器建立一个良性网络,或随着时间的推移耗尽人们的移动数据计划。
考虑到该功能是基于“Find My离线查找系统的隐私和安全设计的固有功能”,苹果几乎不可能阻止这种滥用Find My的行为。
Braunlein表示,他的灵感来自于Apple AirTags,Apple AirTag是一款可以挂在随身物品上的蓝牙追踪器。大小跟硬币差不多,方便与任何物品挂在一起,比如你跟钥匙挂在一起,只要钥匙离开配对的iPhone一定范围,手机就会发出声响、跳出警讯通知用户。若第一时间没有收到警讯,也可以透过iPhone的“Find My”定位,一步步找回丢失的钥匙。
Braunlein利用了德国达姆施塔特技术大学(Technical University of Darmstadt)的一个团队之前的研究(PDF) ,该团队已经对苹果的Find My网络进行了逆向工程,开发了一个名为OpenHaystack的工具。OpenHaystack允许人们创建自己的附件,这些附件可以被定位器服务找到和跟踪。在此过程中,该团队还发现了系统可能暴露用户身份的漏洞。
当通过蓝牙使用时,苹果的“Find My”功能基本上是通过蓝牙众包查找某人的设备或物品的能力,设备之间使用位置信标进行通信。然后,设备的所有者就可以接收到注册在苹果icloud上的“查找我的iPhone”或iOS/MacOS“查找我的手机”应用程序中的设备的位置报告。
收集蓝牙设备信息步骤如下:
1.当AirTag和Apple Device配对时,会生成一个椭圆曲线密钥对,并将公钥推送到AirTag和一个用于生成滚动公钥的共享密钥;
2.AirTag每2秒就发送一次以公钥为内容的低功耗蓝牙广播,使用之前共享的秘密每15分钟更改一次;
3.附近的iPhone,Macbook等可识别Find My 的广播,检索其当前位置,使用广播的公共密钥(使用ECIES)对位置进行加密,并上传加密的位置报告;
4.在设备搜索过程中,配对的所有者设备会生成AirTag在过去几天使用过的滚动公钥列表,并向苹果服务查询它们的SHA256哈希值。Apple后端返回所请求的密钥ID的加密位置报告;
5.所有者设备解密位置报告并显示一个大致位置;
要按Bräunlein总结的方式使用该服务,需要许多工程步骤和自定义的硬件。为了发送数据,他编写了一个低成本的ESP32微控制器作为调制解调器,使用基于openhaystack的固件广播一个硬编码的默认消息,然后在串行接口上监听任何新数据的循环广播,直到接收到新消息为止。然后,启用了Find My服务的附近的Apple设备可以接收这些信号并将其发送到Apple的服务器。
为了检索数据,Bräunlein也开发了一个基于OpenHaystack的MacOS应用程序,该应用程序使用具有提高权限的Apple Mail插件将经过身份验证的位置检索请求发送到Apple后端。
用户会被提示输入4字节的调制解调器ID(可以在刷新ESP固件时设置),之后应用程序将自动获取、解码并显示消息。之后,用户可以获取其他信息或改变调制解调器。
Bräunlein想到了Send My利用方法的几种用途。一种方法是将物联网设备连接在一起,以更有效地共享互联网连接。这是使用Amazon 的Sidewalk网络和Echo设备显示的场景;然后,可以使用iOS设备使用“Send My”来创建相同的信息。
由于Finding设备会缓存收到的广播,直到它们具有Internet连接,只要人们经过该区域,传感器甚至可以从没有移动覆盖的区域发送数据。
对于有更险恶意图的人来说,这种方法可能被用来从某些气密系统或高安全性法拉第笼屋子中窃取数据。法拉第笼是由导电材料制成的外壳,用于阻止电磁场并防止通信信号穿透。
攻击者可能会使用Send My来耗尽附近的iPhone的移动数据计划,尽管系统上发送的广播信息的数据容量不是很大(以千字节为单位),所以这种消耗可能需要一段时间。
Bräunlein说:由于Finder设备的位置报告数量有限(由于1字节计数值,每次提交255个报告),每个报告都超过100字节,广播许多独特的公钥应该会导致手机发送的移动流量的放大。
完整的技术细节可在本周发布的研究人员博客文章中找到。
文章来源:嘶吼专业版,参考及来源:
https://threatpost.com/apple-find-my-exploited-bluetooth/166121/