Fran Brizzolis en Informáticos, Telecomunicaciones e Informática, Informática y Tecnología Gestor comercial 22/9/2016 · 4 min de lectura · +700

Analizando la seguridad en redes ZigBee



Analizando la seguridad en redes ZigBee




ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de comunicación inalámbrica para su utilización con radiodifusión digital de bajo consumo, basada en el estándar IEEE 802.15.4 de redes inalámbricas de área personal (wireless personal area network, WPAN). Su objetivo son las aplicaciones que requieren comunicaciones seguras con baja tasa de envío de datos y maximización de la vida útil de sus baterías.

En el artículo “Seguridad en comunicaciones ZigBee” se describían las características de este protocolo, los distintos elementos que conforman una red y las diferentes claves y métodos de consecución de las mismas. En este artículo, se analizarán los problemas que puede suponer para una red ZigBee la ausencia de autenticación entre dispositivos y de cifrado en las comunicaciones y de cómo esta situación representa un escenario vulnerable a ataques que pueden comprometer la seguridad.

En entornos industriales con infraestructuras inalámbricas de comunicaciones es muy común el uso de redes ZigBee formadas por múltiples nodos distribuidos, bien a lo largo de toda la extensión de la organización, bien en lugares concretos, pero igualmente extensos (naves industriales, a lo largo de kilómetros en las tuberías, etc.). Este hecho supone un gran reto a la hora de asegurar las redes, por ello es importante conocer el tipo de amenazas a las que se puede enfrentar una organización que utilice esta tecnología para la comunicación de sus dispositivos.

Existen distintas situaciones en las que, sin la debida protección, las redes ZigBee se verían comprometidas. Dentro de estos escenarios se destacarán cuatro por ser los que podrían tener mayor impacto en una red industrial.


Denegación de servicio

Por tratarse de entornos industriales, un ataque que persiga este objetivo puede causar graves daños, ya que un corte en las comunicaciones puede producir retardos en las lecturas de parámetros o causar un mal funcionamiento a ciertos dispositivos que no son capaces de recuperarse ante un problema de este tipo.

Un posible escenario en el que puede darse una denegación de servicio es la incorporación de múltiples dispositivos ficticios gracias a la inyección de tramas para crear dispositivos falsos que se conecten al elemento coordinador de la red, llegando a exceder el máximo permitido por una red ZigBee, fijado en un máximo de 65535 nodos distribuidos en subredes de 255 nodos. Este escenario se ha simulado en laboratorio para verificar el ataque con una simulación del ataque:

Analizando la seguridad en redes ZigBee

-Inyección de tramas en las comunicaciones del coordinador para simular nodos inexistentes-


Otra posibilidad de provocar denegación de servicio sería utilizando técnicas de jamming, mediante lo cual un atacante podría anular la comunicación para forzar el mecanismo de reasociación en la red. Cuando los nodos se asocian a una red ZigBee, estos envían su petición de asociación al coordinador o a uno de los routers. Aquel que recibe la petición se convierte en el padre del nodo. En caso de que un nodo pierda el contacto con su nodo padre, éste deberá realizar una reasociación con la red y obtener un nuevo padre. El hecho de hacer una reasociación tiene implicaciones en la actualización de las rutas entre diferentes nodos origen y destino. Estas rutas se encuentran almacenadas en las tablas de encaminamiento de los routers.

La ejecución de estos ataques contra determinados routers en instantes diferentes puede provocar la inestabilidad de las rutas en la red y, en consecuencia, las comunicaciones en ésta pueden verse afectadas. Este ataque también puede incrementar el consumo de batería por parte de los nodos atacados.

Analizando la seguridad en redes ZigBee -Ejemplo de denegación de servicio sobre un nodo en una red ZigBee-


Como resultado del ataque, la red se redistribuye y, si se incorporan dispositivos no permitidos dentro de la misma, se puede generar confusión en el coordinador, lo que puede dejar nodos con función de router o dispositivo final fuera de las redes, sin servicio. Como contramedida se propone el uso de una lista de los dispositivos autorizados en la red (lista blanca).

Dado el tamaño de las redes que se pueden encontrar en entornos industriales, el uso de contramedidas contra denegaciones de servicio, es muy complejo.


Suplantación

En redes Zigbee, conociendo previamente la dirección MAC del nodo víctima, es posible suplantar su identidad. El objetivo de este ataque puede ser realizar denegaciones de servicio o transmitir datos a terceros, llegando a robar datos que en algunas ocasiones pueden ser sensibles para la organización.


Analizando la seguridad en redes ZigBee

-Ataque de suplantación de un router-


Un nodo atacante podría enviar constantemente mensajes indicando que él posee la dirección escogida. Este hecho obligaría al coordinador o router a escoger una nueva dirección y a anunciarla, forzando así el envío de numerosos mensajes broadcast. La repetición sucesiva de este ataque podría suponer un retardo en la asociación del nodo a la red, e incluso podría impedir que ésta se completara con éxito.

Un nodo malicioso puede también generar tramas dirigidas a direcciones ZigBee falsas. En caso de utilizar el esquema de asignación de direcciones Cskip, que utiliza un esquema de árbol, el nodo atacante puede enviar datos dirigidos a direcciones no existentes, que serán por lo tanto transmitidos hacia ramas inexistentes del árbol de direcciones, provocando problemas en el encaminamiento y en consecuencia el mal funcionamiento de la red ZigBee.

Un rasgo que posee el protocolo ZigBee y que mitiga este tipo de situaciones, es el uso de un control de acceso de dispositivos a la red (autorización), manteniendo una lista de dispositivos autorizados en la red (lista blanca). Este hecho fuerza a que el coordinador actúe como suministrador de la clave maestra dificultando la tarea de la suplantación (sólo sería posible si es conocida la clave maestra).


Escuchas en la red

El uso de dispositivos para realizar escuchas en este tipo de redes para interceptar la información que se transmite, como ya se demostró en las pruebas realizadas en el artículo “Seguridad en comunicaciones ZigBee”, podría ayudar al atacante en la fase de recolección de información, necesaria para poder realizar ataques más avanzados y dirigidos.


Analizando la seguridad en redes ZigBee

                                                                               -Escucha de tráfico en una red ZigBee-



Las escuchas de tráfico pueden ser prevenidas mediante el uso de algoritmos de cifrado robustos. ZigBee permite la utilización de cifrado AES 128 bits (el más robusto de los definidos en el estándar IEEE 802.15.4) usando criptografía de clave simétrica y, además, permite la rotación periódica de claves de red, lo que aporta un nivel extra de seguridad, evitando que dispositivos ajenos a la red puedan unirse a ella.


Reenvío de paquetes

El reenvío de paquete es otro escenario que se puede dar en las redes ZigBee. Consiste en la captura de tramas que posteriormente son reinyectadas, modificadas o no, con el objetivo de desestabilizar la red o al nodo que recibe la información y que únicamente espera un dato.


Analizando la seguridad en redes ZigBee

-Replay de trama existente-


Para evitar el reenvío de tramas es necesario el uso de la característica de integridad que posee el protocolo ZigBee para la comprobación de tramas, verificando así que no han sido reemplazadas por otras. El controlador de red comprueba estas tramas de refresco y su valor, para ver si son las esperadas.

Tras las pruebas realizadas es posible comprender el alcance que posee una buena configuración de red en ZigBee con el uso de todas sus opciones de seguridad de una manera correcta. Además de las medidas que se pueden incorporar en la propia red, es importante controlar los accesos físicos a los dispositivos para evitar que posibles atacantes manipulen los nodos físicamente, dada la posible exposición de la red ZigBee en un entorno industrial.