Si eres un lector regular de nuestro blog, Kaspersky Daily, ya sabrás que existe la posibilidad de que alguien hackee un automóvil moderno. De hecho, en el mes de julio publicamos un artículo al respecto, el cual se basaba en una investigación realizada por la Universidad de Wisconsin, California y San Diego en el año 2010. El Dr. Charlie Miller, un famosos hacker de Apple además de ser un investigador en seguridad muy respetado, junto con Chris Valasek, el jefe de inteligencia en seguridad de IOActive, hicieron una presentación, sobre los ataques TI contra vehículos durante la conferencia Def Con, celebrada en la ciudad de Las Vegas la semana pasada.
La investigación de Valasek y Miller incluía un mayor número de detalles que el estudio anteriormente citado. Ambos publicaron todo tipo de información: datos sobre los exploits, los códigos que utilizan los coches para comunicarse, mecanismos para trucarlos, esquemas de las ordenadores de a bordo y muchísimos datos más. Los investigadores llevaron uno de los coches hackeados a la carretera para realizar una prueba de conducción y se sentaron en los asientos traseros con sus ordenadores mientras el reportero Greemberg conducía el vehículo que había sido manipulado.
Pero, antes de continuar con esta divertida historia, permitidme que os dé una lección rápida sobre los coches y sus equipos informáticos: los vehículos modernos contienen pequeños ordenadores llamados ECU. El número de estos dispositivos por coche varía pero algunos automóviles llegan a tener unos 50. Estos mini ordenadores sirven para un gran número de cosas. En el coche de Miller y Valasek, el ECU controlaba, monitorizaba y ayudaba a regular todo el funcionamiento del vehículo desde el control del motor al cierre centralizado. Casi todos los ECU están conectados entre sí a través del protocolo CAN. Ambas tecnologías actúan como el sistema nervioso central de un vehículo moderno, comunicándose entre ellas para registrar la velocidad o las revoluciones por minuto; o, también, para informar al sistema de frenado antes de que ocurra un accidente y se activen todos los mecanismos necesarios para evitar la colisión. La mayoría de estas señales se activan a través de los sensores del ECU.
Para vuestra información, los modelos de coches que utilizaron Valasek y Miller fueron un Ford Escape del 2010 y un Toyota Prius; aunque las conclusiones a las que llegaron se pueden aplicar a cualquier modelo o marca.
Los investigadores compraron un cable que funcionaba a través de un dispositivo ECOM que se conectaba a un equipo Windows mediante un puerto USB. Tras una ligera modificación, pudieron enchufar la otra punta del cable en el puerto OBD II del vehículo (situado debajo del volante y que utilizan los mecánicos para resetear los códigos del motor y comprobar el funcionamiento del coche). Una vez se conectó el cable, empezaron a monitorizar las formas en que los ECU se comunicaban entre sí y cómo se efectuaban dichas operaciones en ambos automóviles. Finalmente, tras comprender cómo funcionaba el protocolo de comunicación, comenzaron a jugar con él; inyectando sus propias señales que imitaban a aquéllas enviadas por los ECU del coche.
Dependiendo del coche con el que estaban trabajando, los investigadores hicieron que cada uno de ellos realizase diferentes tareas. A continuación, os comentaré las más interesantes.
Descubrieron que podían manipular el indicador de velocidad, el odómetro y el indicador de gasolina. En el caso del velocímetro, descubrieron que el ECU que monitorizaba la velocidad enviaba señales a través del bus CAN al ECU que controla el panel de herramientas. Para trucar el indicador de velocidad, Valasek y Miller tuvieron que enviar señales falsas al panel de herramientas como si fuera el verdadero ECU. Una vez que consiguieron la frecuencia de envío correcta, hicieron que el velocímetro mostrase la velocidad que ellos querían.
Se podían bloquear y desbloquear las puertas del Prius, manipulando el sistema hasta tal punto que se podía acceder al vehículo sin desbloquear los cierres.
En el caso del modelo Ford, lanzaron un ataque DDoS, sobrecargando el ECU, anulando la dirección asistida y limitando el radio de giro del vehículo al 45%. Además, fueron capaces de manipular el módulo de aparcado. No obstante, ambos investigadores admitieron que el sistema de aparcado funciona a una velocidad muy baja y el mayor desastre que consiguieron fue que el coche chocara con el vehículo aparcado a su lado.
Valasek y Miller jugaron también con la dirección del Prius. Configuraron los ECU del automóvil para que la función de aparcado automático solo funcionara si el coche estuviese retrocediendo o viajando a menos de diez km por hora. Así, los investigadores trucaron el vehículo para que pensara que estaba retrocediendo cuando no era cierto y creyese, a su vez, que se estaba moviendo más lento de lo que en realidad hacía. Sin embargo, no fueron capaces de hacer girar el volante como hace el verdadero sistema de aparcado, pero pudieron contralarlo mediante giros esporádicos en una y otra dirección.
Además, el modelo Prius dispone de una función que gira ligeramente el vehículo en el caso de que el conductor se salga de la carretera. El ECU encargado de esta tarea solo permite un giro del volante de 5º. Valasek y Miller pudieron hackear esta funcionalidad, comprobando que aunque 5º no suponga un gran cambio en la dirección, puede ser un giro bastante significante si conducimos a alta velocidad o en una carretera muy estrecha.
Con respecto al Ford, es posible enviar un comando al bus Can para decir al coche que purgue el sistema de frenado. Mientras sucedía esto, el vehículo seguía en marcha. Un ataque contra la purga de frenos solo funcionará si el automóvil se mueve más lento que 10 km por hora, bastante despacio, pero lo suficientemente rápido para que uno de los investigadores chocará el vehículo Ford Escapa contra el muro del garaje durante la prueba.
Asimismo, el bus Can del Ford puede enviar un mensaje para que los pistones dejen de funcionar. Valasek y Miller hicieron ingeniería inversa con el código y lo enviaron una y otra vez. El coche no arrancó hasta que dejaron de enviar el código.
Además, también encontraron un comando que apagaba las luces del exterior e interior del vehículo Ford. El ECU encargado de la iluminación solo atendía a este comando si el coche estaba parado, pero si los investigadores enviaban el comando cuando estaba parado, el coche obedecía la orden incluso en marcha. Esto supondría que podrían conducir el coche sin las luces de freno. Sumado a esto, una vez el coche estuviera aparcado, no podría salir. Probablemente porque el ECU en cuestión también controlaría el freno que permite sacar el coche del aparcamiento. Los investigadores también pudieron jugar con las luces del techo del Prius, apagándolas y encendiéndolas pero solo si el conductor tenía activado la opción “auto” de iluminación; función que apaga y enciende las luces dependiendo de la cantidad de luz que haya en el exterior del coche.
Mientras jugaban con el control de crucero del Prius, los investigadores no fueron capaces de acelerar el coche, buenas noticias, al fin y al cabo. En cambio, se las arreglaron para trucar el vehículo para ralentizarlo e incluso pararlo por completo al convencer al sistema pre-colisión de que el automóvil estaba a punto de chocar contra un objeto. Incluso si el conductor pisara el acelerador hasta el fondo, el coche seguiría frenando. Para conseguir que el Prius acelerara sin tener en cuenta el control de crucero, Valasek y Miller tuvieron que modificar el cable y conectarlo directamente al ECU que controlaba el acelerador del automóvil, porque éste no estaba conectado al bus CAN. Solo consiguieron que el vehículo acelerase durante unos segundos después de pisar el pedal. Pero, incluso ese lapso de tiempo tan breve podría ser realmente peligroso.
Otra función del sistema de pre-colisión es controlar el cinturón de seguridad para que éste funcione antes de una colisión. Los investigadores fueron capaces de hacerlo funcionar cada vez que querían.
Tras esta investigación, hemos podido saber que es posible inyectar un código y ejecutarlo dentro de las máquinas, infectándolas con malware.
Ahora os preguntaréis: ¿Cómo podemos evitar que hackeen nuestro coche? Comprando uno realmente antiguo. Esta solución sí funciona. Estoy seguro de que mi Honda Accord del 98 es inmune al ataque de cualquier hacker. Si tenéis un vehículo último modelo, éste os avisará a través de los sensores de cualquier incidencia, en cambio, viajar con mi viejo Honda siempre depara nuevas aventuras en el camino.
Miller y Valasek son dos expertos respetados en la industria de la seguridad informática. Su trabajo es hackear cosas para hacer del mundo un lugar más seguro. Además, sus investigaciones incluyen todos los detalles técnicos por si queremos emular su hazaña, aunque poca gente posee sus conocimientos y experiencia para conseguirlo. Por cierto, muchas empresas automovilísticas tienen en cuenta sus estudios a la hora de ofrecer vehículos más seguros.