Parte: 13 — Seguridad móvil, IoT e inalámbrica · Fuente: The Car Hacker's Handbook (Craig Smith) y documentación de can-utils ⏱️ Duración estimada: 120 min · Nivel: Avanzado
Entender la arquitectura de seguridad de un vehículo moderno y auditar su red interna a través del bus CAN. El alumno aprenderá cómo se comunican las ECUs, cómo interceptar y analizar tramas con can-utils sobre una interfaz SocketCAN, cómo hacer ingeniería inversa de mensajes para identificar funciones, y cuáles son las superficies de ataque remotas (telemática, infoentretenimiento, TPMS), practicando exclusivamente en simuladores o vehículos propios.
⚠️ Nota ética y de seguridad física: experimenta solo con tu propio vehículo (con el motor apagado y en lugar seguro) o con simuladores (ICSim, virtual CAN). Inyectar tramas en un vehículo en marcha o ajeno es extremadamente peligroso e ilegal.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Arquitectura del vehículo | Contexto de ECUs y buses |
| 2 | Bus CAN y trama | Protocolo base sin autenticación |
| 3 | OBD-II y acceso físico | Punto de entrada estándar |
| 4 | SocketCAN y can-utils | Herramientas de captura/inyección |
| 5 | Ingeniería inversa de tramas | Mapear IDs a funciones |
| 6 | UDS y diagnóstico | Servicios y su abuso |
| 7 | Superficies remotas y defensa | Telemática, TPMS, gateway seguro |
candump, cansend).candump, cansend, cansniffer, cangen), SavvyCAN para análisis gráfico.# CAN virtual + simulador (sin hardware, seguro)
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan && sudo ip link set up vcan0
./setup_vcan.sh # de ICSim
./icsim vcan0 & # tablero simulado
./controls vcan0 & # mando para generar tráfico
# Capturar, filtrar e inyectar
candump vcan0 # ver todo el tráfico
cansniffer vcan0 # ver cambios por ID
cansend vcan0 244#01 # enviar una trama (simulador)
vcan0 para trabajar sin riesgo físico.candump y cansniffer identifica el flujo de IDs mientras el mando genera actividad.cansniffer para ver qué ID/bytes cambian.cansend reproduce la trama para reproducir la función en el simulador (replay).vcan0 y arranca ICSim.En el simulador ICSim, haz ingeniería inversa de una función (velocímetro, intermitentes o cerraduras) y reprodúcela mediante inyección de la trama correcta. Criterio de aceptación: identificas el arbitration ID y el/los byte(s) responsables, y demuestras con cansend que reproduces la función en el tablero simulado, documentando la trama exacta.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
vcan0 no aparece |
Falta modprobe vcan; cárgalo y crea la interfaz |
candump no muestra nada |
Interfaz caída o simulador parado; ip link set up y arranca ICSim |
| Replay no reproduce la función | ID/byte equivocado o el simulador reescribe el valor; reidentifica con cansniffer |
| Demasiado tráfico para analizar | Usa cansniffer y filtros por ID en lugar de candump crudo |
| Bitrate incorrecto (hardware real) | Configura el bitrate del bus (500k típico) al levantar la interfaz |
❓ ¿Puedo practicar sin un coche? Sí y es lo recomendable para empezar: ICSim sobre CAN virtual reproduce un tablero y su tráfico sin ningún riesgo físico.
❓ ¿Por qué el bus CAN es tan inseguro? Es un bus de difusión sin autenticación de origen ni cifrado: cualquier ECU (o atacante con acceso) puede leer todo e inyectar tramas que las demás aceptan como legítimas.
❓ ¿Cómo llega un atacante remoto al CAN? A través de superficies conectadas (telemática celular, WiFi/Bluetooth del infoentretenimiento, TPMS) que, si no están bien segmentadas por un gateway, permiten pivotar hacia buses críticos.
Clase 273 — Seguridad de sistemas de control industrial (ICS/SCADA)