La SDR y su rol en la ciberseguridad
La necesidad del envío de datos o voz de forma inalámbrica entre personas, entre máquinas (M2M, Machine to Machine) o entre personas y máquinas (HMC, Human-Machine Communication), ha supuesto el desarrollo de múltiples sistemas, tecnologías y protocolos, tanto dentro como fuera de los entornos industriales, siendo los principales, los descritos en el estudio sobre ‘Ciberseguridad en las Comunicaciones Inalámbricas en Entornos Industriales’.
Cada tecnología y protocolo presenta unas características propias y requieren de un sistema con un hardware o software específicos para poder operar. Esto deja de ser así, cuando se habla de la SDR (Software Defined Radio), Software Radio o RDI (Sistema radioeléctrico determinado por programas informáticos), según la ITU (International Telecommunication Union).
Concepto
Una SDR se puede definir, según el Wireless Innovation Forum, en colaboración con el IEEE, como “una radio en la que algunas o todas las funciones de la capa física están definidas por software”. En otras palabras, que una SDR es una radio reprogramable o reconfigurable, en la que su mismo hardware puede realizar operaciones diferentes modificando su configuración mediante software o firmware.
Por lo tanto, una SDR no es una radio, ni analógica, ni digital. Las diferencias están en que una radio analógica no trabaja con señales digitales en ninguna de sus etapas y adicionalmente, al igual que una radio digital para este caso, requiere que su hardware de fábrica sea reemplazado por otro diferente para poder realizar operaciones distintas a las preestablecidas.
Funcionamiento
Los modos de comunicación que los modelos de SDR pueden ofrecer, son:
- Simplex, si la SDR solo puede actuar como receptora o transmisora, sin posibilidad de conmutación.
- Half-duplex, cuando la SDR puede emitir o recibir señales, pero no al mismo tiempo.
- Full-duplex, si la transmisión y recepción pueden hacerse a la vez.
Por otro lado, pese a las diferentes arquitecturas (hardware o software) que se pueden encontrar en el mercado, todas ellas comparten una secuencia de etapas propia en el funcionamiento de una SDR, la cual corresponde, en modo recepción de señal, a la siguiente:
- Ejemplo de arquitectura hardware para una SDR receptora (en negro)/ transmisora (en azul) basada en una FPGA y comunicación half-duplex. -
- Etapa 0: Recepción de la señal de radiofrecuencia (RF), portadora de la información que se quiere procesar, mediante el uso de una antena de especificaciones adecuadas (polarización, diagrama de radiación, ancho de banda, etc.) para una óptima sintonización de la señal.
- Etapa 1: Acondicionamiento y sintonización de señal. El objeto de esta etapa es sintonizar la señal analógica a su frecuencia característica, mediante un mezclador de frecuencias controlado por software, y adaptar la misma a las características del convertidor analógico-digital (ADC). En esta etapa, se realizan operaciones de: amplificación, filtrado y conversión de frecuencia a frecuencia intermedia (IF).
- Etapa 2: Conversión analógico-digital de la señal analógica en IF, gracias a un ADC de alta velocidad que realiza operaciones de: muestreo, retención, cuantificación y codificación binaria.
- Etapa 3: Generación y acondicionamiento de la señal I/Q. Esta etapa tiene como fin, descomponer la señal digital en dos: la señal I (en fase) y la señal Q (en cuadratura), y adaptar ambas a las características del procesador o bus de comunicaciones posteriores, en términos de ancho de banda, velocidad de transferencia y velocidad de procesamiento. Las operaciones a realizar, y que las desempeña un DDC (Digital Down Converter), son: conversión de IF a banda base, filtrado y diezmado (reducción de la tasa de muestreo). Generar la señal I/Q es necesario, ya que aporta datos más precisos, en términos de amplitud, frecuencia y fase, y evita errores en el procesamiento posterior.
- Etapa 4: Procesamiento de datos. En esta etapa se extrae, analiza y presenta la información contenida en la señal I/Q. Esta información podrá contener voz, datos relativos a una imagen o a un vídeo, texto, o una combinación de ellos. Se pueden realizar operaciones de: ingeniería inversa, demodulación, decodificación, FFT, análisis espectral o descifrado, entre otras, según el software asociado. En función de la arquitectura hardware de la SDR, la carga de procesamiento podrá estar:
- No repartida, es decir, todas las operaciones las realiza un Procesador de Propósito General (PPG) que ejecuta al menos un software específico, como por ejemplo SDRSharp, GNU Radio, HDSDR o BaseStation, entre otros.
- Repartida entre el PPG, que ejecuta el software específico, y un ASIC (Application-Specific Integrated Circuit), un DSP (Digital Signal Processor) o una FPGA (Field Programmable Gate Array) configurados según un firmware, el cual desempeña una o varias operaciones, liberando de estas al PPG.
Finalmente, la información obtenida puede ser reenviada a otro software o dispositivo, por medio de una tarjeta de sonido, cable virtual o puertos de comunicaciones (Ethernet, USB…), pudiendo incluso crear servidores online como los ofrecidos por el fabricante Airspy. Asimismo, exportar información a un archivo de texto también es posible siempre y cuando el software utilizado lo permita.
- Ejemplo de interfaz de usuario que ofrece el software gratuito y de código abierto, SDRSharp. -
En caso de que la SDR actúe como transmisora, las etapas a realizar son las mismas, pero siguiendo una secuencia inversa y realizando operaciones opuestas, entre las que destacan: el convertidor digital-analógico (DAC), el DUC (Digital Up Converter), y las técnicas de linealización de CFR (Crest Factor Reduction) y DPD (Digital Pre-Distortion).
Posibles amenazas con la SDR
Una SDR puede utilizarse para amenazar las comunicaciones inalámbricas, tanto en su modo recepción, como en su modo transmisión. Dependiendo de las capacidades que ofrezcan el hardware (como frecuencias de trabajo) y software que se ejecute (incluidos plugins), algunos de los vectores de ataque pueden ser:
- Sniffing. Es una técnica que la SDR lleva a cabo en modo recepción y que afecta a la confidencialidad de una transmisión, tanto si solo está codificada, como si también está cifrada, siempre y cuando se disponga de las herramientas software para ello. A parte del propio mensaje, también es posible obtener: la identidad del emisor y receptor, instante de establecimiento y desconexión de la transmisión, nivel de intensidad de la señal, tipo de modulación, ancho de banda en frecuencia utilizado, etc.
- Ataque de canal lateral (side-channel attack). Consiste en recoger y analizar la información procedente de parámetros físicos, como ruido o radiación, procedentes de los circuitos integrados al realizar sus operaciones de procesamiento. La SDR, en modo recepción, realiza este ataque no invasivo afectando a la confidencialidad de la transmisión y siendo muy difícil de detectar. Un ejemplo es el rastreo de emisiones de RF de billeteras hardware.
- Jamming intencionado. Se trata de un ataque de denegación de servicio (DoS) en el que se consigue bloquear la transmisión desde el lado del equipo receptor o del emisor. En este caso, la SDR emite señales de RF para introducir ruido en el canal o canales de radio utilizados. Este ataque afecta a la disponibilidad de la información. Un ejemplo sería el jamming sobre redes ZigBee.
- Spoofing. Conociendo las características del protocolo de comunicación, se puede generar mediante SDR una señal falsa, pero válida, para el equipo receptor atacado. Con la señal falsa se pueden enviar datos erróneos o incluso inyectar código malicioso para tomar el control total o parcial del receptor, alterando su funcionamiento, degradando la transmisión o haciéndola vulnerable a otros ataques. Un ejemplo, es el spoofing sobre los GNSS.
- Ataque de repetición. Mediante este ataque, la SDR captura una transmisión, la copia, y posteriormente la reenvía. De esta forma, esta puede convertirse en un dispositivo legítimo (spoofing) dentro de una red de comunicaciones o simplemente envía las copias degradando la comunicación o llegando a producir un ataque de DoS por inundación. Afectaría en términos de disponibilidad o confidencialidad.
- Ataque de inundación. Bien mediante spoofing o un ataque de repetición, la disponibilidad del receptor se ve comprometida por una SDR emisora atacante, al recibir una gran cantidad de mensajes, en tan poco tiempo, que no puede procesarlos.
- Ataque de reinyección. Es un ataque similar al ataque de repetición, pero en este caso se modifica el mensaje antes de reenviarlo. De esta forma, se compromete la integridad y confidencialidad de una transmisión.
A veces, para que un atacante tenga éxito, precisa de una combinación de técnicas, como ocurre con el sistema Rolljam, que combina ataques de jamming y de repetición.
Protecciones a través de SDR
Las prestaciones en defensa que puede ofrecer una SDR ante ciberataques, también vienen limitadas por su modo de operación, emisión o recepción, y por las capacidades que ofrezca el hardware y software asociado.
La función que destaca en ciberdefensa es la monitorización de las comunicaciones inalámbricas. Esta monitorización se puede centrar en el espectro de radiofrecuencia, detectando señales sospechosas por picos de frecuencia, ruido, procedencia de la interferencia (radiogonometría) o fallos en la comunicación, mediante un display de FFT o algoritmos diseñados para ello. También se puede centrar en analizar el mensaje que porta la señal de RF, del mismo modo que se haría en un ataque de sniffing.
Hay que mencionar, que en determinadas circunstancias, las técnicas utilizadas en ciberataques también pueden ser utilizadas como protección en ciberdefensa. Es el caso de, por ejemplo, emplear la SDR para realizar ataques de spoofing o jamming GNSS, y así proteger los activos de una empresa de ser localizados.
Por último, una SDR permite duplicar equipos y de esta forma hacer que un sistema de comunicaciones inalámbricas corporativo se vuelva más robusto, garantizando la disponibilidad de la información frente a fallos de equipos o interferencias en recepción.
Conclusión
La Radio Definida por Software destaca por ser un sistema flexible a nivel de hardware, ya que brinda la posibilidad de operar con distintas tecnologías de comunicación inalámbrica sin necesidad de adquirir equipos específicos para cada una de ellas, y a nivel de software, ya que a ella se pueden asociar distintos tipos de software, ya sean tanto libres o propietarios, como gratuitos o de pago.
Asimismo, resulta ser un sistema económico, no sólo por su flexibilidad, sino también por el reducido coste que presentan algunos modelos, como los dongles R820T2 (R860 próximamente) + RTL2832U, lo que hace que la SDR sea accesible para cualquier persona. Además, la posibilidad de actualización de forma remota y rápida, para corregir errores o variar parámetros, es un aspecto clave en temas de seguridad, mantenimiento y disponibilidad del equipo.
El objetivo que se persigue con la SDR es que un usuario establezca comunicación cuando lo requiera, con quien lo necesite y según el protocolo establecido para esa comunicación. Actualmente, las empresas de telecomunicaciones están comenzando a implantar la tecnología SDR y existe una gran comunidad dedicada a desarrollar nuevas aplicaciones, como el foro RTL-SDR.COM donde se publican frecuentemente nuevos contenidos.