欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

蓝牙BLE设备追踪漏洞分析

来源:本站整理 作者:佚名 时间:2019-08-14 TAG: 我要投稿

发生了什么?
2019年7月17日,在瑞典斯德哥尔摩举行的第19届Privacy Enhancing Technologies Symposium上,波士顿大学的研究员David Starobinski和Johannes K Becker展示了一个蓝牙低功耗BLE设备普遍存在的新漏洞。该漏洞使得攻击者可以追踪安装了Windows 10系统的设备,包括Windows 10平板和笔记本,全部iOS和macOS设备,包括iPhone, iPad, Apple Watch, MacBook等。

(论文网址:http://people.bu.edu/staro/publications.html)
根据标准,每个蓝牙设备都被分配一个独一无二的MAC(Media Access Control)地址。BLE设备会使用公开的(非加密)广播信道向其他设备广播自己的存在。为了保护用户隐私,Windows 10, Android, iOS, macOS等操作系统在广播时使用周期性变化的随机的MAC地址取代设备本身固定的MAC地址。
上述漏洞源于操作系统在实现MAC地址随机化时,实现得不够完美,广播信息的负载和MAC地址随机化不同步。利用该漏洞,攻击者可以突破Windows 10等系统引入的MAC地址随机化保护,持续追踪某台蓝牙设备,对用户隐私保护造成影响。
接下来,我们首先分析该漏洞产生的协议及实现背景,然后基于捕获的数据具体分析漏洞的产生原理及威胁。
 
BLE协议背景
蓝牙Bluetooth是一种无线通信协议,工作在ISM (Industrial Scientific Medical) 2.400至2.485 GHz频段,主要用在设备间短距离传输数据。低功耗蓝牙Bluetooth Low Energy是2010年随蓝牙4.0引入的一个标准,顾名思义,该标准主要用在功耗严格受限的小型设备中,如可穿戴设备。较新的蓝牙5.0标准主要是增加了传输距离,目前尚未广泛使用。
BLE设备工作在40个物理信道上,每个物理信道的中心频点相隔2 MHz,最低中心频点和最高中心频点分别是2402 MHz和2480 MHz。其中三个物理信道被称为广播信道,中心频点分别是:2402 MHz, 2426 MHz和2480 MHz。选择这三个频点做广播信道是为了尽可能降低2.4 GHz频段内以Wi-Fi为主的其他协议的干扰。

广播信道主要用来广播“advertising messages”,包括周期性的宣告存在的信息,对其他设备的扫描请求等。其余37个信道用来在配对的蓝牙设备间传输信息,并采用一种随机跳频的方式来降低干扰。
每台蓝牙设备都有一个独特的设备地址,和以太网、Wi-Fi的设备地址类似,都是同一个注册机构IEEE Registration Authority分配的。蓝牙标准5.0的第一卷中提到:“Each Bluetooth device shall be allocated a unique 48-bit Bluetooth device address (BD_ADDR). The address shall be a 48-bit extended unique identifier (EUI-48) created in accordance with section 8.2 (“Universal addresses”) of the IEEE 802-2014 standard.” 理论上,BD_ADDR在设备的生命周期中是固定的,而且设备在工作时会使用公开的广播信道向其他设备广播自己的存在,如果使用的MAC地址是BD_ADDR,设备则可能被追踪。
Windows 10, Android, iOS, macOS等系统在广播时可以使用周期性变化的随机的MAC地址取代设备本身固定的MAC地址,理论上可以避免设备被追踪。但Windows 10, iOS, macOS三类系统在实现MAC地址随机化时,没有确保广播信息负载的某些内容与MAC地址同步变化,攻击者同时追踪负载和MAC地址,就能将二者关联起来,绕过MAC地址随机化的防御。
 
漏洞分析与利用
BLE广播信道的格式如下所示:

不同广播类型的PDU结构不同。例如:“Indirected advertising allows any device receiving the PDU to respond with a Scan Request (requesting information about available features) or a Connect Request.”其PDU结构如下:

其中,AdvA,即Advertising Address,就是蓝牙设备的MAC地址。Windows 10, iOS, macOS等系统在发广播信息时,PDU中的AdvA是随机化的,AdvData也是随机化的,但二者的随机化周期不同步,导致攻击者可以持续追踪某台设备。
例如,安装Windows 10系统的设备,蓝牙广播信息的格式通常如下:

Data的前4个字节在每个设备上都相同,但剩余的23字节是随机生成的,并且每台设备都不同。安装Windows 10的设备发出的BLE广播中,AdvA的变化周期大概是960秒,Data的后23字节变化周期大概是1小时,而且不同厂商设备的广播特性类似,意味着上述特性由操作系统决定。

利用该特性,攻击者可以绕过MAC AdvA地址和AdvData随机化的防御,实现对特定设备的持久追踪,直到AdvA和AdvData随时发生变化。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载