首页>新闻>苹果资讯>苹果蓝牙保护框架 MagicPairing 被爆出多个 0day 漏洞未修复

苹果蓝牙保护框架 MagicPairing 被爆出多个 0day 漏洞未修复

2020-05-21
2934
来源:cnBeta

让人感到惊讶的是,苹果居然未修复只需检查就能找到的 bug 。近日,来自德国达姆施塔特大学的研究人员检查了 MagicPairing 协议,发现它的三种实现方式 iOS、macOS 和 RTKIT——在它们之间存在十个公开的缺陷,这些缺陷至今尚未得到解决。


苹果蓝牙保护框架:MagicPairing 协议


在了解这项研究成果之前,我们先来了解下 MagicPairing 协议是什么。


苹果蓝牙保护框架 MagicPairing 被爆出多个 0day 漏洞未修复


MagicPairing 是苹果的一种专有协议,它能够提供无缝的配对功能,例如在用户的 Airpods 和他们所有的苹果设备之间是通过通过苹果的云服务 iCloud 同步键来实现的。MagicPair 协议的最终目标是派生一个蓝牙链路密钥 (LK) ,用于单个设备和 Airpods 之间。为每个连接创建一个新的 LK ,这意味着可以有效地缩短此 LK 的生存期。


当一个新的或重置的一对 Airpods 最初与苹果设备属于 iCloud 帐户,安全简单配对 (SSP) 被使用,所有后续连接到 iCloud 帐户的 Airpod 和设备将使用作为配对机制的 Magicpair 协议。MagicPair 包含多个键和派生函数。它依赖于综合初始化向量 ( SIV ) 模式下的高级加密标准 ( AES ) 进行认证加密。


Magic Pairing 的一般逻辑是可以集成到任何基于的物联网生态系统中,从而增加对整个安全社区的相关性。


尽管 MagicPairing 协议克服了蓝牙设备配对的两个缺点:即可扩展性差和易崩溃安全模型缺陷。(如果永久密钥 Link Layer 或 Long-Term Key 受陷则会崩溃。)


但研究人员使用名为 ToothPicker 的代码执行无线模糊测试和进程内模糊测试后发现了 8 个 MagicPairing 和 2 个 L2CAP 漏洞,它们可导致崩溃、CPU 过载且配对设备关联取消。据外媒报道,这些信息是在 2019 年 10 月 30 日至 2020 年 3 月 13 日期间披露的,目前尚未确定。


苹果蓝牙保护框架 MagicPairing 被爆出多个 0day 漏洞未修复


“由于 MagicPair 用于配对和加密前,因此它提供了庞大的零点击无线攻击面。我们发现所有的有不同实施都有不同的问题,包括锁定攻击和可导致百分之百 CPU 负载的拒绝服务。我们在开展通用的无线测试和 iOS 进程内模糊测试时发现了这些问题。”


研究人员如是说。


10 个 0day 漏洞一直未修复,苹果未予置评


那么,这些漏洞本身的威胁来自哪里呢?


首先是蓝牙堆栈本身的安全性。


苹果的每个堆栈都是针对单个设备类型的,并且支持一个特性子集。因此,它们支持的协议有重复的实现。虽然这种情况有助于逆转这些协议,但它增加了苹果公司的维护成本。从安全的角度来看,这会导致在这些堆栈中出现双向安全问题。


苹果蓝牙保护框架 MagicPairing 被爆出多个 0day 漏洞未修复


例如,RTKit 是一个单独的资源约束嵌入设备框架。用于苹果 AirPods 1、2 和 Pro,Siri Remote 2,Apple Pencil 2 和 Smart Keyboard Folio 中,虽然这种分离用来减少功能是有意义的,但 iOS 和 MacOS 也有各自的蓝牙堆栈,由于它们是封闭的,而且只有很少的公开文档。但它在速度上是有限的,不提供覆盖。相比之下,iOS 进程中的模糊处理程序速度更快,不受连接重置的限制,但需要大量的平台专用接口调整。


也就是说,这三个蓝牙堆栈在实际实施中所面临的的攻击和 bug 也会不同。


其次是,零点击无线攻击面大。


Magicpairing 的无线攻击面相当大。首先,它是在配对和加密之前使用的。通过逻辑链路控制和适配协议 ( L2CAP ) 提供的 MagicPairing Providesa 连接,用于蓝牙内部的各种数据传输;第二 , 通过对 IOS、MacOS、RTKit 的实现,进一步扩大了 MagicPair 攻击面。


苹果蓝牙保护框架 MagicPairing 被爆出多个 0day 漏洞未修复


最后是代码居然有拼写错误问题。


研究人员发现,苹果在 iOS 和 macOS 中的 MagicPairing 实现的日志信息和 macOS Bluetooth 守护进程 bluetoothd 函数名称中存在大量拼写错误。例如,棘轮和 upload 这两个单词在不同的时间被拼成了 diff。但研究人员认为,由于这些误读随堆栈的不同而不同,每个栈可能是由不同的开发人员实现的。虽然拼写错误和实现中的缺陷之间并不直接相关,但这让人认为代码并未仔细审查,开发工作很可能是外包完成的。


但总的来说,这些漏洞虽然存在,也并未修复,但影响不大。苹果也对此问题未予置评。


图文来自 cnBeta,如有侵权请联系删除

标签: Apple
相关文章
  • 为什么要绑定Apple ID?

    本文主要介绍如何用爱思助手绑定Apple ID,以及绑定的安全性和必要性。

  • Apple Store 在线商店新增 Apple Card 专用支付选项

    据外媒 AppleInsider 报道,对于 Apple Card 的持有者来说,在 Apple Store 在线商店上购物变得稍微容易了一些,因为该虚拟市场现在提供了一个直接使用 Apple Card 支付的选项,以及更多传统的信用卡和 PayPal 替代品。虽然不是一键式的解决方案,但增加一个专门的 Apple Card 结账按钮,对于苹果信用卡服务的客户来说,还是一个值得欢迎的变化。现在用户可以通过 Apple Store 在线商店使用该支付选项,该链接出现在结账过程的支付...

  • 苹果分享最新广告:「Apple Card 来了!」

    苹果今天分享了一段全新的广告,主要介绍了最近上线的 Apple Card。上周,Apple Card 正式推出,美国地区iPhone用户可以在 Wallet 钱包应用中申请。在这段 Apple Card 广告中,苹果再次介绍了 Apple Card 各种优点,展示了 Wallet 应用中的 Apple Card 界面。Apple Card 来了!这是一种全新的信用卡,由苹果打造,不是银行。有了 Apple Card ,你可以更好的查看消费,同时还能获得每日返现。Apple Card 对于隐私和安全的追求达到了...

  • Apple 发布全新 WWDC 应用,并更名为「Apple Developer」

    苹果今天更新了 WWDC 应用,同时将应用的名字改为“苹果开发者(Apple Developer)”。苹果表示,全新的苹果开发者应用会提供来自全球苹果专家的深度资讯,包括开发者新闻、视频、WWDC 内容等。苹果开发者应用还可以用来加入苹果开发者计划,不过这个功能目前仅限于美国。苹果开发者订阅支持自动更新,方便开发者时刻保持账户可用状态。图文来自 MacX,如有侵权请联系删除。

  • Apple One 订阅服务全家桶确认

    据 Macrumors 报道,有消息称苹果将推出捆绑订阅服务,被称为 “Apple One”,根据外媒 9to5Google 发现的 Android 代码来看,这项服务将在不久后推出。外媒在适用于 Android 的 Apple Music 3.4.0 beta 中发现了 Apple One 捆绑订阅服务的迹象,证实 Apple Music 将成为服务捆绑软件的组成部分。在 Android 应用中,有这样的代码:<string name=”applemusic_with_aristotle_subtext”>Included in Apple One %s</string...