网络安全研究人员再苹果蓝牙位置追踪系统中发现了2个不同的设计和实现漏洞,攻击者利用这些漏洞可以发现位置相关的攻击,并实现过去7天位置历史信息的非授权访问。该研究成果是德国达姆施塔特工业大学Open Wireless Link (OWL)项目的研究成果,该项目主要研究苹果无线生态中的安全和隐私问题。
Find My原理
Apple 设备中自带了一个名为Find My的特征,目的是为了更好的定位其他苹果设备,包括iPhone、 iPad、 iPod touch、 Apple Watch、 Mac、 AirPods等。在iOS 14.5 中,苹果还将支持名为AirTags的蓝牙追踪设备,用来与Find My app的追踪功能相匹配。
Find My的底层技术是2019年引入的offline finding,苹果设备通过广播Bluetooth Low Energy (BLE) 信号使得其他近距离的苹果设备可以中继其位置信息到苹果的服务器。
与offline finding不同的是,offline loading使用的位置追踪机制是点对点加密和匿名的,目的是隐藏其运动性,因此包括苹果在内的第三方都无法解密这些位置信息,也就无法追踪某个特定用户。具体来说,是通过轮换密钥方案实现的,即为每个设备生成一对公私钥对,然后通过编码公钥的方式发出蓝牙信息。重要信息之后会通过iCloud与相同用户(比如同一个Apple ID)的其他苹果设备同步。接收到这一消息的附近的iPhone或iPad 会检查自己的位置,然后使用前面提到的公钥加密该信息,然后和公钥哈希一起发送到云端。
最后,苹果会发送丢失设备的加密位置信息到相同Apple ID登陆的其他苹果设备中,设备所有者可以使用Find My app和对应的私钥来解密报告内容,提取位置信息。
漏洞和问题
因为该方法有公钥加密 (PKE) 过程,苹果公司由于没有私钥所以不能解密位置信息。但是苹果公司并没有说清楚密钥轮换的频率,循环密钥对结构使得恶意攻击者很难利用蓝牙信标来追踪用户位置移动。
OWL研究人员分析发现如果不同设备所有者的位置信息都是通过相同的finder设备报告的,那么苹果公司就可以构建一个巨大的用户网络图。研究人员称,执法机构可以利用该设计漏洞来对用户进行去匿名化,即使用户将手机置于飞行模式。
研究人员还发现,攻击者还可以利用macOS Catalina 漏洞CVE-2020-9986 来访问解密密钥,然后用密钥下载和解密find my网络提交的位置报告,最终以高准确率定位和识别受害者。
苹果公司回应称已经部分解决了相关问题,在2020年11月发布的macOS 10.15.7 版本中改善了访问限制。
完整研究报告参见:https://arxiv.org/pdf/2103.02282.pdf
本文翻译自:https://thehackernews.com/2021/03/bug-in-apples-find-my-feature-couldve.html