物联网时代,智能门锁安全吗?

网安前哨
高峰 陈硌琼
智能门锁是物联网时代的产物,由于它的便捷性,受到越来越多的家庭认可,是守护人身安全和财产安全的重要防线。介于此,我们对常见品牌的智能门锁展开了调研和研究,并尝试对选定的一款智能门锁进行攻击测试,以下是我们对该款智能门锁的攻击过程和结果。

高峰,信息安全工程师,多年POS开发和移动应用相关经验,目前专注于物联网安全相关领域。

陈硌琼,信息安全工程师,多年移动应用开发经验,目前专注于移动应用及物联网安全相关领域。

一、 国家对互联网软件安全管理

目前国家对互联网客户端软件安全管理已越来越规范和严格,近几年,国家有关部门陆续出台相关管理要求:2016年11月7日,国家发布《中华人民共和国网络安全法》;2019年3月13日,市场监管总局、中央网信办发布《移动互联网应用程序(App)安全认证实施规则》;2019年10月18日,中国人民银行发布《加强移动金融客户端应用软件安全管理的通知》的237号文;2019年11月28日四部委(工信部、网信办、公安部、市场总局)发布《App违法违规收集使用个人信息行为认定方法》。以上文件都说明国家对网络安全的重视程度,今天我们一起研究下现阶段物联网智能门锁的安全情况。

二、 智能门锁攻击

智能门锁是物联网时代的产物,由于它的便捷性,受到越来越多的家庭认可,是守护人身安全和财产安全的重要防线。介于此,我们对常见品牌的智能门锁展开了调研和研究,并尝试对选定的一款智能门锁进行攻击测试,以下是我们对该款智能门锁的攻击过程和结果。此次攻击的物联网门锁客户端软件是在root的手机环境下进行的,这是一种常见的安全测评分析手段。

1.攻击对象(智能门锁)选型

首先搜集了市面上常见品牌的智能门锁,并下载对应客户端软件,并对该客户端软件进行初步分析(反编译、抓包、重发等),筛选出安全性相对不高的产品作为候选攻击对象。

2. 攻击方案概述

经过对多款智能门锁开门方式分析,大部分都有生成临时密码开锁功能,并且生成的临时密码一般会在一定时间内失效,此次我们的主要目的就是通过截取临时密码来正常开锁。此外,我们也成功的截取到了用户的用户名和密码,这也就意味着成功完成一次攻击后,我们可以在任意手机下载的官方智能门锁客户端软件上使用用户名和密码成功登录,并随时生成临时密码进行正常开门。

智能门锁攻击平台由三部分组成:门锁劫持客户端软件、云平台服务器、简易短信发送硬件设备。大概的流程是:首先,有一台root环境手机并能正常访问网络,在手机上去应用商店下载安装官方的智能门锁客户端软件;其次,用户在我们的root环境手机上正常登录,并获取开锁临时密码操作,此时门锁劫持客户端软件会把劫持到的用户名、密码、临时密码等操作人重要信息数据发送给云平台服务器;第三,云平台服务器发送开锁临时密码数据通过网络发给短信发送硬件设备;最后,短信发送硬件设备把临时开锁密码以短信形式发送给指定手机,整体流程见图1。

图1

3.门锁劫持客户端软件

第一步,需要对官方下载的智能门锁客户端软件进行技术分析,观察客户端软件程序代码中生成临时密码时的操作流程,通过分析和多次的尝试找到源码中生成临时密码的函数模块,见图2。

图2

第二步,根据找到临时密码的函数模块位置和参数,使用Android Studio开发门锁劫持客户端软件代码,见图3。

图3

第三步,在Xposed框架的环境下,运行官方的智能门锁客户端软件,正常登录操作,获得开锁临时密码,此时可以通过开发的门锁劫持客户端软件截获登录账号、登录密码和临时密码等重要信息,见图4。

图4

最后,门锁劫持客户端软件把截取到的开锁临时密码通过网络上传至云平台服务器,代码见图5。

图5

4.云平台搭建

基于Linux服务器进行云平台搭建,主要实现服务接口与数据库存储服务的搭建,打通门锁劫持客户端软件与短信发送硬件设备之间的数据链路,实现数据收集、数据管理和数据监控功能,成为智能门锁攻击的纽带与中枢。

服务接口基于RESTful API接口规范开发:

一类是云平台服务器与手机门锁劫持客户端软件的数据交互功能接口,手机客户端通过Http协议调用云平台服务器API接口实现与其数据交互,见图6。

图6

另一类接口是云平台服务器与短信发送硬件设备的数据交互功能接口,使用Netty框架建立基于TCP协议的Socket server服务,与短信发送硬件设备进行数据交互,见图7。

图7

一个数据库存储,基于Hibernate框架把账号、密码和日志等重要资源数据写入MySql数据库,见图8。

图8

5.简易短信发送硬件设备

此硬件设备是由STM32单片机作为主MCU,外围扩展添加WIFI模块和4G模块,WIFI模块用于连接路由与外网云平台服务器连接进行数据交互,4G模块用于与指定手机发送带开锁临时密码的短信,硬件原理图参见图9。

图9

根据以上原理图搭建硬件设备,某宝购买MCU最小系统、WIFI模块和4G模块,4G模块的手机卡使用正常三大运营商手机卡,完成搭建后的硬件实物见图10。

图10

使用keil开发工具编写MCU单片机代码,主要包括两部分:一是控制WIFI模块连接路由与外网云平台服务器建立长连接并进行数据交互;二是单片机得到云平台服务器发送来的开锁临时密码后,通过4G模块把劫持的开锁临时密码发送给指定手机号。以上代码片段见图11。

图11

三、 总结

目前,安全问题已经成为了阻碍物联网进一步发展的重要因素,如果其安全性不能得到充分保证,那么物联网系统中的个人信息、敏感数据等,都可能被盗窃或被不法分子利用,这必将严重影响个人隐私和财产安全。针对物联网安全的管理,各监管机构也结合行业特点和技术发展情况,陆续制定相关监管要求,建立检测认证体系,保证和促进物联网行业的健康发展。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论