Cibersegurança

Rust no Android: o caminho mais seguro tornou-se o mais rápido no desenvolvimento

A Google afirma que a adoção do Rust no Android reduziu em mais de 1.000 vezes a densidade de vulnerabilidades de segurança da memória em comparação com códigos C e C++, enquanto as alterações em Rust registram menores taxas de reversão e menos tempo de revisão de código. Sua análise apresenta a expansão do Rust para o kernel, o firmware e os aplicativos da Google, além de lições aprendidas com uma vulnerabilidade que quase chegou a uma versão pública.

2025-11-13
7 min de leitura
7 visualizações
فريق تحرير certi.news
Rust no Android: o caminho mais seguro tornou-se o mais rápido no desenvolvimento

Os dados atualizados do Android para 2025 mostram que as vulnerabilidades de segurança da memória caíram para menos de 20% do total de vulnerabilidades pela primeira vez, em paralelo à expansão do uso do Rust nas partes novas e ativas da plataforma. Segundo uma análise publicada no Google Security Blog em 12 de novembro de 2025, o impacto da migração de C e C++ para Rust não se limita à redução dos riscos de segurança, mas também se estende à aceleração da revisão de código e à melhoria da estabilidade das alterações.

Os dados baseiam-se em alterações no código do Android, tanto desenvolvido diretamente pela Google quanto no código de código aberto mantido por terceiros, e abrangem as linguagens C, C++, Java, Kotlin e Rust. Como a análise foi publicada alguns meses antes do fim de 2025, a Google explicou que a janela padrão de correção de 90 dias torna os resultados muito próximos dos números finais, com a possibilidade de acelerar a correção quando necessário.

Mais segurança e entrega mais rápida

A Google introduziu o Rust no Android como uma alternativa direta ao C e ao C++ na programação de baixo nível, mantendo um nível semelhante de controle e previsibilidade, mas reduzindo significativamente os riscos relacionados à segurança da memória. A análise aponta para um forte aumento no volume de novo código Rust, em paralelo a uma queda mais lenta e contínua no novo código C++, até que o volume de Rust recém-adicionado se aproximou do volume de C++, permitindo comparações mais confiáveis entre os dois caminhos de desenvolvimento.

A Google utilizou o framework DORA para medir os aspectos de produtividade e estabilidade. Para reduzir as dificuldades de comparação entre as linguagens, concentrou-se em alterações de tamanho semelhante e em grupos semelhantes de desenvolvedores que trabalham na plataforma Android, além de acompanhar as tendências ao longo do tempo com o aumento da adoção do Rust.

Alterações em Rust de tamanho semelhante exigem cerca de 20% menos revisões do que as equivalentes em C++. Atualmente, elas também passam cerca de 25% menos tempo em revisão de código. A Google atribui, como hipótese e não como conclusão definitiva, a melhoria notável entre 2023 e 2024 ao aumento da experiência da equipe do Android com a linguagem Rust.

Quanto à estabilidade, as alterações médias e grandes em Rust registram uma taxa de reversão cerca de quatro vezes menor que a das alterações em C++. A Google confirma que a redução das reversões não reflete apenas a qualidade das alterações, mas também aumenta a produtividade, pois uma reversão pode levar a retrabalho, revisões adicionais, reconstruções, relatórios pós-incidente e interrupções para outras equipes.

Expansão do Rust para além dos serviços do sistema e das bibliotecas

A Google afirma que o suporte ao Rust amadureceu para a criação de serviços e bibliotecas do sistema Android e, por isso, está trabalhando para ampliar seu uso a outras camadas do ecossistema:

  • Kernel: o kernel Linux 6.12 específico do Android é o primeiro kernel da Google com o suporte ao Rust ativado e também inclui o primeiro driver de Rust para produção. A Google continua colaborando com a Arm e a Collabora em um driver para uma unidade de processamento gráfico que funciona em modo kernel.
  • Firmware: a Google considera que os níveis elevados de privilégio, as restrições de desempenho e a disponibilidade limitada de algumas medidas de proteção tornam o firmware de alto risco e difícil de proteger. A empresa afirma que utiliza Rust em firmware há anos e disponibilizou materiais de treinamento e código para a comunidade, com foco especial em sua colaboração com a Arm no Rusted Firmware-A.
  • Aplicativos da Google: o protocolo Nearby Presence, usado para descobrir dispositivos locais por Bluetooth de forma segura e privada, é executado em Rust dentro do Google Play Services. O protocolo MLS para mensagens seguras via RCS também será incluído no aplicativo Google Messages em uma versão futura.
  • Chromium: os analisadores de PNG e JSON e as fontes da web foram substituídos por implementações memory-safe escritas em Rust, facilitando para os engenheiros do Chromium o tratamento de dados provenientes da web seguindo a Rule of 2.

Uma vulnerabilidade que quase chegou aos usuários

Apesar do foco nas vantagens do Rust, a Google apresenta um caso que quase se tornou o primeiro registro de uma vulnerabilidade de segurança da memória baseada em Rust no Android. Foi detectado um estouro linear da capacidade do buffer no CrabbyAVIF antes que ele chegasse a uma versão pública, e a correção recebeu o identificador CVE-2025-48530 para garantir que tivesse alta prioridade e que sua chegada pelos canais de lançamento pudesse ser acompanhada.

A análise mostrou que o alocador de memória Scudo Hardened Allocator tornou a exploração da vulnerabilidade deterministicamente impossível, graças às páginas de proteção ao redor das alocações secundárias. O Scudo também transformou o estouro de uma corrupção silenciosa da memória em uma falha evidente, o que ajudou a detectar o problema. Por outro lado, o incidente revelou uma deficiência no sistema de comunicação de falhas, pois ele não esclarecia de forma suficiente que a falha era causada por um estouro, retardando a triagem e a resposta. A Google afirma que essa deficiência foi corrigida e que o sistema agora fornece um sinal claro quando ocorrem estouros nas páginas de proteção do Scudo.

Por que o Rust continua importante apesar da existência de unsafe?

A Google não considera que proibir código não seguro, seja em C, C++ ou Rust, seja uma solução prática para o desenvolvimento de sistemas operacionais, devido à necessidade de lidar com interfaces de programação de aplicativos e hardware. Por isso, está desenvolvendo um módulo avançado sobre código não seguro no treinamento Comprehensive Rust, para ensinar os desenvolvedores a avaliar a segurança desse código e o comportamento indefinido, usar comentários de segurança e encapsular as partes não seguras em abstrações seguras.

Com base em cerca de cinco milhões de linhas de Rust na plataforma Android e na existência de um único caso potencial tratado antes do lançamento, a Google estima a densidade de vulnerabilidades de segurança da memória em Rust em aproximadamente 0,2 vulnerabilidade por milhão de linhas. Ela compara esse número a uma densidade histórica de cerca de 1.000 vulnerabilidades por milhão de linhas em C e C++, o que, segundo sua estimativa, representa uma redução superior a 1.000 vezes. A empresa também observa que cerca de 4% do código é escrito dentro de blocos unsafe{}, mas afirma que presumir que cada linha não segura está exposta aos mesmos riscos existentes em C ou C++ superestima o risco, devido à continuidade da maioria das verificações do Rust, à possibilidade de encapsular o código não seguro e à sua submissão a uma auditoria adicional.

A Google conclui que a adoção do Rust muda a equação tradicional que associava a melhoria da segurança a custos adicionais em desempenho, processos ou velocidade de lançamento de recursos. Embora C e C++, assim como mecanismos de proteção de software e hardware, continuem importantes em uma defesa em camadas, a empresa considera que a migração para Rust oferece um caminho simultaneamente mais seguro e eficiente, em vez de acelerar primeiro e lidar com as consequências depois.

Fonte da notícia
Google Security Blog
Abrir fonte original ↗
ف
Autor

فريق تحرير certi.news

Na mesma categoria

Você também pode gostar

Ver todas as notícias