Ordenador de a Bordo del Tesla Model 3: De Piezas Recuperadas a Laboratorio de Investigación de Seguridad
Un entusiasta e investigador de ciberseguridad recreó con éxito un ordenador de a bordo funcional del Tesla Model 3 utilizando piezas recuperadas de vehículos siniestrados. El objetivo del proyecto era establecer un entorno de pruebas para descubrir vulnerabilidades y analizar el firmware como parte del programa de recompensas por errores (bug bounty) de Tesla. Este estudio de caso destaca las profundas complejidades técnicas y las soluciones poco convencionales necesarias para operar electrónica automotriz sofisticada fuera de su entorno nativo, al tiempo que subraya el papel fundamental de la documentación en los esfuerzos de ingeniería inversa.
Montando el Banco de Pruebas: De Piezas a Energía
El proyecto comenzó con la necesidad de adquirir hardware del Tesla Model 3 para participar en el programa Bug Bounty. Los componentes centrales del ordenador de a bordo son la Unidad de Control Multimedia (MCU) y la unidad de Piloto Automático (AP), típicamente ubicadas detrás de la guantera. Estas unidades, aproximadamente del tamaño de una tableta y tan gruesas como un libro de 500 páginas, están encapsuladas en una carcasa metálica refrigerada por agua. Para obtener estos componentes, el investigador recurrió a eBay, donde encontró numerosos listados de empresas especializadas en el desmantelamiento de vehículos dañados. Los precios de las MCU oscilaban entre los 200 y los 300 USD.
Además de la unidad principal, se requirieron los siguientes elementos para el arranque:
- Una fuente de alimentación de CC capaz de suministrar 12V. Se eligió una unidad ajustable de 10A, lo que resultó ser la decisión correcta, ya que el sistema podía consumir hasta 8A en su pico.
- Un módulo de pantalla táctil (display) de un Model 3 dañado. Las pantallas resultaron ser inesperadamente caras; una fue adquirida por 175 USD.
- Un cable especializado para conectar la MCU y la pantalla.
El último elemento resultó ser el más desafiante. Tanto el ordenador como la pantalla venían con cables cortados, lo que obligó a buscar el conector original. Gracias a los "Esquemas Eléctricos" de Tesla, disponibles públicamente en su sitio web de servicio, se determinó que la pantalla utiliza un cable de 6 pines con un conector especial Rosenberger 99K10D-1D5A5-D. Los intentos de encontrar dicho cable en el mercado no tuvieron éxito. Los esfuerzos por utilizar un cable LVDS automotriz similar, común en BMWs, también fracasaron debido a la incompatibilidad del conector.
Infraestructura de Red e Interfaces de Software de Tesla
Después de adquirir la MCU y conectarla a la corriente, se observaron LEDs rojos parpadeantes, indicando el arranque. Sin una pantalla, la interacción con el sistema era limitada, pero investigaciones previas sugerían una red interna con servidores web en algunos componentes. Conectar un cable Ethernet a un puerto de la MCU estableció una conexión de red con un portátil.
Esta red interna carece de DHCP, por lo que la dirección IP tuvo que configurarse manualmente. El rango de direcciones IP recomendado es 192.168.90.X/24, con X debiendo ser superior a 105 para evitar conflictos con otros hosts. El estudio de antiguos archivos /etc/hosts de vehículos Tesla ayudó a identificar las asignaciones de IP estándar:
192.168.90.100 cid ice # mcu
192.168.90.100 ic # only in Model X/S | IC = instrument cluster
192.168.90.102 gw # gateway
192.168.90.103 ap ape # ap = autopilot
192.168.90.104 lb # no clue
192.168.90.105 ap-b ape-b # also autopilot
192.168.90.30 tuner # Also no clue
192.168.90.60 modem # this has the ftp server
En la MCU (IP 192.168.90.100), se descubrieron dos servicios principales: un servidor SSH en el puerto 22 y una API tipo REST en el puerto 8080.
- Servidor SSH: Al intentar conectar, se obtuvo el mensaje "SSH allowed: vehicle parked." El acceso requiere claves SSH especialmente firmadas generadas por Tesla. Cabe destacar que, como parte del programa Bug Bounty, Tesla proporciona un certificado SSH persistente para el acceso root a los investigadores que descubren una vulnerabilidad válida que permite privilegios de root. Esto agiliza significativamente la búsqueda de vulnerabilidades.
- API ODIN: Una API tipo REST en el puerto
8080, conocida como ODIN (On-Board Diagnostic Interface Network), devuelve un historial de "tareas" y está destinada a ser utilizada por la herramienta de diagnóstico "Toolbox" de Tesla.
La estructura interna de la MCU incluye dos placas apiladas una encima de la otra, confirmando su arquitectura modular.
Superando los Desafíos de Hardware: De LVDS a Mazo de Cables
Los intentos iniciales de conectar la pantalla y la MCU utilizando un cable LVDS de BMW fracasaron debido a la incompatibilidad física del conector. Esfuerzos desesperados por empalmar directamente los cables cortados provocaron un cortocircuito y la falla de uno de los chips microcontroladores de potencia en la placa. Esto hizo necesario pedir una nueva MCU. Sin embargo, con la ayuda de un amigo experto, el componente quemado fue identificado como un controlador buck "MAX16932CATIS/V+T". El chip fue pedido y reemplazado con éxito en un taller de reparación, lo que permitió restaurar la MCU dañada, resultando en dos unidades funcionales.
Al darse cuenta de la imposibilidad de encontrar un cable Rosenberger independiente, el investigador concluyó que los vehículos Tesla reales no utilizan cables separados para la pantalla. En su lugar, grandes mazos de cables integrados combinan numerosos cables de áreas adyacentes. Utilizando el esquema eléctrico de Tesla, se encontró el número de pieza para el mazo necesario (1067960-XX-E). Adquirir dicho mazo, a pesar de su volumen y un costo de alrededor de 80 USD, resultó ser la única solución viable.
Después de instalar el mazo de cables completo, el sistema funcionó correctamente. La pantalla táctil se encendió, y un ordenador de a bordo del Tesla Model 3 completamente funcional con su sistema operativo en marcha estaba ahora operativo en el banco de pruebas. Esto marcó un hito significativo en la creación de un entorno de pruebas integral para futuras investigaciones.
Perspectivas de Investigación y Próximos Pasos
Poner en funcionamiento el ordenador de a bordo del Tesla Model 3 en un banco de pruebas abre vastas oportunidades para una investigación en profundidad de su funcionalidad y seguridad. Con un sistema completamente operativo, el investigador planea centrarse en las siguientes áreas:
- Exploración de la Interfaz de Usuario (UI): Analizar la interacción del sistema, identificar características ocultas y posibles puntos de entrada.
- Interacción con la Interfaz de Red: Investigación más detallada de las APIs SSH y ODIN descubiertas, así como la búsqueda de otros puertos y servicios abiertos.
- Investigación del Bus CAN: Analizar los datos transmitidos a través de la red CAN automotriz interna para comprender la comunicación entre varios componentes del vehículo.
- Extracción de Firmware: Intentos de obtener acceso al firmware del sistema operativo para análisis estático y descubrimiento de vulnerabilidades a un nivel inferior.
Estos pasos no solo proporcionarán una comprensión más profunda de la arquitectura y el funcionamiento del sistema de Tesla, sino que también podrían descubrir vulnerabilidades críticas, que es el objetivo principal de participar en el programa Bug Bounty.
Puntos Clave
- Acceso a la Plataforma de Hardware: Para una investigación efectiva de ciberseguridad en vehículos Tesla, el acceso físico al ordenador de a bordo es crucial, logrado mediante la adquisición de piezas de coches dañados.
- Valor de la Documentación Abierta: La publicación por parte de Tesla de esquemas eléctricos detallados simplifica significativamente el proceso de ingeniería inversa y el ensamblaje de componentes fuera del entorno nativo.
- Desafíos del Equipo Especializado: La electrónica automotriz utiliza conectores y mazos de cables únicos que pueden ser difíciles de conseguir o que requieren soluciones poco convencionales para su integración.
- Arquitectura de Red Interna: El ordenador de a bordo de Tesla cuenta con su propia red aislada con direcciones IP predefinidas y servicios especializados como SSH y la API ODIN.
- Incentivos para Investigadores: El programa Bug Bounty de Tesla, que incluye proporcionar acceso root para las vulnerabilidades descubiertas, motiva a los expertos a realizar análisis en profundidad y mejorar la seguridad de los sistemas automotrices.
— Editorial Team
Aún no hay comentarios.