Rilascio di Arti 0.2.0, l'implementazione ufficiale di Rust di Tor

Gli sviluppatori della rete anonima Tor hanno presentato il rilascio del progetto Arti 0.2.0, che sviluppa un client Tor scritto nel linguaggio Rust. Il progetto ha lo status di sviluppo sperimentale, è in ritardo rispetto al client Tor principale in C in termini di funzionalità e non è ancora pronto per sostituirlo completamente. A settembre è prevista la creazione della versione 1.0 con la stabilizzazione dell'API, della CLI e delle impostazioni, che sarà adatta per il primo utilizzo da parte degli utenti ordinari. In un futuro più lontano, quando il codice Rust raggiungerà un livello tale da poter sostituire completamente la versione C, gli sviluppatori intendono dare ad Arti lo status di implementazione principale di Tor e smettere di mantenere l'implementazione C.

A differenza dell'implementazione C, progettata inizialmente come proxy SOCKS e poi adattata ad altre esigenze, Arti è inizialmente sviluppata sotto forma di libreria modulare incorporabile che può essere utilizzata da varie applicazioni. Inoltre, quando si sviluppa un nuovo progetto, viene presa in considerazione tutta l'esperienza passata nello sviluppo di Tor, il che eviterà problemi architetturali noti e renderà il progetto più modulare ed efficiente. Il codice è distribuito sotto le licenze Apache 2.0 e MIT.

Le ragioni per riscrivere Tor in Rust sono il desiderio di raggiungere un livello più elevato di sicurezza del codice utilizzando un linguaggio che garantisca un funzionamento sicuro con la memoria. Secondo gli sviluppatori Tor, almeno la metà di tutte le vulnerabilità monitorate dal progetto verranno eliminate in un'implementazione Rust se il codice non utilizza blocchi "non sicuri". Rust consentirà inoltre di raggiungere velocità di sviluppo più elevate rispetto all'utilizzo di C, grazie all'espressività del linguaggio e alle rigorose garanzie che consentono di evitare di perdere tempo in doppi controlli e scrivendo codice non necessario.

I cambiamenti più notevoli nella versione 0.2.0 riguardano il lavoro per migliorare le prestazioni e l'affidabilità. Prestazioni migliorate su reti che supportano solo IPv6. Consumo di memoria ridotto per l'archiviazione dei dati dai server di directory. Aggiunta l'opzione dns_port, con la quale è possibile configurare l'invio di richieste DNS tramite Tor. È stato proposto un nuovo codice per lavorare con la configurazione. Aggiunte API per definire le regole di isolamento dei thread e abilitare l'ibernazione (sospensione del lavoro per client inattivi). È possibile connettere implementazioni di codice alternative per lavorare con i server di directory.

Prima della pubblicazione della versione 1.0.0, gli sviluppatori intendono fornire ad Arti il ​​pieno supporto per lavorare come client Tor che fornisce l'accesso a Internet (l'implementazione del supporto per i servizi Onion è rinviata per il futuro). Ciò include il raggiungimento della parità con l'implementazione C tradizionale in aree quali prestazioni di rete, carico della CPU e affidabilità, oltre a fornire supporto per tutte le funzionalità relative alla sicurezza.

Fonte: opennet.ru

Aggiungi un commento