Cómo hackeamos la casa inteligente de nuestro jefe

1 Jul 2019

 El concepto de las casas inteligentes cada vez más popular. Aunque antes solo atraían a geeks y a aquellos que siempre compran las últimas novedades tecnológicas, ahora se han vuelto muy populares, además, los paquetes de instalación básica tienen un precio asequible.

Uno de nuestros colegas se unió a la fiesta de las casas inteligentes y añadió un par de cosas más tecnológicas y sofisticadas a su hogar. Tras la instalación, pensó que a los investigadores de Kaspersky ICS CERT (solo en inglés) les gustaría divertirse con su nuevo juguete. Evidentemente, el concepto de diversión que tienen los investigadores de seguridad es romper los juguetes nuevos. Naturalmente, les pareció una idea fabulosa. Y sí: lo lograron. Por tanto, esta es una breve historia de cómo hackearon esa casa inteligente y qué pudieron hacer con ella una vez dentro.

Comienza el hackeo

El escenario es el siguiente: la casa, en una ubicación remota, cuenta con un centro inteligente llamado Fibaro Home Center Lite que es el responsable de gestionar todas las cosas inteligentes que estén conectadas.

Las cosas inteligentes de la casa son: luces con sensor de movimiento que pueden encenderse y apagarse de forma automática, un refrigerador, un equipo de música y una sauna que se pueden operador y activar de modo remoto. Varios detectores de humo y de inundación, además de un par de cámaras IP para vigilar la casa, también están conectados a este mismo centro inteligente, además del sistema de calefacción y la puerta de la entrada con un videoportero inteligente.

Todos estaban conectados a la red inalámbrica doméstica. Lo único que sabían los investigadores de seguridad era el modelo del centro doméstico inteligente y su dirección IP.

Cómo funciona: reduciendo la superficie de ataque

Entonces, ¿cómo atacas una casa inteligente? Se suele hacer de la siguiente forma: el equipo de investigadores de seguridad intenta tomar nota de todos los posibles vectores de ataque, diseñando así la llamada superficie de ataque. Entonces, prueban minuciosamente los métodos más prometedores y van descartándolos uno por uno hasta encontrar un ataque que funcione y que puedan utilizarse para penetrar en la red.

Pero algunos vectores de ataque son más complicados de explotar que otros y también suelen cerrarse durante el proceso de diseño de la superficie de ataque; por lo que los cibercriminales no quieren perder tiempo y esfuerzos intentando utilizarlos, al igual que el equipo de investigadores de seguridad. Algunos vectores de ataque presentan limitaciones, ya que requieren que el atacante esté físicamente cerca de su objetivo, por ejemplo, y estos vectores tampoco interesan mucho en este caso.

Por ello, los chicos de ICS CERT de Kaspersky decidieron no fijarse en el protocolo Z-Wave de ataque (que utiliza el centro doméstico inteligente para comunicarse con los electrodomésticos), ya que requiere la presencia física del atacante cerca de la casa. También descartaron la idea de explotar el intérprete del lenguaje de programación, ya que el centro inteligente Fibaro utilizaba la versión parcheada.

Finalmente, consiguieron encontrar una vulnerabilidad de inyección SQL en remoto, a pesar de los esfuerzos de Fibaro por evitarla, y un par de vulnerabilidades de ejecución de código en remoto en el código PHP (para más información, echa un vistazo a este informe de Securelist).

En caso de explotación, estas vulnerabilidades permitirían que los atacantes consiguieran derechos de superusuario sobre el centro inteligente, lo que significa el control total sobre el mismo. Vale la pena señalar que ni siquiera el propietario del centro tiene estos derechos de acceso y, por consiguiente, no podría invalidar las acciones de los atacantes. Pero, primero, los atacantes tendrán que poder enviar comandos al dispositivo.

La desventaja de las casas inteligentes

Lo más importante de las casas inteligentes de Fibaro es que se pueden gestionar de modo remoto desde cualquier localización a través de la nube. Por tanto, las vulnerabilidades pueden existir no solo en el dispositivo, sino también en la nube y en los protocolos de comunicación que utiliza. El problema es que en la nube de Fibaro había una vulnerabilidad grave que permitió a los atacantes acceder a todas las copias de seguridad cargadas desde los centros Fibaro de todo el mundo.

Así fue cómo el equipo de investigadores de seguridad adquirió los datos almacenados por el Fibaro Home Center en esta casa en particular. Entre otras cosas, esta memoria de seguridad contiene un archivo de base de datos con mucha información personal (la dirección de la casa, los datos de geolocalización del smartphone del propietario, la dirección de correo electrónico utilizada para inscribirse en Fibaro, la información sobre los dispositivos inteligentes (Fibaro o no) del propietario de la casa e, incluso, la contraseña del propietario.

No obstante, la contraseña estaba bien almacenada, con salt y con la función hash. Descifrarla no fue sencillo y no resultó útil para los investigadores de seguridad. Cabe señalar que, si los demás dispositivos inteligentes hubieran requerido contraseña, esta se hubiera almacenado en la base de datos sin cifrado.

Entonces, el equipo de investigadores de seguridad confeccionó una versión especial de copias de seguridad que contenía una carga en forma de un script PHP que ejecutaría arbitrariamente los comandos enviados de modo remoto. Después, utilizaron una función en la nube que les permitía enviar correos electrónicos y mensajes SMS al propietario para avisarle de que algo andaba mal con el centro inteligente y que tenía que actualizarlo para restaurar sus funciones.

Es evidente que una persona experta en seguridad de la información que ya estaba esperando el ataque se daría cuenta rápidamente de que la solicitud es realmente un señuelo, pero un usuario común probablemente no pensaría lo mismo. Por tanto, el propietario de la casa inteligente le siguió la corriente y así es como los atacantes consiguieron acceder al centro, junto con todos los dispositivos inteligentes que controlaba. Y, lo que es más importante, también consiguieron el acceso a la red doméstica.

¿Qué sucede cuando hackean una casa inteligente?

Una vez que los atacantes consiguen asaltar virtualmente la casa inteligente, pueden controlar todos los electrodomésticos y dispositivos conectados a la red doméstica. En este caso, eso significa que podrían controlar la temperatura de la casa, activar la sauna, poner música muy fuerte (de hecho, esto lo hicieron: cambiaron el tono de alarma por una base de bajo y batería), imprimir desde una impresora conectada a la red y mucho más.

Además, podrían abrir de modo remoto la puerta principal y desactivar las cámaras de seguridad y los sensores de movimiento: la mejor forma de robar en una casa, ¿no? Y, como conocen las coordenadas del teléfono del propietario, podría planear la operación para cuando estuviera fuera de casa.

Por tanto, en general, que alguien hackee tu casa puede que no te afecte directamente, a menos que los atacantes decidan realizar un robo y hackear solo para desactivar el sistema de seguridad. Entonces, la moraleja es que cuando planifiques una casa inteligente no confíes ciegamente en sus funciones de seguridad, ya que pueden acabar desactivadas.

También debemos reconocer el mérito de Fibaro Group, que ha creado un producto bastante seguro y que también trabajó junto con nuestros investigadores de ICS Cert para parchar rápidamente las vulnerabilidades que descubrieron. Los Fibaro Smart Home Centers ahora son más seguros como resultado de nuestro pequeño experimento, por lo que consideremos que ahora se pueden utilizar con confianza.