A administração do presidente dos EUA, Joe Biden, deseja que os desenvolvedores de software usem linguagens de programação seguras para memória e abandonem linguagens vulneráveis ​​como C e C++.

O Escritório do Diretor Nacional Cibernético da Casa Branca (ONCD), em um relatório divulgado na segunda-feira, pediu aos desenvolvedores que reduzissem o risco de ataques cibernéticos usando linguagens de programação que não tenham vulnerabilidades de segurança de memória. As empresas de tecnologia “podem impedir que classes inteiras de vulnerabilidades entrem no ecossistema digital” adotando linguagens de programação seguras para memória, disse a Casa Branca em um comunicado à imprensa.

Linguagens de programação com memória segura são protegidas contra bugs de software e vulnerabilidades relacionadas ao acesso à memória, incluindo buffer overflows, leituras fora dos limites e vazamentos de memória. Estudos recentes da Microsoft e do Google descobriram que cerca de 70% de todas as vulnerabilidades de segurança são causadas por problemas de segurança de memória.

“Nós, como nação, temos a capacidade – e a responsabilidade – de reduzir a superfície de ataque no ciberespaço e evitar que classes inteiras de bugs de segurança entrem no ecossistema digital, mas isso significa que precisamos enfrentar o difícil problema de mudar para uma programação segura de memória. idiomas”, disse o Diretor Nacional Cibernético, Harry Coker, no comunicado à imprensa da Casa Branca.

A Agência de Segurança Cibernética e de Infraestrutura dos EUA também incentivou os desenvolvedores a usar linguagens de programação seguras para memória em uma postagem no blog de setembro. A CISA, o FBI, a Agência de Segurança Nacional dos EUA e agências de países aliados também publicaram o relatório, “The Case for Memory Safe Roadmaps”, em dezembro.

O novo relatório de 19 páginas da ONCD apresentou C e C++ como dois exemplos de linguagens de programação com vulnerabilidades de segurança de memória e nomeou Rust como um exemplo de linguagem de programação que considera segura. Além disso, uma folha de informações de segurança cibernética da NSA de novembro de 2022 listou C#, Go, Java, Ruby e Swift, além de Rust, como linguagens de programação que considera seguras para a memória.

Cerca de 22% de todos os programadores de software usavam C++ e 19% usavam C em 2023, de acordo com o Statista, tornando-os menos populares do que JavaScript, Python, Java e alguns outros. Mas o índice da TIOBE Programming Community classifica apenas Python como mais popular, seguido por C, C++ e Java.

Mudando a responsabilidade

Um dos objetivos do novo relatório é transferir a responsabilidade da segurança cibernética dos indivíduos e das pequenas empresas para as grandes organizações, empresas de tecnologia e o governo dos EUA, que são “mais capazes de gerir a ameaça em constante evolução”, noticiou a Casa Branca. disse o lançamento.

A ONCD trabalhou com o setor privado, incluindo empresas de tecnologia, a comunidade acadêmica e outras organizações para desenvolver as recomendações do relatório, afirmou. A ONCD emitiu um pedido de opinião pública sobre o tema em agosto. Também reuniu comentários de apoio à iniciativa de diversas empresas de tecnologia, incluindo Hewlett Packard Enterprise, Accenture e Palantir. Outros especialistas em segurança de software também elogiaram o relatório.

O relatório da ONCD é útil e oportuno, disse Dan Grossman, professor de ciência da computação na Universidade de Washington. Embora “os perigos de C e C++ sejam bem conhecidos há décadas”, este é um bom momento para a Casa Branca pressionar pela segurança da memória porque alternativas práticas e maduras estão agora disponíveis, disse ele.

Hora de mudar

Ao mesmo tempo, são necessárias mudanças devido “à sofisticação das ameaças de adversários que exploram violações de segurança de memória”, disse ele.

As discussões sobre segurança da memória envolvendo o governo, a indústria e o meio acadêmico podem levar a mudanças significativas, acrescentou. “Naturalmente, muitos ramos do governo federal são criadores e fornecedores importantes de software e podem usar essa perspectiva para decidir sua prioridade para futuras mudanças em sistemas ou novos sistemas.”

No entanto, o afastamento de C e C++ não acontecerá da noite para o dia, especialmente em sistemas embarcados, disse Grossman. “Mas o uso de outras linguagens para software de sistemas, notadamente Rust, já cresceu significativamente, e acho que muitas pessoas antecipam que esse tipo de evolução será acelerada, em vez de simplesmente parar o desenvolvimento de C e C++, o que ainda parece inimaginável em sua totalidade.”

Afastar-se de C e C++ será um “processo longo e difícil”, acrescentou Josh Aas, diretor executivo e cofundador do Internet Security Research Group. “É necessário um esforço sustentado para mudar a forma como as pessoas pensam sobre as coisas, e comunicações como esta ajudam a manter a questão da segurança fresca na mente das pessoas.”

Para que a mudança aconteça, o governo e o setor privado precisam trabalhar juntos para tornar o código seguro uma prioridade, disse Aas.

“Em última análise, precisamos de escrever e implementar um novo código, mas, para chegar lá, precisamos de recursos e de líderes a todos os níveis, do governo ao setor privado, para torná-lo uma prioridade”, acrescentou. “Os líderes relevantes precisam de ser sensibilizados para o problema e precisam de saber que serão apoiados se fizerem da resolução deste problema uma prioridade.”