Primera versió beta d'Arti, una implementació de Tor a Rust

Els desenvolupadors de la xarxa anònima Tor van presentar la primera versió beta (0.1.0) del projecte Arti, que desenvolupa un client Tor escrit en Rust. El projecte té l'estatus de desenvolupament experimental, queda endarrerit amb la funcionalitat del client Tor principal en C i encara no està preparat per substituir-lo completament. Al setembre està previst crear la versió 1.0 amb l'estabilització de l'API, la CLI i la configuració, que serà adequada per a l'ús inicial dels usuaris normals. En un futur més llunyà, quan el codi Rust assoleixi un nivell que pugui substituir completament la versió C, els desenvolupadors tenen la intenció de donar a Arti l'estat de la implementació principal de Tor i deixar de mantenir la implementació C.

A diferència de la implementació C, que es va dissenyar primer com a proxy SOCKS i després es va adaptar a altres necessitats, Arti es desenvolupa inicialment en forma d'una biblioteca incrustable modular que pot ser utilitzada per diverses aplicacions. A més, a l'hora de desenvolupar un nou projecte, es té en compte tota l'experiència de desenvolupament Tor anterior, la qual cosa evitarà problemes arquitectònics coneguts i farà que el projecte sigui més modular i eficient. El codi es distribueix sota les llicències Apache 2.0 i MIT.

Els motius per reescriure Tor a Rust són el desig d'aconseguir un nivell més alt de seguretat del codi mitjançant l'ús d'un llenguatge que garanteixi un funcionament segur amb memòria. Segons els desenvolupadors de Tor, almenys la meitat de totes les vulnerabilitats supervisades pel projecte s'eliminaran en una implementació de Rust si el codi no utilitza blocs "no segurs". Rust també permetrà assolir velocitats de desenvolupament més ràpides que l'ús de C, a causa de l'expressivitat del llenguatge i unes garanties estrictes que permeten evitar perdre el temps en revisar i escriure codi innecessari.

Entre els canvis de la versió 0.1.0, hi ha una estabilització bàsica de les API d'alt nivell i la preparació de la biblioteca per a la integració experimental amb altres projectes. Entre els canvis, s'esmenta l'addició d'una API per crear instàncies de TorClient, inclosa la possibilitat de crear i inicialitzar (bootstrap) en segon pla al primer ús. A més, s'ha afegit una nova API d'alt nivell per a la gestió d'errors.

Abans de la publicació de la versió 1.0.0, els desenvolupadors tenen la intenció de proporcionar a Arti un suport total per treballar com a client Tor que proporciona accés a Internet (la implementació del suport per als serveis de ceba s'ajorna per al futur). Això inclou aconseguir la paritat amb la implementació C principal en àrees com ara el rendiment de la xarxa, la càrrega de la CPU i la fiabilitat, a més de proporcionar suport per a totes les funcions relacionades amb la seguretat.

Font: opennet.ru

Afegeix comentari