行业动态
蓝牙漏洞允许未经授权的用户在蓝牙扬声器上录制和播放音频
这一严重的安全问题允许第三方用户从附近带有内置麦克风的蓝牙扬声器录制音频,即使它已经与其他设备配对并连接。 这可能会导致使用打开的蓝牙扬声器或耳机窃听私人对话。 Tarlogic 在 RootedCon 2024 上发现并提出了这个安全问题。上周,他们发布了一个名为 BlueSpy 的概念验证工具,该工具利用了这个问题。 当我测试它时,我惊讶地发现这实际上是可能的,因为这个问题没有利用任何未修补的漏洞,只是滥用了蓝牙设备配对的不安全的 Just Work 方法。 如果您考虑到住宅区、工作区、会议室、公共场所等处有许多此类易受攻击的耳机或扬声器,那就太可怕了。
在这篇文章中,我将可视化以未经授权的用户身份从蓝牙扬声器录制和播放音频的攻击场景。 Tarlogic 的原始研究中没有提到这一点,但是,这种攻击也可以用作阻止扬声器播放音乐的新方法。 为了进行演示,我将使用运行 Kali Linux 并由智能手机控制的便携式 Raspberry Pi 4。 要扩大覆盖范围,可以使用带有外部天线的外部蓝牙适配器。 在“预防”部分,我将解释如何使用移动应用程序方便地检测您的蓝牙 LE 扬声器是否容易受到这种攻击场景的影响。
蓝牙配对方法
1.Just Work:这是最简单的蓝牙配对方法。 它通常在至少其中一台设备没有显示器或键盘时使用。 在此方法中,无需用户交互即可配对设备。 例如,智能手机与耳机配对。
2.密钥输入:在此方法中,数字代码显示在一个设备上,用户必须在另一台设备上输入该代码。 当一个设备具有显示器而另一个设备具有数字键盘时,使用此方法。 与 Just Work 方法相比,它提供了更高级别的安全性。 举例来说,您可以将蓝牙键盘与计算机配对。
3.数字比较:此方法设计用于两个蓝牙设备都可以显示六位数字并允许用户输入“是”或“否”响应的情况。 配对期间,用户会在每个显示屏上显示一个六位数字,如果数字匹配,则在每个设备上提供“是”响应。 此方法可防止 MITM 攻击。 例如,配对两部智能手机。
4.带外 (OOB):在此方法中,使用外部通信方式(例如 NFC 或 QRCode)来交换配对过程中使用的一些信息。 OOB 通道应该能够抵抗 MITM 攻击。 否则,身份验证过程中的安全性可能会受到影响。 例如,您可以想象将带有 NFC 芯片的蓝牙耳机与智能手机配对。
最不安全的配对方法是 Just Works,例如通过耳机和扬声器实现。 这就是这种攻击可能发生的原因之一。
如何从蓝牙音箱录制和播放音频
在测试之前,从 GitHub 克隆 BlueSpy 并确保通过安装 bluez-utils 和 libpulse 软件包安装了必要的工具,例如 bluetoothctl、btmgmt、pactl、parecord、paplay。 您可以在 GitHub 上找到详细信息。 对于攻击场景,目标设备需要是可发现的,这意味着对其他设备可见。 为了扫描可发现的设备,我将按照 BlueSpy 的建议使用 bluetoothctl。 如果设备可见,则我们有一个目标 MAC 地址。 图 1 显示了使用 bluetoothctl 的扫描结果,该结果公开了目标扬声器的 MAC 地址。
我们可以使用以下命令运行 BlueSpy,将目标的 MAC 地址作为 -a 参数:
如果该工具有效,那么您很幸运。 根据我的经验,它在执行 pactl 命令时出现问题并崩溃,请参见图 2。因此,由于在启动 BlueSpy 脚本时成功启用了所有预设置,我们可以继续手动执行另外三个负责控制的命令 并运行音频服务器。
要执行的命令如图 2 所示,并在下面列出。 Set-card-profile 是由目标的符号名称 (bluez_card) 和蓝牙 MAC 地址标识的指定卡。 对于 parecord 和 papplay 命令,输入的 -d 参数是要连接的输入和输出设备,后跟 MAC 地址和后缀值 0 或 1。最后一个参数是输出或输入文件。
攻击的视频演示如下:
停止蓝牙扬声器播放音乐 滥用此漏洞的主要目的是窃听,但是,它也可以用作禁用蓝牙扬声器播放音乐的方法。 您可以将其视为取消身份验证攻击。 需要明确的是,这不是真正的解除认证攻击,因为不涉及解除认证数据包。 要禁用音频,您需要按照前面的步骤操作,直到执行负责播放音频的命令 - papplay。 如果您想以一种侵入性较小的方式禁用音频(无需录制),您可以使用无声音频文件执行paplay,而不是使用parecord。
观看以下视频中的演示:
我们可以使用以下命令运行 BlueSpy,将目标的 MAC 地址作为 -a 参数:
如果该工具有效,那么您很幸运。 根据我的经验,它在执行 pactl 命令时出现问题并崩溃,请参见图 2。因此,由于在启动 BlueSpy 脚本时成功启用了所有预设置,我们可以继续手动执行另外三个负责控制的命令 并运行音频服务器。
要执行的命令如图 2 所示,并在下面列出。 Set-card-profile 是由目标的符号名称 (bluez_card) 和蓝牙 MAC 地址标识的指定卡。 对于 parecord 和 papplay 命令,输入的 -d 参数是要连接的输入和输出设备,后跟 MAC 地址和后缀值 0 或 1。最后一个参数是输出或输入文件。
预防与检测
这种攻击之所以有效,是因为此类设备不需要安全配对。 因此,如果设备使用 Just Work 配对方法,并且在连接到另一个设备时可以被其他设备发现,那么这种攻击是可能的。 但是,如果设备使用 Just Work,但在连接到设备时无法发现,则该设备不易受到攻击。
如果您想知道您的蓝牙音频设备是否容易受到攻击,那么您可以使用 bluetoohtctl 工具初始化扫描。 然而,还有一种更方便的方法,因为也可以使用在任何未 root 的 Android 智能手机上运行的 nRF Connect for Mobile 应用程序来执行此扫描。 如果扫描结果发现并允许连接到您的蓝牙 LE 音频,则设备很可能容易受到攻击。 在图 3 中,您可以看到我如何使用该应用程序识别并连接到我的 Beoplay P2 扬声器。
据我所知,如果设备允许此类连接,则您无法阻止攻击者滥用此漏洞。 但是,对于某些设备,当另一个设备连接时,会发出视觉或音频通知,例如蜂鸣声、振动,或者 LED 灯可能会改变颜色或开始闪烁。 无论如何,如果您不使用它,请将其关闭。
结论
通过利用不安全的 Just Work 蓝牙配对方法,攻击者有可能连接到蓝牙耳机或带麦克风的扬声器并窃听对话、停止音乐播放或播放自己的音频文件。
我解释了这些问题如何在野外被滥用,并向您展示了一种简单的方法来检测您的蓝牙音频是否容易受到攻击。