Adeus a C e C++ A Recomendação do Governo dos EUA para Linguagens de Programação Seguras em Memória

O governo dos EUA recomenda evitar o uso de C ou C++ ao programar ferramentas para obter melhores resultados. Aqui está a lista de alternativas recomendadas.

“`html

A NSA atualizou a lista de linguagens de programação seguras

Lista da NSA de programação segura de memória

Em um relatório recente, o Escritório da Casa Branca do Diretor Nacional de Cibercibersegurança (ONCD) fez uma recomendação audaciosa à comunidade de programação: pare de usar C e C++ e comece a utilizar “linguagens de programação seguras para memória”. 🛡️💻 Esse movimento é visto como um passo crucial para proteger os fundamentos do ciberespaço e está alinhado com o plano de cibersegurança do Presidente Biden.

Então, o que exatamente significa “seguro para memória”? Refere-se à defesa contra falhas e vulnerabilidades relacionadas ao acesso à memória. Exemplos desses problemas incluem ponteiros pendurados e estouros de buffer. Java, com suas verificações de detecção de falhas em tempo de execução, se enquadra na categoria de linguagens seguras para memória. Por outro lado, tanto C quanto C++ suportam aritmética de ponteiro não restrita sem verificação de limites, o que os expõe a problemas de segurança de memória.

Para ajudar os desenvolvedores a adotar práticas seguras para memória, a Agência de Segurança Nacional (NSA) compilou uma lista de linguagens de programação recomendadas. Aqui estão suas sugestões, em nenhuma ordem específica:

  • Go
  • Rust
  • C#
  • Swift
  • Java
  • Ruby
  • Python
  • Delphi/Object Pascal
  • Ada

Essas linguagens têm recursos e características que promovem a segurança da memória, tornando-as menos propensas a vulnerabilidades de segurança causadas por problemas relacionados à memória. Escolher uma dessas linguagens no início de um projeto pode melhorar significativamente a segurança do software resultante.

De acordo com uma análise de 2019 feita por engenheiros de segurança da Microsoft, quase 70% das vulnerabilidades de segurança foram causadas por problemas de segurança de memória. A pesquisa do Google em 2020 sobre problemas do navegador Chromium produziu uma estatística semelhante. Considerando esses números, torna-se evidente por que o ONCD está pressionando por uma mudança em direção às linguagens de programação seguras para memória.

🔒🏢 O relatório do ONCD enfatiza a importância de grandes instituições e entidades governamentais desempenharem um papel significativo em cibersegurança. Ele argumenta que a cibersegurança não deve ser apenas responsabilidade de pequenas organizações e indivíduos. Como parte desse esforço, o relatório identifica o uso de C e C++ como linguagens de programação “inseguras” devido à sua associação com vulnerabilidades de segurança de memória. Embora o relatório evite sugerir uma linguagem de substituição específica, destaca que existem “dezenas de linguagens de programação seguras para memória que podem – e devem – ser usadas” no lugar.

O relatório não se limita a recomendações de linguagem. Ele também pede uma melhoria nas métricas de segurança de software. Ao implementar melhores práticas de medição, os provedores de tecnologia podem antecipar e abordar riscos de forma proativa, reduzindo as chances de vulnerabilidades escaparem pelo ralo.

Em última análise, o relatório do ONCD é um apelo à ação para toda a comunidade de programação priorizar a segurança da memória. Se você é um desenvolvedor trabalhando em sistemas críticos ou uma pequena startup, dar passos para integrar linguagens de programação seguras para memória em seu processo de desenvolvimento de software é uma parte essencial para construir software seguro por design.


Perguntas Frequentes

P: Por que C e C++ são consideradas linguagens de programação “inseguras”? R: C e C++ permitem aritmética de ponteiro não restrita, o que pode resultar em vulnerabilidades de segurança de memória. Essas linguagens carecem de salvaguardas e verificações embutidas contra problemas comuns relacionados à memória, como ponteiros pendurados e estouros de buffer.

P: Quais são as vantagens das linguagens de programação seguras para a memória? R: As linguagens de programação seguras para a memória, como Go, Rust e Java, possuem recursos e mecanismos que previnem ou mitigam vulnerabilidades relacionadas à memória. Elas oferecem verificações e restrições embutidas para garantir um uso mais seguro da memória, reduzindo a probabilidade de falhas de segurança.

P: Mudar para linguagens de programação seguras para a memória afetará projetos existentes? R: Mudar de linguagens de programação para projetos existentes pode ser um processo complexo e demorado. Isso depende principalmente de fatores como o tamanho do projeto, a complexidade da base de código e a expertise da equipe. No entanto, incorporar linguagens de programação seguras para a memória desde o início em novos projetos pode melhorar significativamente a segurança do software.

P: Existem linguagens de programação seguras para a memória específicas recomendadas para diferentes aplicativos? R: A escolha da linguagem de programação depende dos requisitos e restrições específicos de cada aplicativo. Enquanto linguagens como Go e Rust são adequadas para programação de nível de sistema, linguagens como Python e Ruby se destacam no desenvolvimento web. Considere as necessidades do seu projeto e consulte recursos específicos da linguagem para tomar uma decisão informada.

“““html


🔍 Para obter mais informações e insights relacionados a linguagens de programação seguras para memória e cibersegurança, confira estes recursos valiosos:

  1. Python Continua a Reinar Supremo no Mercado de Trabalho
  2. CEOs da Meta, TikTok, Snap e Discord Vão ao Congresso para Discutir a Segurança Online das Crianças
  3. Relatório Técnico Final da ONCD

📚 Lembre-se de se manter informado e acompanhar as últimas tendências e melhores práticas no mundo da programação e cibersegurança!


Deanna Ritchie
Editora-Chefe do ENBLE

Deanna é uma editora no ENBLE com mais de 20 anos de experiência em gerenciamento e desenvolvimento de conteúdo. Anteriormente, foi Editora-Chefe do Startup Grind e do Calendar, assim como editora na Entrepreneur media. Sua paixão pela tecnologia e expertise no campo a tornam um recurso valioso para se manter atualizado com os últimos avanços em tecnologia da computação e programação.


Enfrentou desafios relacionados à segurança de memória em sua jornada de programação? Compartilhe suas experiências e pensamentos nos comentários abaixo! Vamos nos esforçar juntos por um ciberespaço mais seguro! 🚀

Não se esqueça de compartilhar este artigo com seus colegas desenvolvedores para divulgar a importância das linguagens de programação seguras para memória. Juntos, podemos criar um futuro digital mais seguro. 🌐💪

“`