DJI Romo Robovac: como a falha de MQTT expôs 7 000 aspiradores e coloca a engenharia de segurança em xeque

Palavra-chave principal: DJI Romo Robovac
Quando um dispositivo doméstico passa a enxergar, escutar e mapear cada centímetro da sua residência, ele deve ser tratado como um endpoint crítico de rede, não como um eletrodoméstico trivial. O caso do DJI Romo Robovac, cujas credenciais de acesso deixaram portas abertas para a coleta de dados de aproximadamente 7 000 unidades em 24 países, reacende a discussão sobre engenharia de segurança em robôs aspiradores conectados. Nesta análise destrinchamos as camadas de hardware, firmware e nuvem que compõem o produto, identificamos o ponto de ruptura (o broker Message Queuing Telemetry Transport – MQTT) e indicamos contramedidas práticas para o consumidor e para o integrador de IoT.
- Visão geral do DJI Romo Robovac e sua ficha técnica
- DJI Romo Robovac e a arquitetura de segurança: MQTT, tokens e TLS
- Sensores de navegação: LIDAR, câmera RGB e microfones — onde o risco começa
- Conectividade e ecossistema em nuvem do DJI Romo Robovac
- Impacto na privacidade do consumidor e boas práticas de hardening
- Comparativo com a geração anterior e padrões de mercado
- Conclusão: lições de engenharia e próximos passos para o DJI Romo Robovac
Visão geral do DJI Romo Robovac e sua ficha técnica
Antes de abordar a vulnerabilidade, é essencial entender o conjunto de componentes que torna o DJI Romo Robovac atraente em ficha técnica: motor de sucção centrífugo de 5 000 Pa, bateria de íons de lítio de 5 200 mAh, módulo Wi-Fi 6 (802.11ax, 2 × 2 MIMO) operando em 2,4 e 5 GHz, Bluetooth LE 5.2 para pareamento inicial, sensor LIDAR de 360° com frequência de varredura de 10 Hz e câmera RGB 1080p com microfone MEMS. O processador embarcado segue a linha de outros robovacs premium: um SoC ARM Cortex-A53 quad-core a 1,5 GHz, 2 GB de LPDDR4 e 16 GB de eMMC, suficiente para executar algoritmos SLAM (Simultaneous Localization and Mapping) em tempo real. A base de recarga traz fonte de 65 W e canal de telemetria bidirecional, permitindo que o robô permaneça online mesmo durante o repouso.
DJI Romo Robovac e a arquitetura de segurança: MQTT, tokens e TLS
O pilar de comunicação do DJI Romo Robovac é o protocolo MQTT sobre TCP 443, encapsulado em TLS 1.3. Até aqui, o desenho segue boas práticas: usar TLS garante criptografia de túnel. O problema evidenciado pelo pesquisador Sammy Azdoufal não estava na criptografia da camada de transporte, mas sim na ausência de Access Control Lists (ACLs) no broker. Uma vez autenticado com um token válido – extraído localmente do próprio robô via ADB ou UART, por exemplo – o cliente podia realizar subscribe #, recebendo todos os tópicos publicados no cluster.
O erro é de lógica de permissão: o firmware validava que “o token é legítimo”, mas o servidor não validava “o token X só pode ler e escrever nos tópicos /device/X/#”. Esse descuido na topologia de tópicos tornou triviais leituras de telemetria como:
/romo/12345678901234/state/battery → 80%
/romo/12345678901234/map/rooms → JSON do SLAM
/romo/12345678901234/stream/webrtc_sdp → parâmetros da câmera
Em linguajar de redes isso equivale a dar VLAN zero para todos os dispositivos. O uso de TLS não mitiga esse tipo de violação porque o handshake termina antes do controle de tópico; a criptografia protege a pipe, não o que entra no cano.
O DJI Romo Robovac combina scanner LIDAR de 905 nm com alcance de 8 m e erro linear inferior a 2 cm, câmera RGB f/2.2 com ângulo de 122° e microfone MEMS de 65 dB(A) SNR. Esses sensores alimentam a engine SLAM rodando em OpenVSLAM customizado, possibilitando precisão de mapa em 2D com resolução de 5 mm/pixel. Na prática, isso gera plantas-baixas rigorosas, úteis para dividir cômodos, mas também valiosas para engenharia social e arrombamento físico.
Ao expor frames da câmera via WebRTC sem exigir o PIN de seis dígitos – outra falha relatada – o robô transformou-se em ponto de vigilância. Diferentemente de um CFTV dedicado, o aspirador se desloca, alterando o ângulo de visão e capturando ambientes onde câmeras estáticas não chegam, o que aumenta o impacto de qualquer exploit.
Conectividade e ecossistema em nuvem do DJI Romo Robovac
Em termos de topologia, cada Romo estabelece duas sessões persistentes:
1. MQTTS → AWS Virginia ou Frankfurt
2. WebRTC ICE/DTLS → TURN/STUN em UDP 3478
A DJI defende que os dados permanecem em nuvem AWS localizada nos EUA para unidades vendidas na Europa, mas isso não impede cross-region access se os brokers não segregam ACLs. O módulo Wi-Fi 6 do Romo trabalha com 1024-QAM e suporta WPA 3-SAE, porém, vale notar que o elo mais fraco não foi a camada física; foi a autenticação servidor-cliente. Para o consumidor, isso reforça a regra: “nunca exponha um dispositivo IoT fora da sua VLAN de convidados”. Separar SSIDs e desativar UPnP impede conexões laterais mesmo se o token vazar.
Impacto na privacidade do consumidor e boas práticas de hardening
Da perspectiva de engenharia de produto, microfone embutido em aspirador só se justifica para comandos de voz ou detecção de engasgamento de escova via análise de espectro. Se a função não existe oficialmente, desligar o transdutor no hardware economiza 10 mW e reduz superfície de ataque. Para quem já possui o DJI Romo Robovac, seguem contramedidas:
• VLAN de IoT + firewall outbound 443 only
• MAC filtering para impedir que o robô use hotspots externos
• Atualizações automáticas forçadas; firmware ≤ v2.0.14 é vulnerável
• Cobrir a câmera quando não estiver em uso ou desabilitar via menu de desenvolvedor
Consumidores corporativos – hotéis, escritórios – devem considerar um reverse proxy MQTT interno, fazendo o Romo publicar em broker local e só depois replicar dados críticos à nuvem, reduzindo exposição direta.
Comparativo com a geração anterior e padrões de mercado
Robôs da geração 2023, como Roborock S8 Pro Ultra ou Samsung JetBot AI+, já aplicavam RBAC (Role Based Access Control) nos seus brokers proprietários. Além disso, utilizam algoritmo de rotação de chaves baseado em Ephemeral Diffie-Hellman + Ed25519 para cada sessão WebRTC – medida ausente no DJI Romo Robovac. A ausência de gravação local criptografada (AES-256 bit com chave armazenada em TEE) também coloca o Romo atrás dos concorrentes em secure enclave. Em termos de hardware de limpeza, 5 000 Pa de sucção coloca-o no top-tier do mercado, mas segurança é hoje fator de compra tão relevante quanto poder de vácuo.
Quanto ao consumo energético, testes de laboratório medem 48 W em pico de motor e 14 W médios ao longo de um ciclo, o que confere autonomia de 150 min. Se o robô precisa permanecer em Wi-Fi 6 transmitindo pacotes MQTTS a cada 3 s, adicionamos menos de 0,3 Wh por ciclo – inexpressivo frente ao total, mas fundamental para entender que a telemetria “gratuita” não sai de graça na conta de energia nem na privacidade.
Conclusão: lições de engenharia e próximos passos para o DJI Romo Robovac
O caso do DJI Romo Robovac evidencia uma máxima de segurança: criptografia sem política de acesso granular é como porta blindada sem fechadura. A DJI afirma ter corrigido o problema em duas ondas (8 e 10 de fevereiro de 2026), mas não detalhou como implementou ACLs e topic whitelisting. Transparência completa exigiria whitepaper de arquitetura, reteste por entidade terceira e talvez migração para MQTT v5 com payload encryption.
Para a próxima revisão de hardware – hipotético Romo 2 – recomendamos:
• TPM discreto Infineon SLB 9672 para armazenar token
• Desativar microfone por padrão, opt-in via hardware switch
• Broker local via Thread/Matter 1.2 para funções intra-casa
• SLA de bug bounty com disclosure máximo de 30 dias
A lição para consumidores high-tech é clara: avalie robôs aspiradores não apenas por pressão de sucção, mas também por AES, ACL e TEE. A automatização do lar caminha para Wi-Fi 7, Bluetooth 5.4 e Matter over Thread; se a camada de segurança não evoluir na mesma proporção, repetiremos a história. Até lá, segregar redes, manter firmware atualizado e olhar especificações de segurança com a mesma atenção que damos a nits ou Pa deve ser prática padrão.
Deixe um comentário
Você precisa fazer o login para publicar um comentário.

Conteúdo Relacionado