Os métodos de operação segura de memória reduziram significativamente o número de vulnerabilidades no Android

A empresa Google concluiu as avaliações da iniciativa para a implementação em Android de métodos de desenvolvimento seguro (Safe Coding), como o uso de linguagens de programação que garantem a gestão segura da memória, a aplicação de analisadores estáticos e o design de APIs com foco na segurança. As mudanças permitiram reduzir a proporção de vulnerabilidades relacionadas à memória em Android de 76% em 2019 para 24% em 2024, o que está significativamente abaixo da média do setor — 70%.

Os engenheiros do Google também concluíram que a principal fonte de problemas de segurança é o novo código, e, portanto, a atenção deve ser direcionada para a modernização dos métodos de desenvolvimento de novo código. O código já existente, ao longo do tempo, torna-se mais comprovado e seguro (observa-se uma relação exponencial entre segurança e tempo), o que torna investimentos em projetos de reescrita de código existente menos vantajosos. Por exemplo, um código de 5 anos, em média, tem 3,4 vezes menos densidade de vulnerabilidades do que o novo código. Para projetos Android e Chromium, devido à implementação de métodos seguros de gestão de memória, essa diferença é de 7,4 vezes.

Os métodos de operação segura de memória reduziram significativamente o número de vulnerabilidades no Android

Assim, se evitarmos a ocorrência de erros relacionados à memória no novo código, com o tempo, esses erros no código antigo serão identificados cada vez com menos frequência. De forma geral, o Google recomenda não reescrever o código antigo, mas concentrar-se na escrita de novo código em linguagens que gerenciam a memória de maneira segura e garantir a portabilidade entre o novo e o antigo código.

Além de reduzir o número de vulnerabilidades, a utilização de métodos de programação seguros aumenta a produtividade do desenvolvimento, melhora a qualidade do código e tem um impacto positivo na performance. Por exemplo, a reescrita do código para geração de QR codes em Chromium na linguagem Rust resultou em um aumento de 95% na performance, graças à eliminação das sobrecargas causadas pela necessidade de aplicar uma sandbox adicional para isolamento.

A velocidade e a qualidade do desenvolvimento aumentam com a simplificação dos testes e a antecipação da identificação de erros nas fases iniciais do desenvolvimento, nas quais os erros se tornam visíveis antes mesmo que o desenvolvedor comece a verificar o código. Por exemplo, as taxas de reversão de alterações — para código em Rust, o número de reversões devido a erros imprevistos é duas vezes menor do que para código em C++.

De forma geral, a aplicação de métodos seguros de programação é apresentada como a paradigma de desenvolvimento mais eficaz até o momento, que substituiu três abordagens anteriormente utilizadas:

  • Correção de vulnerabilidades após sua detecção. Custoso, exige lançamentos frequentes de atualizações e sua rápida implementação para os usuários.
  • Proteção proativa, focada na aplicação de técnicas que complicam a exploração de vulnerabilidades. O custo dessa proteção foi a diminuição do desempenho e um constante jogo de gato e rato com os atacantes.
  • Detecção precoce de vulnerabilidades por meio do uso de testes de fuzzing e ferramentas como AddressSanitizer e MemorySanitizer. O método apenas tratava os sintomas, e não a causa do problema, e exigia trabalho constante.

Os métodos de operação segura de memória reduziram significativamente o número de vulnerabilidades no Android
Os métodos de operação segura de memória reduziram significativamente o número de vulnerabilidades no Android


Fonte: opennet.ru
Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster