Microsoft detalla mejoras para los controladores de próxima generación de Windows 11

Microsoft detalla mejoras para los controladores de próxima generación de Windows 11

Integración de Rust por parte de Microsoft en el desarrollo de controladores de Windows

Desde mediados de 2023, Microsoft se ha centrado en la incorporación de Rust al sistema operativo Windows. Esta iniciativa comenzó con la exitosa integración de Rust en el kernel de Windows y ahora ha evolucionado para animar a los desarrolladores de controladores a adoptar este innovador lenguaje de programación.

Lanzamiento del windows-drivers-rsProyecto de Código Abierto

En julio, Microsoft presentó el proyecto de código abierto windows-drivers-rs, una iniciativa del equipo Surface destinada a simplificar el desarrollo de controladores de Windows con Rust. Este framework está diseñado para optimizar el desarrollo de controladores en Rust, ofreciendo una alternativa más moderna a lenguajes convencionales como C.

Introducción de la cargo-wdkcaja

Recientemente, Microsoft anunció mejoras en esta iniciativa, en particular con el lanzamiento de la cargo-wdkextensión Cargo. Esta nueva extensión Cargo optimiza el proceso de creación de controladores al generar proyectos de controladores vacíos que incluyen pasos de compilación, dependencias y vinculación preconfigurados. También puede utilizar herramientas del Kit de controladores de Windows (WDK) como InfVerif, lo que replica la experiencia de compilar controladores con C en Visual Studio.

Ventajas de usar Rust

Rust se distingue de los lenguajes de programación tradicionales como C al ofrecer características superiores de seguridad de memoria. Esta característica mitiga significativamente el riesgo de vulnerabilidades de seguridad relacionadas con la memoria. Además, Rust presume de una compatibilidad excepcional con el código de controlador de C y C++, lo que facilita la transición para los desarrolladores.

Objetivos y desarrollos futuros

La visión a largo plazo de Microsoft es dotar a los desarrolladores de Rust dentro del ecosistema Cargo de herramientas de compilación y opciones de configuración compatibles con las de Visual Studio. A medio plazo, la compañía busca implementar la instalación automática del Kit de controladores de Windows, compatibilidad con NT_TARGET_VERSION y compatibilidad total con ARM64, entre otras mejoras.

Estado actual de Rust en el desarrollo de controladores

Actualmente, el windows-drivers-rsframework facilita tipos específicos de controladores en Rust; sin embargo, aún requiere una cantidad considerable de código inseguro. Microsoft colabora activamente con especialistas de Rust para crear abstracciones más seguras tanto para los controladores en modo kernel (KMD) como para los controladores en modo usuario (UMD).Varios equipos también trabajan en el desarrollo de estructuras y API seguras adaptadas tanto a las funcionalidades principales del kernel como al desarrollo de controladores de terceros; algunas de estas innovaciones ya están integradas en el kernel de Windows.

Comprensión de la abstracción en el desarrollo de controladores

Para quienes no estén familiarizados con el término, la abstracción en este contexto se refiere al proceso de transición segura entre el modo usuario y el modo kernel. El modo kernel opera con el nivel de privilegio más alto, mientras que el modo usuario funciona con un nivel de privilegio más bajo, lo que resalta la importancia de transiciones seguras y eficientes.

Próximos pasos y mejores prácticas

De cara al futuro, Microsoft planea proporcionar más información y mejores prácticas para el desarrollo de controladores, incluyendo el uso de CodeQL para el análisis estático. Cabe destacar que la compañía actualizó sus directrices para el análisis estático de controladores de terceros en julio, coincidiendo con el lanzamiento de Windows 11 versión 25H2.

Para explorar más sobre estos desarrollos, puede acceder a la publicación del blog completa aquí en el sitio web oficial de la comunidad tecnológica de Microsoft.

Fuente e imágenes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *