Google: “Substituir C/C++ por Rust em firmware é fácil”
(theregister.com)- O Google reescreveu recentemente, usando a linguagem Rust, o firmware para máquinas virtuais protegidas do Android Virtualization Framework e recomenda que quem trabalha com firmware faça o mesmo
- No post "Deploying Rust in Existing Firmware Codebases", publicado no Google Security Blog, engenheiros do Android detalham os aspectos técnicos de substituir código legado em C e C++ por Rust
- "Você verá como é fácil reforçar a segurança com uma substituição direta por Rust, e também demonstraremos como o toolchain de Rust pode lidar com alvos bare metal especiais"
- Em uma linguagem de programação frequentemente descrita como tendo uma "curva de aprendizado íngreme", a palavra "fácil" não é algo muito comum
- Também não é fácil fazer desenvolvedores de C e C++ enxergarem o mundo pelas lentes de Rust
- Um dos mantenedores do projeto Rust for Linux renunciou recentemente, citando a resistência de desenvolvedores do kernel Linux
- Um colaborador do kernel Linux chegou a dizer, durante um debate ao vivo em uma conferência no início deste ano, que "não se pode obrigar todos nós a aprender Rust"
- Mesmo assim, o Google segue incentivando o uso de Rust
- Firmwares carecem de mecanismos de segurança de alto nível, em parte porque muitas vezes são escritos em linguagens sem segurança de memória, como C ou C++
- Rust oferece uma forma de evitar bugs de segurança de memória, como buffer overflows e use-after-free, que respondem por grande parte das vulnerabilidades críticas em grandes bases de código
- "Rust oferece uma alternativa com segurança de memória a C e C++, com desempenho e tamanho de código semelhantes"
- "Também oferece interoperabilidade com C sem overhead"
- Apoio de governos e empresas de tecnologia
- Recentemente, o governo dos EUA, com apoio de grandes empresas de tecnologia e da iniciativa sem fins lucrativos memorysafety.org, vem defendendo a reescrita em Rust de projetos e componentes críticos de código aberto
- A Cybersecurity and Infrastructure Security Agency (CISA) recomendou no ano passado que fornecedores de software "tornem prioridade máxima da empresa reduzir e, por fim, eliminar vulnerabilidades de segurança de memória em suas linhas de produtos"
- O Google já abraçou essa ideia e concluiu que desenvolvedores Rust são duas vezes mais produtivos do que engenheiros de C++
- O uso de Rust pelo Google continua crescendo
"No Google, estamos ampliando o uso de Rust em Android, Chromium e outros para reduzir vulnerabilidades de segurança de memória.
Estamos comprometidos em colaborar com o ecossistema Rust para impulsionar sua adoção e fornecer aos desenvolvedores os recursos e treinamentos de que precisam,
e este trabalho de levar Rust para embarcados e firmware aborda outra parte importante da stack"
1 comentários
Li com atenção.