O Google tem dado cada vez mais apoio às linguagens de programação dentro do kernel Linux e agora essa medida chegou à linguagem Rust. A proposta vai na decisão recente de tornar a Rust uma das duas principais linguagens de programação do kernel Linux. Para isso, o Google está trabalhando em conjunto com o Internet Security Research Group (ISRG), o grupo por trás da autoridade de certificação Let’s Encrypt.
O principal objetivo do esforço para trazer o Rust para o Linux é eliminar bugs de segurança relacionados à memória no kernel, que é uma parte fundamental da infraestrutura da Internet, rodando em tudo, desde servidores até dispositivos de ponta e smartphones.
Historicamente, os principais drivers do Linux que compõem o kernel foram escritos em C, que não é seguro para a memória. Atualmente, cerca de 70% de todos os bugs estão relacionados à memória.
Os desenvolvedores do kernel Linux estão explorando a possibilidade de escrever novas partes do kernel em Rust, em vez de reescrever todo o kernel Linux, que contém mais de 30 milhões de linhas de código.
Linguagem de programação Rust recebe apoio do Google para fazer parte do kernel Linux
O Google divulgou seus planos para apoiar o projeto de trazer o Rust para o Linux em abril – uma iniciativa liderada pelo desenvolvedor Miguel Ojeda, que postou um pedido de comentário (RFC) sobre a proposta .
Até agora, Ojeda estava trabalhando em um contrato com o projeto Prossimo do ISRG para a segurança da memória e esse esforço inicial foi financiado pelo Google, mas agora o grupo o contratou para trabalhar em tempo integral no projeto.
“O Google descobriu repetidamente que grandes esforços para eliminar classes inteiras de problemas de segurança são os melhores investimentos em escala”, disse Dan Lorenc, engenheiro de software do Google, que ajudou a coordenar o projeto Rust-Linux e trabalha na infraestrutura por trás do Google Cloud Platform.
Nós entendemos que trabalhar em algo tão amplamente utilizado e crítico como o kernel Linux leva tempo, mas estamos entusiasmados em poder ajudar o ISRG a apoiar o trabalho de Miguel Ojeda dedicado a melhorar a segurança da memória do kernel para todos.
Conforme sugerido por Lorenc, introduzir uma segunda linguagem no kernel Linux não é uma decisão fácil. O criador do Linux Linus Torvalds teve algumas objeções em trazer Rust após o RFC de Ojeda. Mas, com o apoio do Google, pode haver espaço para agir.
“Adicionar uma segunda linguagem ao kernel Linux é uma decisão que precisa ser avaliada com cuidado”, disse Ojeda em um comunicado. “Rust traz melhorias suficientes sobre C para merecer tal consideração.
A importância do kernel
O kernel Linux está no coração da Internet moderna, de servidores a dispositivos clientes, disse o diretor executivo do ISRG, Josh Aas, apontando que está na linha de frente para processamento de dados de rede e outras formas de entrada. Assim, as vulnerabilidades no kernel Linux podem ter um impacto abrangente, colocando em risco a segurança e a privacidade de pessoas, organizações e dispositivos.
Como é escrito em grande parte na linguagem C, que não é segura para a memória, as vulnerabilidades de segurança da memória, como buffer overflows e use-after-frees, são uma preocupação constante. Tornando possível escrever partes do kernel Linux em Rust, que é seguro para a memória, podemos eliminar totalmente as vulnerabilidades de segurança de memória de certos componentes, como drivers.
O Google também está apoiando o projeto ISRG para criar um módulo baseado em Rust para o servidor web Apache HTTP. É outra peça importante da infraestrutura da Internet, pois é responsável por proteger criptograficamente as conexões HTTPS para servidores da Web Apache amplamente usados.
Via ZDNet