研究人员公布了一种影响数十亿设备的蓝牙LE攻击,使它们很容易受到欺骗;大多数供应商没有补丁,但苹果有

2020-09-17 03:54:48

数十亿智能手机、平板电脑、笔记本电脑和物联网设备正在使用蓝牙软件堆栈,这些软件堆栈容易受到今年夏天披露的一个新安全漏洞的攻击。

该漏洞名为BLESA(蓝牙、低能量、欺骗和攻击),会影响运行蓝牙低能量(BLE)协议的设备。

Bble是原始蓝牙(Classic)标准的更薄版本,但旨在节省电池电量,同时尽可能长时间保持蓝牙连接的活力。

由于其省电功能,BLE在过去十年中已被大量采用,成为几乎所有电池供电设备的一项几乎无处不在的技术。

由于这种广泛采用,安全研究人员和学者多年来也多次探索BLE的安全缺陷,并经常发现重大问题。

然而,以往对BLE安全问题的研究绝大多数都集中在配对过程上,而忽略了BLE协议的大块内容。

在普渡大学(Purdue University)的一个研究项目中,一个由七名学者组成的团队着手调查BLE协议的一部分,该协议在BLE的日常操作中发挥着关键作用,但很少被分析是否存在安全问题。

他们的工作重点是重新连接过程。此操作在配对操作期间两个BLE设备(客户端和服务器)相互验证后进行。

当蓝牙设备移出范围,然后稍后再次移回范围时,可能会发生重新连接。正常情况下,当重新连接时,两个BLE设备应相互检查在配对过程中协商的密钥,并重新连接并继续通过BLE交换数据。

但普渡大学的研究小组表示,他们发现官方的BLE规范没有包含足够强的语言来描述重新连接过程。因此,两个系统问题已经进入BLE软件实施,沿着软件供应链:

如果用户的设备未能强制物联网设备对通信的数据进行身份验证,则身份验证可能会被规避。

这两个问题为BLESA攻击敞开了大门-在此期间,附近的攻击者绕过重新连接验证,使用不正确的信息将欺骗数据发送到BLE设备,并诱导人工操作员和自动化流程做出错误的决定。请看下面的BLESA攻击的简单演示。

然而,尽管语言含糊,但这个问题并没有进入所有的BLE现实世界的实现中。

普渡大学的研究人员说,他们分析了多个软件堆栈,这些软件堆栈已经被用来支持各种操作系统上的BLE通信。

研究人员发现,BlueZ(基于Linux的物联网设备)、氟化物(Android)和iOS BLE堆栈都容易受到BLESA攻击,而Windows设备中的BLE堆栈是免疫的。

研究人员在上个月发表的一篇论文中表示,截至2020年6月,尽管苹果已将CVE-2020-9770归因于该漏洞并进行了修复,但我们测试的设备(即运行Android 10的Google Pixel XL)中的Android BLE实现仍然存在漏洞。

至于基于Linux的物联网设备,Bluez开发团队表示,他们将不推荐使用向BLESA攻击开放设备的代码部分,而是使用实现正确的BLE重新连接程序的代码,对BLESA免疫。

不幸的是,就像之前所有的蓝牙错误一样,修补所有易受攻击的设备对系统管理员来说将是一场噩梦,打补丁可能不是一个选择。

过去10年销售的一些资源受限的物联网设备,如今已经部署在现场,它们没有内置更新机制,这意味着这些设备将永久不打补丁。

防御大多数蓝牙攻击通常意味着在受控环境中配对设备,但防御BLESA是一项困难得多的任务,因为攻击的目标是更频繁发生的重新连接操作。

攻击者可以利用拒绝服务漏洞使蓝牙连接脱机并按需触发重新连接操作,然后执行BLESA攻击。保护BLE设备不受断开和信号丢失的影响是不可能的。

更糟糕的是,根据之前的BLE使用统计数据,研究小组认为使用易受攻击的BLE软件堆栈的设备数量高达数十亿。

所有这些设备现在都任由他们的软件供应商摆布,目前正在等待补丁。

有关BLESA攻击的更多详细信息可在一篇题为“BLESA:针对蓝牙低能量重建的欺骗攻击”的论文中找到[PDF,PDF]。这篇论文是在8月份的USENIX WOOT 2020大会上提交的。普渡团队的演示录音嵌入在下面。