O principal objetivo da série de conferências BlueHat é construir pontes entre desenvolvedores e executivos da Microsoft, principais parceiros de programas de segurança e membros da comunidade.
Microsoft revelou alguns dias atrás já está trabalhando em reescrever o código do kernel do Windows, principalmente na área responsável pelo gerenciamento de janelas, na linguagem Rust.
Com o qual a Microsoft se junta à onda de implementação de Rust nos seus produtos e sobretudo tendo em conta o futuro e sobretudo um candidato ideal a abandonar as linguagens C e C++. E é que essa manobra lembra a adoção da mesma linguagem para o desenvolvimento do kernel do Linux. Nisso, Rust difere de várias linguagens anunciadas no passado como substitutas de C e C++.
A Microsoft portou a biblioteca Win32k GDI (gerenciador de janelas) para a linguagem Rust. A funcionário da empresaa fez o anúncio na última edição da conferência BlueHat. O objetivo era converter alguns dos tipos C++ naquela biblioteca para seus equivalentes Rust em um esforço para tornar os acessos à memória menos vagos.
Uma das principais razões para fazer isso é aproveitar as vantagens que Rust apresenta sobre a linguagem C, como segurança de memória. Na prática, o Google, por exemplo, agora usa fortemente o Rust no Android.
“O objetivo não é converter C/C++ existente para Rust, mas mudar o desenvolvimento de novos códigos para linguagens com segurança de memória ao longo do tempo”, diz a gigante da tecnologia.
Resultando:
“A quantidade de novos códigos inseguros de memória inseridos no Android diminuiu, o número de vulnerabilidades de segurança de memória também diminuiu. De 2019 a 2022, caiu de 76% para 35% do total de vulnerabilidades do Android. 2022 é o primeiro ano em que as vulnerabilidades de segurança de memória não representam a maioria das vulnerabilidades do Android”, acrescenta.
Ainda assim, algumas partes interessadas acreditam que as iniciativas de remoção da linguagem C estão condenadas como o criador da linguagem C3, no entanto, fornece uma longa lista de razões pelas quais as iniciativas de remoção da linguagem C estão condenadas.
De sua parte, porém, a decisão da Microsoft de usar Rust no Windows é um sinal da crescente influência da linguagem na indústria de software. Rust foi eleita a linguagem de programação mais amada pelos usuários do Stack Overflow por seis anos e tem sido objeto de pesquisa acadêmica e inovação. O Rust também pode ajudar a Microsoft a competir com o Linux, que recentemente anunciou o suporte ao Rust como uma segunda linguagem de alto nível para o desenvolvimento do kernel.
“Estamos no estágio de rastrear e executar o Rust no Windows”, disse Weston durante uma aparição na conferência BlueHat IL 2023 da Microsoft. “Estamos falando de um dos produtos de engenharia mais complexos do planeta. Mas nosso objetivo é fazer isso para melhorar a segurança... Portanto, você verá o Windows inicializando com Rust no kernel provavelmente nas próximas semanas ou meses, o que é ótimo. O objetivo básico aqui é converter alguns desses tipos de dados C++ internos em seus equivalentes Rust.”
Mostra-se que o motivo dessa conversão que o Os engenheiros da Microsoft estão totalmente convencidos de que o código Rust é muito mais fácil de escrever e entender do que o código C++ real. Também é mais seguro: para quem não conhece, Rust é uma linguagem de programação moderna semelhante a C que os desenvolvedores adoram porque força a criação de código nativo seguro sem a sobrecarga de linguagens gerenciadas.
De acordo com Weston, Microsoft já reescreveu 36 linhas de código no kernel do Windows em Rust, mais outras 152 linhas de código que ele escreveu para uma biblioteca de prova de conceito DirectWrite Core, e o desempenho é excelente, sem regressões em comparação com o código C++ anterior.
Ele também disse que:
"Agora existe uma chamada de sistema, no kernel do Windows, escrita em Rust." Uma chamada de sistema, ou syscall, é a maneira como os aplicativos de modo de usuário interagem com as funções internas do kernel (para simplificar demais).
Por fim, se estiver interessado em poder aprender mais sobre o assunto, pode consultar o vídeo da conferência Chapéu azul.