Microsoft adopta Rust para mejorar la seguridad y el rendimiento de Windows

Rubén Castro, 4 mayo 2023

Aunque Rust es todavía un lenguaje de programación relativamente reciente, Microsoft ya ha adoptado la tecnología como una de las mejoras más prometedoras para la programación básica de Windows.

Los ingenieros de software de Redmond han estado reescribiendo partes cruciales del sistema operativo en Rust, aportando mejoras significativas tanto en rendimiento como en seguridad al código subyacente.

Rust es un lenguaje de programación rápido y eficiente en memoria creado por Graydon Hoare mientras trabajaba en Mozilla, la primera empresa en adoptarlo oficialmente para su motor de navegación experimental, Servo. Como lenguaje compilado típico, Rust ofrece un rendimiento nativo para diversos tipos de aplicaciones, como software informático, dispositivos de bajos recursos y aparatos embebidos.

Aparte de su rendimiento, uno de los principales atractivos de Rust es el hecho de que el lenguaje fue diseñado para proporcionar seguridad de memoria desde el principio, eliminando así muchas categorías de errores y vulnerabilidades potenciales en tiempo de compilación.

En particular, los fallos de seguridad de memoria representan el 70% de las vulnerabilidades de seguridad de la lista CVE corregidas en Windows desde 2006.

Según David “Dwizzle” Weston, Vicepresidente de Seguridad de Sistemas Operativos y Empresas de Microsoft, ya se ha implementado parte del código Rust en el núcleo de Windows. En su intervención en BlueHat IL 2023 en Tel Aviv, Israel, el mes pasado, Weston mencionó que Windows 11 podría arrancar en Rust, aunque el puerto del código está actualmente desactivado y oculto tras un flag.

Microsoft empezó a reescribir partes de Windows en Rust en 2020, empezando por la API DirectWrite (una parte del marco DirectX), responsable de gestionar el renderizado de texto de alta calidad, las fuentes de contorno independientes de la resolución, el soporte completo de texto y diseño Unicode, etc. DWriteCore, la implementación de la API DirectWrite en el SDK de aplicaciones de Windows, consta ahora de unas 152.000 líneas de código Rust y unas 96.000 líneas de código C++. Además de mejorar la seguridad, esta nueva mezcla de código ha aportado importantes mejoras de rendimiento (5-15%).

Windows 10 y 11 están escritos en C, C++, C# y lenguaje ensamblador, con millones de líneas de código que probablemente nunca se someterán a una revisión completa basada en Rust. Sin embargo, la principal interfaz de dispositivos gráficos de Windows (Win32 GDI) se está portando a Rust, con 36.000 líneas de código ya convertidas. “De hecho, ahora hay una SysCall en el núcleo de Windows que está implementada en Rust”, reveló Weston.

Microsoft no es la única gran empresa tecnológica interesada en adoptar Rust para sus principales productos de software. Amazon, Facebook y Google, entre otros, ya utilizan este lenguaje de programación seguro para la memoria. Rust también forma parte del núcleo de Linux. Los desarrolladores de código abierto subrayan que el compromiso de Microsoft con Rust sería una excelente noticia para el futuro del lenguaje.

Rubén Castro

Redactor

Apasionado de explorar y diseccionar lo último en tecnología. Tengo mucha experiencia en el mundo de los ordenadores y el gaming, aunque también me gustan todos los tipos de gadgets.

Consentimiento