随着物联网科技的飞速发展,各类 IOT 设备都通过使用无线技术 BTLE; ZigBee;WIFI; 6LoWPAN 等来实现万物互联。但随之而来的安全及个人用户隐私问题也越来越敏感。所以,在这篇文章中分享一个低功耗蓝牙。智能锁的分析案例, 希望能对 IOT 安全研究起到抛砖引玉作用。
BTLE 俗称低功耗蓝牙,比传统的蓝牙更能控制功耗和成本。因此成为当下 IOT 产品中使用非常频繁的技术。比如小米智能手环; 飞利浦的 HUE 智能灯,甚至还有羞羞的蛋蛋系列都是通过 BTLE 来完成联接的。据说 BTLE 设备的年出货量在过去15 年内增加了 1000 倍,已经达到了 30 亿的水平,在未来的 4—5 年内还将增加到 50 亿。
不过越是流行的东西。黑客对其也越是有兴趣,通过简单的搜索便可发现不少关于 BTLE 设备安全隐患的文章,其中编号为 CVE-2013-4866 的硬编码 PIN 漏洞堪称一绝,因为它是第一个关于智能马桶的漏洞。 感兴趣的朋友可以自行了解相关信息。
有些朋友可能会觉得仅仅是家里的智能灯或者手环被黑了,并不会造成什么特别的影响。可是有一类蓝牙智能设备的安全问题可就没这么简单了,不过在进入主题之前大家先来了解一下 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 提供了一个非常好的交互界面。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !