Car Hacking — por onde começar
Carro moderno = computador sobre rodas. CAN bus foi projetado em 1986 sem autenticação. Trilha rara, com mercado crescendo (carros conectados, OTA, ADAS).
pré-requisitos
- ▸Eletrônica básica (multímetro, GND, VCC, sinais digitais)
- ▸Linux + linha de comando
- ▸Python básico (cantools, scapy)
labs para praticar
- GoatX Academy — Car Hacking CTF
6 desafios interativos sem precisar de carro físico.
- ICSim
Simulador de painel + CAN. Treina sem hardware.
- CaringCaribou
Toolkit completo pra fuzzing/discovery em CAN.
- OpenGarages
Coleção de ferramentas e VMs para car hacking.
trilha passo a passo
- 1
1. Anatomia do carro
ECU (Engine Control Unit), TCM, BCM, ABS, gateway. Como conversam (CAN, LIN, FlexRay, MOST, Ethernet automotivo). Onde fica o conector OBD-II (sob o volante, padrão J1962).
- 3
3. OBD-II e PIDs
Mode 01 (real-time): 0x0C=RPM, 0x0D=velocidade, 0x05=temp motor. Mode 03 (DTCs / códigos de erro). Mode 09 (VIN). Padronizado por SAE J1979 / ISO 15031.
- 4
4. CAN raw — sniff, fuzz, replay
candump pra observar o tráfego, identifica IDs que mudam quando você aciona algo (luz, vidro, porta). cansend pra replayar. cangen pra fuzz. Por que funciona: zero autenticação no barramento.
- 5
5. Arquivos DBC (decodificação de sinais)
DBC é o formato (Vector) que descreve QUAL bit dentro de QUAL frame significa o quê. cantools (Python) decodifica frames automaticamente em km/h, °C, rpm. Existem DBCs comunitários no GitHub (opendbc da Comma.ai).
- 6
6. Keyless / Rolling code
Como funcionam KeeLoq, Hitag2 (rolling code: cada press é um código novo). Ataques: RollJam (Samy Kamkar, DEFCON 23), relay attack (UWB resolve). Hardware: HackRF, YARD Stick One, Flipper Zero.
- 7
7. ECU tuning, OTA e UDS (ISO 14229)
UDS é o protocolo de diagnóstico avançado por cima do CAN. Permite ler/gravar EEPROM, mudar mapas, fazer reflash. Tesla, BMW e VW expõem APIs OTA — superfície enorme pra pesquisa.
- 8
8. Defesas modernas
SecOC (Secure Onboard Communication) adiciona MAC truncado em CAN-FD. Gateway central segregando barramentos. Firewalls de ECU. Cripto end-to-end em OTA (Uptane). Adoção lenta, mas crescente.
dicas de quem já passou pela trilha
- ★SEMPRE em carro próprio ou autorizado. Mexer em CAN de carro alheio = crime + pode matar alguém.
- ★Antes de comprar hardware caro: rode ICSim por 1 semana. Aprende 70% dos conceitos sem gastar nada.
- ★Para sniffing real, prefira SocketCAN (Linux nativo) a soluções proprietárias. cansniffer mostra mudanças em tempo real.
- ★Comma.ai opendbc tem DBC de várias marcas. Se seu carro tá lá, decodificação é direta com cantools.
- ★CHARLIE MILLER + CHRIS VALASEK (Jeep 2015) é leitura obrigatória — explicaram o ataque inteiro publicamente.
ferramentas essenciais
candump, cansend, cansniffer, cangen — base do Linux
GUI cross-platform com replay, fuzzing e plotagem
Decodifica DBC e converte sinais automaticamente
Simulador grátis de painel + CAN bus
Sub-GHz pra sniff/replay de keyless básico
SDR full-duplex pra ataques de RF avançados
livros recomendados
- ▸ The Car Hacker's Handbook (Craig Smith) — bíblia, grátis em PDF
- ▸ Hacking Connected Cars (Alissa Knight)
- ▸ Automotive Cybersecurity Engineering Handbook (Ahmad MK Nasser)