O apelo da Casa Branca pela segurança da memória traz desafios, mudanças e custos

O apelo da Casa Branca pela segurança da memória traz desafios, mudanças e custos

O apelo da Casa Branca por segurança de memória traz desafios, mudanças e custos PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

COMENTÁRIO

A recente publicação “De volta aos blocos de construção: A Path Toward Secure and Measurable Software” do Escritório do Diretor Nacional Cibernético da Casa Branca (ONCD) fornece detalhes adicionais e orientação estratégica que apoiam o Estratégia Nacional de Cibersegurança lançado em março de 2023. A estratégia pretende transferir uma parcela muito maior de responsabilidade pela segurança cibernética para fornecedores de software, provedores de serviços e outras entidades que desenvolvem aplicativos de software. Este último relatório fornece uma orientação mais específica, enfatizando uma mudança agressiva para linguagens de programação seguras para memória com práticas de desenvolvimento de software.

O imperativo de segurança da memória

As linguagens de programação tradicionais são frequentemente o elo mais fraco no desenvolvimento de software, com vulnerabilidades de segurança de memória levando a incidentes significativos. Apesar das revisões abrangentes de código e de outras medidas de segurança, essas vulnerabilidades persistem, sendo responsáveis ​​por até 70% dos problemas de segurança nessas linguagens. Uma mudança em direção a linguagens de programação seguras para memória, conforme recomendado pelo roteiro da Agência de Segurança Cibernética e de Infraestrutura (CISA), é um passo crítico para o desenvolvimento de software que seja seguro por design.

Um dos desafios mais assustadores nesta mudança estratégica é abordar os sistemas legados desenvolvidos em C e C++. Esses sistemas legados não são apenas numerosos, mas muitas vezes essenciais para as operações de muitas organizações. Reescrever esses sistemas em linguagens modernas e com memória segura pode ser caro e complexo, resultando no tempo de inatividade de processos comerciais críticos.

Além disso, as vulnerabilidades de segurança da memória são observadas principalmente no nível do sistema operacional, afetando plataformas significativas como Microsoft e Linux. Esta categorização de questões ao nível do tempo de execução, e não ao nível da aplicação, sublinha o desafio mais amplo da segurança cibernética: a procura de medidas de segurança avançadas deve ser equilibrada com os aspectos práticos e os custos de implementação destas mudanças, especialmente para sistemas estabelecidos.

Considerações Econômicas e Técnicas

Muitas organizações enfrentam custos formidáveis ​​associados à revisão de sistemas mais antigos. A alteração dos protocolos de codificação não é apenas uma decisão técnica, mas também estratégica para garantir a segurança da infraestrutura digital do futuro. Como resultado, os decisores que consideram quando realizar a transição devem avaliar os impactos financeiros e operacionais imediatos versus os benefícios a longo prazo.

Felizmente, já foram desenvolvidas inovações tecnológicas que podem reduzir o custo e a interrupção da transição para um código mais seguro. Por exemplo, as ferramentas de análise de código podem analisar aplicativos legados e identificar de forma semi-autônoma instâncias em que o código C ou Python é executado sem o isolamento adequado. E devido aos recentes avanços na tecnologia de compiladores, mesmo as piores práticas de codificação inseguras podem ser protegidas se escritas em uma linguagem mais antiga. Estes desenvolvimentos deverão diminuir significativamente as barreiras à adoção de práticas de codificação seguras para organizações de qualquer dimensão.

Um esforço colaborativo em direção a um futuro seguro

Os decisores políticos e os fornecedores devem colaborar estreitamente para equilibrar o aumento da segurança com a manutenção de serviços de software essenciais. Adotar linguagens de programação seguras em termos de memória, conforme recomendado pela ONCD, é um passo crucial nesta jornada e é essencial para o avanço da nossa segurança cibernética coletiva. 

Vários líderes da indústria já fizeram investimentos significativos em linguagens seguras para memória. Exemplos incluem: 

  • Linguagem de programação Rust da Mozilla: Com ênfase na segurança da memória, Rust oferece uma alternativa sólida às linguagens de programação tradicionais que aliam segurança e desempenho.

  • O investimento da Microsoft em Rust: Reconhecendo que as linguagens mais antigas têm limitações, a Microsoft adotou o Rust e o utilizou em vários novos projetos onde a segurança da memória era uma preocupação.

  • Esforços de segurança de memória do Google: O Google investiu recursos consideráveis ​​para encontrar e mitigar vulnerabilidades de segurança de memória e apelou ao uso de linguagens seguras de memória em novos desenvolvimentos. Na semana passada, o Google lançou um novo relatório de pesquisa, “Secure by Design: Google's Perspective on Memory Safety”, defendendo uma estratégia de segurança desde o design. O relatório se concentra na adoção de linguagens com recursos robustos de segurança de memória e reconhece as limitações da evolução do C++ para atender a esses padrões.

Seguindo em frente: etapas práticas para atender às recomendações da ONCD

O caminho indicado no último relatório da ONCD é desafiador, mas rico em oportunidades. Exige medidas práticas de todos os intervenientes nos ecossistemas de desenvolvimento de software e de segurança cibernética, incluindo:

  • Educação e treinamento: As organizações devem comprometer-se a ensinar às suas equipas linguagens seguras em termos de memória e práticas de desenvolvimento seguras, garantindo que os desenvolvedores possam fazer as alterações necessárias.

  • Planos de transição gradual: As organizações devem criar planos para a transição de sistemas legados para linguagens gerenciáveis ​​e com segurança de memória. Devem abordar primeiro as áreas mais críticas e fasear o projecto lentamente para minimizar perturbações operacionais.

  • Aproveitando ferramentas de automação: As organizações devem usar ferramentas e compiladores modernos de análise de código que encontrem e corrijam automaticamente práticas de código inseguras, ao mesmo tempo que reduzem a carga de processos manuais.

  • Política e governança: As organizações devem desenvolver construções de governança explícitas que incluam segurança na memória e práticas de desenvolvimento seguras durante todo o ciclo de vida de desenvolvimento de software.

  • Comunidade e colaboração: É importante ressaltar que as organizações devem ir além de seus muros e da comunidade tecnológica mais ampla em fóruns, parcerias e projetos de código aberto para compartilhar o conhecimento, os desafios e as soluções em torno da segurança da memória que acompanham esta jornada.

Melhorar segurança nos aplicativos que impulsionam a economia digital é um empreendimento elevado e complexo, mas necessário, que exige colaboração contínua entre os setores público e privado. O último relatório da ONCD é um próximo passo sólido na articulação da estratégia; no entanto, é necessária mais vontade para concretizar a visão. A transição para linguagens de codificação com memória segura para novos aplicativos e a atualização de códigos legados são enormes desafios. No entanto, estão sendo feitos progressos com avanços recentes em análise de software e tecnologias de compilador e compromissos demonstrados por muitos líderes tecnológicos globais.

Carimbo de hora:

Mais de Leitura escura