Ciência e Tecnologia

A ascensão da ferrugem, a linguagem de programação segura ‘viral’ que está dominando a tecnologia

.

Esses tipos de vulnerabilidades não são apenas bugs esotéricos de software. Pesquisas e auditorias descobriram repetidamente que elas constituem a maioria de todas as vulnerabilidades de software. Portanto, embora você ainda possa cometer erros e criar falhas de segurança ao programar em Rust, a oportunidade de eliminar vulnerabilidades de segurança de memória é significativa.

“Os problemas de segurança da memória são responsáveis ​​por uma enorme, enorme porcentagem de todas as vulnerabilidades relatadas, e isso ocorre em aplicativos críticos, como sistemas operacionais, telefones celulares e infraestrutura”, diz Dan Lorenc, CEO da empresa de segurança de cadeia de suprimentos de software Chainguard. “Ao longo das décadas que as pessoas têm escrito código em linguagens sem memória, tentamos melhorar e construir melhores ferramentas e ensinar as pessoas a não cometer esses erros, mas há limites para o quanto dizer às pessoas para tentarem mais pode realmente funciona. Portanto, você precisa de uma nova tecnologia que torne impossível toda essa classe de vulnerabilidades, e é isso que a Rust finalmente está trazendo para a mesa.”

Rust tem seus céticos e detratores. O esforço nos últimos dois anos para implementar Rust no Linux tem sido controverso, em parte porque adicionar suporte para qualquer outra linguagem aumenta inerentemente a complexidade e em parte por causa de debates sobre como, especificamente, fazer tudo funcionar. Mas os proponentes enfatizam que o Rust tem os elementos necessários – não causa perda de desempenho e interage bem com software escrito em outras linguagens – e que é crucial simplesmente porque atende a uma necessidade extrema.

“É menos que é a escolha certa e mais que está pronto”, diz Lorenc, um colaborador e pesquisador de código aberto de longa data. “Não há alternativas reais agora, além de não fazer nada, e isso não é mais uma opção. Continuar a usar código inseguro de memória por mais uma década seria um grande problema para a indústria de tecnologia, para a segurança nacional, para tudo.”

Um dos maiores desafios da transição para Rust, porém, são precisamente todas as décadas que os desenvolvedores já passaram escrevendo código vital em linguagens sem memória. Escrever um novo software em Rust não resolve essa enorme lista de pendências. A implementação do kernel Linux, por exemplo, está começando na periferia, suportando drivers baseados em Rust, os programas que coordenam entre um sistema operacional e hardware como uma impressora.

“Quando você está fazendo sistemas operacionais, a velocidade e o desempenho são sempre em primeiro lugar, e as partes que você está executando em C++ ou C são geralmente as partes que você simplesmente não pode executar em Java ou em outras memórias seguras. idiomas, por causa do desempenho”, diz Kleidermacher, do Google. “Então, ser capaz de rodar Rust e ter o mesmo desempenho, mas obter a segurança da memória, é muito legal. Mas é uma viagem. Você não pode simplesmente reescrever 50 milhões de linhas de código da noite para o dia, então estamos escolhendo cuidadosamente os componentes críticos de segurança e, com o tempo, adaptaremos outras coisas.”

No Android, Kleidermacher diz que muitos recursos de gerenciamento de chaves de criptografia agora estão escritos em Rust, assim como o recurso de comunicação privada na Internet DNS sobre HTTPS, uma nova versão da pilha de chips de banda ultralarga e o novo Android Virtualization Framework usado em Chips Tensor G2 personalizados do Google. Ele acrescenta que a equipe do Android está convertendo cada vez mais pilhas de conectividade como as de Bluetooth e Wi-Fi para Rust porque são baseadas em padrões complexos do setor e tendem a conter muitas vulnerabilidades. Em suma, a estratégia é começar a obter benefícios de segurança incrementais convertendo os componentes de software mais expostos ou vitais para Rust primeiro e depois trabalhando a partir daí.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo