technology

A NSA insta as organizações a usar linguagens de programação seguras para a memória • Strong The One

.

A Agência de Segurança Nacional dos EUA (NSA) divulgou orientações incentivando as organizações a mudar as linguagens de programação de C e C++ para alternativas seguras de memória – ou seja, C#, Rust, Go, Java, Ruby ou Swift.

“A NSA recomenda que as organizações usem linguagens seguras de memória quando possível e reforcem a proteção por meio de defesas de proteção de código, como opções de compilador, opções de ferramentas e configurações de sistema operacional”, aconselhado a agência.

A principal preocupação da organização é que cibercriminosos mal-intencionados possam explorar vulnerabilidades em memórias mal gerenciadas, o que ocorre com mais frequência nas linguagens que dão mais opções e flexibilidade ao programador.

A NSA dá os exemplos de um agente de ameaças encontrando seu caminho em um sistema por meio de um estouro de buffer ou aproveitando problemas de alocação de memória de software.

Enquanto isso, linguagens seguras para memória usam uma combinação de tempo de compilação e verificações de tempo de execução que protegem automaticamente o programador contra erros que se transformam em vulnerabilidades.

“Atores cibernéticos maliciosos podem explorar essas vulnerabilidades para execução remota de código ou outros efeitos adversos, que muitas vezes podem comprometer um dispositivo e ser o primeiro passo em invasões de rede em larga escala”. disse [PDF] a ANS.

Bem, obviamente é melhor evitar isso.

O diretor técnico de segurança cibernética da NSA, Neal Ziring, disse que o uso consistente de linguagem segura de memória e outras proteções era necessário ao desenvolver software para eliminar essas vulnerabilidades.

No entanto, a NSA reconheceu que “memória segura” é um nome um pouco impróprio e o conceito existe em um espectro.

A proteção da memória também traz seus próprios desafios – níveis extremos de proteção inerente têm o efeito adverso de serem difíceis de compilar e caros. E mudar de um idioma para outro é uma dor antiga no ASCII, se é que às vezes é possível.

Os usuários de ferrugem triplicaram entre o primeiro trimestre de 2020 e o primeiro trimestre de 2022, de acordo com a empresa de analistas SlashData. Go também foi prolífico, com uma comunidade de 3,3 milhões de desenvolvedores. O JavaScript conquistou sua posição de uma década como a linguagem mais popular com 17,5 milhões de desenvolvedores.

Embora as linguagens sejam onipresentes, a afirmação da NSA de que C e C++ são particularmente problemáticas é uma opinião popular. Mark Russinovich, CTO do Microsoft Azure, apresentado o caso dele em setembro que é hora de interromper quaisquer novos projetos nos dois idiomas testados pelo tempo.

O CTO reconheceu que, embora ele influencie novas ferramentas para Rust, existe uma “enorme quantidade de C/C++ que será mantida e evoluída por décadas (ou mais)”. Código C/C++ na noite anterior ao seu tweet.

“Acho que a NSA está fazendo a coisa certa”, disse o CISO da empresa de segurança cibernética Acronis, Kevin Reed. Strong The One.

“Mitigações como a randomização de layout de espaço de endereço (ASLR) e proteção de pilha são uma espécie de band-aid, não uma solução completa; mudar para uma linguagem segura de memória é muito melhor”, acrescentou Reed, antes de ecoar os sentimentos de Russinovich.

“Duvido que veremos efeitos imediatos porque a quantidade de código C e C++ escrito ao longo dos anos é imensa e mesmo que todos comecemos a usar Rust and Go amanhã, levará décadas antes de limparmos essa bagunça”, disse Reed. . ®

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo