La IA de Microsoft pone en jaque la seguridad de Rust y localiza un error crítico que ha estado oculto durante más de 10 años

Microsoft IA Rust
Microsoft IA RustIA
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

Aunque Rust se ha considerado siempre un lenguaje muy robusto en la gestión de memoria, el equipo de Microsoft ha descubierto vulnerabilidades gracias a la IA.

Un equipo de investigadores del laboratorio FORGE Lab de Microsoft ha publicado un análisis exhaustivo de fallos graves de seguridad en la memoria dentro de la librería estándar de Rust, std y core, gracias a la utilización de Hyenas, una versión de exploración basada en agentes del sistema MDASH. Según el equipo de Microsoft, esta vulnerabilidad lleva presente en el código base desde 2015; es decir, que ha estado ahí oculta durante más de 10 años sin que nadie se diera cuenta.

"El fallo en la pila de señales de process::exit ha permanecido en la librería estándar durante casi 11 años", explican los investigadores de Microsoft en el informe publicado en el blog de la compañía.

En la práctica, esta fallo se activa cuando un hilo secundario ejecuta la función de salida, ya que al realizar este proceso se elimina por error la pila alternativa de señales del hilo principal mientras este continúa funcionando. En este momento, si el hilo principal sufre un desbordamiento de memoria, el sistema operativo no es capaz de gestionar la alerta y la aplicación colapsa de forma repentina.

Cabe destacar que Rust es un lenguaje diseñado para eliminar todos los errores de gestión de memoria que siempre han perjudicado a otros en ciberseguridad como C y C++, además de que numerosas infraestructuras dependen de él, Microsoft hasta Android, el núcleo de Linux o servicios globales como Cloudflare y el motor de GitHub Copilot.

Básicamente, millones de personas en todo el mundo interactúan con programas desarrollados en Rust, por lo que si un bloque no seguro falla en sus garantías internas, se rompe toda la protección, permitiendo incluso que el código protegido pueda sufrir fallos de memoria.

Los errores que ha encontrado Microsoft gracias a la IA

El laboratorio FORGE de Microsoft ha reconocido que ha utilizado agentes de inteligencia artificial para su investigación, algo que ya ha ocurrido en los últimos tiempos para hacer los análisis mucho más fiables, con un menor margen de error y en menos tiempo que si se realizaran de forma manual por seres humanos.

En este caso, han clasificado los fallos encontrados en diferentes categorías. La primera de estas tienen que ver con el denominado pánico en el código, que implica que un programa se interrumpa antes de limpiar la memoria, lo que provoca que haya datos corruptos que quedan al descubierto. El caso real que se ha detectado ha sido con MapWindows::clone, que provocaba que durante la copia el limpiador intentara destruir la memoria no inicializada.

El según patrón de fallo tiene que ver con la confianza en implementaciones del usuario. Aquí el sistema asume que las funciones que aporta el programador siempre devolverán datos correctos, mientras que Microsoft ha descubierto que realmente con str::replace se introducía una regla personalizada que colaba bytes no válidos, lo que provocaba que se corrompiera el texto en formato UTF-8.

Finalmente, el tercer fallo tiene que ver con la confianza en el sistema operativo subyacente. Aquí el programa asume que el estado global del sistema no cambiará en segundo plano, pero Microsoft se ha topado con que con CommandExt::exec la modificación de variables de entorno bajo lectura provocaba acceso a memoria ya liberada.

"Nuestro objetivo no es simplemente encontrar más fallos, sino identificar problemas significativos, transformar estos hallazgos en investigación accionable y mejorar la seguridad del software fundamental del que dependen los desarrolladores y las organizaciones", ha aclarado el equipo de investigación de Microsoft.

Algo vital ahora es que los agentes de IA de Microsoft (MDASH) son capaces de razonar sobre cómo interactúa el software con la memoria y los procesos en tiempo real, una tecnología que se está añadiendo paulatinamente a Microsoft Defender y a Microsoft Perception. Afortunadamente, los mantenedores de Rust ya han corregido la mayor parte de los fallos, aunque este estudio deja claro que la IA defensiva es más necesaria que nunca.

Más información sobre: