Primeira versão beta do Arti, uma implementação do Tor em Rust

Os desenvolvedores da rede anônima Tor apresentaram a primeira versão beta (0.1.0) do projeto Arti, que desenvolve um cliente Tor escrito em Rust. O projeto tem status de desenvolvimento experimental, está atrasado em relação à funcionalidade do cliente Tor principal em C 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.

Entre as mudanças na versão 0.1.0, está uma estabilização básica de APIs de alto nível e deixar a biblioteca pronta para integração experimental com outros projetos. Entre as mudanças, é mencionada a adição de uma API para criação de instâncias do TorClient, incluindo a capacidade de construir e inicializar (bootstrap) em segundo plano no primeiro uso. Além disso, foi adicionada uma nova API de alto nível para tratamento de erros.

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