Una vulnerabilidad en la infraestructura de Tesla hizo posible hacerse con el control de cualquier coche.

Revelado Información sobre problemas en la organización de la protección en la red Tesla, lo que permitió comprometer completamente la infraestructura que interactúa con los automóviles de consumo. En particular, los problemas identificados permitieron acceder al servidor encargado de mantener un canal de comunicación con los automóviles y enviar comandos transmitidos a través de una aplicación móvil.

Como resultado, el atacante logró obtener acceso root al sistema de información de cualquier automóvil a través de la infraestructura de Tesla o transmitir remotamente comandos de control al automóvil. Entre otras cosas, se demostró la capacidad de enviar comandos como arrancar el motor y desbloquear las puertas del coche. Para acceder, todo lo que se necesitaba era conocer el número VIN del coche de la víctima.

La vulnerabilidad fue identificada a principios de 2017 por el investigador de seguridad Jason Hughes.
(Jason Hughes), quien informó inmediatamente a Tesla sobre los problemas y hizo pública la información que descubrió sólo tres años y medio después del incidente. Cabe señalar que en 2017 Tesla solucionó los problemas pocas horas después de recibir la notificación de la vulnerabilidad, tras lo cual reforzó radicalmente la protección de su infraestructura. Por identificar la vulnerabilidad, el investigador recibió una recompensa de 50 mil dólares estadounidenses.

El análisis de los problemas de la infraestructura de Tesla comenzó con la descompilación de las herramientas ofrecidas para su descarga desde el sitio web. caja de herramientas.teslamotors.com. Los usuarios de automóviles Tesla con una cuenta en el sitio web service.teslamotors.com tuvieron la oportunidad de descargar todos los módulos para desarrolladores. Los módulos se cifraron de la forma más sencilla y las claves de cifrado las proporcionó el mismo servidor.

Después de descompilar los módulos resultantes en código Python, el investigador descubrió que el código contenía credenciales integradas para varios servicios de Tesla ubicados en la red interna de la empresa, a la que se accedía a través de VPN. En particular, en el código pudimos encontrar las credenciales de usuario de uno de los hosts en el subdominio “dev.teslamotors.com” ubicado en la red interna.

Hasta 2019, para conectar los coches a los servicios de Tesla se utilizaba una VPN basada en el paquete OpenVPN (luego sustituido por una implementación basada en websocket) utilizando una clave generada para cada coche. Se utilizó VPN para garantizar el funcionamiento de una aplicación móvil, obtener una lista de estaciones de carga de baterías y otros servicios similares. El investigador intentó escanear la red accesible después de conectar su automóvil a través de VPN y descubrió que la subred accesible a los clientes no estaba adecuadamente aislada de la red interna de Tesla. Entre otras cosas, se podía acceder a un host en el subdominio dev.teslamotors.com, para el cual se encontraron credenciales.

El servidor comprometido resultó ser un nodo de gestión del clúster y era responsable de entregar aplicaciones a otros servidores. Al iniciar sesión en el host especificado, pudimos obtener parte del código fuente de los servicios internos de Tesla, incluidos mothership.vn y firmware.vn, que son responsables de transmitir comandos a los automóviles de los clientes y entregar firmware. También se encontraron en el servidor las contraseñas e inicios de sesión para acceder a los DBMS PostgreSQL y MySQL. En el camino, resultó que el acceso a la mayoría de los componentes se puede obtener sin las credenciales que se encuentran en los módulos, resultó que era suficiente enviar una solicitud HTTP a la API web desde la subred accesible a los clientes.

Entre otras cosas, se encontró un módulo en el servidor, dentro del cual se encontraba el archivo good.dev-test.carkeys.tar con las claves VPN utilizadas durante el proceso de desarrollo. Las claves especificadas resultaron funcionar y nos permitieron conectarnos a la VPN interna de la empresa vpn.dev.teslamotors.com.
En el servidor también se encontró el código del servicio de la nave nodriza, cuyo estudio permitió determinar los puntos de conexión a muchos servicios de gestión. Se descubrió que la mayoría de estos servicios de administración están disponibles en cualquier automóvil, si se conecta mediante las claves VPN encontradas por los desarrolladores. Mediante la manipulación de los servicios, fue posible extraer claves de acceso actualizadas diariamente para cualquier automóvil, así como copias de las credenciales de cualquier cliente.

La información especificada permitió determinar la dirección IP de cualquier automóvil con el que se haya establecido una conexión a través de VPN. Dado que la subred vpn.dev.teslamotors.com no estaba separada adecuadamente por el firewall, mediante simples manipulaciones de enrutamiento era posible llegar a la IP del cliente y conectarse a su automóvil a través de SSH con derechos de root, utilizando las credenciales obtenidas previamente por el cliente.

Además, los parámetros obtenidos para la conexión VPN a la red interna permitieron enviar solicitudes a cualquier automóvil a través de la API web mothership.vn.teslamotors.com, que fueron aceptadas sin autenticación adicional. Por ejemplo, durante las pruebas fue posible demostrar la determinación de la ubicación actual del automóvil, desbloquear las puertas y arrancar el motor. El número VIN del vehículo se utiliza como identificador para seleccionar un objetivo de ataque.

Fuente: opennet.ru

Añadir un comentario