对智能佩戴装置的一次分析
你好,我是Sayli Ambure,刚进入信息安全领域的新人。网络应用和物联网/硬件的通信安全一直是我想探索的东西,而本文也是关于我对某款智能设备的研究。 我并不会过多描述低功耗蓝牙(BLE)的工作原理是啥(已经有很多人科普过了),就让我们直接开始吧。 此次目标是一个非常便宜且容易获得的智能手表(手环?),我将简单地分析它,并与其交互。 市面上不少智能手表的外表都极其相似,而我最常见到的是M4手表,只需5美元,来自中国。 得到通讯数据 第一步,尝试获得移动应用和设备之间的通信。 即使你没有任何专业、昂贵的嗅探器,也没关系,android可帮你嗅探蓝牙通信。 你可以在 开发者选项——>BT Snoop 中找到它。具体获得相关PCAP的方法可能取决于设备的不同。 一旦得到你的PCAP数据,在Wireshark中打开它,你会看到所有的蓝牙通信。我们只关注其中和BLE有关部分,即GATT或ATT协议。 通过 btatt 过滤器,就可以筛选出ATT协议,我们现在不需要任何其他种类的蓝牙通信。 现在寻找发送 写请求 的数据包,因为应用已发送一个 写请求 来设置时间和发送一些通知到设备。 从上图可以清晰看到“发送写请求”,现在选择 写请求 的操作码,将其作为过滤器,很快你就可以看到所有正在发送的数据。 这里请重点注意一下 Handle 和 Value ,我们将在下一节讨论它们的重要性。