蓝牙技术最初于1994年由爱立信创建,至今衍生出了多个版本,但“低功耗蓝牙”(Bluetooth Low Energy,简称BLE)是演化过程当中的一次颠覆性改变。
蓝牙低能耗技术是一种低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz 射频频段。
BLE是蓝牙4.0规范(4.0规范于2010年发布,当前最新版本为5.2)的重要部分。相较于传统蓝牙,BLE旨在使用更低的功耗,并保持同等距离的通信范围。
由于BLE只在需要时传输少量数据,而除此之外则会保持关闭状态,这大大降低了其功耗(一节纽扣电池能够用一年),也使其成为了在低数据速率下需要长久连接使用的理想选择。
如今BLE蓝牙已内置于我们当下常使用的各种电器或IoT智能设备当中,如各类手机(安卓、iPhone)、智能家居设备、医疗设备、可穿戴设备、智能楼宇及汽车等各类产品。
BLE目前也是移动和物联网设备最为广泛使用的低功耗通信协议。
根据市场咨询公司ABI的说法,预计到2023年,其中蓝牙设备中的BLE设备的销售额将会增加三倍,年发货量将达到16亿。
当前低功耗蓝牙BLE的使用场景越来越多,看上去也很美,但它真的有那么好么,会比其他无线通信协议更安全么?
作为一种相对比较年轻的无线通信协议,BLE蓝牙自从它的诞生之日起,陆陆续续暴露出了很多安全问题。
我们主要从以下三个方向来讨论BLE蓝牙的安全风险。
BLE蓝牙协议漏洞是指蓝牙SIG组织最初在蓝牙规范设计细节上存在的安全缺陷。
由于协议级漏洞几乎是从协议设计之初就引入的问题,所以其影响严重且范围甚广,并导致所有基于问题协议版本实现的蓝牙设备均受到影响,除非采取后续蓝牙官方的漏洞修补建议及缓解措施。
接下来我们就分析以下两个BLE协议级别的安全漏洞,分别是BLE4.0配对漏洞以及去年的BLESA漏洞。
传统蓝牙配对流程(蓝牙2.0及以下版本)以及BLE配对流程(蓝牙4.0)使用的自定义密钥交换协议容易受到密钥破解攻击。
如果窃听者收集到所有的配对报文,就可以利用其破解通信密钥,从而伪装成可信设备并进行主动通信或被动的通信数据解密。
通过使用BLE嗅探工具可以轻易地捕获设备间蓝牙配对交互报文,再使用Crackle工具(如下图4所示)来离线分析处理所有配对报文,可以让攻击者快速破解TK(临时密钥),最终获得STK(短期密钥)和LTK(长期密钥)。
蓝牙SIG组织在BLE4.2版本改进了整个配对流程协议,并使用ECDH来保证配对密钥协商的机密性。因此使用BLE的设备采用蓝牙链接层加密时应使用4.2及以上协议版本,以防止设备在绑定阶段泄露蓝牙连接层密钥(LTK),从而导致隐私泄露或设备伪造的风险。
BLESA (Bluetooth Low Energy Spoofing Attack)漏洞又被称为低功耗蓝牙欺骗漏洞,由普渡大学安全团队于2020年发现。该团队指出,BLE官方规范并未使用足够强的语言来描述BLE重连过程,从而导致在软件实现被引入了一个现实的安全隐患。
安全研究人员的分析主要揭露了BLE的两个严重设计缺陷:
若被附近攻击者绕过了重连验证,便为 BLESA 攻击敞开了大门。具体说来是,攻击者可将带有错误信息的欺骗数据发送到 BLE 设备,并诱使用户或自动化流程作出错误的决定。
在发现BLE规范中的设计漏洞后,研究人员分析了主流BLE栈实现,包括Linux,Android,iOS上的BLE协议栈,查看是否“真实世界的设备”受到这两个安全漏洞的影响。
受测的三类设备被判断存在安全隐患,因为它们未能确保连接的物联网设备对其数据进行身份认证,并且接受处理未经身份认证的数据。
供应链攻击是一种面向软件开发人员和供应商的新兴威胁。上游环节的安全问题会传递到下游环节并被放大。
值得注意的是在供应链攻击中受到攻击的是上游厂商,受到更广的威胁范围则是下游厂商。
BLE常见供应链安全漏洞主要由几个方面引入:蓝牙SoC芯片硬件厂商、BLE协议栈、开源/三方蓝牙相关库等。
接下来我们主要介绍涉及大量上游蓝牙SoC硬件厂商的SweynTooth漏洞。
2019年新加坡科技设计大学研究人员在主流系统芯片(SoC)厂商的低功耗蓝牙(BLE)实现中发现多个漏洞,这些漏洞被统一命名为SweynTooth。
SweynTooth在多家主流SoC供应商的不同蓝牙低功耗软件开发套件 (SDK) 中捕获了超过20个漏洞系列。这些漏洞暴露了特定 BLE SoC 实施中的缺陷,允许蓝牙通信范围内的攻击者根据情况触发死锁、崩溃和缓冲区溢出或完全绕过等安全问题。
因此攻击者其实可利用这些漏洞攻击2018至2020年间发布的许多物联网产品。通过查询蓝牙列表搜索(BluetoothListing Search)网站后,发现大概480个产品列表使用了受影响厂商的系统芯片,每一个列表都包含多个产品。
BLE相关产品应用在研发设计过程中由于蓝牙开发技术水平限制或者功能设计未充分考虑各种安全风险,从而使产品实现引入了各种安全问题并让BLE成为了重要的攻击面。下面让我们看看相关蓝牙设计实现缺陷常导致的各类安全漏洞。
由于无线通信信号广播传输特性,如果BLE设备之间通信并被未采用安全SMP通信协议或者应用层加密等手段进行保护,攻击者可以通过专门的蓝牙空口嗅探软硬件(如nRF52832 Dongle)捕获并窃取BLE通信双方的明文交互数据。最终在用户完全无任何感知的情况下,导致敏感数据直接被窃取。
比如某智能音箱设备与手机配套APP之间绑定过程中,使用了BLE来传输WIFI配置信息。通过空口抓包设备发现BLE通信未加密,直接使用明文的方式传输绑定的WIFI SSID及密码。
通过BLE抓包工具嗅探手机与智能设备之间的通信报文(或者直接逆向通信应用程序)等手段,分析得出应用层协议具体格式。
如果目标设备未对BLE连接请求进行认证及鉴权,导致攻击者可以使用Gatttool 等工具直接重放通信协议指令或按协议格式伪造再发送,最终导致目标设备执行特定操作。比如以下针对某智能手表的来电伪造重放攻击。
1. 使用gatttool连接目标手表,获取蓝牙服务属性。
2. 向目标服务发送恶意伪造的来电指令,手表震动并显示来电信息。
部分设备BLE广播由于没有加密也没有校验,任何人都获取到蓝牙广播的内容数据。因此导致这类广播是可以被任意人伪造的。
如下图智能设备联动场景下温度计与网关端的鉴权只是判断了蓝牙广播的MAC地址,这个地址也是可以被修改的。
攻击者分析温度计广播的协议后便可以伪造传感器广播数据内容。根据广播数据作为控制指令,从而影响其他联动设备。
此类设备的蓝牙广播应使用安全的通信协议,并使用绑定时产生的beaconkey 对广播数据内容进行加密。
由于目前大多数无线设备都使用内置电池组,因此这些设备存在遭受拒绝服务攻击(DoS)的风险。DoS攻击会导致系统频繁崩溃,并耗尽其电池电量。Fuzzing攻击也会导致系统崩溃,因为攻击者可能会将格式错误或非标准数据,发送到设备的蓝牙无线电检查其响应,并最终击垮设备。
设备绑定时宜在产品能力允许的情况下,要求用户在设备端进行绑定确认(OOB),交通工具和高安全级别设备( 如门铃、门锁、户外监控) 应强制要求OOB,以防止设备被恶意绑定。对于具备重置能力的设备,应被重置后才可再次接受绑定请求,以防止被其他用户重复绑定或恶意绑定控制。
有物理按键的蓝牙设备应通过物理按键进行绑定确认或开启绑定窗口,以避免设备重复绑定或在用户不知情的情况下被他人绑定的风险。
当蓝牙配对使用Just Works的配对方式,这种方式并没有提供抵抗MITM攻击保护能力,此外固定的密钥也可以让攻击者轻易实施MITM攻击,中间人在中转数据的时候,可以任意修改其中的数据内容。
由于蓝牙设备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
![IoT无线通信之BLE安全浅析 IoT无线通信之BLE安全浅析]()
扫描关注我们
原文始发于微信公众号(OPPO安珀实验室):IoT无线通信之BLE安全浅析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/2495112.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论