Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
writeup-cve-2019-19194 — CVE-2019-19194 的分析文章和理论性概念验证 | Kitploit
工具/GitHubGitHub/louisabricot/writeup-cve-2019-19194
嵌入式系统安全蓝牙安全物联网安全漏洞分析漏洞利用无线安全
GitHublouisabricot/writeup-cve-2019-19194

writeup-cve-2019-19194

CVE-2019-19194 的分析文章和理论性概念验证

查看仓库
1213年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2019-19194 漏洞分析

本文是关于 CVE-2019-19194 的分析报告和理论性概念验证(Proof-of-Concept)。

⚠️ 该 CVE 由 https://asset-group.github.io/disclosures/sweyntooth/ 发现

目录

  • 摘要

  • 受影响软件及版本

  • 概述

    • 协议栈与架构
    • 配对流程
  • 概念验证

  • 参考文献

摘要

本报告描述了 Zero LTK Initialisation(零 LTK 初始化)漏洞 (CVE-2019-19194) 如何通过绕过 Secure Connections(安全连接)配对流程,使攻击者能够完全控制蓝牙低功耗(BLE)应用的通信。

受影响软件及版本

该漏洞影响使用 Telink SMP 实现并支持 Secure Connections(安全连接)配对流程的产品。

概述

BLE 是一种低功耗、短距离的无线电通信系统。它由一组标准化协议组成,为两个设备之间提供远程连接和安全保障。

协议栈与架构

BLE 协议栈分布在两个架构模块中:Host(主机)和 Controller(控制器)。

这种分布方式使得每个模块可以在物理上独立的组件中实现。

一个名为 Host Controller Interface(主机控制器接口,HCI)的标准逻辑接口负责两个模块之间的通信。

BLE 应用位于 Host(主机)模块之上。

蓝牙低功耗协议栈与架构

物理层(PHY)

物理层工作在 2.4GHz 频谱的工业、科学和医疗(ISM)无线电频段。它使用 40 个信道:3 个广播(advertising)信道和 37 个数据(data)信道。

链路层(LL)

链路层(LL)有许多职责,此处不再赘述。 它由一个状态机控制,该状态机定义了重要的角色和状态:

  • 广播(advertising)设备通过广播信道发送广播包。广播时,设备会告知自身是否可连接(connectable)。
  • 扫描(scanner)设备监听来自其他设备的广播包。
  • 一旦扫描设备从另一个设备收到广播包,如果广播方可连接(connectable),它就可以发起连接流程。

逻辑链路控制和适配协议(L2CAP)

逻辑链路控制和适配协议充当协议复用层。它处理其上下层之间数据包的分段(fragmentation)和重组(recombination)。

通用访问规范(GAP)

通用访问规范涉及设备的发现(discovery)和连接(connection)。换句话说,GAP 定义了广播包的发送以及通过扫描接收广播包的流程。

通用属性规范(GATT)

一旦两个 BLE 设备之间建立连接,GATT 便使用客户端/服务器模型在两个设备之间交换数据。客户端和服务器都使用属性协议(ATT)。

  • 服务器:暴露数据的设备接受命令并发送响应、通知或指示。
  • 客户端:请求读取数据的设备发送命令,接受传入的响应、通知和指示。

安全管理器(SM)

SM 支持与安全相关的流程,例如配对(pairing)、绑定(bonding)和密钥分发(key distribution)。设备配对被视为蓝牙安全的基础:一旦配对成功,两个设备就可以加密通信、相互认证等……

配对流程

在 BLE 通信所涉及的各个协议中,zero LTK installation(零 LTK 安装)CVE 发生在配对流程的 Secure Connections(安全连接)模式下。

配对步骤总览

配对模式

  • Legacy(传统)模式使用简单的秘密数据交换过程来派生对称密钥,以在密钥分发阶段加密链路。
  • Secure Connections(安全连接,SC)使用椭圆曲线公钥加密技术来派生对称密钥。该密钥用于在密钥分发阶段加密链路。

Secure Connections(安全连接)配对模式是“更安全的方法”,其开发目的是解决 Legacy(传统)模式的弱点。然而,zero LTK installation(零 LTK 安装)CVE 发现,SC 配对的不良实现可能允许绕过安全性。

Secure Connections 配对流程

Secure Connections 配对流程

第一阶段 - 信息交换

中心设备发送配对请求,双方设备交换各自的安全能力和需求。此阶段定义了配对模式。

第二阶段 - 密钥生成
  • 公钥交换:由中心设备发起公钥交换。外设和中心设备都会验证其接收到的密钥位于 P-256 曲线上。

  • 计算 DHKey:每个设备使用自己的私钥(SK)以及另一设备的公钥(PK)来计算各自的 Diffie-Hellman 密钥(DHKey)。这样两个设备便拥有相同的 DHKey 值。

      Central: DHKey = p256(SKc, PKp)
      Peripheral: DHKey = p256(SKp, PKc)
      
    
  • 如果请求了中间人(MITM)保护,则会执行一个交互式流程来确认配对设备的真实性。

  • 计算长期密钥(LTK)并相互确认:设备相互认证并计算出 LTK 密钥。在第三阶段之前,会从 LTK 派生出一个会话密钥用于加密链路。

第三阶段 - 密钥分发

通过加密链路,设备可以分发密钥。

概念验证

zero LTK installation(零 LTK 安装)的根本原因在于,配对流程中未检查两个设备所处的状态。因此,攻击者控制的中心设备可以跳过密钥生成和认证步骤。这会导致外设中的 LTK 密钥被设置为 0,从而产生一个极易推导的会话密钥。

Exploit 跳过了 SC 配对的第二阶段

⚠️ 这是一个纯理论性的概念验证,因为我无法获取 BLE 发现、广播或配对流程的 pcap 数据包,也没有配备 Telink SMP 实现的 BLE 设备。

Zero LTK installation(零 LTK 安装)

参考文献

  • Garbelini, M. E., Wang, C., Chattopadhyay, S., Sun, S., & Kurniawan, E. (2020, July). Sweyntooth: Unleashing mayhem over bluetooth low energy. In Proceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference (pp. 911-925).
  • Claverie, T., Docq, N., & Lopes-Esteves, J. Analyse des propriétés de sécurité dans les implémentations du Bluetooth Low Energy.
  • 蓝牙核心规范 5.0
  • 开发者学习指南:蓝牙低功耗安全
下载工具