▲
- A Microsoft está aprimorando os drivers de próxima geração do Windows 11 usando a linguagem Rust para aumentar segurança e eficiência.
- Você pode esperar drivers mais estáveis e menos vulneráveis a falhas que podem comprometer a segurança do sistema.
- Essa inovação contribui para proteger o Windows 11 contra ameaças que exploram vulnerabilidades nos drivers.
- A integração com ferramentas e suporte para diversas arquiteturas facilitará o trabalho dos desenvolvedores e o uso por usuários finais.
A Microsoft está trabalhando para aprimorar os drivers para Windows 11 da próxima geração, apostando na linguagem de programação Rust. Desde meados de 2023, a empresa tem focado em integrar o Rust ao sistema, prometendo mais segurança e eficiência. Essa iniciativa visa fechar vulnerabilidades de memória e tornar o desenvolvimento de drivers mais robusto e simples para os desenvolvedores.
Avanços no Desenvolvimento de Drivers para Windows 11 com Rust
A gigante da tecnologia tem feito esforços contínuos para que os desenvolvedores de drivers passem a usar Rust. Em julho, a equipe Surface da Microsoft compartilhou detalhes iniciais sobre o projeto de código aberto windows-drivers-rs
. Essa plataforma foi criada para auxiliar no desenvolvimento de drivers do Windows usando a linguagem Rust, marcando um passo importante para a comunidade.
Recentemente, a Microsoft divulgou mais informações sobre o progresso. Para simplificar a criação de drivers em Rust, de forma similar ao que acontece com C, a empresa lançou o novo crate cargo-wdk
, que faz parte do windows-drivers-rs
. Esta extensão do Cargo automatiza a geração de projetos de drivers vazios com configurações de vinculação, etapas de compilação e dependências já prontas, além de invocar ferramentas do WDK como o InfVerif. Isso se assemelha à experiência de compilar um driver em C no Visual Studio, tornando o processo mais familiar para os desenvolvedores.
Uma das principais razões para a adoção do Rust é a sua capacidade de oferecer memory safety, ou segurança de memória. Diferentemente de linguagens tradicionais como C e C++, o Rust consegue eliminar muitas vulnerabilidades relacionadas à memória, que são fontes comuns de problemas de segurança em sistemas operacionais. Além disso, a linguagem proporciona uma interoperabilidade excelente com códigos de drivers já escritos em C/C++, facilitando a transição para quem já trabalha na área. Esse foco em segurança é crucial para proteger os sistemas contra ameaças, como as que exploram falhas em drivers para instalar malware no Windows 11.
Os planos da Microsoft para o futuro são ambiciosos. A empresa pretende oferecer aos desenvolvedores Rust, em um ambiente Cargo, as mesmas ferramentas de compilação e opções de configuração disponíveis no Visual Studio. Em médio prazo, estão previstas melhorias como a instalação automática do WDK, suporte para NT_TARGET_VERSION
e compatibilidade total com a arquitetura ARM64, expandindo as possibilidades de uso.
Segurança e Abstração: Os Pilares da Nova Geração
A Microsoft explica que, atualmente, o windows-drivers-rs
já permite o desenvolvimento de alguns tipos de drivers em Rust, mas ainda exige o uso considerável de código unsafe. Para mitigar isso, a equipe do Windows Driver Framework (WDF) está colaborando com especialistas em Rust. O objetivo é criar abstrações mais seguras tanto para KMD (kernel mode drivers) quanto para UMD (user mode drivers). Essas abstrações são essenciais para garantir que os drivers operem de maneira mais segura no nível do sistema.
Outras equipes da Microsoft estão desenvolvendo estruturas de dados e APIs seguras que vão além do WDF, tanto para o núcleo do kernel quanto para o desenvolvimento de drivers de terceiros. A relevância dessa iniciativa é que alguns desses novos componentes já estão sendo implementados diretamente no kernel do Windows, demonstrando o compromisso da empresa com a melhoria da segurança desde os níveis mais fundamentais do sistema operacional.
Para quem não está familiarizado, a abstração é uma maneira segura de permitir a transição do modo de usuário para o modo de kernel. O modo kernel possui os privilégios mais altos em um sistema operacional, enquanto o modo de usuário tem os privilégios mais baixos. Garantir uma transição segura entre esses modos é fundamental para a estabilidade e a segurança do sistema. Melhorias em ferramentas como PowerToys também mostram o foco da Microsoft em otimizar a experiência do usuário e do desenvolvedor no Windows.
A Microsoft planeja compartilhar mais informações nos próximos meses sobre as melhores práticas para o desenvolvimento de drivers. Uma das recomendações é o uso da ferramenta CodeQL para análise estática. Em julho, a empresa já havia atualizado suas diretrizes para a análise estática de drivers de terceiros, especificamente para a versão 25H2 do Windows 11, reforçando a importância da segurança antes da distribuição. Para mais detalhes, você pode consultar o blog oficial da Microsoft na Tech Community.
Este conteúdo foi auxiliado por Inteligência Artificial, mas escrito e revisado por um humano.
Via Neowin