今天给大家推荐的来自Asia CCS 2022的一篇关于蓝牙安全的论文——“PeriScope: Comprehensive Vulnerability Analysis of Mobile App-defined Bluetooth Peripherals”,作者关注了以安装相关应用程序的智能手机作为蓝牙外围设备场景的安全性,设计并实现了自动化工具PeriScope,通过分析配套应用来检测蓝牙广播、配对以及通信过程中的安全问题。
BLE通信的两台设备通常被称为中心设备(central)和外围设备(peripheral),其中外围设备通过持续广播来声明其存在,中心设备不断扫描广播报文来发现外围设备并与其建立连接。通常情况下,外围设备为一般物联网设备,中心设备为智能手机。而本文所针对的则是一类特殊的应用场景——App-defined Bluetooth Peripheral (AdBP),即智能手机中应用程序通过蓝牙芯片和操作系统来启用外围设备,其工作流程如图2所示,此类应用场景目前被广泛用于COVID-19的自动接触追踪。
AdBP存在严重的安全隐患,而目前很少有研究对AdBP中的安全与隐私展开系统性的研究。以图3所示的Lyft Driver应用为例,当其手机作为外围设备时,该应用会将drive ID放入广播报文中,该drive ID能够允许攻击者跟踪驱动程序的移动,造成用户位置信息泄露。此外,还有应用对敏感数据没有进行安全防护,即没有对相关GATT属性实施访问控制,使得任何连接的中心设备都能够访问这些数据,而无需身份验证,如图4所示。
本文针对AdBP场景中的安全与隐私展开研究,主要包含上述两类问题,即广播报文与GATT服务器配置的安全性。作者设计并实现了一个自动化检测工具——PeriScope,通过检测应用中相关Java层API的使用来识别相关行为,并进一步检测其不安全实现。
PeriScope工作流程如图5所示,主要包含四个过程:
(1) Recognizing an AdBP Companion App
PeriScope首先检测一个应用是否能够将手机转换为蓝牙外围设备,包含三步:
检查蓝牙权限:检查应用Manifest文件中是否声明蓝牙相关权限。
检查相关系统API:为了排除将手机转换为中心设备的相关应用,PeriScope检查该应用是否实现蓝牙外围设备的独特功能——广播报文,其通过检查相应的系统API来实现。
(2) Uncovering Advertising Packets
接下来,PeriScope识别广播报文中的自定义数据,包含两步:
识别目标系统API:这些系统API用于定制广播报文中携带的数据
解析自定义数据:PeriScope利用上述系统API参数来解析广播报文中的自定义数据。由于输入参数可能并不是直接输入数据值,作者通过构建过程间控制流图(ICFG)和数据流图(IDDG)来后向遍历,跟踪和解析自定义数据。
(3) Revealing GATT Server Configuration
PeriScope还对GATT服务器相关配置进行识别,其同样通过解析相关系统API的参数来实现,可能包含属性的UUID、权限以及存储的值。
(4) Security and Privacy Analysis
在识别广播报文数据和GATT服务器配置之后,PeriScope进行安全分析来识别相关漏洞。
被动窃听漏洞检测:主要关注数据包是否包含敏感数据,如可识别服务UUID、可识别的设备名、特定字段中的敏感数据。
主动MITM漏洞检测:主要关注GATT属性权限来检测相关活动MITM漏洞,如访问权限和加密权限。
作者收集了240万个应用,利用PeriScope对这些应用进行检测,共识别出1160个AdBP配套应用,主要结果如表1所示。其中69.13%的应用广播可能会存在设备/用户信息被动窃听攻击,而约95%的GATT属性被分配弱安全保护,可能会导致主动MITM攻击。
原文链接:
https://dl.acm.org/doi/pdf/10.1145/3488932.3517410
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...