智能机器人漏洞验证

简介: 智能机器人是目前功能集成度较高的智能硬件,由于高度功能集成化的设备,所以智能机器人的安全会涉及方方面面很多技术点,本文仅针对市面上某款智能机器人进行漏洞验证。

使用智能机器人的时候,需要对机器人进行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)如无必要,关闭设备调试接口。

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

相关文章
|
4月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
103 3
|
1月前
|
人工智能 算法 机器人
机器人版的斯坦福小镇来了,专为具身智能研究打造
【8月更文挑战第12天】《GRUtopia:城市级具身智能仿真平台》新论文发布,介绍了一款由上海AI实验室主导的大规模3D城市模拟环境——GRUtopia。此平台包含十万级互动场景与大型语言模型驱动的NPC系统,旨在解决具身智能研究中的数据稀缺问题并提供全面的评估工具,为机器人技术的进步搭建重要桥梁。https://arxiv.org/pdf/2407.10943
164 60
|
1月前
|
算法 Ubuntu 机器人
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
38 1
|
16天前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
32 0
|
4月前
|
自然语言处理 机器人 Go
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
271 0
|
1月前
|
机器人 TensorFlow 算法框架/工具
智能聊天机器人
【8月更文挑战第1天】智能聊天机器人。
67 2
|
28天前
|
人工智能 自然语言处理 安全
盘点国内:AI写作助手_ai智能问答机器人
AI写作助手是利用人工智能技术,特别是自然语言处理(NLP)技术,来辅助用户进行写作的工具。这类助手通过分析大量文本数据,能够理解语言的结构和含义,从而生成、编辑或优化文本内容。AI写作助手通常具有自动纠错、语法检查、内容生成和风格调整等功能,帮助用户提高写作效率和质量。
|
1月前
|
自然语言处理 监控 搜索推荐
使用 LangChain 创建高度互动和智能的聊天机器人
【8月更文第3天】随着自然语言处理(NLP)技术的进步,聊天机器人已成为企业和用户之间互动的重要渠道。LangChain 是一个强大的框架,旨在简化构建复杂语言模型应用程序的过程。本文将详细介绍如何使用 LangChain 框架创建高度互动和智能的聊天机器人,包括选择合适的语言模型、设计对话流程、上下文管理以及集成外部API和服务等内容。
78 0
|
3月前
|
缓存 机器人 网络安全
解决steam错误提示“您对 CAPTCHA 的响应似乎无效,请在下方重新验证您不是机器人”的解决办法
在使用 Steam 的过程中,许多新手用户可能会遇到这样一个问题:当他们试图完成注册或其他操作时,系统提示“您对 CAPTCHA 的响应似乎无效,请在下方重新验证您不是机器人。”即使多次尝试,错误提示仍然出现,阻碍了用户的下一步操作。这种情况可能令人沮丧,但了解其背后的原因和解决办法可以帮助我们顺利解决这个问题。
3217 11

热门文章

最新文章