O criador do C++ criticou a imposição de linguagens de programação seguras

Bjarne Stroustrup, criador da linguagem C++, publicou uma refutação às conclusões de um relatório da NSA que recomendava que as organizações abandonassem linguagens de programação como C e C++, que delegam o gerenciamento de memória ao desenvolvedor, e adotassem linguagens como C#, Go, Java, Ruby, Rust e Swift, que oferecem gerenciamento automático de memória ou realizam verificações de segurança de memória em tempo de compilação.

Segundo Stroustrup, as linguagens seguras mencionadas no relatório da NSA não são, de fato, superiores ao C++ nas aplicações que ele considera importantes. Especificamente, as Diretrizes Essenciais do C++, desenvolvidas nos últimos anos, abrangem práticas de programação segura e prescrevem o uso de ferramentas que garantem o manuseio seguro de tipos e recursos. Ao mesmo tempo, os desenvolvedores que não necessitam de garantias de segurança tão rigorosas podem continuar utilizando métodos de desenvolvimento mais antigos.

Stroustrup acredita que um bom analisador estático que esteja em conformidade com as Diretrizes Essenciais do C++ pode fornecer as garantias de segurança necessárias para o código C++ a um custo significativamente menor do que a migração para novas linguagens de programação seguras. Por exemplo, a maioria das recomendações das Diretrizes Essenciais já está implementada no analisador estático e no perfil de segurança de memória incluídos no Microsoft Visual Studio. Algumas recomendações também estão incorporadas ao analisador estático tidy do Clang.

Outra fonte de críticas foi o foco exclusivo do relatório da NSA em questões de gerenciamento de memória, ignorando muitos outros problemas de linguagens de programação que impactam a segurança e a confiabilidade. Stroustrup vê a segurança como um conceito mais amplo, cujas várias facetas podem ser alcançadas por meio de uma combinação de estilo de codificação, bibliotecas e analisadores estáticos. Ele propõe o uso de anotações de código e opções de compilador para controlar a inclusão de regras que garantam a segurança de tipos e recursos.

Em aplicações onde o desempenho é mais importante que a segurança, essa abordagem permite a aplicação seletiva de garantias de segurança apenas onde necessário. Melhorias de segurança também podem ser aplicadas parcialmente, por exemplo, limitando inicialmente a implementação à verificação de intervalos e regras de inicialização, e adaptando gradualmente o código a requisitos mais rigorosos.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção DDoS, servidores VPS VDS 🔥 Compre hospedagem de sites confiável com proteção contra DDoS, servidores VPS/VDS | ProHoster