domingo, octubre 25, 2015

"Elimínalo, pero que parezca un accidente"

La verdad es que le he tomado mucho cariño a mi último malignomóvil aunque llevo ya un tiempo dándole vueltas a cuál será el nuevo modelo que vendrá a ocupar mi atención. Los coches bonitos y rápidos siempre me resultaron cautivadores, pero hoy en día hay que mirar muchas cosas antes de meterse en un nuevo auto, sobre todo con los ataques de hacking que se puede producir en ellos. He de decir que no me considero un gran conductor de coches. Me distraigo con facilidad con mis pensamientos y emociones, por lo que un día que tenga mucho estrés emocional o que esté preocupado por algo, suele ser un día en el que puedo tener un incidente que me lleve a "cambiar la aerodinámica de mi coche de forma abstracta no premeditada".

Figura 1: "Elimínalo, pero que parezca un accidente"

Creo que de todos los vehículos que he sido dueño he tenido la "suerte" de probar el airbag de conductor. Algunas veces por culpa de otros, y algunas veces por culpa mía como os conté recientemente. Esa es una buena medida de seguridad que evita que te golpees contra el volante en cuerpo y cabeza, ahorrando muchas lesiones graves. Por eso es bueno que se revise periódicamente su funcionamiento. Y aquí es donde viene el asunto del tema de hoy, que está descrito en este paper.

Figura 2: Arquitectura de conexión para verificación de seguridad de auto

Un grupo de la Universidad de Tecnología y Economía de Budapest han estado trabajando en ver cómo sería engañar a un sistema de verificación de funciones de un auto para hacer un ataque dirigido y deshabilitar el airbag. Es decir, ir al taller donde habitualmente fuera un objetivo que se quisiera eliminar e infectar el equipo al que se conecta el software de verificación de la víctima - en el sentido más amplio de la palabra víctima - con un malware para hacer un ataque de man in the middle con inyección de DLLs. Algunas formas de hacer esto las tenéis en estos artículos, pero si no, se hace como con XCodeGhost y se reemplaza todo el software de diagnóstico:
- API Hooking para inyectar DLLs .NET con NetInternals
- Crear un Proxy de DLLs en .NET
- Uso de API Hooking en Windows para analizar binarios
- Inyección de código en ensamblados .NET

- Metiendo los dedos en el enchufe
La idea es que, realizando un hooking de las funciones en memoria se puede hacer un man in the middle de los mensajes que van del auto al programa de diagnóstico y de los que van del programa de diagnóstico al auto, para conseguir que, por ejemplo, mientras que el auto tiene el airbag de conductor desactivado el programa de diagnóstico emita un mensaje totalmente contrario, es decir, como que el airbag está correctamente configurado y activado.

Figura 3: Se inyecta una DLL que en memoria hace man in the middle de mensajes

En palabras de los investigadores esto sería como realizar un ataque "Stuxnet-Style", ya que se está engañando a los técnicos que revisan la seguridad del sistema, mientras que por detrás el airbag ha sido desactivado por el software malicioso en el equipo de diagnóstico infectado.

Figura 4: En Stuxnet desde el PC se manipularon los PLCs aquí se manipula la ECU

Los investigadores realizaron las pruebas con un Audi TT - precisamente el que fuera mi Malignomóvil I - y fueron capaz de eliminar la protección del airbag y sacar resultados contrarios en el software de verificación. Cualquier técnico que hubiera revisado con ese equipo cualquier Audi TT de un taller, habría obtenido que el airbag estaba funcionando correctamente mientras que el auto iría sin protección de seguridad.

Figura 5: Prueba de Concepto sobre un Audi TT Coupé

El resto sería esperar. Esperar al accidente. Esperar a que el coche tuviera necesidad de hacer uso de la función de airbag y no lo hiciera. Las investigaciones irían entonces por averiguar por qué falló el airbag, y sería necesario hacer un forense ... ¡al equipo de diagnóstico!, ya que todo lo que sucedió después fue normal. Un equipo que una vez usado podría hacerse desaparecer. Por supuesto, si esto además se puede hacer remoto como ya hemos visto en el pasado, la cosa es mucho más fácil para el atacante.

Figura 6: Diferencia entre el mensaje de airbag activado o desactivado

Por supuesto, con este sistema no solo se puede hacer la manipulación del airbag, sino de todos los mecanismos de seguridad que llevan hoy en día los vehículos, como el ESP o el ABS, que por si os quedan dudas también me han ayudado a salir de más de un entuerto en el que me he metido por caer en estado de ensoñación pensando en una mariscada, un concierto o cómo resolver un problema. Al final los mecanismos de seguridad están ahí para ayudarnos y si en un momento dejan de estar la cosa puede ser fatal. Eso sí, con este método... parecería un accidente.

Saludos Malignos!

7 comentarios:

Ivan de la Jara dijo...

La blackberry priv es lo que todo hacker deberia llevar hehehe

Anónimo dijo...

Esto da yuyu!

Saludos!

Txema dijo...

Ya vi algo hace tiempo pero algo mas serio, te dejo el link, es de fiar ;-)
http://www.elmundo.es/motor/2015/07/27/55b64b8a268e3e43678b4586.html

Alain Vega Labrada dijo...

Muy buen articulo ahora solo tengo que conseguir un audi tt para preocuparme de verdad.

Alain Vega Labrada dijo...
Este comentario ha sido eliminado por el autor.
M.A dijo...

Yo también tengo un TT...espero que nadie quiera liquidarme!!! Ya me has dejado pensando en que taller dejar el coche para revisarlo y si le debo pasta a alguien. Jajaajja un fuerTTe abrazo Chema.

Unknown dijo...

Si da miedo !!

Entrada destacada

Tu Latch "Hack Your Innovation Contest": Haz un PoC & Hack por 1.000 €

El pasado Telefónica Innovation Day 2024 lanzamos oficialmente el " Tu Latch Hack Your Innovation Contest " en el que repartimos ...

Entradas populares