首页
社区
课程
招聘
[原创]BLE安全初探:流量分析和安全加固
发表于: 2025-5-20 04:17 788

[原创]BLE安全初探:流量分析和安全加固

2025-5-20 04:17
788

前段时间出于个人兴趣和需求,买了esp32开发板做了个蓝牙控制舵机,安装在宿舍灯旁,实现了手机远程关宿舍灯。


最近出于对ble安全的学习目的,买了款nrf52840-dongle,对开发板的ble服务做嗅探,可以由此初步学习对于ble的流量分析和安全加固。


蓝牙是一种短距的无线通讯技术,BLE(Bluetooh Low Energy)可视为蓝牙技术的一个新模块,并区别于传统模块,最大的特点就是成本和功耗降低,应用于实时性要求比较高的场景。


BLE协议栈如下

后续的流量分析中会涉及到的协议层如下


1、LL层(Link Layer链路层)


ble是面向连接的协议,类tcp。连接前需要进行广播,不断在广播通道发送广播报文。包括广播报文和建立连接后的报文都是以链路层为基础的。


2、L2CAP层(Logic link control and adaptation protocol)
L2CAP对LL进行了一次简单封装,LL只关心传输的数据本身,L2CAP就要区分是加密通道还是普通通道,同时还要对连接间隔进行管理。

3、SMP(Secure manager protocol)
SMP用来管理BLE配对过程的,保证连接的安全性,过程包括密钥生成与分发。配对分为传统配对(legacy pairing)和安全配对(LE Secure Connections)

4、ATT(Attribute protocol)

ATT层用来定义用户命令及命令操作的数据,比如读取某个数据或者写某个数据。BLE引入了attribute概念,用来描述一条一条的数据。Attribute除了定义数据,同时定义该数据可以使用的ATT命令,因此这一层被称为ATT层。

5、GATT(Generic attribute profile )

GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。GATT 中存在服务端和客户端的定义,在 GATT 定义了服务(service),每个服务可以包含零个或多个特征(characteristic),不同的特征之间用唯一的 UUID 区分,这些特征又可以包括零个或多个:

描述符(descriptor),顾名思义,可有可无。

值(value),就是操作行为的实际数据。

属性(properties),指定了读或写。


硬件的工作不做赘述。以下是刷入esp32的代码,是不进行安全加固的版本。

(ps:本人是嵌入式开发的小白,esp32开发的门槛不高,使用到了arduino ide,它提供了简化开发的库函数和框架)。


以上代码烧入esp32,它就作为一个gatt的服务端运行,开启了ble服务,不断广播等待连接,并创建了特征,定义了收到特定的特征值"OFF",即进行关灯操作。此时手机作为客户端,与服务器连接,通过nrfconnect这个app可以发送自己编辑的特征值。

除了服务端-客户端的叫法,也可以叫做从机-主机,外设( Peripheral )-中心设备( Central)。



nrf52840是一款支持ble工作的芯片,可以用作蓝牙扫描器或嗅探器,配合wireshark捕获和分析周围设备的BLE广播包和连接包。价格40左右。

配置过程参考Wireshark配合nRF Sniffer使用技巧 - unrulife - 博客园 (cnblogs.com)


开始捕获后,在连接前有大量的广播包,info显示为ADV_IND等信息。


手机向设备发起配对请求后,可以看到首先有个由手机发起的连接请求,info为CONNECT_IND。随后没有发现有效数据,同时关注到存在"Encrypted packet decrypted incorrectly (bad MIC)"这样的字眼,说明流量被加密了。


用btsmp过滤出SMP包,说明配对的过程是会通过SMP协议进行密钥的管理的。

客户端发送一个 Pairing Request,服务端返回一个 Pairing Response,还有一些随机数的交换和确认。最后产生一个Long Term Key(LTK),用于加密配对后的通信。


Pairing Response的关键字段如下:

1、IO Capability

是根据输入输出能力协商配对方式,No Input, No Output (0x03)
声明设备无输入输出界面,因此使用 "Just Works" 或 静态密码 的配对方式。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回