浅析基于物联网智能家电的通信安全评估方法与实践
2022-02-26李岳洪高英杰
胡 姣 李岳洪 高英杰
(1.威凯检测技术有限公司 广州 510663; 2.中国机械工业联合会 北京 100711)
引言
近年来,随着物联网技术的发展,具有无线通讯和信息管理功能的冰箱、空调、洗衣机、扫地机器人、电饭锅、电动牙刷等智能家用电器产品开始普及,用户可以借助移动终端(如手机)通过网络对智能家电进行远程控制和数据传输,给生活带来了极大的便利。
但各种智能家电设备的安全问题也随之暴露,不法分子利用计算机技术和各类安全漏洞窃取用户个人信息,并对智能家电设备进行跟踪和控制,严重侵犯了个人隐私和人身财产安全。据某新闻和相关文献报道,在2020年由新加坡国立大学(NUS)和美国马里兰大学学院市分校(UMD)共同合作,成功远程入侵一台家用扫地机器人,使其充当窃听器来“窃听”屋内居住者的私人信息,相关研究表明,即便是没有窃听器,不法分子仍然可以利用各类安全漏洞来操控家居设备窃取用户信息[1]。
可见,物联网带来便利的同时,也给人们的生活和工作带来了一定安全风险。例如,用户遭受网络攻击、个人身份被盗用以及个人隐私信息暴露,又如网络犯罪分子可利用社会工程学或系统漏洞等技术,冒充用户以远程入侵的方式访问设备并控制设备,以此对设备或用户造成严重破坏等等问题。为此,笔者以物联网智能家电的通信安全为研究对象,探讨以无线局域网WLAN网络接入方式的智能家电设备在以太网的通信安全性问题,并且通过抓包、重放等方式,分析数据在传输中可能存在的安全问题,最后针对物联网智能家电通信安全问题,提出了一些对策和建议。
1 物联网通信
1.1 物联网基本结构
据《图解物联网》文献描述,物联网整体结构可分为设备、网关、服务平台三部分,即设备端进行采集数据后,经过网关将设备连接到互联网,服务器接收设备和网关发送过来的数据,对数据进行相应的业务处理,并发送给设备端,在此过程中,设备与服务器进行数据的传输和数据的接收遵守对应的通信协议[2]。
1.2 物联网通信协议
在通信过程中,通信协议非常重要,它是发送方和接收方完成实体通信或服务所必须遵循的规则和约定。在物联网协议中分为两大类:一类是传输协议,另一类是通信协议。物联网传输协议一般是负责子网内设备间的组网及通信,包括有线、无线(Wi-Fi、Bluetooth、RFID、ZigBee等),其主要目的是解决智能家电设备接入网络问题。目前大部分智能家电设备的数据传输利用Wi-Fi、Bluetooth、RFID等短距离通信,通过无线连接方式接入网关设备。具体选用哪种传输协议,依据不同的业务需求和不同的技术特点,以及不同智能家电设备的应用场景。物联网通信协议则是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备以互联网方式进行数据交换和通信。几种常见的智能家电设备的通信协议,包括以下几种:
1)简单HTTP下“请求—响应”模式
基于Web的HTTP协议,设备与服务器之间通过“请求—响应”模式进行彼此通信。http请求由三部分组成,分别是请求行、消息报头和请求正文。设备通过HTTP请求的get、post获取数据和提交数据。HTTP请求必须由设备主动向服务器发送数据,服务器无法主动向设备端推送数据。
2)Web Socket“一次创建长久连接”模式
Web Socket是一种在单个TCP连接上进行全双工通信的协议,可以使客户端和服务器之间的数据交换变得更加简单,它允许服务器主动向客服端推送数据。Web socket是一个持久化的协议,它不同于http每次请求都要经过“三次握手”方式,只要通过第一个HTTP request建立了TCP连接,之后的交换数据都是不需要再发HTTP request了。换而言之,设备与服务器建立连接后,不用每次都重新建立。相比传统的HTTP请求可以较大程度地减少服务器的开销。
3)MQTT“轻量级”的协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,最早由IBM提出。该协议非常适合低功耗和网络带宽有限的物联网场景。MQTT由三部分组成,分别是中介发布者,服务器(中介)、订阅者,其工作原理如图1所示。
图1 MQTT模型
2 智能家电通信安全问题研究
通常智能家电设备都是通过移动应用软件(APP)来实现某些操作功能。而数据的泄漏往往是采用了HTTP或UDP(SIP)等明文协议与设备通信。敏感的数据在经过物理层、网络层、应用层进行传输时,不安全的传输会很容易遭受到“中间人”攻击和非法入侵。
本文从智能家电设备使用APP配网成功后,采用抓包工具作为“中间人”对数据传输过程中的数据包进行捕获,并对APP发送的所有HTTP请求与相应报文进行分析,获取信息并对信息进行分析、跟踪、破译、篡改并重放,通过分析,查看智能家电设备在数据传输过程中可能存在的安全问题。
2.1 通信端口是否存在开放的端口
物联网系统与设备进行数据通信,需要开放一些服务端口,因此需要查看通信端口中是否存在远程登录协议(Telnet)、安全外壳协议(SSH)等服务端口。NMAP是由Gordon Lyon设计的一款开源的网络扫描工具,可以扫描目标主机中存在哪些开放的端口。通过使用NMAP命令:“nmap-p端口IP”方式对设备网关进行扫描,查看主机是否存在开放的端口,扫描结果如图2所示。
通过图2的扫描结果,可以发现存在开放远程登录端口23,尝试使用telnet进行登录。在DOS界面里输入telnet命令前,需要在本机上搭建telnet服务器,并启动telnet服务。通过在telnet程序中输入命令:“telnet IP端口或者telnet域名端口”,就可以实现本地电脑访问远程服务器,telnet访问结果如图3所示。
图2 Nmap端口扫描
Telnet远程连接通常有两种结果,第一种情况如果端口关闭,则显示无法打开主机的连接,连接失败;第二种是端口打开的情况下,连接成功,则进入telnet远程登录页面,证明端口可用。从图3可以看出,23端口是可用的,显示需要用户输入用户名和密码,通过输入用户名和密码即可远程登录服务器。
图3 telnet远程登录界面
2.2 敏感信息是否明文传输
利用应用层抓包工具Fiddler和网络层抓包工具Wireshark来查看整个数据通信过程是否存在敏感信息明文传输等脆弱点。Fiddler是一款应用层抓包工具,通过代理方式进行抓包。在客户端和服务器建立一个代理服务器,从而监听本机发出所有的http请求以及服务器返回的响应结果。同时用户可以修改HTTP请求、设置断点和重定向请求等,Fiddler的工作原理如图4所示。
图4 Fiddler工作原理
使用Fiddler,开启proxy代理模式。操控APP远程控制智能家电,监控所有请求、响应的数据包,如图5所示。从图5的数据包解析中可以看出,用户名和密码明文显示,未进行加密处理,存在明文传输的问题。
图5 敏感信息明文传输
Wireshark是一款网络协议分析工具,可以对网络中流入到本机计算机的数据包进行捕获并分析。通过Wireshark可以很清楚的知道数据包交换的过程。开启Wireshark抓包,使用过滤器过滤需要的IP和协议,对智能家电设备发出的所有数据包进行捕获和分析,从而查看通信数据是否是明文传输。
从图6可以看出,该数据包的通信数据是明文传输,未进行加密处理,存在一定安全风险。
图6 通信数据明文传输
2.3 智能家电的控制指令是否防重放
对智能家电设备的控制指令尝试重放,查看通信数据是否进行有效性校验。重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已经接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性[6]。在智能家电中重放攻击,同样也是攻击者对用户发送设备的控制指令进行拦截后,重新发送给接收设备,查看接收设备是否做出响应,重放原理如图7所示。
图7 重放原理
尝试将HTTP请求报文发送给Fiddler的重放模块,进行重放,如图8所示。经测试后发现,服务均能接收成功,设备也做出响应,测试结果如图9所示。
图8 Fiddler请求重放
图9 服务器响应结果
通过以上测试可以发现,发送的数据包信息未做混淆处理和加密处理,可以通过抓包等工具明文显示出来,并且服务器端也并未对数据包进行身份校验等安全控制措施,存在攻击风险。
3 智能家电通信安全性改善建议
针对上述智能家电设备的通信安全问题,可以采用一些防护策略或改善建议。例如可以采用如下保护机制:
1)身份鉴别
智能家电设备与服务器端进行通信时,应在数据传输之前向服务端提供身份鉴别,服务端需要验证智能家电设备的真实身份是否合法,并检查控制权限是否与身份匹配,从而进行设备的控制。
2)传输加密
为了降低数据传输过程中存在数据泄露、篡改风险,智能家电设备应对关键安全参数采用非明文方式传输,保障通过远程接入网络访问时的关键安全参数的保密性;避免因使用MQTT、HTTP等明文传输协议而导致信息泄露或被篡改的风险。
3)通信端口安全
智能家电设备网关应能够对智能家电设备终端开放的端口进行识别,并对其中存在风险服务具备告警和屏蔽能力,如远程登录协议(Telnet)、安全外壳协议(SSH)等。
4)防重放
为了确保每次请求都是一次性的,可采用Timestamp和nonce的模式,以防止他人通过抓包重放控制请求来对设备进行非授权的控制。
5)法规和标准
此外,还可以通过网络信息安全国家法律法规和物联网智能家电标准化体系建设,规范市场活动,促进物联网智能家电行业健康发展。国内外越来越重视网络信息的安全问题。国内颁布了各项法律法规,例如《中华人民共和国网络安全法》《互联网个人信息安全保护指引》《网络安全等级保护基本要求》《中华人民共和国个人信息保护法》和《中华人名共和国数据安全法》等,同时也开展了一些列标准化工作,例如GB/T 36951-2018《信息安全技术物联网感知终端应用安全技术要求》、GB/T 37024-2018《信息安全技术物联网感知层网关安全技术要求》、GB/T 37025-2018《信息安全技术物联网数据传输安全技术要求》等一些列标准。国外出台了GDPR通用数据保护条例,此外针对消费级物联网网络安全,制定了ETSI EN 303 645《消费级物联网信息安全基线要求》,为连接互联网的消费产品建立安全基线。
4 结论
本文笔者研究了物联网框架下的智能家电设备通信安全评估问题,利用端口扫描和抓包等软件工具,对智能家电设备端与服务端的通信的数据包进行截获、分析、重放等,寻找智能家电设备在通信过程中可能存在的安全性问题,如通信端口是否存在开放端口、敏感信息是否明文传输、控制指令是否具有防重放等,针对物联网智能家电通信安全问题,提出了一些防护对策和建议。