Ao longo dos anos, o Android e o Google têm trabalhado incansavelmente para garantir que os problemas de segurança do Android sejam resolvidos. Os problemas de segurança da memória provocados por linguagens de programação inseguras são os mais prevalentes e difíceis de resolver; na verdade, Mountain View declarou suporte ao Rust para o Android Open Source Project no ano passado.
No entanto, para combater essas ameaças, hoje o Google divulgou uma série de dados que mostram que o número de vulnerabilidades de segurança de memória caiu significativamente nos últimos anos. Isso ocorre através dos resumos do Google e da mudança para a ferrugem para tornar o Android mais seguro. Da mesma forma, a nova linguagem de programação leva a menos vulnerabilidades de segurança de memória.
Como a ferrugem torna o Android mais seguro
Em relação ao acesso à memória, a segurança da memória refere-se ao estado de proteção contra diversos bugs de software e falhas de segurança. Bugs de segurança de memória em C e C++ continuam a ser a fonte de erro mais difícil de corrigir.
Sem ser muito técnico, as melhores linguagens para desenvolver aplicativos Android são Java e Kotlin, uma vez que são melhores no cache de erros de tempo de execução do que C e C++. Infelizmente, embora a plataforma Android como um todo seja protegida com sucesso contra problemas de memória pelo emprego dessas linguagens, os níveis inferiores do sistema operacional não o são.
Reduzindo vulnerabilidades de segurança de memória
Rust fornece garantias de segurança de memória combinando verificações em tempo de compilação e testes em tempo de execução para garantir que os acessos à memória estejam corretos. Em C e C++, o desenvolvedor é responsável por manter a vida útil da memória, mas erros são fáceis de cometer. Em termos de desempenho, eles estão todos no mesmo nível de C e C++.
À luz do acima mencionado, o número de vulnerabilidades de segurança de memória diminuiu de 223 por ano para 85 e, mais importante ainda, elas não são mais responsáveis pela maior parte das vulnerabilidades do Android. Assim, 76% de todas as vulnerabilidades eram vulnerabilidades do Android atualmente, abaixo dos 76%.
O número total de vulnerabilidades relatadas no Boletim de Segurança do Android, incluindo aquelas relatadas internamente e aquelas com gravidade crítica ou alta, são chamadas de vulnerabilidades. A situação só está melhorando com o Android 13, pois é a primeira vez que a maioria dos novos códigos são introduzidos em uma linguagem segura para memória.
Na realidade, a pilha de banda ultralarga (UWB), DNS sobre HTTP 3Armazenamento de chaves 2Android Virtualization Framework (AVF) e vários componentes adicionais e suas dependências de código aberto representam 21% do novo código nativo no Android 13.
Google fala sobre o código Rust do Android
Em apoio a isso, o Google observa que até agora, zero vulnerabilidades de segurança de memória foram descobertas no código Rust do Android no Android 12 e 13. GrandeG observa que a proporção de vulnerabilidades provocadas por problemas de segurança de memória parece estar intimamente correlacionada com a linguagem de desenvolvimento usado para novo código. No entanto, esta associação não sugere necessariamente acaso.
Como prova da importância desses esforços, o Google observa que as vulnerabilidades de segurança de memória são as mais críticas. Na realidade, a casa de Mountain View reconhece que a transição do C/C++ é difícil e que o Rust precisa ser usado em toda a base de código.