Segundo o Google, o Rust torna o sistema Android (bem) mais seguro!

O Rust é uma “nova” linguagem de programação criada pela Mozilla e com uma grande adoção para o desenvolvimento de aplicações de uso geral, em vista de algumas particularidades bem interessantes: foi concebida com a ênfase para a escrita de códigos seguros, graças a sua maneira de lidar com a alocação da memória RAM (sem o uso de coletores de lixo e de ponteiros), além de ser flexível e versátil, podendo ser usada tanto para a criação de códigos de baixo quanto de alto nível…

“Google has been integrating code written in the Rust programming language into its Android operating system since 2019 and its efforts have paid off in the form of fewer vulnerabilities. Memory safety bugs – like out of bounds read and write or use after free – account for more than 65 percent of vulnerabilities of high or critical severity bugs in Chrome and Android, and the figures are similar in software from other vendors. These flaws degrade security and increase the cost of software development when not caught early.”

— by The Register.

O Google é uma das empresas que estão adotando o Rush, promovendo a integração desta linguagem de programação para o Android e o Chrome desde 2019 e a partir de então, estes projetos se beneficiaram em alguns aspectos. Em destaque está a segurança, em virtude de uma grande queda de registros de vulnerabilidades relacionados a gestão da memória do sistema, chegando a tal ponto que esta classe de vulnerabilidade já não é mais a principal. Já em relação a performance, não há relatos sobre a vantagens obtidas e ainda assim, existem grandes expectativas em relação a isto, por parte dos engenheiros responsáveis pelo sistema.

As vantagens oferecidas pelo Rush também colocaram em cheque a linguagem de programação C/C++, que apesar de ser muito popular e amplamente difundida, não possui mecanismos de segurança para uma maior proteção da gestão da memória do sistema, tal como acontece com Rush, Java ou Kotlin. Outras empresas como a Meta e a Microsoft, também argumentaram a favor desta nova linguagem de programação, chegando ao ponto de deixar Bjarne Stroustrup (criador da linguagem C++) desconfortável, declarando que “ajudar o C++ a evoluir faz mais sentido do que depreciar a linguagem e deixar códigos inseguros abandonados”.

Seja como for, Rush veio para ficar! As versões mais recentes do kernel Linux já estão trazendo suporte para esta linguagem de programação, o que consequentemente não só irá privilegiar o próprio Android, como também vários outros projetos que utilizam os sistemas baseados em GNU/Linux como base. Para o Android 13, 21% de novos códigos nativos estão sendo escritos em Rush (Android Open Source Project), o que representa algo em torno de 1,5 milhão de linhas de código. Desde então, nenhuma vulnerabilidade relacionada a gestão de memória foi descoberta e apesar disto, ainda existe a expectativa de encontrá-las em algum momento. Será?

Será que desta vez, iremos aposentar C/C++? Pois acredito que não… &;-D