智能机器人漏洞验证

使用智能机器人的时候,需要对机器人进行Wi-Fi配置,使机器人接入网络,从而使手机对设备进行控制。
可以通过配置将智能机器人通过Wi-Fi接入互联网,配置成功后就可以使用手机APP反向控制我们的智能机器人,达到无论用户身在何地都可以对我们的智能机器人进行远程控制的目的。
在对机器人上线配置及使用的过程中,可以对机器人的控制流程有一个大致了解。
(1)注册一个用户(通常为手机号)。
(2)登录,验证方式为XMPP登录验证。
(3)绑定设备,且设备和注册账号是唯一绑定关系,即手机号一但绑定成功,该设备将不能被其他手机号绑定。
(4)手机APP下发控制指令到云端。
(5)云端接受手机APP的控制指令,并转发给智能机器人。
(6)智能机器人接受控制指令,并检测指令合法性,执行该控制指令。执行成功后将结果返回给云端。
(7)云端将智能机器人返回的结果发送给手机APP,反馈给用户。
(8)控制指令执行成功。
在分析的过程中发现,该智能机器人在和云端通信的时候用了HTTP和XMPP两种协议。通信方式如图,此次将攻防重点放在手机APP和云端通信的过程中。

首先,将智能机器人进行网络配置,将其接入互联网,并使用手机APP对其下发控制指令,同时对手机APP和云端的通信进行抓包监听分析。在分析过程中发现,无论是XMPP协议还是HTTP协议,都没有进行通信加密,都是以明文的方式传输。

智能机器人登录及部分操作是通过XMPP协议实现会话的控制和长连接保持在线的,XMPP一般用来实现聊天工具的一个框架协议。因为智能硬件需要保持长时间会话在线并且要接收消息,所以部分会话控制是通过HTTP协议实现的。在分析过程中发现通过HTTP协议实现的会话控制,只有控制指令,并没有进行身份认证,攻击者可获取任意用户的一些信息如MAC地址、设备SN号,并可对任意机器人下发部分控制指令,如解除绑定指令。

控制请求内容

越权控制请求

解除绑定请求
可更改用户问答,修改机器人回答语音。
案例
用户:你好。
机器人:我被黑客入侵了。

发送这样的请求包之后,当用户跟机器人对话说你好时,机器人会回答我被黑客入侵了。
在对APP程序进行逆向分析时发现,该智能机器人摄像功能用的是第三方视频平台,利用第三方软件虽然可以降低代码成本,但是在某种意义上也增加了安全风险。
结合XMPP的流量分析,发现有两种登录第三方云平台的账号和密码登录的方式。
(1)CID号,固定账号admin,固定密码123456。
(2)CID号,固定账号和固定密码(账号为base64编码MAC地址,密码为base64编码MAC地址+时间戳)。

在APP中硬编码了第三方视频平台的企业ID、企业Key和App ID。

结合所发现的问题,可以写出一个利用程序作为验证。由于智能机器人和视频连接平台建立连接的标识是使用MAC地址来验证的,并且登录ID和密码都有一定规律可循,所以可以结合发现的问题批量登录查看任意一台设备的视频内容。
对智能机器人的XMPP通信安全分析
我们已经提到手机APP到云端的通信完全明文没有进行加密处理。此外,在对流量进行分析的过程中发现,该智能机器人登录XMPP服务器的账号和密码都是固定的。
知道这些可以写一个很简单的脚本进行验证。

由于平台XMPP协议只允许一部设备在线,所以当我们在别处登录设备时,XMPP账号就会强制令机器人掉线失去控制。
智能机器人安全建议
(1)设备之间通信一定要加密传输,如利用HTTPS协议,对XMPP进行TLS加密。
(2)用户一定要有固定的用户标示,用户间的数据互相不能访问,避免造成越权控制问题。
(3)敏感数据严禁硬编码到APP中。
(4)如无必要,关闭设备调试接口。


本文选自《智能硬件安全》一书,想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。

时间: 2024-10-21 18:14:33

智能机器人漏洞验证的相关文章

ShellShock漏洞原理分析

9月24日,广泛存在于Linux的bash漏洞曝光.因为此漏洞可以执行远程命令,所以极为危.危害程度可能超过前段时间的心脏流血漏洞. 漏洞编号CVE-2014-6271,以及打了补丁之后被绕过的CVE-2014-7169,又称ShellShock漏洞. 漏洞起因: 要是用一句话概括这个漏洞,就是代码和数据没有正确区分. 此次漏洞很像SQL注入,通过特别设计的参数使得解析器错误地执行了参数中的命令.这其实是所有解析性语言都可能存在的问题. 1 env x='() { :;}; echo vulne

CVE-2017-7494紧急预警:Samba蠕虫级提权漏洞,攻击代码已在网上扩散

本文讲的是CVE-2017-7494紧急预警:Samba蠕虫级提权漏洞,攻击代码已在网上扩散,昨天晚上,开源软件Samba官方发布安全公告,称刚刚修复了软件内一个已有七年之久的严重漏洞(CVE-2017-7494),可允许攻击者远程控制受影响的Linux和Unix机器. Samba是什么 Samba是计算设备的基石级协议SMB的开源实现,被广泛应用在Linux.Unix.IBM System 390.OpenVMS等各类操作系统中,提供文件共享和打印服务. 漏洞影响范围 自2010年3月1日后发

Struts2远程代码执行漏洞CVE-2017-9805 s2-052 绿盟科技发布分析和防护方案

5日晚, Struts2远程代码执行漏洞CVE-2017-9805(s2-052),绿盟科技发布扫描工具 ,今天绿盟科技发布了<Struts2 s2-052 REST插件远程代码执行技术分析与防护方案>,报告全文如下 Struts2 s2-052 REST插件远程代码执行技术分析与防护方案 2017年9月5日,Apache Struts发布最新的安全公告,Apache Struts 2.5.x以及之前的部分2.x版本的REST插件存在远程代码执行的高危漏洞,漏洞编号为CVE-2017-9805

MySQL 0Day漏洞出现 该漏洞可以拿到本地Root权限 绿盟科技发布防护方案

2016年9月12日, legalhackers.com网站发布了编号为CVE-2016-6662的0day漏洞公告 .由于该漏洞可以获得MySQL服务器的Root权限,且影响MySql5.5.5.6.5.7乃至最新版本,绿盟科技安全团队发布高级威胁预警通告,这意味着该漏洞影响范围比较广,危害严重,利用难度较低,绿盟科技将在7*24小时内部应急跟踪,24小时内完成技术分析.产品升级和防护方案. 该漏洞可以允许攻击者远程向MySQL配置文件(my.cnf)注入恶意的环境配置,从而导致严重后果.该漏

Windows SMBv3远程拒绝服务0day漏洞

前言 国外技术网站Github曝光了Windows SMBv3存在远程攻击0day漏洞.根据已公开的漏洞验证代码(POC),攻击者可以迫使受影响系统蓝屏崩溃.目前微软尚未对此漏洞发布公告,暂不明确何时将推出补丁. 经验证,此漏洞主要影响Windows Server 2012/2016.Win8/8.1以及Win10系统.攻击者可以模拟成一个SMB服务器,诱使客户端发起SMB请求来触发漏洞;攻击者也可以通过中间人方式"毒化"SMB回应,插入恶意的SMB回复实现拒绝服务. 研究人员在Win

Debian Ubuntu Root权限受到威胁 Tomcat本地提权漏洞CVE-2016-1240 请安全运维尽快升级

2016年9月30日,legalhackers.com网站发布了一个关于Tomcat漏洞的公告,所涉及漏洞的编号为CVE-2016-1240.Debian系统的Linux上管理员通常利用apt-get进行包管理,debian包的一个初始化脚本中存在漏洞,会让deb包安装程序自动执行启动脚本,脚本位置/etc/init.d/tomcatN 攻击者可以在拥有Tomcat低权限的情况下,利用该漏洞获得系统的root权限.受影响的系统包括Debian和ubuntu,其他使用debian包的系统也可能会受

绿盟科技发布Linux内核本地提权漏洞威胁预警通告 这个漏洞9年才被修复

Linux内核出现本地提权漏洞 CVE-2016-5195 事件引发业界关注.绿盟科技发布Linux内核本地提权漏洞威胁预警通告,通告将该漏洞定义为中级,这意味着该漏洞影响范围可控,危害程度可控,利用难度较高,绿盟科技将实施7*8小时内部应急跟踪,72小时内完成技术分析.产品升级和防护方案. 通告全文如下 Linux内核的内存子系统在处理写时拷贝(Copy-on-Write,缩写为COW)时存在条件竞争漏洞,导致可以破坏私有只读内存映射.一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写

知道创宇余弦——阳光下的“漏洞买卖”

       每个漏洞就像是一个孩子,我发现了它,打造了它,赋予了它生命.看着它出生,璀璨地爆发,然后又归于沉寂,就好像我的生命和它产生了联系.真正的黑客才能体会这样的情感. 余弦凝视远方,满含父爱地说出这番话.脸上闪烁着汉尼拔式的,温柔又魔性的微笑. 这位技术大牛最主要的身份,是网络安全公司"知道创宇"的技术VP.也许是为了和自己三角函数的名字相称,他的办公室居然都是任性的三角形.身处一个黑客味道很强的安全公司,余弦总在策划着一鸣惊人的"大计".这两天他思索的问题

struts2 漏洞分析与防护方案 CVE-2017-5638 S2-045 除了升级外还是有修复方案的

昨天安全加报道了 Struts 2再爆高危漏洞CVE-2017-5638 绿盟科技发布免费扫描工具及产品升级包 ,今天绿盟科技又发布了分析和防护方案 Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,漏洞编号为CNNVD-201703-152.攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码. 相关链接如下: https://cwiki.apache.org/confluence