BLE(Bluetooth Low Energy,低功耗蓝牙)协议是蓝牙4.0规范的一部分,特点是低功耗、低延迟、低吞吐量。由于其省电的特征,BLE在过去10年被广泛应用于几乎所有带电池的设备中。但同时,研究人员也在其中发现了许多的安全漏洞,其中大部分的研究关注于BLE 协议的配对过程,而忽略了其他许多非常重要的部分。近日,普渡大学的研究人员发现蓝牙重连接过程中存在安全漏洞,数十亿使用蓝牙软件栈的智能手机、笔记本电脑和IoT设备受到影响。
BLESA攻击
来自普渡大学的研究人员对BLE协议的重连接过程安全性进行了分析,发现了一个BLESA (Bluetooth Low Energy Spoofing Attack)漏洞,漏洞影响所有运行BLE 协议的设备。
重连接的过程发生在2个BLE 设备(客户端和服务器)在配对过程中互相认证之后。比如,两个蓝牙设备的距离超出范围,之后再次进入范围内。一般来说,重新连接时,2个BLE 设备会检查对方在配对时协商的加密密钥,然后通过BLE 重新连接并继续交换数据。
研究人员发现官方BLE 规范中并没有对重新连接的过程进行清晰的描述。因此,BLE 软件实现时就引入了2个对称问题:
设备重新连接时的认证是可选的而非必须的。
如果用户设备没有强制IoT 设备对通信数据进行认证,那么认证可能就会被绕过。
这2个问题就为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亿。
凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。