小谈智能硬件安全

一、前言

随着智能硬件产品慢慢的进入人们的生活,给人们生活带来便利的同时,智能硬件产品的安全问题,也慢慢的引起了人们和厂商的重视。怎样的做好智能硬件的安全,现在各家有各家的说话,还未形成统一的标准和流程。本文仅是我个人对智能硬件的一些安全认知和见解,不对的地方望指正。

智能硬件是通过软硬结合的方式,使传统的硬件设备拥有一些智能化的功能,其中的网络连接功能,使得智能设备能够接入互联网,因此“云端+终端+手机app”的典型构架,基本是现有智能设备的基本构架。

本文将从云端、手机app、终端三个大方面和一些真实案例探讨一下智能硬件的安全。

二、云端

在整个基础构架中,云端处在数据收集和处理以及命令传输与转发的节点上,它连接并控制着所有智能设备。如果云端被攻击者控制,危害将不可估量。

在目前物联网还没有大规模的进入人们生活的时代,通讯协议是多种多样,各大厂商根据自身业务需求,或是自己研发,或是修改现有协议,亦或是直接沿用现有协议。由于协议开发的初期对安全的忽视或是对协议生硬的移植,使得通信安全变得非常脆弱。常见的连接云端的通讯协议有http、websocket、xmpp、mqtt等。

在http方面,目前很多厂商云端建设仅仅使用简单的web程序接口的形式使设备联网。但又由于必须由设备主动向服务器发送数据,难以主动向设备推送数据,因此加入websocket来解决这一问题。这样云端的安全将变的非常的脆弱,熟悉web安全的人很容易就能熟练的挖掘云端漏洞。

目前最常见的云端漏洞还是鉴权设计问题造成的越权漏洞。当然web程序的弱口令、登陆接口爆破、sql注入、XSS等等漏洞也是有出现的。例如:

分类 名称 简诉
云端接口漏洞 DIGICARE智能手环APP控制不严格可获取其他用户敏感信息 在用户app,个人信息更新中存在修改userid水平越权漏洞
数据泄漏 哇喔科技(WAAWO)某处漏洞泄露所有用户数据+客户订单(可远程操控上千设备) 网站存在sql注入漏洞,泄漏用户账号密码,使用账号密码登陆云端,控制手表
控制指令接口漏洞 智能家居安全之海尔某核心站点控制wsdl谁动了我的家电+其他漏洞 弱口令登陆云端后台,操控后台控制指令接口
云端接口无权限控制 海克智动家庭空气指数APP越权漏洞可导致大量空气设备面非法控制 抓apk包,发现接口无权限控制,枚举sn设备码,发送控制指令

在xmpp方面,作为即时聊天协议,和现有物联网设备通信的模式非常相似。由于xmpp的开放性和易用性,使得开发者能够很快的应用与现有物联网环境,成本低、开放快。但因开发者的水平参差不齐,对xmpp协议传输数据的加密处理、云端用户鉴权隔离和用户认证信息的存储不当造成验证的安全隐患。

目前在我们的研究中使用了xmpp协议的设备有TCL智能洗衣机和小K智能插座2代。

分类 名称 简诉
鉴权不严 《TCL智能洗衣机破解》 云端对洗衣机终端的鉴权不严,以及数据明文传输
鉴权不严 《小K智能插座2代》 用户密码可以预测(mac地址)

三、手机APP

手机APP在整个基础构架中处在控制端。移动互联网的出现,使得手机app作为控制端是非常好的选择。通过云端的转发以及数据分析,我们很好的实现对智能设备的远程控制和实时监控。如果手机app出现了漏洞,将直接威胁到智能设备以及隐私数据,比如:智能设备被攻击者劫持、个人隐私数据被曝光(身高、体重、三围、血压等等)。

目前常见的出现在APP端的安全风险有:APP重打包、传输加密算法破解、数据重放、身份伪造等等。

四、终端

在终端这块儿,智能设备之所以能叫智能设备,就是因为加入了联网模块,有云端的数据分析和指令下放。终端我们可以把它抽象成我们熟知的PC,这样终端必然也有自己的系统、服务。目前比较常见的基本都是使用类linux的系统,也有自己研发的物联网系统,如:MICO、Brillo、LITOS等等。

因此常见的终端漏洞有:ftp、telnet等服务弱身份验证;固件升级接口代码执行;敏感数据固化于固件中;固件中的溢出、命令执行,加密方式泄漏等等。

在固件溢出和命令执行方面,由于flash的大小限制亦或是固件代码多种做样,所以开发忽视安全也特别明显,如D-LinkDSP-W215的溢出漏洞,很简单的没有检测字符长度造成溢出。

在服务权限验证方面,很多嵌入式系统开放调试接口,在开发者移植现有物联网系统并进行二次开发的时候,由于对物联网系统的不了解,未关闭物联网系统自带的很多默认功能,导致安全隐患。如开启telnet、tftp等服务的默认开发和默认口令。

在敏感数据方面,在安全中有一项原则:“代码数据分离原则”。很多厂商把很多敏感数据固化在固件之中,一旦固件被逆向分析,敏感数据全部暴力。如:用户密码被写入固件,加密key被固化等等。

分类 名称 简诉
溢出漏洞 《D-LinkDSP-W215智能插座远程命令执行》 数据参数没有长度检测,直接压入堆栈
数据固化 《施耐德PLC以太网模块固件后门》 用户名密码固化在代码中

五、案例简诉

1.  智能手环

小米手环未授权访问漏洞,小米手环因调试模式未关闭调用请求,造成在蓝牙的有效范围内,攻击者可以读取小米手机中用户的运动、身体等数据,还原用户的运动轨迹,还可以恶作剧的控制手环不停的震动。

2.  智能家居

萤石A1互联网报警盒子套装劫持漏洞,萤石A1是新一代的智能安防设备,通过在门窗上装的传感器与报警主机相连,报警主机再与云端相连的方式,实时监控房屋安全情况。因为传感器和报警主机相连的方式射频信号并且使用433MHz频段,攻击者通过重放攻击(虽然设备有防重放攻击安全措施,但因防护不够严谨被绕过)使报警主机错误报警。攻击者还可以无线电干扰技术使得报警主机不能准确的接收报警数据,使报警功能失效。

3.  智能生活

TCL智能洗衣机劫持漏洞,TCL智能洗衣机使用xmpp协议作为互联网通讯协议,但因为鉴权不严、数据固化、明文传输等安全缺陷,造成攻击者可以劫持控制所有TCL智能洗衣机。
转载自:http://bobao.360.cn/learning/detail/2228.html  原文作者:L.N.