La seguridad de las comunicaciones inalámbricas
Presentación
La transmisión de información digital cada vez está más presente en el día a día de las personas. Con esta evolución aparecen las limitaciones, porque los datos transmitidos pueden ser críticos desde el punto de vista de la seguridad o a nivel personal.
Para satisfacer las demandas actuales, las comunicaciones deben ser fiables, seguras, rápidas y prácticas. Dos tecnologías principales compiten para cumplir con estas limitaciones:
-
Conexiones alámbricas (cobre, fibra óptica, etc.).
-
Enlaces por ondas de radio (Wi-Fi, Bluetooth, etc.).
En el aspecto práctico, la elección se centra obviamente en los enlaces inalámbricos que permiten, como su nombre indica, evitar la conexión de un cable para transmitir información.
La desventaja es que una transmisión de radio se puede escuchar usando cualquier receptor legítimo o pirata. Desde las personas con muy pocos conocimientos hasta especialistas, pueden comprometer las comunicaciones de radio con equipos sencillos listos para usar y que se encuentran sin dificultad en Internet o dispositivos sofisticados y eficientes, reservados para profesionales (si aceptamos llamar ‘profesionales’ a los piratas de alto nivel).
En la creciente expansión de las comunicaciones inalámbricas, encontramos todos los medios de comunicación tradicionales como...
Los objetos conectados
Estos objetos se convierten en un tema muy amplio. La moda actual es conectar todos los accesorios que nos rodean. Pero, ¿qué es un IoT? Un objeto que originalmente tiene una función sencilla y concreta y al que le añadimos la posibilidad de enviar información digital a equipos informáticos.
Los ejemplos son numerosos. Desde la aplicación simple, a veces excéntrica, hasta la aplicación que realmente aporta algo; a los diseñadores no les falta imaginación. No vamos a hacer aquí un inventario de las novedades, sino que nos vamos a centrar en algunos puntos concretos de las tecnologías utilizadas. La primera observación es que las comunicaciones son inalámbricas, por lo tanto, utilizan transmisiones de radio digital. Esta tecnología no es nueva, pero sus evoluciones y su uso intensivo son realmente de nuestro tiempo.
Por lo tanto, algunas nociones son esenciales para comprenderlas y de esta manera dominar mejor las herramientas de prueba, análisis y piratería. Un buen conocimiento permite el desarrollo de estas herramientas, tanto de software como de hardware.
Las transmisiones de radio
Evidentemente, aquí el objetivo no es hacer una presentación larga y completa de las técnicas de transmisión de radio, que sin duda sería muy interesante, sino sentar las bases técnicas y el vocabulario utilizado.
Una transmisión de radio permite enviar y recibir información (digital para nuestro estudio) desde el punto A hasta el punto B sin soporte físico. Las ondas electromagnéticas hacen posible esta comunicación. Por lo tanto, estamos en presencia de dos dispositivos tecnológicos denominados emisor-receptor de radio.
El esquema es muy simple:
Emisor-receptor de radio
La onda electromagnética básica es sinusoidal:
Señal sinusoidal (fuente Internet)
Para lograr transmitir información, es necesario modificar un poco esta onda para diferenciar entre los valores que se envían (en el caso más trivial, el "0" y el "1" lógicos). Al analizar una señal sinusoidal, podemos ver que se caracteriza por su amplitud, su frecuencia y su fase. Desde un punto de vista matemático:
Ecuación de una señal sinusoidal
Por lo tanto, es posible modificar su amplitud, su frecuencia, su fase o incluso combinar dos parámetros en función de los datos digitales que se van a transmitir. Decimos que estamos modulando la señal. De hecho, es la famosa función de "modulación"...
La radio de software
Con el progreso tecnológico, los circuitos electrónicos ahora pueden convertir frecuencias de radio en banda base en rangos de frecuencia relativamente amplios. Y lo que es aún más importante, los convertidores de analógico a digital de gran velocidad permiten un escaneado de alta frecuencia que puede cubrir canales grandes, o incluso varios al mismo tiempo. Con estos circuitos eficientes y económicos, la parte relativa al hardware se convierte en algo muy sencillo y prácticamente genérico, independientemente de cuál sea la comunicación por radio de que se trate. El diagrama principal de un receptor como este, se muestra a continuación:
Emisor-receptor digital NI USRP 2920
Se puede ver que la parte del hardware es relativamente sencilla y que su estructura es bastante genérica. En realidad, esta tecnología crea (recibe) o gestiona (emite) un flujo importante de datos digitales. Esto es lo más interesante, pero también lo más complejo desde el punto de vista del procesamiento digital.
Los datos digitales son la representación de los escaneados resultantes de la conversión analógico/digital que representan el valor real e imaginario de un número complejo, imagen de un valor instantáneo de la señal de banda base. Sin entrar en detalles matemáticos, esta representación permite modular...
El hardware disponible
La realización de la parte electrónica puede ser una operación posible, pero se trata de un tema irrelevante. Hay suficiente hardware disponible, con diversas prestaciones y precios, para poder evitar la fase de fabricación. A continuación, se presenta una lista no exhaustiva del más utilizado.
1. La llave RTL-SDR
SDR: Software-Defined Radio (radio definida por software)
Este receptor DVB-T es un "dongle" esencial para principiantes. Su precio es muy asequible, de 10 a 30 euros, y sus características permiten ciertas manipulaciones. Su gran defecto es que no permite la emisión.
Llave RTL-SDR
Sus principales características son las siguientes:
-
Banda de frecuencia: 30 - 1700 MHz.
-
Muestreo: 2 MHz.
Gracias a estos parámetros, este circuito permite escuchar y decodificar muchas comunicaciones como radios AM/FM, controles remotos de 433Mhs 868 MHz y muchos otros.
Sin embargo, su límite de frecuencia (alrededor de 1,7-2,0 GHz) no permite llegar a la banda ISM (industrial, científica y médica) de 2,4 GHz donde se producen muchas comunicaciones como el Wi-Fi, el Bluetooth, NRF24, el ZigBee, etc.
2. El HackRF One
El principal interés de HackRF es que permite emitir. Tiene unas prestaciones superiores a la llave TNT, lo que hace posible escuchar o emitir comunicaciones prácticamente en todas las bandas ISM clásicas. Su precio oscila entre los 300 y 400 euros.
El HackRF One
Sus características son las siguientes:
-
Half-duplex transceiver (Emisor Half-duplex).
-
Operating frequency:...
Los protocolos
Hay varios libros completos dedicados a cada protocolo de comunicación, ya que el tema es muy amplio y complejo. Por lo tanto, la siguiente lista es una presentación rápida de algunos protocolos que tienen bases comunes en la organización y utilizan modulaciones específicas a nivel de la capa física (enlace).
1. El ZigBee
Este protocolo se basa en el estándar IEEE802.15.4 y sus especificaciones están definidas por la comunidad industrial ZigBee Alliance. Se ratificó a principios de la década del 2000 y permite realizar WPAN (Wireless Personal Area Network, red inalámbrica personal). El alcance de radio de alrededor de 100 metros y su tasa de transmisión de 250 kbits por segundo son adecuados para su uso por parte de objetos conectados, que también requieren un consumo de energía eléctrica reducido. Igualmente hay aplicaciones en los campos industrial, médico y de seguridad. Como cualquier protocolo de alto nivel, ZigBee tiene un funcionamiento en capas (similar al modelo OSI) que define los estándares que van desde la capa física hasta la de aplicación.
A continuación, se presenta la representación de esta pila:
Pila del protocolo ZigBee
La comunicación por radio está estandarizada por las capas IEEE 802.15.4 y es de especial interés para nosotros en nuestro capítulo, porque es aquí donde vamos a intervenir con nuestros emisores-receptores digitales. El formato de emisión de la capa física se describe completamente en el estándar y utiliza tramas estructuradas.
Tramas normalizadas del protocolo IEEE 802.15.4
Solo falta por saber el tipo de modulación de radio para...
El paquete de software GNU Radio
Todas las comunicaciones de radio se pueden escuchar y al final piratear. En algunos casos, incluso se puede entrar en la transmisión emitiendo datos aceptados por los destinatarios legítimos. Para esto, se pueden utilizar los dispositivos descritos en la sección El Hardware disponible. Pero son inútiles sin un procesamiento de software asociado. La dificultad en este tipo de operaciones radica incluso en este procesamiento. Hay herramientas listas para usar disponibles y compatibles con los emisores-receptores digitales. Están desarrolladas junto o en paralelo a un proyecto muy importante llamado GNU Radio, disponible en Linux.
Este proyecto ofrece librerías de gestión de hardware y librerías para el procesamiento de flujo de información digital. Para instalar este paquete de software, puede usar los repositorios de su distribución Linux si están disponibles o usar las fuentes directamente.
Hay varias posibilidades para instalar desde la fuente, como el script de instalación build-gnuradio que está disponible en https://gist.github.com/vjt/3565794. Cuando todo va bien, este script instala todas las herramientas necesarias. Entre las aplicaciones interesantes, se encuentran:
-
Herramientas RTL-SDR desarrolladas para llaves de tipo receptor DVB-T. La lista instalada:
rtl_adsb
rtl_eeprom
rtl_fm
rtl_power
rtl_sdr
rtl_tcp
rtl_test
Por ejemplo, tenga en cuenta la herramienta rtl_fm que permite escuchar una estación de radio FM, o incluso rtl_sdr que le permite guardar las señales I/Q en un archivo para analizarlas más tarde o reproducirlas tal cual.
-
Herramientas Osmocom (open source mobile communications) que ofrecen una gestión extendida del hardware y protocolos de alto nivel como GSM (telefonía móvil). La lista instalada:
osmocom_fft
osmocom_siggen_nogui
osmo_sdr
osmocom_siggen
osmocom_spectrum_sense
-
las herramientas gr proporcionadas con el paquete GNU Radio:
gr_constellation_plot gr_plot_int gr_psd_plot_f
gr_spectrogram_plot_s
gr_filter_design gr_plot_iq gr_psd_plot_i
gr_time_plot_b
gr_modtool gr_plot_psd gr_psd_plot_s ...
Ejemplos de aplicaciones
En esta sección se presentan dos aplicaciones. La primera se basa en un circuito NRF24 fabricado por la empresa Nordic Semiconductor y que se utiliza en muchos ámbitos donde se requiere una comunicación inalámbrica fiable y de corto alcance. Construiremos nuestro propio procesamiento de flujo de datos utilizando el bloque creado en la sección anterior. La segunda aplicación está destinada a escuchar las comunicaciones del protocolo ZigBee. Utiliza el paquete de herramientas y bloques scapy-Radio.
1. Comunicación NRF24
Es necesario realizar un estudio en profundidad de la ficha técnica del circuito integrado utilizado en esta aplicación, el NRF24L01. El documento facilitado por Nordic Semiconductor tiene más de 180 páginas y detalla todas las características que necesitamos. Para centrarnos en lo principal, presentamos lo que nos interesa a continuación:
Campos de aplicación del NRF24L01
Las especificaciones de la parte de radio son muy importantes para construir el diagrama GNU Radio Companion en particular la modulación utilizada, la(s) frecuencia(s) y la tasa de bits.
Especificaciones de la parte radio
Este circuito utiliza modulación GFSK en las frecuencias de 2,4 GHz con una tasa de datos de 1 o 2 Mbps.
Para decodificar la información recibida se debe conocer el formato de transmisión digital, es decir, la manera en la que el circuito organiza el ensamblado de los datos y de los bytes de control, en otras palabras, el protocolo. Nordic Semiconductor ha optado por utilizar tramas estructuradas.
Trama del NRF24L01
Cada campo de la trama se detalla en la ficha técnica. Son clásicos y sencillos de entender, excepto Packet Control Field, que se debe detallar.
El campo de control de la trama NRF24L01
Payload length indica el número de bytes presentes en el payload.
PID asigna un identificador a la trama utilizada en las respuestas "acknowledge".
NO_ACK es un indicador de petición o no de "acknowledge".
Esta presentación rápida y simplificada al máximo proporciona los elementos necesarios para justificar las soluciones elegidas a partir de ahora. De hecho, ahora que se conoce el funcionamiento del circuito, podremos construir el software de recepción para escuchar y decodificar las emisiones entre...
Conclusión
Las comunicaciones inalámbricas tienen la particularidad de que es bastante difícil controlar la propagación de las ondas, así como su origen. En otras palabras, es fácil tener acceso directo al soporte físico de estas transmisiones desde un área geográfica a veces no despreciable. Los protocolos y tecnologías de radio utilizados deben garantiza la seguridad y fiabilidad. Las modulaciones y escalonamientos de los espectros pueden limitar significativamente el acceso físico a las comunicaciones y los protocolos limitan la interpretación o participación del contenido, por ejemplo, usando el cifrado. Sin embargo, todo se puede piratear; la verdadera pregunta es: ¿cuál es la energía humana necesaria para conseguirlo?
Puede comprobarlo al observar en su entorno que las comunicaciones utilizan cada vez más la tecnología de radio para transmitir su información. Ya sea telefonía, informática, Internet, transporte, domótica, juguetes, relojes, maquinaria industrial o incluso ropa, los ejemplos son innumerables. Se puede atacar algunas tecnologías, como la Wi-Fi, gracias al hardware clásico que utilizan todos los terminales informáticos. Si tiene conocimientos de informática y electrónica, entonces puede utilizar chips especializados en estas comunicaciones, como Bluetooth o ZigBee...