Lançamento do Arti 0.2.0, a implementação oficial do Tor em Rust

Os desenvolvedores da rede anônima Tor apresentaram o lançamento do projeto Arti 0.2.0, que desenvolve um cliente Tor escrito na linguagem Rust. O projeto tem status de desenvolvimento experimental, fica atrás do cliente Tor principal em C em termos de funcionalidade e ainda não está pronto para substituí-lo totalmente. Em setembro está prevista a criação da versão 1.0 com estabilização de API, CLI e configurações, que será adequada para uso inicial por usuários comuns. Em um futuro mais distante, quando o código Rust atingir um nível que possa substituir completamente a versão C, os desenvolvedores pretendem dar ao Arti o status de implementação principal do Tor e parar de manter a implementação C.

Ao contrário da implementação C, que foi inicialmente projetada como um proxy SOCKS e depois adaptada para outras necessidades, o Arti é inicialmente desenvolvido na forma de uma biblioteca modular incorporável que pode ser usada por vários aplicativos. Além disso, ao desenvolver um novo projeto, toda a experiência anterior de desenvolvimento do Tor é levada em consideração, o que evitará problemas arquitetônicos conhecidos e tornará o projeto mais modular e eficiente. O código é distribuído sob as licenças Apache 2.0 e MIT.

As razões para reescrever o Tor em Rust são o desejo de alcançar um nível mais alto de segurança de código usando uma linguagem que garanta uma operação segura com memória. Segundo os desenvolvedores do Tor, pelo menos metade de todas as vulnerabilidades monitoradas pelo projeto serão eliminadas em uma implementação do Rust se o código não usar blocos “inseguros”. Rust também permitirá atingir velocidades de desenvolvimento mais rápidas do que em C, devido à expressividade da linguagem e às garantias estritas que permitem evitar perda de tempo com dupla verificação e escrita de código desnecessário.

As mudanças mais notáveis ​​na versão 0.2.0 envolvem trabalho para melhorar o desempenho e a confiabilidade. Desempenho aprimorado em redes que suportam apenas IPv6. Consumo reduzido de memória para armazenamento de dados de servidores de diretório. Adicionada a opção dns_port, com a qual você pode configurar o envio de solicitações DNS via Tor. Foi proposto um novo código para trabalhar com a configuração. Adicionadas APIs para definir regras de isolamento de threads e ativar a hibernação (suspendendo o trabalho para clientes inativos). É possível conectar implementações de código alternativas para trabalhar com servidores de diretório.

Antes da publicação da versão 1.0.0, os desenvolvedores pretendem fornecer ao Arti suporte total para funcionar como um cliente Tor que fornece acesso à Internet (a implementação do suporte aos serviços cebola está adiada para o futuro). Isso inclui alcançar paridade com a implementação C convencional em áreas como desempenho de rede, carga de CPU e confiabilidade, bem como fornecer suporte para todos os recursos relacionados à segurança.

Fonte: opennet.ru

Adicionar um comentário