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

Os desenvolvedores da rede anônima Tor publicaram o lançamento do projeto Arti 1.1.0, que desenvolve um cliente Tor escrito na linguagem Rust. A ramificação 1.x é marcada como adequada para uso por usuários em geral e fornece o mesmo nível de privacidade, usabilidade e estabilidade que a implementação C principal. O código é distribuído sob as licenças Apache 2.0 e MIT.

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 evita problemas arquitetônicos conhecidos e torna o projeto mais modular e eficiente.

A razão citada para reescrever o Tor em Rust é o desejo de alcançar um nível mais alto de segurança de código usando uma linguagem segura para 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.

A versão 1.1 introduz suporte para pontes para contornar bloqueio e transporte de plug-in. Entre os transportes testados com Arti para ocultar tráfego e combater bloqueios, destacaram-se obfs4proxy e snowflake. Os requisitos para o ambiente de construção foram aumentados - a construção do Arti agora requer pelo menos o branch Rust 1.60.

Espera-se que a próxima versão (1.2) suporte serviços cebola e recursos relacionados, como o protocolo de controle de congestionamento (RTT Congestion Control) e proteção contra ataques DDoS. Alcançar a paridade com o cliente C está planejado para o branch 2.0, que também oferecerá ligações para uso do Arti em código em diversas linguagens de programação. Nos próximos anos, o trabalho se concentrará na implementação da funcionalidade necessária para executar retransmissores e servidores de diretório. 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. A versão C será descontinuada gradualmente para permitir uma migração tranquila.

Fonte: opennet.ru

Adicionar um comentário