Il progetto Tor ha pubblicato Arti 0.0.3, un'implementazione del client Tor in Rust

Gli sviluppatori della rete anonima Tor hanno presentato il rilascio del progetto Arti 0.0.3, che sviluppa un client Tor scritto nel linguaggio Rust. Il progetto ha lo status di sviluppo sperimentale, è in ritardo rispetto alla funzionalità del client Tor principale in C e non è ancora pronto per sostituirlo completamente. A marzo è prevista la versione 0.1.0, che si posiziona come la prima versione beta del progetto, e in autunno la 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.

Tra le modifiche della versione 0.0.3 c'è una revisione completa del sistema di configurazione e dell'API associata. La modifica ha reso possibile modificare al volo le impostazioni di Rust mentre il client Tor era in esecuzione. È stato inoltre aggiunto un nuovo sistema per la costruzione di circuiti preventivi, tenendo conto dei porti precedentemente utilizzati per creare preventivamente catene che potrebbero essere necessarie in futuro.

Fonte: opennet.ru

Aggiungi un commento