Are smart locks secure? -Hacking smart locks
Smart locks are no exception to this IoT trend and have become popular with homeowners. The following blog post talks about how we hacked a Kwikset Kevo Smart Lock. It describes how Kwikset Kevo Smart Lock works; vulnerabilities and attack vectors of the Kevo Smart Lock.
See the English version of this article: Case Study: Hacking Smart Lock Security
楔子:智能技术和Bluetooth Smart呈指数级增长 随着物联网的繁荣发展,Bluetooth Smart技术或是蓝牙4.0版本 (aka低能耗或蓝牙低能耗)为这项技术的应用发挥了日益重要的作用。根据蓝牙技术联盟预估,到2020年全球蓝牙智能设备数量将达到 12 亿部,蓝牙智能Ready的设备将达到27 亿部。BLE(蓝牙低能耗)技术为物联网设备提供了极佳的电源性能。Bluetooth.com描绘了如此美妙的场景:”当醒来出去跑步的时候,带上一个能和智能手表通讯的心率监视器。通过智能手机或平板电脑,还能打开家门,开灯,设定温度,通过淋浴头来听音乐,以及操控您的电视。“
蓝牙智能门锁: 另一个10亿的物联网市场以及我们对其脆弱性的研究
在物联网的浪潮席卷下,智能门锁也不例外,受到了广大业主的欢迎。消费类电子产品预测2014 年6亿美金的全球智能门锁市场到2019年将增长到37亿。智能门锁可以通过和您的智能手机或者蓝牙门钥匙建立蓝牙连接来自动检测您出现的位置。
那么,市面上的智能门锁的安全性怎么样呢?我们对几种智能门锁来进行了研究,挖掘潜在的入侵脆弱性。这其中有一些排名前5的智能门锁品牌。在这篇博客中,我们将以凯特安Kevo智能锁为例来阐述。
0X01 凯特安kevo智能门锁的工作原理
作为市场领导品牌,凯特安的kevo智能门锁具备先进的设计理念和用户体验,下面列举了一些炫酷的功能:
没有智能手机?这都不是事。智能手机并不是必须滴,因为Kevo智能钥匙的蓝牙LE传感器不断的进行广播,智能门锁检测到钥匙的存在,当智能钥匙在一定的短距离范围内,门锁开启了“触碰开锁”功能。您可以把Kevo智能钥匙挂钥匙链上,简单方便。
方向或位置传感的安全性设计:显然在安保方面,Kevo已经做了很多努力:Kevo采用了正在申请专利的定位技术,能够在授权进门以前,检测一个被授权的用户是在屋内还是屋外,这有助于阻止未授权的进入
低能耗:低能耗是BLE设备受赞誉的亮点所在。研发Beacon软件的 Aislelabs公司 一项研究报告显示:使用1,000 mAh 纽扣电池的外围设备,如接近信标,通常可持续使用1-2年 、凯特安Kevo的 网站上说明,”Kevo 门锁需要 4 节 AA 电池,钥匙需要一个 CR2025 电池。根据不同的用途,电池应能够持续一年直到需要更换。良好的能耗性能,Kevo 智能门锁被业内人士所期待。
0X02 Kevo智能门锁:攻击途径
下面的视频展示了凯特安Kevo智能门锁的脆弱性和攻击途径
我们把脆弱性和攻击途径划分了以下三种类型
1、 通过抢占通信实现拒绝服务 (DoS) 。在这种情况下,攻击者/黑客可以劫持并阻止 Kevo 钥匙和门 锁的通信,从而阻止业主开锁。我们漏洞验证程序能够验证,通过使用手机app来实现一个攻击场景。在智能钥匙连接到门锁控制单元以前,执行攻击的app应用有目的地连接到BLE智能钥匙。这样,门锁停止响应锁栓的触碰开锁请求。当攻击验证程序断开连接,并释放钥匙,门锁功能恢复如常。您看,在您家附近完成一个攻击,so easy而又成本低廉。
凯特安在安全方面已经投入了相当多的考量。如果抢占通信DoS只是针对智能门锁本身,它也就能在几秒钟内暂时阻止开门,几秒钟后,门锁将攻击设备列入黑名单,并通过BLE断开连接。
然而,我们的漏洞验证程序采取不同的方式,攻击是通过钥匙来执行,并不是和智能门锁直接通讯。
2、 通过耗尽钥匙电量来执行拒绝服务 (DoS)。虽然 BLE 标准和通常承诺一年的电池寿命,漏洞验证程序表明我们可以将钥匙的电池寿命缩短到两个星期,甚至更短,从而导致拒绝服务。我们在测试期间,Kevo 钥匙以令人吃惊的速度在消耗电量。我们对一个新电池进行了约 2 个星期的测试,其间只持续了两天的加压测试,电池电量就耗光了。
如果黑客运用这种技术,他应该不断的和钥匙扣连接以达到耗电的目的,这只需几天。我们觉得这种方式算是拒绝服务攻击的一种延伸,因为主人很有可能发现钥匙扣没电了,然后去便利店换一个新的。
3、 劫持和控制。通过劫持进一步控制智能钥匙。以下几种场景黑客都能够攻破并进入受害者的房子:
a. 任何受害者携带智能钥匙在屋里的时间里
b. 当你在回家路上距离家很近的这一段短时间窗
c. 或者任何主人不在而钥匙放在家的时间里
在以上这些场景中,一个黑客劫持了Kevo钥匙并强制它处于虚假安全模式,或者伪睡眠模式。主人测试钥匙扣以确认它没有被打开(目的是入侵者不能打开门锁进来)。然而,黑客能够在任何时候唤醒钥匙去打开Kevo门锁。
同时,我们看到在安全性方面Kevo也进行了加强,如果激活后30秒没有任何动作的话,门锁停止向钥匙发送BLE信号。我们确信超时以后,智能钥匙使用陀螺仪传感器去检测开启睡眠模式的动作。这不仅帮助保持电池寿命,也确保当主人睡觉的时候智能门锁没有被触碰开锁。
尽管这个安全性的设计,我们还是能够创建漏洞验证程序来攻击处于激活状态的钥匙,并且诱骗它进入一种我们称作“伪睡眠模式”。在这种模式下,钥匙和门锁表现为好像钥匙在正常睡眠模式。然而,我们能够在任何时间使用手机上的漏洞验证app,举个例子,凌晨2点,钥匙放在房子里,黑客就能够使钥匙处于激活状态或者唤醒模式来触碰打开Kevo智能门锁。
理想情况下,基于 Kevo 的内部/外部检测传感设计,绝大多数劫持和控制攻击场景应该能够被阻止。甚至当门锁被黑客控制,只要传感器检测到智能钥匙是在房子里面,门锁就应拒绝入侵者在房子外面尝试触摸开锁。
我们发现黑客还可以利用上述的安全设计。为了对此进行测试,我们安装和校准了门锁,在正常的运作模式,我们发现内外检测主要基于以下的检测逻辑。
a.主人 (钥匙) 在门外来校准门锁。智能门锁计算钥匙的 BLE 信号作为基准信号强度。
b.当主人打开锁,进入房子,她将钥匙放在一个比开门的位置还远的地方
c.如果入侵者试图触摸开锁,它将会失败,因为智能锁检测到的钥匙信号强度比基线弱,并且钥匙在 30 秒内将安全地进入睡眠模式。
我们测试的方式是,在一个30秒的时间窗内,将钥匙放在2到10英尺的距离范围内,就能够解锁智能门锁!在短距离测试中这种情况是都存在,如2,3英尺,延伸到九或十英尺攻击的效果就差一些了。
在这个测试点,我们实施了劫持和控制验证程序,只要想的话,就能够扩展破解的时间窗。结论就是,如果钥匙被放的与门足够近的范围内,比如放在串在钥匙串或挂在门口附近的衣挂上,入侵者就能劫持钥匙,并且在任何时间唤醒钥匙去开锁。
概括和后续跟踪
NewSky的安全研究人员正积极地与厂商一起解决上述问题。在厂商解决了这些漏洞后,我们会在安全会议上发布更多有关研究结果的详细信息。如果其它相关厂商阅读了我们的报告,我们也将继续研究其他智能锁的漏洞。
NewSky Security LLC.
- General