Segurança em carros conectados: falha expôs travas e ignição

Segurança em carros conectados: falha expôs travas e ignição

A segurança em carros conectados acaba de ganhar um exemplo preocupante de como falhas aparentemente simples podem comprometer tecnologias automotivas avançadas. Pesquisadores de cibersegurança descobriram que uma combinação de credenciais administrativas de fábrica, configurações inadequadas de servidores e falhas nas regras de proteção de um firewall de aplicações web (WAF) permitia assumir contas de clientes e enviar comandos remotamente a veículos conectados nos Estados Unidos, Canadá e Austrália.

A investigação foi conduzida por Sam Curry e Shubham Shah, que identificaram vulnerabilidades na infraestrutura de identidade utilizada por duas marcas automotivas não identificadas publicamente. O ponto mais surpreendente estava em uma instalação da plataforma ForgeRock (atualmente associada à Ping Identity), que mantinha um console administrativo do Apache Felix acessível com a combinação de usuário e senha admin:admin. A partir desse acesso, os pesquisadores conseguiram executar código nos servidores responsáveis pelo gerenciamento das contas dos consumidores.

O episódio demonstra que a proteção de um automóvel moderno não depende exclusivamente dos sistemas eletrônicos instalados no veículo. Aplicativos móveis, plataformas de autenticação, APIs e serviços em nuvem também fazem parte da superfície de ataque. Quando esses componentes são comprometidos, funcionalidades legítimas, como localizar o automóvel, destravar portas e acionar a ignição remotamente, podem acabar nas mãos de terceiros.

Como pesquisadores obtiveram controle remoto dos veículos

A investigação começou com a análise dos aplicativos móveis utilizados pelos clientes das montadoras. Esses programas permitem executar funcionalidades como consultar informações do automóvel, verificar sua localização, controlar travas e utilizar recursos de partida remota.

Para que essas operações funcionem, o aplicativo precisa se comunicar com diferentes serviços hospedados na infraestrutura da fabricante. Entre eles estão as plataformas de telemetria, os servidores responsáveis pelas APIs e os sistemas de gerenciamento de identidade.

Nesse cenário, o ForgeRock desempenhava uma função central. A solução era utilizada para administrar identidades de consumidores, armazenar registros de usuários e participar dos processos de autenticação necessários para acessar os serviços automotivos.

Os pesquisadores identificaram componentes relacionados ao ForgeRock Access Management (AM) e ao ForgeRock Identity Management (IDM), também conhecido como OpenIDM.

O primeiro participava do processo de autenticação, enquanto o segundo armazenava e administrava os registros dos usuários. Essa separação é importante porque permitiu compreender como uma falha na infraestrutura de identidade poderia ultrapassar os limites de uma simples conta comprometida.

Ao investigar os servidores, Curry e Shah encontraram uma cadeia de problemas de configuração que transformou uma interface administrativa esquecida em uma porta de entrada para os sistemas de produção.

seguranca em carros conectados senha admin
Imagem: Bleeping Computer

O desvio da barreira do WAF via discrepância de rotas

Um dos obstáculos encontrados pelos pesquisadores foi o Web Application Firewall (WAF), uma camada de proteção utilizada para analisar requisições HTTP e bloquear tentativas de acesso a recursos considerados sensíveis.

Nas instalações investigadas, as regras do firewall impediam o acesso direto a determinados caminhos administrativos do OpenIDM. Em condições normais, uma tentativa de acessar essas interfaces pela internet deveria resultar em uma resposta de bloqueio.

Entretanto, os pesquisadores identificaram uma discrepância na maneira como diferentes componentes da infraestrutura interpretavam os endereços solicitados.

Essa técnica é conhecida como parser differential, ou divergência de interpretação entre analisadores de requisições.

O problema acontece quando duas camadas de um mesmo sistema interpretam uma URL de maneiras diferentes. Um WAF pode considerar determinado endereço inofensivo, enquanto o servidor de aplicação interpreta a mesma requisição como uma tentativa de acessar um recurso administrativo restrito.

No caso investigado, a técnica envolveu o uso de barras codificadas e caracteres especiais, capazes de alterar a interpretação do caminho solicitado durante o processamento da requisição.

O firewall enxergava um endereço aparentemente associado a arquivos estáticos, mas o servidor Java responsável pelo processamento da aplicação interpretava a rota de outra maneira.

Essa diferença permitiu alcançar interfaces que deveriam permanecer protegidas, mesmo sem realizar uma solicitação convencional aos caminhos administrativos.

O detalhe mais importante é que o WAF não havia necessariamente deixado de funcionar. O problema estava na confiança excessiva depositada nas regras de filtragem de caminhos, sem garantir que o servidor de destino interpretasse as requisições exatamente da mesma maneira.

A descoberta evidencia uma limitação importante das estratégias de defesa baseadas exclusivamente em filtros de URL. Um recurso administrativo não pode ser considerado protegido apenas porque o firewall bloqueia seu endereço convencional.

A armadilha do Apache Felix e as credenciais de fábrica

Depois de contornar as restrições de acesso, os pesquisadores chegaram ao console administrativo do Apache Felix, uma ferramenta utilizada para gerenciar aplicações baseadas na arquitetura OSGi.

O Apache Felix é um componente presente na infraestrutura Java utilizada pelo ForgeRock OpenIDM. Seu console web oferece recursos administrativos para consultar componentes carregados, gerenciar configurações e interagir com serviços executados no servidor.

O problema era que essa interface havia permanecido disponível na infraestrutura de produção.

Mais grave ainda: o console utilizava credenciais padrão que não haviam sido modificadas. A combinação de autenticação era simplesmente admin:admin.

Essa configuração representa uma falha básica de endurecimento de servidores. Credenciais de fábrica são conhecidas publicamente e frequentemente aparecem em documentações, exemplos de instalação e guias técnicos.

A documentação de endurecimento da própria plataforma ForgeRock recomenda remover ou proteger adequadamente o console administrativo antes de disponibilizar uma instalação em ambiente de produção.

Os pesquisadores conseguiram autenticar-se utilizando as credenciais esquecidas e acessar funcionalidades administrativas do Apache Felix.

Entre os recursos disponíveis estava o gerenciamento de tarefas agendadas. Eles utilizaram essa funcionalidade para executar scripts no ambiente do servidor, obtendo execução remota de código (RCE) na infraestrutura de identidade.

Na prática, a invasão deixou de ser apenas uma tentativa de contornar um firewall. Os pesquisadores passaram a executar instruções dentro do próprio servidor responsável pelo gerenciamento das identidades dos clientes.

Isso representou uma mudança significativa no nível de comprometimento. Em vez de tentar explorar individualmente as contas dos consumidores, eles passaram a ter acesso privilegiado ao ambiente que administrava essas contas.

Do servidor de identidade aos comandos físicos no veículo

Com a execução de código no servidor, Curry e Shah conseguiram alcançar informações internas do OpenIDM que não estavam disponíveis por meio das interfaces públicas.

O sistema armazenava registros de consumidores e permitia operações administrativas sobre esses dados. Isso abriu caminho para uma etapa particularmente preocupante: a tomada de contas de clientes.

Os pesquisadores demonstraram que poderiam alterar informações associadas a uma conta, incluindo seu endereço de e-mail e sua senha.

Para validar a descoberta, utilizaram contas de teste e registros que estavam autorizados a acessar. Ao substituir o endereço de e-mail associado à conta, conseguiram direcionar para uma caixa de entrada sob seu controle as mensagens necessárias para completar o processo de autenticação.

Em seguida, utilizaram o fluxo normal de login do aplicativo automotivo.

Essa etapa é importante porque os pesquisadores não precisaram simplesmente inventar um token de acesso ou falsificar uma sessão. Depois de assumir o controle dos dados da conta, conseguiram utilizar o próprio mecanismo legítimo de autenticação para obter tokens de acesso válidos.

Esses tokens funcionavam como credenciais digitais para acessar os serviços oferecidos pelo aplicativo.

Com a sessão autenticada, foi possível consultar a garagem associada à conta, identificar os veículos cadastrados e utilizar as APIs responsáveis pelos comandos remotos.

Entre as funcionalidades demonstradas estavam:

  • Destravar e travar as portas dos veículos.
  • Consultar informações de localização e telemetria.
  • Acessar dados relacionados aos automóveis cadastrados.
  • Acionar a partida remota do motor, quando o veículo oferecia esse recurso.
  • Interromper o funcionamento do motor por meio dos comandos disponíveis.

Os pesquisadores demonstraram a cadeia completa em veículos de teste nos Estados Unidos. Em uma das validações, conseguiram destravar um automóvel e acionar sua partida remota enquanto o proprietário autorizado estava próximo. Depois, interromperam o funcionamento do motor e trancaram novamente as portas.

Outro detalhe preocupante envolvia a possibilidade de a vítima não perceber imediatamente a alteração da conta.

Segundo a investigação, a substituição do e-mail e da senha não encerrava automaticamente a sessão já existente no aplicativo do proprietário. Isso significava que o consumidor poderia continuar utilizando o aplicativo sem necessariamente perceber que os dados de autenticação haviam sido alterados.

A possibilidade de direcionar notificações para outro dispositivo também aumentava o risco de uma tomada de conta passar despercebida.

A infraestrutura australiana apresentava outro caminho de invasão

A investigação conduzida na Austrália revelou problemas adicionais, embora a cadeia de exploração fosse diferente daquela encontrada nos ambientes dos Estados Unidos e Canadá.

Nesse caso, Shubham Shah identificou credenciais administrativas incorporadas a um pacote JavaScript utilizado por uma ferramenta interna da montadora.

As credenciais haviam sido destinadas originalmente a um ambiente de testes, mas continuavam funcionando na infraestrutura de produção.

Esse é um problema conhecido como vazamento de segredos em aplicações cliente. Diferentemente de uma senha armazenada em um servidor protegido, qualquer informação incorporada ao código JavaScript entregue ao navegador pode ser examinada por usuários externos.

A investigação também identificou APIs administrativas com permissões excessivas e mecanismos capazes de relacionar informações de veículos e consumidores.

Os pesquisadores conseguiram estabelecer uma sequência de associação entre a placa do automóvel, seu número de identificação veicular (VIN), um identificador de assinante e os dados da conta cadastrada na plataforma de identidade.

Outro problema envolvia o fluxo de autenticação. Na infraestrutura australiana, os pesquisadores identificaram possibilidades de abuso do mecanismo OAuth conhecido como Resource Owner Password Credentials (ROPC), permitindo obter tokens sem completar adequadamente a autenticação multifator esperada.

Combinando essas falhas, conseguiram alcançar as APIs de telemetria e enviar comandos aos veículos.

Consideradas em conjunto, as duas investigações demonstraram possibilidades de acesso remoto a automóveis conectados na Austrália, nos Estados Unidos e no Canadá.

As fabricantes não tiveram seus nomes divulgados nos relatos dos pesquisadores. No caso da investigação envolvendo os ambientes norte-americanos, os problemas foram corrigidos aproximadamente duas horas depois da comunicação responsável pela divulgação. Os pesquisadores também afirmaram que realizaram os testes completos somente em veículos próprios ou cujo acesso havia sido autorizado.

Lições fundamentais para equipes de segurança e DevOps

O caso oferece lições importantes para administradores de sistemas, engenheiros DevOps e profissionais de segurança responsáveis por infraestruturas de identidade.

A primeira delas é que credenciais padrão não podem permanecer em ambientes de produção. Uma senha como admin:admin não representa uma barreira real de segurança. Ferramentas administrativas precisam receber credenciais exclusivas, autenticação forte e controles de acesso adequados.

O endurecimento deve fazer parte do processo de implantação, e não ser tratado como uma atividade opcional para depois da entrada em produção.

No caso do ForgeRock, a própria documentação já recomendava remover ou proteger o console do Apache Felix. Ignorar essa orientação deixou uma interface administrativa exposta com autenticação previsível.

Outra medida indispensável é revisar continuamente os componentes auxiliares instalados nas aplicações. Consoles de gerenciamento, interfaces de diagnóstico, ferramentas de monitoramento e endpoints de manutenção não devem permanecer acessíveis sem uma justificativa operacional.

A segunda lição envolve a proteção oferecida pelos WAFs.

Esses mecanismos são importantes para identificar requisições suspeitas, aplicar políticas de segurança e reduzir a exposição de aplicações web. Entretanto, não devem ser utilizados como única barreira para proteger interfaces administrativas.

As equipes precisam verificar se o servidor de origem e a camada de proteção interpretam URLs, caracteres codificados e caminhos normalizados de maneira consistente.

Também é necessário restringir o acesso administrativo por controles independentes, como redes privadas, VPNs, listas de permissões, autenticação multifator e segmentação de infraestrutura.

Outro ponto essencial é a proteção de segredos incorporados ao código das aplicações. Chaves de API, senhas administrativas e tokens não devem ser distribuídos em pacotes JavaScript ou aplicativos móveis quando concedem privilégios que deveriam permanecer restritos ao servidor.

A arquitetura de identidade também precisa considerar o impacto de uma conta administrativa comprometida. Alterações de e-mail, redefinições de senha e mudanças nos dispositivos autorizados devem gerar registros de auditoria, notificações independentes e mecanismos capazes de invalidar sessões anteriores.

Para as APIs automotivas, a recomendação é aplicar controles de autorização em cada operação. Um token válido não deve representar autorização irrestrita para consultar ou controlar qualquer veículo. A identidade do usuário, a propriedade do automóvel, o dispositivo utilizado e a natureza do comando precisam ser verificados individualmente.

Por fim, equipes de segurança devem monitorar atividades administrativas incomuns, alterações em registros de consumidores, emissão excessiva de tokens e solicitações inesperadas às APIs de telemetria.

Essas medidas ajudam a identificar comportamentos anormais mesmo quando um invasor consegue ultrapassar uma camada inicial de proteção.

O futuro da segurança automotiva depende também da nuvem

A investigação de Sam Curry e Shubham Shah demonstra que a segurança de um automóvel conectado não termina nos sistemas eletrônicos instalados dentro do veículo.

Um carro moderno também funciona como um dispositivo conectado, dependente de aplicativos, servidores de autenticação, serviços de telemetria e APIs capazes de transformar comandos digitais em ações físicas.

Nesse contexto, uma configuração administrativa esquecida pode representar um risco muito maior do que aparenta. A combinação de uma senha padrão, uma interface exposta e controles inadequados de identidade foi suficiente para criar uma cadeia que alcançou funcionalidades críticas dos automóveis.

O episódio também reforça que investir em firewalls e soluções sofisticadas de proteção não compensa a ausência de medidas básicas de segurança. Hardening, gerenciamento de credenciais, segmentação de rede e validação de permissões continuam sendo fundamentais, mesmo em infraestruturas altamente automatizadas.

Para os proprietários, o caso serve como um alerta sobre a importância de considerar a segurança digital ao escolher e utilizar veículos conectados. Embora as vulnerabilidades descritas tenham sido comunicadas e corrigidas nos ambientes investigados, a dependência crescente de serviços em nuvem amplia a responsabilidade das fabricantes sobre a proteção dos consumidores.

Afinal, quando um aplicativo consegue destravar portas e ligar um automóvel, proteger a conta que controla essas funções é tão importante quanto proteger os próprios sistemas eletrônicos do veículo.