miércoles, agosto 26, 2015

Smart Cities: Ataques en redes IEEE 802.15.4 & ZigBee

Las redes industriales y, concretamente, las redes de sensores son hoy en día una realidad emergente y con muchas expectativas de cara al futuro tanto en entornos empresariales o públicos. Los grandes ayuntamientos están apostando por convertir sus ciudades en las llamadas “Smart Cities” con este tipo de estructuras. Entre las tecnologías que existen parece que hay dos a día de hoy que se imponen sobre los demás en cuanto a su aceptación en el mercado. Son el estándar IEEE 802.15.4 y ZigBee, que entre ambos proporcionan un conjunto de protocolos y servicios a los usuarios para permitir una comunicación fiable y segura en este tipo de redes.

Figura 1: Smart Cities, ataques en redes IEEE 802.15.4 & ZibBee

Estas redes de sensores, al igual que la mayoría de redes inalámbricas, no están exentas de potenciales peligros que pueden ponerlas en un serio riesgo de compromiso de seguridad. Mostraré la implementación de un ataque de denegación de servicio mediante un caso real. Como prueba de concepto, se muestra como dejar inhabilitado un nodo de una red que utiliza la especificación IEEE 802.15.4.

Smart City: Estructura básica de una red de sensores

No hay quien pueda negar que están de actualidad. Los equipos de gobiernos de todas las ciudades quieren tener ciudades inteligentes que controlen el riego, el tráfico, las plazas de aparcamiento en las calles, la recogida de la basura, el control de la calidad del aire, la temperatura en cada zona de la ciudad, los transportes públicos y el estado las playas.


Figura 2: Vídeo promocional del proyecto Valencia Smarty City

Las posibilidades de dotar a una ciudad de más y mejores servicios son grandes, y el primera paso es contar con una red de sensores que capture la información necesaria de todos los puntos de la ciudad. Sensores que midan la humedad y la temperatura en los jardines, sensores que detecten si un espacio de parking está ocupado o no, sensores que detecten si hay personas esperando en el semáforo, sensores que sean capaz de capturar cualquier información que sea útil para tomar una decisión de actuación en la Smart City.

Figura 3: Sensores de calidad del aire y en un contenedor de basuras

Todos esos sensores se comunican entre ellos y con el Gateway para gestionar estas la recogida de datos y, recibir las ordenes de configuración y actuación. Esta comunicación se hace - centrándonos en las redes creadas con las tecnologías de este artículo - con los estándares IEEE 802.15.4 y el protocolo ZigBee hacia los Gateways, que también deben estar colocados en las calles y que son los encargados de encaminar esos datos hacia los centros de control a través de una red de fibra óptica o WiFi, para que los datos queden almacenados en un Big Data sobre el que se pueda construir la inteligencia de actuación para mejorar la vida en la Smart City.

El ataque de Denegación de Servicio

Esta es una prueba de concepto en la que se ha llevado a cabo un ataque de denegación de servicio sobre una red con las tecnologías IEEE 802.15.4/ZigBee. El proceso que se ha seguido es muy simple y lo que se desea mostrar es la facilidad con la que ha sido posible dejar sin recursos un nodo de la red. Para montar la red ZigBee se han utilizado varios sensores (o motas). Concretamente se ha utilizado la plataforma Z1 de la marca Zolertia. Por otro lado, para simular el dispositivo atacante se ha utilizado un Sniffer/Inyector de paquetes la marca Atmel: el dispositivo RZUSBSTICK.

Figura 4: Dispositivo AVR RZUSBSTICK

En esta prueba de concepto es necesario que un sensor actúe como nodo encaminador (o Gateway, M1) y que el otro actúe como dispositivo RFD (Reduced Function Device) hoja, M2. Los dispositivos que funcionan como RFD son sensores que no cuentan con una fuente de energía constante, es decir, que funcionan con batería y a los que se les reduce las funciones para maximizar la vida útil de su reserva de energía. Para ello, si un dispositivo va a ser un sensor de temperatura y su misión va a ser solo recoger la temperatura y emitirla hacia la red para que llegue vía Gateway hacia el Big Data, se le configura como RFD.

En una red con múltiples sensores, dependiendo de si se han configurado como FFD (Full Function Device) o RFC (Reduced Function Device) se pueden configurar diferentes topologías de red, ya que un RFD solo emite su información, mientras que un FFD puede hacer un encaminado de comunicaciones de otros. Así, existen topologías árbol, en estrella o en malla de redes de sensores. Para esta PoC, la topología escogida es la de estrella y el nodo al que se atacará agotando los recursos es el que actúa como Gateway, por lo que en el caso de tener más sensores conectados a la mota Gateway, todos dejarán de comunicarse.

Figura 5: Topología en estrella en red de sensores

Para poder programar las motas en este prueba de laboratorio se han de conectar inicialmente a una sistema GNU/Linux Debian con un cable USB/MicroUSB, después ya no es necesario esa conexión y pueden operar mediante baterías, (como en una implantación real ) y por tanto ser un nodo completamente autónomo.

El siguiente paso consiste en examinar los paquetes que se envían en el momento de la asociación de la mota M2 en la red y los que se envían durante la transmisión de paquetes al servicio para poder, posteriormente, inyectar los paquetes previamente modificados desde el dispositivo atacante. Para averiguar qué paquetes circulan por la red durante las fases de asociación de dispositivos y la conexión al servicio se ha utilizado el software WireShark y la herramienta zbdump. Para escuchar la red mediante el dispositivo RZUSBSTICK son necesarias las herramientas que se encuentran en KillerBee. Eso es debido a que una simple tarjeta WiFi convencional no puede escuchar las frecuencias de las redes IEE 802.15.4


Mediante el dispositivo RZUSBSTICK, el software Wireshark y la herramienta zbdump se ha determinado cuáles son los paquetes esenciales y necesarios para llevar a cabo la asociación de un dispositivo al encaminador. Y al mismo tiempo se ha obtenido el paquete que se envía cuando se solicita el servicio de la mota M2. Esta información se ha utilizado para construir posteriormente unos paquetes maliciosos específicos con los que atacar el sistema.

Figura 6: Datos de asociación de una mota a la red usando ZigBee

La Figura 6 muestra los datos que se han obtenido al escuchar la red inalámbrica, con estos datos se pueden falsificar nuevos nodos, ya sea con la utilización de motas nuevas o con la posibilidad que aporta el dispositivo RZUSBSTICK que es capaz de inyectar tramas en el medio de transmisión. Con esta capacidad, podemos hacer un ataque de spoofing para simular la entrada de una nueva mota a la red. En la Figura 7 podemos ver como se ha falsificado una nueva mota dentro del sistema con una MAC “CAFECAFE”

Figura 7: Adición de una mota falsa con MAC "CAFECAFE"

El protocolo ZigBee cifra los datos que se envían entre los diferentes nodos, pero sigue funcionando sobre el estándar IEEE 802.15.4, por lo que aunque no se puedan obtener los datos, sí que podemos insertar una mota a nivel de capas de comunicación más bajas y obtener los datos de inicio y destino de cada una de las transmisiones. Ya que el estándar no cifra los datos. La Figura 8 muestra cómo podemos obtener los datos de la comunicación entre las motas, aunque funcionen con ZigBee, por lo que podemos hacer una composición exacta de la red y su modo de funcionamiento, y saber cada cuando se despiertan los sensores para transmitir los datos hacia el Gateway.

Figura 8: Captura de comunicación ZigBee

ZigBee funciona con tres contraseñas a diferentes niveles. Una que viene de fábrica, con la que se insertará en la red ZigBee del mismo fabricante y se crearan las otras dos claves. La segunda, creada a partir de la primera, común a toda la red y que servirá para las comunicaciones Broadcast, y una tercera única, que se obtiene mediante un proceso llamado SKKE, entre el Gateway y cada nodo, con la que cifrará el contenido que se envían entre ellos dos.

Posibles ataques a una red IEEE 802.15.4 & ZigBee

De forma rápida, en un esquema como el que se ha mostrado, podríamos realizar algunos de estos ataques que podrían afectar al funcionamiento, y por tanto a la seguridad, de los servicios desplegados en una Smart City sobre una red de sensores vulnerable.
Denegación de servicio (Denial of Service-DOS). De difícil mitigación, colocando un nodo que controle las comunicaciones permanentemente. 
Escucha de la red (eavesdropping): un dispositivo escucha la red a la espera de recibir la información que se transmite. Con cifrado se hace más difícil la escucha. 
Usurpación de identidad (spoofing): Hacerse pasar por otro nodo de la red para recibir y enviar datos de terceros. Si es encaminador podrá capturar todo el tráfico que pase por él. 
Reenvío de paquetes (replay): Consiste en el reenvío, o no, de paquetes capturados anteriormente para desestabilizar la red o el nodo que los recibe y que únicamente espera un dato. El control de secuencia ayudará a la mitigación de este ataque.
A día de hoy estamos en los inicios del estudio de la seguridad y las técnicas de hacking en este tipo de protocolos, y visto como la evolución de las técnicas de hacking han pasado del software, a las redes, a los servicios de Internet y a cualquier elemento con software embebido - como coches, drones o rifles - la eclosión de las redes de sensores en el mundo iOT puede llevar a la aparición de múltiples problemas de seguridad en las ciudades o en las empresas si no se toman desde el diseño de las mismas medidas para evitar las técnicas de ataque conocidas.

Autor: Dr. Jordi Serra, Profesor de la UOC
Escritor del libro "Esteganografía & Estegonanálisis"

5 comentarios:

  1. Gategay??? Chema, en qué estás pensando? }x-)

    ResponderEliminar
  2. "...la temperatura en cada zona de la ciudad, los transportes públicos y el estado las payas."

    Vaya, Vaya...Es que las gitanas no son controlables?!

    ResponderEliminar
  3. gataway:esa palabra sale en mi smart tv,q alguien me diga q significa por favor!

    ResponderEliminar
  4. Anónimo Anónimo dijo...

    gataway:esa palabra sale en mi smart tv,q alguien me diga q significa por favor!

    27/8/15 3:09 a. m.

    El gateway (o puerta de enlace) es como una pasarela para connectar una o mas redes. Es decir, es como un dispositivo que sirve para que tu tele sepa donde tiene que ir para poder conectarse a internet, como seguramente lo hace a través de tu router, en este caso la puerta de enlace de tu tele será la IP del router.
    No me explico muy bien, pero mas o menos es eso, a ver si alguien sabe explicartelo mejor. Salu2

    ResponderEliminar