Android、Linux、macOS 和 iOS 中的 Bluetooth 按键注入

Android、Linux、macOS 和 iOS 中的 Bluetooth 实现存在按键注入漏洞(CVE-2023-45866),攻击者可在附近伪装成键盘并发送命令,且无需用户确认,在某些情况下即使设备只是开启了 Bluetooth 也能成功。评论者讨论了不同协议栈为何会暴露——从 Linux 的 BlueZ 出于不安全或兼容旧设备而采用的默认设置,到 Apple “magic” 自动配对行为——并指出许多平台已在最近的系统更新中修复该问题,不过较旧的 Apple 系统仍未打补丁。实际缓解措施包括关闭 Bluetooth 或收紧配置(例如 BlueZ 的 `ClassicBondedOnly=true`),以及优先使用有线外设;同时,Windows 是否受影响以及无线便利性与安全性之间的更大权衡仍有疑问。

漏洞范围

  • CVE-2023-45866 允许 Bluetooth 设备通过滥用 Bluetooth 规范中的“未认证”配对行为以及实现缺陷,冒充键盘并注入按键。
  • 攻击可以在无需用户确认的情况下进行,并且在某些情况下,即使没有已存在且受信任的键盘处于活动状态也能成功。
  • 实际影响:启动终端、安装软件(在无需额外认证时)、拨打号码,或触发烦扰性操作;更严重的攻击可能需要与其他漏洞进行链式利用。

平台特定说明

  • Android
    • 被形容为“如鱼得水”:只要 Bluetooth 已启用就存在漏洞,不仅仅是在可被发现时。
    • 2023 年 12 月的 Android 安全公告包含修复;一些衍生版本(例如 DivestOS)也将补丁回移到了较旧版本。
  • Linux / BlueZ
    • 底层问题在 2020 年已修补,但为了兼容旧设备,发布时保持禁用状态(“不安全的默认设置”)。
    • 缓解措施是配置标志 ClassicBondedOnly=true;一些发行版和 ChromeOS 现在默认启用它。
  • macOS / iOS
    • 在 Bluetooth 已启用且已配对过 Magic Keyboard 时存在漏洞。
    • 已在当前版本中修复(macOS 14.2、iOS 17.2),但未回移到 macOS 13 / iOS 16,这让依赖“受支持”的旧设备的用户感到沮丧。
    • “Magic Keyboard” 配对如何被滥用的细节仍不清楚;关于仅有历史配对是否足够也存在疑问。
  • Windows
    • 原文未提及;不清楚是未受影响还是只是未测试。一些人希望了解架构细节;另一些人指出可通过其他工具实现独立的 HID 风格攻击。

缓解措施与可行性

  • 通常建议:
    • 在不需要时关闭 Bluetooth(在 iOS/macOS 上较难或不可持久;在 Android 上容易)。
    • 在 Linux 上显式设置 ClassicBondedOnly=true 并重启 Bluetooth。
  • 一些人认为,在锁定的手机上,或安装应用需要生物识别/密码的情况下,风险较低;另一些人则指出许多设备处于解锁状态或很容易被唤醒。
  • 自助终端和无人值守机器被认为尤其暴露。

安全性 vs 可用性 / 无线 vs 有线

  • 一个强烈主题是“便利性/向后兼容 vs 安全性”,并批评不安全的默认设置和自动配对行为。
  • 关于 Bluetooth 本身也存在争论:许多人认为与有线相比它脆弱且不安全;也有人报告现代硬件下体验稳定、低延迟。
  • 多位参与者重申更偏好有线键盘,认为其在可靠性和安全性上都更好,不过也有人更看重无线方案的 ergonomics 和美观。