¿Es un servicio MQTT que se ejecuta en Internet más propenso a ataques de piratas informáticos en comparación con los servicios web tradicionales como REST y sockets web?

Sí, pero no porque sea MQTT en sí, sino porque los operadores de TI existentes no están buscando DoS contra puertos MQTT. Con la web, el correo electrónico y otros protocolos populares, existen herramientas y capacitación para marcar el tráfico sospechoso, y en entornos más sofisticados, los enrutadores, los cortafuegos y los equilibradores de carga pueden mover el tráfico sospechoso a un servidor diferente o negar la ruta.

MQTT, como protocolo ligero, generalmente (pero no siempre) no hará uso de SSL u otros mecanismos de seguridad. Esto se debe a la sobrecarga del protocolo de enlace y a la necesidad de cifrar los datos en el dispositivo. Esto significa que los datos MQTT son propensos a ataques que aprovechan un canal no cifrado (hombre en el medio, etc.).

Debido a que MQTT es pub / sub, donde el dispositivo no es un servidor, es más robusto que algunos enfoques de IoT implementados actualmente, como el uso de UDP y la apertura de vectores de ataque en el dispositivo. Por lo tanto, aunque puede que no sea más seguro o robusto que REST sobre https, tiene buenos principios arquitectónicos sobre los que se puede construir.

Decidiría sobre MQTT o no en función de sus características y otras consideraciones arquitectónicas antes de preocuparme por los vectores de ataque de hackers. Entonces se puede desarrollar un modelo de amenaza y gestionar el riesgo en consecuencia. Por ejemplo, la solución para que sea más susceptible a DoS simplemente puede estar funcionando mejor con los ingenieros de red para estar atentos al tráfico de un servidor en particular: el puerto. El cifrado de datos y el cifrado de canales es un problema que existe con todos los protocolos, donde la seguridad del cifrado debe compararse con el consumo de energía y ancho de banda; esto no es específico de MQTT