国庆回来的第一周,为大家推荐的论文是来自俄亥俄州立大学SecLab的低功耗蓝牙隐私保护的最新工作: When Good Becomes Evil: Tracking Bluetooth Low Energy Devices via Allowlist-based Side Channel and Its Countermeasure。目前已知的很多种测信道攻击,比如基于电压,缓存,时间,噪音等等。这项工作不仅发现了一种新颖的基于白名单的侧信道攻击,展示了该攻击如何对蓝牙信号进行定位和追踪,同时也发现了广泛使用的蓝牙地址解析协议可以被重放地址攻击这一重要协议漏洞。Bluetooth SIG 申请了编号为CVE-2020-35473用来标识该漏洞。该漏洞影响所有使用蓝牙地址解析协议的设备(如谷歌Android与iOS),其中谷歌更是将该漏洞评为高危漏洞。该工作将会出现在CCS 2022。
背景知识:作为一种短距离无线通信技术,低功耗蓝牙被广泛应用于家庭娱乐、医疗保健等多个领域。但是,低功耗蓝牙设备容易受到MAC地址追踪的威胁。这是因为蓝牙设备依赖自身不断发出的蓝牙数据包进行通信,以手机为例,每隔20毫秒左右就会向周围发射设备扫描数据包,检查附近是否有可用的蓝牙外设。而这些数据包很容易被攻击者截获(甚至普通的手机都可以截获)。一旦攻击者截获这些数据包,就可以获取蓝牙设备的地址,进而对蓝牙设备进行追踪。
举例来说,例如攻击者知道用户的手机蓝牙地址是A,然后在地铁站发现了地址为A的设备,虽然攻击者并没有看到用户,但是仍然可以推断用户在地铁站附近。Bluetooth SIG为了防止这一情况的发生,将蓝牙设备的地址每隔一定时间进行一次变化(地址随机化),这样即使攻击者截获了包含地址的数据包,也会因为早已变化的蓝牙地址,无法确定这个数据包是否来自用户。
新颖的基于白名单的侧信道攻击:作者发现了蓝牙设备的白名单可以被用作一个侧信道,进而对用户进行追踪。具体来说,当一个设备使用了蓝牙白名单,这个设备就会有选择性地只与曾经配对过的设备进行连接。如你自己的蓝牙耳机只会被自己的手机手机控制。再如你自己的手机在你不需要任何操作的前提下,会自动连接你自己家的蓝牙音箱。我们可以发现,白名单的这种特性,其实将蓝牙外设和手机建立了一种绑定关系:不管在白名单中的蓝牙设备怎么变换地址,其配对过的设备都能准确 “认出” 来。而之所以两个设备可以互相认识,是利用了底层的地址解析协议,这里不予赘述。那么,攻击者只需要观察蓝牙设备之间的这种映射关系就可以确定是否具有不同地址的两个设备是否是同一个设备。如手机从地址 变到地址 ,但是其总是连接同一用了白名单的蓝牙耳机。
蓝牙地址解析协议重放漏洞:上述的攻击其实很多局限,例如需要攻击者不间断收集和分析交互的蓝牙的数据包。作者发现了另外一个地址解析协议的漏洞,可以克服上述缺陷:那就是白名单在设计的时候并没有考虑到重放攻击。攻击者可以通过重放蓝牙数据包来对用户手机进行实时追踪。例如,攻击者收集了你家蓝牙音箱的一个数据包,数据包中包含的蓝牙地址为 ,在地铁站广播该数据包,如果发现有地址为 的手机连接了上来,那么就能确定连接的手机即是你的手机,而地址B2是你的手机蓝牙地址。在这种情况下,即使你家真实的蓝牙音箱的地址已从 变到 ,该攻击仍然奏效。
BAT攻击:作者根据上述原理设计了BAT(Bluetooth Address Tracking)攻击。并根据攻击是否需要主动重放蓝牙数据包,进行了分类,即主动式攻击和被动式攻击。不论主动攻击还是被动攻击,作者都可以追踪主控设备或者外设设备,即使主控设备和外设设备都进行了地址随机化。作者将该攻击命名为BAT,也为了致敬《蝙蝠侠:黑暗骑士》。在该电影中,有一幕是蝙蝠侠为了找到从监狱逃跑的小丑,让管家黑进全哥谭市的手机,对逃跑的小丑进行定位,最终确定了小丑的位置。只不过在这项工作中,BAT追踪的不是小丑,而是正常的用户,呼应了题目中的“When Good Becomes Evil”,也双关了白名单设计的初衷(白名单本来是为安全连接设计的,却被用于追踪用户)。
SABLE防御机制:作者设计了SABLE(Securing Address of BLE)作为防御(SABLE中文名黑貂,一种吃蝙蝠的小动物)。SABLE包括两部分,即被动防御与主动防御。被动防御主要用于防御白名单侧信道。作者让主控设备和外设设备同时随机变换地址,这样攻击者就无法观察到变换了地址的主控设备连接到 “同一” 外设设备了。主动防御则是通过用时间戳生成序列号的方式阻止重放攻击。
实验结果和影响:作者对39个配置了白名单的设备进行了测试(包括24个外设设备,11个主控设备,以及4个开发板) 。所有的这些设备都无一例外地收到BAT攻击的威胁。作者将他们的发现报告给Bluetooth SIG、谷歌、苹果,Nordic等厂商。其中Bluetooth SIG标记了CVE-2020-35473,这表示该漏洞为协议漏洞,影响的所有的蓝牙设备。谷歌确认漏洞为高危并发放了bug bounty。其他的厂商如Nordic表示,正在等待Bluetooth SIG的修复指导建议。
论文PDF:https://web.cse.ohio-state.edu/~lin.3021/file/CCS22a.pdf
====================================================
作者简介:张悦 (https://yue.zyueinfosec.com/),俄亥俄州立大学博士后,主要研究方向为物联网安全和移动安全。曾在USENIX Security,CCS,NDSS,INFOCOM,BlackHat Aisa,TDSC等国际信息安全著名期刊、会议上发表论文30余篇。发现Bluetooth SIG,谷歌、Apple、德州仪器、腾讯等知名公司高危、严重漏洞。
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-10-11 When Good Becomes Evil