CISA e FBI alertam contra uso de C e C++
11 de Novembro de 2024

A CISA e o FBI, duas das principais agências de segurança dos Estados Unidos, divulgaram recentemente um documento no qual solicitam às empresas de desenvolvimento de software do país que evitem utilizar linguagens de programação como C e C++.

O objetivo? Reduzir as vulnerabilidades em sistemas.

Essa orientação não é novidade.

A própria Agência de Segurança da Infraestrutura e Cibersegurança (CISA, na sigla em inglês) tem adotado uma posição adversa ao uso dessas linguagens de programação consideradas antigas desde ao menos 2019.

As linguagens C e C++ têm sido alvos frequentes das agências de segurança americanas por sua vasta aplicação na indústria.

Qual é o problema com essas linguagens? O relatório da CISA esclarece que linguagens como C e C++ "oferecem muita liberdade e flexibilidade no gerenciamento de memória, ao mesmo tempo que dependem excessivamente do desenvolvedor para realizar as checagens necessárias nas referências de memória".

Em outras palavras, o problema principal reside no acesso direto à memória.

Linguagens como C, C++ e outras mais antigas proporcionam essa possibilidade, o que pode ser vantajoso para otimizações específicas no desempenho do software.

No entanto, essa característica eleva o risco de incidentes como estouro ou vazamento de memória.

Quando tais problemas são identificados em softwares implementados, eles podem ser explorados por atacantes para invadir sistemas, roubar dados confidenciais, interromper serviços, entre outras ações maliciosas.

Visando prevenir esses problemas, a CISA publicou, em outubro, o relatório "Práticas Ruins de Segurança de Produtos", que aborda exatamente práticas de desenvolvimento de software atualmente consideradas inseguras, oferecendo recomendações para substituí-las.

Quanto às práticas que envolvem acesso à memória, a agência sugere medidas preventivas, incluindo o uso de "uma linguagem de programação segura em relação à memória ou recursos de hardware que previnam as vulnerabilidades de segurança de memória".

Dentre as linguagens que oferecem maior segurança no quesito de acesso à memória, e, portanto, são consideradas substitutas apropriadas, estão Rust, Java, C#, Go, Python e Swift.

Mudar de linguagem, no entanto, pode ser uma tarefa complicada, custosa e demorada, exigindo um extenso planejamento, treinamento de desenvolvedores, inúmeras rotinas de teste, homologação e várias outras etapas.

Apesar disso, a CISA insta as empresas de software a elaborarem um plano para a transição de suas bases de código para linguagens mais modernas e a apresentarem esse documento até 1º de janeiro de 2026.

Embora as recomendações sejam especificamente direcionadas ao mercado americano, essa mudança tem o potencial de influenciar toda a indústria de software globalmente.

Publicidade

Não compre curso de Pentest

Em 14 de janeiro a Solyd irá revolucionar a forma como pentest e hacking deve ser ensinado. Se inscreva para ser o primeiro a saber das novidades. Saiba mais...