La historia de Internet y del Internet de las cosas puede parecer muy desafortunada, pero todavía queda algo de esperanza. Por ejemplo, aunque los investigadores de seguridad Dennis Giese y Daniel Wegemer consiguieron hackear el aspirador Xiaomi Mi Robot, demostraron que este es mucho más seguro que cualquier otro dispositivo inteligente.
En su charla en el Chaos Communication Congress 34, en Leipzig, los investigadores explicaron cómo funciona el software del dispositivo y qué vulnerabilidades tuvieron que usar para saltarse su protección.
Hackear Mi Robot con papel aluminio
Cuando empezaron su investigación, Giese y Wegemer se sorprendieron al descubrir que el aspirador de Xiaomi tiene un hardware más potente que muchos smartphones. Está equipado de tres procesadores ARM, uno de ellos Quad Core. Suena muy alentador, ¿verdad? Así que, para empezar, Giese y Wegemer intentaron usar varios vectores de ataque para hackear el sistema.
Primero, examinaron una unidad para ver si había alguna forma de acceder a través del puerto micro USB. Pero no tuvieron mucho éxito, ya que Xiaomi protege esta conexión mediante algún tipo de autentificación. Después de eso, los investigadores desmontaron Mi Robot y trataron de encontrar un puerto serie en la placa base. Este intento tampoco fue bien.
Más tarde, se centraron en la red. Los investigadores intentaron escanear los puertos de red del dispositivo, pero estaban todos cerrados. Indagar en el tráfico de red no ayudó, ya que las comunicaciones del robot estaban cifradas. Hasta ahora estoy bastante impresionado: la mayoría de dispositivos del IdC ya habría sido hackeados a estas alturas, ya que sus desarrolladores no suelen ir tan lejos en lo que a seguridad se refiere. Nuestra reciente investigación muestra perfectamente lo inseguros que son los dispositivos conectados.
Pero volvamos a Xiaomi Mi Robot. El siguiente intento fue atacar el hardware del robot aspirador y ahí dieron con la clave. Usaron papel aluminio para provocar un cortocircuito en alguno de los pequeños contactos que conectan el procesador con la placa base, para que el procesador entrara en un modo especial que permitiera leer e incluso escribir en la memoria flash a través de la conexión USB.
Así es como Giese y Wegemer lograron acceder al firmware de Mi Robot, le aplicaron ingeniería inversa, lo modificaron y lo subieron al robot aspirador, de este modo consiguieron el control total de la unidad.
Hackear Mi Robot a través del wifi
Pero desmontar aparatos y hackear hardware no es tan divertido como un hackeo no invasivo. Después de haber aplicado ingeniería inversa al firmware del dispositivo, los investigadores descubrieron cómo hackearlo solo con el wifi (y un par de defectos en el mecanismo de actualización del firmware).
Xiaomi ha implementado un método de actualización de firmware muy bueno. El nuevo software viene acompañado de una conexión cifrada, además el paquete de firmware también está cifrado. Sin embargo, para cifrar los paquetes de actualización, Xiaomi usa una única contraseña: “rockobo” (no uséis contraseñas inseguras, chicos). Esto permitió que los investigadores cifraran de forma correcta el paquete que contiene su propio firmware.
Después de eso, emplearon una clave de seguridad que obtuvieron de la aplicación de Xiaomi para smartphones para enviar una solicitud al robot aspirador y que éste descargara e instalara un nuevo firmware, no desde la nube de Xiaomi, sino desde su propio servidor. Y así es cómo volvieron a hackear el dispositivo, esta vez con wifi.
Dentro del firmware de Mi Robot
Cuando examinaron el firmware, Giese y Wegemer averiguaron un par de cosas interesantes sobre los dispositivos de Xiaomi. En primer lugar, el firmware de Mi Robot es Ubuntu Linux, que se parchea a menudo y con rapidez. Segundo, usa una contraseña de administrador diferente para cada dispositivo, por lo que no hay una contraseña maestra que se pueda usar para un hackeo masivo de robots aspiradores. Y tercero, el sistema ejecuta un firewall que bloquea todos los puertos que puedan usar los hackers. Nos volvemos a quitar el sobrero ante Xiaomi, pues en comparación con la mayoría de dispositivos del Internet de las cosas, se trata de una muy buena protección.
Sin embargo, los investigadores percibieron algo decepcionante en Mi Robot. El dispositivo almacena y sube mucha información a la nube de Xiaomi, lo que se traduce en muchos megabytes al día. Junto con cosas razonables como la telemetría del funcionamiento del dispositivo, estos datos incluyen los nombres y las contraseñas de las redes wifi a las que se conecta y los mapas de la habitación que genera el dispositivo con el sensor LIDAR que lleva incorporado. Y lo que es peor: esta información queda registrada en el sistema para siempre, incluso después de una restauración de fábrica. Así que, si alguien compra un robot aspirador Xiaomi usado en Ebay y hurga un poco, podrá obtener toda la información.
Para concluir esta publicación, cabe destacar que las dos técnicas que emplearon Giese Y Wegemer sólo les permitió hackear sus propios dispositivos. El primero requería acceso físico al robot aspirador. Mientras que, con el segundo, tuvieron que obtener una clave de seguridad para hacer la solicitud de actualización y esas claves se generan cada vez que el dispositivo se vincula con la aplicación del móvil. Las claves de seguridad son únicas, y resulta complicado conseguirlas si no se tiene acceso al smartphone vinculado al dispositivo que vas a hackear.
En resumen, la investigación demuestra que Xiaomi da más importancia a la seguridad que otros fabricantes de dispositivos inteligentes, y eso es un símbolo de esperanza para nuestro futuro. Se puede hackear casi todo, pero cuanto más trabajo conlleve, más improbable será que los cibercriminales se molesten en intentarlo, ya que suelen ir detrás del dinero fácil.