2026 年 2 月,一起震惊安全社区的 IoT 设备批量被控制事件浮出水面:一名开发者在使用 AI 编码助手逆向工程 DJI Romo 扫地机器人时,意外发现只需使用自己设备的认证令牌,即可访问全球约 7000 台同类设备的实时数据流,甚至能够执行控制指令。这一漏洞的根源并非加密算法的破解或固件后门,而是部署在云端的 MQTT 消息代理缺少严格的 Topic 级别访问控制列表(ACL),导致任何通过认证的客户端都可以使用通配符订阅机制监听并控制他人设备。本文将从协议层面深入剖析该漏洞的技术成因,并探讨 IoT 设备批量场景下的安全架构设计要点。
漏洞技术机理:从单一设备认证到全网设备接管
DJI Romo 扫地机器人采用 MQTT 协议与云端后端进行实时通信,设备的状态数据、控制指令、摄像头视频流等信息均通过消息代理进行转发。在正常的用户使用场景中,用户通过官方移动应用向云端发送请求,云端验证用户身份与设备绑定关系后,将指令下发至对应设备。这一流程看似符合标准的三层架构设计,但在消息代理层面存在关键的访问控制缺陷。
该漏洞的核心在于 MQTT 代理服务器未实现基于设备身份的 Topic 级别 ACL。当用户使用自己设备的认证令牌连接至 MQTT 代理时,系统仅验证了令牌的合法性,却未限制该令牌能够订阅的 Topic 范围。攻击者只需在订阅请求中使用通配符(如 # 或 romo/+),即可接收系统中所有设备发布的消息。由于每个设备的 Topic 命名遵循统一的规律(例如 device/{device_id}/status),只要掌握一个有效的设备令牌,就能顺藤摸瓜地获取其他设备的标识符,进而实现批量绑定。
从技术实现角度来看,整个攻击过程无需利用任何缓冲区溢出或身份伪造漏洞。研究者仅需三步操作:首先,从自己设备的移动应用中提取授权令牌;其次,使用开源 MQTT 客户端库构建自定义订阅程序;最后,将订阅 Topic 设置为通配符模式。仅仅数分钟内,该程序便收到了超过十万条来自其他设备的 MQTT 消息,涵盖实时摄像头画面、麦克风音频、房间清扫路径、家庭二维地图等敏感信息。更令人担忧的是,部分测试场景下攻击者甚至能够向这些设备发送控制指令,使其执行开始或停止清扫等操作。
影响范围与风险评估:被暴露的家庭隐私
此次漏洞的影响范围远超一般的单一设备入侵事件。根据安全研究者的调查,受影响的设备数量约为 7000 台,遍布全球 24 个国家和地区。这些设备不仅暴露了用户家庭的内部环境图像,还包括详细的居住平面图、人员在房间内的活动规律等高度敏感的个人隐私信息。考虑到扫地机器人通常在家庭成员外出时工作,攻击者完全可以据此判断用户的作息时间和出行规律,进而实施入室盗窃或其他犯罪行为。
除了家庭隐私泄露外,该漏洞还揭示了更广泛的供应链安全问题。研究过程中发现,DJI 的其他 IoT 产品(如 Power 便携式电源站)同样连接至同一 MQTT 基础设施,这意味着攻击者能够横向扩展至更多设备类型,收集更全面的目标环境数据。这种多设备联动暴露的风险,在现代智能家居生态系统中尤为突出,因为用户的家庭往往同时运行着来自不同厂商的多种 IoT 设备,任何单一设备的安全缺陷都可能成为攻击整个家庭网络的入口。
值得注意的是,该漏洞的修复并非一蹴而就。研究者指出,尽管 DJI 在 2026 年 2 月上旬发布了两次补丁更新,但在首次修复后仍发现存在其他相关安全问题,包括无需 PIN 码即可查看自家设备视频流的旁路漏洞。这表明原始系统在设计阶段可能缺乏系统性的威胁建模,补丁措施更多地聚焦于症状缓解而非根本原因消除。
协议层防御策略:构建面向量产的 IoT 安全架构
从这起事件中可以提取出若干关键的 IoT 安全设计原则,对于任何计划部署大规模联网设备的企业均具有重要的参考价值。
第一,必须在消息代理层面实现强制性的设备级 ACL。MQTT 协议本身支持在代理服务器配置 ACL 规则,规定每个连接客户端只能发布或订阅与其设备标识符相匹配的 Topic。推荐的做法是为每个设备生成唯一的证书或令牌,并在代理层面将其绑定至特定的 Topic 前缀,完全禁止通配符订阅。此外,ACL 策略应当随设备生命周期动态更新,在设备解绑或转移所有权时自动撤销旧有权限。
第二,采用最小权限令牌设计理念。设备认证令牌应当严格限定其作用范围,仅允许访问单个用户的设备集合,而非整个产品线的后端服务。在本次事件中,攻击者能够利用自己设备的令牌访问其他用户的设备,根本原因在于令牌权限过于宽松,未实现用户与设备之间的一对一绑定关系。最佳实践是使用 OAuth 2.0 或类似的双向认证机制,每次连接时均验证用户身份、设备标识符与请求操作之间的三元匹配关系。
第三,强化云端服务间的横向隔离。即便单个服务层面实现了正确的访问控制,多服务之间的通信仍可能成为攻击面。本次事件中,MQTT 代理与后端 API 服务器之间的信任边界模糊,导致一旦攻破代理层面即可长驱直入。建议在微服务架构中引入服务网格(Service Mesh),实现细粒度的服务间认证与流量加密,同时部署独立的日志审计系统,实时监控异常的跨设备访问行为。
第四,建立持续的安全响应流程。研究者从发现漏洞到完成修复经历了数周时间,期间大量用户的隐私数据处于暴露状态。企业应当建立专门的安全响应渠道,鼓励外部研究者通过负责任的漏洞披露计划参与安全测试,并设定明确的服务水平协议(SLA),确保关键漏洞能够在发现后的 24 至 72 小时内完成修复并部署。
综上所述,DJI Romo 事件并非孤例,而是近年来 IoT 设备批量安全漏洞的典型代表。随着智能家居设备的普及,越来越多的家庭正在变成被实时监控的 “透明空间”。设备厂商必须在产品设计阶段就将安全视为核心需求,而非上市后的补丁对象。对于普通用户而言,定期检查设备固件更新、限制云端功能的使用、优先选择具有良好安全口碑的品牌,都是降低风险的有效措施。
资料来源:该事件报道于 The Verge、DroneXL、PopSci 等科技媒体,研究者向 DJI 安全团队报告后厂商已发布修复补丁。