Comandos sudo e su sendo reescritos em Rust para garantir segurança de memória

Além disso, há muitas novidades em relação ao Rust no kernel Linux.

Por
Claylson Martins
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.

Os já consagrados comandos sudo e su estão sendo reescritos em linguagem de programação Rust e o objetivo disto é para garantir maior segurança de memória. Este projeto é feito com o apoio financeiro da Amazon Web Services. Sendo assim, os comandos sudo e su estão sendo reescritos na linguagem de programação Rust para aumentar a segurança da memória para o software amplamente confiável.

Uma equipe da Ferrous Systems e Tweede Golf com suporte financeiro da AWS começou a reescrever su e sudo em Rust para aprimorar ainda mais a segurança do Linux/código aberto.

Comandos sudo e su sendo reescritos em Rust para garantir segurança de memória

Detalhes sobre esse esforço podem ser encontrados em memorysafety.org. O código Rust em desenvolvimento pode ser encontrado via sudo-rs no GitHub. A página do marco descreve seus planos e metas para o esforço.

Kernel Linux terá uma atualização para sua cadeia de ferramentas Rust

Os desenvolvedores do kernel Linux estão se preparando para a primeira atualização de sua cadeia de ferramentas Rust desde que o código Rust inicialmente se fundiu no Linux 6.1 .

O código inicialmente mesclado no Linux 6.1 tem como alvo o Rust 1.62. O plano é atualizar para a última versão estável atual, o Rust 1.68.2. Quanto a esta grande atualização do código Rust no kernel Linux principal, a mensagem do patch de Miguel Ojeda explica:

“O kernel atualmente suporta apenas uma única versão do Rust (em vez de um mínimo), devido ao uso de alguns recursos Rust “instáveis” que não prometem compatibilidade com versões anteriores. O objetivo é chegar a um ponto em que possamosdeclarar uma versão mínima para a cadeia de ferramentas . Por exemplo, esperando que alguns dos recursos sejam estabilizados.

Portanto, a primeira versão Rust mínima que o kernel suportará é “no futuro”.# Política de atualizaçãoDado que eventualmente precisaremos atingir essa versão mínima, seria ideal atualizar o compilador de tempos em tempos para estar o mais próximo possível desse objetivo e encontrar quaisquer problemas mais cedo. 

No extremo, poderíamos atualizar assim que uma nova versão do Rust fosse lançada. É claro que atualizar com tanta frequência está em total contraste com o que normalmente seria necessário para GCC e LLVM, especialmente devido ao cronograma de lançamento: 6 semanas para Rust versus meio ano para LLVM e um ano para GCC.Dito isto, também não há nenhuma vantagem particular em atualizar lentamente: é improvável que os desenvolvedores de kernel em distribuições “estáveis” consigam usar sua cadeia de ferramentas Rust fornecida pela distribuição para o kernel de qualquer maneira. 

Em vez disso, atualizando rotineiramente para o mais recente, os desenvolvedores de kernel que usam distribuições Linux que rastreiam a versão mais recente do Rust podem ser capazes de usá-los em vez dos fornecidos pelo Rust, especialmente se o gerenciador de pacotes permitir fixar / reter / fazer o downgrade da versão para alguns dias durante janelas em que a versão pode não corresponder. 

Por exemplo, Arch, Fedora, Gentoo e openSUSE fornecem e rastreiam a versão mais recente do Rust à medida que são lançadas a cada 6 semanas.Então, quando a versão mínima for atingida, interromperemos a atualização e decidiremos qual será a largura da janela de suporte. Por exemplo, um ano de versões Rust. Provavelmente vamos querer começar pequeno e depois alargá-lo ao longo do tempo, assim como o kernel fez originalmente para o LLVM.

Mais detalhes sobre esta política de atualização formulada no terceiro patch.

Assim, com esta série de patches está a atualização do kernel para Rust 1.68.2.

Compartilhe este artigo
Sair da versão mobile