Os desenvolvedores da rede anônima Tor publicaram a versão do projeto Arti 1.1.12, que está desenvolvendo um cliente Tor escrito em Rust. A ramificação 1.x é marcada como adequada para uso por usuários comuns e fornece o mesmo nível de privacidade, usabilidade e estabilidade que a implementação principal em C. O código é distribuído sob as licenças Apache 2.0 e MIT.
Diferentemente da implementação em C, que inicialmente foi projetada como um proxy SOCKS e depois adaptada a outras necessidades, o Arti está sendo desenvolvido desde o início como uma biblioteca modular incorporável, que poderá ser utilizada por diversos aplicativos. Além disso, todo o conhecimento adquirido durante o desenvolvimento do Tor é considerado na nova abordagem, o que ajuda a evitar problemas arquitetônicos conhecidos, tornando o projeto mais modular e eficiente. Quando o código em Rust atingir um nível capaz de substituir completamente a versão em C, os desenvolvedores pretendem dar ao Arti o status de implementação principal do Tor e descontinuar o suporte à implementação em C.
A razão para reescrever o Tor em Rust é o desejo de alcançar um nível mais elevado de segurança do código, utilizando uma linguagem que garante um trabalho seguro com a memória. Segundo os desenvolvedores do Tor, pelo menos metade de todas as vulnerabilidades monitoradas pelo projeto será eliminada na implementação em Rust, desde que não sejam usados blocos 'unsafe' no código. O Rust também permitirá uma maior rapidez no desenvolvimento em comparação ao C, devido à expressividade da linguagem e garantias rigorosas, que evitam o desperdício de tempo com verificações duplas e escrita de código excessivo.
A versão Arti 1.1.12 é notável por levar a implementação de serviços onion à prontidão para testes e experimentação. Com o Arti, agora é possível não apenas se conectar a serviços onion existentes, mas também criar seus próprios serviços onion. No entanto, atualmente ainda não estão prontos alguns recursos para garantir a privacidade e a proteção dos serviços onion, como autenticação de clientes, proteção contra ataques DoS e o mecanismo de prevenção da identificação de nós Guard "Vanguard", por isso a implementação ainda não é recomendada para implementações em produção.
Fonte: opennet.ru
