O projeto Tor apresentou uma implementação na linguagem Rust, que futuramente substituirá a versão C

Os desenvolvedores da rede anônima Tor apresentaram o projeto Arti, no âmbito do qual estão em andamento trabalhos para criar uma implementação do protocolo Tor na linguagem Rust. 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. O trabalho está em andamento há mais de um ano com financiamento do programa de subsídios Zcash Open Major Grants (ZOMG). 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 através do uso de 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. 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.

Em seu estado atual, Arti já pode se conectar à rede Tor, comunicar-se com servidores de diretório e criar conexões anônimas no Tor com um proxy baseado em SOCKS. O desenvolvimento ainda não é recomendado para uso em sistemas de produção, uma vez que nem todos os recursos de privacidade estão implementados e a compatibilidade retroativa em nível de API não é garantida. A primeira versão do cliente compatível com segurança, com suporte para nós de proteção e isolamento de thread, está programada para ser lançada em outubro.

A primeira versão beta está prevista para março de 2022, com uma implementação experimental da biblioteca incorporada e otimizações de desempenho. A primeira versão estável, com API estável, CLI e formato de configuração, bem como auditoria, está planejada para meados de setembro de 2022. Esta versão será adequada para uso inicial por usuários em geral. A atualização 2022 está prevista para o final de outubro de 1.1, com suporte para transporte de plug-ins e pontes para contornar o bloqueio. O suporte para serviços cebola está planejado para a versão 1.2, e a paridade com o cliente C é esperada na versão 2.0, cujo momento ainda não foi determinado.

No futuro, os desenvolvedores prevêem uma diminuição gradual na atividade relacionada ao desenvolvimento de código em C e um aumento no tempo dedicado à edição em Rust. Quando a implementação do Rust atingir um nível que possa substituir a versão C, os desenvolvedores deixarão de adicionar novos recursos à implementação C e, depois de algum tempo, deixarão de suportá-la completamente. Mas isso não acontecerá em breve, e até que a implementação em Rust atinja o nível de substituição completa, o desenvolvimento do cliente Tor e do relé em C continuará.

Fonte: opennet.ru

Adicionar um comentário