【ACM CCS 2022论文分享】BAT攻击:基于白名单的蓝牙地址追踪攻击
2022-12-8 17:32:36 Author: 网安国际(查看原文) 阅读量:34 收藏

编者按

本文根据论文原文“When Good Becomes Evil: Tracking Bluetooth Low Energy Devices via Allowlist-based Side Channel and Its Countermeasure”整理撰写。原文发表于 ACM CCS 2022,作者是俄亥俄州立大学的张悦和林志强。该论文获得了ACM CCS 2022的最佳论文奖提名。本文较原文有所删改,详细内容可参见原文。

01

介绍

作为一种短距离无线通信技术,低功耗蓝牙被广泛应用于家庭娱乐、医疗保健等多个领域。但是,低功耗蓝牙设备容易受到MAC地址追踪的威胁。这是因为蓝牙设备依赖自身不断发出的蓝牙数据包进行通信,以手机为例,每隔20毫秒左右就会向周围发射设备扫描数据包,检查附近是否有可用的蓝牙外设。但是这些数据包很容易被攻击者截获(甚至一个装有蓝牙嗅探软件的普通的手机都可以截获这些数据包)。而一旦攻击者截获这些数据包,他们就可以从这些数据包中提取蓝牙设备的地址,进而对蓝牙设备进行追踪。

举例来说,例如攻击者知道用户的手机蓝牙地址是A,然后在地铁站发现了地址为A的设备,虽然攻击者并没有看到用户,但是仍然可以推断用户在地铁站附近。Bluetooth SIG为了防止这一攻击现象的发生,将蓝牙设备的地址每隔一定时间进行一次变换。这种机制叫做地址随机化,而用于地址随机化的协议叫做地址解析协议。使用了地址随机化的设备发出的蓝牙数据包中只含有随机地址,这样即使攻击者截获了包含随机地址的数据包,也因为这些随机地址会定期发生改变,从而无法长期稳定地追踪蓝牙设备。

近年来一直有研究工作试图破解蓝牙地址随机化,破解的方式主要是通过侧信道攻击。例如,虽然使用了蓝牙地址随机化的设备在不停地变换地址,但是除了地址之外,蓝牙的数据包中可能存在着很多其他不变的信息(如蓝牙设备名称,厂商,提供的蓝牙服务等信息),这些不变的信息仍然可以被攻击者利用,进而对蓝牙设备进行追踪。然而,这些攻击方式往往受限于某种具体的实现,此前并没有协议级别的攻击方式。

我们发现了一种基于白名单的侧信道攻击,并展示了该攻击如何对蓝牙数据包进行定位和追踪。与此同时,我们还发现了蓝牙地址解析协议存在不能抵抗重放攻击这一重要协议漏洞,利用该漏洞,我们可以实现跨时间与地域的蓝牙数据包追踪。蓝牙兴趣小组(Bluetooth SIG) 为这些发现申请了CVE-2020-35473的漏洞编号。目前,所有使用蓝牙地址解析协议的设备(如谷歌Android与iOS)都会受到该漏洞影响,其中谷歌更是将该漏洞评为高危漏洞。

02

背景

在本节中,我们将介绍一些背景知识,为后面的详细的攻击方式做出铺垫。

白名单:白名单是低功耗蓝牙协议中较为简单的一种防御机制:一个设备可以将自身所信任的其他设备添加进自身的白名单中,进而避免不可信设备的连接。这样做的好处不仅可以从一定程度上保证设备连接的安全性,更节约了设备的电量(因为设备只需要响应白名单中的设备而不是所有的设备)。例如我们所使用的耳机通常就配置了白名单,当我们打开耳机盒盖的一瞬间,耳机会发出蓝牙广播,手机在同一时间就检测到了这是一个信任的、曾经连接过的设备,进而发起连接请求,与耳机通信。

地址解析协议:蓝牙地址解析协议是设备之间用于隐藏自己身份,同时识别可信设备身份的通用协议。其工作过程一般包括以下步骤:

(1)一个主设备(手机)与一个从设备(耳机)进行配对,交换密钥。所交换的密钥被命名为地址解析密钥,标识为

(2)手机想要隐藏自身的真实地址,达到其不被不可信设备所连接,同时又想要自己被可信的设备所连接的目的。于是手机用地址解析协议生成一个挑战:

其中, 是一个随机数,是地址解析密钥,H24是一个哈希函数,而生成挑战的过程实际上是一个利用HMAC计算哈希值的过程。所生成的挑战就是随机地址(即)。

(3)手机将生成的地址通过广播或者其他方式的请求包发送给周围的设备。由于是一个随机数,设备可以选择定时变化该随机数达到变换随机地址的目的。

(4)当周围设备收到该随机地址后,有两种结果:第一,如果是可信的设备,由于其和主设备有相同的地址解析密钥,从设备(耳机)可以将中提取出来,通过执行与主设备相同的操作:

通过计算,从设备可以得到相同的哈希值,进而解决该挑战并识别主设备。第二,如果是不可信的设备,由于其没有相同的地址解析密钥,该设备无法执行上述操作恢复出有效哈希值,进而无法识别主设备。

03

蓝牙地址追踪攻击

蓝牙地址追踪攻击(Bluetooth Address Tracking,BAT)包括两个重要部分,即基于白名单的侧信道攻击和蓝牙协议重放漏洞。

基于白名单的侧信道攻击:我们发现了蓝牙设备的白名单可以被用作一个侧信道对用户进行追踪。具体来说,当一个设备使用了蓝牙白名单,这个设备就会有选择性地只与曾经配对过的设备进行连接。如我们自己的蓝牙耳机只会被我们自己的手机控制。再如我们自己的手机在我们不需要任何操作的前提下,会自动连接我们自己家的蓝牙音箱。我们可以发现,白名单的这种特性,其实将蓝牙外设和手机建立了一种绑定关系:不管在白名单中的蓝牙设备怎么变换地址,其配对过的设备都能准确 “认出” 来。那么,攻击者只需要观察蓝牙设备之间的这种映射关系就可以确定是否具有不同地址的两个设备是否是同一个设备。如手机从地址变到地址,但是其总是连接同一用了白名单的蓝牙耳机。

图1:白名单侧信道示意图(被动攻击)

蓝牙地址解析协议重放漏洞:上述的攻击其实有很多局限,例如需要攻击者不间断收集和分析交互的蓝牙的数据包。我们发现了另外一个地址解析协议的漏洞,可以克服上述缺陷:那就是地址解析协议在设计的时候并没有考虑到重放攻击。攻击者可以通过重放蓝牙数据包来对用户手机进行实时追踪。例如,攻击者收集了受害者家蓝牙音箱的一个数据包,数据包中包含的蓝牙地址为,在地铁站广播该数据包,如果发现有地址为的手机连接了上来,那么就能确定连接的手机即是受害者的手机,而地址的受害者手机的蓝牙地址是。在这种情况下,即使受害者家里真实的蓝牙音箱的地址已从变到,该攻击仍然奏效。从而实现了跨时间和空间的蓝牙地址追踪。

图2:地址解析协议漏洞示意图(主动攻击)

我们根据上述原理设计了BAT(Bluetooth Address Tracking)攻击。并根据攻击是否需要主动重放蓝牙数据包,进行了分类,即主动式攻击和被动式攻击。不论主动攻击还是被动攻击,我们都可以追踪主控设备或者外设设备,即使主控设备和外设设备都进行了地址随机化。 

04

SABLE防御机制

我们设计了SABLE(Securing Address of BLE)作为防御。SABLE包括两部分,即被动防御与主动防御。被动防御主要用于防御白名单侧信道。我们让主控设备和外设设备同时随机变换地址,这样攻击者就无法观察到变换了地址的主控设备连接到 “同一” 外设设备了。主动防御则是通过用时间戳生成序列号的方式阻止重放攻击。

由于被动防御的方式相对简单,这里重点介绍主动防御:

(1)一个主设备(手机)与一个从设备(耳机)进行配对,交换密钥的同时共享一个序列号。

(2) 手机用地址解析协议生成一个挑战:

其中,为序列号,而生成的挑战就是随机地址(即)。

(3)手机将生成的地址通过广播或者其他方式的请求包发送给周围的所有设备。由于是一个随机数,设备可以选择定时变化该随机数达到变换随机地址的目的。

(4)当周围设备收到该随机地址后,有两种结果:第一,如果是可信的设备,由于其和主设备有相同的地址解析密钥,从设备(耳机)可以将中提取出来,通过执行相同的操作:

计算出相同的哈希值,进而解决该挑战并识别主设备。第二,如果是不可信的设备,由于其没有相同的地址解析密钥,该设备无法执行上述操作恢复出有效哈希值,进而识别无法主设备。同时,由于序列号会随着时间变换,因此,如果攻击者用一个旧的地址进行重放,设备将不会接受该重放地址,进一步防止了设备被追踪。

05

实验结果和影响

我们对39个配置了白名单的设备进行了测试(包括24个外设设备,11个主控设备,以及4个开发板) 。所有的这些设备都无一例外地遭受到BAT攻击的威胁。我们将发现报告给Bluetooth SIG、谷歌、苹果,Nordic等厂商。其中Bluetooth SIG标记了CVE-2020-35473,这表示该漏洞为协议漏洞,影响所有的蓝牙设备。谷歌确认漏洞为高危并发放了bug bounty。其他的厂商如Nordic表示,正在等待Bluetooth SIG的修复指导建议。

作者简介

张悦,博士,现在俄亥俄州立大学从事博士后研究,主要研究方向为物联网安全。曾在 ACM CCS,USENIX Security,NDSS, TDSC,RAID,BlackHat Aisa 等国际信息安全著名期刊、会议上发表论文 30 余篇; 获2022年 ACM CCS最佳论文奖提名, 获 2021 年度广东省科学技术奖(自然科学奖)一等奖等奖项。任 TDSC,TIFS,TMC,IOT-J 等著名期刊审稿人,IEEE DSC,SecureComm 等会议程序委员会委员。曾多次发现 Bluetooth SIG,谷歌、Apple、德州仪器、腾讯等组织、知名公司的高危严重漏洞。

林志强,俄亥俄州立大学计算机科学与工程系杰出教授。研究领域为可信计算、系统和软件安全。主要的研究目标包括开发自动化程序分析和逆向工程技术,并用于保护包括移动应用程序在内的程序安全和包括操作系统内核和虚拟机管理器在内的底层系统安全。曾获奖项包括NSF职业奖和AFOSR青年研究员奖。林志强教授同时还是数据及转化分析研究所(TDAI)、汽车研究中心(CAR)和最近在俄亥俄州立大学成立的网络安全和数字信任研究所(ICDT)的教员。 研究工作发表于IEEE S&P, ACM CCS, USENIX Security, NDSS等国际信息安全著名会议。


文章来源: http://mp.weixin.qq.com/s?__biz=MzA4ODYzMjU0NQ==&mid=2652312032&idx=1&sn=c8628ecc7082722f5498d436ace8fc1b&chksm=8bc48c6ebcb305789f830abf66a30ae4fa7d24c5f53cd0f6988d7c974b2f2bc16bafed1dcaa9#rd
如有侵权请联系:admin#unsafe.sh