lunes, enero 23, 2017

Nosotros también hackeamos un auto (como muchos otros)

En la última edición de la Ekoparty 12, he tenido la oportunidad de dar una charla relacionada con el mundo del Car Hacking junto a Sheila (@unapibageek que ya conoceréis por su proyecto CROZONO que usa drones y robots para hacer hacking) donde el objetivo final era hablar sobre Backdooring the Can pero donde también aprovechamos para dejar planteadas diferentes situaciones relacionadas con la temática debido a todo lo que ya se ha publicado en Internet y en los medios tradicionalistas sobre este tema. Son de ellas de las que quería hablar hoy.

Figura 1: Nosotros también hackeamos un auto (como muchos otros)

La primera de ellas viene relacionada a la típica pregunta que hacen siempre a los investigadores de seguridad cuando dedican tiempo y dinero en buscar fallas de seguridad en el sistema, sea este un protocolo de sistemas industriales como el de mi última charla en las ElevenPaths Talks o como en este caso un vehículo. ¿Por qué buscar fallas en un auto?


Figura 2: Analizando la seguridad de un protocolo industrial

Si bien la respuesta es obvia para la gran mayoría de los que leéis este blog, para muchos parece no serla. También hay otros que piensan que no hay valor en analizar un auto ya que, supuestamente para los más experimentados en este mundo del hacking, es obvio que va a estar “roto”. Para mí la respuesta es mucho más profunda: “Quiero seguir aprendiendo”.

Con el correr de los años, los automóviles fueron agregando cada vez más electrónica, y en mis principios, era todo un problema modificar un auto. Hoy en día hay cientos de lugares donde lo hacen como un servicio al cliente, aunque muchos de ellos no entiendan el potencial real de esos cambios desde la óptica de la seguridad - y en este caso no es Security, sino Safety -. Entender todo lo relacionado con la cantidad de protocolos y estándares de comunicaciones que existen dentro de un auto y que no son tan comunes en otros medios, es de por sí un hermoso desafío que me permite no aburrirme.

Figura 3: Backdooring the CANBus for Remote Car Hacking

Otra de las situaciones planteadas en la charla de la Ekoparty 12 que podéis ver en el vídeo, era referida a todas las formas de hacking de autos de las que ya se han hablado antes. Muchas de esos estudios no están necesariamente asociados al tema que tratamos nosotros del CANBus o a la tecnología de los “autos conectados”, cómo pueden ser las modificaciones sobre el odómetro, modificar los limitadores de velocidad (Chip Racing), y demás formas que uno asocia a la mecánica general  - porque antes así se hacía -  pero que ahora son técnicas de bypass o de ingeniería inversa de la electrónica que lleva el auto.

Hacking the CAN Bus

Finalmente abordamos el tema en cuestión de nuestro trabajo relacionado con el CAN Bus, y comentamos que la principal motivación de nuestra charla no era el solo hecho de explicar sobre las debilidades del CAN  - ya hay libros relacionados con este tema y hay muchas charlas asociadas - sino que lo que más nos movilizaba era poder hacer un estudio con autos de gama media para demostrar que esto no solo pasa en Jeep, BMW o en Tesla, sino que además puede pasar con un auto “más normal” a través del puerto de diagnóstico estándar OBD-II.

Figura 4: Noticia del hacking de Tesla Model S

Sheila y yo notamos que algunos habían tenido ideas similares pero sin embargo utilizaron placas con BlueTooth limitando el alcance del ataque a la distancia que soporte la placa (y mayormente apoyados en un Arduino). Nosotros lo hemos hecho a la vieja usanza utilizando un PIC 18F2685, un Transceiver MCP 2551 y un Shield de GPRS (sim800L) para poder controlar el PIC vía comandos por mensaje de texto.

Figura 5: Conexiones a los puertos de diagnóstico con el estándar OBD-II

En resumen, la idea se centra en poder utilizar técnicas de Ingeniería Social como las comentadas en el vídeo, para contar con unos segundos con el fin de colocar el dispositivo en el auto de la víctima, y luego controlarlo remotamente por medio de mensajes SMS.


Figura 6: Conferencia sobre técnicas de Ingeniería Social

Para ir cerrando el artículo quería comentarles que en estos últimos días, luego de ya unos meses presentada la charla y de continuar probando con diferentes autos de gama media, nos hicieron llegar por Twitter un artículo de Scientific American titulada: “Why Car Hacking Is Nearly Impossible” en donde el autor expone tres frases muy peculiares que quisiera destacar:

Figura 7: ¿El tiempo de estudio es un problema? Por eso se llaman APT (Advanced Persistent Threat)

¿Será que el autor ha sido siempre muy veloz y efectivo en sus investigaciones? Ya que para mi es común que aunque tardes un año en encontrar un bug y explotarlo, una vez descubierto, no necesitas un año más para volver a encontrarlo. Y además, ¿esta mal probar en los vehículos propios? Siempre pensé que probar en vehículos que no son propios sin autorización podría ser ilegal en la mayoría de los países. Creo que el próximo estudio lo haré con un auto que encuentre por allí en algún lado ;-)

Figura 8: Esta parte de la charla de Charlie Miller no la ha entenddio

¿Qué este bug se haya descubierto y realizado una PoC con una PC conectada, quiere decir que no se puede automatizar en algo más pequeño y controlado remotamente?? Bueno, nosotros ya nos hemos encargado de ello. No para el Tesla porque aún no cuento con uno, pero quizás debería pedirle al Big Boss que me regale uno con fines de investigación. [Nota de Chema Alonso: Buen intento, Claudio]

Por otro lado, en la demostración están dejando en claro que puede encenderse el auto, por lo cual, es una técnica que podrían utilizar los delincuentes para cometer un simple robo - como se ha visto en muchos otros casos - quizás donde el autor viva no sucedan estas cosas, pero en muchos de nuestros países los maleantes están atentos a toda forma de poder llevarse un auto.

Figura 9: Si no lo veo no lo creo (dice el autor)

Creo que en la vida hay afirmaciones que no deberían realizarse, ¿no? Ya hubo varios fabricantes como algún gigante de las bases de datos que han aprendido esta lección. Sin más, cierro el artículo con una frase de Einstein que suelo utilizar: “Todos somos ignorantes, pero no todos ignoramos las mismas cosas”.

Autor: Claudio Caracciolo (@holesecChief Security Ambassador at ElevenPaths

1 comentario: