IoT无线通信之BLE安全浅析

admin 2024年9月28日14:38:02评论13 views字数 4893阅读16分18秒阅读模式
前言
BLE发展历程
蓝牙技术最初于1994年由爱立信创建,至今衍生出了多个版本,但“低功耗蓝牙”(Bluetooth Low Energy,简称BLE)是演化过程当中的一次颠覆性改变。
蓝牙低能耗技术是一种低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz 射频频段。
BLE是蓝牙4.0规范(4.0规范于2010年发布,当前最新版本为5.2)的重要部分。相较于传统蓝牙,BLE旨在使用更低的功耗,并保持同等距离的通信范围。
IoT无线通信之BLE安全浅析
图1 蓝牙历史版本
由于BLE只在需要时传输少量数据,而除此之外则会保持关闭状态,这大大降低了其功耗(一节纽扣电池能够用一年),也使其成为了在低数据速率下需要长久连接使用的理想选择。
如今BLE蓝牙已内置于我们当下常使用的各种电器或IoT智能设备当中,如各类手机(安卓、iPhone)、智能家居设备、医疗设备、可穿戴设备、智能楼宇及汽车等各类产品。
IoT无线通信之BLE安全浅析
图2 使用ble技术的IoT产品
BLE目前也是移动和物联网设备最为广泛使用的低功耗通信协议。
根据市场咨询公司ABI的说法,预计到2023年,其中蓝牙设备中的BLE设备的销售额将会增加三倍,年发货量将达到16亿。
IoT无线通信之BLE安全浅析
图3 使用ble技术的IoT产品
BLE安全问题
当前低功耗蓝牙BLE的使用场景越来越多,看上去也很美,但它真的有那么好么,会比其他无线通信协议更安全么?
作为一种相对比较年轻的无线通信协议,BLE蓝牙自从它的诞生之日起,陆陆续续暴露出了很多安全问题。
我们主要从以下三个方向来讨论BLE蓝牙的安全风险。
BLE自身协议安全
BLE供应链安全
BLE产品设计实现安全
BLE自身协议漏洞
BLE发展历程
BLE蓝牙协议漏洞是指蓝牙SIG组织最初在蓝牙规范设计细节上存在的安全缺陷。
由于协议级漏洞几乎是从协议设计之初就引入的问题,所以其影响严重且范围甚广,并导致所有基于问题协议版本实现的蓝牙设备均受到影响,除非采取后续蓝牙官方的漏洞修补建议及缓解措施。
接下来我们就分析以下两个BLE协议级别的安全漏洞,分别是BLE4.0配对漏洞以及去年的BLESA漏洞。

BLE配对密钥破解漏洞

统蓝牙配对流程(蓝牙2.0及以下版本)以及BLE配对流程(蓝牙4.0)使用的自定义密钥交换协议容易受到密钥破解攻击。
如果窃听者收集到所有的配对报文,就可以利用其破解通信密钥,从而伪装成可信设备并进行主动通信或被动的通信数据解密。
通过使用BLE嗅探工具可以轻易地捕获设备间蓝牙配对交互报文,再使用Crackle工具(如下图4所示)来离线分析处理所有配对报文,可以让攻击者快速破解TK(临时密钥),最终获得STK(短期密钥)和LTK(长期密钥)。
蓝牙SIG组织在BLE4.2版本改进了整个配对流程协议,并使用ECDH来保证配对密钥协商的机密性。因此使用BLE的设备采用蓝牙链接层加密时应使用4.2及以上协议版本,以防止设备在绑定阶段泄露蓝牙连接层密钥(LTK),从而导致隐私泄露或设备伪造的风险。
IoT无线通信之BLE安全浅析
图4  Crackle破解蓝牙通信密钥

BLESA漏洞

BLESA (Bluetooth Low Energy Spoofing Attack)漏洞又被称为低功耗蓝牙欺骗漏洞,由普渡大学安全团队于2020年发现。该团队指出,BLE官方规范并未使用足够强的语言来描述BLE重连过程,从而导致在软件实现被引入了一个现实的安全隐患。
安全研究人员的分析主要揭露了BLE的两个严重设计缺陷:
  • 对于部分BLE设备,设备重连过程中的身份认证是可选的,而不是强制性的。

  • 对于其他BLE设备,如果用户的设备未能强制该物联网设备对通信数据进行身份认证,则身份认证可能被绕过。

若被附近攻击者绕过了重连验证,便为 BLESA 攻击敞开了大门。具体说来是,攻击者可将带有错误信息的欺骗数据发送到 BLE 设备,并诱使用户或自动化流程作出错误的决定。
在发现BLE规范中的设计漏洞后,研究人员分析了主流BLE栈实现,包括Linux,Android,iOS上的BLE协议栈,查看是否“真实世界的设备”受到这两个安全漏洞的影响。
受测的三类设备被判断存在安全隐患,因为它们未能确保连接的物联网设备对其数据进行身份认证,并且接受处理未经身份认证的数据。
BLE供应链漏洞
供应链攻击是一种面向软件开发人员和供应商的新兴威胁。上游环节的安全问题会传递到下游环节并被放大。
值得注意的是在供应链攻击中受到攻击的是上游厂商,受到更广的威胁范围则是下游厂商。
BLE常见供应链安全漏洞主要由几个方面引入:蓝牙SoC芯片硬件厂商、BLE协议栈、开源/三方蓝牙相关库等。
接下来我们主要介绍涉及大量上游蓝牙SoC硬件厂商的SweynTooth漏洞。

SweynTooth漏洞

IoT无线通信之BLE安全浅析
2019年新加坡科技设计大学研究人员在主流系统芯片(SoC)厂商的低功耗蓝牙(BLE)实现中发现多个漏洞,这些漏洞被统一命名为SweynTooth。
SweynTooth在多家主流SoC供应商的不同蓝牙低功耗软件开发套件 (SDK) 中捕获了超过20个漏洞系列。这些漏洞暴露了特定 BLE SoC 实施中的缺陷,允许蓝牙通信范围内的攻击者根据情况触发死锁、崩溃和缓冲区溢出或完全绕过等安全问题。
具体漏洞分类如下:  
  • 崩溃:漏洞远程触发硬故障,迫使设备崩溃。一般情况下,这些问题会触发内存损坏,例如BLE接收缓冲区的缓冲区溢出。

  • 死锁:漏洞影响BLE连接的可用性,但没有造成硬故障或内存损坏。这些问题的发生通常是由于用户代码和系统芯片厂商发行的SDK固件之间的同步不当。

  • 安全绕过:漏洞可被位于射频距离内的攻击者利用绕过BLE最新的安全配对模式。这些问题尤其危险,因为位于射频范围内的攻击者可以对设备函数进行读取或写入。

IoT无线通信之BLE安全浅析
图5 漏洞类型及相应Soc硬件厂商
因此攻击者其实可利用这些漏洞攻击2018至2020年间发布的许多物联网产品。通过查询蓝牙列表搜索(BluetoothListing Search)网站后,发现大概480个产品列表使用了受影响厂商的系统芯片,每一个列表都包含多个产品。
以下为部分影响产品:
IoT无线通信之BLE安全浅析
图6 受SweynTooth漏洞影响的IoT设备
BLE产品设计实现漏洞
BLE发展历程
BLE相关产品应用在研发设计过程中由于蓝牙开发技术水平限制或者功能设计未充分考虑各种安全风险,从而使产品实现引入了各种安全问题并让BLE成为了重要的攻击面。下面让我们看看相关蓝牙设计实现缺陷常导致的各类安全漏洞。

通信窃听

由于无线通信信号广播传输特性,如果BLE设备之间通信并被未采用安全SMP通信协议或者应用层加密等手段进行保护,攻击者可以通过专门的蓝牙空口嗅探软硬件(如nRF52832 Dongle)捕获并窃取BLE通信双方的明文交互数据。最终在用户完全无任何感知的情况下,导致敏感数据直接被窃取。
IoT无线通信之BLE安全浅析
图7 空口嗅探BLE通信报文
比如某智能音箱设备与手机配套APP之间绑定过程中,使用了BLE来传输WIFI配置信息。通过空口抓包设备发现BLE通信未加密,直接使用明文的方式传输绑定的WIFI SSID及密码。
IoT无线通信之BLE安全浅析
IoT无线通信之BLE安全浅析
图8 BLE传输泄露WIFI密码信息

伪造重放

通过BLE抓包工具嗅探手机与智能设备之间的通信报文(或者直接逆向通信应用程序)等手段,分析得出应用层协议具体格式。
如果目标设备未对BLE连接请求进行认证及鉴权,导致攻击者可以使用Gatttool 等工具直接重放通信协议指令或按协议格式伪造再发送,最终导致目标设备执行特定操作。比如以下针对某智能手表的来电伪造重放攻击。
IoT无线通信之BLE安全浅析
图9 恶意伪造来电请求
1. 使用gatttool连接目标手表,获取蓝牙服务属性。
IoT无线通信之BLE安全浅析
2. 向目标服务发送恶意伪造的来电指令,手表震动并显示来电信息。
IoT无线通信之BLE安全浅析

广播欺骗

部分设备BLE广播由于没有加密也没有校验,任何人都获取到蓝牙广播的内容数据。因此导致这类广播是可以被任意人伪造的。 
如下图智能设备联动场景下温度计与网关端的鉴权只是判断了蓝牙广播的MAC地址,这个地址也是可以被修改的。
攻击者分析温度计广播的协议后便可以伪造传感器广播数据内容。根据广播数据作为控制指令,从而影响其他联动设备。
此类设备的蓝牙广播应使用安全的通信协议,并使用绑定时产生的beaconkey 对广播数据内容进行加密。
IoT无线通信之BLE安全浅析
图10 恶意伪造BLE广播

拒绝服务

由于目前大多数无线设备都使用内置电池组,因此这些设备存在遭受拒绝服务攻击(DoS)的风险。DoS攻击会导致系统频繁崩溃,并耗尽其电池电量。Fuzzing攻击也会导致系统崩溃,因为攻击者可能会将格式错误或非标准数据,发送到设备的蓝牙无线电检查其响应,并最终击垮设备。

恶意绑定

设备绑定时宜在产品能力允许的情况下,要求用户在设备端进行绑定确认(OOB),交通工具和高安全级别设备( 如门铃、门锁、户外监控) 应强制要求OOB,以防止设备被恶意绑定。对于具备重置能力的设备,应被重置后才可再次接受绑定请求,以防止被其他用户重复绑定或恶意绑定控制。

有物理按键的蓝牙设备应通过物理按键进行绑定确认或开启绑定窗口,以避免设备重复绑定或在用户不知情的情况下被他人绑定的风险。

中间人攻击

当蓝牙配对使用Just Works的配对方式,这种方式并没有提供抵抗MITM攻击保护能力,此外固定的密钥也可以让攻击者轻易实施MITM攻击,中间人在中转数据的时候,可以任意修改其中的数据内容。
IoT无线通信之BLE安全浅析
图11 蓝牙中间人攻击

位置追踪

由于蓝牙设备MAC地址的唯一性,使其可以用于对设备进行定位跟踪,这可能导致用户的活动轨迹等信息泄露。因此移动类IoT产品(如智能穿戴设备)应推荐使用随机MAC 地址,并对蓝牙广播内容进行加密;如需通过beacon 信标广播可识别身份的信息,应定时变换设备蓝牙MAC 地址,以防止他人通过部署足够多的探测设备对广播内容进行分析,来跟踪目标设备的移动轨迹。
总结
蓝牙技术最初于1994年由爱立信创建,至今衍生出了多个版本,但“低功耗蓝牙”(Bluetooth Low Energy,简称BLE)是演化过程当中的一次颠覆性改变。蓝牙低能耗技术是一种低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz 射频频段。
BLE是蓝牙4.0规范(4.0规范于2010年发布,当前最新版本为5.2)的重要部分。相较于传统蓝牙,BLE旨在使用更低的功耗,并保持同等距离的通信范围。
当前世界上已有数十亿台BLE蓝牙设备,BLE技术在我们周围随时随地都能够看到,因此它的安全性也变得越来越重要。
本文主要从BLE自身协议安全、BLE供应链安全、BLE产品设计实现安全共三个方向来分析当前BLE设备面临的安全问题。
为了保证BLE相关IoT产品安全,我们也需要通过多种手段全面地消减BLE蓝牙技术引入的安全风险。
针对BLE协议安全风险:受影响产品应及时跟进蓝牙SIG组织的安全补丁或缓解建议,不使用有问题协议版本。
针对BLE供应链安全风险:研发维护过程中及时更新上游问题软件版本、采用上游SoC厂商提供的最新版本SDK及最新固件。
针对BLE产品设计实现安全风险:产品开发设计过程中时充分评估蓝牙功能引入的安全威胁风险,并建立蓝牙安全开发规范跟安全基线,以及保障充分的安全性测试。
参考资料
1.蓝牙市场调查 https://www.bluetooth.com/wp-content/uploads/2021/04/CN-2021-Bluetooth_Market_Update.pdf
2.BLESA https://www.usenix.org/conference/woot20/presentation/wu
3.SweynTooth https://asset-group.github.io/disclosures/sweyntooth/
4.Crackle  https://github.com/mikeryan/crackle
   往期推荐
Android App安全之Intent重定向详解
旧手机隐私保护处理指南
一封关于数据安全保护的告白
315隐私成关注重点,手机这样设置学起来

IoT无线通信之BLE安全浅析

扫描关注我们

微信:OPPO安珀实验室

IoT无线通信之BLE安全浅析

原文始发于微信公众号(OPPO安珀实验室):IoT无线通信之BLE安全浅析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月28日14:38:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IoT无线通信之BLE安全浅析http://cn-sec.com/archives/2495112.html

发表评论

匿名网友 填写信息