O governo está recomendando que os desenvolvedores parem de programar em C ou C++. Em um novo relatório, o Escritório do Diretor Nacional Cibernético da Casa Branca (ONCD) pede que sejam utilizadas “linguagens de programação seguras para memória”, o que exclui as populares linguagens C e C++. Essa recomendação faz parte da estratégia de segurança cibernética do presidente Biden, visando proteger a infraestrutura digital.
A segurança da memória refere-se à proteção contra bugs e vulnerabilidades relacionadas ao acesso à memória, como estouros de buffer e ponteiros pendentes. Enquanto linguagens como Java são consideradas seguras para a memória devido às verificações de detecção de erros em tempo de execução, C e C++ permitem aritmética de ponteiro arbitrária sem verificação de limites.
Engenheiros de segurança da Microsoft afirmaram que cerca de 70% das vulnerabilidades em 2019 foram causadas por problemas de segurança de memória, dados que foram corroborados pelo Google em 2020 para o navegador Chromium.
O relatório enfatiza a importância de utilizar linguagens de programação seguras para memória desde o início do desenvolvimento de software, seguindo recomendações da Agência de Segurança Cibernética e de Infraestrutura (CISA).
A Agência de Segurança Nacional (NSA) emitiu uma ficha de informações detalhando linguagens consideradas seguras para a memória, como Rust, Go, C#, Java, Swift, JavaScript e Ruby.
O relatório destaca a necessidade de melhores métricas para avaliar a segurança do software e ressalta a importância de adotar práticas de segurança cibernética em empresas e organizações de grande porte. Além disso, faz referência à missão Apollo 13 da NASA para ilustrar a importância de soluções seguras para a memória em contextos críticos.
Essas medidas fazem parte dos esforços do governo dos EUA para fortalecer a segurança cibernética, como a recente assinatura de uma ordem executiva por parte do presidente Biden em março de 2023. A crescente digitalização do mundo torna essas iniciativas cada vez mais relevantes, visando mitigar vulnerabilidades que possam ser exploradas por agentes mal-intencionados.