Google anuncia migração de seus sistemas para linguagens seguras para memória
A empresa já utiliza linguagens como Java, Python e Kotlin, e essa preocupação também motivou a criação do Go. De acordo com o Google, essas tecnologias já compõem uma parte significativa de seu código, enquanto o restante ainda é predominantemente escrito em C++, que anteriormente era a escolha preferida para demandas de alto desempenho. O objetivo de longo prazo é integrar gradualmente linguagens seguras para memória em suas bases de código, eliminando o uso de código inseguro em novos desenvolvimentos. Dado o grande volume de código em C++, a transição será lenta.
Para o Google, linguagens como Rust reduzem drasticamente o risco de erros relacionados à memória, oferecendo recursos como coleta de lixo e verificação de empréstimos. Esses princípios de codificação segura já eliminaram, com sucesso, classes inteiras de vulnerabilidades, como cross-site scripting (XSS).
A empresa está investindo na expansão do uso de Rust além do Android e outros cenários móveis, abrangendo ecossistemas de servidores, aplicativos e sistemas embarcados, permitindo o uso de MSLs em ambientes de código de baixo nível, onde C e C++ ainda dominam. Como resultado da adoção do Rust no Android, o número de vulnerabilidades caiu de mais de 220 em 2019 para uma projeção de 36 até o final deste ano, segundo o Google.
O foco principal será a implementação de segurança de memória em novos códigos, sem reescrever bases de código maduras e estáveis em C ou C++ inseguro. No entanto, a empresa também planeja reforçar sua base de código em C++, eliminando subclasses de vulnerabilidades e mitigando os riscos das vulnerabilidades remanescentes.