BLE(Bluetooth Low Energy,蓝牙低功耗协议4.0该规范的一部分具有低功耗、低延迟、低吞吐量等特点。由于其省电的特点,BLE在过去的10年里,它被广泛应用于几乎所有带电池的设备中。但与此同时,研究人员也发现了许多安全漏洞,其中大部分关注BLE 协议的配对过程,而忽略了其他许多非常重要的部分。近日,普渡大学的研究人员发现蓝牙重连接过程中存在安全漏洞,数十亿使用蓝牙软件栈的智能手机、笔记本电脑和IoT影响设备。
BLESA攻击
普渡大学的研究人员BLE分析了协议重连接过程的安全性,发现了一个BLESA (Bluetooth Low Energy Spoofing Attack)漏洞影响所有运行BLE 协议设备。
重连接的过程发生在两个过程中BLE 设备(客户端和服务器)在匹配过程中相互认证。例如,两个蓝牙设备之间的距离超出了范围,然后再次进入范围。一般来说,重新连接时有两个BLE 设备将检查对方协商的加密钥,然后通过BLE 重新连接并继续交换数据。
研究人员发现了官员BLE 规范中没有明确描述重新连接的过程。BLE 软件实现时引入了两个对称问题:
- 重新连接设备时的认证是可选的,而不是必要的。
- 如果用户设备没有被迫使用IoT 如果设备认证通信数据,认证可能会绕过。
这两个问题是BLESA 攻击打开了大门,当附近的攻击者绕过重连接的验证过程,并将伪造的数据发送给没有正确信息的人BLE 设备会导致人类操作人员和自动化过程中的错误结果。PoC 视频如下:
https://www.youtube.com/embed/tO9tUl2yfFc
尽管如此,研究人员BLE 规范不够清楚,但不是全部BLE 实现受到这个问题的影响。研究人员分析了不同操作系统的多种支持BLE 通信软件栈,发现BlueZ (基于Linux的 IoT设备),Fluoride (安卓)和iOS BLE 栈都受到BLESA 攻击的影响,但是Windows 设备BLE 栈不受攻击影响。
今年6月,苹果分配了漏洞CVE编号 CVE-2020-9770,并修复了漏洞。研究人员正在测试安卓BLE实现中发现,安卓10的运行Google Pixel XL 仍然受到攻击的影响。Linux的IoT 设备,BlueZ开发团队表示,正确使用修改代码BLE 重新连接过程的代码。
补丁
类似于之前的蓝牙漏洞,系统管理员不可能对所有受影响的设备进行补丁。其中,部分使用BLE 物联网设备可能永远不会更新。
攻击者也可以使用设备DoS 漏洞断开蓝牙连接,触发重连接操作,然后启动BLESA 攻击BLE 设备不掉线是不可能的。根据之前的说法BLE 使用的统计数据使用漏洞BLE 软件栈设备超过10亿。
更多技术细节见研究人员。USENIX WOOT 2020年大会学术文章 BLESA: Spoofing Attacks against Reconnections in Bluetooth Low Energy,下载地址:
https://www.usenix.org/system/files/woot20-paper-wu-updated.pdf
演讲视频见:https://www.youtube.com/embed/wIWZaSZsRc8