物联网设备安全2.3 低能耗蓝牙和通过移动应用程序开锁

简介:

2.3 低能耗蓝牙和通过移动应用程序开锁


到目前为止,我们已经对磁卡门锁的攻击情况进行了研究,为了解针对常见门锁的基本攻击手段奠定了坚实的基础。我们也研究了Z-Wave门锁,并发现一个在实现协议时犯的简单错误是如何导致门锁不再安全的。

这一节,我们将看一下使用低功耗蓝牙(BLE)的Kwikset Kevo门锁,如图2-3所示。从物联网的角度来看,使用iPhone应用程序控制这种门锁看起来非常有趣。

 

图2-3:Kwikset Kevo门锁

这里,我们将讨论已知的BLE的弱点以及如何捕获无线流量,但我们会特别关注iOS应用程序,这把它从我们目前已经讨论的门锁中区分出来。

2.3.1 使用抓包工具了解BLE的弱点

作为建立于2010年的蓝牙4.0标准的一部分,BLE在业界受到了惊人的支持,因为它功耗很低,这对智能手机、平板电脑和物联网设备来说都非常重要。蓝牙硬件芯片仅需2美元,与ZigBee和Z-Wave协议相比有着明显的竞争优势。

蓝牙技术联盟负责维护现有的蓝牙规范。需要注意的是,该规范涵盖了经典的蓝牙和BLE,但两者并不相互兼容(采用4.0以前规范的蓝牙设备不能与BLE设备相互通信)。

BLE工作在2.4GHz频段,被分成40个信道,其中37个用来传输数据,其余3个用于未连接的设备来广播设备信息并建立连接。设备可以在监听范围内向任何扫描设备或接收器广播数据。这允许设备发送单向数据到其他设备。

广播设备发送一个广告数据包,其中包含31字节的有效载荷,包括关于广播设备以及任何其他自定义的信息。当31个字节不够传递必要的信息时,BLE支持一种称为扫描响应的机制,其中侦听设备可以用它来请求第二条广告帧,长度也是31字节,总数达到了62个字节。

广告包不包含任何安全机制,因此敏感信息一定不能在广播包中发送。

为了在两个方向上都能传输数据,设备需要在主设备和从设备之间建立连接。主设备接收到由从设备发送的广告数据包,并要求该从设备建立一个永久连接。一个设备可以同时为主设备和从设备。一个从设备可以连接到多个主设备,一个主设备也可以连接到多个从设备。

BLE包可以通过使用基于USB的Ubertooth One设备以及Ubertooth软件工具套装捕获,Ubertooth软件工具套装可以通过构建向导生成。这些工具中包含一个频谱分析仪(如图2-4所示),在购买Ubertooth One后,你应该立即运行它,以确保一切工作正常。

 

图2-4:Ubertooth 频谱分析

Ubertooth项目还包括一个叫作ubertooth-btle的工具,能够通过以下命令捕获BLE数据流:

[bash]$ ubertooth-btle -f -c capture.cap

-f标志表示新建立的BLE连接,-c标志指定捕获的数据所写入的文件名。这个文件可以使用Wireshark网络嗅探器打开,如图2-5所示。

每个BLE数据包包含一个存取地址(access address,AA),这是一个具体连接的唯一标识符。当设备发送广告数据包时,使用固定的存取地址0x8e89bed6(如图2-5所示)。

 

图2-5:用Wireshark分析BLE广告包

通过iPhone上一个叫作LightBlue的iOS应用可以模拟BLE设备,如图2-6所示。这对测试Ubertooth One的功能非常有用,并确保抓包工具正在工作。注意,图2-5中的Wireshark正在对图2-6中名为血压计的广告虚拟设备的数据包进行抓包分析。

研究人员Mike Ryan在他的白皮书“蓝牙:低能耗带来的低安全性”中介绍了如何捕获BLE连接。从本质上讲,使用hopIncrement值连接跨越37个预留用于传输的信道。nextChannel值的计算方法如下:

nextChannel ≡ channel + hopIncrement (mod 37)

主设备和从设备用这个公式计算出并跳到下一信道。主、从设备相继跳频传输一个数据包。如果没有数据需要传输,那他们发出一个无数据网络包。因此,为了嗅探BLE连接,当使用-f 参数抓包时,ubertooth-btle工具按照同样的顺序跳频。

 

图2-6:用LightBlue iOS 应用程序模拟BLE设备

在Ryan的文章中,他公开了一个BLE的关键安全问题,重要的是要理解BLE采用的密钥交换协议容易受到暴力破解的攻击。

主、从设备在传输数据时可以使用数据加密来保护数据安全。为了做到这一点,就必须建立被称为长期密钥(long-term key,LTK)的共享秘密。在大多数情况下,主设备和从设备在后续的连接中会重复使用LTK。通过选择一个临时密钥(temporary key,TK)开始密钥交换协议,这个临时密钥是基于备受推崇的高级加密标准(AES)协议生成的。

根据BLE的规约,如果选择了仅工作模式,那么TK的值是0。这种模式用于设备很少或是没有显示或输入机制的时候,因此配对是自动的。除此以外,TK使用介于0到999 999之间的一个值。更常见的是在主设备和从设备上显示出生成的数字要求用户来确认。一旦计算出TK,主、从设备用TK生成一个短期密钥(short-term key,STK)。由STK最终生成LTK。

Ryan发布了一款名为crackle的工具,使用抓到的BLE数据包,并尝试用0到999 999之间的值作为TK去暴力破解数据包。一旦找到TK,便可以很容易地通过TK解密验证STK。最后,可以通过使用STK解密获得LTK。假设捕获的数据包存储在一个名为capture.pcap文件中,下面是运行crackle工具的命令:

[bash]$ crackle -i capture.pcap -o decrypted.pcap

TK found: 249592

LTK found: 26db138d0aa63a12dd596228577c4731

Done, processed 106 total packets, decrypted 19

像Wireshark这样的工具能打开decrypted.pcap这种包含明文的数据文件。需要注意的是,Ryan的暴力破解方法不能有效破解带外数据(Out-of-Band,OOB)模式,这种模式通过协议交换一个128位密钥,不同于BLE协议。但大多数设备使用仅工作模式或6位数字模式,因此大部分的BLE设备是易受攻击的。

任何研究BLE物联网设备的人都应熟悉Ryan的研究和Ubertooth系列工具,因为这些是进行网络流量分析和对问题产品的安全设计测试中不可缺少的部分。此外,截止到写作本书时,目前的蓝牙规范(4.1)仍没有解决暴力攻击问题,所以依靠BLE加密的设备依旧脆弱。

2.3.2 Kevo移动应用程序不安全

图2-3中的Kwikset Kevo锁可通过iPhone上配套的Kevo iOS应用程序操作。

在第一次启动时,用户被要求指定一个电子邮件地址和密码。如图2-7所示,密码必须为8个字符及以上,至少包含1个数字。

如图2-8所示,Kevo应用程序采用了一个策略,如果密码输入错误6次则锁定账户。锁定有效期为24小时。

 

图2-7:Kevo iPhone应用程序最低密码要求

忘记密码的用户必须正确回答账户相关的安全问题(如图2-9所示)。由Kevo应用程序选出的这些问题是在用户创建账户时提示用户回答的。

 

图2-8:Kevo账户输入错误6次后被锁定

如果一名恶意攻击者已经暂时获得了用户的电子邮件账户,便可尝试猜测答案或通过网络钓鱼攻击用社会工程学方法获得密码。与此同时,Kevo应用程序就密码的复杂性做了出色的工作,采用锁定策略并要求回答安全问题,但用户应该认识到,这些信息可经常通过钓鱼攻击和恶意软件的方法窃取到。

该锁还实现了一种机制,允许用户向其他人发送电子密钥。你只要提供个人的电子邮件地址,对方就会收到一封来自Kevo的电子邮件,如图2-10所示。要打开锁,对方必须先用Kevo iPhone应用程序建立一个账户,并验证自己的电子邮件地址。

 

图2-9:Kevo重置密码的安全问题

这里的安全风险是犯罪分子可能临时获得攻击目标的电子邮件账户。由于被攻击目标必须建立一个新账户,并回答有关注册的安全问题,犯罪分子可以输入任意的安全问题答案,这将反过来锁定正在重置密码的合法用户。

从房门里面抬起门锁上面的盖子很容易发现一个编程按钮。如图2-11所示,用户按下这个按钮并在锁旁边拿着电话用它打开门锁。一旦设置好,用户需要触摸门锁外面的面板唤醒门锁。这时,当门锁在附近发现一个预编程授权的iPhone,门锁和iPhone就可以通过BLE通信实现打开(或锁上)。

 

图2-10:向外部发送电子钥匙

然而,有人用一部从未授权的新iPhone,只需下载Kevo应用程序并猜到或获取到密码,登录到应用程序后就能开锁。虽然应用程序实现了控制密码的安全机制,但要做到让门锁更安全,可以在即使知道密码的情况下仍需要新设备使用编程按钮来配对。

这给我们带来对锁本身的物理接触的问题。我们知道使用各种方法撞锁开门是一项技艺,有些人非常擅长。事实上,对Kevo锁进行撞锁开门测试,人们可以绕开物理钥匙的机制。

物理撞锁是一个人们熟知的影响很多锁的问题,除此之外,移动应用程序功能应用在Kevo锁上,人们可以用iPhone和临时物理接触门锁,在几秒钟之内重新给锁编程,使其关联上一个新设备——实际上,这是一种虚拟撞锁。通过按住重置按钮几秒钟,如图2-12所示,然后一步步按照图2-11中那样就可以关联新的设备了。临时物理接触门锁的人不需要有物理撞锁的技能,也不需要额外的训练和工具,就可以很容易地做到这些。

 

图2-11:用锁上的编程按钮关联iPhone

注意,这个人必须进到被保护的场所内才可以,因为重置和编程按钮是朝向里面的。然而,仍有一种风险,临时工或拜访者可以滥用这个功能下次不请自入。或更有甚者,他们把电子钥匙发给其他人。

本节提供了一个很好的例子,我们应当仔细考虑这个问题,我们越来越依赖移动应用程序来保障我们的人身安全。密码猜测和钓鱼攻击常被用来攻击我们的数字信息,但如同Kevo iPhone应用程序一样,平台上相同的攻击可能会破坏家庭和办公室的物理安全。

 

图2-12:门锁上的重置按钮

锁制造商需要有更强的意识认识到这些威胁,并实施更严格的控制。由于物联网设备固件的物理性质,事实上情况很复杂,即便使用应用程序界面提供升级,许多用户为了节约时间,都会延迟升级。他们不想在离开家或回家的时候还等待门锁处理安全补丁安装。

这意味着:基于物联网的设备制造商如Kevo,必须力争在其产品的初始版本实现正确的安全功能。这很不容易,因为安全是很难完美的,所以使用这些设备的用户应该意识到潜在的风险,正如本节所描述的。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
3天前
|
物联网 5G 智能硬件
物联网卡:物联网卡不支持语音通话,是如何实现设备间的数据传输和通信的?
物联网卡(IoT SIM卡)通常被设计用于支持物联网(IoT)设备之间的数据传输,而不直接支持语音通话功能。这是因为物联网设备主要关注的是数据的收集、传输和处理,而不是语音通信。为了实现设备间的数据传输和通信,物联网卡及其背后的技术采用了多种方法,主要包括但不限于以下几种方式:
物联网卡:物联网卡不支持语音通话,是如何实现设备间的数据传输和通信的?
|
5天前
|
传感器 机器学习/深度学习 存储
物联网设备精细化管理系统解决方案
随着科技的进步,物联网技术作为新一代信息技术的核心部分,正在深刻改变各行业的生产和管理方式。其在资产管理、智慧城市、能源管理和智慧医疗等多个领域的广泛应用,不仅提高了运营效率,还促进了资源优化配置和精细化管理。本文详细介绍了物联网的基础概念及其在设备精细化管理系统中的具体应用方案,展示了如何通过智能感知层建设、数据处理分析平台以及精细化管理应用,实现设备的实时监控、预测性维护和能耗管理等功能,从而帮助企业提升竞争力,降低成本,并推动社会向更智能化、绿色化的方向发展。
31 2
物联网设备精细化管理系统解决方案
|
5天前
|
安全 物联网 物联网安全
探索未来网络:物联网安全的最佳实践
随着物联网设备的普及,我们的世界变得越来越互联。然而,这也带来了新的安全挑战。本文将探讨在设计、实施和维护物联网系统时,如何遵循一些最佳实践来确保其安全性。通过深入分析各种案例和策略,我们将揭示如何保护物联网设备免受潜在威胁,同时保持其高效运行。
22 5
|
4天前
|
物联网 数据安全/隐私保护
物联网:物联网卡不能使用在什么设备上
物联网卡是专为物联网设备设计的SIM卡,旨在连接非传统的、嵌入式或远程的设备到互联网。由于其特定的用途和设计,物联网卡并不适用于所有类型的设备,尤其是在以下几个方面,物联网卡通常不能或不建议使用在以下设备上:
|
4天前
|
物联网 智能硬件
物联网卡:当物联网设备用卡使用在非物联网设备上会被管控吗
当设备物联网卡被检测到在非物联网设备上使用时,可能会遇到一系列的反应或后果,这主要取决于运营商的政策和物联网卡的设计目的。物联网卡通常是为非物联网设备(如智能家居设备、智能城市基础设施、车联网设备等)设计的,其流量套餐、网络连接速度、服务协议以及费用结构都与普通SIM卡有所不同。以下是一些可能发生的情况:
|
6天前
|
消息中间件 存储 NoSQL
物联网设备频繁断网,如何打赢智慧社区的流量洪峰之战?
本文详细介绍了智慧社区中物联网(IOT)技术的应用,重点讨论了物联网流量洪峰的处理方法。文章分析了上行和下行消息的特点,并提出了上下行拆分、多泳道消息队列、实时消息优先处理、连接计算存储分离及推拉结合的消息策略,以优化消息队列,确保系统稳定运行。通过这些技术手段,智慧社区的物联网设备能在各种场景中保持高效运作。
20 2
|
16天前
|
机器学习/深度学习 安全 物联网安全
探索未来网络:物联网安全的最佳实践与创新策略
本文旨在深入探讨物联网(IoT)的安全性问题,分析其面临的主要威胁与挑战,并提出一系列创新性的解决策略。通过技术解析、案例研究与前瞻展望,本文不仅揭示了物联网安全的复杂性,还展示了如何通过综合手段提升设备、数据及网络的安全性。我们强调了跨学科合作的重要性,以及在快速发展的技术环境中保持敏捷与适应性的必要性,为业界和研究者提供了宝贵的参考与启示。
|
17天前
|
传感器 物联网 人机交互
物联网:物联网,作为新一代信息技术的重要组成部分,通过智能感知、识别技术与普适计算等通信感知技术,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现了物物相连、人物相连,开启了万物互联的新时代。
在21世纪,物联网(IoT)作为新一代信息技术的核心,正以前所未有的速度重塑生活、工作和社会结构。本文首先介绍了物联网的概念及其在各领域的广泛应用,强调其技术融合性、广泛的应用范围以及数据驱动的特点。接着,详细阐述了物联网行业的现状和发展趋势,包括政策支持、关键技术突破和应用场景深化。此外,还探讨了物联网面临的挑战与机遇,并展望了其未来在技术创新和模式创新方面的潜力。物联网行业正以其独特魅力引领科技发展潮流,有望成为推动全球经济发展的新引擎。
|
2天前
|
存储 安全 物联网
|
9天前
|
存储 安全 物联网
未来触手可及:区块链技术、物联网与虚拟现实的融合趋势
【9月更文挑战第34天】本文将探讨当前最具变革性的三大技术——区块链、物联网(IoT)和虚拟现实(VR)——如何独立及联合塑造我们的未来。我们将深入分析每种技术的内在工作机制、发展趋势,以及它们如何相互交织创造出新的应用场景,进而推动社会进步和经济发展。

相关产品

  • 物联网平台