随着科技发展,我们身边的智能设备越来越多,包括手机,智能音箱,智能手表,智能电视机等等。在这些智能设备中有一部分属于低功耗智能设备,而BLE是这些低功耗设备常用的通信方式。那我们了解过BLE是什么吗?BLE的安全现状又是怎么的呢?通过下面的介绍,你将会有所了解。
蓝牙低功耗(Bluetooth Low Energy或称BLE),使用于小数据率,离散传输的应用,是对经典蓝牙BR/EDR技术的补充。虽然BLE和经典蓝牙都是蓝牙标准,但是BLE并不兼容经典蓝牙BR/EDR。相比于经典蓝牙,它具有覆盖范围更广,安全性更高,功耗低等特点。BR/EDR Radio & LE Radio & AMP PHY
蓝牙RF层(物理层),包括BR/EDR、LE以及AMP三种,主要负责在物理channel上收发蓝牙packet。对BR/EDR和LE RF来说,还会接收来自Baseband的控制命令来控制RF频率的选择和timing。而AMP PHY,则是使用802.11(WIFI)的规范。
Link Controller & Baseband
Link Controller和Basebandresource management组成了蓝牙的基带(baseband)。Link Controller负责链路控制,主要是根据当前物理channel的参数、逻辑channel的参数、逻辑transport的参数将数据payload组装成bluetoothpacket。另外,通过LinkControl Protocol(对LE来说是LL LayerProtocol),可以实现流控、ack、重传等机制。Baseband resourcemanagement,主要用于管理RF资源。Link Manager主要负责创建、修改、释放蓝牙逻辑连接(Logical Link),同时也负责维护蓝牙设备之间物理连接(Physical Link)的参数。它的功能主要是通过Link Management Protocol(LMP,for BR/EDR)和Link Layer Protocol(LL,for LE)完成。Device Manager主要负责控制蓝牙设备的通用行为(蓝牙数据传输除外的行为),包括:搜索附近的蓝牙设备,连接到其他的蓝牙设备。
HCI(Host Controller Interface)蓝牙系统分为Bluetooth Controller和Bluetooth Host两个大的block,它们之间通过HCI接口以HCI协议进行通信。
L2CAP位于Bluetooth Host中,包括两个子模块:Channel Manager主要负责创建、管理、释放L2CAP channel。L2CAP Resource Manager负责统一管理、调度L2CAP channel上传递的PDU(Packet Data Unit),以确保那些高QoS的packet可以获得对物理信道的控制权。
SMP(Security Manager Protocol)SMP是一个点对点的协议,基于专用的L2CAP channel,用于生成加密(encryption)和识别(identity)用的密匙(keys)。SDP(Service Discover Protocol)
SDP也是一个点对点的协议,基于专用的L2CAP channel,用于发现其它蓝牙设备能提供哪些profile以及这些profile有何特性。在了解清楚了其他蓝牙设备的profile以及特性之后,本蓝牙设备可以发起对自己感兴趣的蓝牙profile的连接动作。基于L2CAP channel,和对端的AMP manager交互,用于发现对方是否具备AMP功能,以及收集用于建立AMP物理链路的信息。GAP(Generic Access Profile)GAP是一个基础的蓝牙profile,用于提供蓝牙设备的通用访问功能,包括设备发现、连接、鉴权、服务发现等等。GAP 是所有其它应用模型的基础,它定义了在 Bluetooth 设备间建立基带链路的通用方法。还定义了一些通用的操作,这些操作可供引用 GAP 的应用模型以及实施多个应用模型的设备使用。GAP 确保了两个 蓝牙设备(不管制造商和应用程序)可以通过 Bluetooth 技术交换信息,以发现彼此支持的应用程序。BLE 率先爆发市场是可穿戴设备,后续增长集中在智能家居、智慧城市、智慧楼宇和智能工业等物联网领域。在可穿戴设备市场中,根据IDC 数据, 预计 2019 年全年可穿戴设备出货量有望超过 2.23 亿台, 2023 年出货量将增加至 3.02 亿台,年复合增长率达到 7.9%。根据蓝牙技术联盟( SIG)数据,预计 2023 年蓝牙智能家居设备年出货量将达到 11.5 亿,年复合增长率达到59%;预计 2023 年蓝牙智能楼宇设备年出货量会达到 3.74 亿,年复合增长率达到 46%;预计 2023 年蓝牙智慧城市设备年出货量会达到 1.97亿,年复合增长率达到 40%;预计 2023 年蓝牙智能工业设备年出货量达到 2.78 亿,年复合增长率达到 40%。随着BLE在这些领域的快速发展,预计 2023 年 BLE 市场空间达到 67 亿美元,整个BLE市场空前巨大,产品种类各式各样,因此BLE也必定面临着众多的挑战和潜在的危险。我们在cve中搜索BLE相关的漏洞,可以看到搜到25条相关漏洞,下面就选取其中有代表性的漏洞来看看。BLEEDINGBIT是一个影响德州仪器制造的蓝牙低功耗 (BLE) 芯片的安全漏洞。它包含两个相关的远程控制漏洞利用问题。第一个是CVE-2018-16986漏洞,对于装载了Texas Instruments BLE-STACK v2.2.1的 SimpleLink CC2640和CC2650设备,身处于目标设备有效距离的攻击者可以通过发送格式错误的数据引发缓冲区溢出来执行任意代码。这个漏洞是一个内存损坏漏洞,它是BLE广播包解析中的一个bug造成的。仔细检查Bluetooth核心规范4.2版和5.0版之间的差异,可以发现广播信道PDU报头结构上的细微的差异:在4.2版本,广播包报头的最有效字节包含2个保留位和6位表示数据包的长度,广播包被限制在37bytes。而在5.0版本中,长度字段被扩展为一个8位的字段。这个变化是为了允许使用更大的广播包,广播包可以达到255bytes。在将BLE堆栈实现从v4.2升级到v5.0时,规范中的这个小更改引发了错误。第二个是CVE-2018-7080, 存在于CC2642R2、CC2640R2、CC2640、CC2650、CC2540及CC2541芯片中,漏洞来源于固件更新功能(OAD),攻击者可利用逆向工程或数据包拦截等取得更新信息并置入恶意数据覆写系统数据。但是只有在使用该芯片的设备开启了无线固件下载功能时,该安全漏洞才会被利用。TI的OAD特性的实现非常简单,用户与目标设备建立GATT连接,通过该连接可以发送两种类型的信息:一种是包含固件头的映像识别信息,另外一种是包含各个固件块的映像块信息。运行OAD服务的BLE芯片,启动GATT连接后,通过GATT写请求将信息发送到指定的GATT特征中,当整个映像的上传完成后,目标设备将重新启动并从新固件中重新加载:最关键的问题是,在OAD服务的默认配置中,传输固件的真实性根本不需要通过加密签名进行验证。这意味着攻击者可以通过未经身份验证的GATT连接上传恶意固件,并在目标设备上运行自己的代码。类似的还有CVE-2019-19193,对于装载了Texas Instruments SIMPLELINK-CC2640R2-SDK 3.30.00.20和BLE-STACK 1.5.0 的CC2640R2和CC2540/1设备由于没有正确限制广播连接请求接收数据包,攻击者可以通过精心设计的数据包在有效的距离范围内导致设备拒绝服务。伴随着人工智能时代的来临,万物互联是大趋势,BLE作为物联网的重要组成部分,使用场景越来越广泛,所涉及的安全问题也在扩展和延伸。因此,各大厂商和安全研究人员也加强了交流合作与研究投入,为了构建万物互联的世界,我们任重而道远。
参考:
https://www.aqniu.com/hack-geek/40321.htmlhttps://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=BLEhttp://www.wowotech.net/bluetooth/bt_protocol_arch.html《Bluetooth Core Specification V5.0》《BLEEDINGBIT:THE HIDDEN ATTACK SURFACEWITHIN BLE CHIPS》《IC设计系列报告:物联网无线连接加快布局,低功耗蓝牙蓄势待发》