1 pontos por GN⁺ 2026-03-26 | 2 comentários | Compartilhar no WhatsApp
  • Para participar do bug bounty da Tesla, foram comprados no eBay a MCU e o computador do Autopilot do Model 3 para tentar executá-los em um ambiente desktop
  • Após conectar adicionalmente uma fonte de alimentação de 12V e o módulo da tela touchscreen, o boot foi bem-sucedido, e foi possível acessar a rede interna pela porta Ethernet
  • Dentro da MCU, estavam abertos um servidor SSH e a API REST ODIN (porta 8080), e o acesso via SSH exigia uma chave assinada pela Tesla
  • No início, por causa de problemas de compatibilidade de cabos e danos na PCB, foi necessário substituir o chip controlador de energia, mas após o reparo foi possível recuperar o sistema
  • Por fim, ao conectar o Dashboard Wiring Harness, foi possível realizar o boot completo da touchscreen e do sistema operacional do veículo, tornando viáveis a operação da UI e a análise de firmware

Colocando o computador do Tesla Model 3 para rodar na mesa

  • Para participar do programa de bug bounty da Tesla, era necessário hardware real do veículo, então foram compradas no eBay peças da MCU (Media Control Unit) do Model 3 e do computador do Autopilot (AP)
  • O computador automotivo tem uma estrutura com duas placas empilhadas, fica atrás do porta-luvas do banco do passageiro e é coberto por uma carcaça metálica com refrigeração líquida
  • Peças na faixa de 200 a 300 dólares foram obtidas no eBay, e a maioria era vendida por desmanches de veículos acidentados
  • Para inicializar o sistema, também foram necessários uma fonte DC de 12V, um módulo de touchscreen e um cabo de display
  • Foi usada uma fonte de alimentação ajustável de 0–30V e 10A, e a tela foi comprada por 175 dólares

Problemas de cabo e informações de fiação elétrica

  • Os cabos que conectam a MCU à tela eram vendidos, em sua maioria, cortados logo após o conector, então foi necessário fabricar um cabo separado
  • A Tesla publica a documentação de Electrical Reference de todos os veículos, o que permitiu verificar a pinagem e as informações de fiação de cada conector
  • O display requer um cabo de 6 pinos com conector Rosenberger 99K10D-1D5A5-D (2 pinos para 12V/terra e 4 pinos de dados)
  • Como esse conector não podia ser comprado avulsamente por consumidores comuns, foi encomendado como alternativa um cabo LVDS para BMW

Conexão de energia e acesso à rede

  • Com base no esquema elétrico da Tesla e em materiais online, ao localizar os pinos de 12V e terra e conectar a alimentação, o LED vermelho acendeu e o boot começou
  • Sem a tela, a interação era limitada, mas era possível conectar a um notebook pela porta Ethernet
  • A rede não tinha DHCP, então era necessário configurar o IP manualmente e usar a faixa 192.168.90.X/24
  • Por meio do arquivo /etc/hosts divulgado no Reddit, foi possível identificar os IPs internos de hosts como MCU, gateway e Autopilot
  • Na MCU (192.168.90.100), estavam abertos SSH (porta 22) e um servidor web (porta 8080)

Serviços internos e estrutura da MCU

  • O servidor SSH exibia a mensagem “SSH allowed: vehicle parked” e exigia uma chave assinada pela Tesla para acesso
    • No bug bounty da Tesla, pesquisadores que encontram uma vulnerabilidade de root recebem um certificado SSH permanente
  • Na porta 8080, havia uma API de estilo REST chamada ODIN (On-Board Diagnostic Interface Network), usada pela ferramenta de diagnóstico Toolbox
  • Ao remover a blindagem metálica, foi possível ver o interior, onde a MCU e a placa do Autopilot estavam dispostas em estrutura empilhada

Falha de cabo e dano ao circuito

  • O cabo LVDS da BMW era fisicamente incompatível, então foi feita uma tentativa de ligação direta dos fios
  • Os fios finos se romperam e ocorreu um curto na PCB, danificando o chip controlador de energia
  • Foi difícil identificar o chip danificado, mas o colaborador Yasser confirmou que se tratava do controlador step-down MAX16932CATIS/V+T
  • Um chip novo foi encomendado e substituído em uma oficina de reparo de PCB, permitindo recuperar a MCU
  • Depois disso, foi adquirido também um segundo computador como reserva

Solução final e boot completo

  • Como não foi possível obter o cabo Rosenberger, acabou sendo comprado o Dashboard Wiring Harness completo (80 dólares)
  • No veículo real, a montagem não era feita com cabos individuais, mas sim no formato de um grande chicote elétrico (loom)
  • Ao conectar o chicote, a touchscreen passou a funcionar normalmente e o sistema operacional do veículo inicializou por completo
  • A partir daí, tornaram-se possíveis a operação da UI, a exploração das interfaces de rede, a análise do barramento CAN e as tentativas de extração de firmware

2 comentários

 
xguru 2026-03-27

O mais interessante é isso aqui
"Programa de acesso root da Tesla"
Se você encontrar ao menos uma vulnerabilidade de rooting válida, pode receber um "certificado SSH permanente" para o seu próprio veículo e fazer login como root.

Ah, eu quero isso!!

 
GN⁺ 2026-03-26
Comentários no Hacker News
  • O programa de Root access da Tesla é interessante
    Se um pesquisador encontrar ao menos uma vulnerabilidade de rooting válida, pode receber um certificado SSH permanente para o próprio veículo e fazer login como root
    É parecido com o Security Research Device Program da Apple, mas com critérios de qualificação claros
    Dá para entender a abordagem da Tesla, já que dar privilégios de root a todos facilitaria a busca por vulnerabilidades por agentes mal-intencionados

    • Fica a sensação de que, se você é dono do carro, deveria ter acesso root por padrão. É uma pena que a estrutura exija pesquisar de graça para o fabricante para conseguir root
    • Se é um programa que depende de encontrar vulnerabilidades de root continuamente, a Tesla parece não estar confiante na estabilidade de segurança da própria plataforma
    • Acesso ao shell é muito útil para pesquisa adicional. Se a Tesla corrigir os bugs e bloquear o acesso, há grande chance de os pesquisadores manterem as descobertas em sigilo em vez de divulgá-las
    • Esse programa vale apenas para o sistema de infotainment e não se aplica ao computador do Autopilot. A Tesla também já revogou certificados de carros de pesquisadores no passado
    • Se não der root, cria-se um incentivo para que os pesquisadores mantenham as vulnerabilidades em segredo, então essa política parece razoável
  • Trabalhei no passado em uma empresa que fazia ferramentas de varredura de terceiros
    Testávamos com ECUs conectadas em rack em vez de veículos reais e descobrimos um problema de deslocamento de bytes não padronizado da BMW. A ferramenta da concorrência não detectava o problema, mas a ferramenta oficial da BMW mostrava o DTC

    • Explicam que DTC significa Diagnostic Trouble Codes
    • Estou sofrendo com um problema de ferramenta de scan em uma Mercedes E300 Turbodiesel 1999. Um equipamento antigo da Autel virou um tijolo e foi substituído por um iCarsoft, mas ele não se comunica com a ECU
      Se eu configurar outro modelo, até consigo apagar os DTCs da ECU, então estou usando assim provisoriamente. Essa área precisa muito de uma abordagem de hardware/software aberto
    • Na última semana, fiz engenharia reversa do carro e da ferramenta de scan usando Claude + Ghidra
      Estou pensando se devo publicar o resultado produzido com software comercial caro, e acho que informações como definições de protocolos de comunicação veicular deveriam ser abertas para todos
  • É curioso ver LVDS ser chamado de cabo automotivo. Originalmente, eu via isso mais para conectar displays de notebook à placa-mãe

    • Segundo a Wikipedia, no começo houve confusão porque fabricantes de notebooks usavam incorretamente o termo LVDS em vez de FPD-Link
      Veja o artigo sobre Low-voltage differential signaling
    • Hoje em dia, notebooks usam eDP(embedded DisplayPort) em vez de LVDS. LVDS ainda existe em displays automotivos, mas em smartphones e afins foi substituído por MIPI DSI
    • SpaceWire também é um protocolo de roteamento ultraleve baseado em LVDS e muito usado em satélites
  • Dá para executar o QtCar, app de interface da Tesla, no QEMU
    Basta ter o firmware; se alguém tiver interesse, é só mandar DM
    Vídeo de demonstração

  • Uma pessoa compartilhou a experiência de instalar por conta própria um controlador de freio de reboque em um Tesla Model Y
    Encontrou um controlador compatível com 14,4 V, fez o cabo e comprou conectores no eBay para instalar
    Rebocou um trailer de camping várias vezes no ano passado sem problemas, e esse espírito de hack DIY parece muito legal

    • Apontam que carros comuns também chegam a 15 V a 2000 rpm, então 14,4 V não é uma tensão especialmente alta
    • Mencionam que a maioria dos carros a combustão interna opera perto de 14,4 V, então um controlador padrão provavelmente também teria servido
  • É interessante que o cerne do problema era apenas um conector de 6 pinos
    Havia desenho e dimensões, então surpreende que ninguém tenha pensado em fabricar o conector diretamente com impressão 3D

  • Esse projeto é muito legal
    Fiquei curioso se é plug and play e onde as informações de autonomia ficam armazenadas
    Se fosse possível, gostaria de adaptar a suspensão adaptativa em um modelo mais antigo. Também existe a ideia de criar um sistema de controle separado com Raspberry Pi

  • É surpreendente que o sistema operacional inicialize completamente mesmo sem os periféricos esperados ao redor

  • Digam o que quiserem sobre a Tesla, do ponto de vista de hacking isso é realmente um projeto incrível

  • Disseram que foi preciso comprar toda a fiação por 80 dólares; nos EUA isso é chamado de wiring harness. loom se refere ao material de revestimento

    • Na verdade, esse cabo pode ser conseguido mais barato. Um Violet HSD Code D 4+2 Pin Female to D Female Jack Connector de cerca de 15 dólares pode servir como substituto
      Link do AliExpress