El projecte Tor ha publicat Arti 0.0.3, una implementació del client Tor a Rust

Els desenvolupadors de la xarxa anònima Tor van presentar el llançament del projecte Arti 0.0.3, que desenvolupa un client Tor escrit en llenguatge 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. S'espera la versió 0.1.0 al març, que es posiciona com la primera versió beta del projecte, i a la tardor 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.0.3 hi ha una revisió completa del sistema de configuració i l'API associada. El canvi va permetre canviar la configuració de Rust sobre la marxa mentre el client Tor estava en execució. També s'ha afegit un nou sistema per a la construcció de circuits preventius, tenint en compte els ports utilitzats anteriorment per crear de manera preventiva cadenes que probablement seran necessàries en el futur.

Font: opennet.ru

Afegeix comentari