Um projeto para implementar os utilitários sudo e su no Rust

O ISRG (Internet Security Research Group), que é o fundador do projeto Let's Encrypt e promove o HTTPS e o desenvolvimento de tecnologias para aumentar a segurança da Internet, apresentou o projeto Sudo-rs para criar implementações de utilitários sudo e su escritos em Rust que permite executar comandos em nome de outros usuários. Sob as licenças Apache 2.0 e MIT, uma versão de pré-lançamento do Sudo-rs já foi publicada, ainda não pronta para uso geral. O projeto, que começou a funcionar em dezembro de 2022, tem conclusão prevista para setembro de 2023.

O trabalho atual está focado na implementação de funcionalidades no Sudo-rs que permitam que o utilitário seja usado como um substituto transparente para o sudo em cenários de uso típicos (configurações padrão do sudoers em Ubuntu, Fedora e DebianNo futuro, planejamos criar uma biblioteca que permitirá incorporar a funcionalidade sudo em outros programas e fornecer um método de configuração alternativo que elimina a necessidade de analisar a sintaxe do arquivo de configuração sudoers. Uma versão do utilitário su também será desenvolvida com base na funcionalidade sudo implementada. O suporte para SE também está previsto nos planos.LinuxAppArmor, LDAP, ferramentas de auditoria, a capacidade de autenticar sem usar PAM e a implementação de todas as opções da linha de comando sudo.

De acordo com a Microsoft e o Google, cerca de 70% das vulnerabilidades são causadas por gerenciamento de memória inseguro. Espera-se que o uso da linguagem Rust para desenvolver su e sudo reduza o risco de vulnerabilidades causadas pelo manuseio inseguro de memória e elimine a ocorrência de erros como acessar uma área de memória após ela ter sido liberada e saturações de buffer. Sudo-rs está sendo desenvolvido por engenheiros da Ferrous Systems e Tweede Golf com fundos fornecidos por empresas como Google, Cisco, Amazon Web Services.

A manipulação de memória segura é fornecida em Rust em tempo de compilação por meio de verificação de referência, acompanhando a propriedade do objeto e o tempo de vida do objeto (escopo), bem como por meio da avaliação da exatidão do acesso à memória durante a execução do código. Rust também fornece proteção contra estouros de número inteiro, requer inicialização obrigatória de valores de variáveis ​​antes do uso, lida melhor com erros na biblioteca padrão, aplica o conceito de referências e variáveis ​​imutáveis ​​por padrão, oferece tipagem estática forte para minimizar erros lógicos.

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