En el artculo de hoy os hablaremos de uno de los protocolos de moda, MQTT y cual es su impacto, en cuanto a ciberseguridad se refiere, en Espaa. MQTT es ampliamente usado en el mbito industrial, domtica y, en general, en todo lo relacionado con IoT.

MQTT es un protocolo de mensajes muy simple y ligero que se basa en un modelo publisher/subscriber, tambin conocido como productor/consumidor. Por una parte tendremos los publishers, que sern aquellos encargados de generar los mensajes a enviar. Siguiendo el flujo de las comunicaciones, encontraramos el intermediario (broker), que ser el encargado de distribuir los mensajes a los consumidores o subscribers. MQTT es un estndar ideado para las comunicaciones M2M (Machine to Machine) en las cuales varios dispositivos comparten informacin, ya sea a travs de un medio cableado o inalmbrico.

Nos faltara conocer cul es el proceso por el cual pueden los nodos publicar o suscribirse a informacin. Debemos tener en cuenta que este modelo est ideado para dispositivos de poca potencia y con consumos reducidos, como pueden ser muchas redes de sensores, donde se necesita que los dispositivos emitan o reciban informacin de manera peridica permaneciendo el resto del tiempo en un estado de consumo mnimo. Para ello, el brokerpermanecer activo constantemente a la espera de acciones por parte de los dispositivos situados en los extremos. Este ser, tpicamente, un componente de mayor potencia que realizar tareas para mantener el estado del sistema. Mientras que los extremos, publishersy subscribers, se limitarn a actuar de manera peridica.


Ejemp
lo de comunicacin mediante MQTT


El ltimo aspecto fundamental para comprender MQTT son los topics o temas. stos son el mecanismo por el cual se clasifica la informacin que se maneja. Cada publisher que quiere emitir determinada informacin lo asociar a un topic que almacenar el broker, y que podr ser ledo por los subscribers que accedan a ese topic en particular.

Por lo tanto, con los fundamentos bsicos de MQTT establecidos, podemos fijarnos en el abanico de aplicaciones dnde podemos encontrarlo. Por ejemplo, si accedemos a la URL http://ny-power.org/mqtt, encontraremos un sitio web donde se reciben datos sobre el consumo energtico de la ciudad de Nueva York. Podramos acceder a estos datos a travs de un suscriptor de MQTT, para lo cual podemos utilizar el siguiente repositorio de Github https://github.com/eclipse/mosquitto. Compilando el cdigo del directorio clientobtendremos tanto un publisher como un subscriber, que es tan sencillo como tener las dependencias necesarias para hacer make dentro de ste. Ejecutando el comando que aparece en el sitio web empezaramos a recibir datos con los que se puede jugar.

Pero en vez de pensar en un servicio que es pblico, como el del ejemplo anterior, pensemos en un caso en que se domotiza un hogar y sus propietarios tienen acceso remoto a informacin propia del mismo, como la temperatura de la vivienda, las luces que se encuentran encendidas, el estado de las puertas o de las persianas, etc. En este caso no creemos que el deseo de los propietarios sea que esa informacin pueda ser accedida pblicamente, y menos que pueda ser modificada y que desencadenara una accin de manera inesperada.

Obviamente, cuando se dise MQTT se tuvieron todos estos estos problemas presentes, no olvidemos que se trata de un estndar ISO, y se establecieron mecanismos de autenticacin basados en usuarios y contraseas, as como el cifrado de las comunicaciones mediante SSL. Sin embargo, los usuarios finales somos muy cmodos y queremos que todo sea plug-and-play sin que nos caliente la cabeza el nuevo cacharrito que nos hemos comprado y que nos va a permitir prepararnos las tostadas mientras nos lavamos la cara recin levantados…Para llevar a cabo nuestro estudio nos planteamos descubrir todos los dispositivos en Internet que utilizaran este protocolo. Para ello, la opcin ms cmoda es Shodan y nos permiti observar que, a fecha de 5 de enero, hay un total de 70.032 dispositivos MQTT a nivel mundial.


Nmero de dispositivos por pas

Entre estos 7 primeros pases se supera el 50% de los dispositivos totales calculados previamente. Adems podemos ver como el nmero de dispositivos es ms abundante en los pases orientales. Espaa queda en 12 lugar con un total de 1.372 dispositivos en los que nos centraremos ms adelante. Otro dato de inters es el software utilizado para soportar esta tecnologa:


  • un total de 43.063 dispositivos utilizando como plataforma MQTT, software que toma el mismo nombre que el protocolo que implementa y que es distribuido por la organizacin encargada del desarrollo del protocolo y que podemos descargar desde http://www.mqtt.org/software
  • y un total de 26748 dispositivos que utilizan mosquitto, el cual se trata de una implementacin open source de las versiones 3.1 y 3.1.1 del software anterior.


Un dato curioso es que mientras que a nivel global el software de MQTT parece estar ms presente que mosquitto, en Espaa la cosa cambia drsticamente encontrando 1.018 dispositivos que usan mosquitto (75% de dispositivos) frente a 353 utilizan MQTT.

DISPOSITIVOS ACCESIBLES DESDE INTERNET SIN AUTENTICACIN

Nos encontramos con que existen una serie de cdigos de respuesta del protocolo que identifican cuando los dispositivos no implementan medidas de autenticacin. El cdigo 0 significa que el dispositivo se encuentra accesible, mientras que los cdigos 4 y 5 significan que se requiere usuario y contrasea, y que el acceso no est autorizado, respectivamente.

Haciendo uso de los datos obtenidos de Shodan y un script muy simple para extraer aquellos valores que nos interesan, obtenemos rpidamente el registro de informacin que nos interesa. El resultado es que la cifra de dispositivos abiertos es de 1.122, un 81% de los dispositivos existentes en Espaa.

SOFTWARE INSEGURO

Otro dato que puede resultar de inters es conocer la versin de software que utilizan los dispositivos.


Diferentes versiones del software y su proporcin en Espaa


Como se observa en el grfico anterior, alrededor del 60% de los dispositivos utilizan la versin 1.4.8 de mosquitto. Si buscamos en el repositorio de Github, podemos ver que la siguiente versin a sta tiene la fecha de 2 de junio de 2016. Por lo tanto, podemos observar que la gran mayora de los dispositivos no son actualizados, con los riesgos que esto conlleva. El siguiente enlace recopila las vulnerabilidades que han sido encontradas en este software https://mosquitto.org/security/. Tambin se tiene que apuntar que la primera vulnerabilidad no se soluciona hasta la versin 1.4.11; por lo tanto la mayora de dispositivos en Espaa seran vulnerables.

DATOS EXPUESTOS DIRECTAMENTE A INTERNET

Lo ltimo que nos gustara mostraros de los datos obtenidos de Shodan son algunos de los topics que podemos encontrar en las direcciones IP que hemos listado anteriormente.



Extracto de topics pblicos en Internet

Recopilando el total de topics publicados por el conjunto de dispositivos suman 5.341, todos ellos pertenecientes a dispositivos espaoles. Entre ellos podemos observar diferentes marcas tanto de dispositivos como del software que utilizan (llaman la atencin alarmas, puertas, luces, termostatos, etc). Se podran modificar algunos de stos valores? Es una pregunta que dejamos en el aire.

Debemos ser conscientes de aquello que metemos en nuestras vidas y en nuestros hogares. Muchos de estos dispositivos que utilizamos vienen con configuraciones por defecto y sus fabricantes, en ocasiones, prefieren adornar sus funcionalidades a proveerlos de medidas de seguridad eficaces.

Fuente:
https://www.securityartwork.es/2019/02/01/el-protocolo-mqtt-impacto-en-espana/