RattaGATTa:可扩展的蓝牙低功耗调查 - GreyNoise Labs

2020 年 4 月 18 日新冠疫情高峰期,作者首次深入研究蓝牙低功耗(BTLE)隐私和安全,成功克隆邻居丢失的 Fitbit Charge 2 智能手表的蓝牙配置,能观察到其主人手机尝试连接的情况,4 年来作者做了很多蓝牙项目,得出一些结论:处理蓝牙和无线电通信的领域专业知识很难,衡量蓝牙安全和隐私影响更难,网络安全社区通常在有工具提供定量和定性措施时才采取行动。希望扫描器能做得更好,因为如果扫描器了解不多且容易出错,就会像菲利普·迪克所说那样被诅咒。文中还介绍了构建收集 BTLE 数据的设置的路径,包括硬件部分列表、固件源代码和样本数据库加载器等。目标是收集类似 WiGLE 的 BTLE 数据库,但存在规格不明确等问题。蓝牙 LE 站用 48 位“广告商地址”广播,可通过其他广告属性如本地名称、公司代码等创建设备指纹。建立同步“连接”通信通道后可获取连接状态的唯一元数据与广告收集的元数据结合。由于蓝牙低功耗的特点,需要定制硬件,作者用 M5Stack Core 基于 ESP32 微控制器,用 MicroPython 和 aioble 模块进行开发,还遇到各种无线现实问题和物联网设备的小妖精,如 Gen 1 谷歌 Chromecast 砖化等。后来用 XIAO ESP32-S3 微控制器,通过广播 WiFi 接入点与 M5Stack Core2 通信,利用 WiFi 和蓝牙在 2.4GHz 频段的特性进行数据传输,解决了广播 WiFi AP、扫描接收 BTLE 广告和建立 BTLE GATT 连接等问题,但在 BTLE GATT 连接和 WiFi 日志检索同时进行时存在困难,需要工作分配和速率限制算法,避免日志重复和设备不可用等问题,最后介绍了rg-loggerrg-collector的工作流程及生成的日志格式等。

阅读 14
0 条评论