攻击者可以用蓝牙做什么,应该如何缓解?

信息安全 视窗 linux 苹果系统 威胁缓解 蓝牙
2021-08-15 09:12:58

蓝牙的安全风险是什么?应该使用哪些技术和最佳实践来保护我的设备?一旦恶意设备与我的设备配对,攻击者可以做什么?

具体来说

  • 在设定的时间间隔内移除和重新配对我的设备是否是个好主意(认为这正在改变蓝牙 PIN)

  • 使我的设备或计算机“可发现”对安全有何影响?

  • 启用蓝牙的设备可以在我的系统上获得什么样的访问权限?

  • 如何控制蓝牙设备的访问范围?(如果我的手机遭到入侵,我想限制我的 PC 的暴露)

  • 是否有可能(或可能未启用)的蓝牙安全功能?我如何审核这些功能的存在(或缺乏)?

  • 假设加密是可以启用的安全功能,它是必需的还是可选的?(此外,是否可以创建用于蓝牙的 SSL 条?)

我对涉及手机 ( iOS )、OSX、Windows 和 Linux 操作系统的信息感兴趣

4个回答

(注意:这个答案来自 2013 年。从那时起,蓝牙发生了很多变化,尤其是 BLE 流行度的急剧上升、新的攻击、弃用的功能。话虽如此,大部分仍然适用。)

介绍

我将尽我所能在不涉及蓝牙技术本身的技术部分的情况下解决您的问题。当我不得不编写安全报告来制定BYOD策略时,我学到了很多以下知识。了解你,我就不必告诉你没有什么是 100% 安全的,我们所做的一切只是为了让坏人更难。

蓝牙不是什么

  • 蓝牙本身作为一项技术并不安全,不仅与实施有关,设计本身也存在一些严重缺陷。

  • 蓝牙不是一种短距离通信方法——仅仅因为你有点远并不意味着你是安全的。I 类蓝牙设备的范围可达 100 米。

  • 蓝牙不是一种成熟的通信方法(安全方面)。有了智能手机,它已经变成了与它原本的样子完全不同的东西。它是作为将手机连接到外围设备的一种方式而创建的。我的建议:不要将蓝牙用于任何严重的事情。

现在如何保护蓝牙?

  • 疯狂跳频:蓝牙使用一种叫做 AFH(自适应跳频)的东西。它基本上使用 2.4 Ghz ISM 频段中的 79 个信道,并以 1600 跳/秒的速率在它们之间不断跳频,同时观察环境并从跳频列表中排除任何现有频率。这大大减少了干扰和干扰尝试。

  • E0 密码套件:使用具有 128 位密钥的流密码。

  • 不可发现性:除非您将设备设置为“可发现”,否则它不会响应扫描尝试,并且您的 48 位 BD_ADDR(标识您的蓝牙设备的地址)不会被泄露。

  • 配对:除非设备在双方同意的情况下配对,否则它们将无法通信。只有当您知道其他设备的 BD_ADDR(通过扫描或以前的知识)时,才能提出配对请求。

在设定的时间间隔内移除和重新配对我的设备是否是个好主意(认为这正在改变蓝牙 PIN)

是的。这是一个非常好的主意。您正在消除被您信任的设备利用的风险。鉴于我们通常出于无关紧要的原因配对设备(向熟人发送文件,从您在某处遇到的人那里获得 VCard..),如果您经常使用蓝牙,很可能会建立大量“受信任”设备。

使我的设备或计算机“可发现”对安全有何影响?

使您的设备可被发现的问题在于,您将 BD_ADDR 广告给任何要求它的人。与另一个设备配对的唯一方法是了解 BD_ADDR。在有针对性的攻击中,暴力破解 48 位 BD_ADDR 需要一些时间。

在正常情况下,知道您的 BD_ADDR 应该不是什么大问题,但如果您的手机或计算机上的蓝牙软件存在漏洞,最好不要被察觉。另一个问题是对隐私的影响;通过被发现,您可以让未配对(不受信任)的各方知道您何时在附近。

启用蓝牙的设备可以在我的系统上获得什么样的访问权限?

在正常情况下(没有允许任意代码执行的漏洞),这一切都取决于您的设备支持的蓝牙配置文件。通常,您可以假设您的计算机支持所有配置文件。我只列举几个:

  • BHIDP(蓝牙人机接口设备配置文件)将允许访问您的鼠标和键盘事件触发(移动鼠标和发送键盘键)。
  • BIP(基本成像配置文件)将允许访问您的相机。
  • A2DP(高级音频分配配置文件)将允许访问您的 MIC 和音频输出。
  • OBEX(对象交换)是您通常需要担心的。根据实现的不同,它可以访问您的文件、电话簿、消息等。

是否有可能(或可能未启用)的蓝牙安全功能?我如何审核这些功能的存在(或缺乏)?

在蓝牙 V2.1 之前,在实现协议本身时,开发人员可以选择使用安全模式 #1,这意味着根本没有安全性。允许设备在无需配对的情况下进行通信,并且不使用加密。

蓝牙 V2.1 和更新版本需要加密。

作为用户,您可以做一些事情来使您的蓝牙使用更加安全。(见下文)

假设加密是可以启用的安全功能,它是必需的还是可选的?

与上一个问题一样,它依赖于实现。通常在 PC-PC、智能手机-智能手机和 PC-智能手机通信中默认使用加密。从蓝牙 V2.1 开始,默认启用加密。

一旦恶意设备与我的设备配对,攻击者可以做什么?

基本上,您的设备支持的任何东西。为了证明这一点,只需使用一个名为Super Bluetooth Hack的应用程序,你会看到非常可怕的东西,包括:

- 铃声:播放来电、闹钟的声音。
- 通话:拨打号码,结束通话。
- 按键、按下的键:按下和观看按下的键
- 联系人
- 阅读短信
- 静音模式:打开或关闭
- 电话功能:关闭网络/电话
- 闹钟
- 时钟:更改日期和时间
- 更改网络运营商
- Java:启动、删除 java 应用程序
- 日历
- 内存状态
- 键锁

那么蓝牙有什么问题呢?

  • 完全信任配对设备:配对设备几乎可以访问其他设备支持的所有配置文件。这包括 OBEX 和 FTP(文件传输配置文件)。

  • 配置文件有太多的自由:允许配置文件选择他们想要的任何安全模式。您甚至可以在没有蓝牙的情况下实现自己的 OBEX 版本,完全不需要您使用加密或身份验证。(在蓝牙 V2.1 之前)

  • E0 的弱点:自 1999 年以来,E0 漏洞开始显现。事实证明,用 2 64而不是之前认为的 2 128破解 E0 是可能的。年复一年,研究人员发现了更多的漏洞,导致了 2005 年 Lu、Meier 和 Vaudenay 的攻击。该攻击证明了通过 2 38 次操作恢复密钥的可能性。

  • 配对定义松散:允许设备实现自己的配对方法,包括可以立即破解的 4 位 PIN。

最后,关于良好实践指南:

我将列出一些重要的NSA 蓝牙安全建议(我已经修改了其中一些并添加了一些我自己的):

  • 仅在必要时启用蓝牙功能。
  • 仅在必要时启用蓝牙发现。
  • 将配对的设备放在一起并监控设备上发生的事情。
  • 使用安全的长密钥配对设备。
  • 切勿在意外提示时输入密码或 PIN。
  • 定期更新和修补支持蓝牙的设备。
  • 使用后立即移除配对设备。

更新:一个小时前我正在研究蓝牙 V4.0 规范,令我惊讶的是,他们似乎仍在使用 E0 进行加密,并且配对机制没有很好的变化。更糟糕的是,他们正在推进数字比较配对机制,在该机制中,用户在两台设备上看到一个六位数的数字,并要求他们验证它们是否相同。在我看来,这为社会工程攻击打开了大门。

对于需要用户交互的配对场景,窃听器保护使简单的六位密钥比 16 位字母数字字符的随机 PIN 码更强。

来源

更新 2:看起来这个“Just Works”的 6 位数 PIN 确实有问题。Mike Ryan 演示了对 BLE 的攻击,并将代码作为他的工具“crackle”发布,以暴力破解临时密钥并解密流量。

设备安全仅限于设备类型。

蓝牙的安全风险是什么?应该使用哪些技术和最佳实践来保护我的设备?

每个设备都提供一个级别的服务。所提供的服务对访问和利用产生了限制或限制。最好的保护措施是关闭蓝牙(如果你偏执的话)。赛门铁克网站Dark Reading上的一些有趣的读物

一旦恶意设备与我的设备配对,攻击者可以做什么?

可能发生的几件事:

  • 有人可以:窃取电话簿、照片、视频、日历,或允许拨打电话、发送和阅读电子邮件、预约和发送 SMS 消息。

  • 利用手机后,您可能会向当地警察局发送带有炸弹威胁的短信。帐单记录肯定会直接指向您作为手机所有者和 SMS 的真正发送者。这实际上取决于目标系统对蓝牙标准的实现。诺顿

  • 他们还可能会接听电话(如果他们欺骗了耳机)并控制您桌面上的鼠标光标(如果他们欺骗了您的鼠标)。

当我无聊地等待我的服务完成时,我在日产经销商处使用汽车音响获得了一点乐趣。其中一辆演示车中的立体声音响是可以发现的,因此我在演示期间配对,当时销售人员向潜在买家展示新功能,他们与我的设备配对,然后当潜在客户表示他们的配对失败时,他们再次尝试(我们都是配对的)。然后在销售人员离开后,我“拥有”了立体声音响,播放随机歌曲并控制音量。有人会从车里走开,立体声音响会变大。有人会走向汽车,然后音响会变得更安静。这一切都很有趣,直到我接到一个电话,立体声音响自动应答并几乎把我的掩护(我忽略了电话)。

在设定的时间间隔内移除和重新配对我的设备是否是个好主意(认为这正在改变蓝牙 PIN)

由于该系统很容易被利用,因此这样做并不能消除目标硬件与其他设备的通信限制(其信任级别)中存在的原始漏洞。暗读

使我的设备或计算机“可发现”对安全有何影响?

通过使您的系统“可发现”,您允许某人通过重命名他们的设备以匹配您的设备。这在某些设备上是不可避免的。

启用蓝牙的设备可以在我的系统上获得什么样的访问权限?

这取决于系统本身的限制。如果您的系统假定所有无线鼠标或无线耳机的行为方式相同,因为软件开发人员没有花时间保护交换并且有人冒充您的无线鼠标,那么他们可以访问您系统服务中允许的所有内容。在 Windows 上,这显然意味着完全控制。

如何控制蓝牙设备的访问范围?(如果我的手机遭到入侵,我想限制我的 PC 的暴露)

由于安全实施的限制,任何蓝牙系统都可能以自己的方式受到损害。范围内的人可以像攻击您的手机、耳机、鼠标、支持蓝牙的冰箱等一样轻松攻击您的“可发现”台式机或笔记本电脑。当您不使用蓝牙时,取消配对并禁用它。不使用时关闭哑设备。

是否有可能(或可能未启用)的蓝牙安全功能?我如何审核这些功能的存在(或缺乏)?

这取决于设备。无线鼠标等设备不会有活动日志。台式机可以。有些手机没有。

假设加密是可以启用的安全功能,它是必需的还是可选的?(此外,是否可以创建用于蓝牙的 SSL 条?)

加密只能由支持它的设备处理。在最初的握手中,如果您指出您的设备没有加密功能,那么系统将不会尝试加密交易。例如,无线鼠标不会传输安全信号。

Mac 蓝牙漏洞被利用用于木马部署 Windows 漏洞

然后攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。此漏洞仅影响具有蓝牙功能的系统。

Linux 蓝牙漏洞利用包括内存堆栈操作和读取。

祝你好运。

这个答案可能不完整或不正确,因为我对该主题的了解有限,但我对蓝牙的理解是它是一个相当松散的堆栈,可以在其上开发不同的协议(称为配置文件)。许多安全细节将取决于您在硬件上拥有的特定蓝牙堆栈和配置文件。

假设您的蓝牙堆栈(您的硬件的驱动程序)没有任何安全漏洞,只要关闭自动配对,拥有一个可发现的设备应该不会有任何区别。最糟糕的情况是提出配对请求,然后您可以拒绝。

蓝牙设备对系统的访问级别完全取决于蓝牙堆栈和配置文件的实现和配置方式,因此实际上不可能直接回答这部分问题。

也许最好的相似之处是将蓝牙想象成一个小型服务器,通过短距离无线电链路提供各种不同的服务。提供的服务以及服务的实现方式可能会有很大差异,但用于每种类型的配置文件的协议是一致的。(例如,耳机音频是一种常见的配置文件,AVRCP(音频/视频远程控制协议)也是如此)。

至于配对,在配对过程中,开发了一个共享的密钥,以备将来使用。只要任何一个设备都没有泄露共享机密,另一台设备就不能冒充该对。此外,只要使用该密钥对通信进行加密,而不仅仅是握手,那么通信本身就是安全的。

根据 Wikipedia 的说法,在 2.1 之前的蓝牙中,加密是可选的,如果使用超过一天就很容易被破解,但是 2.1 和更新版本的蓝牙通过要求对服务发现和更好的共享密钥管理以外的任何内容进行加密来解决这个问题。

在设定的时间间隔内移除和重新配对我的设备是否是个好主意(认为这正在改变蓝牙 PIN)

不,这可能不是一个好主意。在配对过程中会发生信息交换,窃听无线电通信链路的人可以利用该信息交换。请参阅 Dominic Spill 的精彩演讲https://www.youtube.com/watch?v=HU5qi7wimAM