[无线安全]玩转无线电——不安全的蓝牙锁

0x00 前言

随着物联网科技的飞速发展, 各类IOT设备都通过使用无线技术BTLE; ZigBee; WIFI; 6LoWPAN等来实现万物互联. 但随之而来的安全及个人用户隐私问题也越来越敏感.  汪汪将在这篇文章中分享一个低功耗蓝牙智能锁的分析案例. 希望能对IOT安全研究起到抛砖引玉作用.

BTLE 俗称低功耗蓝牙, 比传统的蓝牙更能控制功耗和成本. 因此成为当下 IOT 产品中使用非常频繁的技术. 比如小米智能手环; 飞利浦的HUE 智能灯,  甚至还有羞羞的蛋蛋系列都是通过BTLE 来完成联接的.  据说BTLE设备的年出货量在过去15年内增加了1000倍,已经达到了30亿的水平,在未来的4~5年内还将增加到50亿.

不过越是流行的东西, 黑客对其也越是有兴趣. 通过简单的搜索便可发现不少关于BTLE 设备安全隐患的文章. 其中编号为 CVE-2013-4866 的硬编码PIN漏洞堪称一绝. 因为它是第一个关于智能马桶的漏洞. 感兴趣的朋友可以自行了解相关信息.

0x01 BTLE 基础

有些朋友可能会觉得仅仅是家里的智能灯或者手环被黑了, 并不会造成什么特别的影响.  可是有一类蓝牙智能设备的安全问题可就没这么简单了. 不过在进入主题之前大家先来了解一下BTLE 吧.****

其实关于BTLE 的基础介绍网上已经有很多了. 这里只是简单介绍下想要进行测试的必备知识. BTLE 设备运行在2.4ghz. 分为40 个频道, 每个频道 2Mhz 带宽.  其中频道 37; 38; 39 为广播频道. 剩余的37个频道为数据频道.

BTLE 定义使用了3 种匹配模式. JustWorks; 6-digit PIN **和 **Out of band. 其中JustWorks 默认使用000000作为PIN来完成匹配. 这样的设计给本身不带输入方式的设备提供了便利. 但同时让所有人都可以轻易以其匹配. 我们的目标 DOG&BONE 智能锁使用的正是此方式.

在匹配成功后, 我们便可以通过一个独特的UUID对 Characteristics 进行读写操作. 从而实现不同的功能, 比如开灯/关灯等. 在格式上UUID 又分为Bluetooth Special Interest Group (SIG) 规范的 16bit 公有UUID (e.g. 0000180F-0000-1000-8000-00805F9B34FB) 和 厂商自定义的 128 bit 私有UUID (e.g. 00001524-1212-EFDE-1523-785FEABCD123)

在与BTLE 交互的硬件方面可以说非常简单. 仅仅一个便宜的BTLE 蓝牙Dongle 即可. 同时大部分的手机比如IPHONE 自带BTLE功能. 如果想增加收发信号范围的话还可以通过外接天线的方式达到目的.

软件方面的选择也非常之多. 如果是IPHONE 用户的话, 个人推荐 LightBlue. 当然想要深入的话, 则必须使用Linux下的开源软件, 比如hcitool or Gatttool. 尤其是gatttool 提供了一个非常好的交互界面.

0x02 BTLE 智能锁

市面上具有BTLE功能的安防产品种类繁多, 其中又以智能锁为主. 但是作为一款安全产品的自身的安全性能又如何呢. 在DEFCON24上有安全研究员爆出数款蓝牙智能锁的安全漏洞. 而漏洞的类型五花八门. 从明文密码到重放攻击, 甚至还有一款门锁在Fuzzing 攻击下完全失效, 导致门户大开.

其实智能锁的架构非常简单. 通过手机APP 作为中转跟云服务器交互, 用户甚至可以从地球任何一个角落打开锁. 这是普通门锁无法比的.

今天的主角DOG&BONE 蓝牙智能锁正式登场了. DOG&BONE 智能锁是由一家位于英国的公司生产. 目前在市面上售价为100 $. 但在逆向了他们的手机APP后, 发现真正的开发者应该是一名华人. 就如大多数厂商那样, 他们也号称自家的智能锁安全性能极高. 适当的宣传是可以理解的, 但这家公司似乎有点过了头. 简单来说就是号称此锁拥有银行级别的安全性能, 甚至需要设计出苹果电脑的传奇硬件黑客Steve Wozniak 亲自出马才行. 但真实情况是不是真有那么安全呢? 让我们来一起测试下吧.

0x03 攻击准备

在攻击起始阶段最重要的就是情报收集, 掌握目标尽可能多的信息对随后的深入研究至关重要. 就DOG&BONE 锁而言, 我们可以使用LightBLUE 与其交互, 得到一些基本信息开始.

如图所示: 我们可以知道DOG&BONE的蓝牙地址; 使用了Nordic的蓝牙芯片. 且提供了何种services, 这些services 的UUID 又是哪些.

善用GOOGLE 搜索可以发现除了官方文档之外的许多信息. 这里我们发现网上已经有其他研究人员对其进行解剖. 方便我们了解了其内部结构信息. 从而更加确认了DOG&BONE 使用的是Nordic NRF51822 芯片.

从官方发布的APP 我们可以了解到DOG&BONE都提供了哪些功能. DOG&BONE 的APP 同时有IOS 和Android 2种版本, 条件允许的话可以对2种版本分别测试分析. DOG&BONE APP 可以时时查看锁的电池容量等基本信息. 我们可以通过 tap to unlock 和设置passcodes 等方式来打开智能锁. 并且可以共享给其他用户, 并限制其使用的次数和时间. 当设备提供的功能越多, 潜在的攻击点也随之增长. 随后我们会针对这些功能进一步深入.

跟大多数Android app 一样, APP本身没有加固. 所以我们可以轻易通过JD-GUI 得到JAVA Byte codes. 从代码中我们可以窥探到DOG&BONE的工作机制和采用了何种认证方式. 一些至关重要的信息也同时暴露出来. 比如UUID 和其对应的功能.

不仅如此DOG&BONE APP虽然使用了SSL 来加密其与云服务器的交互数据, 但是并没用启用Certs-Pinning. 所以我们仍可以通过中间人的方式抓到所有的交互数据包. 并对其进一步分析. 常用的MitM工具包括 MitMProxy 和BurpSuit Pro 等.

另一方面DOG&BONE使用蓝牙来与智能锁交互. 详细的蓝牙交互数据包将大大缩短我们的分析的时间. 幸运的是自从Android 4.4 开始便提供了Bluetooth HCI Logs 的功能. 我们可以将得到的btsnoop_hci.log 导入Wireshark 中进行分析.

在分析后, 我们可以得知DOG&BONE 是通过对属性为lock_password的UUID 写入正确的解锁密码得以开锁. 而这个解锁密码则是从服务端产生的, 并发送到锁和APP里保存. 但是这个密码只有当用户将锁和自己的账号取消关联, 再重新绑定时才会更新. 那么问题来了会有用户每开一次锁就把锁和自己的账号取消关联吗?

通过MitM抓包可以得到当前的开锁密码. 这时可以用BTLE dongle 将密码写入lock_password 的UUID 来验证密码的正确. 但请注意目前我们仅是从自己的手机得到开锁密码. 如果想截取别人的开锁密码, 我们就需要知道如何从空中抓包..

Unlock DogBone Lock (视频地址)

http://v.qq.com/page/n/2/1/n0519c7d021.html

0x04 攻击 – RF无线层

如何从空中抓取蓝牙包?这里必须提及Michael Ossmann 设计的Ubertooth. 这可以说是蓝牙安全研究的瑞士军刀. 具体使用方法可以移步到其官网. 但必须提醒的是如果需要确保可以抓到蓝牙包, 我们需要使用3 个Ubertooth 来监控 37 38 39 这3 个广播频道.

在得到足够的数据包后, 我们可以通过 CrackLE 来破解出BTLE 配对的密码. 但是因为DOG&BONE 使用的是JustWorks 配对模式. 所以其实是完全可以省略这步的.

如果觉的Ubertooth 价格过高的话, 我们也可以用基于CC2540 芯片的TI-SmartRF Sniffer. 和其自带的SmartRF 软件. 而且测试发现抓包效果要比Ubertooth 好些.

 

0x05 攻击 – APP 运用层

大家还记得DOG&BONE还有一个共享锁的功能么. 在共享给其他用户的同时, 还可以限制其使用的次数和时间. 那么这期间到底发生了什么, 是否可以绕过限制呢. 这里我们通过BurpSuit Pro 来一探究竟.

其实共享过程很简单, 当锁的主人决定共享给某个用户. 服务端会发送邀请token 给此用户

当此用户接受了邀请. 服务器便会将锁的ID 和共享类型等信息返回到用户的账号. 这里的共享类型包含了次数以及时间限制信息.

而当此用户想开锁时, 客户端便会发送请求到服务端. 如果一切顺利服务端会将当前的解锁密码返回. 从而达到开锁的目的.

但如果用户的次数用完了, 此时再发送开锁请求. 服务端返回错误信息.

但是因为整个过程都在我们的掌握之中, 所以我们可以将服务端的返回信息换成任意我们想要的信息. 比如提高共享次数等. 以下是绕过共享次数限制的视频演示.

Bypass DogBone lock sharing limits (视频地址)

http://v.qq.com/page/y/3/v/y05190ihb3v.html

 

0X06 攻击 – 物理机械层

以上我们通过逆向应用程序, 蓝牙数据包嗅探等方式搞定了Dog&Bone 智能锁的安全防御. 但事实上还有一个非常简单但又非常致命的方式可以打开锁. 那就是使用SHIM (铁片) 攻击, 事实证明往往最简单的攻击方式却是最行之有效的. 以下是演示视频, 在看过之后你还愿意花100 美金去买这个所谓的智能锁吗?

Bypass DogBone by SHIM (视频地址:)

http://v.qq.com/page/j/8/q/j0519sav98q.html

0X07 总结

通过DOG&BONE 蓝牙锁这个案例, 相信大家对低功耗蓝牙设备的分析和攻击方式有了一定程度的了解. 但市面上的BTLE相关产品种类繁多, 每款产品的安全程度也各不相同. 大家可以自行尝试玩出新花样. 而从开发者的角度来说在设计阶段就要将安全防御考虑进去. 在产品上市前可以考虑找白帽黑客测试过后再发布.

 

0x08 参考文献

https://lacklustre.net/

https://github.com/securing/gattacker

http://greatscottgadgets.com/ubertoothone

https://github.com/pwnieexpress/blue_hydra

https://en.wikipedia.org/wiki/Bluetooth_Low_Energy

https://github.com/kevin2600/BTLE-SmartLock-Hacking

https://media.ccc.de/v/33c3-8019-lockpicking_in_the_iot

http://hackaday.com/2016/08/08/the-terrible-security-of-bluetooth-locks/

author,kevin2600  文章转载自先知社区,原文地址:https://xianzhi.aliyun.com/forum/read.php?tid=1799&displayMode=1&page=1&toread=1#tpc

更多安全类热点资讯及知识分享,请持续关注阿里聚安全博客

时间: 2024-08-16 01:26:36

[无线安全]玩转无线电——不安全的蓝牙锁的相关文章

玩转无线电 -- 温哥华天车 RFID 票务系统

0x00 前言 如今物联网 RFID系统已经完全融入了我们的生活当中. 从楼宇门禁到 Apple Pay. 可以说其身影是无处不在.很多网友也分享了自己对RFID系统的安全测试心得.不过大多还是基于门禁卡和 Mifare-Classic 而言. 实际上在 Mifare 系列的大家族中还有着许多其他类别. 比如 Mifare-DESFire 和本文的主角 Mifare-Ultralight. 温哥华交通公司Translink 在 2015年开始逐渐淘汰老旧的打印票务系统. 并全面推广RFID为基础

蜂窝移动网络是什么,它和 Wi-Fi 有什么区别? 蓝牙和无线有什么区别?

蜂窝移动网络是什么,它和 Wi-Fi 有什么区别? 转自知乎用户的一个回答: 原题问的是"数据流量是什么",不知道怎么又被改成"蜂窝移动网络是什么"了.说下个人的理解吧: 蜂窝式移动通信网络一般就是代指采用蜂窝组网结构的公众移动通信网络,从俗称的1G(第一代移动通信网络)到现在的4G都可以算作是蜂窝式移动通信网络.但现实中因为地形以及用户量分布不均.建网/建站的规划.现实站址的选择和各代技术的更新迭代(比如从GSM的异频组网到现在3G和LTE的同频组网)等等种种原因

军火库(第一期):无线电硬件安全大牛都用哪些利器?

本期「军火专家」:杨卿 杨卿,ID:Ir0nSmith,曾用名Anon(AnOnYMoUs)360独角兽安全团队(UnicornTeam).360企业安全集团天巡产品负责人.国内首本无线通信安全书籍<无线电安全攻防大揭密>作者: 芭莎男士(2015年9月刊 商业)-摄于拉斯维加斯 MGM [小编:Ir0nSmith童鞋这姿势让我莫名想起了某个表情包 ] 同时,他也是国内首个地铁无线网(Wireless)与公交卡(RFID)安全漏洞的发现及报告者.2015年315晚会WiFi安全环节的“网络安全

无线智能光伏监测系统

目录 一.概述... 3 二.智能光伏监控前景... 3 三.WCTU技术... 3 3.1什么是WCTU?. 3 3.2 WCTU工作过程描述... 4 3.3 WCTU采集的优势... 4 3.4 WCTU硬件/软件特性... 5 四.WBee技术... 6 4.1 什么是WBee. 6 4.2 WBee的工作原理... 6 4.3 WBee的优势... 7 4.3.1网状网优势... 7 4.3.2抗干扰性能强... 7 4.3.3数据安全性... 8 4.4 WBee的硬件/软件特性..

wpa_supplicant 和 802.11g WPA 认证的配置

# cd /etc/init.d# ln -s net.lo net.eth0 默认的接口名是 wlan0,让它开机时自动 up:cp /etc/init.d/net.lo /etc/init.d/net.wlan0 ifconfig wlan0 up 根据接入点设置编辑 /etc/wpa_supplicant/wpa_supplicant.conf: ctrl_interface=/var/run/wpa_supplicantctrl_interface_group=wheelupdate_c

马上搞定Android平台的Wi-Fi Direct开发

导语 移动互联网时代,很多用户趋向于将大量的资料保存在移动设备上.但在给用户带来便利的同时引发了一个新的问题——保存在移动设备上的资料该怎样共享出去?到了思考时间,普通青年这样想:折腾什么劲啊,直接用数据线不就行了:而文艺青年可能这样想:咱们建个群吧,大家有好的东西都可以共享:二逼青年不高兴了,都特么互联网时代了,来点新意,好么?直接上网盘啊,大家互相研究研究,你懂的,嘿嘿.然而我是这样想的:都特么别BB,技术要以时俱进,来个新潮点的不行么?直接上Wi-Fi Direct.好用简单不解释.那么我

数据通信系统

数据通信系统的基本模型:计算机终端---编码器---信号变换器------信道-----信号变换器---编码器---计算机终端数据通信系统的基本概念:1.数据:分为模拟数据和数字数据两种2.信息:以某种格式组织起来的数据3.信号:是数据的具体物理表现.分为模拟信号和数字信号两种.4.信道:传输信息时信号沿发端到接收端的通路5.通信和数据通信6.数据通信网7.码元和码字8.数据分组 数据通信的技术指标:延迟.抖动.吞吐量和丢包率. 传输介质:1.双绞线2.同轴电缆3.光钎 2.6.2无线传播1.无

有点想法系列:借助海尔平台打造智能家居的一点想法

前言:这只是本人做了一个无线通信项目,看了一篇文章,吃了一顿饭,饭桌上和同事讨论了手机行业(原谅京瓷和NEC都做过手机啊,原谅楼主村里人 没见识,感叹惊讶一下),之后加班,胡思乱想产生的个人想法,请不要嘲笑,照顾一下作者的弱小心灵,传播正能量. 物联网专业在我的母校西安理工大学已经开设,(分属计算机学院和自动化学院),最近畅想了一下智能家居,发现物联网这个很火爆的话题和概念,这么 多年了,却是依旧是现实中火不起来,比如海尔张瑞敏说的这么多年的要把海尔互联网化,其实现在海尔却仍是一个制造型企业,今

第12章 智能家居

12.1智能家居概述 12.1.1传统家居与智能家居 物联网智能家居.传统智能家居区别 传统智能家居发展了20多年,至今为止取得了一定的进步,但技术落后.观点陈旧.创新乏力一直是中国传统智能家居企业的整体特征. 今天,随着物联网技术的高速发展,无线物联网技术给传统智能家居带来了全新的产业机会,一些全球优秀企业纷纷涉足物联网智能家居行业.在我国,虽然部分企业在无线物联网核心技术上取得了很大突破,但我们也应该清醒地看到大量技术落后的产品充斥市场仍是当前我国智能家居行业的重要特征.很多传统企业甚至一些