Clear Sky Science · es

Hacia la comprensión de la aplicabilidad de la defensa de objetivo móvil en tiempo de ejecución para el Internet de las Cosas y los sistemas ciberfísicos

· Volver al índice

Por qué los pequeños ordenadores necesitan grandes defensas

Desde termostatos inteligentes hasta robots industriales, la vida cotidiana depende ahora de pequeños dispositivos conectados que silenciosamente miden, controlan y automatizan nuestro entorno. Pero esos mismos aparatos pueden ser secuestrados por atacantes que explotan fallos de software conocidos desde hace tiempo para tomar el control. Este artículo explora si un truco de seguridad potente, llamado defensa de objetivo móvil, funciona realmente en el hardware modesto que impulsa la mayoría de los dispositivos del Internet de las Cosas (IoT) y los sistemas ciberfísicos (CPS), y qué implica eso para mantener segura nuestra cada vez más automatizada realidad.

Figure 1
Figure 1.

Un blanco que se mueve para los atacantes

Las herramientas de seguridad tradicionales, como cortafuegos o antivirus, reaccionan en su mayoría después de que un ataque ya ha comenzado. La defensa de objetivo móvil intenta una táctica distinta: cambia constantemente partes clave de un sistema para que los atacantes nunca puedan estar seguros de dónde apuntar. La técnica específica estudiada aquí es la aleatorización del diseño del espacio de direcciones (ASLR), que baraja dónde se sitúan programas y bibliotecas en la memoria cada vez que se ejecutan. De ese modo, incluso si los atacantes saben que existe un punto vulnerable, no pueden encontrar fácilmente su dirección exacta de nuevo. ASLR ya es estándar en los principales sistemas operativos, pero su comportamiento en dispositivos pequeños y con recursos limitados —los que se encuentran habitualmente en IoT y CPS— no se había entendido bien.

Poniendo tres sistemas a prueba

Los autores comparan la eficacia de ASLR en tres configuraciones basadas en Linux: un sistema Kali Linux de 64 bits en un procesador Intel típico, y dos sistemas ARM de 32 bits que ejecutan Raspberry Pi OS y OpenWRT, más cercanos a lo que encontraría en dispositivos de borde, routers y puertas de enlace. En lugar de intentar entrar a ciegas, adoptan la postura de un científico: registran repetidamente dónde aparece una biblioteca de sistema común (libc) en la memoria, construyendo grandes conjuntos de datos de direcciones reales. Luego analizan cuán dispersas están esas direcciones, cómo cambian byte por byte entre ejecuciones y cuán impredecible es el patrón general mediante una medida llamada entropía. Esto les permite cuantificar lo difícil que sería para un atacante adivinar la ubicación correcta.

¿Qué tan «aleatorio» es lo suficiente?

Los resultados muestran un marcado contraste entre el gran sistema de 64 bits y los dispositivos de 32 bits. En Kali Linux de 64 bits, las direcciones se distribuyen casi uniformemente a lo largo de un amplio rango: la mayoría de los bytes de la dirección cambian mucho, hay muy pocas repeticiones y una prueba estadística confirma que las elecciones se parecen bastante a la verdadera aleatoriedad. Para un atacante, eso significa un espacio de búsqueda enorme y pocas posibilidades de acertar rápidamente. En los sistemas de 32 bits, en cambio, aparece en la práctica un conjunto pequeño de 256 direcciones distintas, incluso al recoger 100.000 muestras. Varios bytes casi no cambian en absoluto, en gran parte debido a restricciones arquitectónicas y a cómo deben alinearse las páginas de memoria. En la práctica, eso quiere decir que un atacante podría necesitar solo unas pocas centenas de intentos —no millones ni miles de millones— para acertar la dirección correcta.

Figure 2
Figure 2.

Ataque en el mundo real y costes pequeños

Para comprobar si estas diferencias importan en la práctica, los investigadores implementan un tipo de técnica de secuestro de control conocida como programación orientada a retornos (ROP) en los tres sistemas. Cuando una opción clave de endurecimiento llamada ejecutable independiente de posición (PIE) está desactivada, el ataque tiene éxito: el flujo normal del programa se desvía hacia funciones ocultas elegidas por el atacante. Pero una vez que PIE está habilitado, combinándose con ASLR para hacer también movible la ubicación del propio programa, el ataque falla de forma fiable y provoca un bloqueo en lugar de tomar el control —tanto en la máquina potente de 64 bits como en los modestos dispositivos ARM de 32 bits. Las mediciones también muestran que habilitar ASLR, protecciones de pila y memoria no ejecutable añade solo una pequeña sobrecarga en uso de memoria y tiempo de ejecución, del orden de un uno por ciento.

Qué significa esto para los dispositivos cotidianos

El estudio concluye que, aunque ASLR en sistemas ARM de 32 bits es matemáticamente más débil y menos aleatorio que en escritorios y servidores de 64 bits, aún ofrece protección comparable a la de los antiguos PC de 32 bits y puede bloquear con éxito ataques sencillos cuando se combina con otras defensas integradas. Para los sensores IoT más pequeños, ASLR a menudo es imposible porque el hardware carece de las características de memoria necesarias; en esos casos, otras técnicas como arranque seguro y cifrado ligero son más adecuadas. Pero para dispositivos de borde como routers y placas de la clase Raspberry Pi, habilitar ASLR, PIE y salvaguardas relacionadas es tanto práctico como recomendable. Migrar estas plataformas hacia arquitecturas de 64 bits, y emparejar ASLR con otros trucos de objetivo móvil a nivel de red y software, puede elevar significativamente la barrera para los atacantes que intentan convertir objetos cotidianos en armas.

Cita: Gurung, D., Pradhan, M.P. & Gurung, S. Towards understanding the applicability of runtime moving target defense for the internet of things and cyber physical systems. Sci Rep 16, 5907 (2026). https://doi.org/10.1038/s41598-026-36797-4

Palabras clave: defensa de objetivo móvil, ASLR, seguridad del Internet de las Cosas, sistemas ciberfísicos, ataques por desbordamiento de búfer