Gli sviluppatori della rete anonima Tor hanno presentato il primo rilascio beta (0.1.0) del progetto Arti, un client Tor scritto in Rust. Il progetto è attualmente in fase di sviluppo sperimentale, ha funzionalità inferiori rispetto al client principale di Tor scritto in C e non è ancora pronto per sostituirlo completamente. A settembre è previsto il rilascio della versione 1.0, con la stabilizzazione delle API, della CLI e delle impostazioni, che sarà adatta all'uso iniziale da parte degli utenti comuni. In un futuro più lontano, quando il codice in Rust raggiungerà il livello necessario per sostituire completamente la versione in C, gli sviluppatori intendono dare ad Arti lo status di implementazione principale di Tor e interrompere il supporto per l'implementazione in C.
A differenza dell'implementazione in C, inizialmente progettata come proxy SOCKS e poi adattata a diverse esigenze, Arti si sviluppa fin dall'inizio come una biblioteca modulare integrabile, che varie applicazioni possono utilizzare. Inoltre, nello sviluppo del nuovo progetto si tiene conto di tutta l'esperienza passata nello sviluppo di Tor, il che permetterà di evitare noti problemi architettonici e rendere il progetto più modulare ed efficiente. Il codice è distribuito sotto le licenze Apache 2.0 e MIT.
Tra le ragioni per riscrivere Tor in Rust c'è il desiderio di raggiungere un livello di sicurezza più elevato grazie all'uso di un linguaggio che garantisce un'adeguata gestione della memoria. Secondo gli sviluppatori di Tor, almeno metà delle vulnerabilità monitorate dal progetto sarà esclusa dall'implementazione in Rust, a meno che non vengano utilizzati blocchi 'unsafe' nel codice. Rust offrirà anche la possibilità di aumentare la velocità di sviluppo rispetto all'uso del C, grazie all'espressività del linguaggio e alle rigorose garanzie che riducono il tempo trascorso in controlli doppi e nella scrittura di codice superfluo.
Le modifiche nel rilascio 0.1.0 includono la stabilizzazione di base delle API di alto livello e la preparazione della libreria per un'integrazione sperimentale con altri progetti. Tra le modifiche è previsto l'aggiunta di API per la creazione di istanze di TorClient, inclusa la possibilità di avvio e inizializzazione in background al primo utilizzo. Inoltre, è stata aggiunta una nuova API di alto livello per la gestione degli errori.
Prima della pubblicazione della versione 1.0.0, gli sviluppatori intendono garantire in Arti un supporto completo per il funzionamento come client Tor, che fornisce accesso a internet (il supporto per i servizi onion è stato rimandato a una data futura). Inoltre, si prevede di raggiungere la parità con l'implementazione principale in linguaggio C in aree quali prestazioni di rete, carico sulla CPU e affidabilità, oltre a garantire il supporto per tutte le capacità relative alla sicurezza.
Fonte: opennet.ru
