苹果蓝牙协议的源代码质量都这么差了吗?!研究员找到10个 0day
聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队
苹果用于保护蓝牙外围设备的 MagicPairing协议被曝存在10个 0day 漏洞。
德国达姆斯塔特工业大学的研究人员查看了 MagicPairing 协议后发现它在 iOS、macOS 和 PTKit 中的三个实现之间存在10个未披露缺陷且尚未修复。
PTKit 是基于 PTKit 框架的实时操作系统,用于苹果 AirPods 1、2和 Pro,Siri Remote 2,Apple Pencil 2 和 Smart Keyboard Folio 中。虽然并非众人皆知,但得益于苹果的 AirPods 受众覆盖超过一半的全球无线耳机市场而广为传播。
研究员 Dennis Heinze、Jiska Classen 和 Felix Rohrbach 发布论文《MagicPairing:苹果保护蓝牙外围设备的方法 (MagicPairing: Apple’sTake on Securing Bluetooth Peripherals)》中自出,MagicPairing 协议克服了蓝牙设备配对的两个缺点:糟糕的可扩展性和易崩溃的安全模型(如果永久密钥 Link Layer 或 Long-Term Key 受陷则会崩溃)。
尽管如此,研究员指出,MagicPairing 仍然存在一些不太严重的问题,“由于 MagicPairing 用于配对和加密前,因此它提供了庞大的零点击无线攻击面。我们发现所有的实现欧具有不同的问题,包括锁定攻击和可导致百分之百 CPU 负载的拒绝服务。我们在开展通用的无线测试和 iOS 进程内模糊测试时发现了这些问题。”
当两款蓝牙设备连接时,他们生成了用于保护设备真实性、信息完整性和信息机密性的永久密钥。除非用户手动删除取消设备配对,则它一直存在,而且它是获取更短暂的会话密钥的来源。
MagicPairing 将苹果 iCloud 服务加入进来。在每个会话中,它基于特定用户的 iCloud 密钥生成新的永久性密钥,而对永久性密钥的安全改进未改变。研究人员表示MagicPairing 通过对称棘轮算法和经过身份验证的加密来实现这一点。论文指出,“MagicPairing 协议的安全目标似乎是为每次连接提供认证和新的共享密钥。它使用对称棘轮算法和经过身份验证的加密来实现这些目标。”
研究人员使用名为 ToothPicker 的代码执行无线模糊测试和进程内模糊测试,并表示通过蓝牙测试框架 InternalBlue 发布 ToothPicker。
10个 0day,代码质量低下
研究人员发现了8个 MagicPairing 和2个 L2CAP 漏洞,它们可导致崩溃、CPU 过载且配对设备关联取消。论文提到在2019年10月20日至2020年2月13日披露了这些漏洞且漏洞尚未修复。他们在上周日发布了 PoC 代码。
其中一名研究员 Jiska Classen 认为苹果之所以不采取行动,可能是因为这些漏洞的严重程度不够高,“他们修复可导致远程代码执行后果的漏洞的速度非常快”。
论文指出,苹果在 iOS 和 macOS 中的 MagicPairing 实现的日志信息和 macOS Bluetooth 守护进程 bluetoothd 函数名称中存在大量拼写错误。论文认为“错误根据栈的不同而不同,每个栈可能是由不同的开发人员实现的。虽然拼写错误和实现中的缺陷之间并不直接相关,但这让人认为代码并未仔细审查,开发工作很可能是外包完成的。”
苹果尚未置评。
Dennis Heinze 通过使用自创的 ToothPicker 工具发现了这些低质量代码中的漏洞。Classen 指出从中可以认为苹果并未对该蓝牙协议的大部分栈进行模糊测试。不过一些部分也获得良好测试。很可能这是由负责某些协议的不同团队造成的。
然而,Classen 认为对于某些协议而言,开源无线测试工具就可以进行测试,其他安全研究员可能已经借此仔细检查苹果的蓝牙栈。她指出,苹果未修复只需稍加检查就能发现的 bug 让她惊讶。不过这可能和研究员的论文因为 WiSec 会议改为线上举行而提前发布有关。尽管如此,苹果获悉会议时间变更的消息后并未阻止研究员发布论文。但即使是已存在多时的bug也并未修复,这一点很可能和论文发布时间变更没有丝毫关系。
完整论文请见:
https://arxiv.org/pdf/2005.07255.pdf
推荐阅读
某 iOS 零点击 0day 漏洞已存在8年之久且正遭利用?苹果称正在调查并将推出补丁
Zerodium 称 iOS exploit 过剩,将暂停收购且买价或下跌
奇安信开源卫士免费提供开源组件安全检测服务
《应用软件安全编程指南》国标发布 奇安信代码卫士已全面支持
原文链接
https://www.theregister.co.uk/2020/05/18/apples_bluetooth_flaws/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的
产品线。
点个 “在看” ,加油鸭~
苹果蓝牙协议的源代码质量都这么差了吗?!研究员找到10个 0day相关推荐
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
一.Android Bluetooth现状 在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针 ...
- TWS耳机及相关蓝牙协议
TWS - True Wireless Stereo,即真正无线立体声 优势:真无线结构: 劣势:关键是蓝牙的传输方案不稳定: 1.传输稳定性差,容易受到外界干扰: 2.主副耳机信号不同步: 3.音质 ...
- Android bluetooth 蓝牙开发/蓝牙协议/蓝牙通信
一.Android Bluetooth现状 在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针 ...
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信
一.Android Bluetooth现状 在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针 ...
- 苹果ANCS协议学习【转】
苹果ANCS协议学习 转自:http://www.cnblogs.com/alexcai/p/4321514.html 综述 苹果通知中心(Apple Notification Center Serv ...
- 蓝牙协议 HFP,HSP,A2DP等等
简介: HSP(手机规格)– 提供手机(移动电话)与耳机之间通信所需的基本功能. HFP(免提规格)– 在 HSP 的基础上增加了某些扩展功能,原来只用于从固定车载免提装置来控制移动电话. A2DP( ...
- IoT:BLE4.0教程一 蓝牙协议连接过程与广播分析
IoT:BLE4.0教程一 蓝牙协议连接过程与广播分析 1.蓝牙简介 什么是蓝牙4.0 蓝牙无线技术是使用范围最广泛的全球短距离无线标准之一,蓝牙4.0版本涵盖了三种蓝牙技术,即传统蓝牙.高速蓝牙和低 ...
- 蓝牙(三)蓝牙协议的初始化
介绍蓝牙协议的初始化之前首先要简单讲一下蓝牙一些常用协议以及各个协议的作用,同时还要讲以下Application的知识以便对蓝牙协议的初始化有一个更清晰的认识. 一.蓝牙协议 简介: HSP(手机规格 ...
- 苹果ANCS协议分析
SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...
最新文章
- 局部反弹行情或一触即发|现货开户|现货投资
- ConfigurableListableBeanFactory
- JS定时器使用,定时定点,固定时刻,循环执行
- go为什么比php性能好,刚学 GO,撸了个支付宝发券的程序,为什么性能还比不上 PHP ?...
- mysql条件填充命令_MySQL如何填充范围内的缺失日期?
- linux 用户创建,权限,分组
- LeetCode 85.最大矩形
- 2021高考成绩已出城市查询,2021年青海高考成绩什么时候出来 公布时间
- 问题 A: 【一本通提高组合数学】Bullcow 牡牛和牝牛
- 收到客户反馈的BUG,主管应该怎么办
- word文档图片画红线_word文档怎么画线条
- 用计算机弹熊出没,熊出没之熊大快跑2018辅助
- android9 apk自动安装功能,Android app自动更新总结(已适配9.0)
- 飞控中的IIR二阶滤波器
- Velodyne VLP16 激光雷达测试
- 买华为手机U8825D的体验
- java毕业设计苹果酒店住房管理源码+lw文档+mybatis+系统+mysql数据库+调试
- 【ROS】将odom里程计数据转换为path路径消息
- 机器学习与公共传播、舆情检测的研究总结
- 从普朗克黑体辐射定律到真正的黑