Programe em C e C++ enquanto ainda pode

O governo dos Estados Unidos, através da CISA e do FBI, está intensificando seus esforços para banir o uso de linguagens de programação como C e C++ em softwares críticos.

A razão para isso é a alta incidência de vulnerabilidades de segurança relacionadas a vazamento de memória, que podem ser exploradas por hackers.

O programador é responsável por alocar e liberar a memória. Se não o fizer, ela “vaza”, ou seja, fica indisponível para outras partes do programa, acarretando lentidão, instabilidade e a falha do programa.

Além disso, o uso intensivo de ponteiros aumenta a complexidade do gerenciamento de memória e torna mais fácil cometer erros.

Se mal utilizado, apontará para um local de memória inválido, causando um crash ou criando uma vulnerabilidade.

O uso de linguagens inseguras, em infraestruturas críticas, representa uma ameaça significativa à segurança nacional, econômica e pública.

A CISA recomenda a adoção de linguagens como Rust, Java, C#, Go, Python e Swift, que possuem mecanismos de segurança de memória mais robustos.

Um estudo da CISA revelou que mais de 50% do código de projetos open-source críticos é escrito em linguagens inseguras para memória.

Embora a agência já alertasse sobre C e C++, a nova campanha demonstra preocupação ainda maior com a segurança cibernética e a necessidade de adotar medidas mais rigorosas.

O que isso significa?

A pressão para abandonar C e C++ pode levar a mudanças significativas na forma como os softwares são desenvolvidos, especialmente aqueles relacionados a infraestruturas críticas.

A transição para linguagens mais seguras pode exigir que os desenvolvedores adquiram novas habilidades e conhecimentos.

A adoção em massa de linguagens seguras tem o potencial de reduzir significativamente o número de vulnerabilidades exploráveis, tornando os sistemas mais seguros.

Embora a transição possa ser desafiadora, os benefícios em termos de segurança justificam o esforço.

Fonte: link no texto

6 curtidas

Linguagens inseguras para a memória foi para quebrar a amizade.
Liberdade agora é igual a insegurança?
As linguagens citadas pelo o autor do texto a maioria foi escrita em C e C++ antes de começarem a serem escritas nelas mesmas.

3 curtidas

E eu que programo em assembler kkkk

2 curtidas

Boa sorte em tentar banir C e C++ kkkk, tudo é feito por elas, em 2050 eles bane.

1 curtida

Não é bem questão de liberdade apesar de ser burrice

O que essas linguagens tem em comum é não ter garbage value, quando você um declara um ponteiro ou referência mas não um valor elas iniciam com garbage value ou seja lixo, que por acaso pode ser um endereço de memória e é aí que o problema começa, se for um endereço de memória um atacante pode injetar instruções maliciosas então nessas linguagens é muito improvável ter injeção de instrução mesmo algumas feitas em C e C++

O motivo de eu chamar de burrice é que tem softwares que não podem ser seguros de memória, então provavelmente em uma adoção massiva provavelmente levaria ao uso de macros como “unsafe” em Rust que deixa Rust tão seguro quanto C

1 curtida

na vdd podem começar a criar novas coisas sem usar C/C++ e nao “banir” oq ja existe pq nao faz sentido.

1 curtida

Eu ja abandonei C faz um bom tempo, uso bastante Rust hj em dia, em geral Rust é melhor e mais seguro q C.
Rust n tem gc e resolve o problema de gerenciar memoria com o funcionamento da linguagem em si.
C n tem gc e vc q controla o gerenciamento de memoria manualmente( oq é mto mais possivel de erros, casos como crowdstrike sao exemplo de erros)

1 curtida