智能门锁安全分析

本文搜集所有和只能门锁相关的漏洞、设计、案例等。本文大部分内容来自CNCERT发布的《智能门锁网络安全分析报告》,结合其他资料作的搜集,作为日后智能门锁安全的wiki。

一、门锁设计相关

两种架构:门锁直接联网、门锁通过手机联网

四种角色:主人、长期居住、重复访客、临时访客

门锁的交互介质:蓝牙、NFC、RFID、WiFi、数据流量

二、几种开锁的方式以及攻击面

1.固定密码开锁
实现机制:

安装时先进行门锁初始化,并完成密码设置,该密码存储在智能门锁的固态存储空间,有时也可能会上传到云端进行存储。在用户开锁时,在门锁上输入密码,如果输入的密码与预先设置的密码一致,则可打开门锁。(该模式本质上相当于用密码去登录一个账户)

攻击面

暴力破解、密码重置漏洞、按键痕迹残留、默认密码、后门密码等

漏洞案例

暂无

2.临时密码开锁
实现机制

户主会通过手机APP从云端获取当前时段开锁的临时密码,并通过短信、微信或者手机APP等方式将临时密码发送给访客。访客在门锁上输入接收到的临时密码后,门锁会将该密码与云端自动生成的当前时段临时密码进行对比,如果成功,则开锁。

攻击面

临时密码有效期、临时密码泄露、

漏洞案例
3.生物信息开锁
实现机制

生物特征主要有指纹、掌纹、虹膜和人脸等。该类门锁在安装的过程中,会将指纹、掌纹、虹膜和人脸等生物特征初始化到智能门锁固态存储或者云端。用户开锁时,门锁需要采集用户的指纹、掌纹、虹膜和人脸特征,并传统到云端与初始化特征进行对比,如果对比成功,则开锁。

攻击面

指纹泄露、指纹残留、人脸(图片)、

漏洞案例
4.智能卡开锁
实现机制

用于智能门锁开锁的智能卡主要有RFID卡、NFC卡和CPU卡三类,该类门锁主要应用在酒店和公寓等场景。

  • 使用RFID卡的门锁,门禁管理系统会在RFID卡中写入代表该卡身份的字符串,在开锁时,门锁提取RFID卡中的字符串,并传输到云端进行对比,对比成功,则开锁。

  • 使用NFC卡和CPU卡的门锁,门禁管理系统会在NFC卡和CPU卡中写入代表该卡身份的私钥和公钥,在开锁时,该卡通过门锁与云端进行双向身份认证,如果认证成功,门锁接收到云端的开锁指令,打开门锁。

攻击面

卡片复制、未设置滚动码

漏洞案例
  1. 华马智能门锁存在硬件漏洞(无线重放) http://www.cnvd.org.cn/flaw/show/CNVD-2018-02695
  2. 微耕遥控智能锁系统存在设计漏洞(wifi重放) http://www.cnvd.org.cn/flaw/show/CNVD-2016-12586
5.手机APP或小程序开锁
实现机制

在初始化的过程中,云端会将门锁与指定手机上的APP进行绑定。在用户开锁时,用户在手机APP上完成身份认证,然后在手机上点击开锁按钮,智能门锁就会接收到云端下发的开锁指令,然后打开门锁。

攻击面

APP漏洞、重放攻击

漏洞案例
6.近场通信开锁
实现机制

WIFI、NB-IoT、ZigBee、蓝牙等通信方式的攻击

攻击面

信号重放、短距离内挟持、靠近时自动开锁

漏洞案例

三、通用性攻击面

1.无线馈电攻击

upload successful
一些智能门锁由于设计缺陷,在布线及电路设计时没有考虑电磁干扰问题。攻击者可以利用特斯拉线圈通过无线电波干扰,使得智能门锁的内部电路产生直流馈电,可能产生两种效果:

  • 利用智能门锁电路的馈电系统驱动电流打开门锁
  • 产生强电磁脉冲攻击智能门锁芯片,会造成芯片死机并重启,有的智能门锁默认重启后会自动开锁

漏洞案例:

  1. 参考一篇文章《那个女人毁了整个指纹锁行业》
2.APP或小程序逻辑漏洞

绝大多数只能门锁厂商都会开发对于的APP或小程序,由于这些厂商非软件产商,更多的会专注于功能实现,而忽略了安全性。可能存在的风险有:

  • APP代码中或者固件中使用固定的加解密密钥
  • 本地逻辑绕过开锁
  • 移动端APP和设备之间的认证漏洞
  • 明文传输

漏洞案例

  1. 松下智能锁安卓App存在任意密码重置漏洞 http://www.cnvd.org.cn/flaw/show/CNVD-2017-03908
  2. 某智能门锁二度分析感悟 https://paper.seebug.org/343/
3.云端漏洞
  • 用户身份鉴别漏洞

    • 未限制密码复杂度
    • 未限制非法登陆次数
    • 重置密码的短信验证码由本地产生或者存在于返回数据包中
  • 访问控制漏洞

    • 横向越权
    • 纵向越权
  • 云管理平台系统存在web漏洞

常见的web安全漏洞同样存在于智能门锁云管理平台,例如,SQL注入、任意文件上传、失效的身份验证和回话管理、跨站脚本攻击、不安全的直接对象引用、安全配置错误、敏感信息泄露、功能级访问控制缺失、跨站请求伪造、使用含有已经存在漏洞的组件和未验证的重定向和转发等漏洞。

4.固件漏洞
  • 固件提取、逆向分析
  • 固件未签名,中间人攻击更新

参考资料

  1. CNCERT:智能门锁网络安全分析报告 https://mp.weixin.qq.com/s?__biz=MzUzNDYxOTA1NA%3D%3D&mid=2247486313&idx=1&sn=adf4560cfceca1e996cbf173e5bb415f&scene=45#wechat_redirect
  2. Smart Locks: Lessons for Securing Commodity Internet of Things Devices https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-11.pdf
  3. 智能锁安全漏洞自查手册 http://www.pieeco.com/news/3023_1.html
  4. 如何通过手机搞定蓝牙门锁 https://www.anquanke.com/post/id/87128