A Microsoft está explorando o uso da linguagem de programação Rust para desenvolver drivers do Windows. Esta iniciativa fica evidente em um tweet recente de Mark Russinovich, CTO do Azure, e no lançamento de um repositório GitHub dedicado ao desenvolvimento de drivers do Windows em Rust. O repositório é uma coleção que permite aos desenvolvedores criar drivers do Windows usando Rust, suportando WDM e WDF modelos de desenvolvimento de driver.
Trabalhando para permitir o desenvolvimento de driver do Windows em Rust: https://t.co/XQHpdsFbwW
— Mark Russinovich (@markrussinovich) 23 de setembro de 2023
Visando um código mais seguro
A mudança em direção ao Rust é impulsionada pela reputação da linguagem em termos de segurança de memória, o que é crucial na prevenção de diversas vulnerabilidades comuns. Rust consegue isso gerenciando a memória em tempo de compilação, eliminando uma classe de bugs que podem levar a vulnerabilidades de segurança. “Explorando Rust para drivers do Windows”, tuitou Mark Russinovich, esclarecendo esse movimento estratégico. Essa exploração se alinha com a revelação anterior da Microsoft de um Azure Quantum Development Kit baseado em Rust, indicando uma confiança crescente nas capacidades do Rust.
Detalhes do repositório e envolvimento da comunidade
O repositório do GitHub, chamado windows-drivers-rs, é descrito como uma plataforma que permite o desenvolvimento de drivers do Windows em Rust e foi desenvolvido pela Surface.Ele contém várias caixas, incluindo wdk-build, wdk-sys, wdk, wdk-panic, wdk-alloc, e wdk-macros, cada um servindo a propósitos diferentes no processo de desenvolvimento de driver. O repositório ainda está nos estágios iniciais de desenvolvimento e ainda não é recomendado para uso comercial. No entanto, a Microsoft incentiva a experimentação, sugestões e discussões da comunidade por meio do fórum de discussões do GitHub.
A adoção do Rust para projetos tão importantes ressalta a confiança da Microsoft nos recursos de segurança da linguagem. As caixas no repositório windows-drivers-rs atualmente suportam KMDF v1.33, mas o suporte para outras configurações do WDK está planejado para um futuro próximo. O projeto visa oferecer suporte a WDM, KMDF e UMDF drivers, bem como serviços Win32, e inclui suporte para todas as versões do WDF incluídas no WDK 22H2 e mais recente.