BLUFFS - 蓝牙中允许 MITM 攻击的漏洞

Daniele Antonioli 是一名蓝牙安全研究员,之前开发了 BIAS、BLUR 和 KNOB 攻击技术,他在蓝牙会话协商机制中发现了两个新漏洞 (CVE-2023-24023),影响所有支持安全连接模式的蓝牙实现。” “安全简单配对”,符合蓝牙核心4.2-5.4规范。 为了演示已识别漏洞的实际应用,我们开发了 6 种攻击选项,使我们能够侵入先前配对的蓝牙设备之间的连接。 实现攻击方法的代码和用于检查漏洞的实用程序已发布在 GitHub 上。

这些漏洞是在分析实现前向保密(前向和未来保密)标准中描述的机制时发现的,该机制在确定永久密钥的情况下抵消了会话密钥的泄露(泄露永久密钥之一不应导致解密以前拦截的或未来的会话)以及会话密钥的重用(一个会话的密钥不应适用于另一个会话)。 发现的漏洞使得绕过指定的保护并在不同的会话中重复使用不可靠的会话密钥成为可能。 这些漏洞是由基本标准中的缺陷引起的,并非特定于单个蓝牙堆栈,并且出现在不同制造商的芯片中。

BLUFFS - 蓝牙中允许 MITM 攻击的漏洞

所提出的攻击方法实现了不同的选项来组织系统与外围设备之间的经典(LSC,基于过时加密原语的传统安全连接)和安全(SC,基于 ECDH 和 AES-CCM 的安全连接)蓝牙连接的欺骗,如下所示以及组织 MITM 连接,对 LSC 和 SC 模式下的连接进行攻击。 假设所有符合该标准的蓝牙实现都容易受到 BLUFFS 攻击的某些变体的影响。 该方法在英特尔、博通、苹果、谷歌、微软、CSR、罗技、英飞凌、Bose、戴尔和小米等公司的 18 台设备上进行了演示。

BLUFFS - 蓝牙中允许 MITM 攻击的漏洞

这些漏洞的本质可以归结为在不违反标准的情况下,通过在连接协商过程中指定最小可能的熵并忽略带有身份验证参数 (CR) 的响应内容,这导致基于永久输入参数生成会话密钥(会话密钥 SK 是根据永久密钥 (PK) 和会话期间商定的参数计算为 KDF) 。 例如,在中间人攻击中,攻击者可以在会话协商过程中将参数𝐴𝐶和𝑆𝐷替换为零值,并将熵𝑆𝐸设置为1,这将导致形成具有实际值的会话密钥𝑆𝐾。 1 字节的熵(标准最小熵大小为 7 字节(56 位),其可靠性与 DES 密钥选择相当)。

如果攻击者设法在连接协商期间使用较短的密钥,那么他就可以使用暴力破解来确定用于加密的永久密钥(PK)并实现设备之间流量的解密。 由于 MITM 攻击可以触发使用相同的加密密钥,因此如果找到该密钥,则可以使用它来解密攻击者拦截的所有过去和未来的会话。

BLUFFS - 蓝牙中允许 MITM 攻击的漏洞

为了阻止漏洞,研究人员建议对标准进行更改,扩展LMP协议,并更改在LSC模式下生成密钥时使用KDF(密钥导出函数)的逻辑。 此更改不会破坏向后兼容性,但会导致启用扩展 LMP 命令并发送额外的 48 个字节。 负责开发蓝牙标准的蓝牙 SIG 已提议拒绝通过密钥最大为 7 字节的加密通信通道进行连接作为安全措施。 鼓励始终使用安全模式 4 级别 4 的实现拒绝密钥大小最大为 16 字节的连接。

来源: opennet.ru

添加评论